Merge "Telephony multi-endpoint disconnect causes." into nyc-mr1-dev
diff --git a/Android.mk b/Android.mk
index 044e45a..0b33301 100644
--- a/Android.mk
+++ b/Android.mk
@@ -318,6 +318,7 @@
 	core/java/com/android/internal/appwidget/IAppWidgetHost.aidl \
 	core/java/com/android/internal/backup/IBackupTransport.aidl \
 	core/java/com/android/internal/backup/IObbBackupService.aidl \
+	core/java/com/android/internal/inputmethod/IInputContentUriToken.aidl \
 	core/java/com/android/internal/policy/IKeyguardDrawnCallback.aidl \
 	core/java/com/android/internal/policy/IKeyguardExitCallback.aidl \
 	core/java/com/android/internal/policy/IKeyguardService.aidl \
@@ -495,6 +496,10 @@
 
 LOCAL_RMTYPEDEFS := true
 
+ifeq ($(EMMA_INSTRUMENT_FRAMEWORK),true)
+LOCAL_EMMA_INSTRUMENT := true
+endif
+
 include $(BUILD_JAVA_LIBRARY)
 framework_module := $(LOCAL_INSTALLED_MODULE)
 
@@ -848,7 +853,7 @@
     -since $(SRC_API_DIR)/21.txt 21 \
     -since $(SRC_API_DIR)/22.txt 22 \
     -since $(SRC_API_DIR)/23.txt 23 \
-    -since ./frameworks/base/api/current.txt N \
+    -since $(SRC_API_DIR)/24.txt 24 \
 		-werror -hide 111 -hide 113 \
 		-overview $(LOCAL_PATH)/core/java/overview.html
 
@@ -1120,6 +1125,9 @@
 		-showAnnotation android.annotation.SystemApi \
 		-title "Android SDK - Including system APIs." \
 		-toroot / \
+		-hide 101 \
+		-hide 104 \
+		-hide 108 \
 		-hdf android.whichdoc online \
 		$(sample_groups) \
 		-hdf android.hasSamples true \
diff --git a/api/current.txt b/api/current.txt
index cb42b86..b9c0269 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -397,6 +397,7 @@
     field public static final int colorPressedHighlight = 16843661; // 0x101038d
     field public static final int colorPrimary = 16843827; // 0x1010433
     field public static final int colorPrimaryDark = 16843828; // 0x1010434
+    field public static final int colorSecondary = 16844080; // 0x1010530
     field public static final int columnCount = 16843639; // 0x1010377
     field public static final int columnDelay = 16843215; // 0x10101cf
     field public static final int columnOrderPreserved = 16843640; // 0x1010378
@@ -420,9 +421,9 @@
     field public static final int contentInsetStart = 16843859; // 0x1010453
     field public static final int contentInsetStartWithNavigation = 16844066; // 0x1010522
     field public static final int contextClickable = 16844007; // 0x10104e7
-    field public static final int contextDescription = 16844082; // 0x1010532
+    field public static final int contextDescription = 16844078; // 0x101052e
     field public static final int contextPopupMenuStyle = 16844033; // 0x1010501
-    field public static final int contextUri = 16844081; // 0x1010531
+    field public static final int contextUri = 16844077; // 0x101052d
     field public static final int controlX1 = 16843772; // 0x10103fc
     field public static final int controlX2 = 16843774; // 0x10103fe
     field public static final int controlY1 = 16843773; // 0x10103fd
@@ -1041,7 +1042,7 @@
     field public static final int rotation = 16843558; // 0x1010326
     field public static final int rotationX = 16843559; // 0x1010327
     field public static final int rotationY = 16843560; // 0x1010328
-    field public static final int roundIcon = 16844080; // 0x1010530
+    field public static final int roundIcon = 16844076; // 0x101052c
     field public static final int rowCount = 16843637; // 0x1010375
     field public static final int rowDelay = 16843216; // 0x10101d0
     field public static final int rowEdgeFlags = 16843329; // 0x1010241
@@ -1109,20 +1110,16 @@
     field public static final int shareInterpolator = 16843195; // 0x10101bb
     field public static final int sharedUserId = 16842763; // 0x101000b
     field public static final int sharedUserLabel = 16843361; // 0x1010261
-    field public static final int shortcutCategories = 16844077; // 0x101052d
-    field public static final int shortcutDisabledMessage = 16844076; // 0x101052c
-    field public static final int shortcutIcon = 16844073; // 0x1010529
+    field public static final int shortcutDisabledMessage = 16844075; // 0x101052b
     field public static final int shortcutId = 16844072; // 0x1010528
-    field public static final int shortcutIntentAction = 16844078; // 0x101052e
-    field public static final int shortcutIntentData = 16844079; // 0x101052f
-    field public static final int shortcutLongLabel = 16844075; // 0x101052b
-    field public static final int shortcutShortLabel = 16844074; // 0x101052a
+    field public static final int shortcutLongLabel = 16844074; // 0x101052a
+    field public static final int shortcutShortLabel = 16844073; // 0x1010529
     field public static final int shouldDisableView = 16843246; // 0x10101ee
     field public static final int showAsAction = 16843481; // 0x10102d9
     field public static final int showDefault = 16843258; // 0x10101fa
     field public static final int showDividers = 16843561; // 0x1010329
     field public static final int showForAllUsers = 16844015; // 0x10104ef
-    field public static final int showMetadataInPreview = 16844083; // 0x1010533
+    field public static final int showMetadataInPreview = 16844079; // 0x101052f
     field public static final deprecated int showOnLockScreen = 16843721; // 0x10103c9
     field public static final int showSilent = 16843259; // 0x10101fb
     field public static final int showText = 16843949; // 0x10104ad
@@ -3708,6 +3705,7 @@
     method public void moveTaskToFront(int, int);
     method public void moveTaskToFront(int, int, android.os.Bundle);
     method public deprecated void restartPackage(java.lang.String);
+    method public static void setVrThread(int);
     method public void setWatchHeapLimit(long);
     field public static final java.lang.String ACTION_REPORT_HEAP_LIMIT = "android.app.action.REPORT_HEAP_LIMIT";
     field public static final int LOCK_TASK_MODE_LOCKED = 1; // 0x1
@@ -5049,12 +5047,14 @@
     method public android.app.Notification.Action.Builder extend(android.app.Notification.Action.Builder);
     method public java.lang.CharSequence getCancelLabel();
     method public java.lang.CharSequence getConfirmLabel();
+    method public boolean getHintDisplayActionInline();
     method public boolean getHintLaunchesActivity();
     method public java.lang.CharSequence getInProgressLabel();
     method public boolean isAvailableOffline();
     method public android.app.Notification.Action.WearableExtender setAvailableOffline(boolean);
     method public android.app.Notification.Action.WearableExtender setCancelLabel(java.lang.CharSequence);
     method public android.app.Notification.Action.WearableExtender setConfirmLabel(java.lang.CharSequence);
+    method public android.app.Notification.Action.WearableExtender setHintDisplayActionInline(boolean);
     method public android.app.Notification.Action.WearableExtender setHintLaunchesActivity(boolean);
     method public android.app.Notification.Action.WearableExtender setInProgressLabel(java.lang.CharSequence);
   }
@@ -9520,8 +9520,6 @@
     method public java.util.List<android.content.pm.LauncherActivityInfo> getActivityList(java.lang.String, android.os.UserHandle);
     method public android.graphics.drawable.Drawable getShortcutBadgedIconDrawable(android.content.pm.ShortcutInfo, int);
     method public android.graphics.drawable.Drawable getShortcutIconDrawable(android.content.pm.ShortcutInfo, int);
-    method public android.os.ParcelFileDescriptor getShortcutIconFd(android.content.pm.ShortcutInfo);
-    method public android.os.ParcelFileDescriptor getShortcutIconFd(java.lang.String, java.lang.String, android.os.UserHandle);
     method public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle);
     method public boolean hasShortcutHostPermission();
     method public boolean isActivityEnabled(android.content.ComponentName, android.os.UserHandle);
@@ -9532,8 +9530,8 @@
     method public android.content.pm.LauncherActivityInfo resolveActivity(android.content.Intent, android.os.UserHandle);
     method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle);
     method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle);
-    method public boolean startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle);
-    method public boolean startShortcut(android.content.pm.ShortcutInfo, android.graphics.Rect, android.os.Bundle);
+    method public void startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle);
+    method public void startShortcut(android.content.pm.ShortcutInfo, android.graphics.Rect, android.os.Bundle);
     method public void unregisterCallback(android.content.pm.LauncherApps.Callback);
   }
 
@@ -9556,10 +9554,10 @@
     method public android.content.pm.LauncherApps.ShortcutQuery setPackage(java.lang.String);
     method public android.content.pm.LauncherApps.ShortcutQuery setQueryFlags(int);
     method public android.content.pm.LauncherApps.ShortcutQuery setShortcutIds(java.util.List<java.lang.String>);
-    field public static final int FLAG_GET_DYNAMIC = 1; // 0x1
     field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4
-    field public static final int FLAG_GET_MANIFEST = 8; // 0x8
-    field public static final int FLAG_GET_PINNED = 2; // 0x2
+    field public static final int FLAG_MATCH_DYNAMIC = 1; // 0x1
+    field public static final int FLAG_MATCH_MANIFEST = 8; // 0x8
+    field public static final int FLAG_MATCH_PINNED = 2; // 0x2
   }
 
   public class PackageInfo implements android.os.Parcelable {
@@ -10067,7 +10065,6 @@
     method public java.lang.CharSequence getDisabledMessage();
     method public int getDisabledMessageResourceId();
     method public android.os.PersistableBundle getExtras();
-    method public int getIconResourceId();
     method public java.lang.String getId();
     method public android.content.Intent getIntent();
     method public long getLastChangedTimestamp();
@@ -10078,14 +10075,11 @@
     method public java.lang.CharSequence getShortLabel();
     method public int getShortLabelResourceId();
     method public android.os.UserHandle getUserHandle();
-    method public boolean hasIconFile();
-    method public boolean hasIconResource();
     method public boolean hasKeyFieldsOnly();
-    method public boolean hasStringResourcesResolved();
+    method public boolean isDeclaredInManifest();
     method public boolean isDynamic();
     method public boolean isEnabled();
     method public boolean isImmutable();
-    method public boolean isManifestShortcut();
     method public boolean isPinned();
     method public void writeToParcel(android.os.Parcel, int);
     field public static final android.os.Parcelable.Creator<android.content.pm.ShortcutInfo> CREATOR;
@@ -10093,31 +10087,31 @@
   }
 
   public static class ShortcutInfo.Builder {
-    ctor public ShortcutInfo.Builder(android.content.Context);
+    ctor public deprecated ShortcutInfo.Builder(android.content.Context);
+    ctor public ShortcutInfo.Builder(android.content.Context, java.lang.String);
     method public android.content.pm.ShortcutInfo build();
     method public android.content.pm.ShortcutInfo.Builder setActivity(android.content.ComponentName);
     method public android.content.pm.ShortcutInfo.Builder setCategories(java.util.Set<java.lang.String>);
-    method public android.content.pm.ShortcutInfo.Builder setDisabledMessage(java.lang.String);
+    method public android.content.pm.ShortcutInfo.Builder setDisabledMessage(java.lang.CharSequence);
     method public android.content.pm.ShortcutInfo.Builder setExtras(android.os.PersistableBundle);
     method public android.content.pm.ShortcutInfo.Builder setIcon(android.graphics.drawable.Icon);
-    method public android.content.pm.ShortcutInfo.Builder setId(java.lang.String);
+    method public deprecated android.content.pm.ShortcutInfo.Builder setId(java.lang.String);
     method public android.content.pm.ShortcutInfo.Builder setIntent(android.content.Intent);
-    method public android.content.pm.ShortcutInfo.Builder setLongLabel(java.lang.String);
+    method public android.content.pm.ShortcutInfo.Builder setLongLabel(java.lang.CharSequence);
     method public android.content.pm.ShortcutInfo.Builder setRank(int);
-    method public android.content.pm.ShortcutInfo.Builder setShortLabel(java.lang.String);
+    method public android.content.pm.ShortcutInfo.Builder setShortLabel(java.lang.CharSequence);
   }
 
   public class ShortcutManager {
     method public boolean addDynamicShortcuts(java.util.List<android.content.pm.ShortcutInfo>);
     method public void disableShortcuts(java.util.List<java.lang.String>);
-    method public void disableShortcuts(java.util.List<java.lang.String>, int);
-    method public void disableShortcuts(java.util.List<java.lang.String>, java.lang.String);
+    method public void disableShortcuts(java.util.List<java.lang.String>, java.lang.CharSequence);
     method public void enableShortcuts(java.util.List<java.lang.String>);
     method public java.util.List<android.content.pm.ShortcutInfo> getDynamicShortcuts();
     method public int getIconMaxHeight();
     method public int getIconMaxWidth();
     method public java.util.List<android.content.pm.ShortcutInfo> getManifestShortcuts();
-    method public int getMaxShortcutCountForActivity();
+    method public int getMaxShortcutCountPerActivity();
     method public java.util.List<android.content.pm.ShortcutInfo> getPinnedShortcuts();
     method public long getRateLimitResetTime();
     method public int getRemainingCallCount();
@@ -28377,6 +28371,7 @@
     field public static final int LOLLIPOP_MR1 = 22; // 0x16
     field public static final int M = 23; // 0x17
     field public static final int N = 24; // 0x18
+    field public static final int N_MR1 = 25; // 0x19
   }
 
   public final class Bundle extends android.os.BaseBundle implements java.lang.Cloneable android.os.Parcelable {
@@ -29368,6 +29363,7 @@
     method public android.os.Bundle getUserRestrictions();
     method public android.os.Bundle getUserRestrictions(android.os.UserHandle);
     method public boolean hasUserRestriction(java.lang.String);
+    method public boolean isDemoUser();
     method public boolean isQuietModeEnabled(android.os.UserHandle);
     method public boolean isSystemUser();
     method public boolean isUserAGoat();
@@ -29607,6 +29603,7 @@
     method public boolean isObbMounted(java.lang.String);
     method public boolean mountObb(java.lang.String, java.lang.String, android.os.storage.OnObbStateChangeListener);
     method public boolean unmountObb(java.lang.String, boolean, android.os.storage.OnObbStateChangeListener);
+    field public static final java.lang.String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE";
   }
 
   public final class StorageVolume implements android.os.Parcelable {
@@ -32392,7 +32389,6 @@
     field public static final java.lang.String ACTION_CAST_SETTINGS = "android.settings.CAST_SETTINGS";
     field public static final java.lang.String ACTION_DATA_ROAMING_SETTINGS = "android.settings.DATA_ROAMING_SETTINGS";
     field public static final java.lang.String ACTION_DATE_SETTINGS = "android.settings.DATE_SETTINGS";
-    field public static final java.lang.String ACTION_DELETION_HELPER_SETTINGS = "android.settings.DELETION_HELPER_SETTINGS";
     field public static final java.lang.String ACTION_DEVICE_INFO_SETTINGS = "android.settings.DEVICE_INFO_SETTINGS";
     field public static final java.lang.String ACTION_DISPLAY_SETTINGS = "android.settings.DISPLAY_SETTINGS";
     field public static final java.lang.String ACTION_DREAM_SETTINGS = "android.settings.DREAM_SETTINGS";
@@ -32479,6 +32475,7 @@
     field public static final java.lang.String DATA_ROAMING = "data_roaming";
     field public static final java.lang.String DEBUG_APP = "debug_app";
     field public static final java.lang.String DEVELOPMENT_SETTINGS_ENABLED = "development_settings_enabled";
+    field public static final java.lang.String DEVICE_NAME = "device_name";
     field public static final java.lang.String DEVICE_PROVISIONED = "device_provisioned";
     field public static final java.lang.String HTTP_PROXY = "http_proxy";
     field public static final deprecated java.lang.String INSTALL_NON_MARKET_APPS = "install_non_market_apps";
@@ -33064,6 +33061,7 @@
     field public static final java.lang.String ACTION_NEW_VOICEMAIL = "android.intent.action.NEW_VOICEMAIL";
     field public static final java.lang.String ACTION_SYNC_VOICEMAIL = "android.provider.action.SYNC_VOICEMAIL";
     field public static final java.lang.String AUTHORITY = "com.android.voicemail";
+    field public static final java.lang.String EXTRA_PHONE_ACCOUNT_HANDLE = "android.provider.extra.PHONE_ACCOUNT_HANDLE";
     field public static final java.lang.String EXTRA_SELF_CHANGE = "com.android.voicemail.extra.SELF_CHANGE";
     field public static final java.lang.String PARAM_KEY_SOURCE_PACKAGE = "source_package";
   }
@@ -33072,6 +33070,9 @@
     method public static android.net.Uri buildSourceUri(java.lang.String);
     field public static final java.lang.String CONFIGURATION_STATE = "configuration_state";
     field public static final int CONFIGURATION_STATE_CAN_BE_CONFIGURED = 2; // 0x2
+    field public static final int CONFIGURATION_STATE_CONFIGURING = 3; // 0x3
+    field public static final int CONFIGURATION_STATE_DISABLED = 5; // 0x5
+    field public static final int CONFIGURATION_STATE_FAILED = 4; // 0x4
     field public static final int CONFIGURATION_STATE_NOT_CONFIGURED = 1; // 0x1
     field public static final int CONFIGURATION_STATE_OK = 0; // 0x0
     field public static final android.net.Uri CONTENT_URI;
@@ -36218,7 +36219,7 @@
     method public final void setConnectionTime(long);
     method public final void setDialing();
     method public final void setDisconnected(android.telecom.DisconnectCause);
-    method public final deprecated void setExtras(android.os.Bundle);
+    method public final void setExtras(android.os.Bundle);
     method public final void setOnHold();
     method public final void setStatusHints(android.telecom.StatusHints);
     method public final void setVideoProvider(android.telecom.Connection, android.telecom.Connection.VideoProvider);
@@ -36283,12 +36284,13 @@
     method public final void setConnectionProperties(int);
     method public final void setDialing();
     method public final void setDisconnected(android.telecom.DisconnectCause);
-    method public final deprecated void setExtras(android.os.Bundle);
+    method public final void setExtras(android.os.Bundle);
     method public final void setInitialized();
     method public final void setInitializing();
     method public final void setNextPostDialChar(char);
     method public final void setOnHold();
     method public final void setPostDialWait(java.lang.String);
+    method public final void setPulling();
     method public final void setRingbackRequested(boolean);
     method public final void setRinging();
     method public final void setStatusHints(android.telecom.StatusHints);
@@ -36315,7 +36317,9 @@
     field public static final int CAPABILITY_SUPPORTS_VT_REMOTE_TX = 2048; // 0x800
     field public static final int CAPABILITY_SUPPORT_HOLD = 2; // 0x2
     field public static final int CAPABILITY_SWAP_CONFERENCE = 8; // 0x8
+    field public static final java.lang.String EVENT_CALL_MERGE_FAILED = "android.telecom.event.CALL_MERGE_FAILED";
     field public static final java.lang.String EVENT_CALL_PULL_FAILED = "android.telecom.event.CALL_PULL_FAILED";
+    field public static final java.lang.String EXTRA_ANSWERING_DROPS_FG_CALL = "android.telecom.extra.ANSWERING_DROPS_FG_CALL";
     field public static final java.lang.String EXTRA_CALL_SUBJECT = "android.telecom.extra.CALL_SUBJECT";
     field public static final java.lang.String EXTRA_CHILD_ADDRESS = "android.telecom.extra.CHILD_ADDRESS";
     field public static final java.lang.String EXTRA_LAST_FORWARDED_NUMBER = "android.telecom.extra.LAST_FORWARDED_NUMBER";
@@ -36767,9 +36771,11 @@
     field public static final java.lang.String ACTION_CARRIER_CONFIG_CHANGED = "android.telephony.action.CARRIER_CONFIG_CHANGED";
     field public static final java.lang.String KEY_ADDITIONAL_CALL_SETTING_BOOL = "additional_call_setting_bool";
     field public static final java.lang.String KEY_ALLOW_ADDING_APNS_BOOL = "allow_adding_apns_bool";
+    field public static final java.lang.String KEY_ALLOW_ADD_CALL_DURING_VIDEO_CALL_BOOL = "allow_add_call_during_video_call";
     field public static final java.lang.String KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL = "allow_emergency_numbers_in_call_log_bool";
     field public static final java.lang.String KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL = "allow_emergency_video_calls_bool";
     field public static final java.lang.String KEY_ALLOW_LOCAL_DTMF_TONES_BOOL = "allow_local_dtmf_tones_bool";
+    field public static final java.lang.String KEY_ALLOW_MERGE_WIFI_CALLS_WHEN_VOWIFI_OFF_BOOL = "allow_merge_wifi_calls_when_vowifi_off_bool";
     field public static final java.lang.String KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL = "allow_non_emergency_calls_in_ecm_bool";
     field public static final java.lang.String KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL = "always_show_emergency_alert_onoff_bool";
     field public static final java.lang.String KEY_APN_EXPAND_BOOL = "apn_expand_bool";
@@ -36801,6 +36807,7 @@
     field public static final java.lang.String KEY_CSP_ENABLED_BOOL = "csp_enabled_bool";
     field public static final java.lang.String KEY_DEFAULT_SIM_CALL_MANAGER_STRING = "default_sim_call_manager_string";
     field public static final java.lang.String KEY_DISABLE_CDMA_ACTIVATION_CODE_BOOL = "disable_cdma_activation_code_bool";
+    field public static final java.lang.String KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL = "drop_video_call_when_answering_audio_call_bool";
     field public static final java.lang.String KEY_DTMF_TYPE_ENABLED_BOOL = "dtmf_type_enabled_bool";
     field public static final java.lang.String KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT = "duration_blocking_disabled_after_emergency_int";
     field public static final java.lang.String KEY_EDITABLE_ENHANCED_4G_LTE_BOOL = "editable_enhanced_4g_lte_bool";
@@ -36858,6 +36865,7 @@
     field public static final java.lang.String KEY_SUPPORT_CONFERENCE_CALL_BOOL = "support_conference_call_bool";
     field public static final java.lang.String KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL = "support_pause_ims_video_calls_bool";
     field public static final java.lang.String KEY_SUPPORT_SWAP_AFTER_MERGE_BOOL = "support_swap_after_merge_bool";
+    field public static final java.lang.String KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL = "treat_downgraded_video_calls_as_video_calls_bool";
     field public static final java.lang.String KEY_USE_HFA_FOR_PROVISIONING_BOOL = "use_hfa_for_provisioning_bool";
     field public static final java.lang.String KEY_USE_OTASP_FOR_PROVISIONING_BOOL = "use_otasp_for_provisioning_bool";
     field public static final java.lang.String KEY_USE_RCS_PRESENCE_BOOL = "use_rcs_presence_bool";
@@ -37353,26 +37361,6 @@
     method public void onSubscriptionsChanged();
   }
 
-  public final class TelephonyHistogram implements android.os.Parcelable {
-    ctor public TelephonyHistogram(int, int, int);
-    ctor public TelephonyHistogram(android.telephony.TelephonyHistogram);
-    ctor public TelephonyHistogram(android.os.Parcel);
-    method public void addTimeTaken(int);
-    method public int describeContents();
-    method public int getAverageTime();
-    method public int getBucketCount();
-    method public int[] getBucketCounters();
-    method public int[] getBucketEndPoints();
-    method public int getCategory();
-    method public int getId();
-    method public int getMaxTime();
-    method public int getMinTime();
-    method public int getSampleCount();
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<android.telephony.TelephonyHistogram> CREATOR;
-    field public static final int TELEPHONY_CATEGORY_RIL = 1; // 0x1
-  }
-
   public class TelephonyManager {
     method public boolean canChangeDtmfToneLength();
     method public android.telephony.TelephonyManager createForSubscriptionId(int);
@@ -37403,7 +37391,6 @@
     method public java.lang.String getSimSerialNumber();
     method public int getSimState();
     method public java.lang.String getSubscriberId();
-    method public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
     method public java.lang.String getVoiceMailAlphaTag();
     method public java.lang.String getVoiceMailNumber();
     method public int getVoiceNetworkType();
@@ -37463,12 +37450,15 @@
     field public static final int NETWORK_TYPE_EVDO_A = 6; // 0x6
     field public static final int NETWORK_TYPE_EVDO_B = 12; // 0xc
     field public static final int NETWORK_TYPE_GPRS = 1; // 0x1
+    field public static final int NETWORK_TYPE_GSM = 16; // 0x10
     field public static final int NETWORK_TYPE_HSDPA = 8; // 0x8
     field public static final int NETWORK_TYPE_HSPA = 10; // 0xa
     field public static final int NETWORK_TYPE_HSPAP = 15; // 0xf
     field public static final int NETWORK_TYPE_HSUPA = 9; // 0x9
     field public static final int NETWORK_TYPE_IDEN = 11; // 0xb
+    field public static final int NETWORK_TYPE_IWLAN = 18; // 0x12
     field public static final int NETWORK_TYPE_LTE = 13; // 0xd
+    field public static final int NETWORK_TYPE_TD_SCDMA = 17; // 0x11
     field public static final int NETWORK_TYPE_UMTS = 3; // 0x3
     field public static final int NETWORK_TYPE_UNKNOWN = 0; // 0x0
     field public static final int PHONE_TYPE_CDMA = 2; // 0x2
@@ -40269,7 +40259,10 @@
     method public boolean equals(android.util.DisplayMetrics);
     method public void setTo(android.util.DisplayMetrics);
     method public void setToDefaults();
+    field public static final int DENSITY_260 = 260; // 0x104
     field public static final int DENSITY_280 = 280; // 0x118
+    field public static final int DENSITY_300 = 300; // 0x12c
+    field public static final int DENSITY_340 = 340; // 0x154
     field public static final int DENSITY_360 = 360; // 0x168
     field public static final int DENSITY_400 = 400; // 0x190
     field public static final int DENSITY_420 = 420; // 0x1a4
@@ -40994,8 +40987,11 @@
     field public static final android.os.Parcelable.Creator<android.view.Display.Mode> CREATOR;
   }
 
-  public final class DragAndDropPermissions {
+  public final class DragAndDropPermissions implements android.os.Parcelable {
+    method public int describeContents();
     method public void release();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.view.DragAndDropPermissions> CREATOR;
   }
 
   public class DragEvent implements android.os.Parcelable {
@@ -41478,10 +41474,6 @@
     field public static final int KEYCODE_FOCUS = 80; // 0x50
     field public static final int KEYCODE_FORWARD = 125; // 0x7d
     field public static final int KEYCODE_FORWARD_DEL = 112; // 0x70
-    field public static final int KEYCODE_FP_NAV_DOWN = 281; // 0x119
-    field public static final int KEYCODE_FP_NAV_LEFT = 282; // 0x11a
-    field public static final int KEYCODE_FP_NAV_RIGHT = 283; // 0x11b
-    field public static final int KEYCODE_FP_NAV_UP = 280; // 0x118
     field public static final int KEYCODE_FUNCTION = 119; // 0x77
     field public static final int KEYCODE_G = 35; // 0x23
     field public static final int KEYCODE_GRAVE = 68; // 0x44
@@ -41600,6 +41592,10 @@
     field public static final int KEYCODE_SWITCH_CHARSET = 95; // 0x5f
     field public static final int KEYCODE_SYM = 63; // 0x3f
     field public static final int KEYCODE_SYSRQ = 120; // 0x78
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_DOWN = 281; // 0x119
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_LEFT = 282; // 0x11a
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_RIGHT = 283; // 0x11b
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_UP = 280; // 0x118
     field public static final int KEYCODE_T = 48; // 0x30
     field public static final int KEYCODE_TAB = 61; // 0x3d
     field public static final int KEYCODE_TV = 170; // 0xaa
@@ -44690,6 +44686,7 @@
     method public boolean clearMetaKeyStates(int);
     method public void closeConnection();
     method public boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+    method public boolean commitContent(android.view.inputmethod.InputContentInfo, int, android.os.Bundle);
     method public boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
     method public boolean commitText(java.lang.CharSequence, int);
     method public boolean deleteSurroundingText(int, int);
@@ -44799,6 +44796,7 @@
     field public static final int IME_NULL = 0; // 0x0
     field public int actionId;
     field public java.lang.CharSequence actionLabel;
+    field public java.lang.String[] contentMimeTypes;
     field public android.os.Bundle extras;
     field public int fieldId;
     field public java.lang.String fieldName;
@@ -44858,6 +44856,7 @@
     method public abstract boolean clearMetaKeyStates(int);
     method public abstract void closeConnection();
     method public abstract boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+    method public abstract boolean commitContent(android.view.inputmethod.InputContentInfo, int, android.os.Bundle);
     method public abstract boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
     method public abstract boolean commitText(java.lang.CharSequence, int);
     method public abstract boolean deleteSurroundingText(int, int);
@@ -44883,6 +44882,7 @@
     field public static final int CURSOR_UPDATE_MONITOR = 2; // 0x2
     field public static final int GET_EXTRACTED_TEXT_MONITOR = 1; // 0x1
     field public static final int GET_TEXT_WITH_STYLES = 1; // 0x1
+    field public static final int INPUT_CONTENT_GRANT_READ_URI_PERMISSION = 1; // 0x1
   }
 
   public class InputConnectionWrapper implements android.view.inputmethod.InputConnection {
@@ -44891,6 +44891,7 @@
     method public boolean clearMetaKeyStates(int);
     method public void closeConnection();
     method public boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+    method public boolean commitContent(android.view.inputmethod.InputContentInfo, int, android.os.Bundle);
     method public boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
     method public boolean commitText(java.lang.CharSequence, int);
     method public boolean deleteSurroundingText(int, int);
@@ -44915,6 +44916,19 @@
     method public void setTarget(android.view.inputmethod.InputConnection);
   }
 
+  public final class InputContentInfo implements android.os.Parcelable {
+    ctor public InputContentInfo(android.net.Uri, android.content.ClipDescription);
+    ctor public InputContentInfo(android.net.Uri, android.content.ClipDescription, android.net.Uri);
+    method public int describeContents();
+    method public android.net.Uri getContentUri();
+    method public android.content.ClipDescription getDescription();
+    method public android.net.Uri getLinkUri();
+    method public void releasePermission();
+    method public void requestPermission();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.view.inputmethod.InputContentInfo> CREATOR;
+  }
+
   public abstract interface InputMethod {
     method public abstract void attachToken(android.os.IBinder);
     method public abstract void bindInput(android.view.inputmethod.InputBinding);
diff --git a/api/system-current.txt b/api/system-current.txt
index 98b66c0..9d07e84 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -504,6 +504,7 @@
     field public static final int colorPressedHighlight = 16843661; // 0x101038d
     field public static final int colorPrimary = 16843827; // 0x1010433
     field public static final int colorPrimaryDark = 16843828; // 0x1010434
+    field public static final int colorSecondary = 16844080; // 0x1010530
     field public static final int columnCount = 16843639; // 0x1010377
     field public static final int columnDelay = 16843215; // 0x10101cf
     field public static final int columnOrderPreserved = 16843640; // 0x1010378
@@ -527,9 +528,9 @@
     field public static final int contentInsetStart = 16843859; // 0x1010453
     field public static final int contentInsetStartWithNavigation = 16844066; // 0x1010522
     field public static final int contextClickable = 16844007; // 0x10104e7
-    field public static final int contextDescription = 16844082; // 0x1010532
+    field public static final int contextDescription = 16844078; // 0x101052e
     field public static final int contextPopupMenuStyle = 16844033; // 0x1010501
-    field public static final int contextUri = 16844081; // 0x1010531
+    field public static final int contextUri = 16844077; // 0x101052d
     field public static final int controlX1 = 16843772; // 0x10103fc
     field public static final int controlX2 = 16843774; // 0x10103fe
     field public static final int controlY1 = 16843773; // 0x10103fd
@@ -1148,7 +1149,7 @@
     field public static final int rotation = 16843558; // 0x1010326
     field public static final int rotationX = 16843559; // 0x1010327
     field public static final int rotationY = 16843560; // 0x1010328
-    field public static final int roundIcon = 16844080; // 0x1010530
+    field public static final int roundIcon = 16844076; // 0x101052c
     field public static final int rowCount = 16843637; // 0x1010375
     field public static final int rowDelay = 16843216; // 0x10101d0
     field public static final int rowEdgeFlags = 16843329; // 0x1010241
@@ -1220,20 +1221,16 @@
     field public static final int shareInterpolator = 16843195; // 0x10101bb
     field public static final int sharedUserId = 16842763; // 0x101000b
     field public static final int sharedUserLabel = 16843361; // 0x1010261
-    field public static final int shortcutCategories = 16844077; // 0x101052d
-    field public static final int shortcutDisabledMessage = 16844076; // 0x101052c
-    field public static final int shortcutIcon = 16844073; // 0x1010529
+    field public static final int shortcutDisabledMessage = 16844075; // 0x101052b
     field public static final int shortcutId = 16844072; // 0x1010528
-    field public static final int shortcutIntentAction = 16844078; // 0x101052e
-    field public static final int shortcutIntentData = 16844079; // 0x101052f
-    field public static final int shortcutLongLabel = 16844075; // 0x101052b
-    field public static final int shortcutShortLabel = 16844074; // 0x101052a
+    field public static final int shortcutLongLabel = 16844074; // 0x101052a
+    field public static final int shortcutShortLabel = 16844073; // 0x1010529
     field public static final int shouldDisableView = 16843246; // 0x10101ee
     field public static final int showAsAction = 16843481; // 0x10102d9
     field public static final int showDefault = 16843258; // 0x10101fa
     field public static final int showDividers = 16843561; // 0x1010329
     field public static final int showForAllUsers = 16844015; // 0x10104ef
-    field public static final int showMetadataInPreview = 16844083; // 0x1010533
+    field public static final int showMetadataInPreview = 16844079; // 0x101052f
     field public static final deprecated int showOnLockScreen = 16843721; // 0x10103c9
     field public static final int showSilent = 16843259; // 0x10101fb
     field public static final int showText = 16843949; // 0x10104ad
@@ -3844,6 +3841,7 @@
     method public void moveTaskToFront(int, int);
     method public void moveTaskToFront(int, int, android.os.Bundle);
     method public deprecated void restartPackage(java.lang.String);
+    method public static void setVrThread(int);
     method public void setWatchHeapLimit(long);
     field public static final java.lang.String ACTION_REPORT_HEAP_LIMIT = "android.app.action.REPORT_HEAP_LIMIT";
     field public static final int LOCK_TASK_MODE_LOCKED = 1; // 0x1
@@ -5197,12 +5195,14 @@
     method public android.app.Notification.Action.Builder extend(android.app.Notification.Action.Builder);
     method public java.lang.CharSequence getCancelLabel();
     method public java.lang.CharSequence getConfirmLabel();
+    method public boolean getHintDisplayActionInline();
     method public boolean getHintLaunchesActivity();
     method public java.lang.CharSequence getInProgressLabel();
     method public boolean isAvailableOffline();
     method public android.app.Notification.Action.WearableExtender setAvailableOffline(boolean);
     method public android.app.Notification.Action.WearableExtender setCancelLabel(java.lang.CharSequence);
     method public android.app.Notification.Action.WearableExtender setConfirmLabel(java.lang.CharSequence);
+    method public android.app.Notification.Action.WearableExtender setHintDisplayActionInline(boolean);
     method public android.app.Notification.Action.WearableExtender setHintLaunchesActivity(boolean);
     method public android.app.Notification.Action.WearableExtender setInProgressLabel(java.lang.CharSequence);
   }
@@ -6690,6 +6690,7 @@
     method public abstract java.util.List<android.app.job.JobInfo> getAllPendingJobs();
     method public abstract android.app.job.JobInfo getPendingJob(int);
     method public abstract int schedule(android.app.job.JobInfo);
+    method public abstract int scheduleAsPackage(android.app.job.JobInfo, java.lang.String, int, java.lang.String);
     field public static final int RESULT_FAILURE = 0; // 0x0
     field public static final int RESULT_SUCCESS = 1; // 0x1
   }
@@ -9874,8 +9875,6 @@
     method public java.util.List<android.content.pm.LauncherActivityInfo> getActivityList(java.lang.String, android.os.UserHandle);
     method public android.graphics.drawable.Drawable getShortcutBadgedIconDrawable(android.content.pm.ShortcutInfo, int);
     method public android.graphics.drawable.Drawable getShortcutIconDrawable(android.content.pm.ShortcutInfo, int);
-    method public android.os.ParcelFileDescriptor getShortcutIconFd(android.content.pm.ShortcutInfo);
-    method public android.os.ParcelFileDescriptor getShortcutIconFd(java.lang.String, java.lang.String, android.os.UserHandle);
     method public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle);
     method public boolean hasShortcutHostPermission();
     method public boolean isActivityEnabled(android.content.ComponentName, android.os.UserHandle);
@@ -9886,8 +9885,8 @@
     method public android.content.pm.LauncherActivityInfo resolveActivity(android.content.Intent, android.os.UserHandle);
     method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle);
     method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle);
-    method public boolean startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle);
-    method public boolean startShortcut(android.content.pm.ShortcutInfo, android.graphics.Rect, android.os.Bundle);
+    method public void startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle);
+    method public void startShortcut(android.content.pm.ShortcutInfo, android.graphics.Rect, android.os.Bundle);
     method public void unregisterCallback(android.content.pm.LauncherApps.Callback);
   }
 
@@ -9910,10 +9909,10 @@
     method public android.content.pm.LauncherApps.ShortcutQuery setPackage(java.lang.String);
     method public android.content.pm.LauncherApps.ShortcutQuery setQueryFlags(int);
     method public android.content.pm.LauncherApps.ShortcutQuery setShortcutIds(java.util.List<java.lang.String>);
-    field public static final int FLAG_GET_DYNAMIC = 1; // 0x1
     field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4
-    field public static final int FLAG_GET_MANIFEST = 8; // 0x8
-    field public static final int FLAG_GET_PINNED = 2; // 0x2
+    field public static final int FLAG_MATCH_DYNAMIC = 1; // 0x1
+    field public static final int FLAG_MATCH_MANIFEST = 8; // 0x8
+    field public static final int FLAG_MATCH_PINNED = 2; // 0x2
   }
 
   public class PackageInfo implements android.os.Parcelable {
@@ -10491,7 +10490,6 @@
     method public java.lang.CharSequence getDisabledMessage();
     method public int getDisabledMessageResourceId();
     method public android.os.PersistableBundle getExtras();
-    method public int getIconResourceId();
     method public java.lang.String getId();
     method public android.content.Intent getIntent();
     method public long getLastChangedTimestamp();
@@ -10502,14 +10500,11 @@
     method public java.lang.CharSequence getShortLabel();
     method public int getShortLabelResourceId();
     method public android.os.UserHandle getUserHandle();
-    method public boolean hasIconFile();
-    method public boolean hasIconResource();
     method public boolean hasKeyFieldsOnly();
-    method public boolean hasStringResourcesResolved();
+    method public boolean isDeclaredInManifest();
     method public boolean isDynamic();
     method public boolean isEnabled();
     method public boolean isImmutable();
-    method public boolean isManifestShortcut();
     method public boolean isPinned();
     method public void writeToParcel(android.os.Parcel, int);
     field public static final android.os.Parcelable.Creator<android.content.pm.ShortcutInfo> CREATOR;
@@ -10517,31 +10512,31 @@
   }
 
   public static class ShortcutInfo.Builder {
-    ctor public ShortcutInfo.Builder(android.content.Context);
+    ctor public deprecated ShortcutInfo.Builder(android.content.Context);
+    ctor public ShortcutInfo.Builder(android.content.Context, java.lang.String);
     method public android.content.pm.ShortcutInfo build();
     method public android.content.pm.ShortcutInfo.Builder setActivity(android.content.ComponentName);
     method public android.content.pm.ShortcutInfo.Builder setCategories(java.util.Set<java.lang.String>);
-    method public android.content.pm.ShortcutInfo.Builder setDisabledMessage(java.lang.String);
+    method public android.content.pm.ShortcutInfo.Builder setDisabledMessage(java.lang.CharSequence);
     method public android.content.pm.ShortcutInfo.Builder setExtras(android.os.PersistableBundle);
     method public android.content.pm.ShortcutInfo.Builder setIcon(android.graphics.drawable.Icon);
-    method public android.content.pm.ShortcutInfo.Builder setId(java.lang.String);
+    method public deprecated android.content.pm.ShortcutInfo.Builder setId(java.lang.String);
     method public android.content.pm.ShortcutInfo.Builder setIntent(android.content.Intent);
-    method public android.content.pm.ShortcutInfo.Builder setLongLabel(java.lang.String);
+    method public android.content.pm.ShortcutInfo.Builder setLongLabel(java.lang.CharSequence);
     method public android.content.pm.ShortcutInfo.Builder setRank(int);
-    method public android.content.pm.ShortcutInfo.Builder setShortLabel(java.lang.String);
+    method public android.content.pm.ShortcutInfo.Builder setShortLabel(java.lang.CharSequence);
   }
 
   public class ShortcutManager {
     method public boolean addDynamicShortcuts(java.util.List<android.content.pm.ShortcutInfo>);
     method public void disableShortcuts(java.util.List<java.lang.String>);
-    method public void disableShortcuts(java.util.List<java.lang.String>, int);
-    method public void disableShortcuts(java.util.List<java.lang.String>, java.lang.String);
+    method public void disableShortcuts(java.util.List<java.lang.String>, java.lang.CharSequence);
     method public void enableShortcuts(java.util.List<java.lang.String>);
     method public java.util.List<android.content.pm.ShortcutInfo> getDynamicShortcuts();
     method public int getIconMaxHeight();
     method public int getIconMaxWidth();
     method public java.util.List<android.content.pm.ShortcutInfo> getManifestShortcuts();
-    method public int getMaxShortcutCountForActivity();
+    method public int getMaxShortcutCountPerActivity();
     method public java.util.List<android.content.pm.ShortcutInfo> getPinnedShortcuts();
     method public long getRateLimitResetTime();
     method public int getRemainingCallCount();
@@ -26024,6 +26019,33 @@
 
 package android.net.metrics {
 
+  public final class ApfProgramEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.net.metrics.ApfProgramEvent> CREATOR;
+    field public static final int FLAG_HAS_IPV4_ADDRESS = 1; // 0x1
+    field public static final int FLAG_MULTICAST_FILTER_ON = 0; // 0x0
+    field public final int currentRas;
+    field public final int filteredRas;
+    field public final int flags;
+    field public final long lifetime;
+    field public final int programLength;
+  }
+
+  public final class ApfStats implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.net.metrics.ApfStats> CREATOR;
+    field public final int droppedRas;
+    field public final long durationMs;
+    field public final int matchingRas;
+    field public final int maxProgramSize;
+    field public final int parseErrors;
+    field public final int programUpdates;
+    field public final int receivedRas;
+    field public final int zeroLifetimeRas;
+  }
+
   public final class DefaultNetworkEvent implements android.os.Parcelable {
     method public int describeContents();
     method public static void logEvent(int, int[], int, boolean, boolean);
@@ -26132,6 +26154,18 @@
     field public final int netId;
   }
 
+  public final class RaEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.net.metrics.RaEvent> CREATOR;
+    field public final long dnsslLifetime;
+    field public final long prefixPreferredLifetime;
+    field public final long prefixValidLifetime;
+    field public final long rdnssLifetime;
+    field public final long routeInfoLifetime;
+    field public final long routerLifetime;
+  }
+
   public final class ValidationProbeEvent implements android.os.Parcelable {
     method public int describeContents();
     method public static void logEvent(int, long, int, int);
@@ -30817,6 +30851,7 @@
     field public static final int LOLLIPOP_MR1 = 22; // 0x16
     field public static final int M = 23; // 0x17
     field public static final int N = 24; // 0x18
+    field public static final int N_MR1 = 25; // 0x19
   }
 
   public final class Bundle extends android.os.BaseBundle implements java.lang.Cloneable android.os.Parcelable {
@@ -31652,6 +31687,7 @@
     method public static void installPackage(android.content.Context, java.io.File, boolean) throws java.io.IOException;
     method public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener, android.os.Handler) throws java.io.IOException;
     method public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener) throws java.io.IOException;
+    method public static void rebootWipeAb(android.content.Context, java.io.File, java.lang.String) throws java.io.IOException;
     method public static void rebootWipeCache(android.content.Context) throws java.io.IOException;
     method public static void rebootWipeUserData(android.content.Context) throws java.io.IOException;
     method public static void scheduleUpdateOnBoot(android.content.Context, java.io.File) throws java.io.IOException;
@@ -31892,6 +31928,7 @@
     method public android.os.Bundle getUserRestrictions();
     method public android.os.Bundle getUserRestrictions(android.os.UserHandle);
     method public boolean hasUserRestriction(java.lang.String);
+    method public boolean isDemoUser();
     method public boolean isManagedProfile();
     method public boolean isManagedProfile(int);
     method public boolean isQuietModeEnabled(android.os.UserHandle);
@@ -32140,6 +32177,7 @@
     method public boolean isObbMounted(java.lang.String);
     method public boolean mountObb(java.lang.String, java.lang.String, android.os.storage.OnObbStateChangeListener);
     method public boolean unmountObb(java.lang.String, boolean, android.os.storage.OnObbStateChangeListener);
+    field public static final java.lang.String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE";
   }
 
   public final class StorageVolume implements android.os.Parcelable {
@@ -35096,7 +35134,6 @@
     field public static final java.lang.String ACTION_CAST_SETTINGS = "android.settings.CAST_SETTINGS";
     field public static final java.lang.String ACTION_DATA_ROAMING_SETTINGS = "android.settings.DATA_ROAMING_SETTINGS";
     field public static final java.lang.String ACTION_DATE_SETTINGS = "android.settings.DATE_SETTINGS";
-    field public static final java.lang.String ACTION_DELETION_HELPER_SETTINGS = "android.settings.DELETION_HELPER_SETTINGS";
     field public static final java.lang.String ACTION_DEVICE_INFO_SETTINGS = "android.settings.DEVICE_INFO_SETTINGS";
     field public static final java.lang.String ACTION_DISPLAY_SETTINGS = "android.settings.DISPLAY_SETTINGS";
     field public static final java.lang.String ACTION_DREAM_SETTINGS = "android.settings.DREAM_SETTINGS";
@@ -35183,6 +35220,7 @@
     field public static final java.lang.String DATA_ROAMING = "data_roaming";
     field public static final java.lang.String DEBUG_APP = "debug_app";
     field public static final java.lang.String DEVELOPMENT_SETTINGS_ENABLED = "development_settings_enabled";
+    field public static final java.lang.String DEVICE_NAME = "device_name";
     field public static final java.lang.String DEVICE_PROVISIONED = "device_provisioned";
     field public static final java.lang.String HTTP_PROXY = "http_proxy";
     field public static final deprecated java.lang.String INSTALL_NON_MARKET_APPS = "install_non_market_apps";
@@ -35771,6 +35809,7 @@
     field public static final java.lang.String ACTION_NEW_VOICEMAIL = "android.intent.action.NEW_VOICEMAIL";
     field public static final java.lang.String ACTION_SYNC_VOICEMAIL = "android.provider.action.SYNC_VOICEMAIL";
     field public static final java.lang.String AUTHORITY = "com.android.voicemail";
+    field public static final java.lang.String EXTRA_PHONE_ACCOUNT_HANDLE = "android.provider.extra.PHONE_ACCOUNT_HANDLE";
     field public static final java.lang.String EXTRA_SELF_CHANGE = "com.android.voicemail.extra.SELF_CHANGE";
     field public static final java.lang.String PARAM_KEY_SOURCE_PACKAGE = "source_package";
   }
@@ -35779,6 +35818,9 @@
     method public static android.net.Uri buildSourceUri(java.lang.String);
     field public static final java.lang.String CONFIGURATION_STATE = "configuration_state";
     field public static final int CONFIGURATION_STATE_CAN_BE_CONFIGURED = 2; // 0x2
+    field public static final int CONFIGURATION_STATE_CONFIGURING = 3; // 0x3
+    field public static final int CONFIGURATION_STATE_DISABLED = 5; // 0x5
+    field public static final int CONFIGURATION_STATE_FAILED = 4; // 0x4
     field public static final int CONFIGURATION_STATE_NOT_CONFIGURED = 1; // 0x1
     field public static final int CONFIGURATION_STATE_OK = 0; // 0x0
     field public static final android.net.Uri CONTENT_URI;
@@ -39064,7 +39106,7 @@
     method public final void setConnectionTime(long);
     method public final void setDialing();
     method public final void setDisconnected(android.telecom.DisconnectCause);
-    method public final deprecated void setExtras(android.os.Bundle);
+    method public final void setExtras(android.os.Bundle);
     method public final void setOnHold();
     method public final void setStatusHints(android.telecom.StatusHints);
     method public final void setVideoProvider(android.telecom.Connection, android.telecom.Connection.VideoProvider);
@@ -39131,12 +39173,13 @@
     method public final void setConnectionProperties(int);
     method public final void setDialing();
     method public final void setDisconnected(android.telecom.DisconnectCause);
-    method public final deprecated void setExtras(android.os.Bundle);
+    method public final void setExtras(android.os.Bundle);
     method public final void setInitialized();
     method public final void setInitializing();
     method public final void setNextPostDialChar(char);
     method public final void setOnHold();
     method public final void setPostDialWait(java.lang.String);
+    method public final void setPulling();
     method public final void setRingbackRequested(boolean);
     method public final void setRinging();
     method public final void setStatusHints(android.telecom.StatusHints);
@@ -39163,7 +39206,9 @@
     field public static final int CAPABILITY_SUPPORTS_VT_REMOTE_TX = 2048; // 0x800
     field public static final int CAPABILITY_SUPPORT_HOLD = 2; // 0x2
     field public static final int CAPABILITY_SWAP_CONFERENCE = 8; // 0x8
+    field public static final java.lang.String EVENT_CALL_MERGE_FAILED = "android.telecom.event.CALL_MERGE_FAILED";
     field public static final java.lang.String EVENT_CALL_PULL_FAILED = "android.telecom.event.CALL_PULL_FAILED";
+    field public static final java.lang.String EXTRA_ANSWERING_DROPS_FG_CALL = "android.telecom.extra.ANSWERING_DROPS_FG_CALL";
     field public static final java.lang.String EXTRA_CALL_SUBJECT = "android.telecom.extra.CALL_SUBJECT";
     field public static final java.lang.String EXTRA_CHILD_ADDRESS = "android.telecom.extra.CHILD_ADDRESS";
     field public static final java.lang.String EXTRA_LAST_FORWARDED_NUMBER = "android.telecom.extra.LAST_FORWARDED_NUMBER";
@@ -39330,14 +39375,16 @@
   }
 
   public class ParcelableCallAnalytics implements android.os.Parcelable {
-    ctor public ParcelableCallAnalytics(long, long, int, boolean, boolean, int, int, boolean, java.lang.String, boolean);
+    ctor public ParcelableCallAnalytics(long, long, int, boolean, boolean, int, int, boolean, java.lang.String, boolean, java.util.List<android.telecom.ParcelableCallAnalytics.AnalyticsEvent>, java.util.List<android.telecom.ParcelableCallAnalytics.EventTiming>);
     ctor public ParcelableCallAnalytics(android.os.Parcel);
+    method public java.util.List<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> analyticsEvents();
     method public int describeContents();
     method public long getCallDurationMillis();
     method public int getCallTechnologies();
     method public int getCallTerminationCode();
     method public int getCallType();
     method public java.lang.String getConnectionService();
+    method public java.util.List<android.telecom.ParcelableCallAnalytics.EventTiming> getEventTimings();
     method public long getStartTimeMillis();
     method public boolean isAdditionalCall();
     method public boolean isCreatedFromExistingConnection();
@@ -39358,6 +39405,73 @@
     field public static final int THIRD_PARTY_PHONE = 16; // 0x10
   }
 
+  public static final class ParcelableCallAnalytics.AnalyticsEvent implements android.os.Parcelable {
+    ctor public ParcelableCallAnalytics.AnalyticsEvent(int, long);
+    method public int describeContents();
+    method public int getEventName();
+    method public long getTimeSinceLastEvent();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int AUDIO_ROUTE_BT = 204; // 0xcc
+    field public static final int AUDIO_ROUTE_EARPIECE = 205; // 0xcd
+    field public static final int AUDIO_ROUTE_HEADSET = 206; // 0xce
+    field public static final int AUDIO_ROUTE_SPEAKER = 207; // 0xcf
+    field public static final int BIND_CS = 5; // 0x5
+    field public static final int BLOCK_CHECK_FINISHED = 105; // 0x69
+    field public static final int BLOCK_CHECK_INITIATED = 104; // 0x68
+    field public static final int CONFERENCE_WITH = 300; // 0x12c
+    field public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> CREATOR;
+    field public static final int CS_BOUND = 6; // 0x6
+    field public static final int DIRECT_TO_VM_FINISHED = 103; // 0x67
+    field public static final int DIRECT_TO_VM_INITIATED = 102; // 0x66
+    field public static final int FILTERING_COMPLETED = 107; // 0x6b
+    field public static final int FILTERING_INITIATED = 106; // 0x6a
+    field public static final int FILTERING_TIMED_OUT = 108; // 0x6c
+    field public static final int MUTE = 202; // 0xca
+    field public static final int REMOTELY_HELD = 402; // 0x192
+    field public static final int REMOTELY_UNHELD = 403; // 0x193
+    field public static final int REQUEST_ACCEPT = 7; // 0x7
+    field public static final int REQUEST_HOLD = 400; // 0x190
+    field public static final int REQUEST_PULL = 500; // 0x1f4
+    field public static final int REQUEST_REJECT = 8; // 0x8
+    field public static final int REQUEST_UNHOLD = 401; // 0x191
+    field public static final int SCREENING_COMPLETED = 101; // 0x65
+    field public static final int SCREENING_SENT = 100; // 0x64
+    field public static final int SET_ACTIVE = 1; // 0x1
+    field public static final int SET_DIALING = 4; // 0x4
+    field public static final int SET_DISCONNECTED = 2; // 0x2
+    field public static final int SET_HOLD = 404; // 0x194
+    field public static final int SET_PARENT = 302; // 0x12e
+    field public static final int SET_SELECT_PHONE_ACCOUNT = 0; // 0x0
+    field public static final int SILENCE = 201; // 0xc9
+    field public static final int SKIP_RINGING = 200; // 0xc8
+    field public static final int SPLIT_CONFERENCE = 301; // 0x12d
+    field public static final int START_CONNECTION = 3; // 0x3
+    field public static final int SWAP = 405; // 0x195
+    field public static final int UNMUTE = 203; // 0xcb
+  }
+
+  public static final class ParcelableCallAnalytics.EventTiming implements android.os.Parcelable {
+    ctor public ParcelableCallAnalytics.EventTiming(int, long);
+    method public int describeContents();
+    method public int getName();
+    method public long getTime();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACCEPT_TIMING = 0; // 0x0
+    field public static final int BIND_CS_TIMING = 6; // 0x6
+    field public static final int BLOCK_CHECK_FINISHED_TIMING = 9; // 0x9
+    field public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.EventTiming> CREATOR;
+    field public static final int DIRECT_TO_VM_FINISHED_TIMING = 8; // 0x8
+    field public static final int DISCONNECT_TIMING = 2; // 0x2
+    field public static final int FILTERING_COMPLETED_TIMING = 10; // 0xa
+    field public static final int FILTERING_TIMED_OUT_TIMING = 11; // 0xb
+    field public static final int HOLD_TIMING = 3; // 0x3
+    field public static final int INVALID = 999999; // 0xf423f
+    field public static final int OUTGOING_TIME_TO_DIALING_TIMING = 5; // 0x5
+    field public static final int REJECT_TIMING = 1; // 0x1
+    field public static final int SCREENING_COMPLETED_TIMING = 7; // 0x7
+    field public static final int UNHOLD_TIMING = 4; // 0x4
+  }
+
   public final deprecated class Phone {
     method public final void addListener(android.telecom.Phone.Listener);
     method public final boolean canAddCall();
@@ -39574,6 +39688,41 @@
     field public static final android.os.Parcelable.Creator<android.telecom.StatusHints> CREATOR;
   }
 
+  public final class TelecomAnalytics implements android.os.Parcelable {
+    ctor public TelecomAnalytics(java.util.List<android.telecom.TelecomAnalytics.SessionTiming>, java.util.List<android.telecom.ParcelableCallAnalytics>);
+    method public int describeContents();
+    method public java.util.List<android.telecom.ParcelableCallAnalytics> getCallAnalytics();
+    method public java.util.List<android.telecom.TelecomAnalytics.SessionTiming> getSessionTimings();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics> CREATOR;
+  }
+
+  public static final class TelecomAnalytics.SessionTiming implements android.os.Parcelable {
+    ctor public TelecomAnalytics.SessionTiming(int, long);
+    method public int describeContents();
+    method public java.lang.Integer getKey();
+    method public long getTime();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics.SessionTiming> CREATOR;
+    field public static final int CSW_ADD_CONFERENCE_CALL = 108; // 0x6c
+    field public static final int CSW_HANDLE_CREATE_CONNECTION_COMPLETE = 100; // 0x64
+    field public static final int CSW_REMOVE_CALL = 106; // 0x6a
+    field public static final int CSW_SET_ACTIVE = 101; // 0x65
+    field public static final int CSW_SET_DIALING = 103; // 0x67
+    field public static final int CSW_SET_DISCONNECTED = 104; // 0x68
+    field public static final int CSW_SET_IS_CONFERENCED = 107; // 0x6b
+    field public static final int CSW_SET_ON_HOLD = 105; // 0x69
+    field public static final int CSW_SET_RINGING = 102; // 0x66
+    field public static final int ICA_ANSWER_CALL = 1; // 0x1
+    field public static final int ICA_CONFERENCE = 8; // 0x8
+    field public static final int ICA_DISCONNECT_CALL = 3; // 0x3
+    field public static final int ICA_HOLD_CALL = 4; // 0x4
+    field public static final int ICA_MUTE = 6; // 0x6
+    field public static final int ICA_REJECT_CALL = 2; // 0x2
+    field public static final int ICA_SET_AUDIO_ROUTE = 7; // 0x7
+    field public static final int ICA_UNHOLD_CALL = 5; // 0x5
+  }
+
   public class TelecomManager {
     method public void acceptRingingCall();
     method public void acceptRingingCall(int);
@@ -39583,7 +39732,7 @@
     method public deprecated void clearAccounts();
     method public void clearPhoneAccounts();
     method public android.content.Intent createManageBlockedNumbersIntent();
-    method public java.util.List<android.telecom.ParcelableCallAnalytics> dumpAnalytics();
+    method public android.telecom.TelecomAnalytics dumpAnalytics();
     method public void enablePhoneAccount(android.telecom.PhoneAccountHandle, boolean);
     method public boolean endCall();
     method public android.net.Uri getAdnUriForPhoneAccount(android.telecom.PhoneAccountHandle);
@@ -39701,9 +39850,11 @@
     field public static final java.lang.String ACTION_CARRIER_CONFIG_CHANGED = "android.telephony.action.CARRIER_CONFIG_CHANGED";
     field public static final java.lang.String KEY_ADDITIONAL_CALL_SETTING_BOOL = "additional_call_setting_bool";
     field public static final java.lang.String KEY_ALLOW_ADDING_APNS_BOOL = "allow_adding_apns_bool";
+    field public static final java.lang.String KEY_ALLOW_ADD_CALL_DURING_VIDEO_CALL_BOOL = "allow_add_call_during_video_call";
     field public static final java.lang.String KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL = "allow_emergency_numbers_in_call_log_bool";
     field public static final java.lang.String KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL = "allow_emergency_video_calls_bool";
     field public static final java.lang.String KEY_ALLOW_LOCAL_DTMF_TONES_BOOL = "allow_local_dtmf_tones_bool";
+    field public static final java.lang.String KEY_ALLOW_MERGE_WIFI_CALLS_WHEN_VOWIFI_OFF_BOOL = "allow_merge_wifi_calls_when_vowifi_off_bool";
     field public static final java.lang.String KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL = "allow_non_emergency_calls_in_ecm_bool";
     field public static final java.lang.String KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL = "always_show_emergency_alert_onoff_bool";
     field public static final java.lang.String KEY_APN_EXPAND_BOOL = "apn_expand_bool";
@@ -39735,6 +39886,7 @@
     field public static final java.lang.String KEY_CSP_ENABLED_BOOL = "csp_enabled_bool";
     field public static final java.lang.String KEY_DEFAULT_SIM_CALL_MANAGER_STRING = "default_sim_call_manager_string";
     field public static final java.lang.String KEY_DISABLE_CDMA_ACTIVATION_CODE_BOOL = "disable_cdma_activation_code_bool";
+    field public static final java.lang.String KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL = "drop_video_call_when_answering_audio_call_bool";
     field public static final java.lang.String KEY_DTMF_TYPE_ENABLED_BOOL = "dtmf_type_enabled_bool";
     field public static final java.lang.String KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT = "duration_blocking_disabled_after_emergency_int";
     field public static final java.lang.String KEY_EDITABLE_ENHANCED_4G_LTE_BOOL = "editable_enhanced_4g_lte_bool";
@@ -39792,6 +39944,7 @@
     field public static final java.lang.String KEY_SUPPORT_CONFERENCE_CALL_BOOL = "support_conference_call_bool";
     field public static final java.lang.String KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL = "support_pause_ims_video_calls_bool";
     field public static final java.lang.String KEY_SUPPORT_SWAP_AFTER_MERGE_BOOL = "support_swap_after_merge_bool";
+    field public static final java.lang.String KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL = "treat_downgraded_video_calls_as_video_calls_bool";
     field public static final java.lang.String KEY_USE_HFA_FOR_PROVISIONING_BOOL = "use_hfa_for_provisioning_bool";
     field public static final java.lang.String KEY_USE_OTASP_FOR_PROVISIONING_BOOL = "use_otasp_for_provisioning_bool";
     field public static final java.lang.String KEY_USE_RCS_PRESENCE_BOOL = "use_rcs_presence_bool";
@@ -40445,12 +40598,15 @@
     field public static final int NETWORK_TYPE_EVDO_A = 6; // 0x6
     field public static final int NETWORK_TYPE_EVDO_B = 12; // 0xc
     field public static final int NETWORK_TYPE_GPRS = 1; // 0x1
+    field public static final int NETWORK_TYPE_GSM = 16; // 0x10
     field public static final int NETWORK_TYPE_HSDPA = 8; // 0x8
     field public static final int NETWORK_TYPE_HSPA = 10; // 0xa
     field public static final int NETWORK_TYPE_HSPAP = 15; // 0xf
     field public static final int NETWORK_TYPE_HSUPA = 9; // 0x9
     field public static final int NETWORK_TYPE_IDEN = 11; // 0xb
+    field public static final int NETWORK_TYPE_IWLAN = 18; // 0x12
     field public static final int NETWORK_TYPE_LTE = 13; // 0xd
+    field public static final int NETWORK_TYPE_TD_SCDMA = 17; // 0x11
     field public static final int NETWORK_TYPE_UMTS = 3; // 0x3
     field public static final int NETWORK_TYPE_UNKNOWN = 0; // 0x0
     field public static final int PHONE_TYPE_CDMA = 2; // 0x2
@@ -43268,7 +43424,10 @@
     method public boolean equals(android.util.DisplayMetrics);
     method public void setTo(android.util.DisplayMetrics);
     method public void setToDefaults();
+    field public static final int DENSITY_260 = 260; // 0x104
     field public static final int DENSITY_280 = 280; // 0x118
+    field public static final int DENSITY_300 = 300; // 0x12c
+    field public static final int DENSITY_340 = 340; // 0x154
     field public static final int DENSITY_360 = 360; // 0x168
     field public static final int DENSITY_400 = 400; // 0x190
     field public static final int DENSITY_420 = 420; // 0x1a4
@@ -43993,8 +44152,11 @@
     field public static final android.os.Parcelable.Creator<android.view.Display.Mode> CREATOR;
   }
 
-  public final class DragAndDropPermissions {
+  public final class DragAndDropPermissions implements android.os.Parcelable {
+    method public int describeContents();
     method public void release();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.view.DragAndDropPermissions> CREATOR;
   }
 
   public class DragEvent implements android.os.Parcelable {
@@ -44477,10 +44639,6 @@
     field public static final int KEYCODE_FOCUS = 80; // 0x50
     field public static final int KEYCODE_FORWARD = 125; // 0x7d
     field public static final int KEYCODE_FORWARD_DEL = 112; // 0x70
-    field public static final int KEYCODE_FP_NAV_DOWN = 281; // 0x119
-    field public static final int KEYCODE_FP_NAV_LEFT = 282; // 0x11a
-    field public static final int KEYCODE_FP_NAV_RIGHT = 283; // 0x11b
-    field public static final int KEYCODE_FP_NAV_UP = 280; // 0x118
     field public static final int KEYCODE_FUNCTION = 119; // 0x77
     field public static final int KEYCODE_G = 35; // 0x23
     field public static final int KEYCODE_GRAVE = 68; // 0x44
@@ -44599,6 +44757,10 @@
     field public static final int KEYCODE_SWITCH_CHARSET = 95; // 0x5f
     field public static final int KEYCODE_SYM = 63; // 0x3f
     field public static final int KEYCODE_SYSRQ = 120; // 0x78
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_DOWN = 281; // 0x119
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_LEFT = 282; // 0x11a
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_RIGHT = 283; // 0x11b
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_UP = 280; // 0x118
     field public static final int KEYCODE_T = 48; // 0x30
     field public static final int KEYCODE_TAB = 61; // 0x3d
     field public static final int KEYCODE_TV = 170; // 0xaa
@@ -47692,6 +47854,7 @@
     method public boolean clearMetaKeyStates(int);
     method public void closeConnection();
     method public boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+    method public boolean commitContent(android.view.inputmethod.InputContentInfo, int, android.os.Bundle);
     method public boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
     method public boolean commitText(java.lang.CharSequence, int);
     method public boolean deleteSurroundingText(int, int);
@@ -47801,6 +47964,7 @@
     field public static final int IME_NULL = 0; // 0x0
     field public int actionId;
     field public java.lang.CharSequence actionLabel;
+    field public java.lang.String[] contentMimeTypes;
     field public android.os.Bundle extras;
     field public int fieldId;
     field public java.lang.String fieldName;
@@ -47860,6 +48024,7 @@
     method public abstract boolean clearMetaKeyStates(int);
     method public abstract void closeConnection();
     method public abstract boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+    method public abstract boolean commitContent(android.view.inputmethod.InputContentInfo, int, android.os.Bundle);
     method public abstract boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
     method public abstract boolean commitText(java.lang.CharSequence, int);
     method public abstract boolean deleteSurroundingText(int, int);
@@ -47885,6 +48050,7 @@
     field public static final int CURSOR_UPDATE_MONITOR = 2; // 0x2
     field public static final int GET_EXTRACTED_TEXT_MONITOR = 1; // 0x1
     field public static final int GET_TEXT_WITH_STYLES = 1; // 0x1
+    field public static final int INPUT_CONTENT_GRANT_READ_URI_PERMISSION = 1; // 0x1
   }
 
   public class InputConnectionWrapper implements android.view.inputmethod.InputConnection {
@@ -47893,6 +48059,7 @@
     method public boolean clearMetaKeyStates(int);
     method public void closeConnection();
     method public boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+    method public boolean commitContent(android.view.inputmethod.InputContentInfo, int, android.os.Bundle);
     method public boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
     method public boolean commitText(java.lang.CharSequence, int);
     method public boolean deleteSurroundingText(int, int);
@@ -47917,6 +48084,19 @@
     method public void setTarget(android.view.inputmethod.InputConnection);
   }
 
+  public final class InputContentInfo implements android.os.Parcelable {
+    ctor public InputContentInfo(android.net.Uri, android.content.ClipDescription);
+    ctor public InputContentInfo(android.net.Uri, android.content.ClipDescription, android.net.Uri);
+    method public int describeContents();
+    method public android.net.Uri getContentUri();
+    method public android.content.ClipDescription getDescription();
+    method public android.net.Uri getLinkUri();
+    method public void releasePermission();
+    method public void requestPermission();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.view.inputmethod.InputContentInfo> CREATOR;
+  }
+
   public abstract interface InputMethod {
     method public abstract void attachToken(android.os.IBinder);
     method public abstract void bindInput(android.view.inputmethod.InputBinding);
diff --git a/api/test-current.txt b/api/test-current.txt
index d20f87a..1906c5e 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -397,6 +397,7 @@
     field public static final int colorPressedHighlight = 16843661; // 0x101038d
     field public static final int colorPrimary = 16843827; // 0x1010433
     field public static final int colorPrimaryDark = 16843828; // 0x1010434
+    field public static final int colorSecondary = 16844080; // 0x1010530
     field public static final int columnCount = 16843639; // 0x1010377
     field public static final int columnDelay = 16843215; // 0x10101cf
     field public static final int columnOrderPreserved = 16843640; // 0x1010378
@@ -420,9 +421,9 @@
     field public static final int contentInsetStart = 16843859; // 0x1010453
     field public static final int contentInsetStartWithNavigation = 16844066; // 0x1010522
     field public static final int contextClickable = 16844007; // 0x10104e7
-    field public static final int contextDescription = 16844082; // 0x1010532
+    field public static final int contextDescription = 16844078; // 0x101052e
     field public static final int contextPopupMenuStyle = 16844033; // 0x1010501
-    field public static final int contextUri = 16844081; // 0x1010531
+    field public static final int contextUri = 16844077; // 0x101052d
     field public static final int controlX1 = 16843772; // 0x10103fc
     field public static final int controlX2 = 16843774; // 0x10103fe
     field public static final int controlY1 = 16843773; // 0x10103fd
@@ -1041,7 +1042,7 @@
     field public static final int rotation = 16843558; // 0x1010326
     field public static final int rotationX = 16843559; // 0x1010327
     field public static final int rotationY = 16843560; // 0x1010328
-    field public static final int roundIcon = 16844080; // 0x1010530
+    field public static final int roundIcon = 16844076; // 0x101052c
     field public static final int rowCount = 16843637; // 0x1010375
     field public static final int rowDelay = 16843216; // 0x10101d0
     field public static final int rowEdgeFlags = 16843329; // 0x1010241
@@ -1109,20 +1110,16 @@
     field public static final int shareInterpolator = 16843195; // 0x10101bb
     field public static final int sharedUserId = 16842763; // 0x101000b
     field public static final int sharedUserLabel = 16843361; // 0x1010261
-    field public static final int shortcutCategories = 16844077; // 0x101052d
-    field public static final int shortcutDisabledMessage = 16844076; // 0x101052c
-    field public static final int shortcutIcon = 16844073; // 0x1010529
+    field public static final int shortcutDisabledMessage = 16844075; // 0x101052b
     field public static final int shortcutId = 16844072; // 0x1010528
-    field public static final int shortcutIntentAction = 16844078; // 0x101052e
-    field public static final int shortcutIntentData = 16844079; // 0x101052f
-    field public static final int shortcutLongLabel = 16844075; // 0x101052b
-    field public static final int shortcutShortLabel = 16844074; // 0x101052a
+    field public static final int shortcutLongLabel = 16844074; // 0x101052a
+    field public static final int shortcutShortLabel = 16844073; // 0x1010529
     field public static final int shouldDisableView = 16843246; // 0x10101ee
     field public static final int showAsAction = 16843481; // 0x10102d9
     field public static final int showDefault = 16843258; // 0x10101fa
     field public static final int showDividers = 16843561; // 0x1010329
     field public static final int showForAllUsers = 16844015; // 0x10104ef
-    field public static final int showMetadataInPreview = 16844083; // 0x1010533
+    field public static final int showMetadataInPreview = 16844079; // 0x101052f
     field public static final deprecated int showOnLockScreen = 16843721; // 0x10103c9
     field public static final int showSilent = 16843259; // 0x10101fb
     field public static final int showText = 16843949; // 0x10104ad
@@ -3708,6 +3705,7 @@
     method public void moveTaskToFront(int, int);
     method public void moveTaskToFront(int, int, android.os.Bundle);
     method public deprecated void restartPackage(java.lang.String);
+    method public static void setVrThread(int);
     method public void setWatchHeapLimit(long);
     field public static final java.lang.String ACTION_REPORT_HEAP_LIMIT = "android.app.action.REPORT_HEAP_LIMIT";
     field public static final int LOCK_TASK_MODE_LOCKED = 1; // 0x1
@@ -5050,12 +5048,14 @@
     method public android.app.Notification.Action.Builder extend(android.app.Notification.Action.Builder);
     method public java.lang.CharSequence getCancelLabel();
     method public java.lang.CharSequence getConfirmLabel();
+    method public boolean getHintDisplayActionInline();
     method public boolean getHintLaunchesActivity();
     method public java.lang.CharSequence getInProgressLabel();
     method public boolean isAvailableOffline();
     method public android.app.Notification.Action.WearableExtender setAvailableOffline(boolean);
     method public android.app.Notification.Action.WearableExtender setCancelLabel(java.lang.CharSequence);
     method public android.app.Notification.Action.WearableExtender setConfirmLabel(java.lang.CharSequence);
+    method public android.app.Notification.Action.WearableExtender setHintDisplayActionInline(boolean);
     method public android.app.Notification.Action.WearableExtender setHintLaunchesActivity(boolean);
     method public android.app.Notification.Action.WearableExtender setInProgressLabel(java.lang.CharSequence);
   }
@@ -9532,8 +9532,6 @@
     method public java.util.List<android.content.pm.LauncherActivityInfo> getActivityList(java.lang.String, android.os.UserHandle);
     method public android.graphics.drawable.Drawable getShortcutBadgedIconDrawable(android.content.pm.ShortcutInfo, int);
     method public android.graphics.drawable.Drawable getShortcutIconDrawable(android.content.pm.ShortcutInfo, int);
-    method public android.os.ParcelFileDescriptor getShortcutIconFd(android.content.pm.ShortcutInfo);
-    method public android.os.ParcelFileDescriptor getShortcutIconFd(java.lang.String, java.lang.String, android.os.UserHandle);
     method public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle);
     method public boolean hasShortcutHostPermission();
     method public boolean isActivityEnabled(android.content.ComponentName, android.os.UserHandle);
@@ -9544,8 +9542,8 @@
     method public android.content.pm.LauncherActivityInfo resolveActivity(android.content.Intent, android.os.UserHandle);
     method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle);
     method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle);
-    method public boolean startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle);
-    method public boolean startShortcut(android.content.pm.ShortcutInfo, android.graphics.Rect, android.os.Bundle);
+    method public void startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle);
+    method public void startShortcut(android.content.pm.ShortcutInfo, android.graphics.Rect, android.os.Bundle);
     method public void unregisterCallback(android.content.pm.LauncherApps.Callback);
   }
 
@@ -9568,10 +9566,10 @@
     method public android.content.pm.LauncherApps.ShortcutQuery setPackage(java.lang.String);
     method public android.content.pm.LauncherApps.ShortcutQuery setQueryFlags(int);
     method public android.content.pm.LauncherApps.ShortcutQuery setShortcutIds(java.util.List<java.lang.String>);
-    field public static final int FLAG_GET_DYNAMIC = 1; // 0x1
     field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4
-    field public static final int FLAG_GET_MANIFEST = 8; // 0x8
-    field public static final int FLAG_GET_PINNED = 2; // 0x2
+    field public static final int FLAG_MATCH_DYNAMIC = 1; // 0x1
+    field public static final int FLAG_MATCH_MANIFEST = 8; // 0x8
+    field public static final int FLAG_MATCH_PINNED = 2; // 0x2
   }
 
   public class PackageInfo implements android.os.Parcelable {
@@ -10080,7 +10078,6 @@
     method public java.lang.CharSequence getDisabledMessage();
     method public int getDisabledMessageResourceId();
     method public android.os.PersistableBundle getExtras();
-    method public int getIconResourceId();
     method public java.lang.String getId();
     method public android.content.Intent getIntent();
     method public long getLastChangedTimestamp();
@@ -10091,14 +10088,11 @@
     method public java.lang.CharSequence getShortLabel();
     method public int getShortLabelResourceId();
     method public android.os.UserHandle getUserHandle();
-    method public boolean hasIconFile();
-    method public boolean hasIconResource();
     method public boolean hasKeyFieldsOnly();
-    method public boolean hasStringResourcesResolved();
+    method public boolean isDeclaredInManifest();
     method public boolean isDynamic();
     method public boolean isEnabled();
     method public boolean isImmutable();
-    method public boolean isManifestShortcut();
     method public boolean isPinned();
     method public void writeToParcel(android.os.Parcel, int);
     field public static final android.os.Parcelable.Creator<android.content.pm.ShortcutInfo> CREATOR;
@@ -10106,32 +10100,32 @@
   }
 
   public static class ShortcutInfo.Builder {
-    ctor public ShortcutInfo.Builder(android.content.Context);
+    ctor public deprecated ShortcutInfo.Builder(android.content.Context);
+    ctor public ShortcutInfo.Builder(android.content.Context, java.lang.String);
     method public android.content.pm.ShortcutInfo build();
     method public android.content.pm.ShortcutInfo.Builder setActivity(android.content.ComponentName);
     method public android.content.pm.ShortcutInfo.Builder setCategories(java.util.Set<java.lang.String>);
-    method public android.content.pm.ShortcutInfo.Builder setDisabledMessage(java.lang.String);
+    method public android.content.pm.ShortcutInfo.Builder setDisabledMessage(java.lang.CharSequence);
     method public android.content.pm.ShortcutInfo.Builder setExtras(android.os.PersistableBundle);
     method public android.content.pm.ShortcutInfo.Builder setIcon(android.graphics.drawable.Icon);
-    method public android.content.pm.ShortcutInfo.Builder setId(java.lang.String);
+    method public deprecated android.content.pm.ShortcutInfo.Builder setId(java.lang.String);
     method public android.content.pm.ShortcutInfo.Builder setIntent(android.content.Intent);
-    method public android.content.pm.ShortcutInfo.Builder setLongLabel(java.lang.String);
+    method public android.content.pm.ShortcutInfo.Builder setLongLabel(java.lang.CharSequence);
     method public android.content.pm.ShortcutInfo.Builder setRank(int);
-    method public android.content.pm.ShortcutInfo.Builder setShortLabel(java.lang.String);
+    method public android.content.pm.ShortcutInfo.Builder setShortLabel(java.lang.CharSequence);
   }
 
   public class ShortcutManager {
     ctor public ShortcutManager(android.content.Context);
     method public boolean addDynamicShortcuts(java.util.List<android.content.pm.ShortcutInfo>);
     method public void disableShortcuts(java.util.List<java.lang.String>);
-    method public void disableShortcuts(java.util.List<java.lang.String>, int);
-    method public void disableShortcuts(java.util.List<java.lang.String>, java.lang.String);
+    method public void disableShortcuts(java.util.List<java.lang.String>, java.lang.CharSequence);
     method public void enableShortcuts(java.util.List<java.lang.String>);
     method public java.util.List<android.content.pm.ShortcutInfo> getDynamicShortcuts();
     method public int getIconMaxHeight();
     method public int getIconMaxWidth();
     method public java.util.List<android.content.pm.ShortcutInfo> getManifestShortcuts();
-    method public int getMaxShortcutCountForActivity();
+    method public int getMaxShortcutCountPerActivity();
     method public java.util.List<android.content.pm.ShortcutInfo> getPinnedShortcuts();
     method public long getRateLimitResetTime();
     method public int getRemainingCallCount();
@@ -28447,6 +28441,7 @@
     field public static final int LOLLIPOP_MR1 = 22; // 0x16
     field public static final int M = 23; // 0x17
     field public static final int N = 24; // 0x18
+    field public static final int N_MR1 = 25; // 0x19
   }
 
   public final class Bundle extends android.os.BaseBundle implements java.lang.Cloneable android.os.Parcelable {
@@ -29439,6 +29434,7 @@
     method public android.os.Bundle getUserRestrictions();
     method public android.os.Bundle getUserRestrictions(android.os.UserHandle);
     method public boolean hasUserRestriction(java.lang.String);
+    method public boolean isDemoUser();
     method public boolean isQuietModeEnabled(android.os.UserHandle);
     method public boolean isSystemUser();
     method public boolean isUserAGoat();
@@ -29678,6 +29674,7 @@
     method public boolean isObbMounted(java.lang.String);
     method public boolean mountObb(java.lang.String, java.lang.String, android.os.storage.OnObbStateChangeListener);
     method public boolean unmountObb(java.lang.String, boolean, android.os.storage.OnObbStateChangeListener);
+    field public static final java.lang.String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE";
   }
 
   public final class StorageVolume implements android.os.Parcelable {
@@ -32466,7 +32463,6 @@
     field public static final java.lang.String ACTION_CAST_SETTINGS = "android.settings.CAST_SETTINGS";
     field public static final java.lang.String ACTION_DATA_ROAMING_SETTINGS = "android.settings.DATA_ROAMING_SETTINGS";
     field public static final java.lang.String ACTION_DATE_SETTINGS = "android.settings.DATE_SETTINGS";
-    field public static final java.lang.String ACTION_DELETION_HELPER_SETTINGS = "android.settings.DELETION_HELPER_SETTINGS";
     field public static final java.lang.String ACTION_DEVICE_INFO_SETTINGS = "android.settings.DEVICE_INFO_SETTINGS";
     field public static final java.lang.String ACTION_DISPLAY_SETTINGS = "android.settings.DISPLAY_SETTINGS";
     field public static final java.lang.String ACTION_DREAM_SETTINGS = "android.settings.DREAM_SETTINGS";
@@ -32553,6 +32549,7 @@
     field public static final java.lang.String DATA_ROAMING = "data_roaming";
     field public static final java.lang.String DEBUG_APP = "debug_app";
     field public static final java.lang.String DEVELOPMENT_SETTINGS_ENABLED = "development_settings_enabled";
+    field public static final java.lang.String DEVICE_NAME = "device_name";
     field public static final java.lang.String DEVICE_PROVISIONED = "device_provisioned";
     field public static final java.lang.String HTTP_PROXY = "http_proxy";
     field public static final deprecated java.lang.String INSTALL_NON_MARKET_APPS = "install_non_market_apps";
@@ -33141,6 +33138,7 @@
     field public static final java.lang.String ACTION_NEW_VOICEMAIL = "android.intent.action.NEW_VOICEMAIL";
     field public static final java.lang.String ACTION_SYNC_VOICEMAIL = "android.provider.action.SYNC_VOICEMAIL";
     field public static final java.lang.String AUTHORITY = "com.android.voicemail";
+    field public static final java.lang.String EXTRA_PHONE_ACCOUNT_HANDLE = "android.provider.extra.PHONE_ACCOUNT_HANDLE";
     field public static final java.lang.String EXTRA_SELF_CHANGE = "com.android.voicemail.extra.SELF_CHANGE";
     field public static final java.lang.String PARAM_KEY_SOURCE_PACKAGE = "source_package";
   }
@@ -33149,6 +33147,9 @@
     method public static android.net.Uri buildSourceUri(java.lang.String);
     field public static final java.lang.String CONFIGURATION_STATE = "configuration_state";
     field public static final int CONFIGURATION_STATE_CAN_BE_CONFIGURED = 2; // 0x2
+    field public static final int CONFIGURATION_STATE_CONFIGURING = 3; // 0x3
+    field public static final int CONFIGURATION_STATE_DISABLED = 5; // 0x5
+    field public static final int CONFIGURATION_STATE_FAILED = 4; // 0x4
     field public static final int CONFIGURATION_STATE_NOT_CONFIGURED = 1; // 0x1
     field public static final int CONFIGURATION_STATE_OK = 0; // 0x0
     field public static final android.net.Uri CONTENT_URI;
@@ -36296,7 +36297,7 @@
     method public final void setConnectionTime(long);
     method public final void setDialing();
     method public final void setDisconnected(android.telecom.DisconnectCause);
-    method public final deprecated void setExtras(android.os.Bundle);
+    method public final void setExtras(android.os.Bundle);
     method public final void setOnHold();
     method public final void setStatusHints(android.telecom.StatusHints);
     method public final void setVideoProvider(android.telecom.Connection, android.telecom.Connection.VideoProvider);
@@ -36361,12 +36362,13 @@
     method public final void setConnectionProperties(int);
     method public final void setDialing();
     method public final void setDisconnected(android.telecom.DisconnectCause);
-    method public final deprecated void setExtras(android.os.Bundle);
+    method public final void setExtras(android.os.Bundle);
     method public final void setInitialized();
     method public final void setInitializing();
     method public final void setNextPostDialChar(char);
     method public final void setOnHold();
     method public final void setPostDialWait(java.lang.String);
+    method public final void setPulling();
     method public final void setRingbackRequested(boolean);
     method public final void setRinging();
     method public final void setStatusHints(android.telecom.StatusHints);
@@ -36393,7 +36395,9 @@
     field public static final int CAPABILITY_SUPPORTS_VT_REMOTE_TX = 2048; // 0x800
     field public static final int CAPABILITY_SUPPORT_HOLD = 2; // 0x2
     field public static final int CAPABILITY_SWAP_CONFERENCE = 8; // 0x8
+    field public static final java.lang.String EVENT_CALL_MERGE_FAILED = "android.telecom.event.CALL_MERGE_FAILED";
     field public static final java.lang.String EVENT_CALL_PULL_FAILED = "android.telecom.event.CALL_PULL_FAILED";
+    field public static final java.lang.String EXTRA_ANSWERING_DROPS_FG_CALL = "android.telecom.extra.ANSWERING_DROPS_FG_CALL";
     field public static final java.lang.String EXTRA_CALL_SUBJECT = "android.telecom.extra.CALL_SUBJECT";
     field public static final java.lang.String EXTRA_CHILD_ADDRESS = "android.telecom.extra.CHILD_ADDRESS";
     field public static final java.lang.String EXTRA_LAST_FORWARDED_NUMBER = "android.telecom.extra.LAST_FORWARDED_NUMBER";
@@ -36845,9 +36849,11 @@
     field public static final java.lang.String ACTION_CARRIER_CONFIG_CHANGED = "android.telephony.action.CARRIER_CONFIG_CHANGED";
     field public static final java.lang.String KEY_ADDITIONAL_CALL_SETTING_BOOL = "additional_call_setting_bool";
     field public static final java.lang.String KEY_ALLOW_ADDING_APNS_BOOL = "allow_adding_apns_bool";
+    field public static final java.lang.String KEY_ALLOW_ADD_CALL_DURING_VIDEO_CALL_BOOL = "allow_add_call_during_video_call";
     field public static final java.lang.String KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL = "allow_emergency_numbers_in_call_log_bool";
     field public static final java.lang.String KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL = "allow_emergency_video_calls_bool";
     field public static final java.lang.String KEY_ALLOW_LOCAL_DTMF_TONES_BOOL = "allow_local_dtmf_tones_bool";
+    field public static final java.lang.String KEY_ALLOW_MERGE_WIFI_CALLS_WHEN_VOWIFI_OFF_BOOL = "allow_merge_wifi_calls_when_vowifi_off_bool";
     field public static final java.lang.String KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL = "allow_non_emergency_calls_in_ecm_bool";
     field public static final java.lang.String KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL = "always_show_emergency_alert_onoff_bool";
     field public static final java.lang.String KEY_APN_EXPAND_BOOL = "apn_expand_bool";
@@ -36879,6 +36885,7 @@
     field public static final java.lang.String KEY_CSP_ENABLED_BOOL = "csp_enabled_bool";
     field public static final java.lang.String KEY_DEFAULT_SIM_CALL_MANAGER_STRING = "default_sim_call_manager_string";
     field public static final java.lang.String KEY_DISABLE_CDMA_ACTIVATION_CODE_BOOL = "disable_cdma_activation_code_bool";
+    field public static final java.lang.String KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL = "drop_video_call_when_answering_audio_call_bool";
     field public static final java.lang.String KEY_DTMF_TYPE_ENABLED_BOOL = "dtmf_type_enabled_bool";
     field public static final java.lang.String KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT = "duration_blocking_disabled_after_emergency_int";
     field public static final java.lang.String KEY_EDITABLE_ENHANCED_4G_LTE_BOOL = "editable_enhanced_4g_lte_bool";
@@ -36936,6 +36943,7 @@
     field public static final java.lang.String KEY_SUPPORT_CONFERENCE_CALL_BOOL = "support_conference_call_bool";
     field public static final java.lang.String KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL = "support_pause_ims_video_calls_bool";
     field public static final java.lang.String KEY_SUPPORT_SWAP_AFTER_MERGE_BOOL = "support_swap_after_merge_bool";
+    field public static final java.lang.String KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL = "treat_downgraded_video_calls_as_video_calls_bool";
     field public static final java.lang.String KEY_USE_HFA_FOR_PROVISIONING_BOOL = "use_hfa_for_provisioning_bool";
     field public static final java.lang.String KEY_USE_OTASP_FOR_PROVISIONING_BOOL = "use_otasp_for_provisioning_bool";
     field public static final java.lang.String KEY_USE_RCS_PRESENCE_BOOL = "use_rcs_presence_bool";
@@ -37431,26 +37439,6 @@
     method public void onSubscriptionsChanged();
   }
 
-  public final class TelephonyHistogram implements android.os.Parcelable {
-    ctor public TelephonyHistogram(int, int, int);
-    ctor public TelephonyHistogram(android.telephony.TelephonyHistogram);
-    ctor public TelephonyHistogram(android.os.Parcel);
-    method public void addTimeTaken(int);
-    method public int describeContents();
-    method public int getAverageTime();
-    method public int getBucketCount();
-    method public int[] getBucketCounters();
-    method public int[] getBucketEndPoints();
-    method public int getCategory();
-    method public int getId();
-    method public int getMaxTime();
-    method public int getMinTime();
-    method public int getSampleCount();
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<android.telephony.TelephonyHistogram> CREATOR;
-    field public static final int TELEPHONY_CATEGORY_RIL = 1; // 0x1
-  }
-
   public class TelephonyManager {
     method public boolean canChangeDtmfToneLength();
     method public android.telephony.TelephonyManager createForSubscriptionId(int);
@@ -37481,7 +37469,6 @@
     method public java.lang.String getSimSerialNumber();
     method public int getSimState();
     method public java.lang.String getSubscriberId();
-    method public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
     method public java.lang.String getVoiceMailAlphaTag();
     method public java.lang.String getVoiceMailNumber();
     method public int getVoiceNetworkType();
@@ -37541,12 +37528,15 @@
     field public static final int NETWORK_TYPE_EVDO_A = 6; // 0x6
     field public static final int NETWORK_TYPE_EVDO_B = 12; // 0xc
     field public static final int NETWORK_TYPE_GPRS = 1; // 0x1
+    field public static final int NETWORK_TYPE_GSM = 16; // 0x10
     field public static final int NETWORK_TYPE_HSDPA = 8; // 0x8
     field public static final int NETWORK_TYPE_HSPA = 10; // 0xa
     field public static final int NETWORK_TYPE_HSPAP = 15; // 0xf
     field public static final int NETWORK_TYPE_HSUPA = 9; // 0x9
     field public static final int NETWORK_TYPE_IDEN = 11; // 0xb
+    field public static final int NETWORK_TYPE_IWLAN = 18; // 0x12
     field public static final int NETWORK_TYPE_LTE = 13; // 0xd
+    field public static final int NETWORK_TYPE_TD_SCDMA = 17; // 0x11
     field public static final int NETWORK_TYPE_UMTS = 3; // 0x3
     field public static final int NETWORK_TYPE_UNKNOWN = 0; // 0x0
     field public static final int PHONE_TYPE_CDMA = 2; // 0x2
@@ -40349,7 +40339,10 @@
     method public boolean equals(android.util.DisplayMetrics);
     method public void setTo(android.util.DisplayMetrics);
     method public void setToDefaults();
+    field public static final int DENSITY_260 = 260; // 0x104
     field public static final int DENSITY_280 = 280; // 0x118
+    field public static final int DENSITY_300 = 300; // 0x12c
+    field public static final int DENSITY_340 = 340; // 0x154
     field public static final int DENSITY_360 = 360; // 0x168
     field public static final int DENSITY_400 = 400; // 0x190
     field public static final int DENSITY_420 = 420; // 0x1a4
@@ -41074,8 +41067,11 @@
     field public static final android.os.Parcelable.Creator<android.view.Display.Mode> CREATOR;
   }
 
-  public final class DragAndDropPermissions {
+  public final class DragAndDropPermissions implements android.os.Parcelable {
+    method public int describeContents();
     method public void release();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.view.DragAndDropPermissions> CREATOR;
   }
 
   public class DragEvent implements android.os.Parcelable {
@@ -41558,10 +41554,6 @@
     field public static final int KEYCODE_FOCUS = 80; // 0x50
     field public static final int KEYCODE_FORWARD = 125; // 0x7d
     field public static final int KEYCODE_FORWARD_DEL = 112; // 0x70
-    field public static final int KEYCODE_FP_NAV_DOWN = 281; // 0x119
-    field public static final int KEYCODE_FP_NAV_LEFT = 282; // 0x11a
-    field public static final int KEYCODE_FP_NAV_RIGHT = 283; // 0x11b
-    field public static final int KEYCODE_FP_NAV_UP = 280; // 0x118
     field public static final int KEYCODE_FUNCTION = 119; // 0x77
     field public static final int KEYCODE_G = 35; // 0x23
     field public static final int KEYCODE_GRAVE = 68; // 0x44
@@ -41680,6 +41672,10 @@
     field public static final int KEYCODE_SWITCH_CHARSET = 95; // 0x5f
     field public static final int KEYCODE_SYM = 63; // 0x3f
     field public static final int KEYCODE_SYSRQ = 120; // 0x78
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_DOWN = 281; // 0x119
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_LEFT = 282; // 0x11a
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_RIGHT = 283; // 0x11b
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_UP = 280; // 0x118
     field public static final int KEYCODE_T = 48; // 0x30
     field public static final int KEYCODE_TAB = 61; // 0x3d
     field public static final int KEYCODE_TV = 170; // 0xaa
@@ -44770,6 +44766,7 @@
     method public boolean clearMetaKeyStates(int);
     method public void closeConnection();
     method public boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+    method public boolean commitContent(android.view.inputmethod.InputContentInfo, int, android.os.Bundle);
     method public boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
     method public boolean commitText(java.lang.CharSequence, int);
     method public boolean deleteSurroundingText(int, int);
@@ -44879,6 +44876,7 @@
     field public static final int IME_NULL = 0; // 0x0
     field public int actionId;
     field public java.lang.CharSequence actionLabel;
+    field public java.lang.String[] contentMimeTypes;
     field public android.os.Bundle extras;
     field public int fieldId;
     field public java.lang.String fieldName;
@@ -44938,6 +44936,7 @@
     method public abstract boolean clearMetaKeyStates(int);
     method public abstract void closeConnection();
     method public abstract boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+    method public abstract boolean commitContent(android.view.inputmethod.InputContentInfo, int, android.os.Bundle);
     method public abstract boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
     method public abstract boolean commitText(java.lang.CharSequence, int);
     method public abstract boolean deleteSurroundingText(int, int);
@@ -44963,6 +44962,7 @@
     field public static final int CURSOR_UPDATE_MONITOR = 2; // 0x2
     field public static final int GET_EXTRACTED_TEXT_MONITOR = 1; // 0x1
     field public static final int GET_TEXT_WITH_STYLES = 1; // 0x1
+    field public static final int INPUT_CONTENT_GRANT_READ_URI_PERMISSION = 1; // 0x1
   }
 
   public class InputConnectionWrapper implements android.view.inputmethod.InputConnection {
@@ -44971,6 +44971,7 @@
     method public boolean clearMetaKeyStates(int);
     method public void closeConnection();
     method public boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+    method public boolean commitContent(android.view.inputmethod.InputContentInfo, int, android.os.Bundle);
     method public boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
     method public boolean commitText(java.lang.CharSequence, int);
     method public boolean deleteSurroundingText(int, int);
@@ -44995,6 +44996,19 @@
     method public void setTarget(android.view.inputmethod.InputConnection);
   }
 
+  public final class InputContentInfo implements android.os.Parcelable {
+    ctor public InputContentInfo(android.net.Uri, android.content.ClipDescription);
+    ctor public InputContentInfo(android.net.Uri, android.content.ClipDescription, android.net.Uri);
+    method public int describeContents();
+    method public android.net.Uri getContentUri();
+    method public android.content.ClipDescription getDescription();
+    method public android.net.Uri getLinkUri();
+    method public void releasePermission();
+    method public void requestPermission();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.view.inputmethod.InputContentInfo> CREATOR;
+  }
+
   public abstract interface InputMethod {
     method public abstract void attachToken(android.os.IBinder);
     method public abstract void bindInput(android.view.inputmethod.InputBinding);
diff --git a/cmds/am/src/com/android/commands/am/Am.java b/cmds/am/src/com/android/commands/am/Am.java
index 8ccd5d2e..d6c0058 100644
--- a/cmds/am/src/com/android/commands/am/Am.java
+++ b/cmds/am/src/com/android/commands/am/Am.java
@@ -723,10 +723,10 @@
                 System.out.println("Complete");
             }
             mRepeat--;
-            if (mRepeat > 1) {
+            if (mRepeat > 0) {
                 mAm.unhandledBack();
             }
-        } while (mRepeat > 1);
+        } while (mRepeat > 0);
     }
 
     private void runForceStop() throws Exception {
diff --git a/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java b/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java
index 69b5a17..5bf8076 100644
--- a/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java
+++ b/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java
@@ -122,6 +122,11 @@
             return;
         }
 
+        if ("whitelist".equals(op)) {
+            doPrintWhitelist();
+            return;
+        }
+
         System.err.println("Unknown command");
         showUsage();
     }
@@ -604,6 +609,20 @@
         }
     }
 
+    private void doPrintWhitelist() {
+        try {
+            final String[] whitelist = mBmgr.getTransportWhitelist();
+            if (whitelist != null) {
+                for (String transport : whitelist) {
+                    System.out.println(transport);
+                }
+            }
+        } catch (RemoteException e) {
+            System.err.println(e.toString());
+            System.err.println(BMGR_NOT_RUNNING_ERR);
+        }
+    }
+
     private String nextArg() {
         if (mNextArg >= mArgs.length) {
             return null;
diff --git a/cmds/bootanimation/BootAnimation.cpp b/cmds/bootanimation/BootAnimation.cpp
index e8fcd3b..e849f4b 100644
--- a/cmds/bootanimation/BootAnimation.cpp
+++ b/cmds/bootanimation/BootAnimation.cpp
@@ -596,15 +596,15 @@
     // read all the data structures
     const size_t pcount = animation.parts.size();
     void *cookie = NULL;
-    ZipFileRO* mZip = animation.zip;
-    if (!mZip->startIteration(&cookie)) {
+    ZipFileRO* zip = animation.zip;
+    if (!zip->startIteration(&cookie)) {
         return false;
     }
 
     ZipEntryRO entry;
     char name[ANIM_ENTRY_NAME_MAX];
-    while ((entry = mZip->nextEntry(cookie)) != NULL) {
-        const int foundEntryName = mZip->getEntryFileName(entry, name, ANIM_ENTRY_NAME_MAX);
+    while ((entry = zip->nextEntry(cookie)) != NULL) {
+        const int foundEntryName = zip->getEntryFileName(entry, name, ANIM_ENTRY_NAME_MAX);
         if (foundEntryName > ANIM_ENTRY_NAME_MAX || foundEntryName == -1) {
             ALOGE("Error fetching entry file name");
             continue;
@@ -614,22 +614,29 @@
         const String8 path(entryName.getPathDir());
         const String8 leaf(entryName.getPathLeaf());
         if (leaf.size() > 0) {
-            for (size_t j=0 ; j<pcount ; j++) {
+            for (size_t j = 0; j < pcount; j++) {
                 if (path == animation.parts[j].path) {
                     uint16_t method;
                     // supports only stored png files
-                    if (mZip->getEntryInfo(entry, &method, NULL, NULL, NULL, NULL, NULL)) {
+                    if (zip->getEntryInfo(entry, &method, NULL, NULL, NULL, NULL, NULL)) {
                         if (method == ZipFileRO::kCompressStored) {
-                            FileMap* map = mZip->createEntryFileMap(entry);
+                            FileMap* map = zip->createEntryFileMap(entry);
                             if (map) {
                                 Animation::Part& part(animation.parts.editItemAt(j));
                                 if (leaf == "audio.wav") {
                                     // a part may have at most one audio file
                                     part.audioFile = map;
+                                } else if (leaf == "trim.txt") {
+                                    part.trimData.setTo((char const*)map->getDataPtr(),
+                                                        map->getDataLength());
                                 } else {
                                     Animation::Frame frame;
                                     frame.name = leaf;
                                     frame.map = map;
+                                    frame.trimWidth = animation.width;
+                                    frame.trimHeight = animation.height;
+                                    frame.trimX = 0;
+                                    frame.trimY = 0;
                                     part.frames.add(frame);
                                 }
                             }
@@ -640,7 +647,33 @@
         }
     }
 
-    mZip->endIteration(cookie);
+    // If there is trimData present, override the positioning defaults.
+    for (Animation::Part& part : animation.parts) {
+        const char* trimDataStr = part.trimData.string();
+        for (size_t frameIdx = 0; frameIdx < part.frames.size(); frameIdx++) {
+            const char* endl = strstr(trimDataStr, "\n");
+            // No more trimData for this part.
+            if (endl == NULL) {
+                break;
+            }
+            String8 line(trimDataStr, endl - trimDataStr);
+            const char* lineStr = line.string();
+            trimDataStr = ++endl;
+            int width = 0, height = 0, x = 0, y = 0;
+            if (sscanf(lineStr, "%dx%d+%d+%d", &width, &height, &x, &y) == 4) {
+                Animation::Frame& frame(part.frames.editItemAt(frameIdx));
+                frame.trimWidth = width;
+                frame.trimHeight = height;
+                frame.trimX = x;
+                frame.trimY = y;
+            } else {
+                ALOGE("Error parsing trim.txt, line: %s", lineStr);
+                break;
+            }
+        }
+    }
+
+    zip->endIteration(cookie);
 
     return true;
 }
@@ -707,12 +740,9 @@
 bool BootAnimation::playAnimation(const Animation& animation)
 {
     const size_t pcount = animation.parts.size();
-    const int xc = (mWidth - animation.width) / 2;
-    const int yc = ((mHeight - animation.height) / 2);
     nsecs_t frameDuration = s2ns(1) / animation.fps;
-
-    Region clearReg(Rect(mWidth, mHeight));
-    clearReg.subtractSelf(Rect(xc, yc, xc+animation.width, yc+animation.height));
+    const int animationX = (mWidth - animation.width) / 2;
+    const int animationY = (mHeight - animation.height) / 2;
 
     for (size_t i=0 ; i<pcount ; i++) {
         const Animation::Part& part(animation.parts[i]);
@@ -759,22 +789,25 @@
                     initTexture(frame);
                 }
 
+                const int xc = animationX + frame.trimX;
+                const int yc = animationY + frame.trimY;
+                Region clearReg(Rect(mWidth, mHeight));
+                clearReg.subtractSelf(Rect(xc, yc, xc+frame.trimWidth, yc+frame.trimHeight));
                 if (!clearReg.isEmpty()) {
                     Region::const_iterator head(clearReg.begin());
                     Region::const_iterator tail(clearReg.end());
                     glEnable(GL_SCISSOR_TEST);
                     while (head != tail) {
                         const Rect& r2(*head++);
-                        glScissor(r2.left, mHeight - r2.bottom,
-                                r2.width(), r2.height());
+                        glScissor(r2.left, mHeight - r2.bottom, r2.width(), r2.height());
                         glClear(GL_COLOR_BUFFER_BIT);
                     }
                     glDisable(GL_SCISSOR_TEST);
                 }
-                // specify the y center as ceiling((mHeight - animation.height) / 2)
-                // which is equivalent to mHeight - (yc + animation.height)
-                glDrawTexiOES(xc, mHeight - (yc + animation.height),
-                              0, animation.width, animation.height);
+                // specify the y center as ceiling((mHeight - frame.trimHeight) / 2)
+                // which is equivalent to mHeight - (yc + frame.trimHeight)
+                glDrawTexiOES(xc, mHeight - (yc + frame.trimHeight),
+                              0, frame.trimWidth, frame.trimHeight);
                 if (mClockEnabled && mTimeIsAccurate && part.clockPosY >= 0) {
                     drawTime(mClock, part.clockPosY);
                 }
diff --git a/cmds/bootanimation/BootAnimation.h b/cmds/bootanimation/BootAnimation.h
index 1c3d53a..a093c9b 100644
--- a/cmds/bootanimation/BootAnimation.h
+++ b/cmds/bootanimation/BootAnimation.h
@@ -79,6 +79,10 @@
         struct Frame {
             String8 name;
             FileMap* map;
+            int trimX;
+            int trimY;
+            int trimWidth;
+            int trimHeight;
             mutable GLuint tid;
             bool operator < (const Frame& rhs) const {
                 return name < rhs.name;
@@ -90,6 +94,7 @@
             int clockPosY;  // The y position of the clock, in pixels, from the bottom of the
                             // display (the clock is centred horizontally). -1 to disable the clock
             String8 path;
+            String8 trimData;
             SortedVector<Frame> frames;
             bool playUntilComplete;
             float backgroundColor[3];
diff --git a/cmds/bootanimation/FORMAT.md b/cmds/bootanimation/FORMAT.md
new file mode 100644
index 0000000..e4c52f7
--- /dev/null
+++ b/cmds/bootanimation/FORMAT.md
@@ -0,0 +1,127 @@
+# bootanimation format
+
+## zipfile paths
+
+The system selects a boot animation zipfile from the following locations, in order:
+
+    /system/media/bootanimation-encrypted.zip (if getprop("vold.decrypt") = '1')
+    /system/media/bootanimation.zip
+    /oem/media/bootanimation.zip
+
+## zipfile layout
+
+The `bootanimation.zip` archive file includes:
+
+    desc.txt - a text file
+    part0  \
+    part1   \  directories full of PNG frames
+    ...     /
+    partN  /
+
+## desc.txt format
+
+The first line defines the general parameters of the animation:
+
+    WIDTH HEIGHT FPS
+
+  * **WIDTH:** animation width (pixels)
+  * **HEIGHT:** animation height (pixels)
+  * **FPS:** frames per second, e.g. 60
+
+It is followed by a number of rows of the form:
+
+    TYPE COUNT PAUSE PATH [#RGBHEX CLOCK]
+
+  * **TYPE:** a single char indicating what type of animation segment this is:
+      + `p` -- this part will play unless interrupted by the end of the boot
+      + `c` -- this part will play to completion, no matter what
+  * **COUNT:** how many times to play the animation, or 0 to loop forever until boot is complete
+  * **PAUSE:** number of FRAMES to delay after this part ends
+  * **PATH:** directory in which to find the frames for this part (e.g. `part0`)
+  * **RGBHEX:** _(OPTIONAL)_ a background color, specified as `#RRGGBB`
+  * **CLOCK:** _(OPTIONAL)_ the y-coordinate at which to draw the current time (for watches)
+
+There is also a special TYPE, `$SYSTEM`, that loads `/system/media/bootanimation.zip`
+and plays that.
+
+## loading and playing frames
+
+Each part is scanned and loaded directly from the zip archive. Within a part directory, every file
+(except `trim.txt` and `audio.wav`; see next sections) is expected to be a PNG file that represents
+one frame in that part (at the specified resolution). For this reason it is important that frames be
+named sequentially (e.g. `part000.png`, `part001.png`, ...) and added to the zip archive in that
+order.
+
+## trim.txt
+
+To save on memory, textures may be trimmed by their background color.  trim.txt sequentially lists
+the trim output for each frame in its directory, so the frames may be properly positioned.
+Output should be of the form: `WxH+X+Y`. Example:
+
+    713x165+388+914
+    708x152+388+912
+    707x139+388+911
+    649x92+388+910
+
+If the file is not present, each frame is assumed to be the same size as the animation.
+
+## audio.wav
+
+Each part may optionally play a `wav` sample when it starts. To enable this for an animation,
+you must also include a `audio_conf.txt` file in the ZIP archive. Its format is as follows:
+
+    card=<ALSA card number>
+    device=<ALSA device number>
+    period_size=<period size>
+    period_count=<period count>
+
+This header is followed by zero or more mixer settings, each with the format:
+
+    mixer "<name>" = <value list>
+
+Here's an example `audio_conf.txt` from Shamu:
+
+    card=0
+    device=15
+    period_size=1024
+    period_count=4
+
+    mixer "QUAT_MI2S_RX Audio Mixer MultiMedia5" = 1
+    mixer "Playback Channel Map" = 0 220 157 195 0 0 0 0
+    mixer "QUAT_MI2S_RX Channels" = Two
+    mixer "BOOST_STUB Right Mixer right" = 1
+    mixer "BOOST_STUB Left Mixer left" = 1
+    mixer "Compress Playback 9 Volume" = 80 80
+
+You will probably need to get these mixer names and values out of `audio_platform_info.xml`
+and `mixer_paths.xml` for your device.
+
+## exiting
+
+The system will end the boot animation (first completing any incomplete or even entirely unplayed
+parts that are of type `c`) when the system is finished booting. (This is accomplished by setting
+the system property `service.bootanim.exit` to a nonzero string.)
+
+## protips
+
+### PNG compression
+
+Use `zopflipng` if you have it, otherwise `pngcrush` will do. e.g.:
+
+    for fn in *.png ; do
+        zopflipng -m ${fn}s ${fn}s.new && mv -f ${fn}s.new ${fn}
+        # or: pngcrush -q ....
+    done
+
+Some animations benefit from being reduced to 256 colors:
+
+    pngquant --force --ext .png *.png
+    # alternatively: mogrify -colors 256 anim-tmp/*/*.png
+
+### creating the ZIP archive
+
+    cd <path-to-pieces>
+    zip -0qry -i \*.txt \*.png \*.wav @ ../bootanimation.zip *.txt part*
+
+Note that the ZIP archive is not actually compressed! The PNG files are already as compressed
+as they can reasonably get, and there is unlikely to be any redundancy between files.
diff --git a/cmds/pm/src/com/android/commands/pm/Pm.java b/cmds/pm/src/com/android/commands/pm/Pm.java
index 4470eda..32a8088 100644
--- a/cmds/pm/src/com/android/commands/pm/Pm.java
+++ b/cmds/pm/src/com/android/commands/pm/Pm.java
@@ -254,6 +254,10 @@
             return runMovePrimaryStorage();
         }
 
+        if ("set-user-restriction".equals(op)) {
+            return runSetUserRestriction();
+        }
+
         try {
             if (args.length == 1) {
                 if (args[0].equalsIgnoreCase("-l")) {
@@ -918,6 +922,8 @@
                 flags |= UserInfo.FLAG_EPHEMERAL;
             } else if ("--guest".equals(opt)) {
                 flags |= UserInfo.FLAG_GUEST;
+            } else if ("--demo".equals(opt)) {
+                flags |= UserInfo.FLAG_DEMO;
             } else {
                 System.err.println("Error: unknown option " + opt);
                 return showUsage();
@@ -1054,6 +1060,38 @@
         }
     }
 
+    public int runSetUserRestriction() {
+        int userId = UserHandle.USER_SYSTEM;
+        String opt = nextOption();
+        if (opt != null && "--user".equals(opt)) {
+            String arg = nextArg();
+            if (arg == null || !isNumber(arg)) {
+                System.err.println("Error: valid userId not specified");
+                return 1;
+            }
+            userId = Integer.parseInt(arg);
+        }
+
+        String restriction = nextArg();
+        String arg = nextArg();
+        boolean value;
+        if ("1".equals(arg)) {
+            value = true;
+        } else if ("0".equals(arg)) {
+            value = false;
+        } else {
+            System.err.println("Error: valid value not specified");
+            return 1;
+        }
+        try {
+            mUm.setUserRestriction(restriction, value, userId);
+            return 0;
+        } catch (RemoteException e) {
+            System.err.println(e.toString());
+            return 1;
+        }
+    }
+
     static class ClearDataObserver extends IPackageDataObserver.Stub {
         boolean finished;
         boolean result;
diff --git a/core/java/android/animation/AnimatorSet.java b/core/java/android/animation/AnimatorSet.java
index 7841d29..053ba7d 100644
--- a/core/java/android/animation/AnimatorSet.java
+++ b/core/java/android/animation/AnimatorSet.java
@@ -1064,15 +1064,15 @@
     /**
      * @hide
      * TODO: For animatorSet defined in XML, we can use a flag to indicate what the play order
-     * if defined (i.e. sequential or together), then we can use the flag instead of calculate
-     * dynamically.
+     * if defined (i.e. sequential or together), then we can use the flag instead of calculating
+     * dynamically. Note that when AnimatorSet is empty this method returns true.
      * @return whether all the animators in the set are supposed to play together
      */
     public boolean shouldPlayTogether() {
         updateAnimatorsDuration();
         createDependencyGraph();
         // All the child nodes are set out to play right after the delay animation
-        return mRootNode.mChildNodes.size() == mNodes.size() - 1;
+        return mRootNode.mChildNodes == null || mRootNode.mChildNodes.size() == mNodes.size() - 1;
     }
 
     @Override
diff --git a/core/java/android/animation/PropertyValuesHolder.java b/core/java/android/animation/PropertyValuesHolder.java
index 224823e..ba16e67 100644
--- a/core/java/android/animation/PropertyValuesHolder.java
+++ b/core/java/android/animation/PropertyValuesHolder.java
@@ -1095,8 +1095,12 @@
         }
         // TODO: We need a better way to get data out of keyframes.
         if (mKeyframes instanceof PathKeyframes.FloatKeyframesBase
-                || mKeyframes instanceof PathKeyframes.IntKeyframesBase) {
-            // property values will animate based on external data source (e.g. Path)
+                || mKeyframes instanceof PathKeyframes.IntKeyframesBase
+                || (mKeyframes.getKeyframes() != null && mKeyframes.getKeyframes().size() > 2)) {
+            // When a pvh has more than 2 keyframes, that means there are intermediate values in
+            // addition to start/end values defined for animators. Another case where such
+            // intermediate values are defined is when animator has a path to animate along. In
+            // these cases, a data source is needed to capture these intermediate values.
             values.dataSource = new PropertyValues.DataSource() {
                 @Override
                 public Object getValueAtFraction(float fraction) {
@@ -1108,6 +1112,13 @@
         }
     }
 
+    /**
+     * @hide
+     */
+    public Class getValueType() {
+        return mValueType;
+    }
+
     @Override
     public String toString() {
         return mPropertyName + ": " + mKeyframes.toString();
@@ -1178,6 +1189,15 @@
         }
 
         @Override
+        public void setProperty(Property property) {
+            if (property instanceof IntProperty) {
+                mIntProperty = (IntProperty) property;
+            } else {
+                super.setProperty(property);
+            }
+        }
+
+        @Override
         public void setIntValues(int... values) {
             super.setIntValues(values);
             mIntKeyframes = (Keyframes.IntKeyframes) mKeyframes;
@@ -1316,6 +1336,15 @@
         }
 
         @Override
+        public void setProperty(Property property) {
+            if (property instanceof FloatProperty) {
+                mFloatProperty = (FloatProperty) property;
+            } else {
+                super.setProperty(property);
+            }
+        }
+
+        @Override
         public void setFloatValues(float... values) {
             super.setFloatValues(values);
             mFloatKeyframes = (Keyframes.FloatKeyframes) mKeyframes;
@@ -1516,7 +1545,7 @@
                     }
                     propertyMap.put(mPropertyName, mJniSetter);
                 }
-           }
+            }
         }
     }
 
diff --git a/core/java/android/animation/ValueAnimator.java b/core/java/android/animation/ValueAnimator.java
index 4edf249..0c7ee2c 100644
--- a/core/java/android/animation/ValueAnimator.java
+++ b/core/java/android/animation/ValueAnimator.java
@@ -602,7 +602,9 @@
         long currentTime = AnimationUtils.currentAnimationTimeMillis();
         mStartTime = currentTime - seekTime;
         mStartTimeCommitted = true; // do not allow start time to be compensated for jank
-        if (!mRunning) {
+        if (!isPulsingInternal()) {
+            // If the animation loop hasn't started, the startTime will be adjusted in the first
+            // frame based on seek fraction.
             mSeekFraction = fraction;
         }
         mOverallFraction = fraction;
@@ -980,6 +982,10 @@
         mStarted = true;
         mPaused = false;
         mRunning = false;
+        // Resets mLastFrameTime when start() is called, so that if the animation was running,
+        // calling start() would put the animation in the
+        // started-but-not-yet-reached-the-first-frame phase.
+        mLastFrameTime = 0;
         AnimationHandler animationHandler = AnimationHandler.getInstance();
         animationHandler.addAnimationFrameCallback(this, (long) (mStartDelay * sDurationScale));
 
@@ -1095,7 +1101,7 @@
      */
     @Override
     public void reverse() {
-        if (mRunning) {
+        if (isPulsingInternal()) {
             long currentTime = AnimationUtils.currentAnimationTimeMillis();
             long currentPlayTime = currentTime - mStartTime;
             long timeLeft = getScaledDuration() - currentPlayTime;
@@ -1103,6 +1109,7 @@
             mStartTimeCommitted = true; // do not allow start time to be compensated for jank
             mReversing = !mReversing;
         } else if (mStarted) {
+            mReversing = !mReversing;
             end();
         } else {
             start(true);
@@ -1177,6 +1184,15 @@
     }
 
     /**
+     * Internal only: This tracks whether the animation has gotten on the animation loop. Note
+     * this is different than {@link #isRunning()} in that the latter tracks the time after start()
+     * is called (or after start delay if any), which may be before the animation loop starts.
+     */
+    private boolean isPulsingInternal() {
+        return mLastFrameTime > 0;
+    }
+
+    /**
      * Returns the name of this animator for debugging purposes.
      */
     String getNameForTrace() {
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index a5fcec6..06a01fc 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -57,6 +57,7 @@
 import android.media.AudioManager;
 import android.media.session.MediaController;
 import android.net.Uri;
+import android.os.BadParcelableException;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
@@ -305,7 +306,7 @@
  *     </thead>
  *
  *     <tbody>
- *     <tr><th colspan="3" align="left" border="0">{@link android.app.Activity#onCreate onCreate()}</th>
+ *     <tr><td colspan="3" align="left" border="0">{@link android.app.Activity#onCreate onCreate()}</td>
  *         <td>Called when the activity is first created.
  *             This is where you should do all of your normal static set up:
  *             create views, bind data to lists, etc.  This method also
@@ -317,7 +318,7 @@
  *     </tr>
  *
  *     <tr><td rowspan="5" style="border-left: none; border-right: none;">&nbsp;&nbsp;&nbsp;&nbsp;</td>
- *         <th colspan="2" align="left" border="0">{@link android.app.Activity#onRestart onRestart()}</th>
+ *         <td colspan="2" align="left" border="0">{@link android.app.Activity#onRestart onRestart()}</td>
  *         <td>Called after your activity has been stopped, prior to it being
  *             started again.
  *             <p>Always followed by <code>onStart()</code></td>
@@ -325,7 +326,7 @@
  *         <td align="center"><code>onStart()</code></td>
  *     </tr>
  *
- *     <tr><th colspan="2" align="left" border="0">{@link android.app.Activity#onStart onStart()}</th>
+ *     <tr><td colspan="2" align="left" border="0">{@link android.app.Activity#onStart onStart()}</td>
  *         <td>Called when the activity is becoming visible to the user.
  *             <p>Followed by <code>onResume()</code> if the activity comes
  *             to the foreground, or <code>onStop()</code> if it becomes hidden.</td>
@@ -334,7 +335,7 @@
  *     </tr>
  *
  *     <tr><td rowspan="2" style="border-left: none;">&nbsp;&nbsp;&nbsp;&nbsp;</td>
- *         <th align="left" border="0">{@link android.app.Activity#onResume onResume()}</th>
+ *         <td align="left" border="0">{@link android.app.Activity#onResume onResume()}</td>
  *         <td>Called when the activity will start
  *             interacting with the user.  At this point your activity is at
  *             the top of the activity stack, with user input going to it.
@@ -343,7 +344,7 @@
  *         <td align="center"><code>onPause()</code></td>
  *     </tr>
  *
- *     <tr><th align="left" border="0">{@link android.app.Activity#onPause onPause()}</th>
+ *     <tr><td align="left" border="0">{@link android.app.Activity#onPause onPause()}</td>
  *         <td>Called when the system is about to start resuming a previous
  *             activity.  This is typically used to commit unsaved changes to
  *             persistent data, stop animations and other things that may be consuming
@@ -357,7 +358,7 @@
  *                 <code>onStop()</code></td>
  *     </tr>
  *
- *     <tr><th colspan="2" align="left" border="0">{@link android.app.Activity#onStop onStop()}</th>
+ *     <tr><td colspan="2" align="left" border="0">{@link android.app.Activity#onStop onStop()}</td>
  *         <td>Called when the activity is no longer visible to the user, because
  *             another activity has been resumed and is covering this one.  This
  *             may happen either because a new activity is being started, an existing
@@ -371,7 +372,7 @@
  *                 <code>onDestroy()</code></td>
  *     </tr>
  *
- *     <tr><th colspan="3" align="left" border="0">{@link android.app.Activity#onDestroy onDestroy()}</th>
+ *     <tr><td colspan="3" align="left" border="0">{@link android.app.Activity#onDestroy onDestroy()}</td>
  *         <td>The final call you receive before your
  *             activity is destroyed.  This can happen either because the
  *             activity is finishing (someone called {@link Activity#finish} on
@@ -4219,6 +4220,7 @@
     public void startActivityForResult(@RequiresPermission Intent intent, int requestCode,
             @Nullable Bundle options) {
         if (mParent == null) {
+            options = transferSpringboardActivityOptions(options);
             Instrumentation.ActivityResult ar =
                 mInstrumentation.execStartActivity(
                     this, mMainThread.getApplicationThread(), mToken, this,
@@ -4267,6 +4269,17 @@
         }
     }
 
+    private Bundle transferSpringboardActivityOptions(Bundle options) {
+        if (options == null && (mWindow != null && !mWindow.isActive())) {
+            final ActivityOptions activityOptions = getActivityOptions();
+            if (activityOptions != null &&
+                    activityOptions.getAnimationType() == ActivityOptions.ANIM_SCENE_TRANSITION) {
+                return activityOptions.toBundle();
+            }
+        }
+        return options;
+    }
+
     /**
      * @hide Implement to provide correct calling token.
      */
@@ -4282,6 +4295,7 @@
         if (mParent != null) {
             throw new RuntimeException("Can't be called from a child");
         }
+        options = transferSpringboardActivityOptions(options);
         Instrumentation.ActivityResult ar = mInstrumentation.execStartActivity(
                 this, mMainThread.getApplicationThread(), mToken, this, intent, requestCode,
                 options, user);
@@ -4317,6 +4331,7 @@
         if (mParent != null) {
             throw new RuntimeException("Can't be called from a child");
         }
+        options = transferSpringboardActivityOptions(options);
         Instrumentation.ActivityResult ar =
                 mInstrumentation.execStartActivity(
                         this, mMainThread.getApplicationThread(), mToken, this,
@@ -4349,6 +4364,7 @@
         if (mParent != null) {
             throw new RuntimeException("Can't be called from a child");
         }
+        options = transferSpringboardActivityOptions(options);
         Instrumentation.ActivityResult ar =
                 mInstrumentation.execStartActivityAsCaller(
                         this, mMainThread.getApplicationThread(), mToken, this,
@@ -4788,6 +4804,7 @@
      */
     public void startActivityFromChild(@NonNull Activity child, @RequiresPermission Intent intent,
             int requestCode, @Nullable Bundle options) {
+        options = transferSpringboardActivityOptions(options);
         Instrumentation.ActivityResult ar =
             mInstrumentation.execStartActivity(
                 this, mMainThread.getApplicationThread(), mToken, child,
@@ -4853,6 +4870,7 @@
         if (referrer != null) {
             intent.putExtra(Intent.EXTRA_REFERRER, referrer);
         }
+        options = transferSpringboardActivityOptions(options);
         Instrumentation.ActivityResult ar =
             mInstrumentation.execStartActivity(
                 this, mMainThread.getApplicationThread(), mToken, who,
@@ -5006,13 +5024,18 @@
     @Nullable
     public Uri getReferrer() {
         Intent intent = getIntent();
-        Uri referrer = intent.getParcelableExtra(Intent.EXTRA_REFERRER);
-        if (referrer != null) {
-            return referrer;
-        }
-        String referrerName = intent.getStringExtra(Intent.EXTRA_REFERRER_NAME);
-        if (referrerName != null) {
-            return Uri.parse(referrerName);
+        try {
+            Uri referrer = intent.getParcelableExtra(Intent.EXTRA_REFERRER);
+            if (referrer != null) {
+                return referrer;
+            }
+            String referrerName = intent.getStringExtra(Intent.EXTRA_REFERRER_NAME);
+            if (referrerName != null) {
+                return Uri.parse(referrerName);
+            }
+        } catch (BadParcelableException e) {
+            Log.w(TAG, "Cannot read referrer from intent;"
+                    + " intent extras contain unknown custom Parcelable objects");
         }
         if (mReferrer != null) {
             return new Uri.Builder().scheme("android-app").authority(mReferrer).build();
diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java
index 31fe390..23fea71 100644
--- a/core/java/android/app/ActivityManager.java
+++ b/core/java/android/app/ActivityManager.java
@@ -1507,7 +1507,7 @@
             throws SecurityException {
         try {
             return ActivityManagerNative.getDefault().getRecentTasks(maxNum,
-                    flags, UserHandle.myUserId());
+                    flags, UserHandle.myUserId()).getList();
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -1532,7 +1532,7 @@
             throws SecurityException {
         try {
             return ActivityManagerNative.getDefault().getRecentTasks(maxNum,
-                    flags, userId);
+                    flags, userId).getList();
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -3625,6 +3625,24 @@
     }
 
     /**
+     * Enable more aggressive scheduling for latency-sensitive low-runtime VR threads. Only one
+     * thread can be a VR thread in a process at a time, and that thread may be subject to
+     * restrictions on the amount of time it can run.
+     *
+     * To reset the VR thread for an application, a tid of 0 can be passed.
+     *
+     * @see android.os.Process#myTid()
+     * @param tid tid of the VR thread
+     */
+    public static void setVrThread(int tid) {
+        try {
+            ActivityManagerNative.getDefault().setVrThread(tid);
+        } catch (RemoteException e) {
+            // pass
+        }
+    }
+
+    /**
      * The AppTask allows you to manage your own application's tasks.
      * See {@link android.app.ActivityManager#getAppTasks()}
      */
diff --git a/core/java/android/app/ActivityManagerInternal.java b/core/java/android/app/ActivityManagerInternal.java
index 3a70a4c..6dd14fd 100644
--- a/core/java/android/app/ActivityManagerInternal.java
+++ b/core/java/android/app/ActivityManagerInternal.java
@@ -19,6 +19,9 @@
 import android.annotation.NonNull;
 import android.content.ComponentName;
 import android.content.IIntentSender;
+import android.content.Intent;
+import android.content.res.Configuration;
+import android.os.Bundle;
 import android.os.IBinder;
 import android.service.voice.IVoiceInteractionSession;
 
@@ -151,4 +154,20 @@
      *  such as Power Save mode.
      */
     public abstract void setPendingIntentWhitelistDuration(IIntentSender target, long duration);
+
+    /**
+     * Updates and persists the {@link Configuration} for a given user.
+     *
+     * @param values the configuration to update
+     * @param userId the user to update the configuration for
+     */
+    public abstract void updatePersistentConfigurationForUser(@NonNull Configuration values,
+            int userId);
+
+    /**
+     * Create an {@link IIntentSender} to start an activity, as if {@code packageName} on
+     * user {@code userId} created it.
+     */
+    public abstract IIntentSender getActivityIntentSenderAsPackage(String packageName,
+            int userId, int requestCode, Intent intent, int flags, Bundle bOptions);
 }
diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java
index f12c284..14f9db7 100644
--- a/core/java/android/app/ActivityManagerNative.java
+++ b/core/java/android/app/ActivityManagerNative.java
@@ -683,10 +683,10 @@
             int maxNum = data.readInt();
             int fl = data.readInt();
             int userId = data.readInt();
-            List<ActivityManager.RecentTaskInfo> list = getRecentTasks(maxNum,
+            ParceledListSlice<ActivityManager.RecentTaskInfo> list = getRecentTasks(maxNum,
                     fl, userId);
             reply.writeNoException();
-            reply.writeTypedList(list);
+            list.writeToParcel(reply, Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
             return true;
         }
 
@@ -1779,9 +1779,10 @@
 
         case START_BACKUP_AGENT_TRANSACTION: {
             data.enforceInterface(IActivityManager.descriptor);
-            ApplicationInfo info = ApplicationInfo.CREATOR.createFromParcel(data);
+            String packageName = data.readString();
             int backupRestoreMode = data.readInt();
-            boolean success = bindBackupAgent(info, backupRestoreMode);
+            int userId = data.readInt();
+            boolean success = bindBackupAgent(packageName, backupRestoreMode, userId);
             reply.writeNoException();
             reply.writeInt(success ? 1 : 0);
             return true;
@@ -1812,12 +1813,13 @@
             return true;
         }
 
-        case KILL_APPLICATION_WITH_APPID_TRANSACTION: {
+        case KILL_APPLICATION_TRANSACTION: {
             data.enforceInterface(IActivityManager.descriptor);
             String pkg = data.readString();
-            int appid = data.readInt();
+            int appId = data.readInt();
+            int userId = data.readInt();
             String reason = data.readString();
-            killApplicationWithAppId(pkg, appid, reason);
+            killApplication(pkg, appId, userId, reason);
             reply.writeNoException();
             return true;
         }
@@ -2369,7 +2371,8 @@
             data.enforceInterface(IActivityManager.descriptor);
             IUserSwitchObserver observer = IUserSwitchObserver.Stub.asInterface(
                     data.readStrongBinder());
-            registerUserSwitchObserver(observer);
+            String name = data.readString();
+            registerUserSwitchObserver(observer, name);
             reply.writeNoException();
             return true;
         }
@@ -2993,6 +2996,13 @@
             reply.writeInt(result);
             return true;
         }
+        case SET_VR_THREAD_TRANSACTION: {
+            data.enforceInterface(IActivityManager.descriptor);
+            final int tid = data.readInt();
+            setVrThread(tid);
+            reply.writeNoException();
+            return true;
+        }
         }
 
         return super.onTransact(code, data, reply, flags);
@@ -3738,7 +3748,7 @@
         reply.recycle();
         return list;
     }
-    public List<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum,
+    public ParceledListSlice<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum,
             int flags, int userId) throws RemoteException {
         Parcel data = Parcel.obtain();
         Parcel reply = Parcel.obtain();
@@ -3748,8 +3758,8 @@
         data.writeInt(userId);
         mRemote.transact(GET_RECENT_TASKS_TRANSACTION, data, reply, 0);
         reply.readException();
-        ArrayList<ActivityManager.RecentTaskInfo> list
-            = reply.createTypedArrayList(ActivityManager.RecentTaskInfo.CREATOR);
+        final ParceledListSlice<ActivityManager.RecentTaskInfo> list = ParceledListSlice.CREATOR
+                .createFromParcel(reply);
         data.recycle();
         reply.recycle();
         return list;
@@ -4448,13 +4458,14 @@
         return binder;
     }
 
-    public boolean bindBackupAgent(ApplicationInfo app, int backupRestoreMode)
+    public boolean bindBackupAgent(String packageName, int backupRestoreMode, int userId)
             throws RemoteException {
         Parcel data = Parcel.obtain();
         Parcel reply = Parcel.obtain();
         data.writeInterfaceToken(IActivityManager.descriptor);
-        app.writeToParcel(data, 0);
+        data.writeString(packageName);
         data.writeInt(backupRestoreMode);
+        data.writeInt(userId);
         mRemote.transact(START_BACKUP_AGENT_TRANSACTION, data, reply, 0);
         reply.readException();
         boolean success = reply.readInt() != 0;
@@ -5289,15 +5300,16 @@
         reply.recycle();
     }
 
-    public void killApplicationWithAppId(String pkg, int appid, String reason)
+    public void killApplication(String pkg, int appId, int userId, String reason)
             throws RemoteException {
         Parcel data = Parcel.obtain();
         Parcel reply = Parcel.obtain();
         data.writeInterfaceToken(IActivityManager.descriptor);
         data.writeString(pkg);
-        data.writeInt(appid);
+        data.writeInt(appId);
+        data.writeInt(userId);
         data.writeString(reason);
-        mRemote.transact(KILL_APPLICATION_WITH_APPID_TRANSACTION, data, reply, 0);
+        mRemote.transact(KILL_APPLICATION_TRANSACTION, data, reply, 0);
         reply.readException();
         data.recycle();
         reply.recycle();
@@ -6056,11 +6068,13 @@
         return result;
     }
 
-    public void registerUserSwitchObserver(IUserSwitchObserver observer) throws RemoteException {
+    public void registerUserSwitchObserver(IUserSwitchObserver observer,
+            String name) throws RemoteException {
         Parcel data = Parcel.obtain();
         Parcel reply = Parcel.obtain();
         data.writeInterfaceToken(IActivityManager.descriptor);
         data.writeStrongBinder(observer != null ? observer.asBinder() : null);
+        data.writeString(name);
         mRemote.transact(REGISTER_USER_SWITCH_OBSERVER_TRANSACTION, data, reply, 0);
         reply.readException();
         data.recycle();
@@ -7024,5 +7038,19 @@
         return res;
     }
 
+    @Override
+    public void setVrThread(int tid)
+            throws RemoteException {
+        Parcel data = Parcel.obtain();
+        Parcel reply = Parcel.obtain();
+        data.writeInterfaceToken(IActivityManager.descriptor);
+        data.writeInt(tid);
+        mRemote.transact(SET_VR_THREAD_TRANSACTION, data, reply, 0);
+        reply.readException();
+        data.recycle();
+        reply.recycle();
+        return;
+    }
+
     private IBinder mRemote;
 }
diff --git a/core/java/android/app/ActivityOptions.java b/core/java/android/app/ActivityOptions.java
index 4c8ddc7..d9a4690 100644
--- a/core/java/android/app/ActivityOptions.java
+++ b/core/java/android/app/ActivityOptions.java
@@ -31,10 +31,13 @@
 import android.os.Parcelable;
 import android.os.RemoteException;
 import android.os.ResultReceiver;
+import android.transition.Transition;
+import android.transition.TransitionManager;
 import android.util.Pair;
 import android.util.Slog;
 import android.view.AppTransitionAnimationSpec;
 import android.view.View;
+import android.view.ViewGroup;
 import android.view.Window;
 
 import java.util.ArrayList;
@@ -190,6 +193,7 @@
             = "android:activity.exitCoordinatorIndex";
 
     private static final String KEY_USAGE_TIME_REPORT = "android:activity.usageTimeReport";
+    private static final String KEY_ROTATION_ANIMATION_HINT = "android:activity.rotationAnimationHint";
 
     /** @hide */
     public static final int ANIM_NONE = 0;
@@ -241,6 +245,7 @@
     private int mDockCreateMode = DOCKED_STACK_CREATE_MODE_TOP_OR_LEFT;
     private boolean mTaskOverlay;
     private AppTransitionAnimationSpec mAnimSpecs[];
+    private int mRotationAnimationHint = -1;
 
     /**
      * Create an ActivityOptions specifying a custom animation to run when
@@ -640,10 +645,71 @@
     public static ActivityOptions makeSceneTransitionAnimation(Activity activity,
             Pair<View, String>... sharedElements) {
         ActivityOptions opts = new ActivityOptions();
-        if (!activity.getWindow().hasFeature(Window.FEATURE_ACTIVITY_TRANSITIONS)) {
-            opts.mAnimationType = ANIM_DEFAULT;
+        makeSceneTransitionAnimation(activity, activity.getWindow(), opts,
+                activity.mExitTransitionListener, sharedElements);
+        return opts;
+    }
+
+    /**
+     * Call this immediately prior to startActivity to begin a shared element transition
+     * from a non-Activity. The window must support Window.FEATURE_ACTIVITY_TRANSITIONS.
+     * The exit transition will start immediately and the shared element transition will
+     * start once the launched Activity's shared element is ready.
+     * <p>
+     * When all transitions have completed and the shared element has been transfered,
+     * the window's decor View will have its visibility set to View.GONE.
+     *
+     * @hide
+     */
+    @SafeVarargs
+    public static ActivityOptions startSharedElementAnimation(Window window,
+            Pair<View, String>... sharedElements) {
+        ActivityOptions opts = new ActivityOptions();
+        final View decorView = window.getDecorView();
+        if (decorView == null) {
             return opts;
         }
+        final ExitTransitionCoordinator exit =
+                makeSceneTransitionAnimation(null, window, opts, null, sharedElements);
+        if (exit != null) {
+            HideWindowListener listener = new HideWindowListener(window, exit);
+            exit.setHideSharedElementsCallback(listener);
+            exit.startExit();
+        }
+        return opts;
+    }
+
+    /**
+     * This method should be called when the {@link #startSharedElementAnimation(Window, Pair[])}
+     * animation must be stopped and the Views reset. This can happen if there was an error
+     * from startActivity or a springboard activity and the animation should stop and reset.
+     *
+     * @hide
+     */
+    public static void stopSharedElementAnimation(Window window) {
+        final View decorView = window.getDecorView();
+        if (decorView == null) {
+            return;
+        }
+        final ExitTransitionCoordinator exit = (ExitTransitionCoordinator)
+                decorView.getTag(com.android.internal.R.id.cross_task_transition);
+        if (exit != null) {
+            exit.cancelPendingTransitions();
+            decorView.setTagInternal(com.android.internal.R.id.cross_task_transition, null);
+            TransitionManager.endTransitions((ViewGroup) decorView);
+            exit.resetViews();
+            exit.clearState();
+            decorView.setVisibility(View.VISIBLE);
+        }
+    }
+
+    static ExitTransitionCoordinator makeSceneTransitionAnimation(Activity activity, Window window,
+            ActivityOptions opts, SharedElementCallback callback,
+            Pair<View, String>[] sharedElements) {
+        if (!window.hasFeature(Window.FEATURE_ACTIVITY_TRANSITIONS)) {
+            opts.mAnimationType = ANIM_DEFAULT;
+            return null;
+        }
         opts.mAnimationType = ANIM_SCENE_TRANSITION;
 
         ArrayList<String> names = new ArrayList<String>();
@@ -665,18 +731,22 @@
             }
         }
 
-        ExitTransitionCoordinator exit = new ExitTransitionCoordinator(activity, names, names,
-                views, false);
+        ExitTransitionCoordinator exit = new ExitTransitionCoordinator(activity, window,
+                callback, names, names, views, false);
         opts.mTransitionReceiver = exit;
         opts.mSharedElementNames = names;
-        opts.mIsReturning = false;
-        opts.mExitCoordinatorIndex =
-                activity.mActivityTransitionState.addExitTransitionCoordinator(exit);
-        return opts;
+        opts.mIsReturning = (activity == null);
+        if (activity == null) {
+            opts.mExitCoordinatorIndex = -1;
+        } else {
+            opts.mExitCoordinatorIndex =
+                    activity.mActivityTransitionState.addExitTransitionCoordinator(exit);
+        }
+        return exit;
     }
 
     /** @hide */
-    public static ActivityOptions makeSceneTransitionAnimation(Activity activity,
+    static ActivityOptions makeSceneTransitionAnimation(Activity activity,
             ExitTransitionCoordinator exitCoordinator, ArrayList<String> sharedElementNames,
             int resultCode, Intent resultData) {
         ActivityOptions opts = new ActivityOptions();
@@ -795,6 +865,7 @@
             mAnimationFinishedListener = IRemoteCallback.Stub.asInterface(
                     opts.getBinder(KEY_ANIMATION_FINISHED_LISTENER));
         }
+        mRotationAnimationHint = opts.getInt(KEY_ROTATION_ANIMATION_HINT);
     }
 
     /**
@@ -900,6 +971,16 @@
         return mIsReturning;
     }
 
+    /**
+     * Returns whether or not the ActivityOptions was created with
+     * {@link #startSharedElementAnimation(Window, Pair[])}.
+     *
+     * @hide
+     */
+    boolean isCrossTask() {
+        return mExitCoordinatorIndex < 0;
+    }
+
     /** @hide */
     public ArrayList<String> getSharedElementNames() {
         return mSharedElementNames;
@@ -1138,6 +1219,7 @@
         if (mAnimationFinishedListener != null) {
             b.putBinder(KEY_ANIMATION_FINISHED_LISTENER, mAnimationFinishedListener.asBinder());
         }
+        b.putInt(KEY_ROTATION_ANIMATION_HINT, mRotationAnimationHint);
 
         return b;
     }
@@ -1184,6 +1266,27 @@
         return null;
     }
 
+    /**
+     * Returns the rotation animation set by {@link setRotationAnimationHint} or -1
+     * if unspecified.
+     * @hide
+     */
+    public int getRotationAnimationHint() {
+        return mRotationAnimationHint;
+    }
+
+
+    /**
+     * Set a rotation animation to be used if launching the activity
+     * triggers an orientation change, or -1 to clear. See
+     * {@link android.view.WindowManager.LayoutParams} for rotation
+     * animation values.
+     * @hide
+     */
+    public void setRotationAnimationHint(int hint) {
+        mRotationAnimationHint = hint;
+    }
+
     /** @hide */
     @Override
     public String toString() {
@@ -1191,4 +1294,65 @@
                 + ", mAnimationType=" + mAnimationType + ", mStartX=" + mStartX + ", mStartY="
                 + mStartY + ", mWidth=" + mWidth + ", mHeight=" + mHeight;
     }
+
+    private static class HideWindowListener extends Transition.TransitionListenerAdapter
+        implements ExitTransitionCoordinator.HideSharedElementsCallback {
+        private final Window mWindow;
+        private final ExitTransitionCoordinator mExit;
+        private final boolean mWaitingForTransition;
+        private boolean mTransitionEnded;
+        private boolean mSharedElementHidden;
+        private ArrayList<View> mSharedElements;
+
+        public HideWindowListener(Window window, ExitTransitionCoordinator exit) {
+            mWindow = window;
+            mExit = exit;
+            mSharedElements = new ArrayList<>(exit.mSharedElements);
+            Transition transition = mWindow.getExitTransition();
+            if (transition != null) {
+                transition.addListener(this);
+                mWaitingForTransition = true;
+            } else {
+                mWaitingForTransition = false;
+            }
+            View decorView = mWindow.getDecorView();
+            if (decorView != null) {
+                if (decorView.getTag(com.android.internal.R.id.cross_task_transition) != null) {
+                    throw new IllegalStateException(
+                            "Cannot start a transition while one is running");
+                }
+                decorView.setTagInternal(com.android.internal.R.id.cross_task_transition, exit);
+            }
+        }
+
+        @Override
+        public void onTransitionEnd(Transition transition) {
+            mTransitionEnded = true;
+            hideWhenDone();
+            transition.removeListener(this);
+        }
+
+        @Override
+        public void hideSharedElements() {
+            mSharedElementHidden = true;
+            hideWhenDone();
+        }
+
+        private void hideWhenDone() {
+            if (mSharedElementHidden && (!mWaitingForTransition || mTransitionEnded)) {
+                mExit.resetViews();
+                int numSharedElements = mSharedElements.size();
+                for (int i = 0; i < numSharedElements; i++) {
+                    View view = mSharedElements.get(i);
+                    view.requestLayout();
+                }
+                View decorView = mWindow.getDecorView();
+                if (decorView != null) {
+                    decorView.setTagInternal(
+                            com.android.internal.R.id.cross_task_transition, null);
+                    decorView.setVisibility(View.GONE);
+                }
+            }
+        }
+    }
 }
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index b220b2e..3f15a75 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -16,6 +16,8 @@
 
 package android.app;
 
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.app.assist.AssistContent;
 import android.app.assist.AssistStructure;
 import android.app.backup.BackupAgent;
@@ -234,6 +236,7 @@
     boolean mSystemThread = false;
     boolean mJitEnabled = false;
     boolean mSomeActivitiesChanged = false;
+    boolean mUpdatingSystemConfig = false;
 
     // These can be accessed by multiple threads; mPackages is the lock.
     // XXX For now we keep around information about all packages we have
@@ -1180,8 +1183,11 @@
                 AsyncTask.THREAD_POOL_EXECUTOR.execute(new Runnable() {
                     @Override
                     public void run() {
-                        dumpDatabaseInfo(dup.getFileDescriptor(), args);
-                        IoUtils.closeQuietly(dup);
+                        try {
+                            dumpDatabaseInfo(dup.getFileDescriptor(), args);
+                        } finally {
+                            IoUtils.closeQuietly(dup);
+                        }
                     }
                 });
             } else {
@@ -1569,7 +1575,9 @@
                 case CONFIGURATION_CHANGED:
                     Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "configChanged");
                     mCurDefaultDisplayDpi = ((Configuration)msg.obj).densityDpi;
+                    mUpdatingSystemConfig = true;
                     handleConfigurationChanged((Configuration)msg.obj, null);
+                    mUpdatingSystemConfig = false;
                     Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
                     break;
                 case CLEAN_UP_CONTEXT:
@@ -4575,20 +4583,37 @@
     }
 
     /**
+     * Creates a new Configuration only if override would modify base. Otherwise returns base.
+     * @param base The base configuration.
+     * @param override The update to apply to the base configuration. Can be null.
+     * @return A Configuration representing base with override applied.
+     */
+    private static Configuration createNewConfigAndUpdateIfNotNull(@NonNull Configuration base,
+            @Nullable Configuration override) {
+        if (override == null) {
+            return base;
+        }
+        Configuration newConfig = new Configuration(base);
+        newConfig.updateFrom(override);
+        return newConfig;
+    }
+
+    /**
      * Decides whether to update an Activity's configuration and whether to tell the
      * Activity/Component about it.
      * @param cb The component callback to notify of configuration change.
      * @param activityToken The Activity binder token for which this configuration change happened.
      *                      If the change is global, this is null.
      * @param newConfig The new configuration.
-     * @param overrideConfig The override config that differentiates the Activity's configuration
+     * @param amOverrideConfig The override config that differentiates the Activity's configuration
      *                       from the base global configuration.
+     *                       This is supplied by ActivityManager.
      * @param reportToActivity Notify the Activity of the change.
      */
     private void performConfigurationChanged(ComponentCallbacks2 cb,
                                              IBinder activityToken,
                                              Configuration newConfig,
-                                             Configuration overrideConfig,
+                                             Configuration amOverrideConfig,
                                              boolean reportToActivity) {
         // Only for Activity objects, check that they actually call up to their
         // superclass implementation.  ComponentCallbacks2 is an interface, so
@@ -4602,44 +4627,52 @@
         if ((activity == null) || (activity.mCurrentConfig == null)) {
             shouldChangeConfig = true;
         } else {
-
             // If the new config is the same as the config this Activity
             // is already running with then don't bother calling
             // onConfigurationChanged
             int diff = activity.mCurrentConfig.diff(newConfig);
             if (diff != 0) {
-                shouldChangeConfig = true;
+                // Always send the task-level config changes. For system-level configuration, if
+                // this activity doesn't handle any of the config changes, then don't bother
+                // calling onConfigurationChanged as we're going to destroy it.
+                if (!mUpdatingSystemConfig
+                        || (~activity.mActivityInfo.getRealConfigChanged() & diff) == 0
+                        || !reportToActivity) {
+                    shouldChangeConfig = true;
+                }
             }
         }
 
-        if (DEBUG_CONFIGURATION) {
-            Slog.v(TAG, "Config callback " + cb + ": shouldChangeConfig=" + shouldChangeConfig);
-        }
-
         if (shouldChangeConfig) {
+            // Propagate the configuration change to the Activity and ResourcesManager.
+
+            // ContextThemeWrappers may override the configuration for that context.
+            // We must check and apply any overrides defined.
+            Configuration contextThemeWrapperOverrideConfig = null;
+            if (cb instanceof ContextThemeWrapper) {
+                final ContextThemeWrapper contextThemeWrapper = (ContextThemeWrapper) cb;
+                contextThemeWrapperOverrideConfig = contextThemeWrapper.getOverrideConfiguration();
+            }
+
+            // We only update an Activity's configuration if this is not a global
+            // configuration change. This must also be done before the callback,
+            // or else we violate the contract that the new resources are available
+            // in {@link ComponentCallbacks2#onConfigurationChanged(Configuration)}.
             if (activityToken != null) {
-                // We only update an Activity's configuration if this is not a global
-                // configuration change. This must also be done before the callback,
-                // or else we violate the contract that the new resources are available
-                // in {@link ComponentCallbacks2#onConfigurationChanged(Configuration)}.
-                mResourcesManager.updateResourcesForActivity(activityToken, overrideConfig);
+                // Apply the ContextThemeWrapper override if necessary.
+                // NOTE: Make sure the configurations are not modified, as they are treated
+                // as immutable in many places.
+                final Configuration finalOverrideConfig = createNewConfigAndUpdateIfNotNull(
+                        amOverrideConfig, contextThemeWrapperOverrideConfig);
+                mResourcesManager.updateResourcesForActivity(activityToken, finalOverrideConfig);
             }
 
             if (reportToActivity) {
-                Configuration configToReport = newConfig;
-
-                if (cb instanceof ContextThemeWrapper) {
-                    // ContextThemeWrappers may override the configuration for that context.
-                    // We must check and apply any overrides defined.
-                    ContextThemeWrapper contextThemeWrapper = (ContextThemeWrapper) cb;
-                    final Configuration localOverrideConfig =
-                            contextThemeWrapper.getOverrideConfiguration();
-                    if (localOverrideConfig != null) {
-                        configToReport = new Configuration(newConfig);
-                        configToReport.updateFrom(localOverrideConfig);
-                    }
-                }
-
+                // Apply the ContextThemeWrapper override if necessary.
+                // NOTE: Make sure the configurations are not modified, as they are treated
+                // as immutable in many places.
+                final Configuration configToReport = createNewConfigAndUpdateIfNotNull(
+                        newConfig, contextThemeWrapperOverrideConfig);
                 cb.onConfigurationChanged(configToReport);
             }
 
@@ -5257,7 +5290,7 @@
         // code is loaded to prevent issues with instances of TLS objects being created before
         // the provider is installed.
         Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "NetworkSecurityConfigProvider.install");
-        NetworkSecurityConfigProvider.install(appContext, data.appInfo);
+        NetworkSecurityConfigProvider.install(appContext);
         Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
 
         // Continue loading instrumentation.
diff --git a/core/java/android/app/ActivityTransitionState.java b/core/java/android/app/ActivityTransitionState.java
index 02eb4d3..2219238 100644
--- a/core/java/android/app/ActivityTransitionState.java
+++ b/core/java/android/app/ActivityTransitionState.java
@@ -185,7 +185,12 @@
             activity.getWindow().getDecorView().setVisibility(View.VISIBLE);
         }
         mEnterTransitionCoordinator = new EnterTransitionCoordinator(activity,
-                resultReceiver, sharedElementNames, mEnterActivityOptions.isReturning());
+                resultReceiver, sharedElementNames, mEnterActivityOptions.isReturning(),
+                mEnterActivityOptions.isCrossTask());
+        if (mEnterActivityOptions.isCrossTask()) {
+            mExitingFrom = new ArrayList<>(mEnterActivityOptions.getSharedElementNames());
+            mExitingTo = new ArrayList<>(mEnterActivityOptions.getSharedElementNames());
+        }
 
         if (!mIsEnterPostponed) {
             startEnter();
@@ -275,7 +280,8 @@
     }
 
     private void restoreReenteringViews() {
-        if (mEnterTransitionCoordinator != null && mEnterTransitionCoordinator.isReturning()) {
+        if (mEnterTransitionCoordinator != null && mEnterTransitionCoordinator.isReturning() &&
+                !mEnterTransitionCoordinator.isCrossTask()) {
             mEnterTransitionCoordinator.forceViewsToAppear();
             mExitingFrom = null;
             mExitingTo = null;
@@ -302,8 +308,9 @@
                     }
                 }
 
-                mReturnExitCoordinator =
-                        new ExitTransitionCoordinator(activity, mEnteringNames, null, null, true);
+                mReturnExitCoordinator = new ExitTransitionCoordinator(activity,
+                        activity.getWindow(), activity.mEnterTransitionListener, mEnteringNames,
+                        null, null, true);
                 if (enterViewsTransition != null && decor != null) {
                     enterViewsTransition.resume(decor);
                 }
diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java
index e526c17..1e4ffbe 100644
--- a/core/java/android/app/AppOpsManager.java
+++ b/core/java/android/app/AppOpsManager.java
@@ -1340,9 +1340,14 @@
     /** @hide */
     public void setUserRestriction(int code, boolean restricted, IBinder token,
             String[] exceptionPackages) {
+        setUserRestrictionForUser(code, restricted, token, exceptionPackages, mContext.getUserId());
+    }
+
+    /** @hide */
+    public void setUserRestrictionForUser(int code, boolean restricted, IBinder token,
+            String[] exceptionPackages, int userId) {
         try {
-            mService.setUserRestriction(code, restricted, token, mContext.getUserId(),
-                  exceptionPackages);
+            mService.setUserRestriction(code, restricted, token, userId, exceptionPackages);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java
index 87511ee..8cc1bc4 100644
--- a/core/java/android/app/ApplicationPackageManager.java
+++ b/core/java/android/app/ApplicationPackageManager.java
@@ -1245,15 +1245,18 @@
             return mContext.mMainThread.getSystemContext().getResources();
         }
         final boolean sameUid = (app.uid == Process.myUid());
-        final Resources r = mContext.mMainThread.getTopLevelResources(
-                sameUid ? app.sourceDir : app.publicSourceDir,
-                sameUid ? app.splitSourceDirs : app.splitPublicSourceDirs,
-                app.resourceDirs, app.sharedLibraryFiles, Display.DEFAULT_DISPLAY,
-                mContext.mPackageInfo);
-        if (r != null) {
-            return r;
+        try {
+            return mContext.mMainThread.getTopLevelResources(
+                    sameUid ? app.sourceDir : app.publicSourceDir,
+                    sameUid ? app.splitSourceDirs : app.splitPublicSourceDirs,
+                    app.resourceDirs, app.sharedLibraryFiles, Display.DEFAULT_DISPLAY,
+                    mContext.mPackageInfo);
+        } catch (Resources.NotFoundException cause) {
+            final NameNotFoundException ex =
+                    new NameNotFoundException("Unable to open " + app.publicSourceDir);
+            ex.initCause(cause);
+            throw ex;
         }
-        throw new NameNotFoundException("Unable to open " + app.publicSourceDir);
     }
 
     @Override
diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java
index cf663a3..e6ca520 100644
--- a/core/java/android/app/ContextImpl.java
+++ b/core/java/android/app/ContextImpl.java
@@ -16,6 +16,8 @@
 
 package android.app;
 
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.ContentProvider;
@@ -30,6 +32,7 @@
 import android.content.ReceiverCallNotAllowedException;
 import android.content.ServiceConnection;
 import android.content.SharedPreferences;
+import android.content.pm.ActivityInfo;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.IPackageManager;
 import android.content.pm.PackageManager;
@@ -155,10 +158,9 @@
     private final String mBasePackageName;
     private final String mOpPackageName;
 
-    private final ResourcesManager mResourcesManager;
-    private final Resources mResources;
-    private final Display mDisplay; // may be null if default display
-    private final DisplayAdjustments mDisplayAdjustments = new DisplayAdjustments();
+    private final @NonNull ResourcesManager mResourcesManager;
+    private final @NonNull Resources mResources;
+    private @Nullable Display mDisplay; // may be null if default display
 
     private final int mFlags;
 
@@ -1897,18 +1899,6 @@
                 mUser, mFlags, display, null, Display.INVALID_DISPLAY);
     }
 
-    Display getDisplay() {
-        if (mDisplay != null) {
-            return mDisplay;
-        }
-        return ResourcesManager.getInstance().getAdjustedDisplay(
-                Display.DEFAULT_DISPLAY, mDisplayAdjustments);
-    }
-
-    private int getDisplayId() {
-        return mDisplay != null ? mDisplay.getDisplayId() : Display.DEFAULT_DISPLAY;
-    }
-
     @Override
     public Context createDeviceProtectedStorageContext() {
         final int flags = (mFlags & ~Context.CONTEXT_CREDENTIAL_PROTECTED_STORAGE)
@@ -1941,8 +1931,23 @@
     }
 
     @Override
+    public Display getDisplay() {
+        final DisplayAdjustments displayAdjustments = mResources.getDisplayAdjustments();
+        if (mDisplay == null) {
+            return mResourcesManager.getAdjustedDisplay(Display.DEFAULT_DISPLAY,
+                    displayAdjustments);
+        }
+
+        if (!mDisplay.getDisplayAdjustments().equals(displayAdjustments)) {
+            mDisplay = mResourcesManager.getAdjustedDisplay(mDisplay.getDisplayId(),
+                    displayAdjustments);
+        }
+        return mDisplay;
+    }
+
+    @Override
     public DisplayAdjustments getDisplayAdjustments(int displayId) {
-        return mDisplayAdjustments;
+        return mResources.getDisplayAdjustments();
     }
 
     @Override
@@ -2057,11 +2062,6 @@
                     ? packageInfo.getCompatibilityInfo()
                     : CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO;
         }
-        mDisplayAdjustments.setCompatibilityInfo(compatInfo);
-        mDisplayAdjustments.setConfiguration(overrideConfiguration);
-
-        mDisplay = (createDisplayWithId == Display.INVALID_DISPLAY) ? display
-                : ResourcesManager.getInstance().getAdjustedDisplay(displayId, mDisplayAdjustments);
 
         Resources resources = packageInfo.getResources(mainThread);
         if (resources != null) {
@@ -2101,6 +2101,9 @@
         }
         mResources = resources;
 
+        mDisplay = (createDisplayWithId == Display.INVALID_DISPLAY) ? display
+                : mResourcesManager.getAdjustedDisplay(displayId, mResources.getDisplayAdjustments());
+
         if (container != null) {
             mBasePackageName = container.mBasePackageName;
             mOpPackageName = container.mOpPackageName;
diff --git a/core/java/android/app/EnterTransitionCoordinator.java b/core/java/android/app/EnterTransitionCoordinator.java
index 8bf1e9a..5d12b0d 100644
--- a/core/java/android/app/EnterTransitionCoordinator.java
+++ b/core/java/android/app/EnterTransitionCoordinator.java
@@ -59,12 +59,14 @@
     private boolean mIsViewsTransitionStarted;
     private Transition mEnterViewsTransition;
     private OnPreDrawListener mViewsReadyListener;
+    private final boolean mIsCrossTask;
 
     public EnterTransitionCoordinator(Activity activity, ResultReceiver resultReceiver,
-            ArrayList<String> sharedElementNames, boolean isReturning) {
+            ArrayList<String> sharedElementNames, boolean isReturning, boolean isCrossTask) {
         super(activity.getWindow(), sharedElementNames,
-                getListener(activity, isReturning), isReturning);
+                getListener(activity, isReturning && !isCrossTask), isReturning);
         mActivity = activity;
+        mIsCrossTask = isCrossTask;
         setResultReceiver(resultReceiver);
         prepareEnter();
         Bundle resultReceiverBundle = new Bundle();
@@ -85,6 +87,10 @@
         }
     }
 
+    boolean isCrossTask() {
+        return mIsCrossTask;
+    }
+
     public void viewInstancesReady(ArrayList<String> accepted, ArrayList<String> localNames,
             ArrayList<View> localViews) {
         boolean remap = false;
@@ -325,7 +331,9 @@
         if (mActivity == null || decorView == null) {
             return;
         }
-        mActivity.overridePendingTransition(0, 0);
+        if (!isCrossTask()) {
+            mActivity.overridePendingTransition(0, 0);
+        }
         if (!mIsReturning) {
             mWasOpaque = mActivity.convertToTranslucent(null, null);
             Drawable background = decorView.getBackground();
diff --git a/core/java/android/app/ExitTransitionCoordinator.java b/core/java/android/app/ExitTransitionCoordinator.java
index 0404288..160c285 100644
--- a/core/java/android/app/ExitTransitionCoordinator.java
+++ b/core/java/android/app/ExitTransitionCoordinator.java
@@ -35,6 +35,7 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewTreeObserver;
+import android.view.Window;
 
 import java.util.ArrayList;
 
@@ -59,18 +60,20 @@
     private Bundle mExitSharedElementBundle;
     private boolean mIsExitStarted;
     private boolean mSharedElementsHidden;
+    private HideSharedElementsCallback mHideSharedElementsCallback;
 
-    public ExitTransitionCoordinator(Activity activity, ArrayList<String> names,
+    public ExitTransitionCoordinator(Activity activity, Window window,
+            SharedElementCallback listener, ArrayList<String> names,
             ArrayList<String> accepted, ArrayList<View> mapped, boolean isReturning) {
-        super(activity.getWindow(), names, getListener(activity, isReturning), isReturning);
+        super(window, names, listener, isReturning);
         viewsReady(mapSharedElements(accepted, mapped));
         stripOffscreenViews();
         mIsBackgroundReady = !isReturning;
         mActivity = activity;
     }
 
-    private static SharedElementCallback getListener(Activity activity, boolean isReturning) {
-        return isReturning ? activity.mEnterTransitionListener : activity.mExitTransitionListener;
+    void setHideSharedElementsCallback(HideSharedElementsCallback callback) {
+        mHideSharedElementsCallback = callback;
     }
 
     @Override
@@ -188,6 +191,9 @@
 
     private void hideSharedElements() {
         moveSharedElementsFromOverlay();
+        if (mHideSharedElementsCallback != null) {
+            mHideSharedElementsCallback.hideSharedElements();
+        }
         if (!mIsHidden) {
             hideViews(mSharedElements);
         }
@@ -207,7 +213,11 @@
             startTransition(new Runnable() {
                 @Override
                 public void run() {
-                    beginTransitions();
+                    if (mActivity != null) {
+                        beginTransitions();
+                    } else {
+                        startExitTransition();
+                    }
                 }
             });
         }
@@ -508,4 +518,8 @@
             return getWindow().getSharedElementExitTransition();
         }
     }
+
+    interface HideSharedElementsCallback {
+        void hideSharedElements();
+    }
 }
diff --git a/core/java/android/app/IActivityManager.java b/core/java/android/app/IActivityManager.java
index 81788da..d38fb94 100644
--- a/core/java/android/app/IActivityManager.java
+++ b/core/java/android/app/IActivityManager.java
@@ -136,7 +136,7 @@
             ActivityManager.TaskDescription description, Bitmap thumbnail) throws RemoteException;
     public Point getAppTaskThumbnailSize() throws RemoteException;
     public List<RunningTaskInfo> getTasks(int maxNum, int flags) throws RemoteException;
-    public List<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum,
+    public ParceledListSlice<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum,
             int flags, int userId) throws RemoteException;
     public ActivityManager.TaskThumbnail getTaskThumbnail(int taskId) throws RemoteException;
     public List<RunningServiceInfo> getServices(int maxNum, int flags) throws RemoteException;
@@ -250,7 +250,7 @@
     public IBinder peekService(Intent service, String resolvedType, String callingPackage)
             throws RemoteException;
 
-    public boolean bindBackupAgent(ApplicationInfo appInfo, int backupRestoreMode)
+    public boolean bindBackupAgent(String packageName, int backupRestoreMode, int userId)
             throws RemoteException;
     public void clearPendingBackup() throws RemoteException;
     public void backupAgentCreated(String packageName, IBinder agent) throws RemoteException;
@@ -398,7 +398,7 @@
 
     public void addPackageDependency(String packageName) throws RemoteException;
 
-    public void killApplicationWithAppId(String pkg, int appid, String reason)
+    public void killApplication(String pkg, int appId, int userId, String reason)
             throws RemoteException;
 
     public void closeSystemDialogs(String reason) throws RemoteException;
@@ -512,7 +512,8 @@
     public int getLaunchedFromUid(IBinder activityToken) throws RemoteException;
     public String getLaunchedFromPackage(IBinder activityToken) throws RemoteException;
 
-    public void registerUserSwitchObserver(IUserSwitchObserver observer) throws RemoteException;
+    public void registerUserSwitchObserver(IUserSwitchObserver observer,
+            String name) throws RemoteException;
     public void unregisterUserSwitchObserver(IUserSwitchObserver observer) throws RemoteException;
 
     public void requestBugReport(int bugreportType) throws RemoteException;
@@ -657,6 +658,8 @@
             IIntentReceiver finishedReceiver, String requiredPermission, Bundle options)
             throws RemoteException;
 
+    public void setVrThread(int tid) throws RemoteException;
+
     /*
      * Private non-Binder interfaces
      */
@@ -852,7 +855,7 @@
     int GET_UID_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+92;
     int HANDLE_INCOMING_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+93;
     int ADD_PACKAGE_DEPENDENCY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+94;
-    int KILL_APPLICATION_WITH_APPID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+95;
+    int KILL_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+95;
     int CLOSE_SYSTEM_DIALOGS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+96;
     int GET_PROCESS_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+97;
     int KILL_APPLICATION_PROCESS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+98;
@@ -1043,4 +1046,5 @@
     int START_CONFIRM_DEVICE_CREDENTIAL_INTENT = IBinder.FIRST_CALL_TRANSACTION + 374;
     int SEND_IDLE_JOB_TRIGGER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 375;
     int SEND_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 376;
+    int SET_VR_THREAD_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 377;
 }
diff --git a/core/java/android/app/LoadedApk.java b/core/java/android/app/LoadedApk.java
index 152f45e..b889c8f 100644
--- a/core/java/android/app/LoadedApk.java
+++ b/core/java/android/app/LoadedApk.java
@@ -1072,6 +1072,7 @@
         final class Args extends BroadcastReceiver.PendingResult implements Runnable {
             private Intent mCurIntent;
             private final boolean mOrdered;
+            private boolean mDispatched;
 
             public Args(Intent intent, int resultCode, String resultData, Bundle resultExtras,
                     boolean ordered, boolean sticky, int sendingUser) {
@@ -1096,9 +1097,13 @@
                 
                 final IActivityManager mgr = ActivityManagerNative.getDefault();
                 final Intent intent = mCurIntent;
+                if (intent == null) {
+                    Log.wtf(TAG, "Null intent being dispatched, mDispatched=" + mDispatched);
+                }
+
                 mCurIntent = null;
-                
-                if (receiver == null || mForgotten) {
+                mDispatched = true;
+                if (receiver == null || intent == null || mForgotten) {
                     if (mRegistered && ordered) {
                         if (ActivityThread.DEBUG_BROADCAST) Slog.i(ActivityThread.TAG,
                                 "Finishing null broadcast to " + mReceiver);
@@ -1191,14 +1196,18 @@
 
         public void performReceive(Intent intent, int resultCode, String data,
                 Bundle extras, boolean ordered, boolean sticky, int sendingUser) {
-            if (ActivityThread.DEBUG_BROADCAST) {
-                int seq = intent.getIntExtra("seq", -1);
-                Slog.i(ActivityThread.TAG, "Enqueueing broadcast " + intent.getAction() + " seq=" + seq
-                        + " to " + mReceiver);
-            }
-            Args args = new Args(intent, resultCode, data, extras, ordered,
+            final Args args = new Args(intent, resultCode, data, extras, ordered,
                     sticky, sendingUser);
-            if (!mActivityThread.post(args)) {
+            if (intent == null) {
+                Log.wtf(TAG, "Null intent received");
+            } else {
+                if (ActivityThread.DEBUG_BROADCAST) {
+                    int seq = intent.getIntExtra("seq", -1);
+                    Slog.i(ActivityThread.TAG, "Enqueueing broadcast " + intent.getAction()
+                            + " seq=" + seq + " to " + mReceiver);
+                }
+            }
+            if (intent == null || !mActivityThread.post(args)) {
                 if (mRegistered && ordered) {
                     IActivityManager mgr = ActivityManagerNative.getDefault();
                     if (ActivityThread.DEBUG_BROADCAST) Slog.i(ActivityThread.TAG,
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index 83a2066..fa943f2 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -39,6 +39,7 @@
 import android.media.session.MediaSession;
 import android.net.Uri;
 import android.os.BadParcelableException;
+import android.os.BaseBundle;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.Parcel;
@@ -53,6 +54,7 @@
 import android.text.style.CharacterStyle;
 import android.text.style.RelativeSizeSpan;
 import android.text.style.TextAppearanceSpan;
+import android.util.ArraySet;
 import android.util.Log;
 import android.util.SparseArray;
 import android.view.Gravity;
@@ -63,6 +65,7 @@
 import android.widget.RemoteViews;
 
 import com.android.internal.R;
+import com.android.internal.util.ArrayUtils;
 import com.android.internal.util.NotificationColorUtil;
 
 import java.lang.annotation.Retention;
@@ -70,6 +73,7 @@
 import java.lang.reflect.Constructor;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Set;
@@ -758,6 +762,15 @@
     public Bundle extras = new Bundle();
 
     /**
+     * All pending intents in the notification as the system needs to be able to access them but
+     * touching the extras bundle in the system process is not safe because the bundle may contain
+     * custom parcelable objects.
+     *
+     * @hide
+     */
+    public ArraySet<PendingIntent> allPendingIntents;
+
+    /**
      * {@link #extras} key: this is the title of the notification,
      * as supplied to {@link Builder#setContentTitle(CharSequence)}.
      */
@@ -1294,6 +1307,7 @@
             // Flags bitwise-ored to mFlags
             private static final int FLAG_AVAILABLE_OFFLINE = 0x1;
             private static final int FLAG_HINT_LAUNCHES_ACTIVITY = 1 << 1;
+            private static final int FLAG_HINT_DISPLAY_INLINE = 1 << 2;
 
             // Default value for flags integer
             private static final int DEFAULT_FLAGS = FLAG_AVAILABLE_OFFLINE;
@@ -1480,6 +1494,29 @@
             public boolean getHintLaunchesActivity() {
                 return (mFlags & FLAG_HINT_LAUNCHES_ACTIVITY) != 0;
             }
+
+            /**
+             * Set a hint that this Action should be displayed inline.
+             *
+             * @param hintDisplayInline {@code true} if action should be displayed inline, false
+             *        otherwise
+             * @return this object for method chaining
+             */
+            public WearableExtender setHintDisplayActionInline(
+                    boolean hintDisplayInline) {
+                setFlag(FLAG_HINT_DISPLAY_INLINE, hintDisplayInline);
+                return this;
+            }
+
+            /**
+             * Get a hint that this Action should be displayed inline.
+             *
+             * @return {@code true} if the Action should be displayed inline, {@code false} 
+             *         otherwise. The default value is {@code false} if this was never set.
+             */
+            public boolean getHintDisplayActionInline() {
+                return (mFlags & FLAG_HINT_DISPLAY_INLINE) != 0;
+            }
         }
     }
 
@@ -1549,7 +1586,16 @@
     /**
      * Unflatten the notification from a parcel.
      */
-    public Notification(Parcel parcel)
+    @SuppressWarnings("unchecked")
+    public Notification(Parcel parcel) {
+        // IMPORTANT: Add unmarshaling code in readFromParcel as the pending
+        // intents in extras are always written as the last entry.
+        readFromParcelImpl(parcel);
+        // Must be read last!
+        allPendingIntents = (ArraySet<PendingIntent>) parcel.readArraySet(null);
+    }
+
+    private void readFromParcelImpl(Parcel parcel)
     {
         int version = parcel.readInt();
 
@@ -1704,6 +1750,10 @@
             }
         }
 
+        if (!ArrayUtils.isEmpty(allPendingIntents)) {
+            that.allPendingIntents = new ArraySet<>(allPendingIntents);
+        }
+
         if (this.actions != null) {
             that.actions = new Action[this.actions.length];
             for(int i=0; i<this.actions.length; i++) {
@@ -1819,8 +1869,40 @@
     /**
      * Flatten this notification into a parcel.
      */
-    public void writeToParcel(Parcel parcel, int flags)
-    {
+    public void writeToParcel(Parcel parcel, int flags) {
+        // We need to mark all pending intents getting into the notification
+        // system as being put there to later allow the notification ranker
+        // to launch them and by doing so add the app to the battery saver white
+        // list for a short period of time. The problem is that the system
+        // cannot look into the extras as there may be parcelables there that
+        // the platform does not know how to handle. To go around that we have
+        // an explicit list of the pending intents in the extras bundle.
+        final boolean collectPendingIntents = (allPendingIntents == null);
+        if (collectPendingIntents) {
+            PendingIntent.setOnMarshaledListener(
+                    (PendingIntent intent, Parcel out, int outFlags) -> {
+                if (parcel == out) {
+                    if (allPendingIntents == null) {
+                        allPendingIntents = new ArraySet<>();
+                    }
+                    allPendingIntents.add(intent);
+                }
+            });
+        }
+        try {
+            // IMPORTANT: Add marshaling code in writeToParcelImpl as we
+            // want to intercept all pending events written to the pacel.
+            writeToParcelImpl(parcel, flags);
+            // Must be written last!
+            parcel.writeArraySet(allPendingIntents);
+        } finally {
+            if (collectPendingIntents) {
+                PendingIntent.setOnMarshaledListener(null);
+            }
+        }
+    }
+
+    private void writeToParcelImpl(Parcel parcel, int flags) {
         parcel.writeInt(1);
 
         parcel.writeLong(when);
@@ -1866,6 +1948,10 @@
         } else {
             parcel.writeInt(0);
         }
+        if (mLargeIcon == null && largeIcon != null) {
+            // you snuck an icon in here without using the builder; let's try to keep it
+            mLargeIcon = Icon.createWithBitmap(largeIcon);
+        }
         if (mLargeIcon != null) {
             parcel.writeInt(1);
             mLargeIcon.writeToParcel(parcel, 0);
@@ -1986,6 +2072,10 @@
                     new Throwable());
         }
 
+        if (context.getApplicationInfo().targetSdkVersion < Build.VERSION_CODES.N) {
+            extras.putBoolean(EXTRA_SHOW_WHEN, true);
+        }
+
         // ensure that any information already set directly is preserved
         final Notification.Builder builder = new Notification.Builder(context, this);
 
@@ -2269,6 +2359,14 @@
                     Collections.addAll(mPersonList, mN.extras.getStringArray(EXTRA_PEOPLE));
                 }
 
+                if (mN.getSmallIcon() == null && mN.icon != 0) {
+                    setSmallIcon(mN.icon);
+                }
+
+                if (mN.getLargeIcon() == null && mN.largeIcon != null) {
+                    setLargeIcon(mN.largeIcon);
+                }
+
                 String templateClass = mN.extras.getString(EXTRA_TEMPLATE);
                 if (!TextUtils.isEmpty(templateClass)) {
                     final Class<? extends Style> styleClass
@@ -3163,6 +3261,7 @@
             contentView.setTextViewText(R.id.app_name_text, null);
             contentView.setViewVisibility(R.id.chronometer, View.GONE);
             contentView.setViewVisibility(R.id.header_text, View.GONE);
+            contentView.setTextViewText(R.id.header_text, null);
             contentView.setViewVisibility(R.id.header_text_divider, View.GONE);
             contentView.setViewVisibility(R.id.time_divider, View.GONE);
             contentView.setViewVisibility(R.id.time, View.GONE);
@@ -3171,8 +3270,8 @@
         }
 
         private void resetContentMargins(RemoteViews contentView) {
-            contentView.setViewLayoutMarginEnd(R.id.line1, 0);
-            contentView.setViewLayoutMarginEnd(R.id.text, 0);
+            contentView.setViewLayoutMarginEndDimen(R.id.line1, 0);
+            contentView.setViewLayoutMarginEndDimen(R.id.text, 0);
         }
 
         private RemoteViews applyStandardTemplate(int resId) {
@@ -3218,7 +3317,7 @@
                 contentView.setViewVisibility(textId, View.VISIBLE);
             }
 
-            setContentMinHeight(contentView, showProgress || mN.mLargeIcon != null);
+            setContentMinHeight(contentView, showProgress || mN.hasLargeIcon());
 
             return contentView;
         }
@@ -3262,15 +3361,17 @@
         }
 
         private void bindLargeIcon(RemoteViews contentView) {
+            if (mN.mLargeIcon == null && mN.largeIcon != null) {
+                mN.mLargeIcon = Icon.createWithBitmap(mN.largeIcon);
+            }
             if (mN.mLargeIcon != null) {
                 contentView.setViewVisibility(R.id.right_icon, View.VISIBLE);
                 contentView.setImageViewIcon(R.id.right_icon, mN.mLargeIcon);
                 processLargeLegacyIcon(mN.mLargeIcon, contentView);
-                int endMargin = mContext.getResources().getDimensionPixelSize(
-                        R.dimen.notification_content_picture_margin);
-                contentView.setViewLayoutMarginEnd(R.id.line1, endMargin);
-                contentView.setViewLayoutMarginEnd(R.id.text, endMargin);
-                contentView.setViewLayoutMarginEnd(R.id.progress, endMargin);
+                int endMargin = R.dimen.notification_content_picture_margin;
+                contentView.setViewLayoutMarginEndDimen(R.id.line1, endMargin);
+                contentView.setViewLayoutMarginEndDimen(R.id.text, endMargin);
+                contentView.setViewLayoutMarginEndDimen(R.id.progress, endMargin);
             }
         }
 
@@ -3369,6 +3470,9 @@
         }
 
         private void bindSmallIcon(RemoteViews contentView) {
+            if (mN.mSmallIcon == null && mN.icon != 0) {
+                mN.mSmallIcon = Icon.createWithResource(mContext, mN.icon);
+            }
             contentView.setImageViewIcon(R.id.icon, mN.mSmallIcon);
             processSmallIconColor(mN.mSmallIcon, contentView);
         }
@@ -3394,6 +3498,8 @@
             big.setTextViewText(R.id.notification_material_reply_text_2, null);
             big.setViewVisibility(R.id.notification_material_reply_text_3, View.GONE);
             big.setTextViewText(R.id.notification_material_reply_text_3, null);
+
+            big.setViewLayoutMarginBottomDimen(R.id.notification_action_list_margin_target, 0);
         }
 
         private RemoteViews applyStandardTemplateWithActions(int layoutId) {
@@ -3416,6 +3522,8 @@
             if (N > 0) {
                 big.setViewVisibility(R.id.actions_container, View.VISIBLE);
                 big.setViewVisibility(R.id.actions, View.VISIBLE);
+                big.setViewLayoutMarginBottomDimen(R.id.notification_action_list_margin_target,
+                        R.dimen.notification_action_list_height);
                 if (N>MAX_ACTION_BUTTONS) N=MAX_ACTION_BUTTONS;
                 for (int i=0; i<N; i++) {
                     Action action = mActions.get(i);
@@ -3564,6 +3672,8 @@
             mStyle = null;
             Icon largeIcon = mN.mLargeIcon;
             mN.mLargeIcon = null;
+            Bitmap largeIconLegacy = mN.largeIcon;
+            mN.largeIcon = null;
             Bundle publicExtras = new Bundle();
             publicExtras.putBoolean(EXTRA_SHOW_WHEN,
                     savedBundle.getBoolean(EXTRA_SHOW_WHEN));
@@ -3577,6 +3687,7 @@
             final RemoteViews publicView = applyStandardTemplate(getBaseLayoutResource());
             mN.extras = savedBundle;
             mN.mLargeIcon = largeIcon;
+            mN.largeIcon = largeIconLegacy;
             mStyle = style;
             return publicView;
         }
@@ -3873,6 +3984,10 @@
         }
     }
 
+    private boolean hasLargeIcon() {
+        return mLargeIcon != null || largeIcon != null;
+    }
+
     /**
      * @return true if the notification will show the time; false otherwise
      * @hide
@@ -4179,7 +4294,7 @@
                 contentView.setTextViewText(R.id.text, mBuilder.processLegacyText(mSummaryText));
                 contentView.setViewVisibility(R.id.text, View.VISIBLE);
             }
-            mBuilder.setContentMinHeight(contentView, mBuilder.mN.mLargeIcon != null);
+            mBuilder.setContentMinHeight(contentView, mBuilder.mN.hasLargeIcon());
 
             if (mBigLargeIconSet) {
                 mBuilder.mN.mLargeIcon = oldLargeIcon;
@@ -4334,7 +4449,7 @@
             contentView.setViewVisibility(R.id.big_text,
                     TextUtils.isEmpty(bigTextText) ? View.GONE : View.VISIBLE);
             contentView.setInt(R.id.big_text, "setMaxLines", calculateMaxLines(builder));
-            contentView.setBoolean(R.id.big_text, "setHasImage", builder.mN.mLargeIcon != null);
+            contentView.setBoolean(R.id.big_text, "setHasImage", builder.mN.hasLargeIcon());
         }
 
         private static int calculateMaxLines(Builder builder) {
@@ -4570,12 +4685,21 @@
                     : mConversationTitle;
             boolean hasTitle = !TextUtils.isEmpty(title);
 
-            if (!hasTitle && mMessages.size() == 1) {
-                CharSequence sender = mMessages.get(0).mSender;
-                CharSequence text = mMessages.get(0).mText;
+            if (mMessages.size() == 1) {
+                // Special case for a single message: Use the big text style
+                // so the collapsed and expanded versions match nicely.
+                CharSequence bigTitle;
+                CharSequence text;
+                if (hasTitle) {
+                    bigTitle = title;
+                    text = makeMessageLine(mMessages.get(0));
+                } else {
+                    bigTitle = mMessages.get(0).mSender;
+                    text = mMessages.get(0).mText;
+                }
                 RemoteViews contentView = mBuilder.applyStandardTemplateWithActions(
                         mBuilder.getBigTextLayoutResource(),
-                        false /* progress */, sender, null /* text */);
+                        false /* progress */, bigTitle, null /* text */);
                 BigTextStyle.applyBigTextContentView(mBuilder, contentView, text);
                 return contentView;
             }
@@ -4595,12 +4719,13 @@
             }
 
             int i=0;
-            int titlePadding = mBuilder.mContext.getResources().getDimensionPixelSize(
-                    R.dimen.notification_messaging_spacing);
-            contentView.setViewLayoutMarginBottom(R.id.line1, hasTitle ? titlePadding : 0);
+            contentView.setViewLayoutMarginBottomDimen(R.id.line1,
+                    hasTitle ? R.dimen.notification_messaging_spacing : 0);
             contentView.setInt(R.id.notification_messaging, "setNumIndentLines",
-                    mBuilder.mN.mLargeIcon == null ? 0 : (hasTitle ? 1 : 2));
+                    !mBuilder.mN.hasLargeIcon() ? 0 : (hasTitle ? 1 : 2));
 
+            int contractedChildId = View.NO_ID;
+            Message contractedMessage = findLatestIncomingMessage();
             int firstMessage = Math.max(0, mMessages.size() - rowIds.length);
             while (firstMessage + i < mMessages.size() && i < rowIds.length) {
                 Message m = mMessages.get(firstMessage + i);
@@ -4609,8 +4734,15 @@
                 contentView.setViewVisibility(rowId, View.VISIBLE);
                 contentView.setTextViewText(rowId, makeMessageLine(m));
 
+                if (contractedMessage == m) {
+                    contractedChildId = rowId;
+                }
+
                 i++;
             }
+            // Record this here to allow transformation between the contracted and expanded views.
+            contentView.setInt(R.id.notification_messaging, "setContractedChildId",
+                    contractedChildId);
             return contentView;
         }
 
@@ -4963,12 +5095,11 @@
                 final int max = mBuilder.mN.extras.getInt(EXTRA_PROGRESS_MAX, 0);
                 final boolean ind = mBuilder.mN.extras.getBoolean(EXTRA_PROGRESS_INDETERMINATE);
                 boolean hasProgress = max != 0 || ind;
-                if (mBuilder.mN.mLargeIcon != null && !hasProgress) {
-                    endMargin = mBuilder.mContext.getResources().getDimensionPixelSize(
-                            R.dimen.notification_content_picture_margin);
+                if (mBuilder.mN.hasLargeIcon() && !hasProgress) {
+                    endMargin = R.dimen.notification_content_picture_margin;
                 }
             }
-            contentView.setViewLayoutMarginEnd(id, endMargin);
+            contentView.setViewLayoutMarginEndDimen(id, endMargin);
         }
     }
 
@@ -5153,13 +5284,11 @@
             }
             handleImage(view);
             // handle the content margin
-            int endMargin = mBuilder.mContext.getResources().getDimensionPixelSize(
-                    R.dimen.notification_content_margin_end);;
-            if (mBuilder.mN.mLargeIcon != null) {
-                endMargin += mBuilder.mContext.getResources().getDimensionPixelSize(
-                        R.dimen.notification_content_picture_margin);
+            int endMargin = R.dimen.notification_content_margin_end;
+            if (mBuilder.mN.hasLargeIcon()) {
+                endMargin = R.dimen.notification_content_plus_picture_margin_end;
             }
-            view.setViewLayoutMarginEnd(R.id.notification_main_column, endMargin);
+            view.setViewLayoutMarginEndDimen(R.id.notification_main_column, endMargin);
             return view;
         }
 
@@ -5169,7 +5298,7 @@
             int actionsInCompact = mActionsToShowInCompact == null
                     ? 0
                     : Math.min(mActionsToShowInCompact.length, MAX_MEDIA_BUTTONS_IN_COMPACT);
-            if (mBuilder.mN.mLargeIcon == null && actionCount <= actionsInCompact) {
+            if (!mBuilder.mN.hasLargeIcon() && actionCount <= actionsInCompact) {
                 return null;
             }
             RemoteViews big = mBuilder.applyStandardTemplate(
@@ -5189,9 +5318,9 @@
         }
 
         private void handleImage(RemoteViews contentView) {
-            if (mBuilder.mN.mLargeIcon != null) {
-                contentView.setViewLayoutMarginEnd(R.id.line1, 0);
-                contentView.setViewLayoutMarginEnd(R.id.text, 0);
+            if (mBuilder.mN.hasLargeIcon()) {
+                contentView.setViewLayoutMarginEndDimen(R.id.line1, 0);
+                contentView.setViewLayoutMarginEndDimen(R.id.text, 0);
             }
         }
 
@@ -5306,13 +5435,11 @@
                 remoteViews.addView(R.id.notification_main_column, customContent);
             }
             // also update the end margin if there is an image
-            int endMargin = mBuilder.mContext.getResources().getDimensionPixelSize(
-                    R.dimen.notification_content_margin_end);
-            if (mBuilder.mN.mLargeIcon != null) {
-                endMargin += mBuilder.mContext.getResources().getDimensionPixelSize(
-                        R.dimen.notification_content_picture_margin);
+            int endMargin = R.dimen.notification_content_margin_end;
+            if (mBuilder.mN.hasLargeIcon()) {
+                endMargin = R.dimen.notification_content_plus_picture_margin_end;
             }
-            remoteViews.setViewLayoutMarginEnd(R.id.notification_main_column, endMargin);
+            remoteViews.setViewLayoutMarginEndDimen(R.id.notification_main_column, endMargin);
         }
     }
 
diff --git a/core/java/android/app/PendingIntent.java b/core/java/android/app/PendingIntent.java
index cb15392..cfa242b 100644
--- a/core/java/android/app/PendingIntent.java
+++ b/core/java/android/app/PendingIntent.java
@@ -242,6 +242,36 @@
     }
 
     /**
+     * Listener for observing when pending intents are written to a parcel.
+     *
+     * @hide
+     */
+    public interface OnMarshaledListener {
+        /**
+         * Called when a pending intent is written to a parcel.
+         *
+         * @param intent The pending intent.
+         * @param parcel The parcel to which it was written.
+         * @param flags The parcel flags when it was written.
+         */
+        void onMarshaled(PendingIntent intent, Parcel parcel, int flags);
+    }
+
+    private static final ThreadLocal<OnMarshaledListener> sOnMarshaledListener
+            = new ThreadLocal<>();
+
+    /**
+     * Registers an listener for pending intents being written to a parcel.
+     *
+     * @param listener The listener, null to clear.
+     *
+     * @hide
+     */
+    public static void setOnMarshaledListener(OnMarshaledListener listener) {
+        sOnMarshaledListener.set(listener);
+    }
+
+    /**
      * Retrieve a PendingIntent that will start a new activity, like calling
      * {@link Context#startActivity(Intent) Context.startActivity(Intent)}.
      * Note that the activity will be started outside of the context of an
@@ -1016,6 +1046,11 @@
 
     public void writeToParcel(Parcel out, int flags) {
         out.writeStrongBinder(mTarget.asBinder());
+        OnMarshaledListener listener = sOnMarshaledListener.get();
+        if (listener != null) {
+            listener.onMarshaled(this, out, flags);
+        }
+
     }
 
     public static final Parcelable.Creator<PendingIntent> CREATOR
diff --git a/core/java/android/app/Presentation.java b/core/java/android/app/Presentation.java
index e110dcb..70007f5 100644
--- a/core/java/android/app/Presentation.java
+++ b/core/java/android/app/Presentation.java
@@ -310,7 +310,7 @@
         final WindowManagerImpl outerWindowManager =
                 (WindowManagerImpl)outerContext.getSystemService(Context.WINDOW_SERVICE);
         final WindowManagerImpl displayWindowManager =
-                outerWindowManager.createPresentationWindowManager(display);
+                outerWindowManager.createPresentationWindowManager(displayContext);
         return new ContextThemeWrapper(displayContext, theme) {
             @Override
             public Object getSystemService(String name) {
diff --git a/core/java/android/app/ResourcesManager.java b/core/java/android/app/ResourcesManager.java
index 31d254dc..c4673a3 100644
--- a/core/java/android/app/ResourcesManager.java
+++ b/core/java/android/app/ResourcesManager.java
@@ -149,17 +149,17 @@
     }
 
     DisplayMetrics getDisplayMetrics() {
-        return getDisplayMetrics(Display.DEFAULT_DISPLAY);
+        return getDisplayMetrics(Display.DEFAULT_DISPLAY,
+                DisplayAdjustments.DEFAULT_DISPLAY_ADJUSTMENTS);
     }
 
     /**
      * Protected so that tests can override and returns something a fixed value.
      */
     @VisibleForTesting
-    protected DisplayMetrics getDisplayMetrics(int displayId) {
+    protected @NonNull DisplayMetrics getDisplayMetrics(int displayId, DisplayAdjustments da) {
         DisplayMetrics dm = new DisplayMetrics();
-        final Display display =
-                getAdjustedDisplay(displayId, DisplayAdjustments.DEFAULT_DISPLAY_ADJUSTMENTS);
+        final Display display = getAdjustedDisplay(displayId, da);
         if (display != null) {
             display.getMetrics(dm);
         } else {
@@ -250,14 +250,14 @@
         // already.
         if (key.mResDir != null) {
             if (assets.addAssetPath(key.mResDir) == 0) {
-                throw new IllegalArgumentException("failed to add asset path " + key.mResDir);
+                throw new Resources.NotFoundException("failed to add asset path " + key.mResDir);
             }
         }
 
         if (key.mSplitResDirs != null) {
             for (final String splitResDir : key.mSplitResDirs) {
                 if (assets.addAssetPath(splitResDir) == 0) {
-                    throw new IllegalArgumentException(
+                    throw new Resources.NotFoundException(
                             "failed to add split asset path " + splitResDir);
                 }
             }
@@ -274,7 +274,7 @@
                 if (libDir.endsWith(".apk")) {
                     // Avoid opening files we know do not have resources,
                     // like code-only .jar files.
-                    if (assets.addAssetPath(libDir) == 0) {
+                    if (assets.addAssetPathAsSharedLibrary(libDir) == 0) {
                         Log.w(TAG, "Asset path '" + libDir +
                                 "' does not exist or contains no resources.");
                     }
@@ -303,11 +303,14 @@
         return config;
     }
 
-    private ResourcesImpl createResourcesImpl(@NonNull ResourcesKey key) {
-        AssetManager assets = createAssetManager(key);
-        DisplayMetrics dm = getDisplayMetrics(key.mDisplayId);
-        Configuration config = generateConfig(key, dm);
-        ResourcesImpl impl = new ResourcesImpl(assets, dm, config, key.mCompatInfo);
+    private @NonNull ResourcesImpl createResourcesImpl(@NonNull ResourcesKey key) {
+        final DisplayAdjustments daj = new DisplayAdjustments(key.mOverrideConfiguration);
+        daj.setCompatibilityInfo(key.mCompatInfo);
+
+        final AssetManager assets = createAssetManager(key);
+        final DisplayMetrics dm = getDisplayMetrics(key.mDisplayId, daj);
+        final Configuration config = generateConfig(key, dm);
+        final ResourcesImpl impl = new ResourcesImpl(assets, dm, config, daj);
         if (DEBUG) {
             Slog.d(TAG, "- creating impl=" + impl + " with key: " + key);
         }
@@ -330,6 +333,22 @@
     }
 
     /**
+     * Finds a cached ResourcesImpl object that matches the given ResourcesKey, or
+     * creates a new one and caches it for future use.
+     * @param key The key to match.
+     * @return a ResourcesImpl object matching the key.
+     */
+    private @NonNull ResourcesImpl findOrCreateResourcesImplForKeyLocked(
+            @NonNull ResourcesKey key) {
+        ResourcesImpl impl = findResourcesImplForKeyLocked(key);
+        if (impl == null) {
+            impl = createResourcesImpl(key);
+            mResourceImpls.put(key, new WeakReference<>(impl));
+        }
+        return impl;
+    }
+
+    /**
      * Find the ResourcesKey that this ResourcesImpl object is associated with.
      * @return the ResourcesKey or null if none was found.
      */
@@ -359,7 +378,7 @@
      * Gets an existing Resources object tied to this Activity, or creates one if it doesn't exist
      * or the class loader is different.
      */
-    private Resources getOrCreateResourcesForActivityLocked(@NonNull IBinder activityToken,
+    private @NonNull Resources getOrCreateResourcesForActivityLocked(@NonNull IBinder activityToken,
             @NonNull ClassLoader classLoader, @NonNull ResourcesImpl impl) {
         final ActivityResources activityResources = getOrCreateActivityResourcesStructLocked(
                 activityToken);
@@ -393,7 +412,7 @@
      * Gets an existing Resources object if the class loader and ResourcesImpl are the same,
      * otherwise creates a new Resources object.
      */
-    private Resources getOrCreateResourcesLocked(@NonNull ClassLoader classLoader,
+    private @NonNull Resources getOrCreateResourcesLocked(@NonNull ClassLoader classLoader,
             @NonNull ResourcesImpl impl) {
         // Find an existing Resources that has this ResourcesImpl set.
         final int refCount = mResourceReferences.size();
@@ -441,7 +460,7 @@
      *                    {@link ClassLoader#getSystemClassLoader()} is used.
      * @return a Resources object from which to access resources.
      */
-    public Resources createBaseActivityResources(@NonNull IBinder activityToken,
+    public @NonNull Resources createBaseActivityResources(@NonNull IBinder activityToken,
             @Nullable String resDir,
             @Nullable String[] splitResDirs,
             @Nullable String[] overlayDirs,
@@ -495,7 +514,7 @@
      *         {@link #applyConfigurationToResourcesLocked(Configuration, CompatibilityInfo)}
      *         is called.
      */
-    private Resources getOrCreateResources(@Nullable IBinder activityToken,
+    private @NonNull Resources getOrCreateResources(@Nullable IBinder activityToken,
             @NonNull ResourcesKey key, @NonNull ClassLoader classLoader) {
         synchronized (this) {
             if (DEBUG) {
@@ -603,7 +622,7 @@
      * {@link ClassLoader#getSystemClassLoader()} is used.
      * @return a Resources object from which to access resources.
      */
-    public Resources getResources(@Nullable IBinder activityToken,
+    public @NonNull Resources getResources(@Nullable IBinder activityToken,
             @Nullable String resDir,
             @Nullable String[] splitResDirs,
             @Nullable String[] overlayDirs,
@@ -788,7 +807,16 @@
                         }
                         tmpConfig.setTo(config);
                         if (!isDefaultDisplay) {
-                            dm = getDisplayMetrics(displayId);
+                            // Get new DisplayMetrics based on the DisplayAdjustments given
+                            // to the ResourcesImpl. Udate a copy if the CompatibilityInfo
+                            // changed, because the ResourcesImpl object will handle the
+                            // update internally.
+                            DisplayAdjustments daj = r.getDisplayAdjustments();
+                            if (compat != null) {
+                                daj = new DisplayAdjustments(daj);
+                                daj.setCompatibilityInfo(compat);
+                            }
+                            dm = getDisplayMetrics(displayId, daj);
                             applyNonDefaultDisplayMetricsToConfiguration(dm, tmpConfig);
                         }
                         if (hasOverrideConfiguration) {
@@ -811,4 +839,75 @@
             Trace.traceEnd(Trace.TRACE_TAG_RESOURCES);
         }
     }
+
+    /**
+     * Appends the library asset path to any ResourcesImpl object that contains the main
+     * assetPath.
+     * @param assetPath The main asset path for which to add the library asset path.
+     * @param libAsset The library asset path to add.
+     */
+    public void appendLibAssetForMainAssetPath(String assetPath, String libAsset) {
+        synchronized (this) {
+            // Record which ResourcesImpl need updating
+            // (and what ResourcesKey they should update to).
+            final ArrayMap<ResourcesImpl, ResourcesKey> updatedResourceKeys = new ArrayMap<>();
+
+            final int implCount = mResourceImpls.size();
+            for (int i = 0; i < implCount; i++) {
+                final ResourcesImpl impl = mResourceImpls.valueAt(i).get();
+                final ResourcesKey key = mResourceImpls.keyAt(i);
+                if (impl != null && key.mResDir.equals(assetPath)) {
+                    if (!ArrayUtils.contains(key.mLibDirs, libAsset)) {
+                        final int newLibAssetCount = 1 +
+                                (key.mLibDirs != null ? key.mLibDirs.length : 0);
+                        final String[] newLibAssets = new String[newLibAssetCount];
+                        if (key.mLibDirs != null) {
+                            System.arraycopy(key.mLibDirs, 0, newLibAssets, 0, key.mLibDirs.length);
+                        }
+                        newLibAssets[newLibAssetCount - 1] = libAsset;
+
+                        updatedResourceKeys.put(impl, new ResourcesKey(
+                                key.mResDir,
+                                key.mSplitResDirs,
+                                key.mOverlayDirs,
+                                newLibAssets,
+                                key.mDisplayId,
+                                key.mOverrideConfiguration,
+                                key.mCompatInfo));
+                    }
+                }
+            }
+
+            // Bail early if there is no work to do.
+            if (updatedResourceKeys.isEmpty()) {
+                return;
+            }
+
+            // Update any references to ResourcesImpl that require reloading.
+            final int resourcesCount = mResourceReferences.size();
+            for (int i = 0; i < resourcesCount; i++) {
+                final Resources r = mResourceReferences.get(i).get();
+                if (r != null) {
+                    final ResourcesKey key = updatedResourceKeys.get(r.getImpl());
+                    if (key != null) {
+                        r.setImpl(findOrCreateResourcesImplForKeyLocked(key));
+                    }
+                }
+            }
+
+            // Update any references to ResourcesImpl that require reloading for each Activity.
+            for (ActivityResources activityResources : mActivityResourceReferences.values()) {
+                final int resCount = activityResources.activityResources.size();
+                for (int i = 0; i < resCount; i++) {
+                    final Resources r = activityResources.activityResources.get(i).get();
+                    if (r != null) {
+                        final ResourcesKey key = updatedResourceKeys.get(r.getImpl());
+                        if (key != null) {
+                            r.setImpl(findOrCreateResourcesImplForKeyLocked(key));
+                        }
+                    }
+                }
+            }
+        }
+    }
 }
diff --git a/core/java/android/app/RetailDemoModeServiceInternal.java b/core/java/android/app/RetailDemoModeServiceInternal.java
new file mode 100644
index 0000000..7ca214a
--- /dev/null
+++ b/core/java/android/app/RetailDemoModeServiceInternal.java
@@ -0,0 +1,29 @@
+/*
+ * 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
+ */
+
+package android.app;
+
+/**
+ * Retail Demo Mode Service interface to be used locally inside system server
+ *
+ * @hide Only for use inside system server
+ */
+public interface RetailDemoModeServiceInternal {
+    /**
+     * Used to notify RetailDemoModeService of any user activity.
+     */
+    public void onUserActivity();
+}
\ No newline at end of file
diff --git a/core/java/android/app/SystemServiceRegistry.java b/core/java/android/app/SystemServiceRegistry.java
index 7cd13ea..55744b9 100644
--- a/core/java/android/app/SystemServiceRegistry.java
+++ b/core/java/android/app/SystemServiceRegistry.java
@@ -559,7 +559,7 @@
                 new CachedServiceFetcher<WindowManager>() {
             @Override
             public WindowManager createService(ContextImpl ctx) {
-                return new WindowManagerImpl(ctx.getDisplay());
+                return new WindowManagerImpl(ctx);
             }});
 
         registerService(Context.USER_SERVICE, UserManager.class,
diff --git a/core/java/android/app/TabActivity.java b/core/java/android/app/TabActivity.java
index 882e55a..637c8c1 100644
--- a/core/java/android/app/TabActivity.java
+++ b/core/java/android/app/TabActivity.java
@@ -28,23 +28,6 @@
  * {@link ActionBar#newTab() ActionBar.newTab()} and
  * related APIs for placing tabs within their action bar area.</p>
  *
- * <p>A replacement for TabActivity can also be implemented by directly using
- * TabHost.  You will need to define a layout that correctly uses a TabHost
- * with a TabWidget as well as an area in which to display your tab content.
- * A typical example would be:</p>
- *
- * {@sample development/samples/Support4Demos/res/layout/fragment_tabs.xml complete}
- *
- * <p>The implementation needs to take over responsibility for switching
- * the shown content when the user switches between tabs.
- *
- * {@sample development/samples/Support4Demos/src/com/example/android/supportv4/app/FragmentTabs.java
- *      complete}
- *
- * <p>Also see the <a href="{@docRoot}resources/samples/Support4Demos/src/com/example/android/supportv4/app/FragmentTabsPager.html">
- * Fragment Tabs Pager</a> sample for an example of using the support library's ViewPager to
- * allow the user to swipe the content to switch between tabs.</p>
- *
  * @deprecated New applications should use Fragments instead of this class;
  * to continue to run on older devices, you can use the v4 support library
  * which provides a version of the Fragment API that is compatible down to
diff --git a/core/java/android/app/WallpaperInfo.java b/core/java/android/app/WallpaperInfo.java
index 84a16cf..9d40381f 100644
--- a/core/java/android/app/WallpaperInfo.java
+++ b/core/java/android/app/WallpaperInfo.java
@@ -312,7 +312,12 @@
     }
 
     /**
-     * Queries whether any metadata should be shown when previewing the wallpaper.
+     * Queries whether any metadata should be shown when previewing the wallpaper. If this value is
+     * set to true, any component that shows a preview of this live wallpaper should also show
+     * accompanying information like {@link #loadLabel},
+     * {@link #loadDescription}, {@link #loadAuthor} and
+     * {@link #loadContextDescription(PackageManager)}, so the user gets to know further information
+     * about this wallpaper.
      *
      * @return Whether any metadata should be shown when previewing the wallpaper.
      */
diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java
index 18f93cd..7f467f0 100644
--- a/core/java/android/app/WallpaperManager.java
+++ b/core/java/android/app/WallpaperManager.java
@@ -1576,8 +1576,11 @@
         final String whichProp;
         final int defaultResId;
         if (which == FLAG_LOCK) {
+            /* Factory-default lock wallpapers are not yet supported
             whichProp = PROP_LOCK_WALLPAPER;
             defaultResId = com.android.internal.R.drawable.default_lock_wallpaper;
+            */
+            return null;
         } else {
             whichProp = PROP_WALLPAPER;
             defaultResId = com.android.internal.R.drawable.default_wallpaper;
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index 63afdd8..325a15f 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -3030,8 +3030,6 @@
      * @param lockdownEnabled {@code true} to disallow networking when the VPN is not connected or
      *        {@code false} otherwise. This carries the risk that any failure of the VPN provider
      *        could break networking for all apps. This has no effect when clearing.
-     * @return {@code true} if the package is set as always-on VPN controller; {@code false}
-     *         otherwise.
      * @throws SecurityException if {@code admin} is not a device or a profile owner.
      * @throws NameNotFoundException if {@code vpnPackage} is not installed.
      * @throws UnsupportedOperationException if {@code vpnPackage} exists but does not support being
diff --git a/core/java/android/app/admin/DevicePolicyManagerInternal.java b/core/java/android/app/admin/DevicePolicyManagerInternal.java
index 54a2f7a..9a0cd56 100644
--- a/core/java/android/app/admin/DevicePolicyManagerInternal.java
+++ b/core/java/android/app/admin/DevicePolicyManagerInternal.java
@@ -17,7 +17,6 @@
 package android.app.admin;
 
 import android.content.Intent;
-import android.os.UserHandle;
 
 import java.util.List;
 
@@ -48,6 +47,8 @@
      * Gets the packages whose widget providers are white-listed to be
      * available in the parent user.
      *
+     * <p>This takes the DPMS lock.  DO NOT call from PM/UM/AM with their lock held.
+     *
      * @param profileId The profile id.
      * @return The list of packages if such or empty list if there are
      *    no white-listed packages or the profile id is not a managed
@@ -59,6 +60,8 @@
      * Adds a listener for changes in the white-listed packages to show
      * cross-profile app widgets.
      *
+     * <p>This takes the DPMS lock.  DO NOT call from PM/UM/AM with their lock held.
+     *
      * @param listener The listener to add.
      */
     public abstract void addOnCrossProfileWidgetProvidersChangeListener(
@@ -67,6 +70,9 @@
     /**
      * Checks if an app with given uid is an active device admin of its user and has the policy
      * specified.
+     *
+     * <p>This takes the DPMS lock.  DO NOT call from PM/UM/AM with their lock held.
+     *
      * @param uid App uid.
      * @param reqPolicy Required policy, for policies see {@link DevicePolicyManager}.
      * @return true if the uid is an active admin with the given policy.
@@ -74,21 +80,12 @@
     public abstract boolean isActiveAdminWithPolicy(int uid, int reqPolicy);
 
     /**
-     * Checks if a given package has a device or a profile owner for the given user.
-     * <p>
-     * <em>Note: does <b>not</b> support negative userIds like {@link UserHandle#USER_ALL}</em>
-     *
-     * @param packageName The package to check
-     * @param userId the userId to check for.
-     * @return true if package has a device or profile owner, false otherwise.
-     */
-    public abstract boolean hasDeviceOwnerOrProfileOwner(String packageName, int userId);
-
-    /**
      * Creates an intent to show the admin support dialog to let the user know that the package is
      * suspended by the admin. This assumes that {@param packageName} is suspended by the
      * device/profile owner. The caller should check if the package is suspended or not.
      *
+     * <p>This method does not take the DPMS lock.  Safe to be called from anywhere.
+     *
      * @param packageName The package that is suspended
      * @param userId The user having the suspended package.
      * @return The intent to trigger the admin support dialog.
diff --git a/core/java/android/app/backup/IBackupManager.aidl b/core/java/android/app/backup/IBackupManager.aidl
index 5d4cc6f..a320bbf 100644
--- a/core/java/android/app/backup/IBackupManager.aidl
+++ b/core/java/android/app/backup/IBackupManager.aidl
@@ -218,6 +218,14 @@
     String[] listAllTransports();
 
     /**
+     * Retrieve the list of whitelisted transport components.  Callers do </i>not</i> need
+     * any special permission.
+     *
+     * @return The names of all whitelisted transport components defined by the system.
+     */
+    String[] getTransportWhitelist();
+
+    /**
      * Specify the current backup transport.  Callers must hold the
      * android.permission.BACKUP permission to use this method.
      *
diff --git a/core/java/android/app/job/JobInfo.java b/core/java/android/app/job/JobInfo.java
index c4ca82e..5823abf 100644
--- a/core/java/android/app/job/JobInfo.java
+++ b/core/java/android/app/job/JobInfo.java
@@ -28,6 +28,7 @@
 import android.util.Log;
 
 import java.util.ArrayList;
+import java.util.Objects;
 
 /**
  * Container of data passed to the {@link android.app.job.JobScheduler} fully encapsulating the
@@ -494,6 +495,20 @@
             return mFlags;
         }
 
+        @Override
+        public boolean equals(Object o) {
+            if (!(o instanceof TriggerContentUri)) {
+                return false;
+            }
+            TriggerContentUri t = (TriggerContentUri) o;
+            return Objects.equals(t.mUri, mUri) && t.mFlags == mFlags;
+        }
+
+        @Override
+        public int hashCode() {
+            return (mUri == null ? 0 : mUri.hashCode()) ^ mFlags;
+        }
+
         private TriggerContentUri(Parcel in) {
             mUri = Uri.CREATOR.createFromParcel(in);
             mFlags = in.readInt();
diff --git a/core/java/android/app/job/JobScheduler.java b/core/java/android/app/job/JobScheduler.java
index 9618cd10..1b640d0 100644
--- a/core/java/android/app/job/JobScheduler.java
+++ b/core/java/android/app/job/JobScheduler.java
@@ -18,6 +18,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.SystemApi;
 
 import java.util.List;
 
@@ -75,6 +76,7 @@
      * @return {@link #RESULT_SUCCESS} or {@link #RESULT_FAILURE}
      * @hide
      */
+    @SystemApi
     public abstract int scheduleAsPackage(JobInfo job, String packageName, int userId, String tag);
 
     /**
diff --git a/core/java/android/app/usage/NetworkStatsManager.java b/core/java/android/app/usage/NetworkStatsManager.java
index 720c84a..7961a72 100644
--- a/core/java/android/app/usage/NetworkStatsManager.java
+++ b/core/java/android/app/usage/NetworkStatsManager.java
@@ -305,7 +305,8 @@
      */
     public void registerUsageCallback(int networkType, String subscriberId, long thresholdBytes,
             UsageCallback callback) {
-        registerUsageCallback(networkType, subscriberId, thresholdBytes, null /* handler */);
+        registerUsageCallback(networkType, subscriberId, thresholdBytes, callback,
+                null /* handler */);
     }
 
     /**
diff --git a/core/java/android/bluetooth/BluetoothA2dp.java b/core/java/android/bluetooth/BluetoothA2dp.java
index f66b5ff..353c640 100644
--- a/core/java/android/bluetooth/BluetoothA2dp.java
+++ b/core/java/android/bluetooth/BluetoothA2dp.java
@@ -30,8 +30,11 @@
 import android.os.RemoteException;
 import android.util.Log;
 
+import com.android.internal.annotations.GuardedBy;
+
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
 
 
 /**
@@ -114,7 +117,8 @@
 
     private Context mContext;
     private ServiceListener mServiceListener;
-    private IBluetoothA2dp mService;
+    private final ReentrantReadWriteLock mServiceLock = new ReentrantReadWriteLock();
+    @GuardedBy("mServiceLock") private IBluetoothA2dp mService;
     private BluetoothAdapter mAdapter;
 
     final private IBluetoothStateChangeCallback mBluetoothStateChangeCallback =
@@ -122,25 +126,27 @@
                 public void onBluetoothStateChange(boolean up) {
                     if (DBG) Log.d(TAG, "onBluetoothStateChange: up=" + up);
                     if (!up) {
-                        if (VDBG) Log.d(TAG,"Unbinding service...");
-                        synchronized (mConnection) {
-                            try {
-                                mService = null;
-                                mContext.unbindService(mConnection);
-                            } catch (Exception re) {
-                                Log.e(TAG,"",re);
-                            }
+                        if (VDBG) Log.d(TAG, "Unbinding service...");
+                        try {
+                            mServiceLock.writeLock().lock();
+                            mService = null;
+                            mContext.unbindService(mConnection);
+                        } catch (Exception re) {
+                            Log.e(TAG, "", re);
+                        } finally {
+                            mServiceLock.writeLock().unlock();
                         }
                     } else {
-                        synchronized (mConnection) {
-                            try {
-                                if (mService == null) {
-                                    if (VDBG) Log.d(TAG,"Binding service...");
-                                    doBind();
-                                }
-                            } catch (Exception re) {
-                                Log.e(TAG,"",re);
+                        try {
+                            mServiceLock.readLock().lock();
+                            if (mService == null) {
+                                if (VDBG) Log.d(TAG,"Binding service...");
+                                doBind();
                             }
+                        } catch (Exception re) {
+                            Log.e(TAG,"",re);
+                        } finally {
+                            mServiceLock.readLock().unlock();
                         }
                     }
                 }
@@ -189,15 +195,16 @@
             }
         }
 
-        synchronized (mConnection) {
+        try {
+            mServiceLock.writeLock().lock();
             if (mService != null) {
-                try {
-                    mService = null;
-                    mContext.unbindService(mConnection);
-                } catch (Exception re) {
-                    Log.e(TAG,"",re);
-                }
+                mService = null;
+                mContext.unbindService(mConnection);
             }
+        } catch (Exception re) {
+            Log.e(TAG, "", re);
+        } finally {
+            mServiceLock.writeLock().unlock();
         }
     }
 
@@ -229,17 +236,20 @@
      */
     public boolean connect(BluetoothDevice device) {
         if (DBG) log("connect(" + device + ")");
-        if (mService != null && isEnabled() &&
-            isValidDevice(device)) {
-            try {
+        try {
+            mServiceLock.readLock().lock();
+            if (mService != null && isEnabled() &&
+                isValidDevice(device)) {
                 return mService.connect(device);
-            } catch (RemoteException e) {
-                Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
-                return false;
             }
+            if (mService == null) Log.w(TAG, "Proxy not attached to service");
+            return false;
+        } catch (RemoteException e) {
+            Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
+            return false;
+        } finally {
+            mServiceLock.readLock().unlock();
         }
-        if (mService == null) Log.w(TAG, "Proxy not attached to service");
-        return false;
     }
 
     /**
@@ -270,17 +280,20 @@
      */
     public boolean disconnect(BluetoothDevice device) {
         if (DBG) log("disconnect(" + device + ")");
-        if (mService != null && isEnabled() &&
-            isValidDevice(device)) {
-            try {
+        try {
+            mServiceLock.readLock().lock();
+            if (mService != null && isEnabled() &&
+                isValidDevice(device)) {
                 return mService.disconnect(device);
-            } catch (RemoteException e) {
-                Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
-                return false;
             }
+            if (mService == null) Log.w(TAG, "Proxy not attached to service");
+            return false;
+        } catch (RemoteException e) {
+            Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
+            return false;
+        } finally {
+            mServiceLock.readLock().unlock();
         }
-        if (mService == null) Log.w(TAG, "Proxy not attached to service");
-        return false;
     }
 
     /**
@@ -288,16 +301,19 @@
      */
     public List<BluetoothDevice> getConnectedDevices() {
         if (VDBG) log("getConnectedDevices()");
-        if (mService != null && isEnabled()) {
-            try {
+        try {
+            mServiceLock.readLock().lock();
+            if (mService != null && isEnabled()) {
                 return mService.getConnectedDevices();
-            } catch (RemoteException e) {
-                Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
-                return new ArrayList<BluetoothDevice>();
             }
+            if (mService == null) Log.w(TAG, "Proxy not attached to service");
+            return new ArrayList<BluetoothDevice>();
+        } catch (RemoteException e) {
+            Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
+            return new ArrayList<BluetoothDevice>();
+        } finally {
+            mServiceLock.readLock().unlock();
         }
-        if (mService == null) Log.w(TAG, "Proxy not attached to service");
-        return new ArrayList<BluetoothDevice>();
     }
 
     /**
@@ -305,16 +321,19 @@
      */
     public List<BluetoothDevice> getDevicesMatchingConnectionStates(int[] states) {
         if (VDBG) log("getDevicesMatchingStates()");
-        if (mService != null && isEnabled()) {
-            try {
+        try {
+            mServiceLock.readLock().lock();
+            if (mService != null && isEnabled()) {
                 return mService.getDevicesMatchingConnectionStates(states);
-            } catch (RemoteException e) {
-                Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
-                return new ArrayList<BluetoothDevice>();
             }
+            if (mService == null) Log.w(TAG, "Proxy not attached to service");
+            return new ArrayList<BluetoothDevice>();
+        } catch (RemoteException e) {
+            Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
+            return new ArrayList<BluetoothDevice>();
+        } finally {
+            mServiceLock.readLock().unlock();
         }
-        if (mService == null) Log.w(TAG, "Proxy not attached to service");
-        return new ArrayList<BluetoothDevice>();
     }
 
     /**
@@ -322,17 +341,20 @@
      */
     public int getConnectionState(BluetoothDevice device) {
         if (VDBG) log("getState(" + device + ")");
-        if (mService != null && isEnabled()
-            && isValidDevice(device)) {
-            try {
+        try {
+            mServiceLock.readLock().lock();
+            if (mService != null && isEnabled()
+                && isValidDevice(device)) {
                 return mService.getConnectionState(device);
-            } catch (RemoteException e) {
-                Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
-                return BluetoothProfile.STATE_DISCONNECTED;
             }
+            if (mService == null) Log.w(TAG, "Proxy not attached to service");
+            return BluetoothProfile.STATE_DISCONNECTED;
+        } catch (RemoteException e) {
+            Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
+            return BluetoothProfile.STATE_DISCONNECTED;
+        } finally {
+            mServiceLock.readLock().unlock();
         }
-        if (mService == null) Log.w(TAG, "Proxy not attached to service");
-        return BluetoothProfile.STATE_DISCONNECTED;
     }
 
     /**
@@ -352,21 +374,24 @@
      */
     public boolean setPriority(BluetoothDevice device, int priority) {
         if (DBG) log("setPriority(" + device + ", " + priority + ")");
-        if (mService != null && isEnabled()
-            && isValidDevice(device)) {
-            if (priority != BluetoothProfile.PRIORITY_OFF &&
-                priority != BluetoothProfile.PRIORITY_ON){
-              return false;
-            }
-            try {
+        try {
+            mServiceLock.readLock().lock();
+            if (mService != null && isEnabled()
+                && isValidDevice(device)) {
+                if (priority != BluetoothProfile.PRIORITY_OFF &&
+                    priority != BluetoothProfile.PRIORITY_ON) {
+                    return false;
+                }
                 return mService.setPriority(device, priority);
-            } catch (RemoteException e) {
-                Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
-                return false;
             }
+            if (mService == null) Log.w(TAG, "Proxy not attached to service");
+            return false;
+        } catch (RemoteException e) {
+            Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
+            return false;
+        } finally {
+            mServiceLock.readLock().unlock();
         }
-        if (mService == null) Log.w(TAG, "Proxy not attached to service");
-        return false;
     }
 
     /**
@@ -385,17 +410,20 @@
     @RequiresPermission(Manifest.permission.BLUETOOTH)
     public int getPriority(BluetoothDevice device) {
         if (VDBG) log("getPriority(" + device + ")");
-        if (mService != null && isEnabled()
-            && isValidDevice(device)) {
-            try {
+        try {
+            mServiceLock.readLock().lock();
+            if (mService != null && isEnabled()
+                && isValidDevice(device)) {
                 return mService.getPriority(device);
-            } catch (RemoteException e) {
-                Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
-                return BluetoothProfile.PRIORITY_OFF;
             }
+            if (mService == null) Log.w(TAG, "Proxy not attached to service");
+            return BluetoothProfile.PRIORITY_OFF;
+        } catch (RemoteException e) {
+            Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
+            return BluetoothProfile.PRIORITY_OFF;
+        } finally {
+            mServiceLock.readLock().unlock();
         }
-        if (mService == null) Log.w(TAG, "Proxy not attached to service");
-        return BluetoothProfile.PRIORITY_OFF;
     }
 
     /**
@@ -406,16 +434,19 @@
      */
     public boolean isAvrcpAbsoluteVolumeSupported() {
         if (DBG) Log.d(TAG, "isAvrcpAbsoluteVolumeSupported");
-        if (mService != null && isEnabled()) {
-            try {
+        try {
+            mServiceLock.readLock().lock();
+            if (mService != null && isEnabled()) {
                 return mService.isAvrcpAbsoluteVolumeSupported();
-            } catch (RemoteException e) {
-                Log.e(TAG, "Error talking to BT service in isAvrcpAbsoluteVolumeSupported()", e);
-                return false;
             }
+            if (mService == null) Log.w(TAG, "Proxy not attached to service");
+            return false;
+        } catch (RemoteException e) {
+            Log.e(TAG, "Error talking to BT service in isAvrcpAbsoluteVolumeSupported()", e);
+            return false;
+        } finally {
+            mServiceLock.readLock().unlock();
         }
-        if (mService == null) Log.w(TAG, "Proxy not attached to service");
-        return false;
     }
 
     /**
@@ -433,16 +464,17 @@
      */
     public void adjustAvrcpAbsoluteVolume(int direction) {
         if (DBG) Log.d(TAG, "adjustAvrcpAbsoluteVolume");
-        if (mService != null && isEnabled()) {
-            try {
+        try {
+            mServiceLock.readLock().lock();
+            if (mService != null && isEnabled()) {
                 mService.adjustAvrcpAbsoluteVolume(direction);
-                return;
-            } catch (RemoteException e) {
-                Log.e(TAG, "Error talking to BT service in adjustAvrcpAbsoluteVolume()", e);
-                return;
             }
+            if (mService == null) Log.w(TAG, "Proxy not attached to service");
+        } catch (RemoteException e) {
+            Log.e(TAG, "Error talking to BT service in adjustAvrcpAbsoluteVolume()", e);
+        } finally {
+            mServiceLock.readLock().unlock();
         }
-        if (mService == null) Log.w(TAG, "Proxy not attached to service");
     }
 
     /**
@@ -453,16 +485,17 @@
      */
     public void setAvrcpAbsoluteVolume(int volume) {
         if (DBG) Log.d(TAG, "setAvrcpAbsoluteVolume");
-        if (mService != null && isEnabled()) {
-            try {
+        try {
+            mServiceLock.readLock().lock();
+            if (mService != null && isEnabled()) {
                 mService.setAvrcpAbsoluteVolume(volume);
-                return;
-            } catch (RemoteException e) {
-                Log.e(TAG, "Error talking to BT service in setAvrcpAbsoluteVolume()", e);
-                return;
             }
+            if (mService == null) Log.w(TAG, "Proxy not attached to service");
+        } catch (RemoteException e) {
+            Log.e(TAG, "Error talking to BT service in setAvrcpAbsoluteVolume()", e);
+        } finally {
+            mServiceLock.readLock().unlock();
         }
-        if (mService == null) Log.w(TAG, "Proxy not attached to service");
     }
 
     /**
@@ -473,17 +506,20 @@
      * @param device BluetoothDevice device
      */
     public boolean isA2dpPlaying(BluetoothDevice device) {
-        if (mService != null && isEnabled()
-            && isValidDevice(device)) {
-            try {
+        try {
+            mServiceLock.readLock().lock();
+            if (mService != null && isEnabled()
+                && isValidDevice(device)) {
                 return mService.isA2dpPlaying(device);
-            } catch (RemoteException e) {
-                Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
-                return false;
             }
+            if (mService == null) Log.w(TAG, "Proxy not attached to service");
+            return false;
+        } catch (RemoteException e) {
+            Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
+            return false;
+        } finally {
+            mServiceLock.readLock().unlock();
         }
-        if (mService == null) Log.w(TAG, "Proxy not attached to service");
-        return false;
     }
 
     /**
@@ -534,7 +570,12 @@
     private final ServiceConnection mConnection = new ServiceConnection() {
         public void onServiceConnected(ComponentName className, IBinder service) {
             if (DBG) Log.d(TAG, "Proxy object connected");
-            mService = IBluetoothA2dp.Stub.asInterface(service);
+            try {
+                mServiceLock.writeLock().lock();
+                mService = IBluetoothA2dp.Stub.asInterface(service);
+            } finally {
+                mServiceLock.writeLock().unlock();
+            }
 
             if (mServiceListener != null) {
                 mServiceListener.onServiceConnected(BluetoothProfile.A2DP, BluetoothA2dp.this);
@@ -542,7 +583,12 @@
         }
         public void onServiceDisconnected(ComponentName className) {
             if (DBG) Log.d(TAG, "Proxy object disconnected");
-            mService = null;
+            try {
+                mServiceLock.writeLock().lock();
+                mService = null;
+            } finally {
+                mServiceLock.writeLock().unlock();
+            }
             if (mServiceListener != null) {
                 mServiceListener.onServiceDisconnected(BluetoothProfile.A2DP);
             }
diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java
index 9390bcd..47ae687 100644
--- a/core/java/android/bluetooth/BluetoothAdapter.java
+++ b/core/java/android/bluetooth/BluetoothAdapter.java
@@ -897,28 +897,10 @@
      */
     @RequiresPermission(Manifest.permission.BLUETOOTH_ADMIN)
     public boolean enable() {
-        int state = BluetoothAdapter.STATE_OFF;
         if (isEnabled() == true) {
             if (DBG) Log.d(TAG, "enable(): BT is already enabled..!");
             return true;
         }
-        // Use service interface to get the exact state
-        try {
-            mServiceLock.readLock().lock();
-            if (mService != null) {
-                state = mService.getState();
-            }
-        } catch (RemoteException e) {
-            Log.e(TAG, "", e);
-        } finally {
-            mServiceLock.readLock().unlock();
-        }
-
-        if (state == BluetoothAdapter.STATE_BLE_ON) {
-                Log.e(TAG, "BT is in BLE_ON State");
-                notifyUserAction(true);
-                return true;
-        }
         try {
             return mManagerService.enable();
         } catch (RemoteException e) {Log.e(TAG, "", e);}
diff --git a/core/java/android/bluetooth/BluetoothSap.java b/core/java/android/bluetooth/BluetoothSap.java
index 014cb22..e70c936 100644
--- a/core/java/android/bluetooth/BluetoothSap.java
+++ b/core/java/android/bluetooth/BluetoothSap.java
@@ -138,7 +138,7 @@
     }
 
     boolean doBind() {
-        Intent intent = new Intent(IBluetoothMap.class.getName());
+        Intent intent = new Intent(IBluetoothSap.class.getName());
         ComponentName comp = intent.resolveSystemService(mContext.getPackageManager(), 0);
         intent.setComponent(comp);
         if (comp == null || !mContext.bindServiceAsUser(intent, mConnection, 0,
diff --git a/core/java/android/bluetooth/BluetoothSocket.java b/core/java/android/bluetooth/BluetoothSocket.java
index ae12c88..ec01bef 100644
--- a/core/java/android/bluetooth/BluetoothSocket.java
+++ b/core/java/android/bluetooth/BluetoothSocket.java
@@ -532,22 +532,19 @@
                 if(length <= mMaxTxPacketSize) {
                     mSocketOS.write(b, offset, length);
                 } else {
-                    int tmpOffset = offset;
-                    int tmpLength = mMaxTxPacketSize;
-                    int endIndex = offset + length;
-                    boolean done = false;
                     if(DBG) Log.w(TAG, "WARNING: Write buffer larger than L2CAP packet size!\n"
                             + "Packet will be divided into SDU packets of size "
                             + mMaxTxPacketSize);
-                    do{
+                    int tmpOffset = offset;
+                    int bytesToWrite = length;
+                    while (bytesToWrite > 0) {
+                        int tmpLength = (bytesToWrite > mMaxTxPacketSize)
+                                ? mMaxTxPacketSize
+                                : bytesToWrite;
                         mSocketOS.write(b, tmpOffset, tmpLength);
-                        tmpOffset += mMaxTxPacketSize;
-                        if((tmpOffset + mMaxTxPacketSize) > endIndex) {
-                            tmpLength = endIndex - tmpOffset;
-                            done = true;
-                        }
-                    } while(!done);
-
+                        tmpOffset += tmpLength;
+                        bytesToWrite -= tmpLength;
+                    }
                 }
             } else {
                 mSocketOS.write(b, offset, length);
diff --git a/core/java/android/content/ContentResolver.java b/core/java/android/content/ContentResolver.java
index aeda7a2..c8d8920 100644
--- a/core/java/android/content/ContentResolver.java
+++ b/core/java/android/content/ContentResolver.java
@@ -1819,6 +1819,7 @@
      * calling app. That is, the returned permissions have been granted
      * <em>to</em> the calling app. Only persistable grants taken with
      * {@link #takePersistableUriPermission(Uri, int)} are returned.
+     * <p>Note: Some of the returned URIs may not be usable until after the user is unlocked.
      *
      * @see #takePersistableUriPermission(Uri, int)
      * @see #releasePersistableUriPermission(Uri, int)
@@ -1837,6 +1838,7 @@
      * calling app. That is, the returned permissions have been granted
      * <em>from</em> the calling app. Only grants taken with
      * {@link #takePersistableUriPermission(Uri, int)} are returned.
+     * <p>Note: Some of the returned URIs may not be usable until after the user is unlocked.
      */
     public @NonNull List<UriPermission> getOutgoingPersistedUriPermissions() {
         try {
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index 8b3eac5..3f18ea9 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -3615,7 +3615,8 @@
     public static final String HARDWARE_PROPERTIES_SERVICE = "hardware_properties";
 
     /**
-     * TODO Javadoc
+     * Use with {@link #getSystemService} to retrieve a
+     * {@link android.content.pm.ShortcutManager} for accessing the launcher shortcut service.
      *
      * @see #getSystemService
      * @see android.content.pm.ShortcutManager
@@ -3644,6 +3645,12 @@
     public static final String SYSTEM_HEALTH_SERVICE = "systemhealth";
 
     /**
+     * Gatekeeper Service.
+     * @hide
+     */
+    public static final String GATEKEEPER_SERVICE = "android.service.gatekeeper.IGateKeeperService";
+
+    /**
      * Determine whether the given permission is allowed for a particular
      * process and user ID running in the system.
      *
@@ -4271,6 +4278,11 @@
     public abstract DisplayAdjustments getDisplayAdjustments(int displayId);
 
     /**
+     * @hide
+     */
+    public abstract Display getDisplay();
+
+    /**
      * Indicates whether this Context is restricted.
      *
      * @return {@code true} if this Context is restricted, {@code false} otherwise.
diff --git a/core/java/android/content/ContextWrapper.java b/core/java/android/content/ContextWrapper.java
index 087ac47..60da63e 100644
--- a/core/java/android/content/ContextWrapper.java
+++ b/core/java/android/content/ContextWrapper.java
@@ -819,6 +819,14 @@
         return mBase.getDisplayAdjustments(displayId);
     }
 
+    /**
+     * @hide
+     */
+    @Override
+    public Display getDisplay() {
+        return mBase.getDisplay();
+    }
+
     @Override
     public Context createDeviceProtectedStorageContext() {
         return mBase.createDeviceProtectedStorageContext();
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index df2c6fc..c140f1b 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -1556,7 +1556,7 @@
 
     /**
      * Used as an int extra field with {@link #ACTION_INSTALL_PACKAGE} and
-     * {@link} #ACTION_VIEW} to indicate the uid of the package that initiated the install
+     * {@link #ACTION_VIEW} to indicate the uid of the package that initiated the install
      * @hide
      */
     @SystemApi
diff --git a/core/java/android/content/pm/EphemeralResolveInfo.java b/core/java/android/content/pm/EphemeralResolveInfo.java
index afb4c30..fc3b958 100644
--- a/core/java/android/content/pm/EphemeralResolveInfo.java
+++ b/core/java/android/content/pm/EphemeralResolveInfo.java
@@ -27,6 +27,7 @@
 import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Locale;
 
 /**
  * Information about an ephemeral application.
@@ -37,10 +38,7 @@
     /** Algorithm that will be used to generate the domain digest */
     public static final String SHA_ALGORITHM = "SHA-256";
 
-    /** Full digest of the domain hash */
-    private final byte[] mDigestBytes;
-    /** The first 4 bytes of the domain hash */
-    private final int mDigestPrefix;
+    private final EphemeralDigest mDigest;
     private final String mPackageName;
     /** The filters used to match domain */
     private final List<IntentFilter> mFilters = new ArrayList<IntentFilter>();
@@ -55,29 +53,23 @@
             throw new IllegalArgumentException();
         }
 
-        mDigestBytes = generateDigest(uri);
-        mDigestPrefix =
-                mDigestBytes[0] << 24
-                | mDigestBytes[1] << 16
-                | mDigestBytes[2] << 8
-                | mDigestBytes[3] << 0;
+        mDigest = new EphemeralDigest(uri, 0xFFFFFFFF, -1);
         mFilters.addAll(filters);
         mPackageName = packageName;
     }
 
     EphemeralResolveInfo(Parcel in) {
-        mDigestBytes = in.createByteArray();
-        mDigestPrefix = in.readInt();
+        mDigest = in.readParcelable(null /*loader*/);
         mPackageName = in.readString();
         in.readList(mFilters, null /*loader*/);
     }
 
     public byte[] getDigestBytes() {
-        return mDigestBytes;
+        return mDigest.getDigestBytes()[0];
     }
 
     public int getDigestPrefix() {
-        return mDigestPrefix;
+        return mDigest.getDigestPrefix()[0];
     }
 
     public String getPackageName() {
@@ -88,16 +80,6 @@
         return mFilters;
     }
 
-    private static byte[] generateDigest(Uri uri) {
-        try {
-            final MessageDigest digest = MessageDigest.getInstance(SHA_ALGORITHM);
-            final byte[] hostBytes = uri.getHost().getBytes();
-            return digest.digest(hostBytes);
-        } catch (NoSuchAlgorithmException e) {
-            throw new IllegalStateException("could not find digest algorithm");
-        }
-    }
-
     @Override
     public int describeContents() {
         return 0;
@@ -105,8 +87,7 @@
 
     @Override
     public void writeToParcel(Parcel out, int flags) {
-        out.writeByteArray(mDigestBytes);
-        out.writeInt(mDigestPrefix);
+        out.writeParcelable(mDigest, flags);
         out.writeString(mPackageName);
         out.writeList(mFilters);
     }
@@ -136,4 +117,121 @@
             return mResolveInfo;
         }
     }
+
+    /**
+     * Helper class to generate and store each of the digests and prefixes
+     * sent to the Ephemeral Resolver.
+     * <p>
+     * Since intent filters may want to handle multiple hosts within a
+     * domain [eg “*.google.com”], the resolver is presented with multiple
+     * hash prefixes. For example, "a.b.c.d.e" generates digests for
+     * "d.e", "c.d.e", "b.c.d.e" and "a.b.c.d.e".
+     *
+     * @hide
+     */
+    public static final class EphemeralDigest implements Parcelable {
+        /** Full digest of the domain hashes */
+        private final byte[][] mDigestBytes;
+        /** The first 4 bytes of the domain hashes */
+        private final int[] mDigestPrefix;
+
+        public EphemeralDigest(@NonNull Uri uri, int digestMask, int maxDigests) {
+            if (uri == null) {
+                throw new IllegalArgumentException();
+            }
+            mDigestBytes = generateDigest(uri, maxDigests);
+            mDigestPrefix = new int[mDigestBytes.length];
+            for (int i = 0; i < mDigestBytes.length; i++) {
+                mDigestPrefix[i] =
+                        ((mDigestBytes[i][0] & 0xFF) << 24
+                                | (mDigestBytes[i][1] & 0xFF) << 16
+                                | (mDigestBytes[i][2] & 0xFF) << 8
+                                | (mDigestBytes[i][3] & 0xFF) << 0)
+                        & digestMask;
+            }
+        }
+
+        private static byte[][] generateDigest(Uri uri, int maxDigests) {
+            ArrayList<byte[]> digests = new ArrayList<>();
+            try {
+                final String host = uri.getHost().toLowerCase(Locale.ENGLISH);
+                final MessageDigest digest = MessageDigest.getInstance(SHA_ALGORITHM);
+                if (maxDigests <= 0) {
+                    final byte[] hostBytes = host.getBytes();
+                    digests.add(digest.digest(hostBytes));
+                } else {
+                    int prevDot = host.lastIndexOf('.');
+                    prevDot = host.lastIndexOf('.', prevDot - 1);
+                    // shortcut for short URLs
+                    if (prevDot < 0) {
+                        digests.add(digest.digest(host.getBytes()));
+                    } else {
+                        byte[] hostBytes = host.substring(prevDot + 1, host.length()).getBytes();
+                        digests.add(digest.digest(hostBytes));
+                        int digestCount = 1;
+                        while (prevDot >= 0 && digestCount < maxDigests) {
+                            prevDot = host.lastIndexOf('.', prevDot - 1);
+                            hostBytes = host.substring(prevDot + 1, host.length()).getBytes();
+                            digests.add(digest.digest(hostBytes));
+                            digestCount++;
+                        }
+                    }
+                }
+            } catch (NoSuchAlgorithmException e) {
+                throw new IllegalStateException("could not find digest algorithm");
+            }
+            return digests.toArray(new byte[digests.size()][]);
+        }
+
+        EphemeralDigest(Parcel in) {
+            final int digestCount = in.readInt();
+            if (digestCount == -1) {
+                mDigestBytes = null;
+            } else {
+                mDigestBytes = new byte[digestCount][];
+                for (int i = 0; i < digestCount; i++) {
+                    mDigestBytes[i] = in.createByteArray();
+                }
+            }
+            mDigestPrefix = in.createIntArray();
+        }
+
+        public byte[][] getDigestBytes() {
+            return mDigestBytes;
+        }
+
+        public int[] getDigestPrefix() {
+            return mDigestPrefix;
+        }
+
+        @Override
+        public int describeContents() {
+            return 0;
+        }
+
+        @Override
+        public void writeToParcel(Parcel out, int flags) {
+            if (mDigestBytes == null) {
+                out.writeInt(-1);
+            } else {
+                out.writeInt(mDigestBytes.length);
+                for (int i = 0; i < mDigestBytes.length; i++) {
+                    out.writeByteArray(mDigestBytes[i]);
+                }
+            }
+            out.writeIntArray(mDigestPrefix);
+        }
+
+        @SuppressWarnings("hiding")
+        public static final Parcelable.Creator<EphemeralDigest> CREATOR =
+                new Parcelable.Creator<EphemeralDigest>() {
+            public EphemeralDigest createFromParcel(Parcel in) {
+                return new EphemeralDigest(in);
+            }
+
+            public EphemeralDigest[] newArray(int size) {
+                return new EphemeralDigest[size];
+            }
+        };
+    }
 }
diff --git a/core/java/android/content/pm/ILauncherApps.aidl b/core/java/android/content/pm/ILauncherApps.aidl
index 430c7e7..c19e638 100644
--- a/core/java/android/content/pm/ILauncherApps.aidl
+++ b/core/java/android/content/pm/ILauncherApps.aidl
@@ -51,7 +51,7 @@
             in List shortcutIds, in ComponentName componentName, int flags, in UserHandle user);
     void pinShortcuts(String callingPackage, String packageName, in List<String> shortcutIds,
             in UserHandle user);
-    boolean startShortcut(String callingPackage, String packageName, String id,
+    void startShortcut(String callingPackage, String packageName, String id,
             in Rect sourceBounds, in Bundle startActivityOptions, int userId);
 
     int getShortcutIconResId(String callingPackage, String packageName, String id,
diff --git a/core/java/android/content/pm/IOtaDexopt.aidl b/core/java/android/content/pm/IOtaDexopt.aidl
index 8f38d6f..467bd5f 100644
--- a/core/java/android/content/pm/IOtaDexopt.aidl
+++ b/core/java/android/content/pm/IOtaDexopt.aidl
@@ -42,8 +42,21 @@
     boolean isDone();
 
     /**
+     * Return the progress (0..1) made in this session. When {@link #isDone() isDone} returns
+     * true, the progress value will be 1.
+     */
+    float getProgress();
+
+    /**
      * Optimize the next package. Note: this command is synchronous, that is, only returns after
      * the package has been dexopted (or dexopting failed).
+     *
+     * Note: this will be removed after a transition period. Use nextDexoptCommand instead.
      */
     void dexoptNextPackage();
+
+    /**
+     * Get the optimization parameters for the next package.
+     */
+    String nextDexoptCommand();
 }
diff --git a/core/java/android/content/pm/IShortcutService.aidl b/core/java/android/content/pm/IShortcutService.aidl
index 1c373f9..1bf2ab0 100644
--- a/core/java/android/content/pm/IShortcutService.aidl
+++ b/core/java/android/content/pm/IShortcutService.aidl
@@ -41,12 +41,12 @@
 
     boolean updateShortcuts(String packageName, in ParceledListSlice shortcuts, int userId);
 
-    void disableShortcuts(String packageName, in List shortcutIds, String disabledMessage,
+    void disableShortcuts(String packageName, in List shortcutIds, CharSequence disabledMessage,
             int disabledMessageResId, int userId);
 
     void enableShortcuts(String packageName, in List shortcutIds, int userId);
 
-    int getMaxDynamicShortcutCount(String packageName, int userId);
+    int getMaxShortcutCountPerActivity(String packageName, int userId);
 
     int getRemainingCallCount(String packageName, int userId);
 
diff --git a/core/java/android/content/pm/LauncherApps.java b/core/java/android/content/pm/LauncherApps.java
index 6cb50fc..528fe20 100644
--- a/core/java/android/content/pm/LauncherApps.java
+++ b/core/java/android/content/pm/LauncherApps.java
@@ -171,8 +171,9 @@
          * as defined in {@link #hasShortcutHostPermission()}, will receive it.
          *
          * @param packageName The name of the package that has the shortcuts.
-         * @param shortcuts all shortcuts from the package (dynamic and/or pinned).  Only "key"
-         *    information will be provided, as defined in {@link ShortcutInfo#hasKeyFieldsOnly()}.
+         * @param shortcuts all shortcuts from the package (dynamic, manifest and/or pinned).
+         *    Only "key" information will be provided, as defined in
+         *    {@link ShortcutInfo#hasKeyFieldsOnly()}.
          * @param user The UserHandle of the profile that generated the change.
          */
         public void onShortcutsChanged(@NonNull String packageName,
@@ -187,17 +188,37 @@
         /**
          * Include dynamic shortcuts in the result.
          */
-        public static final int FLAG_GET_DYNAMIC = 1 << 0;
+        public static final int FLAG_MATCH_DYNAMIC = 1 << 0;
+
+        /** @hide kept for unit tests */
+        @Deprecated
+        public static final int FLAG_GET_DYNAMIC = FLAG_MATCH_DYNAMIC;
 
         /**
          * Include pinned shortcuts in the result.
          */
-        public static final int FLAG_GET_PINNED = 1 << 1;
+        public static final int FLAG_MATCH_PINNED = 1 << 1;
+
+        /** @hide kept for unit tests */
+        @Deprecated
+        public static final int FLAG_GET_PINNED = FLAG_MATCH_PINNED;
 
         /**
          * Include manifest shortcuts in the result.
          */
-        public static final int FLAG_GET_MANIFEST = 1 << 3;
+        public static final int FLAG_MATCH_MANIFEST = 1 << 3;
+
+        /** @hide kept for unit tests */
+        @Deprecated
+        public static final int FLAG_GET_MANIFEST = FLAG_MATCH_MANIFEST;
+
+        /** @hide */
+        public static final int FLAG_MATCH_ALL_KINDS =
+                FLAG_GET_DYNAMIC | FLAG_GET_PINNED | FLAG_GET_MANIFEST;
+
+        /** @hide kept for unit tests */
+        @Deprecated
+        public static final int FLAG_GET_ALL_KINDS = FLAG_MATCH_ALL_KINDS;
 
         /**
          * Requests "key" fields only.  See {@link ShortcutInfo#hasKeyFieldsOnly()} for which
@@ -208,9 +229,9 @@
         /** @hide */
         @IntDef(flag = true,
                 value = {
-                        FLAG_GET_DYNAMIC,
-                        FLAG_GET_PINNED,
-                        FLAG_GET_MANIFEST,
+                        FLAG_MATCH_DYNAMIC,
+                        FLAG_MATCH_PINNED,
+                        FLAG_MATCH_MANIFEST,
                         FLAG_GET_KEY_FIELDS_ONLY,
                 })
         @Retention(RetentionPolicy.SOURCE)
@@ -480,12 +501,13 @@
      * @hide // No longer used.  Use getShortcuts() instead.  Kept for unit tests.
      */
     @Nullable
+    @Deprecated
     public List<ShortcutInfo> getShortcutInfo(@NonNull String packageName,
             @NonNull List<String> ids, @NonNull UserHandle user) {
         final ShortcutQuery q = new ShortcutQuery();
         q.setPackage(packageName);
         q.setShortcutIds(ids);
-        q.setQueryFlags(ShortcutQuery.FLAG_GET_DYNAMIC | ShortcutQuery.FLAG_GET_PINNED);
+        q.setQueryFlags(ShortcutQuery.FLAG_GET_ALL_KINDS);
         return getShortcuts(q, user);
     }
 
@@ -514,6 +536,7 @@
     /**
      * @hide kept for testing.
      */
+    @Deprecated
     public int getShortcutIconResId(@NonNull ShortcutInfo shortcut) {
         return shortcut.getIconResourceId();
     }
@@ -521,25 +544,20 @@
     /**
      * @hide kept for testing.
      */
+    @Deprecated
     public int getShortcutIconResId(@NonNull String packageName, @NonNull String shortcutId,
             @NonNull UserHandle user) {
         final ShortcutQuery q = new ShortcutQuery();
         q.setPackage(packageName);
         q.setShortcutIds(Arrays.asList(shortcutId));
-        q.setQueryFlags(ShortcutQuery.FLAG_GET_DYNAMIC | ShortcutQuery.FLAG_GET_PINNED);
+        q.setQueryFlags(ShortcutQuery.FLAG_GET_ALL_KINDS);
         final List<ShortcutInfo> shortcuts = getShortcuts(q, user);
 
         return shortcuts.size() > 0 ? shortcuts.get(0).getIconResourceId() : 0;
     }
 
     /**
-     * Return the icon as {@link ParcelFileDescriptor}, when it's stored as a file
-     * (i.e. when {@link ShortcutInfo#hasIconFile()} returns {@code true}).
-     *
-     * <p>Callers must be allowed to access the shortcut information, as defined in {@link
-     * #hasShortcutHostPermission()}.
-     *
-     * @param shortcut The target shortcut.
+     * @hide internal/unit tests only
      */
     public ParcelFileDescriptor getShortcutIconFd(
             @NonNull ShortcutInfo shortcut) {
@@ -548,15 +566,7 @@
     }
 
     /**
-     * Return the icon as {@link ParcelFileDescriptor}, when it's stored as a file
-     * (i.e. when {@link ShortcutInfo#hasIconFile()} returns {@code true}).
-     *
-     * <p>Callers must be allowed to access the shortcut information, as defined in {@link
-     * #hasShortcutHostPermission()}.
-     *
-     * @param packageName The target package name.
-     * @param shortcutId The ID of the shortcut to lad rom.
-     * @param user The UserHandle of the profile.
+     * @hide internal/unit tests only
      */
     public ParcelFileDescriptor getShortcutIconFd(
             @NonNull String packageName, @NonNull String shortcutId, @NonNull UserHandle user) {
@@ -641,13 +651,11 @@
      * @param sourceBounds The Rect containing the source bounds of the clicked icon.
      * @param startActivityOptions Options to pass to startActivity.
      * @param user The UserHandle of the profile.
-     * @return {@code false} when the shortcut is no longer valid (e.g. the creator application
-     *   has been uninstalled). {@code true} when the shortcut is still valid.
      */
-    public boolean startShortcut(@NonNull String packageName, @NonNull String shortcutId,
+    public void startShortcut(@NonNull String packageName, @NonNull String shortcutId,
             @Nullable Rect sourceBounds, @Nullable Bundle startActivityOptions,
             @NonNull UserHandle user) {
-        return startShortcut(packageName, shortcutId, sourceBounds, startActivityOptions,
+        startShortcut(packageName, shortcutId, sourceBounds, startActivityOptions,
                 user.getIdentifier());
     }
 
@@ -660,21 +668,19 @@
      * @param shortcut The target shortcut.
      * @param sourceBounds The Rect containing the source bounds of the clicked icon.
      * @param startActivityOptions Options to pass to startActivity.
-     * @return {@code false} when the shortcut is no longer valid (e.g. the creator application
-     *   has been uninstalled). {@code true} when the shortcut is still valid.
      */
-    public boolean startShortcut(@NonNull ShortcutInfo shortcut,
+    public void startShortcut(@NonNull ShortcutInfo shortcut,
             @Nullable Rect sourceBounds, @Nullable Bundle startActivityOptions) {
-        return startShortcut(shortcut.getPackage(), shortcut.getId(),
+        startShortcut(shortcut.getPackage(), shortcut.getId(),
                 sourceBounds, startActivityOptions,
                 shortcut.getUserId());
     }
 
-    private boolean startShortcut(@NonNull String packageName, @NonNull String shortcutId,
+    private void startShortcut(@NonNull String packageName, @NonNull String shortcutId,
             @Nullable Rect sourceBounds, @Nullable Bundle startActivityOptions,
             int userId) {
         try {
-            return mService.startShortcut(mContext.getPackageName(), packageName, shortcutId,
+            mService.startShortcut(mContext.getPackageName(), packageName, shortcutId,
                     sourceBounds, startActivityOptions, userId);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
diff --git a/core/java/android/content/pm/PackageItemInfo.java b/core/java/android/content/pm/PackageItemInfo.java
index 30da03c..bc79f41 100644
--- a/core/java/android/content/pm/PackageItemInfo.java
+++ b/core/java/android/content/pm/PackageItemInfo.java
@@ -29,7 +29,9 @@
 import android.text.TextPaint;
 import android.text.TextUtils;
 import android.util.Printer;
-
+import android.text.BidiFormatter;
+import android.text.TextPaint;
+import android.text.Html;
 import java.text.Collator;
 import java.util.Comparator;
 
@@ -44,7 +46,6 @@
  */
 public class PackageItemInfo {
     private static final float MAX_LABEL_SIZE_PX = 500f;
-
     /**
      * Public name of this item. From the "android:name" attribute.
      */
@@ -145,7 +146,7 @@
         }
         return packageName;
     }
-
+ 
     /**
      * Same as {@link #loadLabel(PackageManager)} with the addition that
      * the returned label is safe for being presented in the UI since it
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index b06568c..fbe16c5 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -132,6 +132,9 @@
             MATCH_SYSTEM_ONLY,
             MATCH_FACTORY_ONLY,
             MATCH_DEBUG_TRIAGED_MISSING,
+            GET_DISABLED_COMPONENTS,
+            GET_DISABLED_UNTIL_USED_COMPONENTS,
+            GET_UNINSTALLED_PACKAGES,
     })
     @Retention(RetentionPolicy.SOURCE)
     public @interface PackageInfoFlags {}
@@ -143,6 +146,7 @@
             MATCH_UNINSTALLED_PACKAGES,
             MATCH_SYSTEM_ONLY,
             MATCH_DEBUG_TRIAGED_MISSING,
+            GET_UNINSTALLED_PACKAGES,
     })
     @Retention(RetentionPolicy.SOURCE)
     public @interface ApplicationInfoFlags {}
@@ -160,6 +164,9 @@
             MATCH_DIRECT_BOOT_UNAWARE,
             MATCH_SYSTEM_ONLY,
             MATCH_UNINSTALLED_PACKAGES,
+            GET_DISABLED_COMPONENTS,
+            GET_DISABLED_UNTIL_USED_COMPONENTS,
+            GET_UNINSTALLED_PACKAGES,
     })
     @Retention(RetentionPolicy.SOURCE)
     public @interface ComponentInfoFlags {}
@@ -178,6 +185,9 @@
             MATCH_DIRECT_BOOT_UNAWARE,
             MATCH_SYSTEM_ONLY,
             MATCH_UNINSTALLED_PACKAGES,
+            GET_DISABLED_COMPONENTS,
+            GET_DISABLED_UNTIL_USED_COMPONENTS,
+            GET_UNINSTALLED_PACKAGES,
     })
     @Retention(RetentionPolicy.SOURCE)
     public @interface ResolveInfoFlags {}
diff --git a/core/java/android/content/pm/PackageManagerInternal.java b/core/java/android/content/pm/PackageManagerInternal.java
index 13ebb82..d208fe7 100644
--- a/core/java/android/content/pm/PackageManagerInternal.java
+++ b/core/java/android/content/pm/PackageManagerInternal.java
@@ -18,6 +18,7 @@
 
 import android.content.ComponentName;
 import android.content.pm.PackageManager.NameNotFoundException;
+import android.util.SparseArray;
 
 import java.util.List;
 
@@ -147,4 +148,16 @@
      */
     public abstract ComponentName getHomeActivitiesAsUser(List<ResolveInfo> allHomeCandidates,
             int userId);
+
+    /**
+     * Called by DeviceOwnerManagerService to set the package names of device owner and profile
+     * owners.
+     */
+    public abstract void setDeviceAndProfileOwnerPackages(
+            int deviceOwnerUserId, String deviceOwner, SparseArray<String> profileOwners);
+
+    /**
+     * Returns {@code true} if a given package can't be wiped. Otherwise, returns {@code false}.
+     */
+    public abstract boolean isPackageDataProtected(int userId, String packageName);
 }
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index fffdf71..82cd448 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -1876,7 +1876,7 @@
                     sa = res.obtainAttributes(parser,
                             com.android.internal.R.styleable.AndroidManifestUsesSdk);
 
-                    int minVers = 0;
+                    int minVers = 1;
                     String minCode = null;
                     int targetVers = 0;
                     String targetCode = null;
@@ -1903,9 +1903,6 @@
                         } else {
                             // If it's not a string, it's an integer.
                             targetVers = val.data;
-                            if (minVers == 0) {
-                                minVers = targetVers;
-                            }
                         }
                     }
 
@@ -2511,7 +2508,6 @@
 
         TypedArray sa = res.obtainAttributes(parser,
                 com.android.internal.R.styleable.AndroidManifestPermissionGroup);
-
         if (!parsePackageItemInfo(owner, perm.info, outError,
                 "<permission-group>", sa, true /*nameRequired*/,
                 com.android.internal.R.styleable.AndroidManifestPermissionGroup_name,
@@ -3360,7 +3356,9 @@
             }
         }
 
-        int roundIconVal = sa.getResourceId(roundIconRes, 0);
+        final boolean useRoundIcon =
+                Resources.getSystem().getBoolean(com.android.internal.R.bool.config_useRoundIcon);
+        int roundIconVal = useRoundIcon ? sa.getResourceId(roundIconRes, 0) : 0;
         if (roundIconVal != 0) {
             outInfo.icon = roundIconVal;
             outInfo.nonLocalizedLabel = null;
@@ -4570,10 +4568,12 @@
             outInfo.nonLocalizedLabel = v.coerceToString();
         }
 
-        int roundIcon = sa.getResourceId(
-                com.android.internal.R.styleable.AndroidManifestIntentFilter_roundIcon, 0);
-        if (roundIcon != 0) {
-            outInfo.icon = roundIcon;
+        final boolean useRoundIcon =
+                Resources.getSystem().getBoolean(com.android.internal.R.bool.config_useRoundIcon);
+        int roundIconVal = useRoundIcon ? sa.getResourceId(
+                com.android.internal.R.styleable.AndroidManifestIntentFilter_roundIcon, 0) : 0;
+        if (roundIconVal != 0) {
+            outInfo.icon = roundIconVal;
         } else {
             outInfo.icon = sa.getResourceId(
                     com.android.internal.R.styleable.AndroidManifestIntentFilter_icon, 0);
diff --git a/core/java/android/content/pm/ShortcutInfo.java b/core/java/android/content/pm/ShortcutInfo.java
index da58717..35370f0 100644
--- a/core/java/android/content/pm/ShortcutInfo.java
+++ b/core/java/android/content/pm/ShortcutInfo.java
@@ -30,6 +30,7 @@
 import android.os.Parcelable;
 import android.os.PersistableBundle;
 import android.os.UserHandle;
+import android.text.TextUtils;
 import android.util.ArraySet;
 import android.util.Log;
 
@@ -38,6 +39,7 @@
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
+import java.util.List;
 import java.util.Set;
 
 // TODO Enhance javadoc
@@ -62,6 +64,13 @@
 
     private static final String ANDROID_PACKAGE_NAME = "android";
 
+    private static final int IMPLICIT_RANK_MASK = 0x7fffffff;
+
+    private static final int RANK_CHANGED_BIT = ~IMPLICIT_RANK_MASK;
+
+    /** @hide */
+    public static final int RANK_NOT_SET = Integer.MAX_VALUE;
+
     /** @hide */
     public static final int FLAG_DYNAMIC = 1 << 0;
 
@@ -193,6 +202,15 @@
 
     private int mRank;
 
+    /**
+     * Internally used for auto-rank-adjustment.
+     *
+     * RANK_CHANGED_BIT is used to denote that the rank of a shortcut is changing.
+     * The rest of the bits are used to denote the order in which shortcuts are passed to
+     * APIs, which is used to preserve the argument order when ranks are tie.
+     */
+    private int mImplicitRank;
+
     @Nullable
     private PersistableBundle mExtras;
 
@@ -229,7 +247,7 @@
         mTextResId = b.mTextResId;
         mDisabledMessage = b.mDisabledMessage;
         mDisabledMessageResId = b.mDisabledMessageResId;
-        mCategories = clone(b.mCategories);
+        mCategories = cloneCategories(b.mCategories);
         mIntent = b.mIntent;
         if (mIntent != null) {
             final Bundle intentExtras = mIntent.getExtras();
@@ -243,8 +261,17 @@
         updateTimestamp();
     }
 
-    private <T> ArraySet<T> clone(Set<T> source) {
-        return (source == null) ? null : new ArraySet<>(source);
+    private ArraySet<String> cloneCategories(Set<String> source) {
+        if (source == null) {
+            return null;
+        }
+        final ArraySet<String> ret = new ArraySet<>(source.size());
+        for (CharSequence s : source) {
+            if (!TextUtils.isEmpty(s)) {
+                ret.add(s.toString().intern());
+            }
+        }
+        return ret;
     }
 
     /**
@@ -254,9 +281,9 @@
      */
     public void enforceMandatoryFields() {
         Preconditions.checkStringNotEmpty(mId, "Shortcut ID must be provided");
-        Preconditions.checkNotNull(mActivity, "activity must be provided");
+        Preconditions.checkNotNull(mActivity, "Activity must be provided");
         if (mTitle == null && mTitleResId == 0) {
-            throw new IllegalArgumentException("Shortcut title must be provided");
+            throw new IllegalArgumentException("Short label must be provided");
         }
         Preconditions.checkNotNull(mIntent, "Shortcut Intent must be provided");
     }
@@ -268,6 +295,7 @@
         mUserId = source.mUserId;
         mId = source.mId;
         mPackageName = source.mPackageName;
+        mActivity = source.mActivity;
         mFlags = source.mFlags;
         mLastChangedTimestamp = source.mLastChangedTimestamp;
 
@@ -275,7 +303,6 @@
         mIconResId = source.mIconResId;
 
         if ((cloneFlags & CLONE_REMOVE_NON_KEY_INFO) == 0) {
-            mActivity = source.mActivity;
 
             if ((cloneFlags & CLONE_REMOVE_ICON) == 0) {
                 mIcon = source.mIcon;
@@ -288,7 +315,7 @@
             mTextResId = source.mTextResId;
             mDisabledMessage = source.mDisabledMessage;
             mDisabledMessageResId = source.mDisabledMessageResId;
-            mCategories = clone(source.mCategories);
+            mCategories = cloneCategories(source.mCategories);
             if ((cloneFlags & CLONE_REMOVE_INTENT) == 0) {
                 mIntent = source.mIntent;
                 mIntentPersistableExtras = source.mIntentPersistableExtras;
@@ -544,7 +571,8 @@
 
     /**
      * Copy non-null/zero fields from another {@link ShortcutInfo}.  Only "public" information
-     * will be overwritten.  The timestamp will be updated.
+     * will be overwritten.  The timestamp will *not* be updated to be consistent with other
+     * setters (and also the clock is not injectable in this file).
      *
      * - Flags will not change
      * - mBitmapPath will not change
@@ -597,20 +625,18 @@
             mDisabledMessageResName = null;
         }
         if (source.mCategories != null) {
-            mCategories = clone(source.mCategories);
+            mCategories = cloneCategories(source.mCategories);
         }
         if (source.mIntent != null) {
             mIntent = source.mIntent;
             mIntentPersistableExtras = source.mIntentPersistableExtras;
         }
-        if (source.mRank != 0) {
+        if (source.mRank != RANK_NOT_SET) {
             mRank = source.mRank;
         }
         if (source.mExtras != null) {
             mExtras = source.mExtras;
         }
-
-        updateTimestamp();
     }
 
     /**
@@ -665,28 +691,47 @@
 
         private Intent mIntent;
 
-        private int mRank;
+        private int mRank = RANK_NOT_SET;
 
         private PersistableBundle mExtras;
 
-        /** Constructor. */
+        /**
+         * Old style constructor.  STOPSHIP hide it before launch.
+         */
+        @Deprecated
         public Builder(Context context) {
             mContext = context;
         }
 
         /**
-         * Sets the ID of the shortcut.  This is a mandatory field.
+         * Used with the old style constructor, kept for unit tests. STOPSHIP hide it before launch.
          */
         @NonNull
+        @Deprecated
         public Builder setId(@NonNull String id) {
-            mId = Preconditions.checkStringNotEmpty(id, "id");
+            mId = Preconditions.checkStringNotEmpty(id, "id cannot be empty");
             return this;
         }
 
         /**
-         * Optionally sets the target activity.  If it's not set, and if the caller application
-         * has multiple launcher icons, this shortcut will be shown on all those icons.
-         * If it's set, this shortcut will be only shown on this activity.
+         * Constructor.
+         *
+         * @param context Client context.
+         * @param id ID of the shortcut.
+         */
+        public Builder(Context context, String id) {
+            mContext = context;
+            mId = Preconditions.checkStringNotEmpty(id, "id cannot be empty");
+        }
+
+        /**
+         * Sets the target activity. A shortcut will be shown with this activity on the launcher.
+         *
+         * <p>Only "main" activities -- i.e. ones with an intent filter for
+         * {@link Intent#ACTION_MAIN} and {@link Intent#CATEGORY_LAUNCHER} can be target activities.
+         *
+         * <p>By default, the first main activity defined in the application manifest will be
+         * the target.
          *
          * <p>The package name of the target activity must match the package name of the shortcut
          * publisher.
@@ -696,23 +741,23 @@
          */
         @NonNull
         public Builder setActivity(@NonNull ComponentName activity) {
-            mActivity = Preconditions.checkNotNull(activity, "activity");
+            mActivity = Preconditions.checkNotNull(activity, "activity cannot be null");
             return this;
         }
 
         /**
-         * Optionally sets an icon.
+         * Sets an icon.
          *
          * <ul>
          *     <li>Tints set by {@link Icon#setTint} or {@link Icon#setTintList} are not supported.
          *     <li>Bitmaps and resources are supported, but "content:" URIs are not supported.
          * </ul>
          *
-         * <p>For performance reasons, icons will <b>NOT</b> be available on instances
-         * returned by {@link ShortcutManager} or {@link LauncherApps}.  Launcher applications
-         * can use {@link ShortcutInfo#getIconResourceId()} if {@link #hasIconResource()} is true.
-         * Otherwise, if {@link #hasIconFile()} is true, use
-         * {@link LauncherApps#getShortcutIconFd} to load the image.
+         * <p>For performance and security reasons, icons will <b>NOT</b> be available on instances
+         * returned by {@link ShortcutManager} or {@link LauncherApps}.  Default launcher application
+         * can use {@link LauncherApps#getShortcutIconDrawable(ShortcutInfo, int)}
+         * or {@link LauncherApps#getShortcutBadgedIconDrawable(ShortcutInfo, int)} to fetch
+         * shortcut icons.
          */
         @NonNull
         public Builder setIcon(Icon icon) {
@@ -724,6 +769,7 @@
          * @hide We don't support resource strings for dynamic shortcuts for now.  (But unit tests
          * use it.)
          */
+        @Deprecated
         public Builder setShortLabelResId(int shortLabelResId) {
             Preconditions.checkState(mTitle == null, "shortLabel already set");
             mTitleResId = shortLabelResId;
@@ -731,15 +777,18 @@
         }
 
         /**
-         * Sets the short title of a shortcut.  This is a mandatory field.
+         * Sets the short title of a shortcut.
+         *
+         * <p>This is a mandatory field, unless it's passed to
+         * {@link ShortcutManager#updateShortcuts(List)}.
          *
          * <p>This field is intended for a concise description of a shortcut displayed under
          * an icon.  The recommend max length is 10 characters.
          */
         @NonNull
-        public Builder setShortLabel(@NonNull String shortLabel) {
+        public Builder setShortLabel(@NonNull CharSequence shortLabel) {
             Preconditions.checkState(mTitleResId == 0, "shortLabelResId already set");
-            mTitle = Preconditions.checkStringNotEmpty(shortLabel, "shortLabel");
+            mTitle = Preconditions.checkStringNotEmpty(shortLabel, "shortLabel cannot be empty");
             return this;
         }
 
@@ -747,6 +796,7 @@
          * @hide We don't support resource strings for dynamic shortcuts for now.  (But unit tests
          * use it.)
          */
+        @Deprecated
         public Builder setLongLabelResId(int longLabelResId) {
             Preconditions.checkState(mText == null, "longLabel already set");
             mTextResId = longLabelResId;
@@ -754,35 +804,39 @@
         }
 
         /**
-         * Sets the text of a shortcut.  This is an optional field.
+         * Sets the text of a shortcut.
          *
          * <p>This field is intended to be more descriptive than the shortcut title.  The launcher
          * shows this instead of the short title, when it has enough space.
          * The recommend max length is 25 characters.
          */
         @NonNull
-        public Builder setLongLabel(@NonNull String longLabel) {
+        public Builder setLongLabel(@NonNull CharSequence longLabel) {
             Preconditions.checkState(mTextResId == 0, "longLabelResId already set");
-            mText = Preconditions.checkStringNotEmpty(longLabel, "longLabel");
+            mText = Preconditions.checkStringNotEmpty(longLabel, "longLabel cannot be empty");
             return this;
         }
 
         /** @hide -- old signature, the internal code still uses it. */
-        public Builder setTitle(@NonNull String value) {
+        @Deprecated
+        public Builder setTitle(@NonNull CharSequence value) {
             return setShortLabel(value);
         }
 
         /** @hide -- old signature, the internal code still uses it. */
+        @Deprecated
         public Builder setTitleResId(int value) {
             return setShortLabelResId(value);
         }
 
         /** @hide -- old signature, the internal code still uses it. */
-        public Builder setText(@NonNull String value) {
+        @Deprecated
+        public Builder setText(@NonNull CharSequence value) {
             return setLongLabel(value);
         }
 
         /** @hide -- old signature, the internal code still uses it. */
+        @Deprecated
         public Builder setTextResId(int value) {
             return setLongLabelResId(value);
         }
@@ -791,6 +845,7 @@
          * @hide We don't support resource strings for dynamic shortcuts for now.  (But unit tests
          * use it.)
          */
+        @Deprecated
         public Builder setDisabledMessageResId(int disabledMessageResId) {
             Preconditions.checkState(mDisabledMessage == null, "disabledMessage already set");
             mDisabledMessageResId = disabledMessageResId;
@@ -798,11 +853,12 @@
         }
 
         @NonNull
-        public Builder setDisabledMessage(@NonNull String disabledMessage) {
+        public Builder setDisabledMessage(@NonNull CharSequence disabledMessage) {
             Preconditions.checkState(
                     mDisabledMessageResId == 0, "disabledMessageResId already set");
             mDisabledMessage =
-                    Preconditions.checkStringNotEmpty(disabledMessage, "disabledMessage");
+                    Preconditions.checkStringNotEmpty(disabledMessage,
+                            "disabledMessage cannot be empty");
             return this;
         }
 
@@ -824,22 +880,27 @@
          */
         @NonNull
         public Builder setIntent(@NonNull Intent intent) {
-            mIntent = Preconditions.checkNotNull(intent, "intent");
-            Preconditions.checkNotNull(mIntent.getAction(), "Intent action must be set.");
+            mIntent = Preconditions.checkNotNull(intent, "intent cannot be null");
+            Preconditions.checkNotNull(mIntent.getAction(), "intent's action must be set");
             return this;
         }
 
         /**
-         * TODO javadoc.
+         * "Rank" of a shortcut, which is a non-negative value that's used by the launcher app
+         * to sort shortcuts.
          */
         @NonNull
         public Builder setRank(int rank) {
+            Preconditions.checkArgument((0 <= rank),
+                    "Rank cannot be negative or bigger than MAX_RANK");
             mRank = rank;
             return this;
         }
 
         /**
-         * Optional values that applications can set.  Applications can store any meta-data of
+         * Extras that application can set to any purposes.
+         *
+         * <p>Applications can store any meta-data of
          * shortcuts in this, and retrieve later from {@link ShortcutInfo#getExtras()}.
          */
         @NonNull
@@ -887,6 +948,11 @@
         return mActivity;
     }
 
+    /** @hide */
+    public void setActivity(ComponentName activity) {
+        mActivity = activity;
+    }
+
     /**
      * Icon.
      *
@@ -903,22 +969,26 @@
 
     /** @hide -- old signature, the internal code still uses it. */
     @Nullable
+    @Deprecated
     public CharSequence getTitle() {
         return mTitle;
     }
 
     /** @hide -- old signature, the internal code still uses it. */
+    @Deprecated
     public int getTitleResId() {
         return mTitleResId;
     }
 
     /** @hide -- old signature, the internal code still uses it. */
     @Nullable
+    @Deprecated
     public CharSequence getText() {
         return mText;
     }
 
     /** @hide -- old signature, the internal code still uses it. */
+    @Deprecated
     public int getTextResId() {
         return mTextResId;
     }
@@ -1014,14 +1084,59 @@
     }
 
     /**
-     * TODO Javadoc
+     * "Rank" of a shortcut, which is a non-negative, sequential value that's unique for each
+     * {@link #getActivity} for each of the two kinds, dynamic shortcuts and manifest shortcuts.
+     *
+     * <p>Because manifest shortcuts and dynamic shortcuts have overlapping ranks,
+     * when a launcher application shows shortcuts for an activity, it should first show
+     * the manifest shortcuts followed by the dynamic shortcuts.  Within each of those categories,
+     * shortcuts should be sorted by rank in ascending order.
+     *
+     * <p>"Floating" shortcuts (i.e. shortcuts that are neither dynamic nor manifest) will all
+     * have rank 0, because there's no sorting for them.
      */
     public int getRank() {
         return mRank;
     }
 
+    /** @hide */
+    public boolean hasRank() {
+        return mRank != RANK_NOT_SET;
+    }
+
+    /** @hide */
+    public void setRank(int rank) {
+        mRank = rank;
+    }
+
+    /** @hide */
+    public void clearImplicitRankAndRankChangedFlag() {
+        mImplicitRank = 0;
+    }
+
+    /** @hide */
+    public void setImplicitRank(int rank) {
+        // Make sure to keep RANK_CHANGED_BIT.
+        mImplicitRank = (mImplicitRank & RANK_CHANGED_BIT) | (rank & IMPLICIT_RANK_MASK);
+    }
+
+    /** @hide */
+    public int getImplicitRank() {
+        return mImplicitRank & IMPLICIT_RANK_MASK;
+    }
+
+    /** @hide */
+    public void setRankChanged() {
+        mImplicitRank |= RANK_CHANGED_BIT;
+    }
+
+    /** @hide */
+    public boolean isRankChanged() {
+        return (mImplicitRank & RANK_CHANGED_BIT) != 0;
+    }
+
     /**
-     * Optional values that application can set.
+     * Extras that application can set to any purposes.
      */
     @Nullable
     public PersistableBundle getExtras() {
@@ -1095,10 +1210,16 @@
      * <p>NOTE this is whether a shortcut is published from the <b>current version's</b>
      * AndroidManifest.xml.
      */
-    public boolean isManifestShortcut() {
+    public boolean isDeclaredInManifest() {
         return hasFlags(FLAG_MANIFEST);
     }
 
+    /** @hide kept for unit tests */
+    @Deprecated
+    public boolean isManifestShortcut() {
+        return isDeclaredInManifest();
+    }
+
     /**
      * @return true if pinned but neither dynamic nor manifest.
      * @hide
@@ -1118,7 +1239,7 @@
      *
      * <p>All manifest shortcuts are immutable.  When a manifest shortcut is pinned and then
      * disabled because the app is upgraded and its AndroidManifest.xml no longer publishes it,
-     * {@link #isManifestShortcut} returns {@code false}, but it is still immutable.
+     * {@link #isDeclaredInManifest()} returns {@code false}, but it is still immutable.
      *
      * <p>All shortcuts originally published via the {@link ShortcutManager} APIs
      * are all mutable.
@@ -1148,7 +1269,7 @@
     /**
      * Return whether a shortcut's icon is a resource in the owning package.
      *
-     * @see LauncherApps#getShortcutIconResId(ShortcutInfo)
+     * @hide internal/unit tests only
      */
     public boolean hasIconResource() {
         return hasFlags(FLAG_HAS_ICON_RES);
@@ -1167,7 +1288,7 @@
     /**
      * Return whether a shortcut's icon is stored as a file.
      *
-     * @see LauncherApps#getShortcutIconFd(ShortcutInfo)
+     * @hide internal/unit tests only
      */
     public boolean hasIconFile() {
         return hasFlags(FLAG_HAS_ICON_FILE);
@@ -1179,18 +1300,21 @@
      * <ul>
      *     <li>{@link #getId()}
      *     <li>{@link #getPackage()}
+     *     <li>{@link #getActivity()}
      *     <li>{@link #getLastChangedTimestamp()}
      *     <li>{@link #isDynamic()}
      *     <li>{@link #isPinned()}
-     *     <li>{@link #hasIconResource()}
-     *     <li>{@link #hasIconFile()}
+     *     <li>{@link #isDeclaredInManifest()}
+     *     <li>{@link #isImmutable()}
+     *     <li>{@link #isEnabled()}
+     *     <li>{@link #getUserHandle()}
      * </ul>
      */
     public boolean hasKeyFieldsOnly() {
         return hasFlags(FLAG_KEY_FIELDS_ONLY);
     }
 
-    /** TODO Javadoc */
+    /** @hide */
     public boolean hasStringResourcesResolved() {
         return hasFlags(FLAG_STRINGS_RESOLVED);
     }
@@ -1221,6 +1345,7 @@
 
     /**
      * Get the resource ID for the icon, valid only when {@link #hasIconResource()} } is true.
+     * @hide internal / tests only.
      */
     public int getIconResourceId() {
         return mIconResId;
@@ -1292,6 +1417,37 @@
         mIconResName = iconResName;
     }
 
+    /**
+     * Replaces the intent
+     *
+     * @throws IllegalArgumentException when extra is not compatible with {@link PersistableBundle}.
+     *
+     * @hide
+     */
+    public void setIntent(Intent intent) throws IllegalArgumentException {
+        Preconditions.checkNotNull(intent);
+
+        final Bundle intentExtras = intent.getExtras();
+
+        mIntent = intent;
+
+        if (intentExtras != null) {
+            intent.replaceExtras((Bundle) null);
+            mIntentPersistableExtras = new PersistableBundle(intentExtras);
+        } else {
+            mIntentPersistableExtras = null;
+        }
+    }
+
+    /**
+     * Replaces the categories.
+     *
+     * @hide
+     */
+    public void setCategories(Set<String> categories) {
+        mCategories = cloneCategories(categories);
+    }
+
     private ShortcutInfo(Parcel source) {
         final ClassLoader cl = getClass().getClassLoader();
 
@@ -1299,6 +1455,14 @@
         mId = source.readString();
         mPackageName = source.readString();
         mActivity = source.readParcelable(cl);
+        mFlags = source.readInt();
+        mIconResId = source.readInt();
+        mLastChangedTimestamp = source.readLong();
+
+        if (source.readInt() == 0) {
+            return; // key information only.
+        }
+
         mIcon = source.readParcelable(cl);
         mTitle = source.readCharSequence();
         mTitleResId = source.readInt();
@@ -1310,9 +1474,6 @@
         mIntentPersistableExtras = source.readParcelable(cl);
         mRank = source.readInt();
         mExtras = source.readParcelable(cl);
-        mLastChangedTimestamp = source.readLong();
-        mFlags = source.readInt();
-        mIconResId = source.readInt();
         mBitmapPath = source.readString();
 
         mIconResName = source.readString();
@@ -1337,6 +1498,16 @@
         dest.writeString(mId);
         dest.writeString(mPackageName);
         dest.writeParcelable(mActivity, flags);
+        dest.writeInt(mFlags);
+        dest.writeInt(mIconResId);
+        dest.writeLong(mLastChangedTimestamp);
+
+        if (hasKeyFieldsOnly()) {
+            dest.writeInt(0);
+            return;
+        }
+        dest.writeInt(1);
+
         dest.writeParcelable(mIcon, flags);
         dest.writeCharSequence(mTitle);
         dest.writeInt(mTitleResId);
@@ -1349,9 +1520,6 @@
         dest.writeParcelable(mIntentPersistableExtras, flags);
         dest.writeInt(mRank);
         dest.writeParcelable(mExtras, flags);
-        dest.writeLong(mLastChangedTimestamp);
-        dest.writeInt(mFlags);
-        dest.writeInt(mIconResId);
         dest.writeString(mBitmapPath);
 
         dest.writeString(mIconResName);
@@ -1528,7 +1696,7 @@
         mDisabledMessage = disabledMessage;
         mDisabledMessageResId = disabledMessageResId;
         mDisabledMessageResName = disabledMessageResName;
-        mCategories = clone(categories);
+        mCategories = cloneCategories(categories);
         mIntent = intent;
         mIntentPersistableExtras = intentPersistableExtras;
         mRank = rank;
diff --git a/core/java/android/content/pm/ShortcutManager.java b/core/java/android/content/pm/ShortcutManager.java
index eaccb3a..7b3c487 100644
--- a/core/java/android/content/pm/ShortcutManager.java
+++ b/core/java/android/content/pm/ShortcutManager.java
@@ -17,6 +17,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.TestApi;
+import android.annotation.UserIdInt;
 import android.app.usage.UsageStatsManager;
 import android.content.Context;
 import android.os.RemoteException;
@@ -37,7 +38,7 @@
  *
  * An application can publish shortcuts with {@link #setDynamicShortcuts(List)} and
  * {@link #addDynamicShortcuts(List)}.  There can be at most
- * {@link #getMaxShortcutCountForActivity()} number of dynamic shortcuts at a time from the
+ * {@link #getMaxShortcutCountPerActivity()} number of dynamic shortcuts at a time from the
  * same application.
  * A dynamic shortcut can be deleted with {@link #removeDynamicShortcuts(List)}, and apps
  * can also use {@link #removeAllDynamicShortcuts()} to delete all dynamic shortcuts.
@@ -52,7 +53,7 @@
  * <p>The number of pinned shortcuts does not affect the number of dynamic shortcuts that can be
  * published by an application at a time.
  * No matter how many pinned shortcuts that Launcher has for an application, the
- * application can still always publish {@link #getMaxShortcutCountForActivity()} number of
+ * application can still always publish {@link #getMaxShortcutCountPerActivity()} number of
  * dynamic
  * shortcuts.
  *
@@ -134,7 +135,7 @@
      * @return {@code true} if the call has succeeded. {@code false} if the call is rate-limited.
      *
      * @throws IllegalArgumentException if {@code shortcutInfoList} contains more than
-     * {@link #getMaxShortcutCountForActivity()} shortcuts.
+     * {@link #getMaxShortcutCountPerActivity()} shortcuts.
      */
     public boolean setDynamicShortcuts(@NonNull List<ShortcutInfo> shortcutInfoList) {
         try {
@@ -147,7 +148,7 @@
 
     /**
      * Return all dynamic shortcuts from the caller application.  The number of result items
-     * will not exceed the value returned by {@link #getMaxShortcutCountForActivity()}.
+     * will not exceed the value returned by {@link #getMaxShortcutCountPerActivity()}.
      */
     @NonNull
     public List<ShortcutInfo> getDynamicShortcuts() {
@@ -258,7 +259,7 @@
     }
 
     /**
-     * TODO Javadoc
+     * @hide old signature, kept for unit testing.
      */
     public void disableShortcuts(@NonNull List<String> shortcutIds, int disabledMessageResId) {
         try {
@@ -271,9 +272,16 @@
     }
 
     /**
-     * TODO Javadoc
+     * @hide old signature, kept for unit testing.
      */
     public void disableShortcuts(@NonNull List<String> shortcutIds, String disabledMessage) {
+        disableShortcuts(shortcutIds, (CharSequence) disabledMessage);
+    }
+
+    /**
+     * TODO Javadoc
+     */
+    public void disableShortcuts(@NonNull List<String> shortcutIds, CharSequence disabledMessage) {
         try {
             mService.disableShortcuts(mContext.getPackageName(), shortcutIds,
                     disabledMessage, /* disabledMessageResId =*/ 0,
@@ -294,13 +302,22 @@
         }
     }
 
+
     /**
-     * Return the max number of dynamic shortcuts + manifest shortcuts that each launcehr icon
-     * can have at a time.
+     * @hide old signature, kept for unit testing.
      */
     public int getMaxShortcutCountForActivity() {
+        return getMaxShortcutCountPerActivity();
+    }
+
+    /**
+     * Return the max number of dynamic shortcuts + manifest shortcuts that each launcher icon
+     * can have at a time.
+     */
+    public int getMaxShortcutCountPerActivity() {
         try {
-            return mService.getMaxDynamicShortcutCount(mContext.getPackageName(), injectMyUserId());
+            return mService.getMaxShortcutCountPerActivity(
+                    mContext.getPackageName(), injectMyUserId());
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -379,6 +396,22 @@
         }
     }
 
+    /**
+     * Called internally when an application is considered to have come to foreground
+     * even when technically it's not.  This method resets the throttling for this package.
+     * For example, when the user sends an "inline reply" on an notification, the system UI will
+     * call it.
+     *
+     * @hide
+     */
+    public void onApplicationActive(@NonNull String packageName, @UserIdInt int userId) {
+        try {
+            mService.onApplicationActive(packageName, userId);
+        } catch (RemoteException e) {
+            throw e.rethrowFromSystemServer();
+        }
+    }
+
     /** @hide injection point */
     @VisibleForTesting
     protected int injectMyUserId() {
diff --git a/core/java/android/content/res/Configuration.java b/core/java/android/content/res/Configuration.java
index 6f43d99..b2d518c 100644
--- a/core/java/android/content/res/Configuration.java
+++ b/core/java/android/content/res/Configuration.java
@@ -1543,27 +1543,41 @@
      * @hide
      */
     public static String localesToResourceQualifier(LocaleList locs) {
-        StringBuilder sb = new StringBuilder();
+        final StringBuilder sb = new StringBuilder();
         for (int i = 0; i < locs.size(); i++) {
-            Locale loc = locs.get(i);
-            boolean l = (loc.getLanguage().length() != 0);
-            boolean c = (loc.getCountry().length() != 0);
-            boolean s = (loc.getScript().length() != 0);
-            boolean v = (loc.getVariant().length() != 0);
-            // TODO: take script and extensions into account
-            if (l) {
-                if (sb.length() != 0) {
-                    sb.append(",");
-                }
+            final Locale loc = locs.get(i);
+            final int l = loc.getLanguage().length();
+            if (l == 0) {
+                continue;
+            }
+            final int s = loc.getScript().length();
+            final int c = loc.getCountry().length();
+            final int v = loc.getVariant().length();
+            // We ignore locale extensions, since they are not supported by AAPT
+
+            if (sb.length() != 0) {
+                sb.append(",");
+            }
+            if (l == 2 && s == 0 && (c == 0 || c == 2) && v == 0) {
+                // Traditional locale format: xx or xx-rYY
                 sb.append(loc.getLanguage());
-                if (c) {
+                if (c == 2) {
                     sb.append("-r").append(loc.getCountry());
-                    if (s) {
-                        sb.append("-s").append(loc.getScript());
-                        if (v) {
-                            sb.append("-v").append(loc.getVariant());
-                        }
-                    }
+                }
+            } else {
+                sb.append("b+");
+                sb.append(loc.getLanguage());
+                if (s != 0) {
+                    sb.append("+");
+                    sb.append(loc.getScript());
+                }
+                if (c != 0) {
+                    sb.append("+");
+                    sb.append(loc.getCountry());
+                }
+                if (v != 0) {
+                    sb.append("+");
+                    sb.append(loc.getVariant());
                 }
             }
         }
diff --git a/core/java/android/content/res/Resources.java b/core/java/android/content/res/Resources.java
index 93fe73b..8d3940c 100644
--- a/core/java/android/content/res/Resources.java
+++ b/core/java/android/content/res/Resources.java
@@ -51,6 +51,7 @@
 import android.util.LongSparseArray;
 import android.util.Pools.SynchronizedPool;
 import android.util.TypedValue;
+import android.view.DisplayAdjustments;
 import android.view.ViewDebug;
 import android.view.ViewHierarchyEncoder;
 
@@ -126,9 +127,9 @@
      * Returns the most appropriate default theme for the specified target SDK version.
      * <ul>
      * <li>Below API 11: Gingerbread
-     * <li>APIs 11 thru 14: Holo
-     * <li>APIs 14 thru XX: Device default dark
-     * <li>API XX and above: Device default light with dark action bar
+     * <li>APIs 12 thru 14: Holo
+     * <li>APIs 15 thru 23: Device default dark
+     * <li>APIs 24 and above: Device default light with dark action bar
      * </ul>
      *
      * @param curTheme The current theme, or 0 if not specified.
@@ -156,7 +157,7 @@
         if (targetSdkVersion < Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
             return holo;
         }
-        if (targetSdkVersion < Build.VERSION_CODES.CUR_DEVELOPMENT) {
+        if (targetSdkVersion < Build.VERSION_CODES.N) {
             return dark;
         }
         return deviceDefault;
@@ -208,8 +209,7 @@
      */
     public Resources(AssetManager assets, DisplayMetrics metrics, Configuration config) {
         this(null);
-        mResourcesImpl = new ResourcesImpl(assets, metrics, config,
-                CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO);
+        mResourcesImpl = new ResourcesImpl(assets, metrics, config, new DisplayAdjustments());
     }
 
     /**
@@ -237,7 +237,7 @@
         config.setToDefaults();
 
         mResourcesImpl = new ResourcesImpl(AssetManager.getSystem(), metrics, config,
-                CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO);
+                new DisplayAdjustments());
     }
 
     /**
@@ -1800,6 +1800,11 @@
         return mResourcesImpl.getDisplayMetrics();
     }
 
+    /** @hide */
+    public DisplayAdjustments getDisplayAdjustments() {
+        return mResourcesImpl.getDisplayAdjustments();
+    }
+
     /**
      * Return the current configuration that is in effect for this resource 
      * object.  The returned object should be treated as read-only.
diff --git a/core/java/android/content/res/ResourcesImpl.java b/core/java/android/content/res/ResourcesImpl.java
index 000751e..aa80390 100644
--- a/core/java/android/content/res/ResourcesImpl.java
+++ b/core/java/android/content/res/ResourcesImpl.java
@@ -44,6 +44,8 @@
 import android.util.Slog;
 import android.util.TypedValue;
 import android.util.Xml;
+import android.view.Display;
+import android.view.DisplayAdjustments;
 
 import java.io.InputStream;
 import java.util.Arrays;
@@ -111,12 +113,12 @@
 
 
     final AssetManager mAssets;
-    final DisplayMetrics mMetrics = new DisplayMetrics();
+    private final DisplayMetrics mMetrics = new DisplayMetrics();
+    private final DisplayAdjustments mDisplayAdjustments;
 
     private PluralRules mPluralRule;
 
     private final Configuration mConfiguration = new Configuration();
-    private CompatibilityInfo mCompatibilityInfo = CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO;
 
     static {
         sPreloadedDrawables = new LongSparseArray[2];
@@ -132,16 +134,22 @@
      *                selecting/computing resource values.
      * @param config Desired device configuration to consider when
      *               selecting/computing resource values (optional).
-     * @param compatInfo this resource's compatibility info. Must not be null.
+     * @param displayAdjustments this resource's Display override and compatibility info.
+     *                           Must not be null.
      */
-    public ResourcesImpl(AssetManager assets, DisplayMetrics metrics, Configuration config,
-            CompatibilityInfo compatInfo) {
+    public ResourcesImpl(@NonNull AssetManager assets, @Nullable DisplayMetrics metrics,
+            @Nullable Configuration config, @NonNull DisplayAdjustments displayAdjustments) {
         mAssets = assets;
         mMetrics.setToDefaults();
-        updateConfiguration(config, metrics, compatInfo);
+        mDisplayAdjustments = displayAdjustments;
+        updateConfiguration(config, metrics, displayAdjustments.getCompatibilityInfo());
         mAssets.ensureStringBlocks();
     }
 
+    public DisplayAdjustments getDisplayAdjustments() {
+        return mDisplayAdjustments;
+    }
+
     public AssetManager getAssets() {
         return mAssets;
     }
@@ -161,7 +169,7 @@
     }
 
     CompatibilityInfo getCompatibilityInfo() {
-        return mCompatibilityInfo;
+        return mDisplayAdjustments.getCompatibilityInfo();
     }
 
     private PluralRules getPluralRule() {
@@ -316,12 +324,13 @@
             synchronized (mAccessLock) {
                 if (false) {
                     Slog.i(TAG, "**** Updating config of " + this + ": old config is "
-                            + mConfiguration + " old compat is " + mCompatibilityInfo);
+                            + mConfiguration + " old compat is "
+                            + mDisplayAdjustments.getCompatibilityInfo());
                     Slog.i(TAG, "**** Updating config of " + this + ": new config is "
                             + config + " new compat is " + compat);
                 }
                 if (compat != null) {
-                    mCompatibilityInfo = compat;
+                    mDisplayAdjustments.setCompatibilityInfo(compat);
                 }
                 if (metrics != null) {
                     mMetrics.setTo(metrics);
@@ -335,7 +344,7 @@
                 // it would be cleaner and more maintainable to just be
                 // consistently dealing with a compatible display everywhere in
                 // the framework.
-                mCompatibilityInfo.applyToDisplayMetrics(mMetrics);
+                mDisplayAdjustments.getCompatibilityInfo().applyToDisplayMetrics(mMetrics);
 
                 final @Config int configChanges = calcConfigChanges(config);
 
@@ -409,7 +418,8 @@
 
                 if (DEBUG_CONFIG) {
                     Slog.i(TAG, "**** Updating config of " + this + ": final config is "
-                            + mConfiguration + " final compat is " + mCompatibilityInfo);
+                            + mConfiguration + " final compat is "
+                            + mDisplayAdjustments.getCompatibilityInfo());
                 }
 
                 mDrawableCache.onConfigurationChange(configChanges);
@@ -449,7 +459,7 @@
             density = mMetrics.noncompatDensityDpi;
         }
 
-        mCompatibilityInfo.applyToConfiguration(density, mTmpConfig);
+        mDisplayAdjustments.getCompatibilityInfo().applyToConfiguration(density, mTmpConfig);
 
         if (mTmpConfig.getLocales().isEmpty()) {
             mTmpConfig.setLocales(LocaleList.getDefault());
diff --git a/core/java/android/hardware/Sensor.java b/core/java/android/hardware/Sensor.java
index 0f07419..c9ae69c 100644
--- a/core/java/android/hardware/Sensor.java
+++ b/core/java/android/hardware/Sensor.java
@@ -20,8 +20,6 @@
 import android.annotation.SystemApi;
 import android.os.Build;
 
-import java.util.UUID;
-
 /**
  * Class representing a sensor. Use {@link SensorManager#getSensorList} to get
  * the list of available Sensors.
@@ -806,7 +804,7 @@
     private String  mRequiredPermission;
     private int     mMaxDelay;
     private int     mFlags;
-    private UUID    mUuid;
+    private int     mId;
 
     Sensor() {
     }
@@ -895,34 +893,28 @@
     }
 
     /**
-     * @return The UUID of the sensor. If the sensor does not support UUID, the returned value will
-     * be an all zero UUID; if the sensor's combination of type and name is guaranteed to be unique
-     * in system, the return value will be an all "F" UUID.
+     * Do not use.
+     *
+     * This method throws an UnsupportedOperationException.
+     *
+     * Use getId() if you want a unique ID.
+     *
+     * @see getId
      *
      * @hide
      */
     @SystemApi
-    public UUID getUuid() {
-        return mUuid;
+    public java.util.UUID getUuid() {
+        throw new UnsupportedOperationException();
     }
 
     /**
-     * @return The unique id of sensor. Return value of 0 means this sensor does not support UUID;
-     * return value of -1 means this sensor can be uniquely identified in system by combination of
-     * its type and name.
+     * @return The sensor id that will be unique for the same app unless the device is factory
+     * reset. Return value of 0 means this sensor does not support this function; return value of -1
+     * means this sensor can be uniquely identified in system by combination of its type and name.
      */
     public int getId() {
-        if (mUuid.equals(ALL_0_UUID)) {
-            return 0;
-        } else if (mUuid.equals(ALL_F_UUID)) {
-            return -1;
-        } else {
-            int id = Math.abs(mUuid.hashCode()) + 1;
-            if (id <= 0) { // catch corner case when hash is Integer.MIN_VALUE and Integer.MAX_VALUE
-                id = 1;
-            }
-            return id;
-        }
+        return mId;
     }
 
     /**
@@ -1038,10 +1030,6 @@
                 + ", power=" + mPower + ", minDelay=" + mMinDelay + "}";
     }
 
-    //special UUID hash constant
-    private final static UUID ALL_0_UUID = new UUID(0,0);
-    private final static UUID ALL_F_UUID = new UUID(~0L, ~0L);
-
     /**
      * Sets the Type associated with the sensor.
      * NOTE: to be used only by native bindings in SensorManager.
@@ -1141,24 +1129,17 @@
     }
 
     /**
-     * Sets the UUID associated with the sensor.
+     * Sets the ID associated with the sensor.
+     *
+     * The method name is misleading; while this ID is based on the UUID,
+     * we do not pass in the actual UUID.
      *
      * NOTE: to be used only by native bindings in SensorManager.
      *
-     * @see #getUuid
-     * @see UUID
+     * @see #getId
      */
     private void setUuid(long msb, long lsb) {
-        // reuse static object if possible
-        if (msb == lsb) {
-            if (msb == 0L) {
-                mUuid = ALL_0_UUID;
-                return;
-            } else if (msb == ~0L) {
-                mUuid = ALL_F_UUID;
-                return;
-            }
-        }
-        mUuid = new UUID(msb, lsb);
+        // TODO(b/29547335): Rename this method to setId.
+        mId = (int)msb;
     }
 }
diff --git a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
index e184d6d..ee8a6d7 100644
--- a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
+++ b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
@@ -1644,41 +1644,6 @@
     }
 
     public class CameraDeviceCallbacks extends ICameraDeviceCallbacks.Stub {
-        //
-        // Constants below need to be kept up-to-date with
-        // frameworks/av/include/camera/camera2/ICameraDeviceCallbacks.h
-        //
-
-        //
-        // Error codes for onCameraError
-        //
-
-        /**
-         * Camera has been disconnected
-         */
-        public static final int ERROR_CAMERA_DISCONNECTED = 0;
-        /**
-         * Camera has encountered a device-level error
-         * Matches CameraDevice.StateCallback#ERROR_CAMERA_DEVICE
-         */
-        public static final int ERROR_CAMERA_DEVICE = 1;
-        /**
-         * Camera has encountered a service-level error
-         * Matches CameraDevice.StateCallback#ERROR_CAMERA_SERVICE
-         */
-        public static final int ERROR_CAMERA_SERVICE = 2;
-        /**
-         * Camera has encountered an error processing a single request.
-         */
-        public static final int ERROR_CAMERA_REQUEST = 3;
-        /**
-         * Camera has encountered an error producing metadata for a single capture
-         */
-        public static final int ERROR_CAMERA_RESULT = 4;
-        /**
-         * Camera has encountered an error producing an image buffer for a single capture
-         */
-        public static final int ERROR_CAMERA_BUFFER = 5;
 
         @Override
         public IBinder asBinder() {
@@ -1709,11 +1674,14 @@
                     case ERROR_CAMERA_DEVICE:
                     case ERROR_CAMERA_SERVICE:
                         mInError = true;
+                        final int publicErrorCode = (errorCode == ERROR_CAMERA_DEVICE) ?
+                                StateCallback.ERROR_CAMERA_DEVICE :
+                                StateCallback.ERROR_CAMERA_SERVICE;
                         Runnable r = new Runnable() {
                             @Override
                             public void run() {
                                 if (!CameraDeviceImpl.this.isClosed()) {
-                                    mDeviceCallback.onError(CameraDeviceImpl.this, errorCode);
+                                    mDeviceCallback.onError(CameraDeviceImpl.this, publicErrorCode);
                                 }
                             }
                         };
@@ -2085,7 +2053,7 @@
             public void run() {
                 if (!isClosed()) {
                     mDeviceCallback.onError(CameraDeviceImpl.this,
-                            CameraDeviceCallbacks.ERROR_CAMERA_SERVICE);
+                            StateCallback.ERROR_CAMERA_SERVICE);
                 }
             }
         };
diff --git a/core/java/android/hardware/camera2/marshal/MarshalRegistry.java b/core/java/android/hardware/camera2/marshal/MarshalRegistry.java
index ba821e4..1565087 100644
--- a/core/java/android/hardware/camera2/marshal/MarshalRegistry.java
+++ b/core/java/android/hardware/camera2/marshal/MarshalRegistry.java
@@ -37,7 +37,9 @@
      * @param queryable a non-{@code null} marshal queryable that supports marshaling {@code T}
      */
     public static <T> void registerMarshalQueryable(MarshalQueryable<T> queryable) {
-        sRegisteredMarshalQueryables.add(queryable);
+        synchronized(sMarshalLock) {
+            sRegisteredMarshalQueryables.add(queryable);
+        }
     }
 
     /**
@@ -54,47 +56,50 @@
      */
     @SuppressWarnings("unchecked")
     public static <T> Marshaler<T> getMarshaler(TypeReference<T> typeToken, int nativeType) {
-        // TODO: can avoid making a new token each time by code-genning
-        // the list of type tokens and native types from the keys (at the call sites)
-        MarshalToken<T> marshalToken = new MarshalToken<T>(typeToken, nativeType);
+        synchronized(sMarshalLock) {
+            // TODO: can avoid making a new token each time by code-genning
+            // the list of type tokens and native types from the keys (at the call sites)
+            MarshalToken<T> marshalToken = new MarshalToken<T>(typeToken, nativeType);
 
-        /*
-         * Marshalers are instantiated lazily once they are looked up; successive lookups
-         * will not instantiate new marshalers.
-         */
-        Marshaler<T> marshaler =
-                (Marshaler<T>) sMarshalerMap.get(marshalToken);
-
-        if (sRegisteredMarshalQueryables.size() == 0) {
-            throw new AssertionError("No available query marshalers registered");
-        }
-
-        if (marshaler == null) {
-            // Query each marshaler to see if they support the native/managed type combination
-            for (MarshalQueryable<?> potentialMarshaler : sRegisteredMarshalQueryables) {
-
-                MarshalQueryable<T> castedPotential =
-                        (MarshalQueryable<T>)potentialMarshaler;
-
-                if (castedPotential.isTypeMappingSupported(typeToken, nativeType)) {
-                    marshaler = castedPotential.createMarshaler(typeToken, nativeType);
-                    break;
-                }
-            }
+            /*
+             * Marshalers are instantiated lazily once they are looked up; successive lookups
+             * will not instantiate new marshalers.
+             */
+            Marshaler<T> marshaler =
+                    (Marshaler<T>) sMarshalerMap.get(marshalToken);
 
             if (marshaler == null) {
-                throw new UnsupportedOperationException(
+
+                if (sRegisteredMarshalQueryables.size() == 0) {
+                    throw new AssertionError("No available query marshalers registered");
+                }
+
+                // Query each marshaler to see if they support the native/managed type combination
+                for (MarshalQueryable<?> potentialMarshaler : sRegisteredMarshalQueryables) {
+
+                    MarshalQueryable<T> castedPotential =
+                            (MarshalQueryable<T>)potentialMarshaler;
+
+                    if (castedPotential.isTypeMappingSupported(typeToken, nativeType)) {
+                        marshaler = castedPotential.createMarshaler(typeToken, nativeType);
+                        break;
+                    }
+                }
+
+                if (marshaler == null) {
+                    throw new UnsupportedOperationException(
                         "Could not find marshaler that matches the requested " +
-                                "combination of type reference " +
-                                typeToken + " and native type " +
-                                MarshalHelpers.toStringNativeType(nativeType));
+                        "combination of type reference " +
+                        typeToken + " and native type " +
+                        MarshalHelpers.toStringNativeType(nativeType));
+                }
+
+                // Only put when no cached version exists to avoid +0.5ms lookup per call.
+                sMarshalerMap.put(marshalToken, marshaler);
             }
 
-            // Only put when no cached version exists to avoid +0.5ms lookup per call.
-            sMarshalerMap.put(marshalToken, marshaler);
+            return marshaler;
         }
-
-        return marshaler;
     }
 
     private static class MarshalToken<T> {
@@ -125,9 +130,12 @@
         }
     }
 
-    private static List<MarshalQueryable<?>> sRegisteredMarshalQueryables =
+    // Control access to the static data structures below
+    private static final Object sMarshalLock = new Object();
+
+    private static final List<MarshalQueryable<?>> sRegisteredMarshalQueryables =
             new ArrayList<MarshalQueryable<?>>();
-    private static HashMap<MarshalToken<?>, Marshaler<?>> sMarshalerMap =
+    private static final HashMap<MarshalToken<?>, Marshaler<?>> sMarshalerMap =
             new HashMap<MarshalToken<?>, Marshaler<?>>();
 
     private MarshalRegistry() {
diff --git a/core/java/android/hardware/input/InputManagerInternal.java b/core/java/android/hardware/input/InputManagerInternal.java
index 10fc8e6..01a5404 100644
--- a/core/java/android/hardware/input/InputManagerInternal.java
+++ b/core/java/android/hardware/input/InputManagerInternal.java
@@ -59,4 +59,9 @@
      * @param deviceId The id of input device.
      */
     public abstract void toggleCapsLock(int deviceId);
+
+    /**
+     * Set whether the input stack should deliver pulse gesture events when the device is asleep.
+     */
+    public abstract void setPulseGestureEnabled(boolean enabled);
 }
diff --git a/core/java/android/hardware/location/ContextHubService.java b/core/java/android/hardware/location/ContextHubService.java
index 8176189..43e596f 100644
--- a/core/java/android/hardware/location/ContextHubService.java
+++ b/core/java/android/hardware/location/ContextHubService.java
@@ -21,12 +21,15 @@
 import android.content.pm.PackageManager;
 import android.os.RemoteCallbackList;
 import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.service.vr.IVrManager;
+import android.service.vr.IVrStateCallbacks;
 import android.util.Log;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * @hide
@@ -57,8 +60,11 @@
 
     private static final int OS_APP_INSTANCE = -1;
 
+    private static final long APP_ID_ACTIVITY_RECOGNITION = 0x476f6f676c001000L;
+
     private final Context mContext;
-    private final HashMap<Integer, NanoAppInstanceInfo> mNanoAppHash = new HashMap<>();
+    private final ConcurrentHashMap<Integer, NanoAppInstanceInfo> mNanoAppHash =
+            new ConcurrentHashMap<>();
     private final ContextHubInfo[] mContextHubInfo;
     private final RemoteCallbackList<IContextHubCallback> mCallbacksList =
             new RemoteCallbackList<>();
@@ -66,6 +72,18 @@
     private native int nativeSendMessage(int[] header, byte[] data);
     private native ContextHubInfo[] nativeInitialize();
 
+    private final IVrStateCallbacks mVrStateCallbacks = new IVrStateCallbacks.Stub() {
+        @Override
+        public void onVrStateChanged(boolean enabled) {
+            for (NanoAppInstanceInfo app : mNanoAppHash.values()) {
+                if (app.getAppId() == APP_ID_ACTIVITY_RECOGNITION) {
+                    sendVrStateChangeMessageToApp(app, enabled);
+                    break;
+                }
+            }
+        }
+    };
+
     public ContextHubService(Context context) {
         mContext = context;
         mContextHubInfo = nativeInitialize();
@@ -74,6 +92,18 @@
             Log.d(TAG, "ContextHub[" + i + "] id: " + mContextHubInfo[i].getId()
                   + ", name:  " + mContextHubInfo[i].getName());
         }
+
+        if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_VR_MODE)) {
+            IVrManager vrManager =
+                    IVrManager.Stub.asInterface(ServiceManager.getService("vrmanager"));
+            if (vrManager != null) {
+                try {
+                    vrManager.registerListener(mVrStateCallbacks);
+                } catch (RemoteException e) {
+                    Log.e(TAG, "VR state listener registration failed", e);
+                }
+            }
+        }
     }
 
     @Override
@@ -277,4 +307,19 @@
 
         return 0;
     }
+
+    private void sendVrStateChangeMessageToApp(NanoAppInstanceInfo app, boolean vrModeEnabled) {
+        int[] msgHeader = new int[MSG_HEADER_SIZE];
+        msgHeader[MSG_FIELD_TYPE] = 0;
+        msgHeader[MSG_FIELD_VERSION] = 0;
+        msgHeader[MSG_FIELD_HUB_HANDLE] = ANY_HUB;
+        msgHeader[MSG_FIELD_APP_INSTANCE] = app.getHandle();
+
+        byte[] data = new byte[1];
+        data[0] = (byte) ((vrModeEnabled) ? 1 : 0);
+        int ret = nativeSendMessage(msgHeader, data);
+        if (ret != 0) {
+            Log.e(TAG, "Couldn't send VR state change notification (" + ret + ")!");
+        }
+    }
 }
diff --git a/core/java/android/inputmethodservice/AbstractInputMethodService.java b/core/java/android/inputmethodservice/AbstractInputMethodService.java
index 3531926..29177b6 100644
--- a/core/java/android/inputmethodservice/AbstractInputMethodService.java
+++ b/core/java/android/inputmethodservice/AbstractInputMethodService.java
@@ -16,11 +16,14 @@
 
 package android.inputmethodservice;
 
+import android.annotation.NonNull;
 import android.app.Service;
 import android.content.Intent;
 import android.os.IBinder;
 import android.view.KeyEvent;
 import android.view.MotionEvent;
+import android.view.inputmethod.InputConnection;
+import android.view.inputmethod.InputContentInfo;
 import android.view.inputmethod.InputMethod;
 import android.view.inputmethod.InputMethodSession;
 
@@ -208,7 +211,7 @@
      *
      * @param event The motion event being received.
      * @return True if the event was handled in this function, false otherwise.
-     * @see View#onTrackballEvent
+     * @see android.view.View#onTrackballEvent(MotionEvent)
      */
     public boolean onTrackballEvent(MotionEvent event) {
         return false;
@@ -219,9 +222,30 @@
      *
      * @param event The motion event being received.
      * @return True if the event was handled in this function, false otherwise.
-     * @see View#onGenericMotionEvent
+     * @see android.view.View#onGenericMotionEvent(MotionEvent)
      */
     public boolean onGenericMotionEvent(MotionEvent event) {
         return false;
     }
+
+    /**
+     * Allow the receiver of {@link InputContentInfo} to obtain a temporary read-only access
+     * permission to the content.
+     *
+     * <p>Default implementation does nothing.</p>
+     *
+     * @param inputContentInfo Content to be temporarily exposed from the input method to the
+     * application.
+     * This cannot be {@code null}.
+     * @param inputConnection {@link InputConnection} with which
+     * {@link InputConnection#commitContent(InputContentInfo, int, android.os.Bundle)} will be
+     * called.
+     * @return {@code false} if we cannot allow a temporary access permission.
+     * @hide
+     */
+    public void exposeContent(@NonNull InputContentInfo inputContentInfo,
+            @NonNull InputConnection inputConnection) {
+        return;
+    }
+
 }
diff --git a/core/java/android/inputmethodservice/IInputMethodWrapper.java b/core/java/android/inputmethodservice/IInputMethodWrapper.java
index cc71a9c..167d5a0 100644
--- a/core/java/android/inputmethodservice/IInputMethodWrapper.java
+++ b/core/java/android/inputmethodservice/IInputMethodWrapper.java
@@ -168,7 +168,7 @@
                 int missingMethods = msg.arg1;
                 IInputContext inputContext = (IInputContext)args.arg1;
                 InputConnection ic = inputContext != null
-                        ? new InputConnectionWrapper(inputContext, missingMethods) : null;
+                        ? new InputConnectionWrapper(mTarget, inputContext, missingMethods) : null;
                 EditorInfo info = (EditorInfo)args.arg2;
                 info.makeCompatible(mTargetSdkVersion);
                 inputMethod.startInput(ic, info);
@@ -180,7 +180,7 @@
                 int missingMethods = msg.arg1;
                 IInputContext inputContext = (IInputContext)args.arg1;
                 InputConnection ic = inputContext != null
-                        ? new InputConnectionWrapper(inputContext, missingMethods) : null;
+                        ? new InputConnectionWrapper(mTarget, inputContext, missingMethods) : null;
                 EditorInfo info = (EditorInfo)args.arg2;
                 info.makeCompatible(mTargetSdkVersion);
                 inputMethod.restartInput(ic, info);
@@ -251,7 +251,7 @@
     public void bindInput(InputBinding binding) {
         // This IInputContext is guaranteed to implement all the methods.
         final int missingMethodFlags = 0;
-        InputConnection ic = new InputConnectionWrapper(
+        InputConnection ic = new InputConnectionWrapper(mTarget,
                 IInputContext.Stub.asInterface(binding.getConnectionToken()), missingMethodFlags);
         InputBinding nu = new InputBinding(ic, binding);
         mCaller.executeOrSendMessage(mCaller.obtainMessageO(DO_SET_INPUT_CONTEXT, nu));
diff --git a/core/java/android/inputmethodservice/InputMethodService.java b/core/java/android/inputmethodservice/InputMethodService.java
index 4799773..fede77d 100644
--- a/core/java/android/inputmethodservice/InputMethodService.java
+++ b/core/java/android/inputmethodservice/InputMethodService.java
@@ -23,6 +23,7 @@
 import android.annotation.DrawableRes;
 import android.annotation.IntDef;
 import android.annotation.MainThread;
+import android.annotation.NonNull;
 import android.app.ActivityManager;
 import android.app.Dialog;
 import android.content.Context;
@@ -65,6 +66,7 @@
 import android.view.inputmethod.ExtractedTextRequest;
 import android.view.inputmethod.InputBinding;
 import android.view.inputmethod.InputConnection;
+import android.view.inputmethod.InputContentInfo;
 import android.view.inputmethod.InputMethod;
 import android.view.inputmethod.InputMethodManager;
 import android.view.inputmethod.InputMethodSubtype;
@@ -2598,6 +2600,29 @@
     }
 
     /**
+     * Allow the receiver of {@link InputContentInfo} to obtain a temporary read-only access
+     * permission to the content.
+     *
+     * @param inputContentInfo Content to be temporarily exposed from the input method to the
+     * application.
+     * This cannot be {@code null}.
+     * @param inputConnection {@link InputConnection} with which
+     * {@link InputConnection#commitContent(InputContentInfo, Bundle)} will be called.
+     * @hide
+     */
+    @Override
+    public final void exposeContent(@NonNull InputContentInfo inputContentInfo,
+            @NonNull InputConnection inputConnection) {
+        if (inputConnection == null) {
+            return;
+        }
+        if (getCurrentInputConnection() != inputConnection) {
+            return;
+        }
+        mImm.exposeContent(mToken, inputContentInfo, getCurrentInputEditorInfo());
+    }
+
+    /**
      * Performs a dump of the InputMethodService's internal state.  Override
      * to add your own information to the dump.
      */
diff --git a/core/java/android/net/ConnectivityMetricsLogger.java b/core/java/android/net/ConnectivityMetricsLogger.java
index d8cdde9..029c5bd 100644
--- a/core/java/android/net/ConnectivityMetricsLogger.java
+++ b/core/java/android/net/ConnectivityMetricsLogger.java
@@ -23,6 +23,8 @@
 import android.os.ServiceManager;
 import android.util.Log;
 
+import com.android.internal.annotations.VisibleForTesting;
+
 /** {@hide} */
 @SystemApi
 public class ConnectivityMetricsLogger {
@@ -33,28 +35,45 @@
 
     // Component Tags
     public static final int COMPONENT_TAG_CONNECTIVITY = 0;
-    public static final int COMPONENT_TAG_BLUETOOTH = 1;
-    public static final int COMPONENT_TAG_WIFI = 2;
-    public static final int COMPONENT_TAG_TELECOM = 3;
-    public static final int COMPONENT_TAG_TELEPHONY = 4;
-
-    public static final int NUMBER_OF_COMPONENTS = 5;
+    public static final int COMPONENT_TAG_BLUETOOTH    = 1;
+    public static final int COMPONENT_TAG_WIFI         = 2;
+    public static final int COMPONENT_TAG_TELECOM      = 3;
+    public static final int COMPONENT_TAG_TELEPHONY    = 4;
+    public static final int NUMBER_OF_COMPONENTS       = 5;
 
     // Event Tag
     public static final int TAG_SKIPPED_EVENTS = -1;
 
     public static final String DATA_KEY_EVENTS_COUNT = "count";
 
-    private IConnectivityMetricsLogger mService;
-
-    private long mServiceUnblockedTimestampMillis = 0;
-    private int mNumSkippedEvents = 0;
+    /** {@hide} */ protected final IConnectivityMetricsLogger mService;
+    /** {@hide} */ protected volatile long mServiceUnblockedTimestampMillis;
+    private int mNumSkippedEvents;
 
     public ConnectivityMetricsLogger() {
-        mService = IConnectivityMetricsLogger.Stub.asInterface(ServiceManager.getService(
-                CONNECTIVITY_METRICS_LOGGER_SERVICE));
+        this(IConnectivityMetricsLogger.Stub.asInterface(
+                ServiceManager.getService(CONNECTIVITY_METRICS_LOGGER_SERVICE)));
     }
 
+    /** {@hide} */
+    @VisibleForTesting
+    public ConnectivityMetricsLogger(IConnectivityMetricsLogger service) {
+        mService = service;
+    }
+
+    /**
+     * Log a ConnectivityMetricsEvent.
+     *
+     * This method keeps track of skipped events when MetricsLoggerService throttles input events.
+     * It skips logging when MetricsLoggerService is active. When throttling ends, it logs a
+     * meta-event containing the number of events dropped. It is not safe to call this method
+     * concurrently from different threads.
+     *
+     * @param timestamp is the epoch timestamp of the event in ms.
+     * @param componentTag is the COMPONENT_* constant the event belongs to.
+     * @param eventTag is an event type constant whose meaning is specific to the component tag.
+     * @param data is a Parcelable instance representing the event.
+     */
     public void logEvent(long timestamp, int componentTag, int eventTag, Parcelable data) {
         if (mService == null) {
             if (DBG) {
@@ -104,7 +123,7 @@
                 }
             }
         } catch (RemoteException e) {
-            Log.e(TAG, "Error logging event " + e.getMessage());
+            Log.e(TAG, "Error logging event", e);
         }
     }
 
@@ -121,8 +140,8 @@
     public ConnectivityMetricsEvent[] getEvents(ConnectivityMetricsEvent.Reference reference) {
         try {
             return mService.getEvents(reference);
-        } catch (RemoteException ex) {
-            Log.e(TAG, "IConnectivityMetricsLogger.getEvents: " + ex);
+        } catch (RemoteException e) {
+            Log.e(TAG, "IConnectivityMetricsLogger.getEvents", e);
             return null;
         }
     }
@@ -133,8 +152,8 @@
     public boolean register(PendingIntent newEventsIntent) {
         try {
             return mService.register(newEventsIntent);
-        } catch (RemoteException ex) {
-            Log.e(TAG, "IConnectivityMetricsLogger.register: " + ex);
+        } catch (RemoteException e) {
+            Log.e(TAG, "IConnectivityMetricsLogger.register", e);
             return false;
         }
     }
@@ -142,11 +161,10 @@
     public boolean unregister(PendingIntent newEventsIntent) {
         try {
             mService.unregister(newEventsIntent);
-        } catch (RemoteException ex) {
-            Log.e(TAG, "IConnectivityMetricsLogger.unregister: " + ex);
+            return true;
+        } catch (RemoteException e) {
+            Log.e(TAG, "IConnectivityMetricsLogger.unregister", e);
             return false;
         }
-
-        return true;
     }
 }
diff --git a/core/java/android/net/NetworkRequest.java b/core/java/android/net/NetworkRequest.java
index f1edcbe..5ac24d5 100644
--- a/core/java/android/net/NetworkRequest.java
+++ b/core/java/android/net/NetworkRequest.java
@@ -47,15 +47,55 @@
     public final int legacyType;
 
     /**
+     * A NetworkRequest as used by the system can be one of three types:
+     *
+     *     - LISTEN, for which the framework will issue callbacks about any
+     *       and all networks that match the specified NetworkCapabilities,
+     *
+     *     - REQUEST, capable of causing a specific network to be created
+     *       first (e.g. a telephony DUN request), the framework will issue
+     *       callbacks about the single, highest scoring current network
+     *       (if any) that matches the specified NetworkCapabilities, or
+     *
+     *     - TRACK_DEFAULT, a hybrid of the two designed such that the
+     *       framework will issue callbacks for the single, highest scoring
+     *       current network (if any) that matches the capabilities of the
+     *       default Internet request (mDefaultRequest), but which cannot cause
+     *       the framework to either create or retain the existence of any
+     *       specific network.
+     *
+     *     - The value NONE is used only by applications. When an application
+     *       creates a NetworkRequest, it does not have a type; the type is set
+     *       by the system depending on the method used to file the request
+     *       (requestNetwork, registerNetworkCallback, etc.).
+     *
      * @hide
      */
-    public NetworkRequest(NetworkCapabilities nc, int legacyType, int rId) {
+    public static enum Type {
+        NONE,
+        LISTEN,
+        TRACK_DEFAULT,
+        REQUEST
+    };
+
+    /**
+     * The type of the request. This is only used by the system and is always NONE elsewhere.
+     *
+     * @hide
+     */
+    public final Type type;
+
+    /**
+     * @hide
+     */
+    public NetworkRequest(NetworkCapabilities nc, int legacyType, int rId, Type type) {
         if (nc == null) {
             throw new NullPointerException();
         }
         requestId = rId;
         networkCapabilities = nc;
         this.legacyType = legacyType;
+        this.type = type;
     }
 
     /**
@@ -65,6 +105,7 @@
         networkCapabilities = new NetworkCapabilities(that.networkCapabilities);
         requestId = that.requestId;
         this.legacyType = that.legacyType;
+        this.type = that.type;
     }
 
     /**
@@ -90,7 +131,7 @@
             final NetworkCapabilities nc = new NetworkCapabilities(mNetworkCapabilities);
             nc.maybeMarkCapabilitiesRestricted();
             return new NetworkRequest(nc, ConnectivityManager.TYPE_NONE,
-                    ConnectivityManager.REQUEST_ID_UNSET);
+                    ConnectivityManager.REQUEST_ID_UNSET, Type.NONE);
         }
 
         /**
@@ -223,6 +264,7 @@
         dest.writeParcelable(networkCapabilities, flags);
         dest.writeInt(legacyType);
         dest.writeInt(requestId);
+        // type intentionally not preserved across process boundaries.
     }
     public static final Creator<NetworkRequest> CREATOR =
         new Creator<NetworkRequest>() {
@@ -230,7 +272,8 @@
                 NetworkCapabilities nc = (NetworkCapabilities)in.readParcelable(null);
                 int legacyType = in.readInt();
                 int requestId = in.readInt();
-                NetworkRequest result = new NetworkRequest(nc, legacyType, requestId);
+                // type intentionally not preserved across process boundaries.
+                NetworkRequest result = new NetworkRequest(nc, legacyType, requestId, Type.NONE);
                 return result;
             }
             public NetworkRequest[] newArray(int size) {
@@ -238,8 +281,27 @@
             }
         };
 
+    /**
+     * Returns true iff. the contained NetworkRequest is one that:
+     *
+     *     - should be associated with at most one satisfying network
+     *       at a time;
+     *
+     *     - should cause a network to be kept up if it is the best network
+     *       which can satisfy the NetworkRequest.
+     *
+     * For full detail of how isRequest() is used for pairing Networks with
+     * NetworkRequests read rematchNetworkAndRequests().
+     *
+     * @hide
+     */
+    public boolean isRequest() {
+        return type == Type.TRACK_DEFAULT || type == Type.REQUEST;
+    }
+
     public String toString() {
-        return "NetworkRequest [ id=" + requestId + ", legacyType=" + legacyType +
+        return "NetworkRequest [ " + type + " id=" + requestId +
+                (legacyType != ConnectivityManager.TYPE_NONE ? ", legacyType=" + legacyType : "") +
                 ", " + networkCapabilities.toString() + " ]";
     }
 
@@ -248,6 +310,7 @@
         NetworkRequest that = (NetworkRequest)obj;
         return (that.legacyType == this.legacyType &&
                 that.requestId == this.requestId &&
+                that.type == this.type &&
                 ((that.networkCapabilities == null && this.networkCapabilities == null) ||
                  (that.networkCapabilities != null &&
                   that.networkCapabilities.equals(this.networkCapabilities))));
@@ -255,6 +318,6 @@
 
     public int hashCode() {
         return requestId + (legacyType * 1013) +
-                (networkCapabilities.hashCode() * 1051);
+                (networkCapabilities.hashCode() * 1051) + type.hashCode() * 17;
     }
 }
diff --git a/core/java/android/net/metrics/ApfProgramEvent.java b/core/java/android/net/metrics/ApfProgramEvent.java
new file mode 100644
index 0000000..3cd058c
--- /dev/null
+++ b/core/java/android/net/metrics/ApfProgramEvent.java
@@ -0,0 +1,137 @@
+/*
+ * 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.
+ */
+
+package android.net.metrics;
+
+import android.annotation.SystemApi;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.util.SparseArray;
+
+import java.util.Arrays;
+import java.util.stream.Collectors;
+
+import com.android.internal.util.MessageUtils;
+
+/**
+ * An event logged when there is a change or event that requires updating the
+ * the APF program in place with a new APF program.
+ * {@hide}
+ */
+@SystemApi
+public final class ApfProgramEvent implements Parcelable {
+
+    // Bitflag constants describing what an Apf program filters.
+    // Bits are indexeds from LSB to MSB, starting at index 0.
+    // TODO: use @IntDef
+    public static final int FLAG_MULTICAST_FILTER_ON = 0;
+    public static final int FLAG_HAS_IPV4_ADDRESS    = 1;
+
+    public final long lifetime;     // Lifetime of the program in seconds
+    public final int filteredRas;   // Number of RAs filtered by the APF program
+    public final int currentRas;    // Total number of current RAs at generation time
+    public final int programLength; // Length of the APF program in bytes
+    public final int flags;         // Bitfield compound of FLAG_* constants
+
+    /** {@hide} */
+    public ApfProgramEvent(
+            long lifetime, int filteredRas, int currentRas, int programLength, int flags) {
+        this.lifetime = lifetime;
+        this.filteredRas = filteredRas;
+        this.currentRas = currentRas;
+        this.programLength = programLength;
+        this.flags = flags;
+    }
+
+    private ApfProgramEvent(Parcel in) {
+        this.lifetime = in.readLong();
+        this.filteredRas = in.readInt();
+        this.currentRas = in.readInt();
+        this.programLength = in.readInt();
+        this.flags = in.readInt();
+    }
+
+    @Override
+    public void writeToParcel(Parcel out, int flags) {
+        out.writeLong(lifetime);
+        out.writeInt(filteredRas);
+        out.writeInt(currentRas);
+        out.writeInt(programLength);
+        out.writeInt(flags);
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public String toString() {
+        String lifetimeString = (lifetime < Long.MAX_VALUE) ? lifetime + "s" : "forever";
+        return String.format("ApfProgramEvent(%d/%d RAs %dB %s %s)",
+                filteredRas, currentRas, programLength, lifetimeString, namesOf(flags));
+    }
+
+    public static final Parcelable.Creator<ApfProgramEvent> CREATOR
+            = new Parcelable.Creator<ApfProgramEvent>() {
+        public ApfProgramEvent createFromParcel(Parcel in) {
+            return new ApfProgramEvent(in);
+        }
+
+        public ApfProgramEvent[] newArray(int size) {
+            return new ApfProgramEvent[size];
+        }
+    };
+
+    /** {@hide} */
+    public static int flagsFor(boolean hasIPv4, boolean multicastFilterOn) {
+        int bitfield = 0;
+        if (hasIPv4) {
+            bitfield |= (1 << FLAG_HAS_IPV4_ADDRESS);
+        }
+        if (multicastFilterOn) {
+            bitfield |= (1 << FLAG_MULTICAST_FILTER_ON);
+        }
+        return bitfield;
+    }
+
+    // TODO: consider using java.util.BitSet
+    private static int[] bitflagsOf(int bitfield) {
+        int[] flags = new int[Integer.bitCount(bitfield)];
+        int i = 0;
+        int bitflag = 0;
+        while (bitfield != 0) {
+          if ((bitfield & 1) != 0) {
+              flags[i++] = bitflag;
+          }
+          bitflag++;
+          bitfield = bitfield >>> 1;
+        }
+        return flags;
+    }
+
+    private static String namesOf(int bitfields) {
+        return Arrays.stream(bitflagsOf(bitfields))
+                .mapToObj(i -> Decoder.constants.get(i))
+                .collect(Collectors.joining(", "));
+    }
+
+    final static class Decoder {
+        static final SparseArray<String> constants =
+                MessageUtils.findMessageNames(
+                       new Class[]{ApfProgramEvent.class}, new String[]{"FLAG_"});
+    }
+}
diff --git a/core/java/android/net/metrics/ApfStats.java b/core/java/android/net/metrics/ApfStats.java
new file mode 100644
index 0000000..8451e53
--- /dev/null
+++ b/core/java/android/net/metrics/ApfStats.java
@@ -0,0 +1,103 @@
+/*
+ * 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.
+ */
+
+package android.net.metrics;
+
+import android.annotation.SystemApi;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+/**
+ * An event logged for an interface with APF capabilities when its IpManager state machine exits.
+ * {@hide}
+ */
+@SystemApi
+public final class ApfStats implements Parcelable {
+
+    public final long durationMs;     // time interval in milliseconds these stastistics covers
+    public final int receivedRas;     // number of received RAs
+    public final int matchingRas;     // number of received RAs matching a known RA
+    public final int droppedRas;      // number of received RAs ignored due to the MAX_RAS limit
+    public final int zeroLifetimeRas; // number of received RAs with a minimum lifetime of 0
+    public final int parseErrors;     // number of received RAs that could not be parsed
+    public final int programUpdates;  // number of APF program updates
+    public final int maxProgramSize;  // maximum APF program size advertised by hardware
+
+    /** {@hide} */
+    public ApfStats(long durationMs, int receivedRas, int matchingRas, int droppedRas,
+            int zeroLifetimeRas, int parseErrors, int programUpdates, int maxProgramSize) {
+        this.durationMs = durationMs;
+        this.receivedRas = receivedRas;
+        this.matchingRas = matchingRas;
+        this.droppedRas = droppedRas;
+        this.zeroLifetimeRas = zeroLifetimeRas;
+        this.parseErrors = parseErrors;
+        this.programUpdates = programUpdates;
+        this.maxProgramSize = maxProgramSize;
+    }
+
+    private ApfStats(Parcel in) {
+        this.durationMs = in.readLong();
+        this.receivedRas = in.readInt();
+        this.matchingRas = in.readInt();
+        this.droppedRas = in.readInt();
+        this.zeroLifetimeRas = in.readInt();
+        this.parseErrors = in.readInt();
+        this.programUpdates = in.readInt();
+        this.maxProgramSize = in.readInt();
+    }
+
+    @Override
+    public void writeToParcel(Parcel out, int flags) {
+        out.writeLong(durationMs);
+        out.writeInt(receivedRas);
+        out.writeInt(matchingRas);
+        out.writeInt(droppedRas);
+        out.writeInt(zeroLifetimeRas);
+        out.writeInt(parseErrors);
+        out.writeInt(programUpdates);
+        out.writeInt(maxProgramSize);
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public String toString() {
+        return new StringBuilder("ApfStats(")
+                .append(String.format("%dms ", durationMs))
+                .append(String.format("%dB RA: {", maxProgramSize))
+                .append(String.format("%d received, ", receivedRas))
+                .append(String.format("%d matching, ", matchingRas))
+                .append(String.format("%d dropped, ", droppedRas))
+                .append(String.format("%d zero lifetime, ", zeroLifetimeRas))
+                .append(String.format("%d parse errors, ", parseErrors))
+                .append(String.format("%d program updates})", programUpdates))
+                .toString();
+    }
+
+    public static final Parcelable.Creator<ApfStats> CREATOR = new Parcelable.Creator<ApfStats>() {
+        public ApfStats createFromParcel(Parcel in) {
+            return new ApfStats(in);
+        }
+
+        public ApfStats[] newArray(int size) {
+            return new ApfStats[size];
+        }
+    };
+}
diff --git a/core/java/android/net/metrics/DefaultNetworkEvent.java b/core/java/android/net/metrics/DefaultNetworkEvent.java
index f8b5992..b881fbb 100644
--- a/core/java/android/net/metrics/DefaultNetworkEvent.java
+++ b/core/java/android/net/metrics/DefaultNetworkEvent.java
@@ -25,7 +25,7 @@
  * {@hide}
  */
 @SystemApi
-public final class DefaultNetworkEvent extends IpConnectivityEvent implements Parcelable {
+public final class DefaultNetworkEvent implements Parcelable {
     // The ID of the network that has become the new default or NETID_UNSET if none.
     public final int netId;
     // The list of transport types of the new default network, for example TRANSPORT_WIFI, as
@@ -37,7 +37,8 @@
     public final boolean prevIPv4;
     public final boolean prevIPv6;
 
-    private DefaultNetworkEvent(int netId, int[] transportTypes,
+    /** {@hide} */
+    public DefaultNetworkEvent(int netId, int[] transportTypes,
                 int prevNetId, boolean prevIPv4, boolean prevIPv6) {
         this.netId = netId;
         this.transportTypes = transportTypes;
@@ -105,6 +106,5 @@
 
     public static void logEvent(
             int netId, int[] transports, int prevNetId, boolean hadIPv4, boolean hadIPv6) {
-        logEvent(new DefaultNetworkEvent(netId, transports, prevNetId, hadIPv4, hadIPv6));
     }
-};
+}
diff --git a/core/java/android/net/metrics/DhcpClientEvent.java b/core/java/android/net/metrics/DhcpClientEvent.java
index ec560bf..3fe68b4 100644
--- a/core/java/android/net/metrics/DhcpClientEvent.java
+++ b/core/java/android/net/metrics/DhcpClientEvent.java
@@ -24,11 +24,12 @@
  * {@hide}
  */
 @SystemApi
-public final class DhcpClientEvent extends IpConnectivityEvent implements Parcelable {
+public final class DhcpClientEvent implements Parcelable {
     public final String ifName;
     public final String msg;
 
-    private DhcpClientEvent(String ifName, String msg) {
+    /** {@hide} */
+    public DhcpClientEvent(String ifName, String msg) {
         this.ifName = ifName;
         this.msg = msg;
     }
@@ -64,6 +65,5 @@
     };
 
     public static void logStateEvent(String ifName, String state) {
-        logEvent(new DhcpClientEvent(ifName, state));
     }
-};
+}
diff --git a/core/java/android/net/metrics/DhcpErrorEvent.java b/core/java/android/net/metrics/DhcpErrorEvent.java
index 84795b8..4206886 100644
--- a/core/java/android/net/metrics/DhcpErrorEvent.java
+++ b/core/java/android/net/metrics/DhcpErrorEvent.java
@@ -27,7 +27,7 @@
  * {@hide} Event class used to record error events when parsing DHCP response packets.
  */
 @SystemApi
-public final class DhcpErrorEvent extends IpConnectivityEvent implements Parcelable {
+public final class DhcpErrorEvent implements Parcelable {
     public static final int L2_ERROR   = 1;
     public static final int L3_ERROR   = 2;
     public static final int L4_ERROR   = 3;
@@ -61,7 +61,8 @@
     // byte 3: optional code
     public final int errorCode;
 
-    private DhcpErrorEvent(String ifName, int errorCode) {
+    /** {@hide} */
+    public DhcpErrorEvent(String ifName, int errorCode) {
         this.ifName = ifName;
         this.errorCode = errorCode;
     }
@@ -92,11 +93,9 @@
     };
 
     public static void logParseError(String ifName, int errorCode) {
-        logEvent(new DhcpErrorEvent(ifName, errorCode));
     }
 
     public static void logReceiveError(String ifName) {
-        logEvent(new DhcpErrorEvent(ifName, RECEIVE_ERROR));
     }
 
     public static int errorCodeWithOption(int errorCode, int option) {
diff --git a/core/java/android/net/metrics/DnsEvent.java b/core/java/android/net/metrics/DnsEvent.java
index b94dda0..9eb8bdb 100644
--- a/core/java/android/net/metrics/DnsEvent.java
+++ b/core/java/android/net/metrics/DnsEvent.java
@@ -24,7 +24,7 @@
  * {@hide}
  */
 @SystemApi
-final public class DnsEvent extends IpConnectivityEvent implements Parcelable {
+final public class DnsEvent implements Parcelable {
     public final int netId;
 
     // The event type is currently only 1 or 2, so we store it as a byte.
@@ -37,7 +37,8 @@
     // queries.
     public final int[] latenciesMs;
 
-    private DnsEvent(int netId, byte[] eventTypes, byte[] returnCodes, int[] latenciesMs) {
+    /** {@hide} */
+    public DnsEvent(int netId, byte[] eventTypes, byte[] returnCodes, int[] latenciesMs) {
         this.netId = netId;
         this.eventTypes = eventTypes;
         this.returnCodes = returnCodes;
@@ -82,6 +83,5 @@
 
     public static void logEvent(
             int netId, byte[] eventTypes, byte[] returnCodes, int[] latenciesMs) {
-        logEvent(new DnsEvent(netId, eventTypes, returnCodes, latenciesMs));
     }
 }
diff --git a/core/java/android/net/metrics/IpConnectivityEvent.java b/core/java/android/net/metrics/IpConnectivityEvent.java
deleted file mode 100644
index 95576c2..0000000
--- a/core/java/android/net/metrics/IpConnectivityEvent.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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.
- */
-
-package android.net.metrics;
-
-import android.net.ConnectivityMetricsLogger;
-import android.os.Parcel;
-import android.os.Parcelable;
-
-/**
- * {@hide}
- */
-public abstract class IpConnectivityEvent {
-    private static final int COMPONENT_TAG = ConnectivityMetricsLogger.COMPONENT_TAG_CONNECTIVITY;
-
-    private static final ConnectivityMetricsLogger sMetricsLogger = new ConnectivityMetricsLogger();
-
-    public static <T extends IpConnectivityEvent & Parcelable> void logEvent(T event) {
-        // TODO: consider using different component for DNS event.
-        sMetricsLogger.logEvent(System.currentTimeMillis(), COMPONENT_TAG, 0, event);
-    }
-};
diff --git a/core/java/android/net/metrics/IpConnectivityLog.java b/core/java/android/net/metrics/IpConnectivityLog.java
new file mode 100644
index 0000000..a7c1d40
--- /dev/null
+++ b/core/java/android/net/metrics/IpConnectivityLog.java
@@ -0,0 +1,86 @@
+/*
+ * 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.
+ */
+
+package android.net.metrics;
+
+import android.net.ConnectivityMetricsEvent;
+import android.net.ConnectivityMetricsLogger;
+import android.net.IConnectivityMetricsLogger;
+import android.os.Parcelable;
+import android.os.RemoteException;
+import android.util.Log;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+/**
+ * Specialization of the ConnectivityMetricsLogger class for recording IP connectivity events.
+ * {@hide}
+ */
+public class IpConnectivityLog extends ConnectivityMetricsLogger {
+    private static String TAG = "IpConnectivityMetricsLogger";
+    private static final boolean DBG = false;
+
+    public IpConnectivityLog() {
+        // mService initialized in super constructor.
+    }
+
+    @VisibleForTesting
+    public IpConnectivityLog(IConnectivityMetricsLogger service) {
+        super(service);
+    }
+
+    /**
+     * Log an IpConnectivity event. Contrary to logEvent(), this method does not
+     * keep track of skipped events and is thread-safe for callers.
+     *
+     * @param timestamp is the epoch timestamp of the event in ms.
+     * @param data is a Parcelable instance representing the event.
+     *
+     * @return true if the event was successfully logged.
+     */
+    public boolean log(long timestamp, Parcelable data) {
+        if (mService == null) {
+            if (DBG) {
+                Log.d(TAG, CONNECTIVITY_METRICS_LOGGER_SERVICE + " service not ready");
+            }
+            return false;
+        }
+
+        if (System.currentTimeMillis() < mServiceUnblockedTimestampMillis) {
+            if (DBG) {
+                Log.d(TAG, "skipping logging due to throttling for IpConnectivity component");
+            }
+            return false;
+        }
+
+        try {
+            final ConnectivityMetricsEvent event =
+                new ConnectivityMetricsEvent(timestamp, COMPONENT_TAG_CONNECTIVITY, 0, data);
+            final long result = mService.logEvent(event);
+            if (result >= 0) {
+                mServiceUnblockedTimestampMillis = result;
+            }
+            return (result == 0);
+        } catch (RemoteException e) {
+            Log.e(TAG, "Error logging event", e);
+            return false;
+        }
+    }
+
+    public void log(Parcelable event) {
+        log(System.currentTimeMillis(), event);
+    }
+}
diff --git a/core/java/android/net/metrics/IpManagerEvent.java b/core/java/android/net/metrics/IpManagerEvent.java
index 0940bd0..8949fae 100644
--- a/core/java/android/net/metrics/IpManagerEvent.java
+++ b/core/java/android/net/metrics/IpManagerEvent.java
@@ -27,8 +27,9 @@
  * {@hide}
  */
 @SystemApi
-public final class IpManagerEvent extends IpConnectivityEvent implements Parcelable {
+public final class IpManagerEvent implements Parcelable {
 
+    // TODO: use @IntDef
     public static final int PROVISIONING_OK    = 1;
     public static final int PROVISIONING_FAIL  = 2;
     public static final int COMPLETE_LIFECYCLE = 3;
@@ -37,7 +38,8 @@
     public final int eventType;
     public final long durationMs;
 
-    private IpManagerEvent(String ifName, int eventType, long duration) {
+    /** {@hide} */
+    public IpManagerEvent(String ifName, int eventType, long duration) {
         this.ifName = ifName;
         this.eventType = eventType;
         this.durationMs = duration;
@@ -71,7 +73,6 @@
     };
 
     public static void logEvent(int eventType, String ifName, long durationMs) {
-        logEvent(new IpManagerEvent(ifName, eventType, durationMs));
     }
 
     @Override
@@ -84,4 +85,4 @@
         static final SparseArray<String> constants = MessageUtils.findMessageNames(
                 new Class[]{IpManagerEvent.class}, new String[]{"PROVISIONING_", "COMPLETE_"});
     }
-};
+}
diff --git a/core/java/android/net/metrics/IpReachabilityEvent.java b/core/java/android/net/metrics/IpReachabilityEvent.java
index d40389c..7d02291 100644
--- a/core/java/android/net/metrics/IpReachabilityEvent.java
+++ b/core/java/android/net/metrics/IpReachabilityEvent.java
@@ -27,7 +27,7 @@
  * {@hide}
  */
 @SystemApi
-public final class IpReachabilityEvent extends IpConnectivityEvent implements Parcelable {
+public final class IpReachabilityEvent implements Parcelable {
 
     public static final int PROBE             = 1 << 8;
     public static final int NUD_FAILED        = 2 << 8;
@@ -41,7 +41,8 @@
     // byte 3: kernel errno from RTNetlink or IpReachabilityMonitor
     public final int eventType;
 
-    private IpReachabilityEvent(String ifName, int eventType) {
+    /** {@hide} */
+    public IpReachabilityEvent(String ifName, int eventType) {
         this.ifName = ifName;
         this.eventType = eventType;
     }
@@ -72,15 +73,12 @@
     };
 
     public static void logProbeEvent(String ifName, int nlErrorCode) {
-        logEvent(new IpReachabilityEvent(ifName, PROBE | (nlErrorCode & 0xFF)));
     }
 
     public static void logNudFailed(String ifName) {
-        logEvent(new IpReachabilityEvent(ifName, NUD_FAILED));
     }
 
     public static void logProvisioningLost(String ifName) {
-        logEvent(new IpReachabilityEvent(ifName, PROVISIONING_LOST));
     }
 
     @Override
@@ -94,4 +92,4 @@
                 MessageUtils.findMessageNames(new Class[]{IpReachabilityEvent.class},
                 new String[]{"PROBE", "PROVISIONING_", "NUD_"});
     }
-};
+}
diff --git a/core/java/android/net/metrics/NetworkEvent.java b/core/java/android/net/metrics/NetworkEvent.java
index 08c9c75..cdfe386 100644
--- a/core/java/android/net/metrics/NetworkEvent.java
+++ b/core/java/android/net/metrics/NetworkEvent.java
@@ -27,7 +27,7 @@
  * {@hide}
  */
 @SystemApi
-public final class NetworkEvent extends IpConnectivityEvent implements Parcelable {
+public final class NetworkEvent implements Parcelable {
 
     public static final int NETWORK_CONNECTED            = 1;
     public static final int NETWORK_VALIDATED            = 2;
@@ -41,12 +41,18 @@
     public final int eventType;
     public final long durationMs;
 
-    private NetworkEvent(int netId, int eventType, long durationMs) {
+    /** {@hide} */
+    public NetworkEvent(int netId, int eventType, long durationMs) {
         this.netId = netId;
         this.eventType = eventType;
         this.durationMs = durationMs;
     }
 
+    /** {@hide} */
+    public NetworkEvent(int netId, int eventType) {
+        this(netId, eventType, 0);
+    }
+
     private NetworkEvent(Parcel in) {
         netId = in.readInt();
         eventType = in.readInt();
@@ -75,15 +81,12 @@
     };
 
     public static void logEvent(int netId, int eventType) {
-        logEvent(new NetworkEvent(netId, eventType, 0));
     }
 
     public static void logValidated(int netId, long durationMs) {
-        logEvent(new NetworkEvent(netId, NETWORK_VALIDATED, durationMs));
     }
 
     public static void logCaptivePortalFound(int netId, long durationMs) {
-        logEvent(new NetworkEvent(netId, NETWORK_CAPTIVE_PORTAL_FOUND, durationMs));
     }
 
     @Override
@@ -96,4 +99,4 @@
         static final SparseArray<String> constants = MessageUtils.findMessageNames(
                 new Class[]{NetworkEvent.class}, new String[]{"NETWORK_"});
     }
-};
+}
diff --git a/core/java/android/net/metrics/RaEvent.java b/core/java/android/net/metrics/RaEvent.java
new file mode 100644
index 0000000..69013c0
--- /dev/null
+++ b/core/java/android/net/metrics/RaEvent.java
@@ -0,0 +1,95 @@
+/*
+ * 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.
+ */
+
+package android.net.metrics;
+
+import android.annotation.SystemApi;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+/**
+ * An event logged when the APF packet socket receives an RA packet.
+ * {@hide}
+ */
+@SystemApi
+public final class RaEvent implements Parcelable {
+
+    // Lifetime in seconds of options found in a single RA packet.
+    // When an option is not set, the value of the associated field is -1;
+    public final long routerLifetime;
+    public final long prefixValidLifetime;
+    public final long prefixPreferredLifetime;
+    public final long routeInfoLifetime;
+    public final long rdnssLifetime;
+    public final long dnsslLifetime;
+
+    /** {@hide} */
+    public RaEvent(long routerLifetime, long prefixValidLifetime, long prefixPreferredLifetime,
+            long routeInfoLifetime, long rdnssLifetime, long dnsslLifetime) {
+        this.routerLifetime = routerLifetime;
+        this.prefixValidLifetime = prefixValidLifetime;
+        this.prefixPreferredLifetime = prefixPreferredLifetime;
+        this.routeInfoLifetime = routeInfoLifetime;
+        this.rdnssLifetime = rdnssLifetime;
+        this.dnsslLifetime = dnsslLifetime;
+    }
+
+    private RaEvent(Parcel in) {
+        routerLifetime          = in.readLong();
+        prefixValidLifetime     = in.readLong();
+        prefixPreferredLifetime = in.readLong();
+        routeInfoLifetime       = in.readLong();
+        rdnssLifetime           = in.readLong();
+        dnsslLifetime           = in.readLong();
+    }
+
+    @Override
+    public void writeToParcel(Parcel out, int flags) {
+        out.writeLong(routerLifetime);
+        out.writeLong(prefixValidLifetime);
+        out.writeLong(prefixPreferredLifetime);
+        out.writeLong(routeInfoLifetime);
+        out.writeLong(rdnssLifetime);
+        out.writeLong(dnsslLifetime);
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public String toString() {
+        return new StringBuilder("RaEvent(lifetimes: ")
+                .append(String.format("router=%ds, ", routerLifetime))
+                .append(String.format("prefix_valid=%ds, ", prefixValidLifetime))
+                .append(String.format("prefix_preferred=%ds, ", prefixPreferredLifetime))
+                .append(String.format("route_info=%ds, ", routeInfoLifetime))
+                .append(String.format("rdnss=%ds, ", rdnssLifetime))
+                .append(String.format("dnssl=%ds)", dnsslLifetime))
+                .toString();
+    }
+
+    public static final Parcelable.Creator<RaEvent> CREATOR = new Parcelable.Creator<RaEvent>() {
+        public RaEvent createFromParcel(Parcel in) {
+            return new RaEvent(in);
+        }
+
+        public RaEvent[] newArray(int size) {
+            return new RaEvent[size];
+        }
+    };
+}
diff --git a/core/java/android/net/metrics/ValidationProbeEvent.java b/core/java/android/net/metrics/ValidationProbeEvent.java
index 751c35f..c2d259f 100644
--- a/core/java/android/net/metrics/ValidationProbeEvent.java
+++ b/core/java/android/net/metrics/ValidationProbeEvent.java
@@ -27,8 +27,9 @@
  * {@hide}
  */
 @SystemApi
-public final class ValidationProbeEvent extends IpConnectivityEvent implements Parcelable {
+public final class ValidationProbeEvent implements Parcelable {
 
+    // TODO: use @IntDef
     public static final int PROBE_DNS   = 0;
     public static final int PROBE_HTTP  = 1;
     public static final int PROBE_HTTPS = 2;
@@ -42,7 +43,8 @@
     public final int probeType;
     public final int returnCode;
 
-    private ValidationProbeEvent(int netId, long durationMs, int probeType, int returnCode) {
+    /** @hide */
+    public ValidationProbeEvent(int netId, long durationMs, int probeType, int returnCode) {
         this.netId = netId;
         this.durationMs = durationMs;
         this.probeType = probeType;
@@ -84,7 +86,6 @@
     }
 
     public static void logEvent(int netId, long durationMs, int probeType, int returnCode) {
-        logEvent(new ValidationProbeEvent(netId, durationMs, probeType, returnCode));
     }
 
     @Override
@@ -97,4 +98,4 @@
         static final SparseArray<String> constants = MessageUtils.findMessageNames(
                 new Class[]{ValidationProbeEvent.class}, new String[]{"PROBE_"});
     }
-};
+}
diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java
index ea5ae32..4acb729 100644
--- a/core/java/android/os/BatteryStats.java
+++ b/core/java/android/os/BatteryStats.java
@@ -176,7 +176,7 @@
     /**
      * Current version of checkin data format.
      */
-    static final String CHECKIN_VERSION = "17";
+    static final String CHECKIN_VERSION = "18";
 
     /**
      * Old version, we hit 9 and ran out of room, need to remove.
@@ -2371,6 +2371,27 @@
     };
 
     /**
+     * Return the counter keeping track of the amount of battery discharge while the screen was off,
+     * measured in micro-Ampere-hours. This will be non-zero only if the device's battery has
+     * a coulomb counter.
+     */
+    public abstract LongCounter getDischargeScreenOffCoulombCounter();
+
+    /**
+     * Return the counter keeping track of the amount of battery discharge measured in
+     * micro-Ampere-hours. This will be non-zero only if the device's battery has
+     * a coulomb counter.
+     */
+    public abstract LongCounter getDischargeCoulombCounter();
+
+    /**
+     * Returns the estimated real battery capacity, which may be less than the capacity
+     * declared by the PowerProfile.
+     * @return The estimated battery capacity in mAh.
+     */
+    public abstract int getEstimatedBatteryCapacity();
+
+    /**
      * Return the array of discharge step durations.
      */
     public abstract LevelStepTracker getDischargeLevelStepTracker();
@@ -2805,6 +2826,9 @@
                 rawRealtime, which);
         final int connChanges = getNumConnectivityChange(which);
         final long phoneOnTime = getPhoneOnTime(rawRealtime, which);
+        final long dischargeCount = getDischargeCoulombCounter().getCountLocked(which);
+        final long dischargeScreenOffCount = getDischargeScreenOffCoulombCounter()
+                .getCountLocked(which);
 
         final StringBuilder sb = new StringBuilder(128);
         
@@ -2819,7 +2843,9 @@
                 whichBatteryRealtime / 1000, whichBatteryUptime / 1000,
                 totalRealtime / 1000, totalUptime / 1000,
                 getStartClockTime(),
-                whichBatteryScreenOffRealtime / 1000, whichBatteryScreenOffUptime / 1000);
+                whichBatteryScreenOffRealtime / 1000, whichBatteryScreenOffUptime / 1000,
+                getEstimatedBatteryCapacity());
+
         
         // Calculate wakelock times across all uids.
         long fullWakeLockTimeTotal = 0;
@@ -2969,12 +2995,14 @@
             dumpLine(pw, 0 /* uid */, category, BATTERY_DISCHARGE_DATA,
                     getDischargeStartLevel()-getDischargeCurrentLevel(),
                     getDischargeStartLevel()-getDischargeCurrentLevel(),
-                    getDischargeAmountScreenOn(), getDischargeAmountScreenOff());
+                    getDischargeAmountScreenOn(), getDischargeAmountScreenOff(),
+                    dischargeCount / 1000, dischargeScreenOffCount / 1000);
         } else {
             dumpLine(pw, 0 /* uid */, category, BATTERY_DISCHARGE_DATA,
                     getLowDischargeAmountSinceCharge(), getHighDischargeAmountSinceCharge(),
                     getDischargeAmountScreenOnSinceCharge(),
-                    getDischargeAmountScreenOffSinceCharge());
+                    getDischargeAmountScreenOffSinceCharge(),
+                    dischargeCount / 1000, dischargeScreenOffCount / 1000);
         }
         
         if (reqUid < 0) {
@@ -3328,6 +3356,16 @@
         final SparseArray<? extends Uid> uidStats = getUidStats();
         final int NU = uidStats.size();
 
+        final int estimatedBatteryCapacity = getEstimatedBatteryCapacity();
+        if (estimatedBatteryCapacity > 0) {
+            sb.setLength(0);
+            sb.append(prefix);
+                sb.append("  Estimated battery capacity: ");
+                sb.append(BatteryStatsHelper.makemAh(estimatedBatteryCapacity));
+                sb.append(" mAh");
+            pw.println(sb.toString());
+        }
+
         sb.setLength(0);
         sb.append(prefix);
                 sb.append("  Time on battery: ");
@@ -3371,6 +3409,39 @@
                     formatTimeMs(sb, chargeTimeRemaining / 1000);
             pw.println(sb.toString());
         }
+
+        final LongCounter dischargeCounter = getDischargeCoulombCounter();
+        final long dischargeCount = dischargeCounter.getCountLocked(which);
+        if (dischargeCount >= 0) {
+            sb.setLength(0);
+            sb.append(prefix);
+                sb.append("  Discharge: ");
+                sb.append(BatteryStatsHelper.makemAh(dischargeCount / 1000.0));
+                sb.append(" mAh");
+            pw.println(sb.toString());
+        }
+
+        final LongCounter dischargeScreenOffCounter = getDischargeScreenOffCoulombCounter();
+        final long dischargeScreenOffCount = dischargeScreenOffCounter.getCountLocked(which);
+        if (dischargeScreenOffCount >= 0) {
+            sb.setLength(0);
+            sb.append(prefix);
+                sb.append("  Screen off discharge: ");
+                sb.append(BatteryStatsHelper.makemAh(dischargeScreenOffCount / 1000.0));
+                sb.append(" mAh");
+            pw.println(sb.toString());
+        }
+
+        final long dischargeScreenOnCount = dischargeCount - dischargeScreenOffCount;
+        if (dischargeScreenOnCount >= 0) {
+            sb.setLength(0);
+            sb.append(prefix);
+                sb.append("  Screen on discharge: ");
+                sb.append(BatteryStatsHelper.makemAh(dischargeScreenOnCount / 1000.0));
+                sb.append(" mAh");
+            pw.println(sb.toString());
+        }
+
         pw.print("  Start clock time: ");
         pw.println(DateFormat.format("yyyy-MM-dd-HH-mm-ss", getStartClockTime()).toString());
 
diff --git a/core/java/android/os/Build.java b/core/java/android/os/Build.java
index dc7be6b..c5e09bd 100644
--- a/core/java/android/os/Build.java
+++ b/core/java/android/os/Build.java
@@ -672,6 +672,11 @@
          * N is for ¯\_(ツ)_/¯.
          */
         public static final int N = 24;
+
+        /**
+         * N MR1: Still ¯\_(シ)_/¯.
+         */
+        public static final int N_MR1 = 25;
     }
 
     /** The type of build, like "user" or "eng". */
diff --git a/core/java/android/os/Environment.java b/core/java/android/os/Environment.java
index 6af0678..80927f3 100644
--- a/core/java/android/os/Environment.java
+++ b/core/java/android/os/Environment.java
@@ -240,6 +240,22 @@
         return new File(getDataDirectory(), "system");
     }
 
+    /**
+     * Returns the base directory for per-user system directory, device encrypted.
+     * {@hide}
+     */
+    public static File getDataSystemDeDirectory() {
+        return buildPath(getDataDirectory(), "system_de");
+    }
+
+    /**
+     * Returns the base directory for per-user system directory, credential encrypted.
+     * {@hide}
+     */
+    public static File getDataSystemCeDirectory() {
+        return buildPath(getDataDirectory(), "system_ce");
+    }
+
     /** {@hide} */
     public static File getDataSystemCeDirectory(int userId) {
         return buildPath(getDataDirectory(), "system_ce", String.valueOf(userId));
diff --git a/core/java/android/os/IDeviceIdleController.aidl b/core/java/android/os/IDeviceIdleController.aidl
index 082194b..cc2af21 100644
--- a/core/java/android/os/IDeviceIdleController.aidl
+++ b/core/java/android/os/IDeviceIdleController.aidl
@@ -38,8 +38,6 @@
     long addPowerSaveTempWhitelistAppForMms(String name, int userId, String reason);
     long addPowerSaveTempWhitelistAppForSms(String name, int userId, String reason);
     void exitIdle(String reason);
-    void downloadServiceActive(IBinder token);
-    void downloadServiceInactive();
     boolean registerMaintenanceActivityListener(IMaintenanceActivityListener listener);
     void unregisterMaintenanceActivityListener(IMaintenanceActivityListener listener);
 }
diff --git a/core/java/android/os/IUserManager.aidl b/core/java/android/os/IUserManager.aidl
index b27cb32..eeb641d 100644
--- a/core/java/android/os/IUserManager.aidl
+++ b/core/java/android/os/IUserManager.aidl
@@ -81,4 +81,5 @@
     void clearSeedAccountData();
     boolean someUserHasSeedAccount(in String accountName, in String accountType);
     boolean isManagedProfile(int userId);
+    boolean isDemoUser(int userId);
 }
diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java
index 2631247..74dcc07 100644
--- a/core/java/android/os/Parcel.java
+++ b/core/java/android/os/Parcel.java
@@ -17,8 +17,10 @@
 package android.os;
 
 import android.annotation.IntegerRes;
+import android.annotation.Nullable;
 import android.text.TextUtils;
 import android.util.ArrayMap;
+import android.util.ArraySet;
 import android.util.Log;
 import android.util.Size;
 import android.util.SizeF;
@@ -734,6 +736,21 @@
     }
 
     /**
+     * Write an array set to the parcel.
+     *
+     * @param val The array set to write.
+     *
+     * @hide
+     */
+    public void writeArraySet(@Nullable ArraySet<? extends Object> val) {
+        final int size = (val != null) ? val.size() : -1;
+        writeInt(size);
+        for (int i = 0; i < size; i++) {
+            writeValue(val.valueAt(i));
+        }
+    }
+
+    /**
      * Flatten a Bundle into the parcel at the current dataPosition(),
      * growing dataCapacity() if needed.
      */
@@ -2735,6 +2752,26 @@
         readArrayMapInternal(outVal, N, loader);
     }
 
+    /**
+     * Reads an array set.
+     *
+     * @param loader The class loader to use.
+     *
+     * @hide
+     */
+    public @Nullable ArraySet<? extends Object> readArraySet(ClassLoader loader) {
+        final int size = readInt();
+        if (size < 0) {
+            return null;
+        }
+        ArraySet<Object> result = new ArraySet<>(size);
+        for (int i = 0; i < size; i++) {
+            Object value = readValue(loader);
+            result.append(value);
+        }
+        return result;
+    }
+
     private void readListInternal(List outVal, int N,
         ClassLoader loader) {
         while (N > 0) {
diff --git a/core/java/android/os/ParcelFileDescriptor.java b/core/java/android/os/ParcelFileDescriptor.java
index d5491d3..7702c17 100644
--- a/core/java/android/os/ParcelFileDescriptor.java
+++ b/core/java/android/os/ParcelFileDescriptor.java
@@ -864,6 +864,34 @@
                 super.close();
             }
         }
+
+        @Override
+        public int read() throws IOException {
+            final int result = super.read();
+            if (result == -1 && mPfd.canDetectErrors()) {
+                // Check for errors only on EOF, to minimize overhead.
+                mPfd.checkError();
+            }
+            return result;
+        }
+
+        @Override
+        public int read(byte[] b) throws IOException {
+            final int result = super.read(b);
+            if (result == -1 && mPfd.canDetectErrors()) {
+                mPfd.checkError();
+            }
+            return result;
+        }
+
+        @Override
+        public int read(byte[] b, int off, int len) throws IOException {
+            final int result = super.read(b, off, len);
+            if (result == -1 && mPfd.canDetectErrors()) {
+                mPfd.checkError();
+            }
+            return result;
+        }
     }
 
     /**
diff --git a/core/java/android/os/Process.java b/core/java/android/os/Process.java
index 4506f51..b9e46a5 100644
--- a/core/java/android/os/Process.java
+++ b/core/java/android/os/Process.java
@@ -322,6 +322,13 @@
      */
     public static final int SCHED_IDLE = 5;
 
+    /**
+     * Reset scheduler choice on fork.
+     * @hide
+     */
+    public static final int SCHED_RESET_ON_FORK = 0x40000000;
+
+
     // Keep in sync with SP_* constants of enum type SchedPolicy
     // declared in system/core/include/cutils/sched_policy.h,
     // except THREAD_GROUP_DEFAULT does not correspond to any SP_* value.
@@ -1184,6 +1191,8 @@
     /** @hide */
     public static final int PROC_QUOTES = 0x400;
     /** @hide */
+    public static final int PROC_CHAR = 0x800;
+    /** @hide */
     public static final int PROC_OUT_STRING = 0x1000;
     /** @hide */
     public static final int PROC_OUT_LONG = 0x2000;
diff --git a/core/java/android/os/RecoverySystem.java b/core/java/android/os/RecoverySystem.java
index 83a3bd8..507379b 100644
--- a/core/java/android/os/RecoverySystem.java
+++ b/core/java/android/os/RecoverySystem.java
@@ -662,6 +662,31 @@
     }
 
     /**
+     * Reboot into recovery and wipe the A/B device.
+     *
+     * @param Context      the Context to use.
+     * @param packageFile  the wipe package to be applied.
+     * @param reason       the reason to wipe.
+     *
+     * @throws IOException if something goes wrong.
+     *
+     * @hide
+     */
+    @SystemApi
+    public static void rebootWipeAb(Context context, File packageFile, String reason)
+            throws IOException {
+        String reasonArg = null;
+        if (!TextUtils.isEmpty(reason)) {
+            reasonArg = "--reason=" + sanitizeArg(reason);
+        }
+
+        final String filename = packageFile.getCanonicalPath();
+        final String filenameArg = "--wipe_package=" + filename;
+        final String localeArg = "--locale=" + Locale.getDefault().toString();
+        bootCommand(context, "--wipe_ab", filenameArg, reasonArg, localeArg);
+    }
+
+    /**
      * Reboot into the recovery system with the supplied argument.
      * @param args to pass to the recovery utility.
      * @throws IOException if something goes wrong.
@@ -699,6 +724,7 @@
             String line = null;
             int bytesWrittenInMiB = -1, bytesStashedInMiB = -1;
             int timeTotal = -1;
+            int sourceVersion = -1;
             while ((line = in.readLine()) != null) {
                 // Here is an example of lines in last_install:
                 // ...
@@ -733,6 +759,8 @@
 
                 if (line.startsWith("time")) {
                     timeTotal = scaled;
+                } else if (line.startsWith("source_build")) {
+                    sourceVersion = scaled;
                 } else if (line.startsWith("bytes_written")) {
                     bytesWrittenInMiB = (bytesWrittenInMiB == -1) ? scaled :
                             bytesWrittenInMiB + scaled;
@@ -746,6 +774,9 @@
             if (timeTotal != -1) {
                 MetricsLogger.histogram(context, "ota_time_total", timeTotal);
             }
+            if (sourceVersion != -1) {
+                MetricsLogger.histogram(context, "ota_source_version", sourceVersion);
+            }
             if (bytesWrittenInMiB != -1) {
                 MetricsLogger.histogram(context, "ota_written_in_MiBs", bytesWrittenInMiB);
             }
diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java
index 9b0ef8e..a44a9ee 100644
--- a/core/java/android/os/UserManager.java
+++ b/core/java/android/os/UserManager.java
@@ -859,15 +859,17 @@
     }
 
     /**
-     * Checks if the calling app is running in a demo user.
-     * <p>
-     * Caller must hold the MANAGE_USERS permission.
+     * Checks if the calling app is running in a demo user. When running in a demo user,
+     * apps can be more helpful to the user, or explain their features in more detail.
+     *
      * @return whether the caller is a demo user.
-     * @hide
      */
     public boolean isDemoUser() {
-        UserInfo user = getUserInfo(UserHandle.myUserId());
-        return user != null && user.isDemo();
+        try {
+            return mService.isDemoUser(UserHandle.myUserId());
+        } catch (RemoteException re) {
+            throw re.rethrowFromSystemServer();
+        }
     }
 
     /**
@@ -1508,7 +1510,9 @@
     }
 
     /**
-     * Returns information for all users on this device.
+     * Returns information for all users on this device, including ones marked for deletion.
+     * To retrieve only users that are alive, use {@link #getUsers(boolean)}.
+     * <p>
      * Requires {@link android.Manifest.permission#MANAGE_USERS} permission.
      * @return the list of users that exist on the device.
      * @hide
diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java
index 968996f..5254d35 100644
--- a/core/java/android/os/storage/StorageManager.java
+++ b/core/java/android/os/storage/StorageManager.java
@@ -20,6 +20,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.SdkConstant;
 import android.app.ActivityThread;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -95,6 +96,19 @@
     /** {@hide} */
     public static final String UUID_PRIMARY_PHYSICAL = "primary_physical";
 
+
+    /**
+     * Activity Action: Allows the user to manage their storage. This activity provides the ability
+     * to free up space on the device by deleting data such as apps.
+     * <p>
+     * Input: Nothing.
+     * <p>
+     * Output: Nothing.
+     */
+    @SdkConstant(SdkConstant.SdkConstantType.ACTIVITY_INTENT_ACTION)
+    public static final String ACTION_MANAGE_STORAGE
+            = "android.os.storage.action.MANAGE_STORAGE";
+
     /** {@hide} */
     public static final int DEBUG_FORCE_ADOPTABLE = 1 << 0;
     /** {@hide} */
diff --git a/core/java/android/print/PrintServiceRecommendationsLoader.java b/core/java/android/print/PrintServiceRecommendationsLoader.java
index bb5d065..c6a4d51 100644
--- a/core/java/android/print/PrintServiceRecommendationsLoader.java
+++ b/core/java/android/print/PrintServiceRecommendationsLoader.java
@@ -36,7 +36,7 @@
     private final @NonNull PrintManager mPrintManager;
 
     /** Handler to sequentialize the delivery of the results to the main thread */
-    private final Handler mHandler;
+    private final @NonNull Handler mHandler;
 
     /** Listens for updates to the data from the platform */
     private PrintManager.PrintServiceRecommendationsChangeListener mListener;
@@ -90,9 +90,7 @@
             mListener = null;
         }
 
-        if (mHandler != null) {
-            mHandler.removeMessages(0);
-        }
+        mHandler.removeMessages(0);
     }
 
     @Override
diff --git a/core/java/android/print/PrintServicesLoader.java b/core/java/android/print/PrintServicesLoader.java
index 60d7d66..4c9a69a 100644
--- a/core/java/android/print/PrintServicesLoader.java
+++ b/core/java/android/print/PrintServicesLoader.java
@@ -39,7 +39,7 @@
     private final @NonNull PrintManager mPrintManager;
 
     /** Handler to sequentialize the delivery of the results to the main thread */
-    private Handler mHandler;
+    private final @NonNull Handler mHandler;
 
     /** Listens for updates to the data from the platform */
     private PrintManager.PrintServicesChangeListener mListener;
@@ -54,6 +54,7 @@
     public PrintServicesLoader(@NonNull PrintManager printManager, @NonNull Context context,
             int selectionFlags) {
         super(Preconditions.checkNotNull(context));
+        mHandler = new MyHandler();
         mPrintManager = Preconditions.checkNotNull(printManager);
         mSelectionFlags = Preconditions.checkFlagsArgument(selectionFlags,
                 PrintManager.ALL_SERVICES);
@@ -75,7 +76,6 @@
 
     @Override
     protected void onStartLoading() {
-        mHandler = new MyHandler();
         mListener = new PrintManager.PrintServicesChangeListener() {
             @Override public void onPrintServicesChanged() {
                 queueNewResult();
@@ -95,10 +95,7 @@
             mListener = null;
         }
 
-        if (mHandler != null) {
-            mHandler.removeMessages(0);
-            mHandler = null;
-        }
+        mHandler.removeMessages(0);
     }
 
     @Override
@@ -119,8 +116,6 @@
 
         @Override
         public void handleMessage(Message msg) {
-            super.handleMessage(msg);
-
             if (isStarted()) {
                 deliverResult((List<PrintServiceInfo>) msg.obj);
             }
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index d558070..dae243b 100755
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -1277,17 +1277,6 @@
     @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
     public static final String ACTION_WEBVIEW_SETTINGS = "android.settings.WEBVIEW_SETTINGS";
 
-    /**
-     * Activity Action: Show the Deletion Helper settings.
-     * <p>
-     * Input: Nothing.
-     * <p>
-     * Output: Nothing.
-     */
-    @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
-    public static final String ACTION_DELETION_HELPER_SETTINGS
-            = "android.settings.DELETION_HELPER_SETTINGS";
-
     // End of Intent actions for Settings
 
     /**
@@ -1322,13 +1311,20 @@
 
     /**
      * @hide Key with the location in the {@link android.util.MemoryIntArray} where
-     * to look up the generation id of the backing table.
+     * to look up the generation id of the backing table. The value is an integer.
      *
      * @see #CALL_METHOD_TRACK_GENERATION_KEY
      */
     public static final String CALL_METHOD_GENERATION_INDEX_KEY = "_generation_index";
 
     /**
+     * @hide Key with the settings table generation. The value is an integer.
+     *
+     * @see #CALL_METHOD_TRACK_GENERATION_KEY
+     */
+    public static final String CALL_METHOD_GENERATION_KEY = "_generation";
+
+    /**
      * @hide - User handle argument extra to the fast-path call()-based requests
      */
     public static final String CALL_METHOD_USER_KEY = "_user";
@@ -1478,11 +1474,11 @@
         private int mCurrentGeneration;
 
         public GenerationTracker(@NonNull MemoryIntArray array, int index,
-                Runnable errorHandler) {
+                int generation, Runnable errorHandler) {
             mArray = array;
             mIndex = index;
             mErrorHandler = errorHandler;
-            mCurrentGeneration = readCurrentGeneration();
+            mCurrentGeneration = generation;
         }
 
         public boolean isGenerationChanged() {
@@ -1638,6 +1634,8 @@
                                     final int index = b.getInt(
                                             CALL_METHOD_GENERATION_INDEX_KEY, -1);
                                     if (array != null && index >= 0) {
+                                        final int generation = b.getInt(
+                                                CALL_METHOD_GENERATION_KEY, 0);
                                         if (DEBUG) {
                                             Log.i(TAG, "Received generation tracker for type:"
                                                     + mUri.getPath() + " in package:"
@@ -1645,7 +1643,7 @@
                                                     + userHandle + " with index:" + index);
                                         }
                                         mGenerationTracker = new GenerationTracker(array, index,
-                                                () -> {
+                                                generation, () -> {
                                             synchronized (this) {
                                                 Log.e(TAG, "Error accessing generation"
                                                         + " tracker - removing");
@@ -6246,6 +6244,39 @@
                 "automatic_storage_manager_enabled";
 
         /**
+         * How many days of information for the automatic storage manager to retain on the device.
+         *
+         * @hide
+         */
+        public static final String AUTOMATIC_STORAGE_MANAGER_DAYS_TO_RETAIN =
+                "automatic_storage_manager_days_to_retain";
+
+        /**
+         * Default number of days of information for the automatic storage manager to retain.
+         *
+         * @hide
+         */
+        public static final int AUTOMATIC_STORAGE_MANAGER_DAYS_TO_RETAIN_DEFAULT = 90;
+
+        /**
+         * How many bytes the automatic storage manager has cleared out.
+         *
+         * @hide
+         */
+        public static final String AUTOMATIC_STORAGE_MANAGER_BYTES_CLEARED =
+                "automatic_storage_manager_bytes_cleared";
+
+
+        /**
+         * Last run time for the automatic storage manager.
+         *
+         * @hide
+         */
+        public static final String AUTOMATIC_STORAGE_MANAGER_LAST_RUN =
+                "automatic_storage_manager_last_run";
+
+
+        /**
          * This are the settings to be backed up.
          *
          * NOTE: Settings are backed up and restored in the order they appear
@@ -8483,8 +8514,6 @@
 
         /**
          * The name of the device
-         *
-         * @hide
          */
         public static final String DEVICE_NAME = "device_name";
 
@@ -8568,6 +8597,24 @@
                 "ephemeral_cookie_max_size_bytes";
 
         /**
+         * A mask applied to the ephemeral hash to generate the hash prefix.
+         * <p>
+         * Type: int
+         *
+         * @hide
+         */
+        public static final String EPHEMERAL_HASH_PREFIX_MASK = "ephemeral_hash_prefix_mask";
+
+        /**
+         * Number of hash prefixes to send during ephemeral resolution.
+         * <p>
+         * Type: int
+         *
+         * @hide
+         */
+        public static final String EPHEMERAL_HASH_PREFIX_COUNT = "ephemeral_hash_prefix_count";
+
+        /**
          * The duration for caching uninstalled ephemeral apps.
          * <p>
          * Type: long
@@ -9025,6 +9072,19 @@
          * @hide
          */
         public static final String MAX_NOTIFICATION_ENQUEUE_RATE = "max_notification_enqueue_rate";
+
+        /**
+         * Whether SystemUI navigation keys is enabled.
+         * @hide
+         */
+        public static final String SYSTEM_NAVIGATION_KEYS_ENABLED =
+                "system_navigation_keys_enabled";
+
+        /**
+         * Whether cell is enabled/disabled
+         * @hide
+         */
+        public static final String CELL_ON = "cell_on";
     }
 
     /**
diff --git a/core/java/android/provider/VoicemailContract.java b/core/java/android/provider/VoicemailContract.java
index ab9e497..27b0a8b 100644
--- a/core/java/android/provider/VoicemailContract.java
+++ b/core/java/android/provider/VoicemailContract.java
@@ -153,6 +153,13 @@
     public static final String EXTRA_SELF_CHANGE = "com.android.voicemail.extra.SELF_CHANGE";
 
     /**
+     * Extra included in {@link #ACTION_SYNC_VOICEMAIL} broadcast intents to indicate which {@link
+     * PhoneAccountHandle} to sync.
+     */
+    public static final String EXTRA_PHONE_ACCOUNT_HANDLE =
+            "android.provider.extra.PHONE_ACCOUNT_HANDLE";
+
+    /**
      * Name of the source package field, which must be same across all voicemail related tables.
      * This is an internal field.
      * @hide
@@ -454,6 +461,9 @@
          * {@link #CONFIGURATION_STATE_OK},
          * {@link #CONFIGURATION_STATE_NOT_CONFIGURED},
          * {@link #CONFIGURATION_STATE_CAN_BE_CONFIGURED}
+         * {@link #CONFIGURATION_STATE_CONFIGURING}
+         * {@link #CONFIGURATION_STATE_FAILED}
+         * {@link #CONFIGURATION_STATE_DISABLED}
          * <P>Type: INTEGER</P>
          */
         public static final String CONFIGURATION_STATE = "configuration_state";
@@ -473,6 +483,21 @@
          */
         public static final int CONFIGURATION_STATE_CAN_BE_CONFIGURED = 2;
         /**
+         * Value of {@link #CONFIGURATION_STATE} to indicate that visual voicemail still is being
+         * configured.
+         */
+        public static final int CONFIGURATION_STATE_CONFIGURING = 3;
+        /**
+         * Value of {@link #CONFIGURATION_STATE} to indicate that visual voicemail has failed to
+         * be configured.
+         */
+        public static final int CONFIGURATION_STATE_FAILED = 4;
+        /**
+         * Value of {@link #CONFIGURATION_STATE} to indicate that visual voicemail is disabled by
+         * the user.
+         */
+        public static final int CONFIGURATION_STATE_DISABLED = 5;
+        /**
          * The data channel state of the voicemail source. This the channel through which the source
          * pulls voicemail data from a remote server.
          *
diff --git a/core/java/android/security/NetworkSecurityPolicy.java b/core/java/android/security/NetworkSecurityPolicy.java
index 331063e..1b1c300 100644
--- a/core/java/android/security/NetworkSecurityPolicy.java
+++ b/core/java/android/security/NetworkSecurityPolicy.java
@@ -17,7 +17,10 @@
 package android.security;
 
 import android.annotation.TestApi;
+import android.content.Context;
+import android.content.pm.PackageManager;
 import android.security.net.config.ApplicationConfig;
+import android.security.net.config.ManifestConfigSource;
 
 /**
  * Network security policy.
@@ -98,4 +101,16 @@
     public void handleTrustStorageUpdate() {
         ApplicationConfig.getDefaultInstance().handleTrustStorageUpdate();
     }
+
+    /**
+     * Returns an {@link ApplicationConfig} based on the configuration for {@code packageName}.
+     *
+     * @hide
+     */
+    public static ApplicationConfig getApplicationConfigForPackage(Context context,
+            String packageName) throws PackageManager.NameNotFoundException {
+        Context appContext = context.createPackageContext(packageName, 0);
+        ManifestConfigSource source = new ManifestConfigSource(appContext);
+        return new ApplicationConfig(source);
+    }
 }
diff --git a/core/java/android/security/net/config/ManifestConfigSource.java b/core/java/android/security/net/config/ManifestConfigSource.java
index d59b5e3..92bddb7 100644
--- a/core/java/android/security/net/config/ManifestConfigSource.java
+++ b/core/java/android/security/net/config/ManifestConfigSource.java
@@ -29,13 +29,19 @@
 
     private final Object mLock = new Object();
     private final Context mContext;
-    private final ApplicationInfo mInfo;
+    private final int mApplicationInfoFlags;
+    private final int mTargetSdkVersion;
+    private final int mConfigResourceId;
 
     private ConfigSource mConfigSource;
 
-    public ManifestConfigSource(Context context, ApplicationInfo info) {
+    public ManifestConfigSource(Context context) {
         mContext = context;
-        mInfo = info;
+        // Cache values because ApplicationInfo is mutable and apps do modify it :(
+        ApplicationInfo info = context.getApplicationInfo();
+        mApplicationInfoFlags = info.flags;
+        mTargetSdkVersion = info.targetSdkVersion;
+        mConfigResourceId = info.networkSecurityConfigRes;
     }
 
     @Override
@@ -53,29 +59,24 @@
             if (mConfigSource != null) {
                 return mConfigSource;
             }
-            int targetSdkVersion = mInfo.targetSdkVersion;
-            int configResourceId = 0;
-            if (mInfo != null) {
-                configResourceId = mInfo.networkSecurityConfigRes;
-            }
 
             ConfigSource source;
-            if (configResourceId != 0) {
-                boolean debugBuild = (mInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0;
+            if (mConfigResourceId != 0) {
+                boolean debugBuild = (mApplicationInfoFlags & ApplicationInfo.FLAG_DEBUGGABLE) != 0;
                 if (DBG) {
                     Log.d(LOG_TAG, "Using Network Security Config from resource "
-                            + mContext.getResources().getResourceEntryName(configResourceId)
+                            + mContext.getResources().getResourceEntryName(mConfigResourceId)
                             + " debugBuild: " + debugBuild);
                 }
-                source = new XmlConfigSource(mContext, configResourceId, debugBuild,
-                        targetSdkVersion);
+                source = new XmlConfigSource(mContext, mConfigResourceId, debugBuild,
+                        mTargetSdkVersion);
             } else {
                 if (DBG) {
                     Log.d(LOG_TAG, "No Network Security Config specified, using platform default");
                 }
                 boolean usesCleartextTraffic =
-                        (mInfo.flags & ApplicationInfo.FLAG_USES_CLEARTEXT_TRAFFIC) != 0;
-                source = new DefaultConfigSource(usesCleartextTraffic, targetSdkVersion);
+                        (mApplicationInfoFlags & ApplicationInfo.FLAG_USES_CLEARTEXT_TRAFFIC) != 0;
+                source = new DefaultConfigSource(usesCleartextTraffic, mTargetSdkVersion);
             }
             mConfigSource = source;
             return mConfigSource;
diff --git a/core/java/android/security/net/config/NetworkSecurityConfigProvider.java b/core/java/android/security/net/config/NetworkSecurityConfigProvider.java
index 4c51cc3..0f66873 100644
--- a/core/java/android/security/net/config/NetworkSecurityConfigProvider.java
+++ b/core/java/android/security/net/config/NetworkSecurityConfigProvider.java
@@ -17,7 +17,6 @@
 package android.security.net.config;
 
 import android.content.Context;
-import android.content.pm.ApplicationInfo;
 import java.security.Security;
 import java.security.Provider;
 
@@ -33,8 +32,8 @@
         put("Alg.Alias.TrustManagerFactory.X509", "PKIX");
     }
 
-    public static void install(Context context, ApplicationInfo info) {
-        ApplicationConfig config = new ApplicationConfig(new ManifestConfigSource(context, info));
+    public static void install(Context context) {
+        ApplicationConfig config = new ApplicationConfig(new ManifestConfigSource(context));
         ApplicationConfig.setDefaultInstance(config);
         int pos = Security.insertProviderAt(new NetworkSecurityConfigProvider(), 1);
         if (pos != 1) {
diff --git a/core/java/android/security/net/config/SystemCertificateSource.java b/core/java/android/security/net/config/SystemCertificateSource.java
index abef7b4..cfb195b 100644
--- a/core/java/android/security/net/config/SystemCertificateSource.java
+++ b/core/java/android/security/net/config/SystemCertificateSource.java
@@ -25,7 +25,10 @@
  * @hide
  */
 public final class SystemCertificateSource extends DirectoryCertificateSource {
-    private static final SystemCertificateSource INSTANCE = new SystemCertificateSource();
+    private static class NoPreloadHolder {
+        private static final SystemCertificateSource INSTANCE = new SystemCertificateSource();
+    }
+
     private final File mUserRemovedCaDir;
 
     private SystemCertificateSource() {
@@ -35,7 +38,7 @@
     }
 
     public static SystemCertificateSource getInstance() {
-        return INSTANCE;
+        return NoPreloadHolder.INSTANCE;
     }
 
     @Override
diff --git a/core/java/android/security/net/config/UserCertificateSource.java b/core/java/android/security/net/config/UserCertificateSource.java
index 1a7d924..d6e2b3a 100644
--- a/core/java/android/security/net/config/UserCertificateSource.java
+++ b/core/java/android/security/net/config/UserCertificateSource.java
@@ -25,7 +25,9 @@
  * @hide
  */
 public final class UserCertificateSource extends DirectoryCertificateSource {
-    private static final UserCertificateSource INSTANCE = new UserCertificateSource();
+    private static class NoPreloadHolder {
+        private static final UserCertificateSource INSTANCE = new UserCertificateSource();
+    }
 
     private UserCertificateSource() {
         super(new File(
@@ -33,7 +35,7 @@
     }
 
     public static UserCertificateSource getInstance() {
-        return INSTANCE;
+        return NoPreloadHolder.INSTANCE;
     }
 
     @Override
diff --git a/core/java/android/service/quicksettings/IQSService.aidl b/core/java/android/service/quicksettings/IQSService.aidl
index 747f185..bf96357 100644
--- a/core/java/android/service/quicksettings/IQSService.aidl
+++ b/core/java/android/service/quicksettings/IQSService.aidl
@@ -23,6 +23,7 @@
  * @hide
  */
 interface IQSService {
+    Tile getTile(in ComponentName component);
     void updateQsTile(in Tile tile);
     void updateStatusIcon(in Tile tile, in Icon icon,
             String contentDescription);
diff --git a/core/java/android/service/quicksettings/IQSTileService.aidl b/core/java/android/service/quicksettings/IQSTileService.aidl
index bfde870..b6c830c 100644
--- a/core/java/android/service/quicksettings/IQSTileService.aidl
+++ b/core/java/android/service/quicksettings/IQSTileService.aidl
@@ -15,15 +15,10 @@
  */
 package android.service.quicksettings;
 
-import android.service.quicksettings.Tile;
-import android.service.quicksettings.IQSService;
-
 /**
  * @hide
  */
 oneway interface IQSTileService {
-    void setQSService(in IQSService service);
-    void setQSTile(in Tile tile);
     void onTileAdded();
     void onTileRemoved();
     void onStartListening();
diff --git a/core/java/android/service/quicksettings/TileService.java b/core/java/android/service/quicksettings/TileService.java
index 4e9a075..50411ab 100644
--- a/core/java/android/service/quicksettings/TileService.java
+++ b/core/java/android/service/quicksettings/TileService.java
@@ -118,6 +118,11 @@
     /**
      * @hide
      */
+    public static final String EXTRA_SERVICE = "service";
+
+    /**
+     * @hide
+     */
     public static final String EXTRA_COMPONENT = "android.service.quicksettings.extra.COMPONENT";
 
     private final H mHandler = new H(Looper.getMainLooper());
@@ -305,18 +310,19 @@
 
     @Override
     public IBinder onBind(Intent intent) {
+        mService = IQSService.Stub.asInterface(intent.getIBinderExtra(EXTRA_SERVICE));
+        try {
+            ComponentName component = intent.getParcelableExtra(EXTRA_COMPONENT);
+            mTile = mService.getTile(component);
+        } catch (RemoteException e) {
+            throw new RuntimeException("Unable to reach IQSService", e);
+        }
+        if (mTile != null) {
+            mTile.setService(mService);
+            mHandler.sendEmptyMessage(H.MSG_START_SUCCESS);
+        }
         return new IQSTileService.Stub() {
             @Override
-            public void setQSService(IQSService service) throws RemoteException {
-                mHandler.obtainMessage(H.MSG_SET_SERVICE, service).sendToTarget();
-            }
-
-            @Override
-            public void setQSTile(Tile tile) throws RemoteException {
-                mHandler.obtainMessage(H.MSG_SET_TILE, tile).sendToTarget();
-            }
-
-            @Override
             public void onTileRemoved() throws RemoteException {
                 mHandler.sendEmptyMessage(H.MSG_TILE_REMOVED);
             }
@@ -349,14 +355,13 @@
     }
 
     private class H extends Handler {
-        private static final int MSG_SET_TILE = 1;
-        private static final int MSG_START_LISTENING = 2;
-        private static final int MSG_STOP_LISTENING = 3;
-        private static final int MSG_TILE_ADDED = 4;
-        private static final int MSG_TILE_REMOVED = 5;
-        private static final int MSG_TILE_CLICKED = 6;
-        private static final int MSG_SET_SERVICE = 7;
-        private static final int MSG_UNLOCK_COMPLETE = 8;
+        private static final int MSG_START_LISTENING = 1;
+        private static final int MSG_STOP_LISTENING = 2;
+        private static final int MSG_TILE_ADDED = 3;
+        private static final int MSG_TILE_REMOVED = 4;
+        private static final int MSG_TILE_CLICKED = 5;
+        private static final int MSG_UNLOCK_COMPLETE = 6;
+        private static final int MSG_START_SUCCESS = 7;
 
         public H(Looper looper) {
             super(looper);
@@ -365,18 +370,6 @@
         @Override
         public void handleMessage(Message msg) {
             switch (msg.what) {
-                case MSG_SET_SERVICE:
-                    mService = (IQSService) msg.obj;
-                    if (mTile != null) {
-                        mTile.setService(mService);
-                    }
-                    break;
-                case MSG_SET_TILE:
-                    mTile = (Tile) msg.obj;
-                    if (mService != null && mTile != null) {
-                        mTile.setService(mService);
-                    }
-                    break;
                 case MSG_TILE_ADDED:
                     TileService.this.onTileAdded();
                     break;
@@ -408,6 +401,12 @@
                         mUnlockRunnable.run();
                     }
                     break;
+                case MSG_START_SUCCESS:
+                    try {
+                        mService.onStartSuccessful(mTile);
+                    } catch (RemoteException e) {
+                    }
+                    break;
             }
         }
     }
diff --git a/core/java/android/transition/Transition.java b/core/java/android/transition/Transition.java
index 316c7e3..8823605 100644
--- a/core/java/android/transition/Transition.java
+++ b/core/java/android/transition/Transition.java
@@ -1941,6 +1941,26 @@
     }
 
     /**
+     * Force the transition to move to its end state, ending all the animators.
+     *
+     * @hide
+     */
+    void forceToEnd(ViewGroup sceneRoot) {
+        ArrayMap<Animator, AnimationInfo> runningAnimators = getRunningAnimators();
+        int numOldAnims = runningAnimators.size();
+        if (sceneRoot != null) {
+            WindowId windowId = sceneRoot.getWindowId();
+            for (int i = numOldAnims - 1; i >= 0; i--) {
+                AnimationInfo info = runningAnimators.valueAt(i);
+                if (info.view != null && windowId != null && windowId.equals(info.windowId)) {
+                    Animator anim = runningAnimators.keyAt(i);
+                    anim.end();
+                }
+            }
+        }
+    }
+
+    /**
      * This method cancels a transition that is currently running.
      *
      * @hide
diff --git a/core/java/android/transition/TransitionManager.java b/core/java/android/transition/TransitionManager.java
index 71c8099..f2c871e3 100644
--- a/core/java/android/transition/TransitionManager.java
+++ b/core/java/android/transition/TransitionManager.java
@@ -440,7 +440,7 @@
             ArrayList<Transition> copy = new ArrayList(runningTransitions);
             for (int i = copy.size() - 1; i >= 0; i--) {
                 final Transition transition = copy.get(i);
-                transition.end();
+                transition.forceToEnd(sceneRoot);
             }
         }
 
diff --git a/core/java/android/transition/TransitionSet.java b/core/java/android/transition/TransitionSet.java
index 583dc0f..a41fe64 100644
--- a/core/java/android/transition/TransitionSet.java
+++ b/core/java/android/transition/TransitionSet.java
@@ -16,8 +16,6 @@
 
 package android.transition;
 
-import com.android.internal.R;
-
 import android.animation.TimeInterpolator;
 import android.content.Context;
 import android.content.res.TypedArray;
@@ -26,6 +24,8 @@
 import android.view.View;
 import android.view.ViewGroup;
 
+import com.android.internal.R;
+
 import java.util.ArrayList;
 
 /**
@@ -498,6 +498,16 @@
         }
     }
 
+    /** @hide */
+    @Override
+    void forceToEnd(ViewGroup sceneRoot) {
+        super.forceToEnd(sceneRoot);
+        int numTransitions = mTransitions.size();
+        for (int i = 0; i < numTransitions; ++i) {
+            mTransitions.get(i).forceToEnd(sceneRoot);
+        }
+    }
+
     @Override
     TransitionSet setSceneRoot(ViewGroup sceneRoot) {
         super.setSceneRoot(sceneRoot);
diff --git a/core/java/android/util/ArraySet.java b/core/java/android/util/ArraySet.java
index 9e9314f..1e765b6 100644
--- a/core/java/android/util/ArraySet.java
+++ b/core/java/android/util/ArraySet.java
@@ -390,6 +390,35 @@
     }
 
     /**
+     * Special fast path for appending items to the end of the array without validation.
+     * The array must already be large enough to contain the item.
+     * @hide
+     */
+    public void append(E value) {
+        final int index = mSize;
+        final int hash = value == null ? 0
+                : (mIdentityHashCode ? System.identityHashCode(value) : value.hashCode());
+        if (index >= mHashes.length) {
+            throw new IllegalStateException("Array is full");
+        }
+        if (index > 0 && mHashes[index - 1] > hash) {
+            // Cannot optimize since it would break the sorted order - fallback to add()
+            if (DEBUG) {
+                RuntimeException e = new RuntimeException("here");
+                e.fillInStackTrace();
+                Log.w(TAG, "New hash " + hash
+                        + " is before end of array hash " + mHashes[index - 1]
+                        + " at index " + index, e);
+            }
+            add(value);
+            return;
+        }
+        mSize = index + 1;
+        mHashes[index] = hash;
+        mArray[index] = value;
+    }
+
+    /**
      * Perform a {@link #add(Object)} of all values in <var>array</var>
      * @param array The array whose contents are to be retrieved.
      */
diff --git a/core/java/android/util/DisplayMetrics.java b/core/java/android/util/DisplayMetrics.java
index d201ade..f4db4d6 100644
--- a/core/java/android/util/DisplayMetrics.java
+++ b/core/java/android/util/DisplayMetrics.java
@@ -66,9 +66,23 @@
      * {@link #DENSITY_XHIGH} (320dpi). This is not a density that applications should target,
      * instead relying on the system to scale their {@link #DENSITY_XHIGH} assets for them.
      */
+    public static final int DENSITY_260 = 260;
+
+    /**
+     * Intermediate density for screens that sit between {@link #DENSITY_HIGH} (240dpi) and
+     * {@link #DENSITY_XHIGH} (320dpi). This is not a density that applications should target,
+     * instead relying on the system to scale their {@link #DENSITY_XHIGH} assets for them.
+     */
     public static final int DENSITY_280 = 280;
 
     /**
+     * Intermediate density for screens that sit between {@link #DENSITY_HIGH} (240dpi) and
+     * {@link #DENSITY_XHIGH} (320dpi). This is not a density that applications should target,
+     * instead relying on the system to scale their {@link #DENSITY_XHIGH} assets for them.
+     */
+    public static final int DENSITY_300 = 300;
+
+    /**
      * Standard quantized DPI for extra-high-density screens.
      */
     public static final int DENSITY_XHIGH = 320;
@@ -79,6 +93,14 @@
      * This is not a density that applications should target, instead relying
      * on the system to scale their {@link #DENSITY_XXHIGH} assets for them.
      */
+    public static final int DENSITY_340 = 340;
+
+    /**
+     * Intermediate density for screens that sit somewhere between
+     * {@link #DENSITY_XHIGH} (320 dpi) and {@link #DENSITY_XXHIGH} (480 dpi).
+     * This is not a density that applications should target, instead relying
+     * on the system to scale their {@link #DENSITY_XXHIGH} assets for them.
+     */
     public static final int DENSITY_360 = 360;
 
     /**
diff --git a/core/java/android/view/Choreographer.java b/core/java/android/view/Choreographer.java
index a865307..d3db74d 100644
--- a/core/java/android/view/Choreographer.java
+++ b/core/java/android/view/Choreographer.java
@@ -232,6 +232,19 @@
         return sThreadInstance.get();
     }
 
+    /** Destroys the calling thread's choreographer
+     * @hide
+     */
+    public static void releaseInstance() {
+        Choreographer old = sThreadInstance.get();
+        sThreadInstance.remove();
+        old.dispose();
+    }
+
+    private void dispose() {
+        mDisplayEventReceiver.dispose();
+    }
+
     /**
      * The amount of time, in milliseconds, between each frame of the animation.
      * <p>
diff --git a/core/java/android/view/DisplayAdjustments.java b/core/java/android/view/DisplayAdjustments.java
index 272740f..dd86062 100644
--- a/core/java/android/view/DisplayAdjustments.java
+++ b/core/java/android/view/DisplayAdjustments.java
@@ -23,8 +23,6 @@
 
 /** @hide */
 public class DisplayAdjustments {
-    public static final boolean DEVELOPMENT_RESOURCES_DEPEND_ON_ACTIVITY_TOKEN = false;
-
     public static final DisplayAdjustments DEFAULT_DISPLAY_ADJUSTMENTS = new DisplayAdjustments();
 
     private volatile CompatibilityInfo mCompatInfo = CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO;
@@ -64,7 +62,7 @@
             throw new IllegalArgumentException(
                     "setConfiguration: Cannot modify DEFAULT_DISPLAY_ADJUSTMENTS");
         }
-        mConfiguration = configuration;
+        mConfiguration = configuration != null ? configuration : Configuration.EMPTY;
     }
 
     public Configuration getConfiguration() {
@@ -74,10 +72,8 @@
     @Override
     public int hashCode() {
         int hash = 17;
-        hash = hash * 31 + mCompatInfo.hashCode();
-        if (DEVELOPMENT_RESOURCES_DEPEND_ON_ACTIVITY_TOKEN) {
-            hash = hash * 31 + (mConfiguration == null ? 0 : mConfiguration.hashCode());
-        }
+        hash = hash * 31 + Objects.hashCode(mCompatInfo);
+        hash = hash * 31 + Objects.hashCode(mConfiguration);
         return hash;
     }
 
diff --git a/core/java/android/view/DragAndDropPermissions.java b/core/java/android/view/DragAndDropPermissions.java
index a3dbdb1..71afaaa 100644
--- a/core/java/android/view/DragAndDropPermissions.java
+++ b/core/java/android/view/DragAndDropPermissions.java
@@ -16,12 +16,14 @@
 
 package android.view;
 
+import android.app.Activity;
 import android.app.ActivityManagerNative;
 import android.os.IBinder;
+import android.os.Parcel;
+import android.os.Parcelable;
 import android.os.RemoteException;
-import com.android.internal.view.IDragAndDropPermissions;
-import dalvik.system.CloseGuard;
 
+import com.android.internal.view.IDragAndDropPermissions;
 
 /**
  * {@link DragAndDropPermissions} controls the access permissions for the content URIs associated
@@ -33,20 +35,27 @@
  * Which permissions are granted is defined by the set of flags passed to {@link
  * View#startDragAndDrop(android.content.ClipData, View.DragShadowBuilder, Object, int)
  * View.startDragAndDrop} by the app that started the drag operation.
+ * </p>
  * <p>
  * The life cycle of the permissions is bound to the activity used to call {@link
  * android.app.Activity#requestDragAndDropPermissions(DragEvent) requestDragAndDropPermissions}. The
  * permissions are revoked when this activity is destroyed, or when {@link #release()} is called,
  * whichever occurs first.
+ * </p>
+ * <p>
+ * If you anticipate that your application will receive a large number of drops (e.g. document
+ * editor), you should try to call {@link #release()} on the obtained permissions as soon as they
+ * are no longer required. Permissions can be added to your activity's
+ * {@link Activity#onSaveInstanceState} bundle and later retrieved in order to manually release
+ * the permissions once they are no longer needed.
+ * </p>
  */
-public final class DragAndDropPermissions {
+public final class DragAndDropPermissions implements Parcelable {
 
     private final IDragAndDropPermissions mDragAndDropPermissions;
 
     private IBinder mPermissionOwnerToken;
 
-    private final CloseGuard mCloseGuard = CloseGuard.get();
-
     /**
      * Create a new {@link DragAndDropPermissions} object to control the access permissions for
      * content URIs associated with {@link DragEvent}.
@@ -79,7 +88,6 @@
         } catch (RemoteException e) {
             return false;
         }
-        mCloseGuard.open("release");
         return true;
     }
 
@@ -96,7 +104,6 @@
         } catch (RemoteException e) {
             return false;
         }
-        mCloseGuard.open("release");
         return true;
     }
 
@@ -109,18 +116,34 @@
             mPermissionOwnerToken = null;
         } catch (RemoteException e) {
         }
-        mCloseGuard.close();
+    }
+
+    public static final Parcelable.Creator<DragAndDropPermissions> CREATOR =
+            new Parcelable.Creator<DragAndDropPermissions> () {
+        @Override
+        public DragAndDropPermissions createFromParcel(Parcel source) {
+            return new DragAndDropPermissions(source);
+        }
+
+        @Override
+        public DragAndDropPermissions[] newArray(int size) {
+            return new DragAndDropPermissions[size];
+        }
+    };
+
+    @Override
+    public int describeContents() {
+        return 0;
     }
 
     @Override
-    protected void finalize() throws Throwable {
-        try {
-            if (mCloseGuard != null) {
-                mCloseGuard.warnIfOpen();
-            }
-            release();
-        } finally {
-            super.finalize();
-        }
+    public void writeToParcel(Parcel destination, int flags) {
+        destination.writeStrongInterface(mDragAndDropPermissions);
+        destination.writeStrongBinder(mPermissionOwnerToken);
+    }
+
+    private DragAndDropPermissions(Parcel in) {
+        mDragAndDropPermissions = IDragAndDropPermissions.Stub.asInterface(in.readStrongBinder());
+        mPermissionOwnerToken = in.readStrongBinder();
     }
 }
diff --git a/core/java/android/view/IWindowManager.aidl b/core/java/android/view/IWindowManager.aidl
index f8a6a17..e3ff54d 100644
--- a/core/java/android/view/IWindowManager.aidl
+++ b/core/java/android/view/IWindowManager.aidl
@@ -106,12 +106,13 @@
      * @param alwaysFocusable True if the app windows are always focusable regardless of the stack
      *                        they are in.
      * @param homeTask True if this is the task.
+     * @param targetSdkVersion The application's target SDK version
      */
     void addAppToken(int addPos, IApplicationToken token, int taskId, int stackId,
             int requestedOrientation, boolean fullscreen, boolean showWhenLocked, int userId,
             int configChanges, boolean voiceInteraction, boolean launchTaskBehind,
             in Rect taskBounds, in Configuration configuration, int taskResizeMode,
-            boolean alwaysFocusable, boolean homeTask);
+            boolean alwaysFocusable, boolean homeTask, int targetSdkVersion, int rotationAnimationHint);
     /**
      *
      * @param token The token we are adding to the input task Id.
diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java
index 599c9c72..990d553 100644
--- a/core/java/android/view/KeyEvent.java
+++ b/core/java/android/view/KeyEvent.java
@@ -796,16 +796,16 @@
     public static final int KEYCODE_COPY = 278;
     /** Key code constant: Paste key. */
     public static final int KEYCODE_PASTE = 279;
-    /** Key code constant: fingerprint navigation up */
-    public static final int KEYCODE_FP_NAV_UP = 280;
-    /** Key code constant: fingerprint navigation down */
-    public static final int KEYCODE_FP_NAV_DOWN = 281;
-    /** Key code constant: fingerprint navigation left*/
-    public static final int KEYCODE_FP_NAV_LEFT = 282;
-    /** Key code constant: fingerprint navigation right */
-    public static final int KEYCODE_FP_NAV_RIGHT = 283;
+    /** Key code constant: Consumed by the system for navigation up */
+    public static final int KEYCODE_SYSTEM_NAVIGATION_UP = 280;
+    /** Key code constant: Consumed by the system for navigation down */
+    public static final int KEYCODE_SYSTEM_NAVIGATION_DOWN = 281;
+    /** Key code constant: Consumed by the system for navigation left*/
+    public static final int KEYCODE_SYSTEM_NAVIGATION_LEFT = 282;
+    /** Key code constant: Consumed by the system for navigation right */
+    public static final int KEYCODE_SYSTEM_NAVIGATION_RIGHT = 283;
 
-    private static final int LAST_KEYCODE = KEYCODE_FP_NAV_RIGHT;
+    private static final int LAST_KEYCODE = KEYCODE_SYSTEM_NAVIGATION_RIGHT;
 
     // NOTE: If you add a new keycode here you must also add it to:
     //  isSystem()
@@ -1852,10 +1852,10 @@
             case KeyEvent.KEYCODE_BRIGHTNESS_DOWN:
             case KeyEvent.KEYCODE_BRIGHTNESS_UP:
             case KeyEvent.KEYCODE_MEDIA_AUDIO_TRACK:
-            case KeyEvent.KEYCODE_FP_NAV_UP:
-            case KeyEvent.KEYCODE_FP_NAV_DOWN:
-            case KeyEvent.KEYCODE_FP_NAV_LEFT:
-            case KeyEvent.KEYCODE_FP_NAV_RIGHT:
+            case KeyEvent.KEYCODE_SYSTEM_NAVIGATION_UP:
+            case KeyEvent.KEYCODE_SYSTEM_NAVIGATION_DOWN:
+            case KeyEvent.KEYCODE_SYSTEM_NAVIGATION_LEFT:
+            case KeyEvent.KEYCODE_SYSTEM_NAVIGATION_RIGHT:
                 return true;
         }
 
@@ -2941,11 +2941,13 @@
 
     public static final Parcelable.Creator<KeyEvent> CREATOR
             = new Parcelable.Creator<KeyEvent>() {
+        @Override
         public KeyEvent createFromParcel(Parcel in) {
             in.readInt(); // skip token, we already know this is a KeyEvent
             return KeyEvent.createFromParcelBody(in);
         }
 
+        @Override
         public KeyEvent[] newArray(int size) {
             return new KeyEvent[size];
         }
@@ -2969,6 +2971,7 @@
         mEventTime = in.readLong();
     }
 
+    @Override
     public void writeToParcel(Parcel out, int flags) {
         out.writeInt(PARCEL_TOKEN_KEY_EVENT);
 
diff --git a/core/java/android/view/NotificationHeaderView.java b/core/java/android/view/NotificationHeaderView.java
index 3069e5a..c46acae 100644
--- a/core/java/android/view/NotificationHeaderView.java
+++ b/core/java/android/view/NotificationHeaderView.java
@@ -22,6 +22,7 @@
 import android.graphics.Outline;
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
+import android.os.Bundle;
 import android.util.AttributeSet;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.ImageView;
@@ -63,6 +64,33 @@
             }
         }
     };
+    final AccessibilityDelegate mExpandDelegate = new AccessibilityDelegate() {
+
+        @Override
+        public boolean performAccessibilityAction(View host, int action, Bundle args) {
+            if (super.performAccessibilityAction(host, action, args)) {
+                return true;
+            }
+            if (action == AccessibilityNodeInfo.ACTION_COLLAPSE
+                    || action == AccessibilityNodeInfo.ACTION_EXPAND) {
+                mExpandClickListener.onClick(mExpandButton);
+                return true;
+            }
+            return false;
+        }
+
+        @Override
+        public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
+            super.onInitializeAccessibilityNodeInfo(host, info);
+            // Avoid that the button description is also spoken
+            info.setClassName(getClass().getName());
+            if (mExpanded) {
+                info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_COLLAPSE);
+            } else {
+                info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_EXPAND);
+            }
+        }
+    };
 
     public NotificationHeaderView(Context context) {
         this(context, null);
@@ -92,6 +120,9 @@
         mAppName = findViewById(com.android.internal.R.id.app_name_text);
         mHeaderText = findViewById(com.android.internal.R.id.header_text);
         mExpandButton = (ImageView) findViewById(com.android.internal.R.id.expand_button);
+        if (mExpandButton != null) {
+            mExpandButton.setAccessibilityDelegate(mExpandDelegate);
+        }
         mIcon = findViewById(com.android.internal.R.id.icon);
         mProfileBadge = findViewById(com.android.internal.R.id.profile_badge);
     }
@@ -230,7 +261,7 @@
     public void setOnClickListener(@Nullable OnClickListener l) {
         mExpandClickListener = l;
         setOnTouchListener(mExpandClickListener != null ? mTouchListener : null);
-        setFocusable(l != null);
+        mExpandButton.setOnClickListener(mExpandClickListener);
         updateTouchListener();
     }
 
@@ -380,19 +411,6 @@
         return this;
     }
 
-    @Override
-    public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
-        super.onInitializeAccessibilityNodeInfo(info);
-        if (mExpandClickListener != null) {
-            AccessibilityNodeInfo.AccessibilityAction expand
-                    = new AccessibilityNodeInfo.AccessibilityAction(
-                    AccessibilityNodeInfo.ACTION_CLICK,
-                    getContext().getString(
-                            com.android.internal.R.string.expand_action_accessibility));
-            info.addAction(expand);
-        }
-    }
-
     public ImageView getExpandButton() {
         return mExpandButton;
     }
diff --git a/core/java/android/view/RenderNode.java b/core/java/android/view/RenderNode.java
index ab4cbcf..0164fcd 100644
--- a/core/java/android/view/RenderNode.java
+++ b/core/java/android/view/RenderNode.java
@@ -793,12 +793,12 @@
         return mOwningView != null && mOwningView.mAttachInfo != null;
     }
 
-    public void addAnimator(AnimatedVectorDrawable.VectorDrawableAnimatorRT animatorSet) {
+    public void registerVectorDrawableAnimator(
+            AnimatedVectorDrawable.VectorDrawableAnimatorRT animatorSet) {
         if (mOwningView == null || mOwningView.mAttachInfo == null) {
             throw new IllegalStateException("Cannot start this animator on a detached view!");
         }
-        nAddAnimator(mNativeRenderNode, animatorSet.getAnimatorNativePtr());
-        mOwningView.mAttachInfo.mViewRootImpl.registerAnimatingRenderNode(this);
+        mOwningView.mAttachInfo.mViewRootImpl.registerVectorDrawableAnimator(animatorSet);
     }
 
     public void endAllAnimators() {
diff --git a/core/java/android/view/Surface.java b/core/java/android/view/Surface.java
index 7da849a..286e097 100644
--- a/core/java/android/view/Surface.java
+++ b/core/java/android/view/Surface.java
@@ -58,6 +58,7 @@
 
     private static native long nativeGetNextFrameNumber(long nativeObject);
     private static native int nativeSetScalingMode(long nativeObject, int scalingMode);
+    private static native void nativeSetBuffersTransform(long nativeObject, long transform);
 
     public static final Parcelable.Creator<Surface> CREATOR =
             new Parcelable.Creator<Surface>() {
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java
index b4131b4..f1abca8 100644
--- a/core/java/android/view/SurfaceControl.java
+++ b/core/java/android/view/SurfaceControl.java
@@ -51,6 +51,7 @@
 
     private static native void nativeSetLayer(long nativeObject, int zorder);
     private static native void nativeSetPosition(long nativeObject, float x, float y);
+    private static native void nativeSetGeometryAppliesWithResize(long nativeObject);
     private static native void nativeSetSize(long nativeObject, int w, int h);
     private static native void nativeSetTransparentRegionHint(long nativeObject, Region region);
     private static native void nativeSetAlpha(long nativeObject, float alpha);
@@ -88,6 +89,8 @@
     private static native void nativeSetOverrideScalingMode(long nativeObject,
             int scalingMode);
     private static native IBinder nativeGetHandle(long nativeObject);
+    private static native boolean nativeGetTransformToDisplayInverse(long nativeObject);
+
     private static native Display.HdrCapabilities nativeGetHdrCapabilities(IBinder displayToken);
 
 
@@ -392,6 +395,10 @@
         return nativeGetHandle(mNativeObject);
     }
 
+    public boolean getTransformToDisplayInverse() {
+        return nativeGetTransformToDisplayInverse(mNativeObject);
+    }
+
     /** flag the transaction as an animation */
     public static void setAnimationTransaction() {
         nativeSetAnimationTransaction();
@@ -407,6 +414,18 @@
         nativeSetPosition(mNativeObject, x, y);
     }
 
+    /**
+     * If the buffer size changes in this transaction, position and crop updates specified
+     * in this transaction will not complete until a buffer of the new size
+     * arrives. As transform matrix and size are already frozen in this fashion,
+     * this enables totally freezing the surface until the resize has completed
+     * (at which point the geometry influencing aspects of this transaction will then occur)
+     */
+    public void setGeometryAppliesWithResize() {
+        checkNotReleased();
+        nativeSetGeometryAppliesWithResize(mNativeObject);
+    }
+
     public void setSize(int w, int h) {
         checkNotReleased();
         nativeSetSize(mNativeObject, w, h);
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java
index d59c8ac..4818910 100644
--- a/core/java/android/view/SurfaceView.java
+++ b/core/java/android/view/SurfaceView.java
@@ -124,6 +124,7 @@
     int mWindowType = WindowManager.LayoutParams.TYPE_APPLICATION_MEDIA;
 
     boolean mIsCreating = false;
+    private volatile boolean mRtHandlingPositionUpdates = false;
 
     final Handler mHandler = new Handler() {
         @Override
@@ -464,7 +465,8 @@
             || mUpdateWindowNeeded || mReportDrawNeeded || redrawNeeded) {
             getLocationInWindow(mLocation);
 
-            if (DEBUG) Log.i(TAG, "Changes: creating=" + creating
+            if (DEBUG) Log.i(TAG, System.identityHashCode(this) + " "
+                    + "Changes: creating=" + creating
                     + " format=" + formatChanged + " size=" + sizeChanged
                     + " visible=" + visibleChanged
                     + " left=" + (mWindowSpaceLeft != mLocation[0])
@@ -497,7 +499,7 @@
                               | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
                               | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
                               ;
-                if (!creating && !force && !mUpdateWindowNeeded && !sizeChanged) {
+                if (!creating && !force && !sizeChanged) {
                     mLayout.privateFlags |=
                             WindowManager.LayoutParams.PRIVATE_FLAG_PRESERVE_GEOMETRY;
                 } else {
@@ -534,7 +536,8 @@
                     mReportDrawNeeded = false;
                     mDrawingStopped = !visible;
 
-                    if (DEBUG) Log.i(TAG, "Cur surface: " + mSurface);
+                    if (DEBUG) Log.i(TAG, System.identityHashCode(this) + " "
+                            + "Cur surface: " + mSurface);
 
                     relayoutResult = mSession.relayout(
                         mWindow, mWindow.mSeq, mLayout, mWindowSpaceWidth, mWindowSpaceHeight,
@@ -547,7 +550,8 @@
                         reportDrawNeeded = true;
                     }
 
-                    if (DEBUG) Log.i(TAG, "New surface: " + mNewSurface
+                    if (DEBUG) Log.i(TAG, System.identityHashCode(this) + " "
+                            + "New surface: " + mNewSurface
                             + ", vis=" + visible + ", frame=" + mWinFrame);
 
                     mSurfaceFrame.left = 0;
@@ -581,7 +585,8 @@
                     if (mSurfaceCreated && (surfaceChanged || (!visible && visibleChanged))) {
                         mSurfaceCreated = false;
                         if (mSurface.isValid()) {
-                            if (DEBUG) Log.i(TAG, "visibleChanged -- surfaceDestroyed");
+                            if (DEBUG) Log.i(TAG, System.identityHashCode(this) + " "
+                                    + "visibleChanged -- surfaceDestroyed");
                             callbacks = getSurfaceCallbacks();
                             for (SurfaceHolder.Callback c : callbacks) {
                                 c.surfaceDestroyed(mSurfaceHolder);
@@ -594,7 +599,8 @@
                         if (!mSurfaceCreated && (surfaceChanged || visibleChanged)) {
                             mSurfaceCreated = true;
                             mIsCreating = true;
-                            if (DEBUG) Log.i(TAG, "visibleChanged -- surfaceCreated");
+                            if (DEBUG) Log.i(TAG, System.identityHashCode(this) + " "
+                                    + "visibleChanged -- surfaceCreated");
                             if (callbacks == null) {
                                 callbacks = getSurfaceCallbacks();
                             }
@@ -604,7 +610,8 @@
                         }
                         if (creating || formatChanged || sizeChanged
                                 || visibleChanged || realSizeChanged) {
-                            if (DEBUG) Log.i(TAG, "surfaceChanged -- format=" + mFormat
+                            if (DEBUG) Log.i(TAG, System.identityHashCode(this) + " "
+                                    + "surfaceChanged -- format=" + mFormat
                                     + " w=" + myWidth + " h=" + myHeight);
                             if (callbacks == null) {
                                 callbacks = getSurfaceCallbacks();
@@ -614,7 +621,8 @@
                             }
                         }
                         if (redrawNeeded) {
-                            if (DEBUG) Log.i(TAG, "surfaceRedrawNeeded");
+                            if (DEBUG) Log.i(TAG, System.identityHashCode(this) + " "
+                                    + "surfaceRedrawNeeded");
                             if (callbacks == null) {
                                 callbacks = getSurfaceCallbacks();
                             }
@@ -629,7 +637,8 @@
                 } finally {
                     mIsCreating = false;
                     if (redrawNeeded) {
-                        if (DEBUG) Log.i(TAG, "finishedDrawing");
+                        if (DEBUG) Log.i(TAG, System.identityHashCode(this) + " "
+                                + "finishedDrawing");
                         mSession.finishDrawing(mWindow);
                     }
                     mSession.performDeferredDestroy(mWindow);
@@ -641,7 +650,9 @@
                 TAG, "Layout: x=" + mLayout.x + " y=" + mLayout.y +
                 " w=" + mLayout.width + " h=" + mLayout.height +
                 ", frame=" + mSurfaceFrame);
-        } else if (!isHardwareAccelerated()) {
+        } else {
+            // Calculate the window position in case RT loses the window
+            // and we need to fallback to a UI-thread driven position update
             getLocationInWindow(mLocation);
             final boolean positionChanged = mWindowSpaceLeft != mLocation[0]
                     || mWindowSpaceTop != mLocation[1];
@@ -662,14 +673,17 @@
                     mTranslator.translateRectInAppWindowToScreen(mWinFrame);
                 }
 
-                try {
-                    Log.d(TAG, String.format("updateWindowPosition UI, " +
-                            "postion = [%d, %d, %d, %d]", mWinFrame.left, mWinFrame.top,
-                            mWinFrame.right, mWinFrame.bottom));
-                    mSession.repositionChild(mWindow, mWinFrame.left, mWinFrame.top,
-                            mWinFrame.right, mWinFrame.bottom, -1, mWinFrame);
-                } catch (RemoteException ex) {
-                    Log.e(TAG, "Exception from relayout", ex);
+                if (!isHardwareAccelerated() || !mRtHandlingPositionUpdates) {
+                    try {
+                        if (DEBUG) Log.d(TAG, String.format("%d updateWindowPosition UI, " +
+                                "postion = [%d, %d, %d, %d]", System.identityHashCode(this),
+                                mWinFrame.left, mWinFrame.top,
+                                mWinFrame.right, mWinFrame.bottom));
+                        mSession.repositionChild(mWindow, mWinFrame.left, mWinFrame.top,
+                                mWinFrame.right, mWinFrame.bottom, -1, mWinFrame);
+                    } catch (RemoteException ex) {
+                        Log.e(TAG, "Exception from relayout", ex);
+                    }
                 }
             }
         }
@@ -689,6 +703,15 @@
             // Guess we got detached, that sucks
             return;
         }
+        // TODO: This is teensy bit racey in that a brand new SurfaceView moving on
+        // its 2nd frame if RenderThread is running slowly could potentially see
+        // this as false, enter the branch, get pre-empted, then this comes along
+        // and reports a new position, then the UI thread resumes and reports
+        // its position. This could therefore be de-sync'd in that interval, but
+        // the synchronization would violate the rule that RT must never block
+        // on the UI thread which would open up potential deadlocks. The risk of
+        // a single-frame desync is therefore preferable for now.
+        mRtHandlingPositionUpdates = true;
         if (mRTLastReportedPosition.left == left
                 && mRTLastReportedPosition.top == top
                 && mRTLastReportedPosition.right == right
@@ -697,9 +720,9 @@
         }
         try {
             if (DEBUG) {
-                Log.d(TAG, String.format("updateWindowPosition RT, frameNr = %d, " +
-                        "postion = [%d, %d, %d, %d]", frameNumber, left, top,
-                        right, bottom));
+                Log.d(TAG, String.format("%d updateWindowPosition RT, frameNr = %d, " +
+                        "postion = [%d, %d, %d, %d]", System.identityHashCode(this),
+                        frameNumber, left, top, right, bottom));
             }
             // Just using mRTLastReportedPosition as a dummy rect here
             session.repositionChild(window, left, top, right, bottom,
@@ -712,6 +735,44 @@
         }
     }
 
+    /**
+     * Called by native on RenderThread to notify that the window is no longer in the
+     * draw tree
+     * @hide
+     */
+    public final void windowPositionLostRT(long frameNumber) {
+        if (DEBUG) {
+            Log.d(TAG, String.format("%d windowPositionLostRT RT, frameNr = %d",
+                    System.identityHashCode(this), frameNumber));
+        }
+        IWindowSession session = mSession;
+        MyWindow window = mWindow;
+        if (session == null || window == null) {
+            // We got detached prior to receiving this, abort
+            return;
+        }
+        if (mRtHandlingPositionUpdates) {
+            mRtHandlingPositionUpdates = false;
+            // This callback will happen while the UI thread is blocked, so we can
+            // safely access other member variables at this time.
+            // So do what the UI thread would have done if RT wasn't handling position
+            // updates.
+            if (!mWinFrame.isEmpty() && !mWinFrame.equals(mRTLastReportedPosition)) {
+                try {
+                    if (DEBUG) Log.d(TAG, String.format("%d updateWindowPosition, " +
+                            "postion = [%d, %d, %d, %d]", System.identityHashCode(this),
+                            mWinFrame.left, mWinFrame.top,
+                            mWinFrame.right, mWinFrame.bottom));
+                    session.repositionChild(window, mWinFrame.left, mWinFrame.top,
+                            mWinFrame.right, mWinFrame.bottom, frameNumber, mWinFrame);
+                } catch (RemoteException ex) {
+                    Log.e(TAG, "Exception from relayout", ex);
+                }
+            }
+            mRTLastReportedPosition.setEmpty();
+        }
+    }
+
     private SurfaceHolder.Callback[] getSurfaceCallbacks() {
         SurfaceHolder.Callback callbacks[];
         synchronized (mCallbacks) {
@@ -750,8 +811,7 @@
                 boolean alwaysConsumeNavBar) {
             SurfaceView surfaceView = mSurfaceView.get();
             if (surfaceView != null) {
-                if (DEBUG) Log.v(
-                        "SurfaceView", surfaceView + " got resized: w=" + frame.width()
+                if (DEBUG) Log.v(TAG, surfaceView + " got resized: w=" + frame.width()
                         + " h=" + frame.height() + ", cur w=" + mCurWidth + " h=" + mCurHeight);
                 surfaceView.mSurfaceLock.lock();
                 try {
@@ -907,7 +967,7 @@
         private final Canvas internalLockCanvas(Rect dirty) {
             mSurfaceLock.lock();
 
-            if (DEBUG) Log.i(TAG, "Locking canvas... stopped="
+            if (DEBUG) Log.i(TAG, System.identityHashCode(this) + " " + "Locking canvas... stopped="
                     + mDrawingStopped + ", win=" + mWindow);
 
             Canvas c = null;
@@ -919,7 +979,7 @@
                 }
             }
 
-            if (DEBUG) Log.i(TAG, "Returned canvas: " + c);
+            if (DEBUG) Log.i(TAG, System.identityHashCode(this) + " " + "Returned canvas: " + c);
             if (c != null) {
                 mLastLockTime = SystemClock.uptimeMillis();
                 return c;
diff --git a/core/java/android/view/ThreadedRenderer.java b/core/java/android/view/ThreadedRenderer.java
index e650d95..fcca739 100644
--- a/core/java/android/view/ThreadedRenderer.java
+++ b/core/java/android/view/ThreadedRenderer.java
@@ -23,6 +23,7 @@
 import android.graphics.Bitmap;
 import android.graphics.Point;
 import android.graphics.Rect;
+import android.graphics.drawable.AnimatedVectorDrawable;
 import android.os.Binder;
 import android.os.Handler;
 import android.os.IBinder;
@@ -881,6 +882,12 @@
         nRegisterAnimatingRenderNode(mRootNode.mNativeRenderNode, animator.mNativeRenderNode);
     }
 
+    void registerVectorDrawableAnimator(
+        AnimatedVectorDrawable.VectorDrawableAnimatorRT animator) {
+        nRegisterVectorDrawableAnimator(mRootNode.mNativeRenderNode,
+                animator.getAnimatorNativePtr());
+    }
+
     public void serializeDisplayListTree() {
         nSerializeDisplayListTree(mNativeProxy);
     }
@@ -992,6 +999,7 @@
     private static native int nSyncAndDrawFrame(long nativeProxy, long[] frameInfo, int size);
     private static native void nDestroy(long nativeProxy, long rootRenderNode);
     private static native void nRegisterAnimatingRenderNode(long rootRenderNode, long animatingNode);
+    private static native void nRegisterVectorDrawableAnimator(long rootRenderNode, long animator);
 
     private static native void nInvokeFunctor(long functor, boolean waitForCompletion);
 
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 88605db..d4ac300 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -20527,8 +20527,17 @@
      * to the target Views. For example, it can contain flags that differentiate between a
      * a copy operation and a move operation.
      * </p>
-     * @param flags Flags that control the drag and drop operation. No flags are currently defined,
-     * so the parameter should be set to 0.
+     * @param flags Flags that control the drag and drop operation. This can be set to 0 for no
+     * flags, or any combination of the following:
+     *     <ul>
+     *         <li>{@link #DRAG_FLAG_GLOBAL}</li>
+     *         <li>{@link #DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION}</li>
+     *         <li>{@link #DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION}</li>
+     *         <li>{@link #DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION}</li>
+     *         <li>{@link #DRAG_FLAG_GLOBAL_URI_READ}</li>
+     *         <li>{@link #DRAG_FLAG_GLOBAL_URI_WRITE}</li>
+     *         <li>{@link #DRAG_FLAG_OPAQUE}</li>
+     *     </ul>
      * @return {@code true} if the method completes successfully, or
      * {@code false} if it fails anywhere. Returning {@code false} means the system was unable to
      * do a drag, and so no drag operation is in progress.
@@ -20538,6 +20547,10 @@
         if (ViewDebug.DEBUG_DRAG) {
             Log.d(VIEW_LOG_TAG, "startDragAndDrop: data=" + data + " flags=" + flags);
         }
+        if (mAttachInfo == null) {
+            Log.w(VIEW_LOG_TAG, "startDragAndDrop called on a detached view.");
+            return false;
+        }
         boolean okay = false;
 
         Point shadowSize = new Point();
@@ -20614,6 +20627,10 @@
         if (ViewDebug.DEBUG_DRAG) {
             Log.d(VIEW_LOG_TAG, "cancelDragAndDrop");
         }
+        if (mAttachInfo == null) {
+            Log.w(VIEW_LOG_TAG, "cancelDragAndDrop called on a detached view.");
+            return;
+        }
         if (mAttachInfo.mDragToken != null) {
             try {
                 mAttachInfo.mSession.cancelDragAndDrop(mAttachInfo.mDragToken);
@@ -20636,6 +20653,10 @@
         if (ViewDebug.DEBUG_DRAG) {
             Log.d(VIEW_LOG_TAG, "updateDragShadow");
         }
+        if (mAttachInfo == null) {
+            Log.w(VIEW_LOG_TAG, "updateDragShadow called on a detached view.");
+            return;
+        }
         if (mAttachInfo.mDragToken != null) {
             try {
                 Canvas canvas = mAttachInfo.mDragSurface.lockCanvas(null);
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 4742818..c427522 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -26,7 +26,9 @@
 
 import android.Manifest;
 import android.animation.LayoutTransition;
+import android.annotation.NonNull;
 import android.app.ActivityManagerNative;
+import android.app.ResourcesManager;
 import android.content.ClipDescription;
 import android.content.ComponentCallbacks;
 import android.content.Context;
@@ -42,6 +44,7 @@
 import android.graphics.PorterDuff;
 import android.graphics.Rect;
 import android.graphics.Region;
+import android.graphics.drawable.AnimatedVectorDrawable;
 import android.graphics.drawable.Drawable;
 import android.hardware.display.DisplayManager;
 import android.hardware.display.DisplayManager.DisplayListener;
@@ -163,7 +166,7 @@
     final ArrayList<WindowCallbacks> mWindowCallbacks = new ArrayList<>();
     final Context mContext;
     final IWindowSession mWindowSession;
-    final Display mDisplay;
+    @NonNull Display mDisplay;
     final DisplayManager mDisplayManager;
     final String mBasePackageName;
 
@@ -307,8 +310,6 @@
     boolean mAdded;
     boolean mAddedTouchMode;
 
-    final DisplayAdjustments mDisplayAdjustments;
-
     // These are accessed by multiple threads.
     final Rect mWinFrame; // frame given by window manager.
 
@@ -412,9 +413,6 @@
         mWindowSession = WindowManagerGlobal.getWindowSession();
         mDisplay = display;
         mBasePackageName = context.getBasePackageName();
-
-        mDisplayAdjustments = display.getDisplayAdjustments();
-
         mThread = Thread.currentThread();
         mLocation = new WindowLeaked(null);
         mLocation.fillInStackTrace();
@@ -588,7 +586,8 @@
                     attrs.setSurfaceInsets(view, false /*manual*/, true /*preservePrevious*/);
                 }
 
-                CompatibilityInfo compatibilityInfo = mDisplayAdjustments.getCompatibilityInfo();
+                CompatibilityInfo compatibilityInfo =
+                        mDisplay.getDisplayAdjustments().getCompatibilityInfo();
                 mTranslator = compatibilityInfo.getTranslator();
 
                 // If the application owns the surface, don't enable hardware acceleration
@@ -824,6 +823,13 @@
         }
     }
 
+    public void registerVectorDrawableAnimator(
+            AnimatedVectorDrawable.VectorDrawableAnimatorRT animator) {
+        if (mAttachInfo.mHardwareRenderer != null) {
+            mAttachInfo.mHardwareRenderer.registerVectorDrawableAnimator(animator);
+        }
+    }
+
     private void enableHardwareAcceleration(WindowManager.LayoutParams attrs) {
         mAttachInfo.mHardwareAccelerated = false;
         mAttachInfo.mHardwareAccelerationRequested = false;
@@ -1468,7 +1474,8 @@
             surfaceChanged = true;
             params = lp;
         }
-        CompatibilityInfo compatibilityInfo = mDisplayAdjustments.getCompatibilityInfo();
+        CompatibilityInfo compatibilityInfo =
+                mDisplay.getDisplayAdjustments().getCompatibilityInfo();
         if (compatibilityInfo.supportsScreen() == mLastInCompatMode) {
             params = lp;
             mFullRedrawNeeded = true;
@@ -1724,7 +1731,7 @@
             }
 
             boolean hwInitialized = false;
-            boolean contentInsetsChanged = false;
+            boolean framesChanged = false;
             boolean hadSurface = mSurface.isValid();
 
             try {
@@ -1764,7 +1771,7 @@
 
                 final boolean overscanInsetsChanged = !mPendingOverscanInsets.equals(
                         mAttachInfo.mOverscanInsets);
-                contentInsetsChanged = !mPendingContentInsets.equals(
+                boolean contentInsetsChanged = !mPendingContentInsets.equals(
                         mAttachInfo.mContentInsets);
                 final boolean visibleInsetsChanged = !mPendingVisibleInsets.equals(
                         mAttachInfo.mVisibleInsets);
@@ -1814,6 +1821,19 @@
                             + mAttachInfo.mVisibleInsets);
                 }
 
+                // If any of the insets changed, do a forceLayout on the view so that the
+                // measure cache is cleared. We might have a pending MSG_RESIZED_REPORT
+                // that is supposed to take care of it, but since pending insets are
+                // already modified here, it won't detect the frame change after this.
+                framesChanged = overscanInsetsChanged
+                        || contentInsetsChanged
+                        || stableInsetsChanged
+                        || visibleInsetsChanged
+                        || outsetsChanged;
+                if (mAdded && mView != null && framesChanged) {
+                    forceLayout(mView);
+                }
+
                 if (!hadSurface) {
                     if (mSurface.isValid()) {
                         // If we are creating a new surface, then we need to
@@ -1938,7 +1958,7 @@
                 mSurfaceHolder.setSurfaceFrameSize(mWidth, mHeight);
                 mSurfaceHolder.mSurfaceLock.unlock();
                 if (mSurface.isValid()) {
-                    if (!hadSurface || surfaceGenerationId != mSurface.getGenerationId()) {
+                    if (!hadSurface) {
                         mSurfaceHolder.ungetCallbacks();
 
                         mIsCreating = true;
@@ -1951,7 +1971,7 @@
                         }
                         surfaceChanged = true;
                     }
-                    if (surfaceChanged) {
+                    if (surfaceChanged || surfaceGenerationId != mSurface.getGenerationId()) {
                         mSurfaceHolderCallback.surfaceChanged(mSurfaceHolder,
                                 lp.format, mWidth, mHeight);
                         SurfaceHolder.Callback callbacks[] = mSurfaceHolder.getCallbacks();
@@ -1997,7 +2017,7 @@
                 boolean focusChangedDueToTouchMode = ensureTouchModeLocally(
                         (relayoutResult&WindowManagerGlobal.RELAYOUT_RES_IN_TOUCH_MODE) != 0);
                 if (focusChangedDueToTouchMode || mWidth != host.getMeasuredWidth()
-                        || mHeight != host.getMeasuredHeight() || contentInsetsChanged ||
+                        || mHeight != host.getMeasuredHeight() || framesChanged ||
                         updatedConfiguration) {
                     int childWidthMeasureSpec = getRootMeasureSpec(mWidth, lp.width);
                     int childHeightMeasureSpec = getRootMeasureSpec(mHeight, lp.height);
@@ -2006,7 +2026,7 @@
                             + mWidth + " measuredWidth=" + host.getMeasuredWidth()
                             + " mHeight=" + mHeight
                             + " measuredHeight=" + host.getMeasuredHeight()
-                            + " coveredInsetsChanged=" + contentInsetsChanged);
+                            + " framesChanged=" + framesChanged);
 
                      // Ask host how big it wants to be
                     performMeasure(childWidthMeasureSpec, childHeightMeasureSpec);
@@ -3293,7 +3313,7 @@
                 + mWindowAttributes.getTitle()
                 + ": " + config);
 
-        CompatibilityInfo ci = mDisplayAdjustments.getCompatibilityInfo();
+        CompatibilityInfo ci = mDisplay.getDisplayAdjustments().getCompatibilityInfo();
         if (!ci.equals(CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO)) {
             config = new Configuration(config);
             ci.applyToConfiguration(mNoncompatDensity, config);
@@ -3308,8 +3328,13 @@
             // At this point the resources have been updated to
             // have the most recent config, whatever that is.  Use
             // the one in them which may be newer.
-            config = mView.getResources().getConfiguration();
+            final Resources localResources = mView.getResources();
+            config = localResources.getConfiguration();
             if (force || mLastConfiguration.diff(config) != 0) {
+                // Update the display with new DisplayAdjustments.
+                mDisplay = ResourcesManager.getInstance().getAdjustedDisplay(
+                        mDisplay.getDisplayId(), localResources.getDisplayAdjustments());
+
                 final int lastLayoutDirection = mLastConfiguration.getLayoutDirection();
                 final int currentLayoutDirection = config.getLayoutDirection();
                 mLastConfiguration.setTo(config);
diff --git a/core/java/android/view/WindowManagerImpl.java b/core/java/android/view/WindowManagerImpl.java
index f8c7d68..dd4e096 100644
--- a/core/java/android/view/WindowManagerImpl.java
+++ b/core/java/android/view/WindowManagerImpl.java
@@ -55,26 +55,26 @@
  */
 public final class WindowManagerImpl implements WindowManager {
     private final WindowManagerGlobal mGlobal = WindowManagerGlobal.getInstance();
-    private final Display mDisplay;
+    private final Context mContext;
     private final Window mParentWindow;
 
     private IBinder mDefaultToken;
 
-    public WindowManagerImpl(Display display) {
-        this(display, null);
+    public WindowManagerImpl(Context context) {
+        this(context, null);
     }
 
-    private WindowManagerImpl(Display display, Window parentWindow) {
-        mDisplay = display;
+    private WindowManagerImpl(Context context, Window parentWindow) {
+        mContext = context;
         mParentWindow = parentWindow;
     }
 
     public WindowManagerImpl createLocalWindowManager(Window parentWindow) {
-        return new WindowManagerImpl(mDisplay, parentWindow);
+        return new WindowManagerImpl(mContext, parentWindow);
     }
 
-    public WindowManagerImpl createPresentationWindowManager(Display display) {
-        return new WindowManagerImpl(display, mParentWindow);
+    public WindowManagerImpl createPresentationWindowManager(Context displayContext) {
+        return new WindowManagerImpl(displayContext, mParentWindow);
     }
 
     /**
@@ -90,7 +90,7 @@
     @Override
     public void addView(@NonNull View view, @NonNull ViewGroup.LayoutParams params) {
         applyDefaultToken(params);
-        mGlobal.addView(view, params, mDisplay, mParentWindow);
+        mGlobal.addView(view, params, mContext.getDisplay(), mParentWindow);
     }
 
     @Override
@@ -144,6 +144,6 @@
 
     @Override
     public Display getDefaultDisplay() {
-        return mDisplay;
+        return mContext.getDisplay();
     }
 }
diff --git a/core/java/android/view/WindowManagerPolicy.java b/core/java/android/view/WindowManagerPolicy.java
index e6f5b83..9a8c8a8 100644
--- a/core/java/android/view/WindowManagerPolicy.java
+++ b/core/java/android/view/WindowManagerPolicy.java
@@ -416,6 +416,8 @@
          * screen with other application windows.
          */
         public boolean isInMultiWindowMode();
+
+        public int getRotationAnimationHint();
     }
 
     /**
@@ -1410,4 +1412,6 @@
      * Called when the configuration has changed, and it's safe to load new values from resources.
      */
     public void onConfigurationChanged();
+
+    public boolean shouldRotateSeamlessly(int oldRotation, int newRotation);
 }
diff --git a/core/java/android/view/accessibility/AccessibilityWindowInfo.java b/core/java/android/view/accessibility/AccessibilityWindowInfo.java
index d0d4507..52f35de 100644
--- a/core/java/android/view/accessibility/AccessibilityWindowInfo.java
+++ b/core/java/android/view/accessibility/AccessibilityWindowInfo.java
@@ -16,6 +16,7 @@
 
 package android.view.accessibility;
 
+import android.annotation.Nullable;
 import android.graphics.Rect;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -101,8 +102,9 @@
     /**
      * Gets the title of the window.
      *
-     * @return The title.
+     * @return The title of the window, or {@code null} if none is available.
      */
+    @Nullable
     public CharSequence getTitle() {
         return mTitle;
     }
diff --git a/core/java/android/view/inputmethod/BaseInputConnection.java b/core/java/android/view/inputmethod/BaseInputConnection.java
index 89dec2d..38962a3 100644
--- a/core/java/android/view/inputmethod/BaseInputConnection.java
+++ b/core/java/android/view/inputmethod/BaseInputConnection.java
@@ -851,4 +851,11 @@
         
         endBatchEdit();
     }
+
+    /**
+     * The default implementation does nothing.
+     */
+    public boolean commitContent(InputContentInfo inputContentInfo, int flags, Bundle opts) {
+        return false;
+    }
 }
diff --git a/core/java/android/view/inputmethod/EditorInfo.java b/core/java/android/view/inputmethod/EditorInfo.java
index 7b7ccae..8038089 100644
--- a/core/java/android/view/inputmethod/EditorInfo.java
+++ b/core/java/android/view/inputmethod/EditorInfo.java
@@ -25,6 +25,8 @@
 import android.text.TextUtils;
 import android.util.Printer;
 
+import java.util.Arrays;
+
 /**
  * An EditorInfo describes several attributes of a text editing object
  * that an input method is communicating with (typically an EditText), most
@@ -363,6 +365,18 @@
     @Nullable
     public LocaleList hintLocales = null;
 
+
+    /**
+     * List of acceptable MIME types for
+     * {@link InputConnection#commitContent(InputContentInfo, int, Bundle)}.
+     *
+     * <p>{@code null} or an empty array means that
+     * {@link InputConnection#commitContent(InputContentInfo, int, Bundle)} is not supported in this
+     * editor.</p>
+     */
+    @Nullable
+    public String[] contentMimeTypes = null;
+
     /**
      * Ensure that the data in this EditorInfo is compatible with an application
      * that was developed against the given target API version.  This can
@@ -418,6 +432,7 @@
                 + " fieldName=" + fieldName);
         pw.println(prefix + "extras=" + extras);
         pw.println(prefix + "hintLocales=" + hintLocales);
+        pw.println(prefix + "contentMimeTypes=" + Arrays.toString(contentMimeTypes));
     }
 
     /**
@@ -446,6 +461,7 @@
         } else {
             LocaleList.getEmptyLocaleList().writeToParcel(dest, flags);
         }
+        dest.writeStringArray(contentMimeTypes);
     }
 
     /**
@@ -471,6 +487,7 @@
                     res.extras = source.readBundle();
                     LocaleList hintLocales = LocaleList.CREATOR.createFromParcel(source);
                     res.hintLocales = hintLocales.isEmpty() ? null : hintLocales;
+                    res.contentMimeTypes = source.readStringArray();
                     return res;
                 }
 
diff --git a/core/java/android/view/inputmethod/InputConnection.java b/core/java/android/view/inputmethod/InputConnection.java
index 9f66429..07910b6 100644
--- a/core/java/android/view/inputmethod/InputConnection.java
+++ b/core/java/android/view/inputmethod/InputConnection.java
@@ -16,6 +16,8 @@
 
 package android.view.inputmethod;
 
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.os.Bundle;
 import android.os.Handler;
 import android.view.KeyCharacterMap;
@@ -836,4 +838,53 @@
      * <p>Note: This does nothing when called from input methods.</p>
      */
     public void closeConnection();
+
+    /**
+     * When this flag is used, the editor will be able to request read access to the content URI
+     * contained in the {@link InputContentInfo} object.
+     *
+     * <p>Make sure that the content provider owning the Uri sets the
+     * {@link android.R.styleable#AndroidManifestProvider_grantUriPermissions
+     * grantUriPermissions} attribute in its manifest or included the
+     * {@link android.R.styleable#AndroidManifestGrantUriPermission
+     * &lt;grant-uri-permissions&gt;} tag. Otherwise {@link InputContentInfo#requestPermission()}
+     * can fail.</p>
+     *
+     * <p>Although calling this API is allowed only for the IME that is currently selected, the
+     * client is able to request a temporary read-only access even after the current IME is switched
+     * to any other IME as long as the client keeps {@link InputContentInfo} object.</p>
+     **/
+    public static int INPUT_CONTENT_GRANT_READ_URI_PERMISSION =
+            android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION;  // 0x00000001
+
+    /**
+     * Called by the input method to commit a content such as PNG image to the editor.
+     *
+     * <p>In order to avoid variety of compatibility issues, this focuses on a simple use case,
+     * where we expect editors and IMEs work cooperatively as follows:</p>
+     * <ul>
+     *     <li>Editor must keep {@link EditorInfo#contentMimeTypes} to be {@code null} if it does
+     *     not support this method at all.</li>
+     *     <li>Editor can ignore this request when the MIME type specified in
+     *     {@code inputContentInfo} does not match to any of {@link EditorInfo#contentMimeTypes}.
+     *     </li>
+     *     <li>Editor can ignore the cursor position when inserting the provided context.</li>
+     *     <li>Editor can return {@code true} asynchronously, even before it starts loading the
+     *     content.</li>
+     *     <li>Editor should provide a way to delete the content inserted by this method, or revert
+     *     the effect caused by this method.</li>
+     *     <li>IME should not call this method when there is any composing text, in case calling
+     *     this method causes focus change.</li>
+     *     <li>IME should grant a permission for the editor to read the content. See
+     *     {@link EditorInfo#packageName} about how to obtain the package name of the editor.</li>
+     * </ul>
+     *
+     * @param inputContentInfo Content to be inserted.
+     * @param flags {@code 0} or {@link #INPUT_CONTENT_GRANT_READ_URI_PERMISSION}.
+     * @param opts optional bundle data. This can be {@code null}.
+     * @return {@code true} if this request is accepted by the application, no matter if the request
+     * is already handled or still being handled in background.
+     */
+    public boolean commitContent(@NonNull InputContentInfo inputContentInfo, int flags,
+            @Nullable Bundle opts);
 }
diff --git a/core/java/android/view/inputmethod/InputConnectionInspector.java b/core/java/android/view/inputmethod/InputConnectionInspector.java
index 118a61f..2b292bb 100644
--- a/core/java/android/view/inputmethod/InputConnectionInspector.java
+++ b/core/java/android/view/inputmethod/InputConnectionInspector.java
@@ -19,6 +19,7 @@
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.os.Bundle;
 
 import java.lang.annotation.Retention;
 import java.lang.reflect.Method;
@@ -41,6 +42,8 @@
             MissingMethodFlags.REQUEST_CURSOR_UPDATES,
             MissingMethodFlags.DELETE_SURROUNDING_TEXT_IN_CODE_POINTS,
             MissingMethodFlags.GET_HANDLER,
+            MissingMethodFlags.CLOSE_CONNECTION,
+            MissingMethodFlags.COMMIT_CONTENT,
     })
     public @interface MissingMethodFlags {
         /**
@@ -78,6 +81,11 @@
          * {@link android.os.Build.VERSION_CODES#N} and later.
          */
         int CLOSE_CONNECTION = 1 << 6;
+        /**
+         * {@link InputConnection#commitContent(InputContentInfo, int, Bundle)} is available in
+         * {@link android.os.Build.VERSION_CODES#N} MR-1 and later.
+         */
+        int COMMIT_CONTENT = 1 << 7;
     }
 
     private static final Map<Class, Integer> sMissingMethodsMap = Collections.synchronizedMap(
@@ -127,6 +135,9 @@
         if (!hasCloseConnection(clazz)) {
             flags |= MissingMethodFlags.CLOSE_CONNECTION;
         }
+        if (!hasCommitContent(clazz)) {
+            flags |= MissingMethodFlags.COMMIT_CONTENT;
+        }
         sMissingMethodsMap.put(clazz, flags);
         return flags;
     }
@@ -195,6 +206,16 @@
         }
     }
 
+    private static boolean hasCommitContent(@NonNull final Class clazz) {
+        try {
+            final Method method = clazz.getMethod("commitContent", InputContentInfo.class,
+                    int.class, Bundle.class);
+            return !Modifier.isAbstract(method.getModifiers());
+        } catch (NoSuchMethodException e) {
+            return false;
+        }
+    }
+
     public static String getMissingMethodFlagsAsString(@MissingMethodFlags final int flags) {
         final StringBuilder sb = new StringBuilder();
         boolean isEmpty = true;
@@ -242,6 +263,12 @@
             }
             sb.append("closeConnection()");
         }
+        if ((flags & MissingMethodFlags.COMMIT_CONTENT) != 0) {
+            if (!isEmpty) {
+                sb.append(",");
+            }
+            sb.append("commitContent(InputContentInfo, Bundle)");
+        }
         return sb.toString();
     }
 }
diff --git a/core/java/android/view/inputmethod/InputConnectionWrapper.java b/core/java/android/view/inputmethod/InputConnectionWrapper.java
index e743f62..317730c 100644
--- a/core/java/android/view/inputmethod/InputConnectionWrapper.java
+++ b/core/java/android/view/inputmethod/InputConnectionWrapper.java
@@ -269,4 +269,12 @@
     public void closeConnection() {
         mTarget.closeConnection();
     }
+
+    /**
+     * {@inheritDoc}
+     * @throws NullPointerException if the target is {@code null}.
+     */
+    public boolean commitContent(InputContentInfo inputContentInfo, int flags, Bundle opts) {
+        return mTarget.commitContent(inputContentInfo, flags, opts);
+    }
 }
diff --git a/core/java/android/view/inputmethod/InputContentInfo.aidl b/core/java/android/view/inputmethod/InputContentInfo.aidl
new file mode 100644
index 0000000..1afeee3b
--- /dev/null
+++ b/core/java/android/view/inputmethod/InputContentInfo.aidl
@@ -0,0 +1,19 @@
+/*
+ * 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.
+ */
+
+package android.view.inputmethod;
+
+parcelable InputContentInfo;
diff --git a/core/java/android/view/inputmethod/InputContentInfo.java b/core/java/android/view/inputmethod/InputContentInfo.java
new file mode 100644
index 0000000..b39705e
--- /dev/null
+++ b/core/java/android/view/inputmethod/InputContentInfo.java
@@ -0,0 +1,250 @@
+/*
+ * 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.
+ */
+
+package android.view.inputmethod;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.content.ClipDescription;
+import android.net.Uri;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.os.RemoteException;
+
+import com.android.internal.inputmethod.IInputContentUriToken;
+
+import java.security.InvalidParameterException;
+
+/**
+ * A container object with which input methods can send content files to the target application.
+ */
+public final class InputContentInfo implements Parcelable {
+
+    @NonNull
+    private final Uri mContentUri;
+    @NonNull
+    private final ClipDescription mDescription;
+    @Nullable
+    private final Uri mLinkUri;
+    @NonNull
+    private IInputContentUriToken mUriToken;
+
+    /**
+     * Constructs {@link InputContentInfo} object only with mandatory data.
+     *
+     * @param contentUri Content URI to be exported from the input method.
+     * This cannot be {@code null}.
+     * @param description A {@link ClipDescription} object that contains the metadata of
+     * {@code contentUri} such as MIME type(s). This object cannot be {@code null}. Also
+     * {@link ClipDescription#getLabel()} should be describing the content specified by
+     * {@code contentUri} for accessibility reasons.
+     */
+    public InputContentInfo(@NonNull Uri contentUri, @NonNull ClipDescription description) {
+        this(contentUri, description, null /* link Uri */);
+    }
+
+    /**
+     * Constructs {@link InputContentInfo} object with additional link URI.
+     *
+     * @param contentUri Content URI to be exported from the input method.
+     * This cannot be {@code null}.
+     * @param description A {@link ClipDescription} object that contains the metadata of
+     * {@code contentUri} such as MIME type(s). This object cannot be {@code null}. Also
+     * {@link ClipDescription#getLabel()} should be describing the content specified by
+     * {@code contentUri} for accessibility reasons.
+     * @param linkUri An optional {@code http} or {@code https} URI. The editor author may provide
+     * a way to navigate the user to the specified web page if this is not {@code null}.
+     * @throws InvalidParameterException if any invalid parameter is specified.
+     */
+    public InputContentInfo(@NonNull Uri contentUri, @NonNull ClipDescription description,
+            @Nullable Uri linkUri) {
+        validateInternal(contentUri, description, linkUri, true /* throwException */);
+        mContentUri = contentUri;
+        mDescription = description;
+        mLinkUri = linkUri;
+    }
+
+    /**
+     * @return {@code true} if all the fields are valid.
+     * @hide
+     */
+    public boolean validate() {
+        return validateInternal(mContentUri, mDescription, mLinkUri, false /* throwException */);
+    }
+
+    /**
+     * Constructs {@link InputContentInfo} object with additional link URI.
+     *
+     * @param contentUri Content URI to be exported from the input method.
+     * This cannot be {@code null}.
+     * @param description A {@link ClipDescription} object that contains the metadata of
+     * {@code contentUri} such as MIME type(s). This object cannot be {@code null}. Also
+     * {@link ClipDescription#getLabel()} should be describing the content specified by
+     * {@code contentUri} for accessibility reasons.
+     * @param linkUri An optional {@code http} or {@code https} URI. The editor author may provide
+     * a way to navigate the user to the specified web page if this is not {@code null}.
+     * @param throwException {@code true} if this method should throw an
+     * {@link InvalidParameterException}.
+     * @throws InvalidParameterException if any invalid parameter is specified.
+     */
+    private static boolean validateInternal(@NonNull Uri contentUri,
+            @NonNull ClipDescription description, @Nullable Uri linkUri, boolean throwException) {
+        if (contentUri == null) {
+            if (throwException) {
+                throw new NullPointerException("contentUri");
+            }
+            return false;
+        }
+        if (description == null) {
+            if (throwException) {
+                throw new NullPointerException("description");
+            }
+            return false;
+        }
+        final String contentUriScheme = contentUri.getScheme();
+        if (!"content".equals(contentUriScheme)) {
+            if (throwException) {
+                throw new InvalidParameterException("contentUri must have content scheme");
+            }
+            return false;
+        }
+        if (linkUri != null) {
+            final String scheme = linkUri.getScheme();
+            if (scheme == null ||
+                    (!scheme.equalsIgnoreCase("http") && !scheme.equalsIgnoreCase("https"))) {
+                if (throwException) {
+                    throw new InvalidParameterException(
+                            "linkUri must have either http or https scheme");
+                }
+                return false;
+            }
+        }
+        return true;
+    }
+
+    /**
+     * @return Content URI with which the content can be obtained.
+     */
+    @NonNull
+    public Uri getContentUri() { return mContentUri; }
+
+    /**
+     * @return {@link ClipDescription} object that contains the metadata of {@code #getContentUri()}
+     * such as MIME type(s). {@link ClipDescription#getLabel()} can be used for accessibility
+     * purpose.
+     */
+    @NonNull
+    public ClipDescription getDescription() { return mDescription; }
+
+    /**
+     * @return An optional {@code http} or {@code https} URI that is related to this content.
+     */
+    @Nullable
+    public Uri getLinkUri() { return mLinkUri; }
+
+    void setUriToken(IInputContentUriToken token) {
+        if (mUriToken != null) {
+            throw new IllegalStateException("URI token is already set");
+        }
+        mUriToken = token;
+    }
+
+    /**
+     * Requests a temporary read-only access permission for content URI associated with this object.
+     *
+     * <p>Does nothing if the temporary permission is already granted.</p>
+     */
+    public void requestPermission() {
+        if (mUriToken == null) {
+            return;
+        }
+        try {
+            mUriToken.take();
+        } catch (RemoteException e) {
+            e.rethrowFromSystemServer();
+        }
+    }
+
+    /**
+     * Releases a temporary read-only access permission for content URI associated with this object.
+     *
+     * <p>Does nothing if the temporary permission is not granted.</p>
+     */
+    public void releasePermission() {
+        if (mUriToken == null) {
+            return;
+        }
+        try {
+            mUriToken.release();
+        } catch (RemoteException e) {
+            e.rethrowFromSystemServer();
+        }
+    }
+
+    /**
+     * Used to package this object into a {@link Parcel}.
+     *
+     * @param dest The {@link Parcel} to be written.
+     * @param flags The flags used for parceling.
+     */
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        Uri.writeToParcel(dest, mContentUri);
+        mDescription.writeToParcel(dest, flags);
+        Uri.writeToParcel(dest, mLinkUri);
+        if (mUriToken != null) {
+            dest.writeInt(1);
+            dest.writeStrongBinder(mUriToken.asBinder());
+        } else {
+            dest.writeInt(0);
+        }
+    }
+
+    private InputContentInfo(@NonNull Parcel source) {
+        mContentUri = Uri.CREATOR.createFromParcel(source);
+        mDescription = ClipDescription.CREATOR.createFromParcel(source);
+        mLinkUri = Uri.CREATOR.createFromParcel(source);
+        if (source.readInt() == 1) {
+            mUriToken = IInputContentUriToken.Stub.asInterface(source.readStrongBinder());
+        } else {
+            mUriToken = null;
+        }
+    }
+
+    /**
+     * Used to make this class parcelable.
+     */
+    public static final Parcelable.Creator<InputContentInfo> CREATOR
+            = new Parcelable.Creator<InputContentInfo>() {
+        @Override
+        public InputContentInfo createFromParcel(Parcel source) {
+            return new InputContentInfo(source);
+        }
+
+        @Override
+        public InputContentInfo[] newArray(int size) {
+            return new InputContentInfo[size];
+        }
+    };
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+}
diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java
index 4013b30..c0c8e64 100644
--- a/core/java/android/view/inputmethod/InputMethodManager.java
+++ b/core/java/android/view/inputmethod/InputMethodManager.java
@@ -16,6 +16,7 @@
 
 package android.view.inputmethod;
 
+import com.android.internal.inputmethod.IInputContentUriToken;
 import com.android.internal.os.SomeArgs;
 import com.android.internal.view.IInputConnectionWrapper;
 import com.android.internal.view.IInputContext;
@@ -30,6 +31,7 @@
 import android.annotation.RequiresPermission;
 import android.content.Context;
 import android.graphics.Rect;
+import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.IBinder;
@@ -56,6 +58,7 @@
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
+import java.security.InvalidParameterException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -2288,6 +2291,40 @@
         }
     }
 
+    /**
+     * Allow the receiver of {@link InputContentInfo} to obtain a temporary read-only access
+     * permission to the content.
+     *
+     * <p>See {@link android.inputmethodservice.InputMethodService#exposeContent(InputContentInfo, EditorInfo)}
+     * for details.</p>
+     *
+     * @param token Supplies the identifying token given to an input method when it was started,
+     * which allows it to perform this operation on itself.
+     * @param inputContentInfo Content to be temporarily exposed from the input method to the
+     * application.
+     * This cannot be {@code null}.
+     * @param editorInfo The editor that receives {@link InputContentInfo}.
+     * @hide
+     */
+    public void exposeContent(@NonNull IBinder token, @NonNull InputContentInfo inputContentInfo,
+            @NonNull EditorInfo editorInfo) {
+        final IInputContentUriToken uriToken;
+        final Uri contentUri = inputContentInfo.getContentUri();
+        try {
+            uriToken = mService.createInputContentUriToken(token, contentUri,
+                    editorInfo.packageName);
+            if (uriToken == null) {
+                return;
+            }
+        } catch (RemoteException e) {
+            Log.e(TAG, "createInputContentAccessToken failed. contentUri=" + contentUri.toString()
+                    + " packageName=" + editorInfo.packageName, e);
+            return;
+        }
+        inputContentInfo.setUriToken(uriToken);
+        return;
+    }
+
     void doDump(FileDescriptor fd, PrintWriter fout, String[] args) {
         final Printer p = new PrintWriterPrinter(fout);
         p.println("Input method client state for " + this + ":");
diff --git a/core/java/android/webkit/WebViewDelegate.java b/core/java/android/webkit/WebViewDelegate.java
index 9e73af2..2cdff79 100644
--- a/core/java/android/webkit/WebViewDelegate.java
+++ b/core/java/android/webkit/WebViewDelegate.java
@@ -21,7 +21,9 @@
 import android.annotation.SystemApi;
 import android.app.ActivityThread;
 import android.app.Application;
+import android.app.ResourcesManager;
 import android.content.Context;
+import android.content.pm.ApplicationInfo;
 import android.content.res.Resources;
 import android.graphics.Canvas;
 import android.os.SystemProperties;
@@ -31,6 +33,8 @@
 import android.view.View;
 import android.view.ViewRootImpl;
 
+import com.android.internal.util.ArrayUtils;
+
 /**
  * Delegate used by the WebView provider implementation to access
  * the required framework functionality needed to implement a {@link WebView}.
@@ -177,7 +181,29 @@
      * Adds the WebView asset path to {@link android.content.res.AssetManager}.
      */
     public void addWebViewAssetPath(Context context) {
-        context.getAssets().addAssetPathAsSharedLibrary(
-                WebViewFactory.getLoadedPackageInfo().applicationInfo.sourceDir);
+        final String newAssetPath = WebViewFactory.getLoadedPackageInfo().applicationInfo.sourceDir;
+
+        final ApplicationInfo appInfo = context.getApplicationInfo();
+        final String[] libs = appInfo.sharedLibraryFiles;
+        if (!ArrayUtils.contains(libs, newAssetPath)) {
+            // Build the new library asset path list.
+            final int newLibAssetsCount = 1 + (libs != null ? libs.length : 0);
+            final String[] newLibAssets = new String[newLibAssetsCount];
+            if (libs != null) {
+                System.arraycopy(libs, 0, newLibAssets, 0, libs.length);
+            }
+            newLibAssets[newLibAssetsCount - 1] = newAssetPath;
+
+            // Update the ApplicationInfo object with the new list.
+            // We know this will persist and future Resources created via ResourcesManager
+            // will include the shared library because this ApplicationInfo comes from the
+            // underlying LoadedApk in ContextImpl, which does not change during the life of the
+            // application.
+            appInfo.sharedLibraryFiles = newLibAssets;
+
+            // Update existing Resources with the WebView library.
+            ResourcesManager.getInstance().appendLibAssetForMainAssetPath(
+                    appInfo.getBaseResourcePath(), newAssetPath);
+        }
     }
 }
diff --git a/core/java/android/webkit/WebViewFactory.java b/core/java/android/webkit/WebViewFactory.java
index 2d1e0bd..15eb8de 100644
--- a/core/java/android/webkit/WebViewFactory.java
+++ b/core/java/android/webkit/WebViewFactory.java
@@ -141,17 +141,38 @@
      */
     public static int loadWebViewNativeLibraryFromPackage(String packageName,
                                                           ClassLoader clazzLoader) {
-        int ret = waitForProviderAndSetPackageInfo();
-        if (ret != LIBLOAD_SUCCESS && ret != LIBLOAD_FAILED_WAITING_FOR_RELRO) {
-            return ret;
+        WebViewProviderResponse response = null;
+        try {
+            response = getUpdateService().waitForAndGetProvider();
+        } catch (RemoteException e) {
+            Log.e(LOGTAG, "error waiting for relro creation", e);
+            return LIBLOAD_FAILED_WAITING_FOR_WEBVIEW_REASON_UNKNOWN;
         }
-        if (!sPackageInfo.packageName.equals(packageName))
+
+
+        if (response.status != LIBLOAD_SUCCESS
+                && response.status != LIBLOAD_FAILED_WAITING_FOR_RELRO) {
+            return response.status;
+        }
+        if (!response.packageInfo.packageName.equals(packageName)) {
             return LIBLOAD_WRONG_PACKAGE_NAME;
+        }
+
+        PackageManager packageManager = AppGlobals.getInitialApplication().getPackageManager();
+        PackageInfo packageInfo;
+        try {
+            packageInfo = packageManager.getPackageInfo(packageName,
+                    PackageManager.GET_META_DATA | PackageManager.MATCH_DEBUG_TRIAGED_MISSING);
+        } catch (PackageManager.NameNotFoundException e) {
+            Log.e(LOGTAG, "Couldn't find package " + packageName);
+            return LIBLOAD_WRONG_PACKAGE_NAME;
+        }
+        sPackageInfo = packageInfo;
 
         int loadNativeRet = loadNativeLibrary(clazzLoader);
         // If we failed waiting for relro we want to return that fact even if we successfully load
         // the relro file.
-        if (loadNativeRet == LIBLOAD_SUCCESS) return ret;
+        if (loadNativeRet == LIBLOAD_SUCCESS) return response.status;
         return loadNativeRet;
     }
 
@@ -288,7 +309,7 @@
                 Context webViewContext = initialApplication.createApplicationContext(
                         newPackageInfo.applicationInfo,
                         Context.CONTEXT_INCLUDE_CODE | Context.CONTEXT_IGNORE_SECURITY);
-                sPackageInfo = response.packageInfo;
+                sPackageInfo = newPackageInfo;
                 return webViewContext;
             } finally {
                 Trace.traceEnd(Trace.TRACE_TAG_WEBVIEW);
@@ -599,22 +620,6 @@
         }
     }
 
-    private static int waitForProviderAndSetPackageInfo() {
-        WebViewProviderResponse response = null;
-        try {
-            response =
-                getUpdateService().waitForAndGetProvider();
-            if (response.status == LIBLOAD_SUCCESS
-                    || response.status == LIBLOAD_FAILED_WAITING_FOR_RELRO) {
-                sPackageInfo = response.packageInfo;
-            }
-        } catch (RemoteException e) {
-            Log.e(LOGTAG, "error waiting for relro creation", e);
-            return LIBLOAD_FAILED_WAITING_FOR_WEBVIEW_REASON_UNKNOWN;
-        }
-        return response.status;
-    }
-
     // Assumes that we have waited for relro creation and set sPackageInfo
     private static int loadNativeLibrary(ClassLoader clazzLoader) {
         if (!sAddressSpaceReserved) {
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java
index b331be7..7d7b880 100644
--- a/core/java/android/widget/AbsListView.java
+++ b/core/java/android/widget/AbsListView.java
@@ -75,6 +75,7 @@
 import android.view.inputmethod.ExtractedText;
 import android.view.inputmethod.ExtractedTextRequest;
 import android.view.inputmethod.InputConnection;
+import android.view.inputmethod.InputContentInfo;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.RemoteViews.OnClickHandler;
 
@@ -5982,6 +5983,11 @@
         public void closeConnection() {
             getTarget().closeConnection();
         }
+
+        @Override
+        public boolean commitContent(InputContentInfo inputContentInfo, int flags, Bundle opts) {
+            return getTarget().commitContent(inputContentInfo, flags, opts);
+        }
     }
 
     /**
diff --git a/core/java/android/widget/LinearLayout.java b/core/java/android/widget/LinearLayout.java
index f75b74b..38d7cd4 100644
--- a/core/java/android/widget/LinearLayout.java
+++ b/core/java/android/widget/LinearLayout.java
@@ -890,7 +890,9 @@
                     remainingWeightSum -= childWeight;
 
                     final int childHeight;
-                    if (lp.height == 0 && (!mAllowInconsistentMeasurement
+                    if (mUseLargestChild && heightMode != MeasureSpec.EXACTLY) {
+                        childHeight = largestChildHeight;
+                    } else if (lp.height == 0 && (!mAllowInconsistentMeasurement
                             || heightMode == MeasureSpec.EXACTLY)) {
                         // This child needs to be laid out from scratch using
                         // only its share of excess space.
@@ -1272,7 +1274,9 @@
                     remainingWeightSum -= childWeight;
 
                     final int childWidth;
-                    if (lp.width == 0 && (!mAllowInconsistentMeasurement
+                    if (mUseLargestChild && widthMode != MeasureSpec.EXACTLY) {
+                        childWidth = largestChildWidth;
+                    } else if (lp.width == 0 && (!mAllowInconsistentMeasurement
                             || widthMode == MeasureSpec.EXACTLY)) {
                         // This child needs to be laid out from scratch using
                         // only its share of excess space.
diff --git a/core/java/android/widget/PopupWindow.java b/core/java/android/widget/PopupWindow.java
index f013454..6432f70 100644
--- a/core/java/android/widget/PopupWindow.java
+++ b/core/java/android/widget/PopupWindow.java
@@ -1001,9 +1001,13 @@
     }
 
     /**
-     * Returns the popup's height MeasureSpec.
+     * Returns the popup's requested height. May be a layout constant such as
+     * {@link LayoutParams#WRAP_CONTENT} or {@link LayoutParams#MATCH_PARENT}.
+     * <p>
+     * The actual size of the popup may depend on other factors such as
+     * clipping and window layout.
      *
-     * @return the height MeasureSpec of the popup
+     * @return the popup height in pixels or a layout constant
      * @see #setHeight(int)
      */
     public int getHeight() {
@@ -1011,12 +1015,16 @@
     }
 
     /**
-     * Sets the popup's height MeasureSpec.
+     * Sets the popup's requested height. May be a layout constant such as
+     * {@link LayoutParams#WRAP_CONTENT} or {@link LayoutParams#MATCH_PARENT}.
+     * <p>
+     * The actual size of the popup may depend on other factors such as
+     * clipping and window layout.
      * <p>
      * If the popup is showing, calling this method will take effect the next
      * time the popup is shown.
      *
-     * @param height the height MeasureSpec of the popup
+     * @param height the popup height in pixels or a layout constant
      * @see #getHeight()
      * @see #isShowing()
      */
@@ -1025,9 +1033,13 @@
     }
 
     /**
-     * Returns the popup's width MeasureSpec.
+     * Returns the popup's requested width. May be a layout constant such as
+     * {@link LayoutParams#WRAP_CONTENT} or {@link LayoutParams#MATCH_PARENT}.
+     * <p>
+     * The actual size of the popup may depend on other factors such as
+     * clipping and window layout.
      *
-     * @return the width MeasureSpec of the popup
+     * @return the popup width in pixels or a layout constant
      * @see #setWidth(int)
      */
     public int getWidth() {
@@ -1035,12 +1047,16 @@
     }
 
     /**
-     * Sets the popup's width MeasureSpec.
+     * Sets the popup's requested width. May be a layout constant such as
+     * {@link LayoutParams#WRAP_CONTENT} or {@link LayoutParams#MATCH_PARENT}.
+     * <p>
+     * The actual size of the popup may depend on other factors such as
+     * clipping and window layout.
      * <p>
      * If the popup is showing, calling this method will take effect the next
      * time the popup is shown.
      *
-     * @param width the width MeasureSpec of the popup
+     * @param width the popup width in pixels or a layout constant
      * @see #getWidth()
      * @see #isShowing()
      */
@@ -1377,6 +1393,14 @@
         }
     }
 
+    private int computeGravity() {
+        int gravity = Gravity.START | Gravity.TOP;
+        if (mClipToScreen || mClippingEnabled) {
+            gravity |= Gravity.DISPLAY_CLIP_VERTICAL;
+        }
+        return gravity;
+    }
+
     /**
      * <p>Generate the layout parameters for the popup window.</p>
      *
@@ -1391,7 +1415,7 @@
         // screen. The view is then positioned to the appropriate location by
         // setting the x and y offsets to match the anchor's bottom-left
         // corner.
-        p.gravity = Gravity.START | Gravity.TOP;
+        p.gravity = computeGravity();
         p.flags = computeFlags(p.flags);
         p.type = mWindowLayoutType;
         p.token = token;
@@ -1451,7 +1475,7 @@
         if (mOutsideTouchable) {
             curFlags |= WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;
         }
-        if (!mClippingEnabled) {
+        if (!mClippingEnabled || mClipToScreen) {
             curFlags |= WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS;
         }
         if (isSplitTouchEnabled()) {
@@ -1513,27 +1537,20 @@
         outParams.x = drawingLocation[0] + xOffset;
         outParams.y = drawingLocation[1] + anchorHeight + yOffset;
 
-        // Let the window manager know to align the top to y.
-        outParams.gravity = Gravity.LEFT | Gravity.TOP;
-        outParams.width = width;
-        outParams.height = height;
-
-        // If width or height is unspecified. We can leave it to the window manager to match
-        // to the parent size, but for our local purposes of calculating positioning, we need
-        // to fill in real width and height values.
         final Rect displayFrame = new Rect();
         anchor.getWindowVisibleDisplayFrame(displayFrame);
         if (width == MATCH_PARENT) {
             width = displayFrame.right - displayFrame.left;
-        } else if (width == WRAP_CONTENT) {
-            width = mContentView.getMeasuredWidth();
         }
         if (height == MATCH_PARENT) {
             height = displayFrame.bottom - displayFrame.top;
-        } else if (height == WRAP_CONTENT) {
-            height = mContentView.getMeasuredHeight();
         }
 
+        // Let the window manager know to align the top to y.
+        outParams.gravity = Gravity.LEFT | Gravity.TOP;
+        outParams.width = width;
+        outParams.height = height;
+
         // If we need to adjust for gravity RIGHT, align to the bottom-right
         // corner of the anchor (still accounting for offsets).
         final int hgrav = Gravity.getAbsoluteGravity(gravity, anchor.getLayoutDirection())
@@ -1949,6 +1966,12 @@
             update = true;
         }
 
+        final int newGravity = computeGravity();
+        if (newGravity != p.gravity) {
+            p.gravity = newGravity;
+            update = true;
+        }
+
         if (update) {
             setLayoutDirectionFromAnchor();
             mWindowManager.updateViewLayout(mDecorView, p);
@@ -1961,8 +1984,8 @@
      * Calling this function also updates the window with the current popup
      * state as described for {@link #update()}.
      *
-     * @param width the new width, must be >= 0 or -1 to ignore
-     * @param height the new height, must be >= 0 or -1 to ignore
+     * @param width the new width in pixels, must be >= 0 or -1 to ignore
+     * @param height the new height in pixels, must be >= 0 or -1 to ignore
      */
     public void update(int width, int height) {
         final WindowManager.LayoutParams p =
@@ -1979,8 +2002,8 @@
      *
      * @param x the new x location
      * @param y the new y location
-     * @param width the new width, must be >= 0 or -1 to ignore
-     * @param height the new height, must be >= 0 or -1 to ignore
+     * @param width the new width in pixels, must be >= 0 or -1 to ignore
+     * @param height the new height in pixels, must be >= 0 or -1 to ignore
      */
     public void update(int x, int y, int width, int height) {
         update(x, y, width, height, false);
@@ -1995,8 +2018,8 @@
      *
      * @param x the new x location
      * @param y the new y location
-     * @param width the new width, must be >= 0 or -1 to ignore
-     * @param height the new height, must be >= 0 or -1 to ignore
+     * @param width the new width in pixels, must be >= 0 or -1 to ignore
+     * @param height the new height in pixels, must be >= 0 or -1 to ignore
      * @param force {@code true} to reposition the window even if the specified
      *              position already seems to correspond to the LayoutParams,
      *              {@code false} to only reposition if needed
@@ -2055,6 +2078,12 @@
             update = true;
         }
 
+        final int newGravity = computeGravity();
+        if (newGravity != p.gravity) {
+            p.gravity = newGravity;
+            update = true;
+        }
+
         int newAccessibilityIdOfAnchor =
                 (mAnchor != null) ? mAnchor.get().getAccessibilityViewId() : -1;
         if (newAccessibilityIdOfAnchor != p.accessibilityIdOfAnchor) {
@@ -2075,8 +2104,8 @@
      * state as described for {@link #update()}.
      *
      * @param anchor the popup's anchor view
-     * @param width the new width, must be >= 0 or -1 to ignore
-     * @param height the new height, must be >= 0 or -1 to ignore
+     * @param width the new width in pixels, must be >= 0 or -1 to ignore
+     * @param height the new height in pixels, must be >= 0 or -1 to ignore
      */
     public void update(View anchor, int width, int height) {
         update(anchor, false, 0, 0, width, height);
@@ -2095,8 +2124,8 @@
      * @param anchor the popup's anchor view
      * @param xoff x offset from the view's left edge
      * @param yoff y offset from the view's bottom edge
-     * @param width the new width, must be >= 0 or -1 to ignore
-     * @param height the new height, must be >= 0 or -1 to ignore
+     * @param width the new width in pixels, must be >= 0 or -1 to ignore
+     * @param height the new height in pixels, must be >= 0 or -1 to ignore
      */
     public void update(View anchor, int xoff, int yoff, int width, int height) {
         update(anchor, true, xoff, yoff, width, height);
@@ -2143,7 +2172,10 @@
 
         final boolean paramsChanged = oldGravity != p.gravity || oldX != p.x || oldY != p.y
                 || oldWidth != p.width || oldHeight != p.height;
-        update(p.x, p.y, p.width, p.height, paramsChanged);
+        // If width and mWidth were both < 0 then we have a MATCH_PARENT/WRAP_CONTENT case.
+        // findDropDownPosition will have resolved this to absolute values,
+        // but we don't want to update mWidth/mHeight to these absolute values.
+        update(p.x, p.y, width < 0 ? width : p.width, height < 0 ? height : p.height, paramsChanged);
     }
 
     /**
diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java
index 4a0f350..c33288b 100644
--- a/core/java/android/widget/RemoteViews.java
+++ b/core/java/android/widget/RemoteViews.java
@@ -17,6 +17,7 @@
 package android.widget;
 
 import android.annotation.ColorInt;
+import android.annotation.DimenRes;
 import android.app.ActivityManager.StackId;
 import android.app.ActivityOptions;
 import android.app.ActivityThread;
@@ -1850,13 +1851,13 @@
     /**
      * Helper action to set layout params on a View.
      */
-    private class LayoutParamAction extends Action {
+    private static class LayoutParamAction extends Action {
 
         /** Set marginEnd */
-        public static final int LAYOUT_MARGIN_END = 1;
+        public static final int LAYOUT_MARGIN_END_DIMEN = 1;
         /** Set width */
         public static final int LAYOUT_WIDTH = 2;
-        public static final int LAYOUT_MARGIN_BOTTOM = 3;
+        public static final int LAYOUT_MARGIN_BOTTOM_DIMEN = 3;
 
         /**
          * @param viewId ID of the view alter
@@ -1893,15 +1894,17 @@
                 return;
             }
             switch (property) {
-                case LAYOUT_MARGIN_END:
+                case LAYOUT_MARGIN_END_DIMEN:
                     if (layoutParams instanceof ViewGroup.MarginLayoutParams) {
-                        ((ViewGroup.MarginLayoutParams) layoutParams).setMarginEnd(value);
+                        int resolved = resolveDimenPixelOffset(target, value);
+                        ((ViewGroup.MarginLayoutParams) layoutParams).setMarginEnd(resolved);
                         target.setLayoutParams(layoutParams);
                     }
                     break;
-                case LAYOUT_MARGIN_BOTTOM:
+                case LAYOUT_MARGIN_BOTTOM_DIMEN:
                     if (layoutParams instanceof ViewGroup.MarginLayoutParams) {
-                        ((ViewGroup.MarginLayoutParams) layoutParams).bottomMargin = value;
+                        int resolved = resolveDimenPixelOffset(target, value);
+                        ((ViewGroup.MarginLayoutParams) layoutParams).bottomMargin = resolved;
                         target.setLayoutParams(layoutParams);
                     }
                     break;
@@ -1914,6 +1917,13 @@
             }
         }
 
+        private static int resolveDimenPixelOffset(View target, int value) {
+            if (value == 0) {
+                return 0;
+            }
+            return target.getContext().getResources().getDimensionPixelOffset(value);
+        }
+
         public String getActionName() {
             return "LayoutParamAction" + property + ".";
         }
@@ -2870,27 +2880,36 @@
      * Hidden for now since we don't want to support this for all different layout margins yet.
      *
      * @param viewId The id of the view to change
-     * @param endMargin the left padding in pixels
+     * @param endMarginDimen a dimen resource to read the margin from or 0 to clear the margin.
      */
-    public void setViewLayoutMarginEnd(int viewId, int endMargin) {
-        addAction(new LayoutParamAction(viewId, LayoutParamAction.LAYOUT_MARGIN_END, endMargin));
+    public void setViewLayoutMarginEndDimen(int viewId, @DimenRes int endMarginDimen) {
+        addAction(new LayoutParamAction(viewId, LayoutParamAction.LAYOUT_MARGIN_END_DIMEN,
+                endMarginDimen));
     }
 
     /**
      * Equivalent to setting {@link android.view.ViewGroup.MarginLayoutParams#bottomMargin}.
      *
+     * @param bottomMarginDimen a dimen resource to read the margin from or 0 to clear the margin.
      * @hide
      */
-    public void setViewLayoutMarginBottom(int viewId, int bottomMargin) {
-        addAction(new LayoutParamAction(viewId, LayoutParamAction.LAYOUT_MARGIN_BOTTOM,
-                bottomMargin));
+    public void setViewLayoutMarginBottomDimen(int viewId, @DimenRes int bottomMarginDimen) {
+        addAction(new LayoutParamAction(viewId, LayoutParamAction.LAYOUT_MARGIN_BOTTOM_DIMEN,
+                bottomMarginDimen));
     }
 
     /**
      * Equivalent to setting {@link android.view.ViewGroup.LayoutParams#width}.
+     *
+     * @param layoutWidth one of 0, MATCH_PARENT or WRAP_CONTENT. Other sizes are not allowed
+     *                    because they behave poorly when the density changes.
      * @hide
      */
     public void setViewLayoutWidth(int viewId, int layoutWidth) {
+        if (layoutWidth != 0 && layoutWidth != ViewGroup.LayoutParams.MATCH_PARENT
+                && layoutWidth != ViewGroup.LayoutParams.WRAP_CONTENT) {
+            throw new IllegalArgumentException("Only supports 0, WRAP_CONTENT and MATCH_PARENT");
+        }
         mActions.add(new LayoutParamAction(viewId, LayoutParamAction.LAYOUT_WIDTH, layoutWidth));
     }
 
diff --git a/core/java/android/widget/Toolbar.java b/core/java/android/widget/Toolbar.java
index 9cdb73a..0988c92 100644
--- a/core/java/android/widget/Toolbar.java
+++ b/core/java/android/widget/Toolbar.java
@@ -161,7 +161,7 @@
     private int mTitleMarginTop;
     private int mTitleMarginBottom;
 
-    private final RtlSpacingHelper mContentInsets = new RtlSpacingHelper();
+    private RtlSpacingHelper mContentInsets;
     private int mContentInsetStartWithNavigation;
     private int mContentInsetEndWithActions;
 
@@ -270,6 +270,7 @@
         final int contentInsetRight =
                 a.getDimensionPixelSize(R.styleable.Toolbar_contentInsetRight, 0);
 
+        ensureContentInsets();
         mContentInsets.setAbsolute(contentInsetLeft, contentInsetRight);
 
         if (contentInsetStart != RtlSpacingHelper.UNDEFINED ||
@@ -463,13 +464,13 @@
      */
     public void setTitleMarginBottom(int margin) {
         mTitleMarginBottom = margin;
-
         requestLayout();
     }
 
     @Override
     public void onRtlPropertiesChanged(@ResolvedLayoutDir int layoutDirection) {
         super.onRtlPropertiesChanged(layoutDirection);
+        ensureContentInsets();
         mContentInsets.setDirection(layoutDirection == LAYOUT_DIRECTION_RTL);
     }
 
@@ -1092,6 +1093,7 @@
      * @attr ref android.R.styleable#Toolbar_contentInsetStart
      */
     public void setContentInsetsRelative(int contentInsetStart, int contentInsetEnd) {
+        ensureContentInsets();
         mContentInsets.setRelative(contentInsetStart, contentInsetEnd);
     }
 
@@ -1112,7 +1114,7 @@
      * @attr ref android.R.styleable#Toolbar_contentInsetStart
      */
     public int getContentInsetStart() {
-        return mContentInsets.getStart();
+        return mContentInsets != null ? mContentInsets.getStart() : 0;
     }
 
     /**
@@ -1132,7 +1134,7 @@
      * @attr ref android.R.styleable#Toolbar_contentInsetEnd
      */
     public int getContentInsetEnd() {
-        return mContentInsets.getEnd();
+        return mContentInsets != null ? mContentInsets.getEnd() : 0;
     }
 
     /**
@@ -1154,6 +1156,7 @@
      * @attr ref android.R.styleable#Toolbar_contentInsetRight
      */
     public void setContentInsetsAbsolute(int contentInsetLeft, int contentInsetRight) {
+        ensureContentInsets();
         mContentInsets.setAbsolute(contentInsetLeft, contentInsetRight);
     }
 
@@ -1174,7 +1177,7 @@
      * @attr ref android.R.styleable#Toolbar_contentInsetLeft
      */
     public int getContentInsetLeft() {
-        return mContentInsets.getLeft();
+        return mContentInsets != null ? mContentInsets.getLeft() : 0;
     }
 
     /**
@@ -1194,7 +1197,7 @@
      * @attr ref android.R.styleable#Toolbar_contentInsetRight
      */
     public int getContentInsetRight() {
-        return mContentInsets.getRight();
+        return mContentInsets != null ? mContentInsets.getRight() : 0;
     }
 
     /**
@@ -2128,6 +2131,12 @@
         }
     }
 
+    private void ensureContentInsets() {
+        if (mContentInsets == null) {
+            mContentInsets = new RtlSpacingHelper();
+        }
+    }
+
     /**
      * Accessor to enable LayoutLib to get ActionMenuPresenter directly.
      */
diff --git a/core/java/com/android/internal/app/AlertController.java b/core/java/com/android/internal/app/AlertController.java
index c5ed29f..2a40aeb 100644
--- a/core/java/com/android/internal/app/AlertController.java
+++ b/core/java/com/android/internal/app/AlertController.java
@@ -24,6 +24,7 @@
 import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
+import android.content.res.Configuration;
 import android.content.res.TypedArray;
 import android.database.Cursor;
 import android.graphics.drawable.Drawable;
@@ -177,6 +178,11 @@
         return outValue.data != 0;
     }
 
+    private static boolean isWatch(Context context) {
+        return (context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_TYPE_WATCH)
+                == Configuration.UI_MODE_TYPE_WATCH;
+    }
+
     public static final AlertController create(Context context, DialogInterface di, Window window) {
         final TypedArray a = context.obtainStyledAttributes(
                 null, R.styleable.AlertDialog, R.attr.alertDialogStyle, 0);
@@ -886,8 +892,14 @@
             listView.setAdapter(mAdapter);
             final int checkedItem = mCheckedItem;
             if (checkedItem > -1) {
-                listView.setItemChecked(checkedItem + listView.getHeaderViewsCount(), true);
-                listView.setSelection(checkedItem + listView.getHeaderViewsCount());
+                // TODO: Remove temp watch specific code
+                if (isWatch(mContext)) {
+                    listView.setItemChecked(checkedItem + listView.getHeaderViewsCount(), true);
+                    listView.setSelection(checkedItem + listView.getHeaderViewsCount());
+                } else {
+                    listView.setItemChecked(checkedItem, true);
+                    listView.setSelection(checkedItem);
+                }
             }
         }
     }
@@ -1066,8 +1078,13 @@
                             if (mCheckedItems != null) {
                                 boolean isItemChecked = mCheckedItems[position];
                                 if (isItemChecked) {
-                                    listView.setItemChecked(
-                                            position + listView.getHeaderViewsCount(), true);
+                                    // TODO: Remove temp watch specific code
+                                    if (isWatch(mContext)) {
+                                        listView.setItemChecked(
+                                                position + listView.getHeaderViewsCount(), true);
+                                    } else {
+                                        listView.setItemChecked(position, true);
+                                    }
                                 }
                             }
                             return view;
@@ -1088,9 +1105,16 @@
                         public void bindView(View view, Context context, Cursor cursor) {
                             CheckedTextView text = (CheckedTextView) view.findViewById(R.id.text1);
                             text.setText(cursor.getString(mLabelIndex));
-                            listView.setItemChecked(
-                                    cursor.getPosition() + listView.getHeaderViewsCount(),
-                                    cursor.getInt(mIsCheckedIndex) == 1);
+                            // TODO: Remove temp watch specific code
+                            if (isWatch(mContext)) {
+                                listView.setItemChecked(
+                                        cursor.getPosition() + listView.getHeaderViewsCount(),
+                                        cursor.getInt(mIsCheckedIndex) == 1);
+                            } else {
+                                listView.setItemChecked(
+                                        cursor.getPosition(),
+                                        cursor.getInt(mIsCheckedIndex) == 1);
+                            }
                         }
 
                         @Override
@@ -1133,7 +1157,10 @@
                 listView.setOnItemClickListener(new OnItemClickListener() {
                     @Override
                     public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
-                        position -= listView.getHeaderViewsCount();
+                        // TODO: Remove temp watch specific code
+                        if (isWatch(mContext)) {
+                            position -= listView.getHeaderViewsCount();
+                        }
                         mOnClickListener.onClick(dialog.mDialogInterface, position);
                         if (!mIsSingleChoice) {
                             dialog.mDialogInterface.dismiss();
@@ -1144,7 +1171,10 @@
                 listView.setOnItemClickListener(new OnItemClickListener() {
                     @Override
                     public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
-                        position -= listView.getHeaderViewsCount();
+                        // TODO: Remove temp watch specific code
+                        if (isWatch(mContext)) {
+                            position -= listView.getHeaderViewsCount();
+                        }
                         if (mCheckedItems != null) {
                             mCheckedItems[position] = listView.isItemChecked(position);
                         }
diff --git a/core/java/com/android/internal/app/EphemeralResolverService.java b/core/java/com/android/internal/app/EphemeralResolverService.java
index 6ba04a9..68724a7 100644
--- a/core/java/com/android/internal/app/EphemeralResolverService.java
+++ b/core/java/com/android/internal/app/EphemeralResolverService.java
@@ -39,14 +39,19 @@
 public abstract class EphemeralResolverService extends Service {
     public static final String EXTRA_RESOLVE_INFO = "com.android.internal.app.RESOLVE_INFO";
     public static final String EXTRA_SEQUENCE = "com.android.internal.app.SEQUENCE";
+    private static final String EXTRA_PREFIX = "com.android.internal.app.PREFIX";
     private Handler mHandler;
 
     /**
      * Called to retrieve resolve info for ephemeral applications.
      *
      * @param digestPrefix The hash prefix of the ephemeral's domain.
+     * @param prefixMask A mask that was applied to each digest prefix. This should
+     *      be used when comparing against the digest prefixes as all bits might
+     *      not be set.
      */
-    protected abstract List<EphemeralResolveInfo> getEphemeralResolveInfoList(int digestPrefix);
+    protected abstract List<EphemeralResolveInfo> getEphemeralResolveInfoList(
+            int digestPrefix[], int prefixMask);
 
     @Override
     protected final void attachBaseContext(Context base) {
@@ -59,10 +64,13 @@
         return new IEphemeralResolver.Stub() {
             @Override
             public void getEphemeralResolveInfoList(
-                    IRemoteCallback callback, int digestPrefix, int sequence) {
-                mHandler.obtainMessage(ServiceHandler.MSG_GET_EPHEMERAL_RESOLVE_INFO,
-                        digestPrefix, sequence, callback)
-                    .sendToTarget();
+                    IRemoteCallback callback, int digestPrefix[], int prefixMask, int sequence) {
+                final Message msg = mHandler.obtainMessage(
+                        ServiceHandler.MSG_GET_EPHEMERAL_RESOLVE_INFO, prefixMask, sequence, callback);
+                final Bundle data = new Bundle();
+                data.putIntArray(EXTRA_PREFIX, digestPrefix);
+                msg.setData(data);
+                msg.sendToTarget();
             }
         };
     }
@@ -81,8 +89,9 @@
             switch (action) {
                 case MSG_GET_EPHEMERAL_RESOLVE_INFO: {
                     final IRemoteCallback callback = (IRemoteCallback) message.obj;
+                    final int[] digestPrefix = message.getData().getIntArray(EXTRA_PREFIX);
                     final List<EphemeralResolveInfo> resolveInfo =
-                            getEphemeralResolveInfoList(message.arg1);
+                            getEphemeralResolveInfoList(digestPrefix, message.arg1);
                     final Bundle data = new Bundle();
                     data.putInt(EXTRA_SEQUENCE, message.arg2);
                     data.putParcelableList(EXTRA_RESOLVE_INFO, resolveInfo);
diff --git a/core/java/com/android/internal/app/IEphemeralResolver.aidl b/core/java/com/android/internal/app/IEphemeralResolver.aidl
index 40429ee..9ff1322 100644
--- a/core/java/com/android/internal/app/IEphemeralResolver.aidl
+++ b/core/java/com/android/internal/app/IEphemeralResolver.aidl
@@ -20,5 +20,6 @@
 import android.os.IRemoteCallback;
 
 oneway interface IEphemeralResolver {
-    void getEphemeralResolveInfoList(IRemoteCallback callback, int digestPrefix, int sequence);
+    void getEphemeralResolveInfoList(IRemoteCallback callback, in int[] digestPrefix,
+            int prefixMask, int sequence);
 }
diff --git a/core/java/com/android/internal/app/LocalePickerWithRegion.java b/core/java/com/android/internal/app/LocalePickerWithRegion.java
index 04929a7..d0719ee 100644
--- a/core/java/com/android/internal/app/LocalePickerWithRegion.java
+++ b/core/java/com/android/internal/app/LocalePickerWithRegion.java
@@ -45,6 +45,7 @@
  * default locale.</p>
  */
 public class LocalePickerWithRegion extends ListFragment implements SearchView.OnQueryTextListener {
+    private static final String PARENT_FRAGMENT_NAME = "localeListEditor";
 
     private SuggestedLocaleAdapter mAdapter;
     private LocaleSelectedListener mListener;
@@ -130,11 +131,24 @@
         return true;
     }
 
+    private void returnToParentFrame() {
+        getFragmentManager().popBackStack(PARENT_FRAGMENT_NAME,
+                FragmentManager.POP_BACK_STACK_INCLUSIVE);
+    }
+
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setHasOptionsMenu(true);
 
+        if (mLocaleList == null) {
+            // The fragment was killed and restored by the FragmentManager.
+            // At this point we have no data, no listener. Just return, to prevend a NPE.
+            // Fixes b/28748150. Created b/29400003 for a cleaner solution.
+            returnToParentFrame();
+            return;
+        }
+
         final boolean countryMode = mParentLocale != null;
         final Locale sortingLocale = countryMode ? mParentLocale.getLocale() : Locale.getDefault();
         mAdapter = new SuggestedLocaleAdapter(mLocaleList, countryMode);
@@ -197,8 +211,7 @@
             if (mListener != null) {
                 mListener.onLocaleSelected(locale);
             }
-            getFragmentManager().popBackStack("localeListEditor",
-                    FragmentManager.POP_BACK_STACK_INCLUSIVE);
+            returnToParentFrame();
         } else {
             LocalePickerWithRegion selector = LocalePickerWithRegion.createCountryPicker(
                     getContext(), mListener, locale, mTranslatedOnly /* translate only */);
@@ -208,8 +221,7 @@
                         .replace(getId(), selector).addToBackStack(null)
                         .commit();
             } else {
-                getFragmentManager().popBackStack("localeListEditor",
-                        FragmentManager.POP_BACK_STACK_INCLUSIVE);
+                returnToParentFrame();
             }
         }
     }
diff --git a/core/java/com/android/internal/app/LocaleStore.java b/core/java/com/android/internal/app/LocaleStore.java
index e3fce51..e782c3c 100644
--- a/core/java/com/android/internal/app/LocaleStore.java
+++ b/core/java/com/android/internal/app/LocaleStore.java
@@ -307,6 +307,9 @@
             localizedLocales.add(li.getLangScriptKey());
         }
 
+        // Serbian in Latin script is only partially localized in N.
+        localizedLocales.remove("sr-Latn");
+
         for (LocaleInfo li : sLocaleCache.values()) {
             li.setTranslated(localizedLocales.contains(li.getLangScriptKey()));
         }
diff --git a/core/java/com/android/internal/app/PlatLogoActivity.java b/core/java/com/android/internal/app/PlatLogoActivity.java
index ef2fd0d..36ab394 100644
--- a/core/java/com/android/internal/app/PlatLogoActivity.java
+++ b/core/java/com/android/internal/app/PlatLogoActivity.java
@@ -53,7 +53,8 @@
 import android.widget.ImageView;
 
 public class PlatLogoActivity extends Activity {
-    public static final boolean REVEAL_THE_NAME = true;
+    public static final boolean REVEAL_THE_NAME = false;
+    public static final boolean FINISH = false;
 
     FrameLayout mLayout;
     int mTapCount;
@@ -112,7 +113,6 @@
                             ObjectAnimator.ofInt(overlay, "alpha", 0, 255)
                                 .setDuration(500)
                                 .start();
-                            return true;
                         }
 
                         final ContentResolver cr = getContentResolver();
@@ -139,7 +139,7 @@
                                 } catch (ActivityNotFoundException ex) {
                                     Log.e("PlatLogoActivity", "No more eggs.");
                                 }
-                                finish();
+                                if (FINISH) finish();
                             }
                         });
                         return true;
diff --git a/core/java/com/android/internal/app/UnlaunchableAppActivity.java b/core/java/com/android/internal/app/UnlaunchableAppActivity.java
index d24cefe..0a539f1 100644
--- a/core/java/com/android/internal/app/UnlaunchableAppActivity.java
+++ b/core/java/com/android/internal/app/UnlaunchableAppActivity.java
@@ -37,6 +37,7 @@
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
+import android.view.Window;
 import android.widget.TextView;
 
 import com.android.internal.R;
@@ -59,6 +60,9 @@
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        // As this activity has nothing to show, we should hide the title bar also
+        // TODO: Use AlertActivity so we don't need to hide title bar and create a dialog
+        requestWindowFeature(Window.FEATURE_NO_TITLE);
         Intent intent = getIntent();
         mReason = intent.getIntExtra(EXTRA_UNLAUNCHABLE_REASON, -1);
         mUserId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL);
diff --git a/core/java/com/android/internal/inputmethod/IInputContentUriToken.aidl b/core/java/com/android/internal/inputmethod/IInputContentUriToken.aidl
new file mode 100644
index 0000000..8abc807
--- /dev/null
+++ b/core/java/com/android/internal/inputmethod/IInputContentUriToken.aidl
@@ -0,0 +1,27 @@
+/*
+** Copyright 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.
+*/
+
+package com.android.internal.inputmethod;
+
+import android.os.IBinder;
+
+/**
+ * {@hide}
+ */
+interface IInputContentUriToken {
+    void take();
+    void release();
+}
diff --git a/core/java/com/android/internal/inputmethod/InputMethodUtils.java b/core/java/com/android/internal/inputmethod/InputMethodUtils.java
index a028449..716997f 100644
--- a/core/java/com/android/internal/inputmethod/InputMethodUtils.java
+++ b/core/java/com/android/internal/inputmethod/InputMethodUtils.java
@@ -41,6 +41,7 @@
 import android.view.textservice.SpellCheckerInfo;
 import android.view.textservice.TextServicesManager;
 
+import com.android.internal.annotations.GuardedBy;
 import com.android.internal.annotations.VisibleForTesting;
 
 import java.util.ArrayList;
@@ -83,6 +84,17 @@
         Locale.UK, // "en_GB"
     };
 
+    // A temporary workaround for the performance concerns in
+    // #getImplicitlyApplicableSubtypesLocked(Resources, InputMethodInfo).
+    // TODO: Optimize all the critical paths including this one.
+    private static final Object sCacheLock = new Object();
+    @GuardedBy("sCacheLock")
+    private static LocaleList sCachedSystemLocales;
+    @GuardedBy("sCacheLock")
+    private static InputMethodInfo sCachedInputMethodInfo;
+    @GuardedBy("sCacheLock")
+    private static ArrayList<InputMethodSubtype> sCachedResult;
+
     private InputMethodUtils() {
         // This utility class is not publicly instantiable.
     }
@@ -498,6 +510,32 @@
     @VisibleForTesting
     public static ArrayList<InputMethodSubtype> getImplicitlyApplicableSubtypesLocked(
             Resources res, InputMethodInfo imi) {
+        final LocaleList systemLocales = res.getConfiguration().getLocales();
+
+        synchronized (sCacheLock) {
+            // We intentionally do not use InputMethodInfo#equals(InputMethodInfo) here because
+            // it does not check if subtypes are also identical.
+            if (systemLocales.equals(sCachedSystemLocales) && sCachedInputMethodInfo == imi) {
+                return new ArrayList<>(sCachedResult);
+            }
+        }
+
+        // Note: Only resource info in "res" is used in getImplicitlyApplicableSubtypesLockedImpl().
+        // TODO: Refactor getImplicitlyApplicableSubtypesLockedImpl() so that it can receive
+        // LocaleList rather than Resource.
+        final ArrayList<InputMethodSubtype> result =
+                getImplicitlyApplicableSubtypesLockedImpl(res, imi);
+        synchronized (sCacheLock) {
+            // Both LocaleList and InputMethodInfo are immutable. No need to copy them here.
+            sCachedSystemLocales = systemLocales;
+            sCachedInputMethodInfo = imi;
+            sCachedResult = new ArrayList<>(result);
+        }
+        return result;
+    }
+
+    private static ArrayList<InputMethodSubtype> getImplicitlyApplicableSubtypesLockedImpl(
+            Resources res, InputMethodInfo imi) {
         final List<InputMethodSubtype> subtypes = InputMethodUtils.getSubtypes(imi);
         final LocaleList systemLocales = res.getConfiguration().getLocales();
         final String systemLocale = systemLocales.get(0).toString();
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java
index 8b02352..a1df8c1 100644
--- a/core/java/com/android/internal/os/BatteryStatsImpl.java
+++ b/core/java/com/android/internal/os/BatteryStatsImpl.java
@@ -108,7 +108,7 @@
     private static final int MAGIC = 0xBA757475; // 'BATSTATS'
 
     // Current on-disk Parcel version
-    private static final int VERSION = 144 + (USE_OLD_HISTORY ? 1000 : 0);
+    private static final int VERSION = 147 + (USE_OLD_HISTORY ? 1000 : 0);
 
     // Maximum number of items we will record in the history.
     private static final int MAX_HISTORY_ITEMS = 2000;
@@ -509,6 +509,9 @@
     int mDischargeAmountScreenOff;
     int mDischargeAmountScreenOffSinceCharge;
 
+    private LongSamplingCounter mDischargeScreenOffCounter;
+    private LongSamplingCounter mDischargeCounter;
+
     static final int MAX_LEVEL_STEPS = 200;
 
     int mInitStepMode = 0;
@@ -544,6 +547,8 @@
     private int mLoadedNumConnectivityChange;
     private int mUnpluggedNumConnectivityChange;
 
+    private int mEstimatedBatteryCapacity = -1;
+
     private final NetworkStats.Entry mTmpNetworkStatsEntry = new NetworkStats.Entry();
 
     private PowerProfile mPowerProfile;
@@ -565,6 +570,21 @@
         return mWakeupReasonStats;
     }
 
+    @Override
+    public LongCounter getDischargeScreenOffCoulombCounter() {
+        return mDischargeScreenOffCounter;
+    }
+
+    @Override
+    public LongCounter getDischargeCoulombCounter() {
+        return mDischargeCounter;
+    }
+
+    @Override
+    public int getEstimatedBatteryCapacity() {
+        return mEstimatedBatteryCapacity;
+    }
+
     public BatteryStatsImpl() {
         this(new SystemClocks());
     }
@@ -912,7 +932,6 @@
         final TimeBase mTimeBase;
         long mCount;
         long mLoadedCount;
-        long mLastCount;
         long mUnpluggedCount;
         long mPluggedCount;
 
@@ -921,7 +940,6 @@
             mPluggedCount = in.readLong();
             mCount = mPluggedCount;
             mLoadedCount = in.readLong();
-            mLastCount = 0;
             mUnpluggedCount = in.readLong();
             timeBase.add(this);
         }
@@ -949,20 +967,19 @@
         }
 
         public long getCountLocked(int which) {
-            long val = mCount;
+            long val = mTimeBase.isRunning() ? mCount : mPluggedCount;
             if (which == STATS_SINCE_UNPLUGGED) {
                 val -= mUnpluggedCount;
             } else if (which != STATS_SINCE_CHARGED) {
                 val -= mLoadedCount;
             }
-
             return val;
         }
 
         @Override
         public void logState(Printer pw, String prefix) {
             pw.println(prefix + "mCount=" + mCount
-                    + " mLoadedCount=" + mLoadedCount + " mLastCount=" + mLastCount
+                    + " mLoadedCount=" + mLoadedCount
                     + " mUnpluggedCount=" + mUnpluggedCount
                     + " mPluggedCount=" + mPluggedCount);
         }
@@ -976,7 +993,7 @@
          */
         void reset(boolean detachIfReset) {
             mCount = 0;
-            mLoadedCount = mLastCount = mPluggedCount = mUnpluggedCount = 0;
+            mLoadedCount = mPluggedCount = mUnpluggedCount = 0;
             if (detachIfReset) {
                 detach();
             }
@@ -993,7 +1010,6 @@
         void readSummaryFromParcelLocked(Parcel in) {
             mLoadedCount = in.readLong();
             mCount = mLoadedCount;
-            mLastCount = 0;
             mUnpluggedCount = mPluggedCount = mLoadedCount;
         }
     }
@@ -7566,6 +7582,8 @@
         mFlashlightOnTimer = new StopwatchTimer(mClocks, null, -9, null, mOnBatteryTimeBase);
         mCameraOnTimer = new StopwatchTimer(mClocks, null, -13, null, mOnBatteryTimeBase);
         mBluetoothScanTimer = new StopwatchTimer(mClocks, null, -14, null, mOnBatteryTimeBase);
+        mDischargeScreenOffCounter = new LongSamplingCounter(mOnBatteryScreenOffTimeBase);
+        mDischargeCounter = new LongSamplingCounter(mOnBatteryTimeBase);
         mOnBattery = mOnBatteryInternal = false;
         long uptime = mClocks.uptimeMillis() * 1000;
         long realtime = mClocks.elapsedRealtime() * 1000;
@@ -7614,6 +7632,11 @@
                         numSpeedSteps);
                 firstCpuOfCluster += mPowerProfile.getNumCoresInCpuCluster(i);
             }
+
+            if (mEstimatedBatteryCapacity == -1) {
+                // Initialize the estimated battery capacity to a known preset one.
+                mEstimatedBatteryCapacity = (int) mPowerProfile.getBatteryCapacity();
+            }
         }
     }
 
@@ -8123,6 +8146,8 @@
         mDischargeAmountScreenOffSinceCharge = 0;
         mDischargeStepTracker.init();
         mChargeStepTracker.init();
+        mDischargeScreenOffCounter.reset(false);
+        mDischargeCounter.reset(false);
     }
 
     public void resetAllStatsCmdLocked() {
@@ -8161,6 +8186,12 @@
         for (int i=0; i<NUM_SCREEN_BRIGHTNESS_BINS; i++) {
             mScreenBrightnessTimer[i].reset(false);
         }
+
+        if (mPowerProfile != null) {
+            mEstimatedBatteryCapacity = (int) mPowerProfile.getBatteryCapacity();
+        } else {
+            mEstimatedBatteryCapacity = -1;
+        }
         mInteractiveTimer.reset(false);
         mPowerSaveModeEnabledTimer.reset(false);
         mLastIdleTimeStart = elapsedRealtimeMillis;
@@ -9145,7 +9176,7 @@
     }
 
     void setOnBatteryLocked(final long mSecRealtime, final long mSecUptime, final boolean onBattery,
-            final int oldStatus, final int level) {
+            final int oldStatus, final int level, final int chargeUAh) {
         boolean doWrite = false;
         Message m = mHandler.obtainMessage(MSG_REPORT_POWER_CHANGE);
         m.arg1 = onBattery ? 1 : 0;
@@ -9199,6 +9230,10 @@
                 }
                 doWrite = true;
                 resetAllStatsLocked();
+                if (chargeUAh > 0) {
+                    // Only use the reported coulomb charge value if it is supported and reported.
+                    mEstimatedBatteryCapacity = (int) ((level / 100.0) * (chargeUAh / 1000));
+                }
                 mDischargeStartLevel = level;
                 reset = true;
                 mDischargeStepTracker.init();
@@ -9327,6 +9362,7 @@
             mHistoryCur.states2 |= HistoryItem.STATE2_CHARGING_FLAG;
             mHistoryCur.batteryStatus = (byte)status;
             mHistoryCur.batteryLevel = (byte)level;
+            mHistoryCur.batteryChargeUAh = chargeUAh;
             mMaxChargeStepLevel = mMinDischargeStepLevel =
                     mLastChargeStepLevel = mLastDischargeStepLevel = level;
             mLastChargingStateLevel = level;
@@ -9358,8 +9394,14 @@
             mHistoryCur.batteryPlugType = (byte)plugType;
             mHistoryCur.batteryTemperature = (short)temp;
             mHistoryCur.batteryVoltage = (char)volt;
+            if (chargeUAh < mHistoryCur.batteryChargeUAh) {
+                // Only record discharges
+                final long chargeDiff = mHistoryCur.batteryChargeUAh - chargeUAh;
+                mDischargeCounter.addCountLocked(chargeDiff);
+                mDischargeScreenOffCounter.addCountLocked(chargeDiff);
+            }
             mHistoryCur.batteryChargeUAh = chargeUAh;
-            setOnBatteryLocked(elapsedRealtime, uptime, onBattery, oldStatus, level);
+            setOnBatteryLocked(elapsedRealtime, uptime, onBattery, oldStatus, level, chargeUAh);
         } else {
             boolean changed = false;
             if (mHistoryCur.batteryLevel != level) {
@@ -9394,6 +9436,12 @@
             }
             if (chargeUAh >= (mHistoryCur.batteryChargeUAh+10)
                     || chargeUAh <= (mHistoryCur.batteryChargeUAh-10)) {
+                if (chargeUAh < mHistoryCur.batteryChargeUAh) {
+                    // Only record discharges
+                    final long chargeDiff = mHistoryCur.batteryChargeUAh - chargeUAh;
+                    mDischargeCounter.addCountLocked(chargeDiff);
+                    mDischargeScreenOffCounter.addCountLocked(chargeDiff);
+                }
                 mHistoryCur.batteryChargeUAh = chargeUAh;
                 changed = true;
             }
@@ -10067,6 +10115,7 @@
         mDischargePlugLevel = in.readInt();
         mDischargeCurrentLevel = in.readInt();
         mCurrentBatteryLevel = in.readInt();
+        mEstimatedBatteryCapacity = in.readInt();
         mLowDischargeAmountSinceCharge = in.readInt();
         mHighDischargeAmountSinceCharge = in.readInt();
         mDischargeAmountScreenOnSinceCharge = in.readInt();
@@ -10075,6 +10124,8 @@
         mChargeStepTracker.readFromParcel(in);
         mDailyDischargeStepTracker.readFromParcel(in);
         mDailyChargeStepTracker.readFromParcel(in);
+        mDischargeCounter.readSummaryFromParcelLocked(in);
+        mDischargeScreenOffCounter.readSummaryFromParcelLocked(in);
         int NPKG = in.readInt();
         if (NPKG > 0) {
             mDailyPackageChanges = new ArrayList<>(NPKG);
@@ -10417,6 +10468,7 @@
         out.writeInt(mDischargePlugLevel);
         out.writeInt(mDischargeCurrentLevel);
         out.writeInt(mCurrentBatteryLevel);
+        out.writeInt(mEstimatedBatteryCapacity);
         out.writeInt(getLowDischargeAmountSinceCharge());
         out.writeInt(getHighDischargeAmountSinceCharge());
         out.writeInt(getDischargeAmountScreenOnSinceCharge());
@@ -10425,6 +10477,8 @@
         mChargeStepTracker.writeToParcel(out);
         mDailyDischargeStepTracker.writeToParcel(out);
         mDailyChargeStepTracker.writeToParcel(out);
+        mDischargeCounter.writeSummaryFromParcelLocked(out);
+        mDischargeScreenOffCounter.writeSummaryFromParcelLocked(out);
         if (mDailyPackageChanges != null) {
             final int NPKG = mDailyPackageChanges.size();
             out.writeInt(NPKG);
@@ -10779,6 +10833,7 @@
         mRealtime = in.readLong();
         mRealtimeStart = in.readLong();
         mOnBattery = in.readInt() != 0;
+        mEstimatedBatteryCapacity = in.readInt();
         mOnBatteryInternal = false; // we are no longer really running.
         mOnBatteryTimeBase.readFromParcel(in);
         mOnBatteryScreenOffTimeBase.readFromParcel(in);
@@ -10880,6 +10935,8 @@
         mDischargeAmountScreenOffSinceCharge = in.readInt();
         mDischargeStepTracker.readFromParcel(in);
         mChargeStepTracker.readFromParcel(in);
+        mDischargeCounter = new LongSamplingCounter(mOnBatteryTimeBase, in);
+        mDischargeScreenOffCounter = new LongSamplingCounter(mOnBatteryTimeBase, in);
         mLastWriteTime = in.readLong();
 
         mKernelWakelockStats.clear();
@@ -10960,6 +11017,7 @@
         out.writeLong(mRealtime);
         out.writeLong(mRealtimeStart);
         out.writeInt(mOnBattery ? 1 : 0);
+        out.writeInt(mEstimatedBatteryCapacity);
         mOnBatteryTimeBase.writeToParcel(out, uSecUptime, uSecRealtime);
         mOnBatteryScreenOffTimeBase.writeToParcel(out, uSecUptime, uSecRealtime);
 
@@ -11028,6 +11086,8 @@
         out.writeInt(mDischargeAmountScreenOffSinceCharge);
         mDischargeStepTracker.writeToParcel(out);
         mChargeStepTracker.writeToParcel(out);
+        mDischargeCounter.writeToParcel(out);
+        mDischargeScreenOffCounter.writeToParcel(out);
         out.writeLong(mLastWriteTime);
 
         if (inclUids) {
diff --git a/core/java/com/android/internal/os/KernelUidCpuTimeReader.java b/core/java/com/android/internal/os/KernelUidCpuTimeReader.java
index 5d3043c..c828d11 100644
--- a/core/java/com/android/internal/os/KernelUidCpuTimeReader.java
+++ b/core/java/com/android/internal/os/KernelUidCpuTimeReader.java
@@ -84,7 +84,8 @@
                     powerMaUs = 0;
                 }
 
-                if (callback != null) {
+                // Only report if there is a callback and if this is not the first read.
+                if (callback != null && mLastTimeReadUs != 0) {
                     long userTimeDeltaUs = userTimeUs;
                     long systemTimeDeltaUs = systemTimeUs;
                     long powerDeltaMaUs = powerMaUs;
diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java
index 9c960c0..73a3a0b 100644
--- a/core/java/com/android/internal/os/ZygoteInit.java
+++ b/core/java/com/android/internal/os/ZygoteInit.java
@@ -753,7 +753,7 @@
             closeServerSocket();
         } catch (MethodAndArgsCaller caller) {
             caller.run();
-        } catch (RuntimeException ex) {
+        } catch (Throwable ex) {
             Log.e(TAG, "Zygote died with exception", ex);
             closeServerSocket();
             throw ex;
diff --git a/core/java/com/android/internal/policy/BackdropFrameRenderer.java b/core/java/com/android/internal/policy/BackdropFrameRenderer.java
index 28281b3c..0ab3a41 100644
--- a/core/java/com/android/internal/policy/BackdropFrameRenderer.java
+++ b/core/java/com/android/internal/policy/BackdropFrameRenderer.java
@@ -217,6 +217,7 @@
         synchronized (this) {
             // Make sure no more messages are being sent.
             mChoreographer = null;
+            Choreographer.releaseInstance();
         }
     }
 
@@ -370,6 +371,8 @@
                 systemInsets.bottom);
         final int rightInset = DecorView.getColorViewRightInset(stableInsets.right,
                 systemInsets.right);
+        final int leftInset = DecorView.getColorViewLeftInset(stableInsets.left,
+                systemInsets.left);
         if (mStatusBarColor != null) {
             mStatusBarColor.setBounds(0, 0, left + width, topInset);
             mStatusBarColor.draw(canvas);
@@ -379,9 +382,11 @@
         // don't want the navigation bar background be moving around when resizing in docked mode.
         // However, we need it for the transitions into/out of docked mode.
         if (mNavigationBarColor != null && fullscreen) {
-            final int size = DecorView.getNavBarSize(bottomInset, rightInset);
+            final int size = DecorView.getNavBarSize(bottomInset, rightInset, leftInset);
             if (DecorView.isNavBarToRightEdge(bottomInset, rightInset)) {
                 mNavigationBarColor.setBounds(width - size, 0, width, height);
+            } else if (DecorView.isNavBarToLeftEdge(bottomInset, rightInset)) {
+                mNavigationBarColor.setBounds(0, 0, size, height);
             } else {
                 mNavigationBarColor.setBounds(0, height - size, width, height);
             }
diff --git a/core/java/com/android/internal/policy/DecorView.java b/core/java/com/android/internal/policy/DecorView.java
index 7e38d9b..366fc1a 100644
--- a/core/java/com/android/internal/policy/DecorView.java
+++ b/core/java/com/android/internal/policy/DecorView.java
@@ -97,7 +97,6 @@
 import static android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN;
 import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR;
 import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
-import static android.view.WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
 import static android.view.WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION;
 import static android.view.WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
 import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION;
@@ -162,13 +161,13 @@
 
     private final ColorViewState mStatusColorViewState = new ColorViewState(
             SYSTEM_UI_FLAG_FULLSCREEN, FLAG_TRANSLUCENT_STATUS,
-            Gravity.TOP, Gravity.LEFT,
+            Gravity.TOP, Gravity.LEFT, Gravity.RIGHT,
             Window.STATUS_BAR_BACKGROUND_TRANSITION_NAME,
             com.android.internal.R.id.statusBarBackground,
             FLAG_FULLSCREEN);
     private final ColorViewState mNavigationColorViewState = new ColorViewState(
             SYSTEM_UI_FLAG_HIDE_NAVIGATION, FLAG_TRANSLUCENT_NAVIGATION,
-            Gravity.BOTTOM, Gravity.RIGHT,
+            Gravity.BOTTOM, Gravity.RIGHT, Gravity.LEFT,
             Window.NAVIGATION_BAR_BACKGROUND_TRANSITION_NAME,
             com.android.internal.R.id.navigationBarBackground,
             0 /* hideWindowFlag */);
@@ -184,9 +183,11 @@
     private int mLastTopInset = 0;
     private int mLastBottomInset = 0;
     private int mLastRightInset = 0;
+    private int mLastLeftInset = 0;
     private boolean mLastHasTopStableInset = false;
     private boolean mLastHasBottomStableInset = false;
     private boolean mLastHasRightStableInset = false;
+    private boolean mLastHasLeftStableInset = false;
     private int mLastWindowFlags = 0;
     private boolean mLastShouldAlwaysConsumeNavBar = false;
 
@@ -991,12 +992,21 @@
         return Math.min(stableRight, systemRight);
     }
 
+    static int getColorViewLeftInset(int stableLeft, int systemLeft) {
+        return Math.min(stableLeft, systemLeft);
+    }
+
     static boolean isNavBarToRightEdge(int bottomInset, int rightInset) {
         return bottomInset == 0 && rightInset > 0;
     }
 
-    static int getNavBarSize(int bottomInset, int rightInset) {
-        return isNavBarToRightEdge(bottomInset, rightInset) ? rightInset : bottomInset;
+    static boolean isNavBarToLeftEdge(int bottomInset, int leftInset) {
+        return bottomInset == 0 && leftInset > 0;
+    }
+
+    static int getNavBarSize(int bottomInset, int rightInset, int leftInset) {
+        return isNavBarToRightEdge(bottomInset, rightInset) ? rightInset
+                : isNavBarToLeftEdge(bottomInset, leftInset) ? leftInset : bottomInset;
     }
 
     WindowInsets updateColorViews(WindowInsets insets, boolean animate) {
@@ -1016,6 +1026,8 @@
                         insets.getSystemWindowInsetBottom());
                 mLastRightInset = getColorViewRightInset(insets.getStableInsetRight(),
                         insets.getSystemWindowInsetRight());
+                mLastLeftInset = getColorViewRightInset(insets.getStableInsetLeft(),
+                        insets.getSystemWindowInsetLeft());
 
                 // Don't animate if the presence of stable insets has changed, because that
                 // indicates that the window was either just added and received them for the
@@ -1031,21 +1043,32 @@
                 boolean hasRightStableInset = insets.getStableInsetRight() != 0;
                 disallowAnimate |= (hasRightStableInset != mLastHasRightStableInset);
                 mLastHasRightStableInset = hasRightStableInset;
+
+                boolean hasLeftStableInset = insets.getStableInsetLeft() != 0;
+                disallowAnimate |= (hasLeftStableInset != mLastHasLeftStableInset);
+                mLastHasLeftStableInset = hasLeftStableInset;
+
                 mLastShouldAlwaysConsumeNavBar = insets.shouldAlwaysConsumeNavBar();
             }
 
             boolean navBarToRightEdge = isNavBarToRightEdge(mLastBottomInset, mLastRightInset);
-            int navBarSize = getNavBarSize(mLastBottomInset, mLastRightInset);
+            boolean navBarToLeftEdge = isNavBarToLeftEdge(mLastBottomInset, mLastLeftInset);
+            int navBarSize = getNavBarSize(mLastBottomInset, mLastRightInset, mLastLeftInset);
             updateColorViewInt(mNavigationColorViewState, sysUiVisibility,
-                    mWindow.mNavigationBarColor, navBarSize, navBarToRightEdge,
-                    0 /* rightInset */, animate && !disallowAnimate, false /* force */);
+                    mWindow.mNavigationBarColor, navBarSize, navBarToRightEdge || navBarToLeftEdge,
+                    navBarToLeftEdge,
+                    0 /* sideInset */, animate && !disallowAnimate, false /* force */);
 
             boolean statusBarNeedsRightInset = navBarToRightEdge
                     && mNavigationColorViewState.present;
-            int statusBarRightInset = statusBarNeedsRightInset ? mLastRightInset : 0;
+            boolean statusBarNeedsLeftInset = navBarToLeftEdge
+                    && mNavigationColorViewState.present;
+            int statusBarSideInset = statusBarNeedsRightInset ? mLastRightInset
+                    : statusBarNeedsLeftInset ? mLastLeftInset : 0;
             updateColorViewInt(mStatusColorViewState, sysUiVisibility,
                     calculateStatusBarColor(), mLastTopInset,
-                    false /* matchVertical */, statusBarRightInset, animate && !disallowAnimate,
+                    false /* matchVertical */, statusBarNeedsLeftInset, statusBarSideInset,
+                    animate && !disallowAnimate,
                     mForceWindowDrawsStatusBarBackground);
         }
 
@@ -1070,15 +1093,17 @@
         int consumedTop = consumingStatusBar ? mLastTopInset : 0;
         int consumedRight = consumingNavBar ? mLastRightInset : 0;
         int consumedBottom = consumingNavBar ? mLastBottomInset : 0;
+        int consumedLeft = consumingNavBar ? mLastLeftInset : 0;
 
         if (mContentRoot != null
                 && mContentRoot.getLayoutParams() instanceof MarginLayoutParams) {
             MarginLayoutParams lp = (MarginLayoutParams) mContentRoot.getLayoutParams();
             if (lp.topMargin != consumedTop || lp.rightMargin != consumedRight
-                    || lp.bottomMargin != consumedBottom) {
+                    || lp.bottomMargin != consumedBottom || lp.leftMargin != consumedLeft) {
                 lp.topMargin = consumedTop;
                 lp.rightMargin = consumedRight;
                 lp.bottomMargin = consumedBottom;
+                lp.leftMargin = consumedLeft;
                 mContentRoot.setLayoutParams(lp);
 
                 if (insets == null) {
@@ -1089,7 +1114,7 @@
             }
             if (insets != null) {
                 insets = insets.replaceSystemWindowInsets(
-                        insets.getSystemWindowInsetLeft(),
+                        insets.getSystemWindowInsetLeft() - consumedLeft,
                         insets.getSystemWindowInsetTop() - consumedTop,
                         insets.getSystemWindowInsetRight() - consumedRight,
                         insets.getSystemWindowInsetBottom() - consumedBottom);
@@ -1126,11 +1151,12 @@
      * @param size the current size in the non-parent-matching dimension.
      * @param verticalBar if true the view is attached to a vertical edge, otherwise to a
      *                    horizontal edge,
-     * @param rightMargin rightMargin for the color view.
+     * @param sideMargin sideMargin for the color view.
      * @param animate if true, the change will be animated.
      */
     private void updateColorViewInt(final ColorViewState state, int sysUiVis, int color,
-            int size, boolean verticalBar, int rightMargin, boolean animate, boolean force) {
+            int size, boolean verticalBar, boolean seascape, int sideMargin,
+            boolean animate, boolean force) {
         state.present = (sysUiVis & state.systemUiHideFlag) == 0
                 && (mWindow.getAttributes().flags & state.hideWindowFlag) == 0
                 && ((mWindow.getAttributes().flags & FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) != 0
@@ -1145,7 +1171,9 @@
 
         int resolvedHeight = verticalBar ? LayoutParams.MATCH_PARENT : size;
         int resolvedWidth = verticalBar ? size : LayoutParams.MATCH_PARENT;
-        int resolvedGravity = verticalBar ? state.horizontalGravity : state.verticalGravity;
+        int resolvedGravity = verticalBar
+                ? (seascape ? state.seascapeGravity : state.horizontalGravity)
+                : state.verticalGravity;
 
         if (view == null) {
             if (showView) {
@@ -1159,7 +1187,11 @@
 
                 LayoutParams lp = new LayoutParams(resolvedWidth, resolvedHeight,
                         resolvedGravity);
-                lp.rightMargin = rightMargin;
+                if (seascape) {
+                    lp.leftMargin = sideMargin;
+                } else {
+                    lp.rightMargin = sideMargin;
+                }
                 addView(view, lp);
                 updateColorViewTranslations();
             }
@@ -1168,12 +1200,16 @@
             visibilityChanged = state.targetVisibility != vis;
             state.targetVisibility = vis;
             LayoutParams lp = (LayoutParams) view.getLayoutParams();
+            int rightMargin = seascape ? 0 : sideMargin;
+            int leftMargin = seascape ? sideMargin : 0;
             if (lp.height != resolvedHeight || lp.width != resolvedWidth
-                    || lp.gravity != resolvedGravity || lp.rightMargin != rightMargin) {
+                    || lp.gravity != resolvedGravity || lp.rightMargin != rightMargin
+                    || lp.leftMargin != leftMargin) {
                 lp.height = resolvedHeight;
                 lp.width = resolvedWidth;
                 lp.gravity = resolvedGravity;
                 lp.rightMargin = rightMargin;
+                lp.leftMargin = leftMargin;
                 view.setLayoutParams(lp);
             }
             if (showView) {
@@ -1550,7 +1586,13 @@
     private ActionMode createStandaloneActionMode(ActionMode.Callback callback) {
         endOnGoingFadeAnimation();
         cleanupPrimaryActionMode();
-        if (mPrimaryActionModeView == null) {
+        // We want to create new mPrimaryActionModeView in two cases: if there is no existing
+        // instance at all, or if there is one, but it is detached from window. The latter case
+        // might happen when app is resized in multi-window mode and decor view is preserved
+        // along with the main app window. Keeping mPrimaryActionModeView reference doesn't cause
+        // app memory leaks because killMode() is called when the dismiss animation ends and from
+        // cleanupPrimaryActionMode() invocation above.
+        if (mPrimaryActionModeView == null || !mPrimaryActionModeView.isAttachedToWindow()) {
             if (mWindow.isFloating()) {
                 // Use the action bar theme.
                 final TypedValue outValue = new TypedValue();
@@ -1616,6 +1658,7 @@
                 ViewStub stub = (ViewStub) findViewById(R.id.action_mode_bar_stub);
                 if (stub != null) {
                     mPrimaryActionModeView = (ActionBarContextView) stub.inflate();
+                    mPrimaryActionModePopup = null;
                 }
             }
         }
@@ -2210,17 +2253,19 @@
         final int translucentFlag;
         final int verticalGravity;
         final int horizontalGravity;
+        final int seascapeGravity;
         final String transitionName;
         final int hideWindowFlag;
 
         ColorViewState(int systemUiHideFlag,
                 int translucentFlag, int verticalGravity, int horizontalGravity,
-                String transitionName, int id, int hideWindowFlag) {
+                int seascapeGravity, String transitionName, int id, int hideWindowFlag) {
             this.id = id;
             this.systemUiHideFlag = systemUiHideFlag;
             this.translucentFlag = translucentFlag;
             this.verticalGravity = verticalGravity;
             this.horizontalGravity = horizontalGravity;
+            this.seascapeGravity = seascapeGravity;
             this.transitionName = transitionName;
             this.hideWindowFlag = hideWindowFlag;
         }
@@ -2278,9 +2323,14 @@
                 }
                 if (mPrimaryActionModeView != null) {
                     endOnGoingFadeAnimation();
+                    // Store action mode view reference, so we can access it safely when animation
+                    // ends. mPrimaryActionModePopup is set together with mPrimaryActionModeView,
+                    // so no need to store reference to it in separate variable.
+                    final ActionBarContextView lastActionModeView = mPrimaryActionModeView;
                     mFadeAnim = ObjectAnimator.ofFloat(mPrimaryActionModeView, View.ALPHA,
                             1f, 0f);
                     mFadeAnim.addListener(new Animator.AnimatorListener() {
+
                                 @Override
                                 public void onAnimationStart(Animator animation) {
 
@@ -2288,12 +2338,17 @@
 
                                 @Override
                                 public void onAnimationEnd(Animator animation) {
-                                    mPrimaryActionModeView.setVisibility(GONE);
-                                    if (mPrimaryActionModePopup != null) {
-                                        mPrimaryActionModePopup.dismiss();
+                                    // If mPrimaryActionModeView has changed - it means that we've
+                                    // cleared the content while preserving decor view. We don't
+                                    // want to change the state of new instances accidentally here.
+                                    if (lastActionModeView == mPrimaryActionModeView) {
+                                        lastActionModeView.setVisibility(GONE);
+                                        if (mPrimaryActionModePopup != null) {
+                                            mPrimaryActionModePopup.dismiss();
+                                        }
+                                        lastActionModeView.killMode();
+                                        mFadeAnim = null;
                                     }
-                                    mPrimaryActionModeView.removeAllViews();
-                                    mFadeAnim = null;
                                 }
 
                                 @Override
diff --git a/core/java/com/android/internal/policy/PhoneWindow.java b/core/java/com/android/internal/policy/PhoneWindow.java
index 18408aa..9ad750d 100644
--- a/core/java/com/android/internal/policy/PhoneWindow.java
+++ b/core/java/com/android/internal/policy/PhoneWindow.java
@@ -528,16 +528,22 @@
 
     @Override
     public void setTitle(CharSequence title) {
+        setTitle(title, true);
+    }
+
+    public void setTitle(CharSequence title, boolean updateAccessibilityTitle) {
         if (mTitleView != null) {
             mTitleView.setText(title);
         } else if (mDecorContentParent != null) {
             mDecorContentParent.setWindowTitle(title);
         }
         mTitle = title;
-        WindowManager.LayoutParams params = getAttributes();
-        if (!TextUtils.equals(title, params.accessibilityTitle)) {
-            params.accessibilityTitle = TextUtils.stringOrSpannedString(title);
-            dispatchWindowAttributesChanged(getAttributes());
+        if (updateAccessibilityTitle) {
+            WindowManager.LayoutParams params = getAttributes();
+            if (!TextUtils.equals(title, params.accessibilityTitle)) {
+                params.accessibilityTitle = TextUtils.stringOrSpannedString(title);
+                dispatchWindowAttributesChanged(getAttributes());
+            }
         }
     }
 
diff --git a/core/java/com/android/internal/statusbar/IStatusBar.aidl b/core/java/com/android/internal/statusbar/IStatusBar.aidl
index 7706ff7..20f10b3 100644
--- a/core/java/com/android/internal/statusbar/IStatusBar.aidl
+++ b/core/java/com/android/internal/statusbar/IStatusBar.aidl
@@ -112,4 +112,5 @@
     void addQsTile(in ComponentName tile);
     void remQsTile(in ComponentName tile);
     void clickQsTile(in ComponentName tile);
+    void handleSystemNavigationKey(in int key);
 }
diff --git a/core/java/com/android/internal/statusbar/IStatusBarService.aidl b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
index 3d05422..698e387 100644
--- a/core/java/com/android/internal/statusbar/IStatusBarService.aidl
+++ b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
@@ -66,4 +66,5 @@
     void addTile(in ComponentName tile);
     void remTile(in ComponentName tile);
     void clickTile(in ComponentName tile);
+    void handleSystemNavigationKey(in int key);
 }
diff --git a/core/java/com/android/internal/util/StateMachine.java b/core/java/com/android/internal/util/StateMachine.java
index 39fd36b..a5a3dba 100644
--- a/core/java/com/android/internal/util/StateMachine.java
+++ b/core/java/com/android/internal/util/StateMachine.java
@@ -29,8 +29,8 @@
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Collection;
-import java.util.Iterator;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.Vector;
 
 /**
@@ -1642,7 +1642,7 @@
      *
      * Message is ignored if state machine has quit.
      */
-    public final void sendMessage(int what) {
+    public void sendMessage(int what) {
         // mSmHandler can be null if the state machine has quit.
         SmHandler smh = mSmHandler;
         if (smh == null) return;
@@ -1655,7 +1655,7 @@
      *
      * Message is ignored if state machine has quit.
      */
-    public final void sendMessage(int what, Object obj) {
+    public void sendMessage(int what, Object obj) {
         // mSmHandler can be null if the state machine has quit.
         SmHandler smh = mSmHandler;
         if (smh == null) return;
@@ -1668,7 +1668,7 @@
      *
      * Message is ignored if state machine has quit.
      */
-    public final void sendMessage(int what, int arg1) {
+    public void sendMessage(int what, int arg1) {
         // mSmHandler can be null if the state machine has quit.
         SmHandler smh = mSmHandler;
         if (smh == null) return;
@@ -1681,7 +1681,7 @@
      *
      * Message is ignored if state machine has quit.
      */
-    public final void sendMessage(int what, int arg1, int arg2) {
+    public void sendMessage(int what, int arg1, int arg2) {
         // mSmHandler can be null if the state machine has quit.
         SmHandler smh = mSmHandler;
         if (smh == null) return;
@@ -1694,7 +1694,7 @@
      *
      * Message is ignored if state machine has quit.
      */
-    public final void sendMessage(int what, int arg1, int arg2, Object obj) {
+    public void sendMessage(int what, int arg1, int arg2, Object obj) {
         // mSmHandler can be null if the state machine has quit.
         SmHandler smh = mSmHandler;
         if (smh == null) return;
@@ -1707,7 +1707,7 @@
      *
      * Message is ignored if state machine has quit.
      */
-    public final void sendMessage(Message msg) {
+    public void sendMessage(Message msg) {
         // mSmHandler can be null if the state machine has quit.
         SmHandler smh = mSmHandler;
         if (smh == null) return;
@@ -1720,7 +1720,7 @@
      *
      * Message is ignored if state machine has quit.
      */
-    public final void sendMessageDelayed(int what, long delayMillis) {
+    public void sendMessageDelayed(int what, long delayMillis) {
         // mSmHandler can be null if the state machine has quit.
         SmHandler smh = mSmHandler;
         if (smh == null) return;
@@ -1733,7 +1733,7 @@
      *
      * Message is ignored if state machine has quit.
      */
-    public final void sendMessageDelayed(int what, Object obj, long delayMillis) {
+    public void sendMessageDelayed(int what, Object obj, long delayMillis) {
         // mSmHandler can be null if the state machine has quit.
         SmHandler smh = mSmHandler;
         if (smh == null) return;
@@ -1746,7 +1746,7 @@
      *
      * Message is ignored if state machine has quit.
      */
-    public final void sendMessageDelayed(int what, int arg1, long delayMillis) {
+    public void sendMessageDelayed(int what, int arg1, long delayMillis) {
         // mSmHandler can be null if the state machine has quit.
         SmHandler smh = mSmHandler;
         if (smh == null) return;
@@ -1759,7 +1759,7 @@
      *
      * Message is ignored if state machine has quit.
      */
-    public final void sendMessageDelayed(int what, int arg1, int arg2, long delayMillis) {
+    public void sendMessageDelayed(int what, int arg1, int arg2, long delayMillis) {
         // mSmHandler can be null if the state machine has quit.
         SmHandler smh = mSmHandler;
         if (smh == null) return;
@@ -1772,7 +1772,7 @@
      *
      * Message is ignored if state machine has quit.
      */
-    public final void sendMessageDelayed(int what, int arg1, int arg2, Object obj,
+    public void sendMessageDelayed(int what, int arg1, int arg2, Object obj,
             long delayMillis) {
         // mSmHandler can be null if the state machine has quit.
         SmHandler smh = mSmHandler;
@@ -1786,7 +1786,7 @@
      *
      * Message is ignored if state machine has quit.
      */
-    public final void sendMessageDelayed(Message msg, long delayMillis) {
+    public void sendMessageDelayed(Message msg, long delayMillis) {
         // mSmHandler can be null if the state machine has quit.
         SmHandler smh = mSmHandler;
         if (smh == null) return;
diff --git a/core/java/com/android/internal/view/IInputConnectionWrapper.java b/core/java/com/android/internal/view/IInputConnectionWrapper.java
index 59b4b35..644c7e9 100644
--- a/core/java/com/android/internal/view/IInputConnectionWrapper.java
+++ b/core/java/com/android/internal/view/IInputConnectionWrapper.java
@@ -33,6 +33,7 @@
 import android.view.inputmethod.InputConnection;
 import android.view.inputmethod.InputConnectionInspector;
 import android.view.inputmethod.InputConnectionInspector.MissingMethodFlags;
+import android.view.inputmethod.InputContentInfo;
 
 public abstract class IInputConnectionWrapper extends IInputContext.Stub {
     static final String TAG = "IInputConnectionWrapper";
@@ -61,6 +62,7 @@
     private static final int DO_CLEAR_META_KEY_STATES = 130;
     private static final int DO_REQUEST_UPDATE_CURSOR_ANCHOR_INFO = 140;
     private static final int DO_CLOSE_CONNECTION = 150;
+    private static final int DO_COMMIT_CONTENT = 160;
 
     @GuardedBy("mLock")
     @Nullable
@@ -241,6 +243,12 @@
         dispatchMessage(obtainMessage(DO_CLOSE_CONNECTION));
     }
 
+    public void commitContent(InputContentInfo inputContentInfo, int flags, Bundle opts,
+            int seq, IInputContextCallback callback) {
+        dispatchMessage(obtainMessageIOOSC(DO_COMMIT_CONTENT, flags, inputContentInfo, opts, seq,
+                callback));
+    }
+
     void dispatchMessage(Message msg) {
         // If we are calling this from the main thread, then we can call
         // right through.  Otherwise, we need to send the message to the
@@ -552,6 +560,41 @@
                 }
                 return;
             }
+            case DO_COMMIT_CONTENT: {
+                final int flags = msg.arg1;
+                final boolean grantUriPermission =
+                        (flags & InputConnection.INPUT_CONTENT_GRANT_READ_URI_PERMISSION) != 0;
+                SomeArgs args = (SomeArgs) msg.obj;
+                try {
+                    InputConnection ic = getInputConnection();
+                    if (ic == null || !isActive()) {
+                        Log.w(TAG, "commitContent on inactive InputConnection");
+                        args.callback.setCommitContentResult(false, args.seq);
+                        return;
+                    }
+                    final InputContentInfo inputContentInfo = (InputContentInfo) args.arg1;
+                    if (inputContentInfo == null || !inputContentInfo.validate()) {
+                        Log.w(TAG, "commitContent with invalid inputContentInfo="
+                                + inputContentInfo);
+                        args.callback.setCommitContentResult(false, args.seq);
+                        return;
+                    }
+                    if (grantUriPermission) {
+                        inputContentInfo.requestPermission();
+                    }
+                    final boolean result =
+                            ic.commitContent(inputContentInfo, flags, (Bundle) args.arg2);
+                    // If this request is not handled, then there is no reason to keep the URI
+                    // permission.
+                    if (grantUriPermission && !result) {
+                        inputContentInfo.releasePermission();
+                    }
+                    args.callback.setCommitContentResult(result, args.seq);
+                } catch (RemoteException e) {
+                    Log.w(TAG, "Got RemoteException calling commitContent", e);
+                }
+                return;
+            }
         }
         Log.w(TAG, "Unhandled message code: " + msg.what);
     }
@@ -582,12 +625,14 @@
         return mH.obtainMessage(what, arg1, arg2, args);
     }
 
-    Message obtainMessageOSC(int what, Object arg1, int seq, IInputContextCallback callback) {
+    Message obtainMessageIOOSC(int what, int arg1, Object objArg1, Object objArg2, int seq,
+            IInputContextCallback callback) {
         SomeArgs args = new SomeArgs();
-        args.arg1 = arg1;
+        args.arg1 = objArg1;
+        args.arg2 = objArg2;
         args.callback = callback;
         args.seq = seq;
-        return mH.obtainMessage(what, 0, 0, args);
+        return mH.obtainMessage(what, arg1, 0, args);
     }
 
     Message obtainMessageIOSC(int what, int arg1, Object arg2, int seq,
diff --git a/core/java/com/android/internal/view/IInputContext.aidl b/core/java/com/android/internal/view/IInputContext.aidl
index f7ec420..728c557 100644
--- a/core/java/com/android/internal/view/IInputContext.aidl
+++ b/core/java/com/android/internal/view/IInputContext.aidl
@@ -21,6 +21,7 @@
 import android.view.inputmethod.CompletionInfo;
 import android.view.inputmethod.CorrectionInfo;
 import android.view.inputmethod.ExtractedTextRequest;
+import android.view.inputmethod.InputContentInfo;
 
 import com.android.internal.view.IInputContextCallback;
 
@@ -74,6 +75,9 @@
 
     void getSelectedText(int flags, int seq, IInputContextCallback callback);
 
-    void requestUpdateCursorAnchorInfo(in int cursorUpdateMode, int seq,
+    void requestUpdateCursorAnchorInfo(int cursorUpdateMode, int seq,
+            IInputContextCallback callback);
+
+    void commitContent(in InputContentInfo inputContentInfo, int flags, in Bundle opts, int sec,
             IInputContextCallback callback);
 }
diff --git a/core/java/com/android/internal/view/IInputContextCallback.aidl b/core/java/com/android/internal/view/IInputContextCallback.aidl
index 54ea306..0f40a83 100644
--- a/core/java/com/android/internal/view/IInputContextCallback.aidl
+++ b/core/java/com/android/internal/view/IInputContextCallback.aidl
@@ -28,4 +28,5 @@
     void setExtractedText(in ExtractedText extractedText, int seq);
     void setSelectedText(CharSequence selectedText, int seq);
     void setRequestUpdateCursorAnchorInfoResult(boolean result, int seq);
+    void setCommitContentResult(boolean result, int seq);
 }
diff --git a/core/java/com/android/internal/view/IInputMethodManager.aidl b/core/java/com/android/internal/view/IInputMethodManager.aidl
index cb7c3bf..9e4b43b 100644
--- a/core/java/com/android/internal/view/IInputMethodManager.aidl
+++ b/core/java/com/android/internal/view/IInputMethodManager.aidl
@@ -16,11 +16,13 @@
 
 package com.android.internal.view;
 
+import android.net.Uri;
 import android.os.ResultReceiver;
 import android.text.style.SuggestionSpan;
 import android.view.inputmethod.InputMethodInfo;
 import android.view.inputmethod.InputMethodSubtype;
 import android.view.inputmethod.EditorInfo;
+import com.android.internal.inputmethod.IInputContentUriToken;
 import com.android.internal.view.InputBindResult;
 import com.android.internal.view.IInputContext;
 import com.android.internal.view.IInputMethodClient;
@@ -81,5 +83,8 @@
     int getInputMethodWindowVisibleHeight();
     void clearLastInputMethodWindowForTransition(in IBinder token);
 
+    IInputContentUriToken createInputContentUriToken(in IBinder token, in Uri contentUri,
+            in String packageName);
+
     oneway void notifyUserAction(int sequenceNumber);
 }
diff --git a/core/java/com/android/internal/view/InputConnectionWrapper.java b/core/java/com/android/internal/view/InputConnectionWrapper.java
index f9884d8..9a09dcc 100644
--- a/core/java/com/android/internal/view/InputConnectionWrapper.java
+++ b/core/java/com/android/internal/view/InputConnectionWrapper.java
@@ -16,6 +16,8 @@
 
 package com.android.internal.view;
 
+import android.annotation.NonNull;
+import android.inputmethodservice.AbstractInputMethodService;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.RemoteException;
@@ -29,10 +31,16 @@
 import android.view.inputmethod.InputConnection;
 import android.view.inputmethod.InputConnectionInspector;
 import android.view.inputmethod.InputConnectionInspector.MissingMethodFlags;
+import android.view.inputmethod.InputContentInfo;
+
+import java.lang.ref.WeakReference;
 
 public class InputConnectionWrapper implements InputConnection {
     private static final int MAX_WAIT_TIME_MILLIS = 2000;
     private final IInputContext mIInputContext;
+    @NonNull
+    private final WeakReference<AbstractInputMethodService> mInputMethodService;
+
     @MissingMethodFlags
     private final int mMissingMethods;
 
@@ -46,7 +54,8 @@
         public ExtractedText mExtractedText;
         public int mCursorCapsMode;
         public boolean mRequestUpdateCursorAnchorInfoResult;
-        
+        public boolean mCommitContentResult;
+
         // A 'pool' of one InputContextCallback.  Each ICW request will attempt to gain
         // exclusive access to this object.
         private static InputContextCallback sInstance = new InputContextCallback();
@@ -172,6 +181,19 @@
             }
         }
 
+        public void setCommitContentResult(boolean result, int seq) {
+            synchronized (this) {
+                if (seq == mSeq) {
+                    mCommitContentResult = result;
+                    mHaveValue = true;
+                    notifyAll();
+                } else {
+                    Log.i(TAG, "Got out-of-sequence callback " + seq + " (expected " + mSeq
+                            + ") in setCommitContentResult, ignoring.");
+                }
+            }
+        }
+
         /**
          * Waits for a result for up to {@link #MAX_WAIT_TIME_MILLIS} milliseconds.
          * 
@@ -195,8 +217,10 @@
         }
     }
 
-    public InputConnectionWrapper(IInputContext inputContext,
-            @MissingMethodFlags final int missingMethods) {
+    public InputConnectionWrapper(
+            @NonNull WeakReference<AbstractInputMethodService> inputMethodService,
+            IInputContext inputContext, @MissingMethodFlags final int missingMethods) {
+        mInputMethodService = inputMethodService;
         mIInputContext = inputContext;
         mMissingMethods = missingMethods;
     }
@@ -491,6 +515,37 @@
         // Nothing should happen when called from input method.
     }
 
+    public boolean commitContent(InputContentInfo inputContentInfo, int flags, Bundle opts) {
+        boolean result = false;
+        if (isMethodMissing(MissingMethodFlags.COMMIT_CONTENT)) {
+            // This method is not implemented.
+            return false;
+        }
+        try {
+            if ((flags & InputConnection.INPUT_CONTENT_GRANT_READ_URI_PERMISSION) != 0) {
+                final AbstractInputMethodService inputMethodService = mInputMethodService.get();
+                if (inputMethodService == null) {
+                    // This basically should not happen, because it's the the caller of this method.
+                    return false;
+                }
+                inputMethodService.exposeContent(inputContentInfo, this);
+            }
+
+            InputContextCallback callback = InputContextCallback.getInstance();
+            mIInputContext.commitContent(inputContentInfo, flags, opts, callback.mSeq, callback);
+            synchronized (callback) {
+                callback.waitForResultLocked();
+                if (callback.mHaveValue) {
+                    result = callback.mCommitContentResult;
+                }
+            }
+            callback.dispose();
+        } catch (RemoteException e) {
+            return false;
+        }
+        return result;
+    }
+
     private boolean isMethodMissing(@MissingMethodFlags final int methodFlag) {
         return (mMissingMethods & methodFlag) == methodFlag;
     }
diff --git a/core/java/com/android/internal/view/animation/FallbackLUTInterpolator.java b/core/java/com/android/internal/view/animation/FallbackLUTInterpolator.java
index 9e2cbdb..d28ab07 100644
--- a/core/java/com/android/internal/view/animation/FallbackLUTInterpolator.java
+++ b/core/java/com/android/internal/view/animation/FallbackLUTInterpolator.java
@@ -30,6 +30,8 @@
 @HasNativeInterpolator
 public class FallbackLUTInterpolator implements NativeInterpolatorFactory, TimeInterpolator {
 
+    // If the duration of an animation is more than 300 frames, we cap the sample size to 300.
+    private static final int MAX_SAMPLE_POINTS = 300;
     private TimeInterpolator mSourceInterpolator;
     private final float mLut[];
 
@@ -47,6 +49,7 @@
         int animIntervalMs = (int) (frameIntervalNanos / TimeUtils.NANOS_PER_MS);
         // We need 2 frame values as the minimal.
         int numAnimFrames = Math.max(2, (int) Math.ceil(((double) duration) / animIntervalMs));
+        numAnimFrames = Math.min(numAnimFrames, MAX_SAMPLE_POINTS);
         float values[] = new float[numAnimFrames];
         float lastFrame = numAnimFrames - 1;
         for (int i = 0; i < numAnimFrames; i++) {
diff --git a/core/java/com/android/internal/widget/MessagingLinearLayout.java b/core/java/com/android/internal/widget/MessagingLinearLayout.java
index dc7b7f5..d2a43b7 100644
--- a/core/java/com/android/internal/widget/MessagingLinearLayout.java
+++ b/core/java/com/android/internal/widget/MessagingLinearLayout.java
@@ -48,6 +48,11 @@
 
     private int mIndentLines;
 
+    /**
+     * Id of the child that's also visible in the contracted layout.
+     */
+    private int mContractedChildId;
+
     public MessagingLinearLayout(Context context, @Nullable AttributeSet attrs) {
         super(context, attrs);
 
@@ -255,14 +260,29 @@
         return copy;
     }
 
-    @RemotableViewMethod
     /**
      * Sets how many lines should be indented to avoid a floating image.
      */
+    @RemotableViewMethod
     public void setNumIndentLines(int numberLines) {
         mIndentLines = numberLines;
     }
 
+    /**
+     * Set id of the child that's also visible in the contracted layout.
+     */
+    @RemotableViewMethod
+    public void setContractedChildId(int contractedChildId) {
+        mContractedChildId = contractedChildId;
+    }
+
+    /**
+     * Get id of the child that's also visible in the contracted layout.
+     */
+    public int getContractedChildId() {
+        return mContractedChildId;
+    }
+
     public static class LayoutParams extends MarginLayoutParams {
 
         boolean hide = false;
diff --git a/core/java/com/android/internal/widget/NotificationExpandButton.java b/core/java/com/android/internal/widget/NotificationExpandButton.java
new file mode 100644
index 0000000..f4f49b1
--- /dev/null
+++ b/core/java/com/android/internal/widget/NotificationExpandButton.java
@@ -0,0 +1,62 @@
+/*
+ * 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
+ */
+
+package com.android.internal.widget;
+
+import android.annotation.Nullable;
+import android.content.Context;
+import android.graphics.Rect;
+import android.util.AttributeSet;
+import android.widget.ImageView;
+import android.widget.RemoteViews;
+
+/**
+ * An expand button in a notification
+ */
+@RemoteViews.RemoteView
+public class NotificationExpandButton extends ImageView {
+    public NotificationExpandButton(Context context) {
+        super(context);
+    }
+
+    public NotificationExpandButton(Context context, @Nullable AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    public NotificationExpandButton(Context context, @Nullable AttributeSet attrs,
+            int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+    }
+
+    public NotificationExpandButton(Context context, @Nullable AttributeSet attrs, int defStyleAttr,
+            int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+    }
+
+    @Override
+    public void getBoundsOnScreen(Rect outRect, boolean clipToParent) {
+        super.getBoundsOnScreen(outRect, clipToParent);
+        extendRectToMinTouchSize(outRect);
+    }
+
+    private void extendRectToMinTouchSize(Rect rect) {
+        int touchTargetSize = (int) (getResources().getDisplayMetrics().density * 48);
+        rect.left = rect.centerX() - touchTargetSize / 2;
+        rect.right = rect.left + touchTargetSize;
+        rect.top = rect.centerY() - touchTargetSize / 2;
+        rect.bottom = rect.top + touchTargetSize;
+    }
+}
diff --git a/core/java/com/android/internal/widget/ViewPager.java b/core/java/com/android/internal/widget/ViewPager.java
index 277fafd..d5b6def 100644
--- a/core/java/com/android/internal/widget/ViewPager.java
+++ b/core/java/com/android/internal/widget/ViewPager.java
@@ -55,34 +55,7 @@
 import java.util.Comparator;
 
 /**
- * Layout manager that allows the user to flip left and right
- * through pages of data.  You supply an implementation of a
- * {@link android.support.v4.view.PagerAdapter} to generate the pages that the view shows.
- *
- * <p>Note this class is currently under early design and
- * development.  The API will likely change in later updates of
- * the compatibility library, requiring changes to the source code
- * of apps when they are compiled against the newer version.</p>
- *
- * <p>ViewPager is most often used in conjunction with {@link android.app.Fragment},
- * which is a convenient way to supply and manage the lifecycle of each page.
- * There are standard adapters implemented for using fragments with the ViewPager,
- * which cover the most common use cases.  These are
- * {@link android.support.v4.app.FragmentPagerAdapter} and
- * {@link android.support.v4.app.FragmentStatePagerAdapter}; each of these
- * classes have simple code showing how to build a full user interface
- * with them.
- *
- * <p>For more information about how to use ViewPager, read <a
- * href="{@docRoot}training/implementing-navigation/lateral.html">Creating Swipe Views with
- * Tabs</a>.</p>
- *
- * <p>Below is a more complicated example of ViewPager, using it in conjunction
- * with {@link android.app.ActionBar} tabs.  You can find other examples of using
- * ViewPager in the API 4+ Support Demos and API 13+ Support Demos sample code.
- *
- * {@sample development/samples/Support13Demos/src/com/example/android/supportv13/app/ActionBarTabsPager.java
- *      complete}
+ * Framework copy of the support-v4 ViewPager class.
  */
 public class ViewPager extends ViewGroup {
     private static final String TAG = "ViewPager";
diff --git a/core/jni/android_app_ApplicationLoaders.cpp b/core/jni/android_app_ApplicationLoaders.cpp
index 24ee959..3e7c039 100644
--- a/core/jni/android_app_ApplicationLoaders.cpp
+++ b/core/jni/android_app_ApplicationLoaders.cpp
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+#define LOG_TAG "ApplicationLoaders"
+
 #include <nativehelper/ScopedUtfChars.h>
 #include <nativeloader/native_loader.h>
 #include <vulkan/vulkan_loader_data.h>
@@ -22,10 +24,17 @@
 
 static void setupVulkanLayerPath_native(JNIEnv* env, jobject clazz,
         jobject classLoader, jstring librarySearchPath) {
+    android_namespace_t* ns = android::FindNamespaceByClassLoader(env, classLoader);
     ScopedUtfChars layerPathChars(env, librarySearchPath);
+
     vulkan::LoaderData& loader_data = vulkan::LoaderData::GetInstance();
-    loader_data.layer_path = layerPathChars.c_str();
-    loader_data.app_namespace = android::FindNamespaceByClassLoader(env, classLoader);
+    if (loader_data.layer_path.empty()) {
+        loader_data.layer_path = layerPathChars.c_str();
+        loader_data.app_namespace = ns;
+    } else {
+        ALOGD("ignored Vulkan layer search path %s for namespace %p",
+                layerPathChars.c_str(), ns);
+    }
 }
 
 static const JNINativeMethod g_methods[] = {
diff --git a/core/jni/android_graphics_drawable_AnimatedVectorDrawable.cpp b/core/jni/android_graphics_drawable_AnimatedVectorDrawable.cpp
index 4b2a72d..47252ad 100644
--- a/core/jni/android_graphics_drawable_AnimatedVectorDrawable.cpp
+++ b/core/jni/android_graphics_drawable_AnimatedVectorDrawable.cpp
@@ -95,6 +95,12 @@
     return reinterpret_cast<jlong>(animatorSet);
 }
 
+static void setVectorDrawableTarget(JNIEnv*, jobject,jlong animatorPtr, jlong vectorDrawablePtr) {
+    VectorDrawable::Tree* tree = reinterpret_cast<VectorDrawable::Tree*>(vectorDrawablePtr);
+    PropertyValuesAnimatorSet* set = reinterpret_cast<PropertyValuesAnimatorSet*>(animatorPtr);
+    set->setVectorDrawable(tree);
+}
+
 static jlong createGroupPropertyHolder(JNIEnv*, jobject, jlong nativePtr, jint propertyId,
         jfloat startValue, jfloat endValue) {
     VectorDrawable::Group* group = reinterpret_cast<VectorDrawable::Group*>(nativePtr);
@@ -136,14 +142,24 @@
             startValue, endValue);
     return reinterpret_cast<jlong>(newHolder);
 }
-static void setPropertyHolderData(JNIEnv* env, jobject, jlong propertyHolderPtr,
+static void setFloatPropertyHolderData(JNIEnv* env, jobject, jlong propertyHolderPtr,
         jfloatArray srcData, jint length) {
-
     jfloat* propertyData = env->GetFloatArrayElements(srcData, nullptr);
-    PropertyValuesHolder* holder = reinterpret_cast<PropertyValuesHolder*>(propertyHolderPtr);
+    PropertyValuesHolderImpl<float>* holder =
+            reinterpret_cast<PropertyValuesHolderImpl<float>*>(propertyHolderPtr);
     holder->setPropertyDataSource(propertyData, length);
     env->ReleaseFloatArrayElements(srcData, propertyData, JNI_ABORT);
 }
+
+static void setIntPropertyHolderData(JNIEnv* env, jobject, jlong propertyHolderPtr,
+        jintArray srcData, jint length) {
+    jint* propertyData = env->GetIntArrayElements(srcData, nullptr);
+    PropertyValuesHolderImpl<int>* holder =
+            reinterpret_cast<PropertyValuesHolderImpl<int>*>(propertyHolderPtr);
+    holder->setPropertyDataSource(propertyData, length);
+    env->ReleaseIntArrayElements(srcData, propertyData, JNI_ABORT);
+}
+
 static void start(JNIEnv* env, jobject, jlong animatorSetPtr, jobject finishListener, jint id) {
     PropertyValuesAnimatorSet* set = reinterpret_cast<PropertyValuesAnimatorSet*>(animatorSetPtr);
     AnimationListener* listener = createAnimationListener(env, finishListener, id);
@@ -168,13 +184,15 @@
 
 static const JNINativeMethod gMethods[] = {
     {"nCreateAnimatorSet", "()J", (void*)createAnimatorSet},
+    {"nSetVectorDrawableTarget", "(JJ)V", (void*)setVectorDrawableTarget},
     {"nAddAnimator", "(JJJJJI)V", (void*)addAnimator},
     {"nCreateGroupPropertyHolder", "!(JIFF)J", (void*)createGroupPropertyHolder},
     {"nCreatePathDataPropertyHolder", "!(JJJ)J", (void*)createPathDataPropertyHolder},
     {"nCreatePathColorPropertyHolder", "!(JIII)J", (void*)createPathColorPropertyHolder},
     {"nCreatePathPropertyHolder", "!(JIFF)J", (void*)createPathPropertyHolder},
     {"nCreateRootAlphaPropertyHolder", "!(JFF)J", (void*)createRootAlphaPropertyHolder},
-    {"nSetPropertyHolderData", "(J[FI)V", (void*)setPropertyHolderData},
+    {"nSetPropertyHolderData", "(J[FI)V", (void*)setFloatPropertyHolderData},
+    {"nSetPropertyHolderData", "(J[II)V", (void*)setIntPropertyHolderData},
     {"nStart", "(JLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;I)V", (void*)start},
     {"nReverse", "(JLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;I)V", (void*)reverse},
     {"nEnd", "!(J)V", (void*)end},
diff --git a/core/jni/android_hardware_SensorManager.cpp b/core/jni/android_hardware_SensorManager.cpp
index f4237d2..50f23bf 100644
--- a/core/jni/android_hardware_SensorManager.cpp
+++ b/core/jni/android_hardware_SensorManager.cpp
@@ -30,7 +30,6 @@
 #include <utils/Looper.h>
 #include <utils/Vector.h>
 
-#include <endian.h>   // htobe64
 #include <map>
 
 namespace {
@@ -200,19 +199,9 @@
             env->SetObjectField(sensor, sensorOffsets.stringType, stringType);
         }
 
-        // java.util.UUID constructor UUID(long a, long b) assumes the two long inputs a and b
-        // correspond to first half and second half of the 16-byte stream in big-endian,
-        // respectively, if the byte stream is serialized according to RFC 4122 (Sec. 4.1.2).
-        //
-        // For Java UUID 12345678-90AB-CDEF-1122-334455667788, the byte stream will be
-        // (uint8_t) {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF, ....} according RFC 4122.
-        //
-        // According to Java UUID constructor document, the long parameter a should be always
-        // 0x12345678980ABCDEF regardless of host machine endianess. Thus, htobe64 is used to
-        // convert int64_t read directly, which will be in host-endian, to the big-endian required
-        // by Java constructor.
-        const int64_t (&uuid)[2] = nativeSensor.getUuid().i64;
-        env->CallVoidMethod(sensor, sensorOffsets.setUuid, htobe64(uuid[0]), htobe64(uuid[1]));
+        // TODO(b/29547335): Rename "setUuid" method to "setId".
+        int64_t id = nativeSensor.getId();
+        env->CallVoidMethod(sensor, sensorOffsets.setUuid, id, 0);
     }
     return sensor;
 }
diff --git a/core/jni/android_util_Process.cpp b/core/jni/android_util_Process.cpp
index f7a5e8a..3d952b0 100644
--- a/core/jni/android_util_Process.cpp
+++ b/core/jni/android_util_Process.cpp
@@ -832,6 +832,7 @@
     PROC_COMBINE = 0x100,
     PROC_PARENS = 0x200,
     PROC_QUOTES = 0x400,
+    PROC_CHAR = 0x800,
     PROC_OUT_STRING = 0x1000,
     PROC_OUT_LONG = 0x2000,
     PROC_OUT_FLOAT = 0x4000,
@@ -933,8 +934,13 @@
                 floatsData[di] = strtof(buffer+start, &end);
             }
             if ((mode&PROC_OUT_LONG) != 0 && di < NL) {
-                char* end;
-                longsData[di] = strtoll(buffer+start, &end, 10);
+                if ((mode&PROC_CHAR) != 0) {
+                    // Caller wants single first character returned as one long.
+                    longsData[di] = buffer[start];
+                } else {
+                    char* end;
+                    longsData[di] = strtoll(buffer+start, &end, 10);
+                }
             }
             if ((mode&PROC_OUT_STRING) != 0 && di < NS) {
                 jstring str = env->NewStringUTF(buffer+start);
diff --git a/core/jni/android_view_DisplayEventReceiver.cpp b/core/jni/android_view_DisplayEventReceiver.cpp
index f9936ae..a0d5904 100644
--- a/core/jni/android_view_DisplayEventReceiver.cpp
+++ b/core/jni/android_view_DisplayEventReceiver.cpp
@@ -81,14 +81,12 @@
 NativeDisplayEventReceiver::~NativeDisplayEventReceiver() {
     JNIEnv* env = AndroidRuntime::getJNIEnv();
     env->DeleteGlobalRef(mReceiverWeakGlobal);
+    ALOGV("receiver %p ~ dtor display event receiver.", this);
 }
 
 void NativeDisplayEventReceiver::dispose() {
     ALOGV("receiver %p ~ Disposing display event receiver.", this);
-
-    if (!mReceiver.initCheck()) {
-        mMessageQueue->getLooper()->removeFd(mReceiver.getFd());
-    }
+    DisplayEventDispatcher::dispose();
 }
 
 void NativeDisplayEventReceiver::dispatchVsync(nsecs_t timestamp, int32_t id, uint32_t count) {
@@ -143,7 +141,7 @@
 }
 
 static void nativeDispose(JNIEnv* env, jclass clazz, jlong receiverPtr) {
-    sp<NativeDisplayEventReceiver> receiver =
+    NativeDisplayEventReceiver* receiver =
             reinterpret_cast<NativeDisplayEventReceiver*>(receiverPtr);
     receiver->dispose();
     receiver->decStrong(gDisplayEventReceiverClassInfo.clazz); // drop reference held by the object
diff --git a/core/jni/android_view_RenderNode.cpp b/core/jni/android_view_RenderNode.cpp
index a6db0f4..b0028e1 100644
--- a/core/jni/android_view_RenderNode.cpp
+++ b/core/jni/android_view_RenderNode.cpp
@@ -534,6 +534,7 @@
 // ----------------------------------------------------------------------------
 
 jmethodID gSurfaceViewPositionUpdateMethod;
+jmethodID gSurfaceViewPositionLostMethod;
 
 static void android_view_RenderNode_requestPositionUpdates(JNIEnv* env, jobject,
         jlong renderNodePtr, jobject surfaceview) {
@@ -572,8 +573,9 @@
                 bounds.roundOut();
             }
 
+            incStrong(0);
             auto functor = std::bind(
-                std::mem_fn(&SurfaceViewPositionUpdater::doUpdatePosition), this,
+                std::mem_fn(&SurfaceViewPositionUpdater::doUpdatePositionAsync), this,
                 (jlong) info.canvasContext.getFrameNumber(),
                 (jint) bounds.left, (jint) bounds.top,
                 (jint) bounds.right, (jint) bounds.bottom);
@@ -581,6 +583,23 @@
             info.canvasContext.enqueueFrameWork(std::move(functor));
         }
 
+        virtual void onPositionLost(RenderNode& node, const TreeInfo* info) override {
+            if (CC_UNLIKELY(!mWeakRef || (info && !info->updateWindowPositions))) return;
+
+            ATRACE_NAME("SurfaceView position lost");
+            JNIEnv* env = jnienv();
+            jobject localref = env->NewLocalRef(mWeakRef);
+            if (CC_UNLIKELY(!localref)) {
+                jnienv()->DeleteWeakGlobalRef(mWeakRef);
+                mWeakRef = nullptr;
+                return;
+            }
+
+            env->CallVoidMethod(localref, gSurfaceViewPositionLostMethod,
+                    info ? info->canvasContext.getFrameNumber() : 0);
+            env->DeleteLocalRef(localref);
+        }
+
     private:
         JNIEnv* jnienv() {
             JNIEnv* env;
@@ -590,21 +609,23 @@
             return env;
         }
 
-        void doUpdatePosition(jlong frameNumber, jint left, jint top,
+        void doUpdatePositionAsync(jlong frameNumber, jint left, jint top,
                 jint right, jint bottom) {
             ATRACE_NAME("Update SurfaceView position");
 
             JNIEnv* env = jnienv();
             jobject localref = env->NewLocalRef(mWeakRef);
             if (CC_UNLIKELY(!localref)) {
-                jnienv()->DeleteWeakGlobalRef(mWeakRef);
+                env->DeleteWeakGlobalRef(mWeakRef);
                 mWeakRef = nullptr;
-                return;
+            } else {
+                env->CallVoidMethod(localref, gSurfaceViewPositionUpdateMethod,
+                        frameNumber, left, top, right, bottom);
+                env->DeleteLocalRef(localref);
             }
 
-            env->CallVoidMethod(localref, gSurfaceViewPositionUpdateMethod,
-                    frameNumber, left, top, right, bottom);
-            env->DeleteLocalRef(localref);
+            // We need to release ourselves here
+            decStrong(0);
         }
 
         JavaVM* mVm;
@@ -701,6 +722,8 @@
     jclass clazz = FindClassOrDie(env, "android/view/SurfaceView");
     gSurfaceViewPositionUpdateMethod = GetMethodIDOrDie(env, clazz,
             "updateWindowPositionRT", "(JIIII)V");
+    gSurfaceViewPositionLostMethod = GetMethodIDOrDie(env, clazz,
+            "windowPositionLostRT", "(J)V");
     clazz = FindClassOrDie(env, "android/view/RenderNode");
     gOnRenderNodeDetached = GetMethodIDOrDie(env, clazz,
             "onRenderNodeDetached", "()V");
diff --git a/core/jni/android_view_SurfaceControl.cpp b/core/jni/android_view_SurfaceControl.cpp
index a9ed9dc..fa1313b 100644
--- a/core/jni/android_view_SurfaceControl.cpp
+++ b/core/jni/android_view_SurfaceControl.cpp
@@ -248,6 +248,15 @@
     }
 }
 
+static void nativeSetGeometryAppliesWithResize(JNIEnv* env, jclass clazz,
+        jlong nativeObject) {
+    SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject);
+    status_t err = ctrl->setGeometryAppliesWithResize();
+    if (err < 0 && err != NO_INIT) {
+        doThrowIAE(env);
+    }
+}
+
 static void nativeSetSize(JNIEnv* env, jclass clazz, jlong nativeObject, jint w, jint h) {
     SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject);
     status_t err = ctrl->setSize(w, h);
@@ -617,6 +626,16 @@
     return javaObjectForIBinder(env, ctrl->getHandle());
 }
 
+static jboolean nativeGetTransformToDisplayInverse(JNIEnv* env, jclass clazz, jlong nativeObject) {
+    bool out = false;
+    auto ctrl = reinterpret_cast<SurfaceControl *>(nativeObject);
+    status_t status = ctrl->getTransformToDisplayInverse(&out);
+    if (status != NO_ERROR) {
+        return false;
+    }
+    return out;
+}
+
 static jobject nativeGetHdrCapabilities(JNIEnv* env, jclass clazz, jobject tokenObject) {
     sp<IBinder> token(ibinderForJavaObject(env, tokenObject));
     if (token == NULL) return NULL;
@@ -658,6 +677,8 @@
             (void*)nativeSetLayer },
     {"nativeSetPosition", "(JFF)V",
             (void*)nativeSetPosition },
+    {"nativeSetGeometryAppliesWithResize", "(J)V",
+            (void*)nativeSetGeometryAppliesWithResize },
     {"nativeSetSize", "(JII)V",
             (void*)nativeSetSize },
     {"nativeSetTransparentRegionHint", "(JLandroid/graphics/Region;)V",
@@ -711,7 +732,9 @@
     {"nativeSetOverrideScalingMode", "(JI)V",
             (void*)nativeSetOverrideScalingMode },
     {"nativeGetHandle", "(J)Landroid/os/IBinder;",
-            (void*)nativeGetHandle }
+            (void*)nativeGetHandle },
+    {"nativeGetTransformToDisplayInverse", "(J)Z",
+            (void*)nativeGetTransformToDisplayInverse },
 };
 
 int register_android_view_SurfaceControl(JNIEnv* env)
diff --git a/core/jni/android_view_ThreadedRenderer.cpp b/core/jni/android_view_ThreadedRenderer.cpp
index 5b4bfe9..61a0bda 100644
--- a/core/jni/android_view_ThreadedRenderer.cpp
+++ b/core/jni/android_view_ThreadedRenderer.cpp
@@ -32,6 +32,7 @@
 #include <utils/Looper.h>
 #include <utils/RefBase.h>
 #include <utils/StrongPointer.h>
+#include <utils/Timers.h>
 #include <android_runtime/android_view_Surface.h>
 #include <system/window.h>
 
@@ -44,6 +45,7 @@
 #include <FrameMetricsObserver.h>
 #include <IContextFactory.h>
 #include <JankTracker.h>
+#include <PropertyValuesAnimatorSet.h>
 #include <RenderNode.h>
 #include <renderthread/CanvasContext.h>
 #include <renderthread/RenderProxy.h>
@@ -122,6 +124,31 @@
     std::vector<OnFinishedEvent> mOnFinishedEvents;
 };
 
+class FinishAndInvokeListener : public MessageHandler {
+public:
+    explicit FinishAndInvokeListener(PropertyValuesAnimatorSet* anim)
+            : mAnimator(anim) {
+        mListener = anim->getOneShotListener();
+        mRequestId = anim->getRequestId();
+    }
+
+    virtual void handleMessage(const Message& message) {
+        if (mAnimator->getRequestId() == mRequestId) {
+            // Request Id has not changed, meaning there's no animation lifecyle change since the
+            // message is posted, so go ahead and call finish to make sure the PlayState is properly
+            // updated. This is needed because before the next frame comes in from UI thread to
+            // trigger an animation update, there could be reverse/cancel etc. So we need to update
+            // the playstate in time to ensure all the subsequent events get chained properly.
+            mAnimator->end();
+        }
+        mListener->onAnimationFinished(nullptr);
+    }
+private:
+    sp<PropertyValuesAnimatorSet> mAnimator;
+    sp<AnimationListener> mListener;
+    uint32_t mRequestId;
+};
+
 class RenderingException : public MessageHandler {
 public:
     RenderingException(JavaVM* vm, const std::string& message)
@@ -160,6 +187,15 @@
 
     virtual void prepareTree(TreeInfo& info) override {
         info.errorHandler = this;
+
+        for (auto& anim : mVectorDrawableAnimators) {
+            // Assume that the property change in VD from the animators will not be consumed. Mark
+            // otherwise if the VDs are found in the display list tree. For VDs that are not in
+            // the display list tree, we stop providing animation pulses by 1) removing them from
+            // the animation list, 2) post a delayed message to end them at end time so their
+            // listeners can receive the corresponding callbacks.
+            anim->getVectorDrawable()->setPropertyChangeWillBeConsumed(false);
+        }
         // TODO: This is hacky
         info.windowInsetLeft = -stagingProperties().getLeft();
         info.windowInsetTop = -stagingProperties().getTop();
@@ -169,16 +205,46 @@
         info.windowInsetLeft = 0;
         info.windowInsetTop = 0;
         info.errorHandler = nullptr;
+
+        for (auto it = mVectorDrawableAnimators.begin(); it != mVectorDrawableAnimators.end();) {
+            if (!(*it)->getVectorDrawable()->getPropertyChangeWillBeConsumed()) {
+                // Vector Drawable is not in the display list, we should remove this animator from
+                // the list and post a delayed message to end the animator.
+                detachVectorDrawableAnimator(it->get());
+                it = mVectorDrawableAnimators.erase(it);
+            } else {
+                ++it;
+            }
+        }
+        info.out.hasAnimations |= !mVectorDrawableAnimators.empty();
     }
 
     void sendMessage(const sp<MessageHandler>& handler) {
         mLooper->sendMessage(handler, 0);
     }
 
+    void sendMessageDelayed(const sp<MessageHandler>& handler, nsecs_t delayInMs) {
+        mLooper->sendMessageDelayed(ms2ns(delayInMs), handler, 0);
+    }
+
     void attachAnimatingNode(RenderNode* animatingNode) {
         mPendingAnimatingRenderNodes.push_back(animatingNode);
     }
 
+    void attachPendingVectorDrawableAnimators() {
+        mVectorDrawableAnimators.insert(mPendingVectorDrawableAnimators.begin(),
+                mPendingVectorDrawableAnimators.end());
+        mPendingVectorDrawableAnimators.clear();
+    }
+
+    void detachAnimators() {
+        // Remove animators from the list and post a delayed message in future to end the animator
+        for (auto& anim : mVectorDrawableAnimators) {
+            detachVectorDrawableAnimator(anim.get());
+        }
+        mVectorDrawableAnimators.clear();
+    }
+
     void doAttachAnimatingNodes(AnimationContext* context) {
         for (size_t i = 0; i < mPendingAnimatingRenderNodes.size(); i++) {
             RenderNode* node = mPendingAnimatingRenderNodes[i].get();
@@ -187,17 +253,62 @@
         mPendingAnimatingRenderNodes.clear();
     }
 
+    void runVectorDrawableAnimators(AnimationContext* context) {
+        for (auto it = mVectorDrawableAnimators.begin(); it != mVectorDrawableAnimators.end();) {
+            if ((*it)->animate(*context)) {
+                it = mVectorDrawableAnimators.erase(it);
+            } else {
+                ++it;
+            }
+        }
+    }
+
+    void pushStagingVectorDrawableAnimators(AnimationContext* context) {
+        for (auto& anim : mVectorDrawableAnimators) {
+            anim->pushStaging(*context);
+        }
+    }
+
     void destroy() {
         for (auto& renderNode : mPendingAnimatingRenderNodes) {
             renderNode->animators().endAllStagingAnimators();
         }
         mPendingAnimatingRenderNodes.clear();
+        mPendingVectorDrawableAnimators.clear();
+    }
+
+    void addVectorDrawableAnimator(PropertyValuesAnimatorSet* anim) {
+        mPendingVectorDrawableAnimators.insert(anim);
     }
 
 private:
     sp<Looper> mLooper;
     JavaVM* mVm;
     std::vector< sp<RenderNode> > mPendingAnimatingRenderNodes;
+    std::set< sp<PropertyValuesAnimatorSet> > mPendingVectorDrawableAnimators;
+    std::set< sp<PropertyValuesAnimatorSet> > mVectorDrawableAnimators;
+    void detachVectorDrawableAnimator(PropertyValuesAnimatorSet* anim) {
+        if (anim->isInfinite() || !anim->isRunning()) {
+            // Do not need to post anything if the animation is infinite (i.e. no meaningful
+            // end listener action), or if the animation has already ended.
+            return;
+        }
+        nsecs_t remainingTimeInMs = anim->getRemainingPlayTime();
+        // Post a delayed onFinished event that is scheduled to be handled when the animator ends.
+        if (anim->getOneShotListener()) {
+            // VectorDrawable's oneshot listener is updated when there are user triggered animation
+            // lifecycle changes, such as start(), end(), etc. By using checking and clearing
+            // one shot listener, we ensure the same end listener event gets posted only once.
+            // Therefore no duplicates. Another benefit of using one shot listener is that no
+            // removal is necessary: the end time of animation will not change unless triggered by
+            // user events, in which case the already posted listener's id will become stale, and
+            // the onFinished callback will then be ignored.
+            sp<FinishAndInvokeListener> message
+                    = new FinishAndInvokeListener(anim);
+            sendMessageDelayed(message, remainingTimeInMs);
+            anim->clearOneShotListener();
+        }
+    }
 };
 
 class AnimationContextBridge : public AnimationContext {
@@ -213,8 +324,19 @@
     virtual void startFrame(TreeInfo::TraversalMode mode) {
         if (mode == TreeInfo::MODE_FULL) {
             mRootNode->doAttachAnimatingNodes(this);
+            mRootNode->attachPendingVectorDrawableAnimators();
         }
         AnimationContext::startFrame(mode);
+        // Run VectorDrawable animators in the beginning of the frame instead of during prepareTree,
+        // because one VD can be in multiple render nodes' display list. So it's more simple to
+        // run them all at once before prepareTree than running them or checking whether they have
+        // already ran in each RenderNode. Note that these animators don't damage the RenderNodes.
+        // The damaging is done in prepareTree as needed after checking whether a VD has been
+        // modified.
+        if (mode == TreeInfo::MODE_FULL) {
+            mRootNode->pushStagingVectorDrawableAnimators(this);
+        }
+        mRootNode->runVectorDrawableAnimators(this);
     }
 
     // Runs any animations still left in mCurrentFrameAnimations
@@ -223,6 +345,10 @@
         postOnFinishedEvents();
     }
 
+    virtual void detachAnimators() override {
+        mRootNode->detachAnimators();
+    }
+
     virtual void callOnFinished(BaseRenderNodeAnimator* animator, AnimationListener* listener) {
         OnFinishedEvent event(animator, listener);
         mOnFinishedEvents.push_back(event);
@@ -230,6 +356,7 @@
 
     virtual void destroy() {
         AnimationContext::destroy();
+        detachAnimators();
         postOnFinishedEvents();
     }
 
@@ -528,6 +655,13 @@
     rootRenderNode->attachAnimatingNode(animatingNode);
 }
 
+static void android_view_ThreadedRenderer_registerVectorDrawableAnimator(JNIEnv* env, jobject clazz,
+        jlong rootNodePtr, jlong animatorPtr) {
+    RootRenderNode* rootRenderNode = reinterpret_cast<RootRenderNode*>(rootNodePtr);
+    PropertyValuesAnimatorSet* animator = reinterpret_cast<PropertyValuesAnimatorSet*>(animatorPtr);
+    rootRenderNode->addVectorDrawableAnimator(animator);
+}
+
 static void android_view_ThreadedRenderer_invokeFunctor(JNIEnv* env, jobject clazz,
         jlong functorPtr, jboolean waitForCompletion) {
     Functor* functor = reinterpret_cast<Functor*>(functorPtr);
@@ -739,6 +873,7 @@
     { "nSyncAndDrawFrame", "(J[JI)I", (void*) android_view_ThreadedRenderer_syncAndDrawFrame },
     { "nDestroy", "(JJ)V", (void*) android_view_ThreadedRenderer_destroy },
     { "nRegisterAnimatingRenderNode", "(JJ)V", (void*) android_view_ThreadedRenderer_registerAnimatingRenderNode },
+    { "nRegisterVectorDrawableAnimator", "(JJ)V", (void*) android_view_ThreadedRenderer_registerVectorDrawableAnimator },
     { "nInvokeFunctor", "(JZ)V", (void*) android_view_ThreadedRenderer_invokeFunctor },
     { "nCreateTextureLayer", "(J)J", (void*) android_view_ThreadedRenderer_createTextureLayer },
     { "nBuildLayer", "(JJ)V", (void*) android_view_ThreadedRenderer_buildLayer },
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 89abeff..3c71dd9 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -193,6 +193,7 @@
     <protected-broadcast android:name="android.btopp.intent.action.OPEN" />
     <protected-broadcast android:name="android.btopp.intent.action.OPEN_INBOUND" />
     <protected-broadcast android:name="android.btopp.intent.action.TRANSFER_COMPLETE" />
+    <protected-broadcast android:name="com.android.bluetooth.gatt.REFRESH_BATCHED_SCAN" />
     <protected-broadcast android:name="com.android.bluetooth.pbap.authchall" />
     <protected-broadcast android:name="com.android.bluetooth.pbap.userconfirmtimeout" />
     <protected-broadcast android:name="com.android.bluetooth.pbap.authresponse" />
@@ -360,6 +361,7 @@
     <!-- Added in N -->
     <protected-broadcast android:name="android.intent.action.ANR" />
     <protected-broadcast android:name="android.intent.action.CALL" />
+    <protected-broadcast android:name="android.intent.action.CALL_PRIVILEGED" />
     <protected-broadcast android:name="android.intent.action.DROPBOX_ENTRY_ADDED" />
     <protected-broadcast android:name="android.intent.action.INPUT_METHOD_CHANGED" />
     <protected-broadcast android:name="android.intent.action.internal_sim_state_changed" />
@@ -468,18 +470,13 @@
     <protected-broadcast android:name="android.net.wifi.PASSPOINT_ICON_RECEIVED" />
     <protected-broadcast android:name="com.android.server.notification.CountdownConditionProvider" />
 
-    <protected-broadcast android:name="com.android.ims.IMS_SERVICE_UP" />
-    <protected-broadcast android:name="com.android.ims.IMS_INCOMING_CALL" />
-    <protected-broadcast android:name="com.android.ims.internal.uce.UCE_SERVICE_UP" />
-    <protected-broadcast android:name="com.android.intent.action.IMS_FEATURE_CHANGED" />
-    <protected-broadcast android:name="com.android.intent.action.IMS_CONFIG_CHANGED" />
-
     <protected-broadcast android:name="com.android.internal.location.ALARM_WAKEUP" />
     <protected-broadcast android:name="com.android.internal.location.ALARM_TIMEOUT" />
     <protected-broadcast android:name="android.intent.action.GLOBAL_BUTTON" />
 
     <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_AVAILABLE" />
     <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNAVAILABLE" />
+    <protected-broadcast android:name="com.android.server.pm.DISABLE_QUIET_MODE_AFTER_UNLOCK" />
 
     <protected-broadcast android:name="com.android.server.am.ACTION_RESET_DEMO" />
 
@@ -1623,6 +1620,14 @@
     <permission android:name="android.permission.MANAGE_USERS"
         android:protectionLevel="signature|privileged" />
 
+    <!-- @hide Allows an application to create, remove users and get the list of
+         users on the device. Applications holding this permission can only create restricted,
+         guest, managed, and ephemeral users. For creating other kind of users,
+         {@link android.Manifest.permission#MANAGE_USERS} is needed.
+         This permission is not available to third party applications. -->
+    <permission android:name="android.permission.CREATE_USERS"
+        android:protectionLevel="signature" />
+
     <!-- @hide Allows an application to set the profile owners and the device owner.
          This permission is not available to third party applications.-->
     <permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"
diff --git a/core/res/res/drawable-nodpi/platlogo.xml b/core/res/res/drawable-nodpi/platlogo.xml
index defa83a..516f252 100644
--- a/core/res/res/drawable-nodpi/platlogo.xml
+++ b/core/res/res/drawable-nodpi/platlogo.xml
@@ -19,10 +19,10 @@
         android:viewportWidth="48.0"
         android:viewportHeight="48.0">
     <path
-        android:fillColor="#FF7E5BBF"
+        android:fillColor="#FFc7d4b6"
         android:pathData="M32.0,12.5l0.0,28.0l12.0,-5.0l0.0,-28.0z"/>
     <path
-        android:fillColor="#FF7E5BBF"
+        android:fillColor="#FFfbd3cb"
         android:pathData="M4.0,40.5l12.0,-5.0l0.0,-11.0l-12.0,-12.0z"/>
     <path
         android:fillColor="#40000000"
@@ -31,7 +31,7 @@
         android:fillColor="#40000000"
         android:pathData="M4.0,12.5l12.0,12.0l0.0,4.0z"/>
     <path
-        android:fillColor="#FF55C4F5"
+        android:fillColor="#FFe0e0d6"
         android:pathData="M32.0,23.5l-16.0,-16.0l-12.0,5.0l0.0,0.0l12.0,12.0l16.0,16.0l12.0,-5.0l0.0,0.0z"/>
 </vector>
 
diff --git a/core/res/res/drawable-watch/dialog_background_material.xml b/core/res/res/drawable-watch/dialog_background_material.xml
new file mode 100644
index 0000000..de52f08
--- /dev/null
+++ b/core/res/res/drawable-watch/dialog_background_material.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
+    <solid android:color="?attr/colorBackground" />
+</shape>
diff --git a/core/res/res/layout-notround/alert_dialog_header_micro.xml b/core/res/res/layout-notround-watch/alert_dialog_header_micro.xml
similarity index 100%
rename from core/res/res/layout-notround/alert_dialog_header_micro.xml
rename to core/res/res/layout-notround-watch/alert_dialog_header_micro.xml
diff --git a/core/res/res/layout-round/alert_dialog_header_micro.xml b/core/res/res/layout-round-watch/alert_dialog_header_micro.xml
similarity index 100%
rename from core/res/res/layout-round/alert_dialog_header_micro.xml
rename to core/res/res/layout-round-watch/alert_dialog_header_micro.xml
diff --git a/core/res/res/layout-watch/alert_dialog_material.xml b/core/res/res/layout-watch/alert_dialog_material.xml
new file mode 100644
index 0000000..e627d42
--- /dev/null
+++ b/core/res/res/layout-watch/alert_dialog_material.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ 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
+  -->
+<FrameLayout
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        android:id="@+id/parentPanel"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+    <ScrollView
+            android:id="@+id/scrollView"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
+        <LinearLayout
+                android:orientation="vertical"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content">
+            <!-- Top Panel -->
+            <FrameLayout
+                    android:paddingLeft="?dialogPreferredPadding"
+                    android:paddingRight="?dialogPreferredPadding"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:id="@+id/topPanel">
+                <include android:id="@+id/title_template"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        layout="@layout/alert_dialog_header_micro"/>
+            </FrameLayout>
+
+            <!-- Content Panel -->
+            <FrameLayout android:id="@+id/contentPanel"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:clipToPadding="false">
+                <TextView android:id="@+id/message"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:textAppearance="@style/TextAppearance.Material.Body1"
+                        android:paddingStart="?dialogPreferredPadding"
+                        android:paddingEnd="?dialogPreferredPadding"
+                        android:paddingTop="8dip"
+                        android:paddingBottom="8dip"/>
+            </FrameLayout>
+
+            <!-- Custom Panel, to replace content panel if needed -->
+            <FrameLayout android:id="@+id/customPanel"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:minHeight="64dp">
+                <FrameLayout android:id="@+android:id/custom"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content" />
+            </FrameLayout>
+
+            <!-- Button Panel -->
+            <FrameLayout
+                    android:id="@+id/buttonPanel"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content">
+                <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:divider="?android:attr/dividerHorizontal"
+                        android:showDividers="beginning"
+                        android:dividerPadding="0dip"
+                        android:orientation="vertical"
+                        android:minHeight="@dimen/alert_dialog_button_bar_height"
+                        android:paddingBottom="?dialogPreferredPadding"
+                        style="?android:attr/buttonBarStyle"
+                        android:layoutDirection="locale"
+                        android:measureWithLargestChild="true">
+                    <Button android:id="@+id/button1"
+                            android:layout_gravity="start"
+                            android:layout_weight="1"
+                            android:layout_marginLeft="?dialogPreferredPadding"
+                            android:layout_marginRight="?dialogPreferredPadding"
+                            style="?android:attr/buttonBarButtonStyle"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content" />
+                    <Button android:id="@+id/button3"
+                            android:layout_gravity="start"
+                            android:layout_weight="1"
+                            android:layout_marginLeft="?dialogPreferredPadding"
+                            android:layout_marginRight="?dialogPreferredPadding"
+                            style="?android:attr/buttonBarButtonStyle"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content" />
+                    <Button android:id="@+id/button2"
+                            android:layout_gravity="start"
+                            android:layout_weight="1"
+                            android:layout_marginLeft="?dialogPreferredPadding"
+                            android:layout_marginRight="?dialogPreferredPadding"
+                            style="?android:attr/buttonBarButtonStyle"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content" />
+                </LinearLayout>
+            </FrameLayout>
+        </LinearLayout>
+    </ScrollView>
+</FrameLayout>
diff --git a/core/res/res/layout-watch/input_method_extract_view.xml b/core/res/res/layout-watch/input_method_extract_view.xml
index de4ca69..038b766 100644
--- a/core/res/res/layout-watch/input_method_extract_view.xml
+++ b/core/res/res/layout-watch/input_method_extract_view.xml
@@ -31,7 +31,8 @@
         android:inputType="text"
         android:layout_weight="1"
         android:fontFamily="sans-serif-condensed-light"
-        android:textColor="@color/primary_text_default_material_dark"
+        android:textColor="@color/primary_text_material_dark"
+        android:textColorHint="@color/secondary_text_material_dark"
         android:textColorHighlight="@color/accent_material_dark"
         android:textSize="18dp"
         android:gravity="bottom|right"
diff --git a/core/res/res/layout/number_picker_with_selector_wheel_micro.xml b/core/res/res/layout-watch/number_picker_material.xml
similarity index 100%
rename from core/res/res/layout/number_picker_with_selector_wheel_micro.xml
rename to core/res/res/layout-watch/number_picker_material.xml
diff --git a/core/res/res/layout-watch/preference_material.xml b/core/res/res/layout-watch/preference_material.xml
new file mode 100644
index 0000000..5da64fc
--- /dev/null
+++ b/core/res/res/layout-watch/preference_material.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<!-- Layout for a Preference in a PreferenceActivity. The
+     Preference is able to place a specific widget for its particular
+     type in the "widget_frame" layout. -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:minHeight="?attr/listPreferredItemHeightSmall"
+    android:gravity="center_vertical"
+    android:paddingStart="?attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?attr/listPreferredItemPaddingEnd"
+    android:background="?attr/activatedBackgroundIndicator"
+    android:clipToPadding="false">
+
+    <LinearLayout
+        android:id="@+id/icon_frame"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="-4dp"
+        android:minWidth="32dp"
+        android:gravity="start|center_vertical"
+        android:orientation="horizontal"
+        android:paddingEnd="8dp"
+        android:paddingTop="4dp"
+        android:paddingBottom="4dp">
+        <com.android.internal.widget.PreferenceImageView
+            android:id="@+id/icon"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:maxWidth="24dp"
+            android:maxHeight="24dp" />
+    </LinearLayout>
+
+    <RelativeLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:paddingTop="16dp"
+        android:paddingBottom="16dp">
+
+        <TextView android:id="@+id/title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:maxLines="2"
+            android:textAppearance="?attr/textAppearanceListItem"
+            android:ellipsize="end" />
+
+        <TextView android:id="@+id/summary"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/title"
+            android:layout_alignStart="@id/title"
+            android:textAppearance="?attr/textAppearanceListItemSecondary"
+            android:textColor="?attr/textColorSecondary"
+            android:maxLines="10" />
+
+    </RelativeLayout>
+
+    <!-- Preference should place its actual preference widget here. -->
+    <LinearLayout android:id="@+id/widget_frame"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:gravity="end|center_vertical"
+        android:paddingStart="4dp"
+        android:orientation="vertical" />
+
+</LinearLayout>
diff --git a/core/res/res/layout/alert_dialog_micro.xml b/core/res/res/layout/alert_dialog_micro.xml
deleted file mode 100644
index 04f8a2a..0000000
--- a/core/res/res/layout/alert_dialog_micro.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ 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
-  -->
-<FrameLayout
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:id="@+id/parentPanel"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-    <ScrollView
-            android:id="@+id/scrollView"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent">
-        <LinearLayout
-                android:orientation="vertical"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content">
-            <!-- Top Panel -->
-            <FrameLayout
-                    android:paddingLeft="@dimen/dialog_padding_micro"
-                    android:paddingRight="@dimen/dialog_padding_micro"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:id="@+id/topPanel">
-                <include android:id="@+id/title_template"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        layout="@layout/alert_dialog_header_micro"/>
-            </FrameLayout>
-
-            <!-- Content Panel -->
-            <FrameLayout android:id="@+id/contentPanel"
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:clipToPadding="false">
-                <TextView android:id="@+id/message"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:textAppearance="@style/TextAppearance.Micro.AlertDialog.Message"
-                        android:paddingStart="@dimen/dialog_padding_micro"
-                        android:paddingEnd="@dimen/dialog_padding_micro"
-                        android:paddingTop="8dip"
-                        android:paddingBottom="8dip"/>
-            </FrameLayout>
-
-            <!-- Custom Panel, to replace content panel if needed -->
-            <FrameLayout android:id="@+id/customPanel"
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:minHeight="64dp">
-                <FrameLayout android:id="@+android:id/custom"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content" />
-            </FrameLayout>
-
-            <!-- Button Panel -->
-            <FrameLayout
-                    android:id="@+id/buttonPanel"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content">
-                <LinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:divider="?android:attr/dividerHorizontal"
-                        android:showDividers="beginning"
-                        android:dividerPadding="0dip"
-                        android:orientation="vertical"
-                        android:minHeight="@dimen/alert_dialog_button_bar_height"
-                        android:paddingBottom="@dimen/dialog_padding_micro"
-                        style="?android:attr/buttonBarStyle"
-                        android:layoutDirection="locale"
-                        android:measureWithLargestChild="true">
-                    <Button android:id="@+id/button1"
-                            android:layout_gravity="start"
-                            android:layout_weight="1"
-                            android:layout_marginLeft="@dimen/dialog_padding_micro"
-                            android:layout_marginRight="@dimen/dialog_padding_micro"
-                            style="?android:attr/buttonBarButtonStyle"
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content" />
-                    <Button android:id="@+id/button3"
-                            android:layout_gravity="start"
-                            android:layout_weight="1"
-                            android:layout_marginLeft="@dimen/dialog_padding_micro"
-                            android:layout_marginRight="@dimen/dialog_padding_micro"
-                            style="?android:attr/buttonBarButtonStyle"
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content" />
-                    <Button android:id="@+id/button2"
-                            android:layout_gravity="start"
-                            android:layout_weight="1"
-                            android:layout_marginLeft="@dimen/dialog_padding_micro"
-                            android:layout_marginRight="@dimen/dialog_padding_micro"
-                            style="?android:attr/buttonBarButtonStyle"
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content" />
-                </LinearLayout>
-            </FrameLayout>
-        </LinearLayout>
-    </ScrollView>
-</FrameLayout>
diff --git a/core/res/res/layout/immersive_mode_cling.xml b/core/res/res/layout/immersive_mode_cling.xml
index 28fbea5..b08b0f4 100644
--- a/core/res/res/layout/immersive_mode_cling.xml
+++ b/core/res/res/layout/immersive_mode_cling.xml
@@ -16,7 +16,7 @@
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:background="#ff009688"
+        android:background="?android:attr/colorAccent"
         android:gravity="center_vertical"
         android:paddingBottom="24dp">
 
@@ -47,7 +47,7 @@
                 android:paddingTop="8dp"
                 android:scaleType="center"
                 android:src="@drawable/ic_expand_more_48dp"
-                android:tint="#ff009688"/>
+                android:tint="?android:attr/colorAccent"/>
     </FrameLayout>
 
     <TextView
diff --git a/core/res/res/layout/notification_material_action_list.xml b/core/res/res/layout/notification_material_action_list.xml
index 4670dca..caeb43a 100644
--- a/core/res/res/layout/notification_material_action_list.xml
+++ b/core/res/res/layout/notification_material_action_list.xml
@@ -17,7 +17,8 @@
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/actions_container"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content">
+        android:layout_height="wrap_content"
+        android:layout_gravity="bottom">
     <com.android.internal.widget.NotificationActionListLayout
             android:id="@+id/actions"
             android:layout_width="match_parent"
diff --git a/core/res/res/layout/notification_template_header.xml b/core/res/res/layout/notification_template_header.xml
index 38ea92a..38f671c2 100644
--- a/core/res/res/layout/notification_template_header.xml
+++ b/core/res/res/layout/notification_template_header.xml
@@ -89,7 +89,7 @@
         android:layout="@layout/notification_template_part_chronometer"
         android:visibility="gone"
         />
-    <ImageView
+    <com.android.internal.widget.NotificationExpandButton
         android:id="@+id/expand_button"
         android:background="@null"
         android:layout_width="wrap_content"
diff --git a/core/res/res/layout/notification_template_material_big_base.xml b/core/res/res/layout/notification_template_material_big_base.xml
index c54fa18..8b0b476 100644
--- a/core/res/res/layout/notification_template_material_big_base.xml
+++ b/core/res/res/layout/notification_template_material_big_base.xml
@@ -14,7 +14,7 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License
   -->
-<LinearLayout
+<FrameLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/status_bar_latest_event_content"
     android:layout_width="match_parent"
@@ -22,43 +22,49 @@
     android:orientation="vertical"
     android:tag="big"
     >
-    <FrameLayout
-        android:id="@+id/status_bar_latest_event_content"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_gravity="top"
-        android:tag="base"
-        >
-        <include layout="@layout/notification_template_header" />
-        <LinearLayout
-            android:id="@+id/notification_main_column"
+    <LinearLayout
+            android:id="@+id/notification_action_list_margin_target"
             android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_gravity="top"
-            android:layout_marginStart="@dimen/notification_content_margin_start"
-            android:layout_marginEnd="@dimen/notification_content_margin_end"
-            android:layout_marginTop="@dimen/notification_content_margin_top"
-            android:layout_marginBottom="@dimen/notification_content_margin_bottom"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="@dimen/notification_action_list_height"
             android:orientation="vertical"
             >
-            <include layout="@layout/notification_template_part_line1" />
-            <include layout="@layout/notification_template_text" />
-        </LinearLayout>
         <FrameLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_gravity="bottom"
-            android:layout_marginStart="@dimen/notification_content_margin_start"
-            android:layout_marginBottom="15dp"
-            android:layout_marginEnd="@dimen/notification_content_margin_end">
-            <include layout="@layout/notification_template_progress" />
+            android:layout_gravity="top"
+            >
+            <include layout="@layout/notification_template_header" />
+            <LinearLayout
+                android:id="@+id/notification_main_column"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_gravity="top"
+                android:layout_marginStart="@dimen/notification_content_margin_start"
+                android:layout_marginEnd="@dimen/notification_content_margin_end"
+                android:layout_marginTop="@dimen/notification_content_margin_top"
+                android:layout_marginBottom="@dimen/notification_content_margin_bottom"
+                android:orientation="vertical"
+                >
+                <include layout="@layout/notification_template_part_line1" />
+                <include layout="@layout/notification_template_text" />
+            </LinearLayout>
+            <FrameLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_gravity="bottom"
+                android:layout_marginStart="@dimen/notification_content_margin_start"
+                android:layout_marginBottom="15dp"
+                android:layout_marginEnd="@dimen/notification_content_margin_end">
+                <include layout="@layout/notification_template_progress" />
+            </FrameLayout>
+            <include layout="@layout/notification_template_right_icon" />
         </FrameLayout>
-        <include layout="@layout/notification_template_right_icon" />
-    </FrameLayout>
-    <ViewStub android:layout="@layout/notification_material_reply_text"
-            android:id="@+id/notification_material_reply_container"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-    />
+        <ViewStub android:layout="@layout/notification_material_reply_text"
+                android:id="@+id/notification_material_reply_container"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+        />
+    </LinearLayout>
     <include layout="@layout/notification_material_action_list" />
-</LinearLayout>
+</FrameLayout>
diff --git a/core/res/res/layout/notification_template_material_big_picture.xml b/core/res/res/layout/notification_template_material_big_picture.xml
index d87b9d9..83c0fec 100644
--- a/core/res/res/layout/notification_template_material_big_picture.xml
+++ b/core/res/res/layout/notification_template_material_big_picture.xml
@@ -30,6 +30,7 @@
             android:layout_marginTop="@dimen/notification_content_margin_top"
             android:clipToPadding="false"
             android:orientation="vertical"
+            android:id="@+id/notification_action_list_margin_target"
             >
         <LinearLayout
             android:id="@+id/notification_main_column"
@@ -60,6 +61,6 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 />
-        <include layout="@layout/notification_material_action_list" />
     </LinearLayout>
+    <include layout="@layout/notification_material_action_list" />
 </FrameLayout>
diff --git a/core/res/res/layout/notification_template_material_big_text.xml b/core/res/res/layout/notification_template_material_big_text.xml
index 71600ef..f4f783e 100644
--- a/core/res/res/layout/notification_template_material_big_text.xml
+++ b/core/res/res/layout/notification_template_material_big_text.xml
@@ -24,10 +24,12 @@
     <include layout="@layout/notification_template_header" />
 
     <LinearLayout
+            android:id="@+id/notification_action_list_margin_target"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:layout_gravity="top"
             android:layout_marginTop="@dimen/notification_content_margin_top"
+            android:layout_marginBottom="@dimen/notification_action_list_height"
             android:clipToPadding="false"
             android:orientation="vertical">
 
@@ -61,7 +63,7 @@
                 android:id="@+id/notification_material_reply_container"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content" />
-        <include layout="@layout/notification_material_action_list" />
     </LinearLayout>
+    <include layout="@layout/notification_material_action_list" />
     <include layout="@layout/notification_template_right_icon" />
 </FrameLayout>
diff --git a/core/res/res/layout/notification_template_material_inbox.xml b/core/res/res/layout/notification_template_material_inbox.xml
index 0e93d0b..7820e39 100644
--- a/core/res/res/layout/notification_template_material_inbox.xml
+++ b/core/res/res/layout/notification_template_material_inbox.xml
@@ -23,6 +23,7 @@
     >
     <include layout="@layout/notification_template_header" />
     <LinearLayout
+            android:id="@+id/notification_action_list_margin_target"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:layout_gravity="top"
@@ -117,7 +118,7 @@
                 android:id="@+id/notification_material_reply_container"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content" />
-        <include layout="@layout/notification_material_action_list" />
     </LinearLayout>
+    <include layout="@layout/notification_material_action_list" />
     <include layout="@layout/notification_template_right_icon" />
 </FrameLayout>
diff --git a/core/res/res/layout/notification_template_material_messaging.xml b/core/res/res/layout/notification_template_material_messaging.xml
index d95ff05..07b1100 100644
--- a/core/res/res/layout/notification_template_material_messaging.xml
+++ b/core/res/res/layout/notification_template_material_messaging.xml
@@ -22,6 +22,7 @@
     >
     <include layout="@layout/notification_template_header" />
     <LinearLayout
+            android:id="@+id/notification_action_list_margin_target"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:layout_gravity="top"
@@ -74,7 +75,7 @@
                     />
             </com.android.internal.widget.MessagingLinearLayout>
         </LinearLayout>
-        <include layout="@layout/notification_material_action_list" />
     </LinearLayout>
+    <include layout="@layout/notification_material_action_list" />
     <include layout="@layout/notification_template_right_icon" />
 </FrameLayout>
diff --git a/core/res/res/layout/unsupported_display_size_dialog_content.xml b/core/res/res/layout/unsupported_display_size_dialog_content.xml
new file mode 100644
index 0000000..5e5cf00
--- /dev/null
+++ b/core/res/res/layout/unsupported_display_size_dialog_content.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * 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.
+-->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content"
+              android:paddingTop="?attr/dialogPreferredPadding"
+              android:paddingLeft="?attr/dialogPreferredPadding"
+              android:paddingRight="?attr/dialogPreferredPadding">
+
+    <CheckBox
+        android:id="@+id/ask_checkbox"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="start"
+        android:text="@string/unsupported_display_size_show" />
+</FrameLayout>
diff --git a/core/res/res/values-af-watch/styles_material.xml b/core/res/res/values-af-watch/styles_material.xml
new file mode 100644
index 0000000..80a5fa6
--- /dev/null
+++ b/core/res/res/values-af-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"kandidate"</font></string>
+</resources>
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index a4a7e4e..8adf4f3 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Skaal"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Wys altyd"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Heraktiveer hierdie in Stelselinstellings &gt; Programme &gt; Afgelaai."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> steun nie die huidige skermgrootte-instelling nie en sal dalk onverwags reageer."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Wys altyd"</string>
     <string name="smv_application" msgid="3307209192155442829">"Die program <xliff:g id="APPLICATION">%1$s</xliff:g> (proses <xliff:g id="PROCESS">%2$s</xliff:g>) het sy selfopgelegde StrictMode-beleid oortree."</string>
     <string name="smv_process" msgid="5120397012047462446">"Die proses <xliff:g id="PROCESS">%1$s</xliff:g> het die selfopgelegde StrictMode-beleid geskend."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android gradeer tans op..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Ontspeld"</string>
     <string name="app_info" msgid="6856026610594615344">"Programinligting"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Herbegin sessie"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Tik om \'n nuwe demonstrasiesessie te begin"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Begin tans demonstrasie"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Herbegin tans sessie"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Stel toestel terug?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Tik om toestel terug te stel"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Begin tans demonstrasie …"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Stel toestel tans terug …"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Stel toestel terug?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Kanselleer"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Stel nou terug"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Doen \'n fabriekterugstelling om hierdie toestel sonder beperkinge te gebruik"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Raak om meer te wete te kom."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Het <xliff:g id="LABEL">%1$s</xliff:g> gedeaktiveer"</string>
diff --git a/core/res/res/values-am-watch/styles_material.xml b/core/res/res/values-am-watch/styles_material.xml
new file mode 100644
index 0000000..5ec383a8
--- /dev/null
+++ b/core/res/res/values-am-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"እጩዎች"</font></string>
+</resources>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index fce15e6..b2a0c65 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -860,36 +860,36 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"አሁን"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> ደ</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ደ</item>
+      <item quantity="one"> በ<xliff:g id="COUNT_1">%d</xliff:g> ደ  ውስጥ </item>
+      <item quantity="other"> በ<xliff:g id="COUNT_1">%d</xliff:g> ደ  ውስጥ </item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> ሰ</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ሰ</item>
+      <item quantity="one"> በ<xliff:g id="COUNT_1">%d</xliff:g> ሰ  ውስጥ </item>
+      <item quantity="other"> በ<xliff:g id="COUNT_1">%d</xliff:g>  ሰ  ውስጥ </item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> ቀ</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ቀ</item>
+      <item quantity="one"> በ<xliff:g id="COUNT_1">%d</xliff:g>  ቀ ውስጥ </item>
+      <item quantity="other"> በ<xliff:g id="COUNT_1">%d</xliff:g> ቀ ውስጥ </item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> ዓ</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ዓ</item>
+      <item quantity="one"> በ<xliff:g id="COUNT_1">%d</xliff:g> ዓ  ውስጥ </item>
+      <item quantity="other"> በ<xliff:g id="COUNT_1">%d</xliff:g> ዓ  ውስጥ </item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="one">በ<xliff:g id="COUNT_1">%d</xliff:g> ደ ውስጥ</item>
-      <item quantity="other">በ<xliff:g id="COUNT_1">%d</xliff:g> ደ ውስጥ</item>
+      <item quantity="one"> በ<xliff:g id="COUNT_1">%d</xliff:g> ደቂቃ ውስጥ</item>
+      <item quantity="other"> በ <xliff:g id="COUNT_1">%d</xliff:g> ደቂቃዎች ውስጥ</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="one">በ<xliff:g id="COUNT_1">%d</xliff:g> ሰ ውስጥ</item>
-      <item quantity="other">በ<xliff:g id="COUNT_1">%d</xliff:g> ሰ ውስጥ</item>
+      <item quantity="one"> በ<xliff:g id="COUNT_1">%d</xliff:g> ሰ ውስጥ</item>
+      <item quantity="other"> በ<xliff:g id="COUNT_1">%d</xliff:g> ሰ ውስጥ</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="one">በ<xliff:g id="COUNT_1">%d</xliff:g> ቀ ውስጥ</item>
-      <item quantity="other">በ<xliff:g id="COUNT_1">%d</xliff:g> ቀ ውስጥ</item>
+      <item quantity="one"> በ<xliff:g id="COUNT_1">%d</xliff:g> ቀ ውስጥ</item>
+      <item quantity="other"> በ<xliff:g id="COUNT_1">%d</xliff:g> ቀ ውስጥ</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="one">በ<xliff:g id="COUNT_1">%d</xliff:g> ዓ ውስጥ</item>
-      <item quantity="other">በ<xliff:g id="COUNT_1">%d</xliff:g> ዓ ውስጥ</item>
+      <item quantity="one"> በ<xliff:g id="COUNT_1">%d</xliff:g> ዓ ውስጥ</item>
+      <item quantity="other"> በ<xliff:g id="COUNT_1">%d</xliff:g> ዓ ውስጥ</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="one">ከ<xliff:g id="COUNT_1">%d</xliff:g> ደቂቃዎች በፊት</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"የልኬት ለውጥ"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"ሁልጊዜ አሳይ"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"በስርዓት ቅንብሮች  ውስጥ ይሄንን ዳግም አንቃ&gt; Apps &amp;gt፤ወርዷል፡፡"</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> አሁን ያለውን የማሳያ መጠን ቅንብር አይደግፍም እና ያልተጠብቀ ባሕሪ ሊያሳይ ይችላል።"</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"ሁልጊዜ አሳይ"</string>
     <string name="smv_application" msgid="3307209192155442829">"መተግበሪያው <xliff:g id="APPLICATION">%1$s</xliff:g>( ሂደት<xliff:g id="PROCESS">%2$s</xliff:g>) በራስ ተነሳሺ StrictMode ደንብን ይተላለፋል።"</string>
     <string name="smv_process" msgid="5120397012047462446">"ሂደቱ <xliff:g id="PROCESS">%1$s</xliff:g> በራስ ተነሳሺ StrictMode ፖሊሲን ይተላለፋል።"</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android እያሻሻለ ነው..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"ንቀል"</string>
     <string name="app_info" msgid="6856026610594615344">"የመተግበሪያ መረጃ"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"ክፍለ-ጊዜን ዳግም ያስጀምሩ"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"አዲስ የማሳያ ክፍለ-ጊዜን ለመጀመር መታ ያድርጉ"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"ማሳያን ዳግም በማስጀመር ላይ"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"ክፍለ-ጊዜን ዳግም በማስጀመር ላይ"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"መሣሪያ ዳግም ይጀመር?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"መሣሪያን ዳግም ለማስጀመር መታ ያድርጉ"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"ማሳያን በማስጀመር ላይ…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"መሣሪያን ዳግም በማስጀመር ላይ…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"መሣሪያ ዳግም ይጀመር?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"ይቅር"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"አሁን ዳግም አስጀምር"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"ይህን መሣሪያ ያለምንም ገደብ ለመጠቀም የፋብሪካ ዳግም ያስጀምሩ"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"የበለጠ ለመረዳት ይንኩ።"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> ተሰናክሏል"</string>
diff --git a/core/res/res/values-ar-watch/styles_material.xml b/core/res/res/values-ar-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-ar-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index f7213fc..b75a287 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -888,12 +888,12 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"الآن"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="zero"><xliff:g id="COUNT_1">%d</xliff:g> دقيقة</item>
+      <item quantity="zero"><xliff:g id="COUNT_1">%d</xliff:g>دقيقة</item>
       <item quantity="two"><xliff:g id="COUNT_1">%d</xliff:g> دقيقة</item>
       <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> دقائق</item>
-      <item quantity="many"><xliff:g id="COUNT_1">%d</xliff:g> دقيقة</item>
+      <item quantity="many"><xliff:g id="COUNT_1">%d</xliff:g>دقيقة</item>
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> دقيقة</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> دقيقة</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>دقيقة</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
       <item quantity="zero"><xliff:g id="COUNT_1">%d</xliff:g> ساعة</item>
@@ -904,52 +904,52 @@
       <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> ساعة</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
-      <item quantity="zero"><xliff:g id="COUNT_1">%d</xliff:g> يوم</item>
+      <item quantity="zero"><xliff:g id="COUNT_1">%d</xliff:g>يوم</item>
       <item quantity="two">يومان <xliff:g id="COUNT_1">%d</xliff:g></item>
       <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> أيام</item>
       <item quantity="many"><xliff:g id="COUNT_1">%d</xliff:g> يومًا</item>
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> يوم</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> يوم</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>يوم</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
       <item quantity="zero"><xliff:g id="COUNT_1">%d</xliff:g> عام</item>
       <item quantity="two">عامان <xliff:g id="COUNT_1">%d</xliff:g></item>
       <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> أعوام</item>
       <item quantity="many"><xliff:g id="COUNT_1">%d</xliff:g> عامًا</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> عام</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> عام</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>عام</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>عام</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="zero">في <xliff:g id="COUNT_1">%d</xliff:g> دقيقة</item>
+      <item quantity="zero">في<xliff:g id="COUNT_1">%d</xliff:g> دقيقة</item>
       <item quantity="two">في دقيقتين (<xliff:g id="COUNT_1">%d</xliff:g>)</item>
-      <item quantity="few">في <xliff:g id="COUNT_1">%d</xliff:g> دقائق</item>
+      <item quantity="few">في<xliff:g id="COUNT_1">%d</xliff:g> دقائق</item>
       <item quantity="many">في <xliff:g id="COUNT_1">%d</xliff:g> دقيقة</item>
-      <item quantity="other">في <xliff:g id="COUNT_1">%d</xliff:g> دقيقة</item>
-      <item quantity="one">في <xliff:g id="COUNT_0">%d</xliff:g> دقيقة</item>
+      <item quantity="other">في<xliff:g id="COUNT_1">%d</xliff:g> دقيقة</item>
+      <item quantity="one">في<xliff:g id="COUNT_0">%d</xliff:g> دقيقة</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="zero">في <xliff:g id="COUNT_1">%d</xliff:g> ساعة</item>
+      <item quantity="zero">في<xliff:g id="COUNT_1">%d</xliff:g> ساعة</item>
       <item quantity="two">في ساعتين (<xliff:g id="COUNT_1">%d</xliff:g>)</item>
       <item quantity="few">في <xliff:g id="COUNT_1">%d</xliff:g> ساعات</item>
       <item quantity="many">في <xliff:g id="COUNT_1">%d</xliff:g> ساعة</item>
-      <item quantity="other">في <xliff:g id="COUNT_1">%d</xliff:g> ساعة</item>
-      <item quantity="one">في <xliff:g id="COUNT_0">%d</xliff:g> ساعة</item>
+      <item quantity="other">في<xliff:g id="COUNT_1">%d</xliff:g> ساعة</item>
+      <item quantity="one">في<xliff:g id="COUNT_0">%d</xliff:g>ساعة</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="zero">في <xliff:g id="COUNT_1">%d</xliff:g> يوم</item>
+      <item quantity="zero">في<xliff:g id="COUNT_1">%d</xliff:g>يوم</item>
       <item quantity="two">في يومين (<xliff:g id="COUNT_1">%d</xliff:g>)</item>
-      <item quantity="few">في <xliff:g id="COUNT_1">%d</xliff:g> أيام</item>
-      <item quantity="many">في <xliff:g id="COUNT_1">%d</xliff:g> يومًا</item>
-      <item quantity="other">في <xliff:g id="COUNT_1">%d</xliff:g> يوم</item>
-      <item quantity="one">في <xliff:g id="COUNT_0">%d</xliff:g> يوم</item>
+      <item quantity="few">في<xliff:g id="COUNT_1">%d</xliff:g> أيام</item>
+      <item quantity="many">في<xliff:g id="COUNT_1">%d</xliff:g> يومًا</item>
+      <item quantity="other">في<xliff:g id="COUNT_1">%d</xliff:g>يوم</item>
+      <item quantity="one">في<xliff:g id="COUNT_0">%d</xliff:g> يوم</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="zero">في <xliff:g id="COUNT_1">%d</xliff:g> عام</item>
+      <item quantity="zero">في<xliff:g id="COUNT_1">%d</xliff:g> عام</item>
       <item quantity="two">في عامين (<xliff:g id="COUNT_1">%d</xliff:g>)</item>
-      <item quantity="few">في <xliff:g id="COUNT_1">%d</xliff:g> أعوام</item>
-      <item quantity="many">في <xliff:g id="COUNT_1">%d</xliff:g> عامًا</item>
-      <item quantity="other">في <xliff:g id="COUNT_1">%d</xliff:g> عام</item>
-      <item quantity="one">في <xliff:g id="COUNT_0">%d</xliff:g> عام</item>
+      <item quantity="few">في<xliff:g id="COUNT_1">%d</xliff:g> أعوام</item>
+      <item quantity="many">في<xliff:g id="COUNT_1">%d</xliff:g> عامًا</item>
+      <item quantity="other">في<xliff:g id="COUNT_1">%d</xliff:g>عام</item>
+      <item quantity="one">في<xliff:g id="COUNT_0">%d</xliff:g> عام</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="zero">قبل <xliff:g id="COUNT_1">%d</xliff:g> دقيقة</item>
@@ -1107,6 +1107,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"تدرج"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"الإظهار دائمًا"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"‏يمكنك إعادة تمكين هذا في إعدادات النظام &gt; التطبيقات &gt; ما تم تنزيله."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> غير متوافق مع الإعداد الحالي لحجم شاشة العرض وربما يعمل بطريقة غير متوقعة."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"العرض دائمًا"</string>
     <string name="smv_application" msgid="3307209192155442829">"‏انتهك التطبيق <xliff:g id="APPLICATION">%1$s</xliff:g> (العملية <xliff:g id="PROCESS">%2$s</xliff:g>) سياسة StrictMode المفروضة ذاتيًا."</string>
     <string name="smv_process" msgid="5120397012047462446">"‏انتهكت العملية <xliff:g id="PROCESS">%1$s</xliff:g> سياسة StrictMode المفروضة ذاتيًا."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"‏جارٍ ترقية Android..."</string>
@@ -1793,10 +1795,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"إزالة تثبيت"</string>
     <string name="app_info" msgid="6856026610594615344">"معلومات عن التطبيق"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"إعادة تشغيل الجلسة"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"انقر لبدء جلسة عرض توضيحي جديدة"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"جارٍ بدء العرض التوضيحي"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"جارٍ إعادة تشغيل الجلسة"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"هل تريد إعادة تعيين الجهاز؟"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"انقر لإعادة تعيين الجهاز"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"جارٍ بدء العرض التوضيحي…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"جارٍ إعادة تعيين الجهاز…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"هل تريد إعادة تعيين الجهاز؟"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"إلغاء"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"إعادة التعيين الآن"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"يمكنك إعادة تعيين بيانات المصنع لاستخدام هذا الجهاز بدون قيود"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"المس للتعرف على مزيد من المعلومات."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"تم تعطيل <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-az-rAZ-watch/styles_material.xml b/core/res/res/values-az-rAZ-watch/styles_material.xml
new file mode 100644
index 0000000..b621266
--- /dev/null
+++ b/core/res/res/values-az-rAZ-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"namizədlər"</font></string>
+</resources>
diff --git a/core/res/res/values-az-rAZ/strings.xml b/core/res/res/values-az-rAZ/strings.xml
index e0009d2..dce56ae 100644
--- a/core/res/res/values-az-rAZ/strings.xml
+++ b/core/res/res/values-az-rAZ/strings.xml
@@ -860,32 +860,32 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"indi"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>dəq</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>dəq</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>d</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>d</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>saat</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>saat</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>st</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>st</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>gün</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>gün</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>g</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>g</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>il</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>il</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>i</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>i</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>dəqiqədə</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>dəqiqədə</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>d-də</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>d-də</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>saata</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>saata</item>
+      <item quantity="other"> <xliff:g id="COUNT_1">%d</xliff:g>s-da</item>
+      <item quantity="one"> <xliff:g id="COUNT_0">%d</xliff:g>s-da</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>gündə</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>gündə</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>g-də</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>g-də</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ildə</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Miqyas"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Həmişə göstər"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Bunları Sistem ayarlarında yenidən aktivləşdir Yüklənmiş &gt; Tətbiqlər &gt;."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> cari Ekran ölçüsü ayarını dəstəkləmir və gözlənilməz şəkildə davrana bilər."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Həmişə göstərin"</string>
     <string name="smv_application" msgid="3307209192155442829">"Tətbiq <xliff:g id="APPLICATION">%1$s</xliff:g> (proses <xliff:g id="PROCESS">%2$s</xliff:g>) StrictMode siyasətini pozdu."</string>
     <string name="smv_process" msgid="5120397012047462446">"<xliff:g id="PROCESS">%1$s</xliff:g> prosesi StrictMode siyasətini pozdu."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android təkmilləşdirilir..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Çıxarın"</string>
     <string name="app_info" msgid="6856026610594615344">"Tətbiq məlumatı"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Sessiyanı Yenidən Başladın"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Yeni demo sessiyanı başlamaq üçün tıklayın"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Demo başlayır"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Sessiya yenidən başlayır"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Cihaz sıfırlansın?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Cihazı sıfırlamaq üçün tıklayın"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Demo başlayır…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Cihaz sıfırlanır…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Cihaz sıfırlansın?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Ləğv edin"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"İndi sıfırlayın"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Bu cihazı məhdudiyyətsiz istifadə etmək üçün zavod sıfırlaması edin"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Daha çox məlumat üçün toxunun."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> deaktiv edildi"</string>
diff --git a/core/res/res/values-bg-watch/styles_material.xml b/core/res/res/values-bg-watch/styles_material.xml
new file mode 100644
index 0000000..89c3366
--- /dev/null
+++ b/core/res/res/values-bg-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"кандидати"</font></string>
+</resources>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index da70645..a409ea1 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Мащаб"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Винаги да се показва"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Активирайте отново това в „Системни настройки“ &gt; „Приложения“ &gt; „Изтеглени“."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> не поддържа текущата настройка за размер на дисплея и може да се държи по неочакван начин."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Винаги да се показва"</string>
     <string name="smv_application" msgid="3307209192155442829">"Приложението „<xliff:g id="APPLICATION">%1$s</xliff:g>“ (процес „<xliff:g id="PROCESS">%2$s</xliff:g>“) наруши правилото за стриктен режим, наложено от самото него."</string>
     <string name="smv_process" msgid="5120397012047462446">"Процесът <xliff:g id="PROCESS">%1$s</xliff:g> наруши правилото за стриктен режим, наложено от самия него."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android се надстройва..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Освобождаване"</string>
     <string name="app_info" msgid="6856026610594615344">"Информация за приложението"</string>
     <string name="negative_duration" msgid="5688706061127375131">"-<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Рестартиране на сесията"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Докоснете, за да стартирате нова демонстрационна сесия"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Демонстрацията се стартира"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Сесията се рестартира"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Да се нулира ли устройството?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Докоснете, за да нулирате устройството"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Демонстрацията се стартира…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Устройството се нулира…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Да се нулира ли устройството?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Отказ"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Нулиране сега"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Възстановете фабричните настройки на това устройство, за да го използвате без ограничения"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Докоснете, за да научите повече."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g>: Деактивирано"</string>
diff --git a/core/res/res/values-bn-rBD-watch/styles_material.xml b/core/res/res/values-bn-rBD-watch/styles_material.xml
new file mode 100644
index 0000000..cd59902
--- /dev/null
+++ b/core/res/res/values-bn-rBD-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"প্রার্থীরা"</font></string>
+</resources>
diff --git a/core/res/res/values-bn-rBD/strings.xml b/core/res/res/values-bn-rBD/strings.xml
index efae130..a4931b6 100644
--- a/core/res/res/values-bn-rBD/strings.xml
+++ b/core/res/res/values-bn-rBD/strings.xml
@@ -860,36 +860,36 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"এখন"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>মিনিট</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>মিনিট</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>মি</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>মি</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>ঘণ্টা</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ঘণ্টা</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>ঘ</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ঘ</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>দিন</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>দিন</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>দি</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>দি</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>বছর</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>বছর</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>ব</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ব</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>মিনিটের মধ্যে</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>মিনিটের মধ্যে</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>মি</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>মি</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>ঘন্টার মধ্যে</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ঘন্টার মধ্যে</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>ঘ</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ঘ</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>দিনের মধ্যে</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>দিনের মধ্যে</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>দি</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>দি</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>বছরের মধ্যে</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>বছরের মধ্যে</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>ব</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ব</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>মিনিট আগে</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"স্কেল"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"সবসময় দেখান"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"সিস্টেম সেটিংস&gt; অ্যাপ্স&gt; ডাউনলোড করাগুলি এ এটি পুনঃসক্ষম করুন৷"</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g>, বর্তমান প্রদর্শনের আকারের সেটিংস সমর্থন করে না এবং অপ্রত্যাশিত আচরণ করতে পারে৷"</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"সর্বদা দেখান"</string>
     <string name="smv_application" msgid="3307209192155442829">"অ্যাপ্লিকেশানটি <xliff:g id="APPLICATION">%1$s</xliff:g> (প্রক্রিয়া <xliff:g id="PROCESS">%2$s</xliff:g>) তার স্ব-প্রয়োগ করা কঠোর মোড নীতি লঙ্ঘন করেছে৷"</string>
     <string name="smv_process" msgid="5120397012047462446">"প্রক্রিয়াটি <xliff:g id="PROCESS">%1$s</xliff:g> তার স্ব-প্রয়োগ করা কঠোর মোড নীতি লঙ্ঘন করেছে৷"</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android আপগ্রেড করা হচ্ছে..."</string>
@@ -1193,8 +1195,7 @@
     <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"কোনো অ্যাপ্লিকেশানকে সেশনগুলি পড়ার অনুমতি দেয়। এটি সক্রিয় প্যাকেজ ইনস্টলেশনের বিশদ বিবরণ দেখতে দেয়।"</string>
     <string name="permlab_requestInstallPackages" msgid="5782013576218172577">"প্যাকেজগুলি ইনস্টল করার অনুরোধ"</string>
     <string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"একটি অ্যাপ্লিকেশানকে প্যাকেজগুলির ইনস্টল করার অনুরোধ জানাতে অনুমতি দেয়৷"</string>
-    <!-- no translation found for tutorial_double_tap_to_zoom_message_short (1311810005957319690) -->
-    <skip />
+    <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"জুম নিয়ন্ত্রণের জন্য দুবার আলতো চাপুন"</string>
     <string name="gadget_host_error_inflating" msgid="4882004314906466162">"উইজেট যোগ করা যায়নি৷"</string>
     <string name="ime_action_go" msgid="8320845651737369027">"যান"</string>
     <string name="ime_action_search" msgid="658110271822807811">"অনুসন্ধান করুন"</string>
@@ -1225,10 +1226,8 @@
     <string name="notification_ranker_binding_label" msgid="774540592299064747">"বিজ্ঞপ্তি র‌্যাঙ্কার পরিষেবা"</string>
     <string name="vpn_title" msgid="19615213552042827">"VPN সক্রিয়"</string>
     <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> এর দ্বারা VPN সক্রিয় করা হয়েছে"</string>
-    <!-- no translation found for vpn_text (1610714069627824309) -->
-    <skip />
-    <!-- no translation found for vpn_text_long (4907843483284977618) -->
-    <skip />
+    <string name="vpn_text" msgid="1610714069627824309">"নেটওয়ার্ক পরিচালনা করতে আলতো চাপুন।"</string>
+    <string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> তে সংযুক্ত হয়েছে৷ নেটওয়ার্ক পরিচালনা করতে আলতো চাপুন৷"</string>
     <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"সর্বদা-চালু VPN সংযুক্ত হচ্ছে..."</string>
     <string name="vpn_lockdown_connected" msgid="8202679674819213931">"সর্বদা-চালু VPN সংযুক্ত হয়েছে"</string>
     <string name="vpn_lockdown_error" msgid="6009249814034708175">"সর্বদা-চালু VPN ত্রুটি"</string>
@@ -1652,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"আনপিন করুন"</string>
     <string name="app_info" msgid="6856026610594615344">"অ্যাপ্লিকেশানের তথ্য"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"সেশন পুনঃসূচনা করুন"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"একটি নতুন ডেমো সেশন শুরু করতে আলতো চাপ দিন"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"ডেমো শুরু করা হচ্ছে"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"সেশন পুনরায় চালু করা হচ্ছে"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"ডিভাইস পুনরায় সেট করবেন?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"ডিভাইসটিকে পুনরায় সেট করতে আলতো চাপুন"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"ডেমো শুরু করা হচ্ছে…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"ডিভাইস পুনরায় সেট করা হচ্ছে…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"ডিভাইস পুনরায় সেট করবেন?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"বাতিল করুন"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"এখনই পুনরায় সেট করুন"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"কোনো বিধিনিষেধ ছাড়াই এই ডিভাইসটিকে ব্যবহার করতে ফ্যাক্টরি রিসেট করুন"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"আরো জানতে স্পর্শ করুন৷"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"অক্ষম করা <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-ca-watch/styles_material.xml b/core/res/res/values-ca-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-ca-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index 458e810..b023f5d 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -429,7 +429,7 @@
     <string name="permdesc_bluetooth" product="tv" msgid="3974124940101104206">"Permet que l\'aplicació consulti la configuració de Bluetooth del televisor i estableixi i accepti connexions amb dispositius vinculats ."</string>
     <string name="permdesc_bluetooth" product="default" msgid="3207106324452312739">"Permet que una aplicació visualitzi la configuració de Bluetooth del telèfon i que estableixi i accepti connexions amb els dispositius sincronitzats."</string>
     <string name="permlab_nfc" msgid="4423351274757876953">"controlar Comunicació de camp proper (NFC)"</string>
-    <string name="permdesc_nfc" msgid="7120611819401789907">"Permet que l\'aplicació es comuniqui amb les etiquetes, les targetes i els lectors de Near Field Communication (NFC)."</string>
+    <string name="permdesc_nfc" msgid="7120611819401789907">"Permet que l\'aplicació es comuniqui amb les etiquetes, les targetes i els lectors de Comunicació de camp proper (NFC)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"desactivació del bloqueig de pantalla"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Permet que l\'aplicació desactivi el bloqueig del teclat i qualsevol element de seguretat de contrasenyes associat. Per exemple, el telèfon desactiva el bloqueig del teclat en rebre una trucada telefònica entrant i, a continuació, reactiva el bloqueig del teclat quan finalitza la trucada."</string>
     <string name="permlab_manageFingerprint" msgid="5640858826254575638">"Gestionar el maquinari d\'empremtes digitals"</string>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Escala"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Mostra sempre"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Torna a activar-ho a Configuració del sistema &gt; Aplicacions &gt; Baixades."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> no admet la mida de pantalla actual i és possible que funcioni de manera inesperada."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Mostra sempre"</string>
     <string name="smv_application" msgid="3307209192155442829">"L\'aplicació <xliff:g id="APPLICATION">%1$s</xliff:g>(procés <xliff:g id="PROCESS">%2$s</xliff:g>) ha incomplert la seva política autoimposada de mode estricte."</string>
     <string name="smv_process" msgid="5120397012047462446">"El procés <xliff:g id="PROCESS">%1$s</xliff:g> ha incomplert la seva política de mode estricte."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android s\'està actualitzant..."</string>
@@ -1314,7 +1316,7 @@
     <string name="storage_usb" msgid="3017954059538517278">"Emmagatzematge USB"</string>
     <string name="extract_edit_menu_button" msgid="8940478730496610137">"Edita"</string>
     <string name="data_usage_warning_title" msgid="1955638862122232342">"Advertiment d\'ús de dades"</string>
-    <string name="data_usage_warning_body" msgid="6660692274311972007">"Toca per veure ús i configuració."</string>
+    <string name="data_usage_warning_body" msgid="6660692274311972007">"Toca per veure l\'ús i la configuració."</string>
     <string name="data_usage_3g_limit_title" msgid="4361523876818447683">"Límit de dades 2G-3G assolit"</string>
     <string name="data_usage_4g_limit_title" msgid="4609566827219442376">"Límit de dades 4G assolit"</string>
     <string name="data_usage_mobile_limit_title" msgid="557158376602636112">"Límit de dades mòbils assolit"</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"No fixis"</string>
     <string name="app_info" msgid="6856026610594615344">"Informació de l\'aplicació"</string>
     <string name="negative_duration" msgid="5688706061127375131">"-<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Torna a iniciar la sessió"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Toca per iniciar una nova sessió de demostració"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"S\'està iniciant la demostració"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"S\'està tornant a iniciar la sessió"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Vols restablir el dispositiu?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Toca per restablir el dispositiu"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"S\'està iniciant la demostració…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"S\'està restablint el dispositiu…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Vols restablir el dispositiu?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancel·la"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Restableix ara"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Restableix les dades de fàbrica del dispositiu per utilitzar-lo sense restriccions"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Toca per obtenir més informació."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> s\'ha desactivat"</string>
diff --git a/core/res/res/values-cs-watch/styles_material.xml b/core/res/res/values-cs-watch/styles_material.xml
new file mode 100644
index 0000000..5b604e8
--- /dev/null
+++ b/core/res/res/values-cs-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"kandidáti"</font></string>
+</resources>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index 214f234d13..17d2bee 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -1061,6 +1061,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Měřítko"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Vždy zobrazovat"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Tento režim znovu povolíte v sekci Nastavení systému &gt; Aplikace &gt; Stažené."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"Aplikace <xliff:g id="APP_NAME">%1$s</xliff:g> aktuální nastavení velikosti zobrazení nepodporuje a může se chovat neočekávaně."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Vždy zobrazovat"</string>
     <string name="smv_application" msgid="3307209192155442829">"Aplikace <xliff:g id="APPLICATION">%1$s</xliff:g> (proces <xliff:g id="PROCESS">%2$s</xliff:g>) porušila své vlastní vynucené zásady StrictMode."</string>
     <string name="smv_process" msgid="5120397012047462446">"Proces <xliff:g id="PROCESS">%1$s</xliff:g> porušil své vlastní vynucené zásady StrictMode."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android se upgraduje..."</string>
@@ -1721,10 +1723,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Odepnout"</string>
     <string name="app_info" msgid="6856026610594615344">"Informace o aplikaci"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Restartujte relaci"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Klepnutím zahájíte novou demonstrační relaci"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Spouštění ukázky"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Restartování relace"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Resetovat zařízení?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Zařízení resetujete klepnutím"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Spouštění ukázky…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Resetování zařízení…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Resetovat zařízení?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Zrušit"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Resetovat"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Chcete-li toto zařízení používat bez omezení, obnovte jej do továrního nastavení"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Klepnutím zobrazíte další informace."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> – zakázáno"</string>
diff --git a/core/res/res/values-da-watch/styles_material.xml b/core/res/res/values-da-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-da-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index e68003c..e370aaa 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -800,8 +800,8 @@
     <string name="permdesc_setAlarm" msgid="316392039157473848">"Tillader, at appen kan indstille en alarm i en installeret alarmapp. Nogle alarmapps har muligvis ikke denne funktion."</string>
     <string name="permlab_addVoicemail" msgid="5525660026090959044">"tilføje telefonsvarer"</string>
     <string name="permdesc_addVoicemail" msgid="6604508651428252437">"Tillader, at appen kan tilføje beskeder på din telefonsvarer."</string>
-    <string name="permlab_writeGeolocationPermissions" msgid="5962224158955273932">"skifte tilladelser til geografisk placering i Browser"</string>
-    <string name="permdesc_writeGeolocationPermissions" msgid="1083743234522638747">"Tillader, at appen kan ændre browserens tilladelser angående geografisk placering. Ondsindede apps kan benytte dette til at sende oplysninger om placering til vilkårlige websites."</string>
+    <string name="permlab_writeGeolocationPermissions" msgid="5962224158955273932">"skifte tilladelser til geoplacering i Browser"</string>
+    <string name="permdesc_writeGeolocationPermissions" msgid="1083743234522638747">"Tillader, at appen kan ændre browserens tilladelser angående geoplacering. Ondsindede apps kan benytte dette til at sende oplysninger om sted til vilkårlige websites."</string>
     <string name="save_password_message" msgid="767344687139195790">"Ønsker du, at browseren skal huske denne adgangskode?"</string>
     <string name="save_password_notnow" msgid="6389675316706699758">"Ikke nu"</string>
     <string name="save_password_remember" msgid="6491879678996749466">"Husk"</string>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Skaler"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Vis altid"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Aktivér dette igen i Systemindstillinger &gt; Apps &gt; Downloadet."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> understøtter ikke den aktuelle indstilling for visningsstørrelse og vil muligvis ikke fungere som forventet."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Vis altid"</string>
     <string name="smv_application" msgid="3307209192155442829">"Appen <xliff:g id="APPLICATION">%1$s</xliff:g> (proces <xliff:g id="PROCESS">%2$s</xliff:g>) har overtrådt sin egen StrictMode-politik."</string>
     <string name="smv_process" msgid="5120397012047462446">"Processen <xliff:g id="PROCESS">%1$s</xliff:g> har overtrådt sin egen StrictMode-politik."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android opgraderes..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Frigør"</string>
     <string name="app_info" msgid="6856026610594615344">"Oplysninger om appen"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Genstart sessionen"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Tryk for at starte en ny demosession"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Starter demo"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Genstarter session"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Vil du nulstille enheden?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Tryk for at nulstille enheden"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Starter demoen…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Nulstiller enheden…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Vil du nulstille enheden?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Annuller"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Nulstil nu"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Gendan fabriksdataene på enheden for at bruge den uden begrænsninger"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Tryk for at få flere oplysninger."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> – deaktiveret"</string>
diff --git a/core/res/res/values-de-watch/styles_material.xml b/core/res/res/values-de-watch/styles_material.xml
new file mode 100644
index 0000000..891a647
--- /dev/null
+++ b/core/res/res/values-de-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"Kandidaten"</font></string>
+</resources>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index 80b1fad..f3f5ccd 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -245,7 +245,7 @@
     <string name="permgrouplab_contacts" msgid="3657758145679177612">"Kontakte"</string>
     <string name="permgroupdesc_contacts" msgid="6951499528303668046">"auf deine Kontakte zugreifen"</string>
     <string name="permgrouplab_location" msgid="7275582855722310164">"Standort"</string>
-    <string name="permgroupdesc_location" msgid="1346617465127855033">"auf den Standort deines Geräts zugreifen"</string>
+    <string name="permgroupdesc_location" msgid="1346617465127855033">"auf den Standort deines Geräts zuzugreifen"</string>
     <string name="permgrouplab_calendar" msgid="5863508437783683902">"Kalender"</string>
     <string name="permgroupdesc_calendar" msgid="3889615280211184106">"auf deinen Kalender zugreifen"</string>
     <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string>
@@ -525,11 +525,11 @@
     <string name="policylab_resetPassword" msgid="4934707632423915395">"Displaysperre ändern"</string>
     <string name="policydesc_resetPassword" msgid="1278323891710619128">"Displaysperre ändern"</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Bildschirm sperren"</string>
-    <string name="policydesc_forceLock" msgid="1141797588403827138">"Lege fest, wie und wann der Bildschirm gesperrt wird."</string>
+    <string name="policydesc_forceLock" msgid="1141797588403827138">"Festlegen, wie und wann der Bildschirm gesperrt wird"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Alle Daten löschen"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Auf Werkseinstellungen zurücksetzen und Daten auf dem Tablet ohne Warnung löschen"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Auf Werkseinstellungen zurücksetzen und Daten auf dem Fernseher ohne Warnung löschen"</string>
-    <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Setze das Telefon auf die Werkseinstellungen zurück. Dabei werden alle Daten ohne Warnung gelöscht."</string>
+    <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Auf Werkseinstellungen zurücksetzen und damit Daten auf dem Telefon ohne Warnung löschen"</string>
     <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Nutzerdaten löschen"</string>
     <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Daten dieses Nutzers auf diesem Tablet ohne vorherige Warnung löschen"</string>
     <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Daten dieses Nutzers auf diesem Fernseher ohne vorherige Warnung löschen"</string>
@@ -543,7 +543,7 @@
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Kameras deaktivieren"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Nutzung sämtlicher Gerätekameras unterbinden"</string>
     <string name="policylab_disableKeyguardFeatures" msgid="8552277871075367771">"Einige Funktionen der Displaysperre deaktivieren"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="2044755691354158439">"Verhindert die Verwendung einiger Funktionen der Displaysperre"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="2044755691354158439">"Verwendung einiger Funktionen der Displaysperre verhindern"</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Privat"</item>
     <item msgid="869923650527136615">"Mobil"</item>
@@ -860,20 +860,20 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"jetzt"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> min</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> min</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> min</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> min</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> h</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> h</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> h</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> h</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> d</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> d</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> T.</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> T.</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> a</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> a</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> J.</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> J.</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
       <item quantity="other">in <xliff:g id="COUNT_1">%d</xliff:g> min</item>
@@ -884,12 +884,12 @@
       <item quantity="one">in <xliff:g id="COUNT_0">%d</xliff:g> h</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="other">in <xliff:g id="COUNT_1">%d</xliff:g> d</item>
-      <item quantity="one">in <xliff:g id="COUNT_0">%d</xliff:g> d</item>
+      <item quantity="other">in <xliff:g id="COUNT_1">%d</xliff:g> T.</item>
+      <item quantity="one">in <xliff:g id="COUNT_0">%d</xliff:g> T.</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="other">in <xliff:g id="COUNT_1">%d</xliff:g> a</item>
-      <item quantity="one">in <xliff:g id="COUNT_0">%d</xliff:g> a</item>
+      <item quantity="other">in <xliff:g id="COUNT_1">%d</xliff:g> J.</item>
+      <item quantity="one">in <xliff:g id="COUNT_0">%d</xliff:g> J.</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="other">vor <xliff:g id="COUNT_1">%d</xliff:g> Minuten</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Skalieren"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Immer anzeigen"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Eine erneute Aktivierung ist in den Systemeinstellungen unter \"Apps &gt; Heruntergeladen\" möglich."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> unterstützt nicht die aktuelle Einstellung für die Anzeigegröße, sodass ein unerwartetes Verhalten auftreten kann."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Immer anzeigen"</string>
     <string name="smv_application" msgid="3307209192155442829">"Die App <xliff:g id="APPLICATION">%1$s</xliff:g> (Prozess <xliff:g id="PROCESS">%2$s</xliff:g>) hat gegen deine selbsterzwungene StrictMode-Richtlinie verstoßen."</string>
     <string name="smv_process" msgid="5120397012047462446">"Der Prozess <xliff:g id="PROCESS">%1$s</xliff:g> hat gegen seine selbsterzwungene StrictMode-Richtlinie verstoßen."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android wird aktualisiert..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Markierung entfernen"</string>
     <string name="app_info" msgid="6856026610594615344">"App-Informationen"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Sitzung neu starten"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Zum Starten einer neuen Demositzung tippen"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Demo wird gestartet"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Sitzung wird neu gestartet"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Gerät zurücksetzen?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Zum Zurücksetzen des Geräts tippen"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Demo wird gestartet…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Gerät wird zurückgesetzt…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Gerät zurücksetzen?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Abbrechen"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Jetzt zurücksetzen"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Gerät auf Werkseinstellungen zurücksetzen, um es ohne Einschränkungen zu nutzen"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Für weitere Informationen tippen."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> deaktiviert"</string>
diff --git a/core/res/res/values-el-watch/styles_material.xml b/core/res/res/values-el-watch/styles_material.xml
new file mode 100644
index 0000000..a02b85e
--- /dev/null
+++ b/core/res/res/values-el-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"υποψήφιοι"</font></string>
+</resources>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index af05afb..f7545c0 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -253,7 +253,7 @@
     <string name="permgrouplab_storage" msgid="1971118770546336966">"Αποθηκευτικός χώρος"</string>
     <string name="permgroupdesc_storage" msgid="637758554581589203">"έχει πρόσβαση στις φωτογραφίες/πολυμέσα/αρχεία στη συσκευή σας"</string>
     <string name="permgrouplab_microphone" msgid="171539900250043464">"Μικρόφωνο"</string>
-    <string name="permgroupdesc_microphone" msgid="4988812113943554584">"εγγραφή ήχου"</string>
+    <string name="permgroupdesc_microphone" msgid="4988812113943554584">"ηχογραφεί"</string>
     <string name="permgrouplab_camera" msgid="4820372495894586615">"Κάμερα"</string>
     <string name="permgroupdesc_camera" msgid="3250611594678347720">"γίνεται λήψη φωτογραφιών και εγγραφή βίντεο"</string>
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Τηλέφωνο"</string>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Κλίμακα"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Να εμφανίζονται πάντα"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Ενεργοποιήστε το ξανά στις Ρυθμίσεις συστημάτων &gt; Εφαρμογές &gt; Ληφθείσες."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"Η εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> δεν υποστηρίζει την τρέχουσα ρύθμιση Μεγέθους οθόνης και ενδέχεται να παρουσιάζει μη αναμενόμενη συμπεριφορά."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Να εμφανίζεται πάντα"</string>
     <string name="smv_application" msgid="3307209192155442829">"Η εφαρμογή <xliff:g id="APPLICATION">%1$s</xliff:g> (διεργασία <xliff:g id="PROCESS">%2$s</xliff:g>) παραβίασε την αυτοεπιβαλλόμενη πολιτική StrictMode."</string>
     <string name="smv_process" msgid="5120397012047462446">"Η διεργασία <xliff:g id="PROCESS">%1$s</xliff:g> παραβίασε την αυτοεπιβαλόμενη πολιτική StrictMode."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Το Android αναβαθμίζεται..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Ξεκαρφίτσωμα"</string>
     <string name="app_info" msgid="6856026610594615344">"Πληροφορίες εφαρμογής"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Επανεκκίνηση περιόδου σύνδεσης"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Πατήστε για να ξεκινήσετε μια νέα περίοδο σύνδεσης επίδειξης"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Έναρξη επίδειξης"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Επανεκκίνηση περιόδου σύνδεσης"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Να γίνει επαναφορά της συσκευής;"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Πατήστε για επαναφορά της συσκευής"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Έναρξη επίδειξης…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Επαναφορά συσκευής…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Να γίνει επαναφορά της συσκευής;"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Ακύρωση"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Επαναφορά τώρα"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Επαναφέρετε τις εργοστασιακές ρυθμίσεις για να χρησιμοποιήσετε αυτήν τη συσκευή χωρίς περιορισμούς"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Αγγίξτε για να μάθετε περισσότερα."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Απενεργοποιημένο <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-en-rAU-watch/styles_material.xml b/core/res/res/values-en-rAU-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-en-rAU-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml
index 12c5e22..c6aad10 100644
--- a/core/res/res/values-en-rAU/strings.xml
+++ b/core/res/res/values-en-rAU/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Scale"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Always show"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Re-enable this in System settings &gt; Apps &gt; Downloaded."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> does not support the current Display size setting and may behave unexpectedly."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Always show"</string>
     <string name="smv_application" msgid="3307209192155442829">"The app <xliff:g id="APPLICATION">%1$s</xliff:g> (process <xliff:g id="PROCESS">%2$s</xliff:g>) has violated its self-enforced Strict Mode policy."</string>
     <string name="smv_process" msgid="5120397012047462446">"The process <xliff:g id="PROCESS">%1$s</xliff:g> has violated its self-enforced StrictMode policy."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android is upgrading…"</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Unpin"</string>
     <string name="app_info" msgid="6856026610594615344">"App info"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Restart Session"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Tap to start a new demo session"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Starting demo"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Restarting session"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Reset device?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Tap to reset device"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Starting demo…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Resetting device…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Reset device?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancel"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Reset now"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Factory reset to use this device without restrictions"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Touch to find out more."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Disabled <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-en-rGB-watch/styles_material.xml b/core/res/res/values-en-rGB-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-en-rGB-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index 12c5e22..c6aad10 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Scale"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Always show"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Re-enable this in System settings &gt; Apps &gt; Downloaded."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> does not support the current Display size setting and may behave unexpectedly."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Always show"</string>
     <string name="smv_application" msgid="3307209192155442829">"The app <xliff:g id="APPLICATION">%1$s</xliff:g> (process <xliff:g id="PROCESS">%2$s</xliff:g>) has violated its self-enforced Strict Mode policy."</string>
     <string name="smv_process" msgid="5120397012047462446">"The process <xliff:g id="PROCESS">%1$s</xliff:g> has violated its self-enforced StrictMode policy."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android is upgrading…"</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Unpin"</string>
     <string name="app_info" msgid="6856026610594615344">"App info"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Restart Session"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Tap to start a new demo session"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Starting demo"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Restarting session"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Reset device?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Tap to reset device"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Starting demo…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Resetting device…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Reset device?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancel"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Reset now"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Factory reset to use this device without restrictions"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Touch to find out more."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Disabled <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-en-rIN-watch/styles_material.xml b/core/res/res/values-en-rIN-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-en-rIN-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml
index 12c5e22..c6aad10 100644
--- a/core/res/res/values-en-rIN/strings.xml
+++ b/core/res/res/values-en-rIN/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Scale"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Always show"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Re-enable this in System settings &gt; Apps &gt; Downloaded."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> does not support the current Display size setting and may behave unexpectedly."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Always show"</string>
     <string name="smv_application" msgid="3307209192155442829">"The app <xliff:g id="APPLICATION">%1$s</xliff:g> (process <xliff:g id="PROCESS">%2$s</xliff:g>) has violated its self-enforced Strict Mode policy."</string>
     <string name="smv_process" msgid="5120397012047462446">"The process <xliff:g id="PROCESS">%1$s</xliff:g> has violated its self-enforced StrictMode policy."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android is upgrading…"</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Unpin"</string>
     <string name="app_info" msgid="6856026610594615344">"App info"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Restart Session"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Tap to start a new demo session"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Starting demo"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Restarting session"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Reset device?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Tap to reset device"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Starting demo…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Resetting device…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Reset device?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancel"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Reset now"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Factory reset to use this device without restrictions"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Touch to find out more."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Disabled <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-es-rUS-watch/styles_material.xml b/core/res/res/values-es-rUS-watch/styles_material.xml
new file mode 100644
index 0000000..898d2fd
--- /dev/null
+++ b/core/res/res/values-es-rUS-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidatos"</font></string>
+</resources>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index e0281c9..e6c7daf 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -868,12 +868,12 @@
       <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> h</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> días</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> día</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> d</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> d</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> años</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> año</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> a</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> a</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
       <item quantity="other">en <xliff:g id="COUNT_1">%d</xliff:g> min</item>
@@ -884,8 +884,8 @@
       <item quantity="one">en <xliff:g id="COUNT_0">%d</xliff:g> h</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="other">en <xliff:g id="COUNT_1">%d</xliff:g> días</item>
-      <item quantity="one">en <xliff:g id="COUNT_0">%d</xliff:g> día</item>
+      <item quantity="other">en <xliff:g id="COUNT_1">%d</xliff:g> d</item>
+      <item quantity="one">en <xliff:g id="COUNT_0">%d</xliff:g> d</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
       <item quantity="other">en <xliff:g id="COUNT_1">%d</xliff:g> años</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Escala"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Mostrar siempre"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Volver a activar Configuración del sistema &gt; Aplicaciones &gt; Descargas"</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> no es compatible con la configuración del tamaño de pantalla actual. Es posible que no se comporte de manera correcta."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Mostrar siempre"</string>
     <string name="smv_application" msgid="3307209192155442829">"La aplicación <xliff:g id="APPLICATION">%1$s</xliff:g> (proceso <xliff:g id="PROCESS">%2$s</xliff:g>) ha infringido su política StrictMode de aplicación automática."</string>
     <string name="smv_process" msgid="5120397012047462446">"El proceso <xliff:g id="PROCESS">%1$s</xliff:g> ha violado su política StrictMode autoimpuesta."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android se está actualizando..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"No fijar"</string>
     <string name="app_info" msgid="6856026610594615344">"Información de la app"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Reiniciar sesión"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Presiona para iniciar una nueva sesión de demostración"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Iniciando demostración"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Reiniciando sesión"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"¿Deseas restablecer el dispositivo?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Presiona para restablecer el dispositivo"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Iniciando demostración…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Restableciendo dispositivo…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"¿Deseas restablecer el dispositivo?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancelar"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Restablecer ahora"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Restablece la configuración de fábrica para usar este dispositivo sin restricciones"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Toca para obtener más información."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Se inhabilitó <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-es-watch/styles_material.xml b/core/res/res/values-es-watch/styles_material.xml
new file mode 100644
index 0000000..898d2fd
--- /dev/null
+++ b/core/res/res/values-es-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidatos"</font></string>
+</resources>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index ae916ca..0f9f50d 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Escala"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Mostrar siempre"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Para volver a habilitar esta opción, accede a Ajustes &gt; Aplicaciones &gt; Descargadas."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> no admite el tamaño de pantalla actual y es posible que funcione de forma inesperada."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Mostrar siempre"</string>
     <string name="smv_application" msgid="3307209192155442829">"La aplicación <xliff:g id="APPLICATION">%1$s</xliff:g> (proceso <xliff:g id="PROCESS">%2$s</xliff:g>) ha infringido su política StrictMode autoaplicable."</string>
     <string name="smv_process" msgid="5120397012047462446">"El proceso <xliff:g id="PROCESS">%1$s</xliff:g> ha infringido su política StrictMode autoaplicable."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Actualizando Android"</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"No fijar"</string>
     <string name="app_info" msgid="6856026610594615344">"Información de la aplicación"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Reiniciar sesión"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Toca para iniciar una nueva sesión de demostración"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Iniciando demo"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Reiniciando sesión"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"¿Restablecer el dispositivo?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Toca para restablecer el dispositivo"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Iniciando demostración…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Restableciendo dispositivo…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"¿Restablecer el dispositivo?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancelar"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Restablecer ahora"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Restablece los datos de fábrica para usar este dispositivo sin restricciones"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Toca para obtener más información."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> inhabilitado"</string>
diff --git a/core/res/res/values-et-rEE-watch/styles_material.xml b/core/res/res/values-et-rEE-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-et-rEE-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-et-rEE/strings.xml b/core/res/res/values-et-rEE/strings.xml
index 15c9d83..2f3cd0a 100644
--- a/core/res/res/values-et-rEE/strings.xml
+++ b/core/res/res/values-et-rEE/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Mõõtkava"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Kuva alati"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Lubage see uuesti valikutes Süsteemiseaded &gt; Rakendused &gt; Allalaaditud."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"Rakendus <xliff:g id="APP_NAME">%1$s</xliff:g> ei toeta praegust ekraani suuruse seadet ja võib ootamatult käituda."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Kuva alati"</string>
     <string name="smv_application" msgid="3307209192155442829">"Rakendus <xliff:g id="APPLICATION">%1$s</xliff:g> (protsess <xliff:g id="PROCESS">%2$s</xliff:g>) on rikkunud isekehtestatud StrictMode\'i eeskirju."</string>
     <string name="smv_process" msgid="5120397012047462446">"Protsess <xliff:g id="PROCESS">%1$s</xliff:g> on rikkunud isejõustatud StrictMode\'i eeskirju."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android viiakse üle uuemale versioonile ..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Vabasta"</string>
     <string name="app_info" msgid="6856026610594615344">"Rakenduse teave"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Seansi taaskäivitamine"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Puudutage uue demoseansi alustamiseks"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Demo käivitamine"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Seansi taaskäivitamine"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Kas soovite seadme lähtestada?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Puudutage seadme lähtestamiseks"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Demo käivitamine …"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Seadme lähtestamine …"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Kas soovite seadme lähtestada?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Tühista"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Lähtesta kohe"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Seadme piiranguteta kasutamiseks lähtestage see tehaseandmetele"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Lisateabe saamiseks puudutage."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Keelatud <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-eu-rES-watch/styles_material.xml b/core/res/res/values-eu-rES-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-eu-rES-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-eu-rES/strings.xml b/core/res/res/values-eu-rES/strings.xml
index 655b7b7..0c08d08 100644
--- a/core/res/res/values-eu-rES/strings.xml
+++ b/core/res/res/values-eu-rES/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Eskala"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Erakutsi beti"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Gaitu hori berriro Sistemaren ezarpenak &gt; Aplikazioak &gt; Deskargatutakoak."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioak ez du onartzen uneko pantailaren tamaina eta espero ez bezala joka lezake."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Erakutsi beti"</string>
     <string name="smv_application" msgid="3307209192155442829">"<xliff:g id="APPLICATION">%1$s</xliff:g> aplikazioak (<xliff:g id="PROCESS">%2$s</xliff:g> prozesua) berak aplikatutako StrictMode gidalerroa urratu du."</string>
     <string name="smv_process" msgid="5120397012047462446">"<xliff:g id="PROCESS">%1$s</xliff:g> prozesuak bere kabuz ezarritako StrictMode gidalerroak urratu ditu."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android bertsio-berritzen ari da…"</string>
@@ -1193,8 +1195,7 @@
     <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"Instalazio-saioak irakurtzea baimentzen die aplikazioei. Horrela, pakete-instalazio aktiboei buruzko xehetasunak ikus ditzakete."</string>
     <string name="permlab_requestInstallPackages" msgid="5782013576218172577">"Eskatu instalazio-paketeak"</string>
     <string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"Paketeak instalatzeko eskatzea baimentzen die aplikazioei."</string>
-    <!-- no translation found for tutorial_double_tap_to_zoom_message_short (1311810005957319690) -->
-    <skip />
+    <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"Sakatu birritan zooma kontrolatzeko"</string>
     <string name="gadget_host_error_inflating" msgid="4882004314906466162">"Ezin izan da widgeta gehitu."</string>
     <string name="ime_action_go" msgid="8320845651737369027">"Joan"</string>
     <string name="ime_action_search" msgid="658110271822807811">"Bilatu"</string>
@@ -1225,10 +1226,8 @@
     <string name="notification_ranker_binding_label" msgid="774540592299064747">"Jakinarazpenen sailkapen-zerbitzua"</string>
     <string name="vpn_title" msgid="19615213552042827">"VPN eginbidea aktibatuta"</string>
     <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> aplikazioak VPN konexioa aktibatu du"</string>
-    <!-- no translation found for vpn_text (1610714069627824309) -->
-    <skip />
-    <!-- no translation found for vpn_text_long (4907843483284977618) -->
-    <skip />
+    <string name="vpn_text" msgid="1610714069627824309">"Sakatu sarea kudeatzeko."</string>
+    <string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> saiora konektatuta. Sakatu sarea kudeatzeko."</string>
     <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Beti aktibatuta dagoen VPNa konektatzen…"</string>
     <string name="vpn_lockdown_connected" msgid="8202679674819213931">"Beti aktibatuta dagoen VPNa konektatu da"</string>
     <string name="vpn_lockdown_error" msgid="6009249814034708175">"Beti aktibatuta dagoen VPN errorea"</string>
@@ -1425,7 +1424,7 @@
     <string name="user_switched" msgid="3768006783166984410">"Uneko erabiltzailea: <xliff:g id="NAME">%1$s</xliff:g>."</string>
     <string name="user_switching_message" msgid="2871009331809089783">"<xliff:g id="NAME">%1$s</xliff:g> erabiltzailera aldatzen…"</string>
     <string name="user_logging_out_message" msgid="8939524935808875155">"<xliff:g id="NAME">%1$s</xliff:g> erabiltzailearen saioa amaitzen…"</string>
-    <string name="owner_name" msgid="2716755460376028154">"Jabea"</string>
+    <string name="owner_name" msgid="2716755460376028154">"jabea"</string>
     <string name="error_message_title" msgid="4510373083082500195">"Errorea"</string>
     <string name="error_message_change_not_allowed" msgid="1347282344200417578">"Zure administratzaileak ez du aldaketa egiteko baimena eman"</string>
     <string name="app_not_found" msgid="3429141853498927379">"Ez da ekintza gauza dezakeen aplikaziorik aurkitu"</string>
@@ -1652,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Kendu aingura"</string>
     <string name="app_info" msgid="6856026610594615344">"Aplikazioari buruzko informazioa"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Berrabiarazi saioa"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Demo-saio berria hasteko, sakatu hau"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Demoa abiarazten"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Saioa berrabiarazten"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Gailua berrezarri nahi duzu?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Gailua berrezartzeko, sakatu hau"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Demoa abiarazten…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Gailua berrezartzen…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Gailua berrezarri nahi duzu?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Utzi"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Berrezarri"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Berrezarri jatorrizko ezarpenak gailua murriztapenik gabe erabili ahal izateko"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Sakatu informazio gehiago lortzeko."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> desgaituta dago"</string>
diff --git a/core/res/res/values-fa-watch/styles_material.xml b/core/res/res/values-fa-watch/styles_material.xml
new file mode 100644
index 0000000..23b9a7e
--- /dev/null
+++ b/core/res/res/values-fa-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"کاندیدها"</font></string>
+</resources>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index 0f61271..c858d76 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -860,36 +860,36 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"اکنون"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> دقیقه</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> دقیقه</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>دقیقه</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>دقیقه</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> ساعت</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ساعت</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>ساعت</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ساعت</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> روز</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> روز</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>روز</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>روز</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> سال</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> سال</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>سال</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>سال</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="one">در <xliff:g id="COUNT_1">%d</xliff:g> دقیقه</item>
-      <item quantity="other">در <xliff:g id="COUNT_1">%d</xliff:g> دقیقه</item>
+      <item quantity="one">در <xliff:g id="COUNT_1">%d</xliff:g>دقیقه</item>
+      <item quantity="other">در <xliff:g id="COUNT_1">%d</xliff:g>دقیقه</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="one">در <xliff:g id="COUNT_1">%d</xliff:g> ساعت</item>
-      <item quantity="other">در <xliff:g id="COUNT_1">%d</xliff:g> ساعت</item>
+      <item quantity="one">در <xliff:g id="COUNT_1">%d</xliff:g>ساعت</item>
+      <item quantity="other">در <xliff:g id="COUNT_1">%d</xliff:g>ساعت</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="one">در <xliff:g id="COUNT_1">%d</xliff:g> روز</item>
-      <item quantity="other">در <xliff:g id="COUNT_1">%d</xliff:g> روز</item>
+      <item quantity="one">در <xliff:g id="COUNT_1">%d</xliff:g>روز</item>
+      <item quantity="other">در <xliff:g id="COUNT_1">%d</xliff:g>روز</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="one">در <xliff:g id="COUNT_1">%d</xliff:g> سال</item>
-      <item quantity="other">در <xliff:g id="COUNT_1">%d</xliff:g> سال</item>
+      <item quantity="one">در <xliff:g id="COUNT_1">%d</xliff:g>سال</item>
+      <item quantity="other">در <xliff:g id="COUNT_1">%d</xliff:g>سال</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> دقیقه پیش</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"مقیاس"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"همیشه نشان داده شود"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"‏در تنظیمات سیستم &gt;برنامه‎ها &gt; مورد بارگیری شده آن را دوباره فعال کنید."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> از تنظیم فعلی اندازه نمایشگر پشتیبانی نمی‌کند و ممکن است رفتار غیرمنتظره‌ای داشته باشد."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"همیشه نشان داده شود"</string>
     <string name="smv_application" msgid="3307209192155442829">"‏برنامه <xliff:g id="APPLICATION">%1$s</xliff:g> (پردازش <xliff:g id="PROCESS">%2$s</xliff:g>) خط‌مشی StrictMode اجرایی خود را نقض کرده است."</string>
     <string name="smv_process" msgid="5120397012047462446">"‏فرآیند <xliff:g id="PROCESS">%1$s</xliff:g> خط‌مشی StrictMode اجرای خودکار خود را نقض کرده است."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"‏Android در حال ارتقا است..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"برداشتن پین"</string>
     <string name="app_info" msgid="6856026610594615344">"اطلاعات برنامه"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"راه‌اندازی مجدد جلسه"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"برای شروع جلسه آزمایشی جدید ضربه بزنید"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"شروع نسخه نمایشی"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"راه‌اندازی مجدد جلسه"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"دستگاه بازنشانی شود؟"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"برای بازنشانی دستگاه، ضربه بزنید"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"در حال شروع نسخه نمایشی…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"در حال بازنشانی دستگاه…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"دستگاه بازنشانی شود؟"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"لغو"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"بازنشانی در این لحظه"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"برای استفاده بدون محدودیت از این دستگاه، بازنشانی کارخانه‌ای انجام دهید"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"برای یادگیری بیشتر لمس کنید."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> غیرفعال شد"</string>
diff --git a/core/res/res/values-fi-watch/styles_material.xml b/core/res/res/values-fi-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-fi-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index 4441c81..e3e610a 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -876,20 +876,20 @@
       <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> v</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> min:n päästä</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> min:n päästä</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> min päästä</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> min päästä</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> t:n päästä</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> t:n päästä</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> t päästä</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> t päästä</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> pv:n päästä</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> pv:n päästä</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> pv päästä</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> pv päästä</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> v:n päästä</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> v:n päästä</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> v päästä</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> v päästä</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> minuuttia sitten</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Asteikko"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Näytä aina"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Ota tämä uudelleen käyttöön kohdassa Järjestelmäasetukset &gt; Sovellukset &gt; Ladattu."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> ei tue nykyistä näytön kokoasetusta ja saattaa toimia odottamattomalla tavalla."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Näytä aina"</string>
     <string name="smv_application" msgid="3307209192155442829">"Sovellus <xliff:g id="APPLICATION">%1$s</xliff:g> (prosessi <xliff:g id="PROCESS">%2$s</xliff:g>) on rikkonut itse käyttöön ottamaansa StrictMode-käytäntöä."</string>
     <string name="smv_process" msgid="5120397012047462446">"Prosessi <xliff:g id="PROCESS">%1$s</xliff:g> on rikkonut itse käyttöön ottamaansa StrictMode-käytäntöä."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Androidia päivitetään…"</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Irrota"</string>
     <string name="app_info" msgid="6856026610594615344">"Sovelluksen tiedot"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Istunnon uudelleenaloitus"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Aloita uusi esittely napauttamalla."</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Aloitetaan esittelyä"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Aloitetaan istuntoa uudelleen"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Palautetaanko laitteen tehdasasetukset?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Palauta laite napauttamalla"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Aloitetaan esittelyä…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Palautetaan asetuksia…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Palautetaanko laitteen tehdasasetukset?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Peruuta"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Palauta nyt"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Palauta tehdasasetukset, jotta voit käyttää tätä laitetta rajoituksitta"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Lue lisätietoja koskettamalla."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> ei ole käytössä."</string>
diff --git a/core/res/res/values-fr-rCA-watch/styles_material.xml b/core/res/res/values-fr-rCA-watch/styles_material.xml
new file mode 100644
index 0000000..f692d5c
--- /dev/null
+++ b/core/res/res/values-fr-rCA-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidats"</font></string>
+</resources>
diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml
index 9c8ff18..0462ad9 100644
--- a/core/res/res/values-fr-rCA/strings.xml
+++ b/core/res/res/values-fr-rCA/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Redimensionner"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Toujours afficher"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Réactivez ce mode en accédant à Paramètres système &gt; Applications &gt; Téléchargements"</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> n\'est pas compatible avec le paramètre de taille d\'affichage actuel et peut se comporter de manière inattendue."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Toujours afficher"</string>
     <string name="smv_application" msgid="3307209192155442829">"L\'application <xliff:g id="APPLICATION">%1$s</xliff:g> (du processus <xliff:g id="PROCESS">%2$s</xliff:g>) a enfreint ses propres règles du mode strict."</string>
     <string name="smv_process" msgid="5120397012047462446">"Le processus <xliff:g id="PROCESS">%1$s</xliff:g> a enfreint ses propres règles du mode strict."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Mise à jour d\'Android…"</string>
@@ -1610,7 +1612,7 @@
     <string name="stk_cc_ss_to_ss" msgid="5470768854991452695">"La demande SS a été modifiée et est maintenant une nouvelle demande SS."</string>
     <string name="notification_work_profile_content_description" msgid="4600554564103770764">"Profil professionnel"</string>
     <string name="expand_button_content_description" msgid="5855955413376384681">"Bouton Développer"</string>
-    <string name="expand_action_accessibility" msgid="5307730695723718254">"basculer le développement"</string>
+    <string name="expand_action_accessibility" msgid="5307730695723718254">"activer/désactiver le développement"</string>
     <string name="usb_midi_peripheral_name" msgid="7221113987741003817">"Port USB de l\'appareil Android"</string>
     <string name="usb_midi_peripheral_manufacturer_name" msgid="7176526170008970168">"Android"</string>
     <string name="usb_midi_peripheral_product_name" msgid="4971827859165280403">"Port USB"</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Annuler l\'épinglage"</string>
     <string name="app_info" msgid="6856026610594615344">"Détails de l\'application"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Redémarrer la séance"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Touchez ici pour démarrer une nouvelle séance de démonstration"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Démarrage de la démonstration en cours..."</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Redémarrage de la séance en cours..."</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Réinitialiser l\'appareil?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Touchez pour réinitialiser l\'appareil"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Démarrage de la démonstration en cours…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Réinitialisation de l\'appareil en cours…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Réinitialiser l\'appareil?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Annuler"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Réinitialiser maintenant"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Rétablissez la configuration d\'usine de cet appareil pour l\'utiliser sans restrictions"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Touchez ici pour en savoir plus."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Désactivé : <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-fr-watch/styles_material.xml b/core/res/res/values-fr-watch/styles_material.xml
new file mode 100644
index 0000000..f692d5c
--- /dev/null
+++ b/core/res/res/values-fr-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidats"</font></string>
+</resources>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index 823803c..8bd2f59c 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -860,8 +860,8 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"mainten."</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> min</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> min</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> m</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> m</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
       <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> h</item>
@@ -876,8 +876,8 @@
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> a</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="one">dans <xliff:g id="COUNT_1">%d</xliff:g> min</item>
-      <item quantity="other">dans <xliff:g id="COUNT_1">%d</xliff:g> min</item>
+      <item quantity="one">dans <xliff:g id="COUNT_1">%d</xliff:g> m</item>
+      <item quantity="other">dans <xliff:g id="COUNT_1">%d</xliff:g> m</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
       <item quantity="one">dans <xliff:g id="COUNT_1">%d</xliff:g> h</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Mise à l\'échelle"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Toujours afficher"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Réactivez ce mode en accédant à Paramètres système &gt; Applications &gt; Téléchargements"</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> n\'est pas compatible avec le paramètre de taille d\'affichage actuel et peut présenter un comportement inattendu."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Toujours afficher"</string>
     <string name="smv_application" msgid="3307209192155442829">"L\'application <xliff:g id="APPLICATION">%1$s</xliff:g> (du processus <xliff:g id="PROCESS">%2$s</xliff:g>) a enfreint ses propres règles du mode strict."</string>
     <string name="smv_process" msgid="5120397012047462446">"Le processus <xliff:g id="PROCESS">%1$s</xliff:g> a enfreint ses propres règles du mode strict."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Mise à jour d\'Android…"</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Retirer"</string>
     <string name="app_info" msgid="6856026610594615344">"Infos sur l\'appli"</string>
     <string name="negative_duration" msgid="5688706061127375131">"− <xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Redémarrer la session"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Appuyer pour lancer une nouvelle session de démonstration"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Lancement de la démo…"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Redémarrage de la session"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Réinitialiser l\'appareil ?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Appuyer pour réinitialiser l\'appareil"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Lancement de la démo…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Réinitialisation…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Réinitialiser l\'appareil ?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Annuler"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Réinitialiser maintenant"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Rétablir la configuration d\'usine pour utiliser cet appareil sans restrictions"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Appuyez ici pour en savoir plus."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Élément \"<xliff:g id="LABEL">%1$s</xliff:g>\" désactivé"</string>
diff --git a/core/res/res/values-gl-rES-watch/styles_material.xml b/core/res/res/values-gl-rES-watch/styles_material.xml
new file mode 100644
index 0000000..898d2fd
--- /dev/null
+++ b/core/res/res/values-gl-rES-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidatos"</font></string>
+</resources>
diff --git a/core/res/res/values-gl-rES/strings.xml b/core/res/res/values-gl-rES/strings.xml
index 12c3c17..2aa7ca72 100644
--- a/core/res/res/values-gl-rES/strings.xml
+++ b/core/res/res/values-gl-rES/strings.xml
@@ -860,8 +860,8 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"agora"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> min</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> min</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> m</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> m</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> h</item>
@@ -876,8 +876,8 @@
       <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> a</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="other">en <xliff:g id="COUNT_1">%d</xliff:g> min</item>
-      <item quantity="one">en <xliff:g id="COUNT_0">%d</xliff:g> min</item>
+      <item quantity="other">en <xliff:g id="COUNT_1">%d</xliff:g> m</item>
+      <item quantity="one">en <xliff:g id="COUNT_0">%d</xliff:g> m</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
       <item quantity="other">en <xliff:g id="COUNT_1">%d</xliff:g> h</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Escala"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Mostrar sempre"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Volve activar esta función en Configuración do sistema &gt; Aplicacións &gt; Descargadas."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> non admite a configuración do tamaño de pantalla actual e quizais presente un comportamento inesperado."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Mostrar sempre"</string>
     <string name="smv_application" msgid="3307209192155442829">"A aplicación <xliff:g id="APPLICATION">%1$s</xliff:g> (proceso <xliff:g id="PROCESS">%2$s</xliff:g>) infrinxiu a súa política StrictMode autoaplicada."</string>
     <string name="smv_process" msgid="5120397012047462446">"O proceso <xliff:g id="PROCESS">%1$s</xliff:g> infrinxiu a política StrictMode de aplicación automática."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Estase actualizando Android…"</string>
@@ -1193,8 +1195,7 @@
     <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"Permite que unha aplicación consulte as sesións de instalación. Desta forma, pode ver os detalles acerca das instalacións de paquetes activas."</string>
     <string name="permlab_requestInstallPackages" msgid="5782013576218172577">"solicitar instalación de paquetes"</string>
     <string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"Permite a unha aplicación solicitar a instalación dos paquetes."</string>
-    <!-- no translation found for tutorial_double_tap_to_zoom_message_short (1311810005957319690) -->
-    <skip />
+    <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"Toca dúas veces para controlar o zoom"</string>
     <string name="gadget_host_error_inflating" msgid="4882004314906466162">"Non se puido engadir o widget."</string>
     <string name="ime_action_go" msgid="8320845651737369027">"Ir"</string>
     <string name="ime_action_search" msgid="658110271822807811">"Buscar"</string>
@@ -1225,10 +1226,8 @@
     <string name="notification_ranker_binding_label" msgid="774540592299064747">"Servizo de clasificación de notificacións"</string>
     <string name="vpn_title" msgid="19615213552042827">"VPN activada"</string>
     <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> activou a VPN"</string>
-    <!-- no translation found for vpn_text (1610714069627824309) -->
-    <skip />
-    <!-- no translation found for vpn_text_long (4907843483284977618) -->
-    <skip />
+    <string name="vpn_text" msgid="1610714069627824309">"Toca aquí para xestionar a rede."</string>
+    <string name="vpn_text_long" msgid="4907843483284977618">"Conectado a <xliff:g id="SESSION">%s</xliff:g>. Toca aquí para xestionar a rede."</string>
     <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"VPN sempre activada conectándose..."</string>
     <string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN sempre activada conectada"</string>
     <string name="vpn_lockdown_error" msgid="6009249814034708175">"Erro na VPN sempre activada"</string>
@@ -1652,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Soltar"</string>
     <string name="app_info" msgid="6856026610594615344">"Información da aplicación"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Reiniciar sesión"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Toca para iniciar unha nova sesión de demostración"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Iniciando demostración"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Reiniciando sesión"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Queres restablecer o dispositivo?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Toca aquí para restablecer o dispositivo"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Iniciando demostración…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Restablecendo dispositivo…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Queres restablecer o dispositivo?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancelar"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Restablecer agora"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Restablecemento dos valores de fábrica para usar este dispositivo sen restricións"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Toca para acceder a máis información"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Desactivouse <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-gu-rIN-watch/styles_material.xml b/core/res/res/values-gu-rIN-watch/styles_material.xml
new file mode 100644
index 0000000..21c6871
--- /dev/null
+++ b/core/res/res/values-gu-rIN-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"ઉમેદવારો"</font></string>
+</resources>
diff --git a/core/res/res/values-gu-rIN/strings.xml b/core/res/res/values-gu-rIN/strings.xml
index 0fd5699..5682010 100644
--- a/core/res/res/values-gu-rIN/strings.xml
+++ b/core/res/res/values-gu-rIN/strings.xml
@@ -876,20 +876,20 @@
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>વ</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>મિ. માં</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>મિ. માં</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>મિ માં</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>મિ માં</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>ક. માં</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ક. માં</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>ક માં</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ક માં</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>દિ. માં</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>દિ. માં</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>દિ માં</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>દિ માં</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>વ. માં</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>વ. માં</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>વ માં</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>વ માં</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> મિનિટ પહેલાં</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"સ્કેલ"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"હંમેશા બતાવો"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"આને સિસ્ટમ સેટિંગ્સ &gt; ઍપ્લિકેશનો &gt; ડાઉનલોડ કરેલમાં ફરીથી સક્ષમ કરો."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> વર્તમાન પ્રદર્શન કદની સેટિંગનું સમર્થન કરતું નથી અને અનપેક્ષિત રીતે વર્તી શકે છે."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"હંમેશાં બતાવો"</string>
     <string name="smv_application" msgid="3307209192155442829">"<xliff:g id="APPLICATION">%1$s</xliff:g> ઍપ્લિકેશન (<xliff:g id="PROCESS">%2$s</xliff:g> પ્રક્રિયા)એ તેની સ્વ-લાગુ કરેલ StrictMode નીતિનું ઉલ્લંઘન કર્યું છે."</string>
     <string name="smv_process" msgid="5120397012047462446">"<xliff:g id="PROCESS">%1$s</xliff:g> પ્રક્રિયાએ તેની સ્વ-લાગુ કરેલ StrictMode નીતિનું ઉલ્લંઘન કર્યું છે."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android અપગ્રેડ થઈ રહ્યું છે..."</string>
@@ -1193,8 +1195,7 @@
     <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"એપ્લિકેશનને ઇન્સ્ટોલ સત્રોને વાંચવાની મંજૂરી આપે છે. આ તેને સક્રિય પૅકેજ ઇન્સ્ટોલેશન્સ વિશે વિગતો જોવાની મંજૂરી આપે છે."</string>
     <string name="permlab_requestInstallPackages" msgid="5782013576218172577">"પૅકેજેસ ઇન્સ્ટૉલ કરવાની વિનંતી કરો"</string>
     <string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"એપ્લિકેશનને પૅકેજેસના ઇન્સ્ટોલેશનની વિનંતી કરવાની મંજૂરી આપો."</string>
-    <!-- no translation found for tutorial_double_tap_to_zoom_message_short (1311810005957319690) -->
-    <skip />
+    <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"ઝૂમ નિયંત્રણ માટે બેવાર ટૅપ કરો"</string>
     <string name="gadget_host_error_inflating" msgid="4882004314906466162">"વિજેટ ઉમેરી શકાયું નથી."</string>
     <string name="ime_action_go" msgid="8320845651737369027">"જાઓ"</string>
     <string name="ime_action_search" msgid="658110271822807811">"શોધો"</string>
@@ -1225,10 +1226,8 @@
     <string name="notification_ranker_binding_label" msgid="774540592299064747">"સૂચના રેંકર સેવા"</string>
     <string name="vpn_title" msgid="19615213552042827">"VPN સક્રિય કર્યું"</string>
     <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> દ્વારા VPN સક્રિય થયું"</string>
-    <!-- no translation found for vpn_text (1610714069627824309) -->
-    <skip />
-    <!-- no translation found for vpn_text_long (4907843483284977618) -->
-    <skip />
+    <string name="vpn_text" msgid="1610714069627824309">"નેટવર્કને સંચાલિત કરવા માટે ટૅપ કરો."</string>
+    <string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> થી કનેક્ટ થયાં. નેટવર્કને સંચાલિત કરવા માટે ટૅપ કરો."</string>
     <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"હંમેશા-ચાલુ VPN કનેક્ટ થઈ રહ્યું છે…"</string>
     <string name="vpn_lockdown_connected" msgid="8202679674819213931">"હંમેશા-ચાલુ VPN કનેક્ટ થયું"</string>
     <string name="vpn_lockdown_error" msgid="6009249814034708175">"હંમેશાં ચાલુ VPN ભૂલ"</string>
@@ -1652,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"અનપિન કરો"</string>
     <string name="app_info" msgid="6856026610594615344">"ઍપ્લિકેશન માહિતી"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"સત્ર પુનઃપ્રારંભ કરો"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"નવું ડેમો સત્ર પ્રારંભ કરવા માટે ટૅપ કરો"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"ડેમો પુનઃપ્રારંભ કરી રહ્યાં છે"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"સત્ર પુનઃપ્રારંભ કરી રહ્યાં છે"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"ઉપકરણ ફરીથી સેટ કરીએ?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"ઉપકરણને ફરીથી સેટ કરવા માટે ટૅપ કરો"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"ડેમો પ્રારંભ કરી રહ્યાં છે…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"ઉપકરણ ફરીથી સેટ કરી રહ્યાં છે…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"ઉપકરણ ફરીથી સેટ કરીએ?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"રદ કરો"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"હમણાં ફરીથી સેટ કરો"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"આ ઉપકરણનો પ્રતિબંધો વિના ઉપયોગ કરવા માટે ફેક્ટરી રીસેટ કરો"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"વધુ જાણવા માટે ટચ કરો."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> અક્ષમ કર્યું"</string>
diff --git a/core/res/res/values-hi-watch/styles_material.xml b/core/res/res/values-hi-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-hi-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index 4c8ec79..1212454 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -860,12 +860,12 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"अभी"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> मि.</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> मि.</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> मि</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> मि</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> घं.</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> घं.</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> घं</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> घं</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
       <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> दिन</item>
@@ -876,12 +876,12 @@
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> वर्ष</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> मिनट में</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> मिनट में</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> मि में</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> मि में</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> घंटे में</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> घंटे में</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> घं में</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> घं में</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
       <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> दिन में</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"स्केल"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"हमेशा दिखाएं"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"इसे सिस्‍टम सेटिंग &gt; Apps &gt; डाउनलोड किए गए में पुन: सक्षम करें."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> वर्तमान स्क्रीन के आकार की सेटिंग का समर्थन नहीं करता है और अनपेक्षित रूप से व्यवहार कर सकता है."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"हमेशा दिखाएं"</string>
     <string name="smv_application" msgid="3307209192155442829">"ऐप्स <xliff:g id="APPLICATION">%1$s</xliff:g> (प्रक्रिया <xliff:g id="PROCESS">%2$s</xliff:g>) ने उसकी स्‍वयं लागू होने वाली StrictMode नीति का उल्‍लंघन किया है."</string>
     <string name="smv_process" msgid="5120397012047462446">"प्रक्रिया <xliff:g id="PROCESS">%1$s</xliff:g> ने उसकी स्‍व-प्रवर्तित StrictMode नीति का उल्‍लंघन किया है."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android अपग्रेड हो रहा है..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"अनपिन करें"</string>
     <string name="app_info" msgid="6856026610594615344">"ऐप की जानकारी"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"सत्र पुन: प्रारंभ करें"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"एक नया डेमो सत्र प्रारंभ करने के लिए टैप करें"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"डेमो प्रारंभ हो रहा है"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"सत्र पुन: प्रारंभ हो रहा है"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"डिवाइस रीसेट करें?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"डिवाइस को रीसेट करने के लिए टैप करें"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"डेमो प्रारंभ हो रहा है…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"डिवाइस पुन: रीसेट कर रहा है…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"डिवाइस रीसेट करें?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"अभी नहीं"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"अभी रीसेट करें"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"इस डिवाइस को प्रतिबंधों के बिना उपयोग करने के लिए फ़ैक्टरी रीसेट करें"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"अधिक जानने के लिए स्पर्श करें."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"अक्षम <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-hr-watch/styles_material.xml b/core/res/res/values-hr-watch/styles_material.xml
new file mode 100644
index 0000000..88e5751
--- /dev/null
+++ b/core/res/res/values-hr-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"kandidati"</font></string>
+</resources>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index d1752c6..d321ff3 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -1038,6 +1038,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Mjerilo"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Uvijek prikaži"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Omogućiti to ponovo u Postavkama sustava &gt; Aplikacije &gt; Preuzimanja."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> ne podržava trenutačnu postavku veličine zaslona i može se ponašati neočekivano."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Uvijek prikaži"</string>
     <string name="smv_application" msgid="3307209192155442829">"Aplikacija <xliff:g id="APPLICATION">%1$s</xliff:g> (proces <xliff:g id="PROCESS">%2$s</xliff:g>) prekršila je vlastito pravilo StrictMode."</string>
     <string name="smv_process" msgid="5120397012047462446">"Proces <xliff:g id="PROCESS">%1$s</xliff:g> prekršio je svoje vlastito pravilo StrictMode."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android se nadograđuje…"</string>
@@ -1685,10 +1687,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Otkvači"</string>
     <string name="app_info" msgid="6856026610594615344">"Informacije o aplikaciji"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Ponovno pokretanje sesije"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Dodirnite za pokretanje nove demo-sesije"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Pokretanje demonstracije"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Ponovno pokretanje sesije"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Želite li vratiti uređaj na zadano?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Dodirnite za vraćanje uređaja na zadano"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Pokretanje demo-načina..."</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Vraćanje uređaja na zadano…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Želite li vratiti uređaj na zadano?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Odustani"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Vrati na zadano sada"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Uređaj je vraćen na tvorničke postavke da biste ga mogli upotrebljavati bez ograničenja"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Dodirnite da biste saznali više."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> – onemogućeno"</string>
diff --git a/core/res/res/values-hu-watch/styles_material.xml b/core/res/res/values-hu-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-hu-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index 73dc3c7..8240567 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Skála"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Mindig megjelenik"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Újbóli engedélyezés itt: Rendszerbeállítások &gt; Alkalmazások &gt; Letöltve."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> alkalmazás nem támogatja a képernyőméret jelenlegi beállításait, ezért nem várt módon viselkedhet."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Mindig megjelenik"</string>
     <string name="smv_application" msgid="3307209192155442829">"A(z) <xliff:g id="APPLICATION">%1$s</xliff:g> alkalmazás (<xliff:g id="PROCESS">%2$s</xliff:g> folyamat) megsértette az általa kényszerített Szigorú üzemmód irányelvet."</string>
     <string name="smv_process" msgid="5120397012047462446">"<xliff:g id="PROCESS">%1$s</xliff:g> folyamat megsértette az általa kényszerített Szigorú üzemmód irányelvet."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android frissítése folyamatban..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Feloldás"</string>
     <string name="app_info" msgid="6856026610594615344">"Alkalmazásinformáció"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Munkamenet újraindítása"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Koppintson az új, bemutató munkamenet indításához"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Bemutató indítása"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Munkamenet újraindítása"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Visszaállítja eszközét?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Koppintson az eszköz visszaállítása érdekében"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Bemutató indítása…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Eszköz visszaállítása…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Visszaállítja eszközét?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Mégse"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Visszaállítás most"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Állítsa vissza a gyári beállításokat az eszköz korlátozások nélküli használata érdekében"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Érintse meg a további információkért."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"A(z) <xliff:g id="LABEL">%1$s</xliff:g> letiltva"</string>
diff --git a/core/res/res/values-hy-rAM-watch/styles_material.xml b/core/res/res/values-hy-rAM-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-hy-rAM-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-hy-rAM/strings.xml b/core/res/res/values-hy-rAM/strings.xml
index 8d78cf5..30413dc 100644
--- a/core/res/res/values-hy-rAM/strings.xml
+++ b/core/res/res/values-hy-rAM/strings.xml
@@ -21,7 +21,7 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="byteShort" msgid="8340973892742019101">"Բ"</string>
-    <string name="kilobyteShort" msgid="5973789783504771878">"ԿԲ"</string>
+    <string name="kilobyteShort" msgid="5973789783504771878">"կԲ"</string>
     <string name="megabyteShort" msgid="6355851576770428922">"ՄԲ"</string>
     <string name="gigabyteShort" msgid="3259882455212193214">"ԳԲ"</string>
     <string name="terabyteShort" msgid="231613018159186962">"ՏԲ"</string>
@@ -228,9 +228,9 @@
     <string name="global_action_toggle_silent_mode" msgid="8219525344246810925">"Անձայն ռեժիմ"</string>
     <string name="global_action_silent_mode_on_status" msgid="3289841937003758806">"Ձայնը անջատված է"</string>
     <string name="global_action_silent_mode_off_status" msgid="1506046579177066419">"Ձայնը միացված է"</string>
-    <string name="global_actions_toggle_airplane_mode" msgid="5884330306926307456">"Ինքնաթիռային ռեժիմ"</string>
-    <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Ինքնաթիռային ռեժիմը միացված է"</string>
-    <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Ինքնաթիռային ռեժիմը անջատված է"</string>
+    <string name="global_actions_toggle_airplane_mode" msgid="5884330306926307456">"Ինքնաթիռի ռեժիմ"</string>
+    <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Ինքնաթիռի ռեժիմը միացված է"</string>
+    <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Ինքնաթիռի ռեժիմը անջատված է"</string>
     <string name="global_action_settings" msgid="1756531602592545966">"Կարգավորումներ"</string>
     <string name="global_action_assist" msgid="3892832961594295030">"Օգնական"</string>
     <string name="global_action_voice_assist" msgid="7751191495200504480">"Ձայնային օգնութ"</string>
@@ -967,13 +967,13 @@
     <string name="whichApplicationNamed" msgid="8260158865936942783">"Եզրափակել գործողությունը՝ օգտագործելով %1$s"</string>
     <string name="whichApplicationLabel" msgid="7425855495383818784">"Ավարտել գործողությունը"</string>
     <string name="whichViewApplication" msgid="3272778576700572102">"Բացել հետևյալ ծրագրով՝"</string>
-    <string name="whichViewApplicationNamed" msgid="2286418824011249620">"Բացել հետևյալով՝ %1$s"</string>
+    <string name="whichViewApplicationNamed" msgid="2286418824011249620">"Բացել ծրագրով՝ %1$s"</string>
     <string name="whichViewApplicationLabel" msgid="2666774233008808473">"Բացել"</string>
     <string name="whichEditApplication" msgid="144727838241402655">"Խմբագրել հետևյալ ծրագրով՝"</string>
     <string name="whichEditApplicationNamed" msgid="1775815530156447790">"Խմբագրել հետևյալով՝ %1$s"</string>
     <string name="whichEditApplicationLabel" msgid="7183524181625290300">"Փոփոխել"</string>
     <string name="whichSendApplication" msgid="6902512414057341668">"Կիսվել"</string>
-    <string name="whichSendApplicationNamed" msgid="2799370240005424391">"Տարածել ըստ %1$s"</string>
+    <string name="whichSendApplicationNamed" msgid="2799370240005424391">"Կիսվել %1$s-ի միջոցով"</string>
     <string name="whichSendApplicationLabel" msgid="4579076294675975354">"Տրամադրել"</string>
     <string name="whichSendToApplication" msgid="8272422260066642057">"Ուղարկել այս հավելվածով"</string>
     <string name="whichSendToApplicationNamed" msgid="7768387871529295325">"Ուղարկել %1$s հավելվածով"</string>
@@ -995,7 +995,7 @@
     <string name="aerr_application_repeated" msgid="3146328699537439573">"<xliff:g id="APPLICATION">%1$s</xliff:g> հավելվածի աշխատանքը շարունակաբար ընդհատվում է"</string>
     <string name="aerr_process_repeated" msgid="6235302956890402259">"<xliff:g id="PROCESS">%1$s</xliff:g> գործընթացը շարունակաբար ընդհատվում է"</string>
     <string name="aerr_restart" msgid="7581308074153624475">"Կրկին բացել հավելվածը"</string>
-    <string name="aerr_report" msgid="5371800241488400617">"Ուղարկել կարծիք"</string>
+    <string name="aerr_report" msgid="5371800241488400617">"Կարծիք հայտնել"</string>
     <string name="aerr_close" msgid="2991640326563991340">"Փակել"</string>
     <string name="aerr_mute" msgid="1974781923723235953">"Անջատել ձայնը մինչև սարքի վերագործարկումը"</string>
     <string name="aerr_wait" msgid="3199956902437040261">"Սպասել"</string>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Աստիճանակարգել"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Միշտ ցույց տալ"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Կրկին ակտիվացնել սա Համակարգի կարգավորումներում &amp;gt Ծրագրեր &gt; Ներբեռնումներ:"</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածը չի աջակցում Էկրանի չափի ընթացիկ կարգավորումները, ինչի պատճառով կարող են խնդիրներ առաջանալ:"</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Միշտ ցուցադրել"</string>
     <string name="smv_application" msgid="3307209192155442829">"<xliff:g id="APPLICATION">%1$s</xliff:g> ծրագիրը (գործընթաց <xliff:g id="PROCESS">%2$s</xliff:g>) խախտել է իր ինքնահարկադրված Խիստ ռեժիմ  քաղաքականությունը:"</string>
     <string name="smv_process" msgid="5120397012047462446">"<xliff:g id="PROCESS">%1$s</xliff:g> գործընթացը խախտել է իր ինքնահարկադրված Խիստ ռեժիմ քաղաքականությունը:"</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android-ը նորացվում է..."</string>
@@ -1610,7 +1612,7 @@
     <string name="stk_cc_ss_to_ss" msgid="5470768854991452695">"SS հարցումը փոխվել է նոր SS հարցման:"</string>
     <string name="notification_work_profile_content_description" msgid="4600554564103770764">"Աշխատանքային պրոֆիլ"</string>
     <string name="expand_button_content_description" msgid="5855955413376384681">"«Ընդարձակել» կոճակ"</string>
-    <string name="expand_action_accessibility" msgid="5307730695723718254">"փոխարկել ընդլայնումը"</string>
+    <string name="expand_action_accessibility" msgid="5307730695723718254">"Կոծկել/Ընդարձակել"</string>
     <string name="usb_midi_peripheral_name" msgid="7221113987741003817">"Android USB արտաքին միացք"</string>
     <string name="usb_midi_peripheral_manufacturer_name" msgid="7176526170008970168">"Android"</string>
     <string name="usb_midi_peripheral_product_name" msgid="4971827859165280403">"USB արտաքին միացք"</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Ապամրացնել"</string>
     <string name="app_info" msgid="6856026610594615344">"Հավելվածի տվյալներ"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Վերագործարկել աշխատաշրջանը"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Հպեք՝ նոր ցուցադրական աշխատաշրջան սկսելու համար"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Ցուցադրական օգտվողի գործարկում"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Աշխատաշրջանի վերագործարկում"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Վերակայե՞լ սարքը:"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Հպեք՝ սարքը վերակայելու համար"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Ցուցադրական օգտվողը գործարկվում է…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Սարաքը վերակայվում է…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Վերակայե՞լ սարքը:"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Չեղարկել"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Վերակայել հիմա"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Սարքն առանց սահմանափակումների օգտագործելու համար կատարեք գործարանային վերակայում"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Հպեք՝ ավելին իմանալու համար:"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Անջատած <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-in-watch/styles_material.xml b/core/res/res/values-in-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-in-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index 74efb2d..2de9525 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Skala"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Selalu tampilkan"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Aktifkan kembali dialog ini di Setelan sistem &gt; Apl &gt; Terunduh."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> tidak mendukung setelan Ukuran layar saat ini dan dapat menunjukkan perilaku yang tak diharapkan."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Selalu tampilkan"</string>
     <string name="smv_application" msgid="3307209192155442829">"Apl <xliff:g id="APPLICATION">%1$s</xliff:g> (proses <xliff:g id="PROCESS">%2$s</xliff:g>) telah melanggar kebijakan StrictMode yang diberlakukannya sendiri."</string>
     <string name="smv_process" msgid="5120397012047462446">"Proses <xliff:g id="PROCESS">%1$s</xliff:g> telah melanggar kebijakan StrictMode yang diberlakukan secara otomatis."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android sedang meningkatkan versi..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Lepas pin"</string>
     <string name="app_info" msgid="6856026610594615344">"Info aplikasi"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Mulai Ulang Sesi"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Ketuk untuk memulai sesi demo baru"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Memulai demo"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Memulai ulang sesi"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Setel ulang perangkat?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Ketuk untuk menyetel ulang perangkat"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Memulai demo..."</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Menyetel ulang perangkat..."</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Setel ulang perangkat?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Batal"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Setel ulang sekarang"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Dikembalikan ke setelan pabrik agar perangkat ini dapat digunakan tanpa batasan"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Sentuh untuk mempelajari lebih lanjut."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> dinonaktifkan"</string>
diff --git a/core/res/res/values-is-rIS-watch/styles_material.xml b/core/res/res/values-is-rIS-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-is-rIS-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-is-rIS/strings.xml b/core/res/res/values-is-rIS/strings.xml
index 8e09f40..b03066d6 100644
--- a/core/res/res/values-is-rIS/strings.xml
+++ b/core/res/res/values-is-rIS/strings.xml
@@ -858,34 +858,34 @@
       <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> klukkustund</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> klukkustundir</item>
     </plurals>
-    <string name="now_string_shortest" msgid="8912796667087856402">"núna"</string>
+    <string name="now_string_shortest" msgid="8912796667087856402">"nú"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> mín.</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> mín.</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> m.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> m.</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> klst.</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> klst.</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> k.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> k.</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> d</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> d</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> d.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> d.</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> ár</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ár</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> á.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> á.</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="one">eftir <xliff:g id="COUNT_1">%d</xliff:g> mín.</item>
-      <item quantity="other">eftir <xliff:g id="COUNT_1">%d</xliff:g> mín.</item>
+      <item quantity="one">eftir <xliff:g id="COUNT_1">%d</xliff:g> m.</item>
+      <item quantity="other">eftir <xliff:g id="COUNT_1">%d</xliff:g> m.</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="one">eftir <xliff:g id="COUNT_1">%d</xliff:g> klst.</item>
-      <item quantity="other">eftir <xliff:g id="COUNT_1">%d</xliff:g> klst.</item>
+      <item quantity="one">eftir <xliff:g id="COUNT_1">%d</xliff:g> k.</item>
+      <item quantity="other">eftir <xliff:g id="COUNT_1">%d</xliff:g> k.</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="one">eftir <xliff:g id="COUNT_1">%d</xliff:g> d</item>
-      <item quantity="other">eftir <xliff:g id="COUNT_1">%d</xliff:g> d</item>
+      <item quantity="one">eftir <xliff:g id="COUNT_1">%d</xliff:g> d.</item>
+      <item quantity="other">eftir <xliff:g id="COUNT_1">%d</xliff:g> d.</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
       <item quantity="one">eftir <xliff:g id="COUNT_1">%d</xliff:g> ár</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Breyta stærð"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Sýna alltaf"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Þú getur kveikt aftur á þessu undir Kerfisstillingar &gt; Forrit &gt; Sótt."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> styður ekki núverandi skjástærðarstillingu og gæti því ekki virkað sem skyldi."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Sýna alltaf"</string>
     <string name="smv_application" msgid="3307209192155442829">"Forritið <xliff:g id="APPLICATION">%1$s</xliff:g> (ferli <xliff:g id="PROCESS">%2$s</xliff:g>) hefur brotið gegn eigin StrictMode-stefnu."</string>
     <string name="smv_process" msgid="5120397012047462446">"Forritið <xliff:g id="PROCESS">%1$s</xliff:g> braut gegn eigin StrictMode-stefnu."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android er að uppfæra…"</string>
@@ -1193,8 +1195,7 @@
     <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"Leyfir forriti að lesa uppsetningarlotur. Þetta gerir því kleift að sjá upplýsingar um virkar pakkauppsetningar."</string>
     <string name="permlab_requestInstallPackages" msgid="5782013576218172577">"fara fram á uppsetningu pakka"</string>
     <string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"Leyfir forriti að fara fram á uppsetningu pakka."</string>
-    <!-- no translation found for tutorial_double_tap_to_zoom_message_short (1311810005957319690) -->
-    <skip />
+    <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"Ýttu tvisvar til að opna aðdráttarstýringar"</string>
     <string name="gadget_host_error_inflating" msgid="4882004314906466162">"Ekki tókst að bæta græju við."</string>
     <string name="ime_action_go" msgid="8320845651737369027">"Áfram"</string>
     <string name="ime_action_search" msgid="658110271822807811">"Leita"</string>
@@ -1225,10 +1226,8 @@
     <string name="notification_ranker_binding_label" msgid="774540592299064747">"Tilkynningaröðun"</string>
     <string name="vpn_title" msgid="19615213552042827">"VPN virkjað"</string>
     <string name="vpn_title_long" msgid="6400714798049252294">"VPN er virkjað með <xliff:g id="APP">%s</xliff:g>"</string>
-    <!-- no translation found for vpn_text (1610714069627824309) -->
-    <skip />
-    <!-- no translation found for vpn_text_long (4907843483284977618) -->
-    <skip />
+    <string name="vpn_text" msgid="1610714069627824309">"Ýttu til að hafa umsjón með netkerfi"</string>
+    <string name="vpn_text_long" msgid="4907843483284977618">"Tengt við <xliff:g id="SESSION">%s</xliff:g>. Ýttu til að hafa umsjón með netinu."</string>
     <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Sívirkt VPN tengist…"</string>
     <string name="vpn_lockdown_connected" msgid="8202679674819213931">"Sívirkt VPN tengt"</string>
     <string name="vpn_lockdown_error" msgid="6009249814034708175">"Villa í sívirku VPN"</string>
@@ -1652,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Losa"</string>
     <string name="app_info" msgid="6856026610594615344">"Forritsupplýsingar"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Endurræsa lotu"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Ýttu til að hefja nýja tilraunalotu"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Byrjar kynningu"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Endurræsir lotu"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Endurstilla tækið?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Ýttu til að endurstilla tækið"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Byrjar kynningu…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Endurstillir tækið…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Endurstilla tækið?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Hætta við"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Endurstilla núna"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Núllstilltu til að nota þetta tæki án takmarkana"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Snertu til að fá frekari upplýsingar."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Slökkt <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-it-watch/styles_material.xml b/core/res/res/values-it-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-it-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 8318d45..5f482ad 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Scala"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Mostra sempre"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Riattivala in Impostazioni di sistema &gt; Applicazioni &gt; Scaricate."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> non supporta le dimensioni di visualizzazione attualmente impostate e potrebbe comportarsi in modo imprevisto."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Mostra sempre"</string>
     <string name="smv_application" msgid="3307209192155442829">"L\'applicazione <xliff:g id="APPLICATION">%1$s</xliff:g> (processo <xliff:g id="PROCESS">%2$s</xliff:g>) ha violato la norma StrictMode autoimposta."</string>
     <string name="smv_process" msgid="5120397012047462446">"Il processo <xliff:g id="PROCESS">%1$s</xliff:g> ha violato la norma StrictMode autoimposta."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Aggiornamento di Android..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Sblocca"</string>
     <string name="app_info" msgid="6856026610594615344">"Informazioni app"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Riavvia la sessione"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Tocca per iniziare una nuova sessione demo"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Avvio della demo in corso"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Riavvio della sessione in corso"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Ripristinare il dispositivo?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Tocca per ripristinare il dispositivo"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Avvio della demo…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Ripristino del dispositivo…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Ripristinare il dispositivo?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Annulla"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Ripristina ora"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Esegui il ripristino dei dati di fabbrica per utilizzare il dispositivo senza limitazioni"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Tocca per ulteriori informazioni."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Widget <xliff:g id="LABEL">%1$s</xliff:g> disattivato"</string>
diff --git a/core/res/res/values-iw-watch/styles_material.xml b/core/res/res/values-iw-watch/styles_material.xml
new file mode 100644
index 0000000..f44b272
--- /dev/null
+++ b/core/res/res/values-iw-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"מועמדים"</font></string>
+</resources>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index c1f5246..b186aba 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -1061,6 +1061,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"שינוי קנה-מידה"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"הצג תמיד"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"‏אפשר תכונה זו מחדש ב\'הגדרות מערכת\' &lt;‏ Google Apps‏ &lt; \'הורדות\'."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> אינו תומך בהגדרת הגודל הנוכחית של התצוגה, והתנהגותו עשויה להיות בלתי צפויה."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"הצג תמיד"</string>
     <string name="smv_application" msgid="3307209192155442829">"‏האפליקציה <xliff:g id="APPLICATION">%1$s</xliff:g> (תהליך <xliff:g id="PROCESS">%2$s</xliff:g>) הפר את מדיניות StrictMode באכיפה עצמית שלו."</string>
     <string name="smv_process" msgid="5120397012047462446">"‏התהליך <xliff:g id="PROCESS">%1$s</xliff:g> הפר את מדיניות StrictMode באכיפה עצמית."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"‏Android מבצע שדרוג…"</string>
@@ -1721,10 +1723,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"בטל הצמדה"</string>
     <string name="app_info" msgid="6856026610594615344">"פרטי אפליקציה"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"הפעלה מחדש"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"הקש כדי להפעיל הדגמה חדשה"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"מתחיל בהדגמה"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"מפעיל מחדש"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"האם לאפס את המכשיר?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"הקש כדי לאפס את המכשיר"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"מתחיל בהדגמה…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"מאפס את המכשיר…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"האם לאפס את המכשיר?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"בטל"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"אפס עכשיו"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"איפוס להגדרות היצרן כדי לאפשר שימוש במכשיר ללא מגבלות"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"גע לקבלת מידע נוסף."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> הושבת"</string>
diff --git a/core/res/res/values-ja-watch/styles_material.xml b/core/res/res/values-ja-watch/styles_material.xml
new file mode 100644
index 0000000..7712090
--- /dev/null
+++ b/core/res/res/values-ja-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"候補"</font></string>
+</resources>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index 99e88d1..4261387 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"スケール"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"常に表示"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"[システム設定]&gt;[アプリ]&gt;[ダウンロード済み]で再度有効にします。"</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」は現在の [表示サイズ] 設定に対応していないため、予期しない動作が発生するおそれがあります。"</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"常に表示"</string>
     <string name="smv_application" msgid="3307209192155442829">"アプリ「<xliff:g id="APPLICATION">%1$s</xliff:g>」(プロセス「<xliff:g id="PROCESS">%2$s</xliff:g>」)でStrictModeポリシー違反がありました。"</string>
     <string name="smv_process" msgid="5120397012047462446">"プロセス<xliff:g id="PROCESS">%1$s</xliff:g>でStrictModeポリシー違反がありました。"</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Androidをアップグレードしています..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"固定を解除"</string>
     <string name="app_info" msgid="6856026610594615344">"アプリ情報"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"新しいセッションの開始"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"新しいデモセッションを開始するにはタップ"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"デモを開始しています"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"新しいセッションを開始しています"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"端末をリセットしますか?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"端末をリセットするにはタップしてください"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"デモを開始しています…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"端末をリセットしています…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"端末をリセットしますか?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"キャンセル"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"今すぐリセット"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"制限なしでこの端末を使用するには初期状態にリセットしてください"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"タップして詳細をご確認ください。"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"停止済みの「<xliff:g id="LABEL">%1$s</xliff:g>」"</string>
diff --git a/core/res/res/values-ka-rGE-watch/styles_material.xml b/core/res/res/values-ka-rGE-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-ka-rGE-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-ka-rGE/strings.xml b/core/res/res/values-ka-rGE/strings.xml
index 0c7c42d..b744594 100644
--- a/core/res/res/values-ka-rGE/strings.xml
+++ b/core/res/res/values-ka-rGE/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"მასშტაბი"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"ყოველთვის ჩვენება"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"ხელახალი გააქტიურება განყოფილებაში: სისტემის პარამეტრები &gt; აპები &gt; ჩამოტვირთულები."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g>-ის მიერ ეკრანის ამჟამინდელი პარამეტრები მხარდაუჭერელია და შეიძლება არასათანადოდ იმუშაოს."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"ყოველთვის ჩვენება"</string>
     <string name="smv_application" msgid="3307209192155442829">"აპმა <xliff:g id="APPLICATION">%1$s</xliff:g> (პროცესი <xliff:g id="PROCESS">%2$s</xliff:g>) დაარღვია საკუთარი StrictMode დებულება."</string>
     <string name="smv_process" msgid="5120397012047462446">"ამ პროცესმა <xliff:g id="PROCESS">%1$s</xliff:g> დააზიანა საკუთარი StrictMode დებულება."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android ახალ ვერსიაზე გადადის…"</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"ჩამაგრების მოხსნა"</string>
     <string name="app_info" msgid="6856026610594615344">"აპის შესახებ"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"სესიის ხელახლა დაწყება"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"შეეხეთ ახალი სადემონსტრაციო სესიის დასაწყებად"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"მიმდინარეობს დემონსტრაციის დაწყება"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"მიმდინარეობს სესიის ხელახლა დაწყება"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"გსურთ მოწყობილობის გადაყენება?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"შეეხეთ მოწყობილობის გადასაყენებლად"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"მიმდინარეობს დემონსტრაციის დაწყება…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"მიმდინარეობს მოწყობილობის გადაყენება…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"გსურთ მოწყობილობის გადაყენება?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"გაუქმება"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"ახლავე გადაყენება"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"ამ მოწყობილობის შეზღუდვების გარეშე გამოსაყენებლად, დააბრუნეთ ქარხნული პარამეტრები"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"შეეხეთ მეტის გასაგებად."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"გათიშული <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-kk-rKZ-watch/styles_material.xml b/core/res/res/values-kk-rKZ-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-kk-rKZ-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-kk-rKZ/strings.xml b/core/res/res/values-kk-rKZ/strings.xml
index d635365..52684c6 100644
--- a/core/res/res/values-kk-rKZ/strings.xml
+++ b/core/res/res/values-kk-rKZ/strings.xml
@@ -860,36 +860,36 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"қазір"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> м.</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> м.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>м</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>м</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> с.</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> с.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>с</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>с</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> к.</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> к.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>к</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>к</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ж.</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> ж.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ж</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>ж</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> м.</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> м.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>м</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>м</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> с.</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> с.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>с</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>с</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> к.</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> к.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>к</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>к</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ж.</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> ж.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ж</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>ж</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> минут бұрын</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Меже"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Үнемі көрсету"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Мұны «Жүйелік параметрлер» &gt; «Қолданбалар» &gt; «Жүктелгендер» тармағында қосыңыз."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасында \"Дисплей өлшемі\" параметрінің таңдалған мәніне қолдау көрсетілмейді, сондықтан дұрыс жұмыс істемеуі мүмкін."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Үнемі көрсету"</string>
     <string name="smv_application" msgid="3307209192155442829">"<xliff:g id="APPLICATION">%1$s</xliff:g> қолданбасы (<xliff:g id="PROCESS">%2$s</xliff:g> процесі) өзі қолданған StrictMode саясатын бұзды."</string>
     <string name="smv_process" msgid="5120397012047462446">"<xliff:g id="PROCESS">%1$s</xliff:g> үрдісі өздігінен күшіне енген ҚатаңРежим ережесін бұзды."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android жаңартылуда…"</string>
@@ -1193,8 +1195,7 @@
     <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"Қолданбаға орнату сеанстарын оқуға рұқсат етеді. Бұл оған белсенді бума орнатулары туралы мәліметтерді көруге рұқсат етеді."</string>
     <string name="permlab_requestInstallPackages" msgid="5782013576218172577">"орнату бумаларын сұрау"</string>
     <string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"Қолданбаның бумаларды орнатуға рұқсат сұрауына мүмкіндік береді."</string>
-    <!-- no translation found for tutorial_double_tap_to_zoom_message_short (1311810005957319690) -->
-    <skip />
+    <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"Масштабтау параметрін басқару үшін екі рет түртіңіз"</string>
     <string name="gadget_host_error_inflating" msgid="4882004314906466162">"Виджетті қосу."</string>
     <string name="ime_action_go" msgid="8320845651737369027">"Өту"</string>
     <string name="ime_action_search" msgid="658110271822807811">"Іздеу"</string>
@@ -1225,10 +1226,8 @@
     <string name="notification_ranker_binding_label" msgid="774540592299064747">"Хабарландыруларды жіктеу қызметі"</string>
     <string name="vpn_title" msgid="19615213552042827">"VPN белсенді"</string>
     <string name="vpn_title_long" msgid="6400714798049252294">"ВЖЭ <xliff:g id="APP">%s</xliff:g> арқылы қосылған"</string>
-    <!-- no translation found for vpn_text (1610714069627824309) -->
-    <skip />
-    <!-- no translation found for vpn_text_long (4907843483284977618) -->
-    <skip />
+    <string name="vpn_text" msgid="1610714069627824309">"Желіні басқару үшін түртіңіз."</string>
+    <string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> жүйесіне жалғанған. Желіні басқару үшін түріңіз."</string>
     <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Әрқашан қосылған ВЖЖ жалғануда…"</string>
     <string name="vpn_lockdown_connected" msgid="8202679674819213931">"Әрқашан қосылған ВЖЖ жалғанған"</string>
     <string name="vpn_lockdown_error" msgid="6009249814034708175">"Әрқашан қосылған ВЖЖ қателігі"</string>
@@ -1652,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Босату"</string>
     <string name="app_info" msgid="6856026610594615344">"Қолданба ақпараты"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Сеансты қайта бастау"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Жаңа демо сеансты бастау үшін түртіңіз"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Демоны бастау"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Сеансты қайта бастау"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Құрылғыны бастапқы күйге қайтару керек пе?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Құрылғыны бастапқы күйге келтіру үшін түртіңіз"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Демо нұсқасы іске қосылуда..."</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Құрылғы бастапқы күйге қайтарылуда..."</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Құрылғыны басқапқы күйге қайтару керек пе?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Бас тарту"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Қазір бастапқы күйге қайтару"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Осы құрылғыны шектеусіз пайдалану үшін зауыттық параметрлерді қалпына келтіріңіз"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Қосымша мәліметтер алу үшін түртіңіз."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> өшірулі"</string>
diff --git a/core/res/res/values-km-rKH-watch/styles_material.xml b/core/res/res/values-km-rKH-watch/styles_material.xml
new file mode 100644
index 0000000..e54cb00
--- /dev/null
+++ b/core/res/res/values-km-rKH-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"បេក្ខជន"</font></string>
+</resources>
diff --git a/core/res/res/values-km-rKH/strings.xml b/core/res/res/values-km-rKH/strings.xml
index aa7b35a..67ca750 100644
--- a/core/res/res/values-km-rKH/strings.xml
+++ b/core/res/res/values-km-rKH/strings.xml
@@ -1017,6 +1017,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"មាត្រដ្ឋាន"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"បង្ហាញ​ជា​និច្ច"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"បើក​វា​ឡើងវិញ​ក្នុង​ការ​កំណត់​ប្រព័ន្ធ &gt; កម្មវិធី &gt; ទាញ​យក។"</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> មិនគាំទ្រការកំណត់ទំហំនៃការបង្ហាញបច្ចុប្បន្ន និងអាចមានសកម្មភាពខុសពីការរំពឹងទុក។"</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"បង្ហាញ​ជា​និច្ច"</string>
     <string name="smv_application" msgid="3307209192155442829">"កម្មវិធី <xliff:g id="APPLICATION">%1$s</xliff:g> (ដំណើរការ <xliff:g id="PROCESS">%2$s</xliff:g>) បាន​បំពាន​គោលនយោបាយ​របៀប​តឹងរ៉ឹង​អនុវត្ត​ដោយ​ខ្លួន​​ឯង។"</string>
     <string name="smv_process" msgid="5120397012047462446">"ដំណើរការ <xliff:g id="PROCESS">%1$s</xliff:g> បាន​បំពាន​គោលនយោបាយ​​របៀប​​តឹង​រឹង​​​បង្ខំ​ដោយ​ខ្លួន​ឯង"</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android កំពុង​ធ្វើ​បច្ចុប្បន្នភាព..."</string>
@@ -1651,10 +1653,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"មិនខ្ទាស់"</string>
     <string name="app_info" msgid="6856026610594615344">"ព័ត៌មាន​កម្មវិធី"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"ចាប់ផ្តើមវេនម្តងទៀត"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"ប៉ះដើម្បីចាប់ផ្តើមវេនបង្ហាញសាកល្បងថ្មី"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"កំពុងចាប់ផ្តើមការបង្ហាញសាកល្បង"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"ចាប់ផ្តើមវេនសារជាថ្មី"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"កំណត់ឧបករណ៍ឡើងវិញឬ?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"ប៉ះដើម្បីកំណត់ឧបករណ៍ឡើងវិញ"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"កំពុងចាប់ផ្តើមការបង្ហាញសាកល្បង…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"កំពុងកំណត់ឧបករណ៍ឡើងវិញ…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"កំណត់ឧបករណ៍ឡើងវិញឬ?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"បោះបង់"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"កំណត់ឡើងវិញឥឡូវនេះ"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"កំណត់ដូចចេញពីរោងចក្រឡើងវិញដើម្បីប្រើឧបករណ៍នេះដោយគ្មានការរឹតបន្តឹង"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"ប៉ះ​ ដើម្បី​​ស្វែងយល់​បន្ថែម។"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> ដែលបានបិទដំណើរការ"</string>
diff --git a/core/res/res/values-kn-rIN-watch/styles_material.xml b/core/res/res/values-kn-rIN-watch/styles_material.xml
new file mode 100644
index 0000000..1ec23a4
--- /dev/null
+++ b/core/res/res/values-kn-rIN-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"ಅಭ್ಯರ್ಥಿಗಳು"</font></string>
+</resources>
diff --git a/core/res/res/values-kn-rIN/strings.xml b/core/res/res/values-kn-rIN/strings.xml
index 9967daf..0c30cda 100644
--- a/core/res/res/values-kn-rIN/strings.xml
+++ b/core/res/res/values-kn-rIN/strings.xml
@@ -876,20 +876,20 @@
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ವ</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>ನಿ ನಲ್ಲಿ</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ನಿ ನಲ್ಲಿ</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>ನಿ.ದಲ್ಲಿ</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ನಿ.ದಲ್ಲಿ</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>ಗಂ ನಲ್ಲಿ</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ಗಂ ನಲ್ಲಿ</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>ಗಂ.ಯಲ್ಲಿ</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ಗಂ.ಯಲ್ಲಿ</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>ದಿ ನಲ್ಲಿ</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ದಿ ನಲ್ಲಿ</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>ದಿ.ದಲ್ಲಿ</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ದಿ.ದಲ್ಲಿ</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>ವ ನಲ್ಲಿ</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ವ ನಲ್ಲಿ</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>ವ.ದಲ್ಲಿ</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ವ.ದಲ್ಲಿ</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> ನಿಮಿಷಗಳ ಹಿಂದೆ</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"ಮಾಪಕ"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"ಯಾವಾಗಲೂ ತೋರಿಸಿ"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"ಸಿಸ್ಟಂ ಸೆಟ್ಟಿಂಗ್‌ಗಳು &gt; ಅಪ್ಲಿಕೇಶನ್‌ಗಳು &gt; ಡೌನ್‌ಲೋಡ್‌ ಆಗಿರುವುದರಲ್ಲಿ ಇದನ್ನು ಮರು ಸಕ್ರಿಯಗೊಳಿಸಿ."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> ಪ್ರಸ್ತುತ ಪ್ರದರ್ಶನ ಗಾತ್ರದ ಸೆಟ್ಟಿಂಗ್‌ ಅನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ ಮತ್ತು ಅನಿರೀಕ್ಷಿತವಾಗಿ ವರ್ತಿಸಬಹುದು."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"ಯಾವಾಗಲೂ ತೋರಿಸು"</string>
     <string name="smv_application" msgid="3307209192155442829">"ಅಪ್ಲಿಕೇಶನ್‌‌ <xliff:g id="APPLICATION">%1$s</xliff:g> (ಪ್ರಕ್ರಿಯೆಯು <xliff:g id="PROCESS">%2$s</xliff:g>) ತನ್ನ ಸ್ವಯಂ-ಜಾರಿ ಕಠಿಣ ಮೋಡ್ ನೀತಿಯನ್ನು ಉಲ್ಲಂಘನೆ ಮಾಡಿದೆ."</string>
     <string name="smv_process" msgid="5120397012047462446">"<xliff:g id="PROCESS">%1$s</xliff:g> ಪ್ರಕ್ರಿಯೆಯು ತನ್ನ ಸ್ವಯಂ-ಜಾರಿ ಕಠಿಣ ಮೋಡ್ ನೀತಿಯನ್ನು ಉಲ್ಲಂಘನೆ ಮಾಡಿದೆ."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android ಅಪ್‌ಗ್ರೇಡ್‌ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
@@ -1193,8 +1195,7 @@
     <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"ಸ್ಥಾಪಿತ ಸೆಷನ್‌ಗಳನ್ನು ಓದಲು ಅಪ್ಲಿಕೇಶನ್‌ ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಸಕ್ರಿಯ ಪ್ಯಾಕೇಜ್‌ ಸ್ಥಾಪನೆಗಳ ಕುರಿತು ವಿವರಣೆಗಳನ್ನು ವೀಕ್ಷಿಸಲು ಇದು ಅನುಮತಿಸುತ್ತದೆ."</string>
     <string name="permlab_requestInstallPackages" msgid="5782013576218172577">"ಸ್ಥಾಪನೆ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ವಿನಂತಿಸಿ"</string>
     <string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"ಪ್ಯಾಕೇಜ್‌ಗಳ ಸ್ಥಾಪನೆಯನ್ನು ವಿನಂತಿಸಲು ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಅನುಮತಿಸುತ್ತದೆ."</string>
-    <!-- no translation found for tutorial_double_tap_to_zoom_message_short (1311810005957319690) -->
-    <skip />
+    <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"ಝೂಮ್‌ ನಿಯಂತ್ರಿಸಲು ಎರಡು ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="gadget_host_error_inflating" msgid="4882004314906466162">"ವಿಜೆಟ್ ಸೇರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ."</string>
     <string name="ime_action_go" msgid="8320845651737369027">"ಹೋಗು"</string>
     <string name="ime_action_search" msgid="658110271822807811">"ಹುಡುಕು"</string>
@@ -1225,10 +1226,8 @@
     <string name="notification_ranker_binding_label" msgid="774540592299064747">"ಅಧಿಸೂಚನೆ ಶ್ರೇಣಿಯ ಸೇವೆ"</string>
     <string name="vpn_title" msgid="19615213552042827">"VPN ಸಕ್ರಿಯಗೊಂಡಿದೆ"</string>
     <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> ಮೂಲಕ VPN ಸಕ್ರಿಯಗೊಂಡಿದೆ"</string>
-    <!-- no translation found for vpn_text (1610714069627824309) -->
-    <skip />
-    <!-- no translation found for vpn_text_long (4907843483284977618) -->
-    <skip />
+    <string name="vpn_text" msgid="1610714069627824309">"ನೆಟ್‍ವರ್ಕ್ ನಿರ್ವಹಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
+    <string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> ಗೆ ಸಂಪರ್ಕಗೊಂಡಿದೆ. ನೆಟ್‍ವರ್ಕ್ ನಿರ್ವಹಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
     <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"ಯಾವಾಗಲೂ-ಆನ್ VPN ಸಂಪರ್ಕಗೊಳ್ಳುತ್ತಿದೆ…"</string>
     <string name="vpn_lockdown_connected" msgid="8202679674819213931">"ಯಾವಾಗಲೂ-ಆನ್ VPN ಸಂಪರ್ಕಗೊಂಡಿದೆ"</string>
     <string name="vpn_lockdown_error" msgid="6009249814034708175">"ಯಾವಾಗಲೂ-ಆನ್ VPN ದೋಷ"</string>
@@ -1652,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"ಅನ್‌ಪಿನ್"</string>
     <string name="app_info" msgid="6856026610594615344">"ಅಪ್ಲಿಕೇಶನ್ ಮಾಹಿತಿ"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"ಸೆಶನ್ ಮರುಪ್ರಾರಂಭಿಸಿ"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"ಹೊಸ ಡೆಮೊ ಸೆಶನ್ ಪ್ರಾರಂಭಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"ಡೆಮೋ ಪ್ರಾರಂಭವಾಗುತ್ತಿದೆ"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"ಸೆಶನ್ ಮರುಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"ಸಾಧನವನ್ನು ಮರುಹೊಂದಿಸುವುದೇ?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"ಸಾಧನ ಮರುಹೊಂದಿಸಲು ಟ್ಯಾಪ್‌ ಮಾಡಿ"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"ಡೆಮೋ ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ..."</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"ಸಾಧನ ಮರುಹೊಂದಿಸಲಾಗುತ್ತಿದೆ..."</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"ಸಾಧನವನ್ನು ಮರುಹೊಂದಿಸುವುದೇ?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"ರದ್ದುಮಾಡು"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"ಈಗಲೇ ಮರುಹೊಂದಿಸು"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"ನಿರ್ಬಂಧಗಳು ಇಲ್ಲದೆಯೇ ಈ ಸಾಧನವನ್ನು ಬಳಸಲು ಫ್ಯಾಕ್ಟರಿ ಮರುಹೊಂದಿಸಿ"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"ಇನ್ನಷ್ಟು ತಿಳಿಯಲು ಸ್ಪರ್ಶಿಸಿ."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
diff --git a/core/res/res/values-ko-watch/styles_material.xml b/core/res/res/values-ko-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-ko-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index 1c165f9..88a0814 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"배율"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"항상 표시"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"시스템 설정 &gt; 앱 &gt; 다운로드로 이동하여 이 모드를 다시 사용하도록 설정합니다."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> 앱은 현재 디스플레이 크기 설정을 지원하지 않으며 예기치 않게 동작할 수 있습니다."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"항상 표시"</string>
     <string name="smv_application" msgid="3307209192155442829">"앱 <xliff:g id="APPLICATION">%1$s</xliff:g>(프로세스 <xliff:g id="PROCESS">%2$s</xliff:g>)이(가) 자체 시행 StrictMode 정책을 위반했습니다."</string>
     <string name="smv_process" msgid="5120397012047462446">"프로세스(<xliff:g id="PROCESS">%1$s</xliff:g>)가 자체 시행 StrictMode 정책을 위반했습니다."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android 업그레이드 중.."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"고정 해제"</string>
     <string name="app_info" msgid="6856026610594615344">"앱 정보"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"세션 다시 시작"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"탭하여 새로운 데모 세션 시작"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"데모 시작 중"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"세션 다시 시작 중"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"기기를 초기화하시겠습니까?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"기기를 초기화하려면 탭하세요."</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"데모 시작 중..."</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"기기 초기화 중..."</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"기기를 초기화하시겠습니까?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"취소"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"지금 초기화"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"제한 없이 기기를 사용하기 위한 초기화"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"자세한 내용을 보려면 터치하세요."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> 사용 중지됨"</string>
diff --git a/core/res/res/values-ky-rKG-watch/styles_material.xml b/core/res/res/values-ky-rKG-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-ky-rKG-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-ky-rKG/strings.xml b/core/res/res/values-ky-rKG/strings.xml
index 1af24dd..2f79023 100644
--- a/core/res/res/values-ky-rKG/strings.xml
+++ b/core/res/res/values-ky-rKG/strings.xml
@@ -545,7 +545,7 @@
     <string name="policylab_disableKeyguardFeatures" msgid="8552277871075367771">"Экрн клпснн айрм функцялрн өчр"</string>
     <string name="policydesc_disableKeyguardFeatures" msgid="2044755691354158439">"Экранды кулпулоо функцияларынын айрымдарын колдонууга тыюу салуу"</string>
   <string-array name="phoneTypes">
-    <item msgid="8901098336658710359">"Башкы бет"</item>
+    <item msgid="8901098336658710359">"Үй"</item>
     <item msgid="869923650527136615">"Мобилдик"</item>
     <item msgid="7897544654242874543">"Жумуш"</item>
     <item msgid="1103601433382158155">"Жумуш факсы"</item>
@@ -555,19 +555,19 @@
     <item msgid="9192514806975898961">"Өзгөчө"</item>
   </string-array>
   <string-array name="emailAddressTypes">
-    <item msgid="8073994352956129127">"Башкы бет"</item>
+    <item msgid="8073994352956129127">"Үй"</item>
     <item msgid="7084237356602625604">"Жумуш"</item>
     <item msgid="1112044410659011023">"Башка"</item>
     <item msgid="2374913952870110618">"Өзгөчө"</item>
   </string-array>
   <string-array name="postalAddressTypes">
-    <item msgid="6880257626740047286">"Башкы бет"</item>
+    <item msgid="6880257626740047286">"Үй"</item>
     <item msgid="5629153956045109251">"Жумуш"</item>
     <item msgid="4966604264500343469">"Башка"</item>
     <item msgid="4932682847595299369">"Өзгөчө"</item>
   </string-array>
   <string-array name="imAddressTypes">
-    <item msgid="1738585194601476694">"Башкы бет"</item>
+    <item msgid="1738585194601476694">"Үй"</item>
     <item msgid="1359644565647383708">"Жумуш"</item>
     <item msgid="7868549401053615677">"Башка"</item>
     <item msgid="3145118944639869809">"Өзгөчө"</item>
@@ -588,7 +588,7 @@
     <item msgid="1648797903785279353">"Jabber"</item>
   </string-array>
     <string name="phoneTypeCustom" msgid="1644738059053355820">"Өзгөчө"</string>
-    <string name="phoneTypeHome" msgid="2570923463033985887">"Башкы бет"</string>
+    <string name="phoneTypeHome" msgid="2570923463033985887">"Үй"</string>
     <string name="phoneTypeMobile" msgid="6501463557754751037">"Мобилдик"</string>
     <string name="phoneTypeWork" msgid="8863939667059911633">"Жумуш"</string>
     <string name="phoneTypeFaxWork" msgid="3517792160008890912">"Жумуш факсы"</string>
@@ -613,16 +613,16 @@
     <string name="eventTypeAnniversary" msgid="3876779744518284000">"Маараке"</string>
     <string name="eventTypeOther" msgid="7388178939010143077">"Башка"</string>
     <string name="emailTypeCustom" msgid="8525960257804213846">"Өзгөчө"</string>
-    <string name="emailTypeHome" msgid="449227236140433919">"Башкы бет"</string>
+    <string name="emailTypeHome" msgid="449227236140433919">"Жеке"</string>
     <string name="emailTypeWork" msgid="3548058059601149973">"Жумуш"</string>
     <string name="emailTypeOther" msgid="2923008695272639549">"Башка"</string>
     <string name="emailTypeMobile" msgid="119919005321166205">"Мобилдик"</string>
     <string name="postalTypeCustom" msgid="8903206903060479902">"Өзгөчө"</string>
-    <string name="postalTypeHome" msgid="8165756977184483097">"Башкы бет"</string>
+    <string name="postalTypeHome" msgid="8165756977184483097">"Үй"</string>
     <string name="postalTypeWork" msgid="5268172772387694495">"Жумуш"</string>
     <string name="postalTypeOther" msgid="2726111966623584341">"Башка"</string>
     <string name="imTypeCustom" msgid="2074028755527826046">"Өзгөчө"</string>
-    <string name="imTypeHome" msgid="6241181032954263892">"Башкы бет"</string>
+    <string name="imTypeHome" msgid="6241181032954263892">"Үй"</string>
     <string name="imTypeWork" msgid="1371489290242433090">"Жумуш"</string>
     <string name="imTypeOther" msgid="5377007495735915478">"Башка"</string>
     <string name="imProtocolCustom" msgid="6919453836618749992">"Өзгөчө"</string>
@@ -654,7 +654,7 @@
     <string name="relationTypeSister" msgid="1735983554479076481">"Эже-сиңди"</string>
     <string name="relationTypeSpouse" msgid="394136939428698117">"Жубай"</string>
     <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Өзгөчө"</string>
-    <string name="sipAddressTypeHome" msgid="6093598181069359295">"Башкы бет"</string>
+    <string name="sipAddressTypeHome" msgid="6093598181069359295">"Үй"</string>
     <string name="sipAddressTypeWork" msgid="6920725730797099047">"Жумуш"</string>
     <string name="sipAddressTypeOther" msgid="4408436162950119849">"Башка"</string>
     <string name="quick_contacts_not_available" msgid="746098007828579688">"Байланышты көрсөтүүчү эч бир колдонмо жок."</string>
@@ -860,24 +860,24 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"азыр"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> мүн.</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> мүн.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>мүн.</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>мүн.</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> с.</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> с.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>с.</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>с.</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> к.</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> к.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>к.</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>к.</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ж.</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> ж.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ж.</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>ж.</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> мүн. кийин</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> мүн. кийин</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>мүн. кийин</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>мүн. кийин</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> с. кийин</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Шкала"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Ар дайым көрсөтүлсүн"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Муну тутум жөндөөлөрүнөн кайра иштетүү &gt; Колдонмолор &gt; Жүктөлүп алынган."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосу көрүнүштүн тандалган өлчөмүн экранда көрсөтө албайт жана туура эмес иштеши мүмкүн."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Ар дайым көрсөтүлсүн"</string>
     <string name="smv_application" msgid="3307209192155442829">"<xliff:g id="APPLICATION">%1$s</xliff:g> колдонмосу (<xliff:g id="PROCESS">%2$s</xliff:g> процесси) өз алдынча иштеткен StrictMode саясатын бузду."</string>
     <string name="smv_process" msgid="5120397012047462446">"<xliff:g id="PROCESS">%1$s</xliff:g> процесси өзүнүн мажбурланган StrictMode саясатын бузуп койду."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android жаңыртылууда…"</string>
@@ -1652,10 +1654,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Кадоодон алып коюу"</string>
     <string name="app_info" msgid="6856026610594615344">"Колдонмо тууралуу"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Сеансты кайра баштоо"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Жаңы демо сеансын баштоо үчүн таптап коюңуз"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Демо башталууда"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Сеанс кайра башталууда"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Түзмөк баштапкы абалга келтирилсинби?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Түзмөктү баштапкы абалга келтирүү үчүн таптап коюңуз"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Демо башталууда…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Түзмөк баштапкы абалга келтирилүүдө…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Түзмөк баштапкы абалга келтирилсинби?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Жокко чыгаруу"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Азыр баштапкы абалга келтирүү"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Бул түзмөктү чектөөсүз колдонуу үчүн аны баштапкы абалга келтириңиз"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Көбүрөөк билүү үчүн тийип коюңуз."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> өчүрүлдү"</string>
diff --git a/core/res/res/values-lo-rLA-watch/styles_material.xml b/core/res/res/values-lo-rLA-watch/styles_material.xml
new file mode 100644
index 0000000..1f845b9
--- /dev/null
+++ b/core/res/res/values-lo-rLA-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"ແຄນດິເດດ"</font></string>
+</resources>
diff --git a/core/res/res/values-lo-rLA/strings.xml b/core/res/res/values-lo-rLA/strings.xml
index b003764..5f877a6 100644
--- a/core/res/res/values-lo-rLA/strings.xml
+++ b/core/res/res/values-lo-rLA/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"ຂະໜາດ"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"ສະແດງຕະຫຼອດເວລາ"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"ເປີດການເຮັດວຽກນີ້ຄືນໄດ້ໃນ ການຕັ້ງຄ່າລະບົບ &gt; ແອັບຯ &gt; ດາວໂຫລດແລ້ວ"</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> ບໍ່ຮອງຮັບການຕັ້ງຄ່າຂະໜາດສະແດງຜົນປັດຈຸບັນ ແລະ ອາດມີຄວາມຜິດພາດໄດ້."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"ສະແດງທຸກເທື່ອ"</string>
     <string name="smv_application" msgid="3307209192155442829">"ແອັບຯ <xliff:g id="APPLICATION">%1$s</xliff:g> (ໂປຣເຊສ <xliff:g id="PROCESS">%2$s</xliff:g>) ໄດ້ລະເມີດນະໂຍບາຍ StrictMode ທີ່ບັງຄັບໃຊ້ດ້ວຍໂຕເອງ."</string>
     <string name="smv_process" msgid="5120397012047462446">"ໂປຣເຊສ <xliff:g id="PROCESS">%1$s</xliff:g> ລະເມີດນະໂຍບາຍບັງຄັບໃຊ້ເອງ StrictMode."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"ກຳລັງອັບເກຣດ Android..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"ຖອນປັກໝຸດ"</string>
     <string name="app_info" msgid="6856026610594615344">"ຂໍ້ມູນແອັບ"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"ເລີ່ມເຊດຊັນຄືນໃໝ່"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"ແຕະເພື່ອເລີ່ມເຊດຊັນເດໂມໃໝ່"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"ກຳລັງເລີ່ມເດໂມ"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"ເລີ່ມເຊດຊັນໃໝ່"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"ຣີເຊັດອຸປະກອນບໍ?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"ແຕະເພື່ອຣີເຊັດອຸປະກອນ"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"ກຳລັງເລີ່ມເດໂມ…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"ກຳລັງຣີເຊັດອຸປະກອນ…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"ຣີເຊັດອຸປະກອນບໍ?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"ຍົກເລີກ"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"ຣີເຊັດດຽວນີ້"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"ຣີເຊັດໃຫ້ເປັນຄ່າໂຮງງານເພື່ອໃຊ້ອຸປະກອນນີ້ໂດຍບໍ່ມີຂໍ້ຈຳກັດ"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"ແຕະເພື່ອສຶກສາເພີ່ມເຕີມ."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"ປິດການນຳໃຊ້ <xliff:g id="LABEL">%1$s</xliff:g> ແລ້ວ"</string>
diff --git a/core/res/res/values-lt-watch/styles_material.xml b/core/res/res/values-lt-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-lt-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index 8bd85b2..9f2b775 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -344,11 +344,11 @@
     <string name="permdesc_writeContacts" product="default" msgid="589869224625163558">"Leidžiama programai keisti duomenis apie telefone saugomus kontaktus, įskaitant dažnį, kuriuo konkretiems asmenims skambinote, siuntėte el. laiškus ar bendravote kitais būdais. Šis leidimas suteikia teisę programoms ištrinti kontaktinius duomenis."</string>
     <string name="permlab_readCallLog" msgid="3478133184624102739">"skaityti skambučių žurnalą"</string>
     <string name="permdesc_readCallLog" product="tablet" msgid="3700645184870760285">"Leidžiama programai skaityti planšetinio kompiuterio skambučių žurnalą, įskaitant duomenis apie gaunamuosius ir siunčiamuosius skambučius. Šis leidimas suteikia teisę programai išsaugoti skambučių žurnalo duomenis, o kenkėjiškos programos gali bendrinti skambučių žurnalą be jūsų žinios."</string>
-    <string name="permdesc_readCallLog" product="tv" msgid="5611770887047387926">"Programai leidžiama nuskaityti TV skambučių žurnalą, įskaitant duomenis apie gaunamus arba siunčiamus skambučius. Dėl šio leidimo programoms leidžiama išsaugoti skambučių žurnalo duomenis, o kenkėjiškos programos gali bendrinti šiuos duomenis be jūsų žinios."</string>
+    <string name="permdesc_readCallLog" product="tv" msgid="5611770887047387926">"Programai leidžiama nuskaityti TV skambučių žurnalą, įskaitant duomenis apie gaunamuosius arba siunčiamuosius skambučius. Dėl šio leidimo programoms leidžiama išsaugoti skambučių žurnalo duomenis, o kenkėjiškos programos gali bendrinti šiuos duomenis be jūsų žinios."</string>
     <string name="permdesc_readCallLog" product="default" msgid="5777725796813217244">"Leidžiama programai skaityti telefono skambučių žurnalą, įskaitant duomenis apie gaunamuosius ir siunčiamuosius skambučius. Šis leidimas suteikia teisę programai išsaugoti skambučių žurnalo duomenis, o kenkėjiškos programos gali bendrinti skambučių žurnalą be jūsų žinios."</string>
     <string name="permlab_writeCallLog" msgid="8552045664743499354">"rašyti skambučių žurnalą"</string>
     <string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"Programai leidžiama skaityti planšetinio kompiuterio skambučių žurnalą, įskaitant duomenis apie gaunamuosius ir siunčiamuosius skambučius. Kenkėjiškos programos tai gali naudoti, kad ištrintų ar keistų jūsų skambučių žurnalą."</string>
-    <string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"Programai leidžiama keisti TV skambučių žurnalą, įskaitant duomenis apie gaunamus ir siunčiamus skambučius. Taip kenkėjiškos programos gali ištrinti arba pakeisti skambučių žurnalą."</string>
+    <string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"Programai leidžiama keisti TV skambučių žurnalą, įskaitant duomenis apie gaunamuosius ir siunčiamuosius skambučius. Taip kenkėjiškos programos gali ištrinti arba pakeisti skambučių žurnalą."</string>
     <string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"Programai leidžiama skaityti telefono skambučių žurnalą, įskaitant duomenis apie gaunamuosius ir siunčiamuosius skambučius. Kenkėjiškos programos tai gali naudoti, kad ištrintų ar keistų jūsų skambučių žurnalą."</string>
     <string name="permlab_bodySensors" msgid="4683341291818520277">"pas. k. jut. (pvz., pul. dažn. st. įr.)"</string>
     <string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"Programai leidžiama pasiekti duomenis, gautus iš jutiklių, stebinčių fizinę būseną, pvz., širdies ritmą."</string>
@@ -874,16 +874,16 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"dabar"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> min.</item>
-      <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> min.</item>
-      <item quantity="many"><xliff:g id="COUNT_1">%d</xliff:g> min.</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> min.</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>min</item>
+      <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g>min</item>
+      <item quantity="many"><xliff:g id="COUNT_1">%d</xliff:g>min</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>min</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> val.</item>
-      <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> val.</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g>h</item>
+      <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g>h</item>
       <item quantity="many"><xliff:g id="COUNT_1">%d</xliff:g> val.</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> val.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>h</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
       <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> d.</item>
@@ -898,16 +898,16 @@
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> m.</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="one">po <xliff:g id="COUNT_1">%d</xliff:g> min.</item>
-      <item quantity="few">po <xliff:g id="COUNT_1">%d</xliff:g> min.</item>
-      <item quantity="many">po <xliff:g id="COUNT_1">%d</xliff:g> min.</item>
-      <item quantity="other">po <xliff:g id="COUNT_1">%d</xliff:g> min.</item>
+      <item quantity="one">po <xliff:g id="COUNT_1">%d</xliff:g>min</item>
+      <item quantity="few">po <xliff:g id="COUNT_1">%d</xliff:g>min</item>
+      <item quantity="many">po <xliff:g id="COUNT_1">%d</xliff:g>min</item>
+      <item quantity="other">po <xliff:g id="COUNT_1">%d</xliff:g>min</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="one">po <xliff:g id="COUNT_1">%d</xliff:g> val.</item>
-      <item quantity="few">po <xliff:g id="COUNT_1">%d</xliff:g> val.</item>
-      <item quantity="many">po <xliff:g id="COUNT_1">%d</xliff:g> val.</item>
-      <item quantity="other">po <xliff:g id="COUNT_1">%d</xliff:g> val.</item>
+      <item quantity="one">po <xliff:g id="COUNT_1">%d</xliff:g>h</item>
+      <item quantity="few">po <xliff:g id="COUNT_1">%d</xliff:g>h</item>
+      <item quantity="many">po <xliff:g id="COUNT_1">%d</xliff:g>h</item>
+      <item quantity="other">po <xliff:g id="COUNT_1">%d</xliff:g>h</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
       <item quantity="one">po <xliff:g id="COUNT_1">%d</xliff:g> d.</item>
@@ -1061,6 +1061,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Mastelis"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Visada rodyti"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Įgalinkite jį iš naujo nuėję į „Sistemos nustatymai“ &gt; „Programos“ &gt; „Atsisiųsta“."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"Programoje „<xliff:g id="APP_NAME">%1$s</xliff:g>“ nepalaikomas dabartinis ekrano dydžio nustatymas ir ji gali netinkamai veikti."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Visada rodyti"</string>
     <string name="smv_application" msgid="3307209192155442829">"Programa „<xliff:g id="APPLICATION">%1$s</xliff:g>“ (procesas „<xliff:g id="PROCESS">%2$s</xliff:g>“) pažeidė savo vykdomą „StrictMode“ politiką."</string>
     <string name="smv_process" msgid="5120397012047462446">"„<xliff:g id="PROCESS">%1$s</xliff:g>“ procesas pažeidė savo vykdomą „StrictMode“ politiką."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"„Android“ naujovinama..."</string>
@@ -1721,10 +1723,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Atsegti"</string>
     <string name="app_info" msgid="6856026610594615344">"Programos informacija"</string>
     <string name="negative_duration" msgid="5688706061127375131">"–<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Paleisti sesiją iš naujo"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Palieskite, kad pradėtumėte naują demonstracinės versijos sesiją"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Paleidžiama demonstracinė versija"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Seansas paleidžiamas iš naujo"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Iš naujo nustatyti įrenginį?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Palieskite, kad iš naujo nustatytumėte įrenginį"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Paleidžiama demonstracinė versija…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Įrenginys nustatomas iš naujo…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Iš naujo nustatyti įrenginį?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Atšaukti"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Nustatyti iš naujo dabar"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Atkurkite gamyklinius nustatymus, kad galėtumėte naudoti šį įrenginį be apribojimų"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Palieskite, kad sužinotumėte daugiau."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Išj. valdiklis „<xliff:g id="LABEL">%1$s</xliff:g>“"</string>
diff --git a/core/res/res/values-lv-watch/styles_material.xml b/core/res/res/values-lv-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-lv-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index 5b91848..a92ef3f 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -1038,6 +1038,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Mērogs"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Rādīt vienmēr"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Atkārtoti iespējojiet šeit: Sistēmas iestatījumi &gt; Lietotnes &gt; Lejupielādētās."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"Lietotnē <xliff:g id="APP_NAME">%1$s</xliff:g> netiek atbalstīts pašreizējais displeja lieluma iestatījums, tādēļ tā var tikt attēlota neparedzētā veidā."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Rādīt vienmēr"</string>
     <string name="smv_application" msgid="3307209192155442829">"Lietotne <xliff:g id="APPLICATION">%1$s</xliff:g> (process <xliff:g id="PROCESS">%2$s</xliff:g>) ir pārkāpusi savu pašieviesto StrictMode politiku."</string>
     <string name="smv_process" msgid="5120397012047462446">"Process <xliff:g id="PROCESS">%1$s</xliff:g> ir pārkāpis savu pašieviesto StrictMode politiku."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Notiek Android jaunināšana..."</string>
@@ -1685,10 +1687,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Atspraust"</string>
     <string name="app_info" msgid="6856026610594615344">"Lietotnes informācija"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Atkārtoti palaidiet sesiju"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Pieskarieties, lai sāktu jaunu demonstrācijas sesiju."</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Demonstrācijas startēšana"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Sesijas restartēšana"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Vai atiestatīt ierīci?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Pieskarieties, lai atiestatītu ierīci"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Notiek demonstrācijas palaišana..."</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Notiek ierīces atiestatīšana..."</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Vai atiestatīt ierīci?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Atcelt"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Atiestatīt tūlīt"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Rūpnīcas datu atiestatīšana ierīces neierobežotai izmantošanai"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Pieskarieties, lai uzzinātu vairāk."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> atspējots"</string>
diff --git a/core/res/res/values-mk-rMK-watch/styles_material.xml b/core/res/res/values-mk-rMK-watch/styles_material.xml
new file mode 100644
index 0000000..89c3366
--- /dev/null
+++ b/core/res/res/values-mk-rMK-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"кандидати"</font></string>
+</resources>
diff --git a/core/res/res/values-mk-rMK/strings.xml b/core/res/res/values-mk-rMK/strings.xml
index 010958f..67da898 100644
--- a/core/res/res/values-mk-rMK/strings.xml
+++ b/core/res/res/values-mk-rMK/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Размер"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Покажи секогаш"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Повторно овозможете го ова во Системски поставки &gt; Апликации &gt; Преземено."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> не ја поддржува тековната поставка за големина на екранот и може да се однесува непредвидено."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Секогаш прикажувај"</string>
     <string name="smv_application" msgid="3307209192155442829">"Апликацијата <xliff:g id="APPLICATION">%1$s</xliff:g> (процес <xliff:g id="PROCESS">%2$s</xliff:g>) ја прекрши политиката StrictMode што си ја наметна врз себеси."</string>
     <string name="smv_process" msgid="5120397012047462446">"Процесот <xliff:g id="PROCESS">%1$s</xliff:g> ја прекрши својата самонаметната политика на строг режим."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android се ажурира…"</string>
@@ -1193,8 +1195,7 @@
     <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"Дозволува апликација да чита сесии на инсталирање. Тоа овозможува апликацијата да гледа детали за активни инсталации на пакет."</string>
     <string name="permlab_requestInstallPackages" msgid="5782013576218172577">"барање пакети за инсталирање"</string>
     <string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"Дозволува апликацијата да бара инсталација на пакети."</string>
-    <!-- no translation found for tutorial_double_tap_to_zoom_message_short (1311810005957319690) -->
-    <skip />
+    <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"Допрете двапати за контрола на зумот"</string>
     <string name="gadget_host_error_inflating" msgid="4882004314906466162">"Не можеше да се додаде виџет."</string>
     <string name="ime_action_go" msgid="8320845651737369027">"Оди"</string>
     <string name="ime_action_search" msgid="658110271822807811">"Пребарај"</string>
@@ -1225,10 +1226,8 @@
     <string name="notification_ranker_binding_label" msgid="774540592299064747">"Услуга за рангирање известувања"</string>
     <string name="vpn_title" msgid="19615213552042827">"Активирана VPN"</string>
     <string name="vpn_title_long" msgid="6400714798049252294">"VPN е активирана со <xliff:g id="APP">%s</xliff:g>"</string>
-    <!-- no translation found for vpn_text (1610714069627824309) -->
-    <skip />
-    <!-- no translation found for vpn_text_long (4907843483284977618) -->
-    <skip />
+    <string name="vpn_text" msgid="1610714069627824309">"Допрете за да управувате со мрежата."</string>
+    <string name="vpn_text_long" msgid="4907843483284977618">"Поврзани сте на <xliff:g id="SESSION">%s</xliff:g>. Допрете за да управувате со мрежата."</string>
     <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Поврзување со секогаш вклучена VPN..."</string>
     <string name="vpn_lockdown_connected" msgid="8202679674819213931">"Поврзани со секогаш вклучена VPN"</string>
     <string name="vpn_lockdown_error" msgid="6009249814034708175">"Грешка на секогаш вклучена VPN"</string>
@@ -1654,10 +1653,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Откачете"</string>
     <string name="app_info" msgid="6856026610594615344">"Информации за апликација"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Започнете сесија одново"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Допрете за да започнете нова демо сесија"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Демото стартува"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Сесијата се рестартира"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Да се ресетира уредот?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Допрете за да го ресетирате уредот"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Се вклучува демонстрацијата…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Се ресетира уредот…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Да се ресетира уредот?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Откажи"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Ресетирај сега"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Ресетирајте до фабричките поставки за уредов да го користите без ограничувања"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Допрете за да дознаете повеќе."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Оневозможен <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-ml-rIN-watch/styles_material.xml b/core/res/res/values-ml-rIN-watch/styles_material.xml
new file mode 100644
index 0000000..9d38c0d
--- /dev/null
+++ b/core/res/res/values-ml-rIN-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"കാൻഡിഡേറ്റുകൾ"</font></string>
+</resources>
diff --git a/core/res/res/values-ml-rIN/strings.xml b/core/res/res/values-ml-rIN/strings.xml
index 7120cad..aac8669 100644
--- a/core/res/res/values-ml-rIN/strings.xml
+++ b/core/res/res/values-ml-rIN/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"സ്കെയിൽ"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"എപ്പോഴും പ്രദര്‍ശിപ്പിക്കുക"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"സിസ്‌റ്റം ക്രമീകരണങ്ങൾ &gt; അപ്ലിക്കേഷനുകൾ &gt; ഡൗൺലോഡുചെയ്‌തവ എന്നതിൽ ഇത് വീണ്ടും പ്രവർത്തനക്ഷമമാക്കുക."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"നിലവിലെ ഡിസ്പ്ലേ വലുപ്പ ക്രമീകരണത്തെ <xliff:g id="APP_NAME">%1$s</xliff:g> പിന്തുണയ്ക്കുന്നില്ല, അതിനാൽ പ്രതീക്ഷിക്കാത്ത തരത്തിൽ ആപ്പ് പ്രവർത്തിച്ചേക്കാം."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"എല്ലായ്‌പ്പോഴും ദൃശ്യമാക്കുക"</string>
     <string name="smv_application" msgid="3307209192155442829">"<xliff:g id="APPLICATION">%1$s</xliff:g> എന്ന അപ്ലിക്കേഷൻ (<xliff:g id="PROCESS">%2$s</xliff:g> പ്രോസസ്സ്) അതിന്റെ സ്വയം നിർബന്ധിത StrictMode നയം ലംഘിച്ചു."</string>
     <string name="smv_process" msgid="5120397012047462446">"<xliff:g id="PROCESS">%1$s</xliff:g> എന്ന പ്രോസസ്സ് അതിന്റെ സ്വയം നടപ്പിലാക്കിയ StrictMode നയം ലംഘിച്ചു."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android അപ്ഗ്രേഡുചെയ്യുന്നു…"</string>
@@ -1193,8 +1195,7 @@
     <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"ഇൻസ്റ്റാൾ ചെയ്‌ത സെഷനുകൾ റീഡുചെയ്യുന്നതിന് ഒരു അപ്ലിക്കേഷനെ അനുവദിക്കുന്നു. സജീവ പാക്കേജ് ഇൻസ്റ്റാളേഷനുകളെക്കുറിച്ചുള്ള വിശദാംശങ്ങൾ കാണുന്നതിന് ഇത് അനുവദിക്കുന്നു."</string>
     <string name="permlab_requestInstallPackages" msgid="5782013576218172577">"പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യാൻ അഭ്യർത്ഥിക്കുക"</string>
     <string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"പാക്കേജുകളുടെ ഇൻസ്റ്റാളേഷൻ അഭ്യർത്ഥിക്കാൻ ഒരു അപ്ലിക്കേഷനെ അനുവദിക്കുന്നു."</string>
-    <!-- no translation found for tutorial_double_tap_to_zoom_message_short (1311810005957319690) -->
-    <skip />
+    <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"സൂം നിയന്ത്രണം ലഭിക്കാൻ രണ്ടുതവണ ടാപ്പുചെയ്യുക"</string>
     <string name="gadget_host_error_inflating" msgid="4882004314906466162">"വിജറ്റ് ചേർക്കാനായില്ല."</string>
     <string name="ime_action_go" msgid="8320845651737369027">"പോവുക"</string>
     <string name="ime_action_search" msgid="658110271822807811">"തിരയൽ"</string>
@@ -1225,10 +1226,8 @@
     <string name="notification_ranker_binding_label" msgid="774540592299064747">"അറിയിപ്പ് റാങ്കർ സേവനം"</string>
     <string name="vpn_title" msgid="19615213552042827">"VPN സജീവമാക്കി"</string>
     <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> ഉപയോഗിച്ച് VPN പ്രവർത്തനക്ഷമമാക്കി"</string>
-    <!-- no translation found for vpn_text (1610714069627824309) -->
-    <skip />
-    <!-- no translation found for vpn_text_long (4907843483284977618) -->
-    <skip />
+    <string name="vpn_text" msgid="1610714069627824309">"നെറ്റ്‌വർക്ക് മാനേജുചെയ്യാൻ ടാപ്പുചെയ്യുക"</string>
+    <string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> എന്ന സെഷനിലേക്ക് കണക്റ്റുചെയ്തു. നെറ്റ്‌വർക്ക് മാനേജുചെയ്യാൻ ടാപ്പുചെയ്യുക."</string>
     <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"എല്ലായ്‌പ്പോഴും ഓണായിരിക്കുന്ന VPN കണക്റ്റുചെയ്യുന്നു…"</string>
     <string name="vpn_lockdown_connected" msgid="8202679674819213931">"എല്ലായ്‌പ്പോഴും ഓണായിരിക്കുന്ന VPN കണക്റ്റുചെയ്‌തു"</string>
     <string name="vpn_lockdown_error" msgid="6009249814034708175">"എല്ലായ്‌പ്പോഴും ഓണായിരിക്കുന്ന VPN പിശക്"</string>
@@ -1652,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"അൺപിൻ ചെയ്യുക"</string>
     <string name="app_info" msgid="6856026610594615344">"ആപ്പ് വിവരം"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"സെഷൻ പുനരാരംഭിക്കുക"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"പുതിയൊരു ഡെമോ സെഷൻ ആരംഭിക്കാൻ ടാപ്പുചെയ്യുക"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"ഡെമോ ആരംഭിക്കുന്നു"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"സെഷൻ പുനരാരംഭിക്കുന്നു"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"ഉപകരണം പുനക്രമീകരിക്കണോ?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"ഉപകരണം പുനക്രമീകരിക്കാൻ ടാപ്പുചെയ്യുക"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"ഡെമോ ആരംഭിക്കുന്നു…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"ഉപകരണം പുനക്രമീകരിക്കുന്നു…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"ഉപകരണം പുനക്രമീകരിക്കണോ?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"റദ്ദാക്കുക"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"ഇപ്പോൾ പുനക്രമീകരിക്കുക"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"നിയന്ത്രണങ്ങൾ ഇല്ലാതെ ഈ ഉപകരണം ഉപയോഗിക്കാൻ ഫാക്ടറി റീസെറ്റ് നടത്തുക"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"കൂടുതലറിയുന്നതിന് സ്‌പർശിക്കുക."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> പ്രവർത്തനരഹിതമാക്കി"</string>
diff --git a/core/res/res/values-mn-rMN-watch/styles_material.xml b/core/res/res/values-mn-rMN-watch/styles_material.xml
new file mode 100644
index 0000000..f65ea48
--- /dev/null
+++ b/core/res/res/values-mn-rMN-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"нэр дэвшигч"</font></string>
+</resources>
diff --git a/core/res/res/values-mn-rMN/strings.xml b/core/res/res/values-mn-rMN/strings.xml
index 71c09dc..7cd0d21 100644
--- a/core/res/res/values-mn-rMN/strings.xml
+++ b/core/res/res/values-mn-rMN/strings.xml
@@ -395,9 +395,9 @@
     <string name="permdesc_setTimeZone" product="tv" msgid="888864653946175955">"Апп-д телевизийн цагийн бүсийг өөрчлөхийг зөвшөөрдөг."</string>
     <string name="permdesc_setTimeZone" product="default" msgid="4499943488436633398">"Апп нь утасны цагийн бүсийг өөрчлөх боломжтой."</string>
     <string name="permlab_getAccounts" msgid="1086795467760122114">"төхөөрөмж дээрх акаунтыг олох"</string>
-    <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"Апп нь таблетэд мэдэгдэж байгаа акаунтын жагсаалтыг авах боломжтой. Энд таны суулгасан аппликешнүүдийн үүсгэсэн бүх акаунтууд хамрагдана."</string>
+    <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"Апп нь таблетэд мэдэгдэж байгаа бүртгэлийн жагсаалтыг авах боломжтой. Энд таны суулгасан аппликешнүүдийн үүсгэсэн бүх акаунтууд хамрагдана."</string>
     <string name="permdesc_getAccounts" product="tv" msgid="4190633395633907543">"Телевизийн жагсаалтад байгаа акаунтуудын хаягийг апп-д авахыг зөвшөөрдөг. Энэ нь таны суулгасан бусад аппликэйшнүүдийн бий болгосон акаунтуудыг оруулж болно."</string>
-    <string name="permdesc_getAccounts" product="default" msgid="3448316822451807382">"Апп нь утсанд мэдэгдэж байгаа акаунтын жагсаалтыг авах боломжтой. Энд таны суулгасан аппликешнүүдийн үүсгэсэн бүх акаунтууд хамрагдана."</string>
+    <string name="permdesc_getAccounts" product="default" msgid="3448316822451807382">"Апп нь утсанд мэдэгдэж байгаа бүртгэлийн жагсаалтыг авах боломжтой. Энд таны суулгасан аппликешнүүдийн үүсгэсэн бүх акаунтууд хамрагдана."</string>
     <string name="permlab_accessNetworkState" msgid="4951027964348974773">"сүлжээний холболтыг үзэх"</string>
     <string name="permdesc_accessNetworkState" msgid="8318964424675960975">"Апп нь сүлжээ байгаа болон холбогдсон эсэх зэрэг сүлжээний холболтын талаарх мэдээллийг харах боломжтой."</string>
     <string name="permlab_createNetworkSockets" msgid="7934516631384168107">"сүлжээнд бүрэн нэвтрэх"</string>
@@ -454,11 +454,11 @@
   </string-array>
     <string name="fingerprint_icon_content_description" msgid="2340202869968465936">"Хурууны хээний дүрс"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"синк тохиргоог унших"</string>
-    <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Апп нь акаунтын синк тохиргоог унших боломжтой. Жишээ нь энэ нь Хүмүүс апп акаунттай синк хийгдсэн эсэхийг тодорхойлох боломжтой."</string>
+    <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Апп нь бүртгэлийн синк тохиргоог унших боломжтой. Жишээ нь энэ нь Хүмүүс апп бүртгэлтэй синк хийгдсэн эсэхийг тодорхойлох боломжтой."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"синкийг унтрааж асаах тохиргоо"</string>
-    <string name="permdesc_writeSyncSettings" msgid="8956262591306369868">"Апп нь акаунтын синк тохиргоог өөрчлөх боломжтой. Жишээ нь энэ нь Хүмүүс апп акаунттай синк хийхийг идэвхжүүлэх боломжтой."</string>
+    <string name="permdesc_writeSyncSettings" msgid="8956262591306369868">"Апп нь бүртгэлийн синк тохиргоог өөрчлөх боломжтой. Жишээ нь энэ нь Хүмүүс апп бүртгэлтэй синк хийхийг идэвхжүүлэх боломжтой."</string>
     <string name="permlab_readSyncStats" msgid="7396577451360202448">"синк статистикийг унших"</string>
-    <string name="permdesc_readSyncStats" msgid="1510143761757606156">"Апп нь синк үйлдэлийн түүх болон хэр их дата синк хийгдсэн зэрэг акаунтын синк статусыг унших боломжтой."</string>
+    <string name="permdesc_readSyncStats" msgid="1510143761757606156">"Апп нь синк үйлдэлийн түүх болон хэр их дата синк хийгдсэн зэрэг бүртгэлийн синк статусыг унших боломжтой."</string>
     <string name="permlab_sdcardRead" product="nosdcard" msgid="367275095159405468">"таны USB сангийн агуулгыг унших боломжтой"</string>
     <string name="permlab_sdcardRead" product="default" msgid="2188156462934977940">"таны SD картны агуулгыг унших боломжтой"</string>
     <string name="permdesc_sdcardRead" product="nosdcard" msgid="3446988712598386079">"Апп нь таны USB сангийн агуулгыг унших боломжтой."</string>
@@ -860,12 +860,12 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"одоо"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>минут</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>минут</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>мин</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>мин</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>цаг</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>цаг</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ц</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>ц</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>хоног</item>
@@ -876,19 +876,19 @@
       <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>жил</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="other"> <xliff:g id="COUNT_1">%d</xliff:g>минутад</item>
-      <item quantity="one"> <xliff:g id="COUNT_0">%d</xliff:g>минутад</item>
+      <item quantity="other"> <xliff:g id="COUNT_1">%d</xliff:g>мин</item>
+      <item quantity="one"> <xliff:g id="COUNT_0">%d</xliff:g>мин</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="other"> <xliff:g id="COUNT_1">%d</xliff:g>цагт</item>
-      <item quantity="one"> <xliff:g id="COUNT_0">%d</xliff:g>цагт</item>
+      <item quantity="other"> <xliff:g id="COUNT_1">%d</xliff:g>цаг</item>
+      <item quantity="one"> <xliff:g id="COUNT_0">%d</xliff:g>цаг</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
       <item quantity="other"> <xliff:g id="COUNT_1">%d</xliff:g>хоногт</item>
-      <item quantity="one"> <xliff:g id="COUNT_0">%d</xliff:g>хоногт</item>
+      <item quantity="one"> <xliff:g id="COUNT_0">%d</xliff:g>хоног</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="other"> <xliff:g id="COUNT_1">%d</xliff:g>жилд</item>
+      <item quantity="other"> <xliff:g id="COUNT_1">%d</xliff:g>жил</item>
       <item quantity="one"> <xliff:g id="COUNT_0">%d</xliff:g>жилд</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Цар хэмжээ"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Байнга харуулах"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Энийг Системийн тохиргоо &gt; Апп &gt; Татаж авсан дотроос дахин идэвхтэй болгох боломжтой."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> нь Дэлгэцийн хэмжээний одоогийн тохиргоог дэмждэггүй учир буруу ажиллаж болзошгүй."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Байнга харуулах"</string>
     <string name="smv_application" msgid="3307209192155442829">"<xliff:g id="APPLICATION">%1$s</xliff:g> апп (<xliff:g id="PROCESS">%2$s</xliff:g> процесс) өөрийнхөө StrictMode бодлогыг зөрчив."</string>
     <string name="smv_process" msgid="5120397012047462446">"<xliff:g id="PROCESS">%1$s</xliff:g> процесс өөрийнхөө StrictMode бодлогыг зөрчив."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Андройдыг дэвшүүлж байна…"</string>
@@ -1261,7 +1263,7 @@
     <string name="gpsVerifYes" msgid="2346566072867213563">"Тийм"</string>
     <string name="gpsVerifNo" msgid="1146564937346454865">"Үгүй"</string>
     <string name="sync_too_many_deletes" msgid="5296321850662746890">"Устгах хязгаар хэтрэв"</string>
-    <string name="sync_too_many_deletes_desc" msgid="496551671008694245">"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>-р <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> акаунтын <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> зүйл устсан . Та юу хиймээр байна?"</string>
+    <string name="sync_too_many_deletes_desc" msgid="496551671008694245">"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>-р <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> бүртгэлийн <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> зүйл устсан . Та юу хиймээр байна?"</string>
     <string name="sync_really_delete" msgid="2572600103122596243">"Устгах"</string>
     <string name="sync_undo_deletes" msgid="2941317360600338602">"Устгасныг буцаах"</string>
     <string name="sync_do_nothing" msgid="3743764740430821845">"Одоо юу ч хийхгүй"</string>
@@ -1412,7 +1414,7 @@
     <string name="kg_failed_attempts_now_wiping" product="default" msgid="4817627474419471518">"Та утсыг тайлах гэж <xliff:g id="NUMBER">%d</xliff:g> удаа буруу оролдлоо. Утас одоо үйлдвэрийн үндсэн утгаараа тохируулагдах болно."</string>
     <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Та тайлах хээг <xliff:g id="NUMBER_0">%1$d</xliff:g> удаа буруу зурлаа. <xliff:g id="NUMBER_1">%2$d</xliff:g> удаа дахин буруу оруулбал, та таблетаа тайлахын тулд имэйл бүртгэл шаардлагатай болно.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> секундын дараа дахин оролдоно уу."</string>
     <string name="kg_failed_attempts_almost_at_login" product="tv" msgid="4224651132862313471">"Та зурган түгжээг <xliff:g id="NUMBER_0">%1$d</xliff:g> удаа буруу оруулсан байна. <xliff:g id="NUMBER_1">%2$d</xliff:g> удаа буруу оруулсны дараагаар та телевизийнхээ түгжээг и-мэйл дансаа ашиглан тайлах хэрэгтэй болно.\n\n Та <xliff:g id="NUMBER_2">%3$d</xliff:g> секундийн дараа дахин оролдоно уу."</string>
-    <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Та тайлах хээг <xliff:g id="NUMBER_0">%1$d</xliff:g> удаа буруу зурлаа. <xliff:g id="NUMBER_1">%2$d</xliff:g> удаа дахин буруу оруулбал, та утсаа тайлахын тулд имэйл акаунтаа ашиглах шаардлагатай болно.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> секундын дараа дахин оролдоно уу."</string>
+    <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Та тайлах хээг <xliff:g id="NUMBER_0">%1$d</xliff:g> удаа буруу зурлаа. <xliff:g id="NUMBER_1">%2$d</xliff:g> удаа дахин буруу оруулбал, та утсаа тайлахын тулд имэйл бүртгэлээ ашиглах шаардлагатай болно.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> секундын дараа дахин оролдоно уу."</string>
     <string name="kg_text_message_separator" product="default" msgid="4160700433287233771">" — "</string>
     <string name="kg_reordering_delete_drop_target_text" msgid="7899202978204438708">"Устгах"</string>
     <string name="safe_media_volume_warning" product="default" msgid="2276318909314492312">"Дууг санал болгосноос чанга болгож өсгөх үү?\n\nУрт хугацаанд чанга хөгжим сонсох нь таны сонсголыг муутгаж болно."</string>
@@ -1647,10 +1649,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Unpin"</string>
     <string name="app_info" msgid="6856026610594615344">"Апп-н мэдээлэл"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Харилцан үйлдлийг дахин эхлүүлэх"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Демо харилцан үйлдлийг шинээр эхлүүлэхийн тулд товшино уу"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Жишээг эхлүүлж байна"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Харилцан үйлдлийг дахин эхлүүлж байна"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Төхөөрөмжийг шинэчлэх үү?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Төхөөрөмжийг шинэчлэхийн тулд товшино уу"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Жишээг эхлүүлж байна…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Төхөөрөмжийг шинэчилж байна…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Төхөөрөмжийг шинэчлэх үү?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Цуцлах"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Одоо шинэчлэх"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Энэ төхөөрөмжийг хязгаарлалтгүй ашиглахын тулд үйлдвэрийн тохиргоонд дахин тохируулна уу"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Дэлгэрэнгүй үзэх бол дарна уу."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g>-г цуцалсан"</string>
diff --git a/core/res/res/values-mr-rIN-watch/styles_material.xml b/core/res/res/values-mr-rIN-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-mr-rIN-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-mr-rIN/strings.xml b/core/res/res/values-mr-rIN/strings.xml
index 0ee3203..c4542aa 100644
--- a/core/res/res/values-mr-rIN/strings.xml
+++ b/core/res/res/values-mr-rIN/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"स्केल"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"नेहमी दर्शवा"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"सिस्टीम सेटिंग्ज &gt; Apps &gt; डाउनलोड केलेले मध्ये हे पुन्हा-सक्षम करा."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> वर्तमान प्रदर्शन आकार सेटिंगला समर्थन देत नाही आणि अनपेक्षित वर्तन करू शकते."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"नेहमी दर्शवा"</string>
     <string name="smv_application" msgid="3307209192155442829">"अॅप <xliff:g id="APPLICATION">%1$s</xliff:g> (प्रक्रिया <xliff:g id="PROCESS">%2$s</xliff:g>) ने तिच्या स्वयं-लागू केलेल्या StrictMode धोरणाचे उल्लंघन केले आहे."</string>
     <string name="smv_process" msgid="5120397012047462446">"<xliff:g id="PROCESS">%1$s</xliff:g> प्रक्रियेने तिच्या स्वतः-लागू केलेल्या StrictMode धोरणाचे उल्लंघन केले."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android श्रेणीसुधारित होत आहे..."</string>
@@ -1193,8 +1195,7 @@
     <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"अनुप्रयोगास स्‍थापना सत्र वाचण्‍याची अनुमती देते. हे सक्रिय पॅकेज स्‍थापनांविषयी तपशील पाहाण्‍याची यास अनुमती देते."</string>
     <string name="permlab_requestInstallPackages" msgid="5782013576218172577">"पॅकेज स्थापित करण्यासाठी विनंती करा"</string>
     <string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"पॅकेजच्या स्थापना करण्यासाठी अनुप्रयोगास अनुमती देते."</string>
-    <!-- no translation found for tutorial_double_tap_to_zoom_message_short (1311810005957319690) -->
-    <skip />
+    <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"झूम नियंत्रणासाठी दोनदा टॅप करा"</string>
     <string name="gadget_host_error_inflating" msgid="4882004314906466162">"विजेट जोडू शकलो नाही."</string>
     <string name="ime_action_go" msgid="8320845651737369027">"जा"</string>
     <string name="ime_action_search" msgid="658110271822807811">"शोधा"</string>
@@ -1225,10 +1226,8 @@
     <string name="notification_ranker_binding_label" msgid="774540592299064747">"सूचना रॅंकर सेवा"</string>
     <string name="vpn_title" msgid="19615213552042827">"VPN सक्रिय"</string>
     <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> द्वारे VPN सक्रिय केले आहे"</string>
-    <!-- no translation found for vpn_text (1610714069627824309) -->
-    <skip />
-    <!-- no translation found for vpn_text_long (4907843483284977618) -->
-    <skip />
+    <string name="vpn_text" msgid="1610714069627824309">"नेटवर्क व्यवस्थापित करण्यासाठी टॅप करा."</string>
+    <string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> शी कनेक्ट केले. नेटवर्क व्यवस्थापित करण्यासाठी टॅप करा."</string>
     <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"VPN कनेक्ट करणे नेहमी-चालू…"</string>
     <string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN कनेक्ट केलेले नेहमी-चालू"</string>
     <string name="vpn_lockdown_error" msgid="6009249814034708175">"VPN त्रुटी नेहमी-चालू"</string>
@@ -1652,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"अनपिन करा"</string>
     <string name="app_info" msgid="6856026610594615344">"अॅप माहिती"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"सत्र पुन्हा सुरू करा"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"नवीन डेमो सत्र प्रारंभ करण्यासाठी टॅप करा"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"डेमो प्रारंभ करत आहे"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"सत्र पुन्हा सुरू करणे"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"डिव्हाइस रीसेट करायचे?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"डिव्हाइस रीसेट करण्यासाठी टॅप करा"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"डेमो प्रारंभ करत आहे..."</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"डिव्हाइस रीसेट करत आहे..."</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"डिव्हाइस रीसेट करायचे?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"रद्द करा"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"आता रीसेट करा"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"हे डिव्हाइस निर्बंधांशिवाय वापरण्यासाठी फॅक्टरी रीसेट करा"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"अधिक जाणून घेण्यासाठी स्पर्श करा."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> अक्षम केले"</string>
diff --git a/core/res/res/values-ms-rMY-watch/styles_material.xml b/core/res/res/values-ms-rMY-watch/styles_material.xml
new file mode 100644
index 0000000..3f5e687
--- /dev/null
+++ b/core/res/res/values-ms-rMY-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"calon"</font></string>
+</resources>
diff --git a/core/res/res/values-ms-rMY/strings.xml b/core/res/res/values-ms-rMY/strings.xml
index e48d7d6..53f115f 100644
--- a/core/res/res/values-ms-rMY/strings.xml
+++ b/core/res/res/values-ms-rMY/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Skala"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Sentiasa tunjukkan"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Dayakan semula kod kompak ini tetapan Sistem &gt; Apl &gt; Dimuat turun."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> tidak menyokong tetapan saiz Paparan semasa dan mungkin menunjukkan gelagat yang tidak dijangka."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Sentiasa tunjukkan"</string>
     <string name="smv_application" msgid="3307209192155442829">"Apl <xliff:g id="APPLICATION">%1$s</xliff:g> (proses <xliff:g id="PROCESS">%2$s</xliff:g>) telah melanggar dasar Mod Tegasnya sendiri."</string>
     <string name="smv_process" msgid="5120397012047462446">"Proses <xliff:g id="PROCESS">%1$s</xliff:g> telah melanggar dasar Mod Tegasnya sendiri."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android sedang menaik taraf..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Nyahsemat"</string>
     <string name="app_info" msgid="6856026610594615344">"Maklumat apl"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Mulakan Semula Sesi"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Ketik untuk memulakan sesi tunjuk cara baharu"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Memulakan tunjuk cara"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Memulakan semula sesi"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Tetapkan semula peranti?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Ketik untuk menetapkan semula peranti"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Memulakan tunjuk cara…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Menetapkan semula peranti…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Tetapkan semula peranti?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Batal"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Tetapkan semula sekarang"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Lakukan tetapan semula kilang untuk menggunakan peranti ini tanpa sekatan"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Ketik untuk mengetahui lebih lanjut."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> dilumpuhkan"</string>
diff --git a/core/res/res/values-my-rMM-watch/styles_material.xml b/core/res/res/values-my-rMM-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-my-rMM-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-my-rMM/strings.xml b/core/res/res/values-my-rMM/strings.xml
index 72fc86e..5797460 100644
--- a/core/res/res/values-my-rMM/strings.xml
+++ b/core/res/res/values-my-rMM/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"စကေး"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"အမြဲပြသရန်"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"ဒါကို စနစ် ဆက်တင်များထဲ ပြန်ဖွင့်ပေးရန် &gt; Apps &gt; ဒေါင်းလုဒ် လုပ်ပြီး။"</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> သည် လက်ရှိ မျက်နှာပြင်အရွယ်အစားကို ပံ့ပိုးထားခြင်း မရှိပါ။ မမျှော်လင့်နိုင်သည့် ချွတ်ယွင်းချက်များ ဖြစ်ပေါ်နိုင်ပါသည်။"</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"အမြဲပြပါ"</string>
     <string name="smv_application" msgid="3307209192155442829">"app <xliff:g id="APPLICATION">%1$s</xliff:g> (လုပ်ငန်းစဉ် <xliff:g id="PROCESS">%2$s</xliff:g>) က ကိုယ်တိုင် ပြဌာန်းခဲ့သည့် StrictMode မူဝါဒကို ချိုးဖောက်ခဲ့သည်။"</string>
     <string name="smv_process" msgid="5120397012047462446">"ဤ<xliff:g id="PROCESS">%1$s</xliff:g>ဖြစ်စဥ်မှာ ကိုယ်တိုင်အကျိုးသက်ရောက်သော StrictModeမူဝါဒအား ချိုးဖောက်သည်"</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"အန်ဒရွိုက်ကို မွမ်းမံနေ…"</string>
@@ -1193,8 +1195,7 @@
     <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"အပလီကေးရှင်းအား တပ်ဆင်ရေး ချိတ်ဆက်မှုများကို ဖတ်ခွင့်ပြုသည်။ ၎င်းသည် ဖွင့်သုံးနေသည့် အထုပ်အား တပ်ဆင်မှုဆိုင်ရာ အသေးိစတ်များကို ကြည့်ရှုခွင့် ပြုသည်။"</string>
     <string name="permlab_requestInstallPackages" msgid="5782013576218172577">"တပ်ဆင်ရေး အထုပ်များကို တောင်းဆိုပါ"</string>
     <string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"ပက်ကေ့များ သွင်းယူခြင်းအတွက် တောင်းဆိုရန် အပ္ပလီကေးရှင်းအား ခွင့်ပြုပါ"</string>
-    <!-- no translation found for tutorial_double_tap_to_zoom_message_short (1311810005957319690) -->
-    <skip />
+    <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"ဇူးမ်အသုံးပြုရန် နှစ်ချက်တို့ပါ"</string>
     <string name="gadget_host_error_inflating" msgid="4882004314906466162">"ဝဒ်ဂျက်ထည့်လို့ မရပါ"</string>
     <string name="ime_action_go" msgid="8320845651737369027">"သွားပါ"</string>
     <string name="ime_action_search" msgid="658110271822807811">"ရှာဖွေခြင်း"</string>
@@ -1225,10 +1226,8 @@
     <string name="notification_ranker_binding_label" msgid="774540592299064747">"သတိပေးချက် အဆင့်သတ်မှတ်ခြင်းဝန်ဆောင်မှု"</string>
     <string name="vpn_title" msgid="19615213552042827">"VPN ဖွင့်ထားပါသည်"</string>
     <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g>မှVPNအလုပ်လုပ်နေသည်"</string>
-    <!-- no translation found for vpn_text (1610714069627824309) -->
-    <skip />
-    <!-- no translation found for vpn_text_long (4907843483284977618) -->
-    <skip />
+    <string name="vpn_text" msgid="1610714069627824309">"ကွန်ရက်ကို စီမံခန့်ခွဲရန် တို့ပါ။"</string>
+    <string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> သို့ ချိတ်ဆက်ထားသည်။ ကွန်ရက်ကို စီမံခန့်ခွဲရန် တို့ပါ။"</string>
     <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"အမြဲတမ်းဖွင့်ထား VPN ဆက်သွယ်နေစဉ်…"</string>
     <string name="vpn_lockdown_connected" msgid="8202679674819213931">"အမြဲတမ်းဖွင့်ထား VPN ဆက်သွယ်မှုရှိ"</string>
     <string name="vpn_lockdown_error" msgid="6009249814034708175">"အမြဲတမ်းဖွင့်ထား VPN အမှား"</string>
@@ -1652,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"ဖြုတ်ပါ"</string>
     <string name="app_info" msgid="6856026610594615344">"အက်ပ်အချက်အလက်"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"စက်ရှင်ကို ပြန်စပါ"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"သရုပ်ပြစက်ရှင်အသစ်စတင်ရန် တို့ပါ"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"သရုပ်ပြချက်ကို စတင်နေသည်"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"စက်ရှင်ကို ပြန်လည်စတင်နေပါသည်"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"စက်ပစ္စည်းကို ပြန်လည်သတ်မှတ်မလား။"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"စက်ပစ္စည်းကို ပြန်လည်သတ်မှတ်ရန် တို့ပါ"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"သရုပ်ပြချက်ကို စတင်နေသည်…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"စက်ပစ္စည်းကို ပြန်လည်သတ်မှတ်နေသည်…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"စက်ပစ္စည်းကို ပြန်လည်သတ်မှတ်မလား။"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"မလုပ်တော့"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"ယခုပြန်လည်သတ်မှတ်ပါ"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"ဤစက်ပစ္စည်းကို ကန့်သတ်ချက်များမပါဘဲ အသုံးပြုရန် စက်ရုံထုတ်ဆက်တင်အတိုင်း ပြန်လည်သတ်မှတ်ပါ"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"ပိုမိုလေ့လာရန် တို့ပါ။"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"ပိတ်ထားသည့် <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-nb-watch/styles_material.xml b/core/res/res/values-nb-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-nb-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index 20de4a6..0f74a2c 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -253,7 +253,7 @@
     <string name="permgrouplab_storage" msgid="1971118770546336966">"Lagring"</string>
     <string name="permgroupdesc_storage" msgid="637758554581589203">"åpne bilder, medieinnhold og filer på enheten din"</string>
     <string name="permgrouplab_microphone" msgid="171539900250043464">"Mikrofon"</string>
-    <string name="permgroupdesc_microphone" msgid="4988812113943554584">"spill inn lyd"</string>
+    <string name="permgroupdesc_microphone" msgid="4988812113943554584">"ta opp lyd"</string>
     <string name="permgrouplab_camera" msgid="4820372495894586615">"Kamera"</string>
     <string name="permgroupdesc_camera" msgid="3250611594678347720">"ta bilder og ta opp video"</string>
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefon"</string>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Skala"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Vis alltid"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Reaktiver dette i systeminnstillingene  &gt; Apper &gt; Nedlastet."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> støtter ikke den nåværende innstillingen for skjermstørrelse og fungerer kanskje ikke som den skal."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Vis alltid"</string>
     <string name="smv_application" msgid="3307209192155442829">"Appen <xliff:g id="APPLICATION">%1$s</xliff:g> (prosessen <xliff:g id="PROCESS">%2$s</xliff:g>) har brutt de selvpålagte StrictMode-retningslinjene."</string>
     <string name="smv_process" msgid="5120397012047462446">"Prosessen<xliff:g id="PROCESS">%1$s</xliff:g> har brutt de selvpålagte StrictMode-retningslinjene."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android oppgraderes …"</string>
@@ -1618,8 +1620,7 @@
     <string name="floating_toolbar_close_overflow_description" msgid="559796923090723804">"Lukk overflytsmenyen"</string>
     <string name="maximize_button_text" msgid="7543285286182446254">"Maksimer"</string>
     <string name="close_button_text" msgid="3937902162644062866">"Lukk"</string>
-    <!-- no translation found for notification_messaging_title_template (3452480118762691020) -->
-    <skip />
+    <string name="notification_messaging_title_template" msgid="3452480118762691020">"<xliff:g id="CONVERSATION_TITLE">%1$s</xliff:g><xliff:g id="SENDER_NAME">%2$s</xliff:g>"</string>
     <plurals name="selected_count" formatted="false" msgid="7187339492915744615">
       <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> er valgt</item>
       <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> er valgt</item>
@@ -1650,12 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Løsne"</string>
     <string name="app_info" msgid="6856026610594615344">"Info om appen"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Start økten på nytt"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Trykk for å starte en ny demoøkt"</string>
-    <!-- no translation found for demo_starting_message (7574017688324606624) -->
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Tilbakestille enheten?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Trykk for å tilbakestille enheten"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Starter demo …"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Tilbakestiller enheten …"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Tilbakestille enheten?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
     <skip />
-    <!-- no translation found for demo_restarting_message (1363894248779727028) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Avbryt"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Tilbakestill nå"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Tilbakestill til fabrikkstandard for å bruke denne enheten uten begrensninger"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Trykk for å finne ut mer."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> er slått av"</string>
diff --git a/core/res/res/values-ne-rNP-watch/styles_material.xml b/core/res/res/values-ne-rNP-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-ne-rNP-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-ne-rNP/strings.xml b/core/res/res/values-ne-rNP/strings.xml
index 79d9ba8..453f869 100644
--- a/core/res/res/values-ne-rNP/strings.xml
+++ b/core/res/res/values-ne-rNP/strings.xml
@@ -860,36 +860,36 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"अहिले"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> मिनेट</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>मिनेट</item>
       <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> मिनेट</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> घन्टा</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>घन्टा</item>
       <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> घन्टा</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> दिन</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>दिन</item>
       <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> दिन</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> वर्ष</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>वर्ष</item>
       <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> वर्ष</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> मिनेटमा</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> मिनेटमा</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>मिनेटमा</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>मिनेटमा</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> घन्टामा</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> घन्टामा</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>घन्टामा</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> दिनमा</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> दिनमा</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>दिनमा</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>दिनमा</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> वर्षमा</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> वर्षमा</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>वर्षमा</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>वर्षमा</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> मिनेट अघि</item>
@@ -1021,6 +1021,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"स्केल"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"सधैँ देखाउनुहोस्"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"प्रणाली सेटिङहरूमा यसलाई पुनःसक्षम गराउनुहोस् &gt; अनुप्रयोगहरू &gt; डाउनलोड गरेको।"</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> ले हालको प्रदर्शनको आकार सम्बन्धी सेटिङलाई समर्थन गर्दैन र अप्रत्याशित तरिकाले व्यवहार गर्न सक्छ।"</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"सधैँ देखाउनुहोस्"</string>
     <string name="smv_application" msgid="3307209192155442829">"अनुप्रयोग <xliff:g id="APPLICATION">%1$s</xliff:g> (प्रक्रिया <xliff:g id="PROCESS">%2$s</xliff:g>) ले यसको स्वयं-लागु गरिएको स्ट्रिटमोड नीति उलङ्घन गरेको छ।"</string>
     <string name="smv_process" msgid="5120397012047462446">"प्रक्रिया <xliff:g id="PROCESS">%1$s</xliff:g> यसको आफ्नै कडामोड नीतिका कारण उल्लङ्घन गरिएको छ।"</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"एन्ड्रोइड अपग्रेड हुँदैछ…"</string>
@@ -1655,10 +1657,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"अनपिन गर्नुहोस्"</string>
     <string name="app_info" msgid="6856026610594615344">"अनुप्रयोगका बारे जानकारी"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"सत्रलाई पुन:सुरु गर्नुहोस्"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"एउटा नयाँ डेमो सम्बन्धी सत्र सुरु गर्न ट्याप गर्नुहोस्"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"डेमो सुरु गर्दै"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"सत्रलाई पुन:सुरु गर्दै"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"यन्त्रलाई रिसेट गर्ने हो?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"यन्त्रलाई रिसेट गर्न ट्याप गर्नुहोस्"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"डेमो सुरु गर्दै…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"यन्त्रलाई रिसेट गर्दै…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"यन्त्रलाई रिसेट गर्ने हो?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"रद्द गर्नुहोस्"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"अहिले रिसेट गर्नुहोस्"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"यस यन्त्रलाई सीमितताहरू बिना प्रयोग गर्नका लागि फ्याक्ट्री रिसेट गर्नुहोस्"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"थप जान्नका लागि छुनुहोस्।"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> लाई असक्षम गरियो"</string>
diff --git a/core/res/res/values-nl-watch/styles_material.xml b/core/res/res/values-nl-watch/styles_material.xml
new file mode 100644
index 0000000..b821347
--- /dev/null
+++ b/core/res/res/values-nl-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"kandidaten"</font></string>
+</resources>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index 9f9a07b..7d31d3f 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -860,36 +860,36 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"nu"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> m</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> m</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>m</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>m</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> u</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> u</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>u</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>u</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> d</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> d</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>d</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>d</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> j</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> j</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>j</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>j</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="other">over <xliff:g id="COUNT_1">%d</xliff:g> m</item>
-      <item quantity="one">over <xliff:g id="COUNT_0">%d</xliff:g> m</item>
+      <item quantity="other">over <xliff:g id="COUNT_1">%d</xliff:g>m</item>
+      <item quantity="one">over <xliff:g id="COUNT_0">%d</xliff:g>m</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="other">over <xliff:g id="COUNT_1">%d</xliff:g> u</item>
-      <item quantity="one">over <xliff:g id="COUNT_0">%d</xliff:g> u</item>
+      <item quantity="other">over <xliff:g id="COUNT_1">%d</xliff:g>u</item>
+      <item quantity="one">over <xliff:g id="COUNT_0">%d</xliff:g>u</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="other">over <xliff:g id="COUNT_1">%d</xliff:g> d</item>
-      <item quantity="one">over <xliff:g id="COUNT_0">%d</xliff:g> d</item>
+      <item quantity="other">over <xliff:g id="COUNT_1">%d</xliff:g>d</item>
+      <item quantity="one">over <xliff:g id="COUNT_0">%d</xliff:g>d</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="other">over <xliff:g id="COUNT_1">%d</xliff:g> j</item>
-      <item quantity="one">over <xliff:g id="COUNT_0">%d</xliff:g> j</item>
+      <item quantity="other">over <xliff:g id="COUNT_1">%d</xliff:g>j</item>
+      <item quantity="one">over <xliff:g id="COUNT_0">%d</xliff:g>j</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> minuten geleden</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Schaal"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Altijd weergeven"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"U kunt dit opnieuw inschakelen via Systeeminstellingen &gt; Apps &gt; Gedownload."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> biedt geen ondersteuning voor de huidige instelling voor weergavegrootte en kan onverwacht gedrag vertonen."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Altijd weergeven"</string>
     <string name="smv_application" msgid="3307209192155442829">"De app <xliff:g id="APPLICATION">%1$s</xliff:g> (proces <xliff:g id="PROCESS">%2$s</xliff:g>) heeft het zelf afgedwongen StrictMode-beleid geschonden."</string>
     <string name="smv_process" msgid="5120397012047462446">"Het proces <xliff:g id="PROCESS">%1$s</xliff:g> heeft het zelf afgedwongen StrictMode-beleid geschonden."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android wordt bijgewerkt..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Losmaken"</string>
     <string name="app_info" msgid="6856026610594615344">"App-info"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Sessie opnieuw starten"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Tik om een nieuwe demosessie te starten"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Demo starten"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Sessie opnieuw starten"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Apparaat resetten?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Tik om apparaat te resetten"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Demo starten…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Apparaat resetten…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Apparaat resetten?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Annuleren"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Nu resetten"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Zet dit apparaat terug op de fabrieksinstellingen om het zonder beperkingen te gebruiken"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Tik voor meer informatie."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> uitgeschakeld"</string>
diff --git a/core/res/res/values-watch/dimens.xml b/core/res/res/values-notround-watch/dimens.xml
similarity index 100%
rename from core/res/res/values-watch/dimens.xml
rename to core/res/res/values-notround-watch/dimens.xml
diff --git a/core/res/res/values-notround-watch/dimens_material.xml b/core/res/res/values-notround-watch/dimens_material.xml
new file mode 100644
index 0000000..b02437b
--- /dev/null
+++ b/core/res/res/values-notround-watch/dimens_material.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<resources>
+    <dimen name="dialog_padding_material">8dp</dimen>
+    <dimen name="preference_fragment_padding_vertical_material">0dp</dimen>
+
+    <dimen name="list_item_padding_horizontal_material">16dp</dimen>
+    <dimen name="list_item_padding_start_material">16dp</dimen>
+    <dimen name="list_item_padding_end_material">16dp</dimen>
+</resources>
diff --git a/core/res/res/values-notround-watch/styles_material.xml b/core/res/res/values-notround-watch/styles_material.xml
new file mode 100644
index 0000000..cd8521f4
--- /dev/null
+++ b/core/res/res/values-notround-watch/styles_material.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 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.
+-->
+<resources>
+    <style name="TextAppearance.Material.AlertDialogMessage" parent="TextAppearance.Material.Body1"/>
+</resources>
diff --git a/core/res/res/values-notround/dimens_micro.xml b/core/res/res/values-notround/dimens_micro.xml
deleted file mode 100644
index 51291d9..0000000
--- a/core/res/res/values-notround/dimens_micro.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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.
--->
-<resources>
-    <dimen name="dialog_padding_micro">8dp</dimen>
-    <dimen name="list_item_padding_left_micro">16dp</dimen>
-    <dimen name="list_item_padding_right_micro">16dp</dimen>
-</resources>
diff --git a/core/res/res/values-notround/styles_micro.xml b/core/res/res/values-notround/styles_micro.xml
deleted file mode 100644
index 1294660..0000000
--- a/core/res/res/values-notround/styles_micro.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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.
--->
-<resources>
-    <style name="TextAppearance.Micro.AlertDialog.Message" parent="TextAppearance.Micro.Small">
-        <item name="textAlignment">viewStart</item>
-    </style>
-    <style name="PreferenceFragment.Micro" parent="PreferenceFragment.Material"/>
-    <style name="PreferenceFragmentList.Micro" parent="PreferenceFragmentList.Material"/>
-</resources>
diff --git a/core/res/res/values-pa-rIN-watch/styles_material.xml b/core/res/res/values-pa-rIN-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-pa-rIN-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-pa-rIN/strings.xml b/core/res/res/values-pa-rIN/strings.xml
index 6cc7c30..8310f4d 100644
--- a/core/res/res/values-pa-rIN/strings.xml
+++ b/core/res/res/values-pa-rIN/strings.xml
@@ -243,23 +243,23 @@
     <string name="user_owner_label" msgid="1119010402169916617">"ਨਿੱਜੀ \'ਤੇ ਸਵਿੱਚ ਕਰੋ"</string>
     <string name="managed_profile_label" msgid="5289992269827577857">"ਕੰਮ \'ਤੇ ਸਵਿੱਚ ਕਰੋ"</string>
     <string name="permgrouplab_contacts" msgid="3657758145679177612">"ਸੰਪਰਕ"</string>
-    <string name="permgroupdesc_contacts" msgid="6951499528303668046">"ਆਪਣੇ ਸੰਪਰਕਾਂ ਨੂੰ ਐਕਸੈਸ ਕਰੋ"</string>
+    <string name="permgroupdesc_contacts" msgid="6951499528303668046">"ਆਪਣੇ ਸੰਪਰਕਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ"</string>
     <string name="permgrouplab_location" msgid="7275582855722310164">"ਟਿਕਾਣਾ"</string>
-    <string name="permgroupdesc_location" msgid="1346617465127855033">"ਇਸ ਡੀਵਾਈਸ ਦੇ ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਤੱਕ ਪਹੁੰਚੋ"</string>
+    <string name="permgroupdesc_location" msgid="1346617465127855033">"ਇਸ ਡੀਵਾਈਸ ਦੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ"</string>
     <string name="permgrouplab_calendar" msgid="5863508437783683902">"ਕੈਲੰਡਰ"</string>
-    <string name="permgroupdesc_calendar" msgid="3889615280211184106">"ਆਪਣੇ ਕੈਲੰਡਰ ਦੀ ਐਕਸੈਸ ਕਰੋ"</string>
+    <string name="permgroupdesc_calendar" msgid="3889615280211184106">"ਤੁਹਾਡੇ ਕੈਲੰਡਰ ਤੱਕ ਪਹੁੰਚ ਕਰਨ"</string>
     <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string>
-    <string name="permgroupdesc_sms" msgid="4656988620100940350">"SMS ਸੁਨੇਹੇ ਭੇਜੋ ਅਤੇ ਦਿਖਾਓ"</string>
+    <string name="permgroupdesc_sms" msgid="4656988620100940350">"SMS ਸੁਨੇਹੇ ਭੇਜਣ ਅਤੇ ਦੇਖਣ"</string>
     <string name="permgrouplab_storage" msgid="1971118770546336966">"ਸਟੋਰੇਜ"</string>
-    <string name="permgroupdesc_storage" msgid="637758554581589203">"ਆਪਣੀ ਡੀਵਾਈਸ ’ਤੇ ਫੋਟੋਆਂ, ਮੀਡੀਆ ਅਤੇ ਫਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣ"</string>
+    <string name="permgroupdesc_storage" msgid="637758554581589203">"ਆਪਣੀ ਡੀਵਾਈਸ ’ਤੇ ਫੋਟੋਆਂ, ਮੀਡੀਆ ਅਤੇ ਫਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ"</string>
     <string name="permgrouplab_microphone" msgid="171539900250043464">"ਮਾਈਕ੍ਰੋਫੋਨ"</string>
-    <string name="permgroupdesc_microphone" msgid="4988812113943554584">"ਔਡੀਓ ਰਿਕਾਰਡ ਕਰੋ"</string>
+    <string name="permgroupdesc_microphone" msgid="4988812113943554584">"ਔਡੀਓ ਰਿਕਾਰਡ ਕਰਨ"</string>
     <string name="permgrouplab_camera" msgid="4820372495894586615">"ਕੈਮਰਾ"</string>
-    <string name="permgroupdesc_camera" msgid="3250611594678347720">"ਤਸਵੀਰਾਂ ਖਿੱਚੋ ਅਤੇ ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰੋ"</string>
+    <string name="permgroupdesc_camera" msgid="3250611594678347720">"ਤਸਵੀਰਾਂ ਲੈਣ ਅਤੇ ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰਨ"</string>
     <string name="permgrouplab_phone" msgid="5229115638567440675">"ਫੋਨ"</string>
-    <string name="permgroupdesc_phone" msgid="6234224354060641055">"ਫ਼ੋਨ ਕਾਲਾਂ ਕਰੋ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਪ੍ਰਬੰਧਿਤ ਕਰੋ"</string>
+    <string name="permgroupdesc_phone" msgid="6234224354060641055">"ਫ਼ੋਨ ਕਾਲਾਂ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ"</string>
     <string name="permgrouplab_sensors" msgid="416037179223226722">"ਸਰੀਰ ਸੰਵੇਦਕ"</string>
-    <string name="permgroupdesc_sensors" msgid="7147968539346634043">"ਆਪਣੇ ਮਹੱਤਵਪੂਰਣ ਲੱਛਣਾਂ ਬਾਰੇ ਸੰਵੇਦਕ ਡੈਟਾ ਤੱਕ ਪਹੁੰਚ"</string>
+    <string name="permgroupdesc_sensors" msgid="7147968539346634043">"ਆਪਣੇ ਸਰੀਰ ਦੇ ਅਹਿਮ ਚਿੰਨ੍ਹਾਂ ਬਾਰੇ ਸੰਵੇਦਕ ਡੈਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"ਵਿੰਡੋ ਸਮੱਗਰੀ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"ਇੱਕ ਵਿੰਡੋ ਦੀ ਸਮੱਗਰੀ ਦੀ ਜਾਂਚ ਕਰੋ, ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਇੰਟਰੈਕਟ ਕਰ ਰਹੇ ਹੋ।"</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"ਐਕਸਪਲੋਰ ਬਾਇ ਟਚ ਚਾਲੂ ਕਰੋ"</string>
@@ -292,7 +292,7 @@
     <string name="permdesc_readCellBroadcasts" msgid="6361972776080458979">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਵੱਲੋਂ ਪ੍ਰਾਪਤ ਕੀਤੇ ਸੈਲ ਪ੍ਰਸਾਰਨ ਸੁਨੇਹੇ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਸੈਲ ਪ੍ਰਸਾਰਨ ਚਿਤਾਵਨੀਆਂ ਤੁਹਾਨੂੰ ਐਮਰਜੈਂਸੀ ਸਥਿਤੀਆਂ ਦੀ ਚਿਤਾਵਨੀ ਦੇਣ ਲਈ ਕੁਝ ਨਿਰਧਾਰਿਤ ਸਥਾਨਾਂ ਤੇ ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਦੇ ਪ੍ਰਦਰਸ਼ਨ ਜਾਂ ਓਪਰੇਸ਼ਨ ਵਿੱਚ ਵਿਘਨ ਪਾ ਸਕਦੇ ਹਨ ਜਦੋਂ ਇੱਕ ਐਮਰਜੈਂਸੀ ਸੈਲ ਪ੍ਰਸਾਰਨ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।"</string>
     <string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"ਸਬਸਕ੍ਰਾਈਬ ਕੀਤੇ ਫੀਡਸ ਪੜ੍ਹੋ"</string>
     <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"ਐਪ ਨੂੰ ਵਰਤਮਾਨ ਵਿੱਚ ਸਿੰਕ ਕੀਤੇ ਫੀਡਸ ਬਾਰੇ ਵੇਰਵੇ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
-    <string name="permlab_sendSms" msgid="7544599214260982981">"SMS ਸੁਨੇਹੇ ਭੇਜੋ ਅਤੇ ਦਿਖਾਓ"</string>
+    <string name="permlab_sendSms" msgid="7544599214260982981">"SMS ਸੁਨੇਹੇ ਭੇਜਣ ਅਤੇ ਦੇਖਣ"</string>
     <string name="permdesc_sendSms" msgid="7094729298204937667">"ਐਪ ਨੂੰ SMS ਸੁਨੇਹੇ ਭੇਜਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਸਦੇ ਸਿੱਟੇ ਵਜੋਂ ਅਕਲਪਿਤ ਖ਼ਰਚੇ ਪੈ ਸਕਦੇ ਹਨ। ਖ਼ਰਾਬ ਐਪਸ ਤੁਹਾਡੀ ਪੁਸ਼ਟੀ ਤੋਂ ਬਿਨਾਂ ਸੁਨੇਹੇ ਭੇਜ ਕੇ ਤੁਹਾਨੂੰ ਖ਼ਰਚੇ ਪਾ ਸਕਦੇ ਹਨ।"</string>
     <string name="permlab_readSms" msgid="8745086572213270480">"ਤੁਹਾਡੇ ਟੈਕਸਟ ਸੁਨੇਹੇ (SMS ਜਾਂ MMS) ਪੜ੍ਹੋ"</string>
     <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"ਐਪ ਨੂੰ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਜਾਂ SIM ਕਾਰਡ ਤੇ ਸਟੋਰ ਕੀਤੇ SMS ਸੁਨੇਹੇ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਐਪ ਨੂੰ ਸਾਰੇ SMS ਸੁਨੇਹੇ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਸਮੱਗਰੀ ਜਾਂ ਗੁਪਤਤਾ ਤੇ ਧਿਆਨ ਦਿੱਤੇ ਬਿਨਾਂ।"</string>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"ਸਕੇਲ"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"ਹਮੇਸ਼ਾਂ ਦਿਖਾਓ"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"ਸਿਸਟਮ ਸੈਟਿੰਗਾਂ &gt; ਐਪਸ &gt; ਡਾਊਨਲੋਡ ਕੀਤਿਆਂ ਵਿੱਚ ਇਸਨੂੰ ਮੁੜ-ਸਮਰੱਥ ਬਣਾਓ।"</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਵਰਤਮਾਨ ਡਿਸਪਲੇ ਆਕਾਰ ਸੈਟਿੰਗ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੀ ਹੈ ਅਤੇ ਅਣਕਿਆਸੇ ਤੌਰ \'ਤੇ ਵਿਹਾਰ ਕਰ ਸਕਦੀ ਹੈ।"</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"ਹਮੇਸ਼ਾ ਵਿਖਾਓ"</string>
     <string name="smv_application" msgid="3307209192155442829">"ਐਪ <xliff:g id="APPLICATION">%1$s</xliff:g> (ਪ੍ਰਕਿਰਿਆ<xliff:g id="PROCESS">%2$s</xliff:g>) ਨੇ ਆਪਣੀ ਖੁਦ-ਲਾਗੂ ਕੀਤੀ ਸਟ੍ਰਿਕਟਮੋਡ ਨੀਤੀ ਦੀ ਉਲੰਘਣਾ ਕੀਤੀ ਹੈ।"</string>
     <string name="smv_process" msgid="5120397012047462446">"ਪ੍ਰਕਿਰਿਆ <xliff:g id="PROCESS">%1$s</xliff:g> ਨੇ ਆਪਣੀ ਖੁਦ-ਲਾਗੂ ਕੀਤੀ ਸਟ੍ਰਿਕਟਮੋਡ ਨੀਤੀ ਦੀ ਉਲੰਘਣਾ ਕੀਤੀ ਹੈ।"</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android ਅਪਗ੍ਰੇਡ ਕਰ ਰਿਹਾ ਹੈ…"</string>
@@ -1193,8 +1195,7 @@
     <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਇੰਸਟੌਲ ਸੈਸ਼ਨ ਪੜ੍ਹਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਇਸਨੂੰ ਸਕਿਰਿਆ ਪੈਕੇਜ ਇੰਸਟੌਲੇਸ਼ਨਾਂ ਬਾਰੇ ਵੇਰਵੇ ਦੇਖਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
     <string name="permlab_requestInstallPackages" msgid="5782013576218172577">"ਪੈਕੇਜ ਸਥਾਪਿਤ ਕਰਨ ਦੀ ਬੇਨਤੀ ਕਰੋ"</string>
     <string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"ਪੈਕੇਜ ਦੀ ਸਥਾਪਨਾ ਦੀ ਬੇਨਤੀ ਕਰਨ ਲਈ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਅਨੁਮਤੀ ਦਿੰਦਾ ਹੈ"</string>
-    <!-- no translation found for tutorial_double_tap_to_zoom_message_short (1311810005957319690) -->
-    <skip />
+    <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"ਜ਼ੂਮ ਕੰਟਰੋਲ ਲਈ ਦੋ ਵਾਰ ਟੈਪ ਕਰੋ"</string>
     <string name="gadget_host_error_inflating" msgid="4882004314906466162">"ਵਿਜੇਟ ਨਹੀਂ ਜੋੜ ਸਕਿਆ।"</string>
     <string name="ime_action_go" msgid="8320845651737369027">"ਜਾਓ"</string>
     <string name="ime_action_search" msgid="658110271822807811">"ਖੋਜੋ"</string>
@@ -1225,10 +1226,8 @@
     <string name="notification_ranker_binding_label" msgid="774540592299064747">"ਸੂਚਨਾ ਰੈਂਕਰ ਸੇਵਾ"</string>
     <string name="vpn_title" msgid="19615213552042827">"VPN ਸਕਿਰਿਆ ਕੀਤਾ"</string>
     <string name="vpn_title_long" msgid="6400714798049252294">"VPN <xliff:g id="APP">%s</xliff:g> ਰਾਹੀਂ ਸਕਿਰਿਆ ਬਣਾਇਆ ਗਿਆ ਹੈ"</string>
-    <!-- no translation found for vpn_text (1610714069627824309) -->
-    <skip />
-    <!-- no translation found for vpn_text_long (4907843483284977618) -->
-    <skip />
+    <string name="vpn_text" msgid="1610714069627824309">"ਨੈੱਟਵਰਕ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਟੈਪ ਕਰੋ।"</string>
+    <string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ ਗਿਆ। ਨੈੱਟਵਰਕ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਟੈਪ ਕਰੋ।"</string>
     <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"ਹਮੇਸ਼ਾਂ-ਚਾਲੂ VPN ਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ..."</string>
     <string name="vpn_lockdown_connected" msgid="8202679674819213931">"ਹਮੇਸ਼ਾਂ-ਚਾਲੂ VPN ਕਨੈਕਟ ਕੀਤਾ"</string>
     <string name="vpn_lockdown_error" msgid="6009249814034708175">"ਹਮੇਸ਼ਾਂ-ਚਾਲੂ VPN ਅਸ਼ੁੱਧੀ"</string>
@@ -1652,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"ਅਨਪਿੰਨ ਕਰੋ"</string>
     <string name="app_info" msgid="6856026610594615344">"ਐਪ ਜਾਣਕਾਰੀ"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"ਸੈਸ਼ਨ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰੋ"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"ਇੱਕ ਨਵਾਂ ਡੈਮੋ ਸੈਸ਼ਨ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"ਡੈਮੋ ਚਾਲੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"ਸੈਸ਼ਨ ਮੁੜ-ਚਾਲੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"ਕੀ ਡੀਵਾਈਸ ਮੁੜ-ਸੈੱਟ ਕਰਨੀ ਹੈ?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"ਡੀਵਾਈਸ ਮੁੜ-ਸੈੱਟ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"ਡੈਮੋ ਚਾਲੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"ਡੀਵਾਈਸ ਮੁੜ-ਸੈੱਟ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"ਕੀ ਡੀਵਾਈਸ ਮੁੜ-ਸੈੱਟ ਕਰਨੀ ਹੈ?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"ਰੱਦ ਕਰੋ"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"ਹੁਣੇ ਮੁੜ-ਸੈੱਟ ਕਰੋ"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"ਇਸ ਡੀਵਾਈਸ ਨੂੰ ਬਿਨਾਂ ਪਾਬੰਦੀਆਂ ਦੇ ਵਰਤਣ ਲਈ ਫੈਕਟਰੀ ਰੀਸੈੱਟ ਕਰੋ"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"ਹੋਰ ਜਾਣਨ ਲਈ ਸਪਰਸ਼ ਕਰੋ।"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-pl-watch/styles_material.xml b/core/res/res/values-pl-watch/styles_material.xml
new file mode 100644
index 0000000..384d91c
--- /dev/null
+++ b/core/res/res/values-pl-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"elementy"</font></string>
+</resources>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index 680e53d..5db71a3 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -1061,6 +1061,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Skala"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Zawsze pokazuj"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Włącz ponownie, wybierając Ustawienia systemowe &gt; Aplikacje &gt; Pobrane."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> nie obsługuje obecnie ustawionego rozmiaru wyświetlacza i może działać niestabilnie."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Zawsze pokazuj"</string>
     <string name="smv_application" msgid="3307209192155442829">"Aplikacja <xliff:g id="APPLICATION">%1$s</xliff:g> (proces <xliff:g id="PROCESS">%2$s</xliff:g>) naruszyła wymuszone przez siebie zasady StrictMode."</string>
     <string name="smv_process" msgid="5120397012047462446">"Proces <xliff:g id="PROCESS">%1$s</xliff:g> naruszył wymuszone przez siebie zasady StrictMode."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android jest uaktualniany..."</string>
@@ -1721,10 +1723,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Odepnij"</string>
     <string name="app_info" msgid="6856026610594615344">"O aplikacji"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Ponowne rozpoczęcie sesji"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Kliknij, by rozpocząć nową sesję demonstracyjną"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Rozpoczynam demonstrację"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Uruchamiam ponownie sesję"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Zresetować urządzenie?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Kliknij, by zresetować urządzenie"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Uruchamiam tryb demo…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Resetuję urządzenie…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Zresetować urządzenie?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Anuluj"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Resetuj teraz"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Aby używać tego urządzenia bez ograniczeń, przywróć ustawienia fabryczne"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Kliknij, by dowiedzieć się więcej."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Wyłączono: <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-pt-rBR-watch/styles_material.xml b/core/res/res/values-pt-rBR-watch/styles_material.xml
new file mode 100644
index 0000000..898d2fd
--- /dev/null
+++ b/core/res/res/values-pt-rBR-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidatos"</font></string>
+</resources>
diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml
index 18c6d3e..4ed69bc 100644
--- a/core/res/res/values-pt-rBR/strings.xml
+++ b/core/res/res/values-pt-rBR/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Escala"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Mostrar sempre"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Reativar isso em Configurações do sistema &gt; Apps &gt; Transferidos."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> não é compatível com a configuração atual de tamanho de exibição e pode se comportar de forma inesperada."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Mostrar sempre"</string>
     <string name="smv_application" msgid="3307209192155442829">"O app <xliff:g id="APPLICATION">%1$s</xliff:g>, processo <xliff:g id="PROCESS">%2$s</xliff:g>, violou a política StrictMode imposta automaticamente."</string>
     <string name="smv_process" msgid="5120397012047462446">"O processo <xliff:g id="PROCESS">%1$s</xliff:g> violou a política StrictMode imposta automaticamente."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"O Android está sendo atualizado..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Liberar guia"</string>
     <string name="app_info" msgid="6856026610594615344">"Informações do app"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Reiniciar sessão"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Toque para iniciar uma nova sessão de demonstração"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Iniciando demonstração"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Reiniciando sessão"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Redefinir dispositivo?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Toque para redefinir o dispositivo"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Iniciando demonstração…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Redefinindo dispositivo…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Redefinir dispositivo?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancelar"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Reiniciar agora"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Redefinir para a configuração original para usar este dispositivo sem restrições"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Toque para saber mais."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Widget <xliff:g id="LABEL">%1$s</xliff:g> desativado"</string>
diff --git a/core/res/res/values-pt-rPT-watch/styles_material.xml b/core/res/res/values-pt-rPT-watch/styles_material.xml
new file mode 100644
index 0000000..898d2fd
--- /dev/null
+++ b/core/res/res/values-pt-rPT-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidatos"</font></string>
+</resources>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index b5d87f7..0c7fa1c 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -245,19 +245,19 @@
     <string name="permgrouplab_contacts" msgid="3657758145679177612">"Contactos"</string>
     <string name="permgroupdesc_contacts" msgid="6951499528303668046">"aceder aos contactos"</string>
     <string name="permgrouplab_location" msgid="7275582855722310164">"Localização"</string>
-    <string name="permgroupdesc_location" msgid="1346617465127855033">"aceda à localização do seu dispositivo"</string>
+    <string name="permgroupdesc_location" msgid="1346617465127855033">"aceder à localização do seu dispositivo"</string>
     <string name="permgrouplab_calendar" msgid="5863508437783683902">"Calendário"</string>
-    <string name="permgroupdesc_calendar" msgid="3889615280211184106">"aceda ao calendário"</string>
+    <string name="permgroupdesc_calendar" msgid="3889615280211184106">"aceder ao calendário"</string>
     <string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string>
-    <string name="permgroupdesc_sms" msgid="4656988620100940350">"envie e veja mensagens SMS"</string>
+    <string name="permgroupdesc_sms" msgid="4656988620100940350">"enviar e ver mensagens SMS"</string>
     <string name="permgrouplab_storage" msgid="1971118770546336966">"Armazenamento"</string>
-    <string name="permgroupdesc_storage" msgid="637758554581589203">"aceda a fotos, multimédia e ficheiros no dispositivo"</string>
+    <string name="permgroupdesc_storage" msgid="637758554581589203">"aceder a fotos, multimédia e ficheiros no dispositivo"</string>
     <string name="permgrouplab_microphone" msgid="171539900250043464">"Microfone"</string>
     <string name="permgroupdesc_microphone" msgid="4988812113943554584">"gravar áudio"</string>
     <string name="permgrouplab_camera" msgid="4820372495894586615">"Câmara"</string>
     <string name="permgroupdesc_camera" msgid="3250611594678347720">"tirar fotografias e gravar vídeos"</string>
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telemóvel"</string>
-    <string name="permgroupdesc_phone" msgid="6234224354060641055">"faça e gira chamadas"</string>
+    <string name="permgroupdesc_phone" msgid="6234224354060641055">"fazer e gerir chamadas"</string>
     <string name="permgrouplab_sensors" msgid="416037179223226722">"Sensores de corpo"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"aceder a dados do sensor acerca dos seus sinais vitais"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Obter conteúdo da janela"</string>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Escala"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Mostrar sempre"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Reative este modo nas Definições do Sistema &gt; Aplicações &gt; Transferidas."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> não suporta a definição de Tamanho do ecrã atual e pode ter um comportamento inesperado."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Mostrar sempre"</string>
     <string name="smv_application" msgid="3307209192155442829">"A aplicação <xliff:g id="APPLICATION">%1$s</xliff:g> (processo <xliff:g id="PROCESS">%2$s</xliff:g>) violou a política StrictMode auto-imposta."</string>
     <string name="smv_process" msgid="5120397012047462446">"O processo <xliff:g id="PROCESS">%1$s</xliff:g> violou a política StrictMode auto-imposta."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"O Android está a ser atualizado..."</string>
@@ -1314,7 +1316,7 @@
     <string name="storage_usb" msgid="3017954059538517278">"Armazenamento USB"</string>
     <string name="extract_edit_menu_button" msgid="8940478730496610137">"Editar"</string>
     <string name="data_usage_warning_title" msgid="1955638862122232342">"Aviso de utilização de dados"</string>
-    <string name="data_usage_warning_body" msgid="6660692274311972007">"Toque para ver a utiliz. e def."</string>
+    <string name="data_usage_warning_body" msgid="6660692274311972007">"Toque para ver a utilização e definições"</string>
     <string name="data_usage_3g_limit_title" msgid="4361523876818447683">"Limite de dados 2G/3G atingido"</string>
     <string name="data_usage_4g_limit_title" msgid="4609566827219442376">"Limite de dados 4G atingido"</string>
     <string name="data_usage_mobile_limit_title" msgid="557158376602636112">"Limite de dados móveis atingido"</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Soltar"</string>
     <string name="app_info" msgid="6856026610594615344">"Informações da aplicação"</string>
     <string name="negative_duration" msgid="5688706061127375131">"-<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Reiniciar sessão"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Toque para iniciar uma nova sessão de demonstração"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"A iniciar a demonstração"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"A reiniciar a sessão"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Pretende repor o dispositivo?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Toque para repor o dispositivo"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"A iniciar a demonstração…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"A repor o dispositivo…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Pretende repor o dispositivo?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancelar"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Repor agora"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Repor os dados de fábrica para utilizar o dispositivo sem restrições"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Toque para saber mais."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> desativado"</string>
diff --git a/core/res/res/values-pt-watch/styles_material.xml b/core/res/res/values-pt-watch/styles_material.xml
new file mode 100644
index 0000000..898d2fd
--- /dev/null
+++ b/core/res/res/values-pt-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidatos"</font></string>
+</resources>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 18c6d3e..4ed69bc 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Escala"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Mostrar sempre"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Reativar isso em Configurações do sistema &gt; Apps &gt; Transferidos."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> não é compatível com a configuração atual de tamanho de exibição e pode se comportar de forma inesperada."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Mostrar sempre"</string>
     <string name="smv_application" msgid="3307209192155442829">"O app <xliff:g id="APPLICATION">%1$s</xliff:g>, processo <xliff:g id="PROCESS">%2$s</xliff:g>, violou a política StrictMode imposta automaticamente."</string>
     <string name="smv_process" msgid="5120397012047462446">"O processo <xliff:g id="PROCESS">%1$s</xliff:g> violou a política StrictMode imposta automaticamente."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"O Android está sendo atualizado..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Liberar guia"</string>
     <string name="app_info" msgid="6856026610594615344">"Informações do app"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Reiniciar sessão"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Toque para iniciar uma nova sessão de demonstração"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Iniciando demonstração"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Reiniciando sessão"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Redefinir dispositivo?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Toque para redefinir o dispositivo"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Iniciando demonstração…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Redefinindo dispositivo…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Redefinir dispositivo?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Cancelar"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Reiniciar agora"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Redefinir para a configuração original para usar este dispositivo sem restrições"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Toque para saber mais."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Widget <xliff:g id="LABEL">%1$s</xliff:g> desativado"</string>
diff --git a/core/res/res/values-ro-watch/styles_material.xml b/core/res/res/values-ro-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-ro-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index 947bb1a..cda2482 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -20,7 +20,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="byteShort" msgid="8340973892742019101">"O"</string>
+    <string name="byteShort" msgid="8340973892742019101">"B"</string>
     <string name="kilobyteShort" msgid="5973789783504771878">"KB"</string>
     <string name="megabyteShort" msgid="6355851576770428922">"MB"</string>
     <string name="gigabyteShort" msgid="3259882455212193214">"GB"</string>
@@ -867,9 +867,9 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"acum"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> min.</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> min.</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> min.</item>
+      <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> min</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> min</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> min</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
       <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> h</item>
@@ -878,33 +878,33 @@
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
       <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> zile</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> de zile</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> zile</item>
       <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> zi</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
       <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> ani</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> de ani</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ani</item>
       <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> an</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="few">peste <xliff:g id="COUNT_1">%d</xliff:g> min.</item>
-      <item quantity="other">peste <xliff:g id="COUNT_1">%d</xliff:g> min.</item>
-      <item quantity="one">peste <xliff:g id="COUNT_0">%d</xliff:g> min.</item>
+      <item quantity="few">în <xliff:g id="COUNT_1">%d</xliff:g> min</item>
+      <item quantity="other">în <xliff:g id="COUNT_1">%d</xliff:g> min</item>
+      <item quantity="one">în <xliff:g id="COUNT_0">%d</xliff:g> min.</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="few">peste <xliff:g id="COUNT_1">%d</xliff:g> h</item>
-      <item quantity="other">peste <xliff:g id="COUNT_1">%d</xliff:g> h</item>
-      <item quantity="one">peste <xliff:g id="COUNT_0">%d</xliff:g> h</item>
+      <item quantity="few">în <xliff:g id="COUNT_1">%d</xliff:g> h</item>
+      <item quantity="other">în <xliff:g id="COUNT_1">%d</xliff:g> h</item>
+      <item quantity="one">în <xliff:g id="COUNT_0">%d</xliff:g> h</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="few">peste <xliff:g id="COUNT_1">%d</xliff:g> zile</item>
-      <item quantity="other">peste <xliff:g id="COUNT_1">%d</xliff:g> de zile</item>
-      <item quantity="one">peste <xliff:g id="COUNT_0">%d</xliff:g> zi</item>
+      <item quantity="few">în <xliff:g id="COUNT_1">%d</xliff:g> zile</item>
+      <item quantity="other">în <xliff:g id="COUNT_1">%d</xliff:g> zile</item>
+      <item quantity="one">în <xliff:g id="COUNT_0">%d</xliff:g> zi</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="few">peste <xliff:g id="COUNT_1">%d</xliff:g> ani</item>
-      <item quantity="other">peste <xliff:g id="COUNT_1">%d</xliff:g> de ani</item>
-      <item quantity="one">peste <xliff:g id="COUNT_0">%d</xliff:g> an</item>
+      <item quantity="few">în <xliff:g id="COUNT_1">%d</xliff:g> ani</item>
+      <item quantity="other">în <xliff:g id="COUNT_1">%d</xliff:g> ani</item>
+      <item quantity="one">în <xliff:g id="COUNT_0">%d</xliff:g> an</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="few">acum <xliff:g id="COUNT_1">%d</xliff:g> minute</item>
@@ -1038,6 +1038,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Scară"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Afișați întotdeauna"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Reactivați acest mod din Setări de sistem &gt; Aplicații &gt; Descărcate."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> nu acceptă setarea actuală pentru Dimensiunea afișării și este posibil să aibă un comportament neașteptat."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Afișează întotdeauna"</string>
     <string name="smv_application" msgid="3307209192155442829">"Aplicația <xliff:g id="APPLICATION">%1$s</xliff:g> (procesul <xliff:g id="PROCESS">%2$s</xliff:g>) a încălcat propria politică StrictMode."</string>
     <string name="smv_process" msgid="5120397012047462446">"Procesul <xliff:g id="PROCESS">%1$s</xliff:g> a încălcat propria politică StrictMode."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android trece la o versiune superioară..."</string>
@@ -1685,10 +1687,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Anulați fixarea"</string>
     <string name="app_info" msgid="6856026610594615344">"Informații despre aplicație"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Reporniți sesiunea"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Atingeți pentru a începe o nouă sesiune demonstrativă"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Se pornește versiunea demonstrativă"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Se repornește sesiunea"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Resetați dispozitivul?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Atingeți pentru a reseta dispozitivul"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Se pornește demonstrația…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Se resetează dispozitivul…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Resetați dispozitivul?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Anulați"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Resetați acum"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Reveniți la setările din fabrică pentru a folosi acest dispozitiv fără restricții"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Atingeți pentru a afla mai multe."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> a fost dezactivat"</string>
diff --git a/core/res/res/values-round-watch/config_material.xml b/core/res/res/values-round-watch/config_material.xml
new file mode 100644
index 0000000..bf445ef
--- /dev/null
+++ b/core/res/res/values-round-watch/config_material.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for watch products.  Do not translate. -->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- Don't clip on round screens so the list can scroll past the rounded edges. -->
+    <bool name="config_preferenceFragmentClipToPadding">false</bool>
+</resources>
diff --git a/core/res/res/values-round-watch/dimens_material.xml b/core/res/res/values-round-watch/dimens_material.xml
new file mode 100644
index 0000000..a417d19
--- /dev/null
+++ b/core/res/res/values-round-watch/dimens_material.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<resources>
+    <dimen name="dialog_padding_material">32dp</dimen>
+    <dimen name="preference_fragment_padding_vertical_material">22dp</dimen>
+
+    <dimen name="list_item_padding_horizontal_material">32dp</dimen>
+    <dimen name="list_item_padding_start_material">40dp</dimen>
+    <dimen name="list_item_padding_end_material">24dp</dimen>
+</resources>
diff --git a/core/res/res/values-round-watch/styles_material.xml b/core/res/res/values-round-watch/styles_material.xml
new file mode 100644
index 0000000..a2f3c02
--- /dev/null
+++ b/core/res/res/values-round-watch/styles_material.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 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.
+-->
+<resources>
+    <style name="TextAppearance.Material.AlertDialogMessage" parent="TextAppearance.Material.Body1">
+        <item name="textAlignment">center</item>
+    </style>
+</resources>
diff --git a/core/res/res/values-round/dimens_micro.xml b/core/res/res/values-round/dimens_micro.xml
deleted file mode 100644
index 8dbc905..0000000
--- a/core/res/res/values-round/dimens_micro.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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.
--->
-<resources>
-    <dimen name="dialog_padding_micro">32dp</dimen>
-    <dimen name="list_item_padding_left_micro">40dp</dimen>
-    <dimen name="list_item_padding_right_micro">24dp</dimen>
-</resources>
diff --git a/core/res/res/values-round/styles_micro.xml b/core/res/res/values-round/styles_micro.xml
deleted file mode 100644
index f19adde..0000000
--- a/core/res/res/values-round/styles_micro.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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.
--->
-<resources>
-    <style name="TextAppearance.Micro.AlertDialog.Message" parent="TextAppearance.Micro.Small">
-        <item name="textAlignment">center</item>
-    </style>
-    <style name="PreferenceFragment.Micro" parent="PreferenceFragment.Material">
-        <item name="paddingTop">22dp</item>
-        <item name="paddingBottom">22dp</item>
-        <item name="clipToPadding">false</item>
-    </style>
-    <style name="PreferenceFragmentList.Micro" parent="PreferenceFragmentList.Material">
-        <item name="paddingTop">22dp</item>
-        <item name="paddingBottom">22dp</item>
-    </style>
-</resources>
diff --git a/core/res/res/values-ru-watch/styles_material.xml b/core/res/res/values-ru-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-ru-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index 16c5752..a8f1a18 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -1061,6 +1061,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Масштаб"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Всегда показывать"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Включить эту функцию можно в меню \"Настройки &gt; Приложения &gt; Загруженные\"."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"Приложение \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" не поддерживает выбранный масштаб изображения на экране и может работать некорректно."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Всегда показывать"</string>
     <string name="smv_application" msgid="3307209192155442829">"Приложение \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" (процесс: <xliff:g id="PROCESS">%2$s</xliff:g>) нарушило собственную политику StrictMode."</string>
     <string name="smv_process" msgid="5120397012047462446">"Процесс <xliff:g id="PROCESS">%1$s</xliff:g> нарушил собственную политику StrictMode."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Обновление Android..."</string>
@@ -1721,10 +1723,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Открепить"</string>
     <string name="app_info" msgid="6856026610594615344">"О приложении"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Начните сеанс заново"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Нажмите, чтобы начать новый демосеанс."</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Запуск деморежима"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Повтор сеанса"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Сбросить настройки устройства?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Нажмите здесь, чтобы сбросить настройки"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Запуск деморежима…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Сброс настроек…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Сбросить настройки устройства?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Отмена"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Сбросить"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Сброс до заводских настроек для работы без ограничений"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Нажмите, чтобы узнать больше."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Виджет <xliff:g id="LABEL">%1$s</xliff:g> отключен"</string>
diff --git a/core/res/res/values-si-rLK-watch/styles_material.xml b/core/res/res/values-si-rLK-watch/styles_material.xml
new file mode 100644
index 0000000..37b4afe
--- /dev/null
+++ b/core/res/res/values-si-rLK-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"අපේක්ෂකයන්"</font></string>
+</resources>
diff --git a/core/res/res/values-si-rLK/strings.xml b/core/res/res/values-si-rLK/strings.xml
index b406c34..0282266 100644
--- a/core/res/res/values-si-rLK/strings.xml
+++ b/core/res/res/values-si-rLK/strings.xml
@@ -862,36 +862,36 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"දැන්"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="one">මි <xliff:g id="COUNT_1">%d</xliff:g></item>
-      <item quantity="other">මි <xliff:g id="COUNT_1">%d</xliff:g></item>
+      <item quantity="one">මි<xliff:g id="COUNT_1">%d</xliff:g></item>
+      <item quantity="other">මි<xliff:g id="COUNT_1">%d</xliff:g></item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="one">පැ <xliff:g id="COUNT_1">%d</xliff:g></item>
-      <item quantity="other">පැ <xliff:g id="COUNT_1">%d</xliff:g></item>
+      <item quantity="one">පැ<xliff:g id="COUNT_1">%d</xliff:g></item>
+      <item quantity="other">පැ<xliff:g id="COUNT_1">%d</xliff:g></item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
       <item quantity="one">දි <xliff:g id="COUNT_1">%d</xliff:g></item>
-      <item quantity="other">දි <xliff:g id="COUNT_1">%d</xliff:g></item>
+      <item quantity="other">දි<xliff:g id="COUNT_1">%d</xliff:g></item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
       <item quantity="one">ව <xliff:g id="COUNT_1">%d</xliff:g></item>
       <item quantity="other">ව <xliff:g id="COUNT_1">%d</xliff:g></item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="one">මි <xliff:g id="COUNT_1">%d</xliff:g>කදී</item>
-      <item quantity="other">මි <xliff:g id="COUNT_1">%d</xliff:g>කදී</item>
+      <item quantity="one">මි<xliff:g id="COUNT_1">%d</xliff:g>කදී</item>
+      <item quantity="other">මි<xliff:g id="COUNT_1">%d</xliff:g>කදී</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="one">පැ <xliff:g id="COUNT_1">%d</xliff:g>කදී</item>
-      <item quantity="other">පැ <xliff:g id="COUNT_1">%d</xliff:g>කදී</item>
+      <item quantity="one">පැ<xliff:g id="COUNT_1">%d</xliff:g>කදී</item>
+      <item quantity="other">පැ<xliff:g id="COUNT_1">%d</xliff:g>කදී</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="one">දි <xliff:g id="COUNT_1">%d</xliff:g>කදී</item>
-      <item quantity="other">දි <xliff:g id="COUNT_1">%d</xliff:g>කදී</item>
+      <item quantity="one">දි<xliff:g id="COUNT_1">%d</xliff:g>කදී</item>
+      <item quantity="other">දි<xliff:g id="COUNT_1">%d</xliff:g>කදී</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="one">ව <xliff:g id="COUNT_1">%d</xliff:g>කදී</item>
-      <item quantity="other">ව <xliff:g id="COUNT_1">%d</xliff:g>කදී</item>
+      <item quantity="one">ව<xliff:g id="COUNT_1">%d</xliff:g>කදී</item>
+      <item quantity="other">ව<xliff:g id="COUNT_1">%d</xliff:g>කදී</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="one">මිනිත්තු <xliff:g id="COUNT_1">%d</xliff:g>කට පෙර</item>
@@ -1017,6 +1017,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"පරිමාණය"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"සැමවිටම පෙන්වන්න"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"පද්ධති සැකසීම් තුළ මෙය නැවත ක්‍රියාත්මක කරන්න &gt; යෙදුම් &gt; බාගන්නා ලදි."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> වත්මන් සංදර්ශක තරම සඳහා සහාය නොදක්වන අතර අනපේක්ෂිත ලෙස හැසිරීමට හැකිය."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"සැම විටම පෙන්වන්න"</string>
     <string name="smv_application" msgid="3307209192155442829">"<xliff:g id="APPLICATION">%1$s</xliff:g> යෙදුම (<xliff:g id="PROCESS">%2$s</xliff:g> ක්‍රියාවලිය) එහි StrictMode කොන්දේසිය උල්ලංඝනය කර ඇත."</string>
     <string name="smv_process" msgid="5120397012047462446">"<xliff:g id="PROCESS">%1$s</xliff:g> ක්‍රියාවලිය එහි StrictMode කොන්දේසිය උල්ලංඝනය කර ඇත."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android උත්ශ්‍රේණි වෙමින් පවතී..."</string>
@@ -1651,10 +1653,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"ගලවන්න"</string>
     <string name="app_info" msgid="6856026610594615344">"යෙදුම් තොරතුරු"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"සැසිය ආරම්භ කරන්න"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"නව ආදර්ශ සැසියක් ආරම්භ කිරීම තට්ටු කරන්න"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"ආදර්ශනය ආරම්භ කරමින්"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"සැසිය නැවත ආරම්භ කරමින්"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"උපාංගය යළි සකසන්නද?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"උපාංගය යළි සැකසීමට තට්ටු කරන්න"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"ආදර්ශනය ආරම්භ කරමින්..."</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"උපාංගය යළි සකසමින්..."</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"උපාංගය යළි සකසන්නද?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"අවලංගු කරන්න"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"දැන් යළි සකසන්න"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"සීමා කිරීම්වලින් තොරව මෙම උපාංගය භාවිත කිරීමට කර්මාන්ත ශාලා යළි සැකසීම"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"තව දැන ගැනීමට ස්පර්ශ කරන්න."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"අබල කළ <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-sk-watch/styles_material.xml b/core/res/res/values-sk-watch/styles_material.xml
new file mode 100644
index 0000000..5b604e8
--- /dev/null
+++ b/core/res/res/values-sk-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"kandidáti"</font></string>
+</resources>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index 89d762c..146c650 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -1061,6 +1061,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Prispôsobiť veľkosť"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Vždy zobraziť"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Povoľte to znova v sekcii Nastavenia systému &gt; Aplikácie &gt; Stiahnuté súbory."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"Aplikácia <xliff:g id="APP_NAME">%1$s</xliff:g> aktuálne nastavenie veľkosti zobrazenia nepodporuje a môže sa správať neočakávane."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Vždy zobrazovať"</string>
     <string name="smv_application" msgid="3307209192155442829">"Aplikácia <xliff:g id="APPLICATION">%1$s</xliff:g> (proces <xliff:g id="PROCESS">%2$s</xliff:g>) porušila svoje vlastné vynútené pravidlá StrictMode."</string>
     <string name="smv_process" msgid="5120397012047462446">"Proces <xliff:g id="PROCESS">%1$s</xliff:g> porušil svoje vlastné vynútené pravidlá StrictMode."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Prebieha inovácia systému Android..."</string>
@@ -1721,10 +1723,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Uvoľniť"</string>
     <string name="app_info" msgid="6856026610594615344">"Info o aplikácii"</string>
     <string name="negative_duration" msgid="5688706061127375131">"-<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Reštartujte reláciu"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Klepnutím začnete novú demo reláciu"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Spúšťa sa ukážka"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Reštartuje sa relácia"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Resetovať zariadenie?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Klepnutím resetujete zariadenie"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Spúšťa sa ukážka…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Resetuje sa zariadenie…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Resetovať zariadenie?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Zrušiť"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Resetovať"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Ak chcete toto zariadenie používať bez obmedzení, obnovte na ňom továrenské nastavenia"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Klepnutím získate ďalšie informácie."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Deaktivovaná miniaplikácia <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-sl-watch/styles_material.xml b/core/res/res/values-sl-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-sl-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index bc7637f..8fbeec4 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -561,7 +561,7 @@
     <item msgid="9192514806975898961">"Po meri"</item>
   </string-array>
   <string-array name="emailAddressTypes">
-    <item msgid="8073994352956129127">"Doma"</item>
+    <item msgid="8073994352956129127">"Dom"</item>
     <item msgid="7084237356602625604">"Služba"</item>
     <item msgid="1112044410659011023">"Drugo"</item>
     <item msgid="2374913952870110618">"Po meri"</item>
@@ -573,7 +573,7 @@
     <item msgid="4932682847595299369">"Po meri"</item>
   </string-array>
   <string-array name="imAddressTypes">
-    <item msgid="1738585194601476694">"Začetna stran"</item>
+    <item msgid="1738585194601476694">"Dom"</item>
     <item msgid="1359644565647383708">"Služba"</item>
     <item msgid="7868549401053615677">"Drugo"</item>
     <item msgid="3145118944639869809">"Po meri"</item>
@@ -628,7 +628,7 @@
     <string name="postalTypeWork" msgid="5268172772387694495">"Služba"</string>
     <string name="postalTypeOther" msgid="2726111966623584341">"Drugo"</string>
     <string name="imTypeCustom" msgid="2074028755527826046">"Po meri"</string>
-    <string name="imTypeHome" msgid="6241181032954263892">"Začetna stran"</string>
+    <string name="imTypeHome" msgid="6241181032954263892">"Dom"</string>
     <string name="imTypeWork" msgid="1371489290242433090">"Služba"</string>
     <string name="imTypeOther" msgid="5377007495735915478">"Drugo"</string>
     <string name="imProtocolCustom" msgid="6919453836618749992">"Po meri"</string>
@@ -660,7 +660,7 @@
     <string name="relationTypeSister" msgid="1735983554479076481">"Sestra"</string>
     <string name="relationTypeSpouse" msgid="394136939428698117">"Zakonski partner"</string>
     <string name="sipAddressTypeCustom" msgid="2473580593111590945">"Po meri"</string>
-    <string name="sipAddressTypeHome" msgid="6093598181069359295">"Domov"</string>
+    <string name="sipAddressTypeHome" msgid="6093598181069359295">"Dom"</string>
     <string name="sipAddressTypeWork" msgid="6920725730797099047">"Služba"</string>
     <string name="sipAddressTypeOther" msgid="4408436162950119849">"Drugo"</string>
     <string name="quick_contacts_not_available" msgid="746098007828579688">"Ni aplikacije za ogled tega stika."</string>
@@ -1061,6 +1061,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Lestvica"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Vedno pokaži"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Znova omogočite to v sistemskih nastavitvah &gt; Aplikacije &gt; Preneseno."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> ne podpira trenutne nastavitve velikosti zaslona, kar lahko vodi v nepričakovano delovanje."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Vedno pokaži"</string>
     <string name="smv_application" msgid="3307209192155442829">"Aplikacija <xliff:g id="APPLICATION">%1$s</xliff:g> (proces <xliff:g id="PROCESS">%2$s</xliff:g>) krši svoj samouveljavljiv pravilnik o strogem načinu."</string>
     <string name="smv_process" msgid="5120397012047462446">"Proces <xliff:g id="PROCESS">%1$s</xliff:g> krši svoj samoizvedljivi pravilnik o strogem načinu."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Poteka nadgradnja Androida ..."</string>
@@ -1721,10 +1723,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Odpenjanje"</string>
     <string name="app_info" msgid="6856026610594615344">"Podatki o aplikaciji"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Vnovični zagon seje"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Dotaknite se, če želite začeti novo predstavitveno sejo"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Začenjanje predstavitve"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Vnovičen zagon seje"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Želite ponastaviti napravo?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Dotaknite se, če želite ponastaviti napravo"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Začenjanje predstavitve …"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Ponastavljanje naprave …"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Želite ponastaviti napravo?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Prekliči"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Ponastavi"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Ponastavitev naprave na tovarniške nastavitve za uporabo brez omejitev"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Dotaknite se, če želite izvedeti več."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> – onemogočeno"</string>
diff --git a/core/res/res/values-sq-rAL-watch/styles_material.xml b/core/res/res/values-sq-rAL-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-sq-rAL-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-sq-rAL/strings.xml b/core/res/res/values-sq-rAL/strings.xml
index 06c0d74..0fbb11b 100644
--- a/core/res/res/values-sq-rAL/strings.xml
+++ b/core/res/res/values-sq-rAL/strings.xml
@@ -860,36 +860,36 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"tani"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> min</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> min</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>m</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>m</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> orë</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> orë</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>o</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>o</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ditë</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> ditë</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>d</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>d</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> vite</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> vit</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>v</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>v</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="other">në <xliff:g id="COUNT_1">%d</xliff:g> min</item>
-      <item quantity="one">në <xliff:g id="COUNT_0">%d</xliff:g> min</item>
+      <item quantity="other">në <xliff:g id="COUNT_1">%d</xliff:g>m</item>
+      <item quantity="one">në <xliff:g id="COUNT_0">%d</xliff:g>m</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="other">në <xliff:g id="COUNT_1">%d</xliff:g> orë</item>
-      <item quantity="one">në <xliff:g id="COUNT_0">%d</xliff:g> orë</item>
+      <item quantity="other">në <xliff:g id="COUNT_1">%d</xliff:g>o</item>
+      <item quantity="one">në <xliff:g id="COUNT_0">%d</xliff:g>o</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="other">në <xliff:g id="COUNT_1">%d</xliff:g> ditë</item>
-      <item quantity="one">në <xliff:g id="COUNT_0">%d</xliff:g> ditë</item>
+      <item quantity="other">në <xliff:g id="COUNT_1">%d</xliff:g>d</item>
+      <item quantity="one">në <xliff:g id="COUNT_0">%d</xliff:g>d</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="other">në <xliff:g id="COUNT_1">%d</xliff:g> vite</item>
-      <item quantity="one">në <xliff:g id="COUNT_0">%d</xliff:g> vit</item>
+      <item quantity="other">në <xliff:g id="COUNT_1">%d</xliff:g>v</item>
+      <item quantity="one">në <xliff:g id="COUNT_0">%d</xliff:g>v</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> minuta më parë</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Shkalla"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Shfaq gjithnjë"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Aktivizoje sërish këtë te \"Cilësimet e sistemit\" &gt; \"Aplikacionet\" &gt; \"Të shkarkuara\"."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> nuk mbështet cilësimin aktual të madhësisë së ekranit dhe mund të shfaqë sjellje të papritura."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Shfaq gjithmonë"</string>
     <string name="smv_application" msgid="3307209192155442829">"Aplikacioni <xliff:g id="APPLICATION">%1$s</xliff:g> (procesi <xliff:g id="PROCESS">%2$s</xliff:g>) ka shkelur politikën e tij të vetë-imponuar \"Modaliteti i ashpër\" (StrictMode)."</string>
     <string name="smv_process" msgid="5120397012047462446">"Procesi <xliff:g id="PROCESS">%1$s</xliff:g> ka shkelur politikën e tij të vetë-imponuar \"Modaliteti i rreptë\" (StrictMode)"</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"\"Androidi\" po përditësohet…"</string>
@@ -1193,8 +1195,7 @@
     <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"Lejon një aplikacion të lexojë sesionet e instalimit. Kjo e lejon atë të shohë detaje rreth instalimeve të paketave aktive."</string>
     <string name="permlab_requestInstallPackages" msgid="5782013576218172577">"kërko paketat e instalimit"</string>
     <string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"Lejon që një aplikacion të kërkojë instalimin e paketave."</string>
-    <!-- no translation found for tutorial_double_tap_to_zoom_message_short (1311810005957319690) -->
-    <skip />
+    <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"Trokit dy herë për të kontrolluar zmadhimin"</string>
     <string name="gadget_host_error_inflating" msgid="4882004314906466162">"Nuk mundi të shtonte miniaplikacion."</string>
     <string name="ime_action_go" msgid="8320845651737369027">"Shko"</string>
     <string name="ime_action_search" msgid="658110271822807811">"Kërko"</string>
@@ -1225,10 +1226,8 @@
     <string name="notification_ranker_binding_label" msgid="774540592299064747">"Shërbimi i klasifikimit të njoftimeve"</string>
     <string name="vpn_title" msgid="19615213552042827">"VPN-ja u aktivizua"</string>
     <string name="vpn_title_long" msgid="6400714798049252294">"VPN-ja është aktivizuar nga <xliff:g id="APP">%s</xliff:g>"</string>
-    <!-- no translation found for vpn_text (1610714069627824309) -->
-    <skip />
-    <!-- no translation found for vpn_text_long (4907843483284977618) -->
-    <skip />
+    <string name="vpn_text" msgid="1610714069627824309">"Trokit për të menaxhuar rrjetin."</string>
+    <string name="vpn_text_long" msgid="4907843483284977618">"Lidhur me <xliff:g id="SESSION">%s</xliff:g>. Trokit për të menaxhuar rrjetin."</string>
     <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Po lidh VPN-në për aktivizim të përhershëm…"</string>
     <string name="vpn_lockdown_connected" msgid="8202679674819213931">"VPN e lidhur në mënyrë të përhershme"</string>
     <string name="vpn_lockdown_error" msgid="6009249814034708175">"Gabimi VPN-je për aktivizimin e përhershëm"</string>
@@ -1652,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Zhgozhdo"</string>
     <string name="app_info" msgid="6856026610594615344">"Informacioni mbi aplikacionin"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Rinis sesionin"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Trokit për të nisur një sesion të ri të demonstrimit"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Demonstrimi po niset"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Sesioni po riniset"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Do ta rivendosësh pajisjen?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Trokit për ta rivendosur pajisjen"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Po nis demonstrimin..."</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Po rivendos pajisjen…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Do ta rivendosësh pajisjen?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Anulo"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Rivendos tani"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Rivendos cilësimet e fabrikës për ta përdorur këtë pajisje pa kufizime"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Prek për të mësuar më shumë."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> u çaktivizua"</string>
diff --git a/core/res/res/values-sr-watch/styles_material.xml b/core/res/res/values-sr-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-sr-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index 9b7f34d..d1a0fac 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -878,8 +878,8 @@
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
       <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> дан</item>
-      <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> дана</item>
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> дана</item>
+      <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> дан</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> дан</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
       <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> год</item>
@@ -898,8 +898,8 @@
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
       <item quantity="one">за <xliff:g id="COUNT_1">%d</xliff:g> дан</item>
-      <item quantity="few">за <xliff:g id="COUNT_1">%d</xliff:g> дана</item>
-      <item quantity="other">за <xliff:g id="COUNT_1">%d</xliff:g> дана</item>
+      <item quantity="few">за <xliff:g id="COUNT_1">%d</xliff:g> дан</item>
+      <item quantity="other">за <xliff:g id="COUNT_1">%d</xliff:g> дан</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
       <item quantity="one">за <xliff:g id="COUNT_1">%d</xliff:g> год</item>
@@ -1038,6 +1038,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Размера"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Увек приказуј"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Поново омогућите у менију Системска подешавања &gt; Апликације &gt; Преузето."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> не подржава тренутно подешавање величине приказа и може да се понаша неочекивано."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Увек приказуј"</string>
     <string name="smv_application" msgid="3307209192155442829">"Апликација <xliff:g id="APPLICATION">%1$s</xliff:g> (процес <xliff:g id="PROCESS">%2$s</xliff:g>) је прекршила самонаметнуте StrictMode смернице."</string>
     <string name="smv_process" msgid="5120397012047462446">"Процес <xliff:g id="PROCESS">%1$s</xliff:g> је прекршио самонаметнуте StrictMode смернице."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android се надограђује…"</string>
@@ -1685,10 +1687,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Откачи"</string>
     <string name="app_info" msgid="6856026610594615344">"Информације о апликацији"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Поново покрените сесију"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Додирните да бисте покренули нову сесију демонстрације"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Демонстрација се покреће"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Сесија се поново покреће"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Желите ли да ресетујете уређај?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Додирните да бисте ресетовали уређај"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Покрећемо демонстрацију..."</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Ресетујемо уређај..."</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Желите ли да ресетујете уређај?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Откажи"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Ресетуј"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Ресетујте уређај на фабричка подешавања да бисте га користили без ограничења"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Додирните да бисте сазнали више."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Виџет <xliff:g id="LABEL">%1$s</xliff:g> је онемогућен"</string>
diff --git a/core/res/res/values-sv-watch/styles_material.xml b/core/res/res/values-sv-watch/styles_material.xml
new file mode 100644
index 0000000..f2ab18a
--- /dev/null
+++ b/core/res/res/values-sv-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"kandidater"</font></string>
+</resources>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 2168d96d6..87f54bf 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Anpassning"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Visa alltid"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Aktivera detta igen i Systeminställningar &gt; Appar &gt; Hämtat."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> har inte stöd för den nuvarande inställningen för skärmstorlek och kanske inte fungerar som förväntat."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Visa alltid"</string>
     <string name="smv_application" msgid="3307209192155442829">"Appen <xliff:g id="APPLICATION">%1$s</xliff:g> (processen <xliff:g id="PROCESS">%2$s</xliff:g>) har brutit mot sin egen StrictMode-policy."</string>
     <string name="smv_process" msgid="5120397012047462446">"Processen <xliff:g id="PROCESS">%1$s</xliff:g> har brutit mot sin egen StrictMode-policy."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android uppgraderas ..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Lossa"</string>
     <string name="app_info" msgid="6856026610594615344">"Info om appen"</string>
     <string name="negative_duration" msgid="5688706061127375131">"-<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Starta om sessionen"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Tryck om du vill starta en ny demosession"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Demo startas"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Sessionen startas om"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Vill du återställa enheten?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Tryck om du vill återställa enheten"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Demo startas …"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Enheten återställs …"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Vill du återställa enheten?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Avbryt"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Återställ nu"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Återställ enheten till standardinställningarna om du vill använda den utan begränsningar"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Tryck här om du vill läsa mer."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> har inaktiverats"</string>
diff --git a/core/res/res/values-sw-watch/styles_material.xml b/core/res/res/values-sw-watch/styles_material.xml
new file mode 100644
index 0000000..01392b2
--- /dev/null
+++ b/core/res/res/values-sw-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"yanayopendekezwa"</font></string>
+</resources>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index 7e6f033..016b918 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -1013,6 +1013,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Kipimo"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Onyesha kila wakati"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Wezesha tena hii katika mipangilio ya Mfumo &gt; Programu &gt;  iliyopakuliwa."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> haiwezi kutumia mipangilio ya sasa ya ukubwa wa Skrini na huenda isifanye kazi vizuri."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Onyesha kila wakati"</string>
     <string name="smv_application" msgid="3307209192155442829">"Programu <xliff:g id="APPLICATION">%1$s</xliff:g>  (utaratibu  <xliff:g id="PROCESS">%2$s</xliff:g>) imeenda kinyume na sera yake ya StrictMode."</string>
     <string name="smv_process" msgid="5120397012047462446">"Shughuli ya <xliff:g id="PROCESS">%1$s</xliff:g> imeenda kinyume na kulazimisha sera yake ya StrictMode."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Toleo jipya la Android linawekwa..."</string>
@@ -1647,10 +1649,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Bandua"</string>
     <string name="app_info" msgid="6856026610594615344">"Maelezo ya programu"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Anzisha Kipindi Upya"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Gonga ili uanzishe kipindi kipya cha onyesho"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Inaanzisha onyesho"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Inaanzisha onyesho upya"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Ungependa kuweka upya mipangilio ya kifaa?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Gonga ili uweke upya kifaa"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Inaanzisha onyesho..."</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Inaweka upya kifaa..."</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Ungependa kuweka upya mipangilio ya kifaa?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Ghairi"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Weka upya sasa"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Rejesha mipangilio iliyotoka nayo kiwandani ili utumie kifaa hiki bila vikwazo"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Gusa ili kupata maelezo zaidi."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> imezimwa"</string>
diff --git a/core/res/res/values-ta-rIN-watch/styles_material.xml b/core/res/res/values-ta-rIN-watch/styles_material.xml
new file mode 100644
index 0000000..d4605e6
--- /dev/null
+++ b/core/res/res/values-ta-rIN-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"கேன்டிடேட்ஸ்"</font></string>
+</resources>
diff --git a/core/res/res/values-ta-rIN/strings.xml b/core/res/res/values-ta-rIN/strings.xml
index 03c3169..e039296 100644
--- a/core/res/res/values-ta-rIN/strings.xml
+++ b/core/res/res/values-ta-rIN/strings.xml
@@ -692,8 +692,8 @@
     <string name="lockscreen_transport_pause_description" msgid="3980308465056173363">"இடைநிறுத்து"</string>
     <string name="lockscreen_transport_play_description" msgid="1901258823643886401">"இயக்கு"</string>
     <string name="lockscreen_transport_stop_description" msgid="5907083260651210034">"நிறுத்து"</string>
-    <string name="lockscreen_transport_rew_description" msgid="6944412838651990410">"மீண்டும் காட்டு"</string>
-    <string name="lockscreen_transport_ffw_description" msgid="42987149870928985">"வேகமாக முன்செல்"</string>
+    <string name="lockscreen_transport_rew_description" msgid="6944412838651990410">"பின்னே செல்"</string>
+    <string name="lockscreen_transport_ffw_description" msgid="42987149870928985">"முன்னே செல்"</string>
     <string name="emergency_calls_only" msgid="6733978304386365407">"அவசர அழைப்புகள் மட்டும்"</string>
     <string name="lockscreen_network_locked_message" msgid="143389224986028501">"நெட்வொர்க் பூட்டப்பட்டது"</string>
     <string name="lockscreen_sim_puk_locked_message" msgid="7441797339976230">"சிம் கார்டு PUK பூட்டுதல் செய்யப்பட்டுள்ளது."</string>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"அளவு"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"எப்போதும் காட்டு"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"சிஸ்டம் அமைப்பு &gt; பயன்பாடுகள் &gt; பதிவிறக்கம் என்பதில் இதை மீண்டும் இயக்கவும்."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"தற்போதைய திரை அளவு அமைப்பை <xliff:g id="APP_NAME">%1$s</xliff:g> ஆதரிக்காததால், அது வழக்கத்திற்கு மாறாகச் செயல்படக்கூடும்."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"எப்போதும் காட்டு"</string>
     <string name="smv_application" msgid="3307209192155442829">"<xliff:g id="APPLICATION">%1$s</xliff:g> பயன்பாடு (செயல்முறை <xliff:g id="PROCESS">%2$s</xliff:g>), தனது சுய-செயலாக்க StrictMode கொள்கையை மீறியது."</string>
     <string name="smv_process" msgid="5120397012047462446">"<xliff:g id="PROCESS">%1$s</xliff:g> செயல்முறை, தனது சுய-செயலாக்க StrictMode கொள்கையை மீறியது."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android மேம்படுத்தப்படுகிறது…"</string>
@@ -1193,8 +1195,7 @@
     <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"நிறுவல் அமர்வுகளைப் படிக்க, பயன்பாட்டை அனுமதிக்கிறது. இது செயல்படும் தொகுப்பு நிறுவல்களைப் பற்றிய விவரங்களைப் பார்க்க அனுமதிக்கிறது."</string>
     <string name="permlab_requestInstallPackages" msgid="5782013576218172577">"நிறுவல் தொகுப்புகளைக் கோருதல்"</string>
     <string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"தொகுப்புகளின் நிறுவலைக் கோர, பயன்பாட்டை அனுமதிக்கும்."</string>
-    <!-- no translation found for tutorial_double_tap_to_zoom_message_short (1311810005957319690) -->
-    <skip />
+    <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"அளவை மாற்றுவதற்கான கட்டுப்பாட்டிற்கு, இருமுறை தட்டவும்"</string>
     <string name="gadget_host_error_inflating" msgid="4882004314906466162">"விட்ஜெட்டைச் சேர்க்க முடியவில்லை."</string>
     <string name="ime_action_go" msgid="8320845651737369027">"செல்"</string>
     <string name="ime_action_search" msgid="658110271822807811">"தேடு"</string>
@@ -1225,10 +1226,8 @@
     <string name="notification_ranker_binding_label" msgid="774540592299064747">"அறிவிப்பை மதிப்பீடு செய்யும் சேவை"</string>
     <string name="vpn_title" msgid="19615213552042827">"VPN செயல்படுத்தப்பட்டது"</string>
     <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> ஆல் VPN செயல்படுத்தப்பட்டது"</string>
-    <!-- no translation found for vpn_text (1610714069627824309) -->
-    <skip />
-    <!-- no translation found for vpn_text_long (4907843483284977618) -->
-    <skip />
+    <string name="vpn_text" msgid="1610714069627824309">"நெட்வொர்க்கை நிர்வகிக்க, தட்டவும்."</string>
+    <string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> உடன் இணைக்கப்பட்டது. நெட்வொர்க்கை நிர்வகிக்க, தட்டவும்."</string>
     <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"எப்போதும் இயங்கும் VPN உடன் இணைக்கிறது…"</string>
     <string name="vpn_lockdown_connected" msgid="8202679674819213931">"எப்போதும் இயங்கும் VPN இணைக்கப்பட்டது"</string>
     <string name="vpn_lockdown_error" msgid="6009249814034708175">"எப்போதும் இயங்கும் VPN பிழை"</string>
@@ -1652,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"பின்னை அகற்று"</string>
     <string name="app_info" msgid="6856026610594615344">"பயன்பாட்டுத் தகவல்"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"அமர்வை மீண்டும் தொடங்கு"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"புதிய டெமோ அமர்வைத் தொடங்க, தட்டவும்"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"டெமோவைத் தொடங்குகிறது"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"அமர்வை மீண்டும் தொடங்குகிறது"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"சாதனத்தை மீட்டமைக்கவா?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"சாதனத்தை மீட்டமைக்க, தட்டவும்"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"டெமோவைத் தொடங்குகிறது…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"சாதனத்தை மீட்டமைக்கிறது…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"சாதனத்தை மீட்டமைக்கவா?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"ரத்துசெய்"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"இப்போதே மீட்டமை"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"இந்தச் சாதனத்தைக் கட்டுப்பாடுகளின்றிப் பயன்படுத்த, ஆரம்ப நிலைக்கு மீட்டமைக்கவும்"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"மேலும் அறிய தொடவும்."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"முடக்கப்பட்டது: <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-te-rIN-watch/styles_material.xml b/core/res/res/values-te-rIN-watch/styles_material.xml
new file mode 100644
index 0000000..877cd58
--- /dev/null
+++ b/core/res/res/values-te-rIN-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"క్యాండిడేట్‌లు"</font></string>
+</resources>
diff --git a/core/res/res/values-te-rIN/strings.xml b/core/res/res/values-te-rIN/strings.xml
index 91976cc..fd7dec1 100644
--- a/core/res/res/values-te-rIN/strings.xml
+++ b/core/res/res/values-te-rIN/strings.xml
@@ -860,36 +860,36 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"ఇప్పుడు"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ని.</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> ని.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ని</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>ని</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> గం.</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> గం.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>గం</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>గం</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> రో.</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> రో.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>రో</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>రో</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> సం.</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> సం.</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>సం</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>సం</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ని.లో</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> ని.లో</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ని.లో</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>ని.లో</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> గం.లో</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> గం.లో</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>గంటల్లో</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>గంటలో</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> రో.లో</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> రో.లో</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>రోజుల్లో</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>రోజులో</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> సం.లో</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> సం.లో</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>సం.లో</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>సం.లో</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> నిమిషాల క్రితం</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"ప్రమాణం"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"ఎల్లప్పుడూ చూపు"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"సిస్టమ్ సెట్టింగ్‌లు &gt; అనువర్తనాలు &gt; డౌన్‌లోడ్ చేసినవిలో దీన్ని పునఃప్రారంభించండి."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> ప్రస్తుత ప్రదర్శన పరిమాణ సెట్టింగ్‌కు మద్దతు ఇవ్వదు, దీని వలన ఊహించని సమస్యలు తలెత్తవచ్చు."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"ఎల్లప్పుడూ చూపు"</string>
     <string name="smv_application" msgid="3307209192155442829">"<xliff:g id="APPLICATION">%1$s</xliff:g> అనువర్తనం (<xliff:g id="PROCESS">%2$s</xliff:g> ప్రాసెస్) అది స్వయంగా అమలు చేసే ఖచ్చితమైన మోడ్ విధానాన్ని ఉల్లంఘించింది."</string>
     <string name="smv_process" msgid="5120397012047462446">"ప్రక్రియ <xliff:g id="PROCESS">%1$s</xliff:g> అది స్వయంగా అమలు చేసే ఖచ్చితమైన మోడ్ విధానాన్ని ఉల్లంఘించింది."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android అప్‌గ్రేడ్ అవుతోంది…"</string>
@@ -1193,8 +1195,7 @@
     <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"ఇన్‌స్టాల్ సెషన్‌లను చదవడానికి అనువర్తనాన్ని అనుమతిస్తుంది. ఇది సక్రియ ప్యాకేజీ ఇన్‌స్టాలేషన్‌ల గురించి వివరాలను చూడటానికి అనువర్తనాన్ని అనుమతిస్తుంది."</string>
     <string name="permlab_requestInstallPackages" msgid="5782013576218172577">"ఇన్‌స్టాల్ ప్యాకేజీలను అభ్యర్థించడం"</string>
     <string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"ప్యాకేజీల ఇన్‌స్టాలేషన్ అభ్యర్థించడానికి అనువర్తనాన్ని అనుమతిస్తుంది."</string>
-    <!-- no translation found for tutorial_double_tap_to_zoom_message_short (1311810005957319690) -->
-    <skip />
+    <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"జూమ్ నియంత్రణ కోసం రెండుసార్లు నొక్కండి"</string>
     <string name="gadget_host_error_inflating" msgid="4882004314906466162">"విడ్జెట్‌ను జోడించడం సాధ్యపడలేదు."</string>
     <string name="ime_action_go" msgid="8320845651737369027">"వెళ్లు"</string>
     <string name="ime_action_search" msgid="658110271822807811">"శోధించు"</string>
@@ -1225,10 +1226,8 @@
     <string name="notification_ranker_binding_label" msgid="774540592299064747">"నోటిఫికేషన్ ర్యాంకర్ సేవ"</string>
     <string name="vpn_title" msgid="19615213552042827">"VPN సక్రియం చేయబడింది"</string>
     <string name="vpn_title_long" msgid="6400714798049252294">"<xliff:g id="APP">%s</xliff:g> ద్వారా VPN సక్రియం చేయబడింది"</string>
-    <!-- no translation found for vpn_text (1610714069627824309) -->
-    <skip />
-    <!-- no translation found for vpn_text_long (4907843483284977618) -->
-    <skip />
+    <string name="vpn_text" msgid="1610714069627824309">"నెట్‌వర్క్‌ను నిర్వహించడానికి నొక్కండి."</string>
+    <string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g>కు కనెక్ట్ చేయబడింది. నెట్‌వర్క్‌ను నిర్వహించడానికి నొక్కండి."</string>
     <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"ఎల్లప్పుడూ-ఆన్‌లో ఉండే VPN కనెక్ట్ చేయబడుతోంది…"</string>
     <string name="vpn_lockdown_connected" msgid="8202679674819213931">"ఎల్లప్పుడూ-ఆన్‌లో ఉండే VPN కనెక్ట్ చేయబడింది"</string>
     <string name="vpn_lockdown_error" msgid="6009249814034708175">"ఎల్లప్పుడూ-ఆన్‌లో ఉండే VPN లోపం"</string>
@@ -1652,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"అన్‌‌పిన్‌ ‌చేయి"</string>
     <string name="app_info" msgid="6856026610594615344">"అనువర్తన సమాచారం"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"సెషన్‌ను పునఃప్రారంభించండి"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"కొత్త డెమో సెషన్‌ను ప్రారంభించడానికి నొక్కండి"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"డెమోను ప్రారంభిస్తోంది"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"సెషన్‌ను పునఃప్రారంభిస్తోంది"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"పరికరాన్ని రీసెట్ చేయాలా?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"పరికరాన్ని రీసెట్ చేయడానికి నొక్కండి"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"డెమోను ప్రారంభిస్తోంది..."</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"పరికరాన్ని రీసెట్ చేస్తోంది..."</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"పరికరాన్ని రీసెట్ చేయాలా?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"రద్దు చేయి"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"ఇప్పుడే రీసెట్ చేయి"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"ఈ పరికరాన్ని ఎటువంటి పరిమితులు లేకుండా ఉపయోగించడానికి ఫ్యాక్టరీ రీసెట్ చేయండి"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"మరింత తెలుసుకోవడానికి తాకండి."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> నిలిపివేయబడింది"</string>
diff --git a/core/res/res/values-th-watch/styles_material.xml b/core/res/res/values-th-watch/styles_material.xml
new file mode 100644
index 0000000..3227ced
--- /dev/null
+++ b/core/res/res/values-th-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"ผู้สมัคร"</font></string>
+</resources>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index c21d628..6bd26b5 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"สเกล"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"แสดงเสมอ"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"เปิดใช้งานอีกครั้งในการตั้งค่าระบบ &gt; แอปพลิเคชัน &gt; ดาวน์โหลด"</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> ไม่สนับสนุนการตั้งค่าขนาดการแสดงผลปัจจุบันและอาจแสดงผลผิดปกติ"</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"แสดงเสมอ"</string>
     <string name="smv_application" msgid="3307209192155442829">"แอปพลิเคชัน <xliff:g id="APPLICATION">%1$s</xliff:g> (กระบวนการ <xliff:g id="PROCESS">%2$s</xliff:g>) ละเมิดนโยบาย StrictMode ที่บังคับใช้ด้วยตัวเอง"</string>
     <string name="smv_process" msgid="5120397012047462446">"กระบวนการ <xliff:g id="PROCESS">%1$s</xliff:g> ละเมิดนโยบาย StrictMode ที่บังคับใช้ด้วยตัวเอง"</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"กำลังอัปเกรด Android ..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"เลิกปักหมุด"</string>
     <string name="app_info" msgid="6856026610594615344">"ข้อมูลแอป"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"เริ่มเซสชันอีกครั้ง"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"แตะเพื่อเริ่มเซสชันสาธิตใหม่"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"กำลังเริ่มการสาธิต"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"กำลังเริ่มเซสชันอีกครั้ง"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"รีเซ็ตอุปกรณ์ไหม"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"แตะเพื่อรีเซ็ตอุปกรณ์"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"กำลังเริ่มการสาธิต…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"กำลังรีเซ็ตอุปกรณ์…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"รีเซ็ตอุปกรณ์ไหม"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"ยกเลิก"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"รีเซ็ตทันที"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"รีเซ็ตเป็นค่าเริ่มต้นเพื่อใช้อุปกรณ์นี้โดยไร้ข้อจำกัด"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"แตะเพื่อเรียนรู้เพิ่มเติม"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"ปิดใช้ <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-tl-watch/styles_material.xml b/core/res/res/values-tl-watch/styles_material.xml
new file mode 100644
index 0000000..70e7a7a
--- /dev/null
+++ b/core/res/res/values-tl-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"mga kandidato"</font></string>
+</resources>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 269f249..8ef514d 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Sukat"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Palaging ipakita"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Muling paganahin ito sa mga setting ng System &gt; Apps &gt; Na-download."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"Hindi sinusuportahan ng <xliff:g id="APP_NAME">%1$s</xliff:g> ang kasalukuyang setting ng laki ng Display at maaaring may mangyaring hindi inaasahan."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Palaging ipakita"</string>
     <string name="smv_application" msgid="3307209192155442829">"Ang app na <xliff:g id="APPLICATION">%1$s</xliff:g> (prosesong <xliff:g id="PROCESS">%2$s</xliff:g>) ay lumabag sa sarili nitong ipinapatupad na patakarang StrictMode."</string>
     <string name="smv_process" msgid="5120397012047462446">"Ang prosesong <xliff:g id="PROCESS">%1$s</xliff:g> ay lumabag sa sarili nitong ipinapatupad na patakarang StrictMode."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Nag-a-upgrade ang Android…"</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"I-unpin"</string>
     <string name="app_info" msgid="6856026610594615344">"Impormasyon ng app"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"I-restart ang Session"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"I-tap upang magsimula ng bagong session ng demo"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Sinisimulan ang demo"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Nire-restart ang session"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Gusto mo bang i-reset ang device?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Mag-tap upang i-reset ang device"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Sinisimulan ang demo…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Nire-reset ang device…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Gusto mo bang i-reset ang device?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Kanselahin"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"I-reset ngayon"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"I-factory reset upang magamit ang device na ito nang walang mga paghihigpit"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Pindutin upang matuto nang higit pa."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Na-disable ang <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-tr-watch/styles_material.xml b/core/res/res/values-tr-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-tr-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index aea719b..b64ece0 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -860,36 +860,36 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"şimdi"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> dk</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> dk</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>dk</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>dk</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> sa</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> sa</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>sa</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>sa</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> g</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> g</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>g</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>g</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> y</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> y</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>y</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>y</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> dk içinde</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> dk içinde</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>dk içinde</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>dk içinde</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> sa içinde</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> sa içinde</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>sa içinde</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>sa içinde</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> g içinde</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> g içinde</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>g içinde</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>g içinde</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> y içinde</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> y içinde</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>y içinde</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>y içinde</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> dakika önce</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Ölçek"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Her zaman göster"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Bunu Sistem ayarları &gt; Uygulamalar &gt; İndirilenler bölümünden yeniden etkinleştirin."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> geçerli Ekran boyutu ayarını desteklemiyor ve beklenmedik bir şekilde davranabilir."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Her zaman göster"</string>
     <string name="smv_application" msgid="3307209192155442829">"<xliff:g id="APPLICATION">%1$s</xliff:g> uygulaması (<xliff:g id="PROCESS">%2$s</xliff:g> işlemi) kendiliğinden uyguladığı StrictMode politikasını ihlal etti."</string>
     <string name="smv_process" msgid="5120397012047462446">"<xliff:g id="PROCESS">%1$s</xliff:g> işlemi kendiliğinden uyguladığı StrictMode politikasını ihlal etti."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android yeni sürüme geçiriliyor..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Sabitlemeyi kaldır"</string>
     <string name="app_info" msgid="6856026610594615344">"Uygulama bilgileri"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Oturumu Yeniden Başlatın"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Yeni bir demo oturumu başlatmak için dokunun"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Tanıtım başlatılıyor"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Oturum yeniden başlatılıyor"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Cihaz sıfırlansın mı?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Cihazı sıfırlamak için dokunun"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Demo başlatılıyor…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Cihaz sıfırlanıyor…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Cihaz sıfırlansın mı?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"İptal"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Şimdi sıfırla"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Bu cihazı kısıtlama olmadan kullanmak için fabrika ayarlarına sıfırlayın"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Daha fazla bilgi edinmek için dokunun."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> devre dışı"</string>
diff --git a/core/res/res/values-uk-watch/styles_material.xml b/core/res/res/values-uk-watch/styles_material.xml
new file mode 100644
index 0000000..698d5b0
--- /dev/null
+++ b/core/res/res/values-uk-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"варіанти"</font></string>
+</resources>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index 4e5bc1d..a349008 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -20,7 +20,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="byteShort" msgid="8340973892742019101">"Б"</string>
+    <string name="byteShort" msgid="8340973892742019101">"б"</string>
     <string name="kilobyteShort" msgid="5973789783504771878">"Кб"</string>
     <string name="megabyteShort" msgid="6355851576770428922">"Мб"</string>
     <string name="gigabyteShort" msgid="3259882455212193214">"Гб"</string>
@@ -1061,6 +1061,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Масштаб"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Завжди показувати"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Знову ввімкнути це в меню Налаштування системи &gt; Програми &gt; Завантажені."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"Додаток <xliff:g id="APP_NAME">%1$s</xliff:g> не підтримує поточне налаштування розміру екрана та може працювати неналежним чином."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Завжди показувати"</string>
     <string name="smv_application" msgid="3307209192155442829">"Програма <xliff:g id="APPLICATION">%1$s</xliff:g> (процес <xliff:g id="PROCESS">%2$s</xliff:g>) порушила свою самозастосовну політику StrictMode."</string>
     <string name="smv_process" msgid="5120397012047462446">"Процес <xliff:g id="PROCESS">%1$s</xliff:g> порушив свою самозастосовну політику StrictMode."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android оновлюється..."</string>
@@ -1721,10 +1723,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Відкріпити"</string>
     <string name="app_info" msgid="6856026610594615344">"Про додаток"</string>
     <string name="negative_duration" msgid="5688706061127375131">"-<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Новий сеанс"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Торкніться, щоб почати новий демо-сеанс"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Запускається демонстрація"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Починається новий сеанс"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Скинути налаштування пристрою?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Торкніться, щоб скинути налаштування пристрою"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Запуск демонстрації…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Скидання налаштувань пристрою…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Скинути налаштування пристрою?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Скасувати"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Скинути"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Відновіть заводські параметри, щоб використовувати пристрій без обмежень"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Торкніться, щоб дізнатися більше."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> вимкнено"</string>
diff --git a/core/res/res/values-ur-rPK-watch/styles_material.xml b/core/res/res/values-ur-rPK-watch/styles_material.xml
new file mode 100644
index 0000000..e569c7c
--- /dev/null
+++ b/core/res/res/values-ur-rPK-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"امیدواران"</font></string>
+</resources>
diff --git a/core/res/res/values-ur-rPK/strings.xml b/core/res/res/values-ur-rPK/strings.xml
index 4ae5cbf..316aaea 100644
--- a/core/res/res/values-ur-rPK/strings.xml
+++ b/core/res/res/values-ur-rPK/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"پیمانہ"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"ہمیشہ دکھائیں"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"‏سسٹم ترتیبات &gt; ایپس &gt; ڈاؤن لوڈ کردہ میں اسے دوبارہ فعال کریں۔"</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> میں موجودہ ڈسپلے سائز ترتیبات کی معاونت نہیں ہے اور ہو سکتا ہے غیر متوقع طریقے سے کام کرے۔"</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"ہمیشہ دکھائیں"</string>
     <string name="smv_application" msgid="3307209192155442829">"‏ایپ <xliff:g id="APPLICATION">%1$s</xliff:g> (کارروائی <xliff:g id="PROCESS">%2$s</xliff:g>) نے خود نافذ کی گئی StrictMode پالیسی کی خلاف ورزی کی ہے۔"</string>
     <string name="smv_process" msgid="5120397012047462446">"‏کارروائی <xliff:g id="PROCESS">%1$s</xliff:g> نے اپنی ذاتی طور پر نافذ کردہ StrictMode پلیسی کی خلاف ورزی کی ہے۔"</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"‏Android اپ گریڈ ہو رہا ہے…"</string>
@@ -1193,8 +1195,7 @@
     <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"ایک ایپلیکیشن کو انسٹال سیشنز پڑھنے کی اجازت دیتا ہے۔ یہ اسے فعال پیکیج انسٹالیشنز کے بارے میں تفصیلات دیکھنے کی اجازت دیتا ہے۔"</string>
     <string name="permlab_requestInstallPackages" msgid="5782013576218172577">"پیکجز انسٹال کرنے کی درخواست کریں"</string>
     <string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"ایک ایپلیکیشن کو پیکجز انسٹال کرنے کی اجازت دیتی ہے۔"</string>
-    <!-- no translation found for tutorial_double_tap_to_zoom_message_short (1311810005957319690) -->
-    <skip />
+    <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"زوم کنٹرول کیلئے دوبار تھپتھپائیں"</string>
     <string name="gadget_host_error_inflating" msgid="4882004314906466162">"ویجٹس کو شامل نہیں کرسکا۔"</string>
     <string name="ime_action_go" msgid="8320845651737369027">"جائیں"</string>
     <string name="ime_action_search" msgid="658110271822807811">"تلاش کریں"</string>
@@ -1225,10 +1226,8 @@
     <string name="notification_ranker_binding_label" msgid="774540592299064747">"اطلاع کی درجہ بندی سروس"</string>
     <string name="vpn_title" msgid="19615213552042827">"‏VPN فعال ہوگیا"</string>
     <string name="vpn_title_long" msgid="6400714798049252294">"‏<xliff:g id="APP">%s</xliff:g> کے ذریعہ VPN فعال ہے"</string>
-    <!-- no translation found for vpn_text (1610714069627824309) -->
-    <skip />
-    <!-- no translation found for vpn_text_long (4907843483284977618) -->
-    <skip />
+    <string name="vpn_text" msgid="1610714069627824309">"نیٹ ورک نظم کرنے کیلئے تھپتھپائیں۔"</string>
+    <string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> سے منسلک ہے۔ نیٹ ورک کا نظم کرنے کیلئے تھپتھپائیں۔"</string>
     <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"‏ہمیشہ آن VPN مربوط ہو رہا ہے…"</string>
     <string name="vpn_lockdown_connected" msgid="8202679674819213931">"‏ہمیشہ آن VPN مربوط ہوگیا"</string>
     <string name="vpn_lockdown_error" msgid="6009249814034708175">"‏ہمیشہ آن VPN کی خرابی"</string>
@@ -1652,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"پن ہٹائیں"</string>
     <string name="app_info" msgid="6856026610594615344">"ایپ کی معلومات"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"سیشن دوبارہ شروع کریں"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"نیا ڈیمو سیشن شروع کرنے کیلئے تھپتھپائیں"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"ڈیمو شروع ہو رہا ہے"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"سیشن دوبارہ شروع ہو رہا ہے"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"آلہ ری سیٹ کریں؟"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"آلہ ری سیٹ کرنے کیلئے تھپتھپائیں"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"ڈیمو شروع ہو رہا ہے…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"آلہ ری سیٹ ہو رہا ہے…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"آلہ ری سیٹ کریں؟"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"منسوخ کریں"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"ابھی ری سیٹ کریں"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"بغیر کسی حدود کے استعمال کرنے کیلئے اس آلے کو فیکٹری ری سیٹ کریں"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"مزید جاننے کیلئے ٹچ کریں۔"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"غیر فعال کردہ <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-uz-rUZ-watch/styles_material.xml b/core/res/res/values-uz-rUZ-watch/styles_material.xml
new file mode 100644
index 0000000..3cb38d6
--- /dev/null
+++ b/core/res/res/values-uz-rUZ-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"nomzodlar"</font></string>
+</resources>
diff --git a/core/res/res/values-uz-rUZ/strings.xml b/core/res/res/values-uz-rUZ/strings.xml
index d777ea0..c0fee25 100644
--- a/core/res/res/values-uz-rUZ/strings.xml
+++ b/core/res/res/values-uz-rUZ/strings.xml
@@ -325,9 +325,9 @@
     <string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"Ilovaga tizim ishga tushishi bilanoq o‘zi ham ishga tushadigan qilib qo‘yish huquqini beradi. Buning natijasida televizorning ishga tushishi sekinlashishi hamda ilovaning doimiy ravishda ishlab turishi oqibatida butun planshetning ishlashi sekinlashi mumkin."</string>
     <string name="permdesc_receiveBootCompleted" product="default" msgid="513950589102617504">"Ilova tizim qayta yoqilganidan so‘ng o‘zini ishga tushirishi mumkin. Bu telefonning yonish vaqtini uzaytirishi va doimiy ishlab turivchi ilova tufayli uning tezkor ishlashini kamaytirishi mumkin."</string>
     <string name="permlab_broadcastSticky" msgid="7919126372606881614">"xabarlarni keyinchalik saqlash sharti bilan yuborish"</string>
-    <string name="permdesc_broadcastSticky" product="tablet" msgid="7749760494399915651">"Ilovaga uzatish tugagandan keyin ham qoladigan yopishqoq uzatishlarni jo‘natishga ruxsat beradi. Bu uzatishdan juda ko‘p foydalanish ko‘p xotiradan foydalanishga olib keladi va natijada planshet sekin yoki beqaror ishlashi mumkin."</string>
-    <string name="permdesc_broadcastSticky" product="tv" msgid="6839285697565389467">"Ilovaga efir tugagandan so‘ng ham saqlanib qoladigan turg‘un translatsiyalarni uzatish huquqini beradi. Undan ortiqcha foydalanish televizoringizni sekinlatishi yoki ko‘p xotira sarflaydigan qilib qo‘yishi mumkin."</string>
-    <string name="permdesc_broadcastSticky" product="default" msgid="2825803764232445091">"Ilovaga uzatish tugagandan keyin ham qoladigan yopishqoq uzatishlarni jo‘natishga ruxsat beradi. Bu uzatishdan juda ko‘p foydalanish ko‘p xotiradan foydalanishga olib keladi va natijada telefon sekin yoki beqaror ishlashi mumkin."</string>
+    <string name="permdesc_broadcastSticky" product="tablet" msgid="7749760494399915651">"Ilova yuborilganidan keyin o‘chib ketmaydigan muddatsiz tarqatma xabarlarni yuborishi mumkin. Ulardan noto‘g‘ri maqsadda foydalanish qurilmaning ishlashini sekinlatishi yoki xotiraga haddan ziyod yuklanish tushishi oqibatida qurilma ishdan chiqishi mumkin."</string>
+    <string name="permdesc_broadcastSticky" product="tv" msgid="6839285697565389467">"Ilova yuborilganidan keyin o‘chib ketmaydigan muddatsiz tarqatma xabarlarni yuborishi mumkin. Ulardan noto‘g‘ri maqsadda foydalanish qurilmaning ishlashini sekinlatishi yoki xotiraga haddan ziyod yuklanish tushishi oqibatida qurilma ishdan chiqishi mumkin."</string>
+    <string name="permdesc_broadcastSticky" product="default" msgid="2825803764232445091">"Ilova yuborilganidan keyin o‘chib ketmaydigan muddatsiz tarqatma xabarlarni yuborishi mumkin. Ulardan noto‘g‘ri maqsadda foydalanish qurilmaning ishlashini sekinlatishi yoki xotiraga haddan ziyod yuklanish tushishi oqibatida qurilma ishdan chiqishi mumkin."</string>
     <string name="permlab_readContacts" msgid="8348481131899886131">"kontaktlaringizni ko‘rish"</string>
     <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"Ilovaga planshetingizda saqlangan kontaktlar ma’lumotlarini, shuningdek, ba‘zi shaxslarga qilgan qo‘ng‘iroqlar muntazamligi, ularga yozgan e-pochta xabarlari yoki boshqa xabar almashish yo‘llari orqali xabarlashganingiz haqidagi ma’lumotlarni o‘qishga ruxsat beradi. Ushbu ruxsat ilovalarga aloqa ma’lumotlaringizni saqlash uchun ruxsat beradi va zararli ilovalar sizga bildirmasdan kontaktlar ma’lumotlaringizni boshqalarga ulashishi mumkin."</string>
     <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"Ilovaga televizoringizda saqlanayotgan kontaktlar haqidagi ma’lumotlarni, jumladan, muayyan shaxslar bilan qo‘ng‘iroqlashish, e-pochta orqali xabarlashish yoki muloqot qilish oralig‘i haqidagi ma’lumotlarni o‘qish huquqini beradi. Ushbu ruxsatnoma ilovalarga kontaktlaringiz haqidagi ma’lumotlarni saqlash huquqini berib, zararli ilovalar uning yordamida kontakt ma’lumotlarini sizdan beruxsat boshqalarga ulashishi mumkin."</string>
@@ -486,7 +486,7 @@
     <string name="permlab_manageNetworkPolicy" msgid="2562053592339859990">"tarmoq siyosatini boshqarish"</string>
     <string name="permdesc_manageNetworkPolicy" msgid="7537586771559370668">"Ilova tarmoq siyosatini boshqarishi va alohida ilovalar uchun qoidalarni o‘rnatishi mumkin."</string>
     <string name="permlab_modifyNetworkAccounting" msgid="5088217309088729650">"tarmoqdan foydalanishni hisoblashni o‘zgartirish"</string>
-    <string name="permdesc_modifyNetworkAccounting" msgid="5443412866746198123">"Ilovaga ilovalarga nisbadan hisoblanadigan tarmoqdan foydalanish ma’lumotlarini o‘zgartirishga ruxsat beradi. Oddiy ilovalar tomonidan foydalanilmaydi."</string>
+    <string name="permdesc_modifyNetworkAccounting" msgid="5443412866746198123">"Ilova turli dasturlar tomonidan ishlatiladigan tarmoq resurslari hisob-kitobini o‘zgartirishi mumkin. Bu ruxsat oddiy ilovalar uchun talab qilinmaydi."</string>
     <string name="permlab_accessNotifications" msgid="7673416487873432268">"ruxsat bildirishnomalari"</string>
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Dasturga bildirishnomalar va boshqa dasturlar jo‘natgan xabarlarni qabul qilish, ko‘rib chiqish hamda tozalash imkonini beradi."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"bildirishnomani tinglash xizmatiga bog‘lash"</string>
@@ -526,7 +526,7 @@
     <string name="policydesc_resetPassword" msgid="1278323891710619128">"Ekran qulfini o‘zgartiradi."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Ekranni qulflash"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Ekranning qachon va qanday qulflanishini boshqaradi."</string>
-    <string name="policylab_wipeData" msgid="3910545446758639713">"Barcha ma’lumotlarni tozalash"</string>
+    <string name="policylab_wipeData" msgid="3910545446758639713">"Barcha ma’lumotlarni o‘chirib tashlash"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Planshetdagi barcha ma’lumotlarni ogohlantirishsiz zavod sozlamalarini tiklash orqali o‘chirib tashlaydi."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Zavod sozlamalarini tiklaydi va televizordagi barcha ma’lumotlarni ogohlantirishsiz o‘chirib tashlaydi."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Telefondagi barcha ma’lumotlarni ogohlantirishsiz zavod sozlamalarini tiklash orqali o‘chirib tashlaydi."</string>
@@ -537,7 +537,7 @@
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Qurilmaga global proksi o‘rnatish"</string>
     <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Qoida faollashtirilgan vaqtda ishlatiladigan qurilmaning global proksi-serverini o‘rnatadi. Faqat qurilma egasi global proksi-serverini o‘rnatishi mumkin."</string>
     <string name="policylab_expirePassword" msgid="5610055012328825874">"Parol muddatini o‘rnatish"</string>
-    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Ekran qulfi paroli, PIN kodi yoki chizmali paroli o‘zgartiriladigan muddatni o‘zgartiradi."</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Ekran qulfi paroli, PIN kodi yoki grafik kaliti o‘zgartiriladigan muddatni o‘zgartiradi."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Xotirani kodlashni o‘rnatish"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Zaxiralangan ilovalar ma‘lumotlarini kodlashni talab qiladi."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Kameralarni o‘chirish"</string>
@@ -672,7 +672,7 @@
     <string name="lockscreen_screen_locked" msgid="7288443074806832904">"Ekran qulflangan."</string>
     <string name="lockscreen_instructions_when_pattern_enabled" msgid="46154051614126049">"Qulfdan chiqarish yoki favqulodda qo‘ng‘iroqni amalga oshirish uchun \"Menyu\"ni bosing."</string>
     <string name="lockscreen_instructions_when_pattern_disabled" msgid="686260028797158364">"Qulfni ochish uchun \"Menyu\"ga bosing."</string>
-    <string name="lockscreen_pattern_instructions" msgid="7478703254964810302">"Qulfni ochish uchun namuna ustiga chizing"</string>
+    <string name="lockscreen_pattern_instructions" msgid="7478703254964810302">"Qulfni ochish uchun grafik kalitni chizing"</string>
     <string name="lockscreen_emergency_call" msgid="5298642613417801888">"Favqulodda chaqiruv"</string>
     <string name="lockscreen_return_to_call" msgid="5244259785500040021">"Qo‘ng‘iroqni qaytarish"</string>
     <string name="lockscreen_pattern_correct" msgid="9039008650362261237">"To‘g‘ri!"</string>
@@ -700,12 +700,12 @@
     <string name="lockscreen_sim_puk_locked_instructions" msgid="8127916255245181063">"Foydalanuvchi qo‘llanmasiga qarang yoki Abonentlarni qo‘llab-quvvatlash markaziga murojaat qiling."</string>
     <string name="lockscreen_sim_locked_message" msgid="8066660129206001039">"SIM karta qulflangan."</string>
     <string name="lockscreen_sim_unlock_progress_dialog_message" msgid="595323214052881264">"SIM karta qulfdan chiqarilmoqda…"</string>
-    <string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="6481623830344107222">"Siz chizmali kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. \n\n<xliff:g id="NUMBER_1">%2$d</xliff:g> soniyadan so‘ng qayta urining."</string>
+    <string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="6481623830344107222">"Siz grafik kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. \n\n<xliff:g id="NUMBER_1">%2$d</xliff:g> soniyadan so‘ng qayta urining."</string>
     <string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="2725973286239344555">"Siz parolni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> soniyadan so‘ng qayta urining."</string>
     <string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6216672706545696955">"Siz PIN-kodni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> soniyadan so‘ng qayta urining."</string>
-    <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"Siz chizmali kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. Telefon qulfini ochish uchun yana <xliff:g id="NUMBER_1">%2$d</xliff:g> marta noto‘g‘ri urinish qilsangiz, sizdan Google hisobingizga kirish talab qilinadi. \n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan so‘ng qayta urining."</string>
-    <string name="lockscreen_failed_attempts_almost_glogin" product="tv" msgid="5316664559603394684">"Siz chizmali kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. Agar uni yana <xliff:g id="NUMBER_1">%2$d</xliff:g> marta noto‘g‘ri kiritsangiz, televizoringizni qulfdan chiqarish uchun Google hisobingizga kirish talab qilinadi.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan so‘ng qaytadan urining."</string>
-    <string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="2590227559763762751">"Siz chizmali kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. Telefon qulfini ochish uchun yana <xliff:g id="NUMBER_1">%2$d</xliff:g> marta noto‘g‘ri urinish qilsangiz, sizdan Google hisobingizga kirish talab qilinadi.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan so‘ng qayta urining."</string>
+    <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"Siz grafik kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. Telefon qulfini ochish uchun yana <xliff:g id="NUMBER_1">%2$d</xliff:g> marta noto‘g‘ri urinish qilsangiz, sizdan Google hisobingizga kirish talab qilinadi. \n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan so‘ng qayta urining."</string>
+    <string name="lockscreen_failed_attempts_almost_glogin" product="tv" msgid="5316664559603394684">"Siz grafik kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. Agar uni yana <xliff:g id="NUMBER_1">%2$d</xliff:g> marta noto‘g‘ri kiritsangiz, televizoringizni qulfdan chiqarish uchun Google hisobingizga kirish talab qilinadi.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan so‘ng qaytadan urining."</string>
+    <string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="2590227559763762751">"Siz grafik kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. Telefon qulfini ochish uchun yana <xliff:g id="NUMBER_1">%2$d</xliff:g> marta noto‘g‘ri urinish qilsangiz, sizdan Google hisobingizga kirish talab qilinadi.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan so‘ng qayta urining."</string>
     <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"Planshet qulfini <xliff:g id="NUMBER_0">%1$d</xliff:g> marta ochishga urinib ko‘rdingiz. <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinishlardan so‘ng, planshet ishlab chiqarilgan holatiga tiklanadi va barcha foydalanuvchi ma’lumotlari yo‘qoladi."</string>
     <string name="lockscreen_failed_attempts_almost_at_wipe" product="tv" msgid="950408382418270260">"Siz televizorni qulfdan chiqarish parolini <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. Agar uni yana <xliff:g id="NUMBER_1">%2$d</xliff:g> marta noto‘g‘ri kiritsangiz, televizoringizda zavod sozlamalari qayta tiklanadi hamda undagi barcha ma’lumotlaringiz o‘chib ketadi."</string>
     <string name="lockscreen_failed_attempts_almost_at_wipe" product="default" msgid="8603565142156826565">"Telefon qulfini <xliff:g id="NUMBER_0">%1$d</xliff:g> marta ochishga urinib ko‘rdingiz. <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinishlardan so‘ng, telefon ishlab chiqarilgan holatiga tiklanadi va barcha foydalanuvchi ma’lumotlari yo‘qoladi."</string>
@@ -713,9 +713,9 @@
     <string name="lockscreen_failed_attempts_now_wiping" product="tv" msgid="3195755534096192191">"Siz televizorni qulfdan chiqarish parolini <xliff:g id="NUMBER">%d</xliff:g> marta noto‘g‘ri kiritdingiz. Endi, televizoringizda zavod sozlamalari qayta tiklanadi."</string>
     <string name="lockscreen_failed_attempts_now_wiping" product="default" msgid="3025504721764922246">"Telefon qulfini <xliff:g id="NUMBER">%d</xliff:g> marta ochishga urinib ko‘rdingiz. Telefon hozir ishlab chiqarilgan holatiga tiklanadi."</string>
     <string name="lockscreen_too_many_failed_attempts_countdown" msgid="6251480343394389665">"<xliff:g id="NUMBER">%d</xliff:g> soniyadan so‘ng qayta urinib ko‘ring."</string>
-    <string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Chizma namunasi yodingizdan chiqdimi?"</string>
+    <string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Grafik kalit esingizdan chiqdimi?"</string>
     <string name="lockscreen_glogin_forgot_pattern" msgid="2588521501166032747">"Qulfni ochish hisobi"</string>
-    <string name="lockscreen_glogin_too_many_attempts" msgid="2751368605287288808">"Chizmali parolni ochishga juda ko‘p urinildi"</string>
+    <string name="lockscreen_glogin_too_many_attempts" msgid="2751368605287288808">"Grafik kalit juda ko‘p marta chizildi"</string>
     <string name="lockscreen_glogin_instructions" msgid="3931816256100707784">"Qulfni ochish uchun Google hisobingiz bilan kiring."</string>
     <string name="lockscreen_glogin_username_hint" msgid="8846881424106484447">"Foydalanuvchi nomi (e-pochta)"</string>
     <string name="lockscreen_glogin_password_hint" msgid="5958028383954738528">"Parol"</string>
@@ -726,12 +726,12 @@
     <string name="lockscreen_unlock_label" msgid="737440483220667054">"Qulfdan chiqarish"</string>
     <string name="lockscreen_sound_on_label" msgid="9068877576513425970">"Ovozni yoqish"</string>
     <string name="lockscreen_sound_off_label" msgid="996822825154319026">"Ovozni o‘chirish"</string>
-    <string name="lockscreen_access_pattern_start" msgid="3941045502933142847">"Chizma namunasi ishga tushirildi"</string>
-    <string name="lockscreen_access_pattern_cleared" msgid="5583479721001639579">"Chizma namunasi tozalandi"</string>
+    <string name="lockscreen_access_pattern_start" msgid="3941045502933142847">"Grafik kalitni chizish boshlandi"</string>
+    <string name="lockscreen_access_pattern_cleared" msgid="5583479721001639579">"Grafik kalit tozalandi"</string>
     <string name="lockscreen_access_pattern_cell_added" msgid="6756031208359292487">"Katak qo‘shildi"</string>
     <string name="lockscreen_access_pattern_cell_added_verbose" msgid="7264580781744026939">"<xliff:g id="CELL_INDEX">%1$s</xliff:g> katak qo‘shildi"</string>
-    <string name="lockscreen_access_pattern_detected" msgid="4988730895554057058">"Chizma namunasi tugatildi"</string>
-    <string name="lockscreen_access_pattern_area" msgid="400813207572953209">"Chizmali kalit hududi."</string>
+    <string name="lockscreen_access_pattern_detected" msgid="4988730895554057058">"Grafik kalitni chizish tugallandi"</string>
+    <string name="lockscreen_access_pattern_area" msgid="400813207572953209">"Grafik kalit chiziladigan hudud."</string>
     <string name="keyguard_accessibility_widget_changed" msgid="5678624624681400191">"%1$s. Vidjet %2$d / %3$d."</string>
     <string name="keyguard_accessibility_add_widget" msgid="8273277058724924654">"Vidjet qo‘shish."</string>
     <string name="keyguard_accessibility_widget_empty_slot" msgid="1281505703307930757">"Bo‘sh"</string>
@@ -747,11 +747,11 @@
     <string name="keyguard_accessibility_widget_deleted" msgid="4426204263929224434">"<xliff:g id="WIDGET_INDEX">%1$s</xliff:g> vidjeti o‘chirildi."</string>
     <string name="keyguard_accessibility_expand_lock_area" msgid="519859720934178024">"Qulfni ochish maydonini kengaytirish."</string>
     <string name="keyguard_accessibility_slide_unlock" msgid="2959928478764697254">"Qulfni silab ochish"</string>
-    <string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"Chizmali qulfni ochish."</string>
+    <string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"Grafik kalit bilan ochish."</string>
     <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"Qulfni yuzni tanitib ochish"</string>
     <string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"Pin qulfini ochish."</string>
     <string name="keyguard_accessibility_password_unlock" msgid="7675777623912155089">"Parolli qulfni ochish."</string>
-    <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"Chizmali qulf maydoni."</string>
+    <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"Grafik kalit chiziladigan hudud."</string>
     <string name="keyguard_accessibility_slide_area" msgid="6736064494019979544">"Maydonni silang"</string>
     <string name="password_keyboard_label_symbol_key" msgid="992280756256536042">"?123"</string>
     <string name="password_keyboard_label_alpha_key" msgid="8001096175167485649">"ABC"</string>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Masshtab"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Doimo ko‘rsatish"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Uni Tizim sozlamalari &gt; Ilovalar &gt; Yuklab olingan menyusidan qayta yoqing."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"“<xliff:g id="APP_NAME">%1$s</xliff:g>” ilovasi joriy ekran o‘lchami sozlamalariga mos kelmasligi va noto‘g‘ri ishlashi mumkin."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Har doim ko‘rsatilsin"</string>
     <string name="smv_application" msgid="3307209192155442829">"“<xliff:g id="APPLICATION">%1$s</xliff:g>” ilovasi (jarayaon: <xliff:g id="PROCESS">%2$s</xliff:g>) o‘zining StrictMode qoidasini buzdi."</string>
     <string name="smv_process" msgid="5120397012047462446">"<xliff:g id="PROCESS">%1$s</xliff:g> jarayoni o‘zining o‘zi-bajaruvchi StrictMode siyosatini buzdi."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android yangilanmoqda…"</string>
@@ -1130,7 +1132,7 @@
     <string name="usb_charging_notification_title" msgid="6895185153353640787">"USB orqali quvvatlash"</string>
     <string name="usb_supplying_notification_title" msgid="5310642257296510271">"USB orqali ulangan qurilma quvvatlanmoqda"</string>
     <string name="usb_mtp_notification_title" msgid="8396264943589760855">"USB orqali fayl o‘tkazish"</string>
-    <string name="usb_ptp_notification_title" msgid="1347328437083192112">"USB orqali rasm o‘tkazish"</string>
+    <string name="usb_ptp_notification_title" msgid="1347328437083192112">"USB orqali surat o‘tkazish"</string>
     <string name="usb_midi_notification_title" msgid="4850904915889144654">"USB orqali MIDI"</string>
     <string name="usb_accessory_notification_title" msgid="7848236974087653666">"USB jihozga ulangan"</string>
     <string name="usb_notification_message" msgid="3370903770828407960">"Boshqa parametrlarini ko‘rish uchun bosing."</string>
@@ -1151,7 +1153,7 @@
     <string name="fast_scroll_numeric_alphabet" msgid="4030170524595123610">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string>
     <string name="candidates_style" msgid="4333913089637062257"><u>"nomzodlar"</u></string>
     <string name="ext_media_checking_notification_title" msgid="5734005953288045806">"<xliff:g id="NAME">%s</xliff:g> tayyorlanmoqda"</string>
-    <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Xatolar tekshirilmoqda"</string>
+    <string name="ext_media_checking_notification_message" msgid="4747432538578886744">"Xatolar qidirilmoqda"</string>
     <string name="ext_media_new_notification_message" msgid="7589986898808506239">"Yangi <xliff:g id="NAME">%s</xliff:g> kartasi aniqlandi"</string>
     <string name="ext_media_ready_notification_message" msgid="4083398150380114462">"Rasm va boshqa fayllarni o‘tkazish"</string>
     <string name="ext_media_unmountable_notification_title" msgid="8295123366236989588">"“<xliff:g id="NAME">%s</xliff:g>” buzilgan"</string>
@@ -1193,8 +1195,7 @@
     <string name="permdesc_readInstallSessions" msgid="2049771699626019849">"Ilovaga o‘rnatilgan seanslarni o‘qish uchun ruxsat beradi. Bu unga faol paket o‘rnatmalari haqidagi ma’lumotlarni ko‘rish imkonini beradi."</string>
     <string name="permlab_requestInstallPackages" msgid="5782013576218172577">"paketlarni o‘rnatish so‘rovini yuborish"</string>
     <string name="permdesc_requestInstallPackages" msgid="5740101072486783082">"Ilovaga paketlarni o‘rnatish so‘rovini yuborish imkonini beradi."</string>
-    <!-- no translation found for tutorial_double_tap_to_zoom_message_short (1311810005957319690) -->
-    <skip />
+    <string name="tutorial_double_tap_to_zoom_message_short" msgid="1311810005957319690">"Ko‘lamini o‘zgartirish uchun ikki marta bosing"</string>
     <string name="gadget_host_error_inflating" msgid="4882004314906466162">"Vidjet qo‘shilmadi."</string>
     <string name="ime_action_go" msgid="8320845651737369027">"O‘tish"</string>
     <string name="ime_action_search" msgid="658110271822807811">"Qidirish"</string>
@@ -1225,10 +1226,8 @@
     <string name="notification_ranker_binding_label" msgid="774540592299064747">"Bildirishnomalarni baholash xizmati"</string>
     <string name="vpn_title" msgid="19615213552042827">"VPN faollashtirildi"</string>
     <string name="vpn_title_long" msgid="6400714798049252294">"VPN <xliff:g id="APP">%s</xliff:g> tomonidan faollashtirilgan"</string>
-    <!-- no translation found for vpn_text (1610714069627824309) -->
-    <skip />
-    <!-- no translation found for vpn_text_long (4907843483284977618) -->
-    <skip />
+    <string name="vpn_text" msgid="1610714069627824309">"Tarmoq sozlamalarini o‘zgartirish uchun bu yerni bosing."</string>
+    <string name="vpn_text_long" msgid="4907843483284977618">"<xliff:g id="SESSION">%s</xliff:g> ulandi. Tarmoq sozlamalarini o‘zgartirish uchun bu yerni bosing."</string>
     <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Ulanmoqda…"</string>
     <string name="vpn_lockdown_connected" msgid="8202679674819213931">"Ulandi"</string>
     <string name="vpn_lockdown_error" msgid="6009249814034708175">"Xato"</string>
@@ -1368,7 +1367,7 @@
     <string name="media_route_chooser_searching" msgid="4776236202610828706">"Qurilmalar izlanmoqda..."</string>
     <string name="media_route_chooser_extended_settings" msgid="87015534236701604">"Sozlamalar"</string>
     <string name="media_route_controller_disconnect" msgid="8966120286374158649">"Uzish"</string>
-    <string name="media_route_status_scanning" msgid="7279908761758293783">"Tekshirilmoqda..."</string>
+    <string name="media_route_status_scanning" msgid="7279908761758293783">"Qidirilmoqda..."</string>
     <string name="media_route_status_connecting" msgid="6422571716007825440">"Ulanmoqda..."</string>
     <string name="media_route_status_available" msgid="6983258067194649391">"Mavjud"</string>
     <string name="media_route_status_not_available" msgid="6739899962681886401">"Mavjud emas"</string>
@@ -1378,8 +1377,8 @@
     <string name="display_manager_overlay_display_name" msgid="5142365982271620716">"Tasvir uzatish #<xliff:g id="ID">%1$d</xliff:g>"</string>
     <string name="display_manager_overlay_display_title" msgid="652124517672257172">"<xliff:g id="NAME">%1$s</xliff:g>: <xliff:g id="WIDTH">%2$d</xliff:g>x<xliff:g id="HEIGHT">%3$d</xliff:g>, <xliff:g id="DPI">%4$d</xliff:g> dpi"</string>
     <string name="display_manager_overlay_display_secure_suffix" msgid="6022119702628572080">", xavfsiz"</string>
-    <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"Chizmali parol unutilgan"</string>
-    <string name="kg_wrong_pattern" msgid="1850806070801358830">"Chizmali kalit noto‘g‘ri"</string>
+    <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"Grafik kalit esimdan chiqdi"</string>
+    <string name="kg_wrong_pattern" msgid="1850806070801358830">"Grafik kalit noto‘g‘ri"</string>
     <string name="kg_wrong_password" msgid="2333281762128113157">"Parol noto‘g‘ri"</string>
     <string name="kg_wrong_pin" msgid="1131306510833563801">"PIN-kod noto‘g‘ri"</string>
     <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"<xliff:g id="NUMBER">%1$d</xliff:g> soniyadan so‘ng qayta urinib ko‘ring."</string>
@@ -1396,7 +1395,7 @@
     <string name="kg_invalid_sim_puk_hint" msgid="6025069204539532000">"PUK kod 8 ta raqam bo‘lishi shart."</string>
     <string name="kg_invalid_puk" msgid="3638289409676051243">"To‘g‘ri PUK kodni qayta kiriting. Qayta-qayta urinishlar SIM kartani butunlay o‘chirib qo‘yadi."</string>
     <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"PIN-kod mos kelmadi"</string>
-    <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"Chizmali parolni ochishga juda ko‘p urinildi"</string>
+    <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"Grafik kalit juda ko‘p marta chizildi"</string>
     <string name="kg_login_instructions" msgid="1100551261265506448">"Qulfni ochish uchun Google hisobingiz bilan kiring."</string>
     <string name="kg_login_username_hint" msgid="5718534272070920364">"Foydalanuvchi nomi (e-pochta)"</string>
     <string name="kg_login_password_hint" msgid="9057289103827298549">"Parol"</string>
@@ -1406,16 +1405,16 @@
     <string name="kg_login_checking_password" msgid="1052685197710252395">"Hisob tekshirilmoqda…"</string>
     <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"Siz PIN-kodni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. \n\n<xliff:g id="NUMBER_1">%2$d</xliff:g> soniyadan so‘ng qayta urinib ko‘ring."</string>
     <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"Siz parolni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. \n\n<xliff:g id="NUMBER_1">%2$d</xliff:g> soniyadan so‘ng qayta urinib ko‘ring."</string>
-    <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"Siz chizmali kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. \n\n<xliff:g id="NUMBER_1">%2$d</xliff:g> soniyadan so‘ng qayta urinib ko‘ring."</string>
+    <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"Siz grafik kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. \n\n<xliff:g id="NUMBER_1">%2$d</xliff:g> soniyadan so‘ng qayta urinib ko‘ring."</string>
     <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"Siz planshet qulfini ochish uchun <xliff:g id="NUMBER_0">%1$d</xliff:g> marta muvaffaqiyatsiz urindingiz. <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinishlardan so‘ng planshetning zavod sozlamalari tiklanadi va barcha foydalanuvchi ma’lumotlari o‘chiriladi."</string>
     <string name="kg_failed_attempts_almost_at_wipe" product="tv" msgid="5621231220154419413">"Siz televizorni qulfdan chiqarish parolini <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. Agar uni yana <xliff:g id="NUMBER_1">%2$d</xliff:g> marta noto‘g‘ri kiritsangiz, televizoringizda zavod sozlamalari qayta tiklanadi hamda undagi barcha ma’lumotlaringiz o‘chib ketadi."</string>
     <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"Siz telefon qulfini ochish uchun <xliff:g id="NUMBER_0">%1$d</xliff:g> marta muvaffaqiyatsiz urindingiz. <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinishlardan so‘ng telefonning zavod sozlamalari tiklanadi va barcha foydalanuvchi ma’lumotlari o‘chiriladi."</string>
     <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2072996269148483637">"Planshet qulfini ochish uchun <xliff:g id="NUMBER">%d</xliff:g> marta muvaffaqiyatsiz urinib ko‘rdingiz. Planshetning hozir zavod sozlamari tiklanadi."</string>
     <string name="kg_failed_attempts_now_wiping" product="tv" msgid="4987878286750741463">"Siz televizorni qulfdan chiqarish parolini <xliff:g id="NUMBER">%d</xliff:g> marta noto‘g‘ri kiritdingiz. Endi, televizoringizda zavod sozlamalari qayta tiklanadi."</string>
     <string name="kg_failed_attempts_now_wiping" product="default" msgid="4817627474419471518">"Telefon qulfini ochish uchun <xliff:g id="NUMBER">%d</xliff:g> marta muvaffaqiyatsiz urinib ko‘rdingiz. Telefonning hozir zavod sozlamari tiklanadi."</string>
-    <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Siz chizmali kalitni  <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinishdan so‘ng, sizdan e-pochtangizdan foydalanib, planshet qulfini ochishingiz so‘raladi.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan so‘ng yana urinib ko‘ring."</string>
-    <string name="kg_failed_attempts_almost_at_login" product="tv" msgid="4224651132862313471">"Siz chizmali kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. Agar uni yana <xliff:g id="NUMBER_1">%2$d</xliff:g> marta noto‘g‘ri kiritsangiz, televizoringizni qulfdan chiqarish uchun sizda e-pochta hisobingizga kirish talab qilinadi.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan so‘ng qaytadan urining."</string>
-    <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Siz chizmali kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri chizdingiz. <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinishdan so‘ng, sizdan e-pochtangizdan foydalanib, telefon qulfini ochishingiz so‘raladi.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan so‘ng yana urinib ko‘ring."</string>
+    <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Siz grafik kalitni  <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinishdan so‘ng, sizdan e-pochtangizdan foydalanib, planshet qulfini ochishingiz so‘raladi.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan so‘ng yana urinib ko‘ring."</string>
+    <string name="kg_failed_attempts_almost_at_login" product="tv" msgid="4224651132862313471">"Siz grafik kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri kiritdingiz. Agar uni yana <xliff:g id="NUMBER_1">%2$d</xliff:g> marta noto‘g‘ri kiritsangiz, televizoringizni qulfdan chiqarish uchun sizda e-pochta hisobingizga kirish talab qilinadi.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan so‘ng qaytadan urining."</string>
+    <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Siz grafik kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri chizdingiz. <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinishdan so‘ng, sizdan e-pochtangizdan foydalanib, telefon qulfini ochishingiz so‘raladi.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan so‘ng yana urinib ko‘ring."</string>
     <string name="kg_text_message_separator" product="default" msgid="4160700433287233771">" — "</string>
     <string name="kg_reordering_delete_drop_target_text" msgid="7899202978204438708">"O‘chirish"</string>
     <string name="safe_media_volume_warning" product="default" msgid="2276318909314492312">"Ovoz balandligi tavsiya etilgan darajadan ham yuqori ko‘tarilsinmi?\n\nUzoq vaqt davomida baland ovozda tinglash eshitish qobiliyatingizga salbiy ta’sir ko‘rsatishi mumkin."</string>
@@ -1550,7 +1549,7 @@
     <string name="lock_to_app_start" msgid="6643342070839862795">"Ekran qadab qo‘yildi"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Ekran bo‘shatildi"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Yechishda PIN-kod so‘ralsin"</string>
-    <string name="lock_to_app_unlock_pattern" msgid="4182192144797225137">"Bo‘shatishdan oldin chizmali parol so‘ralsin"</string>
+    <string name="lock_to_app_unlock_pattern" msgid="4182192144797225137">"Yechishdan oldin grafik kalit so‘ralsin"</string>
     <string name="lock_to_app_unlock_password" msgid="6380979775916974414">"Bo‘shatishdan oldin parol so‘ralsin"</string>
     <string name="package_installed_device_owner" msgid="8420696545959087545">"Administratoringiz tomonidan o‘rnatilgan"</string>
     <string name="package_updated_device_owner" msgid="8856631322440187071">"Administratoringiz tomonidan yangilandi"</string>
@@ -1652,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Olib tashlash"</string>
     <string name="app_info" msgid="6856026610594615344">"Ilova haqida"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Yangi seans"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Yangi demo-seans boshlash uchun bosing"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Demo boshlanmoqda"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Seans qayta boshlanmoqda"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Qurilma asl holatga qaytarilsinmi?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Qurilmani asl holatga qaytarish uchun bosing"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Demo boshlanmoqda…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Qurilma asl holatga qaytarilmoqda…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Qurilma asl holatga qaytarilsinmi?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Bekor qilish"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Asl holatga qaytarish"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Bu qurilmadan cheklovlarsiz foydalanish uchun zavod sozlamalarini tiklang"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Ko‘proq o‘rganish uchun bosing."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"<xliff:g id="LABEL">%1$s</xliff:g> vidjeti o‘chirilgan"</string>
diff --git a/core/res/res/values-vi-watch/styles_material.xml b/core/res/res/values-vi-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-vi-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index 3998207..7029d4a 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -860,36 +860,36 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"bây giờ"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> phút</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> phút</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ph</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>ph</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> giờ</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> giờ</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>h</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>h</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ngày</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> ngày</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>ng</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>ng</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> năm</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> năm</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>n</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>n</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="other">trong <xliff:g id="COUNT_1">%d</xliff:g>ph</item>
-      <item quantity="one">trong <xliff:g id="COUNT_0">%d</xliff:g>ph</item>
+      <item quantity="other">sau <xliff:g id="COUNT_1">%d</xliff:g>ph</item>
+      <item quantity="one">sau <xliff:g id="COUNT_0">%d</xliff:g>ph</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="other">trong <xliff:g id="COUNT_1">%d</xliff:g>h</item>
-      <item quantity="one">trong <xliff:g id="COUNT_0">%d</xliff:g>h</item>
+      <item quantity="other">sau <xliff:g id="COUNT_1">%d</xliff:g>h</item>
+      <item quantity="one">sau <xliff:g id="COUNT_0">%d</xliff:g>h</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="other">trong <xliff:g id="COUNT_1">%d</xliff:g> ngày</item>
-      <item quantity="one">trong <xliff:g id="COUNT_0">%d</xliff:g> ngày</item>
+      <item quantity="other">sau <xliff:g id="COUNT_1">%d</xliff:g>ng</item>
+      <item quantity="one">sau <xliff:g id="COUNT_0">%d</xliff:g>ng</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="other">trong <xliff:g id="COUNT_1">%d</xliff:g> năm</item>
-      <item quantity="one">trong <xliff:g id="COUNT_0">%d</xliff:g> năm</item>
+      <item quantity="other">sau <xliff:g id="COUNT_1">%d</xliff:g>n</item>
+      <item quantity="one">sau <xliff:g id="COUNT_0">%d</xliff:g>n</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> phút trước</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Tỷ lệ"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Luôn hiển thị"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Bật lại chế độ này trong cài đặt Hệ thống &gt; Ứng dụng &gt; Đã tải xuống."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g> không hỗ trợ cài đặt kích thước Màn hình hiện tại và có thể hoạt động không như mong đợi."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Luôn hiển thị"</string>
     <string name="smv_application" msgid="3307209192155442829">"Ứng dụng <xliff:g id="APPLICATION">%1$s</xliff:g> (quá trình <xliff:g id="PROCESS">%2$s</xliff:g>) đã vi phạm chính sách StrictMode tự thi hành của mình."</string>
     <string name="smv_process" msgid="5120397012047462446">"Quá trình <xliff:g id="PROCESS">%1$s</xliff:g> đã vi phạm chính sách StrictMode tự thi hành của mình."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android đang nâng cấp..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Bỏ ghim"</string>
     <string name="app_info" msgid="6856026610594615344">"Thông tin ứng dụng"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Khởi động lại phiên"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Nhấn để bắt đầu phiên trình diễn mới"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Bắt đầu bản trình diễn"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Bắt đầu lại phiên"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Đặt lại thiết bị?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Nhấn để đặt lại thiết bị"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Đang bắt đầu bản trình diễn..."</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Đang đặt lại thiết bị..."</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Đặt lại thiết bị?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Hủy"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Đặt lại ngay bây giờ"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Khôi phục cài đặt gốc để sử dụng thiết bị này mà không bị hạn chế"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Chạm để tìm hiểu thêm."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"Đã tắt <xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-watch/colors_material.xml b/core/res/res/values-watch/colors_material.xml
new file mode 100644
index 0000000..91eee7d
--- /dev/null
+++ b/core/res/res/values-watch/colors_material.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources>
+    <color name="background_material_dark">#ff232e33</color>
+    <color name="background_floating_material_dark">#ff3e5059</color>
+
+    <color name="accent_material_dark">#ff5e97f6</color>
+    <color name="accent_material_light">#ff4285f4</color>
+
+    <color name="button_material_dark">#ff999999</color>
+</resources>
diff --git a/core/res/res/values-watch/config_material.xml b/core/res/res/values-watch/config_material.xml
new file mode 100644
index 0000000..81b53e7
--- /dev/null
+++ b/core/res/res/values-watch/config_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for watch products.  Do not translate. -->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- Watch type devices have limited screen real-estate, and thus action bars should not be
+         used. -->
+    <bool name="config_windowActionBarSupported">false</bool>
+
+    <!-- Watch type devices have limited screen real-estate, and thus titles should not be used. -->
+    <bool name="config_windowNoTitleDefault">true</bool>
+
+    <!-- Use micro alert controller -->
+    <integer name="config_alertDialogController">1</integer>
+
+    <!-- Always overscan by default to ensure onApplyWindowInsets will always be called. -->
+    <bool name="config_windowOverscanByDefault">true</bool>
+
+    <!-- Due to the smaller screen size, have dialog titles occupy more than 1 line. -->
+    <integer name="config_dialogWindowTitleMaxLines">3</integer>
+</resources>
diff --git a/core/res/res/values-watch/dimens_material.xml b/core/res/res/values-watch/dimens_material.xml
new file mode 100644
index 0000000..d579434
--- /dev/null
+++ b/core/res/res/values-watch/dimens_material.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<resources>
+    <item name="text_line_spacing_multiplier_material" format="float" type="dimen">1.2</item>
+</resources>
diff --git a/core/res/res/values-watch/donottranslate_material.xml b/core/res/res/values-watch/donottranslate_material.xml
new file mode 100644
index 0000000..a6f2ff4
--- /dev/null
+++ b/core/res/res/values-watch/donottranslate_material.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<resources>
+    <string name="font_family_display_4_material">sans-serif-condensed-light</string>
+    <string name="font_family_display_3_material">sans-serif-condensed-light</string>
+    <string name="font_family_display_2_material">sans-serif-condensed-light</string>
+    <string name="font_family_display_1_material">sans-serif-condensed-light</string>
+    <string name="font_family_headline_material">sans-serif-condensed-light</string>
+    <string name="font_family_title_material">sans-serif-condensed</string>
+    <string name="font_family_subhead_material">sans-serif-condensed-light</string>
+    <string name="font_family_menu_material">sans-serif-condensed-light</string>
+    <string name="font_family_body_2_material">sans-serif-condensed</string>
+    <string name="font_family_body_1_material">sans-serif-condensed-light</string>
+    <string name="font_family_caption_material">sans-serif-condensed-light</string>
+    <string name="font_family_button_material">sans-serif-condensed</string>
+ </resources>
diff --git a/core/res/res/values-watch/styles_material.xml b/core/res/res/values-watch/styles_material.xml
new file mode 100644
index 0000000..c19cc72
--- /dev/null
+++ b/core/res/res/values-watch/styles_material.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<!--
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+ -->
+<resources>
+    <style name="Animation.Material.Activity" parent="Animation.Activity">
+        <item name="activityOpenEnterAnimation">@anim/slide_in_enter_micro</item>
+        <item name="activityOpenRemoteViewsEnterAnimation">@anim/slide_in_enter_micro</item>
+        <item name="activityOpenExitAnimation">@anim/slide_in_exit_micro</item>
+        <item name="activityCloseEnterAnimation">@null</item>
+        <item name="activityCloseExitAnimation">@anim/slide_out_micro</item>
+        <item name="taskOpenEnterAnimation">@anim/slide_in_enter_micro</item>
+        <item name="taskOpenExitAnimation">@anim/slide_in_exit_micro</item>
+        <item name="taskCloseEnterAnimation">@null</item>
+        <item name="taskCloseExitAnimation">@anim/slide_out_micro</item>
+        <item name="taskToFrontEnterAnimation">@anim/slide_in_enter_micro</item>
+        <item name="taskToFrontExitAnimation">@anim/slide_in_exit_micro</item>
+        <item name="taskToBackEnterAnimation">@null</item>
+        <item name="taskToBackExitAnimation">@anim/slide_out_micro</item>
+        <item name="wallpaperOpenEnterAnimation">@null</item>
+        <item name="wallpaperOpenExitAnimation">@anim/slide_out_micro</item>
+        <item name="wallpaperCloseEnterAnimation">@anim/slide_in_enter_micro</item>
+        <item name="wallpaperCloseExitAnimation">@anim/slide_in_exit_micro</item>
+        <item name="wallpaperIntraOpenEnterAnimation">@null</item>
+        <item name="wallpaperIntraOpenExitAnimation">@anim/slide_out_micro</item>
+        <item name="wallpaperIntraCloseEnterAnimation">@anim/slide_in_enter_micro</item>
+        <item name="wallpaperIntraCloseExitAnimation">@anim/slide_in_exit_micro</item>
+    </style>
+
+    <style name="Widget.Material.TextView" parent="Widget.TextView">
+        <item name="breakStrategy">balanced</item>
+    </style>
+
+    <!-- Alert dialog button bar button -->
+    <style name="Widget.Material.Button.ButtonBar.AlertDialog" parent="Widget.Material.Button.Borderless.Small">
+        <item name="gravity">center_vertical|left</item>
+        <item name="minWidth">64dp</item>
+        <item name="minHeight">@dimen/alert_dialog_button_bar_height</item>
+    </style>
+
+    <style name="Widget.Material.NumberPicker" parent="Widget.NumberPicker">
+        <item name="internalLayout">@layout/number_picker_material</item>
+        <item name="solidColor">@color/transparent</item>
+        <item name="selectionDivider">@drawable/numberpicker_selection_divider</item>
+        <item name="selectionDividerHeight">2dp</item>
+        <item name="selectionDividersDistance">48dp</item>
+        <item name="internalMinWidth">64dp</item>
+        <item name="internalMaxHeight">180dp</item>
+        <item name="virtualButtonPressedDrawable">?selectableItemBackground</item>
+        <item name="descendantFocusability">blocksDescendants</item>
+    </style>
+
+    <!-- DO NOTE TRANSLATE Spans within this text are applied to style composing regions
+    within an EditText widget. The text content is ignored and not used.
+    Note: This is @color/material_deep_teal_200, cannot use @color references here. -->
+    <string name="candidates_style"><font color="#80cbc4">candidates</font></string>
+</resources>
diff --git a/core/res/res/values-watch/themes.xml b/core/res/res/values-watch/themes.xml
index 6d6065f..04df180 100644
--- a/core/res/res/values-watch/themes.xml
+++ b/core/res/res/values-watch/themes.xml
@@ -1,5 +1,5 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
@@ -14,11 +14,10 @@
      limitations under the License.
 -->
 <resources>
-    <style name="Theme.Dialog.Alert" parent="Theme.Micro.Dialog.Alert" />
-    <style name="Theme.Dialog.AppError" parent="Theme.Micro.Dialog.AppError" />
-    <style name="Theme.Holo.Dialog.Alert" parent="Theme.Micro.Dialog.Alert" />
-    <style name="Theme.Holo.Light.Dialog.Alert" parent="Theme.Micro.Dialog.Alert" />
-    <style name="Theme.InputMethod" parent="Theme.Micro.InputMethod" />
-    <style name="Theme.Material.Dialog.Alert" parent="Theme.Micro.Dialog.Alert" />
-    <style name="Theme.Material.Light.Dialog.Alert" parent="Theme.Micro.Dialog.Alert" />
+    <!-- Theme for the dialog shown when an app crashes or ANRs. Override to make it dark. -->
+    <style name="Theme.Dialog.AppError" parent="Theme.DeviceDefault.Dialog.Alert">
+        <item name="windowContentTransitions">false</item>
+        <item name="windowActivityTransitions">false</item>
+        <item name="windowCloseOnTouchOutside">false</item>
+    </style>
 </resources>
diff --git a/core/res/res/values-watch/themes_device_defaults.xml b/core/res/res/values-watch/themes_device_defaults.xml
index 66509fb..2313b26 100644
--- a/core/res/res/values-watch/themes_device_defaults.xml
+++ b/core/res/res/values-watch/themes_device_defaults.xml
@@ -13,22 +13,31 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<resources>
-    <style name="Theme.DeviceDefault" parent="Theme.Micro" />
-    <style name="Theme.DeviceDefault.NoActionBar" parent="Theme.Micro" />
-    <style name="Theme.DeviceDefault.Dialog" parent="Theme.Micro.Dialog" />
-    <style name="Theme.DeviceDefault.DialogWhenLarge" parent="Theme.Micro.Dialog" />
-    <style name="Theme.DeviceDefault.Dialog.Alert" parent="Theme.Micro.Dialog.Alert" />
-    <style name="Theme.DeviceDefault.InputMethod" parent="Theme.Micro.InputMethod"  />
-    <style name="Theme.DeviceDefault.Panel" parent="Theme.Micro.Panel"  />
-    <style name="Theme.DeviceDefault.Light" parent="Theme.Micro.Light" />
-    <style name="Theme.DeviceDefault.Light.NoActionBar" parent="Theme.Micro.Light" />
-    <style name="Theme.DeviceDefault.Light.DarkActionBar" parent="Theme.Micro.Light" />
-    <style name="Theme.DeviceDefault.Light.Dialog" parent="Theme.Micro.Dialog" />
-    <style name="Theme.DeviceDefault.Light.DialogWhenLarge" parent="Theme.Micro.Dialog" />
-    <style name="Theme.DeviceDefault.Light.Dialog.Alert" parent="Theme.Micro.Dialog.Alert" />
-    <style name="Theme.DeviceDefault.Light.Panel" parent="Theme.Micro.Light.Panel"  />
-    <style name="Theme.DeviceDefault.Settings" parent="Theme.Micro" />
-    <style name="Theme.DeviceDefault.Wallpaper" parent="Theme.Micro" />
-</resources>
 
+<!--
+===============================================================
+                        PLEASE READ
+===============================================================
+This file contains the themes that are the Device Defaults.
+If you want to edit themes to skin your device, do it here.
+We recommend that you do not edit themes.xml and instead edit
+this file.
+
+Editing this file instead of themes.xml will greatly simplify
+merges for future platform versions and CTS compliance will be
+easier.
+===============================================================
+                        PLEASE READ
+===============================================================
+ -->
+<resources>
+    <!-- Theme used for the intent picker activity. -->
+    <style name="Theme.DeviceDefault.Resolver" parent="Theme.Material">
+        <item name="colorControlActivated">?attr/colorControlHighlight</item>
+        <item name="listPreferredItemPaddingStart">?attr/dialogPreferredPadding</item>
+        <item name="listPreferredItemPaddingEnd">?attr/dialogPreferredPadding</item>
+    </style>
+
+    <!-- Use a dark theme for watches. -->
+    <style name="Theme.DeviceDefault.System" parent="Theme.Material" />
+</resources>
diff --git a/core/res/res/values-watch/themes_material.xml b/core/res/res/values-watch/themes_material.xml
new file mode 100644
index 0000000..4ae4367
--- /dev/null
+++ b/core/res/res/values-watch/themes_material.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<!--
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+ -->
+<resources>
+    <!-- Default theme for material style input methods, which is used by the
+         {@link android.inputmethodservice.InputMethodService} class.
+         this inherits from Theme.Panel, but sets up IME appropriate animations
+         and a few custom attributes. -->
+    <style name="Theme.Material.InputMethod" parent="Theme.Material.Panel">
+        <item name="windowAnimationStyle">@style/Animation.InputMethod</item>
+        <item name="imeFullscreenBackground">?colorBackground</item>
+        <item name="imeExtractEnterAnimation">@anim/input_method_extract_enter</item>
+    </style>
+
+    <!-- Override behaviour to set the theme colours for dialogs, keep them the same. -->
+    <style name="ThemeOverlay.Material.Dialog" parent="ThemeOverlay.Material.BaseDialog">
+        <item name="windowIsFloating">false</item>
+    </style>
+
+    <!-- Force the background and floating colours to be the default colours. -->
+    <style name="Theme.Material.Dialog" parent="Theme.Material.BaseDialog">
+        <item name="colorBackground">@color/background_material_dark</item>
+        <item name="colorBackgroundFloating">@color/background_floating_material_dark</item>
+        <item name="colorBackgroundCacheHint">@color/background_cache_hint_selector_material_dark</item>
+        <item name="windowIsFloating">false</item>
+    </style>
+
+    <!-- Force the background and floating colours to be the default colours. -->
+    <style name="Theme.Material.Light.Dialog" parent="Theme.Material.Light.BaseDialog">
+        <item name="colorBackground">@color/background_material_light</item>
+        <item name="colorBackgroundFloating">@color/background_floating_material_light</item>
+        <item name="colorBackgroundCacheHint">@color/background_cache_hint_selector_material_light</item>
+        <item name="windowIsFloating">false</item>
+    </style>
+</resources>
diff --git a/core/res/res/values-zh-rCN-watch/styles_material.xml b/core/res/res/values-zh-rCN-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-zh-rCN-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index 5bf0090..43c7073 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"缩放"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"始终显示"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"在“系统设置”&gt;“应用”&gt;“已下载”中重新启用此模式。"</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"<xliff:g id="APP_NAME">%1$s</xliff:g>不支持当前的显示大小设置,因此可能无法正常显示。"</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"一律显示"</string>
     <string name="smv_application" msgid="3307209192155442829">"“<xliff:g id="APPLICATION">%1$s</xliff:g>”应用(<xliff:g id="PROCESS">%2$s</xliff:g> 进程)违反了自我强制执行的严格模式 (StrictMode) 政策。"</string>
     <string name="smv_process" msgid="5120397012047462446">"进程 <xliff:g id="PROCESS">%1$s</xliff:g> 违反了自我强制执行的严格模式 (StrictMode) 政策。"</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"Android正在升级..."</string>
@@ -1618,8 +1620,7 @@
     <string name="floating_toolbar_close_overflow_description" msgid="559796923090723804">"关闭工具栏溢出"</string>
     <string name="maximize_button_text" msgid="7543285286182446254">"最大化"</string>
     <string name="close_button_text" msgid="3937902162644062866">"关闭"</string>
-    <!-- no translation found for notification_messaging_title_template (3452480118762691020) -->
-    <skip />
+    <string name="notification_messaging_title_template" msgid="3452480118762691020">"<xliff:g id="CONVERSATION_TITLE">%1$s</xliff:g>:<xliff:g id="SENDER_NAME">%2$s</xliff:g>"</string>
     <plurals name="selected_count" formatted="false" msgid="7187339492915744615">
       <item quantity="other">已选择 <xliff:g id="COUNT_1">%1$d</xliff:g> 项</item>
       <item quantity="one">已选择 <xliff:g id="COUNT_0">%1$d</xliff:g> 项</item>
@@ -1650,12 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"取消固定"</string>
     <string name="app_info" msgid="6856026610594615344">"应用信息"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"重新启动会话"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"点按即可启动新的演示会话"</string>
-    <!-- no translation found for demo_starting_message (7574017688324606624) -->
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"要重置设备吗?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"点按即可重置设备"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"正在启动演示模式…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"正在重置设备…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"要重置设备吗?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
     <skip />
-    <!-- no translation found for demo_restarting_message (1363894248779727028) -->
-    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"取消"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"立即重置"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"恢复出厂设置即可正常使用此设备,不受任何限制"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"触摸即可了解详情。"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"已停用的<xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-zh-rHK-watch/styles_material.xml b/core/res/res/values-zh-rHK-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-zh-rHK-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml
index a791ccd..064d3f7 100644
--- a/core/res/res/values-zh-rHK/strings.xml
+++ b/core/res/res/values-zh-rHK/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"比例"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"永遠顯示"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"前往 [系統設定] &gt; [應用程式] &gt; [下載] 重新啟用這個模式。"</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」不支援目前的「螢幕」尺寸設定,畫面可能無法如預期顯示。"</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"永遠顯示"</string>
     <string name="smv_application" msgid="3307209192155442829">"應用程式 <xliff:g id="APPLICATION">%1$s</xliff:g> (處理程序 <xliff:g id="PROCESS">%2$s</xliff:g>) 已違反其自行強制實施的嚴格模式 (StrictMode) 政策。"</string>
     <string name="smv_process" msgid="5120397012047462446">"處理程序 <xliff:g id="PROCESS">%1$s</xliff:g> 已違反其自行強制實施的嚴格模式 (StrictMode) 政策。"</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"正在升級 Android..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"取消固定"</string>
     <string name="app_info" msgid="6856026610594615344">"應用程式資料"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"重新開始時段"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"輕按即可開始新示範時段"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"正在開始示範"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"正在重新開始示範時段"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"要重設裝置嗎?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"輕按即可重設裝置"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"正在開始示範…"</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"正在重設裝置…"</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"要重設裝置嗎?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"取消"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"立即重設"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"將此裝置回復至原廠設定後,使用將不受限制"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"輕觸以瞭解詳情。"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"「<xliff:g id="LABEL">%1$s</xliff:g>」已停用"</string>
diff --git a/core/res/res/values-zh-rTW-watch/styles_material.xml b/core/res/res/values-zh-rTW-watch/styles_material.xml
new file mode 100644
index 0000000..36a459d
--- /dev/null
+++ b/core/res/res/values-zh-rTW-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"candidates"</font></string>
+</resources>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index 395436e..abf6e5d 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -860,36 +860,36 @@
     </plurals>
     <string name="now_string_shortest" msgid="8912796667087856402">"現在"</string>
     <plurals name="duration_minutes_shortest" formatted="false" msgid="3957499975064245495">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> 分鐘</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> 分鐘</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>分鐘</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>分鐘</item>
     </plurals>
     <plurals name="duration_hours_shortest" formatted="false" msgid="3552182110578602356">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> 小時</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> 小時</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>小時</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>小時</item>
     </plurals>
     <plurals name="duration_days_shortest" formatted="false" msgid="5213655532597081640">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> 天</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> 天</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>天</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>天</item>
     </plurals>
     <plurals name="duration_years_shortest" formatted="false" msgid="7848711145196397042">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> 年</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> 年</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>年</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>年</item>
     </plurals>
     <plurals name="duration_minutes_shortest_future" formatted="false" msgid="3277614521231489951">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> 分鐘內</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> 分鐘內</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>分鐘後</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>分鐘後</item>
     </plurals>
     <plurals name="duration_hours_shortest_future" formatted="false" msgid="2152452368397489370">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> 小時內</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> 小時內</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>小時後</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>小時後</item>
     </plurals>
     <plurals name="duration_days_shortest_future" formatted="false" msgid="8088331502820295701">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> 天內</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> 天內</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>天後</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>天後</item>
     </plurals>
     <plurals name="duration_years_shortest_future" formatted="false" msgid="2317006667145250301">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> 年內</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> 年內</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g>年後</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g>年後</item>
     </plurals>
     <plurals name="duration_minutes_relative" formatted="false" msgid="3178131706192980192">
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> 分鐘前</item>
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"比例"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"一律顯示"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"前往 [系統設定] &gt; [應用程式] &gt; [下載] 重新啟用這個模式。"</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」不支援目前的顯示大小設定,可能會發生非預期的行為。"</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"一律顯示"</string>
     <string name="smv_application" msgid="3307209192155442829">"應用程式 <xliff:g id="APPLICATION">%1$s</xliff:g> (處理程序 <xliff:g id="PROCESS">%2$s</xliff:g>) 已違反其自行強制實施的嚴格模式 (StrictMode) 政策。"</string>
     <string name="smv_process" msgid="5120397012047462446">"處理程序 <xliff:g id="PROCESS">%1$s</xliff:g> 已違反其自行強制實施的嚴格模式 (StrictMode) 政策。"</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"正在升級 Android…"</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"取消固定"</string>
     <string name="app_info" msgid="6856026610594615344">"應用程式資訊"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"重新啟動工作階段"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"輕觸即可啟動新的示範工作階段"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"正在啟動示範模式"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"正在重新啟動工作階段"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"要重設裝置嗎?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"輕觸即可重設裝置"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"正在啟動示範模式..."</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"正在重設裝置..."</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"要重設裝置嗎?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"取消"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"立即重設"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"恢復原廠設定即可正常使用這個裝置"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"輕觸即可瞭解詳情。"</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"已停用的<xliff:g id="LABEL">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-zu-watch/styles_material.xml b/core/res/res/values-zu-watch/styles_material.xml
new file mode 100644
index 0000000..8b69fef
--- /dev/null
+++ b/core/res/res/values-zu-watch/styles_material.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  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.
+ -->
+
+<!-- 
+===============================================================
+                        PLEASE READ
+===============================================================
+
+The Material themes must not be modified in order to pass CTS.
+Many related themes and styles depend on other values defined in this file.
+If you would like to provide custom themes and styles for your device,
+please see styles_device_defaults.xml.
+
+===============================================================
+                        PLEASE READ
+===============================================================
+  -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="candidates_style" msgid="8052530148128607468"><font color="#80cbc4">"amakhandidethi"</font></string>
+</resources>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index 6f5a6ea..6389666 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -1015,6 +1015,8 @@
     <string name="screen_compat_mode_scale" msgid="3202955667675944499">"Isilinganisi"</string>
     <string name="screen_compat_mode_show" msgid="4013878876486655892">"Bonisa njalo"</string>
     <string name="screen_compat_mode_hint" msgid="1064524084543304459">"Yenza kuphinde kusebenze kuzilungiselelo Zesistimue &gt; Izinhlelo zokusebenza &gt; Okulayishiwe."</string>
+    <string name="unsupported_display_size_message" msgid="6545327290756295232">"I-<xliff:g id="APP_NAME">%1$s</xliff:g> ayisekeli isilungiselelo sosayizi sokubonisa samanje futhi ingasebenza ngokungalindelekile."</string>
+    <string name="unsupported_display_size_show" msgid="7969129195360353041">"Bonisa njalo"</string>
     <string name="smv_application" msgid="3307209192155442829">"Inqubo <xliff:g id="APPLICATION">%1$s</xliff:g> (yohlelo <xliff:g id="PROCESS">%2$s</xliff:g>) iphule inqubomgomo oziphoqelela yona Yemodi Ebukhali."</string>
     <string name="smv_process" msgid="5120397012047462446">"Inqubo <xliff:g id="PROCESS">%1$s</xliff:g> yephule inqubomgomo yokuziphoqelela Yemodi Ebukhali."</string>
     <string name="android_upgrading_title" msgid="1584192285441405746">"I-Android ifaka ezakamuva..."</string>
@@ -1649,10 +1651,15 @@
     <string name="unpin_target" msgid="3556545602439143442">"Susa ukuphina"</string>
     <string name="app_info" msgid="6856026610594615344">"Ulwazi lohlelo lokusebenza"</string>
     <string name="negative_duration" msgid="5688706061127375131">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="reset_retail_demo_mode_title" msgid="2187220736280147886">"Qalisa kabusha isikhathi"</string>
-    <string name="reset_retail_demo_mode_text" msgid="5687062656885515019">"Thepha ukuze uqale isikhathi esisha sedemo"</string>
-    <string name="demo_starting_message" msgid="7574017688324606624">"Ukuqalisa idemo"</string>
-    <string name="demo_restarting_message" msgid="1363894248779727028">"Ukuqalisa kabusha iseshini"</string>
+    <string name="reset_retail_demo_mode_title" msgid="2370249087943803584">"Setha kabusha idivayisi?"</string>
+    <string name="reset_retail_demo_mode_text" msgid="5481925817590883246">"Thepha ukuze usethe kabusha idivayisi"</string>
+    <string name="demo_starting_message" msgid="5268556852031489931">"Iqalisa i-demo..."</string>
+    <string name="demo_restarting_message" msgid="952118052531642451">"Isetha kabusha idivayisi..."</string>
+    <string name="demo_user_inactivity_timeout_title" msgid="6596109959002331334">"Setha kabusha idivayisi?"</string>
+    <!-- no translation found for demo_user_inactivity_timeout_countdown (5675588824402569506) -->
+    <skip />
+    <string name="demo_user_inactivity_timeout_left_button" msgid="5314271347014802475">"Khansela"</string>
+    <string name="demo_user_inactivity_timeout_right_button" msgid="5019306703066964808">"Setha kabusha manje"</string>
     <string name="audit_safemode_notification" msgid="6416076898350685856">"Setha kabusha ukuze usebenzise idivayisi ngaphandle kwemikhawulo"</string>
     <string name="audit_safemode_notification_details" msgid="1860601176690176413">"Thinta ukuze ufunde kabanzi."</string>
     <string name="suspended_widget_accessibility" msgid="6712143096475264190">"I-<xliff:g id="LABEL">%1$s</xliff:g> ekhutshaziwe"</string>
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index d0c6a8e..a70c4fd 100644
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -1048,6 +1048,9 @@
              the status bar (via statusBarColor) and navigation bar (via navigationBarColor). -->
         <attr name="colorPrimaryDark" format="color" />
 
+        <!-- The secondary branding color for the app. -->
+        <attr name="colorSecondary" format="color" />
+
         <!-- Bright complement to the primary branding color. By default, this is the color applied
              to framework controls (via colorControlActivated). -->
         <attr name="colorAccent" format="color" />
@@ -1832,10 +1835,10 @@
         <enum name="KEYCODE_CUT" value="277" />
         <enum name="KEYCODE_COPY" value="278" />
         <enum name="KEYCODE_PASTE" value="279" />
-        <enum name="KEYCODE_FP_NAV_UP" value="280" />
-        <enum name="KEYCODE_FP_NAV_DOWN" value="281" />
-        <enum name="KEYCODE_FP_NAV_LEFT" value="282" />
-        <enum name="KEYCODE_FP_NAV_RIGHT" value="283" />
+        <enum name="KEYCODE_SYSTEM_NAVIGATION_UP" value="280" />
+        <enum name="KEYCODE_SYSTEM_NAVIGATION_DOWN" value="281" />
+        <enum name="KEYCODE_SYSTEM_NAVIGATION_LEFT" value="282" />
+        <enum name="KEYCODE_SYSTEM_NAVIGATION_RIGHT" value="283" />
     </attr>
 
     <!-- ***************************************************************** -->
@@ -7350,7 +7353,11 @@
         <!-- Title of the uri that specifies a link for further context of this wallpaper, e.g. Explore collection. -->
         <attr name="contextDescription" format="reference" />
 
-        <!-- Whether to show any metadata when previewing the wallpaper. -->
+        <!-- Whether to show any metadata when previewing the wallpaper. If this value is
+             set to true, any component that shows a preview of this live wallpaper should also show
+             accompanying information like the title, the description, the author and the context
+             description of this wallpaper so the user gets to know further information about this
+             wallpaper. -->
         <attr name="showMetadataInPreview" format="boolean" />
 
     </declare-styleable>
@@ -8251,12 +8258,13 @@
     <declare-styleable name="Shortcut">
         <attr name="shortcutId" format="string" />
         <attr name="enabled" />
-        <attr name="shortcutIcon" format="reference" />
+        <attr name="icon" />
         <attr name="shortcutShortLabel" format="reference" />
         <attr name="shortcutLongLabel" format="reference" />
         <attr name="shortcutDisabledMessage" format="reference" />
-        <attr name="shortcutCategories" format="string" />
-        <attr name="shortcutIntentAction" format="string" />
-        <attr name="shortcutIntentData" format="string" />
+    </declare-styleable>
+
+    <declare-styleable name="ShortcutCategories">
+        <attr name="name" />
     </declare-styleable>
 </resources>
diff --git a/core/res/res/values/colors_device_defaults.xml b/core/res/res/values/colors_device_defaults.xml
new file mode 100644
index 0000000..f33eb6f
--- /dev/null
+++ b/core/res/res/values/colors_device_defaults.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<!-- Colors specific to DeviceDefault themes. These are mostly pass-throughs to enable
+     overlaying new theme colors. -->
+<resources>
+    <color name="primary_device_default_dark">@color/primary_material_dark</color>
+    <color name="primary_device_default_light">@color/primary_material_light</color>
+    <color name="primary_device_default_settings">@color/primary_material_settings</color>
+    <color name="primary_dark_device_default_dark">@color/primary_dark_material_dark</color>
+    <color name="primary_dark_device_default_light">@color/primary_dark_material_light</color>
+    <color name="primary_dark_device_default_settings">@color/primary_dark_material_settings</color>
+
+    <color name="secondary_device_default_settings">@color/secondary_material_settings</color>
+    <color name="tertiary_device_default_settings">@color/tertiary_material_settings</color>
+    <color name="quaternary_device_default_settings">@color/quaternary_material_settings</color>
+
+    <color name="accent_device_default_light">@color/accent_material_light</color>
+    <color name="accent_device_default_dark">@color/accent_material_dark</color>
+</resources>
\ No newline at end of file
diff --git a/core/res/res/values/colors_material.xml b/core/res/res/values/colors_material.xml
index c8ca116..8a6c229 100644
--- a/core/res/res/values/colors_material.xml
+++ b/core/res/res/values/colors_material.xml
@@ -26,9 +26,15 @@
 
     <color name="primary_material_dark">@color/material_grey_900</color>
     <color name="primary_material_light">@color/material_grey_100</color>
+    <color name="primary_material_settings">@color/material_blue_grey_900</color>
     <color name="primary_dark_material_dark">@color/black</color>
     <color name="primary_dark_material_light">@color/material_grey_600</color>
     <color name="primary_dark_material_light_light_status_bar">@color/material_grey_300</color>
+    <color name="primary_dark_material_settings">@color/material_blue_grey_950</color>
+
+    <color name="secondary_material_settings">@color/material_blue_grey_800</color>
+    <color name="tertiary_material_settings">@color/material_blue_grey_700</color>
+    <color name="quaternary_material_settings">@color/material_blue_grey_200</color>
 
     <color name="accent_material_light">@color/material_deep_teal_500</color>
     <color name="accent_material_dark">@color/material_deep_teal_200</color>
@@ -80,6 +86,8 @@
     <color name="material_deep_teal_300">#ff4db6ac</color>
     <color name="material_deep_teal_500">#ff009688</color>
 
+    <color name="material_blue_grey_200">#ffb0bec5</color>
+    <color name="material_blue_grey_700">#ff455a64</color>
     <color name="material_blue_grey_800">#ff37474f</color>
     <color name="material_blue_grey_900">#ff263238</color>
     <color name="material_blue_grey_950">#ff21272b</color>
diff --git a/core/res/res/values/colors_micro.xml b/core/res/res/values/colors_micro.xml
deleted file mode 100644
index b268e9a..0000000
--- a/core/res/res/values/colors_micro.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<resources>
-    <color name="foreground_micro_dark">@color/white</color>
-    <color name="foreground_micro_light">@color/black</color>
-
-    <color name="background_micro_dark">@color/micro_blue_grey_b15</color>
-    <color name="background_micro_light">@color/white</color>
-    <color name="background_floating_micro_dark">@color/micro_blue_grey_b30</color>
-    <color name="background_floating_micro_light">@color/micro_blue_grey_500</color>
-
-    <color name="primary_micro_dark">@color/micro_blue_grey_b65</color>
-    <color name="primary_dark_micro_dark">@color/micro_blue_grey_b40</color>
-
-    <color name="accent_micro_light">@color/micro_blue_grey_500</color>
-    <color name="accent_micro_dark">@color/micro_blue_grey_b100</color>
-
-    <color name="button_micro_dark">@color/micro_button_gray</color>
-
-    <!-- Primary & accent colors -->
-    <eat-comment />
-
-    <!-- App color -->
-    <color name="micro_blue_grey_500">#ff607d8b</color>
-    <!-- Accent -->
-    <color name="micro_blue_grey_b100">#ffb0e5ff</color>
-    <!-- Lighter UI element -->
-    <color name="micro_blue_grey_b65">#ff7295a6</color>
-    <!-- UI Element -->
-    <color name="micro_blue_grey_b40">#ff465b66</color>
-    <!-- Lighter background -->
-    <color name="micro_blue_grey_b30">#ff35454d</color>
-    <!-- Dark background -->
-    <color name="micro_blue_grey_b15">#ff1a2226</color>
-
-    <!-- Button colors -->
-    <eat-comment />
-
-    <color name="micro_confirm_green">#ff4fc0b0</color>
-    <color name="micro_button_gray">#ffc2c2c2</color>
-    <color name="micro_action_blue">#ff0288d1</color>
-</resources>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index be2cc23..7d8d811 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -427,8 +427,11 @@
     <!-- Boolean indicating whether or not wifi firmware debugging is enabled -->
     <bool translatable="false" name="config_wifi_enable_wifi_firmware_debugging">true</bool>
 
-    <!-- Integer size limit, in KB, for a single WifiLogger ringbuffer -->
-    <integer translatable="false" name="config_wifi_logger_ring_buffer_size_limit_kb">32</integer>
+    <!-- Integer size limit, in KB, for a single WifiLogger ringbuffer, in default logging mode -->
+    <integer translatable="false" name="config_wifi_logger_ring_buffer_default_size_limit_kb">32</integer>
+
+    <!-- Integer size limit, in KB, for a single WifiLogger ringbuffer, in verbose logging mode -->
+    <integer translatable="false" name="config_wifi_logger_ring_buffer_verbose_size_limit_kb">1024</integer>
 
     <!-- Boolean indicating whether or not wifi should turn off when emergency call is made -->
     <bool translatable="false" name="config_wifi_turn_off_during_emergency_call">false</bool>
@@ -2461,6 +2464,10 @@
     <!-- True if the device supports Sustained Performance Mode-->
     <bool name="config_sustainedPerformanceModeSupported">false</bool>
 
+    <!-- File used to enable the double touch gesture.
+         TODO: move to input HAL once ready. -->
+    <string name="config_doubleTouchGestureEnableFile"></string>
+
     <!-- Controls how we deal with externally connected physical keyboards.
          0 - When using this device, it is not clear for users to recognize when the physical
              keyboard is (should be) connected and when it is (should be) disconnected.  Most of
@@ -2486,7 +2493,18 @@
     <string-array translatable="false" name="config_defaultPinnerServiceFiles">
     </string-array>
 
-    <!-- Component that is the default launcher when demo mode is enabled. -->
-    <string name="config_demoModeLauncherComponent"></string>
+    <!-- True if camera app should be pinned via Pinner Service -->
+    <bool name="config_pinnerCameraApp">false</bool>
 
+    <!-- Component that is the default launcher when demo mode is enabled. -->
+    <string name="config_demoModeLauncherComponent">com.android.retaildemo/.DemoPlayer</string>
+
+    <!-- Flag indicating whether round icons should be parsed from the application manifest. -->
+    <bool name="config_useRoundIcon">false</bool>
+
+    <!-- True if the device supports system navigation keys. -->
+    <bool name="config_supportSystemNavigationKeys">false</bool>
+
+    <!-- Package name for the device provisioning package. -->
+    <string name="config_deviceProvisioningPackage"></string>
 </resources>
diff --git a/core/res/res/values/config_material.xml b/core/res/res/values/config_material.xml
new file mode 100644
index 0000000..a37be83
--- /dev/null
+++ b/core/res/res/values/config_material.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds, only for Material theme.  Do not translate.
+
+     NOTE: The naming convention is "config_camelCaseValue".  -->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- True if the device supports action bars. -->
+    <bool name="config_windowActionBarSupported">true</bool>
+
+    <!-- True if the device should have titles by default. -->
+    <bool name="config_windowNoTitleDefault">false</bool>
+
+    <!-- The alert controller to use for alert dialogs. -->
+    <integer name="config_alertDialogController">0</integer>
+
+    <!-- True if windowOverscan should be on by default. -->
+    <bool name="config_windowOverscanByDefault">false</bool>
+
+    <!-- Max number of lines for the dialog title. -->
+    <integer name="config_dialogWindowTitleMaxLines">1</integer>
+
+    <!-- True if preference fragment should clip to padding. -->
+    <bool name="config_preferenceFragmentClipToPadding">true</bool>
+</resources>
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index 37fb816..91d7227 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -148,12 +148,20 @@
     <!-- The margin on the start of the content view -->
     <dimen name="notification_content_margin_start">16dp</dimen>
 
-    <!-- The margin on the end of the content view -->
+    <!-- The margin on the end of the content view
+        Keep in sync with notification_content_plus_picture_margin! -->
     <dimen name="notification_content_margin_end">16dp</dimen>
 
-    <!-- The margin on the end of the content view with a picture.-->
+    <!-- The margin on the end of the content view with a picture.
+        Keep in sync with notification_content_plus_picture_margin! -->
     <dimen name="notification_content_picture_margin">56dp</dimen>
 
+    <!-- The margin on the end of the content view with a picture, plus the standard
+        content end margin.
+        Keep equal to (notification_content_picture_margin + notification_content_margin_end)!
+    -->
+    <dimen name="notification_content_plus_picture_margin_end">72dp</dimen>
+
     <!-- The height of the notification action list -->
     <dimen name="notification_action_list_height">56dp</dimen>
 
diff --git a/core/res/res/values/dimens_material.xml b/core/res/res/values/dimens_material.xml
index 00e48a0..f96cef9 100644
--- a/core/res/res/values/dimens_material.xml
+++ b/core/res/res/values/dimens_material.xml
@@ -24,6 +24,8 @@
 
     <!-- Preference fragment padding, sides -->
     <dimen name="preference_fragment_padding_side_material">0dp</dimen>
+    <!-- Preference fragment padding, vertical -->
+    <dimen name="preference_fragment_padding_vertical_material">0dp</dimen>
 
     <!-- Preference breadcrumbs padding, start padding -->
     <dimen name="preference_breadcrumbs_padding_start_material">12dp</dimen>
@@ -53,6 +55,8 @@
     <!-- Default padding for list items. This should match the action bar
          content inset so that ListActivity items line up correctly. -->
     <dimen name="list_item_padding_horizontal_material">@dimen/action_bar_content_inset_material</dimen>
+    <dimen name="list_item_padding_start_material">@dimen/action_bar_content_inset_material</dimen>
+    <dimen name="list_item_padding_end_material">@dimen/action_bar_content_inset_material</dimen>
 
     <!-- Padding to add to the start of the overflow action button. -->
     <dimen name="action_bar_overflow_padding_start_material">6dp</dimen>
@@ -84,6 +88,8 @@
     <dimen name="text_size_medium_material">18sp</dimen>
     <dimen name="text_size_small_material">14sp</dimen>
 
+    <item name="text_line_spacing_multiplier_material" format="float" type="dimen">1.0</item>
+
     <dimen name="text_edit_floating_toolbar_elevation">2dp</dimen>
     <dimen name="text_edit_floating_toolbar_margin">20dp</dimen>
 
diff --git a/core/res/res/values/dimens_micro.xml b/core/res/res/values/dimens_micro.xml
deleted file mode 100644
index dc8b124..0000000
--- a/core/res/res/values/dimens_micro.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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.
--->
-<resources>
-    <dimen name="text_size_headline_micro">22sp</dimen>
-    <dimen name="text_size_title_micro">20sp</dimen>
-    <dimen name="text_size_subtitle_micro">18sp</dimen>
-    <dimen name="text_size_body1_micro">16sp</dimen>
-    <dimen name="text_size_body2_micro">14sp</dimen>
-    <dimen name="text_size_caption_micro">12sp</dimen>
-
-    <dimen name="text_size_large_micro">20sp</dimen>
-    <dimen name="text_size_medium_micro">18sp</dimen>
-    <dimen name="text_size_small_micro">16sp</dimen>
-
-    <item name="line_spacing_multiplier_micro" format="float" type="dimen">1.2</item>
-</resources>
diff --git a/core/res/res/values/ids.xml b/core/res/res/values/ids.xml
index 7f8acd3..5c165e6 100644
--- a/core/res/res/values/ids.xml
+++ b/core/res/res/values/ids.xml
@@ -122,9 +122,11 @@
 
   <!-- Accessibility action identifier for {@link android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_SET_PROGRESS}. -->
   <item type="id" name="accessibilityActionSetProgress" />
-  
+
   <!-- Accessibility action identifier for {@link android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_CONTEXT_CLICK}. -->
   <item type="id" name="accessibilityActionContextClick" />
 
   <item type="id" name="remote_input_tag" />
+
+  <item type="id" name="cross_task_transition" />
 </resources>
diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml
index da31767..77de87d 100644
--- a/core/res/res/values/public.xml
+++ b/core/res/res/values/public.xml
@@ -2732,18 +2732,14 @@
        Resources added in version N MR1 of the platform
        =============================================================== -->
     <eat-comment />
-    <public type="attr" name="shortcutId" />
-    <public type="attr" name="shortcutIcon" />
-    <public type="attr" name="shortcutShortLabel" />
-    <public type="attr" name="shortcutLongLabel" />
-    <public type="attr" name="shortcutDisabledMessage" />
-    <public type="attr" name="shortcutCategories" />
-    <public type="attr" name="shortcutIntentAction" />
-    <public type="attr" name="shortcutIntentData" />
-    <public type="attr" name="roundIcon" />
-
-    <public type="attr" name="contextUri" />
-    <public type="attr" name="contextDescription" />
-    <public type="attr" name="showMetadataInPreview" />
+    <public type="attr" name="shortcutId" id="0x01010528" />
+    <public type="attr" name="shortcutShortLabel" id="0x01010529" />
+    <public type="attr" name="shortcutLongLabel" id="0x0101052a" />
+    <public type="attr" name="shortcutDisabledMessage" id="0x0101052b" />
+    <public type="attr" name="roundIcon" id="0x0101052c" />
+    <public type="attr" name="contextUri" id="0x0101052d" />
+    <public type="attr" name="contextDescription" id="0x0101052e" />
+    <public type="attr" name="showMetadataInPreview" id="0x0101052f" />
+    <public type="attr" name="colorSecondary" id="0x01010530" />
 
 </resources>
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 5db562d..f0cfd2b 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -2768,6 +2768,11 @@
     <!-- [CHAR LIMIT=200] Compat mode dialog: hint to re-enable compat mode dialog. -->
     <string name="screen_compat_mode_hint">Re-enable this in System settings &gt; Apps &gt; Downloaded.</string>
 
+    <!-- [CHAR LIMIT=200] Unsupported display size dialog: message. Refers to "Display size" setting. -->
+    <string name="unsupported_display_size_message"><xliff:g id="app_name">%1$s</xliff:g> does not support the current Display size setting and may behave unexpectedly.</string>
+    <!-- [CHAR LIMIT=50] Unsupported display size dialog: check box label. -->
+    <string name="unsupported_display_size_show">Always show</string>
+
     <!-- Text of the alert that is displayed when an application has violated StrictMode. -->
     <string name="smv_application">The app <xliff:g id="application">%1$s</xliff:g>
         (process <xliff:g id="process">%2$s</xliff:g>) has violated its self-enforced StrictMode policy.</string>
@@ -4367,15 +4372,21 @@
     <string name="negative_duration">\u2212<xliff:g id="time" example="1:14">%1$s</xliff:g></string>
 
     <!-- Title of notification to start a new demo session when device is in retail mode [CHAR LIMIT=NONE] -->
-    <string name="reset_retail_demo_mode_title">Restart Session</string>
+    <string name="reset_retail_demo_mode_title">Reset device?</string>
     <!-- Text of notification to start a new demo session when device is in retail mode [CHAR LIMIT=NONE] -->
-    <string name="reset_retail_demo_mode_text">Tap to start a new demo session</string>
+    <string name="reset_retail_demo_mode_text">Tap to reset device</string>
     <!-- Text of dialog shown when starting a demo user for the first time [CHAR LIMIT=40] -->
-    <string name="demo_starting_message">Starting demo</string>
+    <string name="demo_starting_message">Starting demo\u2026</string>
     <!-- Text of dialog shown when starting a new demo user in retail demo mode [CHAR LIMIT=40] -->
-    <string name="demo_restarting_message">Restarting session</string>
-
-
+    <string name="demo_restarting_message">Resetting device\u2026</string>
+    <!-- Title of the dialog shown when user inactivity times out in retail demo mode [CHAR LIMIT=40] -->
+    <string name="demo_user_inactivity_timeout_title">Reset device?</string>
+    <!-- Warning message shown when user inactivity times out in retail demo mode [CHAR LIMIT=none] -->
+    <string name="demo_user_inactivity_timeout_countdown">You\u2019ll lose any changes and the demo will start again in <xliff:g id="timeout" example="9">%1$s</xliff:g> seconds\u2026</string>
+    <!-- Text of button to allow user to abort countdown and continue current session in retail demo mode [CHAR LIMIT=40] -->
+    <string name="demo_user_inactivity_timeout_left_button">Cancel</string>
+    <!-- Text of button to allow user to abort countdown and immediately start another session in retail demo mode [CHAR LIMIT=40] -->
+    <string name="demo_user_inactivity_timeout_right_button">Reset now</string>
 
     <!-- Title of notification shown when device has been forced to safe mode after a security compromise. -->
     <string name="audit_safemode_notification">Factory reset to use this device without restrictions</string>
@@ -4385,4 +4396,6 @@
     <!-- Accessibilty string added to a widget that has been suspended [CHAR LIMIT=20] -->
     <string name="suspended_widget_accessibility">Disabled <xliff:g id="label" example="Calendar">%1$s</xliff:g></string>
 
+    <!-- Label used by Telephony code, assigned as the display name for conference calls [CHAR LIMIT=60] -->
+    <string name="conference_call">Conference Call</string>
 </resources>
diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml
index 273086d..762cf31 100644
--- a/core/res/res/values/styles.xml
+++ b/core/res/res/values/styles.xml
@@ -1410,7 +1410,7 @@
         <item name="paddingEnd">?attr/dialogPreferredPadding</item>
         <item name="background">?attr/selectableItemBackground</item>
         <item name="drawablePadding">32dp</item>
-        <item name="drawableTint">@color/accent_material_light</item>
+        <item name="drawableTint">?android:attr/colorAccent</item>
         <item name="drawableTintMode">src_atop</item>
     </style>
 
diff --git a/core/res/res/values/styles_material.xml b/core/res/res/values/styles_material.xml
index bb07834..6e0ad36 100644
--- a/core/res/res/values/styles_material.xml
+++ b/core/res/res/values/styles_material.xml
@@ -40,7 +40,10 @@
         <item name="layout">@layout/preference_list_fragment_material</item>
         <item name="paddingStart">@dimen/preference_fragment_padding_side_material</item>
         <item name="paddingEnd">@dimen/preference_fragment_padding_side_material</item>
+        <item name="paddingTop">@dimen/preference_fragment_padding_vertical_material</item>
+        <item name="paddingBottom">@dimen/preference_fragment_padding_vertical_material</item>
         <item name="divider">?attr/listDivider</item>
+        <item name="clipToPadding">@bool/config_preferenceFragmentClipToPadding</item>
     </style>
 
     <style name="PreferenceActivity.Material">
@@ -134,6 +137,8 @@
     <style name="PreferenceFragmentList.Material">
         <item name="paddingStart">@dimen/preference_fragment_padding_side_material</item>
         <item name="paddingEnd">@dimen/preference_fragment_padding_side_material</item>
+        <item name="paddingTop">@dimen/preference_fragment_padding_vertical_material</item>
+        <item name="paddingBottom">@dimen/preference_fragment_padding_vertical_material</item>
     </style>
 
     <!-- Begin Material theme styles -->
@@ -147,6 +152,7 @@
         <item name="textColorLink">?attr/textColorLink</item>
         <item name="textSize">@dimen/text_size_body_1_material</item>
         <item name="fontFamily">@string/font_family_body_1_material</item>
+        <item name="lineSpacingMultiplier">@dimen/text_line_spacing_multiplier_material</item>
     </style>
 
     <style name="TextAppearance.Material.Display4">
@@ -1190,6 +1196,7 @@
         <item name="listItemLayout">@layout/select_dialog_item_material</item>
         <item name="multiChoiceItemLayout">@layout/select_dialog_multichoice_material</item>
         <item name="singleChoiceItemLayout">@layout/select_dialog_singlechoice_material</item>
+        <item name="controllerType">@integer/config_alertDialogController</item>
     </style>
 
     <style name="AlertDialog.Material.Light" />
@@ -1224,7 +1231,7 @@
     <style name="DialogWindowTitleBackground.Material.Light" />
 
     <style name="DialogWindowTitle.Material">
-        <item name="maxLines">1</item>
+        <item name="maxLines">@integer/config_dialogWindowTitleMaxLines</item>
         <item name="scrollHorizontally">true</item>
         <item name="textAppearance">@style/TextAppearance.Material.DialogWindowTitle</item>
     </style>
diff --git a/core/res/res/values/styles_micro.xml b/core/res/res/values/styles_micro.xml
deleted file mode 100644
index aecf982..0000000
--- a/core/res/res/values/styles_micro.xml
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<resources>
-    <style name="Animation.Micro"/>
-
-    <style name="Animation.Micro.Activity" parent="Animation.Material.Activity">
-        <item name="activityOpenEnterAnimation">@anim/slide_in_enter_micro</item>
-        <item name="activityOpenRemoteViewsEnterAnimation">@anim/slide_in_enter_micro</item>
-        <item name="activityOpenExitAnimation">@anim/slide_in_exit_micro</item>
-        <item name="activityCloseEnterAnimation">@null</item>
-        <item name="activityCloseExitAnimation">@anim/slide_out_micro</item>
-        <item name="taskOpenEnterAnimation">@anim/slide_in_enter_micro</item>
-        <item name="taskOpenExitAnimation">@anim/slide_in_exit_micro</item>
-        <item name="taskCloseEnterAnimation">@null</item>
-        <item name="taskCloseExitAnimation">@anim/slide_out_micro</item>
-        <item name="taskToFrontEnterAnimation">@anim/slide_in_enter_micro</item>
-        <item name="taskToFrontExitAnimation">@anim/slide_in_exit_micro</item>
-        <item name="taskToBackEnterAnimation">@null</item>
-        <item name="taskToBackExitAnimation">@anim/slide_out_micro</item>
-        <item name="wallpaperOpenEnterAnimation">@null</item>
-        <item name="wallpaperOpenExitAnimation">@anim/slide_out_micro</item>
-        <item name="wallpaperCloseEnterAnimation">@anim/slide_in_enter_micro</item>
-        <item name="wallpaperCloseExitAnimation">@anim/slide_in_exit_micro</item>
-        <item name="wallpaperIntraOpenEnterAnimation">@null</item>
-        <item name="wallpaperIntraOpenExitAnimation">@anim/slide_out_micro</item>
-        <item name="wallpaperIntraCloseEnterAnimation">@anim/slide_in_enter_micro</item>
-        <item name="wallpaperIntraCloseExitAnimation">@anim/slide_in_exit_micro</item>
-    </style>
-
-    <style name="AlertDialog.Micro" parent="AlertDialog.Material">
-        <item name="fullDark">@null</item>
-        <item name="topDark">@null</item>
-        <item name="centerDark">@null</item>
-        <item name="bottomDark">@null</item>
-        <item name="fullBright">@null</item>
-        <item name="topBright">@null</item>
-        <item name="centerBright">@null</item>
-        <item name="bottomBright">@null</item>
-        <item name="bottomMedium">@null</item>
-        <item name="centerMedium">@null</item>
-        <item name="layout">@layout/alert_dialog_micro</item>
-        <item name="controllerType">micro</item>
-    </style>
-
-    <style name="DialogWindowTitle.Micro">
-        <item name="scrollHorizontally">true</item>
-        <item name="textAppearance">@style/TextAppearance.Micro.DialogWindowTitle</item>
-        <item name="textAlignment">viewStart</item>
-    </style>
-
-    <style name="TextAppearance.Micro" parent="TextAppearance.Material">
-        <item name="fontFamily">sans-serif-condensed-light</item>
-        <item name="lineSpacingMultiplier">@dimen/line_spacing_multiplier_micro</item>
-        <item name="textColor">?attr/textColorPrimary</item>
-        <item name="textSize">@dimen/text_size_medium_micro</item>
-    </style>
-
-    <style name="TextAppearance.Micro.Inverse" parent="TextAppearance.Material">
-        <item name="textColor">?attr/textColorPrimaryInverse</item>
-        <item name="textColorHint">?attr/textColorHintInverse</item>
-        <item name="textColorHighlight">?attr/textColorHighlightInverse</item>
-        <item name="textColorLink">?attr/textColorLinkInverse</item>
-    </style>
-
-    <style name="TextAppearance.Micro.Headline">
-        <item name="textSize">@dimen/text_size_headline_micro</item>
-    </style>
-
-    <style name="TextAppearance.Micro.Title">
-        <item name="textSize">@dimen/text_size_title_micro</item>
-    </style>
-
-    <style name="TextAppearance.Micro.Subtitle">
-        <item name="textSize">@dimen/text_size_subtitle_micro</item>
-    </style>
-
-    <style name="TextAppearance.Micro.Body1">
-        <item name="textSize">@dimen/text_size_body1_micro</item>
-    </style>
-
-    <style name="TextAppearance.Micro.Body2">
-        <item name="textSize">@dimen/text_size_body2_micro</item>
-    </style>
-
-    <style name="TextAppearance.Micro.Caption">
-        <item name="textSize">@dimen/text_size_caption_micro</item>
-    </style>
-
-    <style name="TextAppearance.Micro.Large">
-        <item name="textSize">@dimen/text_size_large_micro</item>
-    </style>
-
-    <style name="TextAppearance.Micro.Medium">
-        <item name="textSize">@dimen/text_size_medium_micro</item>
-    </style>
-
-    <style name="TextAppearance.Micro.Small">
-        <item name="textSize">@dimen/text_size_small_micro</item>
-    </style>
-
-    <style name="TextAppearance.Micro.DialogWindowTitle" parent="TextAppearance.Material.DialogWindowTitle">
-        <item name="fontFamily">sans-serif-condensed-light</item>
-        <item name="lineSpacingMultiplier">@dimen/line_spacing_multiplier_micro</item>
-        <item name="textColor">?attr/textColorPrimary</item>
-        <item name="textSize">@dimen/text_size_large_micro</item>
-    </style>
-
-    <style name="TextAppearance.Micro.AlertDialog.Message" parent="TextAppearance.Micro.Small" />
-
-    <style name="Widget.Micro" parent="Widget.Material" />
-
-    <style name="Widget.Micro.TextView" parent="Widget.Material.TextView" >
-        <item name="breakStrategy">balanced</item>
-        <item name="hyphenationFrequency">normal</item>
-    </style>
-
-    <style name="Widget.Micro.EditText" parent="Widget.Material.EditText">
-        <item name="android:breakStrategy">simple</item>
-    </style>
-
-    <style name="Widget.Micro.NumberPicker">
-        <item name="internalLayout">@layout/number_picker_with_selector_wheel_micro</item>
-        <item name="solidColor">@color/transparent</item>
-        <item name="selectionDivider">@drawable/numberpicker_selection_divider</item>
-        <item name="selectionDividerHeight">0dip</item>
-        <item name="selectionDividersDistance">104dip</item>
-        <item name="internalMinWidth">64dip</item>
-        <item name="internalMaxHeight">180dip</item>
-        <item name="virtualButtonPressedDrawable">?attr/selectableItemBackground</item>
-        <item name="descendantFocusability">blocksDescendants</item>
-    </style>
-
-    <style name="Widget.Micro.ButtonBar">
-        <item name="background">@color/background_floating_micro_dark</item>
-    </style>
-
-    <style name="Widget.Micro.Button.ButtonBar.AlertDialog" parent="Widget.Material.Button.ButtonBar.AlertDialog">
-        <item name="textAppearance">@style/TextAppearance.Micro.Small</item>
-        <item name="maxLines">3</item>
-        <item name="textColor">?attr/textColorPrimary</item>
-        <item name="textAlignment">viewStart</item>
-    </style>
-</resources>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 8edd9d1..d426d1a 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -297,7 +297,8 @@
   <java-symbol type="bool" name="config_wifi_enable_disconnection_debounce" />
   <java-symbol type="bool" name="config_wifi_revert_country_code_on_cellular_loss" />
   <java-symbol type="bool" name="config_wifi_enable_wifi_firmware_debugging" />
-  <java-symbol type="integer" name="config_wifi_logger_ring_buffer_size_limit_kb" />
+  <java-symbol type="integer" name="config_wifi_logger_ring_buffer_default_size_limit_kb" />
+  <java-symbol type="integer" name="config_wifi_logger_ring_buffer_verbose_size_limit_kb" />
   <java-symbol type="bool" name="config_wifi_turn_off_during_emergency_call" />
   <java-symbol type="bool" name="config_supportMicNearUltrasound" />
   <java-symbol type="bool" name="config_supportSpeakerNearUltrasound" />
@@ -1106,6 +1107,7 @@
   <java-symbol type="string" name="config_demoModeLauncherComponent" />
   <java-symbol type="string" name="demo_starting_message" />
   <java-symbol type="string" name="demo_restarting_message" />
+  <java-symbol type="string" name="conference_call" />
 
 
   <java-symbol type="plurals" name="bugreport_countdown" />
@@ -1863,7 +1865,6 @@
   <java-symbol type="string" name="vpn_lockdown_config" />
   <java-symbol type="string" name="wallpaper_binding_label" />
   <java-symbol type="style" name="Theme.Dialog.AppError" />
-  <java-symbol type="style" name="Theme.Micro.Dialog.Alert" />
   <java-symbol type="style" name="Theme.Leanback.Dialog.Alert" />
   <java-symbol type="style" name="Theme.Toast" />
   <java-symbol type="xml" name="storage_list" />
@@ -1893,6 +1894,10 @@
   <java-symbol type="string" name="audit_safemode_notification_details" />
   <java-symbol type="string" name="reset_retail_demo_mode_title" />
   <java-symbol type="string" name="reset_retail_demo_mode_text" />
+  <java-symbol type="string" name="demo_user_inactivity_timeout_title" />
+  <java-symbol type="string" name="demo_user_inactivity_timeout_countdown" />
+  <java-symbol type="string" name="demo_user_inactivity_timeout_left_button" />
+  <java-symbol type="string" name="demo_user_inactivity_timeout_right_button" />
 
   <java-symbol type="layout" name="resolver_list" />
   <java-symbol type="id" name="resolver_list" />
@@ -2189,6 +2194,7 @@
   <java-symbol type="style" name="TextAppearance.Material.TimePicker.TimeLabel" />
   <java-symbol type="attr" name="seekBarPreferenceStyle" />
   <java-symbol type="style" name="Theme.DeviceDefault.Resolver" />
+  <java-symbol type="style" name="Theme.DeviceDefault.System" />
   <java-symbol type="attr" name="preferenceActivityStyle" />
   <java-symbol type="attr" name="preferenceFragmentStyle" />
   <java-symbol type="bool" name="skipHoldBeforeMerge" />
@@ -2608,8 +2614,28 @@
 
   <java-symbol type="bool" name="config_supportPreRebootSecurityLogs" />
 
+  <java-symbol type="dimen" name="notification_content_plus_picture_margin_end" />
+  <java-symbol type="id" name="notification_action_list_margin_target" />
+
   <!-- Pinner Service -->
   <java-symbol type="array" name="config_defaultPinnerServiceFiles" />
+  <java-symbol type="bool" name="config_pinnerCameraApp" />
+
+  <java-symbol type="string" name="config_doubleTouchGestureEnableFile" />
 
   <java-symbol type="string" name="suspended_widget_accessibility" />
+
+  <!-- Used internally for assistant to launch activity transitions -->
+  <java-symbol type="id" name="cross_task_transition" />
+
+  <java-symbol type="bool" name="config_useRoundIcon" />
+
+  <!-- For System navigation keys -->
+  <java-symbol type="bool" name="config_supportSystemNavigationKeys" />
+
+  <java-symbol type="layout" name="unsupported_display_size_dialog_content" />
+  <java-symbol type="string" name="unsupported_display_size_message" />
+
+  <!-- Package name for the device provisioning package -->
+  <java-symbol type="string" name="config_deviceProvisioningPackage" />
 </resources>
diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml
index aecda44..5b2522f 100644
--- a/core/res/res/values/themes.xml
+++ b/core/res/res/values/themes.xml
@@ -57,6 +57,7 @@
 
         <item name="colorPrimaryDark">@color/legacy_primary_dark</item>
         <item name="colorPrimary">@color/legacy_primary</item>
+        <item name="colorSecondary">?attr/colorPrimary</item>
         <item name="colorControlActivated">@color/legacy_control_activated</item>
         <item name="colorControlNormal">@color/legacy_control_normal</item>
         <item name="colorControlHighlight">@color/legacy_button_pressed</item>
@@ -174,6 +175,7 @@
 
         <!-- Window attributes -->
         <item name="windowBackground">@drawable/screen_background_selector_dark</item>
+        <item name="windowBackgroundFallback">?attr/colorBackground</item>
         <item name="windowClipToOutline">false</item>
         <item name="windowFrame">@null</item>
         <item name="windowNoTitle">false</item>
@@ -316,6 +318,7 @@
         <item name="activityChooserViewStyle">@style/Widget.ActivityChooserView</item>
         <item name="mediaRouteButtonStyle">@style/Widget.DeviceDefault.MediaRouteButton</item>
         <item name="fragmentBreadCrumbsStyle">@style/Widget.FragmentBreadCrumbs</item>
+        <item name="contextPopupMenuStyle">?attr/popupMenuStyle</item>
 
         <!-- Preference styles -->
         <item name="preferenceScreenStyle">@style/Preference.PreferenceScreen</item>
diff --git a/core/res/res/values/themes_device_defaults.xml b/core/res/res/values/themes_device_defaults.xml
index 11bb106..50e588d 100644
--- a/core/res/res/values/themes_device_defaults.xml
+++ b/core/res/res/values/themes_device_defaults.xml
@@ -199,25 +199,50 @@
 
         <item name="mediaRouteButtonStyle">@style/Widget.DeviceDefault.MediaRouteButton</item>
 
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+
     </style>
 
     <!-- Variant of {@link #Theme_DeviceDefault} with no action bar -->
-    <style name="Theme.DeviceDefault.NoActionBar" parent="Theme.Material.NoActionBar"  />
+    <style name="Theme.DeviceDefault.NoActionBar" parent="Theme.Material.NoActionBar">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
 
     <!-- Variant of {@link #Theme_DeviceDefault} with no action bar and no status bar.  This theme
          sets {@link android.R.attr#windowFullscreen} to true.  -->
-    <style name="Theme.DeviceDefault.NoActionBar.Fullscreen" parent="Theme.Material.NoActionBar.Fullscreen"  />
+    <style name="Theme.DeviceDefault.NoActionBar.Fullscreen" parent="Theme.Material.NoActionBar.Fullscreen">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
 
     <!-- Variant of {@link #Theme_DeviceDefault} with no action bar and no status bar and
     extending in to overscan region.  This theme
     sets {@link android.R.attr#windowFullscreen} and {@link android.R.attr#windowOverscan}
     to true. -->
-    <style name="Theme.DeviceDefault.NoActionBar.Overscan" parent="Theme.Material.NoActionBar.Overscan"  />
+    <style name="Theme.DeviceDefault.NoActionBar.Overscan" parent="Theme.Material.NoActionBar.Overscan">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
 
     <!-- Variant of {@link #Theme_DeviceDefault} that has no title bar and translucent
          system decor.  This theme sets {@link android.R.attr#windowTranslucentStatus} and
          {@link android.R.attr#windowTranslucentNavigation} to true. -->
-    <style name="Theme.DeviceDefault.NoActionBar.TranslucentDecor" parent="Theme.Material.NoActionBar.TranslucentDecor"  />
+    <style name="Theme.DeviceDefault.NoActionBar.TranslucentDecor" parent="Theme.Material.NoActionBar.TranslucentDecor">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
 
     <!-- DeviceDefault theme for dialog windows and activities. This changes the window to be
     floating (not fill the entire screen), and puts a frame around its contents. You can set this
@@ -231,18 +256,38 @@
 
         <item name="textAppearance">@style/TextAppearance.DeviceDefault</item>
         <item name="textAppearanceInverse">@style/TextAppearance.DeviceDefault.Inverse</item>
+
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
     </style>
 
     <!-- Variant of {@link #Theme_DeviceDefault_Dialog} that has a nice minimum width for a
     regular dialog. -->
-    <style name="Theme.DeviceDefault.Dialog.MinWidth" parent="Theme.Material.Dialog.MinWidth" />
+    <style name="Theme.DeviceDefault.Dialog.MinWidth" parent="Theme.Material.Dialog.MinWidth">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
 
     <!-- Variant of {@link #Theme_DeviceDefault_Dialog} without an action bar -->
-    <style name="Theme.DeviceDefault.Dialog.NoActionBar" parent="Theme.Material.Dialog.NoActionBar" />
+    <style name="Theme.DeviceDefault.Dialog.NoActionBar" parent="Theme.Material.Dialog.NoActionBar">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
 
     <!-- Variant of {@link #Theme_DeviceDefault_Dialog_NoActionBar} that has a nice minimum width
     for a regular dialog. -->
-    <style name="Theme.DeviceDefault.Dialog.NoActionBar.MinWidth" parent="Theme.Material.Dialog.NoActionBar.MinWidth" />
+    <style name="Theme.DeviceDefault.Dialog.NoActionBar.MinWidth" parent="Theme.Material.Dialog.NoActionBar.MinWidth">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
 
     <!-- Variant of Theme.DeviceDefault.Dialog that has a fixed size. -->
     <style name="Theme.DeviceDefault.Dialog.FixedSize">
@@ -262,44 +307,99 @@
 
     <!-- DeviceDefault theme for a window that will be displayed either full-screen on smaller
     screens (small, normal) or as a dialog on larger screens (large, xlarge). -->
-    <style name="Theme.DeviceDefault.DialogWhenLarge" parent="Theme.Material.DialogWhenLarge"  />
+    <style name="Theme.DeviceDefault.DialogWhenLarge" parent="Theme.Material.DialogWhenLarge">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
 
     <!-- DeviceDefault theme for a window without an action bar that will be displayed either
     full-screen on smaller screens (small, normal) or as a dialog on larger screens (large,
     xlarge). -->
-    <style name="Theme.DeviceDefault.DialogWhenLarge.NoActionBar" parent="Theme.Material.DialogWhenLarge.NoActionBar"  />
+    <style name="Theme.DeviceDefault.DialogWhenLarge.NoActionBar" parent="Theme.Material.DialogWhenLarge.NoActionBar">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
 
     <!-- DeviceDefault theme for a presentation window on a secondary display. -->
-    <style name="Theme.DeviceDefault.Dialog.Presentation" parent="Theme.Material.Dialog.Presentation" />
+    <style name="Theme.DeviceDefault.Dialog.Presentation" parent="Theme.Material.Dialog.Presentation">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
 
     <!-- DeviceDefault theme for panel windows. This removes all extraneous window
     decorations, so you basically have an empty rectangle in which to place your content. It makes
     the window floating, with a transparent background, and turns off dimming behind the window. -->
-    <style name="Theme.DeviceDefault.Panel" parent="Theme.Material.Panel"  />
+    <style name="Theme.DeviceDefault.Panel" parent="Theme.Material.Panel">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
 
     <!-- DeviceDefault theme for windows that want to have the user's selected wallpaper appear
     behind them. -->
-    <style name="Theme.DeviceDefault.Wallpaper" parent="Theme.Material.Wallpaper"  />
+    <style name="Theme.DeviceDefault.Wallpaper" parent="Theme.Material.Wallpaper">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
 
     <!-- DeviceDefault theme for windows that want to have the user's selected wallpaper appear
     behind them and without an action bar. -->
-    <style name="Theme.DeviceDefault.Wallpaper.NoTitleBar" parent="Theme.Material.Wallpaper.NoTitleBar"  />
+    <style name="Theme.DeviceDefault.Wallpaper.NoTitleBar" parent="Theme.Material.Wallpaper.NoTitleBar">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
 
     <!-- DeviceDefault style for input methods, which is used by the
          {@link android.inputmethodservice.InputMethodService} class.-->
-    <style name="Theme.DeviceDefault.InputMethod" parent="Theme.Material.InputMethod"  />
+    <style name="Theme.DeviceDefault.InputMethod" parent="Theme.Material.InputMethod">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
 
     <!-- DeviceDefault style for input methods, which is used by the
          {@link android.service.voice.VoiceInteractionSession} class.-->
-    <style name="Theme.DeviceDefault.VoiceInteractionSession" parent="Theme.Material.VoiceInteractionSession" >
-
+    <style name="Theme.DeviceDefault.VoiceInteractionSession" parent="Theme.Material.VoiceInteractionSession">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
     </style>
+
     <style name="Theme.DeviceDefault.Dialog.Alert" parent="Theme.Material.Dialog.Alert">
         <item name="windowTitleStyle">@style/DialogWindowTitle.DeviceDefault</item>
+
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
     </style>
 
-    <style name="Theme.DeviceDefault.SearchBar" parent="Theme.Material.SearchBar" />
-    <style name="Theme.DeviceDefault.Dialog.NoFrame" parent="Theme.Material.Dialog.NoFrame" />
+    <style name="Theme.DeviceDefault.SearchBar" parent="Theme.Material.SearchBar">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
+
+    <style name="Theme.DeviceDefault.Dialog.NoFrame" parent="Theme.Material.Dialog.NoFrame">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
 
     <!-- Variant of {@link #Theme_DeviceDefault} with a light-colored style -->
     <style name="Theme.DeviceDefault.Light" parent="Theme.Material.Light" >
@@ -447,34 +547,63 @@
 
         <item name="mediaRouteButtonStyle">@style/Widget.DeviceDefault.Light.MediaRouteButton</item>
 
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
     </style>
 
     <!-- Variant of the DeviceDefault (light) theme that has a solid (opaque) action bar with an
     inverse color profile. -->
-    <style name="Theme.DeviceDefault.Light.DarkActionBar" parent="Theme.Material.Light.DarkActionBar" />
+    <style name="Theme.DeviceDefault.Light.DarkActionBar" parent="Theme.Material.Light.DarkActionBar">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_dark</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_dark</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
 
     <!-- Variant of {@link #Theme_DeviceDefault_Light} with no action bar -->
-    <style name="Theme.DeviceDefault.Light.NoActionBar" parent="Theme.Material.Light.NoActionBar"  />
+    <style name="Theme.DeviceDefault.Light.NoActionBar" parent="Theme.Material.Light.NoActionBar">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
 
     <!-- Variant of {@link #Theme_DeviceDefault_Light} with no action bar and no status bar.
          This theme sets {@link android.R.attr#windowFullscreen} to true.  -->
-    <style name="Theme.DeviceDefault.Light.NoActionBar.Fullscreen" parent="Theme.Material.Light.NoActionBar.Fullscreen"  />
+    <style name="Theme.DeviceDefault.Light.NoActionBar.Fullscreen" parent="Theme.Material.Light.NoActionBar.Fullscreen">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
 
     <!-- Variant of {@link #Theme_DeviceDefault_Light} with no action bar and no status bar
     and extending in to overscan region.  This theme
     sets {@link android.R.attr#windowFullscreen} and {@link android.R.attr#windowOverscan}
     to true. -->
-    <style name="Theme.DeviceDefault.Light.NoActionBar.Overscan" parent="Theme.Material.Light.NoActionBar.Overscan" />
+    <style name="Theme.DeviceDefault.Light.NoActionBar.Overscan" parent="Theme.Material.Light.NoActionBar.Overscan">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
 
     <!-- Variant of {@link #Theme_DeviceDefault_Light} that has no title bar and translucent
          system decor.  This theme sets {@link android.R.attr#windowTranslucentStatus} and
          {@link android.R.attr#windowTranslucentNavigation} to true. -->
-    <style name="Theme.DeviceDefault.Light.NoActionBar.TranslucentDecor" parent="Theme.Material.Light.NoActionBar.TranslucentDecor" />
+    <style name="Theme.DeviceDefault.Light.NoActionBar.TranslucentDecor" parent="Theme.Material.Light.NoActionBar.TranslucentDecor">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
 
     <!-- DeviceDefault light theme for dialog windows and activities. This changes the window to be
     floating (not fill the entire screen), and puts a frame around its contents. You can set this
     theme on an activity if you would like to make an activity that looks like a Dialog.-->
-    <style name="Theme.DeviceDefault.Light.Dialog" parent="Theme.Material.Light.Dialog" >
+    <style name="Theme.DeviceDefault.Light.Dialog" parent="Theme.Material.Light.Dialog">
         <item name="windowTitleStyle">@style/DialogWindowTitle.DeviceDefault.Light</item>
         <item name="windowAnimationStyle">@style/Animation.DeviceDefault.Dialog</item>
 
@@ -483,18 +612,38 @@
 
         <item name="textAppearance">@style/TextAppearance.DeviceDefault</item>
         <item name="textAppearanceInverse">@style/TextAppearance.DeviceDefault.Inverse</item>
+
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
     </style>
 
     <!-- Variant of {@link #Theme_DeviceDefault_Light_Dialog} that has a nice minimum width for a
     regular dialog. -->
-    <style name="Theme.DeviceDefault.Light.Dialog.MinWidth" parent="Theme.Material.Light.Dialog.MinWidth" />
+    <style name="Theme.DeviceDefault.Light.Dialog.MinWidth" parent="Theme.Material.Light.Dialog.MinWidth">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
 
      <!-- Variant of {@link #Theme_DeviceDefault_Light_Dialog} without an action bar -->
-    <style name="Theme.DeviceDefault.Light.Dialog.NoActionBar" parent="Theme.Material.Light.Dialog.NoActionBar" />
+    <style name="Theme.DeviceDefault.Light.Dialog.NoActionBar" parent="Theme.Material.Light.Dialog.NoActionBar">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
 
     <!-- Variant of {@link #Theme_DeviceDefault_Light_Dialog_NoActionBar} that has a nice minimum
     width for a regular dialog. -->
-    <style name="Theme.DeviceDefault.Light.Dialog.NoActionBar.MinWidth" parent="Theme.Material.Light.Dialog.NoActionBar.MinWidth" />
+    <style name="Theme.DeviceDefault.Light.Dialog.NoActionBar.MinWidth" parent="Theme.Material.Light.Dialog.NoActionBar.MinWidth">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
 
     <!-- Variant of Theme.DeviceDefault.Dialog that has a fixed size. -->
     <style name="Theme.DeviceDefault.Light.Dialog.FixedSize">
@@ -502,6 +651,11 @@
         <item name="windowFixedWidthMinor">@dimen/dialog_fixed_width_minor</item>
         <item name="windowFixedHeightMajor">@dimen/dialog_fixed_height_major</item>
         <item name="windowFixedHeightMinor">@dimen/dialog_fixed_height_minor</item>
+
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
     </style>
 
     <!-- Variant of Theme.DeviceDefault.Dialog.NoActionBar that has a fixed size. -->
@@ -510,33 +664,119 @@
         <item name="windowFixedWidthMinor">@dimen/dialog_fixed_width_minor</item>
         <item name="windowFixedHeightMajor">@dimen/dialog_fixed_height_major</item>
         <item name="windowFixedHeightMinor">@dimen/dialog_fixed_height_minor</item>
+
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
     </style>
 
     <!-- DeviceDefault light theme for a window that will be displayed either full-screen on smaller
     screens (small, normal) or as a dialog on larger screens (large, xlarge). -->
-    <style name="Theme.DeviceDefault.Light.DialogWhenLarge" parent="Theme.Material.Light.DialogWhenLarge"  />
+    <style name="Theme.DeviceDefault.Light.DialogWhenLarge" parent="Theme.Material.Light.DialogWhenLarge">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
 
     <!-- DeviceDefault light theme for a window without an action bar that will be displayed either
     full-screen on smaller screens (small, normal) or as a dialog on larger screens (large,
     xlarge). -->
-    <style name="Theme.DeviceDefault.Light.DialogWhenLarge.NoActionBar" parent="Theme.Material.Light.DialogWhenLarge.NoActionBar"  />
+    <style name="Theme.DeviceDefault.Light.DialogWhenLarge.NoActionBar" parent="Theme.Material.Light.DialogWhenLarge.NoActionBar">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
 
     <!-- DeviceDefault light theme for a presentation window on a secondary display. -->
-    <style name="Theme.DeviceDefault.Light.Dialog.Presentation" parent="Theme.Material.Light.Dialog.Presentation" />
+    <style name="Theme.DeviceDefault.Light.Dialog.Presentation" parent="Theme.Material.Light.Dialog.Presentation">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
 
     <!-- DeviceDefault light theme for panel windows. This removes all extraneous window
     decorations, so you basically have an empty rectangle in which to place your content. It makes
     the window floating, with a transparent background, and turns off dimming behind the window. -->
-    <style name="Theme.DeviceDefault.Light.Panel" parent="Theme.Material.Light.Panel"  />
+    <style name="Theme.DeviceDefault.Light.Panel" parent="Theme.Material.Light.Panel">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
 
     <style name="Theme.DeviceDefault.Light.Dialog.Alert" parent="Theme.Material.Light.Dialog.Alert">
         <item name="windowTitleStyle">@style/DialogWindowTitle.DeviceDefault.Light</item>
+
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
     </style>
 
-    <style name="Theme.DeviceDefault.Light.SearchBar" parent="Theme.Material.Light.SearchBar" />
+    <style name="Theme.DeviceDefault.Light.SearchBar" parent="Theme.Material.Light.SearchBar">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
+
 
     <!-- DeviceDefault theme for a window that should look like the Settings app.  -->
-    <style name="Theme.DeviceDefault.Settings" parent="Theme.Material.Settings" />
+    <style name="Theme.DeviceDefault.Settings" parent="Theme.Material.Settings">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_settings</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_settings</item>
+        <item name="colorSecondary">@color/secondary_device_default_settings</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
+
+    <!-- DeviceDefault theme for a window that should use Settings theme colors but has
+         a full dark palette (instead of Light with dark action bar like
+         Theme.DeviceDefault.Settings.  -->
+    <style name="Theme.DeviceDefault.Settings.Dark" parent="Theme.Material">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_settings</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_settings</item>
+        <item name="colorSecondary">@color/secondary_device_default_settings</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
+
+    <!-- Variant of {@link #Theme_DeviceDefault_Settings_Dark} with no action bar -->
+    <style name="Theme.DeviceDefault.Settings.Dark.NoActionBar" parent="Theme.Material.NoActionBar">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_settings</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_settings</item>
+        <item name="colorSecondary">@color/secondary_device_default_settings</item>
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
+
+    <style name="Theme.DeviceDefault.Settings.Dialog" parent="Theme.Material.Settings.Dialog">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_settings</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_settings</item>
+        <item name="colorSecondary">@color/secondary_device_default_settings</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
+
+    <style name="Theme.DeviceDefault.Settings.DialogWhenLarge" parent="Theme.Material.Settings.DialogWhenLarge">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_settings</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_settings</item>
+        <item name="colorSecondary">@color/secondary_device_default_settings</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
+
+    <style name="Theme.DeviceDefault.Settings.Dialog.Alert" parent="Theme.Material.Settings.Dialog.Alert">
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_settings</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_settings</item>
+        <item name="colorSecondary">@color/secondary_device_default_settings</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
 
     <!-- Theme used for the intent picker activity. -->
     <style name="Theme.DeviceDefault.Resolver" parent="Theme.Material.Light">
@@ -549,6 +789,28 @@
         <item name="colorControlActivated">?attr/colorControlHighlight</item>
         <item name="listPreferredItemPaddingStart">?attr/dialogPreferredPadding</item>
         <item name="listPreferredItemPaddingEnd">?attr/dialogPreferredPadding</item>
+
+        <!-- Color palette -->
+        <item name="colorPrimary">@color/primary_device_default_light</item>
+        <item name="colorPrimaryDark">@color/primary_dark_device_default_light</item>
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
+
+    <!-- DeviceDefault theme for the default system theme.  -->
+    <style name="Theme.DeviceDefault.System" parent="Theme.DeviceDefault.Light.DarkActionBar" />
+
+    <style name="ThemeOverlay.DeviceDefault" />
+
+    <style name="ThemeOverlay.DeviceDefault.Accent">
+        <item name="colorAccent">@color/accent_device_default_dark</item>
+    </style>
+
+    <style name="ThemeOverlay.DeviceDefault.Accent.Light">
+        <item name="colorAccent">@color/accent_device_default_light</item>
+    </style>
+
+    <style name="ThemeOverlay.DeviceDefault.Dark.ActionBar.Accent" parent="ThemeOverlay.Material.Dark.ActionBar">
+        <item name="colorAccent">@color/accent_device_default_dark</item>
     </style>
 
 </resources>
diff --git a/core/res/res/values/themes_material.xml b/core/res/res/values/themes_material.xml
index 2ea5c5e..35ce9b0 100644
--- a/core/res/res/values/themes_material.xml
+++ b/core/res/res/values/themes_material.xml
@@ -119,8 +119,8 @@
         <item name="textAppearanceListItemSecondary">@style/TextAppearance.Material.Body1</item>
         <item name="listPreferredItemPaddingLeft">@dimen/list_item_padding_horizontal_material</item>
         <item name="listPreferredItemPaddingRight">@dimen/list_item_padding_horizontal_material</item>
-        <item name="listPreferredItemPaddingStart">@dimen/list_item_padding_horizontal_material</item>
-        <item name="listPreferredItemPaddingEnd">@dimen/list_item_padding_horizontal_material</item>
+        <item name="listPreferredItemPaddingStart">@dimen/list_item_padding_start_material</item>
+        <item name="listPreferredItemPaddingEnd">@dimen/list_item_padding_end_material</item>
 
         <!-- @hide -->
         <item name="searchResultListItemHeight">58dip</item>
@@ -153,9 +153,9 @@
         <item name="windowBackground">?attr/colorBackground</item>
         <item name="windowClipToOutline">true</item>
         <item name="windowFrame">@null</item>
-        <item name="windowNoTitle">false</item>
+        <item name="windowNoTitle">@bool/config_windowNoTitleDefault</item>
         <item name="windowFullscreen">false</item>
-        <item name="windowOverscan">false</item>
+        <item name="windowOverscan">@bool/config_windowOverscanByDefault</item>
         <item name="windowIsFloating">false</item>
         <item name="windowContentOverlay">@null</item>
         <item name="windowShowWallpaper">false</item>
@@ -164,7 +164,7 @@
         <item name="windowTitleBackgroundStyle">@style/WindowTitleBackground.Material</item>
         <item name="windowAnimationStyle">@style/Animation.Material.Activity</item>
         <item name="windowSoftInputMode">stateUnspecified|adjustUnspecified</item>
-        <item name="windowActionBar">true</item>
+        <item name="windowActionBar">@bool/config_windowActionBarSupported</item>
         <item name="windowActionModeOverlay">false</item>
         <item name="windowDrawsSystemBarBackgrounds">true</item>
         <item name="windowActionBarFullscreenDecorLayout">@layout/screen_toolbar</item>
@@ -480,8 +480,8 @@
         <item name="textAppearanceListItemSecondary">@style/TextAppearance.Material.Body1</item>
         <item name="listPreferredItemPaddingLeft">@dimen/list_item_padding_horizontal_material</item>
         <item name="listPreferredItemPaddingRight">@dimen/list_item_padding_horizontal_material</item>
-        <item name="listPreferredItemPaddingStart">@dimen/list_item_padding_horizontal_material</item>
-        <item name="listPreferredItemPaddingEnd">@dimen/list_item_padding_horizontal_material</item>
+        <item name="listPreferredItemPaddingStart">@dimen/list_item_padding_start_material</item>
+        <item name="listPreferredItemPaddingEnd">@dimen/list_item_padding_end_material</item>
 
         <!-- @hide -->
         <item name="searchResultListItemHeight">58dip</item>
@@ -514,9 +514,9 @@
         <item name="windowBackground">?attr/colorBackground</item>
         <item name="windowClipToOutline">true</item>
         <item name="windowFrame">@null</item>
-        <item name="windowNoTitle">false</item>
+        <item name="windowNoTitle">@bool/config_windowNoTitleDefault</item>
         <item name="windowFullscreen">false</item>
-        <item name="windowOverscan">false</item>
+        <item name="windowOverscan">@bool/config_windowOverscanByDefault</item>
         <item name="windowIsFloating">false</item>
         <item name="windowContentOverlay">@null</item>
         <item name="windowShowWallpaper">false</item>
@@ -525,7 +525,7 @@
         <item name="windowTitleBackgroundStyle">@style/WindowTitleBackground.Material</item>
         <item name="windowAnimationStyle">@style/Animation.Material.Activity</item>
         <item name="windowSoftInputMode">stateUnspecified|adjustUnspecified</item>
-        <item name="windowActionBar">true</item>
+        <item name="windowActionBar">@bool/config_windowActionBarSupported</item>
         <item name="windowActionModeOverlay">false</item>
         <item name="windowDrawsSystemBarBackgrounds">true</item>
         <item name="windowActionBarFullscreenDecorLayout">@layout/screen_toolbar</item>
@@ -864,11 +864,8 @@
         <item name="searchViewStyle">@style/Widget.Material.SearchView.ActionBar</item>
     </style>
 
-    <!-- Theme overlay that overrides window properties to display as a dialog. -->
-    <style name="ThemeOverlay.Material.Dialog">
-        <item name="colorBackgroundCacheHint">@null</item>
-        <item name="colorBackground">?attr/colorBackgroundFloating</item>
-
+    <!-- Base theme for overlay dialogs, customize the colours in the actual dialog theme. -->
+    <style name="ThemeOverlay.Material.BaseDialog">
         <item name="windowFrame">@null</item>
         <item name="windowTitleStyle">@style/DialogWindowTitle.Material</item>
         <item name="windowTitleBackgroundStyle">@style/DialogWindowTitleBackground.Material</item>
@@ -897,6 +894,12 @@
         <item name="windowFixedHeightMinor">@null</item>
     </style>
 
+    <!-- Theme overlay that overrides window properties to display as a dialog. -->
+    <style name="ThemeOverlay.Material.Dialog" parent="ThemeOverlay.Material.BaseDialog">
+        <item name="colorBackgroundCacheHint">@null</item>
+        <item name="colorBackground">?attr/colorBackgroundFloating</item>
+    </style>
+
     <!-- Theme overlay that overrides window properties to display as a date picker dialog. -->
     <style name="ThemeOverlay.Material.Dialog.DatePicker">
         <item name="alertDialogStyle">@style/DatePickerDialog.Material</item>
@@ -1090,10 +1093,10 @@
 
         <item name="colorBackgroundCacheHint">@null</item>
 
-        <item name="listPreferredItemPaddingLeft">24dip</item>
-        <item name="listPreferredItemPaddingRight">24dip</item>
-        <item name="listPreferredItemPaddingStart">24dip</item>
-        <item name="listPreferredItemPaddingEnd">24dip</item>
+        <item name="listPreferredItemPaddingLeft">?attr/dialogPreferredPadding</item>
+        <item name="listPreferredItemPaddingRight">?attr/dialogPreferredPadding</item>
+        <item name="listPreferredItemPaddingStart">?attr/dialogPreferredPadding</item>
+        <item name="listPreferredItemPaddingEnd">?attr/dialogPreferredPadding</item>
 
         <item name="listDivider">@null</item>
 
@@ -1201,10 +1204,10 @@
 
         <item name="colorBackgroundCacheHint">@null</item>
 
-        <item name="listPreferredItemPaddingLeft">24dip</item>
-        <item name="listPreferredItemPaddingRight">24dip</item>
-        <item name="listPreferredItemPaddingStart">24dip</item>
-        <item name="listPreferredItemPaddingEnd">24dip</item>
+        <item name="listPreferredItemPaddingLeft">?attr/dialogPreferredPadding</item>
+        <item name="listPreferredItemPaddingRight">?attr/dialogPreferredPadding</item>
+        <item name="listPreferredItemPaddingStart">?attr/dialogPreferredPadding</item>
+        <item name="listPreferredItemPaddingEnd">?attr/dialogPreferredPadding</item>
 
         <item name="listDivider">@null</item>
 
@@ -1300,8 +1303,9 @@
 
     <!-- Default theme for Settings and activities launched from Settings. -->
     <style name="Theme.Material.Settings" parent="Theme.Material.Light.DarkActionBar">
-        <item name="colorPrimary">@color/material_blue_grey_900</item>
-        <item name="colorPrimaryDark">@color/material_blue_grey_950</item>
+        <item name="colorPrimary">@color/primary_material_settings</item>
+        <item name="colorPrimaryDark">@color/primary_dark_material_settings</item>
+        <item name="colorSecondary">@color/secondary_material_settings</item>
 
         <item name="presentationTheme">@style/Theme.Material.Settings.Dialog.Presentation</item>
         <item name="searchDialogTheme">@style/Theme.Material.Settings.SearchBar</item>
@@ -1310,8 +1314,9 @@
 
     <!-- Default theme for Settings and activities launched from Settings. -->
     <style name="Theme.Material.Settings.NoActionBar" parent="Theme.Material.Light.NoActionBar">
-        <item name="colorPrimary">@color/material_blue_grey_900</item>
-        <item name="colorPrimaryDark">@color/material_blue_grey_950</item>
+        <item name="colorPrimary">@color/primary_material_settings</item>
+        <item name="colorPrimaryDark">@color/primary_dark_material_settings</item>
+        <item name="colorSecondary">@color/secondary_material_settings</item>
 
         <item name="presentationTheme">@style/Theme.Material.Settings.Dialog.Presentation</item>
         <item name="searchDialogTheme">@style/Theme.Material.Settings.SearchBar</item>
@@ -1319,41 +1324,48 @@
     </style>
 
     <style name="Theme.Material.Settings.BaseDialog" parent="Theme.Material.Light.BaseDialog">
-        <item name="colorPrimary">@color/material_blue_grey_900</item>
-        <item name="colorPrimaryDark">@color/material_blue_grey_950</item>
+        <item name="colorPrimary">@color/primary_material_settings</item>
+        <item name="colorPrimaryDark">@color/primary_dark_material_settings</item>
+        <item name="colorSecondary">@color/secondary_material_settings</item>
     </style>
 
     <style name="Theme.Material.Settings.Dialog" parent="Theme.Material.Settings.BaseDialog" />
 
     <style name="Theme.Material.Settings.Dialog.BaseAlert" parent="Theme.Material.Light.Dialog.BaseAlert">
-        <item name="colorPrimary">@color/material_blue_grey_900</item>
-        <item name="colorPrimaryDark">@color/material_blue_grey_950</item>
+        <item name="colorPrimary">@color/primary_material_settings</item>
+        <item name="colorPrimaryDark">@color/primary_dark_material_settings</item>
+        <item name="colorSecondary">@color/secondary_material_settings</item>
     </style>
 
     <style name="Theme.Material.Settings.Dialog.Alert" parent="Theme.Material.Settings.Dialog.BaseAlert" />
 
     <style name="Theme.Material.Settings.DialogWhenLarge" parent="Theme.Material.Light.DialogWhenLarge.DarkActionBar">
-        <item name="colorPrimary">@color/material_blue_grey_900</item>
-        <item name="colorPrimaryDark">@color/material_blue_grey_950</item>
+        <item name="colorPrimary">@color/primary_material_settings</item>
+        <item name="colorPrimaryDark">@color/primary_dark_material_settings</item>
+        <item name="colorSecondary">@color/secondary_material_settings</item>
     </style>
 
     <style name="Theme.Material.Settings.DialogWhenLarge.NoActionBar" parent="Theme.Material.Light.DialogWhenLarge.NoActionBar">
-        <item name="colorPrimary">@color/material_blue_grey_900</item>
-        <item name="colorPrimaryDark">@color/material_blue_grey_950</item>
+        <item name="colorPrimary">@color/primary_material_settings</item>
+        <item name="colorPrimaryDark">@color/primary_dark_material_settings</item>
+        <item name="colorSecondary">@color/secondary_material_settings</item>
     </style>
 
     <style name="Theme.Material.Settings.Dialog.Presentation" parent="Theme.Material.Light.Dialog.Presentation">
-        <item name="colorPrimary">@color/material_blue_grey_900</item>
-        <item name="colorPrimaryDark">@color/material_blue_grey_950</item>
+        <item name="colorPrimary">@color/primary_material_settings</item>
+        <item name="colorPrimaryDark">@color/primary_dark_material_settings</item>
+        <item name="colorSecondary">@color/secondary_material_settings</item>
     </style>
 
     <style name="Theme.Material.Settings.SearchBar" parent="Theme.Material.Light.SearchBar">
-        <item name="colorPrimary">@color/material_blue_grey_900</item>
-        <item name="colorPrimaryDark">@color/material_blue_grey_950</item>
+        <item name="colorPrimary">@color/primary_material_settings</item>
+        <item name="colorPrimaryDark">@color/primary_dark_material_settings</item>
+        <item name="colorSecondary">@color/secondary_material_settings</item>
     </style>
 
     <style name="Theme.Material.Settings.CompactMenu" parent="Theme.Material.Light.CompactMenu">
-        <item name="colorPrimary">@color/material_blue_grey_900</item>
-        <item name="colorPrimaryDark">@color/material_blue_grey_950</item>
+        <item name="colorPrimary">@color/primary_material_settings</item>
+        <item name="colorPrimaryDark">@color/primary_dark_material_settings</item>
+        <item name="colorSecondary">@color/secondary_material_settings</item>
     </style>
 </resources>
diff --git a/core/res/res/values/themes_micro.xml b/core/res/res/values/themes_micro.xml
deleted file mode 100644
index 63a6a48..0000000
--- a/core/res/res/values/themes_micro.xml
+++ /dev/null
@@ -1,143 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<resources>
-    <style name="Theme.MicroBase" parent="Theme.Material.NoActionBar">
-        <item name="alertDialogTheme">@style/Theme.Micro.Dialog.Alert</item>
-        <item name="alertDialogStyle">@style/AlertDialog.Micro</item>
-        <item name="dialogTheme">@style/Theme.Micro.Dialog</item>
-        <item name="textViewStyle">@style/Widget.Micro.TextView</item>
-        <item name="editTextStyle">@style/Widget.Micro.EditText</item>
-        <item name="numberPickerStyle">@style/Widget.Micro.NumberPicker</item>
-        <item name="windowAnimationStyle">@style/Animation.Micro.Activity</item>
-        <item name="windowBackground">@color/background_micro_dark</item>
-        <item name="windowContentOverlay">@null</item>
-        <item name="windowIsFloating">false</item>
-        <!-- Required to force windowInsets dispatch through application UI. -->
-        <item name="windowOverscan">true</item>
-
-        <item name="textAppearance">@style/TextAppearance.Micro</item>
-        <item name="textAppearanceInverse">@style/TextAppearance.Micro.Inverse</item>
-
-        <item name="textAppearanceLarge">@style/TextAppearance.Micro.Large</item>
-        <item name="textAppearanceMedium">@style/TextAppearance.Micro.Medium</item>
-        <item name="textAppearanceSmall">@style/TextAppearance.Micro.Small</item>
-
-        <item name="textAppearanceListItem">@style/TextAppearance.Micro.Subtitle</item>
-        <item name="textAppearanceListItemSmall">@style/TextAppearance.Micro.Body1</item>
-        <item name="textAppearanceListItemSecondary">@style/TextAppearance.Micro.Body2</item>
-        <item name="listPreferredItemPaddingLeft">@dimen/list_item_padding_left_micro</item>
-        <item name="listPreferredItemPaddingRight">@dimen/list_item_padding_right_micro</item>
-        <item name="listPreferredItemPaddingStart">@dimen/list_item_padding_left_micro</item>
-        <item name="listPreferredItemPaddingEnd">@dimen/list_item_padding_right_micro</item>
-
-        <!-- Dialog styling -->
-        <item name="buttonBarStyle">@style/Widget.Micro.ButtonBar</item>
-        <item name="buttonBarButtonStyle">@style/Widget.Micro.Button.ButtonBar.AlertDialog</item>
-
-        <!-- Color palette -->
-        <item name="colorPrimaryDark">@color/primary_dark_micro_dark</item>
-        <item name="colorPrimary">@color/primary_micro_dark</item>
-        <item name="colorAccent">@color/accent_micro_dark</item>
-        <item name="colorEdgeEffect">?attr/colorPrimary</item>
-
-        <!-- Preference styles -->
-        <item name="preferenceFragmentStyle">@style/PreferenceFragment.Micro</item>
-        <item name="preferenceFragmentListStyle">@style/PreferenceFragmentList.Micro</item>
-    </style>
-
-    <style name="Theme.Micro" parent="Theme.MicroBase">
-    </style>
-
-    <style name="Theme.Micro.LightBase" parent="Theme.Material.Light.NoActionBar">
-        <item name="alertDialogTheme">@style/Theme.Micro.Dialog.Alert</item>
-        <item name="alertDialogStyle">@style/AlertDialog.Micro</item>
-        <item name="dialogTheme">@style/Theme.Micro.Dialog</item>
-        <item name="textViewStyle">@style/Widget.Micro.TextView</item>
-        <item name="numberPickerStyle">@style/Widget.Micro.NumberPicker</item>
-        <item name="windowAnimationStyle">@style/Animation.Micro.Activity</item>
-        <item name="windowBackground">@color/white</item>
-        <item name="windowContentOverlay">@null</item>
-        <item name="windowIsFloating">false</item>
-        <!-- Required to force windowInsets dispatch through application UI. -->
-        <item name="windowOverscan">true</item>
-    </style>
-
-    <!-- Indirection needed for overlays to make sure there is a common base parent -->
-    <style name="Theme.Micro.Light" parent="Theme.Micro.LightBase">
-    </style>
-
-    <style name="Theme.Micro.DialogBase">
-        <item name="colorBackground">?attr/colorBackgroundFloating</item>
-
-        <item name="windowFrame">@null</item>
-        <item name="windowTitleBackgroundStyle">@style/DialogWindowTitleBackground.Material</item>
-        <item name="windowElevation">@dimen/floating_window_z</item>
-        <item name="windowContentOverlay">@null</item>
-        <item name="windowAnimationStyle">@style/Animation.Material.Dialog</item>
-        <item name="windowSoftInputMode">stateUnspecified|adjustPan</item>
-        <item name="windowActionBar">false</item>
-        <item name="windowActionModeOverlay">true</item>
-        <item name="windowCloseOnTouchOutside">@bool/config_closeDialogWhenTouchOutside</item>
-
-        <item name="colorBackgroundCacheHint">@null</item>
-
-        <item name="listDivider">@null</item>
-
-        <item name="preferencePanelStyle">@style/PreferencePanel.Dialog</item>
-
-        <item name="windowTitleStyle">@style/DialogWindowTitle.Micro</item>
-        <item name="windowIsFloating">false</item>
-        <item name="windowFullscreen">true</item>
-        <item name="windowBackground">@color/background_micro_dark</item>
-        <!-- Required to force windowInsets dispatch through application UI. -->
-        <item name="windowOverscan">true</item>
-    </style>
-
-    <!-- Indirection needed for overlays to make sure there is a common base parent -->
-    <style name="Theme.Micro.Dialog" parent="Theme.Micro.DialogBase">
-    </style>
-
-    <style name="Theme.Micro.Dialog.Alert">
-        <item name="windowTitleStyle">@style/DialogWindowTitle.Micro</item>
-        <item name="alertDialogStyle">@style/AlertDialog.Micro</item>
-        <item name="windowIsFloating">false</item>
-        <item name="windowOverscan">true</item>
-        <item name="windowContentOverlay">@null</item>
-        <item name="windowMinWidthMajor">@dimen/dialog_min_width_major</item>
-        <item name="windowMinWidthMinor">@dimen/dialog_min_width_minor</item>
-    </style>
-
-    <style name="Theme.Micro.Dialog.AppError" parent="Theme.Micro.Dialog">
-        <item name="alertDialogStyle">@style/AlertDialog.Micro</item>
-        <item name="textAppearance">@style/TextAppearance.Micro.Large</item>
-        <item name="windowOverscan">true</item>
-        <item name="windowCloseOnTouchOutside">false</item>
-    </style>
-
-   <style name="Theme.Micro.Panel" parent="Theme.Material.Panel"  />
-   <style name="Theme.Micro.Light.Panel" parent="Theme.Material.Light.Panel"  />
-
-    <!-- Default theme for material style input methods, which is used by the
-         {@link android.inputmethodservice.InputMethodService} class.
-         This inherits from Theme.Panel, but sets up IME appropriate animations
-         and a few custom attributes. -->
-    <style name="Theme.Micro.InputMethod" parent="Theme.Micro.Panel">
-        <item name="windowAnimationStyle">@style/Animation.InputMethod</item>
-        <item name="imeFullscreenBackground">#1e282c</item>
-        <item name="imeExtractEnterAnimation">@anim/input_method_extract_enter</item>
-        <item name="imeExtractExitAnimation">@anim/input_method_extract_exit</item>
-    </style>
-</resources>
diff --git a/core/tests/bluetoothtests/src/android/bluetooth/BluetoothTestUtils.java b/core/tests/bluetoothtests/src/android/bluetooth/BluetoothTestUtils.java
index a7ea43e..ee15978 100644
--- a/core/tests/bluetoothtests/src/android/bluetooth/BluetoothTestUtils.java
+++ b/core/tests/bluetoothtests/src/android/bluetooth/BluetoothTestUtils.java
@@ -425,38 +425,40 @@
      * @param adapter The BT adapter.
      */
     public void enable(BluetoothAdapter adapter) {
-        int mask = (BluetoothReceiver.STATE_TURNING_ON_FLAG | BluetoothReceiver.STATE_ON_FLAG
-                | BluetoothReceiver.SCAN_MODE_CONNECTABLE_FLAG);
-        long start = System.currentTimeMillis();
-        BluetoothReceiver receiver = getBluetoothReceiver(mask);
-
         writeOutput("Enabling Bluetooth adapter.");
         assertFalse(adapter.isEnabled());
-        assertTrue(adapter.enable());
-
-        int state = BluetoothAdapter.STATE_OFF;
-        long s = System.currentTimeMillis();
-        while (System.currentTimeMillis() - s < ENABLE_DISABLE_TIMEOUT) {
-            state = adapter.getState();
-            if (state == BluetoothAdapter.STATE_ON
-                    && (receiver.getFiredFlags() & mask) == mask) {
-                assertTrue(adapter.isEnabled());
-                long finish = receiver.getCompletedTime();
-                if (start != -1 && finish != -1) {
-                    writeOutput(String.format("enable() completed in %d ms", (finish - start)));
-                } else {
-                    writeOutput("enable() completed");
+        int btState = adapter.getState();
+        final Semaphore completionSemaphore = new Semaphore(0);
+        final BroadcastReceiver receiver = new BroadcastReceiver() {
+            @Override
+            public void onReceive(Context context, Intent intent) {
+                final String action = intent.getAction();
+                if (!BluetoothAdapter.ACTION_STATE_CHANGED.equals(action)) {
+                    return;
                 }
-                removeReceiver(receiver);
-                return;
+                final int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE,
+                        BluetoothAdapter.ERROR);
+                if (state == BluetoothAdapter.STATE_ON) {
+                    completionSemaphore.release();
+                }
             }
-            sleep(POLL_TIME);
-        }
+        };
 
-        int firedFlags = receiver.getFiredFlags();
-        removeReceiver(receiver);
-        fail(String.format("enable() timeout: state=%d (expected %d), flags=0x%x (expected 0x%x)",
-                state, BluetoothAdapter.STATE_ON, firedFlags, mask));
+        final IntentFilter filter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
+        mContext.registerReceiver(receiver, filter);
+        assertTrue(adapter.enable());
+        boolean success = false;
+        try {
+            success = completionSemaphore.tryAcquire(ENABLE_DISABLE_TIMEOUT, TimeUnit.MILLISECONDS);
+            writeOutput(String.format("enable() completed in 0 ms"));
+        } catch (final InterruptedException e) {
+            // This should never happen but just in case it does, the test will fail anyway.
+        }
+        mContext.unregisterReceiver(receiver);
+        if (!success) {
+            fail(String.format("enable() timeout: state=%d (expected %d)", btState,
+                    BluetoothAdapter.STATE_ON));
+        }
     }
 
     /**
@@ -466,38 +468,40 @@
      * @param adapter The BT adapter.
      */
     public void disable(BluetoothAdapter adapter) {
-        int mask = (BluetoothReceiver.STATE_TURNING_OFF_FLAG | BluetoothReceiver.STATE_OFF_FLAG
-                | BluetoothReceiver.SCAN_MODE_NONE_FLAG);
-        long start = System.currentTimeMillis();
-        BluetoothReceiver receiver = getBluetoothReceiver(mask);
-
         writeOutput("Disabling Bluetooth adapter.");
         assertTrue(adapter.isEnabled());
-        assertTrue(adapter.disable());
-
-        int state = BluetoothAdapter.STATE_OFF;
-        long s = System.currentTimeMillis();
-        while (System.currentTimeMillis() - s < ENABLE_DISABLE_TIMEOUT) {
-            state = adapter.getState();
-            if (state == BluetoothAdapter.STATE_OFF
-                    && (receiver.getFiredFlags() & mask) == mask) {
-                assertFalse(adapter.isEnabled());
-                long finish = receiver.getCompletedTime();
-                if (start != -1 && finish != -1) {
-                    writeOutput(String.format("disable() completed in %d ms", (finish - start)));
-                } else {
-                    writeOutput("disable() completed");
+        int btState = adapter.getState();
+        final Semaphore completionSemaphore = new Semaphore(0);
+        final BroadcastReceiver receiver = new BroadcastReceiver() {
+            @Override
+            public void onReceive(Context context, Intent intent) {
+                final String action = intent.getAction();
+                if (!BluetoothAdapter.ACTION_STATE_CHANGED.equals(action)) {
+                    return;
                 }
-                removeReceiver(receiver);
-                return;
+                final int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE,
+                        BluetoothAdapter.ERROR);
+                if (state == BluetoothAdapter.STATE_OFF) {
+                    completionSemaphore.release();
+                }
             }
-            sleep(POLL_TIME);
-        }
+        };
 
-        int firedFlags = receiver.getFiredFlags();
-        removeReceiver(receiver);
-        fail(String.format("disable() timeout: state=%d (expected %d), flags=0x%x (expected 0x%x)",
-                state, BluetoothAdapter.STATE_OFF, firedFlags, mask));
+        final IntentFilter filter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
+        mContext.registerReceiver(receiver, filter);
+        assertTrue(adapter.disable());
+        boolean success = false;
+        try {
+            success = completionSemaphore.tryAcquire(ENABLE_DISABLE_TIMEOUT, TimeUnit.MILLISECONDS);
+            writeOutput(String.format("disable() completed in 0 ms"));
+        } catch (final InterruptedException e) {
+            // This should never happen but just in case it does, the test will fail anyway.
+        }
+        mContext.unregisterReceiver(receiver);
+        if (!success) {
+            fail(String.format("disable() timeout: state=%d (expected %d)", btState,
+                    BluetoothAdapter.STATE_OFF));
+        }
     }
 
     /**
diff --git a/core/tests/coretests/src/android/content/res/ResourcesManagerTest.java b/core/tests/coretests/src/android/content/res/ResourcesManagerTest.java
index 39a2907..f088197 100644
--- a/core/tests/coretests/src/android/content/res/ResourcesManagerTest.java
+++ b/core/tests/coretests/src/android/content/res/ResourcesManagerTest.java
@@ -23,6 +23,8 @@
 import android.util.DisplayMetrics;
 import android.util.TypedValue;
 import android.view.Display;
+import android.view.DisplayAdjustments;
+
 import junit.framework.TestCase;
 
 public class ResourcesManagerTest extends TestCase {
@@ -58,7 +60,7 @@
             }
 
             @Override
-            protected DisplayMetrics getDisplayMetrics(int displayId) {
+            protected DisplayMetrics getDisplayMetrics(int displayId, DisplayAdjustments daj) {
                 return mDisplayMetrics;
             }
         };
diff --git a/core/tests/notificationtests/src/android/app/NotificationStressTest.java b/core/tests/notificationtests/src/android/app/NotificationStressTest.java
index 6e86c37..f174014 100644
--- a/core/tests/notificationtests/src/android/app/NotificationStressTest.java
+++ b/core/tests/notificationtests/src/android/app/NotificationStressTest.java
@@ -40,9 +40,9 @@
     private static final int NUM_ITERATIONS = 200;
     private static final int NUM_ITERATIONS_2 = 30;
     private static final int LONG_TIMEOUT = 2000;
-    // 50 notifications per app: defined as Variable MAX_PACKAGE_NOTIFICATIONS in
+    // 49 notifications per app: defined as Variable MAX_PACKAGE_NOTIFICATIONS in
     // NotificationManagerService.java
-    private static final int MAX_NOTIFCATIONS = 50;
+    private static final int MAX_NOTIFCATIONS = 49;
     private static final int[] ICONS = new int[] {
             android.R.drawable.stat_notify_call_mute,
             android.R.drawable.stat_notify_chat,
@@ -76,9 +76,10 @@
 
     @Override
     protected void tearDown() throws Exception {
-        super.tearDown();
         mDevice.unfreezeRotation();
         mNotificationManager.cancelAll();
+        mDevice.waitForIdle();
+        super.tearDown();
     }
 
     @RepetitiveTest(numIterations = NUM_ITERATIONS)
@@ -97,7 +98,7 @@
         for (int j = 0; j < MAX_NOTIFCATIONS; j++) {
             sendNotification(mNotifyId++, "testNotificationStressNotify");
         }
-        Thread.sleep(500);
+        Thread.sleep(LONG_TIMEOUT);
         assertTrue(mNotificationManager.getActiveNotifications().length == MAX_NOTIFCATIONS);
         for (int j = 0; j < MAX_NOTIFCATIONS; j++) {
             mNotificationManager.cancel(--mNotifyId);
@@ -124,7 +125,8 @@
                 .setPriority(Notification.PRIORITY_HIGH)
                 .build();
         mNotificationManager.notify(id, notification);
-        SystemClock.sleep(10);
+        //update rate limit is 50 notifications/second.
+        SystemClock.sleep(20);
     }
 
     private boolean isLockScreen() {
diff --git a/docs/html-intl/intl/es/preview/_book.yaml b/docs/html-intl/intl/es/preview/_book.yaml
new file mode 100644
index 0000000..815f0f6
--- /dev/null
+++ b/docs/html-intl/intl/es/preview/_book.yaml
@@ -0,0 +1,342 @@
+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/api-overview.jd b/docs/html-intl/intl/es/preview/api-overview.jd
index 02a13e7..f84bede 100644
--- a/docs/html-intl/intl/es/preview/api-overview.jd
+++ b/docs/html-intl/intl/es/preview/api-overview.jd
@@ -1,5 +1,5 @@
-page.title=Android N para desarrolladores
-meta.tags=“preview”, “Android N”
+page.title=Android N for Developers
+meta.tags="preview", "androidn"
 page.tags="preview", "developer preview"
 page.image=images/cards/card-n-apis_2x.png
 @jd:body
@@ -16,13 +16,15 @@
         <li><a href="#notification_enhancements">Notificaciones</a></li>
         <li><a href="#jit_aot">Compilación de JIT y AOT</a></li>
         <li><a href="#quick_path_to_app_install">Acceso rápido a la instalación de aplicaciones</a></li>
-        <li><a href="#doze_on_the_go">Doze en movimiento</a></li>
+        <li><a href="#doze_on_the_go">Descanso en movimiento</a></li>
         <li><a href="#background_optimizations">Optimizaciones en segundo plano</a></li>
         <li><a href="#data_saver">Ahorro de datos</a></li>
-        <li><a href="#tile_api">API para Mosaico de Configuración rápida</a></li>
+        <li><a href="#vulkan">API Vulkan</a></li>
+        <li><a href="#tile_api">API para mosaicos de Quick Settings</a></li>
         <li><a href="#number-blocking">Bloqueo de números</a></li>
         <li><a href="#call_screening">Filtración de llamadas</a></li>
         <li><a href="#multi-locale_languages">Configuraciones regionales e idiomas</a></li>
+        <li><a href="#emoji">Nuevos emojis</a></li>
         <li><a href="#icu4">API de ICU4J en Android</a></li>
         <li><a href="#gles_32">API de OpenGL ES 3.2</a></li>
         <li><a href="#android_tv_recording">Grabación de Android TV</a></li>
@@ -32,8 +34,14 @@
         <li><a href="#key_attestation">Atestación de claves</a></li>
         <li><a href="#network_security_config">Configuración de seguridad de la red</a></li>
         <li><a href="#default_trusted_ca">CA de confianza predeterminada</a></li>
-        <li><a href="apk_signature_v2">Esquema de firma de APK v2</a></li>
+        <li><a href="#apk_signature_v2">Esquema de firma de APK v2</a></li>
         <li><a href="#scoped_directory_access">Acceso a directorios determinados</a></li>
+        <li><a href="#keyboard_shortcuts_helper">Ayuda en los métodos abreviados del teclado</a></li>
+        <li><a href="#sustained_performance_api">API de rendimiento sostenido</a></li>
+        <li><a href="#vr">Soporte de RV</a></li>
+        <li><a href="#print_svc">Mejoras del servicio de impresión</a></li>
+        <li><a href="#virtual_files">Archivos virtuales</a></li>
+        <li><a href="#framemetrics_api">API FrameMetricsListener</a></li>
       </ol>
 </div>
 </div>
@@ -60,13 +68,13 @@
   <p>Los usuarios ahora pueden abrir dos aplicaciones al mismo tiempo en la pantalla. </p>
   <ul>
   <li>En teléfonos y tabletas
-con Android N, los usuarios pueden ejecutar dos aplicaciones en paralelo 
+con Android N, los usuarios pueden ejecutar dos aplicaciones en paralelo
 una encima otra en el modo de pantalla dividida. También tienen la posibilidad de modificar el tamaño de las aplicaciones arrastrando
 la línea divisoria que se encuentra entre ellas. </li>
 
-<li>En los dispositivos con Android TV, las aplicaciones pueden habilitar en forma automática el <a href="{@docRoot}preview/features/picture-in-picture.html">modo "picture-in
--picture"</a>. Esto les permite continuar mostrando contenido mientras el usuario explora otras
-aplicaciones o interactúa con ellas. Consulta las secciones siguientes para obtener más información. </li>
+<li>En los dispositivos con Android TV, las aplicaciones pueden habilitar en forma automática el <a href="{@docRoot}preview/features/picture-in-picture.html">modo
+"picture-in-picture"</a>. Esto les permite continuar mostrando contenido mientras el usuario explora otras
+aplicaciones o interactúa con ellas.</li>
   </ul>
 
 <div class="col-4of10">
@@ -74,47 +82,55 @@
 <p class="img-caption">
   <strong>Figura 1:</strong> Aplicaciones en ejecución en el modo de pantalla dividida.
 </p>
+
   </div>
 
 <p>En las tabletas, en particular, y en otros dispositivos de pantallas más grandes, la compatibilidad con ventanas múltiples
-ofrece nuevas maneras de captar a los usuarios. Puedes, incluso, habilitar acciones de arrastrar y soltar en
-tu aplicación para que los usuarios arrastren contenido hacia tu aplicación o desde ella; es una excelente
+ofrece nuevas maneras de atraer a los usuarios Puedes, habilitar acciones de arrastrar y soltar en
+tu aplicación para que los usuarios arrastren contenido hacia tu aplicación &mdash;o desde ella; es una excelente
 manera de mejorar su experiencia. </p>
 
 <p>Es sencillo agregar compatibilidad con ventanas múltiples a tu aplicación y configurar la manera en que
 administra la visualización de estas ventanas. Por ejemplo, puedes especificar las dimensiones mínimas
-permitidas de tu actividad, y evitar así que los usuarios den a la actividad un tamaño inferior
-al que establecen estas. También puedes deshabilitar la visualización de ventanas múltiples para tu aplicación, lo cual
-  garantiza que en el sistema solo se muestre tu aplicación en el modo de pantalla completa.</p>
+permitidas de tu actividad y evitar así que los usuarios den a la actividad un
+tamaño inferior. También puedes inhabilitar la visualización de ventanas múltiples para tu aplicación, lo que
+  garantiza que el sistema solo muestre tu aplicación en modo de pantalla completa.</p>
 
 <p>
-  Para obtener más información, consulta la documentación sobre <a href="{@docRoot}preview/features/multi-window.html">Compatibilidad con ventanas múltiples</a>
-para desarrolladores.
+  Para obtener más información, consulta la documentación <a href="{@docRoot}preview/features/multi-window.html">Compatibilidad con ventanas múltiples</a>
+  para desarrolladores.
 </p>
 
 <h2 id="notification_enhancements">Mejoras en las notificaciones</h2>
 
 <p>En Android N, hemos rediseñado las notificaciones para facilitar y agilizar su
-uso. Entre los cambios se incluyen los siguientes:</p>
+uso. Entre los cambios, se incluyen los siguientes:</p>
 
 <ul>
   <li>
-    <strong>Actualizaciones en las plantillas</strong>: actualizaremos las plantillas de notificaciones para
-   poner nuevo énfasis en la imagen de héroe y el avatar. Los desarrolladores podrán
-    aprovechar las nuevas plantillas con una cantidad mínima de ajustes en su código.
+    <strong>Actualizaciones de plantillas</strong>: estamos actualizando las plantillas de notificaciones para
+    poner nuevo énfasis en la imagen de héroe y el avatar. Los desarrolladores podrán
+    aprovechar las nuevas plantillas con una cantidad mínima de ajustes en el código.
+  </li>
+
+  <li>
+    <strong>Personalización del estilo de mensaje</strong>: puedes personalizar más etiquetas
+    de la interfaz de usuario asociadas con tus notificaciones utilizando la clase
+    <code>MessageStyle</code>. Puedes configurar el mensaje, el título de
+    la conversación y la vista del contenido.
   </li>
 
   <li>
     <strong>Notificaciones agrupadas</strong>: el sistema puede agrupar mensajes
     (por ejemplo, por tema) y mostrar el grupo. Un usuario puede
-    aplicar acciones, como “Dismiss” o “Archive”, en ellos. Si
+    aplicar acciones, como Dismiss o Archive, en ellos. Si
     has implementado notificaciones para Android Wear, ya estarás familiarizado con
     este modelo.
   </li>
 
   <li>
     <strong>Respuesta directa</strong>: en el caso de las aplicaciones de comunicación en tiempo real, el
-    sistema de Android admite respuestas en línea para que los usuarios puedan responder en forma rápida a
+    sistema de Android admite respuestas en línea para que los usuarios puedan responder rápidamente a
     un mensaje SMS o de texto directamente dentro en la interfaz de notificaciones.
   </li>
 
@@ -143,75 +159,75 @@
 </p>
 
 <p>Para obtener información acerca de cómo implementar las nuevas funciones, consulta la guía
- 
-  <a href="{@docRoot}preview/features/notification-updates.html">Notificaciones</a>.</p>
+  <a href="{@docRoot}preview/features/notification-updates.html">Notificaciones</a>.
+</p>
 
 
 
 <h2 id="jit_aot">Compilación de JIT y AOT guiada por perfiles</h2>
 
-<p>En Android N, agregamos un compilador “Just in Time” (JIT) con generación de perfiles de código para
-ART, lo cual le permite mejorar constantemente el rendimiento de las aplicaciones de Android mientras se
-ejecutan. El compilador JIT complementa al compilador “Ahead of Time” (AOT) actual de ART
+<p>En Android N, agregamos un compilador Just in Time (JIT) con generación de perfiles de código para
+ART, lo cual te permite mejorar constantemente el rendimiento de las aplicaciones con Android mientras se
+ejecutan. El compilador JIT complementa el compilador Ahead of Time (AOT) actual de ART
 y permite mejorar el rendimiento del tiempo de ejecución, ahorrar espacio de almacenamiento y acelerar las actualizaciones
 de aplicaciones y del sistema.</p>
 
 <p>La compilación guiada por perfiles permite que ART maneje la compilación de AOT y JIT de cada aplicación
 conforme a su uso real, además de las condiciones en el dispositivo. Por
-ejemplo, conserva un perfil de los métodos directos de cada aplicación, y puede compilar previamente
-y almacenar en el caché dichos métodos para obtener el mejor rendimiento. A su vez, deja otras partes de la aplicación
-sin compilar hasta que se aplican verdaderamente.</p>
+ejemplo, ART conserva un perfil de los métodos directos de cada aplicación, y puede compilar previamente
+y almacenar en caché dichos métodos para obtener el mejor rendimiento. A su vez, deja otras partes de la aplicación
+sin compilar hasta que se usan realmente.</p>
 
 <p>Además de mejorar el rendimiento de partes claves de la aplicación, la compilación guiada por
 perfiles permite reducir la superficie de memora RAM total de una aplicación, incluidos los archivos binarios
 asociados. Esta función tiene particular importancia en los dispositivos de memoria reducida.</p>
 
-<p>ART administra la compilación guiada por perfiles de una manera que minimiza el impacto sobre la batería
+<p>ART administra la compilación guiada por perfiles de una manera que minimiza el impacto en la batería
 del dispositivo. Realiza compilaciones previas únicamente cuando el dispositivo se encuentra inactivo y
-en proceso de carga, con lo cual permite ahorrar tiempo y batería al hacer el trabajo en forma anticipada.</p>
+en proceso de carga, lo cual permite ahorrar tiempo y batería haciendo el trabajo de manera anticipada.</p>
 
 <h2 id="quick_path_to_app_install">Acceso rápido a la instalación de aplicaciones</h2>
 
 <p>Uno de los beneficios más palpables del compilador JIT de ART es la velocidad de instalación de las
-aplicaciones y de actualización del sistema. Incluso las aplicaciones de mayor tamaño, en cuyos casos se necesitaban varios minutos para la
+aplicaciones y de actualización del sistema. Incluso las aplicaciones de mayor tamaño, en las que se necesitaban varios minutos para la
 optimización y la instalación en Android 6.0, ahora pueden instalarse en cuestión de
-segundos. Las actualizaciones del sistema también son más rápidas debido a que ya no hay paso de optimización. </p>
+segundos. Las actualizaciones del sistema también son más rápidas, debido a que ya no hay un paso de optimización. </p>
 
-<h2 id="doze_on_the_go">Doze en movimiento...</h2>
+<h2 id="doze_on_the_go">Descanso en movimiento...</h2>
 
-<p>En Android 6.0 se presentó Doze, un modo de sistema que ahorra batería al aplazar
+<p>En Android 6.0, se presentó Descanso, un modo de sistema que ahorra batería aplazando
 actividades de CPU y red de las aplicaciones cuando el dispositivo se encuentra inactivo; por ejemplo, al hallarse
 sobre una mesa o en un cajón. </p>
 
-<p>Ahora, en Android N, el modo Doze ofrece el beneficio adicional de ahorrar batería en movimiento.
+<p>Ahora, en Android N, el modo Descanso ofrece el beneficio adicional de ahorrar batería en movimiento.
 Siempre que la pantalla permanezca apagada durante un tiempo y el dispositivo esté desenchufado,
-Doze aplicará un subconjunto de las restricciones de CPU y red conocidas a las aplicaciones.
+Descanso aplicará un subconjunto de las restricciones de CPU y red conocidas a las aplicaciones.
 Esto significa que los usuarios pueden ahorrar batería aun cuando lleven sus dispositivos
 en los bolsillos.</p>
 
 
 <img src="/preview/images/doze-diagram-1.png" alt="" id="figure1" />
 <p class="img-caption">
-  <strong>Figura 3:</strong> Doze ahora aplica
+  <strong>Figura 3:</strong> Descanso ahora aplica
   restricciones para prolongar la duración de la batería aun cuando el dispositivo no está quieto.
 </p>
 
 
-<p>Poco tiempo después de que la pantalla se apaga, cuando el dispositivo no está enchufado, Doze
+<p>Poco tiempo después de que la pantalla se apaga, cuando el dispositivo no está enchufado, Descanso
 restringe el acceso a la red y aplaza tareas y sincronizaciones. Durante períodos de mantenimiento
-breves, las aplicaciones tienen acceso a la red y se ejecutan todas sus
-tareas y sincronizaciones aplazadas. Al encenderse la pantalla o enchufarse el dispositivo se desactiva el modo
-Doze del dispositivo.</p>
+breves, las aplicaciones tienen acceso a la red y se ejecutan todas las
+tareas y sincronizaciones aplazadas. Ten en cuenta que, cuando se activa la pantalla o se enchufa el dispositivo, se
+desactiva el modo Descanso.</p>
 
 <p>Cuando el dispositivo vuelve a estar quieto, desenchufado y con la pantalla apagada durante un
-tiempo, Doze aplica todas las restricciones de CPU y redes en {@link
+tiempo, Descanso aplica todas las restricciones de CPU y redes en {@link
 android.os.PowerManager.WakeLock}, alarmas de {@link android.app.AlarmManager} y análisis de
 GPS o Wi-Fi.</p>
 
-<p>Las prácticas recomendadas para adaptar tu aplicación a Doze no varían si el
+<p>Las prácticas recomendadas para adaptar tu aplicación a Descanso no varían si el
 dispositivo estará en movimiento o no. Por lo tanto, si ya actualizaste tu aplicación para que administre
-Doze en forma equilibrada, estarás listo. Si no lo hiciste, comienza a <a href="{@docRoot}training/monitoring-device-state/doze-standby.html#assessing_your_app">adaptarla
-a Doze</a> ahora.</p>
+Descanso correctamente, no tienes nada más que hacer. Si no lo hiciste, comienza a <a href="{@docRoot}training/monitoring-device-state/doze-standby.html#assessing_your_app">adaptarla
+a Descanso</a> ahora.</p>
 
 <h2 id="background_optimizations">Project Svelte: Optimizaciones en segundo plano</h2>
 
@@ -220,7 +236,7 @@
 Svelte es optimizar la manera en que las aplicaciones se ejecutan en segundo plano. </p>
 
 <p>El procesamiento en segundo plano es una parte esencial de la mayoría de las aplicaciones. Cuando se maneja en forma adecuada, puede
-hacer que la experiencia de tu usuario sea increíble (inmediata, rápida y pertinente al contexto).
+hacer que la experiencia de tu usuario sea increíble &mdash;(inmediata, rápida y pertinente al contexto).
 Cuando no se maneja de tal manera, el procesamiento en segundo plano puede suponer un consumo innecesario de memoria RAM (y
 batería), y afectar el rendimiento del sistema para otras aplicaciones. </p>
 
@@ -242,18 +258,18 @@
 casos de uso de tus aplicaciones; por ejemplo, en Android N ahora puedes programar procesos
 en segundo plano según los cambios de los proveedores de contenido. Al mismo tiempo, comenzaremos a
 dejar de usar algunos de los patrones anteriores que pueden reducir el rendimiento del sistema,
-en especial en dispositivos de memoria reducida.</p>
+en especial, en dispositivos de memoria reducida.</p>
 
-<p>En Android N, eliminaremos tres difusiones implícitas que se usan normalmente (
+<p>En Android N, eliminaremos tres transmisiones implícitas que se usan normalmente &mdash;(
  {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}, {@link
   android.hardware.Camera#ACTION_NEW_PICTURE} y {@link
   android.hardware.Camera#ACTION_NEW_VIDEO}), ya que pueden activar los
 procesos en segundo plano de varias aplicaciones al mismo tiempo, y así exigir la memoria y la batería. Si
-tu aplicación recibe estas difusiones, aprovecha la N Developer Preview y
-  realiza la migración a <code>JobScheduler</code> y hacia las API relacionadas, como alternativa. </p>
+tu aplicación recibe estas transmisiones, aprovecha la N Developer Preview y
+  realiza la migración a <code>JobScheduler</code> y las API relacionadas, como alternativa. </p>
 
 <p>
-  Para obtener información detallada, consulta la documentación de <a href="{@docRoot}preview/features/background-optimization.html">Optimizaciones
+  Para obtener información detallada, consulta la documentación <a href="{@docRoot}preview/features/background-optimization.html">Optimizaciones
   en segundo plano</a>.
 </p>
 
@@ -268,31 +284,76 @@
 </p>
   </div>
 
-<p>Durante la vida útil de un dispositivo móvil, el costo de un plan de datos móviles normalmente
-superará el costo del propio dispositivo. Para muchos usuarios, los datos móviles son un
+<p>Durante la vida útil de un dispositivo móvil, el costo de un plan de datos móviles puede
+superar fácilmente el costo del propio dispositivo. Para muchos usuarios, los datos móviles son un
 recurso costoso que desean conservar. </p>
 
-<p>En Android N se presenta el modo de ahorro de datos, un nuevo servicio del sistema que permite reducir
+<p>En Android N, se presenta el modo de ahorro de datos, un nuevo servicio del sistema que permite reducir
 el uso de datos móviles de las aplicaciones, ya sea con servicio de itinerancia, cerca del final del ciclo de facturación
 o con un paquete de datos prepagos. El ahorro de datos permite que los usuarios controlen la manera en que las aplicaciones
 usan los datos móviles y que los desarrolladores brinden un servicio más eficaz cuando el ahorro
 de datos se encuentra activo. </p>
 
 <p>Cuando un usuario habilita el ahorro de datos en <strong>Settings</strong> y el dispositivo está
-conectado a una red de uso medido, el sistema bloquea el uso de datos en segundo plano y ordena a las aplicaciones
+conectado a una red o, el sistema bloquea el uso de datos en segundo plano y ordena a las aplicaciones
 usar menos datos en primer plano siempre que sea posible (por ejemplo, limitando
 la tasa de bits para la transmisión, reduciendo la calidad de la imagen y aplazando el valor optimista de almacenamiento previo en caché,
-entre otras posibilidades). Los usuarios pueden permitir que aplicaciones específicas habiliten el uso de datos medidos en segundo plano
-aun cuando esté activo el ahorro de datos.</p>
+entre otras posibilidades). Los usuarios pueden incluir aplicaciones específicas en la lista blanca para
+permitir el uso de datos medidos en segundo plano, incluso cuando está activado el ahorro de datos.</p>
 
 <p>Android N extiende {@link android.net.ConnectivityManager} para que las aplicaciones
 tengan una manera de <a href="{@docRoot}preview/features/data-saver.html#status">recuperar las
-preferencias de ahorro de datos del usuario</a> y los <a href="{@docRoot}preview/features/data-saver.html#monitor-changes">monitor
-cambios en estas</a>. Todas las aplicaciones deben verificar si el usuario habilitó el ahorro de
-datos e intentar limitar el uso de datos en primer y segundo plano.</p>
+preferencias de ahorro de datos del usuario</a> y<a href="{@docRoot}preview/features/data-saver.html#monitor-changes"> monitorear
+cambios en estas</a>. Todas las aplicaciones deben verificar si el usuario habilitó el ahorro
+de datos e intentar limitar el uso de datos en primer y segundo plano.</p>
 
 
-<h2 id="tile_api">API para Mosaico de Configuración rápida</h2>
+<h2 id="vulkan">API Vulkan</h2>
+
+<p>
+  Android N integra <a href="http://www.khronos.org/vulkan" class="external-link">Vulkan™</a>, una nueva API de visualización 3D, en la plataforma. Al igual que
+  <a href="https://www.khronos.org/opengles/" class="external-link">OpenGL™
+  ES</a>, Vulkan es un estándar abierto para gráficos y visualización 3D, cuyo mantenimiento está a cargo de
+  Khronos Group.
+</p>
+
+<p>
+  Vulkan se diseñó desde el principio para minimizar la sobrecarga de CPU en el controlador,
+ y permite que tu aplicación controle el funcionamiento de la unidad de procesamiento de gráficos más directamente. También
+  hace posible contar con un mejor trabajo en paralelo, ya que permite que varios subprocesos diversos realicen
+  trabajos, como la construcción del búfer de comandos, a la vez.
+</p>
+
+<p>
+  Las herramientas y las bibliotecas de desarrollo de Vulkan son parte del NDK de Android. Esto
+incluye lo siguiente:
+</p>
+
+<ul>
+  <li>Encabezados
+  </li>
+
+  <li>Capas de validación (bibliotecas de depuración)
+  </li>
+
+  <li>Compilador SPIR-V
+  </li>
+
+  <li>Biblioteca de compilación de tiempo de ejecución de SPIR-V
+  </li>
+</ul>
+
+<p>
+  Vulkan solo está disponible en las aplicaciones en dispositivos con hardware compatible con Vulkan,
+  como Nexus 5X, Nexus 6P y Nexus Player. Estamos trabajando estrechamente con nuestros
+  socios para que Vulkan se pueda utilizar en más dispositivos lo más pronto posible.
+</p>
+
+<p>
+  Para obtener más información, consulta la <a href="{@docRoot}ndk/guides/graphics/index.html">documentación de la API</a>.
+</p>
+
+<h2 id="tile_api">API para mosaicos de Quick Settings</h2>
 
 
 <div style="float:right;max-width:320px">
@@ -305,7 +366,7 @@
 
   </div><p>Quick Settings es una manera popular y simple de exhibir configuraciones y acciones claves
 directamente desde el panel de notificaciones. En Android N, expandimos el alcance de
-Quick Settings para que sea más útil y práctico. </p>
+Quick Settings para que sea todavía más útil y práctico. </p>
 
 <p>Agregamos más espacio para mosaicos adicionales de Quick Settings, a los cuales los usuarios pueden
 acceder desde un área de visualización paginada deslizando el dedo hacia la izquierda o la derecha. También permitimos
@@ -327,8 +388,8 @@
 </p>
 
 <p>
-  Para obtener información sobre la creación de un mosaico de aplicación, consulta
-  <code>android.service.quicksettings.Tile</code> en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia de la API</a> descargable.
+  Para obtener información sobre la creación de un mosaico de aplicación, consulta la documentación de
+  <code>android.service.quicksettings.Tile</code> en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">referencia de la API</a> descargable.
 </p>
 
 
@@ -342,7 +403,7 @@
 
 <p>Al hacer que el bloqueo de números sea una función estándar de la plataforma, Android permite que las
 aplicaciones admitan de manera uniforme el bloqueo de números en una amplia variedad de
-dispositivos. Entre los demás beneficios que pueden aprovecharse en las aplicaciones, se encuentran los siguientes:</p>
+dispositivos. Entre los demás beneficios que pueden aprovechar las aplicaciones, se encuentran los siguientes:</p>
 
 <ul>
   <li> Los números bloqueados en las llamadas también se bloquean en los mensajes de texto.
@@ -358,7 +419,7 @@
 
 <p>
   Para obtener más información, consulta <code>android.provider.BlockedNumberContract</code>
-  en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia de la API
+  en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">referencia de la API
   </a>descargable.
 </p>
 
@@ -379,7 +440,7 @@
 
 <p>
   Para obtener más información, consulta <code>android.telecom.CallScreeningService</code>
-  en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia de la API
+  en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">referencia de la API
   </a>descargable.
 </p>
 
@@ -389,31 +450,73 @@
 
 <p>Android N permite a los usuarios seleccionar <strong>varias configuraciones regionales</strong> en Settings,
 para brindar una mejor compatibilidad con casos de uso de dos idiomas. Las aplicaciones pueden usar
-una nueva API para obtener las configuraciones regionales seleccionadas del usuario y luego ofrecer experiencias
-más sofisticadas para usuarios que usen varias configuraciones regionales; por ejemplo, pueden mostrar resultados de búsqueda en
+una nueva API para obtener las configuraciones regionales seleccionadas del usuario y luego ofrecer experiencias más sofisticadas
+para usuarios que usen varias configuraciones regionales; por ejemplo, pueden mostrar resultados de búsqueda en
 varios idiomas y no ofrecer traducciones de páginas web con idiomas que el
 usuario conozca.</p>
 
 <p>Además de la compatibilidad con varias configuraciones regionales, en Android N también se amplía la variedad de idiomas
-disponibles para los usuarios. Se ofrecen 25 variantes, cada una de ellas para idiomas de uso
+disponibles para los usuarios. Se ofrecen más de 25 variantes, cada una de ellas para idiomas de uso
 común, como el inglés, el español, el francés y el árabe. También se agrega compatibilidad
 parcial con más de 100 idiomas nuevos.</p>
 
-<p>Las aplicaciones pueden obtener la lista de configuraciones regionales establecida por el usuario llamando a <code>LocaleList.GetDefault()</code>.  A fin de admitir la cantidad ampliada de configuraciones regionales, en Android N se modificará la forma de
-resolver recursos. Asegúrate de controlar que tus aplicaciones
+<p>Las aplicaciones pueden obtener la lista de configuraciones regionales establecida por el usuario llamando a
+<code>LocaleList.GetDefault()</code>.  A fin de admitir la cantidad ampliada de configuraciones regionales, en Android N, se
+modificará la forma de resolver recursos. Asegúrate de controlar que tus aplicaciones
 funcionen de la manera esperada con la nueva lógica de resolución de recursos.</p>
 
 <p>Para obtener información sobre el nuevo comportamiento de resolución de recursos y las prácticas recomendadas que
 debes aplicar, consulta <a href="{@docRoot}preview/features/multilingual-support.html">Compatibilidad con varios idiomas</a>.</p>
 
+
+<h2 id="emoji">Nuevos emojis</h2>
+
+<p>
+  Android N presenta más emojis y funciones relacionadas con estos, como
+  emojis con diferentes tonos de piel y compatibilidad con selectores de
+  variación. Si tu aplicación admite emojis,
+  sigue las pautas a continuación para aprovechar estas funciones relacionadas con emojis.
+</p>
+
+<ul>
+  <li>
+    <strong>Comprueba que el dispositivo contenga el emoji antes de insertarlo.</strong>
+    Para corroborar qué emojis tiene la fuente del
+    sistema, usa el método {@link android.graphics.Paint#hasGlyph(String)}.
+  </li>
+  <li>
+    <strong>Comprueba que el emoji admita los selectores de variación.</strong>
+    Los selectores de variación te permiten
+    presentar determinados emojis en color o en blanco y negro.
+    En los dispositivos móviles, las aplicaciones deben representar los emojis en color, en lugar de hacerlo en blanco y negro. Sin embargo,
+    si tu aplicación muestra los emojis alineados con el texto, debe usar la variación de blanco y negro.
+    A fin de determinar si un emoji tiene una variación, usa el selector de variación.
+    Para conocer la lista completa de caracteres con variaciones, consulta la sección de
+    <em>secuencias de variación de emojis</em> de la
+    <a class="external-link" href="http://www.unicode.org/Public/9.0.0/ucd/StandardizedVariants-9.0.0d1.txt">
+      documentación de Unicode sobre variaciones</a>.
+  </li>
+  <li>
+    <strong>Comprueba que el emoji admita tonos de piel.</strong> Android N permite que los usuarios modifiquen el
+    tono de piel presentado de los emojis según su preferencia. Las aplicaciones de teclado deben brindar indicaciones
+    visuales para los emojis que tienen múltiples tonos de piel y permitir que los usuarios
+    seleccionen el tono que prefieran. Para determinar qué emojis del sistema tienen
+    modificadores del tono de piel, usa el método {@link android.graphics.Paint#hasGlyph(String)}.
+ Puedes determinar qué emojis usan tonos de piel leyendo la
+    <a class="external-link" href="http://unicode.org/emoji/charts/full-emoji-list.html">
+     documentación de Unicode</a>.
+  </li>
+</ul>
+
+
 <h2 id="icu4">API de ICU4J en Android</h2>
 
 <p>
-  Android N ahora ofrece un subconjunto de API de <a href="http://site.icu-project.org/">ICU4J</a> dentro del framework de Android, en el paquete
-  <code>android.icu</code>. La migración es sencilla y en mayor medida implica
+  Android N ahora ofrece un subconjunto de las API de <a href="http://site.icu-project.org/">ICU4J</a> dentro del framework de Android, en
+  el paquete <code>android.icu</code>. La migración es sencilla y en mayor medida implica
   simplemente un cambio del espacio de nombres <code>com.java.icu</code> a
   <code>android.icu</code>. Si ya usas el paquete ICU4J en tus
-  aplicaciones, el cambio a las API de <code>android.icu</code> en el framework de Android
+  aplicaciones, el cambio a las API <code>android.icu</code> en el framework de Android
   puede reducir notablemente el tamaño del APK.
 </p>
 
@@ -428,7 +531,8 @@
 <p>En Android N se agregan interfaces de framework y compatibilidad con plataformas para OpenGL ES 3.2, entre las que se incluye lo siguiente:</p>
 
 <ul>
-  <li> todas las extensiones del <a class="external-link" href="https://www.khronos.org/registry/gles/extensions/ANDROID/ANDROID_extension_pack_es31a.txt">paquete de extensiones de Android</a></a> (AEP), a excepción de <code>EXT_texture_sRGB_decode</code>;
+  <li> todas las extensiones del <a class="external-link" href="https://www.khronos.org/registry/gles/extensions/ANDROID/ANDROID_extension_pack_es31a.txt">
+paquete de extensiones de Android</a></a> (AEP), a excepción de <code>EXT_texture_sRGB_decode</code>;
   <li> búferes de fotogramas de punto flotante para HDR y sombreado aplazado;
   <li> llamadas a draw a través de BaseVertex para mejorar el procesamiento por lotes y la transmisión;
   <li> sólido control de acceso a búfer para reducir la sobrecarga de WebGL.
@@ -440,12 +544,12 @@
 atributo <code>android:glEsVersion</code>. </p>
 
 <p>Para obtener información sobre el uso de OpenGL ES, incluida la manera de comprobar la
-versión de OpenGL ES que admite el dispositivo durante el tiempo de ejecución, consulta la<a href="{@docRoot}guide/topics/graphics/opengl.html">guía de la API OpenGL ES</a>.</p>
+versión de OpenGL ES que admite el dispositivo durante el tiempo de ejecución, consulta la<a href="{@docRoot}guide/topics/graphics/opengl.html"> guía de la API OpenGL ES</a>.</p>
 
 
 <h2 id="android_tv_recording">Grabación de Android TV</h2>
 
-<p>En Android N se agrega la capacidad de grabar y reproducir contenido de servicios
+<p>En Android N, se agrega la capacidad de grabar y reproducir contenido de servicios
 de entrada de Android TV a través de las nuevas API de grabación.  Aprovechando las mejoras existentes de las API time shifting
 , los servicios de entrada de TV pueden controlar los datos de canales que pueden grabarse y la manera
 en que se guardan las sesiones grabadas, y administrar la interacción del usuario con el contenido grabado. </p>
@@ -456,14 +560,15 @@
 <h2 id="android_for_work">Android for Work</h2>
 
 <p>Android for Work suma muchas funciones y API nuevas para dispositivos con Android N.
-A continuación, se muestran algunos aspectos destacados. Para hallar una lista completa de actualizaciones de Android for Work
-relacionadas con Android N, consulta la sección de cambios en Android for Work.</p>
+A continuación, se muestran algunos aspectos destacados. Para ver la lista completa de cambios, consulta
+<a href="{@docRoot}preview/features/afw.html">Actualizaciones de Android for Work</a>.</p>
 
 <h3 id="work_profile_security_challenge">Comprobación de seguridad para perfiles de trabajo </h3>
 
 <p>
-  Quienes posean perfiles pueden especificar una comprobación de seguridad separada para aplicaciones que se ejecuten en el
-  perfil de trabajo. La comprobación para perfiles de trabajo se muestra cuando un usuario intenta abrir
+  Los propietarios de perfiles orientados al SDK de Android N
+  pueden especificar una comprobación de seguridad independiente para las aplicaciones que se ejecutan en
+  el perfil de trabajo. La comprobación para perfiles de trabajo se muestra cuando un usuario intenta abrir
   aplicaciones de trabajo. Cuando la comprobación de seguridad es exitosa, se desbloquea el
   perfil de trabajo y se descifra si es necesario. Para quienes posean perfiles,
   <code>ACTION_SET_NEW_PASSWORD</code> solicita al usuario establecer una comprobación de
@@ -472,13 +577,13 @@
 </p>
 
 <p>
-  Quienes posean perfiles pueden establecer políticas de contraseñas diferentes
+  Quienes posean perfiles pueden establecer políticas de contraseñas diferentes para la comprobación de seguridad de trabajo
   (por ejemplo, la extensión que debe tener el PIN o la posibilidad de usar una huella digital
   para desbloquear el perfil) usando <code>setPasswordQuality()</code>,
   <code>setPasswordMinimumLength()</code> y métodos relacionados. También
   pueden establecer el bloqueo del dispositivo usando la instancia de <code>DevicePolicyManager</code>
   devuelta por el nuevo método <code>getParentProfileInstance()</code>.
-  Además, tiene la posibilidad de personalizar la pantalla de credenciales de la
+  Además, tienen la posibilidad de personalizar la pantalla de credenciales de la
   comprobación de trabajo usando los nuevos métodos <code>setOrganizationColor()</code> y
   <code>setOrganizationName()</code>.
 </p>
@@ -487,8 +592,8 @@
 <p>En dispositivos con perfil de trabajo, los usuarios pueden alternar el modo de trabajo. Cuando este último está
 inactivo, el usuario administrado queda deshabilitado temporalmente, con lo cual se desactivan las aplicaciones de perfiles
 de trabajo, la sincronización en segundo plano y las notificaciones. Esto incluye la aplicación del propietario del
-perfil. Cuando el modo de trabajo está inactivo, en el sistema se muestra un icono de estado persistente
-para recordar al usuario que no puede iniciar aplicaciones de trabajo. El lanzador
+perfil. Cuando el modo de trabajo está inactivo, en el sistema se muestra un ícono
+de estado persistente para recordar al usuario que no puede iniciar aplicaciones de trabajo. El launcher
 indica que no es posible acceder a aplicaciones ni widgets de trabajo. </p>
 
 <h3 id="always_on_vpn">Always on VPN </h3>
@@ -505,57 +610,67 @@
 
 <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 Always on VPN. Al igual que
-antes, los servicios se indican al sistema con una clase <code>android.net.VpnService</code> de acción de coincidencia de filtro
-de intenciones. </p>
+antes, los servicios se indican al sistema con una
+clase <code>android.net.VpnService</code> de acción de coincidencia de filtro de intents. </p>
 
 <p>
   Los usuarios también pueden establecer clientes Always on VPN que implementen métodos
   <code>VPNService</code> en el usuario principal con
-  <strong>Settings&gt;More&gt;Vpn</strong>.
+  <strong>Settings &gt; More &gt; Vpn</strong>.
+</p>
+
+<h3 id="custom_provisioning">Aprovisionamiento personalizado</h3>
+
+<p>
+  En una aplicación, se pueden personalizar los flujos de aprovisionamiento
+ del propietario del perfil y del dispositivo con logos y colores corporativos.
+  <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code> personaliza el
+  color del flujo. <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code>
+  personaliza el flujo con un logotipo corporativo.
 </p>
 
 <h2 id="accessibility_enhancements">Mejoras de accesibilidad</h2>
 
-<p>Android N ahora ofrece Vision Settings directamente en la pantalla de Bienvenida para la configuración de
+<p>Android N ahora ofrece Vision Settings directamente en la pantalla de bienvenida para la configuración de
 dispositivos nuevos. Esto permite a los usuarios descubrir y configurar de manera mucho más sencilla
 funciones de accesibilidad en sus dispositivos, como el gesto de ampliación, el tamaño
 de fuente, el tamaño de pantalla y TalkBack. </p>
 
 <p>Al tener estas funciones de accesibilidad una disposición más prominente, es más probable
 que tus usuarios prueben tu aplicación con ellas habilitadas. Asegúrate de probar tus aplicaciones
-en forma anticipada con esta configuración habilitada. Puedes activarla en Settings &gt;
+anticipadamente con esta configuración habilitada. Puedes habilitarla en Settings &gt;
 Accessibility.</p>
 
-<p>Otra posibilidad en Android N: los servicios de accesibilidad ahora pueden asistir a los usuarios con discapacidades
-motoras para el uso de la pantalla. La nueva API permite crear servicios con
+<p>Además, los servicios de accesibilidad de Android N ahora pueden asistir a los usuarios con discapacidades
+motrices con el uso de la pantalla. La nueva API permite crear servicios con
 funciones como el seguimiento de rostros u ojos y la exploración por puntos, entre otros, para satisfacer
 las necesidades de estos usuarios.</p>
 
 <p>Para obtener más información, consulta <code>android.accessibilityservice.GestureDescription</code>
-	en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia de la API  </a>descargable.</p>
+  en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">referencia de la API</a> descargable.</p>
 
 
 <h2 id="direct_boot">Inicio directo</h2>
 
 <p>El inicio directo optimiza los tiempos de inicio del dispositivo y permite una funcionalidad
 limitada de las aplicaciones aun después de un reinicio inesperado.
-Por ejemplo, si un dispositivo cifrado se reinicia mientras el usuario duerme,
+Por ejemplo, si un dispositivo encriptado se reinicia mientras el usuario duerme,
 este último puede continuar recibiendo en forma normal notificaciones de alarmas, llamadas entrantes y mensajes
 registrados. Esto también significa que los servicios de accesibilidad también pueden estar
   disponibles de inmediato después de un reinicio.</p>
 
-<p>El inicio directo aprovecha el cifrado basado en archivos de Android N,
-a fin de habilitar políticas de cifrado específicas para datos del sistema y de aplicaciones.
-El sistema usa un depósito cifrado por el dispositivo para datos de sistema seleccionados y datos de aplicaciones
-explícitamente registrados. En forma predeterminada, se usa un depósito cifrado con credenciales para los
+<p>El inicio directo aprovecha la encriptación basada en archivos de Android N,
+a fin de habilitar políticas de encriptación específicas para datos del sistema y de aplicaciones.
+El sistema usa un encriptado por el dispositivo para datos de sistema seleccionados y datos de aplicaciones
+explícitamente registrados. De forma predeterminada, se usa un depósito encriptado con credenciales para los
   datos de sistema, los datos de usuario, las aplicaciones y los datos de aplicaciones restantes. </p>
 
 <p>Durante el inicio, el sistema se carga en un modo restringido con acceso únicamente
-a datos cifrados por el dispositivo y sin acceso general a aplicaciones o datos.
+a datos encriptados por el dispositivo y sin acceso general a aplicaciones o datos.
 Si hay componentes que deseas ejecutar en este modo, puedes registrarlos
 configurando un marcador en el manifiesto. Después del reinicio, el sistema activa
-componentes registrados transmitiendo la intención
- <code>LOCKED_BOOT_COMPLETED</code>. El sistema garantiza que estén disponibles los datos de aplicaciones cifrados por el dispositivo
+componentes registrados transmitiendo la intent <code>LOCKED_BOOT_COMPLETED</code>
+. El sistema garantiza que estén disponibles los datos de aplicaciones encriptados por el dispositivo
 antes de la desactivación del bloqueo. No es posible acceder a los demás datos hasta que el usuario confirme sus credenciales de pantalla de
   bloqueo para descifrarlos. </p>
 
@@ -571,14 +686,14 @@
 de dispositivos con derechos de administrador.</p>
 
 <p>Para hacer más sencillo y seguro el uso de depósitos de claves guardados en hardware,
-en Android N se presenta la atestación de claves. En las aplicaciones y en los servicios que no dependen de los dispositivos se puede usar la atestación
+en Android N, se presenta la atestación de claves. En las aplicaciones y en los servicios que no dependen de los dispositivos se puede usar la atestación
 de claves para determinar fehacientemente el almacenamiento de un par de claves RSA o EC se
 en hardware, las propiedades de dicho par y las
   limitaciones aplicadas a su uso y validez. </p>
 
 <p>Los servicios que no dependen de los dispositivos y las aplicaciones pueden solicitar información acerca de un par de claves
 a través de un certificado de atestación X.509 que debe firmarse con una clave de atestación
-válida. La claves de atestación es una clave de firma ECDSA que se
+válida. La clave de atestación es una clave de firma ECDSA que se
 inyecta en el depósito de claves guardado en hardware en la fábrica.
 Por lo tanto, un certificado de atestación firmado con una clave de atestación
 válida confirma la existencia de un depósito de claves guardado en hardware y de información detallada
@@ -595,7 +710,7 @@
   </ul>
 
 <p>Para obtener más información sobre la función de depósitos de claves guardados en hardware,
-consulta la guía de<a href="https://source.android.com/security/keystore/" class="external-link">Depósito de clave guardado en hardware</a>.</p>
+consulta la guía de<a href="https://source.android.com/security/keystore/" class="external-link"> Depósito de clave guardado en hardware</a>.</p>
 
 <p>Además de la atestación de claves, en Android N también se presentan
   claves enlazadas a huellas digitales no revocadas en la inscripción con estas huellas.</p>
@@ -609,17 +724,17 @@
 
   <p>Funciones admitidas:</p>
 <ul>
-<li><b>Anclajes de veracidad personalizados:</b> permite personalizar a través a una aplicación las
-entidades de certificación (CA) de confianza para las conexiones protegidas; por
-ejemplo, certificados con firmas automáticas en particular o un conjunto de CA públicas.
+<li><b>Anclajes de confianza personalizados.</b> Permite personalizar qué autoridades de
+certificado (CA) son de confianza para las conexiones de seguridad de una aplicación. Por ejemplo,
+ confiar en certificados autofirmados particulares o un conjunto restringido de CA públicas.
 </li>
-<li><b>Anulaciones exclusivas de depuración:</b> permite que un desarrollador depure en forma segura
-conexiones protegidas de sus aplicaciones sin riesgos adicionales para la base
+<li><b>Anulaciones de solo depuración.</b> Permite que el desarrollador de una aplicación depure en forma segura
+conexiones protegidas de su aplicación sin riesgos adicionales para la base
 instalada.
 </li>
-<li><b>Desactivación de tráfico de Cleartext:</b> permite que una aplicación se proteja a sí misma contra
+<li><b>Desactivación del tráfico de Cleartext.</b> Permite que una aplicación se proteja a sí misma contra
 el uso accidental de tráfico de Cleartext.</li>
-<li><b>Fijación de certificados:</b> función avanzada que permite a una aplicación
+<li><b>Fijación de certificados.</b> Esta es una función avanzada que permite a una aplicación
   limitar las claves de servidores en las que se pueda confiar para conexiones protegidas.</li>
 </ul>
 
@@ -629,33 +744,68 @@
 <h2 id="default_trusted_ca">Entidad de certificación de confianza predeterminada</h2>
 
 <p>De manera predeterminada, en las aplicaciones orientadas a Android N solo se consideran como confiables los certificados proporcionados por el sistema
-y ya no se da esta misma consideración a las entidades de certificación (CA) añadidas por usuarios. En aquellas aplicaciones orientadas a Android
+y ya no se da esta misma consideración a las entidades de certificación (CA) agregadas por usuarios. En aquellas aplicaciones orientadas a Android
 N para las cuales se desee considerar tales CA como válidas, se debe usar la
 <a href="{@docRoot}preview/features/security-config.html">Configuración de seguridad de la red</a> a fin de
 especificar los términos de confianza de dichas CA.</p>
 
 <h2 id="apk_signature_v2">Esquema de firma de APK v2</h2>
 
-<p>La clase PackageManager ahora admite la verificación de aplicaciones con el esquema
-de firma de APK v2. Se trata de un esquema de firma de archivos completos
-que agiliza considerablemente la verificación y refuerza las garantías de
-  integridad al detectar todos los cambios no autorizados en archivos APK.</p>
+<p>
+  Android N presenta el esquema de firma de APK v2, un nuevo esquema de firma de aplicaciones que
+  ofrece instalación más rápida de las aplicaciones y mayor protección contra alteraciones
+  no autorizadas de archivos APK. De forma predeterminada, Android Studio 2.2 y el complemento de Android
+  para Gradle 2.2 firman tu aplicación con el esquema de firma de APK v2 y
+  el esquema de firma tradicional, que utiliza la firma JAR.
+</p>
 
-<p>Para conservar la compatibilidad con versiones anteriores, se debe firmar un APK con el esquema de firma
-v1 (esquema de firma JAR) antes de la firma con el esquema de firma v2.
-Si se usa este último, la verificación experimenta errores cuando se firma el APK con un
-  certificado adicional después de la firma con el esquema v2. </p>
+<p>
+  Aunque recomendamos que implementes el esquema de firma de APK v2 en tu aplicación, este esquema
+  nuevo no es obligatorio. Si la aplicación no se compila correctamente con el
+  esquema de firma de APK v2, puedes deshabilitar este esquema nuevo. Si se deshabilita el proceso,
+  Android Studio 2.2 y el complemento de Android  para Gradle 2.2 firman tu
+  aplicación con el esquema de firma tradicional solamente. Para firmar solo con el
+  esquema tradicional, abre el archivo <code>build.gradle</code> del nivel del módulo, a continuación,
+  agrega la línea <code>v2SigningEnabled false</code> a la configuración de firma
+  de la versión:
+</p>
 
-<p>Se ofrecerá disponibilidad con el esquema de firma de APK v2 más adelante en la N Developer
-Preview.</p>
+<pre>
+  android {
+    ...
+    defaultConfig { ... }
+    signingConfigs {
+      release {
+        storeFile file("myreleasekey.keystore")
+        storePassword "password"
+        keyAlias "MyReleaseKey"
+        keyPassword "password"
+        <strong>v2SigningEnabled false</strong>
+      }
+    }
+  }
+</pre>
+
+<p class="caution"><strong>Advertencia: </strong> Si firmas la aplicación con el
+  esquema de firma de APK v2 y luego la modificas, se invalida
+  la firma de la aplicación. Por este motivo, usa herramientas como <code>zipalign</code>
+ antes de firmar la aplicación con el esquema de firma de APK v2, y no después.
+</p>
+
+<p>
+  Para obtener más información, lee los documentos de Android Studio que describen cómo
+  <a href="{@docRoot}studio/publish/app-signing.html#release-mode">
+  firmar una aplicación</a> en Android Studio y cómo<a href="{@docRoot}studio/build/build-variants.html#signing"> configurar
+  el archivo de compilación para firmar aplicaciones</a> con el complemento de Android para Gradle.
+</p>
 
 <h2 id="scoped_directory_access">Acceso a directorios determinados</h2>
 
-<p>En Android N, las aplicaciones pueden usar nuevas API para solicitar acceso a directorios de<a href="{@docRoot}guide/topics/data/data-storage.html#filesExternal">almacenamiento
+<p>En Android N, las aplicaciones pueden usar nuevas API para solicitar acceso a directorios de <a href="{@docRoot}guide/topics/data/data-storage.html#filesExternal">almacenamiento
 externo</a> específicos, incluidos los directorios de medios extraíbles, como las tarjetas
 SD. Las nuevas API simplifican enormemente la manera en que tu aplicación accede a directorios
 de almacenamiento externo estándares, como <code>Pictures</code>. Las aplicaciones
-de fotografía pueden usar estas API en lugar de
+de fotografía, por ejemplo, pueden usar estas API en lugar de
 <code>READ_EXTERNAL_STORAGE</code>, que otorga acceso a todos los directorios
 de almacenamiento, o del framework de acceso a almacenamiento, con el cual el usuario debe navegar hasta
 el directorio.</p>
@@ -665,12 +815,225 @@
 permisos simple en la que se detallan claramente los directorios a los cuales
 la aplicación solicita acceso.</p>
 
-<p>Para obtener más información, consulta la documentación sobre 
+<p>Para obtener más información, consulta la documentación 
 <a href="{@docRoot}preview/features/scoped-folder-access.html">Acceso
 a directorios determinados</a> para desarrolladores.</p>
 
+<h2 id="keyboard_shortcuts_helper">Ayuda en los métodos abreviados del teclado</h2>
+
+<p>
+En Android N, el usuario puede presionar "Alt + /" para activar una pantalla de <em>métodos abreviados del teclado</em>
+que muestra todos los métodos abreviados disponibles, tanto para el
+sistema como la aplicación que esté en primer plano. Estos se recuperan automáticamente del menú de la aplicación si
+están disponibles, pero los desarrolladores pueden proporcionar sus propios métodos abreviados perfeccionados
+para la pantalla. Puedes hacerlo anulando el nuevo método
+<code>Activity.onProvideKeyboardShortcuts()</code>, lo que se describe en la
+<a href="{@docRoot}preview/setup-sdk.html#docs-dl">referencia de la API</a> descargable.
+</p>
+
+<p>
+Para activar la ayuda en los métodos abreviados del teclado desde cualquier ubicación en la aplicación,
+llama a {@code Activity.requestKeyboardShortcutsHelper()} para la actividad relevante.
+</p>
+
+<h2 id="sustained_performance_api">API de rendimiento sostenido</h2>
+
+<p>
+El rendimiento puede fluctuar considerablemente en las aplicaciones de ejecución prolongada porque el
+sistema limita los motores de sistemas en chip cuando los componentes del dispositivo alcanzan los
+límites de temperatura. Esta fluctuación presenta un objetivo móvil para los desarrolladores
+de aplicaciones que crean aplicaciones de alto rendimiento y ejecución prolongada.
+</p>
+
+<p>
+Android N incluye compatibilidad opcional para un 
+<em>modo de rendimiento sostenido</em>, que permite que los fabricantes de equipo original (OEM) arrojen datos sobre las capacidades de rendimiento del dispositivo
+para las aplicaciones de ejecución prolongada. Los desarrolladores
+de aplicaciones pueden usar estos datos para perfeccionar sus aplicaciones y alcanzar un nivel
+uniforme y predecible de rendimiento en el dispositivo durante períodos prolongados.
+</p>
+
+<p>
+Los desarrolladores de aplicaciones solo pueden probar esta API nueva en la N Developer Preview instalada solo en dispositivos con 
+Nexus 6P. Para usar esta función,
+establece el indicador de rendimiento sostenido de la ventana
+que deseas ejecutar en el modo de rendimiento sostenido. Establece este indicador con el método
+{@code Window.setSustainedPerformanceMode()}. El sistema deshabilita
+automáticamente este modo cuando la ventana deja de estar en primer plano.
+</p>
+
+<h2 id="vr">Soporte de RV</h2>
+
+<p>
+Android N agrega compatibilidad y optimizaciones de plataforma para un modo de RV nuevo, con el objetivo de que los
+ desarrolladores puedan forjar experiencias de 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 la RV. Un dato muy importante es que Android N presenta
+muy pocos gráficos de baja latencia. Para obtener información completa sobre el desarrollo de aplicaciones de RV para Android N,
+consulta <a href="https://developers.google.com/vr/android/">Google VR SDK para Android</a>.
+</p>
 
 
+<h2 id="print_svc">Mejoras del servicio de impresión</h2>
+
+<p>
+  En Android N, los desarrolladores de servicios de impresión ahora pueden publicar información adicional
+  sobre impresoras y trabajos de impresión individuales.
+</p>
+
+<p>
+  Al enumerar las impresoras individuales, un servicio de impresión ahora puede establecer íconos
+  por impresora de dos maneras:
+</p>
+
+<ul>
+  <li>Puedes establecer un ícono desde el id. de un recurso llamando a 
+  <code>PrinterInfo.Builder.setResourceIconId()</code>.
+  </li>
+
+  <li>Puedes mostrar un ícono de la red llamando a
+  <code>PrinterInfo.Builder.setHasCustomPrinterIcon()</code> y configurando un
+  callback para cuando se solicite el ícono con
+  <code>android.printservice.PrinterDiscoverySession.onRequestCustomPrinterIcon()</code>.
+  </li>
+</ul>
+
+<p>
+  Además, puedes proporcionar las actividades por impresora para mostrar información
+  adicional llamando a <code>PrinterInfo.Builder.setInfoIntent()</code>.
+</p>
+
+<p>
+  Puedes indicar el progreso y el estado de los trabajos de impresión en la notificación de
+  trabajo de impresión llamando a
+  <code>android.printservice.PrintJob.setProgress()</code> y
+  <code>android.printservice.PrintJob.setStatus()</code>, respectivamente.
+</p>
+
+<p>
+  Para obtener más información sobre estos métodos, consulta la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">referencia de la API</a> descargable.
+</p>
+
+<h2 id="framemetrics_api">API FrameMetricsListener</h2>
+
+<p>
+La API FrameMetricsListener permite que una aplicación monitoree el rendimiento de la representación
+de la IU. La API brinda esta capacidad mediante la exposición de una transmisión de API Pub/Sub para transferir información sobre el tiempo
+de los cuadros para la ventana actual de la aplicación. Los datos devueltos son
+equivalentes a lo que muestra <code><a href="{@docRoot}tools/help/shell.html#shellcommands">adb shell</a>
+dumpsys gfxinfo framestats</code>, pero no se limita a los últimos 120 cuadros.
+</p>
+
+<p>
+Puedes usar FrameMetricsListener para medir el rendimiento de
+la IU del nivel de interacción en producción sin contar con una conexión USB. Esta API
+permite recopilar datos con una especificidad mayor que
+{@code adb shell dumpsys gfxinfo}. Esta especificidad mayor es posible porque
+el sistema puede recopilar datos para interacciones determinadas en la aplicación, sin que sea
+necesario que el sistema obtenga un resumen global del
+rendimiento de toda la aplicación o borre un estado global. Puedes usar esta
+capacidad con el objetivo de recopilar datos de rendimiento e identificar regresiones en el rendimiento de la IU
+para casos de uso reales dentro de una aplicación.
+</p>
+
+<p>
+Para monitorear una ventana, implementa el callback <code>FrameMetricsListener.onMetricsAvailable()</code>
+y regístralo en esa ventana. Para obtener más información, consulta
+la documentación de la clase {@code FrameMetricsListener}
+en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">referencia de la API</a> descargable.
+</p>
+
+<p>
+La API proporciona un objeto {@code FrameMetrics}, que contiene datos de intervalos que
+el subsistema de representación informa sobre varios hitos en el ciclo de vida de un marco.
+Las métricas compatibles son {@code UNKNOWN_DELAY_DURATION},
+{@code INPUT_HANDLING_DURATION}, {@code ANIMATION_DURATION},
+{@code LAYOUT_MEASURE_DURATION}, {@code DRAW_DURATION}, {@code SYNC_DURATION},
+{@code COMMAND_ISSUE_DURATION}, {@code SWAP_BUFFERS_DURATION},
+{@code TOTAL_DURATION} y {@code FIRST_DRAW_FRAME}.
+</p>
 
 
+<h2 id="virtual_files">Archivos virtuales</h2>
 
+<p>
+  En versiones anteriores de Android, tu aplicación podía usar el framework
+  de acceso al almacenamiento para permitir a los usuarios seleccionar archivos de cuentas de almacenamiento en la nube,
+  como Google Drive. Sin embargo, no se podían representar los archivos que no
+  tenían una representación directa en código de bits; cada archivo debía brindar
+  un flujo de entrada.
+</p>
+
+<p>
+  Android N incorpora el concepto de <em>archivos virtuales</em> al framework
+  de acceso al almacenamiento. La función de archivos virtuales permite que tu
+  {@link android.provider.DocumentsProvider} devuelva URI de documentos que se pueden
+  usar en una intent {@link android.content.Intent#ACTION_VIEW} incluso si
+  no tienen una representación directa en código de bits. Android N también te permite
+  ofrecer formatos alternativos para archivos del usuario, virtuales u otros.
+</p>
+
+<p>
+  Para obtener un URI para un documento virtual en tu aplicación, primero crea una
+  {@link android.content.Intent} a fin de abrir la IU del selector de archivos. Como una aplicación
+  no puede abrir directamente un archivo virtual con el método
+  {@link android.content.ContentResolver#openInputStream(Uri) openInputStream()},
+  la aplicación no recibe ningún archivo virtual si incluyes la categoría
+  {@link android.content.Intent#CATEGORY_OPENABLE}.
+</p>
+
+<p>
+  Cuando el usuario realiza una selección, el sistema llama al método
+  {@link android.app.Activity#onActivityResult onActivityResult()}.
+  La aplicación puede recuperar el URI del archivo virtual y obtener un flujo de entrada, como
+  se demuestra en el fragmento de código a continuación.
+</p>
+
+<pre>
+  // Other Activity code ...
+
+  final static private int REQUEST_CODE = 64;
+
+  // We listen to the OnActivityResult event to respond to the user's selection.
+  &#64;Override
+  public void onActivityResult(int requestCode, int resultCode,
+    Intent resultData) {
+      try {
+        if (requestCode == REQUEST_CODE &amp;&amp;
+            resultCode == Activity.RESULT_OK) {
+
+            Uri uri = null;
+
+            if (resultData != null) {
+                uri = resultData.getData();
+
+                ContentResolver resolver = getContentResolver();
+
+                // Before attempting to coerce a file into a MIME type,
+                // check to see what alternative MIME types are available to
+                // coerce this file into.
+                String[] streamTypes =
+                  resolver.getStreamTypes(uri, "*/*");
+
+                AssetFileDescriptor descriptor =
+                    resolver.openTypedAssetFileDescriptor(
+                        uri,
+                        streamTypes[0],
+                        null);
+
+                // Retrieve a stream to the virtual file.
+                InputStream inputStream = descriptor.createInputStream();
+            }
+        }
+      } catch (Exception ex) {
+        Log.e("EXCEPTION", "ERROR: ", ex);
+      }
+  }
+</pre>
+
+<p>
+  Para obtener más información sobre el acceso a archivos del usuario, consulta la
+  <a href="{@docRoot}guide/topics/providers/document-provider.html">guía
+  Frameworks de acceso a almacenamiento</a>.
+</p>
diff --git a/docs/html-intl/intl/es/preview/behavior-changes.jd b/docs/html-intl/intl/es/preview/behavior-changes.jd
index fdc8546..5eb4966 100644
--- a/docs/html-intl/intl/es/preview/behavior-changes.jd
+++ b/docs/html-intl/intl/es/preview/behavior-changes.jd
@@ -1,6 +1,6 @@
 page.title=Cambios en los comportamientos
-page.keywords=preview,sdk,compatibility
-meta.tags=“preview”, “compatibilidad”
+page.keywords=versión preliminar,sdk,compatibilidad
+meta.tags="preview", "compatibility"
 page.tags="preview", "developer preview"
 page.image=images/cards/card-n-changes_2x.png
 @jd:body
@@ -9,24 +9,28 @@
 <div id="qv-wrapper">
 <div id="qv">
 
-<h2>Contenido del documento</h2>
+<h2>En este documento</h2>
 
 <ol>
   <li><a href="#perf">Mejoras de rendimiento</a>
     <ol>
-      <li><a href="#doze">Doze</a></li>
+      <li><a href="#doze">Descanso</a></li>
       <li><a href="#bg-opt">Optimizaciones en segundo plano</a></li>
     </ol>
   </li>
-  <li><a href="#perm">Cambios en los permisos</a></li>
+  <li><a href="#perm">Cambios en los permisos</a>
+  </li>
+  <li><a href="#sharing-files">Intercambio de archivos entre aplicaciones</a></li>
   <li><a href="#accessibility">Mejoras de accesibilidad</a>
     <ol>
       <li><a href="#screen-zoom">Zoom de la pantalla</a></li>
       <li><a href="#vision-settings">Vision Settings en el asistente de configuración</a></li>
     </ol>
   </li>
-  <li><a href="#ndk">Aplicaciones de NDK con vínculos a bibliotecas de plataformas</a></li>
+  <li><a href="#ndk">Aplicaciones del NDK con vínculos a bibliotecas de plataformas</a></li>
   <li><a href="#afw">Android for Work</a></li>
+  <li><a href="#annotations">Retención de anotaciones</a></li>
+  <li><a href="#other">Otros aspectos importantes</a></li>
 </ol>
 
 <h2>Consulta también</h2>
@@ -40,9 +44,9 @@
 
 
 <p>
-  Además de nuevas funciones y capacidades, en Android N
-  se incluyen varios cambios en el comportamiento del sistema y de las API. En este documento
-  se destacan algunos de los cambios principales que debes comprender y tener en cuenta
+  Además de nuevas características y capacidades, Android N
+  incluye diversos cambios en el sistema y en los comportamientos de la API. En este documento,
+  se destacan algunos de los cambios principales que debes comprender y justificar
   en tus aplicaciones.
 </p>
 
@@ -52,23 +56,22 @@
 </p>
 
 
-<h2 id="perf">Mejoras de rendimiento</h2>
+<h2 id="perf">Batería y memoria</h2>
 
 <p>
-  Android N contiene cambios en el comportamiento del sistema destinados a lograr mejoras en la duración
-  de las baterías de los dispositivos, el uso de la memoria RAM y el rendimiento de las aplicaciones. Estos cambios pueden tener efecto en la
-  disponibilidad de recursos y notificaciones de sistema para tu aplicación. Debes
-  revisar estos cambios y evaluar las posibles formas en que tu aplicación deba adecuarse a
-  ellas.
+Android N incluye cambios en los comportamientos del sistema para mejorar la duración de la batería
+de los dispositivos y reducir el uso de la memoria RAM. Estos cambios pueden afectar el acceso de tu aplicación a
+recursos del sistema, además de la manera en que tu aplicación interactúa con otras aplicaciones mediante
+determinadas intents implícitas.
 </p>
 
-<h3 id="doze">Doze</h3>
+<h3 id="doze">Descanso</h3>
 
 <p>
-  Doze, presentado en Android 6.0 (nivel de API 23), prolonga la duración de la batería
-  aplazando actividades de CPU y red cuando un usuario deja un dispositivo desenchufado,
-  quieto y con la pantalla apagada. En Android N se ofrecen más
-  mejoras para Doze a través de la aplicación de un subconjunto de restricciones de CPU y red
+  Descanso, presentado en Android 6.0 (nivel de API 23), prolonga la duración de la batería
+ aplazando actividades de CPU y red cuando un usuario deja un dispositivo desenchufado,
+ quieto y con la pantalla apagada. En Android N se ofrecen más
+  mejoras para Descanso a través de la aplicación de un subconjunto de restricciones de CPU y red
   mientras el dispositivo se encuentra desenchufado y con la pantalla apagada, aunque no necesariamente
   quieto; por ejemplo, al ir dentro del bolsillo de un usuario en movimiento.
 </p>
@@ -76,18 +79,18 @@
 
 <img src="{@docRoot}preview/images/doze-diagram-1.png" alt="" height="251px" id="figure1" />
 <p class="img-caption">
-  <strong>Figura 1:</strong> Ilustración del modo en que Doze aplica un primer nivel de
+  <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.
 </p>
 
 <p>
   Cuando un dispositivo funciona con la batería y la pantalla permanece apagada durante un tiempo
-  determinado, se activa en este el modo Doze y se aplica el primer subconjunto de restricciones: se desactiva
-  el acceso de las aplicaciones a la red y se aplazan tareas y sincronizaciones. Si el dispositivo
-  permanece quieto durante un tiempo determinado tras activarse el modo Doze, el sistema aplica el
-  resto de las restricciones del modo a alarmas de {@link android.os.PowerManager.WakeLock},
-  {@link android.app.AlarmManager} y análisis de GPS o Wi-Fi. Independientemente de que
-  se apliquen algunas o todas las restricciones del modo Doze, el sistema activa el
+  determinado, se activa en este el modo Descanso y se aplica el primer subconjunto de restricciones: se
+  desactiva el acceso de las aplicaciones a la red y se aplazan tareas y sincronizaciones. Si el dispositivo
+  permanece quieto durante un tiempo determinado tras activarse el modo Descanso, el sistema aplica el
+  resto de las restricciones del modo a {@link android.os.PowerManager.WakeLock}, 
+  alarmas de {@link android.app.AlarmManager}, GPS y análisis de Wi-Fi. Independientemente de que
+  se apliquen algunas o todas las restricciones del modo Descanso, el sistema activa el
   dispositivo durante plazos de mantenimiento breves en los cuales las aplicaciones tienen
   acceso a la red y pueden ejecutar sincronizaciones o procesos aplazados.
 </p>
@@ -95,49 +98,49 @@
 
 <img src="{@docRoot}preview/images/doze-diagram-2.png" alt="" id="figure2" />
 <p class="img-caption">
-  <strong>Figura 2:</strong> Ilustración del modo en que Doze aplica un segundo nivel de
+  <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.
 </p>
 
 <p>
-  Ten en cuenta que cuando se activar la pantalla o se enchufa el dispositivo se desactiva el modo Doze y
-  se retiran estas restricciones de procesamiento. El comportamiento adicional no
+  Ten en cuenta que, cuando se activa la pantalla o se enchufa el dispositivo, se desactiva el modo Descanso y
+ se retiran estas restricciones de procesamiento. El comportamiento adicional no
   tiene efecto sobre las recomendaciones ni las prácticas recomendadas para adaptar tu aplicación a la versión
-  anterior de Doze, presentada en Android 6.0 (nivel de API 23), según lo descrito en
-  <a href="{@docRoot}training/monitoring-device-state/doze-standby.html">
-  Optimización para Doze y App Standby</a>. De todos modos, debes
+  anterior de Descanso, presentada en Android 6.0 (nivel de API 23), según lo descrito en
+   <a href="{@docRoot}training/monitoring-device-state/doze-standby.html">
+  Optimización para Descanso y App Standby</a>. De todos modos, debes
   seguir las recomendaciones; por ejemplo, la de usar Google Cloud Messaging (GCM) para
-  enviar y recibir mensajes, y la de planificar actualizaciones para considerar
-  el comportamiento adicional de Doze.
+  enviar y recibir mensajes, y la de planificar actualizaciones para adaptar
+  el comportamiento adicional de Descanso.
 </p>
 
 
 <h3 id="bg-opt">Project Svelte: Optimizaciones en segundo plano</h3>
 
 <p>
-  En Android N se eliminan tres difusiones implícitas para optimizar el uso de la
-  memoria y el consumo de energía. Este cambio es necesario porque las difusiones
+  En Android N, se eliminan tres transmisiones implícitas para ayudar a optimizar el uso de la
+  memoria y el consumo de energía. Este cambio es necesario porque las transmisiones
   implícitas a menudo inician aplicaciones que se registran para realizar un seguimiento de ellas en
-  segundo plano. La eliminación de estas difusiones puede mejorar sustancialmente el rendimiento
-  del dispositivo y la experiencia del usuario.
+  segundo plano. La eliminación de estas transmisiones puede mejorar sustancialmente el rendimiento  del dispositivo
+ y la experiencia del usuario.
 </p>
 
 <p>
   Los dispositivos móviles están sujetos a cambios de conectividad frecuentes
   entre los modos de datos Wi-Fi y móviles. Actualmente, las aplicaciones pueden realizar controles en busca de cambios en la
-  conectividad registrando un receptor para la difusión implícita {@link
+  conectividad registrando un receptor para la transmisión implícita {@link
   android.net.ConnectivityManager#CONNECTIVITY_ACTION} en su
-  manifiesto. Debido a que muchas aplicaciones se registran para recibir esta difusión, un cambio de
-  red puede hacer que todas se activen y procesen la difusión a la
+  manifiesto. Debido a que muchas aplicaciones se registran para recibir esta transmisión, un cambio de
+  red puede hacer que todas se activen y procesen la transmisión a la
   vez.
 </p>
 
 <p>
-  Asimismo, las aplicaciones pueden registrarse para recibir las difusiones implícitas {@link
+  Asimismo, en versiones anteriores de Android, las aplicaciones podían registrarse para recibir las transmisiones implícitas {@link
   android.hardware.Camera#ACTION_NEW_PICTURE} y {@link
   android.hardware.Camera#ACTION_NEW_VIDEO} de otras aplicaciones, como la
   cámara. Cuando un usuario toma una foto con la aplicación de la cámara, estas aplicaciones se activan
-  para procesar la difusión.
+  para procesar la transmisión.
 </p>
 
 <p>
@@ -146,71 +149,121 @@
 </p>
 
 <ul>
-  <li>Las aplicaciones orientadas a Android N no reciben difusiones {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION}, aún cuando contengan
-  entradas de manifiesto que les permitan solicitar notificaciones de estos eventos. No obstante, las aplicaciones que se ejecuten
-  en primer plano pueden realizar el seguimiento de {@code CONNECTIVITY_CHANGE} en sus subprocesos
-  principales si solicitan notificación a través de {@link
-  android.content.BroadcastReceiver}.
+  <li>Las aplicaciones orientadas a Android N no reciben transmisiones {@link
+  android.net.ConnectivityManager#CONNECTIVITY_ACTION}, aun cuando contengan
+ entradas de manifiesto que les permitan solicitar notificaciones de estos eventos. Las aplicaciones que
+  se ejecutan aún pueden escuchar {@code CONNECTIVITY_CHANGE} en su subproceso principal
+ si solicitan una notificación con un {@link android.content.BroadcastReceiver}.
   </li>
 
-  <li>Las aplicaciones no pueden enviar ni recibir difusiones {@link
+  <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 las que estén orientadas a Android N.
+  afecta a todas las aplicaciones, no solo a aquellas orientadas a Android N.
   </li>
 </ul>
 
-<p>
-  En versiones futuras de Android, es posible que dejen de usarse más difusiones implícitas y
-  servicios en segundo plano no asociados. Por esta razón, debes evitar dependencias en receptores declarados en manifiestos para difusiones implícitas o
-  eliminarlas de ellos,
-  y aplicar lo mismo a los servicios en segundo plano.
-</p>
-
-<p>
-  El framework de Android proporciona varias soluciones para reducir la necesidad de
-  difusiones implícitas o servicios en segundo plano. Por ejemplo, la API de {@link
+<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 con Android N correctamente.
+  El framework de Android ofrece varias soluciones para mitigar la necesidad de
+  estas transmisiones implícitas. Por ejemplo, la API {@link
   android.app.job.JobScheduler} proporciona un mecanismo sólido para programar
-  operaciones de red cuando se cumplen condiciones especificadas, como la conexión a una red
-  de uso no medido. Puedes incluso usar {@link
-  android.app.job.JobScheduler} para responder a cambios de los proveedores de contenido.
+  operaciones de red cuando se cumplen las condiciones especificadas, como una conexión a una
+  red de uso no medido. Puedes usar {@link
+  android.app.job.JobScheduler} para responder a cambios en proveedores de contenido.
 </p>
 
 <p>
-  Para obtener más información sobre este cambio en el comportamiento y la manera de adaptar tu aplicación,
+  Para obtener más información sobre optimizaciones en segundo plano en Android N y la manera de adaptar tu aplicación,
   consulta <a href="{@docRoot}preview/features/background-optimization.html">Optimizaciones
   en segundo plano</a>.
 </p>
 
-
 <h2 id="perm">Cambios en los permisos</h2>
 
 <p>
-  En Android N se incorporan cambios en permisos que pueden tener efecto en tu aplicación.
-  Se incluyen cambios en permisos de cuentas de usuarios y un nuevo permiso para operaciones de escritura en
-  dispositivos de almacenamiento externo. A continuación, se ofrece un resumen de los permisos que se modificaron en
-  la muestra:
+  En Android N, se incorporan cambios en permisos que pueden afectar tu aplicación.
+</p>
+
+<h3 id="permfilesys">Cambios en los permisos del sistema de archivos</h3>
+
+<p>
+  Para mejorar la seguridad de los archivos privados, el directorio privado de
+  las aplicaciones orientadas a Android N o versiones posteriores tiene acceso restringido. (<code>0700</code>).
+  Esta configuración evita la fuga de metadatos de archivos privados, como su tamaño
+  o existencia. Este cambio en los permisos tiene varios efectos secundarios:
 </p>
 
 <ul>
-  <li>{@code GET_ACCOUNTS} (Obsoleto).
-    <p>
-      El permiso GET_ACCOUNTS ha quedado en desuso. El sistema ignora este
-      permiso para las aplicaciones orientadas a Android N.
+  <li>
+    Los propietarios ya no pueden reducir los permisos de archivo de los archivos privados,
+    y un intento de hacerlo utilizando
+    {@link android.content.Context#MODE_WORLD_READABLE} o
+    {@link android.content.Context#MODE_WORLD_WRITEABLE} activará una 
+   {@link java.lang.SecurityException}.
+    <p class="note">
+      <strong>Nota:</strong> Desde ahora, esta restricción no se aplica planamente.
+      Las aplicaciones pueden seguir modificando los permisos para sus directorios privados con
+      las API nativas o la API {@link java.io.File File}. Sin embargo, desaconsejamos
+      reducir los permisos para el directorio privado.
     </p>
   </li>
-
+  <li>
+    Pasar URI <code>file://</code> fuera del dominio del paquete puede dar al
+    receptor una ruta de acceso inaccesible. Por lo tanto, los intentos de pasar un
+    URI <code>file://</code> activan una 
+    <code>FileUriExposedException</code>. La manera recomendada para compartir el
+    contenido de un archivo privado consiste en utilizar el {@link
+    android.support.v4.content.FileProvider}.
+  </li>
+  <li>
+    El {@link android.app.DownloadManager} ya no puede compartir archivos
+    almacenados de manera privada por nombre de archivo. Las aplicaciones heredadas pueden terminar con una
+    ruta de acceso inaccesible cuando acceden a {@link
+    android.app.DownloadManager#COLUMN_LOCAL_FILENAME}. Las aplicaciones orientadas a
+    Android N o versiones posteriores activan una {@link java.lang.SecurityException} cuando 
+    intentan acceder a 
+    {@link android.app.DownloadManager#COLUMN_LOCAL_FILENAME}.
+    Las aplicaciones heredadas que establecen la ubicación de descarga en una ubicación pública
+    usando
+    {@link
+    android.app.DownloadManager.Request#setDestinationInExternalFilesDir
+    DownloadManager.Request.setDestinationInExternalFilesDir()} o
+    {@link
+    android.app.DownloadManager.Request#setDestinationInExternalPublicDir
+    DownloadManager.Request.setDestinationInExternalPublicDir()}
+    siguen teniendo acceso a la ruta de acceso en
+    {@link android.app.DownloadManager#COLUMN_LOCAL_FILENAME}; sin embargo, se desaconseja
+    seguir este método. El método preferido para acceder a un archivo
+    expuesto por el{@link android.app.DownloadManager} consiste en utilizar
+    {@link android.content.ContentResolver#openFileDescriptor
+    ContentResolver.openFileDescriptor()}.
+  </li>
 </ul>
 
+<h2 id="sharing-files">Intercambio de archivos entre aplicaciones</h2>
 
+<p>
+En las aplicaciones orientadas a Android N, el framework de Android aplica
+la política de la API {@link android.os.StrictMode} que prohíbe exponer URI {@code file://}
+fuera de la aplicación. Si una intent con un URI de archivo sale de tu aplicación, la aplicación falla
+con una excepción {@code FileUriExposedException}.
+</p>
+
+<p>
+Para compartir archivos entre aplicaciones, debes enviar un URI {@code content://}
+y otorgar un permiso de acceso temporal en el URI. La forma más sencilla de otorgar este permiso es
+utilizando la clase {@link android.support.v4.content.FileProvider}. Para obtener más información
+sobre permisos e intercambio de archivos,
+consulta <a href="{@docRoot}training/secure-file-sharing/index.html">Intercambio de archivos</a>.
+</p>
 
 <h2 id="accessibility">Mejoras de accesibilidad</h2>
 
 <p>
-  En Android N se incluyen cambios destinados a mejorar la utilidad  de la
+  En Android N, se incluyen cambios destinados a mejorar la usabilidad de la
   plataforma para usuarios con defectos o discapacidades visuales. Estos cambios
-  generalmente no exigirán modificaciones en el código de tu aplicación. Sin embargo, debes revisar
+  generalmente no deben exigir modificaciones en el código de tu aplicación. Sin embargo, debes revisar
   estas funciones y probarlas con tu aplicación para avaluar el posible impacto en la experiencia
   del usuario.
 </p>
@@ -220,9 +273,9 @@
 
 <p>
   Android N permite a los usuarios configurar <strong>Display size</strong>, el ajuste que expande
-  o contrae todos los elementos de la pantalla lo cual mejora la accesibilidad al dispositivo
-  para usuarios con poca visión. Estos no podrán superar el valor de zoom mínimo de zoom de
-  <a href="http://developer.android.com/guide/topics/resources/providing-resources.html">
+  o contrae todos los elementos de la pantalla, lo cual mejora la accesibilidad al dispositivo
+  para usuarios con poca visión. Estos no podrán superar el valor de zoom
+  mínimo de <a href="http://developer.android.com/guide/topics/resources/providing-resources.html">
   sw320dp</a> para el ancho de pantalla, que es el ancho de un Nexus 4, un teléfono común de tamaño intermedio.
 </p>
 
@@ -249,16 +302,16 @@
 
 <ul>
   <li>Si una aplicación se orienta hacia el nivel de API 23 o uno inferior, el sistema automáticamente finaliza
-  todos sus procesos en segundo plano. Esto significa que si un usuario hace a un lado
+  todos los procesos en segundo plano. Esto significa que, si un usuario hace a un lado
   dicha aplicación para abrir la pantalla <em>Settings</em> y cambiar la configuración de
   <strong>Display size</strong>, el sistema finalizará la aplicación tal
   como lo haría en una situación de bajos recursos de memoria. Si en la aplicación hay procesos en
-  primer plano activos, el sistema notifica a estos el cambio en la configuración como se
+  primer plano, el sistema notifica a estos procesos el cambio en la configuración como se
   indica en <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Manejo de cambios
   en tiempo de ejecución</a>, así como lo haría si cambiara la orientación del dispositivo.
   </li>
 
-  <li>Si una aplicación se orienta hacia Android N, se notifica a todos sus procesos
+  <li>Si una aplicación se orienta hacia Android N, se notifica a todos los procesos
   (en primer y segundo plano) el cambio en la configuración, como se
   indica en <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Manejo de cambios
   en tiempo de ejecución</a>.
@@ -266,8 +319,8 @@
 </ul>
 
 <p>
-  En la mayoría de las aplicaciones no se necesitan cambios para admitir esta función, ya que
-  en ellas rigen prácticas recomendadas de Android. Verificaciones específicas que deben realizarse:
+  En la mayoría de las aplicaciones, no se necesitan cambios para admitir esta función, si
+  en ellas se siguen las prácticas recomendadas de Android. Verificaciones específicas que deben realizarse:
 </p>
 
 <ul>
@@ -278,12 +331,12 @@
 
   <li>Cuando se modifique la configuración del dispositivo, actualiza la información almacenada en caché que
   dependa de la densidad, como los mapas de bits o recursos almacenados en caché que se carguen desde la
-  red. Realiza una inspección en busca de cambios en la configuración cuando se reanude la actividad de la aplicación, después de la
+  red. Busca de cambios en la configuración cuando se reanude la actividad de la aplicación, después de la
   pausa.
     <p class="note">
       <strong>Nota:</strong> Si almacenaste en caché datos que dependen de la configuración, te
       convendrá incluir metadatos relacionados, como el tamaño de pantalla
-      correspondiente o la densidad de píxeles para dichos datos. Guardar estos metadatos de permite
+      correspondiente o la densidad de píxeles para dichos datos. Guardar estos metadatos te permite
       decidir si necesitas actualizar los datos almacenados en caché después de un cambio en la
       configuración.
     </p>
@@ -299,7 +352,7 @@
 
 <p>
   Vision Settings se incluye en la pantalla de Bienvenida de Android N, en la cual los usuarios pueden
-  pueden configurar los siguientes ajustes de accesibilidad para un nuevo dispositivo:
+  configurar los siguientes ajustes de accesibilidad para un nuevo dispositivo:
   <strong>Magnification gesture</strong>, <strong>Font size</strong>,
   <strong>Display size</strong> y <strong>TalkBack</strong>. Este cambio
   aumenta la visibilidad de errores relacionados con diferentes ajustes de pantalla. Para
@@ -308,7 +361,7 @@
   Accessibility</strong>.
 </p>
 
-<h2 id="ndk">Aplicaciones de NDK con vínculos a bibliotecas de plataformas</h2>
+<h2 id="ndk">Aplicaciones del NDK con vínculos a bibliotecas de plataformas</h2>
 
 <p>
   En Android N, se incluyen cambios en el espacio de nombres a fin de evitar la carga de API no públicas.
@@ -320,15 +373,15 @@
 <p>
   Con el propósito de alertarte sobre el uso de API no públicas, las aplicaciones que funcionen en un dispositivo con
   Android N producirán un error de salida de logcat cuando una de ellas llame a una API no pública.
-  Este error también aparecerá en la pantalla del dispositivo con forma de mensaje para
+  Este error también aparecerá en la pantalla del dispositivo como un mensaje para ayudar a
   generar conciencia respecto de la situación. Debes revisar el código de tu aplicación para
-  eliminar el uso de API de plataforma no públicas y probar por completo tus aplicaciones con
+  quitar el uso de API de plataformas no públicas y probar por completo tus aplicaciones con
   un dispositivo de prueba o emulador.
 </p>
 
 <p>
-  Si tu aplicación depende de bibliotecas de plataformas, consulta la documentación sobre NDK para hallar
-  soluciones típicas para el reemplazo de API privadas comunes por API equivalentes.
+  Si tu aplicación depende de bibliotecas de plataformas, consulta la documentación sobre el NDK a fin de hallar
+  soluciones típicas para el reemplazo de API privadas comunes por API públicas equivalentes.
   También es posible que establezcas vínculos con bibliotecas de plataformas sin notarlo,
   en especial si tu aplicación usa una biblioteca que forma parte de la plataforma (como
   <code>libpng</code>), pero no del NDK. En ese caso, asegúrate de que
@@ -336,7 +389,7 @@
 </p>
 
 <p class="caution">
-  <strong>Precaución:</strong> Algunas bibliotecas de terceros pueden establecer vínculos con API
+  <strong>Advertencia:</strong> Algunas bibliotecas de terceros pueden establecer vínculos con API
   no públicas. Si tu aplicación usa estas bibliotecas, es probable que se bloquee al ejecutarse
   en la próxima versión oficial de Android.
 </p>
@@ -345,15 +398,15 @@
   Las aplicaciones no deben depender de bibliotecas nativas no incluidas en el NDK
   ni usarlas, ya que pueden modificarse o eliminarse en la transición de una versión de Android a
   otra. El cambio de OpenSSL a BoringSSL es un ejemplo de modificaciones como esta.
-  A su vez, los diferentes dispositivos pueden ofrecer distintos niveles de compatibilidad debido a que
+  A su vez, los diferentes dispositivos pueden ofrecer distintos niveles de compatibilidad, debido a que
   no existen requisitos de compatibilidad para bibliotecas de plataformas no incluidas
-  en el NDK. Si debes acceder a bibliotecas no relacionadas en dispositivos anteriores, haz que la
-  carga dependa del nivel de la Android API.
+  en el NDK. Si debes acceder a bibliotecas no relacionadas con el NDK en dispositivos anteriores, haz que la
+  carga dependa del nivel de la API de Android.
 </p>
 
 <p>
-  Para ayudarte a diagnosticar estos tipos de problemas, a continuación se ofrecen ejemplos de errores de Java y
-  NDK que podrías hallar al intentar crear tu aplicación con Android N:
+  Para ayudarte a diagnosticar estos tipos de problemas, a continuación, se ofrecen ejemplos de errores de Java y
+  del NDK que podrías hallar al intentar compilar tu aplicación con Android N:
 </p>
 
 <p>Ejemplo de error de Java:</p>
@@ -374,7 +427,7 @@
 
 <ul>
   <li>getJavaVM y getJNIEnv de libandroid_runtime.so pueden reemplazarse
-  por funciones de JNI:
+  por funciones estándares de JNI:
 <pre class="no-pretty-print">
 AndroidRuntime::getJavaVM -&gt; GetJavaVM from &lt;jni.h&gt;
 AndroidRuntime::getJNIEnv -&gt; JavaVM::GetEnv or
@@ -382,16 +435,16 @@
 </pre>
   </li>
 
-  <li>La utilización del símbolo {@code property_get} de {@code libcutils.so} puede
-    reemplazarse por la alternativa pública {@code __system_property_get}.
-   Para hacerlo, usa {@code __system_property_get} con el siguiente include:
+  <li>El símbolo {@code property_get} de {@code libcutils.so} puede
+    reemplazarse por la API pública {@code alternative __system_property_get}.
+   Para hacerlo, usa {@code __system_property_get} con el siguiente elemento include:
 <pre>
 #include &lt;sys/system_properties.h&gt;
 </pre>
   </li>
 
   <li>El símbolo {@code SSL_ctrl} de {@code libcrypto.so} debe
-  reemplazarse por una versión local de la aplicación. Por ejemplo, debes establecer un vínculo estático de
+    reemplazarse por una versión local de la aplicación. Por ejemplo, debes establecer un vínculo estático de
   {@code libcyrpto.a} en tu archivo {@code .so} o incluir un vínculo dinámico propio de
   {@code libcrypto.so} de BoringSSL u OpenSSL en tu aplicación.
   </li>
@@ -401,9 +454,9 @@
 <p>
   Android N contiene cambios para aplicaciones orientadas a Android for Work, entre los que se incluyen
   modificaciones en la instalación de certificados, el restablecimiento de contraseñas, la gestión de usuarios
-  secundarios y el acceso a identificadores de dispositivos. Si planeas crear aplicaciones para entornos de
-  Android for Work, debes repasar estos cambios y modificar
-  tu aplicación de manera correspondiente.
+  secundarios y el acceso a identificadores de dispositivos. Si creas aplicaciones para entornos de
+  Android for Work, debes estudiar estos cambios y modificar
+  tu aplicación según corresponda.
 </p>
 
 <ul>
@@ -416,23 +469,23 @@
   <code>IllegalArgumentException</code>.
   </li>
 
-  <li>Las restricciones de contraseñas para administradores de dispositivos ahora se aplican a los propietarios de
+  <li>Las restricciones de restablecimiento de contraseñas para administradores de dispositivos ahora se aplican a los propietarios de
   perfiles. Los administradores de dispositivos ya no pueden usar
-  <code>DevicePolicyManager.resetPassword()</code> para borrar contraseñas ni modificar
+  {@code DevicePolicyManager.resetPassword()} para borrar contraseñas ni modificar
   las que ya están establecidas. No obstante, pueden establecer una contraseña, aunque solo
   cuando el dispositivo no tiene contraseña, PIN ni patrón.
   </li>
 
   <li>Los propietarios de dispositivos y perfiles pueden administrar cuentas aun cuando haya
   restricciones. Tienen la posibilidad de llamar a las API de administración de cuentas
-  incluso al haber restricciones de <code>DISALLOW_MODIFY_ACCOUNTS</code> para el usuario.
+  incluso al haber restricciones <code>DISALLOW_MODIFY_ACCOUNTS</code> para el usuario.
   </li>
 
   <li>Los propietarios de dispositivos pueden administrar usuarios secundarios de manera más sencilla. Cuando un dispositivo
-  funciona en el modo de propietario de dispositivo, se establece la restricción de <code>DISALLOW_ADD_USER</code>
-  en forma automática. Esto evita que los usuarios creen usuarios secundarios no
+  funciona en el modo de propietario de dispositivo, automáticamente se establece la restricción <code>DISALLOW_ADD_USER</code>
+. Esto evita que los usuarios creen usuarios secundarios no
   administrados. A su vez, los métodos <code>CreateUser()</code> y
-  <code>createAndInitial()</code> han quedado en desuso; los reemplaza el nuevo método
+  <code>createAndInitializeUser()</code> han sido dados de baja; los reemplaza el nuevo método
   <code>DevicePolicyManager.createAndManageUser()</code>.
   </li>
 
@@ -441,6 +494,10 @@
   <code>DevicePolicyManagewr.getWifiMacAddress()</code>. Si nunca se habilitó la función Wi-Fi
   en el dispositivo, este método devuelve un valor {@code null}.
   </li>
+
+  <li>La configuración Work Mode controla el acceso a las aplicaciones de trabajo. Cuando este ajuste está desactivado, el
+  launcher del sistema indica que las aplicaciones de trabajo no están disponibles atenuándolas. Para volver
+  a restaurar el comportamiento normal, habilita el modo de trabajo nuevamente.
 </ul>
 
 <p>
@@ -448,10 +505,29 @@
   <a href="{@docRoot}preview/features/afw.html">Actualizaciones de Android for Work</a>.
 </p>
 
+<h2 id="annotations">Retención de anotaciones</h2>
+
+<p>
+Android N soluciona un error por el cual la visibilidad de las anotaciones se había ignorado.
+Este problema permitió que el tiempo de ejecución accediera a anotaciones a las que no debía
+tener acceso. Entre estas anotaciones se incluyen las siguientes:
+</p>
+
+<ul>
+   <li>{@code VISIBILITY_BUILD}: destinada a ser visible solo en el momento de compilación.</li>
+   <li>{@code VISIBILITY_SYSTEM}: destinada a ser visible en el tiempo de ejecución, pero únicamente al
+    sistema subyacente.</li>
+</ul>
+
+<p>
+Si tu aplicación se basa en este comportamiento, agrega una política de retención para las anotaciones que deben
+estar disponibles en el tiempo de ejecución. Para ello, usa {@code @Retention(RetentionPolicy.RUNTIME)}.
+</p>
+
 <h2 id="other">Otros aspectos importantes</h2>
 
 <ul>
-<li>Cuando una aplicación funcione en Android N, esté orientada a un nivel de API inferior
+<li>Cuando una aplicación funcione en Android N, pero esté orientada a un nivel de API inferior,
 y el usuario modifique el tamaño de pantalla, el proceso de la aplicación finalizará. La aplicación
 debe tener capacidad para manejar correctamente esta situación. De lo contrario, se bloqueará
 cuando el usuario la restaure desde Recents.
@@ -476,5 +552,59 @@
 <strong>Display</strong> &gt; <strong>Font size</strong>) y restaurándolas
 desde Recents.
 </li>
+
+<li>
+Debido a un error en versiones anteriores de Android, el sistema no indicaba la escritura
+a un socket del TCP en el subproceso principal como una violación del modo strict. En Android N, se corrige este error.
+Las aplicaciones que tienen este comportamiento, ahora emiten una {@code android.os.NetworkOnMainThreadException}.
+Generalmente, realizar operaciones de red en el subproceso principal no es una buena idea porque estas operaciones
+suelen tener una latencia alta de cola que genera mensajes que indican que la aplicación no responde y bloqueos.
+</li>
+
+<li>
+De manea predeterminada, la familia de métodos {@code Debug.startMethodTracing()} ahora
+almacena los resultados en el directorio específico del paquete en el almacenamiento compartido,
+en lugar de hacerlo en el nivel superior
+de la tarjeta SD.  Esto significa que las aplicaciones ya no tienen que solicitar el permiso {@code WRITE_EXTERNAL_STORAGE} para usar estas API.
+</li>
+
+<li>
+Muchas API de la plataforma han comenzado a controlar en busca del envío de cargas grandes
+a través de transacciones {@link android.os.Binder}. Además, el
+sistema ahora vuelve a emitir {@code TransactionTooLargeExceptions}
+como {@code RuntimeExceptions}, en lugar de registrarlas o suprimirlas silenciosamente.  Un
+ejemplo común es almacenar demasiados datos en 
+{@link android.app.Activity#onSaveInstanceState Activity.onSaveInstanceState()},
+ lo que hace que {@code ActivityThread.StopInfo} emita una
+{@code RuntimeException} cuando la aplicación se orienta a Android N.
+</li>
+
+<li>
+Si una aplicación publica tareas {@link java.lang.Runnable} en una {@link android.view.View}, y
+la {@link android.view.View}
+no está anexada a una ventana, el sistema
+pone en cola la tarea {@link java.lang.Runnable} con la {@link android.view.View}.
+La tarea {@link java.lang.Runnable} no se ejecuta hasta que la
+{@link android.view.View} esté anexada 
+a una ventana. Este comportamiento soluciona los siguientes errores:
+<ul>
+   <li>Si una aplicación publicaba una {@link android.view.View} desde un subproceso que no fuera el subproceso de la IU
+   de la ventana prevista, la tarea {@link java.lang.Runnable} podía ejecutarse en el subproceso incorrecto.
+   </li>
+   <li>Si la tarea {@link java.lang.Runnable} se publicaba desde un subproceso que no fuera
+   un subproceso de looper, la aplicación podía exponer la terea {@link java.lang.Runnable}.</li>
+</ul>
+</li>
+
+<li>
+Si una aplicación en Android N con el permiso
+{@link android.Manifest.permission#DELETE_PACKAGES DELETE_PACKAGES}
+intentaba borrar un paquete instalado por otra aplicación,
+el sistema solicitaba la confirmación del usuario. En este escenario, las aplicaciones debían esperar recibir el estado 
+{@link android.content.pm.PackageInstaller#STATUS_PENDING_USER_ACTION STATUS_PENDING_USER_ACTION}
+al invocar
+{@link android.content.pm.PackageInstaller#uninstall PackageInstaller.uninstall()}.
+</li>
+
 </ul>
 
diff --git a/docs/html-intl/intl/es/preview/download-ota.jd b/docs/html-intl/intl/es/preview/download-ota.jd
new file mode 100644
index 0000000..d3e8be9
--- /dev/null
+++ b/docs/html-intl/intl/es/preview/download-ota.jd
@@ -0,0 +1,324 @@
+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-npd35k-b8cfbd80.zip</a><br>
+      MD5: 15fe2eba9b01737374196bdf0a792fe9<br>
+      SHA-1: 5014b2bba77f9e1a680ac3f90729621c85a14283
+    </td>
+  </tr>
+
+  <tr id="shamu">
+    <td>Nexus 6 <br>"shamu"</td>
+    <td><a href="#top" onclick="onDownload(this)">shamu-ota-npd35k-078e6fa5.zip</a><br>
+      MD5: e8b12f7721c53af9a450f7058928a5fc<br>
+      SHA-1: b7a9b756f84a1d2e482ff9c16749d65f6e51425a
+    </td>
+  </tr>
+
+  <tr id="angler">
+    <td>Nexus 6P <br>"angler"</td>
+    <td><a href="#top" onclick="onDownload(this)">angler-ota-npd35k-88457699.zip</a><br>
+      MD5: 3fac09fef759dde26e57cb80b20b6477<br>
+      SHA-1: 27d6caa786577d8a38b2da5bf94b33b4524a1a1c
+    </td>
+  </tr>
+
+  <tr id="volantis">
+    <td>Nexus 9 <br>"volantis"</td>
+    <td><a href="#top" onclick="onDownload(this)">volantis-ota-npd35k-51dbae76.zip</a><br>
+      MD5: 58312c4a5971818ef5c77a3f446003da<br>
+      SHA-1: aad9005be33d3e2bab480509a6ab74c3c3b9d921
+    </td>
+  </tr>
+
+  <tr id="volantisg">
+    <td>Nexus 9G <br>"volantisg"</td>
+    <td><a href="#top" onclick="onDownload(this)">volantisg-ota-npd35k-834f047f.zip</a><br>
+      MD5: 92b7d1fa252f7394e70f957c72d4aac8<br>
+      SHA-1: b6c057c84d90893630e303cbb60530e20ddb8361
+    </td>
+  </tr>
+
+  <tr id="fugu">
+    <td>Nexus Player <br>"fugu"</td>
+    <td><a href="#top" onclick="onDownload(this)">fugu-ota-npd35k-6ac91298.zip</a><br>
+      MD5: 1461622ad53ea842b2722fa7b49b8172<br>
+      SHA-1: 409c061668ab270774877d7f3eae44fa48d2b931
+    </td>
+  </tr>
+
+  <tr id="ryu">
+    <td>Pixel C <br>"ryu"</td>
+    <td><a href="#top" onclick="onDownload(this)">ryu-ota-npd35k-a0b2347f.zip</a><br>
+      MD5: c60117f3640cc6db12386fd632289c7d<br>
+      SHA-1: 87349c767c69efb4172c90ce1d88cf578c3d28b3
+    </td>
+  </tr>
+
+  <tr id="seed">
+    <td>General Mobile 4G (Android One) <br>"seed"</td>
+    <td><a href="#top" onclick="onDownload(this)">seed_l8150-ota-npd35k-09897a1d.zip</a><br>
+      MD5: a55cf94f7cce0393ec6c0b35041766b7<br>
+      SHA-1: 6f33742290eb46f2561891f38ca2e754b4e50c6a
+    </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
index b3135d1..d489074 100644
--- a/docs/html-intl/intl/es/preview/download.jd
+++ b/docs/html-intl/intl/es/preview/download.jd
@@ -1,5 +1,5 @@
-page.title=Pruebe en un dispositivo
-meta.tags=“Versión preliminar”, “Nexus”,“imagen de sistema”
+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
 
@@ -16,53 +16,53 @@
     <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”).
+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 preliminar del SDK de Android (denominada “Versión preliminar” en el Contrato de licencia e 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, con respecto a la utilización que usted haga de la Preview.
+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 software Android para dispositivos, tal como se encuentra disponible en el proyecto de código abierto de Android, ubicado en la siguiente dirección URL: http://source.android.com/, y sus actualizaciones frecuentes.
+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, que está 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.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" significa Google Inc., una empresa de Delaware con su sede principal en 1600 Amphitheatre Parkway, Mountain View, CA 94043, Estados Unidos.
+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 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.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 Versión preliminar, por medio del presente, usted acepta los términos del Contrato de licencia.
+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 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.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 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.
+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 que no puede otorgar una sublicencia para utilizar la Preview con el único propósito de desarrollar aplicaciones para ejecutar en implementaciones compatibles de Android.
+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 (incluyendo implementaciones incompatibles de Android) o para desarrollar otro SDK. Por supuesto, usted tiene la libertad para desarrollar aplicaciones para otras plataformas, incluyendo implementaciones incompatibles de Android, siempre y cuando esta Preview no sea utilizada con ese propósito.
+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 ésta. "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.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 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 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.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 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.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 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.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 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.
+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 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.
+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).
 
-
-
- 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.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.
 
@@ -70,53 +70,53 @@
 
 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.
+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 usted pudiera escoger, y que será el único responsable de todas las aplicaciones que se desarrollen con 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 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.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 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/.
+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 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.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 permiso específicamente para hacerlo.
+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
+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.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 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.
+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 Versión preliminar y de las credenciales de desarrollador pertinentes.
+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, después de notificárselo a usted.
+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 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.
+(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 Versión preliminar y las disposiciones de los párrafos 10, 11, 12 y 14 seguirán vigentes indefinidamente.
+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 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.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 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.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.
 
@@ -142,7 +142,7 @@
 
 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. ESAS LEYES INCLUYEN RESTRICCIONES EN RELACIÓN CON LOS DESTINOS, USUARIOS FINALES Y USO FINAL.
+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.
 
@@ -167,7 +167,7 @@
 
 <div id="qv-wrapper">
   <div id="qv">
-    <h2>Contenido del documento</h2>
+    <h2>En este documento</h2>
       <ol>
         <li><a href="#device-preview">Configurar un dispositivo de hardware</a>
           <ol>
@@ -182,8 +182,8 @@
 </div>
 
 <p>
-  Para ejecutar y probar tu aplicación en la plataforma nueva necesitas configurar el tiempo de ejecución de Android N
-  . Puedes realizar eso de las siguientes maneras:
+  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>
@@ -192,15 +192,15 @@
 </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 actual APK y un dispositivo de hardware o
-  emulador. No necesitas actualizar todo tu entorno de desarrollo 
+  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 que esté actualizado para que admita 
+   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>
@@ -209,87 +209,87 @@
 <h2 id="device-preview">Configurar un dispositivo de hardware</h2>
 
 <p>
-  En la N Developer Preview se ofrecen actualizaciones del sistema para una variedad de dispositivos de hardware 
+  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 versión "milestone" de la Developer Preview
-  de las siguientes maneras:
+  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 del sistema vía OTA</strong> a través del
-  <a href="https://g.co/androidbeta">Programa de Android beta</a>. Una vez registrado, tu dispositivo recibirá actualizaciones inalámbricas regulares (OTA)
-  de todas las compilaciones de hitos 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</strong>.
-  Las actualizaciones OTA 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 OTA. </li>
+  <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 OTA</h3>
+<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 mostrar versiones de Android
-  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.
+  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 registro de un dispositivo en cualquier momento. El dispositivo recibirá una actualización OTA
+  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
-  , entonces se quitarán los datos del usuario en el dispositivo. Asegúrate de <strong>realizar una
-  copia de seguridad de los datos importantes</strong> antes de dar de baja un 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> .
+  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. Realice una copia de seguridad de los
-  datos importantes primero.
+  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 manualmente</h3>
+<h3 id="flash">Actualizar un dispositivo de forma manual</h3>
 
 <p>
-  En cualquier momento, puedes descargar las últimas imágenes de sistema de la Developer Preview y
-  puedes actualizarlas manualmente en tu dispositivo. Consulta la siguiente tabla para descargar la imagen de
-  sistema para tu dispositivo de prueba. La actualización manual de un dispositivo es útil si necesitas
+  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. 
+  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, deberás hacer una copia de seguridad de los datos en primer lugar.
+  dispositivo</strong>, por lo tanto, es recomendable crear una copia de seguridad de los datos.
 </p>
 
 <p>
-  Después de que realices una copia de seguridad y que descargues la siguiente imagen de sistema que
+  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.
+  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 OTA de manera automática</strong> para posteriores "milestone"
-  de la Developer Preview. Asegúrate de mantener tu entorno actualizado y actualiza una
-  nueva imagen de sistema en cada "milestone" de la Developer Preview.
+  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 OTA después de actualizar de manera manual un dispositivo, 
+  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
-  vía inalámbrica. 
+  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>
@@ -299,65 +299,73 @@
   </tr>
 
   <tr id="bullhead">
-    <td>Nexus 5X <br>“bullhead”</td>
-    <td><a href="#top" onclick="onDownload(this)">bullhead-npc56p-preview-6c877a3d.tgz</a><br>
-      MD5: b5cf874021023b398f5b983b24913f5d<br>
-      SHA-1: 6c877a3d9fae7ec8a1678448e325b77b7a7b143a
+    <td>Nexus 5X <br>"bullhead"</td>
+    <td><a href="#top" onclick="onDownload(this)">bullhead-npd35k-factory-5ba40535.tgz</a><br>
+      MD5: b6c5d79a21815ee21db41822dcf61e9f<br>
+      SHA-1: 5ba4053577007d15c96472206e3a79bc80ab194c
     </td>
   </tr>
 
   <tr id="shamu">
-    <td>Nexus 6 <br>“shamu”</td>
-    <td><a href="#top" onclick="onDownload(this)">shamu-npc56p-preview-54b13c67.tgz</a><br>
-      MD5: af183638cf34e0eb944a1957d7696f60<br>
-      SHA-1: 54b13c6703d369cc79a8fd8728fe4103c6343973
+    <td>Nexus 6 <br>"shamu"</td>
+    <td><a href="#top" onclick="onDownload(this)">shamu-npd35k-factory-a33bf20c.tgz</a><br>
+      MD5: e1cf9c57cfb11bebe7f1f5bfbf05d7ab<br>
+      SHA-1: a33bf20c719206bcf08d1edd8da6c0ff9d50f69c
     </td>
   </tr>
 
   <tr id="angler">
-    <td>Nexus 6P <br>“angler”</td>
-    <td><a href="#top" onclick="onDownload(this)">angler-npc56p-preview-85ffc1b1.tgz</a><br>
-      MD5: bc4934ea7bd325753eee1606d3725a24<br>
-      SHA-1: 85ffc1b1be402b1b96f9ba10929e86bba6c6c588
+    <td>Nexus 6P <br>"angler"</td>
+    <td><a href="#top" onclick="onDownload(this)">angler-npd35k-factory-81c341d5.tgz</a><br>
+      MD5: e93de7949433339856124c3729c15ebb<br>
+      SHA-1: 81c341d57ef2cd139569b055d5d59e9e592a7abd
     </td>
   </tr>
 
   <tr id="volantis">
-    <td>Nexus 9 <br>“volantis”</td>
-    <td><a href="#top" onclick="onDownload(this)">volantis-npc56p-preview-0e8ec8ef.tgz</a><br>
-      MD5: c901334c6158351e945f188167ae56f4<br>
-      SHA-1: 0e8ec8ef98c7a8d4f58d15f90afc5176303efca4
+    <td>Nexus 9 <br>"volantis"</td>
+    <td><a href="#top" onclick="onDownload(this)">volantis-npd35k-factory-2b50e19d.tgz</a><br>
+      MD5: 565be87ebb2d5937e2abe1a42645864b<br>
+      SHA-1: 2b50e19dae2667b27f911e3c61ed64860caf43e1
     </td>
   </tr>
 
   <tr id="volantisg">
-    <td>Nexus 9G <br>“volantisg”</td>
-    <td><a href="#top" onclick="onDownload(this)">volantisg-npc56p-preview-1bafdbfb.tgz</a><br>
-      MD5: 7bb95bebc478d7257cccb4652899d1b4<br>
-      SHA-1: 1bafdbfb502e979a9fe4c257a379c4c7af8a3ae6
+    <td>Nexus 9G <br>"volantisg"</td>
+    <td><a href="#top" onclick="onDownload(this)">volantisg-npd35k-factory-2e89ebe6.tgz</a><br>
+      MD5: a8464e15c6683fe2afa378a63e205fda<br>
+      SHA-1: 2e89ebe67a46b2f3beb050746c13341cd11fa678
     </td>
   </tr>
 
   <tr id="fugu">
-    <td>Nexus Player <br>“fugu”</td>
-    <td><a href="#top" onclick="onDownload(this)">fugu-npc56r-preview-7027d5b6.tgz</a><br>
-      MD5: f5d3d8f75836ccfe4c70e8162e498be4<br>
-      SHA-1: 7027d5b662bceda4c80a91a0a14ef0e5a7ba795b
+    <td>Nexus Player <br>"fugu"</td>
+    <td><a href="#top" onclick="onDownload(this)">fugu-npd35k-factory-1de74874.tgz</a><br>
+      MD5: c0dbb7db671f61b2785da5001cedefcb<br>
+      SHA-1: 1de74874f8d83e14d642f13b5a2130fc2aa55873
     </td>
   </tr>
 
   <tr id="ryu">
-    <td>Pixel C <br>“ryu”</td>
-    <td><a href="#top" onclick="onDownload(this)">ryu-npc56p-preview-335a86a4.tgz</a><br>
-      MD5: 4e21fb183bbbf467bee91598d587fd2e<br>
-      SHA-1: 335a86a435ee51f18464de343ad2e071c38f0e92
+    <td>Pixel C <br>"ryu"</td>
+    <td><a href="#top" onclick="onDownload(this)">ryu-npd35k-factory-b4eed85d.tgz</a><br>
+      MD5: bdcb6f770e753668b5fadff2a6678e0d<br>
+      SHA-1: b4eed85de0d42c200348a8629084f78e24f72ac2
     </td>
   </tr>
+
   <tr id="seed">
-    <td>4G móviles en general (Android One) <br>“seed”</td>
-    <td><a href="#top" onclick="onDownload(this)">seed_l8150-npc56p-preview-82472ebc.tgz</a><br>
-      MD5: 983e083bc7cd0c4a2d39d6ebaa20202a<br>
-      SHA-1: 82472ebc9a6054a103f53cb400a1351913c95127
+    <td>General Mobile 4G (Android One) <br>"seed"</td>
+    <td><a href="#top" onclick="onDownload(this)">seed_l8150-npd35k-factory-5ab1212b.tgz</a><br>
+      MD5: 7d34a9774fdd6e025d485ce6cfc23c4c<br>
+      SHA-1: 5ab1212bc9417269d391aacf1e672fff24b4ecc5
+    </td>
+  </tr>
+
+  <tr id="xperia">
+    <td>Sony Xperia Z3 <br> (D6603 and D6653)</td>
+    <td>Descarga: <a class="external-link" href="http://support.sonymobile.com/xperiaz3/tools/xperia-companion/">Xperia Companion</a><br>
+      Para más información, visita la sección <a class="external-link" href="https://developer.sony.com/develop/smartphones-and-tablets/android-n-developer-preview/">Prueba la Android N Developer Preview en Xperia Z3</a>.
     </td>
   </tr>
 
@@ -366,29 +374,29 @@
 <h3 id="revertDevice">Desinstalar la Preview de un dispositivo</h3>
 
 <p>
-  Si quieres desinstalar la Preview de un dispositivo, puedes hacerlo de las
+  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>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
-        . De manera alternativa, si el dispositivo es compatible con
-        el Programa de Android beta, puedes registrar el dispositivo en el
+. 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 de Android beta</strong>. Si el
-    dispositivo se registra en el <a href="https://g.co/androidbeta">Programa de Android beta
-    </a>, independientemente del dispositivo, puedes simplemente darlo de baja desde el programa.
+    <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 OTA 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, entonces se quitarán
-     los datos del usuario en el dispositivo. Asegúrate de <strong>realizar una  copia de seguridad de los datos importantes</strong> antes
+    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>
@@ -397,22 +405,22 @@
 <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
-  en el dispositivo.
+  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 Android N Preview SDK y crear un dispositivo virtual para el
+descargar el Android N Preview SDK y crear un dispositivo virtual para el
 emulador.</p>
 
-<p>Primero, descarga Android N Preview SDK de la siguiente manera (si
-ya lo obtuviste durante <a href="{@docRoot}preview/setup-sdk.html">la configuración
+<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 diálogo de configuración
+  <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;
@@ -447,28 +455,22 @@
   <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>.
-    (Solo las imágenes de sistema x86 son actualmente compatibles con el emulador de Android
+    <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 lanzar el emulador de Android con el AVD de la Android N Preview.</p>
+<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, instala la
-Android Studio 2.1 Preview, que admite el <a href="http://tools.android.com/tech-docs/emulator">emulador Android 2.0 Beta</a>
-con mayor rendimiento en comparación con el emulador en
+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 class="note"><strong>Nota:</strong>
-  Si actualmente estás usando Android Studio 2.0 Beta, existe un problema conocido
-  que no te permite crear AVD con las imágenes de sistema de la N Preview;
-  por el momento necesitas usar la muestra de Android Studio 2.1 para crear AVD.
-</p>
-
-<p>Para obtener más información sobre la creación de dispositivos virtuales, consulte la <a href="{@docRoot}tools/devices/index.html">Administración de dispositivos virtuales.</a>
+<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>
 
 
diff --git a/docs/html-intl/intl/es/preview/features/afw.jd b/docs/html-intl/intl/es/preview/features/afw.jd
new file mode 100644
index 0000000..32e57c8
--- /dev/null
+++ b/docs/html-intl/intl/es/preview/features/afw.jd
@@ -0,0 +1,552 @@
+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
index 151b5fc..fbae9b5 100644
--- a/docs/html-intl/intl/es/preview/features/background-optimization.jd
+++ b/docs/html-intl/intl/es/preview/features/background-optimization.jd
@@ -1,5 +1,5 @@
 page.title=Optimizaciones en segundo plano
-page.metaDescription=Nuevas restricciones para difusiones implícitas.
+page.metaDescription=Nuevas restricciones para transmisiones implícitas.
 page.keywords="android N", "implicit broadcasts", "job scheduler"
 page.image=images/cards/card-nyc_2x.jpg
 
@@ -8,7 +8,7 @@
 <div id="qv-wrapper">
   <div id="qv">
     <h2>
-      Contenido del documento
+      En este documento
     </h2>
 
     <ol>
@@ -18,7 +18,7 @@
 
       <li>
         <a href="#sched-jobs">Programación de trabajos en red en conexiones
-        sin medición</a>
+        sin medición de uso</a>
       </li>
 
       <li>
@@ -48,35 +48,37 @@
 
 <p>
   Los procesos en segundo plano pueden consumir mucha memoria y batería. Por ejemplo, una
-  difusión implícita puede iniciar muchos procesos en segundo plano registrados para
+  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.
+ afectar de forma significativa tanto el rendimiento del dispositivo como la experiencia de usuario.
 </p>
 
 <p>
-  Para atenuar este problema, la N Developer Preview aplica las siguientes 
-  restricciones:
+  Para corregir este problema, en Android N se aplican las siguientes
+ restricciones:
 </p>
 
 <ul>
-  <li>Las aplicaciones orientadas a la Preview no reciben difusiones {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION} si 
-  en su manifiesto registran que las reciben. Las aplicaciones que se ejecutan en segundo plano
-  aún pueden escuchar {@code CONNECTIVITY_CHANGE} en su subproceso principal al
-  registrar un {@link android.content.BroadcastReceiver} con {@link
+  <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 difusiones {@link
+  <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 las orientadas a la Preview.
+ 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 difusiones implícitas. Por ejemplo, {@link android.app.job.JobScheduler}
+  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
@@ -98,20 +100,20 @@
 </h2>
 
 <p>
-  Las aplicaciones orientadas a la N Developer Preview no reciben difusiones {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION} si en su
-  manifiesto registran que las reciben, y los procesos dependen de que
-  no se inicie esa difusió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
+  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 esas difusiones mientras la aplicación está en segundo plano.
+ {@link android.content.Context#registerReceiver Context.registerReceiver()}
+ continúa recibiendo estas transmisiones mientras se ejecuta la aplicación.
 </p>
 
 <h3 id="sched-jobs">
@@ -162,11 +164,10 @@
 </h3>
 
 <p>
-  Las aplicaciones que se ejecutan en segundo plano aún pueden escuchar {@code
-  CONNECTIVITY_CHANGE} con un {@link
-  android.content.BroadcastReceiver} registrado. No obstante, la API {@link
+  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.
+ un callback solo cuando se cumplen las condiciones de red especificadas.
 </p>
 
 <p>
@@ -194,12 +195,12 @@
 </h2>
 
 <p>
-  En la N Developer Preview, las aplicaciones no pueden enviar ni recibir difusiones {@link
+  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. La N Developer Preview
-  extiende {@link android.app.job.JobInfo} y {@link
+ 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>
 
@@ -208,8 +209,8 @@
 </h3>
 
 <p>
-  Para activar trabajos en los cambios del URI de contenido, la N Developer Preview amplía
-  la API {@link android.app.job.JobInfo} con los siguientes métodos:
+  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>
@@ -243,10 +244,10 @@
 </dl>
 
 <p class="note">
-  <strong>Nota:</strong> no se puede usar {@code TriggerContentUri()} junto
+  <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, programa un nuevo
+  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>
@@ -266,7 +267,7 @@
           MY_BACKGROUND_JOB,
           new ComponentName(context, MediaContentJob.class));
   builder.addTriggerContentUri(
-          new JobInfo.TriggerContentUri(MEDIA_URI,
+          new JobInfo.TriggerContentUri(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
           JobInfo.TriggerContentUri.FLAG_NOTIFY_FOR_DESCENDANTS));
   js.schedule(builder.build());
 }
@@ -283,9 +284,9 @@
 </h3>
 
 <p>
-  La N Developer Preview 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:
+  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>
@@ -355,36 +356,36 @@
 <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 difusiones implícitas
-  registrados estadísticamente puede ayudar a que tu aplicación se ejecute mejor en esos dispositivos. Si bien
-  la N Developer Preview toma medidas para reducir algunos de esos problemas, te
-  recomendamos que optimices tu aplicación para que pueda ejecutarse sin utilizar esos
-  procesos en segundo plano.
+ 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>
-  La N Developer Preview presenta algunos comandos adicionales de <a href="{@docRoot}tools/help/adb.html">Puente de Depuración Android (en inglés, Android Debug Bridge, ADB)</a> que
-  puedes usar para probar el comportamiento de la aplicación con esos procesos en segundo plano deshabilitados:
+  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 difusiones implícitas ni servicios en segundo plano
-  disponibles, ingresa el siguiente comando:
+  <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 RUN_IN_BACKGROUND ignore}
+{@code $ adb shell cmd appops set &lt;package&gt; RUN_IN_BACKGROUND ignore}
 </pre>
   </li>
 
-  <li>Para volver a habilitar las difusiones implícitas y los servicios en segundo plano, ingresa el
+  <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 RUN_IN_BACKGROUND allow}
+{@code $ adb shell cmd appops set &lt;package&gt; RUN_IN_BACKGROUND allow}
 </pre>
   </li>
-</ul>
\ No newline at end of file
+</ul>
diff --git a/docs/html-intl/intl/es/preview/features/data-saver.jd b/docs/html-intl/intl/es/preview/features/data-saver.jd
new file mode 100644
index 0000000..458e662
--- /dev/null
+++ b/docs/html-intl/intl/es/preview/features/data-saver.jd
@@ -0,0 +1,234 @@
+page.title=Ahorro de datos
+metaDescription=User-enabled data usage optimization.
+page.keywords="android N", "data usage", "metered network"
+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="#status">Verificación de las preferencias de ahorro de datos</a>
+        <ol>
+          <li>
+            <a href="#request-whitelist">Solicitud de permisos de lista blanca</a>
+          </li>
+        </ol>
+      </li>
+
+      <li>
+        <a href="#monitor-changes">Control de cambios en las preferencias
+ de ahorro de datos</a>
+      </li>
+
+      <li>
+        <a href="#testing">Pruebas con comandos de Android Debug Bridge</a>
+      </li>
+    </ol>
+  </div>
+</div>
+
+<p>
+  Durante la vida útil de un smartphone, el costo de un plan de datos móviles puede
+ superar fácilmente el costo del propio dispositivo. En la versión N Developer Preview, los usuarios pueden
+ habilitar el ahorro de datos en todo el dispositivo a fin de reducir el uso de datos, ya sea con
+ servicio de itinerancia, cerca del final del ciclo de facturación o con un pequeño paquete de datos prepago.
+</p>
+
+<p>
+  Cuando un usuario habilita el ahorro de datos en <strong>Settings</strong> y el dispositivo está conectado
+ a una red de uso medido, el sistema bloquea el uso de datos en segundo plano y envía señales
+ a las aplicaciones para que utilicen menos datos en primer plano siempre que sea posible. Los usuarios pueden
+ incluir aplicaciones específicas en la lista blanca para permitir el uso de datos medidos en segundo plano, incluso cuando está activado el ahorro
+ de datos.
+</p>
+
+<p>
+  La N Developer Preview extiende la API {@link android.net.ConnectivityManager}
+ para que las aplicaciones puedan <a href="#status">recuperar las preferencias de
+ ahorro de datos del usuario</a> y <a href="#monitor-changes">controlar
+ los cambios en las preferencias</a>. Se considera una buena práctica que las aplicaciones verifiquen si el
+ usuario habilitó el ahorro de datos y se esfuercen por reducir el uso de datos en primer
+ y segundo plano.
+</p>
+
+<h2 id="status">
+  Verificación de las preferencias de ahorro de datos
+</h2>
+
+<p>
+  En la N Developer Preview, las aplicaciones pueden utilizar la API {@link
+  android.net.ConnectivityManager} para determinar qué restricciones
+ de uso de datos se aplican. Mediante el método {@code getRestrictBackgroundStatus()}
+, se devuelve uno de los siguientes valores:
+</p>
+
+<dl>
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_DISABLED}
+  </dt>
+
+  <dd>
+    El ahorro de datos está inhabilitado.
+  </dd>
+
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_ENABLED}
+  </dt>
+
+  <dd>
+    El usuario habilitó el ahorro de datos para esta aplicación. Las aplicaciones deben esforzarse por reducir
+ el uso de datos en primer plano y manejar correctamente las restricciones para
+ el uso de datos en segundo plano.
+  </dd>
+
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_WHITELISTED}
+  </dt>
+
+  <dd>
+    El usuario habilitó el ahorro de datos, pero la aplicación se encuentra en la lista blanca. Las aplicaciones aún deben
+ esforzarse por reducir el uso de datos en primer y segundo plano.
+  </dd>
+</dl>
+
+<p>
+  Se considera una buena práctica limitar el uso de datos siempre que el dispositivo esté
+ conectado a una red de uso medido, incluso si el ahorro de datos está deshabilitado o la aplicación
+ se encuentra en la lista blanca. El siguiente código de muestra utiliza {@link
+  android.net.ConnectivityManager#isActiveNetworkMetered
+  ConnectivityManager.isActiveNetworkMetered()} y {@code
+  ConnectivityManager.getRestrictBackgroundStatus()} para determinar la cantidad de datos
+ que la aplicación debe utilizar:
+</p>
+
+<pre>
+ConnectivityManager connMgr = (ConnectivityManager)
+        getSystemService(Context.CONNECTIVITY_SERVICE);
+// Checks if the device is on a metered network
+if (connMgr.isActiveNetworkMetered()) {
+  // Checks user’s Data Saver settings.
+  switch (connMgr.getRestrictBackgroundStatus()) {
+    case RESTRICT_BACKGROUND_STATUS_ENABLED:
+    // Background data usage is blocked for this app. Wherever possible,
+    // the app should also use less data in the foreground.
+
+    case RESTRICT_BACKGROUND_STATUS_WHITELISTED:
+    // The app is whitelisted. Wherever possible,
+    // the app should use less data in the foreground and background.
+
+    case RESTRICT_BACKGROUND_STATUS_DISABLED:
+    // Data Saver is disabled. Since the device is connected to a
+    // metered network, the app should use less data wherever possible.
+  }
+} else {
+  // The device is not on a metered network.
+  // Use data as required to perform syncs, downloads, and updates.
+}
+</pre>
+
+<h3 id="request-whitelist">
+  Solicitud de permisos de lista blanca
+</h3>
+
+<p>
+  Si la aplicación necesita utilizar datos en segundo plano, esta puede solicitar permisos de
+ lista blanca mediante el envío de una intent
+ <code>Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS</code>
+ que contenga un URI del nombre de paquete de la aplicación, como por ejemplo,
+ <code>package:MY_APP_ID</code>.
+</p>
+
+<p>
+  Mediante el envío de la intent y el URI, se inicia la aplicación <strong>Settings</strong> y
+ se muestra la configuración de uso de datos para la aplicación. El usuario luego puede decidir si
+ habilita los datos en segundo plano para la aplicación. Antes de enviar esta intent, resulta
+ buena práctica consultarle primero al usuario acerca de si desea iniciar la aplicación
+ <strong>Settings</strong> con el objetivo de habilitar el uso de datos
+ en segundo plano.
+</p>
+
+<h2 id="monitor-changes">
+  Control de cambios en las preferencias de ahorro de datos
+</h2>
+
+<p>
+  Las aplicaciones pueden controlar los cambios en las preferencias de ahorro de datos mediante la creación de un {@link
+  android.content.BroadcastReceiver} para escuchar {@code
+  ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED} y mediante un registro
+ dinámico del receptor con {@link android.content.Context#registerReceiver
+  Context.registerReceiver()}. Cuando una aplicación recibe esta transmisión, debe
+ <a href="#status">verificar si las nuevas preferencias de ahorro de datos afectan los
+ permisos; para ello,</a> la aplicación debe llamar a {@code
+  ConnectivityManager.getRestrictBackgroundStatus()}.
+</p>
+
+<p class="note">
+  <strong>Nota:</strong> El sistema únicamente envía esta transmisión a las aplicaciones que
+ se registran dinámicamente para recibirla con {@link
+  android.content.Context#registerReceiver Context.registerReceiver()}. Las aplicaciones
+ que en su manifiesto registran que la reciben no la
+ recibirán.
+</p>
+
+<h2 id="testing">
+  Pruebas con comandos de Android Debug Bridge
+</h2>
+
+<a href="{@docRoot}tools/help/adb.html">Android Debug Bridge (ADB)</a>
+ofrece algunos comandos que puedes utilizar para verificar y configurar los permisos
+de red:
+
+<dl>
+  <dt>
+    <code>$ adb shell dumpsys netpolicy</code>
+  </dt>
+
+  <dd>
+    Se genera un informe en el que se incluyen la configuración global actual de restricciones de red
+ en segundo plano, los UID de paquetes que se encuentran actualmente en una lista blanca y los permisos
+ de red de otros paquetes conocidos.
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy</code>
+  </dt>
+
+  <dd>
+    Se muestra una lista completa de los comandos del administrador de políticas de red (políticas de red).
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy set restrict-background
+    &lt;boolean&gt;</code>
+  </dt>
+
+  <dd>
+    Se habilita o deshabilita el modo de ahorro de datos cuando se asignan los valores <code>true</code> o
+    <code>false</code>, respectivamente.
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy add restrict-background-whitelist
+    &lt;UID&gt;</code>
+  </dt>
+
+  <dd>
+    Se agrega el UID del paquete específico a la lista blanca para permitir el uso de datos
+ medidos en segundo plano.
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy remove restrict-background-whitelist
+    &lt;UID&gt;</code>
+  </dt>
+
+  <dd>
+    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
diff --git a/docs/html-intl/intl/es/preview/features/direct-boot.jd b/docs/html-intl/intl/es/preview/features/direct-boot.jd
index 14a2edf..a9cfcf0 100644
--- a/docs/html-intl/intl/es/preview/features/direct-boot.jd
+++ b/docs/html-intl/intl/es/preview/features/direct-boot.jd
@@ -1,4 +1,4 @@
-page.title=Arranque directo
+page.title=Inicio directo
 page.keywords=preview,sdk,direct boot
 page.tags=androidn
 page.image=images/cards/card-nyc_2x.jpg
@@ -7,32 +7,32 @@
 
 <div id="qv-wrapper">
 <div id="qv">
-  <h2>Contenido del documento</h2>
+  <h2>En este documento</h2>
   <ol>
-    <li><a href="#run">Solicitar acceso para ejecutar durante el arranque directo</a></li>
-    <li><a href="#access">Acceder al almacenamiento cifrado por dispositivo</a></li>
+    <li><a href="#run">Solicitar acceso para ejecutar durante el inicio directo</a></li>
+    <li><a href="#access">Acceder al almacenamiento encriptado por dispositivo</a></li>
     <li><a href="#notification">Recibir notificaciones sobre el desbloqueo del usuario</a></li>
     <li><a href="#migrating">Migrar datos existentes</a></li>
-    <li><a href="#testing">Probar la aplicación con reconocimiento de cifrado</a></li>
+    <li><a href="#testing">Probar la aplicación con reconocimiento de encriptación</a></li>
   </ol>
 </div>
 </div>
 
-<p>Android N se ejecuta en un modo <i>de arranque directo</i> seguro
+<p>Android N se ejecuta en un modo <i>de inicio directo</i> seguro
 cuando el dispositivo se enciende pero el usuario no lo ha
 desbloqueado. Para permitir esto, el sistema brinda dos ubicaciones de almacenamiento para los datos:</p>
 
 <ul>
-<li><i>Almacenamiento cifrado por credencial:</i>es la ubicación de almacenamiento predeterminada
+<li><i>Almacenamiento encriptado por credencial: </i>es la ubicación de almacenamiento predeterminada
 y solo está disponible después de que el usuario desbloquea el dispositivo.</li>
-<li><i>Almacenamiento cifrado por dispositivo:</i>es una ubicación de almacenamiento que está disponible tanto
-durante el modo de arranque directo como después de que el usuario desbloquea el dispositivo.</li>
+<li><i>Almacenamiento encriptado por dispositivo: </i>es una ubicación de almacenamiento que está disponible tanto
+durante el modo de inicio directo como después de que el usuario desbloquea el dispositivo.</li>
 </ul>
 
-<p>De forma predeterminada, las aplicaciones no se ejecutan durante el modo de arranque directo.
-Si necesita que su aplicación se ejecute durante el modo de arranque directo, puede registrar
+<p>De forma predeterminada, las aplicaciones no se ejecutan durante el modo de inicio directo.
+Si necesitas que tu aplicación se ejecute durante el modo de inicio directo, puedes registrar
 los componentes de la aplicación que deberían ejecutarse durante este modo. Algunos casos comunes de
-aplicaciones que necesitan ejecutarse durante el modo de arranque directo incluyen los siguientes:</p>
+aplicaciones que necesitan ejecutarse durante el modo de inicio directo incluyen los siguientes:</p>
 
 <ul>
 <li>aplicaciones que tienen notificaciones programadas, como aplicaciones
@@ -41,39 +41,39 @@
 <li>aplicaciones que brindan servicios de accesibilidad, como Talkback.</li>
 </ul>
 
-<p>Si necesita que su aplicación acceda a datos mientras se ejecuta el modo de arranque directo, use
-el almacenamiento cifrado por dispositivo. Este tipo de almacenamiento contiene datos
-cifrados con una clave que solo está disponible luego de que el dispositivo haya realizado un inicio
+<p>Si necesitas que tu aplicación acceda a datos mientras se ejecuta el modo de inicio directo, usa
+el almacenamiento encriptado por dispositivo. Este tipo de almacenamiento contiene datos
+encriptados con una clave que solo está disponible luego de que el dispositivo haya realizado un inicio
 verificado correctamente.</p>
 
 <p>Para los datos que se deben cifrar con una clave asociada con credenciales del
-usuario, como un PIN o una contraseña, use el almacenamiento cifrado por credencial.
+usuario, como un PIN o una contraseña, usa el almacenamiento encriptado por credencial.
 Este tipo de almacenamiento solo está disponible luego de que el usuario haya desbloqueado
 correctamente el dispositivo y hasta que el usuario reinicie nuevamente el dispositivo. Si el
 usuario habilita el bloqueo de pantalla luego de desbloquear el dispositivo, esto no bloquea
-el almacenamiento cifrado por credencial.</p>
+el almacenamiento encriptado por credencial.</p>
 
-<h2 id="run">Solicitar acceso para ejecutar durante el arranque directo</h2>
+<h2 id="run">Solicitar acceso para ejecutar durante el inicio directo</h2>
 
 <p>Debes registrar los componentes de las aplicaciones con el sistema antes de que estas puedan
-ejecutarse durante el modo de arranque directo o acceder al almacenamiento cifrado por
+ejecutarse durante el modo de inicio directo o acceder al almacenamiento encriptado por
 dispositivo. Para registrar una aplicación en el sistema, debes marcar los componentes como
-<i>reconocimiento de cifrado</i>. Para marcar su dispositivo como "con reconocimiento de cifrado" , configure el atributo 
-<code>android:encryptionAware</code> como verdadero en el manifiesto.<p>
+<i>"con reconocimiento de encriptación"</i>. Para marcar tu dispositivo como "con reconocimiento de encriptación", configura el atributo 
+<code>android:directBootAware</code> como verdadero en el manifiesto.<p>
 
-<p>Los componentes con reconocimiento de cifrado pueden registrarse para recibir un mensaje de difusión 
+<p>Los componentes con reconocimiento de encriptación pueden registrarse para recibir un mensaje de transmisión
 <code>LOCKED_BOOT_COMPLETED</code> del
-sistema cuando el dispositivo se haya reiniciado. En este momento, el almacenamiento
-cifrado por dispositivo está disponible, y el componente puede ejecutar tareas que se deben
-ejecutar durante el modo de arranque directo, como disparar una alarma programada.</p>
+ sistema cuando el dispositivo se haya reiniciado. En este momento, el almacenamiento
+encriptado por dispositivo está disponible, y el componente puede ejecutar tareas que se deben
+ejecutar durante el modo de inicio directo, como disparar una alarma programada.</p>
 
 <p>El siguiente fragmento de código es un ejemplo de cómo registrar un
-{@link android.content.BroadcastReceiver} como reconocimiento de cifrado y de cómo agregar un
-filtro de intenciones para <code>LOCKED_BOOT_COMPLETED</code> en el manifiesto de la aplicación:</p>
+{@link android.content.BroadcastReceiver} como reconocimiento de encriptación y de cómo agregar un
+filtro de intents para <code>LOCKED_BOOT_COMPLETED</code> en el manifiesto de la aplicación:</p>
 
 <pre>
-&lt;receiever
-  android:encryptionAware="true" &gt;
+&lt;receiver
+  android:directBootAware="true" &gt;
   ...
   &lt;intent-filter&gt;
     &lt;action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" /&gt;
@@ -82,34 +82,34 @@
 </pre>
 
 <p>Una vez que el usuario haya desbloqueado el dispositivo, todos los componentes podrán acceder tanto al
-almacenamiento cifrado por dispositivo como al almacenamiento cifrado por credencial.</p>
+almacenamiento encriptado por dispositivo como al almacenamiento cifrado por credencial.</p>
 
-<h2 id="access">Acceder al almacenamiento cifrado por dispositivo</h2>
+<h2 id="access">Acceder al almacenamiento encriptado por dispositivo</h2>
 
-<p>Para acceder al almacenamiento cifrado por dispositivo, crea una segunda
+<p>Para acceder al almacenamiento encriptado por dispositivo, crea una segunda
 instancia de {@link android.content.Context} llamando a
-<code>Context.createDeviceEncryptedStorageContext()</code>. Todas las llamadas
-de API de almacenamiento que se hacen usando este contexto acceden al almacenamiento cifrado por dispositivo. El siguiente
-ejemplo accede al almacenamiento cifrado por dispositivo y abre un archivo de datos de la aplicación
+<code>Context.createDeviceProtectedStorageContext()</code>. Todas las llamadas
+de API de almacenamiento que se hacen usando este contexto acceden al almacenamiento encriptado por dispositivo. El siguiente
+ejemplo accede al almacenamiento encriptado por dispositivo y abre un archivo de datos de la aplicación
 existente:</p>
 
 <pre>
-Context directBootContext = Context.createDeviceEncryptedStorageContext();
+Context directBootContext = appContext.createDeviceProtectedStorageContext();
 // Access appDataFilename that lives in device encrypted storage
 FileInputStream inStream = directBootContext.openFileInput(appDataFilename);
 // Use inStream to read content...
 </pre>
 
-<p>Solo debes usar el almacenamiento cifrado por dispositivo para
-información que debe ser accesible durante el modo de arranque directo.
-No uses este tipo de almacenamiento como un almacenamiento cifrado de propósito general.
-Para información privada del usuario o datos cifrados que no son necesarios durante
-el modo de arranque directo, usa el almacenamiento cifrado por credencial.</p>
+<p>Solo debes usar el almacenamiento encriptado por dispositivo para
+información que debe ser accesible durante el modo de inicio directo.
+No uses este tipo de almacenamiento como un almacenamiento encriptado de propósito general.
+Para información privada del usuario o datos encriptados que no son necesarios durante
+el modo de inicio directo, usa el almacenamiento encriptado por credencial.</p>
 
 <h2 id="notification">Recibir notificaciones sobre el desbloqueo del usuario</h2>
 
 <p>Una vez que el usuario desbloquea el dispositivo después de reiniciarlo, la aplicación puede cambiar y acceder
-al almacenamiento cifrado por credencial y usar servicios del sistema comunes que
+al almacenamiento encriptado por credencial y usar servicios del sistema comunes que
 dependen de credenciales de usuario.</p>
 
 <p>Para recibir una notificación cuando el usuario desbloquea el dispositivo luego de reiniciarlo,
@@ -124,28 +124,28 @@
 
 <h2 id="migrating">Migrar datos existentes</h2>
 
-<p>Si un usuario actualiza el dispositivo para usar el modo de arranque directo, es posible que haya
-datos existentes que se deben migrar al almacenamiento cifrado por dispositivo. Usa
-<code>Context.migrateSharedPreferencesFrom()</code> y
-<code>Context.migrateDatabaseFrom()</code> para migrar los datos de preferencia y de base de datos
-del almacenamiento cifrado por credencial al almacenamiento cifrado por dispositivo.</p>
+<p>Si un usuario actualiza el dispositivo para usar el modo de inicio directo, es posible que haya
+datos existentes que se deban migrar al almacenamiento encriptado por dispositivo. Usa
+<code>Context.moveSharedPreferencesFrom()</code> y
+<code>Context.moveDatabaseFrom()</code> para migrar los datos de preferencia y de base de datos
+del almacenamiento encriptado por credencial al almacenamiento encriptado por dispositivo.</p>
 
 <p>Debes tener cuidado cuando decidas qué datos migrar entre
 estos dos tipos de almacenamiento. No deberías migrar
 información de usuario privada, como contraseñas o tokens de autorización, al
- almacenamiento cifrado por dispositivo. En algunos casos, es posible que debas gestionar
-conjuntos separados de datos en ambos tipos de almacenamiento cifrado.</p>
+ almacenamiento encriptado por dispositivo. En algunos casos, es posible que debas gestionar
+conjuntos separados de datos en ambos tipos de almacenamiento encriptado.</p>
 
-<h2 id="testing">Probar la aplicación con reconocimiento de cifrado</h2>
+<h2 id="testing">Probar la aplicación con reconocimiento de encriptación</h2>
 
-<p>Prueba la aplicación con reconocimiento de cifrado usando el nuevo modo de arranque directo. Hay dos
-maneras de habilitar el arranque directo.</p>
+<p>Prueba la aplicación con reconocimiento de encriptación usando el nuevo modo de inicio directo. Hay dos
+maneras de habilitar el inicio directo.</p>
 
-<p class="caution"><strong>Advertencia:</strong> habilitar el arranque directo
+<p class="caution"><strong>Advertencia:</strong> Habilitar el inicio directo
 borrará todos los datos de usuario del dispositivo.</p>
 
 <p>Para los dispositivos compatibles que tienen Android N instalado, habilita
-el arranque directo mediante una de las siguientes opciones:</p>
+el inicio directo mediante una de las siguientes opciones:</p>
 
 <ul>
 <li>En el dispositivo, habilita las <b>Developer options</b> si no lo haz hecho aún
@@ -153,7 +153,7 @@
 siete veces. Una vez que aparezca la pantalla Developer options, dirígete a
 <b>Settings &gt; Developer options</b> y selecciona
 <b>Convert to file encryption</b>.</li>
-<li>Usa los siguientes comandos shell ADB para permitir el modo de arranque directo:
+<li>Usa los siguientes comandos shell ADB para habilitar el modo de inicio directo:
 <pre class="no-pretty-print">
 $ adb reboot-bootloader
 $ fastboot --wipe-and-use-fbe
@@ -161,9 +161,9 @@
 </li>
 </ul>
 
-<p>También está disponible un modo de arranque directo emulado en caso de que debas cambiar
+<p>También está disponible un modo de inicio directo emulado en caso de que debas cambiar
 de modo en los dispositivos de prueba. El modo emulado solo debería usarse durante
-el desarrollo, y puede provocar la pérdida de datos. Para habilitar el modo de arranque directo emulado,
+el desarrollo, y puede provocar la pérdida de datos. Para habilitar el modo de inicio directo emulado,
 debes establecer un patrón de bloqueo en el dispositivo, elegir "No thanks" si te pregunta si deseas un
 inicio seguro cuando estás estableciendo el patrón de bloqueo y, luego, usar el
 siguiente comando shell ADB:</p>
@@ -172,7 +172,7 @@
 $ adb shell sm set-emulate-fbe true
 </pre>
 
-<p>Para deshabilitar el modo de arranque directo emulado, usa el siguiente comando:</p>
+<p>Para deshabilitar el modo de inicio directo emulado, usa el siguiente comando:</p>
 
 <pre class="no-pretty-print">
 $ adb shell sm set-emulate-fbe false
diff --git a/docs/html-intl/intl/es/preview/features/icu4j-framework.jd b/docs/html-intl/intl/es/preview/features/icu4j-framework.jd
index b91a05e..e87c4dd 100644
--- a/docs/html-intl/intl/es/preview/features/icu4j-framework.jd
+++ b/docs/html-intl/intl/es/preview/features/icu4j-framework.jd
@@ -1,11 +1,11 @@
-page.title=API de ICU4J del framework de Android
+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>Contenido del documento:</h2>
+<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>
diff --git a/docs/html-intl/intl/es/preview/features/multi-window.jd b/docs/html-intl/intl/es/preview/features/multi-window.jd
index 4415ba9..89bc319 100644
--- a/docs/html-intl/intl/es/preview/features/multi-window.jd
+++ b/docs/html-intl/intl/es/preview/features/multi-window.jd
@@ -6,7 +6,7 @@
 
 <div id="qv-wrapper">
   <div id="qv">
-    <h2>Contenido del documento</h2>
+    <h2>En este documento</h2>
       <ol>
         <li><a href="#overview">Información general</a></li>
         <li><a href="#lifecycle">Ciclo de vida en modo de ventanas múltiples</a></li>
@@ -19,15 +19,16 @@
       <ol>
         <li><a class="external-link" href="https://github.com/googlesamples/android-MultiWindowPlayground">Aplicación de ejemplo para la
           prueba de ventanas múltiples</a></li>
+        <li><a class="external-link" href="https://medium.com/google-developers/5-tips-for-preparing-for-multi-window-in-android-n-7bed803dda64">Cinco tips para prepararse para ventanas múltiples en Android N</a></li>
       </ol>
   </div>
 </div>
 
 <p>
   Android N agrega compatibilidad con la visualización de más de una aplicación
-   a la vez. En dispositivos portátiles, se pueden ejecutar dos aplicaciones una al lado de la otra o
+ a la vez. En dispositivos portátiles, se pueden ejecutar dos aplicaciones una al lado de la otra o
   una por encima de la otra en modo de <em>pantalla dividida</em>. En dispositivos de TV, las aplicaciones pueden
-  usar el modo <em>imagen en imagen</em> para continuar la reproducción de video mientras los usuarios
+  usar el modo <em>picture-in-picture</em> para continuar la reproducción de video mientras los usuarios
   interactúan con otra aplicación.
 </p>
 
@@ -56,7 +57,7 @@
   </li>
 
   <li>En dispositivos Nexus Player con Android N, las aplicaciones pueden ubicarse automáticamente
-  en <a href="picture-in-picture.html">modo de imagen en imagen</a>, lo que les permite
+  en <a href="picture-in-picture.html">modo Picture-in-picture</a>, lo que les permite
   continuar mostrando contenido mientras el usuario explora o interactúa con
   otras aplicaciones.
   </li>
@@ -129,11 +130,13 @@
 
 <p>
   Cuando el usuario coloca una aplicación en modo de ventanas múltiples, el sistema le notifica a la
-  actividad acerca de un cambio de configuración, tal como se especifica en <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Control de cambios en
-  tiempo de ejecución</a>. Básicamente, este cambio tiene las mismas consecuencias en el ciclo de vida
-  de la actividad que cuando el sistema notifica a la aplicación que el dispositivo cambió de
-  modo vertical a modo horizontal, excepto porque se modifican las dimensiones del dispositivo
-  en lugar de intercambiarse solamente. Como se aborda en <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Control de cambios en
+ actividad de un cambio de configuración, tal como se especifica en <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Control de cambios en
+ tiempo de ejecución</a>. Esto también sucede cuando el usuario modifica el tamaño de la aplicación o coloca la aplicación
+ nuevamente en el modo de pantalla completa.
+  Básicamente, este cambio tiene las mismas consecuencias en el ciclo de vida
+ de la actividad que cuando el sistema notifica a la aplicación que el dispositivo cambió de
+ modo vertical a modo de paisaje, excepto porque se modifican las dimensiones del dispositivo
+ en lugar de intercambiarse solamente. Como se aborda en <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Control de cambios en
   tiempo de ejecución</a>, tu actividad puede administrar el cambio de configuración por sí misma, o
   puede permitir que el sistema destruya la actividad y la vuelva a crear con las nuevas
   dimensiones.
@@ -154,8 +157,10 @@
   Si tu aplicación está orientada a Android N, puedes configurar cómo y
   si quieres que las actividades de tu aplicación admitan la visualización de ventanas múltiples. Puedes establecer
   atributos en tu manifiesto para controlar el tamaño y el diseño.
-  La configuración de atributos de una actividad raíz aplica a todas las actividades
-  de su pila de tareas.
+  La configuración de atributos de una actividad raíz se aplica a todas las actividades
+ de su pila de tareas. Por ejemplo, si 
+  <code>android:resizeableActivity</code> está configurado en true para la actividad raíz, se puede modificar el tamaño de todas las actividades
+ de la pila de tareas.
 </p>
 
 <p class="note">
@@ -171,7 +176,7 @@
 <h4 id="resizeableActivity">android:resizeableActivity</h4>
 <p>
   Establece este atributo en el nodo <code>&lt;activity&gt;</code> o
-  <code>&lt;application&gt;</code> de tu manifiesto para habilitar o deshabilitar la visualización
+  <code>&lt;application&gt;</code> de tu manifiesto para habilitar o inhabilitar la visualización
   en modo de ventanas múltiples:
 </p>
 
@@ -196,7 +201,7 @@
 
 <p>
   Establece este atributo en el nodo <code>&lt;activity&gt;</code> de tu manifiesto
- para indicar si la actividad admite la visualización de imagen en imagen. Este
+ para indicar si la actividad admite la visualización de Picture-in-picture. Este
   atributo se ignora si <code>android:resizeableActivity</code> es false.
 </p>
 
@@ -235,16 +240,16 @@
 
   <dd>
     Ubicación inicial de la actividad cuando se inicia en modo de forma libre. Consulta la referencia
-    {@link android.view.Gravity} para obtener valores adecuados.
+ {@link android.view.Gravity} para obtener valores adecuados.
   </dd>
 
   <dt>
-    <code>android:minimalSize</code>
+    <code>android:minimalHeight</code>, <code>android:minimalWidth</code>
   </dt>
 
   <dd>
     Altura y ancho mínimos para la actividad tanto en el modo de pantalla dividida como en el
-    modo de forma libre. Si el usuario mueve la línea divisoria en el modo de pantalla dividida
+ modo de forma libre. Si el usuario mueve la línea divisoria en el modo de pantalla dividida
     para reducir el tamaño respecto del tamaño mínimo especificado, el sistema recorta
     la actividad para ajustarla a los requisitos del usuario.
   </dd>
@@ -261,7 +266,8 @@
     &lt;layout android:defaultHeight="500dp"
           android:defaultWidth="600dp"
           android:gravity="top|end"
-          android:minimalSize="450dp" /&gt;
+          android:minimalHeight="450dp"
+          android:minimalWidth="300dp" /&gt;
 &lt;/activity&gt;
 </pre>
 
@@ -295,13 +301,14 @@
 
 <p>
   Se agregaron los siguientes métodos nuevos a la clase {@link android.app.Activity}
-  para admitir la visualización de ventanas múltiples. Para obtener información detallada sobre cada método, consulta la
-  <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia del N Preview SDK</a>.
+ para admitir la visualización de ventanas múltiples. Para obtener información detallada sobre cada método, consulta la
+  <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia sobre N Preview SDK
+</a>.
 </p>
 
 <dl>
   <dt>
-    <code>Activity.inMultiWindow()</code>
+    <code>Activity.isInMultiWindowMode()</code>
   </dt>
 
   <dd>
@@ -309,54 +316,54 @@
   </dd>
 
   <dt>
-    <code>Activity.inPictureInPicture()</code>
+    <code>Activity.isInPictureInPictureMode()</code>
   </dt>
 
   <dd>
-    Realiza una llamada para averiguar si la actividad está en modo de imagen en imagen.
+    Realiza una llamada para averiguar si la actividad está en modo Picture-in-picture.
 
     <p class="note">
-      <strong>Nota:</strong> El modo de Picture-in-Picture es un caso especial del
-      modo de ventanas múltiples. Si <code>myActivity.inPictureInPicture()</code>
-      devuelve true, <code>myActivity.inMultiWindow()</code> también devuelve
-      true.
+      <strong>Nota:</strong> El modo Picture-in-picture es un caso especial del
+ modo de ventanas múltiples. Si <code>myActivity.isInPictureInPictureMode()</code>
+ devuelve un valor true, <code>myActivity.isInMultiWindowMode()</code> también
+ devuelve un valor true.
     </p>
   </dd>
 
   <dt>
-    <code>Activity.onMultiWindowChanged()</code>
+    <code>Activity.onMultiWindowModeChanged()</code>
   </dt>
 
   <dd>
     El sistema llama a este método siempre que la actividad entra en modo de ventanas
-    múltiples o sale de él. El sistema le pasa al método un valor de true si la
-    actividad entra en modo de ventanas múltiples, y false si la actividad
-    sale del modo de ventanas múltiples.
+ múltiples o sale de él. El sistema le pasa al método un valor de true si la
+ actividad entra en modo de ventanas múltiples y false si la actividad
+ sale del modo de ventanas múltiples.
   </dd>
 
   <dt>
-    <code>Activity.onPictureInPictureChanged()</code>
+    <code>Activity.onPictureInPictureModeChanged()</code>
   </dt>
 
   <dd>
-    El sistema llama a este método siempre que la actividad entre en modo de imagen en imagen
-    o sale de él. El sistema le pasa al método un valor de true si
-    la actividad entra en modo de imagen en imagen, y false si la actividad
-    sale del modo de imagen en imagen.
+    El sistema llama a este método siempre que la actividad entra en modo Picture-in-picture
+ o sale de él. El sistema le pasa al método un valor de true si
+ la actividad entra en modo Picture-in-picture y false si la actividad
+ sale de dicho modo.
   </dd>
 </dl>
 
 <p>
   También hay versiones {@link android.app.Fragment} de cada uno de esos
-  métodos; por ejemplo, <code>Fragment.inMultiWindow()</code>.
+  métodos; por ejemplo, <code>Fragment.isInMultiWindowMode()</code>.
 </p>
 
-<h3 id="entering-pip">Cómo entrar en modo de imagen en imagen</h3>
+<h3 id="entering-pip">Cómo entrar en modo Picture-in-picture</h3>
 
 <p>
-  Para que una actividad entre en modo de imagen en imagen, debes llamar al nuevo método
-  <code>Activity.enterPictureInPicture()</code>. Este método no tiene efecto si
-  el dispositivo no admite el modo de imagen en imagen. Para obtener más información,
+  Para que una actividad entre en modo de Picture-in-picture, debes llamar al nuevo método
+  <code>Activity.enterPictureInPictureMode()</code>. Este método no tiene efecto si
+ el dispositivo no admite el modo de imagen en imagen. Para obtener más información,
   consulta la documentación de <a href="picture-in-picture.html">Picture-in-Picture</a>.
 </p>
 
@@ -490,7 +497,7 @@
   Si tu aplicación no declara una orientación fija, debes iniciar tu aplicación
   en un dispositivo con Android N e intentar colocar la aplicación en
   modo de pantalla dividida. Cuando se modifique el tamaño de la aplicación de forma forzada,
- comprueba que la experiencia de usuario sea aceptable.
+ verifica que la experiencia de usuario sea aceptable.
 </p>
 
 <p>
@@ -512,19 +519,19 @@
   durante un momento el botón Overview. Verifica que la aplicación pase de un modo a otro correctamente.
   </li>
 
-  <li>Inicia la aplicación directamente en modo de ventanas múltiples y comprueba que se
+  <li>Inicia la aplicación directamente en modo de ventanas múltiples y verifica que se
   inicie correctamente. Puedes iniciar una aplicación en modo de ventanas múltiples al presionar el
   botón Overview, luego presionar durante un momento la barra de título de la aplicación y arrastrarla
   a una de las áreas resaltadas de la pantalla.
   </li>
 
   <li>Cambia el tamaño de tu aplicación en modo de pantalla dividida al arrastrar la línea divisoria.
-  Comprueba que la aplicación cambie de tamaño sin fallar y que estén visibles los elementos 
+  Verifica que la aplicación cambie de tamaño sin fallar y que estén visibles los elementos 
  necesarios de la IU.
   </li>
 
   <li>Si especificaste dimensiones mínimas para tu aplicación, intenta cambiar el tamaño
-  de la aplicación a dimensiones más bajas que las especificadas. Comprueba que no puedas modificar el tamaño de la aplicación
+  de la aplicación a dimensiones más bajas que las especificadas. Verifica que no puedas modificar el tamaño de la aplicación
   para que sea más pequeña que la dimensión mínima especificada.
   </li>
 
@@ -554,19 +561,19 @@
 
   <li>En modo de pantalla dividida, prueba mover la barra divisora para agrandar y
   achicar la aplicación. Realiza estas operaciones en las configuraciones una al lado de la otra y
-  una encima de la otra. Comprueba que la aplicación no falle,
+  una encima de la otra. Verifica que la aplicación no falle,
   que las funcionalidades necesarias estén visibles y que la operación de cambio de tamaño no demore
   mucho.
   </li>
 
-  <li>Realiza varias operaciones de cambio de tamaño en una sucesión rápida. Comprueba que tu
+  <li>Realiza varias operaciones de cambio de tamaño en una sucesión rápida. Verifica que tu
   aplicación no falle ni pierda memoria. Para obtener información acerca de cómo comprobar el uso de memoria
   de tu aplicación, consulta <a href="{@docRoot}tools/debugging/debugging-memory.html">
   Averiguación del uso de RAM</a>.
   </li>
 
   <li>Usa tu aplicación normalmente en diferentes configuraciones de ventanas y
-  verifica que la aplicación se comporte correctamente. Comprueba que el texto sea legible y que
+  verifica que la aplicación se comporte correctamente. Verifica que el texto sea legible y que
   los elementos de la IU sean lo suficientemente grandes para interactuar con ellos.
   </li>
 </ul>
diff --git a/docs/html-intl/intl/es/preview/features/multilingual-support.jd b/docs/html-intl/intl/es/preview/features/multilingual-support.jd
index 70ee22a..b03777c 100644
--- a/docs/html-intl/intl/es/preview/features/multilingual-support.jd
+++ b/docs/html-intl/intl/es/preview/features/multilingual-support.jd
@@ -1,11 +1,12 @@
 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>Contenido del documento:</h2>
+<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>
@@ -36,22 +37,26 @@
 <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. Por ejemplo, supongamos que el idioma predeterminado
- de tu aplicación es inglés de EE. UU., pero que también tiene cadenas en español localizadas en archivos de recursos {@code es_ES}.
-</p>
-<p>Cuando el código Java se refería a las cadenas, resolvía el idioma de las cadenas como
-se muestra a continuación:</p>
-<ul>
-<li>Si un dispositivo estaba configurado en {@code es_MX} (español de México), Android cargaba
-las cadenas de los archivos de recursos {@code es_ES}.</li>
-<li>Si el dispositivo estaba configurado en {@code en_AU}, Android recurría a {@code
-en_US}. 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.</li>
-</ul>
+ 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>Estos problemas de resolución surgieron debido a que el sistema quitaba el código de país
-de la configuración regional si no podía encontrar una coincidencia exacta.  Por ejemplo:</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>
@@ -186,7 +191,7 @@
 <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()},
+<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
diff --git a/docs/html-intl/intl/es/preview/features/notification-updates.jd b/docs/html-intl/intl/es/preview/features/notification-updates.jd
index 2679c3e..380efce 100644
--- a/docs/html-intl/intl/es/preview/features/notification-updates.jd
+++ b/docs/html-intl/intl/es/preview/features/notification-updates.jd
@@ -16,12 +16,13 @@
   <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 incluye varias API nuevas que permiten a las aplicaciones publicar
+<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}
@@ -50,10 +51,10 @@
 <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 un teclado, el sistema adjunta
-  la respuesta de texto a la intención
-    que especificaste para la acción de notificación y envía la intención a tu
-     aplicación para dispositivos portátiles.
+ 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,
@@ -76,7 +77,7 @@
   de la entrada.
 
 <pre>
-// Key for the string that's delivered in the action's intent
+// 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)
@@ -88,7 +89,7 @@
  a una acción usando <code>addRemoteInput()</code>.
 
 <pre>
-// Create the reply action and add the remote input
+// 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)
@@ -100,8 +101,8 @@
 <li>Aplica la acción a una notificación y emite la notificación.
 
 <pre>
-// Build the notification and add the action
-Notification notification =
+// Build the notification and add the action.
+Notification newMessageNotification =
         new Notification.Builder(mContext)
                 .setSmallIcon(R.drawable.ic_message)
                 .setContentTitle(getString(R.string.title))
@@ -109,10 +110,10 @@
                 .addAction(action))
                 .build();
 
-// Issue the notification
+// Issue the notification.
 NotificationManager notificationManager =
         NotificationManager.from(mContext);
-notificationManager.notify(notificationId, notification);
+notificationManager.notify(notificationId, newMessageNotification);
 
 </pre>
 </li>
@@ -129,30 +130,32 @@
   <strong>Figura 2.</strong> El usuario ingresa texto desde el panel de notificaciones.
 </p>
 
-<h3>Recuperación de entradas del usuario de la respuesta directa</h3>
+<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 intención de la acción de respuesta:</p>
+<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 intención de la acción de notificación como
+  <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.
-</li>
 
-<pre>
+    <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}).
-</li>
-</ol>
+  <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:
 
-<p>El siguiente fragmento de código ilustra cómo un método recupera el texto de entrada
-de un paquete:</p>
-
-<pre>
+    <pre>
 // Obtain the intent that started this activity by calling
 // Activity.getIntent() and pass it into this method to
 // get the associated string.
@@ -160,20 +163,53 @@
 private CharSequence getMessageText(Intent intent) {
     Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
     if (remoteInput != null) {
-            return remoteInput.getCharSequence(KEY_TEXT_REPLY);
-            }
+        return remoteInput.getCharSequence(KEY_TEXT_REPLY);
+    }
     return null;
  }
 </pre>
+  </li>
 
-<p>Las aplicaciones pueden aplicar lógica para decir qué medidas tomar con respecto al texto
-recuperado.
-Para las aplicaciones interactivas (como los chats), proporciona más contexto sobre la notificación
- (por ejemplo, varias líneas de historial de chat, incluidos los mensajes del usuario)
-  de modo que el usuario pueda responder correctamente.
-Cuando el usuario responda a través de {@link android.support.v4.app.RemoteInput},
- incluye el texto del historial de respuestas con el método {@code setRemoteInputHistory()}
-.</p>
+  <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>
 
@@ -200,7 +236,13 @@
           {@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.
+ 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
@@ -318,7 +360,7 @@
 {@code DecoratedCustomViewStyle()}.</p>
 
 <pre>
-Notification noti = new Notification.Builder()
+Notification notification = new Notification.Builder()
            .setSmallIcon(R.drawable.ic_stat_player)
            .setLargeIcon(albumArtBitmap))
            .setCustomContentView(contentView);
@@ -326,3 +368,26 @@
            .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/features/picture-in-picture.jd b/docs/html-intl/intl/es/preview/features/picture-in-picture.jd
index 01e39a2..0d9313a 100644
--- a/docs/html-intl/intl/es/preview/features/picture-in-picture.jd
+++ b/docs/html-intl/intl/es/preview/features/picture-in-picture.jd
@@ -1,4 +1,4 @@
-page.title=Picture-in-picture
+page.title=Modo Picture-in-picture
 page.keywords=preview,sdk,PIP,Picture-in-picture
 page.tags=androidn
 
@@ -7,16 +7,18 @@
 <div id="qv-wrapper">
 <div id="qv">
 
-<h2>Contenido del documento</h2>
+<h2>En este documento</h2>
 <ol>
   <li><a href="#declaring">Declarar que la actividad permite
 el modo Picture-in-Picture</a></li>
-  <li><a href="#pip_button">Cambiar la actividad al modo picture-in-picture</a>
+  <li><a href="#pip_button">Cambiar la actividad al modo Picture-in-picture</a>
 </li>
-  <li><a href="#handling_ui">Gestionar las IU durante el modo picture-in-picture</a>
+  <li><a href="#handling_ui">Gestionar las IU durante el modo Picture-in-picture</a>
 </li>
   <li><a href="#continuing_playback">Continuar la reproducción de video durante
-el modo picture-in-picture</a></li>
+el modo Picture-in-picture</a></li>
+  <li><a href="#single_playback">Usar una única actividad de reproducción para
+el modo Picture-in-picture</a></li>
   <li><a href="#best">Prácticas recomendadas</a></li>
 </ol>
 
@@ -52,7 +54,7 @@
 
 <p>La ventana de PIP es de 240x135 dp y se muestra en la capa delantera en una de las
 cuatro esquinas de la pantalla que el sistema elige. El usuario puede acceder a un menú de
-PIP que le permite cambiar la ventana de PIP a pantalla completa o cerrarla
+PIP que le permite activar o desactivar la ventana de PIP a pantalla completa o cerrarla
 presionando el botón <b>Home</b> en el control remoto. Si se comienza a reproducir
 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>
@@ -94,18 +96,18 @@
 cuando se cambian al modo PIP, porque los usuarios no podrán ver los detalles de los elementos de IU
 en la ventana PIP.</p>
 
-<h2 id="pip_button">Cambiar la actividad al modo picture-in-picture</h2>
+<h2 id="pip_button">Cambiar la actividad al modo Picture-in-picture</h2>
 
 Cuando necesites cambiar la actividad al modo PIP, llama a
-<code>Activity.enterPictureInPicture()</code>. El siguiente ejemplo cambia
-al modo PIP cuando el usuario selecciona un botón PIP especial en una barra
+<code>Activity.enterPictureInPictureMode()</code>. En el siguiente ejemplo, se
+cambia al modo PIP cuando el usuario selecciona un botón PIP especial en una barra
 de control de medios:</p>
 
 <pre>
 &#64;Override
 public void onActionClicked(Action action) {
     if (action.getId() == R.id.lb_control_picture_in_picture) {
-        getActivity().enterPictureInPicture();
+        getActivity().enterPictureInPictureMode();
         return;
     }
     ...
@@ -127,14 +129,14 @@
 <p>Cuando la actividad ingresa al modo PIP, esta solo debería mostrar la reproducción
 de video. Debes quitar los elementos de IU antes de que la actividad ingrese al modo PIP
 y volver a mostrarlos cuando la actividad vuelva al modo de pantalla completa.
-Sobrescribe <code>Activity.onPictureInPictureChanged()</code> o
-<code>Fragment.onPictureInPictureChanged()</code> y habilita
-o deshabilita los elementos de IU según sea necesario, por ejemplo:</p>
+Anula <code>Activity.onPictureInPictureModeChanged()</code> o
+<code>Fragment.onPictureInPictureModeChanged()</code> y habilita
+o inhabilita los elementos de IU según sea necesario, por ejemplo:</p>
 
 <pre>
 &#64;Override
-public void onPictureInPictureChanged(boolean inPictureInPicture) {
-    if (inPictureInPicture) {
+public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
+    if (isInPictureInPictureMode) {
         // Hide the controls in picture-in-picture mode.
         ...
     } else {
@@ -145,7 +147,7 @@
 </pre>
 
 <h2 id="continuing_playback">Continuar la reproducción de video durante
-el modo picture-in-picture</h2>
+el modo Picture-in-picture</h2>
 
 <p>Cuando la actividad cambia al modo PIP, el sistema considera que se encuentra en
 pausa y llama al método <code>onPause()</code> de la actividad. La reproducción
@@ -157,8 +159,8 @@
 <pre>
 &#64;Override
 public void onPause() {
-    // If called due to PIP, do not pause playback
-    if (inPictureInPicture()) {
+    // If called while in PIP mode, do not pause playback
+    if (isInPictureInPictureMode()) {
         // Continue playback
         ...
     }
@@ -170,6 +172,31 @@
 <p>Cuando la actividad sale del modo PIP y vuelve al modo de pantalla completa, el
 sistema reinicia la actividad y llama al método <code>onResume()</code>.</p>
 
+<h2 id="single_playback">Usar una única actividad de reproducción para
+el modo Picture-in-picture</h2>
+
+<p>En tu aplicación, un usuario puede seleccionar un nuevo video cuando busca contenido en la
+pantalla principal, mientras una actividad de reproducción de video está en modo PIP. Reproduce el nuevo
+video en la actividad de reproducción actual en modo de pantalla completa, en lugar de
+iniciar una nueva actividad que podría confundir al usuario.</p>
+
+<p>A fin de garantizar que se utilice una única actividad para las solicitudes de reproducción de video y que esta
+ ingrese en el modo PIP o salga de este cuando sea necesario, configura el 
+<code>android:launchMode</code> de la actividad en <code>singleTask</code>, en el manifiesto:
+</p>
+
+<pre>
+&lt;activity android:name="VideoActivity"
+    ...
+    android:supportsPictureInPicture="true"
+    android:launchMode="singleTask"
+    ...
+</pre>
+
+<p>En tu actividad, anula {@link android.app.Activity#onNewIntent
+Activity.onNewIntent()} y administra el nuevo video, deteniendo cualquier reproducción
+de video actual si es necesario.</p>
+
 <h2 id="best">Prácticas recomendadas</h2>
 
 <p>El modo PIP está diseñado para actividades que reproducen un video en pantalla completa. Cuando cambies la
diff --git a/docs/html-intl/intl/es/preview/features/scoped-folder-access.jd b/docs/html-intl/intl/es/preview/features/scoped-folder-access.jd
index 7a8c4c8..e83ca53 100644
--- a/docs/html-intl/intl/es/preview/features/scoped-folder-access.jd
+++ b/docs/html-intl/intl/es/preview/features/scoped-folder-access.jd
@@ -6,7 +6,7 @@
 
 <div id="qv-wrapper">
 <div id="qv">
-  <h2>Contenido del documento</h2>
+  <h2>En este documento</h2>
   <ol>
     <li><a href="#accessing">Acceder a un directorio de almacenamiento externo</a></li>
     <li><a href="#removable">Acceder a un directorio de un medio extraíble</a></li>
@@ -38,12 +38,26 @@
 <h2 id="accessing">Acceder a un directorio de almacenamiento externo</h2>
 
 <p>Usa la clase <code>StorageManager</code> para obtener la instancia de
-<code>StorageVolume</code> correcta. Luego, crea una intención llamando al
+<code>StorageVolume</code> correcta. Luego, crea una intent llamando al
  método <code>StorageVolume.createAccessIntent()</code> de esa instancia.
 Usa esta intención para acceder a directorios de almacenamiento externo. Para obtener una lista de
 todos los volúmenes disponibles, incluidos los volúmenes de medios extraíbles, usa 
 <code>StorageManager.getVolumesList()</code>.</p>
 
+<p>Si tienes información sobre un archivo específico, usa 
+<code>StorageManager.getStorageVolume(File)</code> para obtener el 
+<code>StorageVolume</code> que contiene el archivo. Llama a 
+<code>createAccessIntent()</code> en este <code>StorageVolume</code> para acceder al 
+directorio de almacenamiento externo del archivo.</p>
+
+<p>
+En el caso de los volúmenes secundarios, como las tarjetas SD externas, pasa un valor nulo cuando llames a 
+<code>StorageVolume.createAccessIntent()</code> para solicitar acceso al volumen
+ completo, en lugar de un directorio específico.
+<code>StorageVolume.createAccessIntent()</code> regresa un valor nulo si pasas un
+ valor nulo para el volumen principal o si pasas un nombre de directorio no válido.
+</p>
+
 <p>El siguiente fragmento de código es un ejemplo de cómo abrir el
 directorio <code>Pictures</code> en el almacenamiento compartido principal:</p>
 
@@ -63,18 +77,18 @@
 acceso al directorio Pictures.</p>
 
 <p>Si el usuario otorga el acceso, el sistema llama a tu
- invalidación de <code>onActivityResult()</code> con un código resultante de
-<code>Activity.RESULT_OK</code> y datos de intención que contienen el URI. Usa
+ anulación de <code>onActivityResult()</code> con un código resultante de
+<code>Activity.RESULT_OK</code> y datos de intents que contienen el URI. Usa
 el URI brindado para acceder a la información del directorio. Es similar a usar URI
 generados por el
 <a href="{@docRoot}guide/topics/providers/document-provider.html">framework
 de acceso al almacenamiento</a>.</p>
 
 <p>Si el usuario no otorga el acceso, el sistema llama a tu
-invalidación de <code>onActivityResult()</code> con un código resultante de
-<code>Activity.RESULT_CANCELED</code> y datos de intención nulos.</p>
+anulación de <code>onActivityResult()</code> con un código resultante de
+<code>Activity.RESULT_CANCELED</code> y datos de intents nulos.</p>
 
-<p class="note"><b>Nota</b>: obtener acceso a un directorio externo específico
+<p class="note"><b>Nota</b>: Obtener acceso a un directorio externo específico
 también otorga el acceso a los subdirectorios de ese directorio.</p>
 
 <h2 id="removable">Acceder a un directorio de un medio extraíble</h2>
@@ -97,7 +111,7 @@
 
 <p>Cuando el usuario conecta un medio extraíble, como una tarjeta SD, el sistema envía una
 notificación{@link android.os.Environment#MEDIA_MOUNTED}. Esta notificación
-brinda un objeto <code>StorageVolume</code> en los datos de intención que puedes
+brinda un objeto <code>StorageVolume</code> en los datos de intents que puedes
 usar para acceder a directorios del medio extraíble. El siguiente ejemplo
 accede al directorio <code>Pictures</code> de medios extraíbles:</p>
 
@@ -121,4 +135,14 @@
 
 <p>Si el usuario deniega el acceso a un directorio externo, no vuelvas a solicitar el
 acceso inmediatamente. Hacer esto provocaría una mala experiencia
-de usuario.</p>
+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" />
+<p class="img-caption"><strong>Figura 1.</strong> Una aplicación que presenta una 
+segunda solicitud para obtener acceso a medios extraíbles.</p>
+
+<p>Si el usuario selecciona <b>Don't ask again</b> y deniega la solicitud, todas las
+solicitudes futuras que presente la aplicación para el directorio determinado se denegarán
+ automáticamente, y el usuario no recibirá ninguna IU de solicitud.</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/es/preview/features/security-config.jd b/docs/html-intl/intl/es/preview/features/security-config.jd
index fc0a4bc..39d95c8 100644
--- a/docs/html-intl/intl/es/preview/features/security-config.jd
+++ b/docs/html-intl/intl/es/preview/features/security-config.jd
@@ -1,5 +1,5 @@
 page.title=Configuración de seguridad de la red
-page.keywords=preview,security,network
+page.keywords=androidn,security,network
 page.image=images/cards/card-nyc_2x.jpg
 
 @jd:body
@@ -7,7 +7,7 @@
 <div id="qv-wrapper">
 <div id="qv">
 
-<h2>Contenido del documento</h2>
+<h2>En este documento</h2>
 <ol>
   <li><a href="#manifest">Agregar un archivo de configuración de seguridad</a></li>
   <li><a href="#CustomTrust">Personalizar las CA de confianza</a>
@@ -71,12 +71,13 @@
 
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?&gt;
-...
-&lt;app ...&gt;
+&lt;manifest ... &gt;
+  &lt;application ... &gt;
     &lt;meta-data android:name="android.security.net.config"
                android:resource="@xml/network_security_config" /&gt;
     ...
-&lt;/app&gt;
+  &lt;/application&gt;
+&lt;/manifest&gt;
 </pre>
 
 <h2 id="CustomTrust">Personalizar las CA de confianza</h2>
@@ -109,7 +110,7 @@
 </p>
 
 
-<h3 id="ConfigCustom">Configurar una CA personalizada</h3>
+<h3 id="ConfigCustom">Configurar una CA de confianza personalizada</h3>
 
 <p>
   Supongamos que deseas conectarte a tu host, el cual usa un certificado SSL
@@ -213,7 +214,7 @@
  solo <i>son</i> de confianza cuando <a href="{@docRoot}guide/topics/manifest/application-element.html#debug">
 android:debuggable</a>
  es {@code true} usando {@code debug-overrides}. Generalmente, las herramientas de IDE
- y de compilación configuran esta marca automáticamente para las versiones que no son de lanzamiento.
+ y de compilación configuran esta marca automáticamente para las compilaciones que no son de lanzamiento.
 </p>
 
 <p>
@@ -242,7 +243,7 @@
 <p>
   Las aplicaciones que deseen conectarse a destinos usando solo conexiones
  seguras pueden desactivar Cleartext (usando el protocolo
- HTTP no cifrado en lugar del protocolo HTTPS) para esos destinos. Esta opción ayuda a prevenir
+ HTTP no encriptado en lugar del protocolo HTTPS) para esos destinos. Esta opción ayuda a prevenir
  las regresiones accidentales en aplicaciones debido a cambios en direcciones URL generados por fuentes
  externas como servidores backend.
   Consulta {@link android.security.NetworkSecurityPolicy#isCleartextTrafficPermitted
@@ -310,6 +311,7 @@
             &lt;pin digest="SHA-256"&gt;7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=&lt;/pin&gt;
             &lt;!-- backup pin --&gt
             &lt;pin digest="SHA-256"&gt;fwza0LRMXouZHRC8Ei+4PyuldPDcf3UKgO/04cDM1oE=&lt;/pin&gt;
+        &lt;/pin-set&gt;
     &lt;/domain-config&gt;
 &lt;/network-security-config&gt;
 </pre>
@@ -543,7 +545,7 @@
 
 <dl class="xml">
   <dt>
-    SINTAXIS:
+    sintaxis:
   </dt>
 
   <dd>
@@ -568,7 +570,7 @@
 
   <dd>
     Sobrescrituras que se deben aplicar cuando <a href="{@docRoot}guide/topics/manifest/application-element.html#debug">android:debuggable</a>
- es {@code "true"}, que es, generalmente, el caso de las versiones que no sean de lanzamiento
+ es {@code "true"}, que es, generalmente, el caso de las compilaciones que no sean de lanzamiento
  generadas por herramientas de IDE y de compilación. Los anclajes de confianza especificados en {@code
  debug-overrides} se agregan a todas las demás configuraciones, y la fijación
  de certificados no se lleva a cabo cuando la cadena de certificados del servidor usa uno de estos
@@ -704,9 +706,9 @@
  expiran las fijaciones, lo cual deshabilita la fijación. Si el atributo no está establecido, las fijaciones
  no expiran.
         <p>
-          La expiración ayuda a evitar problemas de conectividad en aplicaciones
- que no reciben actualizaciones para el conjunto de fijaciones, por ejemplo,
-porque el usuario deshabilitó las actualizaciones de la aplicación.
+          La expiración ayuda a evitar problemas de conectividad en aplicaciones que no
+ reciben actualizaciones para el conjunto de fijaciones, por ejemplo, porque el usuario
+ deshabilitó las actualizaciones de la aplicación.
         </p>
       </dd>
     </dl>
@@ -716,7 +718,7 @@
 <h3 id="pin">&lt;pin&gt;</h3>
 <dl class="xml">
   <dt>
-    SINTAXIS:
+    sintaxis:
   </dt>
 
   <dd>
diff --git a/docs/html-intl/intl/es/preview/features/tv-recording-api.jd b/docs/html-intl/intl/es/preview/features/tv-recording-api.jd
index a01a70c..5837975 100644
--- a/docs/html-intl/intl/es/preview/features/tv-recording-api.jd
+++ b/docs/html-intl/intl/es/preview/features/tv-recording-api.jd
@@ -7,7 +7,7 @@
 
 <div id="qv-wrapper">
 <div id="qv">
-  <h2>Contenido del documento</h2>
+  <h2>En este documento</h2>
   <ol>
     <li><a href="#supporting">Indicar la compatibilidad para la grabación</a></li>
     <li><a href="#recording">Grabar una sesión</a></li>
@@ -18,7 +18,7 @@
 </div>
 </div>
 
-<p>Los servicios de entrada de TV le permiten al usuario pausar y reiniciar la reproducción de canales
+<p>Los servicios de entrada de TV le permiten al usuario pausar y reanudar la reproducción de canales
 mediante API de time-shifting. Android N expande la función de time-shifting
  permitiéndoles a los usuarios guardar múltiples sesiones grabadas.</p>
 
@@ -31,20 +31,41 @@
 la habilidad para grabar programas, gestionar y comunicar los errores que ocurren
 durante la grabación y gestionar las sesiones grabadas.</p>
 
+<p class="note"><strong>Nota:</strong> La aplicación Live Channels todavía no
+ permite que los usuarios creen grabaciones ni accedan a estas. Hasta que se realicen
+ cambios en la aplicación Live Channels, es posible que sea difícil probar completamente la 
+experiencia de grabación para tu servicio de entrada de TV.</p>
+
 <h2 id="supporting">Indicar la compatibilidad para la grabación</h2>
 
-<p>Para comunicarle al sistema que tu servicio de entrada de TV permite la grabación, debes seguir
-estos pasos:</p>
+<p>Para comunicarle al sistema que tu servicio de entrada de TV permite la grabación, configura el 
+atributo <code>android:canRecord</code> de tu archivo XML de metadatos de servicio 
+en <code>true</code>:
+</p>
+
+<pre>
+&lt;tv-input xmlns:android="http://schemas.android.com/apk/res/android"
+  <b>android:canRecord="true"</b>
+  android:setupActivity="com.example.sampletvinput.SampleTvInputSetupActivity" /&gt;
+</pre>
+
+<p>Para obtener más información sobre el archivo de metadatos de servicio, consulta 
+<a href="{@docRoot}training/tv/tif/tvinput.html#manifest">Declarar el servicio de entrada
+ de TV en el manifiesto</a>.
+</p>
+
+<p>De forma alternativa, puedes indicar la compatibilidad para la grabación en tu código; para ello, sigue
+ estos pasos:</p>
 
 <ol>
 <li>En el método <code>TvInputService.onCreate()</code>, crea un nuevo
 objeto <code>TvInputInfo</code> usando la clase <code>TvInputInfo.Builder</code>.
 </li>
-<li>Cuando creer el nuevo objeto <code>TvInputInfo</code>, llama a
+<li>Cuando crees el nuevo objeto <code>TvInputInfo</code>, llama a
 <code>setCanRecord(true)</code> antes de llamar a <code>build()</code> para
 indicar que tu servicio permite la grabación.</li>
 <li>Registra tu objeto <code>TvInputInfo</code> con el sistema llamando a
-<code>TvInputService.updateTvInputInfo()</code>.</li>
+<code>TvInputManager.updateTvInputInfo()</code>.</li>
 </ol>
 
 <h2 id="recording">Grabar una sesión</h2>
@@ -100,7 +121,7 @@
 las aplicaciones de canal con funcionalidad de grabación en la tabla de proveedor de contenido <code>TvContract.RecordedPrograms</code>
 . Esta información se accede mediante el URI de contenido
 <code>RecordedPrograms.Uri</code>. Usa API de proveedor de contenido para
-leer, agregar y eliminar entradas de esta tabla.</p>
+leer, agregar y borrar entradas de esta tabla.</p>
 
 <p>Para obtener más información sobre cómo trabajar con datos del proveedor de contenido, consulta 
 <a href="{@docRoot}guide/topics/providers/content-provider-basics.html">
diff --git a/docs/html-intl/intl/es/preview/guide.jd b/docs/html-intl/intl/es/preview/guide.jd
new file mode 100644
index 0000000..9fe555c
--- /dev/null
+++ b/docs/html-intl/intl/es/preview/guide.jd
@@ -0,0 +1,190 @@
+page.title=Guía de prueba
+page.image=images/cards/card-n-guide_2x.png
+meta.tags="preview", "testing"
+page.tags="preview", "developer preview"
+
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>En este documento</h2>
+      <ol>
+        <li><a href="#runtime-permissions">Prueba de los permisos</a></li>
+        <li><a href="#doze-standby">Prueba de los modos Descanso y App Standby</a></li>
+        <li><a href="#ids">Copia de seguridad automática e identificadores de dispositivos</a></li>
+      </ol>
+  </div>
+</div>
+
+<p>
+  Android N te brinda la oportunidad de garantizar que tus aplicaciones funcionen con la próxima versión de la plataforma.
+ Esta versión preliminar incluye diversas API y cambios en los comportamientos que pueden 
+tener impactos en tu aplicación, como se describe en las secciones <a href="{@docRoot}preview/api-overview.html">Información general de la API</a> y <a href="{@docRoot}preview/behavior-changes.html">Cambios en los comportamientos</a>.
+ Al probar tu aplicación con la versión preliminar, te debes centrar en algunos cambios específicos del sistema para garantizar que los usuarios disfruten de una buena experiencia.
+
+
+</p>
+
+<p>
+  En esta guía, se describen qué y cómo probar las características preliminares con tu aplicación. Debes priorizar la prueba de estas características específicas preliminares, puesto que podrían tener un alto impacto en el comportamiento de tu aplicación:
+
+
+</p>
+
+<ul>
+  <li><a href="#runtime-permissions">Permisos</a>
+  </li>
+  <li><a href="#doze-standby">Modos Descanso y App Standby</a>
+  </li>
+  <li><a href="#ids">Copia de seguridad automática e identificadores de dispositivos</a></li>
+</ul>
+
+<p>
+  Para obtener más información sobre cómo configurar dispositivos o dispositivos virtuales con una imagen
+ del sistema de la versión preliminar para realizar pruebas, consulta la sección <a href="{@docRoot}preview/setup-sdk.html">Configurar el SDK de Android N</a>.
+
+</p>
+
+
+<h2 id="runtime-permissions">Prueba de los permisos</h2>
+
+<p>
+  El nuevo modelo de <a href="{@docRoot}preview/features/runtime-permissions.html">permisos</a> cambia el modo en que el usuario asigna permisos a tu aplicación.
+ En lugar de conceder todos los permisos durante el procedimiento de instalación, tu aplicación debe solicitar al usuario los permisos individuales en el tiempo de ejecución.
+
+ Para los usuarios, este comportamiento ofrece más control granular sobre las actividades de cada aplicación, así como un mejor contexto para comprender por qué la aplicación está solicitando un permiso específico.
+ Los usuarios pueden conceder o revocar los permisos concedidos a una aplicación de forma individual en cualquier momento.
+ Es muy probable que esta característica de la versión preliminar tenga un impacto en el comportamiento de tu aplicación y puede hacer que algunas características de tu aplicación no funcionen o funcionen en un estado degradado.
+
+
+</p>
+
+<p class="caution">
+  Este cambio afecta a todas las aplicaciones que se ejecutan en la nueva plataforma, incluso a aquellas que no tienen como destino la nueva versión de la plataforma.
+ La plataforma ofrece un comportamiento de compatibilidad limitada para las aplicaciones heredadas, pero debes comenzar a planificar ahora la migración de tu aplicación al nuevo modelo de permisos, con el objetivo de publicar una versión actualizada de tu aplicación cuando se lance la plataforma oficial.
+
+
+</p>
+
+
+<h3 id="permission-test-tips">Tips para pruebas</h3>
+
+<p>
+  Usa los siguientes tips para pruebas como ayuda para planificar y ejecutar las pruebas de tu aplicación con el nuevo comportamiento de permisos.
+
+</p>
+
+<ul>
+  <li>Identifica los permisos actuales de tu aplicación y las rutas de códigos relacionadas.</li>
+  <li>Prueba los flujos del usuario en los datos y servicios protegidos por permisos.</li>
+  <li>Realiza pruebas con varias combinaciones de permisos concedidos/revocados.</li>
+  <li>Usa la herramienta {@code adb} para administrar permisos desde la línea de comando:
+    <ul>
+      <li>Enumera los permisos y estados por grupo:
+        <pre>adb shell pm list permissions -d -g</pre>
+      </li>
+      <li>Concede o revoca un permiso o más permisos utilizando la siguiente sintaxis:<br>
+        <pre>adb shell pm [grant|revoke] &lt;permission.name&gt; ...</pre>
+      </li>
+    </ul>
+  </li>
+  <li>Analiza tu aplicación para detectar servicios que utilizan permisos.</li>
+</ul>
+
+<h3 id="permission-test-strategy">Estrategia de prueba</h3>
+
+<p>
+  El cambio en los permisos afecta la estructura y el diseño de tu aplicación, además de la experiencia del usuario y los flujos que proporcionas a los usuarios.
+ Debes evaluar el uso de los permisos actuales de tu aplicación y comenzar a planificar los nuevos flujos que deseas ofrecer.
+ La versión oficial de la plataforma proporciona un comportamiento de compatibilidad, pero debes prever la actualización de tu aplicación y no depender de estos comportamientos.
+
+
+</p>
+
+<p>
+  Identifica los permisos que tu aplicación verdaderamente necesita y utiliza, y luego busca las diversas rutas de códigos que utilizan los servicios protegidos por permisos.
+ Puedes realizar esto mediante una combinación de pruebas en la plataforma nueva y análisis de códigos.
+ Al realizar las pruebas, debes centrarte en
+ incluir permisos de tiempo de ejecución cambiando {@code targetSdkVersion} de la aplicación a la versión preliminar. Para
+ obtener más información, consulta la sección <a href="{@docRoot}preview/setup-sdk.html#">Configurar el SDK de Android N</a>.
+
+</p>
+
+<p>
+  Realiza pruebas con diversas combinaciones de permisos revocados y agregados, a fin de destacar los flujos del usuario que dependen de permisos.
+ Cuando una dependencia no sea obvia ni lógica, debes considerar la opción de refactorizar o compartimentar ese flujo para eliminar la dependencia o aclarar por qué se necesita el permiso.
+
+
+</p>
+
+<p>
+  Para obtener más información sobre el comportamiento de los permisos de tiempo de ejecución, las pruebas y las mejores prácticas, consulta la página <a href="{@docRoot}preview/features/runtime-permissions.html">Permisos</a> de la versión preliminar para desarrolladores.
+
+
+</p>
+
+
+<h2 id="doze-standby">Prueba de los modos Descanso y App Standby</h2>
+
+<p>
+  Las características de ahorro de energía de los modos Descanso y App Standby limitan la cantidad de procesamiento en segundo plano que puede realizar tu aplicación cuando un dispositivo se encuentra en estado inactivo o mientras tu aplicación no está en foco.
+ Entre las restricciones que el sistema puede imponer en las aplicaciones se incluyen el acceso limitado a la red o denegación de acceso, suspensión de las tareas en segundo plano, suspensión de notificaciones, y alarmas y solicitudes de reactivación ignoradas.
+
+ Para garantizar que tu aplicación tenga un comportamiento correcto con estas optimizaciones de ahorro de energía, debes probar tu aplicación simulando estos estados de bajo consumo.
+
+
+</p>
+
+<h4 id="doze">Cómo probar la aplicación en modo Descanso</h4>
+
+<p>Para probar el modo Descanso con tu aplicación, realiza lo siguiente:</p>
+
+<ol>
+<li>Configura un dispositivo de hardware o un dispositivo virtual con una imagen del sistema Android N.</li>
+<li>Conecta el dispositivo a tu equipo de desarrollo e instala tu aplicación.</li>
+<li>Ejecuta tu aplicación y déjala activa.</li>
+<li>Simula la activación del modo Descanso en el dispositivo ejecutando los siguientes comandos:
+
+<pre>
+$ adb shell dumpsys battery unplug
+$ adb shell dumpsys deviceidle step
+$ adb shell dumpsys deviceidle -h
+</pre>
+
+  </li>
+  <li>Observa el comportamiento de tu aplicación cuando se reactive el dispositivo. Asegúrate de que se recupere correctamente cuando el dispositivo salga del modo Descanso.
+</li>
+</ol>
+
+
+<h4 id="standby">Cómo probar aplicaciones en modo App Standby</h4>
+
+<p>Para probar el modo App Standby con tu aplicación, realiza lo siguiente:</p>
+
+<ol>
+  <li>Configura un dispositivo de hardware o un dispositivo virtual con una imagen del sistema Android N.</li>
+  <li>Conecta el dispositivo a tu equipo de desarrollo e instala tu aplicación.</li>
+  <li>Ejecuta tu aplicación y déjala activa.</li>
+  <li>Simula la activación del modo App Standby en la aplicación ejecutando los siguientes comandos:
+
+<pre>
+$ adb shell am broadcast -a android.os.action.DISCHARGING
+$ adb shell am set-idle &lt;packageName&gt; true
+</pre>
+
+  </li>
+  <li>Simula la activación de tu aplicación con el siguiente comando:
+    <pre>$ adb shell am set-idle &lt;packageName&gt; false</pre>
+  </li>
+  <li>Observa el comportamiento de tu aplicación al reactivarse. Asegúrate de que se recupere correctamente del modo App Standby.
+ En particular, debes comprobar si los trabajos en segundo plano y las notificaciones de tu aplicación continúan funcionando de la manera esperada.
+</li>
+</ol>
+
+<h2 id="ids">Copia de seguridad automática para aplicaciones e identificadores específicos del dispositivo</h2>
+
+<p>Si tu aplicación continúa teniendo algún identificador específico del dispositivo, como la Id. de registro de Google Cloud Messaging, en el almacenamiento interno, asegúrate de seguir las mejores prácticas para excluir la ubicación de almacenamiento de la copia de seguridad automática, como se describe en la sección <a href="{@docRoot}preview/backup/index.html">Copia de seguridad automática para aplicaciones</a>.
+
+
+
+ </p>
diff --git a/docs/html-intl/intl/es/preview/index.jd b/docs/html-intl/intl/es/preview/index.jd
index f4c9189..c931270 100644
--- a/docs/html-intl/intl/es/preview/index.jd
+++ b/docs/html-intl/intl/es/preview/index.jd
@@ -1,6 +1,6 @@
 page.title=Android N Developer Preview
 page.tags="preview","developer"
-meta.tags=“preview”, “android”
+meta.tags="preview", "android"
 fullpage=true
 forcelocalnav=true
 header.hide=1
@@ -25,10 +25,10 @@
         <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>.
+          <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.
+ <strong>notificaciones de respuestas directas</strong> y más.
         </p>
 
         <a class="dac-hero-cta" href="{@docRoot}preview/overview.html">
@@ -102,7 +102,18 @@
   </div><!-- end .wrap -->
 </div>
 
-<section class="dac-section dac-light"><div class="wrap">
+<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.
diff --git a/docs/html-intl/intl/es/preview/j8-jack.jd b/docs/html-intl/intl/es/preview/j8-jack.jd
index 6693ea5..b642c71 100644
--- a/docs/html-intl/intl/es/preview/j8-jack.jd
+++ b/docs/html-intl/intl/es/preview/j8-jack.jd
@@ -15,26 +15,26 @@
   </div>
 </div>
 
-<p>En Android N se ofrece compatibilidad con funciones del idioma Java 8
-  que puedes usar al desarrollar aplicaciones orientadas a Android N.
+<p>En Android N se ofrece compatibilidad con funciones
+ del idioma Java 8 que puedes usar al desarrollar aplicaciones orientadas a Android N.
   En esta página se describen las funciones de idioma compatibles con la Android N
   Preview, también la manera adecuada de configurar tu proyecto para usarlas y muchos problemas
   conocidos que puedes experimentar.
 </p>
 
 <p>Para comenzar a usar estas funciones, debes descargar y configurar Android
-Studio 2.1 (muestra) y el Android N Preview SDK, en el que se incluyen el conjunto de herramientas
-Jack y el complemento de Android para Gradle. Si aún no instalaste
-el Android N Preview SDK, consulta <a href="{@docRoot}preview/setup-sdk.html">Configuración para desarrollar con Android N</a>.</p>
+Studio 2.1 y el Android N Preview SDK, en el que se incluyen el conjunto de herramientas
+Jack y el complemento de Android para Gradle. Si aún no
+instalaste el Android N Preview SDK, consulta <a href="{@docRoot}preview/setup-sdk.html">Configuración para desarrollar con Android N</a>.</p>
 
 
 
 <p class="note">
   <strong>Nota:</strong> No es obligatorio usar las nuevas funciones del lenguaje Java 8
-  para desarrollar aplicaciones orientadas a la plataforma de Android N. Si no
-  deseas escribir código con funciones del lenguaje Java 8, puedes mantener los valores de compatibilidad
-  de origen y destino de tu proyecto en Java 7, pero
-  debes usar JDK 8 para crear la compilación en función de la plataforma de Android N.
+  para desarrollar aplicaciones orientadas a la plataforma de Android N. Si
+  no deseas escribir código con funciones del lenguaje Java 8, puedes mantener los
+  valores de compatibilidad de origen y destino de tu proyecto en Java 7, pero debes
+  usar JDK 8 para crear la compilación en función de la plataforma de Android N.
 </p>
 
 <h2 id="supported-features">
@@ -55,60 +55,72 @@
 
   <li>
     <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html">
-    expresiones Lambda;</a>
+    expresiones Lambda</a> (también disponible en API nivel 23 e inferiores);
   </li>
 
   <li>
     <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/annotations/repeating.html">anotaciones
-    reiterables.</a>
+    reiterables;</a>
+  </li>
+
+  <li>
+    <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html">
+    referencias de métodos</a> (también disponible en API nivel 23 e inferiores).
   </li>
 </ul>
 
+<p class="note">
+  <strong>Nota:</strong> Para probar expresiones Lambda y métodos de referencia en
+  versiones anteriores de Android, accede al archivo {@code build.gradle}
+ y fija {@code compileSdkVersion} y {@code targetSdkVersion} en 23 o
+  un valor inferior. Tendrás que <a href="#configuration">habilitar la cadena de herramientas
+  Jack</a> para usar estas funciones de Java 8.
+</p>
 
 <p>
   A su vez, las siguientes API de funciones del lenguaje Java 8 ahora se encuentran disponibles:
 </p>
 
 <ul>
-  <li>Las API de Reflection y las relacionadas con el lenguaje:
-  </li>
-
-  <li style="list-style: none; display: inline">
+  <li>Las API Reflection y las relacionadas con el lenguaje:
     <ul>
-      <li>{@code java.lang.FunctionalInterface}
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html">
+        {@code java.lang.FunctionalInterface}</a>
       </li>
 
-      <li>{@code java.lang.annotation.Repeatable}
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Repeatable.html">
+        {@code java.lang.annotation.Repeatable}</a>
       </li>
 
-      <li>{@code java.lang.reflect.Method.isDefault()}
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html#isDefault--">
+        {@code java.lang.reflect.Method.isDefault()}</a>
       </li>
 
-      <li>También API Reflection asociadas con anotaciones reiterables, como
-      {@code AnnotatedElement.getAnnotationsByType(Class)}:
+      <li>También las API Reflection asociadas con anotaciones reiterables, como
+      <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/AnnotatedElement.html#getAnnotationsByType-java.lang.Class-">
+        {@code AnnotatedElement.getAnnotationsByType(Class)}</a>
       </li>
     </ul>
   </li>
-  <li>API de utilidades:
-  </li>
 
-  <li style="list-style: none; display: inline">
+  <li>API de utilidades:
     <ul>
-      <li>{@code java.util.function}
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html">
+        {@code java.util.function}</a>
+      </li>
+
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html">
+        {@code java.util.stream}</a>
       </li>
     </ul>
   </li>
 </ul>
 
-<p class="note">
-  <strong>Nota:</strong> la implementación de expresiones Lambda
-  de Android N se basa en clases anónimas. Este enfoque permite que
-  tengan compatibilidad con versiones anteriores y puedan ejecutarse en versiones anteriores de Android. Para probar
-  expresiones Lambda en versiones anteriores, recuerda acceder a tu archivo {@code
-  build.gradle} y fijar {@code compileSdkVersion} y {@code
-  targetSdkVersion} en 23 o un valor inferior.
-</p>
-
 <h2 id="configuration">
   Habilitar funciones de Java 8 y del conjunto de herramientas Jack
 </h2>
@@ -118,18 +130,18 @@
   nueva <a class="external-link" href="https://source.android.com/source/jack.html">conjunto de herramientas Jack</a>. Este nueva
   conjunto de herramientas de Android permite compilar fuentes del lenguaje Java en código de bytes dex legible a través de
   Android, también tiene su propio formato de biblioteca {@code .jack} y proporciona la mayoría de las funciones de conjunto de
-  herramientas como parte de una única herramienta: reempaquetado, reducción, alteración y 
-  MultiDex.
+  herramientas como parte de una única herramienta: reempaquetado, reducción, alteración y
+ MultiDex.
 </p>
 
-<p>A continuación, se muestra una comparación de los conjuntos de herramientas empleadas para generar archivos DEX de Android:</p>
+<p>A continuación, se muestra una comparación de los conjuntos de herramientas empleados para generar archivos DEX de Android:</p>
 <ul>
   <li>Conjunto de herramientas javac heredada:<br>
   <b>javac</b> ({@code .java} --&gt; {@code .class}) --&gt; <b>dx</b> ({@code
   .class} --&gt; {@code .dex})
   </li>
 
-  <li>Nueva conjunto de herramientas Jack:<br>
+  <li>Nueva cadena de herramientas Jack:<br>
   <b>Jack</b> ({@code .java} --&gt; {@code .jack} --&gt; {@code .dex})
   </li>
 </ul>
@@ -140,7 +152,7 @@
 
 <p>
   Si deseas habilitar las funciones del lenguaje Java 8 y de Jack para tu proyecto, escribe lo
-  siguiente en tu archivo específico de módulo {@code build.gradle}:
+ siguiente en tu archivo de nivel de módulo {@code build.gradle}:
 </p>
 
 <pre>
@@ -159,13 +171,14 @@
 }
 </pre>
 
-<h3>
+<h3 id="known-issues">
   Problemas conocidos
 </h3>
 
 <p>
-  Instant Run, presentado en Android Studio 2.0 (beta), actualmente no funciona
-  con Jack y permanecerá deshabilitado cuando se use el nuevo conjunto de herramientas.
+  Actualmente, <a href="{@docRoot}tools/building/building-studio.html#instant-run">Instant
+  Run</a> no funciona  con Jack y permanecerá deshabilitado cuando se use
+  el nuevo conjunto de herramientas.
 </p>
 
 <p>Debido a que Jack no genera archivos de clase intermedia al compilar una
@@ -173,11 +186,12 @@
 ejemplos de estas herramientas:</p>
 
 <ul>
-  <li>detectores Lint que funcionan en archivos de clases;
+  <li>Detectores Lint que funcionan en archivos de clases;
   </li>
 
-  <li>Herramientas y bibliotecas que requieren los archivos de clase de la aplicación (como JaCoCo
-  y Mockito).</li>
+  <li>Herramientas y bibliotecas que requieren los archivos de clase de la aplicación (como
+  pruebas de instrumentación con JaCoCo).
+  </li>
 </ul>
 
-<p>Si experimentas otros problemas al usar Jack, <a href="http://tools.android.com/filing-bugs">informa los errores</a>.</p>
\ No newline at end of file
+<p>Si experimentas otros problemas al usar Jack, <a href="http://tools.android.com/filing-bugs">envía un error</a>.</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/es/preview/license.jd b/docs/html-intl/intl/es/preview/license.jd
new file mode 100644
index 0000000..52643bc
--- /dev/null
+++ b/docs/html-intl/intl/es/preview/license.jd
@@ -0,0 +1,145 @@
+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
index f7cf9da..279a536 100644
--- a/docs/html-intl/intl/es/preview/overview.jd
+++ b/docs/html-intl/intl/es/preview/overview.jd
@@ -1,7 +1,7 @@
 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”, “desarrollador”, “Android”
+meta.tags="preview", "developer", "android"
 page.tags="preview", "developer", "android"
 
 @jd:body
@@ -37,9 +37,9 @@
 -->
 
 <p>
-  Bienvenido al plan de la <strong>Android N Developer Preview</strong>, un programa en el que
+  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 dar tus primeros pasos
+  versión de Android. Es gratis, y puedes comenzar
   descargando las herramientas de la N Developer Preview.
 </p>
 
@@ -69,7 +69,7 @@
       </h5>
 
       <p>
-        Durante la Preview, ofreceremos varias actualizaciones mensuales. De esta manera, realizarás tus pruebas con los últimos cambios de la plataforma.
+        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>
 
@@ -105,8 +105,8 @@
       </h5>
 
       <p>
-        Actualizaciones inalámbricas sin inconvenientes para dispositivos admitidos a través del
-        Programa de Android beta. No se requieren actualizaciones.
+        Actualizaciones inalámbricas sin inconvenientes para dispositivos admitidos a través
+      del Programa de Android Beta. No se requieren actualizaciones.
       </p>
     </div>
 
@@ -116,10 +116,10 @@
       </h5>
 
       <p>
-        Informa los problemas y envíanos comentarios a través de nuestro
-        <a href="{@docRoot}preview/bug">sistema de seguimiento de problemas</a>. Conéctate con otros desarrolladores
-        en la
-        <a href="{@docRoot}preview/dev-community">comunidad de desarrolladores de Android&nbsp;N</a>.
+        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>
@@ -140,70 +140,70 @@
 <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.
+  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 momentos claves del desarrollo, ofreceremos actualizaciones para tu entorno de desarrollo y
-  prueba. En general, podrás contar con una actualización por mes (intervalo de 4 a 6
-  semanas). A continuación, se mencionan las versiones milestone:
+  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>Preview 3</strong> (actualización gradual, beta);</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>
+  <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 la muestra, emuladores, documentación de
-  referencia y diferencias de API.
+  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 milestone de la muestra</strong> se proporciona un <strong>entorno
+  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.
+  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>
-  Entre las <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
+  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 la 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, a fin de probar
-  tus aplicaciones con consumidores de Android beta antes de proceder con la distribución a gran escala en la
+  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 pruebes Android N y lo uses para tus desarrollos, te recomendamos enfáticamente <strong>mantener
-  actualizado tu entorno de desarrollo</strong> conforme se lancen actualizaciones de la
-  muestra. Para facilitar el proceso, puedes registrar tus dispositivos de prueba en el
-  Programa de Android Beta y obtener <strong>actualizaciones inalámbricas (OTA)</strong> en
-  cada versión milestone. Como alternativa, habrá disponibles imágenes de preview actualizadas que puedes
+  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 disponibles las actualizaciones de la muestra, 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>.
+  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>
 
 
@@ -217,73 +217,73 @@
 
 <h3 id="sdk_tools">Herramientas del SDK</h3>
 
-<p>Puedes descargar todos estos componentes a través de SDK Manager en <a href="{@docRoot}sdk/installing/adding-packages.html">Android Studio</a>:</p>
+<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>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 versión milestone según sea necesario.
+  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.
+  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
+  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 OTA</strong>, como en la
-  muestra del año pasado. Este año, podrás recibir OTA registrando dispositivos en el
+  <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 OTA a través del Programa de Android beta</h3>
+<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 (OTA) que
-  proporciona las últimas actualizaciones de las muestras 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.
+  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.
+  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 dispositivo para los cuales deseas recibir actualizaciones de Android N.
-  <li> Haz clic en Registrar, lee y acepta las condiciones de servicio y luego haz clic en Aceptar.
+  <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 hacer una copia de respaldo de los datos que no desees perder antes de
+  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.
+  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>
@@ -292,24 +292,24 @@
 </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, asegúrate de realizar una copia de respaldo de los datos de tu
-  dispositivo.
+  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>este se someterá a un restablecimiento de fábrica</strong>
-  a través del cual 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.
+  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 Developer Preview y con ellos
+  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>
 
@@ -317,14 +317,14 @@
   <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 claves que debes probar.</li>
-  <li> Documentación de nuevas API, incluyendo <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 regiones, 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> 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.
@@ -333,11 +333,11 @@
 <h4 id="reference">Referencia de la API descargable</h4>
 
 <p>
-  Durante las actualizaciones de la muestra, 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> como un archivo .zip separado. 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.
+  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>
@@ -355,42 +355,42 @@
 </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 <strong>canal 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/bug">problemas conocidos</a> y
-    encontrar pasos para solucionarlos. Te mantendremos informado sobre tu problema durante el proceso de evaluación y 
+  <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
+    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 muestra y publicación</h3>
+<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 (muy
-  recomendado), puedes orientar la versión preview de Android N 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>.
+  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>
-  La Android N Developer Preview ofrece las <strong>API de preview</strong>;
-  estas no serán oficiales hasta el lanzamiento de la versión definitiva del SDK,
+  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 la Android N Developer Preview.
+  cada actualización de Android N Developer Preview.
 </p>
 
 <p class="note">
-  <strong>Nota</strong>: Aunque las API de la muestra pueden modificarse, los comportamientos del sistema
+  <strong>Nota</strong>: Aunque las API de Preview pueden modificarse, los comportamientos del sistema
   subyacente permanecen estables y disponibles para cualquier prueba
   inmediata.
 </p>
@@ -411,7 +411,7 @@
 </p>
 
 
-<h2 id="how_to_get_started">Primeros pasos</h2>
+<h2 id="how_to_get_started">Comenzar</h2>
 
 <p>
   Para comenzar a probar tu aplicación con Android N:
@@ -419,10 +419,10 @@
 
 <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> a fin de
+  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>
+  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
diff --git a/docs/html-intl/intl/es/preview/preview_toc.cs b/docs/html-intl/intl/es/preview/preview_toc.cs
new file mode 100644
index 0000000..6c98c2f
--- /dev/null
+++ b/docs/html-intl/intl/es/preview/preview_toc.cs
@@ -0,0 +1,75 @@
+<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/samples.jd b/docs/html-intl/intl/es/preview/samples.jd
index 0c271f6..204d11a 100644
--- a/docs/html-intl/intl/es/preview/samples.jd
+++ b/docs/html-intl/intl/es/preview/samples.jd
@@ -10,8 +10,8 @@
 </p>
 
 <p class="note">
-  <strong>Nota:</strong> Estos proyectos descargables están diseñados
-   para usarse con Gradle y Android Studio.
+  <strong>Nota:</strong> Estos proyectos que se pueden descargar están diseñados
+  para su uso con Gradle y Android Studio.
 </p>
 
 
@@ -64,7 +64,7 @@
 <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" />
 <p>
-  En este ejemplo se demuestra la manera de almacenar datos, y de acceder a ellos, en un medio de almacenamiento cifrado por
+  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.
 </p>
 <p>
diff --git a/docs/html-intl/intl/es/preview/setup-sdk.jd b/docs/html-intl/intl/es/preview/setup-sdk.jd
index 39e84a8..2f8c4fa 100644
--- a/docs/html-intl/intl/es/preview/setup-sdk.jd
+++ b/docs/html-intl/intl/es/preview/setup-sdk.jd
@@ -1,5 +1,5 @@
-page.title=Configuración de la Preview
-meta.keywords=“preview”, “Android”
+page.title=Configuración de Preview
+meta.keywords="preview", "android"
 page.tags="preview", "developer preview"
 page.image=images/cards/card-n-sdk_2x.png
 
@@ -15,7 +15,7 @@
       <li><a href="#docs-dl">Documentación de referencia</a>
     </ol>
   </li>
-  <li><a href="#java8">Obtener el JDK y JRE de Java 8</a></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>
@@ -31,50 +31,22 @@
 <img src="{@docRoot}preview/images/n-preview-setup.png" width="700" alt="" />
 
 
-<h2 id="get-as13">Obtener Android Studio 2.1 (muestra)</h2>
+<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
+ 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>
+según lo descrito a continuación.</p>
 
-<p>Android Studio 2.1 actualmente se encuentra disponible como muestra en el canal de
-versiones Canary. Si ya
-cuentas con Android Studio y no deseas realizar la actualización al canal Canary, puedes
-descargar Android Studio 2.1 como una instalación independiente, usarlo
-para desarrollar aplicaciones con Android N y así dejar el entorno Android Studio
-inalterado.</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>Para descargar Android Studio 2.1 como una instalación independiente, sigue estos
-pasos (si deseas recibir Android Studio 2.1 como una actualización a tu
-instalación existente, omite el paso 4):</p>
-
-<ol>
-  <li>Modifica el nombre de tu
-  instalación existente de Android Studio y anéxale el número de versión. De esta manera,
-  la versión nueva no reemplazará a la existente al instalarse.</li>
-  <li>Descarga el archivo .zip correspondiente para tu sistema operativo desde la
-    <a href="http://tools.android.com/download/studio/canary/latest">página de descarga del canal Canary</a>.
-  </li>
-  <li>Descomprime el paquete y mueve el contenido de Android Studio 2.1 a la ubicación
-    que corresponda para las aplicaciones de tu sistema. Luego inícialo.</li>
-  <li>Abre el cuadro de diálogo Settings
-    (<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;
-    Updates</strong>.
-  </li>
-  <li>En el panel Updates, selecciona la casilla de verificación <strong>Automatically
-    check updates for</strong> y luego
-    <strong>Canary Channel</strong> en la lista desplegable.
-  </li>
-</ol>
-
-<p>Mantén esta ventana de configuración abierta para el paso siguiente.</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>
@@ -83,18 +55,11 @@
 Android N Preview SDK en Android Studio de la siguiente manera:</p>
 
 <ol>
-  <li>Con el panel Updates aún a la vista (paso 4 anterior),
-  selecciona la casilla de verificación <strong>Automatically
-    check updates for Android SDK</strong> y luego
-    <strong>Preview Channel</strong> en la lista desplegable.
-  </li>
-  <li>Haz clic en <strong>Check Now</strong>.</li>
+  <li>Abre el Administrador de SDK haciendo clic en <strong>Tools &gt; Android &gt;
+  SDK Manager</strong>.</li>
 
-  <li>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>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
@@ -110,7 +75,7 @@
 <h3 id="docs-dl">Obtener documentación de referencia de la Android N Preview</h3>
 
 <p>
-  En la documentación de referencia de la Android N Preview, se encuentra disponible información
+  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
@@ -124,23 +89,21 @@
   </tr>
   <tr>
     <td style="white-space: nowrap">
-    <a href="{@docRoot}shareables/preview/n-preview-1-docs.zip">n-preview-1-docs.zip</a></td>
+    <a href="{@docRoot}shareables/preview/n-preview-3-docs.zip">n-preview-3-docs.zip</a></td>
     <td width="100%">
-      MD5: 4ab33ccbe698f46f125cc5b807cf9c2f<br>
-      SHA-1: 6a3880b3ccd19614daae5a4d0698ea6ae11c20a5
+      MD5: 19bcfd057a1f9dd01ffbb3d8ff7b8d81<br>
+      SHA-1: 9224bd4445cd7f653c4c294d362ccb195a2101e7 
     </td>
   </tr>
-</table>
+<table>
 
 
 
-<h2 id="java8">Obtener el JDK y JRE de Java 8</h2>
+<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 debes usar
-el Java 8 Developer Kit (JDK 8), y para usar algunas herramientas con Android
-Studio 2.1 debes instalar Java 8 Runtime Environment (JRE 8). Si
-aún no cuentas con la última versión de las dos herramientas, descarga JDK 8 y JRE 8
-ahora.</p>
+<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>
 
@@ -148,7 +111,7 @@
   <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;
+        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>.
@@ -184,7 +147,7 @@
 <pre>
 android {
   compileSdkVersion <strong>'android-N'</strong>
-  buildToolsVersion <strong>'24.0.0-rc1'</strong>
+  buildToolsVersion <strong>'24.0.0-rc3'</strong>
   ...
 
   defaultConfig {
@@ -208,7 +171,7 @@
   <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>
+    <strong>N: Android API 23, N Preview (Preview).</strong></li>
 </ol>
 
 
@@ -221,3 +184,4 @@
 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
new file mode 100644
index 0000000..f74bae9
--- /dev/null
+++ b/docs/html-intl/intl/es/preview/support.jd
@@ -0,0 +1,1188 @@
+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/training/material/compatibility.jd b/docs/html-intl/intl/es/training/material/compatibility.jd
index ad2e953..d2cb9aa 100644
--- a/docs/html-intl/intl/es/training/material/compatibility.jd
+++ b/docs/html-intl/intl/es/training/material/compatibility.jd
@@ -123,7 +123,7 @@
 <h3>Dependencias</h3>
 
 <p>Para usar estas características en versiones de Android anteriores a la 5.0 (API nivel 21), incluye
-en tu proyecto la Biblioteca de soporte v7 de Android como una <a href="{@docRoot}/sdk/installing/studio-build.html#dependencies">dependencia de Gradle</a>:</p>
+en tu proyecto la Biblioteca de soporte v7 de Android como una <a href="{@docRoot}sdk/installing/studio-build.html#dependencies">dependencia de Gradle</a>:</p>
 
 <pre>
 dependencies {
diff --git a/docs/html-intl/intl/in/preview/_book.yaml b/docs/html-intl/intl/in/preview/_book.yaml
new file mode 100644
index 0000000..88d6c71
--- /dev/null
+++ b/docs/html-intl/intl/in/preview/_book.yaml
@@ -0,0 +1,342 @@
+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/api-overview.jd b/docs/html-intl/intl/in/preview/api-overview.jd
index 26c539c..b0a0317 100644
--- a/docs/html-intl/intl/in/preview/api-overview.jd
+++ b/docs/html-intl/intl/in/preview/api-overview.jd
@@ -1,4 +1,4 @@
-page.title=Android N untuk Pengembang
+page.title=Android N for Developers
 meta.tags="preview", "androidn"
 page.tags="preview", "developer preview"
 page.image=images/cards/card-n-apis_2x.png
@@ -9,31 +9,39 @@
 
 <div id="qv-wrapper">
 <div id="qv">
-  <h2>Fitur-fitur utama untuk pengembang</h2>
+  <h2>Fitur-fitur Utama bagi Pengembang</h2>
   <ol>
       <ul style="list-style-type:none;">
-        <li><a href="#multi-window_support">Dukungan multi-jendela</a></li>
+        <li><a href="#multi-window_support">Dukungan Multi-Jendela</a></li>
         <li><a href="#notification_enhancements">Pemberitahuan</a></li>
         <li><a href="#jit_aot">Kompilasi JIT/AOT</a></li>
-        <li><a href="#quick_path_to_app_install">Jalur cepat untuk menginstal aplikasi</a></li>
-        <li><a href="#doze_on_the_go">Doze di perjalanan</a></li>
-        <li><a href="#background_optimizations">Optimisasi latar belakang</a></li>
+        <li><a href="#quick_path_to_app_install">Jalur Cepat untuk Pasang Aplikasi</a></li>
+        <li><a href="#doze_on_the_go">Istirahatkan Kapan Saja</a></li>
+        <li><a href="#background_optimizations">Optimalisasi Latar Belakang</a></li>
         <li><a href="#data_saver">Data Saver</a></li>
+        <li><a href="#vulkan">Vulkan API</a></li>
         <li><a href="#tile_api">Quick Settings Tile API</a></li>
-        <li><a href="#number-blocking">Pemblokiran nomor</a></li>
-        <li><a href="#call_screening">Penyaringan panggilan</a></li>
-        <li><a href="#multi-locale_languages">Lokal dan bahasa</a></li>
+        <li><a href="#number-blocking">Pemblokiran Nomor</a></li>
+        <li><a href="#call_screening">Penyaringan Panggilan</a></li>
+        <li><a href="#multi-locale_languages">Lokal dan Bahasa</a></li>
+        <li><a href="#emoji">Emoji Baru</a></li>
         <li><a href="#icu4">ICU4J API di Android</a></li>
         <li><a href="#gles_32">OpenGL ES 3.2 API</a></li>
         <li><a href="#android_tv_recording">Perekaman Android TV</a></li>
         <li><a href="#android_for_work">Android for Work</a></li>
         <li><a href="#accessibility_enhancements">Aksesibilitas</a></li>
         <li><a href="#direct_boot">Direct Boot</a></li>
-        <li><a href="#key_attestation">Pengesahan Kunci</a></li>
+        <li><a href="#key_attestation">Key Attestation</a></li>
         <li><a href="#network_security_config">Network Security Config</a></li>
         <li><a href="#default_trusted_ca">CA Tepercaya Default</a></li>
-        <li><a href="apk_signature_v2">APK Signature Scheme v2</a></li>
+        <li><a href="#apk_signature_v2">APK Signature Scheme V2</a></li>
         <li><a href="#scoped_directory_access">Scoped Directory Access</a></li>
+        <li><a href="#keyboard_shortcuts_helper">Keyboard Shortcuts Helper</a></li>
+        <li><a href="#sustained_performance_api">Sustained Performance API</a></li>
+        <li><a href="#vr">Dukungan VR</a></li>
+        <li><a href="#print_svc">Penyempurnaan Layanan Cetak</a></li>
+        <li><a href="#virtual_files">File Maya</a></li>
+        <li><a href="#framemetrics_api">FrameMetricsListener API</a></li>
       </ol>
 </div>
 </div>
@@ -51,10 +59,10 @@
   API baru.
 </p>
 
-<h2 id="multi-window_support">Dukungan multi-jendela</h2>
+<h2 id="multi-window_support">Dukungan Multi-Jendela</h2>
 
 
-<p>Di Android N, kami memperkenalkan fitur multitasking baru yang banyak diminta
+<p>Di Android N, kami memperkenalkan fitur multitasking baru dan yang banyak diminta
 ke dalam platform &mdash; dukungan multi-jendela. </p>
 
   <p>Pengguna sekarang bisa membuka dua aplikasi sekaligus di layar. </p>
@@ -65,25 +73,26 @@
 pembagi di antara keduanya. </li>
 
 <li>Pada perangkat Android TV, aplikasi bisa menempatkan dirinya sendiri dalam <a href="{@docRoot}preview/features/picture-in-picture.html">mode
-gambar-dalam-gambar</a>, sehingga aplikasi bisa terus menampilkan konten sementara pengguna menjelajahi atau
-berinteraksi dengan aplikasi lain. Lihat di bawah ini untuk informasi selengkapnya. </li>
+gambar-dalam-gambar</a>, sehingga aplikasi bisa terus menampilkan materi sementara pengguna menjelajahi atau
+berinteraksi dengan aplikasi lain.</li>
   </ul>
 
 <div class="col-4of10">
 <img src="{@docRoot}preview/images/mw-portrait.png" alt="" style="height:460px;padding-left:1em;" id="img-split-screen" />
 <p class="img-caption">
-  <strong>Gambar 1.</strong> Aplikasi yang dijalankan dalam mode layar terbagi.
+  <strong>Gambar 1.</strong> Aplikasi yang berjalan dalam mode layar terbagi.
 </p>
+
   </div>
 
-<p>Terutama pada tablet dan perangkat yang berlayar lebih besar lainnya, dukungan multi-jendela
-memberi cara baru untuk memikat pengguna. Anda bahkan bisa mengaktifkan fitur seret-dan-letakkan dalam
-aplikasi Anda untuk memudahkan pengguna menyeret konten ke dan dari aplikasi Anda &mdash; cara yang bagus
-untuk menyempurnakan pengalaman pengguna. </p>
+<p>Khususnya pada tablet dan perangkat yang berlayar lebih besar lainnya, dukungan multi-jendela
+memberi Anda cara baru untuk memikat pengguna. Anda bahkan bisa mengaktifkan fitur seret-dan-lepas di
+aplikasi untuk memudahkan pengguna menyeret materi ke dan dari aplikasi &mdash; cara bagus
+untuk menyempurnakan pengalaman pengguna Anda. </p>
 
 <p>Tidak sulit menambahkan dukungan multi-jendela ke aplikasi Anda dan mengonfigurasi cara
 menangani tampilan multi-jendela. Misalnya, Anda bisa menetapkan dimensi
-minimum aktivitas, sehingga mencegah pengguna mengubah ukuran aktivitas di bawah
+minimum yang diizinkan aktivitas, sehingga mencegah pengguna mengubah ukuran aktivitas di bawah
 ukuran itu. Anda juga bisa menonaktifkan tampilan multi-jendela untuk aplikasi Anda, yang
   akan memastikan sistem hanya menampilkan aplikasi dalam mode layar penuh.</p>
 
@@ -92,7 +101,7 @@
 
 </p>
 
-<h2 id="notification_enhancements">Penyempurnaan pemberitahuan</h2>
+<h2 id="notification_enhancements">Penyempurnaan Pemberitahuan</h2>
 
 <p>Di Android N kami telah mengubah desain pemberitahuan agar lebih mudah dan lebih cepat
 digunakan. Beberapa perubahan tersebut antara lain:</p>
@@ -105,23 +114,30 @@
   </li>
 
   <li>
+    <strong>Penyesuaian gaya pesan</strong>: Anda bisa menyesuaikan lebih banyak
+    label antarmuka pengguna yang berkaitan dengan pemberitahuan Anda menggunakan kelas
+    <code>MessageStyle</code>. Anda bisa mengonfigurasi pesan, judul percakapan,
+    dan tampilan materi.
+  </li>
+
+  <li>
     <strong>Bundel pemberitahuan</strong>: Sistem bisa mengelompokkan pesan,
-    misalnya menurut topik pesan, dan menampilkan kelompok tersebut. Pengguna bisa
-   mengambil tindakan, misalnya Dismiss atau Archive, atas kelompok pesan tersebut. Jika Anda telah
-    mengimplementasikan pemberitahuan untuk Android Wear, Anda tentu sudah terbiasa dengan
+    misalnya menurut topik pesan, dan menampilkan kelompok pesan tersebut. Seorang pengguna bisa
+   bertindak, misalnya Tutup atau Arsipkan, atas pesan yang ditampilkan. Jika Anda sudah
+    mengimplementasikan pemberitahuan untuk Android Wear, Anda akan terbiasa dengan
     model ini.
   </li>
 
   <li>
-    <strong>Balasan langsung</strong>: Untuk aplikasi komunikasi real-time, sistem
-    Android mendukung balasan inline sehingga pengguna bisa membalas
+    <strong>Balasan Langsung</strong>: Untuk aplikasi komunikasi real-time, sistem
+    Android mendukung balasan inline sehingga pengguna bisa dengan cepat membalas
     SMS atau pesan teks secara langsung dari dalam antarmuka pemberitahuan.
   </li>
 
   <li>
-    <strong>Tampilan custom</strong>: Dua API baru memungkinkan Anda memanfaatkan dekorasi sistem,
+    <strong>Tampilan khusus</strong>: Dua API baru memungkinkan Anda memanfaatkan dekorasi sistem,
     misalnya header pemberitahuan dan tindakan, saat menggunakan tampilan
-    custom dalam pemberitahuan.
+    khusus dalam pemberitahuan.
   </li>
 </ul>
 
@@ -142,8 +158,8 @@
   <strong>Gambar 2.</strong> Bundel pemberitahuan dan balasan langsung.
 </p>
 
-<p>Untuk mengetahui cara mengimplementasikan fitur-fitur baru ini, lihat panduan 
-<a href="{@docRoot}preview/features/notification-updates.html">Pemberitahuan</a>.
+<p>Untuk mengetahui cara mengimplementasikan fitur-fitur
+  baru ini, lihat panduan <a href="{@docRoot}preview/features/notification-updates.html">Pemberitahuan</a>.
 </p>
 
 
@@ -153,12 +169,12 @@
 <p>Di Android N, kami telah menambahkan compiler Just in Time (JIT) dengan pembuatan profil kode ke
 ART, yang memungkinkannya terus meningkatkan kinerja aplikasi Android saat
 dijalankan. Compiler JIT melengkapi compiler Ahead of Time (AOT) pada ART
-dan membantu memperbaiki kinerja runtime, menghemat ruang penyimpanan, dan mempercepat
+dan membantu memperbaiki kinerja waktu proses, menghemat ruang penyimpanan, dan mempercepat
 pembaruan aplikasi serta pembaruan sistem.</p>
 
 <p>Kompilasi yang dipandu profil memungkinkan ART mengelola kompilasi AOT/JIT untuk setiap aplikasi
-sesuai dengan penggunaan sebenarnya, serta kondisi pada perangkat. Misalnya,
-ART menyimpan profil setiap metode terbaik aplikasi dan bisa melakukan kompilasi lebih awal
+sesuai dengan penggunaan sebenarnya, serta kondisi pada perangkat. Misalnya
+,ART menyimpan profil setiap metode terbaik aplikasi dan bisa melakukan kompilasi lebih awal
 serta menyimpan sementara metode-metode tersebut di cache untuk mendapatkan kinerja terbaik. Hal ini membuat bagian lain dari aplikasi
 dibiarkan tidak dikompilasi hingga benar-benar digunakan.</p>
 
@@ -166,63 +182,63 @@
 membantu mengurangi footprint RAM keseluruhan aplikasi, termasuk biner
 terkait. Fitur ini terutama penting pada perangkat dengan memori minim.</p>
 
-<p>ART mengelola kompilasi yang dipandu profil dengan cara yang meminimalkan dampak terhadap baterai perangkat.
-ART melakukan prakompilasi hanya bila perangkat sedang diam dan
+<p>ART mengelola kompilasi yang dipandu profil dengan cara yang meminimalkan dampak terhadap
+baterai perangkat. ART melakukan prakompilasi hanya bila perangkat sedang diam dan
 mengisi daya, sehingga menghemat waktu dan baterai dengan melakukan pekerjaan tersebut di awal.</p>
 
-<h2 id="quick_path_to_app_install">Jalur cepat untuk menginstal aplikasi</h2>
+<h2 id="quick_path_to_app_install">Jalur Cepat untuk Pasang Aplikasi</h2>
 
-<p>Salah satu manfaat paling nyata dari compiler JIT pada ART adalah kecepatan instalasi aplikasi
-dan pembaruan sistem. Bahkan aplikasi besar yang tadinya perlu beberapa menit untuk
-dioptimalkan dan diinstal di Android 6.0 sekarang bisa diinstal hanya dalam hitungan
-detik. Pembaruan sistem juga lebih cepat, karena tidak ada lagi langkah pengoptimalan. </p>
+<p>Salah satu manfaat paling nyata dari compiler JIT pada ART adalah kecepatan
+pemasnagan aplikasi dan pembaruan sistem. Bahkan aplikasi besar yang membutuhkan beberapa menit untuk
+dioptimalkan dan dipasang di Android 6.0 sekarang bisa dipasang hanya dalam hitungan
+detik. Pembaruan sistem juga lebih cepat, karena tidak ada lagi langkah optimalisasi. </p>
 
-<h2 id="doze_on_the_go">Doze di perjalanan...</h2>
+<h2 id="doze_on_the_go">Istirahatkan Kapan Saja...</h2>
 
-<p>Android 6.0 memperkenalkan Doze, yaitu mode sistem yang menghemat baterai dengan menangguhkan
+<p>Android 6.0 memperkenalkan Istirahatkan, yaitu mode sistem yang menghemat baterai dengan menangguhkan
 aktivitas CPU dan jaringan di aplikasi bila perangkat sedang diam, misalnya saat
 diletakkan di atas meja atau dalam laci. </p>
 
-<p>Sekarang di Android N, Doze jauh lebih maju dan menghemat baterai saat di perjalanan.
-Setiap kali layar mati selama jangka waktu tertentu dan perangkat tidak terhubung ke sumber daya,
-Doze akan menerapkan subset pembatasan CPU dan jaringan yang sudah familier pada aplikasi.
-Ini berarti pengguna bisa menghemat daya baterai meskipun saat membawa perangkat mereka di
-saku.</p>
+<p>Sekarang di Android N, Istirahatkan selangkah lebih maju dalam menghemat baterai kapan saja.
+Setiap kali layar mati dalam jangka waktu tertentu dan perangkat tidak terhubung ke sumber daya,
+Istirahatkan akan menerapkan subset pembatasan umum CPU dan jaringan pada aplikasi.
+Artinya pengguna bisa menghemat daya baterai meskipun perangkat dibawa di dalam
+tasnya.</p>
 
 
 <img src="/preview/images/doze-diagram-1.png" alt="" id="figure1" />
 <p class="img-caption">
-  <strong>Gambar 3.</strong> Doze sekarang menerapkan
+  <strong>Gambar 3.</strong> Istirahatkan sekarang menerapkan
   pembatasan untuk meningkatkan daya tahan baterai bahkan saat perangkat sedang tidak diam.
 </p>
 
 
-<p>Tidak lama setelah layar mati saat perangkat menggunakan daya baterai, Doze
+<p>Tidak lama setelah layar dimatikan saat perangkat menggunakan daya baterai, Istirahatkan
 akan membatasi akses jaringan serta menangguhkan pekerjaan dan sinkronisasi. Selama jeda
-pemeliharaan singkat, aplikasi diizinkan mengakses jaringan dan menjalankan semua
-pekerjaan/sinkronisasi yang ditangguhkan. Menyalakan layar atau menghubungkan perangkat ke listrik akan
-menutup Doze di perangkat.</p>
+pemeliharaan, aplikasi diizinkan mengakses jaringan dan menjalankan semua
+pekerjaan/sinkronisasi yang ditangguhkan. Menyalakan layar atau mencolokkan perangkat akan mengeluarkan
+perangkat dari Istirahatkan.</p>
 
 <p>Bila perangkat dalam kondisi diam lagi, dengan layar mati dan menggunakan daya baterai selama
-jangka waktu tertentu, Doze akan menerapkkan pembatasan CPU dan jaringan pada {@link
+jangka waktu tertentu, Istirahatkan akan menerapkan pembatasan CPU dan jaringan pada {@link
 android.os.PowerManager.WakeLock}, alarm {@link android.app.AlarmManager}, dan
 pemindaian GPS/Wi-Fi.</p>
 
-<p>Praktik terbaik untuk menyesuaikan aplikasi Anda dengan Doze adalah sama, baik
+<p>Praktik terbaik untuk menyesuaikan aplikasi Anda dengan Istirahatkan adalah sama, baik
 perangkat sedang bergerak maupun diam, jadi jika Anda sudah memperbarui aplikasi untuk
-menjalankan Doze dengan lancar, berarti Anda sudah siap. Jika belum, mulailah <a href="{@docRoot}training/monitoring-device-state/doze-standby.html#assessing_your_app">menyesuaikan
-aplikasi Anda dengan Doze</a> sekarang juga.</p>
+menjalankan Istirahatkan dengan lancar, berarti Anda sudah siap. Jika belum, mulailah <a href="{@docRoot}training/monitoring-device-state/doze-standby.html#assessing_your_app">menyesuaikan
+aplikasi Anda dengan Istirahatkan</a> sekarang juga.</p>
 
-<h2 id="background_optimizations">Project Svelte: Optimisasi Latar Belakang</h2>
+<h2 id="background_optimizations">Project Svelte: Optimalisasi Latar Belakang</h2>
 
 <p>Project Svelte merupakan upaya berkelanjutan untuk meminimalkan penggunaan RAM oleh sistem dan aplikasi
 di semua jenis perangkat Android dalam ekosistem. Di Android N, Project
-Svelte berfokus pada optimisasi cara aplikasi berjalan di latar belakang. </p>
+Svelte berfokus pada optimalisasi cara aplikasi berjalan di latar belakang. </p>
 
-<p>Pemrosesan latar belakang adalah bagian sangat penting pada sebagian besar aplikasi. Bila ditangani dengan benar, pemrosesan
-ini bisa membuat pengalaman pengguna jadi mengagumkan &mdash; segera, cepat, dan sesuai konteks.
-Bila tidak ditangani dengan benar, pemrosesan latar belakang bisa menguras RAM (dan
-baterai) dengan percuma serta memengaruhi kinerja sistem untuk aplikasi lainnya. </p>
+<p>Proses latar belakang merupakan bagian terpenting dari sebagian besar aplikasi. Bila ditangani dengan benar, proses
+ini bisa memberikan pengalaman pengguna yang mengagumkan &mdash; segera, cepat, dan sesuai konteks.
+Bila tidak ditangani dengan benar, proses latar belakang bisa menguras RAM (dan
+baterai) yang sebenarnya tidak perlu serta memengaruhi kinerja sistem untuk aplikasi lain. </p>
 
 <p>Sejak Android 5.0, {@link android.app.job.JobScheduler} telah menjadi
 cara yang disukai untuk melakukan pekerjaan latar belakang dengan cara yang baik
@@ -233,18 +249,18 @@
 <p>
   Opsi baik lainnya adalah <a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
   <code>GCMNetworkManager</code></a>, bagian dari Google Play Services, yang
-  menawarkan penjadwalan pekerjaan serupa dengan kompatibilitas pada semua versi lama
+  menawarkan penjadwalan pekerjaan serupa dengan kompatibilitas pada semua versi lawas
   Android.
 </p>
 
 <p>Kami terus memperluas <code>JobScheduler</code> dan
 <code>GCMNetworkManager</code> untuk memenuhi lebih banyak
- kasus penggunaan Anda &mdash; misalnya, di Android N Anda sekarang bisa menjadwalkan pekerjaan
-latar belakang berdasarkan perubahan di Penyedia Konten. Pada saat yang sama kami mulai
+kasus penggunaan Anda &mdash; misalnya, di Android N Anda sekarang bisa menjadwalkan pekerjaan
+latar belakang berdasarkan perubahan di Content Providers. Pada saat yang sama kami mulai
 menghilangkan beberapa pola lama yang bisa mengurangi kinerja sistem,
 terutama pada perangkat yang minim memori.</p>
 
-<p>Di Android N kami menghilangkan tiga siaran implisit yang umum digunakan &mdash;
+<p>Di Android N kami membuang tiga siaran implisit yang umum digunakan &mdash;
  {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}, {@link
   android.hardware.Camera#ACTION_NEW_PICTURE}, dan {@link
   android.hardware.Camera#ACTION_NEW_VIDEO} &mdash; karena ketiganya bisa mengaktifkan
@@ -253,7 +269,7 @@
   beralih ke <code>JobScheduler</code> dan API terkait sebagai gantinya. </p>
 
 <p>
-  Lihat dokumentasi <a href="{@docRoot}preview/features/background-optimization.html">Optimisasi
+  Lihat dokumentasi <a href="{@docRoot}preview/features/background-optimization.html">Optimalisasi
   Latar Belakang</a> untuk mengetahui detailnya.
 </p>
 
@@ -269,29 +285,74 @@
   </div>
 
 <p>Selama penggunaan perangkat seluler, biaya paket data seluler biasanya
-melebihi harga perangkat itu sendiri. Bagi banyak pengguna, adalah sumber daya
+  melebihi harga perangkat itu sendiri. Bagi banyak pengguna, data seluler adalah sumber daya
 mahal yang ingin mereka hemat. </p>
 
-<p>Android N memperkenalkan mode Data Saver, layanan sistem baru yang membantu mengurangi
-penggunaan data seluler oleh aplikasi, baik sedang roaming, mendekati siklus akhir penagihan,
-atau sedang menggunakan paket data prabayar yang kecil. Data Saver memberi pengguna kemampuan mengontrol cara aplikasi
-menggunakan data seluler dan memungkinkan pengembang untuk memberikan layanan yang efisien bila Data
-Saver sedang aktif. </p>
+<p>Android N memperkenalkan mode Data Saver, layanan sistem baru yang mengurangi
+penggunaan data seluler oleh aplikasi, baik saat roaming, mendekati akhir siklus tagihan,
+atau saat menggunakan paket data prabayar yang kecil. Data Saver memberi pengguna kemampuan mengontrol cara aplikasi
+menggunakan data seluler dan memungkinkan pengembang memberikan layanan yang lebih efisien bila Data
+Saver aktif. </p>
 
 <p>Bila pengguna mengaktifkan Data Saver di <strong>Settings</strong> dan perangkat
-dalam jaringan berkuota data, sistem akan memblokir penggunaan data latar belakang dan memberi tahu aplikasi
+dalam jaringan berkuota, sistem akan memblokir penggunaan data latar belakang dan memberi tahu aplikasi
 untuk menghemat penggunaan data latar depan &mdash; misalnya dengan membatasi
-laju bit untuk streaming, mengurangi kualitas gambar, menangguhkan precaching optimistik,
-dan seterusnya. Pengguna bisa memasukkan aplikasi tertentu ke daftar putih untuk memungkinkan penggunaan data berkuota di latar belakang
-meskipun saat Data Saver diaktifkan.</p>
+kecepatan bit untuk streaming, mengurangi kualitas gambar, menangguhkan precaching optimistik,
+dan seterusnya. Pengguna bisa memasukkan aplikasi tertentu ke daftar putih untuk memungkinkan penggunaan data berkuota
+bila Data Saver diaktifkan.</p>
 
-<p>Android N menambah {@link android.net.ConnectivityManager} untuk menyediakan
-cara bagi aplikasi untuk <a href="{@docRoot}preview/features/data-saver.html#status">mengambil
-preferensi Data Saver</a> pengguna dan <a href="{@docRoot}preview/features/data-saver.html#monitor-changes">memantau
+<p>Android N memperluas {@link android.net.ConnectivityManager} untuk menyediakan cara pada aplikasi
+untuk <a href="{@docRoot}preview/features/data-saver.html#status">mengambil
+preferensi Data Saver pengguna</a> dan <a href="{@docRoot}preview/features/data-saver.html#monitor-changes">memantau
 perubahan preferensi</a>. Semua aplikasi harus memeriksa apakah pengguna telah mengaktifkan Data
-Saver dan melakukan upaya untuk membatasi penggunaan data di latar depan dan latar belakang.</p>
+Saver dan berusaha membatasi penggunaan data latar belakang dan latar depan.</p>
 
 
+<h2 id="vulkan">Vulkan API</h2>
+
+<p>
+  Android N mengintegrasikan <a href="http://www.khronos.org/vulkan" class="external-link">Vulkan™</a>, sebuah API rendering 3D baru, ke dalam platform. Seperti
+  <a href="https://www.khronos.org/opengles/" class="external-link">OpenGL™
+  ES</a>, Vulkan merupakan standar terbuka untuk grafik 3D dan rendering yang dikelola
+  oleh Khronos Group.
+</p>
+
+<p>
+  Vulkan didesain dari nol untuk meminimalkan overhead CPU dalam driver,
+  dan memungkinkan aplikasi Anda mengontrol operasi GPU lebih langsung. Vulkan
+  juga memungkinkan paralelisasi yang lebih baik dengan mengizinkan beberapa thread menjalankan
+  pekerjaan seperti pembuatan buffer perintah sekaligus.
+</p>
+
+<p>
+  Pustaka dan alat pengembangan Vulkan telah dimasukkan ke dalam Android NDK. Ini
+  berisi:
+</p>
+
+<ul>
+  <li>Header
+  </li>
+
+  <li>Layer validasi (pustaka debug)
+  </li>
+
+  <li>SPIR-V shader compiler
+  </li>
+
+  <li>Pustaka kompilasi shader waktu proses SPIR-V
+  </li>
+</ul>
+
+<p>
+  Vulkan hanya tersedia untuk aplikasi pada perangkat dengan perangkat keras yang mendukung Vulkan,
+  seperti Nexus 5X, Nexus 6P, dan Nexus Player. Kami bekerja sama erat dengan mitra
+  agar secepatnya makin banyak perangkat yang dilengkapi Vulkan.
+</p>
+
+<p>
+  Untuk informasi selengkapnya, lihat <a href="{@docRoot}ndk/guides/graphics/index.html">dokumentasi API</a>.
+</p>
+
 <h2 id="tile_api">Quick Settings Tile API</h2>
 
 
@@ -299,21 +360,21 @@
 <img src="{@docRoot}preview/images/quicksettings.png" style="padding-left:1.5em;">
 
 <p class="img-caption" style="padding-left:2em;">
-  <strong>Gambar 5.</strong> Petak Quick Settings dalam bayangan pemberitahuan.
+  <strong>Gambar 5.</strong> Quick Settings Tile dalam bayangan pemberitahuan.
 </p>
 
 
-  </div><p>Quick Settings adalah cara populer dan mudah untuk mengekspos pengaturan dan tindakan utama,
+  </div><p>Quick Settings adalah cara populer dan mudah untuk mengekspos setelan dan tindakan utama,
 langsung dari bayangan pemberitahuan. Di Android N, kami telah memperluas lingkup
 Quick Settings untuk membuatnya lebih berguna dan praktis lagi. </p>
 
 <p>Kami telah menambahkan ruang lebih banyak untuk petak Quick Settings tambahan, yang bisa
-diakses pengguna di semua bagian area halaman tampilan bernomor dengan mengusap ke kiri atau kanan. Kami juga menyediakan pengguna
+diakses pengguna di semua bagian area tampilan halaman bernomor dengan mengusap ke kiri atau kanan. Kami juga memberi pengguna
 kontrol untuk mengatur letak dan petak Quick Settings apa yang akan
-ditampilkan &mdash; pengguna bisa menambahkan atau memindahkan petak dengan menyeret dan meletakkannya. </p>
+ditampilkan &mdash; pengguna bisa menambahkan atau memindahkan petak dengan menyeret dan melepasnya. </p>
 
 <p>Bagi pengembang, Android N juga menambahkan API baru yang memungkinkan Anda mendefinisikan
-  petak Quick Settings agar pengguna bisa dengan mudah mengakses kontrol kunci dan tindakan dalam aplikasi Anda.</p>
+  petak Quick Settings untuk memberi akses mudah kepada pengguna ke berbagai kontrol dan tindakan utama dalam aplikasi Anda.</p>
 
 <p>
   Petak Quick Settings dicadangkan untuk kontrol atau tindakan yang
@@ -323,21 +384,21 @@
 
 <p>
   Setelah mendefinisikan petak, Anda bisa menyediakannya kepada pengguna, yang bisa mereka tambahkan
-  ke Quick Settings cukup dengan menyeret dan meletakkannya.
+  ke Quick Settings cukup dengan seret dan lepas.
 </p>
 
 <p>
-  Untuk informasi tentang pembuatan petak aplikasi, lihat
+  Untuk informasi tentang pembuatan petak aplikasi, lihat dokumentasi untuk
   <code>android.service.quicksettings.Tile</code> dalam <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi API</a> yang bisa diunduh.
 </p>
 
 
 
-<h2 id="number-blocking">Pemblokiran nomor</h2>
+<h2 id="number-blocking">Pemblokiran Nomor</h2>
 
 <p>Android N sekarang mendukung pemblokiran nomor di platform dan menyediakan
-API kerangka kerja agar penyedia layanan bisa mengelola daftar nomor blokir. Aplikasi
-SMS default, aplikasi telepon default, dan aplikasi penyedia layanan bisa membaca dari dan
+API kerangka kerja agar penyedia layanan bisa mengelola daftar nomor blokir. Aplikasi SMS
+default, aplikasi telepon default, dan aplikasi operator bisa membaca dari dan
 menulis ke daftar nomor blokir. Daftar ini tidak dapat diakses oleh aplikasi lain.</p>
 
 <p>Dengan membuat pemblokiran nomor sebagai fitur standar pada platformnya, Android menyediakan
@@ -362,7 +423,7 @@
   API</a> yang bisa diunduh.
 </p>
 
-<h2 id="call_screening">Penyaringan panggilan</h2>
+<h2 id="call_screening">Penyaringan Panggilan</h2>
 
 <p>
   Android N memungkinkan aplikasi telepon default untuk menyaring panggilan masuk. Aplikasi
@@ -373,7 +434,7 @@
 
 <ul>
   <li> Menolak panggilan masuk
-  <li> Tidak mengizinkan panggilan tersebut disimpan ke catatan panggilan
+  <li> Tidak mengizinkan panggilan tersebut disimpan ke log panggilan
   <li> Tidak menampilkan pemberitahuan untuk panggilan tersebut kepada pengguna
 </ul>
 
@@ -384,36 +445,78 @@
 </p>
 
 
-<h2 id="multi-locale_languages">Dukungan multilokal, lebih banyak bahasa yang didukung</h2>
+<h2 id="multi-locale_languages">Dukungan Multilokal, Lebih Banyak Bahasa yang Didukung</h2>
 
 
-<p>Android N sekarang memungkinkan pengguna memilih <strong>multiple locales</strong> dalam Settings,
-untuk mendukung kasus penggunaan dua-bahasa secara lebih baik. Aplikasi bisa menggunakan
+<p>Android N kini memungkinkan pengguna memilih <strong>banyak lokal</strong> di Settings,
+untuk mendukung kasus penggunaan dwibahasa dengan lebih baik. Aplikasi bisa menggunakan
 API baru untuk mendapatkan lokal pilihan pengguna kemudian menawarkan pengalaman pengguna
-yang lebih canggih untuk pengguna multilokal &mdash; seperti menampilkan hasil pencarian dalam
-beberapa bahasa dan tidak menawarkan untuk menerjemahkan halaman web dalam bahasa
+yang lebih canggih untuk pengguna multilokal &mdash; seperti menampilkan hasil telusur dalam
+banyak bahasa dan tidak menawarkan untuk menerjemahkan halaman web dalam bahasa
 yang sudah diketahui pengguna.</p>
 
-<p>Bersama dukungan multi-lokal, Android N juga memperluas ragam bahasa
+<p>Bersama dukungan multilokal, Android N juga memperluas ragam bahasa
 yang tersedia untuk pengguna. Masing-masing ditawarkan lebih dari 25 varian untuk bahasa yang umum
 digunakan seperti Inggris, Spanyol, Prancis, dan Arab. Juga ditambahkan dukungan
 parsial untuk lebih dari 100 bahasa baru.</p>
 
-<p>Aplikasi bisa mendapatkan daftar lokal yang diatur oleh pengguna dengan memanggil <code>LocaleList.GetDefault()</code>.  Untuk mendukung jumlah lokal yang diperluas, Android N sedang mengubah cara
-mengatasi masalah sumber daya. Pastikan Anda menguji dan memverifikasi bahwa aplikasi Anda
+<p>Aplikasi bisa mendapatkan daftar lokal yang disetel oleh pengguna dengan memanggil
+<code>LocaleList.GetDefault()</code>.  Untuk mendukung jumlah lokal yang diperluas, Android N sedang
+ mengubah cara mengatasi masalah sumber daya. Pastikan Anda menguji dan memverifikasi bahwa aplikasi Anda
 berfungsi seperti yang diharapkan dengan logika resolusi sumber daya baru.</p>
 
-<p>Untuk mempelajari tentang perilaku resolusi sumber daya baru dan praktik terbaik yang
+<p>Untuk mengetahui tentang perilaku resolusi sumber daya baru dan praktik terbaik yang
 harus Anda ikuti, lihat <a href="{@docRoot}preview/features/multilingual-support.html">Dukungan Multibahasa</a>.</p>
 
+
+<h2 id="emoji">Emoji Baru</h2>
+
+<p>
+  Android N memperkenalkan emoji tambahan dan fitur terkait emoji termasuk
+  emoji warna kulit dan dukungan untuk pemilih
+  variasi. Jika aplikasi Anda mendukung emoji,
+  ikuti panduan berikut untuk memanfaatkan fitur terkait emoji ini.
+</p>
+
+<ul>
+  <li>
+    <strong>Periksa apakah perangkat berisi emoji sebelum memasukannya.</strong>
+    Untuk memeriksa emoji mana yang terdapat di
+    font sistem, gunakan metode {@link android.graphics.Paint#hasGlyph(String)}.
+  </li>
+  <li>
+    <strong>Periksa apakah emoji mendukung pemilih variasi.</strong>
+    Pemilih variasi memungkinkan Anda
+    menampilkan emoji tertentu berwarna atau hitam-putih.
+    Pada perangkat seluler, aplikasi akan menghadirkan emoji berwarna daripada hitam-putih. Akan tetapi,
+    jika aplikasi Anda menampilkan emoji sebaris dengan teks, maka harus menggunakan variasi hitam-putih.
+    Untuk menentukan apakah sebuah emoji memiliki variasi, gunakan pemilih variasi.
+    Untuk daftar lengkap dari karakter dengan variasinya, tinjaulah bagian
+    <em>rangkaian variasi emoji</em> pada
+    <a class="external-link" href="http://www.unicode.org/Public/9.0.0/ucd/StandardizedVariants-9.0.0d1.txt">
+      dokumentasi Unicode mengenai variasi</a>.
+  </li>
+  <li>
+    <strong>Periksa apakah emoji mendukung warna kulit.</strong> Android N memungkinkan pengguna memodifikasi
+    warna kulit emoji yang dirender sesuai dengan preferensi mereka. Aplikasi keyboard harus menyediakan indikasi
+    visual untuk emoji yang memiliki beberapa warna kulit dan harus memungkinkan pengguna
+    memilih warna kulit yang mereka sukai. Untuk menentukan apakah emoji sistem memiliki
+    modifier warna kulit, gunakan metode {@link android.graphics.Paint#hasGlyph(String)}.
+ Anda bisa menentukan emoji mana yang menggunakan warna kulit dengan membaca
+    <a class="external-link" href="http://unicode.org/emoji/charts/full-emoji-list.html">
+     dokumentasi Unicode</a>.
+  </li>
+</ul>
+
+
 <h2 id="icu4">ICU4J API di Android</h2>
 
 <p>
-  Android N saat ini menawarkan subset <a href="http://site.icu-project.org/">ICU4J</a> API dalam kerangka kerja Android pada
-  paket <code>android.icu</code>. Migrasinya mudah, dan kebanyakan hanya
-  perlu mengubah namespace <code>com.java.icu</code> menjadi
-  <code>android.icu</code>. Jika Anda sudah menggunakan bundel ICU4J dalam aplikasi
-  Anda, beralih ke <code>android.icu</code> API yang disediakan dalam kerangka kerja
+  Android N kini menawarkan subset <a href="http://site.icu-project.org/">ICU4J</a> API dalam kerangka kerja Android pada paket
+  <code>android.icu</code>. Migrasi mudah, dan biasanya hanya perlu
+  mengubah dari ruang nama <code>com.java.icu</code> ke
+  <code>android.icu</code>. Jika Anda sudah menggunakan bundel ICU4J dalam aplikasi,
+  maka beralih ke <code>android.icu</code> API yang disediakan dalam kerangka kerja
   Android bisa menghasilkan penghematan besar dalam ukuran APK.
 </p>
 
@@ -428,27 +531,28 @@
 <p>Android N menambahkan antarmuka kerangka kerja dan dukungan platform untuk OpenGL ES 3.2, termasuk:</p>
 
 <ul>
-  <li> Semua ekstensi dari <a class="external-link" href="https://www.khronos.org/registry/gles/extensions/ANDROID/ANDROID_extension_pack_es31a.txt">Android Extension Pack</a></a> (AEP) kecuali untuk <code>EXT_texture_sRGB_decode</code>.
+  <li> Semua ekstensi dari <a class="external-link" href="https://www.khronos.org/registry/gles/extensions/ANDROID/ANDROID_extension_pack_es31a.txt">
+Android Extension Pack</a></a> (AEP) kecuali untuk <code>EXT_texture_sRGB_decode</code>.
   <li> Floating-point framebuffer untuk HDR dan shading yang ditangguhkan.
   <li> Panggilan draw BaseVertex agar batching dan streaming jadi lebih baik.
   <li> Kontrol akses buffer yang tangguh untuk mengurangi overhead WebGL.
 </ul>
 
-<p>Kerangka kerja API untuk OpenGL ES 3.2 pada Android N dilengkapi dengan kelas
-<code>GLES32</code>. Saat menggunakan OpenGL ES 3.2, pastikan Anda
-  mendeklarasikan persyaratan dalam file manifes, dengan tag <code>&lt;uses-feature&gt;</code> dan
+<p>API kerangka kerja untuk OpenGL ES 3.2 di Android N dilengkapi dengan kelas
+  <code>GLES32</code>. Saat menggunakan OpenGL ES 3.2, pastikan
+mendeklarasikan persyaratan dalam file manifes Anda, dengan tag <code>&lt;uses-feature&gt;</code> dan
 atribut <code>android:glEsVersion</code>. </p>
 
 <p>Untuk informasi tentang menggunakan OpenGL ES, termasuk cara memeriksa versi
-OpenGL ES yang didukung perangkat saat runtime, lihat <a href="{@docRoot}guide/topics/graphics/opengl.html">Panduan API OpenGL ES</a>.</p>
+OpenGL ES yang didukung perangkat saat waktu proses, lihat <a href="{@docRoot}guide/topics/graphics/opengl.html">Panduan OpenGL ES API</a>.</p>
 
 
 <h2 id="android_tv_recording">Perekaman Android TV</h2>
 
-<p>Android N menambahkan kemampuan untuk merekam dan memutar kembali konten dari layanan input
-Android TV melalui API perekaman baru. Karena dibangun dengan API perekaman yang sudah
-ada, layanan input TV bisa mengontrol data saluran apa yang bisa direkam, cara menyimpan
-sesi rekaman, dan mengelola interaksi pengguna dengan konten rekaman. </p>
+<p>Android N menambahkan kemampuan untuk merekam dan memutar kembali materi dari layanan masukan
+Android TV melalui API perekaman baru.  Karena dibangun dengan API perekaman yang sudah
+ada, layanan masukan TV bisa mengontrol data saluran apa yang bisa direkam, cara menyimpan
+sesi rekaman, dan mengelola interaksi pengguna dengan materi rekaman. </p>
 
 <p>Untuk informasi selengkapnya, lihat <a href="{@docRoot}preview/features/tv-recording-api.html">API Perekaman Android TV</a>.</p>
 
@@ -456,44 +560,45 @@
 <h2 id="android_for_work">Android for Work</h2>
 
 <p>Android for Work menambahkan berbagai fitur dan API baru untuk perangkat yang menjalankan Android N.
-Beberapa fitur unggulannya ada di bawah ini &mdash; untuk mengetahui daftar lengkap pembaruan Android for Work
-yang terkait dengan Android N, lihat Perubahan Android for Work.</p>
+Beberapa fitur unggulannya ada di bawah ini &mdash; untuk mengetahui daftar lengkap perubahannya, lihat
+<a href="{@docRoot}preview/features/afw.html">Pembaruan Android for Work</a>.</p>
 
-<h3 id="work_profile_security_challenge">Pertanyaan keamanan profil pekerjaan </h3>
+<h3 id="work_profile_security_challenge">Pertanyaan Keamanan Profil Kerja </h3>
 
 <p>
-  Pemilik profil bisa menetapkan pertanyaan keamanan terpisah untuk aplikasi yang berjalan dalam
-  profil pekerjaan. Pertanyaan pekerjaan ditampilkan bila pengguna berusaha membuka
-  aplikasi pekerjaan. Jawaban pertanyaan keamanan yang benar akan membuka
-  profil pekerjaan dan mendekripsinya jika diperlukan. Untuk pemilik profil,
+  Pemilik profil yang menargetkan N SDK
+  bisa menetapkan pertanyaan keamanan terpisah untuk aplikasi yang berjalan di
+  profil kerja. Pertanyaan kerja ditampilkan bila pengguna mencoba membuka
+  aplikasi kerja apa pun. Jawaban pertanyaan keamanan yang benar akan membuka
+  profil kerja dan mendekripsinya jika diperlukan. Untuk pemilik profil,
   <code>ACTION_SET_NEW_PASSWORD</code> akan meminta pengguna untuk menetapkan pertanyaan
-  pekerjaan, dan <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> meminta
-  pengguna untuk menetapkan kunci perangkat.
+  kerja, dan <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> meminta
+  pengguna menyetel kunci perangkat.
 </p>
 
 <p>
-  Pemilik profil bisa mengatur kebijakan kata sandi yang berbeda untuk pertanyaan pekerjaan
-  (seperti berapa lama PIN diperlukan, atau apakah sidik jari bisa digunakan
+  Pemilik profil bisa menyetel kebijakan kode sandi untuk pertanyaan kerja
+  (seperti berapa lama seharusnya PIN, atau apakah sidik jari bisa digunakan
   untuk membuka kunci profil) menggunakan <code>setPasswordQuality()</code>,
-  <code>setPasswordMinimumLength()</code> dan metode terkait. Pemilik
-  profil juga bisa menetapkan kunci perangkat menggunakan instance <code>DevicePolicyManager</code>
-  yang dikembalikan oleh metode <code>getParentProfileInstance()</code> baru.
+  <code>setPasswordMinimumLength()</code> dan metode terkait. Pemilik profil
+  juga bisa menyetel kunci perangkat, menggunakan instance <code>DevicePolicyManager</code>
+  yang dikembalikan oleh metode <code>getParentProfileInstance()</code>  baru.
   Selain itu, pemilik profil bisa menyesuaikan layar kredensial untuk
-  pertanyaan pekerjaan dengan metode <code>setOrganizationColor()</code> dan
-  <code>setOrganizationName()</code> baru.
+ pertanyaan kerja menggunakan metode baru <code>setOrganizationColor()</code> dan
+  <code>setOrganizationName()</code>.
 </p>
 <h3 id="turn_off_work">Menonaktifkan pekerjaan </h3>
 
-<p>Pada perangkat dengan profil pekerjaan, pengguna bisa berganti-ganti mode pekerjaan. Bila mode pekerjaan
-dinonaktifkan maka pengguna yang dikelola untuk sementara akan dinonaktifkan, sehingga menonaktifkan aplikasi profil
-pekerjaan, sinkronisasi latar belakang, dan pemberitahuan. Ini termasuk aplikasi pemilik
-profil. Bila mode pekerjaan dinonaktifkan, sistem akan menampilkan ikon status menetap
-untuk mengingatkan pengguna bahwa mereka tidak bisa membuka aplikasi pekerjaan. Launcher
-akan menunjukkan bahwa aplikasi dan widget pekerjaan tidak bisa diakses. </p>
+<p>Pada perangkat dengan profil kerja, pengguna bisa beralih mode kerja. Bila mode
+kerja dinonaktifkan, profil yang dikelola akan dinonaktifkan untuk sementara, yang akan menonaktifkan aplikasi
+profil kerja, sinkronisasi latar belakang, dan pemberitahuan. Termasuk aplikasi pemilik
+profil. Bila profil kerja dinonaktifkan, sistem akan menampilkan ikon status
+tetap untuk mengingatkan pengguna bahwa mereka tidak bisa meluncurkan aplikasi kerja. Peluncur
+menunjukkan bahwa aplikasi kerja dan widget tidak bisa diakses. </p>
 
-<h3 id="always_on_vpn">Always on VPN </h3>
+<h3 id="always_on_vpn">Always-On VPN </h3>
 
-<p>Pemilik perangkat dan pemilik profil bisa memastikan bahwa aplikasi pekerjaan selalu terhubung
+<p>Pemilik perangkat dan pemilik profil bisa memastikan bahwa aplikasi kerja selalu menghubungkan
 melalui VPN yang ditetapkan. Sistem secara otomatis akan memulai VPN itu setelah booting
 perangkat.</p>
 
@@ -504,26 +609,36 @@
 </p>
 
 <p>Karena layanan VPN bisa diikat langsung oleh sistem tanpa interaksi
-aplikasi, klien VPN perlu menangani titik masuk baru untuk Always on VPN. Seperti
+aplikasi, klien VPN perlu menangani titik masuk baru untuk Always-On VPN. Seperti
 sebelumnya, layanan ditunjukkan ke sistem melalui
 tindakan pencocokan filter intent <code>android.net.VpnService</code>. </p>
 
 <p>
-  Pengguna bisa secara manual mengatur klien Always on VPN yang mengimplementasikan
+  Pengguna bisa secara manual menyetel klien Always-On VPN yang mengimplementasikan
   metode <code>VPNService</code> dalam pengguna utama dengan menggunakan
   <strong>Settings&gt;More&gt;Vpn</strong>.
 </p>
 
-<h2 id="accessibility_enhancements">Penyempurnaan aksesibilitas</h2>
+<h3 id="custom_provisioning">Penyediaan yang disesuaikan</h3>
 
-<p>Android N saat ini menawarkan Vision Settings langsung di layar Welcome untuk
-penyiapan perangkat baru. Ini sangat memudahkan pengguna untuk menemukan dan mengonfigurasi
-fitur aksesibilitas pada perangkat mereka, termasuk gerakan untuk memperbesar, ukuran
+<p>
+  Aplikasi bisa menyesuaikan alur penyediaan pemilik profil dan pemilik perangkat
+  dengan warna dan logo perusahaan.
+  <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code> menyesuaikan
+  warna alur. <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code>
+  menyesuaikan alur dengan logo perusahaan.
+</p>
+
+<h2 id="accessibility_enhancements">Penyempurnaan Aksesibilitas</h2>
+
+<p>Android N saat ini menawarkan Vision Settings langsung di layar Sambutan untuk
+persiapan perangkat baru. Ini sangat memudahkan pengguna untuk menemukan dan mengonfigurasi
+fitur aksesibilitas pada perangkat mereka, termasuk isyarat perbesaran, ukuran
 font, ukuran layar, dan TalkBack. </p>
 
 <p>Dengan fitur aksesibilitas yang penempatannya semakin jelas, pengguna Anda
 kemungkinan besar akan mencoba aplikasi dengan fitur-fitur yang diaktifkan itu. Pastikan Anda menguji aplikasi
-lebih dini dengan mengaktifkan dahulu pengaturan fitur ini. Anda bisa mengaktifkannya dari Settings &gt;
+lebih dini dengan mengaktifkan dahulu setelan ini. Anda bisa mengaktifkannya dari Settings &gt;
 Accessibility.</p>
 
 <p>Di Android N, layanan aksesibilitas sekarang bisa membantu pengguna yang mengalami gangguan
@@ -532,38 +647,38 @@
 memenuhi kebutuhan para pengguna tersebut.</p>
 
 <p>Untuk informasi selengkapnya, lihat <code>android.accessibilityservice.GestureDescription</code>
-	dalam <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi API</a> yang bisa diunduh.</p>
+ dalam <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi  API</a> yang bisa diunduh.</p>
 
 
 <h2 id="direct_boot">Direct Boot</h2>
 
 <p>Direct Boot memperbaiki waktu startup perangkat dan memungkinkan aplikasi
-yang telah didaftarkan memiliki fungsionalitas terbatas bahkan setelah reboot tak terduga.
-Misalnya, jika perangkat yang direnkripsi melakukan reboot selagi pengguna tidur,
+yang telah didaftarkan memiliki fungsionalitas terbatas bahkan setelah boot ulang tak terduga.
+Misalnya, jika perangkat yang dienkripsi melakukan boot ulang selagi pengguna tidur,
 alarm terdaftar, pesan dan panggilan masuk sekarang bisa terus memberi tahu
-pengguna seperti biasa. Ini juga berarti layanan aksesibilitas bisa segera
-  tersedia setelah restart.</p>
+pengguna seperti biasa. Ini juga berarti layanan aksesibilitas bisa
+  segera tersedia setelah restart.</p>
 
-<p>Boot langsung memanfaatkan enkripsi berbasis file di Android N
-untuk mengaktifkan kebijakan enkripsi yang halus bagi sistem dan data aplikasi.
+<p>Direct Boot memanfaatkan enkripsi berbasis file di Android N
+untuk mengaktifkan kebijakan enkripsi yang telah disesuaikan bagi sistem dan data aplikasi.
 Sistem akan menggunakan penyimpanan yang dienkripsi dengan perangkat untuk data sistem terpilih dan data
 aplikasi yang terdaftar secara eksplisit. Secara default, penyimpanan yang dienkripsi dengan kredensial digunakan untuk semua
   data sistem lainnya, data pengguna, aplikasi, dan data aplikasi. </p>
 
-<p>Saat boot, sistem dimulai dalam mode terbatas dengan akses
+<p>Saat booting, sistem dimulai dalam mode terbatas dengan akses
 ke data yang dienkripsi dengan perangkat saja, dan tanpa akses umum ke aplikasi atau data.
 Jika Anda memiliki komponen yang ingin Anda jalankan dalam mode ini, Anda bisa mendaftarkannya
-dengan mengatur flag dalam manifes. Setelah restart, sistem akan mengaktifkan
+dengan menyetel flag dalam manifes. Setelah restart, sistem akan mengaktifkan
 komponen terdaftar dengan menyiarkan intent <code>LOCKED_BOOT_COMPLETED</code>.
-Sistem akan memastikan data aplikasi yang dienkripsi dengan perangkat tersedia
-sebelum membuka kunci. Semua data lainnya tidak tersedia sebelum Pengguna mengonfirmasi kredensial
-  layar kunci mereka untuk mendekripsinya. </p>
+ Sistem akan memastikan data aplikasi yang dienkripsi dengan perangkat tersedia
+sebelum membuka kunci. Semua data lainnya tidak tersedia sebelum Pengguna mengonfirmasi
+  kredensial layar kunci mereka untuk mendekripsinya. </p>
 
 Untuk informasi selengkapnya, lihat <a href="{@docRoot}preview/features/direct-boot.html">Direct Boot</a>.</p>
 </p>
 
 
-<h2 id="key_attestation">Pengesahan Kunci</h2>
+<h2 id="key_attestation">Key Attestation</h2>
 
 <p>Keystore yang didukung perangkat keras menyediakan metode yang jauh lebih aman untuk membuat, menyimpan,
 dan menggunakan kunci kriptografi pada perangkat Android. Keystore itu melindungi kunci dari
@@ -571,33 +686,33 @@
 dari perangkat yang di-root.</p>
 
 <p>Agar lebih mudah dan lebih aman dalam menggunakan keystore yang didukung perangkat keras,
-Android N memperkenalkan Pengesahan Kunci. Aplikasi dan perangkat-nonaktif bisa menggunakan Pengesahan
-Kunci untuk menentukan apakah pasangan kunci RSA atau EC
-didukung perangkat keras, apa properti dari pasangan kunci, dan batasan
+Android N memperkenalkan Key Attestation. Aplikasi dan perangkat-nonaktif bisa menggunakan Key
+Attestation untuk menentukan apakah penyandingan kunci RSA atau EC
+didukung perangkat keras, apa properti dari penyandingan kunci, dan batasan
   apa yang diterapkan terhadap penggunaan dan validitasnya. </p>
 
-<p>Aplikasi dan layanan perangkat-nonaktif bisa meminta informasi tentang pasangan kunci
+<p>Aplikasi dan layanan perangkat-nonaktif bisa meminta informasi tentang penyandingan kunci
 melalui sertifikat pengesahan X.509 yang harus ditandatangani dengan kunci
-pengesahan yang valid. Kunci pengesahan adalah kunci penandatangan ECDSA yang
+pengesahan yang valid. Kunci pengesahan adalah kunci penandatanganan ECDSA yang
 telah diinjeksikan ke dalam keystore yang didukung perangkat keras pada perangkat saat di pabriknya.
 Karena itu, sertifikat pengesahan yang ditandatangani oleh kunci pengesahan yang
 valid akan mengonfirmasi keberadaan keystore yang didukung perangkat keras, bersama
   detail pasangan kunci dalam keystore itu.</p>
 
 <p>Untuk memastikan perangkat ini menggunakan citra Android resmi yang
-aman dari pabrik, Pengesahan Kunci mengharuskan <a class="external-link" href="https://source.android.com/security/verifiedboot/verified-boot.html#bootloader_requirements">bootloader</a> perangkat
-menyediakan informasi berikut kepada <a class="external-link" href="https://source.android.com/security/trusty/index.html">Trusted
+aman dari pabrik, Key Attestation mengharuskan <a class="external-link" href="https://source.android.com/security/verifiedboot/verified-boot.html#bootloader_requirements">bootloader</a> perangkat
+menyediakan informasi berikut pada <a class="external-link" href="https://source.android.com/security/trusty/index.html">Trusted
 Execution Environment (TEE)</a>:</p>
 
 <ul>
-<li>Versi OS dan level patch yang diinstal pada perangkat</li>
+<li>Versi OS dan level patch yang dipasang pada perangkat</li>
 <li>Kunci publik <a href="https://source.android.com/security/verifiedboot/index.html" class="external-link">Verified Boot</a> dan status kunci</li>
   </ul>
 
 <p>Untuk informasi selengkapnya tentang fitur keystore yang didukung perangkat keras,
 lihat panduan untuk <a href="https://source.android.com/security/keystore/" class="external-link">Keystore yang Didukung Perangkat Keras</a>.</p>
 
-<p>Selain Pengesahan Kunci, Android N juga memperkenalkan
+<p>Selain Key Attestation, Android N juga memperkenalkan
   kunci yang terikat sidik jari yang tidak dipanggil saat pendaftaran sidik jari.</p>
 
 <h2 id="network_security_config">Network Security Config</h2>
@@ -605,19 +720,19 @@
 <p>Di Android N, aplikasi bisa menyesuaikan perilaku koneksi aman mereka
 (HTTPS, TLS) secara aman, tanpa modifikasi kode, dengan menggunakan
 <em>Network Security Config</em> deklaratif sebagai ganti menggunakan API programatik
-konvensional yang rawan kesalahan (misalnya X509TrustManager).</p>
+konvensional yang rawan kesalahan (mis. X509TrustManager).</p>
 
   <p>Fitur yang didukung:</p>
 <ul>
-<li><b>Trust-anchor custom.</b> Memungkinkan aplikasi menyesuaikan Certificate
-Authorities (CA) mana yang dipercaya untuk koneksi aman. Misalnya,
-mempercayai sertifikat bertanda tangan sendiri tertentu atau serangkaian CA publik terbatas.
+<li><b>Trust-anchor khusus.</b> Memungkinkan aplikasi menyesuaikan
+Certificate Authorities (CA) mana yang dipercaya untuk koneksi amannya. Misalnya,
+mempercayai sertifikat tertentu yang ditandatangani sendiri atau set CA publik yang dibatasi.
 </li>
-<li><b>Pengesampingan hanya-runut.</b> Memungkinkan pengembang aplikasi merunut
-koneksi aman aplikasi mereka secara aman tanpa menambah risiko terhadap basis yang sudah
-diinstal.
+<li><b>Penggantian hanya-debug.</b> Memungkinkan pengembang aplikasi dengan aman men-debug
+koneksi aman aplikasi mereka tanpa menambah risiko pada basis yang sudah
+dipasang.
 </li>
-<li><b>Keluar dari lalu lintas cleartext.</b> Memungkinkan aplikasi melindungi dirinya sendiri dari
+<li><b>Berhenti dari lalu lintas cleartext.</b> Memungkinkan aplikasi melindungi dirinya sendiri dari
 penggunaan lalu lintas cleartext yang tidak disengaja.</li>
 <li><b>Penyematan sertifikat.</b> Sebuah fitur canggih yang memungkinkan aplikasi
   membatasi kunci server mana yang dipercaya untuk koneksi aman.</li>
@@ -636,18 +751,53 @@
 
 <h2 id="apk_signature_v2">APK Signature Scheme v2</h2>
 
-<p>Kelas PackageManager sekarang mendukung verifikasi aplikasi menggunakan 
-APK Signature Scheme v2. APK Signature Scheme v2 adalah skema tanda tangan seluruh file
-yang secara signifikan meningkatkan kecepatan verifikasi dan memperkuat jaminan
-  integritas dengan mendeteksi setiap perubahan tidak sah terhadap file APK.</p>
+<p>
+  Android N memperkenalkan APK Signature Scheme v2, sebuah skema penandatanganan aplikasi baru yang
+  menawarkan waktu pasang aplikasi lebih cepat dan lebih banyak perlindungan terhadap perubahan
+ tidak sah pada file APK. Secara default, Android Studio 2.2 dan Android
+  Plugin untuk Gradle 2.2 menandatangani aplikasi Anda menggunakan APK Signature Scheme v2 dan
+  skema penandatanganan tradisional, yang menggunakan penandatanganan JAR.
+</p>
 
-<p>Untuk menjaga kompatibilitas mundur, APK harus ditandatangani dengan Signature Scheme
-v1 (skema tanda tangan JAR) sebelum ditandatangani dengan Signature Scheme v2.
-Dengan Signature Scheme v2, verifikasi akan gagal jika Anda menandatangani APK dengan
-  sertifikat tambahan setelah menandatangani dengan Signature Scheme v2. </p>
+<p>
+  Meskipun kami menyarankan untuk menerapkan APK Signature Scheme v2 pada aplikasi Anda, skema
+  baru ini tidak wajib. Jika aplikasi Anda tidak dibangun dengan benar saat menggunakan APK
+  Signature Scheme v2, Anda bisa menonaktifkan skema baru ini. Proses penonaktifan
+  menyebabkan Android Studio 2.2 dan Android Plugin untuk Gradle 2.2 menandatangani aplikasi Anda
+  menggunakan skema penandatanganan tradisional saja. Untuk menandatangani dengan
+ skema tradisional saja, buka file <code>build.gradle</code> level-modul, kemudian
+  tambahkan baris <code>v2SigningEnabled false</code> ke konfigurasi
+  penandatanganan rilis Anda:
+</p>
 
-<p>Dukungan APK Signature Scheme v2 akan tersedia nanti dalam N Developer
-Preview.</p>
+<pre>
+  android {
+    ...
+    defaultConfig { ... }
+    signingConfigs {
+      release {
+        storeFile file("myreleasekey.keystore")
+        storePassword "password"
+        keyAlias "MyReleaseKey"
+        keyPassword "password"
+        <strong>v2SigningEnabled false</strong>
+      }
+    }
+  }
+</pre>
+
+<p class="caution"><strong>Perhatian: </strong> Jika Anda menandatangani aplikasi menggunakan APK
+  Signature Scheme v2 dan membuat perubahan lebih jauh pada aplikasi, tanda tangan aplikasi
+  menjadi tidak valid. Untuk alasan ini, gunakan alat seperti <code>zipalign</code>
+  sebelum menandatangani aplikasi Anda menggunakan APK Signature Scheme v2, bukan setelahnya.
+</p>
+
+<p>
+  Untuk informasi selengkapnya, baca dokumen Android Studio yang menjelaskan cara
+  <a href="{@docRoot}studio/publish/app-signing.html#release-mode">
+  menandatangani aplikasi</a> di Android Studio dan cara<a href="{@docRoot}studio/build/build-variants.html#signing"> mengonfigurasi
+  file build untuk menandatangani aplikasi</a> menggunakan Android Plugin untuk Gradle.
+</p>
 
 <h2 id="scoped_directory_access">Scoped Directory Access</h2>
 
@@ -669,8 +819,221 @@
 <a href="{@docRoot}preview/features/scoped-folder-access.html">Scoped
 Directory Access</a>.</p>
 
+<h2 id="keyboard_shortcuts_helper">Keyboard Shortcuts Helper</h2>
+
+<p>
+Di Android N, pengguna bisa menekan "Alt + /" untuk memunculkan layar <em>Keyboard Shortcuts</em>
+yang menampilkan semua pintasan yang tersedia baik dari sistem maupun dari
+aplikasi yang sedang mendapatkan fokus. Ini diambil secara otomatis dari menu aplikasi
+jika tersedia, namun pengembang bisa menyediakan daftar pintasan yang telah disesuaikan
+untuk layar. Anda bisa melakukannya dengan mengganti metode
+<code>Activity.onProvideKeyboardShortcuts()</code> baru, yang dijelaskan dalam
+<a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi API</a> yang bisa diunduh.
+</p>
+
+<p>
+Untuk memunculkan Keyboard Shortcuts Helper dari mana saja di aplikasi Anda,
+panggil {@code Activity.requestKeyboardShortcutsHelper()} untuk aktivitas terkait.
+</p>
+
+<h2 id="sustained_performance_api">Sustained Performance API</h2>
+
+<p>
+Kinerja bisa berfluktuasi secara dramatis untuk aplikasi yang berjalan lama, karena
+sistem melakukan throttle pada mesin sistem-di-chip saat komponen perangkat mencapai
+batas suhunya. Fluktuasi ini memberikan target bergerak bagi pengembang
+aplikasi yang sedang membuat aplikasi berkinerja tinggi dan berjalan lama.
+</p>
+
+<p>
+Untuk menangani batasan ini, Android N menyertakan dukungan untuk
+<em>mode kinerja kontinu</em>, yang memungkinkan OEM memberikan petunjuk mengenai kemampuan kinerja
+perangkat untuk aplikasi yang berjalan lama. Pengembang aplikasi
+bisa menggunakan petunjuk ini untuk menyesuaikan aplikasi agar kinerja perangkat bisa diprediksi
+dan pada level yang konsisten dalam jangka waktu lama.
+</p>
+
+<p>
+Pengembang aplikasi bisa mencoba API baru ini dalam N Developer Preview pada
+perangkat Nexus 6P saja. Untuk menggunakan fitur ini,
+setel flag jendela kinerja kontinu
+yang ingin Anda jalankan dalam mode kinerja kontinu. Setel flag ini menggunakan metode
+{@code Window.setSustainedPerformanceMode()}. Sistem secara otomatis
+akan menonaktifkan mode ini bila jendela tidak lagi mendapatkan fokus.
+</p>
+
+<h2 id="vr">Dukungan VR</h2>
+
+<p>
+Android N menambahkan dukungan platform dan optimalisasi untuk VR Mode baru yang memungkinkan
+pengembang membuat pengalaman VR berkualitas tinggi di seluler bagi para pengguna. Ada banyak perbaikan
+kinerja, termasuk akses ke inti CPU yang eksklusif untuk aplikasi VR.
+Di dalam aplikasi, Anda bisa memanfaatkan pelacakan kepala yang cerdas,
+dan pemberitahuan stereo yang bekerja untuk VR. Hal terpenting adalah Android N menyediakan
+grafis dengan latensi sangat rendah. Untuk informasi selengkapnya tentang membangun aplikasi VR untuk Android N,
+lihat <a href="https://developers.google.com/vr/android/">Google VR SDK untuk Android</a>.
+</p>
 
 
+<h2 id="print_svc">Penyempurnaan Layanan Cetak</h2>
+
+<p>
+  Di Android N, pengembang layanan cetak kini bisa menampilkan informasi tambahan
+  tentang masing-masing printer dan pekerjaan cetak.
+</p>
+
+<p>
+  Saat mendaftarkan masing-masing printer, layanan cetak kini bisa menyetel
+  ikon per printer dalam dua cara:
+</p>
+
+<ul>
+  <li>Anda bisa menyetel ikon dari ID sumber daya dengan memanggil
+  <code>PrinterInfo.Builder.setResourceIconId()</code>
+  </li>
+
+  <li>Anda bisa menampilkan ikon dari jaringan dengan memanggil
+  <code>PrinterInfo.Builder.setHasCustomPrinterIcon()</code>, dan menyetel sebuah
+ callback bila ikon diminta menggunakan
+  <code>android.printservice.PrinterDiscoverySession.onRequestCustomPrinterIcon()</code>
+  </li>
+</ul>
+
+<p>
+  Selain itu, Anda bisa menyediakan aktivitas per printer untuk menampilkan informasi
+  tambahan dengan memanggil <code>PrinterInfo.Builder.setInfoIntent()</code>.
+</p>
+
+<p>
+  Anda bisa menunjukkan kemajuan dan status pekerjaan cetak di
+  pemberitahuan pekerjaan cetak dengan memanggil masing-masing
+  <code>android.printservice.PrintJob.setProgress()</code> dan
+  <code>android.printservice.PrintJob.setStatus()</code>.
+</p>
+
+<p>
+  Untuk informasi selengkapnya tentang metode ini,lihat  dalam <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi  API</a> yang bisa diunduh.
+</p>
+
+<h2 id="framemetrics_api">FrameMetricsListener API</h2>
+
+<p>
+FrameMetricsListener API memungkinkan aplikasi untuk memantau
+kinerja rendering UI. API tersebut menyediakan kemampuan ini dengan mengekspos Pub/Sub API streaming
+untuk mentransfer info frame-timing untuk jendela aplikasi saat ini. Data yang dikembalikan
+setara dengan yang ditampilkan <code><a href="{@docRoot}tools/help/shell.html#shellcommands">adb shell</a>
+dumpsys gfxinfo framestats</code>, namun tidak dibatasi pada 120 bingkai.
+</p>
+
+<p>
+Anda bisa menggunakan FrameMetricsListener untuk mengukur kinerja UI
+level interaksi di produksi, tanpa koneksi USB. API
+ini memungkinkan pengumpulan data dengan granularitas lebih tinggi daripada
+{@code adb shell dumpsys gfxinfo}. Granularitas lebih tinggi ini dimungkinkan karena
+sistem bisa mengumpulkan data untuk interaksi tertentu di aplikasi; sistem
+tidak perlu merekam ringkasan global untuk keseluruhan kinerja
+aplikasi, atau mengosongkan status global yang ada. Anda bisa menggunakan kemampuan ini
+untuk mengumpulkan data kinerja dan menangkap regresi di kinerja UI
+untuk kasus penggunaan sungguhan di dalam aplikasi.
+</p>
+
+<p>
+Untuk memantau sebuah jendela, implementasikan metode callback <code>FrameMetricsListener.onMetricsAvailable()</code>
+dan daftarkan di jendela itu. Untuk informasi selengkapnya, lihat
+dokumentasi kelas {@code FrameMetricsListener} di
+<a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi API</a> yang bisa diunduh.
+</p>
+
+<p>
+API menyediakan objek {@code FrameMetrics}, yang berisi data timing yang
+dilaporkan subsistem rendering untuk berbagai tahap pencapaian dalam daur hidup bingkai.
+Metrik yang didukung adalah: {@code UNKNOWN_DELAY_DURATION},
+{@code INPUT_HANDLING_DURATION}, {@code ANIMATION_DURATION},
+{@code LAYOUT_MEASURE_DURATION}, {@code DRAW_DURATION}, {@code SYNC_DURATION},
+{@code COMMAND_ISSUE_DURATION}, {@code SWAP_BUFFERS_DURATION},
+{@code TOTAL_DURATION}, dan {@code FIRST_DRAW_FRAME}.
+</p>
 
 
+<h2 id="virtual_files">File Maya</h2>
 
+<p>
+  Di versi Android sebelumnya, aplikasi Anda bisa menggunakan Storage Access
+  Framework untuk memungkinkan pengguna memilih file dari akun penyimpanan awan mereka,
+  seperti Google Drive. Akan tetapi, tidak ada cara untuk merepresentasikan file yang
+  tidak memiliki representasi bytecode langsung; setiap file diharuskan menyediakan
+  aliran masukan.
+</p>
+
+<p>
+  Android N menambahkan konsep <em>file maya</em> pada Storage Access
+  Framework. Fitur file maya memungkinkan
+  {@link android.provider.DocumentsProvider} Anda mengembalikan URI dokumen yang bisa
+  digunakan bersama intent {@link android.content.Intent#ACTION_VIEW} sekalipun
+  tidak memiliki representasi bytecode langsung. Android N juga memungkinkan Anda untuk
+  menyediakan format alternatif untuk file pengguna, maya atau dengan cara lain.
+</p>
+
+<p>
+  Untuk mendapatkan URI sebuah dokumen maya di aplikasi Anda, terlebih dahulu Anda membuat
+  {@link android.content.Intent} untuk membuka UI pemilih file. Karena aplikasi
+  tidak bisa membuka file maya secara langsung dengan menggunakan metode
+  {@link android.content.ContentResolver#openInputStream(Uri) openInputStream()},
+   aplikasi Anda tidak akan menerima file maya jika Anda memasukkan kategori
+  {@link android.content.Intent#CATEGORY_OPENABLE}.
+</p>
+
+<p>
+  Setelah pengguna menentukan pilihan, sistem akan memanggil metode
+  {@link android.app.Activity#onActivityResult onActivityResult()}.
+  Aplikasi Anda bisa mengambil URI file maya dan mendapatkan aliran masukan, seperti yang
+  diperagakan dalam cuplikan kode di bawah.
+</p>
+
+<pre>
+  // Other Activity code ...
+
+  final static private int REQUEST_CODE = 64;
+
+  // We listen to the OnActivityResult event to respond to the user's selection.
+  &#64;Override
+  public void onActivityResult(int requestCode, int resultCode,
+    Intent resultData) {
+      try {
+        if (requestCode == REQUEST_CODE &amp;&amp;
+            resultCode == Activity.RESULT_OK) {
+
+            Uri uri = null;
+
+            if (resultData != null) {
+                uri = resultData.getData();
+
+                ContentResolver resolver = getContentResolver();
+
+                // Before attempting to coerce a file into a MIME type,
+                // check to see what alternative MIME types are available to
+                // coerce this file into.
+                String[] streamTypes =
+                  resolver.getStreamTypes(uri, "*/*");
+
+                AssetFileDescriptor descriptor =
+                    resolver.openTypedAssetFileDescriptor(
+                        uri,
+                        streamTypes[0],
+                        null);
+
+                // Retrieve a stream to the virtual file.
+                InputStream inputStream = descriptor.createInputStream();
+            }
+        }
+      } catch (Exception ex) {
+        Log.e("EXCEPTION", "ERROR: ", ex);
+      }
+  }
+</pre>
+
+<p>
+  Untuk informasi selengkapnya tentang mengakses file pengguna, lihat
+  <a href="{@docRoot}guide/topics/providers/document-provider.html">Panduan Storage
+  Access Frameworks</a>.
+</p>
diff --git a/docs/html-intl/intl/in/preview/behavior-changes.jd b/docs/html-intl/intl/in/preview/behavior-changes.jd
index 40be38b..6e6ebae9 100644
--- a/docs/html-intl/intl/in/preview/behavior-changes.jd
+++ b/docs/html-intl/intl/in/preview/behavior-changes.jd
@@ -1,6 +1,6 @@
 page.title=Perubahan Perilaku
-page.keywords=preview,sdk,compatibility
-meta.tags="preview", "kompatibilitas"
+page.keywords=pratinjau,sdk,kompatibilitas
+meta.tags="preview", "compatibility"
 page.tags="preview", "developer preview"
 page.image=images/cards/card-n-changes_2x.png
 @jd:body
@@ -14,25 +14,29 @@
 <ol>
   <li><a href="#perf">Peningkatan Kinerja</a>
     <ol>
-      <li><a href="#doze">Doze</a></li>
-      <li><a href="#bg-opt">Optimisasi Latar Belakang</a></li>
+      <li><a href="#doze">Istirahatkan</a></li>
+      <li><a href="#bg-opt">Optimalisasi Latar Belakang</a></li>
     </ol>
   </li>
-  <li><a href="#perm">Perubahan Izin</a></li>
+  <li><a href="#perm">Perubahan Izin</a>
+  </li>
+  <li><a href="#sharing-files">Berbagi File Antar Aplikasi</a></li>
   <li><a href="#accessibility">Peningkatan Aksesibilitas</a>
     <ol>
-      <li><a href="#screen-zoom">Zoom Layar</a></li>
+      <li><a href="#screen-zoom">Perbesaran Layar</a></li>
       <li><a href="#vision-settings">Vision Settings di Setup Wizard</a></li>
     </ol>
   </li>
-  <li><a href="#ndk">Menautkan Aplikasi NDK ke Pustaka Platform</a></li>
+  <li><a href="#ndk">Penautan Aplikasi NDK ke Pustaka Platform</a></li>
   <li><a href="#afw">Android for Work</a></li>
+  <li><a href="#annotations">Retensi Anotasi</a></li>
+  <li><a href="#other">Poin Penting Lainnya</a></li>
 </ol>
 
 <h2>Lihat Juga</h2>
 <ol>
   <li><a href="{@docRoot}preview/api-overview.html">
-    Ikhtisar Android N API</a></li>
+    Ringkasan Android N API</a></li>
 </ol>
 
 </div>
@@ -40,54 +44,53 @@
 
 
 <p>
-  Selain fitur dan kemampuan baru, Android N
-  juga menyertakan berbagai perubahan perilaku sistem dan API. Dokumen ini
+  Bersama fitur dan kemampuan baru, Android N
+  menyertakan berbagai macam perubahan sistem dan perubahan perilaku API. Dokumen ini 
   menyoroti beberapa perubahan utama yang harus dipahami dan diperhitungkan
   dalam aplikasi Anda.
 </p>
 
 <p>
   Jika Anda sebelumnya telah mempublikasikan aplikasi untuk Android, ketahuilah bahwa aplikasi Anda
-  mungkin akan terpengaruh oleh perubahan dalam platform ini.
+  mungkin dipengaruhi oleh perubahan dalam platform.
 </p>
 
 
-<h2 id="perf">Peningkatan Kinerja</h2>
+<h2 id="perf">Baterai dan Memori</h2>
 
 <p>
-  Android N berisi perubahan perilaku sistem yang bertujuan meningkatkan daya tahan
-  baterai perangkat, penggunaan RAM, dan kinerja aplikasi. Perubahan-perubahan ini bisa memengaruhi
-  ketersediaan sumber daya sistem dan pemberitahuan sistem bagi aplikasi. Anda
-  harus meninjau perubahan ini dan mengevaluasi cara menyesuaikan aplikasi Anda terhadap perubahan
-  tersebut.
+Android N menyertakan perubahan perilaku sistem yang bertujuan untuk meningkatkan daya tahan baterai
+perangkat dan mengurangi penggunaan RAM. Perubahan ini bisa memengaruhi akses aplikasi Anda ke
+sumber daya sistem, termasuk cara aplikasi Anda berinteraksi dengan aplikasi lain melalui
+intent implisit tertentu.
 </p>
 
-<h3 id="doze">Doze</h3>
+<h3 id="doze">Istirahatkan</h3>
 
 <p>
-  Diperkenalkan dalam Android 6.0 (API level 23), Doze meningkatkan daya tahan baterai dengan
-  menangguhkan aktivitas CPU dan jaringan bila pengguna mencabut steker perangkat,
-  diam, dan layar dinonaktifkan. Android N
-  menyempurnakan Doze lebih jauh dengan menerapkan subset CPU dan pembatasan jaringan
-  bila perangkat dicabut stekernya dan layar dinonaktifkan, namun tidak harus
+  Diperkenalkan dalam Android 6.0 (API level 23), Istirahatkan meningkatkan daya tahan baterai dengan
+  menangguhkan aktivitas CPU dan jaringan bila pengguna tidak mencabut perangkat,
+  tidak bergerak, dan layar dinonaktifkan. Android N lebih
+  menyempurnakan Istirahatkan dengan menerapkan subset CPU dan pembatasan jaringan
+  bila perangkat dicabut dan layar dinonaktifkan, namun tidak harus
   diam, misalnya, bila handset dibawa bepergian di saku pengguna.
 </p>
 
 
 <img src="{@docRoot}preview/images/doze-diagram-1.png" alt="" height="251px" id="figure1" />
 <p class="img-caption">
-  <strong>Gambar 1.</strong> Ilustrasi tentang cara Doze menerapkan pembatasan
-  aktivitas sistem tingkat pertama untuk meningkatkan daya tahan baterai.
+  <strong>Gambar 1.</strong> Ilustrasi tentang cara Istirahatkan menerapkan pembatasan
+  aktivitas sistem level pertama untuk meningkatkan daya tahan baterai.
 </p>
 
 <p>
   Bila perangkat sedang menggunakan daya baterai, dan layar telah nonaktif selama jangka waktu
-  tertentu, perangkat akan memasuki Doze dan menerapkan pembatasan subset pertama: Perangkat
-  akan menutup akses jaringan aplikasi, serta menangguhkan pekerjaan dan sinkronisasi. Jika perangkat
-  sedang diam selama jangka waktu tertentu setelah memasuki Doze, sistem akan menerapkan pembatasan
-  Doze lainnya terhadap alarm {@link android.os.PowerManager.WakeLock},
+  tertentu, perangkat akan memasuki Istirahatkan dan menerapkan subset pembatasan pertama: Perangkat
+  akan menutup akses jaringan aplikasi, serta menangguhkan pekerjaan dan sinkronisasi. Jika perangkat sedang
+  diam selama jangka waktu tertentu setelah memasuki Istirahatkan, sistem akan menerapkan
+  pembatasan Istirahatkan selebihnya terhadap alarm {@link android.os.PowerManager.WakeLock},
   {@link android.app.AlarmManager}, GPS, dan pemindaian Wi-Fi. Tidak peduli
-  apakah sebagian atau semua pembatasan Doze diterapkan, sistem akan membangunkan
+  apakah sebagian atau semua pembatasan Istirahatkan diterapkan, sistem akan membangunkan
   perangkat selama jeda pemeliharaan singkat, dan selama itu aplikasi diizinkan
   mengakses jaringan dan bisa mengeksekusi semua pekerjaan/sinkronisasi yang telah ditangguhkan.
 </p>
@@ -95,45 +98,45 @@
 
 <img src="{@docRoot}preview/images/doze-diagram-2.png" alt="" id="figure2" />
 <p class="img-caption">
-  <strong>Gambar 2.</strong> Ilustrasi tentang cara Doze menerapkan pembatasan
-  aktivitas sistem tingkat kedua setelah perangkat diam selama jangka waktu tertentu.
+  <strong>Gambar 2.</strong> Ilustrasi tentang cara Istirahatkan menerapkan pembatasan
+  aktivitas sistem level kedua setelah perangkat diam selama jangka waktu tertentu.
 </p>
 
 <p>
-  Perhatikan, mengaktifkan layar atau memasang steker perangkat akan menyebabkan keluar dari Doze dan
-  menghilangkan pembatasan pemrosesan ini. Perilaku tambahan ini tidak
+  Perhatikan, mengaktifkan layar atau mencolokkan steker perangkat akan mengeluarkan dari Istirahatkan
+  dan membuang pembatasan pemrosesan ini. Perilaku tambahan ini tidak
   memengaruhi rekomendasi dan praktik terbaik dalam menyesuaikan aplikasi Anda dengan versi
-  Doze sebelumnya yang diperkenalkan dalam Android 6.0 (API level 23), seperti yang dibahas di
+  Istirahatkan sebelumnya yang diperkenalkan dalam Android 6.0 (API level 23), seperti yang dibahas di
   <a href="{@docRoot}training/monitoring-device-state/doze-standby.html">
-  Mengoptimalkan untuk Doze dan App Standby</a>. Anda tetap harus
-  mengikuti rekomendasi itu, seperti menggunakan Google Cloud Messaging (GCM) untuk
-  mengirim dan menerima pesan, dan mulai merencanakan pembaruan untuk mengakomodasi
-  perilaku Doze tambahan.
+  Mengoptimalkan untuk Istirahatkan dan Aplikasi Siaga</a>. Anda tetap harus
+   mengikuti rekomendasi itu, seperti menggunakan Google Cloud Messaging (GCM) untuk
+  mengirim dan menerima pesan, serta mulai merencanakan pembaruan
+  untuk mengakomodasi perilaku Istirahatkan tambahan.
 </p>
 
 
-<h3 id="bg-opt">Project Svelte: Optimisasi Latar Belakang</h3>
+<h3 id="bg-opt">Project Svelte: Optimalisasi Latar Belakang</h3>
 
 <p>
-  Android N menghilangkan tiga siaran implisit untuk membantu mengoptimalkan
+  Android N membuang tiga siaran implisit untuk membantu mengoptimalkan
   penggunaan memori dan konsumsi daya. Perubahan ini penting karena siaran
   implisit sering memulai aplikasi yang telah didaftarkan untuk mendengarkannya di
-  latar belakang. Menghilangkan siaran ini bisa sangat menguntungkan kinerja perangkat dan pengalaman
-  pengguna.
+  latar belakang. Membuang siaran ini bisa sangat menguntungkan
+  kinerja perangkat dan pengalaman pengguna.
 </p>
 
 <p>
-  Perangkat seluler sering mengalami perubahan konektivitas, seperti saat berpindah
+  Perangkat seluler seringkali mengalami perubahan konektivitas, seperti saat berpindah
   antara Wi-Fi dan data seluler. Saat ini, aplikasi bisa memantau perubahan dalam
   konektivitas dengan mendaftarkan suatu penerima untuk siaran implisit {@link
   android.net.ConnectivityManager#CONNECTIVITY_ACTION} dalam manifes
-  mereka. Karena banyak aplikasi yang didaftarkan untuk menerima siaran ini, switch
-  jaringan tunggal bisa menyebabkan semuanya aktif dan memproses siaran tersebut
+  mereka. Karena banyak aplikasi yang didaftarkan untuk menerima siaran ini, switch  jaringan tunggal
+  bisa menyebabkan semuanya aktif dan memproses siaran tersebut
   secara bersamaan.
 </p>
 
 <p>
-  Demikian pula, aplikasi bisa mendaftar untuk menerima siaran implisit {@link
+  Demikian pula, dalam Android versi sebelumnya, aplikasi bisa mendaftar untuk menerima siaran implisit {@link
   android.hardware.Camera#ACTION_NEW_PICTURE} dan {@link
   android.hardware.Camera#ACTION_NEW_VIDEO} dari aplikasi lain, seperti
   Kamera. Bila pengguna mengambil gambar dengan aplikasi Kamera, semua aplikasi ini akan aktif
@@ -141,85 +144,135 @@
 </p>
 
 <p>
-  Untuk meminimalkan masalah ini, Android N menerapkan optimisasi
+  Untuk meminimalkan masalah ini, Android N menerapkan optimalisasi
   berikut:
 </p>
 
 <ul>
   <li>Aplikasi yang menargetkan Android N tidak menerima siaran {@link
   android.net.ConnectivityManager#CONNECTIVITY_ACTION}, sekalipun
-  memiliki entri manifes untuk meminta pemberitahuan mengenai kejadian ini. Aplikasi yang berjalan
-  di latar depan tetap bisa mendengarkan {@code CONNECTIVITY_CHANGE} pada thread
-  utama jika meminta pemberitahuan dengan {@link
-  android.content.BroadcastReceiver}.
+  memiliki entri manifes untuk meminta pemberitahuan mengenai kejadian ini. Aplikasi
+  yang berjalan tetap bisa mendengarkan {@code CONNECTIVITY_CHANGE} pada thread utama
+  jika mereka meminta pemberitahuan dengan {@link android.content.BroadcastReceiver}.
   </li>
 
   <li>Aplikasi tidak bisa mengirim atau menerima siaran {@link
   android.hardware.Camera#ACTION_NEW_PICTURE} atau {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO}. Optimisasi ini
-  memengaruhi semua aplikasi, bukan hanya yang menargetkan Android N.
+  android.hardware.Camera#ACTION_NEW_VIDEO}. Optimalisasi ini
+  memengaruhi semua aplikasi, bukan hanya aplikasi yang menargetkan Android N.
   </li>
 </ul>
 
-<p>
-  Rilis Android mendatang mungkin akan menghilangkan siaran implisit tambahan,
-  juga layanan latar belakang tak terikat. Karena itu, Anda harus menghindari atau
-  menghilangkan dependensi terhadap penerima yang dideklarasikan manifes untuk siaran implisit,
-  serta layanan latar belakang.
-</p>
-
-<p>
+<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 atau layanan latar belakang ini. Misalnya, {@link
+  siaran implisit ini. Misalnya, {@link
   android.app.job.JobScheduler} API menyediakan mekanisme yang tangguh untuk menjadwalkan
- operasi jaringan bila syarat yang ditetapkan terpenuhi, misalnya koneksi ke suatu
- jaringan berbiaya tetap. Anda bahkan bisa menggunakan {@link
-  android.app.job.JobScheduler} untuk bereaksi terhadap perubahan kepada penyedia konten.
+  operasi jaringan bila kondisi yang ditetapkan, seperti koneksi ke jaringan
+  berbiaya tetap, terpenuhi. Anda juga dapat menggunakan {@link
+  android.app.job.JobScheduler} untuk bereaksi terhadap perubahan pada penyedia materi.
 </p>
 
 <p>
-  Untuk informasi selengkapnya tentang perubahan perilaku ini dan cara menyesuaikan aplikasi Anda,
+  Untuk informasi selengkapnya tentang optimalisasi latar belakang di N dan cara menyesuaikan aplikasi Anda,
   lihat <a href="{@docRoot}preview/features/background-optimization.html">Optimalisasi
   Latar Belakang</a>.
 </p>
 
-
 <h2 id="perm">Perubahan Izin</h2>
 
 <p>
-  Android N menyertakan perubahan pada izin yang bisa memengaruhi aplikasi Anda,
-  termasuk izin akun pengguna dan izin baru untuk menulis ke
-  penyimpanan eksternal. Inilah rangkuman izin-izin yang telah berubah dalam
-  preview:
+  Android N menyertakan perubahan pada izin yang bisa memengaruhi aplikasi Anda.
+</p>
+
+<h3 id="permfilesys">Perubahan izin sistem file</h3>
+
+<p>
+  Guna meningkatkan keamanan file privat, direktori privat
+  aplikasi yang menargetkan Android N atau yang lebih tinggi memiliki akses terbatas (<code>0700</code>).
+  Pengaturan ini mencegah kebocoran metadata dari file privat, seperti ukuran
+  atau eksistensi. Perubahan izin ini memiliki beberapa efek samping:
 </p>
 
 <ul>
-  <li>{@code GET_ACCOUNTS} (Tidak digunakan lagi)
-    <p>
-      Izin GET_ACCOUNTS sekarang tidak digunakan lagi. Sistem mengabaikan izin ini
- untuk aplikasi yang menargetkan Android N.
+  <li>
+    Izin file privat tidak boleh dianggap remeh oleh pemilik,
+    dan usaha untuk melakukannya menggunakan
+    {@link android.content.Context#MODE_WORLD_READABLE} dan/atau
+    {@link android.content.Context#MODE_WORLD_WRITEABLE}, akan memicu sebuah
+    {@link java.lang.SecurityException}.
+    <p class="note">
+      <strong>Catatan:</strong> Seperti sebelumnya, pembatasan ini tidak sepenuhnya diterapkan.
+      Aplikasi mungkin masih memodifikasi izin ke direktori privat mereka menggunakan
+      API asal atau {@link java.io.File File} API. Akan tetapi, kami sangat
+      tidak menyarankan Anda meremehkan izin direktori privat.
     </p>
   </li>
-
+  <li>
+    Meneruskan URI <code>file://</code> di luar domain paket dapat meninggalkan
+    penerima dengan jalur yang tidak bisa di akses. Karena itu, upaya untuk meneruskan URI
+    <code>file://</code> akan memicu
+    <code>FileUriExposedException</code>. Cara yang disarankan adalah
+    materi file privat menggunakan {@link
+    android.support.v4.content.FileProvider}.
+  </li>
+  <li>
+    {@link android.app.DownloadManager} tidak bisa lagi berbagi
+    file yang tersimpan secara privat berdasarkan nama file. Aplikasi lawas dapat mengakibatkan
+    jalur yang tidak dapat diakses saat mengakses {@link
+    android.app.DownloadManager#COLUMN_LOCAL_FILENAME}. Aplikasi yang menargetkan
+    Android N atau yang lebih tinggi akan memicu {@link java.lang.SecurityException} saat
+    berupaya mengakses
+    {@link android.app.DownloadManager#COLUMN_LOCAL_FILENAME}.
+    Aplikasi lawas yang menyetel lokasi unduhan ke lokasi publik dengan
+    menggunakan
+    {@link
+    android.app.DownloadManager.Request#setDestinationInExternalFilesDir
+    DownloadManager.Request.setDestinationInExternalFilesDir()} atau
+    {@link
+    android.app.DownloadManager.Request#setDestinationInExternalPublicDir
+    DownloadManager.Request.setDestinationInExternalPublicDir()}
+    tetap bisa mengakses jalur tersebut di
+    {@link android.app.DownloadManager#COLUMN_LOCAL_FILENAME}, akan tetapi,
+     metode ini sangat tidak disarankan. Cara yang disarankan untuk mengakses file
+    yang diekspos oleh {@link android.app.DownloadManager} adalah menggunakan
+    {@link android.content.ContentResolver#openFileDescriptor
+    ContentResolver.openFileDescriptor()}.
+  </li>
 </ul>
 
+<h2 id="sharing-files">Berbagi File Antar Aplikasi</h2>
 
+<p>
+Untuk aplikasi yang menargetkan Android N, kerangka kerja Android menerapkan
+kebijakan {@link android.os.StrictMode} API yang melarang mengekspos URI {@code file://}
+di luar aplikasi Anda. Jika sebuah intent berisi URI file meninggalkan aplikasi Anda, aplikasi tersebut akan gagal
+dengan pengecualian {@code FileUriExposedException}.
+</p>
+
+<p>
+Untuk berbagi file antar aplikasi, Anda harus mengirim URI {@code content://}
+dan memberikan izin akses sementara pada URI. Cara termudah untuk memberikan izin ini adalah dengan
+menggunakan kelas {@link android.support.v4.content.FileProvider}. Untuk informasi selengkapnya
+mengenai izin dan berbagi file,
+lihat <a href="{@docRoot}training/secure-file-sharing/index.html">Berbagi File</a>.
+</p>
 
 <h2 id="accessibility">Peningkatan Aksesibilitas</h2>
 
 <p>
   Android N menyertakan perubahan yang bertujuan meningkatkan kegunaan
-  platform ini untuk pengguna dengan penglihatan yang kurang atau lemah. Perubahan ini secara umum tidak
-  akan mengharuskan perubahan kode dalam aplikasi Anda, akan tetapi Anda harus meninjau
-  fitur ini dan mengujinya dengan aplikasi Anda untuk menilai dampak potensial terhadap pengalaman
+  platform untuk pengguna dengan penglihatan yang rendah atau lemah. Perubahan ini umumnya tidak
+  memerlukan perubahan kode dalam aplikasi Anda, akan tetapi Anda harus memeriksa
+  fitur ini dan mengujinya dengan aplikasi untuk menilai kemungkinan dampaknya terhadap pengalaman
   pengguna.
 </p>
 
 
-<h3 id="screen-zoom">Zoom Layar</h3>
+<h3 id="screen-zoom">Perbesaran Layar</h3>
 
 <p>
-  Android N memungkinkan pengguna untuk mengatur <strong>Display size</strong> yang akan memperbesar
+  Android N memungkinkan pengguna menyetel <strong>Display size</strong> yang akan memperbesar
   atau memperkecil semua elemen pada layar, sehingga meningkatkan aksesibilitas perangkat
   bagi pengguna yang kurang melihat. Pengguna tidak bisa memperbesar layar melewati lebar layar
   minimum <a href="http://developer.android.com/guide/topics/resources/providing-resources.html">
@@ -243,25 +296,25 @@
 
 
 <p>
-  Bila densitas perangkat berubah, sistem akan memberi tahu aplikasi yang sedang berjalan dengan
+  Bila kepadatan perangkat berubah, sistem akan memberi tahu aplikasi yang sedang berjalan dengan
   cara berikut:
 </p>
 
 <ul>
   <li>Jika aplikasi menargetkan API level 23 atau yang lebih rendah, sistem secara otomatis akan mematikan
   semua proses latar belakang. Artinya, jika pengguna beralih dari
- aplikasi tersebut untuk membuka layar <em>Settings</em> dan mengubah
-  pengaturan <strong>Display size</strong>, maka sistem akan mematikan aplikasi tersebut dengan cara yang
+  aplikasi tersebut untuk membuka layar <em>Settings</em> dan mengubah
+  setelan <strong>Display size</strong>, maka sistem akan mematikan aplikasi tersebut dengan cara yang
   sama dengan saat memori tinggal sedikit. Jika aplikasi memiliki beberapa proses
   latar depan, sistem akan memberi tahu proses tersebut mengenai perubahan konfigurasi seperti
  dijelaskan dalam <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Menangani Perubahan
-  Runtime</a>, seolah-olah orientasi perangkat telah berubah.
+  Waktu Proses</a>, seolah-olah orientasi perangkat telah berubah.
   </li>
 
   <li>Jika sebuah aplikasi menargetkan Android N, semua prosesnya
- (latar depan dan latar belakang) akan diberi tahu mengenai perubahan konfigurasi seperti
+  (latar depan dan latar belakang) akan diberi tahu mengenai perubahan konfigurasi seperti
   dijelaskan dalam <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Menangani Perubahan
-  Runtime</a>.
+  Waktu Proses</a>.
   </li>
 </ul>
 
@@ -273,24 +326,24 @@
 <ul>
   <li>Uji aplikasi Anda pada perangkat dengan lebar layar <code><a href=
   "{@docRoot}guide/topics/resources/providing-resources.html">sw320dp</a></code>
-  dan pastikan aplikasinya berjalan dengan semestinya.
+  dan pastikan aplikasi berjalan dengan semestinya.
   </li>
 
   <li>Bila konfigurasi perangkat berubah, perbarui informasi cache
-  yang bergantung pada densitas, seperti bitmap di cache atau sumber daya yang dimuat dari
+  yang bergantung pada kepadatan, seperti bitmap di cache atau sumber daya yang dimuat dari
   jaringan. Periksa perubahan konfigurasi bila aplikasi melanjutkan dari status dihentikan
   sementara.
     <p class="note">
-      <strong>Catatan:</strong> Jika Anda menyimpan sementara data yang bergantung pada konfigurasi, ada
+      <strong>Catatan:</strong> Catatan: Jika Anda meng-cache data yang bergantung pada konfigurasi, ada
       baiknya untuk menyertakan metadata yang relevan seperti ukuran layar
-      atau densitas piksel yang sesuai untuk data tersebut. Menyimpan metadata ini memungkinkan Anda untuk
-      memutuskan apakah Anda perlu memperbarui data cache setelah perubahan
+      atau kepadatan piksel yang sesuai untuk data tersebut. Menyimpan metadata ini memungkinkan Anda untuk
+      memutuskan apakah Anda perlu segarkan data cache setelah perubahan
       konfigurasi.
     </p>
   </li>
 
   <li>Hindari menetapkan dimensi dengan satuan px, karena satuan ini tidak diskalakan dengan
-  densitas layar. Sebagai gantinya, tetapkan dimensi dengan satuan <a href="{@docRoot}guide/practices/screens_support.html">piksel yang tidak bergantung densitas
+  kepadatan layar. Sebagai gantinya, tetapkan dimensi dengan satuan <a href="{@docRoot}guide/practices/screens_support.html">piksel yang tidak bergantung kepadatan
   </a> (<code>dp</code>).
   </li>
 </ul>
@@ -298,32 +351,32 @@
 <h3 id="vision-settings">Vision Settings di Setup Wizard</h3>
 
 <p>
-  Android N menyertakan Vision Settings pada layar Welcome, di mana pengguna bisa
- menyiapkan pengaturan aksesibilitas berikut pada perangkat baru:
+  Android N menyertakan Vision Settings di layar Sambutan, di mana pengguna bisa
+  menyiapkan setelan aksesibilitas berikut pada perangkat baru:
   <strong>Magnification gesture</strong>, <strong>Font size</strong>,
   <strong>Display size</strong> dan <strong>TalkBack</strong>. Perubahan ini
-  menambah visibilitas bug yang terkait dengan berbagai pengaturan layar. Untuk
-  menilai dampak dari fitur ini, Anda harus menguji aplikasi dengan mengaktifkan
-  pengaturan ini. Anda bisa menemukan pengaturan ini pada <strong>Settings &gt;
+  meningkatkan visibilitas bug terkait dengan setelan layar yang berbeda. Untuk
+  mengurangi dampak fitur ini, Anda harus menguji aplikasi dengan setelan ini
+  diaktifkan. Anda bisa menemukannya pada <strong>Settings &gt;
   Accessibility</strong>.
 </p>
 
-<h2 id="ndk">Menautkan Aplikasi NDK ke Pustaka Platform</h2>
+<h2 id="ndk">Penautan Aplikasi NDK ke Pustaka Platform</h2>
 
 <p>
-  Android N menyertakan perubahan namespace untuk mencegah pemuatan API non-publik.
-  Jika Anda menggunakan NDK, Anda hanya bisa menggunakan API publik dari platform
+  Android N menyertakan perubahan ruang nama untuk mencegah pemuatan API non-publik.
+  Jika menggunakan NDK, Anda hanya boleh menggunakan API publik dari platform
   Android. Menggunakan API non-publik dalam rilis Android resmi berikutnya
-  bisa menyebabkan aplikasi mengalami crash.
+  bisa menyebabkan aplikasi mogok.
 </p>
 
 <p>
-  Untuk memperingatkan Anda terhadap penggunaan API non-publik, aplikasi yang berjalan pada perangkat
-  Android N akan menghasilkan kesalahan output logcat bila sebuah aplikasi memanggil API non-publik.
-  Kesalahan ini juga ditampilkan pada layar perangkat berupa pesan untuk membantu
-  meningkatkan kesadaran akan situasi ini. Anda harus meninjau kode aplikasi untuk
-  menghilangkan penggunaan API platform non-publik dan secara saksama menguji aplikasi Anda menggunakan
-  perangkat preview atau emulator.
+  Untuk memberi tahu Anda agar menggunakan API non-publik, aplikasi yang berjalan pada perangkat
+  Android N akan menghasilkan kesalahan dalam keluaran logcat bila aplikasi memanggil API non-publik.
+  Kesalahan ini juga ditampilkan di layar perangkat berupa pesan untuk membantu
+  meningkatkan kepedulian terhadap situasi ini. Anda harus memeriksa kode aplikasi untuk
+  membuang penggunaan API platform non-publik dan secara saksama menguji aplikasi Anda menggunakan
+  perangkat pratinjau atau emulator.
 </p>
 
 <p>
@@ -331,13 +384,13 @@
   perbaikan tipikal guna menggantikan API privat umum dengan padanan API publik.
   Anda mungkin juga menautkan ke pustaka platform tanpa menyadarinya,
   terutama jika aplikasi Anda menggunakan pustaka yang merupakan bagian dari platform ini (seperti
-  <code>libpng</code>), namun bukan bagian dari NDK. Dalam hal ini, pastikan
+  <code>libpng</code>), namun bukan bagian dari NDK. Dalam hal itu, pastikan
   APK Anda berisi semua file .so yang ingin ditautkan.
 </p>
 
 <p class="caution">
-  <strong>Peringatan:</strong> Beberapa pustaka pihak ketiga mungkin menautkan ke API
-  non-publik. Jika aplikasi Anda menggunakan pustaka ini, aplikasi Anda mungkin akan crash saat dijalankan
+  <strong>Perhatian:</strong> Beberapa pustaka pihak ketiga mungkin menautkan ke API
+  non-publik. Jika menggunakan pustaka ini, aplikasi Anda bisa mogok saat dijalankan
   pada rilis resmi Android berikutnya.
 </p>
 
@@ -345,10 +398,10 @@
   Aplikasi tidak boleh bergantung pada atau menggunakan pustaka bawaan yang tidak disertakan dalam
   NDK, karena bisa mengalami perubahan, atau dipindahkan dari satu rilis Android ke
   rilis lainnya. Peralihan dari OpenSSL ke BoringSSL merupakan satu contoh dari perubahan semacam ini.
-  Selain itu, perbedaan perangkat juga bisa menawarkan tingkat kompatibilitas, karena
-  tidak ada persyaratan kompatibilitas bagi pustaka platform yang tidak disertakan
+  Selain itu, perangkat yang berbeda bisa menawarkan tingkat kompatibilitas yang berbeda, karena
+   tidak ada persyaratan kompatibilitas untuk pustaka platform yang tidak disertakan
   dalam NDK. Jika Anda harus mengakses pustaka non-NDK pada perangkat yang lebih lama, jadikan
-  pemuatan bergantung pada level API Android.
+  pemuatan bergantung pada level Android API.
 </p>
 
 <p>
@@ -383,15 +436,15 @@
   </li>
 
   <li>Penggunaan simbol {@code property_get} dari {@code libcutils.so} bisa
-    diganti dengan {@code __system_property_get} alternatif publik.
-   Caranya, gunakan {@code __system_property_get} dengan include berikut:
+    diganti dengan {@code alternative __system_property_get} publik.
+   Caranya, gunakan {@code __system_property_get} dengan menyertakan yang berikut:
 <pre>
 #include &lt;sys/system_properties.h&gt;
 </pre>
   </li>
 
   <li>Penggunaan simbol {@code SSL_ctrl} dari {@code libcrypto.so} harus
-  diganti dengan aplikasi versi lokal. Misalnya, Anda harus menautkan
+    diganti dengan aplikasi versi lokal. Misalnya, Anda harus menautkan
   {@code libcyrpto.a} secara statis dalam file {@code .so} atau menyertakan
   {@code libcrypto.so} Anda sendiri secara dinamis dari BoringSSL atau OpenSSL dalam aplikasi Anda.
   </li>
@@ -400,81 +453,158 @@
 <h2 id="afw">Android for Work</h2>
 <p>
   Android N berisi perubahan untuk aplikasi yang menargetkan Android for Work, termasuk
-  perubahan pada instalasi sertifikat, pengaturan ulang kata sandi, manajemen pengguna
+  perubahan pada pemasangan sertifikat, penyetelan ulang sandi, manajemen pengguna
   tambahan, dan akses ke identifier perangkat. Jika Anda membangun aplikasi untuk
   lingkungan Android for Work, Anda harus meninjau perubahan ini dan memodifikasi
   aplikasi sebagaimana mestinya.
 </p>
 
 <ul>
-  <li>Anda harus menginstal penginstal sertifikat yang didelegasikan sebelum DPC bisa
-  mengaturnya. Untuk profil dan aplikasi pemilik perangkat yang menargetkan N SDK, Anda harus
-  menginstal penginstal sertifikat yang didelegasikan sebelum pengontrol kebijakan
+  <li>Anda harus pasang pemasang sertifikat yang didelegasikan sebelum DPC bisa
+  menyetelnya. Untuk aplikasi profil dan aplikasi pemilik perangkat yang menargetkan N SDK, Anda harus
+  pasang pemasang sertifikat yang didelegasikan sebelum pengontrol kebijakan
   perangkat (DPC) memanggil
-  <code>DevicePolicyManager.setCertInstallerPackage()</code>. Jika penginstal
-  belum diinstal, sistem akan melontarkan
+  <code>DevicePolicyManager.setCertInstallerPackage()</code>. Jika pemasang
+  belum dipasang, sistem akan melontarkan
   <code>IllegalArgumentException</code>.
   </li>
 
-  <li>Pembatasan pengaturan ulang kata sandi untuk admin perangkat sekarang diterapkan kepada pemilik
+  <li>Pembatasan sandi penyetelan ulang untuk admin perangkat sekarang diterapkan ke pemilik
   profil. Admin perangkat tidak bisa lagi menggunakan
-  <code>DevicePolicyManager.resetPassword()</code> untuk menghapus kata sandi atau mengubah
-  kata sandi yang sudah ditetapkan. Admin perangkat tetap bisa menetapkan kata sandi, namun hanya
-  bila perangkat belum memiliki kata sandi, PIN, atau pola.
+  {@code DevicePolicyManager.resetPassword()} untuk menghapus sandi atau mengubah
+  sandi yang sudah disetel. Admin perangkat tetap bisa menyetel sandi, namun hanya
+  bila perangkat belum memiliki sandi, PIN, atau pola.
   </li>
 
   <li>Pemilik perangkat dan profil bisa mengelola akun meskipun pembatasan
-  ditetapkan. Pemilik perangkat dan pemilik profil bisa memanggil Account Management API
+  telah disetel. Pemilik perangkat dan pemilik profil bisa memanggil Account Management API
   sekalipun pembatasan pengguna <code>DISALLOW_MODIFY_ACCOUNTS</code> diberlakukan.
   </li>
 
-  <li>Pemilik perangkat bisa mengelola pengguna tambahan dengan lebih mudah. bila perangkat
-  dijalankan dalam mode pemilik perangkat, pembatasan <code>DISALLOW_ADD_USER</code> 
-  secara otomatis ditetapkan. Ini mencegah pengguna membuat pengguna tambahan yang
-  tidak terkelola. Selain itu, metode <code>CreateUser()</code> dan
-  <code>createAndInitial()</code> tidak digunakan lagi; metode
-  <code>DevicePolicyManager.createAndManageUser()</code> baru telah menggantikannya.
+  <li>Pemilik perangkat bisa mengelola pengguna tambahan lebih mudah. Bila perangkat
+  berjalan dalam mode pemilik perangkat, maka pembatasan <code>DISALLOW_ADD_USER</code> 
+  secara otomatis akan ditetapkan. Ini mencegah pengguna membuat pengguna tambahan yang
+  tidak terkelola. Selain itu, <code>CreateUser()</code> dan
+  <code>createAndInitializeUser()</code> metode tidak digunakan lagi; metode
+  <code>DevicePolicyManager.createAndManageUser()</code> telah menggantikannya.
   </li>
 
   <li>Pemilik perangkat bisa mengakses identifier perangkat. Pemilik perangkat bisa mengakses
-  alamat MAC Wi-Fi dari sebuah perangkat, menggunakan
+  alamat MAC Wi-Fi dari perangkat, menggunakan
   <code>DevicePolicyManagewr.getWifiMacAddress()</code>. Jika Wi-Fi belum pernah
   diaktifkan pada perangkat tersebut, metode ini akan mengembalikan nilai {@code null}.
   </li>
+
+  <li>Setelan Mode Kerja mengontrol akses ke aplikasi kerja. Bila mode kerja tidak aktif, peluncur sistem
+  akan menunjukkan aplikasi kerja tidak tersedia dengan membuat warnanya jadi abu-abu. Mengaktifkan kembali
+ mode kerja akan memulihkan perilaku normal.
 </ul>
 
 <p>
-  Untuk informasi selengkapnya tentang perubahan pada Android for Work di Android N, lihat
+  Untuk informasi selengkapnya tentang perubahan Android for Work di Android N, lihat
   <a href="{@docRoot}preview/features/afw.html">Pembaruan Android for Work</a>.
 </p>
 
-<h2 id="other">Poin penting lainnya</h2>
+<h2 id="annotations">Retensi Anotasi</h2>
+
+<p>
+Android N memperbaiki bug dengan visibilitas anotasi diabaikan.
+Masalah ini mengaktifkan waktu proses untuk mengakses anotasi yang seharusnya tidak bisa
+dilakukan. Anotasi ini termasuk:
+</p>
+
+<ul>
+   <li>{@code VISIBILITY_BUILD}: Dimaksudkan agar hanya bisa terlihat pada waktu pembuatan.</li>
+   <li>{@code VISIBILITY_SYSTEM}: Dimaksud agar bisa terlihat pada waktu proses, namun hanya pada
+ sistem yang mendasarinya.</li>
+</ul>
+
+<p>
+Jika aplikasi Anda mengandalkan perilaku ini, tambahkan kebijakan retensi untuk anotasi yang harus
+tersedia di waktu proses. Caranya dengan menggunakan {@code @Retention(RetentionPolicy.RUNTIME)}.
+</p>
+
+<h2 id="other">Poin Penting Lainnya</h2>
 
 <ul>
 <li>Bila aplikasi berjalan pada Android N, namun menargetkan level API yang lebih rendah,
 dan pengguna mengubah ukuran tampilan, proses aplikasi akan dimatikan. Aplikasi
-harus dapat menangani skenario ini dengan lancar. Jika tidak, maka akan terjadi crash
+harus dapat menangani skenario ini dengan lancar. Jika tidak, maka akan mogok
 bila pengguna memulihkannya dari Recents.
 
 <p>
 Anda harus menguji aplikasi untuk memastikan
 perilaku ini tidak terjadi.
-Anda bisa melakukannya dengan menyebabkan suatu crash yang mirip
+Anda bisa melakukannya dengan menyebabkan suatu mogok yang identik
 saat mematikan aplikasi secara manual melalui DDMS.
 </p>
 
 <p>
-Aplikasi yang menargetkan N dan yang di atasnya tidak secara otomatis dimatikan saat perubahan densitas;
+Aplikasi yang menargetkan N dan yang di atasnya tidak secara otomatis dimatikan saat perubahan kepadatan;
 akan tetapi, aplikasi tersebut mungkin tetap merespons perubahan konfigurasi dengan buruk.
 </p>
 </li>
 
 <li>
 Aplikasi pada Android N harus mampu menangani perubahan konfigurasi dengan lancar,
-dan tidak boleh mengalami crash pada start selanjutnya. Anda bisa memverifikasi perilaku aplikasi
+dan tidak boleh mengalami mogok pada start selanjutnya. Anda bisa memverifikasi perilaku aplikasi
 dengan mengubah ukuran font (<strong>Setting</strong> &gt;
 <strong>Display</strong> &gt; <strong>Font size</strong>), kemudian memulihkan
 aplikasi dari Recents.
 </li>
+
+<li>
+Dikarenakan adanya bug di versi Android sebelumnya, sistem tidak menandai penulisan
+  ke soket TCP di thread utama sebagai pelanggaran mode-ketat. Android N memperbaiki bug ini.
+Aplikasi yang menunjukkan perilaku ini kini melontarkan sebuah {@code android.os.NetworkOnMainThreadException}.
+Secara umum, melakukan operasi jaringan di thread utama tidak baik karena operasi ini
+biasanya memiliki latensi tinggi yang menyebabkan ANR dan jank.
+</li>
+
+<li>
+Kelompok metode {@code Debug.startMethodTracing()} kini default ke
+keluaran penyimpanan di direktori paket tertentu di penyimpanan bersama,
+sebagai ganti di level teratas
+kartu SD.  Berarti aplikasi tidak perlu lagi meminta izin {@code WRITE_EXTERNAL_STORAGE} untuk menggunakan API ini.
+</li>
+
+<li>
+Banyak platform API yang kini mulai memeriksa beban besar yang dikirim
+ke seluruh transaksi {@link android.os.Binder}, dan sistem
+kini melontarkan kembali {@code TransactionTooLargeExceptions}
+sebagai {@code RuntimeExceptions}, sebagai ganti logging secara diam-diam atau menyembunyikannya.  Satu contoh
+umum adalah menyimpan terlalu banyak data di
+{@link android.app.Activity#onSaveInstanceState Activity.onSaveInstanceState()},
+yang menyebabkan {@code ActivityThread.StopInfo} melontarkan
+{@code RuntimeException} bila aplikasi Anda menargetkan Android N.
+</li>
+
+<li>
+Jika sebuah aplikasi mengeposkan tugas {@link java.lang.Runnable} ke{@link android.view.View}, dan
+{@link android.view.View}
+tidak terpasang ke jendela, sistem
+akan mengantrekan tugas {@link java.lang.Runnable} dengan {@link android.view.View};
+tugas {@link java.lang.Runnable} tidak akan dieksekusi hingga
+{@link android.view.View} terpasang
+ke jendela. Perilaku ini mengatasi bug berikut:
+<ul>
+   <li>Jika sebuah aplikasi mengeposkan ke {@link android.view.View} dari thread selain thread UI jendela yang dimaksud,
+    maka {@link java.lang.Runnable} mungkin akan menjalankan thread yang salah.
+   </li>
+   <li>Jika tugas {@link java.lang.Runnable} diposkan dari thread selain
+   looper-thread, aplikasi bisa mengekspos tugas {@link java.lang.Runnable}.</li>
+</ul>
+</li>
+
+<li>
+Jika sebuah aplikasi di Android N dengan
+izin{@link android.Manifest.permission#DELETE_PACKAGES DELETE_PACKAGES}
+mencoba menghapus sebuah paket, namun sebuah aplikasi berbeda telah memasang paket itu,
+sistem akan memerlukan konfirmasi pengguna. Dalam skenario ini, aplikasi harus mengharapkan
+{@link android.content.pm.PackageInstaller#STATUS_PENDING_USER_ACTION STATUS_PENDING_USER_ACTION}
+sebagai status kembalian bila memanggil
+{@link android.content.pm.PackageInstaller#uninstall PackageInstaller.uninstall()}.
+</li>
+
 </ul>
 
diff --git a/docs/html-intl/intl/in/preview/download-ota.jd b/docs/html-intl/intl/in/preview/download-ota.jd
new file mode 100644
index 0000000..1efe9b7
--- /dev/null
+++ b/docs/html-intl/intl/in/preview/download-ota.jd
@@ -0,0 +1,324 @@
+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-npd35k-b8cfbd80.zip</a><br>
+      MD5: 15fe2eba9b01737374196bdf0a792fe9<br>
+      SHA-1: 5014b2bba77f9e1a680ac3f90729621c85a14283
+    </td>
+  </tr>
+
+  <tr id="shamu">
+    <td>Nexus 6 <br>"shamu"</td>
+    <td><a href="#top" onclick="onDownload(this)">shamu-ota-npd35k-078e6fa5.zip</a><br>
+      MD5: e8b12f7721c53af9a450f7058928a5fc<br>
+      SHA-1: b7a9b756f84a1d2e482ff9c16749d65f6e51425a
+    </td>
+  </tr>
+
+  <tr id="angler">
+    <td>Nexus 6P <br>"angler"</td>
+    <td><a href="#top" onclick="onDownload(this)">angler-ota-npd35k-88457699.zip</a><br>
+      MD5: 3fac09fef759dde26e57cb80b20b6477<br>
+      SHA-1: 27d6caa786577d8a38b2da5bf94b33b4524a1a1c
+    </td>
+  </tr>
+
+  <tr id="volantis">
+    <td>Nexus 9 <br>"volantis"</td>
+    <td><a href="#top" onclick="onDownload(this)">volantis-ota-npd35k-51dbae76.zip</a><br>
+      MD5: 58312c4a5971818ef5c77a3f446003da<br>
+      SHA-1: aad9005be33d3e2bab480509a6ab74c3c3b9d921
+    </td>
+  </tr>
+
+  <tr id="volantisg">
+    <td>Nexus 9G <br>"volantisg"</td>
+    <td><a href="#top" onclick="onDownload(this)">volantisg-ota-npd35k-834f047f.zip</a><br>
+      MD5: 92b7d1fa252f7394e70f957c72d4aac8<br>
+      SHA-1: b6c057c84d90893630e303cbb60530e20ddb8361
+    </td>
+  </tr>
+
+  <tr id="fugu">
+    <td>Nexus Player <br>"fugu"</td>
+    <td><a href="#top" onclick="onDownload(this)">fugu-ota-npd35k-6ac91298.zip</a><br>
+      MD5: 1461622ad53ea842b2722fa7b49b8172<br>
+      SHA-1: 409c061668ab270774877d7f3eae44fa48d2b931
+    </td>
+  </tr>
+
+  <tr id="ryu">
+    <td>Pixel C <br>"ryu"</td>
+    <td><a href="#top" onclick="onDownload(this)">ryu-ota-npd35k-a0b2347f.zip</a><br>
+      MD5: c60117f3640cc6db12386fd632289c7d<br>
+      SHA-1: 87349c767c69efb4172c90ce1d88cf578c3d28b3
+    </td>
+  </tr>
+
+  <tr id="seed">
+    <td>General Mobile 4G (Android One) <br>"seed"</td>
+    <td><a href="#top" onclick="onDownload(this)">seed_l8150-ota-npd35k-09897a1d.zip</a><br>
+      MD5: a55cf94f7cce0393ec6c0b35041766b7<br>
+      SHA-1: 6f33742290eb46f2561891f38ca2e754b4e50c6a
+    </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
index 565ed90..a759a11 100644
--- a/docs/html-intl/intl/in/preview/download.jd
+++ b/docs/html-intl/intl/in/preview/download.jd
@@ -1,5 +1,5 @@
 page.title=Menguji pada Perangkat
-meta.tags="preview", "nexus","citra sistem"
+meta.tags="preview", "nexus","system image"
 page.tags="preview", "androidn"
 page.image=images/cards/card-n-downloads_2x.png
 
@@ -9,7 +9,7 @@
 
   <div class="wrap" id="tos" style="position:absolute;display:none;width:inherit;">
 
-    <p class="sdk-terms-intro">Sebelum mengunduh dan menginstal
+    <p class="sdk-terms-intro">Sebelum mengunduh dan memasang
       komponen Android Preview SDK, Anda harus menyetujui ketentuan dan persyaratan
     berikut.</p>
 
@@ -20,57 +20,57 @@
 
 1. Pengantar
 
-1.1 Android SDK Preview (dalam Perjanjian Lisensi ini disebut "Preview" dan secara spesifik termasuk file sistem Android, paket API, dan file pustaka Preview, jika disediakan) diberikan lisensinya kepada Anda sesuai dengan ketentuan Perjanjian Lisensi. The License Agreement forms a legally binding contract between you and Google in Perjanjian Lisensi ini merupakan kontrak yang mengikat secara hukum antara Anda dan dalam kaitannya dengan penggunaan Anda atas Preview.
+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 sekumpulan perangkat lunak Android untuk perangkat, seperti yang tersedia pada Android Open Source Project, yang ada di URL berikut: http://source.android.com/, yang selalu diperbarui.
+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 denganAndroid” 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.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 Preview, Anda terlebih dahulu harus menyetujui Perjanjian Lisensi ini. Anda tidak boleh menggunakan SDK jika tidak 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 Preview, berarti Anda menyetujui ketentuan Perjanjian Lisensi.
+2.2 Dengan mengklik untuk menerima dan/atau menggunakan Pratinjau, berarti Anda menyetujui ketentuan Perjanjian Lisensi.
 
-2.3 Anda tidak boleh menggunakan Preview dan tidak boleh menerima Perjanjian Lisensi jika Anda adalah orang yang dilarang menerima Preview berdasarkan hukum Amerika Serikat atau negara lainnya termasuk negara di mana Anda tinggal atau dari mana Anda menggunakan Preview.
+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 Preview 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 Preview atas nama perusahaan Anda atau entitas lainnya.
+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 Preview dari Google
+3. Lisensi Pratinjau dari Google
 
-3.1 Sesuai dengan ketentuan Perjanjian Lisensi ini, Google memberi Anda lisensi terbatas, bersifat global, bebas royalti, tidak bisa dialihkan, non-eksklusif, dan tidak bisa disublisensikan untuk menggunakan Preview hanya untuk mengembangkan aplikasi bagi implementasi Android yang kompatibel.
+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 Preview ini untuk mengembangkan aplikasi bagi platform lain (termasuk implementasi Android yang tidak kompatibel) atau untuk mengembangkan SDK lain. Tentu saja Anda bebas mengembangkan aplikasi bagi platform lainnya, termasuk implementasi Android yang tidak kompatibel, asalkan Preview ini tidak digunakan untuk keperluan itu.
+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 Preview, termasuk Hak Kekayaan Intelektual yang terdapat dalam Preview. "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.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 Preview untuk tujuan apa pun yang tidak secara tersurat diizinkan oleh Perjanjian Lisensi. 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 Preview atau bagian apa pun dari Preview; atau (b) memuat bagian apa pun dari Preview ke sebuah handset ponsel atau perangkat keras selain komputer pribadi, menggabungkan suatu bagian dari Preview dengan perangkat lunak lain, atau mendistribusikan perangkat lunak atau perangkat yang menggabungkan suatu bagian dari Preview.
+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 Preview 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.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 Preview yang disediakan oleh Google dapat berubah tanpa pemberitahuan sebelumnya kepada Anda dan bahwa versi Preview mendatang mungkin tidak kompatibel dengan aplikasi yang dikembangkan di versi Preview sebelumnya. Anda setuju bahwa Google boleh menghentikan (secara permanen atau sementara) penyediaan Preview (atau fitur apa pun dalam Preview) kepada Anda atau pengguna pada umumnya atas kebijakan Google semata, tanpa pemberitahuan sebelumnya kepada Anda.
+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 menghapus, mengaburkan, atau mengubah pernyataan hak kepemilikan apa pun (termasuk pemberitahuan hak cipta dan merek dagang) yang terlampir atau termuat dalam Preview.
+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 Preview oleh Anda
+4. Penggunaan Pratinjau oleh Anda
 
-4.1 Google setuju bahwa tidak ada dalam Perjanjian Lisensi ini yang memberi Google suatu hak, kuasa atau kepentingan dari Anda (atau pemberi lisensi Anda) berdasarkan Perjanjian Lisensi ini dalam atau pada aplikasi perangkat lunak apa pun yang Anda kembangkan menggunakan Preview, termasuk hak kekayaan intelektual yang terdapat dalam aplikasi tersebut.
+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 Preview dan mengembangkan aplikasi hanya untuk tujuan yang diizinkan oleh (a) Perjanjian Lisensi ini dan (b) hukum yang berlaku, peraturan atau praktik atau panduan yang diterima secara umum di yurisdiksi yang relevan (termasuk hukum mengenai ekspor data atau perangkat lunak ke dan dari Amerika Serikat atau negara lain yang relevan).
+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 bahwa jika Anda menggunakan Preview untuk mengembangkan aplikasi, Anda akan melindungi privasi dan hak hukum penggunanya. Jika pengguna memberikan nama pengguna, kata sandi, atau informasi login atau informasi pribadinya lainnya, Anda harus membuat pengguna tersebut menyadari bahwa informasi tersebut 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 tersebut bila, dan untuk tujuan terbatas di mana, setiap pengguna telah memberikan izin kepada Anda untuk melakukannya.
+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 Preview, termasuk pengembangan atau distribusi aplikasi yang mengganggu, mengacaukan, merusak, atau mengakses secara tidak sah server, jaringan atau properti atau layanan pihak ketiga lainnya dari Google atau pihak ketiga.
+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 untuk bertanggung jawab penuh terhadap (dan bahwa Google tidak bertanggung jawab terhadap Anda atau pihak ketiga untuk) data, konten, 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) karena melakukannya.
+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) akibat pelanggaran tersebut.
+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 Preview sedang dalam pengembangan, dan pengujian serta umpan balik Anda merupakan bagian penting dari proses pengembangan ini. Dengan menggunakan Preview, Anda mengakui bahwa implementasi sebagian fitur masih dalam tahap pengembangan dan bahwa Anda tidak akan berharap bahwa Preview memiliki fungsionalitas penuh rilis stabil. Anda setuju untuk tidak mendistribusikan atau memasarkan kepada umum aplikasi yang menggunakan Preview ini karena Preview ini tidak akan didukung lagi setelah Android SDK resmi dirilis.
+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
 
@@ -78,21 +78,21 @@
 
 6. Privasi dan Informasi
 
-6.1 Untuk terus berinovasi dan meningkatkan Preview, 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 Preview dan cara penggunaannya. Sebelum informasi ini dikumpulkan, Preview akan memberi tahu dan meminta persetujuan Anda. Jika Anda tidak memberikan persetujuan, informasi tersebut tidak akan dikumpulkan.
+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 Preview dan dikelola sesuai dengan Kebijakan Privasi Google yang terdapat di http://www.google.com/policies/privacy/.
+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 Preview untuk menjalankan aplikasi yang dikembangkan oleh pihak ketiga atau yang mengakses data, konten atau sumber daya yang disediakan oleh pihak ketiga, Anda setuju bahwa Google tidak bertanggung jawab terhadap aplikasi, data, konten atau sumber daya tersebut. Anda memahami bahwa semua data, konten 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, konten, atau sumber daya pihak ketiga tersebut.
+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, konten 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, konten, atau sumber daya ini (baik secara keseluruhan atau sebagian) kecuali Anda secara khusus diberikan izin untuk melakukannya oleh pemilik yang bersangkutan.
+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, konten, atau sumber daya pihak ketiga semacam itu tunduk pada ketentuan terpisah antara Anda dan pihak ketiga 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 API Google
+8. Menggunakan Google API
 
-8.1 API Google
+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.
 
@@ -102,21 +102,21 @@
 
 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 Preview dan kredensial pengembang yang relevan.
+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 Preview atau bagian Preview tertentu kepada pengguna di negara tempat Anda tinggal atau negara tempat asal Anda menggunakan layanan; dan
+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 Preview, dan ketetapan paragraf 10, 11, 12, dan 14 akan terus berlaku secara tak terbatas.
+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 PREVIEW OLEH ANDA MERUPAKAN RISIKO ANDA SENDIRI DAN BAHWA PREVIEW INI DISEDIAKAN "APA ADANYA" DAN "SEBAGAIMANA TERSEDIA" TANPA JAMINAN DALAM BENTUK APA PUN DARI GOOGLE.
+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 PREVIEW DAN MATERI APA PUN YANG DIUNDUH ATAU DIPEROLEH MELALUI PENGGUNAAN PREVIEW 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 PENGGUNAANNYA. TANPA MEMBATASI HAL TERSEBUT, ANDA MEMAHAMI BAHWA PREVIEW 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.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.
 
@@ -126,27 +126,27 @@
 
 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 Preview oleh Anda, (b) aplikasi apa pun yang Anda kembangkan dari Preview 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.
+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 Perjanjian Lisensi
+13. Perubahan pada Perjanjian Lisensi
 
-13.1 Google boleh membuat perubahan pada Perjanjian Lisensi saat mendistribusikan versi baru Preview. Saat perubahan tersebut dibuat, Google akan menyediakan versi baru Perjanjian Lisensi di situs web penyediaan Preview.
+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 Preview 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 Preview.
+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 berlaku, 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.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. PREVIEW TUNDUK PADA HUKUM DAN PERATURAN EKSPOR AMERIKA SERIKAT. ANDA HARUS MEMATUHI SEMUA HUKUM DAN PERATURAN NASIONAL DAN INTERNASIONAL YANG BERLAKU PADA PREVIEW. HUKUM INI MENYERTAKAN PEMBATASAN ATAS TUJUAN, PENGGUNA AKHIR DAN PENGGUNAAN AKHIR.
+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 Google.
+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, 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.
+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 -->
 
 
@@ -173,7 +173,7 @@
           <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">Menghapus instalasi</a></li>
+            <li><a href="#revertDevice">Mencopot pemasangan</a></li>
           </ol>
         </li>
         <li><a href="#setupAVD">Menyiapkan emulator</a></li>
@@ -182,12 +182,12 @@
 </div>
 
 <p>
-  Untuk menjalankan dan menguji aplikasi Anda pada platform baru, Anda perlu menyiapkan lingkungan runtime
+  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>Instal Android N pada perangkat keras yang didukung, atau</li>
+  <li>Pasang Android N pada perangkat keras yang didukung, atau</li>
   <li>Siapkan emulator Android yang menjalankan Android N</li>
 </ul>
 
@@ -199,7 +199,7 @@
 </p>
 
 <p>
-  Jika Anda ingin memodifikasi aplikasi untuk menargetkan Android N atau menggunakan API baru Android N,
+  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.
@@ -220,20 +220,20 @@
 
 <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 menerima pembaruan
-  lewat jaringan seluler (OTA) untuk semua build tahapan pencapaian dalam N Developer Preview. Pendekatan
+  <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 a Developer Preview dan flash perangkat</strong>.
- Pembaruan OTA tidak disediakan secara otomatis untuk perangkat yang Anda flash secara manual, namun
+  <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">Mendaftarkan perangkat dalam pembaruan OTA otomatis</h3>
+<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 preview Android
+  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.
@@ -242,8 +242,8 @@
 <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 pengaturan ulang
-  perangkat secara penuh, jadi data pengguna pada perangkat itu akan dihapus. Pastikan <strong>mencadangkan
+  (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>
 
@@ -253,7 +253,7 @@
 </p>
 
 <p class="note"><strong>Catatan:</strong>
-  Membatalkan pendaftaran mengharuskan pengaturan ulang perangkat secara penuh. Cadangkan
+  Membatalkan pendaftaran mengharuskan penyetelan ulang perangkat secara penuh. Cadangkan
   data penting terlebih dahulu.
 </p>
 
@@ -261,35 +261,35 @@
 
 <p>
   Anda bisa mengunduh citra sistem Developer Preview terbaru dan
-  mem-flash-nya secara manual ke perangkat Anda. Lihat tabel di bawah untuk mengunduh citra sistem
-  bagi perangkat pengujian Anda. Mem-flash perangkat secara manual berguna jika Anda harus
-  mengontrol secara persis lingkungan pengujian tersebut atau harus menginstal ulang secara rutin,
-  misalnya untuk pengujian otomatis. 
+  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>
-  Menginstal citra sistem pada perangkat <strong>akan menghapus semua data dari
+  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 instruksi di <a href="https://developers.google.com/android/nexus/images#instructions">developers.google.com/android</a>
+  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>
-  Mem-flash citra sistem 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.
+  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 Preview
-  berikutnya lewat jaringan seluler. 
+  Android Beta Program</a>. Anda bisa mendaftarkan perangkat kapan saja untuk menerima pembaruan Pratinjau
+  berikutnya lewat jaringan seluler.
 </p>
 
 <table>
@@ -300,103 +300,111 @@
 
   <tr id="bullhead">
     <td>Nexus 5X <br>"bullhead"</td>
-    <td><a href="#top" onclick="onDownload(this)">bullhead-npc56p-preview-6c877a3d.tgz</a><br>
-      MD5: b5cf874021023b398f5b983b24913f5d<br>
-      SHA-1: 6c877a3d9fae7ec8a1678448e325b77b7a7b143a
+    <td><a href="#top" onclick="onDownload(this)">bullhead-npd35k-factory-5ba40535.tgz</a><br>
+      MD5: b6c5d79a21815ee21db41822dcf61e9f<br>
+      SHA-1: 5ba4053577007d15c96472206e3a79bc80ab194c
     </td>
   </tr>
 
   <tr id="shamu">
     <td>Nexus 6 <br>"shamu"</td>
-    <td><a href="#top" onclick="onDownload(this)">shamu-npc56p-preview-54b13c67.tgz</a><br>
-      MD5: af183638cf34e0eb944a1957d7696f60<br>
-      SHA-1: 54b13c6703d369cc79a8fd8728fe4103c6343973
+    <td><a href="#top" onclick="onDownload(this)">shamu-npd35k-factory-a33bf20c.tgz</a><br>
+      MD5: e1cf9c57cfb11bebe7f1f5bfbf05d7ab<br>
+      SHA-1: a33bf20c719206bcf08d1edd8da6c0ff9d50f69c
     </td>
   </tr>
 
   <tr id="angler">
     <td>Nexus 6P <br>"angler"</td>
-    <td><a href="#top" onclick="onDownload(this)">angler-npc56p-preview-85ffc1b1.tgz</a><br>
-      MD5: bc4934ea7bd325753eee1606d3725a24<br>
-      SHA-1: 85ffc1b1be402b1b96f9ba10929e86bba6c6c588
+    <td><a href="#top" onclick="onDownload(this)">angler-npd35k-factory-81c341d5.tgz</a><br>
+      MD5: e93de7949433339856124c3729c15ebb<br>
+      SHA-1: 81c341d57ef2cd139569b055d5d59e9e592a7abd
     </td>
   </tr>
 
   <tr id="volantis">
     <td>Nexus 9 <br>"volantis"</td>
-    <td><a href="#top" onclick="onDownload(this)">volantis-npc56p-preview-0e8ec8ef.tgz</a><br>
-      MD5: c901334c6158351e945f188167ae56f4<br>
-      SHA-1: 0e8ec8ef98c7a8d4f58d15f90afc5176303efca4
+    <td><a href="#top" onclick="onDownload(this)">volantis-npd35k-factory-2b50e19d.tgz</a><br>
+      MD5: 565be87ebb2d5937e2abe1a42645864b<br>
+      SHA-1: 2b50e19dae2667b27f911e3c61ed64860caf43e1
     </td>
   </tr>
 
   <tr id="volantisg">
     <td>Nexus 9G <br>"volantisg"</td>
-    <td><a href="#top" onclick="onDownload(this)">volantisg-npc56p-preview-1bafdbfb.tgz</a><br>
-      MD5: 7bb95bebc478d7257cccb4652899d1b4<br>
-      SHA-1: 1bafdbfb502e979a9fe4c257a379c4c7af8a3ae6
+    <td><a href="#top" onclick="onDownload(this)">volantisg-npd35k-factory-2e89ebe6.tgz</a><br>
+      MD5: a8464e15c6683fe2afa378a63e205fda<br>
+      SHA-1: 2e89ebe67a46b2f3beb050746c13341cd11fa678
     </td>
   </tr>
 
   <tr id="fugu">
     <td>Nexus Player <br>"fugu"</td>
-    <td><a href="#top" onclick="onDownload(this)">fugu-npc56r-preview-7027d5b6.tgz</a><br>
-      MD5: f5d3d8f75836ccfe4c70e8162e498be4<br>
-      SHA-1: 7027d5b662bceda4c80a91a0a14ef0e5a7ba795b
+    <td><a href="#top" onclick="onDownload(this)">fugu-npd35k-factory-1de74874.tgz</a><br>
+      MD5: c0dbb7db671f61b2785da5001cedefcb<br>
+      SHA-1: 1de74874f8d83e14d642f13b5a2130fc2aa55873
     </td>
   </tr>
 
   <tr id="ryu">
     <td>Pixel C <br>"ryu"</td>
-    <td><a href="#top" onclick="onDownload(this)">ryu-npc56p-preview-335a86a4.tgz</a><br>
-      MD5: 4e21fb183bbbf467bee91598d587fd2e<br>
-      SHA-1: 335a86a435ee51f18464de343ad2e071c38f0e92
+    <td><a href="#top" onclick="onDownload(this)">ryu-npd35k-factory-b4eed85d.tgz</a><br>
+      MD5: bdcb6f770e753668b5fadff2a6678e0d<br>
+      SHA-1: b4eed85de0d42c200348a8629084f78e24f72ac2
     </td>
   </tr>
+
   <tr id="seed">
     <td>General Mobile 4G (Android One) <br>"seed"</td>
-    <td><a href="#top" onclick="onDownload(this)">seed_l8150-npc56p-preview-82472ebc.tgz</a><br>
-      MD5: 983e083bc7cd0c4a2d39d6ebaa20202a<br>
-      SHA-1: 82472ebc9a6054a103f53cb400a1351913c95127
+    <td><a href="#top" onclick="onDownload(this)">seed_l8150-npd35k-factory-5ab1212b.tgz</a><br>
+      MD5: 7d34a9774fdd6e025d485ce6cfc23c4c<br>
+      SHA-1: 5ab1212bc9417269d391aacf1e672fff24b4ecc5
+    </td>
+  </tr>
+
+  <tr id="xperia">
+    <td>Sony Xperia Z3 <br> (D6603 dan D6653)</td>
+    <td>Unduh: <a class="external-link" href="http://support.sonymobile.com/xperiaz3/tools/xperia-companion/">Xperia Companion</a><br>
+      Untuk informasi selengkapnya, lihat<a class="external-link" href="https://developer.sony.com/develop/smartphones-and-tablets/android-n-developer-preview/">Coba Android N Developer Preview untuk Xperia Z3</a>.
     </td>
   </tr>
 
 </table>
 
-<h3 id="revertDevice">Menghapus instalasi Preview dari perangkat</h3>
+<h3 id="revertDevice">Mencopot pemasangan Pratinjau dari perangkat</h3>
 
 <p>
-  Jika Anda ingin menghapus instalasi Preview dari perangkat, Anda bisa melakukannya dengan salah satu cara
+  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 perangkat 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 lain</strong>, hubungi produsen perangkat tersebut
+          <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 terdaftar dalam <a href="https://g.co/androidbeta">Android Beta
+    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 pengaturan ulang perangkat secara penuh, jadi data pengguna pada perangkat itu
-    akan dihapus. Pastikan <strong>mencadangkan data penting</strong> sebelum
+    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>
-  Menghapus instalasi citra sistem Developer Preview sebelum
-  program berakhir akan mengharuskan perangkat diatur ulang secara penuh dan menghapus semua data pengguna
+  Mencopot pemasangan citra sistem Developer Preview sebelum
+  program berakhir mengharuskan penyetelan ulang perangkat secara penuh dan membuang semua data pengguna
   pada perangkat.
 </p>
 
@@ -407,28 +415,28 @@
 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 melewatkan bagian ini):
+<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>.
+   (<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 cek
+  <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 cek <strong>Android SDK Build Tools</strong>, <strong>Android SDK
+    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 diinstal.
+    perjanjian lisensi untuk setiap paket yang akan dipasang.
   </li>
 </ol>
 
@@ -448,26 +456,20 @@
     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 Emulator
+    (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 Emulator Android dengan Android N Preview AVD.</p>
+<p>Anda sekarang bisa meluncurkan Android Emulator dengan Android N Preview AVD.</p>
 
 <p>
-Untuk mendapatkan pengalaman terbaik di Android Emulator, instal
-Android Studio 2.1 Preview, yang mendukung <a href="http://tools.android.com/tech-docs/emulator">Android Emulator 2.0 Beta</a>
+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 class="note"><strong>Catatan:</strong>
-  Jika Anda saat ini menggunakan Android Studio 2.0 Beta, maka ada masalah yang telah diketahui
-  yang mencegah Anda membuat AVD dengan citra sistem N Preview, jadi
-   Anda saat ini perlu menggunakan preview Android Studio 2.1 untuk membuat AVD.
-</p>
-
 <p>Untuk informasi selengkapnya tentang membuat perangkat maya, lihat <a href="{@docRoot}tools/devices/index.html">Mengelola Perangkat Maya</a>.
 </p>
 
@@ -505,9 +507,9 @@
 
 
   function onAgreeChecked() {
-    /* verify that the TOS is agreed */
+    /* verifikasi apakah TOS disetujui */
     if ($("input#agree").is(":checked")) {
-      /* reveal the download button */
+      /* tampilkan tombol unduh */
       $("a#downloadForRealz").removeClass('disabled');
     } else {
       $("a#downloadForRealz").addClass('disabled');
diff --git a/docs/html-intl/intl/in/preview/features/afw.jd b/docs/html-intl/intl/in/preview/features/afw.jd
new file mode 100644
index 0000000..643fab2
--- /dev/null
+++ b/docs/html-intl/intl/in/preview/features/afw.jd
@@ -0,0 +1,552 @@
+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
index ae8d973..5712ab6 100644
--- a/docs/html-intl/intl/in/preview/features/background-optimization.jd
+++ b/docs/html-intl/intl/in/preview/features/background-optimization.jd
@@ -1,5 +1,5 @@
-page.title=Optimisasi Latar Belakang
-page.metaDescription=Pembatasan baru untuk siaran implisit.
+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
 
@@ -49,39 +49,41 @@
 <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. Ini bisa
+  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 meminimalkan masalah ini, N Developer Preview menerapkan pembatasan
+  Untuk meringankan masalah ini, Android N menerapkan pembatasan
   berikut:
 </p>
 
 <ul>
-  <li>Aplikasi yang menargetkan Preview tidak menerima siaran {@link
+  <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 di latar depan
-  tetap bisa mendengarkan {@code CONNECTIVITY_CHANGE} pada thread utama mereka dengan
-  mendaftarkan {@link android.content.BroadcastReceiver} pada {@link
+  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}. Optimisasi ini
-  memengaruhi semua aplikasi, bukan hanya aplikasi yang menargetkan Preview.
+  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 konten. Objek {@link android.app.job.JobInfo}
+  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.
@@ -98,20 +100,20 @@
 </h2>
 
 <p>
-  Aplikasi yang menargetkan N Developer Preview tidak menerima siaran {@link
+  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
-  mendengarkan perubahan jaringan atau melakukan aktivitas jaringan dalam jumlah besar bila perangkat
+  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 didaftarkan dengan
+  <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 berada di latar depan.
+  akan terus menerima siaran ini saat aplikasi berjalan.
 </p>
 
 <h3 id="sched-jobs">
@@ -120,12 +122,12 @@
 
 <p>
   Saat menggunakan kelas {@link android.app.job.JobInfo.Builder JobInfo.Builder}
-  untuk membuat objek {@link android.app.job.JobInfo} Anda, terapkan metode {@link
+  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 bila perangkat menghubungkan ke jaringan
-  berbiaya tetap dan saat mengisi baterai:
+  menjadwalkan layanan yang akan dijalankan ketika perangkat terhubung ke jaringan
+  berbiaya tetap dan dikenai biaya:
 </p>
 
 <pre>
@@ -152,8 +154,8 @@
 </p>
 
 <p>
-  Aplikasi yang menggunakan layanan GMSCore, dan menargetkan Android 5.0 (API tingkat 21)
-  atau lebih rendah, bisa menggunakan <a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
+  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>
 
@@ -162,11 +164,10 @@
 </h3>
 
 <p>
-  Aplikasi yang berjalan di latar depan tetap bisa mendengarkan {@code
-  CONNECTIVITY_CHANGE} dengan {@link
-  android.content.BroadcastReceiver} yang didaftarkan. Akan tetapi, {@link
+  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 syarat jaringan yang ditetapkan terpenuhi.
+  callback hanya bila persyaratan jaringan yang ditetapkan terpenuhi.
 </p>
 
 <p>
@@ -194,13 +195,13 @@
 </h2>
 
 <p>
-  Di N Developer Preview, aplikasi tidak dapat mengirim atau menerima siaran {@link
+  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
-  meminimalkan dampak negatif terhadap kinerja dan pengalaman pengguna bila beberapa aplikasi harus
-  aktif untuk memproses gambar atau video baru. N Developer Preview
-  menambahkan {@link android.app.job.JobInfo} dan {@link
-  android.app.job.JobParameters} untuk memberikan solusi alternatif.
+  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">
@@ -208,7 +209,7 @@
 </h3>
 
 <p>
-  Untuk memicu pekerjaan saat perubahan URI konten, N Developer Preview menambahkan
+  Untuk memicu pekerjaan saat perubahan URI materi, Android N memperluas
   {@link android.app.job.JobInfo} API dengan metode berikut:
 </p>
 
@@ -218,7 +219,7 @@
   </dt>
 
   <dd>
-    Membungkus parameter yang diperlukan untuk memicu pekerjaan saat perubahan URI konten.
+    Membungkus parameter yang diperlukan untuk memicu pekerjaan saat perubahan URI materi.
   </dd>
 
   <dt>
@@ -228,9 +229,9 @@
   <dd>
     Meneruskan objek {@code TriggerContentUri} ke {@link
     android.app.job.JobInfo}. Sebuah {@link android.database.ContentObserver}
-    akan memantau URI konten yang dibungkus. Jika ada beberapa objek {@code
-    TriggerContentUri} yang dikaitkan dengan pekerjaan, sistem akan memberikan sebuah
-    callback sekalipun itu melaporkan perubahan di salah satu URI konten saja.
+    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>
@@ -246,14 +247,14 @@
   <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 konten, jadwalkan
+  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 konten, {@code MEDIA_URI}:
+  perubahan ke URI materi, {@code MEDIA_URI}:
 </p>
 
 <pre>
@@ -266,13 +267,13 @@
           MY_BACKGROUND_JOB,
           new ComponentName(context, MediaContentJob.class));
   builder.addTriggerContentUri(
-          new JobInfo.TriggerContentUri(MEDIA_URI,
+          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 konten yang ditetapkan, aplikasi Anda
+  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}.
@@ -283,8 +284,8 @@
 </h3>
 
 <p>
-  N Developer Preview juga menambahkan {@link android.app.job.JobParameters} untuk
-  memungkinkan aplikasi Anda menerima informasi yang berguna tentang otoritas konten
+  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>
 
@@ -305,16 +306,16 @@
   </dt>
 
   <dd>
-    Mengembalikan larik string otoritas konten yang telah memicu pekerjaan.
+    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 mengesampingkan metode {@link
+  Kode contoh berikut mengganti metode {@link
   android.app.job.JobService#onStartJob JobService.onStartJob()} dan
-  mencatat otoritas konten serta URI yang telah memicu pekerjaan:
+  mencatat otoritas materi serta URI yang telah memicu pekerjaan:
 </p>
 
 <pre>
@@ -353,17 +354,17 @@
 </h2>
 
 <p>
-  Mengoptimalkan aplikasi Anda untuk berjalan pada perangkat minim memori, atau dalam kondisi
-  minim memori, bisa meningkatkan kinerja dan pengalaman pengguna. Menghilangkan
+  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
-  N Developer Preview telah mengambil langkah-langkah untuk mengurangi sebagian masalah ini, Anda disarankan
+  Android N telah mengambil langkah-langkah untuk mengurangi sebagian masalah ini, Anda disarankan
   agar mengoptimalkan aplikasi untuk berjalan tanpa menggunakan
-  proses latar belakang ini seluruhnya.
+  proses latar belakang ini sama sekali.
 </p>
 
 <p>
-  N Developer Preview memperkenalkan beberapa tambahan perintah <a href="{@docRoot}tools/help/adb.html">Android Debug Bridge (ADB)</a> yang
+  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>
 
@@ -374,7 +375,7 @@
 
   <li style="list-style: none; display: inline">
 <pre class="no-pretty-print">
-{@code $ adb shell cmd appops set RUN_IN_BACKGROUND ignore}
+{@code $ adb shell cmd appops set &lt;package&gt; RUN_IN_BACKGROUND ignore}
 </pre>
   </li>
 
@@ -384,7 +385,7 @@
 
   <li style="list-style: none; display: inline">
 <pre class="no-pretty-print">
-{@code $ adb shell cmd appops set RUN_IN_BACKGROUND allow}
+{@code $ adb shell cmd appops set &lt;package&gt; RUN_IN_BACKGROUND allow}
 </pre>
   </li>
-</ul>
\ No newline at end of file
+</ul>
diff --git a/docs/html-intl/intl/in/preview/features/data-saver.jd b/docs/html-intl/intl/in/preview/features/data-saver.jd
new file mode 100644
index 0000000..f64609b
--- /dev/null
+++ b/docs/html-intl/intl/in/preview/features/data-saver.jd
@@ -0,0 +1,234 @@
+page.title=Data Saver
+metaDescription=Optimalisasi penggunaan data yang diaktifkan pengguna.
+page.keywords="android N", "data usage", "metered network"
+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="#status">Memeriksa Preferensi Data Saver</a>
+        <ol>
+          <li>
+            <a href="#request-whitelist">Meminta izin daftar putih</a>
+          </li>
+        </ol>
+      </li>
+
+      <li>
+        <a href="#monitor-changes">Memantau Perubahan pada Preferensi
+        Data Saver</a>
+      </li>
+
+      <li>
+        <a href="#testing">Menguji dengan Perintah Android Debug Bridge</a>
+      </li>
+    </ol>
+  </div>
+</div>
+
+<p>
+  Selama penggunaan ponsel cerdas, biaya paket data seluler bisa saja
+  melebihi harga perangkat itu sendiri. Di N Developer Preview, pengguna bisa
+  mengaktifkan Data Saver berdasarkan lingkup perangkat untuk menghemat data, baik saat
+  roaming, mendekati akhir siklus penagihan, atau pada paket data prabayar kecil.
+</p>
+
+<p>
+  Bila pengguna mengaktifkan Data Saver di <strong>Settings</strong> dan perangkat
+  berada dalam jaringan berkuota, sistem akan memblokir penggunaan data latar belakang dan memberi tahu
+  aplikasi untuk menghemat penggunaan data latar depan bila memungkinkan. Pengguna bisa
+  memasukkan aplikasi tertentu ke daftar putih untuk memungkinkan penggunaan data berkuota bila Data
+  Saver diaktifkan.
+</p>
+
+<p>
+  N Developer Preview memperluas {@link android.net.ConnectivityManager}
+  API untuk menyediakan cara pada aplikasi untuk <a href="#status">menerima preferensi Data Saver
+  pengguna</a> dan <a href="#monitor-changes">memantau perubahan 
+  preferensi</a>. Hal ini dianggap praktik terbaik bagi aplikasi untuk memeriksa apakah
+  pengguna telah mengaktifkan DataSaver dan berusaha membatasi penggunaan data latar depan dan
+  data latar belakang.
+</p>
+
+<h2 id="status">
+  Memeriksa Preferensi Data Saver
+</h2>
+
+<p>
+  Di N Developer Preview, aplikasi bisa menggunakan {@link
+  android.net.ConnectivityManager} API untuk menentukan pembatasan penggunaan data
+  apa yang sedang diterapkan. Metode {@code getRestrictBackgroundStatus()}
+  akan mengembalikan salah satu dari nilai berikut:
+</p>
+
+<dl>
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_DISABLED}
+  </dt>
+
+  <dd>
+    Data Saver dinonaktifkan.
+  </dd>
+
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_ENABLED}
+  </dt>
+
+  <dd>
+    Pengguna telah mengaktifkan Data Saver untuk aplikasi ini. Aplikasi harus berusaha membatasi
+    penggunaan data di latar depan dan dengan halus menangani pembatasan penggunaan
+    data latar belakang.
+  </dd>
+
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_WHITELISTED}
+  </dt>
+
+  <dd>
+    Pengguna telah mengaktifkan Data Saver namun aplikasi telah dimasukkan dalam daftar putih. Aplikasi harus
+    tetap berusaha membatasi penggunaan data latar belakang dan latar depan.
+  </dd>
+</dl>
+
+<p>
+  Hal ini dianggap praktik terbaik untuk membatasi penggunaan data bila perangkat
+  terhubung ke jaringan berkuota, meskipun Data Saver telah dinonaktifkan atau aplikasi
+  telah dimasukkan dalam daftar putih. Kode contoh berikut menggunakan {@link
+  android.net.ConnectivityManager#isActiveNetworkMetered
+  ConnectivityManager.isActiveNetworkMetered()} dan {@code
+  ConnectivityManager.getRestrictBackgroundStatus()} untuk menentukan berapa banyak data
+  yang harus digunakan aplikasi:
+</p>
+
+<pre>
+ConnectivityManager connMgr = (ConnectivityManager)
+        getSystemService(Context.CONNECTIVITY_SERVICE);
+// Checks if the device is on a metered network
+if (connMgr.isActiveNetworkMetered()) {
+  // Checks user’s Data Saver settings.
+  switch (connMgr.getRestrictBackgroundStatus()) {
+    case RESTRICT_BACKGROUND_STATUS_ENABLED:
+    // Background data usage is blocked for this app. Wherever possible,
+    // the app should also use less data in the foreground.
+
+    case RESTRICT_BACKGROUND_STATUS_WHITELISTED:
+    // The app is whitelisted. Wherever possible,
+    // the app should use less data in the foreground and background.
+
+    case RESTRICT_BACKGROUND_STATUS_DISABLED:
+    // Data Saver is disabled. Since the device is connected to a
+    // metered network, the app should use less data wherever possible.
+  }
+} else {
+  // The device is not on a metered network.
+  // Use data as required to perform syncs, downloads, and updates.
+}
+</pre>
+
+<h3 id="request-whitelist">
+  Meminta izin daftar putih
+</h3>
+
+<p>
+  Jika aplikasi Anda perlu menggunakan data di latar belakang, aplikasi bisa meminta izin
+  daftar putih dengan mengirim
+  <code>Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS</code>
+  yang mengandung URI dari nama paket aplikasi Anda: misalnya,
+  <code>package:MY_APP_ID</code>.
+</p>
+
+<p>
+  Mengirim intent dan URI akan membuka aplikasi <strong>Settings</strong> dan
+  menampilkan setelan penggunaan data untuk aplikasi Anda. Pengguna nanti bisa memutuskan apakah akan
+  mengaktifkan data latar belakang untuk aplikasi Anda. Sebelum Anda mengirim intent ini, sebaiknya
+  tanyakan kepada pengguna terlebih dahulu apakah mereka ingin membuka aplikasi
+  <strong>Settings</strong> untuk keperluan mengaktifkan penggunaan
+  data latar belakang.
+</p>
+
+<h2 id="monitor-changes">
+  Memantau Perubahan pada Preferensi Data Saver
+</h2>
+
+<p>
+  Aplikasi bisa memantau perubahan pada preferensi Data Saver dengan membuat {@link
+  android.content.BroadcastReceiver} untuk memantau {@code
+  ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED} dan secara dinamis
+  mendaftarkan penerima pada {@link android.content.Context#registerReceiver
+  Context.registerReceiver()}. Bila menerima siaran ini, aplikasi harus
+  <a href="#status">memeriksa apakah preferensi Data Saver baru memengaruhi
+  izinnya</a> dengan memanggil {@code
+  ConnectivityManager.getRestrictBackgroundStatus()}.
+</p>
+
+<p class="note">
+  <strong>Catatan:</strong> Sistem hanya mengirim siaran ini ke aplikasi yang
+  secara dinamis mendaftar padanya dengan {@link
+  android.content.Context#registerReceiver Context.registerReceiver()}. Aplikasi
+  yang mendaftar untuk menerima siaran ini dalam manifes mereka
+  tidak akan menerimanya.
+</p>
+
+<h2 id="testing">
+  Menguji dengan Perintah Android Debug Bridge
+</h2>
+
+<a href="{@docRoot}tools/help/adb.html">Android Debug Bridge (ADB)</a>
+menyediakan beberapa perintah yang bisa Anda gunakan untuk memeriksa dan
+mengonfigurasi izin jaringan:
+
+<dl>
+  <dt>
+    <code>$ adb shell dumpsys netpolicy</code>
+  </dt>
+
+  <dd>
+    Menghasilkan laporan berisi setelan pembatasan jaringan latar belakang
+    global saat ini, UID paket saat ini di daftar putih, dan izin jaringan
+    untuk paket yang diketahui lainnya.
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy</code>
+  </dt>
+
+  <dd>
+    Menampilkan daftar lengkap dari perintah Network Policy Manager (netpolicy).
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy set restrict-background
+    &lt;boolean&gt;</code>
+  </dt>
+
+  <dd>
+    Mengaktifkan atau menonaktifkan mode Data Saver saat meneruskan <code>true</code> atau
+ <code>false</code>, masing-masing.
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy add restrict-background-whitelist
+    &lt;UID&gt;</code>
+  </dt>
+
+  <dd>
+    Menambahkan UID paket tertentu ke daftar putih untuk mengizinkan penggunaan data berkuota
+  di latar belakang.
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy remove restrict-background-whitelist
+    &lt;UID&gt;</code>
+  </dt>
+
+  <dd>
+    Membuang UID paket tertentu dari daftar putih untuk memblokir
+    penggunaan data berkuota di latar belakang saat Data Saver diaktifkan.
+  </dd>
+</dl>
\ No newline at end of file
diff --git a/docs/html-intl/intl/in/preview/features/direct-boot.jd b/docs/html-intl/intl/in/preview/features/direct-boot.jd
index 622475d..b06a7dd 100644
--- a/docs/html-intl/intl/in/preview/features/direct-boot.jd
+++ b/docs/html-intl/intl/in/preview/features/direct-boot.jd
@@ -1,5 +1,5 @@
 page.title=Direct Boot
-page.keywords=preview,sdk,direct boot
+page.keywords=pratinjau,sdk,direct boot
 page.tags=androidn
 page.image=images/cards/card-nyc_2x.jpg
 
@@ -36,7 +36,7 @@
 
 <ul>
 <li>Aplikasi yang telah menjadwalkan pemberitahuan, seperti aplikasi
-jam alarm.</li>
+beker.</li>
 <li>Aplikasi yang menyediakan pemberitahuan pengguna yang penting, seperti aplikasi SMS.</li>
 <li>Aplikasi yang menyediakan layanan aksesibilitas, seperti TalkBack.</li>
 </ul>
@@ -44,7 +44,7 @@
 <p>Jika aplikasi Anda perlu mengakses data saat dijalankan dalam mode Direct Boot, gunakan
 penyimpanan yang dienkripsi dengan perangkat. Penyimpanan yang dienkripsi dengan perangkat berisi data
 yang dienkripsi dengan kunci yang hanya tersedia setelah perangkat melakukan
-boot yang berhasil diverifikasi.</p>
+booting yang berhasil diverifikasi.</p>
 
 <p>Untuk data yang harus dienkripsi dengan kunci yang dikaitkan dengan kredensial
 pengguna, seperti PIN atau kata sandi, gunakan penyimpanan yang dienkripsi dengan kredensial.
@@ -58,8 +58,8 @@
 <p>Aplikasi harus mendaftarkan komponennya pada sistem agar
 bisa berjalan selama mode Direct Boot atau mengakses
 penyimpanan yang dienkripsi dengan perangkat. Aplikasi mendaftar pada sistem dengan menandai komponen sebagai
-<i>peka enkripsi</i>. Untuk menandai komponen Anda sebagai peka enkripsi, atur atribut
-<code>android:encryptionAware</code> ke true dalam manifes Anda.<p>
+<i>peka enkripsi</i>. Untuk menandai komponen Anda sebagai peka enkripsi, setel atribut
+<code>android:directBootAware</code> ke true dalam manifes Anda.<p>
 
 <p>Komponen yang peka enkripsi bisa mendaftar untuk menerima pesan siaran
 <code>LOCKED_BOOT_COMPLETED</code> dari
@@ -72,8 +72,8 @@
 filter intent untuk <code>LOCKED_BOOT_COMPLETED</code>, dalam manifes aplikasi:</p>
 
 <pre>
-&lt;receiever
-  android:encryptionAware="true" &gt;
+&lt;receiver
+  android:directBootAware="true" &gt;
   ...
   &lt;intent-filter&gt;
     &lt;action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" /&gt;
@@ -88,13 +88,13 @@
 
 <p>Untuk mengakses penyimpanan yang dienkripsi dengan perangkat, buat instance
 {@link android.content.Context} kedua dengan memanggil
-<code>Context.createDeviceEncryptedStorageContext()</code>. Semua panggilan
-API penyimpanan yang dibuat menggunakan konteks ini akan mengakses penyimpanan yang dienkripsi dengan perangkat. Contoh
+<code>Context.createDeviceProtectedStorageContext()</code>. Semua panggilan
+API penyimpanan yang dibuat menggunakan konteks ini mengakses penyimpanan yang dienkripsi dengan perangkat. Contoh
 berikut mengakses penyimpanan yang dienkripsi dengan perangkat dan membuka file data aplikasi
 yang ada:</p>
 
 <pre>
-Context directBootContext = Context.createDeviceEncryptedStorageContext();
+Context directBootContext = appContext.createDeviceProtectedStorageContext();
 // Access appDataFilename that lives in device encrypted storage
 FileInputStream inStream = directBootContext.openFileInput(appDataFilename);
 // Use inStream to read content...
@@ -112,23 +112,23 @@
 mengakses penyimpanan yang dienkripsi dengan kredensial dan menggunakan layanan sistem biasa yang
 bergantung pada kredensial pengguna.</p>
 
-<p>Agar diberi tahu bila pengguna membuka kunci perangkat setelah reboot,
+<p>Agar diberi tahu bila pengguna membuka kunci perangkat setelah boot ulang,
 daftarkan {@link android.content.BroadcastReceiver} dari komponen yang berjalan
 untuk mendengarkan pesan <code>ACTION_USER_UNLOCKED</code>. Atau, Anda bisa
 menerima pesan {@link android.content.Intent#ACTION_BOOT_COMPLETED
 ACTION_BOOT_COMPLETED} yang ada, yang sekarang menunjukkan bahwa perangkat telah dihidupkan dan
 pengguna telah membuka kunci perangkat.</p>
 
-<p>Anda bisa langsung melakukan query apakah pengguna telah membuka kunci perangkat dengan memanggil
+<p>Anda bisa langsung kueri apakah pengguna telah membuka kunci perangkat dengan memanggil
 <code>UserManager.isUserUnlocked()</code>.</p>
 
 <h2 id="migrating">Migrasi Data yang Ada</h2>
 
 <p>Jika pengguna memperbarui perangkat mereka untuk menggunakan mode Direct Boot,
 data Anda yang ada mungkin perlu dipindahkan ke penyimpanan yang dienkripsi dengan perangkat. Gunakan
-<code>Context.migrateSharedPreferencesFrom()</code> dan
-<code>Context.migrateDatabaseFrom()</code> untuk memindahkan data preferensi dan
-database antara penyimpanan yang dienkripsi dengan kredensial dan penyimpanan yang dienkripsi dengan perangkat.</p>
+<code>Context.moveSharedPreferencesFrom()</code> dan
+<code>Context.moveDatabaseFrom()</code> untuk memindahkan data preferensi dan
+basis data antara penyimpanan yang dienkripsi dengan kredensial dan penyimpanan yang dienkripsi dengan perangkat.</p>
 
 <p>Pertimbangkan dengan baik saat memutuskan data apa yang akan dipindahkan dari
 penyimpanan yang dienkripsi dengan kredensial ke penyimpanan yang dienkripsi dengan perangkat. Anda sebaiknya tidak memindahkan
@@ -144,7 +144,7 @@
 <p class="caution"><strong>Perhatian:</strong> Mengaktifkan Direct Boot
 akan menghapus semua data pengguna pada perangkat.</p>
 
-<p>Pada perangkat yang didukung dengan Android N terinstal, aktifkan
+<p>Pada perangkat yang didukung dengan Android N terpasang, aktifkan
 Direct Boot dengan melakukan salah satu hal berikut:</p>
 
 <ul>
@@ -164,7 +164,7 @@
 <p>Mode emulasi Direct Boot juga tersedia, jika Anda perlu mengganti
 mode pada perangkat pengujian. Mode emulasi sebaiknya hanya digunakan selama
 pengembangan dan bisa menyebabkan kehilangan data. Untuk mengaktifkan mode emulasi Direct Boot,
-atur pola kunci pada perangkat, pilih "No thanks" jika ditanya mengenai
+setel pola kunci pada perangkat, pilih "No thanks" jika ditanya mengenai
 layar start-up aman saat menetapkan pola kunci, kemudian gunakan
 perintah shell adb berikut:</p>
 
@@ -178,4 +178,4 @@
 $ adb shell sm set-emulate-fbe false
 </pre>
 
-<p>Menggunakan perintah ini akan menyebabkan perangkat melakukan reboot.</p>
+<p>Menggunakan perintah ini akan menyebabkan perangkat melakukan boot ulang.</p>
diff --git a/docs/html-intl/intl/in/preview/features/icu4j-framework.jd b/docs/html-intl/intl/in/preview/features/icu4j-framework.jd
index d50758e..1d97623 100644
--- a/docs/html-intl/intl/in/preview/features/icu4j-framework.jd
+++ b/docs/html-intl/intl/in/preview/features/icu4j-framework.jd
@@ -1,5 +1,4 @@
 page.title=ICU4J Android Framework API
-page.tags=androidn
 page.image=images/cards/card-nyc_2x.jpg
 
 @jd:body
@@ -41,7 +40,7 @@
 </p>
 
 <p>
-  Dokumen ini diawali dengan menyediakan beberapa informasi dasar tentang level API Android
+  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.
@@ -63,7 +62,7 @@
   di Android N.</p>
 <table>
 <tr>
-<th>Level API Android</th>
+<th>Level Android API</th>
 <th>Versi ICU</th>
 <th>Versi CLDR</th>
 </tr>
@@ -91,13 +90,13 @@
   <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
-  menghapus salinan file ICU4J dari APK.
+  membuang salinan file ICU4J dari APK.
 </p>
 
 <p class="note">
-  <b>Catatan</b>: API kerangka kerja ICU4J menggunakan namespace {@code android.icu}
+  <b>Catatan</b>: API kerangka kerja ICU4J menggunakan ruang nama {@code android.icu}
   sebagai ganti {@code com.ibm.icu}. Hal ini untuk menghindari konflik
-  namespace di APK yang berisi pustaka {@code com.ibm.icu} sendiri.
+  ruang nama di APK yang berisi pustaka {@code com.ibm.icu} sendiri.
 </p>
 
 <h3 id="migrate-from-android">
diff --git a/docs/html-intl/intl/in/preview/features/multi-window.jd b/docs/html-intl/intl/in/preview/features/multi-window.jd
index f879dc5..33399e9 100644
--- a/docs/html-intl/intl/in/preview/features/multi-window.jd
+++ b/docs/html-intl/intl/in/preview/features/multi-window.jd
@@ -8,7 +8,7 @@
   <div id="qv">
     <h2>Dalam dokumen ini</h2>
       <ol>
-        <li><a href="#overview">Ikhtisar</a></li>
+        <li><a href="#overview">Ringkasan</a></li>
         <li><a href="#lifecycle">Daur Hidup Multi-Jendela</a></li>
         <li><a href="#configuring">Mengonfigurasi Aplikasi Anda untuk Mode
               Multi-Jendela</a></li>
@@ -17,8 +17,9 @@
       </ol>
     <h2>Lihat Juga</h2>
       <ol>
-        <li><a class="external-link" href="https://github.com/googlesamples/android-MultiWindowPlayground">Aplikasi contoh Multi-Window
-          Playground</a></li>
+        <li><a class="external-link" href="https://github.com/googlesamples/android-MultiWindowPlayground">Aplikasi contoh Playground
+          Multi-Jendela</a></li>
+        <li><a class="external-link" href="https://medium.com/google-developers/5-tips-for-preparing-for-multi-window-in-android-n-7bed803dda64">Lima Tip untuk Mempersiapkan Multi-Jendela di Android N</a></li>
       </ol>
   </div>
 </div>
@@ -39,7 +40,7 @@
   layar penuh.
 </p>
 
-<h2 id="overview">Ikhtisar</h2>
+<h2 id="overview">Ringkasan</h2>
 
 <p>
   Android N memungkinkan beberapa aplikasi berbagi layar sekaligus. Misalnya,
@@ -57,7 +58,7 @@
 
   <li>Pada Nexus Player yang menjalankan Android N, aplikasi bisa menempatkan diri
   dalam <a href="picture-in-picture.html">mode gambar-dalam-gambar</a>, yang memungkinkannya
-  untuk terus menampilkan konten selagi pengguna melihat-lihat atau berinteraksi dengan
+  untuk terus menampilkan materi selagi pengguna menjelajahi atau berinteraksi dengan
    aplikasi lain.
   </li>
 
@@ -80,21 +81,21 @@
 
 <ul>
   <li>Jika pengguna membuka <a href="{@docRoot}guide/components/recents.html">layar
-  Overview</a> dan menekan lama pada
+  Ringkasan</a> dan menekan lama pada
   judul aktivitas, mereka bisa menyeret aktivitas itu ke bagian yang disorot pada layar
   untuk menempatkan aktivitas dalam mode multi-jendela.
   </li>
 
-  <li>Jika pengguna menekan lama pada tombol Overview, perangkat akan menempatkan
-   aktivitas saat ini dalam mode multi-jendela, dan membuka layar Overview guna
+  <li>Jika pengguna menekan lama pada tombol Ringkasan, perangkat akan menempatkan
+   aktivitas saat ini dalam mode multi-jendela, dan membuka layar Ringkasan guna
   memungkinkan pengguna memilih aktivitas lain untuk berbagi layar.
   </li>
 </ul>
 
 <p>
-  Pengguna bisa <a href="{@docRoot}guide/topics/ui/drag-drop.html">menyeret dan
-  meletakkan</a> data dari aktivitas satu ke aktivitas lain sewaktu aktivitas berbagi
-  layar. (Sebelumnya, pengguna hanya bisa menyeret dan meletakkan data dalam aktivitas
+  Pengguna bisa <a href="{@docRoot}guide/topics/ui/drag-drop.html">seret dan
+  lepas</a> data dari aktivitas satu ke aktivitas lain sewaktu aktivitas berbagi
+  layar. (Sebelumnya, pengguna hanya bisa menyeret dan melepas data dalam aktivitas
   tunggal.)
 </p>
 
@@ -120,7 +121,7 @@
   dan masih terlihat oleh pengguna. Sebuah aplikasi mungkin perlu melanjutkan aktivitasnya
    bahkan saat berhenti sementara. Misalnya, aplikasi pemutar video yang ada dalam
    mode berhenti sementara namun terlihat harus tetap menampilkan videonya. Karena alasan
-  ini, kami menyarankan aktivitas yang memutar video<em>tidak</em> menghentikan sementara video
+  ini, kami menyarankan aktivitas yang memutar video <em>tidak</em> menghentikan sementara video
    dalam handler {@link android.app.Activity#onPause onPause()} mereka.
   Sebagai gantinya, aktivitas itu harus menghentikan sementara video di {@link android.app.Activity#onStop
   onStop()}, dan melanjutkan pemutaran di {@link android.app.Activity#onStart
@@ -130,20 +131,22 @@
 <p>
   Bila pengguna menempatkan aplikasi dalam mode multi-jendela, sistem akan memberi tahu
    aktivitas tersebut mengenai perubahan konfigurasi, sebagaimana ditetapkan dalam <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Menangani Perubahan
-  Runtime</a>. Pada dasarnya, perubahan ini memiliki implikasi siklus hidup aktivitas yang sama
-   seperti saat sistem memberi tahu aplikasi bahwa perangkat telah beralih
-   dari mode potret ke mode lanskap, kecuali dimensi perangkat
-   telah berubah sebagai ganti bertukar posisi. Seperti yang dibahas di <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Menangani Perubahan
-  Runtime</a>, aktivitas Anda bisa menangani perubahan konfigurasi itu sendiri, atau
+  Waktu Proses</a>. Hal ini juga terjadi ketika pengguna mengubah skala aplikasi, atau menempatkan kembali aplikasi
+  ke mode layar penuh.
+  Pada dasarnya, perubahan ini memiliki implikasi daur hidup aktivitas yang sama
+  seperti saat sistem memberi tahu aplikasi bahwa perangkat telah beralih
+  dari mode potret ke mode lanskap, kecuali dimensi perangkat
+  telah berubah sebagai ganti bertukar posisi. Seperti yang dibahas di <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Menangani Perubahan
+  Waktu Proses</a>, aktivitas Anda bisa menangani perubahan konfigurasi itu sendiri, atau
    mengizinkan sistem memusnahkan aktivitas dan membuatnya kembali dengan dimensi
   baru.
 </p>
 
 <p>
-  Jika pengguna mengubah ukuran jendela dan membuat dimensinya jadi lebih besar, sistem
-   akan mengubah ukuran aktivitas untuk menyesuaikan dengan tindakan pengguna dan mengeluarkan <a href="{@docRoot}guide/topics/resources/runtime-changes.html">perubahan runtime</a>
-  sebagaimana diperlukan. Jika aplikasi tertinggal dari gambar di bidang yang baru saja diekspos,
-  sistem untuk sementara akan mengisi bidang tersebut dengan warna yang ditetapkan oleh atribut {@link
+  Jika pengguna mengubah ukuran jendela dan membuat dimensinya lebih besar, sistem
+   akan mengubah ukuran aktivitas untuk menyesuaikan dengan tindakan pengguna dan mengeluarkan <a href="{@docRoot}guide/topics/resources/runtime-changes.html">perubahan waktu proses</a>
+  bila diperlukan. Jika aplikasi tertinggal dibandingkan gambar di area yang baru diekspos,
+  sistem untuk sementara mengisi area tersebut dengan warna yang ditetapkan oleh atribut {@link
   android.R.attr#windowBackground windowBackground} atau dengan atribut gaya
   <code>windowBackgroundFallback</code> secara default.
 </p>
@@ -152,10 +155,12 @@
 
 <p>
   Jika aplikasi Anda menargetkan Android N, Anda bisa mengonfigurasi bagaimana dan
-  apakah aktivitas aplikasi Anda mendukung tampilan multi-jendela. Anda bisa mengatur
+  apakah aktivitas aplikasi Anda mendukung tampilan multi-jendela. Anda bisa menyetel
   atribut dalam manifes untuk mengontrol ukuran dan layoutnya.
-  Pengaturan atribut aktivitas root berlaku untuk semua aktivitas
-   dalam tumpukan tugasnya.
+  Setelan atribut aktivitas root berlaku pada semua aktivitas
+   dalam tumpukan tugasnya. Misalnya, jika aktivitas root memiliki
+  <code>android:resizeableActivity</code> yang disetel ke true, maka semua aktivitas
+  dalam tumpukan tugas bisa diubah ukurannya.
 </p>
 
 <p class="note">
@@ -170,7 +175,7 @@
 
 <h4 id="resizeableActivity">android:resizeableActivity</h4>
 <p>
-  Atur atribut ini dalam manifes <code>&lt;activity&gt;</code> Anda atau simpul
+  Setel atribut ini dalam manifes <code>&lt;activity&gt;</code> Anda atau simpul
   <code>&lt;application&gt;</code> untuk mengaktifkan atau menonaktifkan tampilan
    multi-jendela:
 </p>
@@ -180,8 +185,8 @@
 </pre>
 
 <p>
-  Jika atribut ini diatur ke true, aktivitas bisa dijalankan di
-  mode layar terbagi dan mode bentuk bebas. Jika atribut ini diatur ke false, aktivitas
+  Jika atribut ini disetel ke true, aktivitas bisa dijalankan di
+  mode layar terbagi dan mode bentuk bebas. Jika atribut ini disetel ke false, aktivitas
   tidak akan mendukung mode multi-jendela. Jika nilai ini false, dan pengguna
   berusaha memulai aktivitas dalam mode multi-jendela, aktivitas akan menggunakan
    layar penuh.
@@ -195,7 +200,7 @@
 <h4 id="supportsPictureInPicture">android:supportsPictureInPicture</h4>
 
 <p>
-  Atur atribut ini dalam simpul <code>&lt;activity&gt;</code> manifes Anda untuk
+  Setel atribut ini dalam simpul <code>&lt;activity&gt;</code> manifes Anda untuk
   menunjukkan apakah aktivitas mendukung tampilan gambar-dalam-gambar. Atribut ini
   diabaikan jika <code>android:resizeableActivity</code> bernilai false.
 </p>
@@ -239,7 +244,7 @@
   </dd>
 
   <dt>
-    <code>android:minimalSize</code>
+    <code>android:minimalHeight</code>, <code>android:minimalWidth</code>
   </dt>
 
   <dd>
@@ -261,7 +266,8 @@
     &lt;layout android:defaultHeight="500dp"
           android:defaultWidth="600dp"
           android:gravity="top|end"
-          android:minimalSize="450dp" /&gt;
+          android:minimalHeight="450dp"
+          android:minimalWidth="300dp" /&gt;
 &lt;/activity&gt;
 </pre>
 
@@ -281,7 +287,7 @@
 
 <ul>
   <li>Beberapa opsi penyesuaian di <a href="{@docRoot}training/system-ui/index.html">System UI</a>
-  dinonaktifkan; misalnya, aplikasi tidak bisa menyembunyikan baris status
+  dinonaktifkan; misalnya, aplikasi tidak bisa menyembunyikan bilah status
   jika tidak berjalan dalam mode layar penuh.
   </li>
 
@@ -291,17 +297,18 @@
   </li>
 </ul>
 
-<h3 id="change-notification">Pemberitahuan perubahan multi-jendela dan melakukan query</h3>
+<h3 id="change-notification">Pemberitahuan perubahan multi-jendela dan melakukan kueri</h3>
 
 <p>
   Metode baru berikut telah ditambahkan ke kelas {@link android.app.Activity}
-  untuk mendukung tampilan multi-jendela. Untuk mengetahui detail tentang setiap metode, lihat
-  <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi N Preview SDK</a>.
+  untuk mendukung tampilan multi-jendela. Untuk mengetahui detail tentang setiap
+  metode, lihat <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi N
+ Preview SDK</a>.
 </p>
 
 <dl>
   <dt>
-    <code>Activity.inMultiWindow()</code>
+    <code>Activity.isInMultiWindowMode()</code>
   </dt>
 
   <dd>
@@ -309,7 +316,7 @@
   </dd>
 
   <dt>
-    <code>Activity.inPictureInPicture()</code>
+    <code>Activity.isInPictureInPictureMode()</code>
   </dt>
 
   <dd>
@@ -317,30 +324,30 @@
 
     <p class="note">
       <strong>Catatan:</strong> Mode gambar-dalam-gambar adalah kasus khusus pada
-      mode multi-jendela. Jika <code>myActivity.inPictureInPicture()</code>
-     mengembalikan nilai true, maka <code>myActivity.inMultiWindow()</code> juga mengembalikan nilai
-      true.
+      mode multi-jendela. Jika <code>myActivity.isInPictureInPictureMode()</code>
+     mengembalikan nilai true, maka <code>myActivity.isInMultiWindowMode()</code> juga 
+      mengembalikan nilai true.
     </p>
   </dd>
 
   <dt>
-    <code>Activity.onMultiWindowChanged()</code>
+    <code>Activity.onMultiWindowModeChanged()</code>
   </dt>
 
   <dd>
     Sistem akan memanggil metode ini bila aktivitas masuk atau keluar dari
-    mode multi-jendela. Sistem akan meneruskan metode sebuah nilai true jika
+    mode multi-jendela. Sistem akan meneruskan ke metode sebuah nilai true jika
    aktivitas tersebut memasuki mode multi-jendela, dan nilai false jika aktivitas
      tersebut meninggalkan mode multi-jendela.
   </dd>
 
   <dt>
-    <code>Activity.onPictureInPictureChanged()</code>
+    <code>Activity.onPictureInPictureModeChanged()</code>
   </dt>
 
   <dd>
     Sistem akan memanggil metode ini bila aktivitas masuk atau keluar dari
-    mode gambar-dalam-gambar. Sistem akan meneruskan metode sebuah nilai true jika
+    mode gambar-dalam-gambar. Sistem akan meneruskan ke metode sebuah nilai true jika
    aktivitas tersebut memasuki mode gambar-dalam-gambar, dan nilai false jika aktivitas
      tersebut meninggalkan mode gambar-dalam-gambar.
   </dd>
@@ -348,14 +355,14 @@
 
 <p>
   Ada juga versi {@link android.app.Fragment} untuk setiap
-  metode ini, misalnya <code>Fragment.inMultiWindow()</code>.
+  metode ini, misalnya <code>Fragment.isInMultiWindowMode()</code>.
 </p>
 
 <h3 id="entering-pip">Memasuki mode gambar-dalam-gambar</h3>
 
 <p>
   Untuk menempatkan aktivitas dalam mode gambar-dalam-gambar, panggil metode baru
-  <code>Activity.enterPictureInPicture()</code>. Metode ini tidak berpengaruh jika
+  <code>Activity.enterPictureInPictureMode()</code>. Metode ini tidak berpengaruh jika
    perangkat tidak mendukung mode gambar-dalam-gambar. Untuk informasi selengkapnya,
    lihat dokumentasi <a href="picture-in-picture.html">Gambar-dalam-Gambar</a>.
 </p>
@@ -382,8 +389,8 @@
 </ul>
 
 <p>
-  Jika perangkat berada dalam mode bentuk bebas dan Anda meluncurkan aktivitas baru, Anda bisa
-  menetapkan dimensi dan lokasi layar aktivitas baru dengan memanggil
+  Jika perangkat dalam mode bentuk bebas dan Anda menjalankan aktivitas baru, Anda bisa
+  menetapkan dimensi aktivitas baru dan lokasi layar dengan memanggil
   <code>ActivityOptions.setLaunchBounds()</code>. Metode ini tidak berpengaruh jika
   perangkat tidak berada dalam mode multi-jendela.
 </p>
@@ -395,19 +402,19 @@
   terpisah dalam mode multi-jendela, Anda harus meluncurkannya dalam tumpukan tugas baru.
 </p>
 
-<h3 id="dnd">Mendukung seret dan letakkan</h3>
+<h3 id="dnd">Mendukung seret dan lepas</h3>
 
 <p>
   Pengguna bisa <a href="{@docRoot}guide/topics/ui/drag-drop.html">menyeret dan
-  meletakkan</a> data dari satu aktivitas ke aktivitas yang lain selagi kedua aktivitas
-  berbagi layar. (Sebelumnya, pengguna hanya bisa menyeret dan meletakkan data dalam
+  melepas</a> data dari satu aktivitas ke aktivitas yang lain selagi kedua aktivitas
+  berbagi layar. (Sebelumnya, pengguna hanya bisa menyeret dan melepas data dalam
    aktivitas tunggal.) Karena alasan ini, Anda mungkin perlu menambahkan fungsionalitas
-  seret dan letakkan ke aplikasi Anda jika aplikasi Anda saat ini belum mendukungnya.
+  seret dan lepas ke aplikasi jika aplikasi saat ini belum mendukungnya.
 </p>
 
 <p>
   N Preview SDK menambahkan paket <a href="{@docRoot}reference/android/view/package-summary.html"><code>android.view</code></a>
-  untuk mendukung seret dan letakkan lintas-aplikasi. Untuk mengetahui detail tentang kelas dan metode
+  untuk mendukung seret dan lepas lintas-aplikasi. Untuk mengetahui detail tentang kelas dan metode
   berikut, lihat <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi N
   Preview SDK</a>.
 </p>
@@ -419,7 +426,7 @@
 
   <dd>
     Objek token bertanggung jawab menetapkan izin yang diberikan kepada aplikasi
-    yang menerima peletakan tersebut.
+    yang menerima pelepasan tersebut.
   </dd>
 
   <dt>
@@ -428,7 +435,7 @@
 
   <dd>
     Alias baru untuk {@link android.view.View#startDrag View.startDrag()}. Untuk
-    mengaktifkan seret dan letakkan lintas-aktivitas, teruskan flag baru
+    mengaktifkan seret dan lepas lintas-aktivitas, teruskan flag baru
     <code>View.DRAG_FLAG_GLOBAL</code>. Jika Anda perlu memberikan izin URI ke
     aktivitas penerima, teruskan flag baru,
     <code>View.DRAG_FLAG_GLOBAL_URI_READ</code> atau
@@ -458,7 +465,7 @@
   </dt>
 
   <dd>
-    Meminta izin untuk URI konten yang diteruskan dengan {@link
+    Meminta izin untuk URI materi yang diteruskan dengan {@link
     android.content.ClipData} yang terdapat dalam {@link android.view.DragEvent}.
   </dd>
 </dl>
@@ -466,15 +473,15 @@
 <h2 id="testing">Menguji Dukungan Multi-Jendela Aplikasi Anda</h2>
 
 <p>
-  Baik Anda memperbarui aplikasi untuk Android N maupun tidak, Anda harus
-  memverifikasi caranya bertindak dalam mode multi-jendela jika pengguna mencoba meluncurkannya
+  Apakah Anda memperbarui aplikasi untuk Android N atau tidak, Anda harus
+  verifikasi bagaimana perilakunya di mode multi-jendela saat pengguna mencoba untuk menjalankannya
   dalam mode multi-jendela pada perangkat yang menjalankan Android N.
 </p>
 
 <h3 id="configuring">Mengonfigurasi Perangkat Pengujian</h3>
 
 <p>
-  Jika Anda menginstal Android N pada perangkat, mode
+  Jika Anda pasang Android N pada perangkat, mode
   layar terbagi secara otomatis didukung.
 </p>
 
@@ -489,13 +496,13 @@
 <p>
   Jika aplikasi Anda tidak mendeklarasikan orientasi tetap, Anda harus meluncurkan aplikasi
   pada perangkat yang menjalankan Android N dan berupaya menempatkan aplikasi tersebut dalam
-  mode layar terbagi. Pastikan pengalaman pengguna
+  mode layar terbagi. Verifikasi pengalaman pengguna
   bisa diterima bila aplikasi secara paksa diubah ukurannya.
 </p>
 
 <p>
   Jika aplikasi mendeklarasikan orientasi tetap, Anda harus berupaya menempatkan aplikasi dalam
-  mode multi-jendela. Periksa apakah Anda melakukannya, aplikasi tetap berada dalam
+  mode multi-jendela. Verifikasi apakah saat Anda melakukannya, aplikasi tetap berada dalam
   mode layar penuh.
 </p>
 
@@ -503,33 +510,33 @@
 
 <p>
   Jika Anda membuat aplikasi Anda dengan N Preview SDK dan belum menonaktifkan
-  dukungan multi-jendela, periksa perilaku berikut dalam mode layar terbagi
+  dukungan multi-jendela, verifikasi perilaku berikut dalam mode layar terbagi
    dan mode bentuk bebas.
 </p>
 
 <ul>
   <li>Luncurkan aplikasi dalam mode layar penuh, kemudian beralih ke mode multi-jendela dengan
-   menekan lama pada tombol Overview. Periksa apakah aplikasi berpindah dengan benar.
+   menekan lama pada tombol Ringkasan. Verifikasi apakah aplikasi beralih dengan benar.
   </li>
 
-  <li>Jalankan aplikasi secara langsung dalam mode multi-jendela, dan pastikan aplikasi
+  <li>Jalankan aplikasi secara langsung dalam mode multi-jendela, dan verifikasi aplikasi
   diluncurkan dengan benar. Anda bisa meluncurkan aplikasi dalam mode multi-jendela dengan menekan
-  tombol Overview, kemudian menekan lama baris judul pada aplikasi Anda dan menyeretnya
+  tombol Ringkasan, kemudian menekan lama baris judul pada aplikasi Anda dan menyeretnya
   ke salah satu area yang disorot di layar.
   </li>
 
   <li>Ubah ukuran aplikasi Anda dalam mode layar terbagi dengan menyeret garis pembagi.
-  Periksa apakah aplikasi mengubah ukuran tanpa crash, dan apakah elemen UI yang diperlukan
+  Verifikasi apakah aplikasi mengubah ukuran tanpa mogok, dan apakah elemen UI yang diperlukan
   terlihat.
   </li>
 
   <li>Jika Anda telah menetapkan dimensi minimum aplikasi, cobalah untuk mengubah ukuran
-  aplikasi di bawah dimensi tersebut. Periksa apakah Anda tidak bisa mengubah ukuran aplikasi menjadi
+  aplikasi di bawah dimensi tersebut. Verifikasi apakah Anda tidak bisa mengubah ukuran aplikasi menjadi
   lebih kecil dari minimum yang ditetapkan.
   </li>
 
-  <li>Melalui semua tes, periksa apakah kinerja aplikasi Anda bisa diterima. Misalnya,
-  periksa apakah tidak ada jeda yang terlalu lama untuk memperbarui UI setelah
+  <li>Melalui semua pengujian, verifikasi apakah kinerja aplikasi Anda bisa diterima. Misalnya,
+  verifikasi apakah tidak ada jeda yang terlalu lama untuk memperbarui UI setelah
   aplikasi diubah ukurannya.
   </li>
 </ul>
@@ -537,7 +544,7 @@
 <h4 id="test-checklist">Daftar periksa pengujian</h4>
 
 <p>
-  Untuk memeriksa kinerja aplikasi Anda dalam mode multi-jendela, cobalah operasi
+  Untuk verifikasi kinerja aplikasi Anda dalam mode multi-jendela, cobalah operasi
   berikut. Anda harus mencoba semua operasi ini dalam mode layar terbagi dan
    dan mode multi-jendela, kecuali jika dinyatakan berbeda.
 </p>
@@ -546,27 +553,27 @@
   <li>Masuki dan tinggalkan mode multi-jendela.
   </li>
 
-  <li>Beralih dari aplikasi Anda ke aplikasi lain, dan periksa apakah aplikasi berperilaku
+  <li>Beralih dari aplikasi Anda ke aplikasi lain, dan verifikasi apakah aplikasi berperilaku
    sebagaimana mestinya saat terlihat namun tidak aktif. Misalnya, jika aplikasi Anda
-   sedang memutar video, periksa apakah video terus diputar selagi pengguna
+   sedang memutar video, verifikasi apakah video terus diputar selagi pengguna
   berinteraksi dengan aplikasi lain.
   </li>
 
   <li>Dalam mode layar terbagi, cobalah menggeser garis pembagi untuk membuat aplikasi
   Anda menjadi lebih besar dan lebih kecil. Coba operasi ini dalam konfigurasi berdampingan dan
-  atas-bawah. Periksa apakah aplikasi tidak crash,
+  atas-bawah. Verifikasi apakah aplikasi tidak mogok,
   fungsionalitas penting bisa terlihat, dan operasi mengubah ukuran tidak memakan waktu terlalu
   lama.
   </li>
 
-  <li>Lakukan beberapa operasi ubah ukuran berturut-turut dalam waktu cepat. Periksa apakah
-  aplikasi Anda tidak crash atau mengalami kebocoran memori. Untuk informasi tentang memeriksa penggunaan memori
+  <li>Lakukan beberapa operasi ubah ukuran berturut-turut dalam waktu cepat. Verifikasi apakah
+  aplikasi Anda tidak mogok atau mengalami kebocoran memori. Untuk informasi tentang memeriksa penggunaan memori
   aplikasi Anda, lihat <a href="{@docRoot}tools/debugging/debugging-memory.html">
   Menyelidiki Penggunaan RAM Anda</a>.
   </li>
 
   <li>Gunakan aplikasi secara normal di sejumlah konfigurasi jendela yang berbeda, dan
-  periksa apakah aplikasi berperilaku sebagaimana mestinya. Periksa apakah teks terbaca, dan apakah
+  verifikasi apakah aplikasi berperilaku sebagaimana mestinya. Verifikasi apakah teks terbaca, dan apakah
   elemen UI tidak terlalu kecil untuk interaksi.
   </li>
 </ul>
@@ -574,9 +581,9 @@
 <h3 id="test-disabled-mw">Jika Anda telah menonaktifkan dukungan multi-jendela</h3>
 
 <p>
-  Jika Anda menonaktifkan dukungan multi-jendela dengan mengatur
+  Jika Anda menonaktifkan dukungan multi-jendela dengan menyetel
   <code>android:resizableActivity="false"</code>, Anda harus menjalankan aplikasi pada
   perangkat yang menjalankan Android N dan berusaha menempatkan aplikasi dalam
-  mode bentuk bebas dan mode layar terbagi. Periksa apakah Anda melakukannya, aplikasi tetap berada dalam
+  mode bentuk bebas dan mode layar terbagi. Verifikasi apakah saat Anda melakukannya, aplikasi tetap berada dalam
   mode layar penuh.
 </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
index 573b3c5..29104cb 100644
--- a/docs/html-intl/intl/in/preview/features/multilingual-support.jd
+++ b/docs/html-intl/intl/in/preview/features/multilingual-support.jd
@@ -19,7 +19,7 @@
 </div>
 
 <p>Android N memberikan dukungan yang disempurnakan untuk pengguna multibahasa,
-yang memungkinkan mereka memilih beberapa lokal dalam pengaturan. Android N
+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
@@ -37,29 +37,33 @@
 <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. Misalnya, anggaplah bahasa default aplikasi Anda
-  adalah US English, namun aplikasi itu juga berisi string bahasa Spanyol yang dilokalkan di file sumber daya {@code es_ES}.
-.</p>
-<p>Bila kode Java Anda mengacu ke string, itu akan mengatasi masalah bahasa string sebagai
-berikut:</p>
-<ul>
-<li>Jika perangkat diatur ke {@code es_MX} (Spanish-Mexico), Android akan memuat
-string dari file sumber daya {@code es_ES}.</li>
-<li>Jika perangkat diatur ke {@code en_AU}, Android akan kembali pada {@code
-en_US}. Sistem juga akan default ke {@code en_US} jika pengguna memilih
-bahasa yang sama sekali tidak didukung oleh aplikasi, seperti bahasa Prancis.</li>
-</ul>
+ 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>Masalah resolusi ini muncul karena sistem menghilangkan kode negara
-dari lokal jika tidak bisa menemukan yang sama persis.  Misalnya:</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>Pengaturan Pengguna</th>
+<th>Setelan Pengguna</th>
 <th>Sumber Daya Aplikasi</th>
 <th>Resolusi Sumber Daya</th>
 </tr>
@@ -109,7 +113,7 @@
 lokal yang sama persis.</p>
 <table>
 <tr>
-<th>Pengaturan Pengguna</th>
+<th>Setelan Pengguna</th>
 <th>Sumber Daya Aplikasi</th>
 <th>Resolusi Sumber Daya</th>
 </tr>
@@ -137,9 +141,9 @@
 
 
 <p>Sekarang pengguna mendapatkan sumber daya bahasa Prancis sebagai ganti bahasa Inggris. Contoh ini juga menunjukkan
- mengapa Anda harus menyimpan string bahasa Prancis dalam {@code fr} bukan dalam {@code fr_FR}
- untuk Android N. Tindakan di sini adalah untuk mencocokkan dengan induk dialek terdekat,
- yang membuat resolusi menjadi lebih cepat dan lebih bisa diprediksi.</p>
+ 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
@@ -147,10 +151,10 @@
 
 <p class="table-caption" id="t-2d-choice">
 <strong>Tabel 3.</strong> Resolusi sumber daya bila aplikasi hanya mencocokkan
-pengaturan lokal yang disukai kedua oleh pengguna.</p>
+setelan lokal yang disukai kedua oleh pengguna.</p>
 <table>
 <tr>
-<th>Pengaturan Pengguna</th>
+<th>Setelan Pengguna</th>
 <th>Sumber Daya Aplikasi</th>
 <th>Resolusi Sumber Daya</th>
 
@@ -187,11 +191,11 @@
 <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 melakukan query daftar bahasa yang telah ditetapkan pengguna. API ini
-memungkinkan Anda untuk membuat
- perilaku aplikasi yang lebih canggih dan tampilan konten yang lebih optimal. Misalnya, Pencarian
-  bisa menampilkan hasil dalam beberapa bahasa berdasarkan pengaturan pengguna.  Aplikasi browser
+<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>
 
diff --git a/docs/html-intl/intl/in/preview/features/notification-updates.jd b/docs/html-intl/intl/in/preview/features/notification-updates.jd
index 6154e83..0ad2770 100644
--- a/docs/html-intl/intl/in/preview/features/notification-updates.jd
+++ b/docs/html-intl/intl/in/preview/features/notification-updates.jd
@@ -1,5 +1,5 @@
 page.title=Pemberitahuan
-page.tags=notifications
+page.tags=pemberitahuan
 helpoutsWidget=true
 page.image=/preview/images/notifications-card.png
 
@@ -15,14 +15,15 @@
 <ol>
   <li><a href="#direct">Balasan Langsung</a></li>
   <li><a href="#bundle">Bundel Pemberitahuan</a></li>
-  <li><a href="#custom">Tampilan Custom</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 memposting
-pemberitahuan yang sangat terlihat dan interaktif.</p>
+<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
@@ -59,8 +60,8 @@
 <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>
-.
+  <strong>Gambar 1.</strong> Android N menambahkan tombol tindakan <strong>Reply</strong>.
+
 </p>
 
 <h3>Menambahkan tindakan balasan inline</h3>
@@ -72,11 +73,11 @@
 <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 input teks. Kemudian, aplikasi perangkat genggam Anda akan menggunakan kunci itu untuk mengambil teks
-  input tersebut.
+ 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
+// 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)
@@ -88,7 +89,7 @@
  pada tindakan dengan menggunakan <code>addRemoteInput()</code>.
 
 <pre>
-// Create the reply action and add the remote input
+// 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)
@@ -100,8 +101,8 @@
 <li>Terapkan tindakan pada pemberitahuan dan keluarkan pemberitahuan.
 
 <pre>
-// Build the notification and add the action
-Notification notification =
+// Build the notification and add the action.
+Notification newMessageNotification =
         new Notification.Builder(mContext)
                 .setSmallIcon(R.drawable.ic_message)
                 .setContentTitle(getString(R.string.title))
@@ -109,10 +110,10 @@
                 .addAction(action))
                 .build();
 
-// Issue the notification
+// Issue the notification.
 NotificationManager notificationManager =
         NotificationManager.from(mContext);
-notificationManager.notify(notificationId, notification);
+notificationManager.notify(notificationId, newMessageNotification);
 
 </pre>
 </li>
@@ -129,30 +130,32 @@
   <strong>Gambar 2.</strong> Pengguna memasukkan teks dari bayangan pemberitahuan.
 </p>
 
-<h3>Mengambil input pengguna dari balasan inline</h3>
+<h3>
+  Mengambil masukan pengguna dari balasan inline
+</h3>
 
-<p>Untuk menerima input pengguna dari antarmuka pemberitahuan untuk aktivitas yang Anda
-deklarasikan dalam intent tindakan balasan:</p>
+<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
+  <li>Panggil {@link android.support.v4.app.RemoteInput#getResultsFromIntent
   getResultsFromIntent()} dengan meneruskan intent tindakan pemberitahuan sebagai
- parameter input. Metode ini mengembalikan {@link android.os.Bundle} yang
- berisi respons teks.
-</li>
+  parameter masukan. Metode ini mengembalikan {@link android.os.Bundle} yang
+  berisi respons teks.
 
-<pre>
+    <pre>
 Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
 </pre>
+  </li>
 
-<li>Lakukan query pada bundel menggunakan kunci hasil (diberikan ke konstruktor {@link
-  android.support.v4.app.RemoteInput.Builder}).
-</li>
-</ol>
+  <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:
 
-<p>Cuplikan kode berikut mengilustrasikan cara metode mengambil teks input
-dari bundel:</p>
-
-<pre>
+    <pre>
 // Obtain the intent that started this activity by calling
 // Activity.getIntent() and pass it into this method to
 // get the associated string.
@@ -160,20 +163,53 @@
 private CharSequence getMessageText(Intent intent) {
     Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
     if (remoteInput != null) {
-            return remoteInput.getCharSequence(KEY_TEXT_REPLY);
-            }
+        return remoteInput.getCharSequence(KEY_TEXT_REPLY);
+    }
     return null;
  }
 </pre>
+  </li>
 
-<p>Aplikasi bisa menerapkan logika untuk memutuskan tindakan apa yang harus diambil pada teks
-yang telah diambil.
-Untuk aplikasi interaktif (seperti chat), memberikan lebih banyak konteks dalam pemberitahuan itu sendiri
- (misalnya, beberapa baris riwayat obrolan, termasuk pesan pengguna pribadi)
-  sehingga pengguna bisa merespons dengan tepat.
-Bila pengguna merespons melalui{@link android.support.v4.app.RemoteInput},
- sertakan teks dalam riwayat balasan dengan metode {@code setRemoteInputHistory()}
-.</p>
+  <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>
 
@@ -203,6 +239,12 @@
   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>
@@ -226,19 +268,19 @@
 
   </li>
   <ul>
-    <li>Bisa diaplikasikan, dengan tindakan yang spesifik untuk setiap anak.</li>
+    <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 pertukaran pesan
+<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 di mana pemberitahuan tunggal lebih disukai
- antara lain pesan individual dari satu orang, atau representasi daftar
- item teks satu-baris. Anda bisa menggunakan
+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.
@@ -247,7 +289,7 @@
 <h3 id ="post">Menampilkan bundel pemberitahuan</h3>
 
 <p>
-  Aplikasi ini harus selalu memposting rangkuman grup, sekalipun grup hanya berisi
+  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
@@ -262,7 +304,7 @@
 
 <h3>Mengintip pemberitahuan</h3>
 
-<p>Walaupun sistem biasanya menampilkan pemberitahuan anak sebagai sebuah grup, Anda bisa mengaturnya
+<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
@@ -273,10 +315,10 @@
 <h3>Kompatibilitas mundur</h3>
 
 <p>
-  Baik grup pemberitahuan maupun input jauh telah menjadi bagian dari {@link
+  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 memeriksa apakah perilaku aplikasi sesuai dengan panduan yang
+  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>
@@ -286,20 +328,20 @@
   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 tetap memiliki gaya kotak masuk atau representasi pemberitahuan yang sama
-  untuk seluruh konten informasi grup. Karena perangkat Android
+  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 membuat pemberitahuan anak dengan mengabaikan level
+  yang lebih lama, maka Anda harus membangun pemberitahuan anak dengan mengabaikan level
   API.
 </p>
 
-<h2 id="custom"> Tampilan Custom</h2>
+<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 custom Anda:</p>
+  tampilan khusus Anda:</p>
 
 <dl>
 <dt>
@@ -312,13 +354,13 @@
 </dl>
 
 <p>Untuk menggunakan API baru ini, panggil metode {@code setStyle()}, dengan meneruskan
-gaya tampilan custom yang diinginkan padanya.</p>
+gaya tampilan khusus yang diinginkan padanya.</p>
 
-<p>Cuplikan ini menampilkan cara membuat objek pemberitahuan custom dengan metode
+<p>Cuplikan ini menampilkan cara membuat objek pemberitahuan khusus dengan metode
 {@code DecoratedCustomViewStyle()}.</p>
 
 <pre>
-Notification noti = new Notification.Builder()
+Notification notification = new Notification.Builder()
            .setSmallIcon(R.drawable.ic_stat_player)
            .setLargeIcon(albumArtBitmap))
            .setCustomContentView(contentView);
@@ -326,3 +368,26 @@
            .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/features/picture-in-picture.jd b/docs/html-intl/intl/in/preview/features/picture-in-picture.jd
index 883b17a..5df3e5d 100644
--- a/docs/html-intl/intl/in/preview/features/picture-in-picture.jd
+++ b/docs/html-intl/intl/in/preview/features/picture-in-picture.jd
@@ -1,5 +1,5 @@
 page.title=Gambar-dalam-gambar
-page.keywords=preview,sdk,PIP,Picture-in-picture
+page.keywords=pratinjau,sdk,PIP,Gambar-dalam-gambar
 page.tags=androidn
 
 @jd:body
@@ -17,6 +17,8 @@
 </li>
   <li><a href="#continuing_playback">Melanjutkan Pemutaran Video Saat dalam
 Gambar-dalam-gambar</a></li>
+  <li><a href="#single_playback">Menggunakan Aktivitas Pemutaran Tunggal untuk
+ Gambar-dalam-gambar</a></li>
   <li><a href="#best">Praktik Terbaik</a></li>
 </ol>
 
@@ -41,13 +43,13 @@
 
 <ul>
 <li>Aplikasi Anda bisa memindahkan video ke dalam mode PIP bila pengguna mengarah
-mundur dari video untuk melihat-lihat konten lainnya.</li>
+mundur dari video untuk menjelajah materi lainnya.</li>
 <li>Aplikasi Anda bisa mengalihkan video ke dalam mode PIP selagi pengguna menonton akhir episode
-dari konten. Layar utama menampilkan informasi
+dari materi. Layar utama menampilkan informasi
 promosi atau rangkuman tentang episode berikutnya dalam seri tersebut.</li>
-<li>Aplikasi Anda bisa menyediakan suatu cara bagi pengguna untuk mengantre konten tambahan selagi
+<li>Aplikasi Anda bisa menyediakan suatu cara bagi pengguna untuk mengantre materi tambahan selagi
 mereka menonton video. Video terus dimainkan dalam mode PIP selagi layar
-utama menampilkan aktivitas pemilihan konten.</li>
+utama menampilkan aktivitas pemilihan materi.</li>
 </ul>
 
 <p>Jendela PIP memiliki luas 240x135 dp dan ditampilkan di layer paling atas pada salah satu
@@ -59,11 +61,11 @@
 
 <img src="{@docRoot}preview/images/pip-active.png" />
 <p class="img-caption"><strong>Gambar 1.</strong> Video
-Gambar-dalam-gambar terlihat di sudut layar selagi pengguna melihat-lihat konten pada layar
+Gambar-dalam-gambar terlihat di sudut layar selagi pengguna menjelajahi materi pada layar
 utama.</p>
 
 <p>PIP memanfaatkan API multi-jendela yang tersedia di Android N untuk
-menyediakan jendela overlay video yang disematkan. Untuk menambahkan PIP ke aplikasi, Anda harus
+menyediakan jendela hamparan video yang disematkan. Untuk menambahkan PIP ke aplikasi, Anda harus
 mendaftarkan aktivitas yang mendukung PIP, mengalihkan aktivitas Anda ke mode PIP bila
 diperlukan, serta memastikan elemen UI disembunyikan dan pemutaran video berlanjut bila
 aktivitas dalam mode PIP.</p>
@@ -72,7 +74,7 @@
 
 <p>Secara default, sistem tidak secara otomatis mendukung PIP untuk aplikasi.
 Jika Anda ingin mendukung PIP dalam aplikasi, daftarkan aktivitas
-video Anda dalam manifes dengan mengatur
+video Anda dalam manifes dengan menyetel
 <code>android:supportsPictureInPicture</code> dan
 <code>android:resizeableActivity</code> ke <code>true</code>. Juga, tetapkan
 bahwa aktivitas Anda menangani perubahan konfigurasi layout sehingga aktivitas
@@ -88,16 +90,16 @@
 </pre>
 
 <p>Saat mendaftarkan aktivitas Anda, ingatlah bahwa dalam mode PIP aktivitas
-Anda akan ditampilkan pada jendela overlay kecil pada layar TV. Aktivitas
+Anda akan ditampilkan pada jendela hamparan kecil pada layar TV. Aktivitas
 pemutaran video dengan UI minimal akan memberikan pengalaman pengguna terbaik. Aktivitas yang
-berisi elemen UI kecil mungkin tidak memberikan pengalaman pengguna yang baik
-bila beralih ke mode PIP, karena pengguna tidak bisa melihat elemen UI secara detail
+mengandung elemen UI kecil mungkin tidak memberikan pengalaman pengguna yang baik
+ketika beralih ke mode PIP, karena pengguna tidak dapat melihat elemen UI secara jelas
 di jendela PIP.</p>
 
 <h2 id="pip_button">Mengalihkan Aktivitas Anda ke Gambar-dalam-gambar</h2>
 
-Bila Anda perlu untuk mengalihkan aktivitas Anda ke mode PIP, panggil
-<code>Activity.enterPictureInPicture()</code>. Contoh berikut mengalihkan
+Bila Anda perlu untuk mengalihkan aktivitas ke mode PIP, panggil
+<code>Activity.enterPictureInPictureMode()</code>. Contoh berikut mengalihkan
 ke mode PIP bila pengguna memilih tombol PIP khusus pada baris
 kontrol media:</p>
 
@@ -105,7 +107,7 @@
 &#64;Override
 public void onActionClicked(Action action) {
     if (action.getId() == R.id.lb_control_picture_in_picture) {
-        getActivity().enterPictureInPicture();
+        getActivity().enterPictureInPictureMode();
         return;
     }
     ...
@@ -124,17 +126,17 @@
 
 <h2 id="handling_ui">Menangani UI Selama Gambar-dalam-gambar</h2>
 
-<p>Bila aktivitas Anda memasuki mode PIP, aktivitas Anda seharusnya hanya menampilkan pemutaran
-video. Hilangkan elemen UI sebelum aktivitas Anda memasuki PIP,
+<p>Bila aktivitas memasuki mode PIP, aktivitas Anda seharusnya hanya menampilkan pemutaran
+video. Buang elemen UI sebelum aktivitas Anda memasuki PIP,
 dan pulihkan elemen ini bila aktivitas Anda beralih ke layar penuh lagi.
-Kesampingkan <code>Activity.onPictureInPictureChanged()</code> atau
-<code>Fragment.onPictureInPictureChanged()</code> dan aktifkan atau
+Ganti <code>Activity.onPictureInPictureModeChanged()</code> atau
+<code>Fragment.onPictureInPictureModeChanged()</code> dan aktifkan atau
 nonaktifkan elemen UI saat diperlukan, misalnya:</p>
 
 <pre>
 &#64;Override
-public void onPictureInPictureChanged(boolean inPictureInPicture) {
-    if (inPictureInPicture) {
+public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
+    if (isInPictureInPictureMode) {
         // Hide the controls in picture-in-picture mode.
         ...
     } else {
@@ -157,8 +159,8 @@
 <pre>
 &#64;Override
 public void onPause() {
-    // If called due to PIP, do not pause playback
-    if (inPictureInPicture()) {
+    // If called while in PIP mode, do not pause playback
+    if (isInPictureInPictureMode()) {
         // Continue playback
         ...
     }
@@ -167,13 +169,38 @@
 }
 </pre>
 
-<p>Bila aktivitas Anda meninggalkan mode PIP dan kembali ke mode layar penuh, sistem
-akan melanjutkan aktivitas Anda dan memanggil metode <code>onResume()</code> Anda.</p>
+<p>Bila aktivitas meninggalkan mode PIP dan kembali ke mode layar penuh, sistem
+akan melanjutkan aktivitas Anda dan memanggil metode <code>onResume()</code>.</p>
+
+<h2 id="single_playback">Menggunakan Aktivitas Pemutaran Tunggal untuk
+ Gambar-dalam-gambar</h2>
+
+<p>Di aplikasi Anda, seorang pengguna bisa memilih video baru saat menyusuri materi di
+layar utama, selagi aktivitas pemutaran video dalam mode PIP. Putar
+video baru di aktivitas pemutaran yang ada dalam mode layar penuh, sebagai ganti
+meluncurkan aktivitas baru yang dapat membingungkan pengguna.</p>
+
+<p>Guna memastikan aktivitas tunggal digunakan untuk permintaan pemutaran video dan
+beralih ke atau dari mode PIP bila dibutuhkan, setel
+<code>android:launchMode</code> aktivitas ke <code>singleTask</code> dalam manifes Anda:
+</p>
+
+<pre>
+&lt;activity android:name="VideoActivity"
+    ...
+    android:supportsPictureInPicture="true"
+    android:launchMode="singleTask"
+    ...
+</pre>
+
+<p>Di aktivitas Anda, ganti {@link android.app.Activity#onNewIntent
+Activity.onNewIntent()} dan tangani video baru, yang akan menghentikan pemutaran video
+jika diperlukan.</p>
 
 <h2 id="best">Praktik Terbaik</h2>
 
 <p>PIP ditujukan untuk aktivitas yang memutar video layar penuh. Saat mengalihkan
-aktivitas Anda ke mode PIP, hindari menampilkan apa pun selain konten video.
+aktivitas Anda ke mode PIP, hindari menampilkan apa pun selain materi video.
 Pantau saat aktivitas Anda memasuki mode PIP dan sembunyikan elemen UI, seperti dijelaskan
 dalam <a href="#handling_ui">Menangani UI Selama Gambar-dalam-gambar</a>.</p>
 
@@ -181,6 +208,6 @@
 layar, Anda harus menghindari menampilkan informasi penting di layar utama
 di area mana saja yang bisa terhalang oleh jendela PIP.</p>
 
-<p>Bila aktivitas ada berada dalam mode PIP, secara default aktivitas itu tidak mendapatkan fokus input. Untuk
-menerima kejadian input saat dalam mode PIP, gunakan
+<p>Bila aktivitas ada berada dalam mode PIP, secara default aktivitas itu tidak mendapatkan fokus masukan. Untuk
+menerima kejadian masukan saat dalam mode PIP, gunakan
 <code>MediaSession.setMediaButtonReceiver()</code>.</p>
diff --git a/docs/html-intl/intl/in/preview/features/scoped-folder-access.jd b/docs/html-intl/intl/in/preview/features/scoped-folder-access.jd
index cbb7c9f..d557e96 100644
--- a/docs/html-intl/intl/in/preview/features/scoped-folder-access.jd
+++ b/docs/html-intl/intl/in/preview/features/scoped-folder-access.jd
@@ -1,5 +1,5 @@
 page.title=Scoped Directory Access
-page.keywords=preview,sdk,scoped directory access
+page.keywords=pratinjau,sdk,scoped directory access
 page.tags=androidn
 
 @jd:body
@@ -17,15 +17,15 @@
 
 <p>Aplikasi seperti aplikasi foto biasanya hanya memerlukan akses ke direktori tertentu dalam
 penyimpanan eksternal, seperti direktori <code>Pictures</code>. Pendekatan
-yang ada untuk mengakses penyimpanan eksternal tidak didesain untuk memberikan
-akses direktori target dengan mudah untuk tipe aplikasi ini. Misalnya:</p>
+yang ada dalam mengakses penyimpanan eksternal tidak didesain untuk memberi kemudahan
+akses direktori tertarget untuk tipe aplikasi ini. Misalnya:</p>
 
 <ul>
 <li>Meminta {@link android.Manifest.permission#READ_EXTERNAL_STORAGE}
 atau {@link android.Manifest.permission#WRITE_EXTERNAL_STORAGE} dalam manifes Anda
 akan memungkinkan akses ke semua direktori publik pada penyimpanan eksternal, yang mungkin
 lebih banyak akses dari yang dibutuhkan aplikasi Anda.</li>
-<li>Penggunaan
+<li>Menggunakan
 <a href="{@docRoot}guide/topics/providers/document-provider.html">Storage
 Access Framework</a> biasanya membuat pengguna Anda memilih direktori
 melalui UI sistem, yang tidak diperlukan jika aplikasi Anda selalu mengakses
@@ -41,9 +41,23 @@
 <code>StorageVolume</code> yang tepat. Kemudian, buat intent dengan memanggil metode
 <code>StorageVolume.createAccessIntent()</code> dari instance itu.
 Gunakan intent ini untuk mengakses direktori penyimpanan eksternal. Untuk mendapatkan daftar
-semua isi yang tersedia, termasuk isi media lepas-pasang, gunakan
+semua volume yang tersedia, termasuk volume media lepas-pasang, gunakan
 <code>StorageManager.getVolumesList()</code>.</p>
 
+<p>Jika Anda memiliki informasi tentang file spesifik, gunakan
+<code>StorageManager.getStorageVolume(File)</code> untuk mendapatkan
+<code>StorageVolume</code> yang berisi file tersebut. Panggil
+<code>createAccessIntent()</code> pada <code>StorageVolume</code> ini untuk mengakses
+direktori penyimpanan eksternal untuk file tersebut.</p>
+
+<p>
+Di volume kedua, seperti kartu SD eksternal, teruskan null saat memanggil
+<code>StorageVolume.createAccessIntent()</code> untuk meminta akses ke seluruh
+volume, sebagai ganti direktori spesifik.
+<code>StorageVolume.createAccessIntent()</code> akan mengembalikan null jika Anda meneruskan
+null ke volume utama, atau jika Anda meneruskan nama direktori yang tidak valid.
+</p>
+
 <p>Cuplikan kode berikut adalah contoh cara membuka direktori
 <code>Pictures</code> dalam penyimpanan bersama utama:</p>
 
@@ -62,7 +76,7 @@
 <p class="img-caption"><strong>Gambar 1.</strong> Sebuah aplikasi yang meminta
 akses ke direktori Pictures.</p>
 
-<p>Jika pengguna memberi akses, sistem akan memanggil pengesampingan
+<p>Jika pengguna memberi akses, sistem akan memanggil penggantian
 <code>onActivityResult()</code> Anda dengan kode hasil
 <code>Activity.RESULT_OK</code>, dan data intent yang berisi URI. Gunakan
 URI yang disediakan untuk mengakses informasi direktori, serupa dengan menggunakan URI
@@ -70,7 +84,7 @@
 <a href="{@docRoot}guide/topics/providers/document-provider.html">Storage
 Access Framework</a>.</p>
 
-<p>Jika pengguna tidak memberi akses, sistem akan memanggil pengesampingan
+<p>Jika pengguna tidak memberi akses, sistem akan memanggil penggantian
 <code>onActivityResult()</code> Anda dengan kode hasil
 <code>Activity.RESULT_CANCELED</code>, dan data intent nol.</p>
 
@@ -121,4 +135,14 @@
 
 <p>Jika pengguna menolak akses ke direktori eksternal, jangan langsung
 meminta akses lagi. Berulang kali meminta akses akan menghasilkan pengalaman
-pengguna yang buruk.</p>
+pengguna yang buruk. Jika permintaan ditolak oleh pengguna, dan aplikasi meminta akses
+lagi, UI akan menampilkan kotak centang <b>Don't ask again</b>:</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" />
+<p class="img-caption"><strong>Gambar 1.</strong> Sebuah aplikasi membuat
+permintaan kedua untuk mengakses media lepas-pasang.</p>
+
+<p>Jika pengguna memilih <b>Don't ask again</b> dan menolak permintaan,
+semua permintaan berikutnya untuk direktori yang diberikan dari aplikasi
+Anda secara otomatis akan ditolak, dan tidak ada UI permintaan yang akan ditampilkan ke pengguna.</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/in/preview/features/security-config.jd b/docs/html-intl/intl/in/preview/features/security-config.jd
index 3d7758d..53f5576 100644
--- a/docs/html-intl/intl/in/preview/features/security-config.jd
+++ b/docs/html-intl/intl/in/preview/features/security-config.jd
@@ -1,5 +1,5 @@
-page.title=Network Security Configuration
-page.keywords=androidn,security,network
+page.title=Konfigurasi Keamanan Jaringan
+page.keywords=androidn,keamanan,jaringan
 page.image=images/cards/card-nyc_2x.jpg
 
 @jd:body
@@ -12,12 +12,12 @@
   <li><a href="#manifest">Menambahkan File Konfigurasi Keamanan</a></li>
   <li><a href="#CustomTrust">Menyesuaikan CA Tepercaya</a>
       <ol>
-      <li><a href="#ConfigCustom">Mengonfigurasi CA Tepercaya Custom</a></li>
+      <li><a href="#ConfigCustom">Mengonfigurasi CA Tepercaya Khusus</a></li>
       <li><a href="#LimitingCas">Membatasi Set CA Tepercaya</a></li>
       <li><a href="#TrustingAdditionalCas">Mempercayai CA Tambahan</a></li>
       </ol>
   </li>
-  <li><a href="#TrustingDebugCa">Merunut CA Saja</a></li>
+  <li><a href="#TrustingDebugCa">CA Debug Saja</a></li>
   <li><a href="#UsesCleartextTraffic">Berhenti dari Lalu Lintas Cleartext</a></li>
   <li><a href="#CertificatePinning">Menyematkan Sertifikat</a></li>
   <li><a href="#ConfigInheritance">Perilaku Pewarisan Konfigurasi</a></li>
@@ -29,23 +29,23 @@
 
 <p>
   Android N menyertakan fitur
-  Network Security Configuration yang memungkinkan aplikasi menyesuaikan pengaturan keamanan jaringan mereka dalam
-  file konfigurasi deklaratif yang aman tanpa memodifikasi kode aplikasi. Pengaturan ini bisa
+  Network Security Configuration yang memungkinkan aplikasi menyesuaikan setelan keamanan jaringan mereka dalam
+  file konfigurasi deklaratif yang aman tanpa memodifikasi kode aplikasi. Setelan ini bisa
   dikonfigurasi untuk domain dan aplikasi tertentu. Kemampuan
   utama fitur ini adalah sebagai berikut:
 </p>
 
 <ul>
   <li>
-    <b>Trust-anchor custom:</b> Menyesuaikan Certificate Authorities (CA) mana
+    <b>Trust-anchor khusus:</b> Menyesuaikan Certificate Authorities (CA) mana
     yang dipercaya untuk koneksi aman aplikasi. Misalnya,
     mempercayai sertifikat tertentu yang ditandatangani sendiri atau membatasi
     set CA umum yang dipercaya aplikasi.
   </li>
 
   <li>
-    <b>Pengesampingan hanya-runut:</b> Merunut secara aman koneksi aman dalam aplikasi
-    tanpa menambahkan risiko pada basis yang telah diinstal.
+    <b>Penggantian hanya-debug:</b> Men-debug secara aman koneksi aman dalam aplikasi
+    tanpa menambahkan risiko pada basis yang telah dipasang.
   </li>
 
   <li>
@@ -64,35 +64,36 @@
 
 <p>
   Fitur Network Security Configuration menggunakan file XML tempat Anda menetapkan
-  pengaturan untuk aplikasi. Anda harus menyertakan sebuah entri dalam manifes aplikasi
+  setelan untuk aplikasi. Anda harus menyertakan sebuah entri dalam manifes aplikasi
   untuk menunjuk ke file ini. Kutipan kode berikut dari sebuah manifes
   yang memperagakan cara membuat entri ini:
 </p>
 
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?&gt;
-...
-&lt;app ...&gt;
+&lt;manifest ... &gt;
+  &lt;application ... &gt;
     &lt;meta-data android:name="android.security.net.config"
                android:resource="@xml/network_security_config" /&gt;
     ...
-&lt;/app&gt;
+  &lt;/application&gt;
+&lt;/manifest&gt;
 </pre>
 
 <h2 id="CustomTrust">Menyesuaikan CA Tepercaya</h2>
 
 <p>
-  Aplikasi mungkin perlu mempercayai set CA custom sebagai ganti default
+  Aplikasi mungkin perlu mempercayai set CA khusus sebagai ganti default
   platform. Alasannya yang paling umum adalah:
 </p>
 
 <ul>
-  <li>Menghubungkan ke host dengan otoritas sertifikat custom (ditandatangani sendiri,
+  <li>Menghubungkan ke host dengan otoritas sertifikat khusus (ditandatangani sendiri,
   dikeluarkan oleh CA internal, dll).
   </li>
 
   <li>Membatasi set CA hanya untuk CA yang Anda percaya sebagai ganti setiap CA
-  yang sudah terinstal.
+  yang sudah terpasang.
   </li>
 
   <li>Mempercayai CA tambahan yang tidak disertakan dalam sistem.
@@ -100,16 +101,16 @@
 </ul>
 
 <p>
-  Secara default koneksi (misalnya TLS, HTTPS) aman dari semua aplikasi mempercayai
-  CA yang telah diinstal oleh sistem, dan aplikasi yang menargetkan API level 23
+  Secara default koneksi (mis. TLS, HTTPS) aman dari semua aplikasi mempercayai
+  CA yang telah dipasang oleh sistem, dan aplikasi yang menargetkan API level 23
   (Android M) ke bawah, juga mempercayai penyimpanan CA yang ditambahkan pengguna secara default. Aplikasi
-  bisa menyesuaikan koneksinya sendiri menggunakan {@code base-config} (untuk
-  penyesuaian di tingkat aplikasi) atau {@code domain-config} (untuk penyesuaian
+  bisa menyesuaikan koneksinya menggunakan {@code base-config} (untuk
+  penyesuaian lebar-aplikasi) atau {@code domain-config} (untuk penyesuaian
   per-domain).
 </p>
 
 
-<h3 id="ConfigCustom">Mengonfigurasi CA Custom</h3>
+<h3 id="ConfigCustom">Mengonfigurasi CA Khusus</h3>
 
 <p>
   Anggaplah Anda ingin menghubungkan ke host Anda yang menggunakan sertifikat
@@ -147,7 +148,7 @@
 </p>
 
 <p>
-  Konfigurasi untuk membatasi set CA tepercaya mirip dengan <a href="#TrustingACustomCa">mempercayai CA custom</a> untuk domain tertentu selain
+  Konfigurasi untuk membatasi set CA tepercaya mirip dengan <a href="#TrustingACustomCa">mempercayai CA khusus</a> untuk domain tertentu selain
   beberapa CA disediakan dalam sumber daya.
 </p>
 
@@ -203,23 +204,23 @@
 </p>
 
 
-<h2 id="TrustingDebugCa">Mengonfigurasi CA untuk Perunutan</h2>
+<h2 id="TrustingDebugCa">Mengonfigurasi CA untuk Debug</h2>
 
 <p>
-  Saat merunut aplikasi yang terhubung melalui HTTPS, Anda mungkin perlu
+  Saat men-debug aplikasi yang terhubung melalui HTTPS, Anda mungkin perlu
   menghubungkan ke server pengembangan lokal, yang tidak memiliki sertifikat
   SSL untuk server produksi Anda. Untuk mendukungnya tanpa
-  memodifikasi kode aplikasi, Anda bisa menetapkan CA hanya-runut
+  memodifikasi kode aplikasi, Anda bisa menetapkan CA hanya-debug
   yang <i>hanya</i> dipercaya bila <a href="{@docRoot}guide/topics/manifest/application-element.html#debug">
 android:debuggable</a>
   adalah {@code true} dengan menggunakan {@code debug-overrides}. Biasanya IDE dan alat
-  build mengatur flag ini secara otomatis untuk build non-rilis.
+  build menyetel flag ini secara otomatis untuk build non-rilis.
 </p>
 
 <p>
   Ini lebih aman daripada kode kondisional biasa karena, sebagai tindakan
   pencegahan keamanan, toko aplikasi tidak menerima aplikasi yang ditandai
-  bisa-dirunut.
+  bisa-di-debug.
 </p>
 
 <p>
@@ -240,9 +241,9 @@
 <h2 id="UsesCleartextTraffic">Berhenti dari Lalu Lintas Cleartext</h2>
 
 <p>
-  Aplikasi yang bermaksud menghubungkan ke tujuan dengan hanya menggunakan koneksi
-  aman bisa berhenti mendukung cleartext (menggunakan protokol
-  HTTP yang tidak dienkripsi sebagai ganti HTTPS) ke tujuan tersebut. Opsi ini akan membantu mencegah
+  Aplikasi bermaksud menyambung ke tujuan hanya menggunakan koneksi
+ aman dapat memilih keluar dari dukungan cleartext (menggunakan protokol
+ HTTP yang tidak terenkripsi sebagai ganti HTTPS) ke tujuan tersebut. Opsi ini akan membantu mencegah
   regresi tidak disengaja dalam aplikasi karena perubahan dalam URL yang disediakan oleh sumber-sumber
   eksternal seperti server backend.
   Lihat {@link android.security.NetworkSecurityPolicy#isCleartextTrafficPermitted
@@ -271,7 +272,7 @@
 <h2 id="CertificatePinning">Menyematkan Sertifikat</h2>
 
 <p>
-  Biasanya aplikasi mempercayai semua CA yang telah terinstal. Jika salah satu dari CA ini
+  Biasanya aplikasi mempercayai semua CA yang telah terpasang. Jika salah satu dari CA ini
   mengeluarkan sertifikat palsu, aplikasi akan berisiko terkena serangan
   MiTM. Beberapa aplikasi memilih untuk membatasi set sertifikat yang mereka terima
   baik dengan membatasi set CA yang mereka percaya atau dengan menyematkan sertifikat.
@@ -293,9 +294,9 @@
 </p>
 
 <p>
-  Selain itu bisa juga mengatur waktu kedaluwarsa untuk pin yang setelah
-  itu penyematan tidak dilakukan. Hal ini membantu mencegah masalah konektivitas dalam
-  aplikasi yang belum diperbarui. Akan tetapi, mengatur waktu kedaluwarsa
+  Selain itu dimungkinkan juga menyetel waktu habis masa berlaku untuk pin setelah
+  penyematan tidak dilakukan. Hal ini membantu mencegah masalah konektivitas dalam
+  aplikasi yang belum diperbarui. Akan tetapi, menyetel waktu kedaluwarsa
   pada pin mungkin akan membuat penyematan bisa diabaikan.
 </p>
 
@@ -310,6 +311,7 @@
             &lt;pin digest="SHA-256"&gt;7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=&lt;/pin&gt;
             &lt;!-- backup pin --&gt
             &lt;pin digest="SHA-256"&gt;fwza0LRMXouZHRC8Ei+4PyuldPDcf3UKgO/04cDM1oE=&lt;/pin&gt;
+        &lt;/pin-set&gt;
     &lt;/domain-config&gt;
 &lt;/network-security-config&gt;
 </pre>
@@ -319,21 +321,21 @@
 <h2 id="ConfigInheritance">Perilaku Pewarisan Konfigurasi</h2>
 
 <p>
-  Nilai yang tidak diatur dalam konfigurasi tertentu akan diwariskan. Perilaku ini memungkinkan konfigurasi
+  Nilai yang tidak disetel dalam konfigurasi tertentu akan diwariskan. Perilaku ini memungkinkan konfigurasi
   yang lebih kompleks sambil menjaga file konfigurasi tetap terbaca.
 </p>
 
 <p>
-  Jika nilai tidak diatur dalam entri tertentu maka nilai dari entri berikutnya yang lebih
-  umum akan digunakan. Nilai yang tidak diatur dalam {@code domain-config} akan
+  Jika nilai tidak disetel dalam entri tertentu maka nilai dari entri berikutnya yang lebih
+  umum akan digunakan. Nilai yang tidak disetel dalam {@code domain-config} akan
   diambil dari {@code domain-config} induk, jika tersarang, atau dari {@code
-  base-config} jika tidak. Nilai yang tidak diatur dalam {@code base-config} akan menggunakan
+  base-config} jika tidak. Nilai yang tidak disetel dalam {@code base-config} akan menggunakan
   nilai default platform.
 </p>
 
 <p>
   Misalnya pertimbangkan, bila semua koneksi ke subdomain {@code
-  example.com} harus menggunakan set CA custom. Selain itu, lalu lintas cleartext ke
+  example.com} harus menggunakan set CA khusus. Selain itu, lalu lintas cleartext ke
   domain ini diizinkan <em>kecuali</em> saat menghubungkan ke {@code
   secure.example.com}. Dengan menyarangkan konfigurasi untuk {@code
   secure.example.com} dalam konfigurasi untuk {@code example.com},
@@ -454,7 +456,7 @@
     tercakup oleh <a href="#domain-config"><code>domain-config</code></a>.
 
 <p>
-  Nilai yang tidak diatur akan menggunakan nilai default platform. Konfigurasi
+  Nilai yang tidak disetel akan menggunakan nilai default platform. Konfigurasi
   default untuk aplikasi yang menargetkan API level 24 ke atas:
 </p>
 
@@ -572,7 +574,7 @@
     yang dihasilkan oleh alat IDE dan build. Trust-anchor yang ditetapkan dalam {@code
     debug-overrides} akan ditambahkan ke semua konfigurasi lainnya dan penyematan
     sertifikat tidak dilakukan bila rantai sertifikat server menggunakan satu dari
-    trust-anchor hanya-runut ini. Jika <a href="{@docRoot}guide/topics/manifest/application-element.html#debug">android:debuggable</a>
+    trust-anchor hanya-debug ini. Jika <a href="{@docRoot}guide/topics/manifest/application-element.html#debug">android:debuggable</a>
     adalah {@code "false"} maka bagian ini akan diabaikan sepenuhnya.
   </dd>
 </dl>
@@ -630,7 +632,7 @@
   komentar.
   </li>
 
-  <li>{@code "system"} untuk sertifikat CA sistem yang telah terinstal.
+  <li>{@code "system"} untuk sertifikat CA sistem yang telah terpasang.
   </li>
 
   <li>{@code "user"} untuk sertifikat CA yang ditambahkan pengguna.
@@ -642,9 +644,9 @@
 <dd>
   <p>
     Menetapkan apakah CA dari sumber akan mengabaikan penyematan sertifikat. Jika {@code
-    "true"} maka rantai sertifikat yang rantainya melalui salah satu CA dari
-    sumber ini tidak akan disematkan. Hal ini bisa berguna untuk CA
-    perunutan atau untuk mendukung dengan memungkinkan pengguna melakukan MiTM atas lalu lintas aman aplikasi Anda.
+    "true"} kemudian rangkaian sertifikat melalui salah satu CA dari
+    sumber ini maka tidak dilakukan penyematan. Hal ini bisa berguna untuk debug CA
+    atau untuk mendukung dengan memungkinkan pengguna melakukan MiTM atas lalu lintas aman aplikasi Anda.
   </p>
 
   <p>
@@ -701,11 +703,11 @@
 
       <dd>
         Tanggal, dalam format {@code yyyy-MM-dd}, pada saat dan setelah pin
-        kedaluwarsa, sehingga menonaktifkan penyematan. Jika atribut tidak diatur maka
+        kedaluwarsa, sehingga menonaktifkan penyematan. Jika atribut tidak disetel maka
         pin tidak kedaluwarsa.
         <p>
           Tanggal kedaluwarsa membantu mencegah masalah konektivitas di aplikasi yang
-          tidak mendapatkan pembaruan untuk set pin mereka, misalnya karena pengguna
+          tidak mengambil pembaruan untuk set pin mereka, misalnya karena pengguna
           menonaktifkan pembaruan aplikasi.
         </p>
       </dd>
@@ -737,7 +739,7 @@
       </dt>
 
       <dd>
-        Algoritma intisari yang digunakan untuk menghasilkan pin. Saat ini, hanya 
+        Algoritme intisari yang digunakan untuk menghasilkan pin. Saat ini, hanya 
         {@code "SHA-256"} yang didukung.
       </dd>
     </dl>
diff --git a/docs/html-intl/intl/in/preview/features/tv-recording-api.jd b/docs/html-intl/intl/in/preview/features/tv-recording-api.jd
index 7b9ca01..afedf8f 100644
--- a/docs/html-intl/intl/in/preview/features/tv-recording-api.jd
+++ b/docs/html-intl/intl/in/preview/features/tv-recording-api.jd
@@ -1,5 +1,5 @@
 page.title=Perekaman TV
-page.keywords=preview,sdk,tv,recording
+page.keywords=pratinjau,sdk,tv,perekaman
 page.tags=androidn
 page.image=images/cards/card-nyc_2x.jpg
 
@@ -18,40 +18,61 @@
 </div>
 </div>
 
-<p>Layanan input TV memungkinkan pengguna menghentikan sementara dan melanjutkan pemutaran saluran melalui
-API perekaman atau time-shifting. Android N telah berkembang hingga ke perekaman
+<p>Layanan masukan TV memungkinkan pengguna menghentikan sementara dan melanjutkan pemutaran saluran melalui
+API perekaman. Android N telah berkembang hingga ke perekaman
 dengan memungkinkan pengguna menyimpan beberapa sesi rekaman.</p>
 
 <p>Pengguna bisa menjadwalkan rekaman terlebih dahulu, atau memulai rekaman sambil menonton
-suatu acara. Setelah sistem menyimpan rekaman, pengguna bisa melihat-lihat, menata,
+suatu acara. Setelah sistem menyimpan rekaman, pengguna bisa menjelajah, menata,
 dan memutar kembali rekaman tersebut menggunakan aplikasi TV di sistem.</p>
 
-<p>Jika Anda ingin menyediakan fungsionalitas perekaman untuk layanan input TV,
+<p>Jika Anda ingin menyediakan fungsi perekaman untuk layanan masukan TV,
 Anda harus menunjukkan pada sistem bahwa aplikasi Anda mendukung perekaman, mengimplementasikan
-kemampuan untuk merekam acara, menangani dan memberitahukan setiap kesalahan yang terjadi
-selama perekaman, serta mengelola sesi yang telah Anda rekam.</p>
+kemampuan merekam program, menangani dan mengomunikasikan kesalahan yang muncul
+selama perekaman, dan mengelola sesi perekaman Anda.</p>
+
+<p class="note"><strong>Catatan:</strong> Aplikasi Live Channels belum
+menyediakan cara bagi pengguna untuk membuat atau mengakses perekaman. Hingga dibuat perubahan
+di aplikasi Live Channels, mungkin sulit menguji sepenuhnya pengalaman
+perekaman untuk layanan masukan TV Anda.</p>
 
 <h2 id="supporting">Menunjukkan Dukungan untuk Perekaman</h2>
 
-<p>Untuk memberi tahu sistem bahwa layanan input TV Anda mendukung perekaman, ikuti
+<p>Untuk memberi tahu sistem bahwa layanan masukan TV Anda mendukung perekaman, setel
+atribut <code>android:canRecord</code> di file XML metadata layanan Anda
+ke <code>true</code>:
+</p>
+
+<pre>
+&lt;tv-input xmlns:android="http://schemas.android.com/apk/res/android"
+  <b>android:canRecord="true"</b>
+  android:setupActivity="com.example.sampletvinput.SampleTvInputSetupActivity" /&gt;
+</pre>
+
+<p>Untuk informasi selengkapnya mengenai layanan file metadata, lihat
+<a href="{@docRoot}training/tv/tif/tvinput.html#manifest">Mendeklarasikan Layanan Masukan TV Anda
+di Manifes</a>.
+</p>
+
+<p>Atau, Anda bisa menunjukkan dukungan perekaman dalam kode Anda menggunakan
 langkah-langkah ini:</p>
 
 <ol>
-<li>Dalam metode<code>TvInputService.onCreate()</code> Anda, buat objek
+<li>Dalam metode <code>TvInputService.onCreate()</code> Anda, buat objek
 <code>TvInputInfo</code> baru menggunakan kelas <code>TvInputInfo.Builder</code>.
 </li>
 <li>Saat membuat objek <code>TvInputInfo</code> baru, panggil
 <code>setCanRecord(true)</code> sebelum memanggil <code>build()</code> untuk
-menunjukkan bahwa layanan Anda mendukung perekaman.</li>
+ menunjukkan layanan Anda mendukung perekaman.</li>
 <li>Daftarkan objek <code>TvInputInfo</code> Anda pada sistem dengan memanggil
-<code>TvInputService.updateTvInputInfo()</code>.</li>
+<code>TvInputManager.updateTvInputInfo()</code>.</li>
 </ol>
 
 <h2 id="recording">Merekam Sesi</h2>
 
-<p>Setelah layanan input TV Anda didaftarkan bahwa ia mendukung fungsionalitas
+<p>Setelah layanan masukan TV Anda mendaftar bahwa mendukung fungsionalitas
 perekaman, sistem akan memanggil
-<code>TvInputService.onCreateRecordingSession()</code> Anda bila perlu mengakses
+<code>TvInputService.onCreateRecordingSession()</code> bila perlu untuk mengakses
 implementasi perekaman aplikasi Anda. Implementasikan subkelas
 <code>TvInputService.RecordingSession</code> Anda sendiri dan kembalikan
 bila callback <code>onCreateRecordingSession()</code> dipicu.
@@ -84,9 +105,9 @@
 
 <h2 id="errors">Menangani Kesalahan Perekaman</h2>
 
-<p>Jika terjadi kesalahan selama perekaman, rendering data yang terekam menjadi tidak bisa digunakan,
+<p>Jika terjadi kesalahan selama perekaman, yang menghasilkan data terekam yang tidak bisa digunakan,
 beri tahu sistem dengan memanggil <code>RecordingSession.notifyError()</code>.
-Begitu pula, Anda bisa memanggil <code>notifyError()</code> setelah sesi perekaman dibuat
+Begitu juga, Anda bisa memanggil <code>notifyError()</code> setelah sesi rekaman dibuat
 agar sistem mengetahui bahwa aplikasi Anda tidak bisa lagi merekam sesi.</p>
 
 <p>Jika terjadi kesalahan selama perekaman, namun Anda ingin menyediakan rekaman parsial
@@ -97,14 +118,14 @@
 <h2 id="sessions">Mengelola Sesi yang Direkam</h2>
 
 <p>Sistem menyimpan informasi untuk semua sesi yang direkam dari semua
-aplikasi saluran yang mampu merekam dalam tabel penyedia konten <code>TvContract.RecordedPrograms</code>.
- Informasi ini bisa diakses lewat URI konten
-<code>RecordedPrograms.Uri</code>. Gunakan API konten penyedia untuk
-membaca, menambah, dan menghapus entri dari tabel ini.</p>
+aplikasi saluran yang mampu merekam dalam tabel penyedia materi <code>TvContract.RecordedPrograms</code>.
+ Informasi ini bisa diakses lewat URI materi
+<code>RecordedPrograms.Uri</code>. Gunakan API penyedia materi untuk
+membaca, menambahkan, dan menghapus entri dari tabel ini.</p>
 
-<p>Untuk informasi selengkapnya tentang menangani data penyedia konten, lihat
+<p>Untuk informasi selengkapnya tentang menangani data penyedia materi, lihat
 <a href="{@docRoot}guide/topics/providers/content-provider-basics.html">
-Dasar-Dasar Penyedia Konten</a>.</p>
+Dasar-Dasar Penyedia Materi</a>.</p>
 
 <h2 id="best">Praktik Terbaik</h2>
 
diff --git a/docs/html-intl/intl/in/preview/guide.jd b/docs/html-intl/intl/in/preview/guide.jd
new file mode 100644
index 0000000..a229beb
--- /dev/null
+++ b/docs/html-intl/intl/in/preview/guide.jd
@@ -0,0 +1,190 @@
+page.title=Panduan Pengujian
+page.image=images/cards/card-n-guide_2x.png
+meta.tags="preview", "testing"
+page.tags="preview", "developer preview"
+
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>Dalam dokumen ini</h2>
+      <ol>
+        <li><a href="#runtime-permissions">Izin Pengujian</a></li>
+        <li><a href="#doze-standby">Menguji Istirahatkan dan Aplikasi Siaga</a></li>
+        <li><a href="#ids">Pencadangan Otomatis dan Identifier Perangkat</a></li>
+      </ol>
+  </div>
+</div>
+
+<p>
+  Android N memberi Anda kesempatan untuk memastikan aplikasi bekerja pada
+  platform versi berikutnya. Pratinjau ini berisi beberapa API dan perubahan perilaku yang bisa
+  memengaruhi aplikasi Anda, sebagaimana dijelaskan dalam <a href="{@docRoot}preview/api-overview.html">Ringkasan
+  API</a> dan <a href="{@docRoot}preview/behavior-changes.html">Perubahan Perilaku</a>. Dalam menguji
+  aplikasi dengan pratinjau, ada beberapa perubahan sistem spesifik yang harus Anda fokuskan untuk
+  memastikan pengguna mendapatkan pengalaman yang bagus.
+</p>
+
+<p>
+  Panduan ini menjelaskan apa dan bagaimana menguji fitur pratinjau dengan aplikasi Anda. Anda harus
+  mengutamakan pengujian fitur pratinjau spesifik ini, dikarenakan pengaruhnya yang besar pada
+  perilaku aplikasi Anda:
+</p>
+
+<ul>
+  <li><a href="#runtime-permissions">Izin</a>
+  </li>
+  <li><a href="#doze-standby">Istirahatkan dan Aplikasi Siaga</a>
+  </li>
+  <li><a href="#ids">Pencadangan Otomatis dan Identifier Perangkat</a></li>
+</ul>
+
+<p>
+  Untuk informasi selengkapnya tentang cara menyiapkan perangkat atau perangkat maya dengan citra sistem pratinjau
+  untuk pengujian, lihat <a href="{@docRoot}preview/setup-sdk.html">Menyiapkan
+Android N SDK</a>.
+</p>
+
+
+<h2 id="runtime-permissions">Izin Pengujian</h2>
+
+<p>
+  Model <a href="{@docRoot}preview/features/runtime-permissions.html">Izin</a> yang baru
+  mengubah cara alokasi izin untuk aplikasi Anda oleh pengguna. Sebagai ganti memberi semua
+  izin selama prosedur pemasangan, aplikasi Anda harus meminta izin kepada pengguna secara individual
+ pada waktu proses. Bagi pengguna, perilaku ini memberi kontrol yang lebih detail atas setiap aktivitas aplikasi, dan
+  juga konteks yang lebih untuk memahami sebab aplikasi meminta izin tertentu. Pengguna
+  bisa memberi atau mencabut izin yang diberikan pada suatu aplikasi secara individual kapan saja. Fitur
+  pratinjau ini kemungkinan besar memengaruhi perilaku aplikasi Anda dan mungkin menghambat fungsi beberapa
+  fitur aplikasi Anda, atau mengurangi kualitas kerjanya.
+</p>
+
+<p class="caution">
+  Perubahan ini memengaruhi semua aplikasi yang berjalan di platform baru, bahkan aplikasi yang tidak menargetkan versi
+  platform baru. Platform ini memberikan perilaku kompatibilitas terbatas untuk aplikasi lawas, namun Anda
+  harus mulai merencanakan migrasi aplikasi ke model izin baru sekarang juga, dengan tujuan
+  mempublikasikan versi terbaru aplikasi Anda saat peluncuran platform secara resmi.
+</p>
+
+
+<h3 id="permission-test-tips">Tip pengujian</h3>
+
+<p>
+  Gunakan tip berikut untuk membantu Anda merencanakan dan menjalankan pengujian aplikasi dengan
+  perilaku izin yang baru.
+</p>
+
+<ul>
+  <li>Identifikasi izin aplikasi Anda saat ini dan jalur kode terkait.</li>
+  <li>Uji alur pengguna pada semua layanan dan data yang dilindungi izin.</li>
+  <li>Uji dengan berbagai kombinasi izin yang diberikan/dicabut.</li>
+  <li>Gunakan alat bantu {@code adb} untuk mengelola izin dari baris perintah:
+    <ul>
+      <li>Cantumkan daftar izin dan status berdasarkan kelompok:
+        <pre>adb shell pm list permissions -d -g</pre>
+      </li>
+      <li>Beri atau cabut satu atau beberapa izin menggunakan sintaks berikut:<br>
+        <pre>adb shell pm [grant|revoke] &lt;permission.name&gt; ...</pre>
+      </li>
+    </ul>
+  </li>
+  <li>Analisis aplikasi Anda untuk layanan yang menggunakan izin.</li>
+</ul>
+
+<h3 id="permission-test-strategy">Strategi pengujian</h3>
+
+<p>
+  Perubahan izin memengaruhi struktur dan desain aplikasi Anda, begitu juga
+  pengalaman pengguna dan alur yang Anda sediakan untuk pengguna. Anda harus menilai penggunaan izin
+  aplikasi saat ini dan mulai merencanakan alur baru yang ingin ditawarkan. Rilis platform
+  resmi menyediakan perilaku kompatibilitas, namun Anda harus merencanakan pembaruan aplikasi dan tidak
+  bergantung pada perilaku ini.
+</p>
+
+<p>
+  Identifikasi izin yang sebenarnya diperlukan dan digunakan aplikasi Anda, kemudian temukan berbagai
+  jalur kode yang menggunakan layanan yang dilindungi izin. Anda bisa melakukan ini melalui kombinasi
+  pengujian pada platform baru dan analisis kode. Dalam pengujian, Anda harus fokus pada pemilihan
+ izin waktu proses dengan mengubah {@code targetSdkVersion} aplikasi ke versi pratinjau. Untuk
+  informasi selengkapnya, lihat <a href="{@docRoot}preview/setup-sdk.html#">Menyiapkan
+Android N SDK</a>.
+</p>
+
+<p>
+  Uji dengan berbagai kombinasi izin yang dicabut dan ditambahkan, untuk menyoroti alur pengguna yang
+  bergantung pada izin. Jika dependensi tidak jelas atau logis, Anda harus mempertimbangkan
+optimalisasi atau kompartementalisasi alur tersebut untuk mengeliminasi dependensi atau menjelaskan alasan
+  diperlukannya izin.
+</p>
+
+<p>
+  Untuk informasi selengkapnya tentang perilaku izin waktu proses, pengujian, dan praktik terbaik, lihat
+  halaman pratinjau <a href="{@docRoot}preview/features/runtime-permissions.html">Izin</a>
+  pengembang.
+</p>
+
+
+<h2 id="doze-standby">Menguji Istirahatkan dan Aplikasi Siaga</h2>
+
+<p>
+  Fitur penghematan daya Istirahatkan dan Aplikasi Siaga membatasi jumlah pemrosesan latar belakang yang
+  bisa dikerjakan aplikasi Anda saat perangkat dalam keadaan diam atau saat aplikasi Anda sedang tidak fokus. Pembatasan
+  yang dapat diberlakukan oleh sistem pada aplikasi termasuk akses jaringan terbatas atau tidak ada,
+  tugas latar belakang yang ditangguhkan, Pemberitahuan yang ditangguhkan, permintaan membangunkan yang diabaikan, serta alarm. Untuk memastikan
+  aplikasi Anda berperilaku dengan benar pada optimalisasi penghematan daya ini, Anda harus menguji aplikasi dengan
+ menyimulasikan keadaan baterai yang sedang tinggal sedikit ini.
+</p>
+
+<h4 id="doze">Menguji aplikasi Anda dengan Istirahatkan</h4>
+
+<p>Untuk menguji Istirahatkan dengan aplikasi Anda:</p>
+
+<ol>
+<li>Konfigurasikan perangkat keras atau perangkat maya dengan citra sistem Android N.</li>
+<li>Hubungkan perangkat dengan mesin pengembangan dan pasang aplikasi Anda.</li>
+<li>Jalankan aplikasi Anda dan biarkan aktif.</li>
+<li>Simulasikan perangkat yang sedang masuk ke dalam mode Istirahatkan dengan menjalankan perintah berikut:
+
+<pre>
+$ adb shell dumpsys battery unplug
+$ adb shell dumpsys deviceidle step
+$ adb shell dumpsys deviceidle -h
+</pre>
+
+  </li>
+  <li>Amati perilaku aplikasi Anda saat perangkat diaktifkan kembali. Pastikan aplikasi
+    pulih dengan baik saat perangkat keluar dari Istirahatkan.</li>
+</ol>
+
+
+<h4 id="standby">Menguji aplikasi dengan Aplikasi Siaga</h4>
+
+<p>Untuk menguji mode Aplikasi Siaga dengan aplikasi Anda:</p>
+
+<ol>
+  <li>Konfigurasikan perangkat keras atau perangkat maya dengan citra sistem Android N.</li>
+  <li>Hubungkan perangkat dengan mesin pengembangan dan pasang aplikasi Anda.</li>
+  <li>Jalankan aplikasi Anda dan biarkan aktif.</li>
+  <li>Simulasikan aplikasi yang sedang masuk ke dalam mode siaga dengan menjalankan perintah berikut:
+
+<pre>
+$ adb shell am broadcast -a android.os.action.DISCHARGING
+$ adb shell am set-idle &lt;packageName&gt; true
+</pre>
+
+  </li>
+  <li>Simulasikan membangunkan aplikasi Anda menggunakan perintah berikut:
+    <pre>$ adb shell am set-idle &lt;packageName&gt; false</pre>
+  </li>
+  <li>Amati perilaku aplikasi Anda saat dibangunkan. Pastikan aplikasi pulih dengan baik
+   dari mode siaga. Secara khusus, Anda harus memeriksa apakah Pemberitahuan aplikasi dan pekerjaan latar belakang
+   tetap berjalan sebagaimana yang diharapkan.</li>
+</ol>
+
+<h2 id="ids">Auto Backup for Apps dan Identifier Perangkat Spesifik</h2>
+
+<p>Jika aplikasi Anda mempertahankan identifier perangkat spesifik, seperti ID pendaftaran Google
+Cloud Messaging, dalam penyimpanan internal,
+pastikan Anda mengikuti praktik terbaik untuk mengecualikan lokasi
+penyimpanan dari pencadangan otomatis, seperti dijelaskan dalam <a href="{@docRoot}preview/backup/index.html">Auto
+Backup for Apps</a>. </p>
diff --git a/docs/html-intl/intl/in/preview/index.jd b/docs/html-intl/intl/in/preview/index.jd
index 38af201..a8f61eb 100644
--- a/docs/html-intl/intl/in/preview/index.jd
+++ b/docs/html-intl/intl/in/preview/index.jd
@@ -25,15 +25,15 @@
         <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. Dukunglah
-          perilaku sistem baru untuk <strong>menghemat daya dan memori</strong>.
-          Tambah aplikasi Anda dengan <strong>UI multijendela</strong>,
+          <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>
-          Memulai
+          Mulai
         </a><!--<br>
         <a class="dac-hero-cta" href="{@docRoot}preview/support.html">
           <span class="dac-sprite dac-auto-chevron"></span>
@@ -102,7 +102,18 @@
   </div><!-- end .wrap -->
 </div>
 
-<section class="dac-section dac-light"><div class="wrap">
+<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.
diff --git a/docs/html-intl/intl/in/preview/j8-jack.jd b/docs/html-intl/intl/in/preview/j8-jack.jd
index 4b25246..bbb1670 100644
--- a/docs/html-intl/intl/in/preview/j8-jack.jd
+++ b/docs/html-intl/intl/in/preview/j8-jack.jd
@@ -23,9 +23,9 @@
 </p>
 
 <p>Untuk mulai menggunakan fitur-fitur ini, Anda perlu mengunduh dan menyiapkan Android
-Studio 2.1 (preview) dan Android N Preview SDK, yang menyertakan
-Jack toolchain yang diperlukan dan Plugin Android untuk Gradle yang telah diperbarui. Jika Anda belum menginstal
-Android N Preview SDK, lihat <a href="{@docRoot}preview/setup-sdk.html">Menyiapkan Pengembangan untuk Android N</a>.</p>
+Studio 2.1 dan Android N Preview SDK, yang menyertakan
+Jack toolchain yang diperlukan dan Plugin Android untuk Gradle yang telah diperbarui. Jika Anda belum
+memasang Android N Preview SDK, lihat <a href="{@docRoot}preview/setup-sdk.html">Menyiapkan Pengembangan untuk Android N</a>.</p>
 
 
 
@@ -33,7 +33,7 @@
   <strong>Catatan:</strong> Menggunakan fitur bahasa Java 8 yang baru bukanlah
   persyaratan untuk mengembangkan aplikasi yang menargetkan platform Android N. Jika Anda
   tidak ingin menulis kode dengan fitur bahasa Java 8, Anda bisa membiarkan nilai kompatibilitas
-  sumber dan target proyek Anda diatur ke Java 7, namun Anda tetap harus
+  sumber dan target proyek disetel ke Java 7, namun Anda tetap harus
   mengompilasi dengan JDK 8 untuk membangun pada platform Android N.
 </p>
 
@@ -49,21 +49,33 @@
 
 <ul>
   <li>
-    <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html">Metode-metode
+    <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html">Metode
     antarmuka default dan statis</a>
   </li>
 
   <li>
     <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html">
-    Ekspresi Lambda</a>
+    Ekspresi Lambda</a> (juga tersedia pada API level 23 dan yang lebih rendah)
   </li>
 
   <li>
     <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/annotations/repeating.html">Anotasi
     yang bisa diulang</a>
   </li>
+
+  <li>
+    <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html">
+    Referensi Metode</a> (juga tersedia pada API level 23 dan yang lebih rendah)
+  </li>
 </ul>
 
+<p class="note">
+  <strong>Catatan:</strong> Untuk menguji ekspresi lambda dan referensi metode pada
+  Android versi sebelumnya, bukalah file {@code build.gradle}
+  Anda, serta setel {@code compileSdkVersion} dan {@code targetSdkVersion} ke 23 atau
+  yang lebih rendah. Anda tetap perlu <a href="#configuration">mengaktifkan Jack
+  toolchain</a> untuk menggunakan fitur Java 8 ini.
+</p>
 
 <p>
   Selain itu, API fitur bahasa Java 8 berikut ini sekarang tersedia:
@@ -71,60 +83,60 @@
 
 <ul>
   <li>Reflection API dan API terkait bahasa:
-  </li>
-
-  <li style="list-style: none; display: inline">
     <ul>
-      <li>{@code java.lang.FunctionalInterface}
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html">
+        {@code java.lang.FunctionalInterface}</a>
       </li>
 
-      <li>{@code java.lang.annotation.Repeatable}
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Repeatable.html">
+        {@code java.lang.annotation.Repeatable}</a>
       </li>
 
-      <li>{@code java.lang.reflect.Method.isDefault()}
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html#isDefault--">
+        {@code java.lang.reflect.Method.isDefault()}</a>
       </li>
 
       <li>dan Reflection API yang terkait dengan anotasi yang bisa diulang, seperti
-     {@code AnnotatedElement.getAnnotationsByType(Class)}
+     <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/AnnotatedElement.html#getAnnotationsByType-java.lang.Class-">
+{@code AnnotatedElement.getAnnotationsByType(Class)}</a>
       </li>
     </ul>
   </li>
-  <li>Utility API:
-  </li>
 
-  <li style="list-style: none; display: inline">
+  <li>Utility API:
     <ul>
-      <li>{@code java.util.function}
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html">
+        {@code java.util.function}</a>
+      </li>
+
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html">
+        {@code java.util.stream}</a>
       </li>
     </ul>
   </li>
 </ul>
 
-<p class="note">
-  <strong>Catatan:</strong> Android N mendasarkan implementasi ekspresi
-  lambda pada kelas anonim. Pendekatan ini memungkinkannya kompatibel
-  mundur dan bisa dieksekusi pada versi Android sebelumnya. Untuk menguji ekspresi
-  lambda pada versi sebelumnya, jangan lupa masuk ke file {@code
-  build.gradle} Anda, serta mengatur {@code compileSdkVersion} dan {@code
-  targetSdkVersion} ke 23 atau yang lebih rendah.
-</p>
-
 <h2 id="configuration">
   Mengaktifkan Fitur Java 8 dan Jack Toolchain
 </h2>
 
 <p>
-  Agar bisa menggunakan fitur bahasa Java 8 yang baru, Anda juga perlu menggunakan
-  <a class="external-link" href="https://source.android.com/source/jack.html">Jack toolchain</a>
-  yang baru. Android Toolchain yang baru ini mengompilasi sumber bahasa Java menjadi dex
-  bytecode yang bisa dibaca Android, memiliki format pustaka {@code .jack} sendiri, dan menyediakan sebagian besar fitur
-  toolchain sebagai bagian dari alat tunggal: pengemasan ulang, penciutan, pengaburan dan
+  Agar dapat menggunakan fitur bahasa Java 8 yang baru, Anda juga perlu menggunakan 
+  <a class="external-link" href="https://source.android.com/source/jack.html">Jack toolchain</a> yang baru.  Toolchain Android
+ yang baru ini mengompilasi sumber bahasa Java menjadi dex
+  bytecode yang bisa dibaca Android, memiliki format  pustaka {@code .jack} sendiri, dan menyediakan sebagian besar fitur toolchain
+  sebagai bagian dari alat bantu tunggal: pengemasan ulang, penciutan, pengaburan, dan
   multidex.
 </p>
 
 <p>Inilah perbandingan dua toolchain yang digunakan untuk membangun file Android DEX:</p>
 <ul>
-  <li>Toolchain javac lama:<br>
+  <li>Toolchain javac lawas:<br>
   <b>javac</b> ({@code .java} --&gt; {@code .class}) --&gt; <b>dx</b> ({@code
  .class} --&gt; {@code .dex})
   </li>
@@ -139,8 +151,8 @@
 </h3>
 
 <p>
-  Untuk mengaktifkan fitur bahasa Java 8 dan Jack untuk proyek Anda, masukkan
-  yang berikut dalam file {@code build.gradle} yang spesifik untuk modul:
+  Untuk mengaktifkan fitur bahasa Java 8 dan Jack bagi proyek Anda, masukkan
+  yang berikut dalam file {@code build.gradle} level modul Anda:
 </p>
 
 <pre>
@@ -159,25 +171,27 @@
 }
 </pre>
 
-<h3>
+<h3 id="known-issues">
   Masalah yang Diketahui
 </h3>
 
 <p>
-  Instant Run, yang diperkenalkan dalam Android Studio 2.0 (Beta), saat ini tidak berfungsi
-  dengan Jack dan akan dinonaktifkan saat menggunakan toolchain baru.
+  <a href="{@docRoot}tools/building/building-studio.html#instant-run">Instant
+  Run</a> saat ini tidak berfungsi pada Jack dan akan dinonaktifkan saat menggunakan
+  toolchain baru.
 </p>
 
 <p>Karena Jack tidak menghasilkan file kelas antara saat mengompilasi sebuah
 aplikasi, alat yang bergantung pada file-file ini sekarang tidak berfungsi pada Jack. Beberapa
-contoh alat-alat ini adalah:</p>
+contoh alat ini adalah:</p>
 
 <ul>
   <li>Pendeteksi lint yang beroperasi pada file kelas
   </li>
 
-  <li>Alat dan pustaka yang mewajibkan file kelas aplikasi (misalnya JaCoCo
-  dan Mockito)</li>
+  <li>Alat dan pustaka yang mewajibkan file kelas aplikasi (misalnya
+pengujian instrumentasi dengan JaCoCo)
+  </li>
 </ul>
 
 <p>Jika Anda menemukan masalah lain saat menggunakan Jack, <a href="http://tools.android.com/filing-bugs">laporkan bug</a>.</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/in/preview/license.jd b/docs/html-intl/intl/in/preview/license.jd
new file mode 100644
index 0000000..56ae58a
--- /dev/null
+++ b/docs/html-intl/intl/in/preview/license.jd
@@ -0,0 +1,145 @@
+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, 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>
\ No newline at end of file
diff --git a/docs/html-intl/intl/in/preview/overview.jd b/docs/html-intl/intl/in/preview/overview.jd
index 56e963b..c1fc0b5 100644
--- a/docs/html-intl/intl/in/preview/overview.jd
+++ b/docs/html-intl/intl/in/preview/overview.jd
@@ -1,7 +1,7 @@
-page.title=Ikhtisar Program
-page.metaDescription=Persiapkan aplikasi Anda untuk versi Android berikutnya.
+page.title=Ringkasan Program
+page.metaDescription=Persiapkan aplikasi Anda untuk versi Android berikutnya
 page.image=images/cards/card-n-overview_2x.png
-meta.tags="preview", "pengembang", "android"
+meta.tags="preview", "developer", "android"
 page.tags="preview", "developer", "android"
 
 @jd:body
@@ -38,8 +38,8 @@
 
 <p>
   Selamat datang di <strong>Android N Developer Preview</strong>, program yang
- akan memberi apa saja yang Anda butuhkan untuk menguji dan mengoptimalkan aplikasi untuk versi
- Android berikutnya. Program ini tersedia gratis, dan Anda bisa langsung memulai hanya dengan
+  akan memberi apa saja yang Anda butuhkan untuk menguji dan mengoptimalkan aplikasi untuk versi
+  Android berikutnya. Program ini tersedia gratis, dan Anda bisa langsung mulai hanya dengan
   mengunduh alat bantu N Developer Preview.
 </p>
 
@@ -69,7 +69,7 @@
       </h5>
 
       <p>
-        Kami akan menyediakan pembaruan setiap bulan selama Preview, agar Anda bisa menguji perubahan platform terbaru.
+        Kami akan menyediakan pembaruan setiap bulan selama Pratinjau, agar Anda bisa menguji perubahan platform terbaru.
       </p>
     </div>
 
@@ -80,7 +80,7 @@
 
       <p>
         Selama beberapa minggu pertama, kami akan memberikan prioritas pada masalah-masalah
-        yang dilaporkan pengembang, jadi ujilah dan berikan umpan balik sesegera mungkin.
+        yang dilaporkan pengembang, jadi ujilah dan berikan masukan sesegera mungkin.
       </p>
     </div>
 
@@ -112,11 +112,11 @@
 
     <div class="col-4of12">
       <h5>
-        Umpan balik dan dukungan
+        Masukan dan dukungan
       </h5>
 
       <p>
-        Laporkan masalah dan berikan umpan balik kepada kami dengan menggunakan
+        Laporkan masalah dan berikan masukan kepada kami dengan menggunakan
         <a href="{@docRoot}preview/bug">Issue Tracker</a> kami. Hubungkan dengan
         pengembang lain di
         <a href="{@docRoot}preview/dev-community">N&nbsp;Developer Community</a>.
@@ -140,68 +140,68 @@
 <img src="{@docRoot}images/n-preview-updates_2x.png">
 
 <p>
-  N Developer Preview berjalan dari 9 Maret 2016 hingga rilis publik Android N
- final dirilis ke AOSP dan OEM, yang direncanakan selama Kuartal 3 2016.
+  N Developer Preview berjalan dari 9 Maret 2016 hingga rilis resmi Android N
+  final ke AOSP dan OEM, yang direncanakan selama Kuartal 3 2016.
 </p>
 
 <p>
-  Pada tahapan pencapaian pengembangan utama kami akan mengirimkan pembaruan untuk lingkungan pengujian dan
-  pengembangan Anda. Umumnya Anda boleh berharap mendapatkan pembaruan setiap bulan (dengan interval 4 hingga 6
-  minggu). Tahapan pencapaian tercantum di bawah ini.
+  Pada tahapan pencapaian pengembangan yang penting kami akan mengirimkan pembaruan untuk lingkungan pengujian dan
+  pengembangan Anda. Pada umumnya Anda diharapkan sudah memperoleh pembaruan setiap bulan (dengan interval 4 sampai 6
+  minggu). Tahapan pencapaian tersebut tercantum di bawah ini.
 </p>
 
 <ul>
-  <li><strong><a href="{@docRoot}preview/support.html#dp1">Preview 1</a></strong> (rilis pertama, alfa)</li>
-  <li><strong><a href="{@docRoot}preview/support.html#dp2">Preview 2</a></strong> (pembaruan bertahap, alpha)</li>
-  <li><strong>Preview 3</strong> (pembaruan bertahap, beta)</li>
-  <li><strong>Preview 4</strong> (API final dan SDK resmi, publikasi di Play)</li>
-  <li><strong>Preview 5</strong> (citra sistem hampir final untuk pengujian akhir)</li>
+  <li><strong><a href="{@docRoot}preview/support.html#dp1">Pratinjau 1</a></strong> (rilis pertama, alfa)</li>
+  <li><strong><a href="{@docRoot}preview/support.html#dp2">Pratinjau 2</a></strong> (pembaruan bertahap, alfa)</li>
+  <li><strong><a href="{@docRoot}preview/support.html#dp3">Pratinjau 3</a></strong> (pembaruan bertahap, beta)</li>
+  <li><strong>Pratinjau 4</strong> (API final dan SDK resmi, publikasi di Play)</li>
+  <li><strong>Pratinjau 5</strong> (citra sistem hampir final untuk pengujian akhir)</li>
   <li><strong>Rilis Final</strong> ke AOSP dan ekosistem</li>
 </ul>
 
 <p>
-  Setiap pembaruan menyertakan SDK Tools, citra sistem preview, emulator, dokumentasi
+  Setiap pembaruan menyertakan SDK Tools, citra sistem pratinjau, emulator, dokumentasi
   referensi, dan diff API.
 </p>
 
 <p>
-  <strong>Tiga tahapan pencapaian preview pertama</strong> memberikan <strong>pengujian
-  awal dan lingkungan pengembangan</strong> yang membantu Anda mengidentifikasi
-  masalah kompatibilitas dalam aplikasi Anda saat ini dan merencanakan migrasi atau menampilkan pekerjaan
+  <strong>Tiga tahapan pencapaian pratinjau pertama</strong> memberikan <strong>ujian
+  pertama dan lingkungan pengembangan</strong> yang membantu Anda mengidentifikasi
+  masalah kompatibilitas dalam aplikasi Anda saat ini dan merencanakan migrasi atau menampilkan pekerjaan 
   yang diperlukan untuk menargetkan platform baru. Ini adalah periode prioritas yang akan
-  memberi kami umpan balik dari Anda tentang fitur dan API serta masalah kompatibilitas file
-  &mdash; untuk semua ini, harap gunakan <a href="{@docRoot}preview/bug">Issue
- Tracker</a>. Anda boleh mengharapkan beberapa perubahan API selama pembaruan ini.
+  memberi kami masukan dari Anda tentang fitur dan API serta masalah kompatibilitas file
+  &mdash; untuk semua ini, gunakan <a href="{@docRoot}preview/bug">Issue
+  Tracker</a>. Anda bisa mengharapkan beberapa perubahan API dalam pembaruan ini.
 </p>
 
 <p>
-  Pada <strong>preview 4 dan 5</strong> Anda akan memiliki akses ke <strong>API
-  dan SDK N final</strong> untuk dikembangkan, serta citra sistem yang hampir final
+  Pada <strong>pratinjau 4 dan 5</strong> Anda akan memiliki akses ke <strong>
+ API dan SDK N final</strong> untuk digunakan dalam pengembangan, serta citra sistem hampir-final
   untuk menguji perilaku dan fitur sistem. Android N akan memberikan level API
-  standar pada saat ini. Anda bisa mulai melakukan pengujian kompatibilitas akhir atas aplikasi
-  lama dan menyempurnakan kembali setiap kode baru yang menggunakan API atau fitur N.
+  standar pada saat ini. Anda bisa memulai pengujian kompatibilitas final dari aplikasi
+  lawas dan menyaring setiap kode baru yang menggunakan API atau fitur N.
 </p>
 
 <p>
-  Juga, mulai preview 4, Anda akan bisa <strong>mempublikasikan aplikasi ke
+  Juga, mulai pratinjau 4, Anda akan bisa <strong>mempublikasikan aplikasi ke
   perangkat</strong> yang menjalankan Android N pada level API resmi, seperti
-  perangkat konsumen yang telah memilih mengikuti program Android Beta. Anda bisa
-  mempublikasikan ke saluran alfa dan beta Google Play terlebih dahulu, sehingga Anda bisa menguji
+  perangkat konsumen yang telah mengikuti program Android Beta. Anda bisa
+  mempublikasikan ke saluran alfa dan beta Google Play terlebih dahulu, agar Anda bisa menguji
   aplikasi pada konsumen Android Beta sebelum mendistribusikan secara luas di
   toko.
 </p>
 
 <p>
   Saat Anda menguji dan mengembangkan di Android N, kami sangat menyarankan<strong>terus memperbarui
-  lingkungan pengembangan</strong> saat pembaruan preview
-  dirilis. Untuk mempermudah prosesnya, Anda bisa mendaftarkan perangkat pengujian di program
-  Android Beta dan mengambil <strong>pembaruan lewat  jaringan seluler (OTA)</strong> pada
-  setiap tahapan pencapaian. Atau, citra preview yang diperbarui
-  tersedia bila Anda mengunduh dan mem-flash secara manual.
+  lingkungan pengembangan</strong> saat pembaruan pratinjau
+  dirilis. Untuk mempermudah prosesnya, Anda bisa mendaftarkan perangkat pengujian di
+  program Android Beta dan mendapatkan <strong>pembaruan lewat jaringan seluler (OTA)</strong>
+  pada setiap tahapan pencapaian. Sebagai alternatif, citra pratinjau terbaru telah tersedia agar Anda
+  bisa mengunduh dan mem-flash secara manual.
 </p>
 
 <p>
-  Kami akan memberi tahu Anda bila pembaruan preview telah tersedia lewat <a href="http://android-developers.blogspot.com/">Android Developers Blog</a> serta
+  Kami akan memberi tahu Anda bila pembaruan pratinjau telah tersedia lewat <a href="http://android-developers.blogspot.com/">Android Developers Blog</a> serta
   situs ini dan <a href="{@docRoot}preview/dev-community">Android
   N Developer Community</a>.
 </p>
@@ -217,10 +217,10 @@
 
 <h3 id="sdk_tools">SDK Tools</h3>
 
-<p>Anda bisa mengunduh komponen-komponen ini melalui SDK Manager di <a href="{@docRoot}sdk/installing/adding-packages.html">Android Studio</a>:</p>
+<p>Anda bisa mengunduh komponen-komponen ini melalui SDK Manager di <a href="{@docRoot}studio/intro/update.html">Android Studio</a>:</p>
 
 <ul>
-  <li> <strong>SDK dan alat</strong> N Developer Preview
+  <li> SDK dan alat <strong>N Developer Preview</strong>
   <li> <strong>Citra sistem emulator</strong> N Developer Preview (32-bit &amp; 64-bit)
   <li> <strong>Citra sistem emulator</strong> N Developer Preview untuk Android TV (32-bit)
   <li> N Developer Preview mendukung pustaka (untuk template aplikasi baru)
@@ -239,16 +239,16 @@
 </p>
 
 <p>
-  Kami akan menyediakan citra sistem yang diperbarui untuk perangkat ini di setiap tahapan pencapaian. Anda
-  bisa mengunduh dan mem-flash citra sistem yang diperbarui ke perangkat pengujian
-  secara manual, sesering yang Anda perlukan. Ini terutama berguna untuk lingkungan pengujian
+  Kami akan mengirimkan citra sistem terbaru untuk perangkat ini pada setiap tahapan pencapaian. Anda
+  bisa mengunduh dan mem-flash citra sistem yang diperbarui untuk perangkat pengujian
+   secara manual, sesering yang Anda perlukan. Ini terutama berguna untuk lingkungan pengujian
   otomatis bila Anda mungkin perlu mem-flash ulang perangkat beberapa
   kali.
 </p>
 
 <p class="note"><strong>Catatan</strong>:
   <strong>Perangkat yang di-flash secara manual tidak akan mendapatkan pembaruan OTA</strong> seperti di
-  preview tahun lalu. Tahun ini, Anda bisa memperoleh OTA dengan mendaftarkan perangkat dalam
+  pratinjau tahun lalu. Tahun ini, Anda bisa memperoleh OTA dengan mendaftarkan perangkat dalam
  Android Beta Program &mdash; lihat detailnya di bagian berikutnya.
 </p>
 
@@ -256,13 +256,13 @@
 
 <p>
   Yang baru untuk Android N adalah program pembaruan lewat jaringan seluler (OTA) yang secara otomatis
-  mengirim pembaruan preview terbaru Android N secara langsung ke perangkat yang telah mendaftar
+  mengirim pembaruan pratinjau terbaru Android N secara langsung ke perangkat yang telah mendaftar
   di program ini. Program ini gratis dan terbuka bagi siapa saja yang memiliki
   perangkat yang didukung dan telah didaftarkan ke akun Google mereka.
 </p>
 
 <p>
-  Untuk mendaftarkan dalam program ini, kunjungi situs <a href="https://g.co/androidbeta">Android
+  Untuk mendaftar dalam program ini, kunjungi situs <a href="https://g.co/androidbeta">Android
   Beta Program</a>. Anda akan
   melihat semua perangkat yang telah didaftarkan ke akun Anda yang memenuhi syarat untuk mendaftar
   dalam Android Beta.
@@ -275,15 +275,15 @@
 
 <p>
   Setelah terdaftar, perangkat Anda akan segera menerima pembaruan. Umumnya
-  Anda tidak perlu pengaturan ulang penuh atas data untuk beralih ke Android N, namun
+  Anda tidak perlu penyetelan ulang penuh atas data untuk beralih ke Android N, namun
   Anda disarankan mencadangkan setiap data yang tidak ingin hilang sebelum
   mendaftarkan perangkat.
 </p>
 
 <p>
   Saat pembaruan dikirim ke perangkat Anda, kami menyarankan Anda untuk segera mengunduh dan
-  menginstalnya sesegera mungkin. Anda perlu memantau perubahan terbaru
-  di UI sistem, perilaku, API, dan fitur.
+  memasangnya. Anda perlu terus mengikuti perubahan terbaru
+ dalam UI sistem, perilaku, API, dan fitur.
 </p>
 
 <p>
@@ -298,10 +298,10 @@
 </p>
 
   <p class="note"><strong>Catatan</strong>:
-  Bila Anda membatalkan pendaftaran, <strong>perangkat Anda akan diatur ulang</strong>
+  Bila membatalkan pendaftaran, <strong>perangkat Anda akan dikembalikan ke setelan pabrik</strong>
   ke versi terbaru
-  Android 6.0 Marshmallow (tidak mesti ke versi yang telah Anda
-  instal sebelum mendaftarkan perangkat). Untuk memastikan instalasi yang bersih,
+  Android 6.0 Marshmallow (tidak harus ke versi yang telah Anda
+  pasang sebelum mendaftarkan perangkat). Untuk memastikan pemasangan yang bersih,
   data Anda akan dihapus dari perangkat, termasuk kontak, pesan,
   foto, dan seterusnya.
 </p>
@@ -314,15 +314,15 @@
 </p>
 
 <ul>
-  <li> <a href="{@docRoot}preview/setup-sdk.html">Menyiapkan Pengembangan untuk
-Android N</a> memiliki
-  instruksi langkah demi langkah untuk memulai.</li>
+  <li> <a href="{@docRoot}preview/setup-sdk.html">Menyiapkan Pengembangan untuk 
+Android N</a> memiliki 
+ petunjuk langkah demi langkah untuk memulai.</li>
   <li> <a href="{@docRoot}preview/behavior-changes.html">Perubahan
-  Perilaku</a>  akan menunjukkan kepada Anda bidang-bidang utama untuk diuji.</li>
-  <li> Dokumentasi API baru, termasuk <a href="{@docRoot}preview/api-overview.html">Ikhtisar API</a>,
+  Perilaku</a> akan menunjukkan kepada Anda bidang-bidang utama untuk diuji.</li>
+  <li> Dokumentasi API baru, termasuk <a href="{@docRoot}preview/api-overview.html">Ringkasan API</a>,
   <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi
   API</a> yang bisa diunduh, dan panduan pengembang detail mengenai fitur-fitur utama seperti
-  menambahkan dukungan multi-jendela, bundel pemberitahuan, dukungan multilokal, dan lainnya.
+  dukungan multi-jendela, bundel pemberitahuan, dukungan multilokal, dan lainnya.
   <li> <a href="{@docRoot}preview/samples.html">Kode contoh</a> yang
   memperagakan cara mendukung izin dan fitur baru lainnya.
   <li> <a href="{@docRoot}preview/support.html#release-notes">Catatan rilis</a>
@@ -333,7 +333,7 @@
 <h4 id="reference">Referensi API yang Bisa Diunduh</h4>
 
 <p>
-  Selama pembaruan preview awal, Anda bisa mengunduh
+  Selama pembaruan pratinjau awal, Anda bisa mengunduh
   <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi API
   untuk platform Android N</a> sebagai arsip zip terpisah. Unduhan
   referensi juga menyertakan laporan diff yang akan membantu Anda mengenali perubahan API dari
@@ -341,7 +341,7 @@
 </p>
 
 <p>
-  Bila API Android N sudah final dan API Level resmi telah ditetapkan,
+  Bila API Android N sudah final dan API level resmi telah ditetapkan,
   kami akan menyediakan referensi API kepada Anda secara online di <a href="https://developer.android.com">https://developer.android.com</a>.
 </p>
 
@@ -351,15 +351,15 @@
 
 <p>
   Saat Anda menguji dan mengembangkan N Developer Preview, gunakan saluran
-  ini untuk melaporkan masalah dan memberikan umpan balik.
+  ini untuk melaporkan masalah dan memberikan masukan.
 </p>
 
 <ul>
   <li> <a href="https://code.google.com/p/android-developer-preview/">N Developer Preview Issue
- Tracker</a> adalah <strong>saluran umpan balik utama.</strong> Anda bisa melaporkan bug, masalah
-  kinerja, dan umpan balik umum melalui Issue Tracker. Anda juga bisa memeriksa
-<a href="{@docRoot}preview/bug">masalah yang telah diketahui</a> dan
-  menemukan langkah-langkah solusinya. Kami akan terus mengabari mengenai masalah Anda saat masalah tersebut bila telah dipilah dan dikirimkan ke
+    Tracker</a> adalah <strong>saluran masukan Anda.</strong> Anda bisa melaporkan bug, masalah
+    kinerja, dan masukan umum melalui Issue Tracker. Anda juga bisa memeriksa
+<a href="{@docRoot}preview/bugs">masalah yang diketahui</a> dan
+    mencari langkah-langkah solusinya. Kami akan terus mengabari Anda mengenai masalah tersebut bila telah disortir dan dikirimkan ke
   tim teknis Android untuk ditinjau. </li>
   <li> <a href="{@docRoot}preview/dev-community">Android N Developer Community</a> adalah
     sebuah komunitas Google+ tempat Anda bisa <strong>terhubung dengan pengembang lain</strong> yang menggunakan
@@ -368,64 +368,64 @@
     panduan jika diperlukan.</li>
 </ul>
 
-<h3 id="targeting">Menargetkan, API preview, dan mempublikasikan</h3>
+<h3 id="targeting">Menargetkan, API pratinjau, dan mempublikasikan</h3>
 
 <p>
-  N Developer Preview menyediakan sistem pengembangan semata dan pustaka Android
-  yang <strong>tidak memiliki API level standar</strong>. Jika Anda tidak ingin
-  mengikuti perilaku kompatibilitas untuk menguji aplikasi Anda (sangat
-  disarankan), Anda bisa menargetkan versi preview Android N dengan mengatur
+  N Developer Preview menyediakan sistem pengembangan saja dan pustaka
+  Android yang <strong>tidak memiliki API level standar</strong>. Jika Anda tidak ingin
+  mengikuti perilaku kompatibilitas untuk menguji aplikasi (yang sangat
+  disarankan), Anda bisa menargetkan versi pratinjau Android N dengan menyetel
   <code><a href=
   "{@docRoot}preview/setup-sdk.html#create-update">targetSdkVersion</a></code>
   aplikasi Anda ke <code>“N”</code>.
 </p>
 
 <p>
-  Android N Developer Preview menghasilkan <strong>API preview</strong>
+  Android N Developer Preview menghasilkan <strong>API pratinjau</strong>
   &mdash; API ini tidak akan resmi hingga SDK final dirilis,
-  yang saat ini direncanakan pada kuartal ketiga 2016. Ini berarti Anda boleh
- <strong>berharap adanya perubahan kecil pada API </strong> selama waktu ini, terutama selama
-  minggu-minggu pertama program ini. Kami akan menyediakan rangkuman perubahan pada Anda bersama
+  yang saat ini direncanakan untuk kuartal ketiga 2016. Berarti Anda bisa
+  <strong>mengharapkan ada banyak perubahan kecil pada API</strong> selama waktu ini, terutama selama
+  minggu-minggu awal program. Kami akan menyediakan rangkuman perubahan kepada Anda bersama
   setiap pembaruan Android N Developer Preview.
 </p>
 
 <p class="note">
-  <strong>Catatan</strong>: Meskipun API preview mungkin berubah, perilaku dasar
-  sistem stabil dan siap diuji.
+  <strong>Catatan</strong>: Meskipun API pratinjau mungkin berubah, perilaku dasar
+  sistem sudah stabil dan siap diuji.
 
 </p>
 
 <p>
-  Google Play <strong>akan mencegah publikasi aplikasi yang menargetkan N Developer
-  Preview</strong>. Bila SDK final Android N telah tersedia, Anda akan dapat
-  menargetkan Android N API level resmi dan mempublikasikan aplikasi ke Google
+  Google Play <strong>mencegah publikasi aplikasi yang menargetkan N Developer
+  Preview</strong>. Bila Android N final SDK tersedia, Anda akan bisa
+  menargetkan level API Android N resmi dan mempublikasikan aplikasi ke Google
   Play lewat saluran rilis alfa dan beta. Sementara itu, jika Anda ingin
   mendistribusikan aplikasi yang menargetkan Android N kepada penguji, Anda bisa melakukannya lewat email atau
-  melalui pengunduhan langsung dari situs Anda.
+  dengan mengunduh langsung dari situs Anda.
 </p>
 
 <p>
-  Pada saat rilis penuh Android N ke AOSP dan OEM, yang direncanakan selama Kuartal 3 2016,
-  Anda akan dapat mempublikasikan aplikasi yang menargetkan Android N ke saluran
-  rilis publik di Google Play.
+  Saat rilis penuh Android N ke AOSP dan OEM, yang direncanakan pada Kuartal 3 2016,
+  Anda akan bisa mempublikasikan aplikasi yang menargetkan Android N ke saluran
+  rilis resmi di Google Play.
 </p>
 
 
-<h2 id="how_to_get_started">Cara memulai</h2>
+<h2 id="how_to_get_started">Cara mulai</h2>
 
 <p>
-  Untuk memulai pengujian aplikasi Anda dengan Android N:
+  Untuk mulai menguji aplikasi Anda dengan Android N:
 </p>
 
 <ol>
-  <li> Tinjau <a href="{@docRoot}preview/api-overview.html">Ikhtisar API</a>
+  <li> Tinjau <a href="{@docRoot}preview/api-overview.html">Ringkasan API</a>
   dan <a href="{@docRoot}preview/behavior-changes.html">Perubahan Perilaku</a> untuk
   mendapatkan gambaran mengenai apa saja yang baru dan bagaimana pengaruhnya pada aplikasi Anda. Khususnya,
   pelajari tentang fitur baru <a href="{@docRoot}preview/features/notification-updates.html">pemberitahuan</a> dan
   <a href="{@docRoot}preview/features/multi-window.html">dukungan multi-jendela</a>.</li>
-  <li> Siapkan lingkungan Anda dengan mengikuti instruksi berikut untuk <a href="{@docRoot}preview/setup-sdk.html">Menyiapkan SDK Preview</a>
+  <li> Siapkan lingkungan Anda dengan mengikuti petunjuk berikut untuk <a href="{@docRoot}preview/setup-sdk.html">Menyiapkan SDK Pratinjau</a>
   dan mengonfigurasi perangkat pengujian.</li>
-  <li> Ikuti <a href="https://developers.google.com/android/nexus/images">instruksi
+  <li> Ikuti <a href="https://developers.google.com/android/nexus/images">petunjuk
   flashing</a> untuk mem-flash citra sistem Android N terbaru ke perangkat Anda. </li>
   <li> Tinjau <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi API</a>
   dan <a href="{@docRoot}preview/samples.html">contoh Android N</a> untuk mendapatkan wawasan
diff --git a/docs/html-intl/intl/in/preview/preview_toc.cs b/docs/html-intl/intl/in/preview/preview_toc.cs
new file mode 100644
index 0000000..5868e4d
--- /dev/null
+++ b/docs/html-intl/intl/in/preview/preview_toc.cs
@@ -0,0 +1,75 @@
+<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="程式總覽"> Ringkasan Program</a></div>
+  </li>
+
+
+  <li class="nav-section">
+    <div class="nav-section-header empty"><a href="&lt;?cs var:toroot ?&gt;preview/support.html"> Dukungan dan Catatan Rilis</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">Menyiapkan Pratinjau</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="在裝置上測試">Menguji pada Perangkat</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="行為變更">Perubahan Perilaku </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="背景最佳化">Optimalisasi Latar Belakang</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="語言和地區設定">Bahasa dan Lokal</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="多視窗支援">Dukungan Multi-Jendela</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="通知">Pemberitahuan</a></li>
+
+        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/data-saver.html"> Data Saver</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="電視錄製">Perekaman 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="網路安全性設定">Konfigurasi Keamanan Jaringan</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"> Dukungan 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 語言功能">Fitur Bahasa Java 8</a></li>
+
+        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/afw.html"> Pembaruan 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="限定範圍目錄存取">Scoped Directory Access</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="範例"> Contoh</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="授權協議"> Perjanjian Lisensi</a></div>
+  </li>
+
+</ul> 
\ No newline at end of file
diff --git a/docs/html-intl/intl/in/preview/samples.jd b/docs/html-intl/intl/in/preview/samples.jd
index 3c51f48..481260c 100644
--- a/docs/html-intl/intl/in/preview/samples.jd
+++ b/docs/html-intl/intl/in/preview/samples.jd
@@ -11,15 +11,15 @@
 
 <p class="note">
   <strong>Catatan:</strong> Proyek yang bisa diunduh ini didesain
-  untuk digunakan bersama Gradle dan Android Studio.
+   untuk digunakan bersama Gradle dan Android Studio.
 </p>
 
 
-<h3 id="mw">Multi-Window Playground</h3>
+<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" />
 <p>
   Contoh ini memperagakan cara memanfaatkan antarmuka pengguna
-  multijendela bersama aplikasi Anda.
+  multi-jendela bersama aplikasi Anda.
 </p>
 <p>
   <a href="https://github.com/googlesamples/android-MultiWindowPlayground">
@@ -27,12 +27,12 @@
 </p>
 
 <div style="clear: both;"></div>
-<h3 id="an">Active Notifications</h3>
+<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" />
 <p>
-  Ini adalah contoh yang telah ada sebelumnya yang menampilkan layanan sederhana yang mengirimkan
-  pemberitahuan menggunakan NotificationCompat. Setiap percakapan yang belum dibaca dari pengguna
-  akan dikirim sebagai pemberitahuan tersendiri.
+  Ini adalah contoh yang sudah ada sebelumnya, menampilkan layanan sederhana yang mengirimkan
+   pemberitahuan menggunakan NotificationCompat. Setiap percakapan yang belum dibaca dari pengguna
+  dikirimkan sebagai pemberitahuan berbeda.
 </p>
 <p>
   Contoh ini telah diperbarui untuk memanfaatkan fitur pemberitahuan baru
@@ -44,7 +44,7 @@
 </p>
 
 <div style="clear: both;"></div>
-<h3 id="ms">Messaging Service</h3>
+<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" />
 <p>
   Ini adalah contoh yang telah ada sebelumnya yang memperagakan cara menggunakan
diff --git a/docs/html-intl/intl/in/preview/setup-sdk.jd b/docs/html-intl/intl/in/preview/setup-sdk.jd
index 2502d7d..9999705 100644
--- a/docs/html-intl/intl/in/preview/setup-sdk.jd
+++ b/docs/html-intl/intl/in/preview/setup-sdk.jd
@@ -1,4 +1,4 @@
-page.title=Menyiapkan Preview
+page.title=Menyiapkan Pratinjau
 meta.keywords="preview", "android"
 page.tags="preview", "developer preview"
 page.image=images/cards/card-n-sdk_2x.png
@@ -15,7 +15,7 @@
       <li><a href="#docs-dl">Dokumentasi referensi</a>
     </ol>
   </li>
-  <li><a href="#java8">Dapatkan Java 8 JDK dan JRE</a></li>
+  <li><a href="#java8">Dapatkan Java 8 JDK</a></li>
   <li><a href="#create-update">Perbarui atau Buat sebuah Proyek</a></li>
   <li><a href="#next">Langkah Berikutnya</a></li>
 </ol>
@@ -31,79 +31,44 @@
 <img src="{@docRoot}preview/images/n-preview-setup.png" width="700" alt="" />
 
 
-<h2 id="get-as13">Dapatkan Android Studio 2.1 (preview)</h2>
+<h2 id="get-as13">Dapatkan Android Studio 2.1</h2>
 
 <p>Platform Android N menambahkan dukungan untuk <a href="{@docRoot}preview/j8-jack.html">fitur bahasa Java 8</a>,
-yang memerlukan compiler baru yang disebut Jack. Versi terbaru Jack
-saat ini hanya didukung di Android Studio 2.1. Jadi jika ingin
-menggunakan fitur bahasa Java 8, Anda perlu menggunakan Android Studio 2.1 untuk
+yang memerlukan compiler baru bernama Jack. Jack versi terbaru
+saat ini hanya didukung di Android Studio 2.1. Jadi, jika Anda ingin
+menggunakan fitur bahasa Java 8, Anda harus menggunakan Android Studio 2.1 untuk
 membangun aplikasi. Jika tidak, Anda tidak perlu menggunakan compiler Jack, namun Anda
-tetap perlu memperbarui ke JDK 8 untuk mengompilasi pada platform Android N,
-seperti dijelaskan di bawah ini.
-</p>
+tetap harus memperbarui JDK 8 untuk mengompilasi pada platform Android N,
+seperti dijelaskan di bawah ini.</p>
 
-<p>Android Studio 2.1 saat ini tersedia sebagai preview di
-Canary Release Channel. Jika Anda sudah
-memiliki Android Studio dan tidak ingin memperbarui ke Canary Channel, Anda bisa
-mengunduh Android Studio 2.1 sebagai instalasi terpisah dan menggunakannya
-untuk pengembangan dengan Android N, sehingga membuat lingkungan Android Studio
-utama Anda tidak terpengaruh.</p>
+<p>Jika sudah memasang Android Studio, pastikan Anda memiliki Android
+Studio 2.1 atau yang lebih tinggi dengan mengklik <strong>Help &gt; Check for Update</strong>
+(pada Mac, <strong>Android Studio &gt; Check for Updates</strong>).</p>
 
-<p>Untuk mengunduh Android Studio 2.1 sebagai instalasi terpisah, ikuti langkah-langkah
-ini (atau jika Anda ingin menerima Android Studio 2.1 sebagai pembaruan pada
-instalasi yang ada, lompat ke langkah 4):</p>
-
-<ol>
-  <li>Edit nama
-  instalasi Android Studio yang ada dan tambahkan nomor versinya. Dengan cara ini,
-  bila Anda menginstal versi baru, versi yang ada tidak akan ditimpa.</li>
-  <li>Unduh file ZIP yang sesuai untuk sistem operasi Anda dari
- <a href="http://tools.android.com/download/studio/canary/latest">halaman pengunduhan Canary Channel</a>.
-  </li>
-  <li>Unzip paket tersebut kemudian pindahkan konten Android Studio 2.1 ke
-   lokasi yang sesuai untuk aplikasi pada sistem Anda, kemudian jalankan.</li>
-  <li>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;
-    Updates</strong>.
-  </li>
-  <li>Pada panel Updates, pilih kotak cek <strong>Automatically
-    check updates for</strong> dan pilih
-    <strong>Canary Channel</strong> dari daftar tarik-turun.
-  </li>
-</ol>
-
-<p>Biarkan jendela pengaturan ini tetap terbuka untuk langkah berikutnya.</p>
+<p>Jika Anda tidak memilikinya, <a href="{@docRoot}studio/">unduh Android Studio
+2.1 di sini</a>.</p>
 
 
 <h2 id="get-sdk">Dapatkan N Preview SDK</h2>
 
-<p>Untuk mulai mengembangkan dengan Android N API, Anda perlu menginstal
+<p>Untuk mulai mengembangkan dengan Android N API, Anda perlu pasang
 Android N Preview SDK di Android Studio sebagai berikut:</p>
 
 <ol>
-  <li>Saat panel Updates masih ditampilkan (langkah 4 dari di atas),
-  pilih kotak cek <strong>Automatically
-    check updates for Android SDK</strong> dan pilih
-    <strong>Preview Channel</strong> dari daftar tarik-turun.
-  </li>
-  <li>Klik <strong>Check Now</strong>.</li>
+  <li>Buka SDK Manager dengan mengklik <strong>Tools &gt; Android &gt;
+  SDK Manager</strong>.</li>
 
-  <li>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 cek
-  <strong>Android N Preview</strong>.</li>
+  <li>Di tab <strong>SDK Platforms</strong> pilih
+kotak centang <strong>Android N Preview</strong>.</li>
 
   <li>Klik tab <strong>SDK Tools</strong>, kemudian pilih
-    kotak cek <strong>Android SDK Build Tools</strong>, <strong>Android SDK
+    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>, kemudian terima
-    perjanjian lisensi untuk setiap paket yang perlu diinstal.
+    perjanjian lisensi untuk setiap paket yang perlu dipasang.
   </li>
 </ol>
 
@@ -111,9 +76,9 @@
 
 <p>
   Informasi detail tentang Android N API tersedia dalam dokumentasi referensi N Preview,
- yang bisa Anda unduh dari tabel berikut.
-  Paket ini berisi versi offline untuk situs web pengembang Android yang disederhanakan,
-  dan termasuk referensi API yang diperbarui untuk Android N API dan
+  yang bisa Anda unduh dari tabel berikut.
+  Paket ini berisi versi offline situs web pengembang Android yang disederhanakan,
+  dan termasuk referensi API yang diperbarui untuk Android N API serta
   laporan perbedaan API.
 </p>
 
@@ -124,30 +89,28 @@
   </tr>
   <tr>
     <td style="white-space: nowrap">
-    <a href="{@docRoot}shareables/preview/n-preview-1-docs.zip">n-preview-1-docs.zip</a></td>
+    <a href="{@docRoot}shareables/preview/n-preview-3-docs.zip">n-preview-3-docs.zip</a></td>
     <td width="100%">
-      MD5: 4ab33ccbe698f46f125cc5b807cf9c2f<br>
-      SHA-1: 6a3880b3ccd19614daae5a4d0698ea6ae11c20a5
+      MD5: 19bcfd057a1f9dd01ffbb3d8ff7b8d81<br>
+      SHA-1: 9224bd4445cd7f653c4c294d362ccb195a2101e7 
     </td>
   </tr>
-</table>
+<table>
 
 
 
-<h2 id="java8">Dapatkan Java 8 JDK dan JRE</h2>
+<h2 id="java8">Dapatkan Java 8 JDK</h2>
 
-<p>Untuk mengompilasi aplikasi Anda sesuai platform Android N, Anda perlu menggunakan
-Java 8 Developer Kit (JDK 8), dan untuk menggunakan beberapa alat bersama Android
-Studio 2.1, Anda perlu menginstal Java 8 Runtime Environment (JRE 8). Jadi, jika
-Anda belum versi terbarunya, unduhlah JDK 8 dan JRE 8
-sekarang.</p>
+<p>Untuk mengompilasi aplikasi Anda pada platform Android N dan menggunakan beberapa alat bersama
+Android Studio 2.1, Anda perlu pasang Java 8 Developer Kit (JDK 8). Jadi, jika
+Anda belum mempunyai versi terbaru, unduh JDK 8 sekarang.</p>
 
-<p>Kemudian atur versi JDK di Android Studio sebagai berikut:</p>
+<p>Kemudian, setel versi JDK di Android Studio sebagai berikut:</p>
 
 <ol>
   <li>Buka proyek Android di Android Studio, kemudian buka
     dialog Project Structure dengan memilih <strong>File &gt;
-        Project Structure</strong>. (Atau, Anda bisa mengatur default
+        Project Structure</strong>. (Atau, Anda bisa menyetel default
      untuk semua proyek dengan memilih <strong>File &gt; Other Settings &gt;
         Default Project Structure</strong>.)
    </li>
@@ -155,7 +118,7 @@
    </li>
    <li>Dalam bidang <strong>JDK Location</strong>, masukkan lokasi
     Java 8 JDK (klik tombol di sebelah kanan
-    untuk menjelajahi file Anda), kemudian klik <strong>OK</strong>.
+    untuk menjelajah file Anda), kemudian klik <strong>OK</strong>.
    </li>
 </ol>
 
@@ -184,7 +147,7 @@
 <pre>
 android {
   compileSdkVersion <strong>'android-N'</strong>
-  buildToolsVersion <strong>'24.0.0-rc1'</strong>
+  buildToolsVersion <strong>'24.0.0-rc3'</strong>
   ...
 
   defaultConfig {
@@ -208,7 +171,7 @@
   <li>Pada halaman ini, pilih opsi <strong>Phone and Tablet</strong>.</li>
   <li>Pada opsi <strong>Phone and Tablet</strong>, dalam daftar opsi <strong>Minimum
  SDK</strong>, pilih
-    <strong>N: Android API 23, N Preview (Preview)</strong>.</li>
+    <strong>N: Android API 23, N Preview (Pratinjau)</strong>.</li>
 </ol>
 
 
@@ -221,3 +184,4 @@
 dan <a href="{@docRoot}preview/api-overview.html">Android N API
 dan Fiturnya</a>.</li>
 </ul>
+
diff --git a/docs/html-intl/intl/in/preview/support.jd b/docs/html-intl/intl/in/preview/support.jd
new file mode 100644
index 0000000..5571b11
--- /dev/null
+++ b/docs/html-intl/intl/in/preview/support.jd
@@ -0,0 +1,1188 @@
+page.title=Dukungan dan Catatan Rilis
+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>Dalam dokumen ini</h2>
+
+<ul>
+  <li><a href="#dp3">Developer Preview 3</a>
+    <ul>
+      <li><a href="#general">Saran umum</a></li>
+      <li><a href="#new">Yang baru di DP3</a></li>
+      <li><a href="#ki">Masalah yang diketahui</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>
+  Dua saluran dukungan utama tersedia untuk Anda saat mengembangkan dan menguji
+  dengan Android N Developer Preview: Laporkan bug di <a href="https://developer.android.com/preview/bug">https://developer.android.com/preview/bug</a> untuk
+  bug perangkat tertentu, sistem, dan Google App. Untuk masalah di aplikasi lain,
+  hubungi pengembang secara langsung.
+</p>
+
+<p>Untuk mendiskusikan masalah atau gagasan dengan pengembang lain yang menangani Android N, bergabunglah dengan
+<a href="{@docRoot}preview/dev-community">komunitas Google+ untuk Developer Preview</a>.</p>
+
+<h2 id="dp3">Developer Preview 3</h2>
+
+<div class="wrap">
+  <div class="cols">
+    <div class="col-6of12">
+      <p>
+        <em>Tanggal: Mei 2016<br>
+        Build: NPD35K<br>
+        Dukungan emulator: x86 &amp; ARM (32/64-bit)<br>
+        Google Play Services: 8.4</em>
+      </p>
+    </div>
+  </div>
+</div>
+
+<h3 id="general">Saran umum</h3>
+
+<p>
+  Rilis Developer Preview ini adalah untuk <strong>pengembang aplikasi dan pengguna
+  awal lainnya</strong> serta tersedia untuk penggunaan sehari-hari, pengembangan, atau
+  pengujian kompatibilitas. Harap perhatikan catatan umum tentang
+  rilis ini:
+</p>
+
+<ul>
+  <li>Rilis ini mungkin memiliki berbagai <strong>masalah stabilitas</strong> pada
+    perangkat yang didukung. Pengguna mungkin mengalami ketidakstabilan sistem, seperti  kernel
+    yang panik dan mogok.
+  </li>
+
+  <li>Beberapa aplikasi <strong>mungkin tidak berfungsi seperti yang diharapkan</strong> pada versi
+  platform baru. Hal ini termasuk aplikasi Google serta aplikasi lainnya.
+  </li>
+
+  <li>Developer Preview 3 adalah <strong>Compatibility Test Suite (CTS)
+ yang disetujui</strong> pada perangkat ini: Nexus 5X, Nexus 6, Nexus 6P, dan Pixel
+  C. Aplikasi yang bergantung pada build yang disetujui CTS seharusnya
+  berfungsi secara normal pada perangkat ini (Android Pay misalnya).
+  </li>
+
+  <li>Developer Preview 3 <strong>tersedia pada semua perangkat
+  yang didukung:</strong> Nexus 5X, Nexus 6, Nexus 6P, Nexus 9, Nexus Player, Pixel
+  C, General Mobile 4G (Android One), serta Sony Xperia Z3 (model D6603 dan
+  D6653).
+
+  </li>
+</ul>
+
+
+<h3 id="new">Yang baru di DP3</h3>
+
+<h4 id="">VR Mode untuk Android</h4>
+
+<p>
+  Android N menambahkan dukungan platform dan optimalisasi untuk VR Mode baru yang memungkinkan
+  pengembang membuat pengalaman VR berkualitas tinggi di seluler bagi para pengguna. Ada
+  banyak penyempurnaan kinerja, termasuk akses ke inti CPU yang eksklusif
+  untuk aplikasi VR. Dalam aplikasi, Anda bisa memanfaatkan pemantauan kepala
+ yang cerdas, dan pemberitahuan stereo yang bekerja untuk VR. Yang terpenting,
+  Android N memberikan grafis latensi sangat rendah.
+</p>
+
+<p>
+  Untuk informasi selengkapnya, lihat <a href="https://developers.google.com/vr/android/">Google VR SDK untuk Android</a>.
+</p>
+
+<h4 id="">Mode kinerja kontinu</h4>
+
+<p>
+  Android N menyertakan dukungan opsional untuk <a href="{@docRoot}preview/api-overview.html#sustained_performance_api">mode
+  kinerja kontinu</a>, yang memungkinkan OEM memberikan petunjuk mengenai kapabilitas kinerja
+  perangkat untuk aplikasi yang berjalan dalam waktu lama. Pengembang aplikasi nanti bisa menggunakan
+  petunjuk ini untuk menyesuaikan aplikasi agar kinerja
+  perangkat bisa diprediksi pada level yang konsisten dalam jangka waktu lama. Pengembang aplikasi bisa mencoba API
+  baru ini dalam Developer Preview pada perangkat Nexus 6P saja.
+</p>
+
+<h4>Multiprocess WebView</h4>
+
+<p>
+  Mulai versi 51 di Android N, WebView akan menjalankan materi web dalam
+  proses sandbox terpisah bila opsi pengembang "Multiprocess Webview"
+  diaktifkan. Tim WebView menunggu masukan mengenai kompatibilitas dan
+ kinerja waktu proses di N sebelum mengaktifkan Multiprocess WebView di versi Android
+  yang akan datang. Dalam versi ini, diharapkan adanya regresi waktu startup, penggunaan
+  memori total dan kinerja render perangkat lunak.
+</p>
+
+<p>
+  Jika Anda menemukan masalah yang tidak diharapkan dalam mode multiproses, kami ingin
+  mengetahuinya. Hubungi tim WebView dengan <a href="https://bugs.chromium.org/p/chromium/issues/entry?template=Webview%20Bugs">
+  melaporkan bug</a>.
+</p>
+
+<h4 id="">Keyboard Shortcuts Helper</h4>
+
+<p>
+  Android N memungkinkan pengguna menekan <code>Meta+/</code> untuk memunculkan layar <strong>Keyboard
+  Shortcuts</strong> yang menampilkan semua pintasan yang tersedia baik dari
+  sistem maupun dari aplikasi yang sedang mendapatkan fokus. Pengembang bisa menambahkan pintasan sendiri atau
+  memunculkan layar Shortcuts dari aplikasi mereka. Lihat <a href="{@docRoot}preview/api-overview.html#keyboard_shortcuts_helper">Keyboard
+  Shortcuts Helper</a> untuk detailnya.
+</p>
+
+<h4 id="">FrameMetrics API</h4>
+
+<p>
+  DP3 memperkenalkan <a href="{@docRoot}preview/api-overview.html#framemetrics_api">FrameMetrics API</a>
+  baru yang memungkinkan aplikasi memantau kinerja render UI dengan mengekspos
+  streaming pubsub API untuk mentransfer informasi frame-timing jendela aplikasi
+  saat ini. <code>FrameMetricsListener</code> bisa digunakan untuk mengukur
+  kinerja UI level interaksi di produksi dengan tingkat kejelasan yang lebih tinggi dan
+  tidak memerlukan koneksi USB.
+</p>
+
+<h4 id="api-changes">Fitur dan perubahan API</h4>
+
+<dl>
+  <dt>
+    Pintasan Peluncur dan Launcher Shortcuts API
+  </dt>
+
+  <dd>
+    Kami memutuskan untuk menunda fitur ini pada rilis Android yang akan datang. Kami berencana
+    membuang Launcher Shortcuts API (ShortcutManager dan lainnya) dari
+   Android N API publik mulai dalam Developer Preview berikutnya.
+  </dd>
+
+  <dt>
+    WebView Javascript berjalan sebelum halaman dimuat
+  </dt>
+
+  <dd>
+    Mulai dengan aplikasi yang menargetkan Android N, konteks Javascript disetel ulang
+  saat halaman baru telah dimuat. Saat ini, konteks tersebut dibawa untuk
+  halaman pertama yang dimuat di instance {@link android.webkit.WebView} yang baru.
+    Pengembang yang ingin menginjeksikan Javascript ke dalam {@link
+android.webkit.WebView} harus mengeksekusi skrip setelah halaman
+ mulai dimuat.
+  </dd>
+
+  <dt>
+    WebView Geolocation pada sumber yang tidak aman
+  </dt>
+
+  <dd>
+    Mulai dengan aplikasi yang menargetkan Android N, API geolokasi hanya akan
+  diizinkan pada sumber yang aman (melalui HTTPS). Kebijakan ini didesain untuk melindungi
+    informasi privat pengguna saat mereka menggunakan koneksi yang tidak aman.
+  </dd>
+
+  <dt>
+    Data Saver
+  </dt>
+
+  <dd>
+    Mulai di Developer Preview 3, aplikasi bisa menggunakan intent untuk menampilkan
+  dialog sistem yang memungkinkan pengguna menambahkan aplikasi secara langsung ke daftar putih pengecualian
+  Data Saver. Lihat <a href="{@docRoot}preview/api-overview.html#data_saver">dokumentasi
+    Data Saver</a> untuk detailnya.
+  </dd>
+
+  <dt>
+    <a href="{@docRoot}preview/api-overview.html#number-blocking">Pemblokiran nomor</a>
+  </dt>
+
+  <dd>
+    Jika pengguna yang tidak diizinkan berusaha memblokir atau membuka blokir suatu nomor, operasi
+   tersebut kini akan gagal dengan {@link java.lang.SecurityException}. (Sebelumnya,
+    operasi tersebut akan melontarkan {@link java.lang.UnsupportedOperationException}.)
+  </dd>
+
+  <dt>
+    <a href="{@docRoot}preview/api-overview.html#tile_api">Quick Settings Tile
+ API</a>
+  </dt>
+
+  <dd>
+    Sistem kini menggunakan metadata aktivitas untuk memutuskan mode petak.
+    (Sebelumnya, mode petak ditentukan oleh nilai hasil
+    <code>TileService.onTileAdded()</code>.) Untuk informasi selengkapnya, lihat
+    <code>TileService.META_DATA_ACTIVE_TILE</code> dalam <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi API</a> yang bisa diunduh.
+  </dd>
+</dl>
+
+<h4 id="dp3-fixes">Perbaikan untuk masalah yang dilaporkan oleh pengembang</h4>
+
+<p>
+  Banyak masalah yang dilaporkan oleh pengembang telah diperbaiki, termasuk:
+</p>
+
+<ul>
+  <li>Pemutaran Bluetooth Audio yang terputus setelah 1 lagu (bug <a href="https://code.google.com/p/android/issues/detail?id=206889">206889</a>)
+  </li>
+
+  <li>Pixel C Terus Mengalami Mogok (bug <a href="https://code.google.com/p/android/issues/detail?id=206962">206962</a>)
+  </li>
+
+  <li>Masalah pemberitahuan Jam dan Toast (bug <a href="https://code.google.com/p/android/issues/detail?id=203094">203094</a>)
+  </li>
+
+  <li>Pixel C melakukan boot ulang saat dihubungkan ke MacBook Pro lewat Kabel USB C (bug
+  <a href="https://code.google.com/p/android/issues/detail?id=205432">205432</a>)
+  </li>
+
+  <li>Kalender selisih satu hari (bug <a href="https://code.google.com/p/android/issues/detail?id=203002">203002</a>)
+  </li>
+
+  <li>TelephonyManager.getAllCellInfo menghasilkan data tidak valid (bug <a href="https://code.google.com/p/android/issues/detail?id=203022">203022</a>)
+  </li>
+
+  <li>Nexus 6p, Bluetooth terputus terus-menerus (bug <a href="https://code.google.com/p/android/issues/detail?id=208062">208062</a>)
+  </li>
+</ul>
+
+<p>Untuk daftar lengkap masalah yang telah diperbaiki, lihat <a href="https://goo.gl/6uCKtf">Issue
+Tracker</a>.</p>
+
+<h3 id="ki">Masalah yang Diketahui</h3>
+
+<h4>Aksesibilitas</h4>
+
+<ul>
+  <li>Tidak bisa memantau output TTS saat pitch disetel mendekati level maksimum.
+  </li>
+
+  <li>Fitur dan setelan aksesibilitas bisa terganggu bila pengguna menambahkan
+  sebuah profil kerja, termasuk isyarat perbesaran dan setelan. Kondisi
+  aksesibilitas dipulihkan bila pengguna menyentuh setelan terkait.
+  </li>
+</ul>
+
+<h4>Kamera</h4>
+
+<ul>
+  <li>Aplikasi Kamera telah menunjukkan ketidakstabilan; aplikasi ini bisa mogok dalam berbagai
+  keadaan, seperti saat diluncurkan dalam mode multi-jendela.
+  </li>
+
+  <li>Menekan rana terus-menerus dalam mode panorama dapat menyebabkan aplikasi
+  Kamera mogok.
+  </li>
+</ul>
+
+<h4>Audio</h4>
+<ul>
+  <li>Masalah pemutar audio platform mencegah beberapa aplikasi berfungsi
+  secara normal. Misalnya, Skype dan aplikasi lain terpengaruh oleh masalah ini.
+  </li>
+</ul>
+
+<h4>Konektivitas</h4>
+
+
+<ul>
+  <li>Bila perangkat peran periferal Bluetooth Low Energy (BLE) mengiklankan suatu
+  layanan dan perangkat peran sentral BLE menghubungkan, perangkat peran periferal
+  akan terputus dengan sangat cepat.
+  </li>
+
+  <li>Koneksi Wi-Fi dapat melemah bila layar mati.
+  </li>
+
+  <li>Koneksi RFCOMM tidak stabil serta dapat mengakibatkan kerusakan data dan
+  koneksi yang menggantung.
+  </li>
+
+  <li>Kondisi jaringan aktif ({@link android.net.NetworkInfo#getState
+  NetworkInfo.getState()} dan {@link android.net.NetworkInfo#getDetailedState
+  NetworkInfo.getDetailedState()}) mungkin mengembalikan nilai yang tidak benar selama beberapa
+  skenario latar belakang terbatas.
+  </li>
+</ul>
+
+
+<h4>
+  Peluncur
+</h4>
+
+<ul>
+  <li>Baki All Apps peluncur default mungkin menjadi tidak responsif setelah
+  layar dimatikan/dihidupkan berulang-ulang. Kembali ke layar beranda dan meluncurkan kembali
+  baki All Apps mungkin akan mengatasi masalah ini.
+  </li>
+</ul>
+
+<h4>
+  Keyboard
+</h4>
+
+<ul>
+  <li>Saat memperbarui perangkat yang menjalankan Android 6.0 atau yang sebelum versi N Developer
+  Preview, Keyboard Google tidak menyimpan data preferensi seperti emoji
+  terbaru dan setelan suara.
+  </li>
+
+  <li>Google Indic Managed Keyboard mungkin menjadi tidak stabil.
+  </li>
+
+  <li>Saat memasukkan teks dalam bidang sandi, pengguna bisa memilih bahasa Rusia sebagai
+  bahasa masukan, namun keyboard tetap dalam bahasa Inggris. Hal ini mencegah
+  pengguna memasukkan sandi berbahasa Rusia.
+  </li>
+</ul>
+
+<h4>
+  Lokal dan bahasa
+</h4>
+
+<ul>
+  <li>Saat menggunakan lokal kanan-ke-kiri (RTL), sistem mungkin secara tidak diharapkan
+  beralih ke presentasi kiri-ke-kanan (LTR) setelah menghidupkan ulang perangkat.
+  </li>
+</ul>
+
+<h4>Media</h4>
+
+<ul>
+  <li>Pemutaran media mungkin tidak bisa diandalkan pada Nexus 9 dan Nexus Player, termasuk
+  masalah pemutaran video HD.
+  </li>
+</ul>
+
+<h4>
+  Mode multi-jendela
+</h4>
+
+<ul>
+  <li>Perangkat mungkin macet saat mengubah orientasi dalam mode multi-jendela.
+  </li>
+
+  <li>Beberapa aplikasi saat ini memiliki masalah dengan mode multi-jendela:
+    <ul>
+      <li>UI sistem bisa mogok saat mengubah Settings &gt; Display &gt;
+      Screen brightness ke multi-jendela.
+      </li>
+
+      <li>Aplikasi Kamera mungkin mogok bila diluncurkan dalam mode multi-jendela.
+      </li>
+
+      <li>YouTube mungkin mogok bila diluncurkan dalam mode multi-jendela. Untuk memperbaiki
+      masalah ini, Anda bisa mengosongkan data aplikasi YouTube di Storage &gt; Apps &gt;
+      YouTube.
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<h4>
+  Google Play Services
+</h4>
+
+<ul>
+  <li>Aplikasi yang menggunakan Google Cast melalui Google Play Services mungkin menjadi tidak stabil bila
+  pengguna memilih lokal sistem yang menggunakan huruf serta angka di luar
+  rentang ASCII.
+  </li>
+</ul>
+
+<h4>
+  Kebijakan Perangkat Android for Work dan Google Apps
+</h4>
+
+<ul>
+  <li>Aplikasi Device Policy mungkin mogok bila pengguna membuka kunci perangkat dengan
+  layar "status kebijakan perangkat" disematkan.
+  </li>
+
+  <li>Setelah menyiapkan profil kerja dengan enkripsi berbasis file diaktifkan
+  kemudian menonaktifkan Work, pengguna harus membuka kunci layar profil utama untuk sekali
+  lagi mengakses aplikasi Work.
+  </li>
+
+  <li>Perangkat dihidupkan ulang saat membuang kunci pola keamanan dan membuka aplikasi
+  kerja/aplikasi pribadi di multi-jendela.
+  </li>
+
+  <li>Menyetel DISALLOW_VPN_CONFIG menyebabkan dialog persetujuan muncul di
+  always-on-vpn yang disetel oleh Device Policy Client.
+  </li>
+
+  <li>Lalu lintas tidak dikunci hingga VPN terhubung dalam mode always-on-vpn.
+  </li>
+</ul>
+
+<h4>
+  Penyimpanan eksternal
+</h4>
+
+<ul>
+  <li>Aplikasi mungkin menjadi tidak stabil bila pengguna memindahkannya dari penyimpanan internal
+  ke penyimpanan eksternal lepas-pasang (ini termasuk kartu SD atau perangkat yang dihubungkan
+  melalui USB).
+  </li>
+</ul>
+
+<h4>
+  Perbesaran layar dan multi-APK dalam Google Play
+</h4>
+
+<ul>
+  <li>Pada perangkat yang menjalankan Android N, Google Play Services 9.0.83 salah melaporkan
+  kepadatan layar saat ini dibandingkan dengan kepadatan layar stabil. Saat perbesaran
+  layar diaktifkan pada perangkat, hal ini bisa menyebabkan Google Play memilih
+  versi aplikasi multi-APK yang didesain untuk layar yang lebih kecil. Masalah ini
+  telah diperbaiki dalam Google Play Services versi berikutnya dan akan disertakan dalam
+  rilis Developer Preview mendatang.
+  </li>
+
+  <li>Pada perangkat yang menjalankan Android N, Google Play Services 9.0.83 saat ini melaporkan
+  dukungan Vulkan, namun bukan versi Vulkan. Hal ini bisa mengakibatkan Google Play memilih
+  versi aplikasi multi-APK yang didesain untuk mendukung Vulkan yang lebih rendah pada
+  perangkat dengan dukungan versi yang lebih tinggi. Saat ini, Google Play Store tidak
+  menerima unggahan aplikasi yang menggunakan penargetan versi Vulkan. Dukungan ini
+  akan ditambahkan pada Google Play Store di masa mendatang dan diperbaiki dalam 
+  Google Play Services versi berikutnya (akan disertakan dalam rilis Developer Preview
+  mendatang). Perangkat N yang menggunakan Google Play Services 9.0.83 akan
+  tetap menerima versi Aplikasi yang menargetkan dukungan Vulkan dasar.
+  </li>
+</ul>
+
+<h4 id="">Pemberitahuan</h4>
+
+<ul>
+  <li>MessagingStyle tidak menampilkan pemberitahuan dengan pengirim "null" (sendiri).
+  </li>
+</ul>
+
+<h4 id="">Alat Pengembang</h4>
+
+<ul>
+  <li>
+    <code>adb</code> mungkin kadang-kadang terputus saat menggunakan debug 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>Tanggal: April 2016<br>
+        Build: NPC91K, NPC91O<br>
+        Dukungan emulator: x86 &amp; ARM (32/64-bit)<br>
+        Google Play Services: 8.4</em>
+      </p>
+    </div>
+  </div>
+</div>
+
+<h3 id="dp2-new">Yang baru di DP2</h3>
+
+<ul>
+  <li>Dukungan platform untuk Vulkan, API rendering 3D baru yang menyediakan
+  kontrol GPU (Graphics Processor Unit) eksplisit dan overhead yang rendah serta menawarkan
+  peningkatan kinerja untuk aplikasi draw-call yang berat. Untuk detailnya, lihat
+  <a href="{@docRoot}ndk/guides/graphics/index.html">dokumentasi</a>.
+  </li>
+
+  <li>Emoji orang yang baru dengan dukungan untuk warna kulit, dan glyph Unicode 9 baru.
+  Warna kulit dan emoji baru tidak akan muncul hingga keyboard membangun dukungan untuknya
+  di palet. Aplikasi tidak perlu melakukan tindakan apa pun untuk memanfaatkan
+  emoji baru ini, kecuali jika aplikasi menggunakan font nonsistem. Pengembang
+  IME perlu menyertakan dukungan untuk emoji baru.
+  </li>
+
+  <li>
+    <a href="{@docRoot}preview/api-overview.html#launcher_shortcuts">Launcher
+    Shortcuts API</a>: Aplikasi bisa menggunakan <code>ShortcutManager</code> untuk mengirim
+    pintasan ke titik awal dalam aplikasi itu sendiri ke peluncur.
+  </li>
+
+  <li>
+    <a href="{@docRoot}preview/features/multi-window.html">Multi-Jendela</a>:
+    Anda kini bisa menetapkan tinggi minimum dan lebar minimum secara terpisah untuk suatu
+    aktivitas. Selain itu, beberapa nama API sedikit berubah.
+  </li>
+</ul>
+
+<h4 id="dp2-fixes">Perbaikan untuk masalah yang dilaporkan oleh pengembang</h4>
+
+<p>
+  Banyak masalah yang dilaporkan oleh pengembang telah diperbaiki, termasuk:
+</p>
+
+<ul>
+  <li>Tidak bisa menghubungkan ke SSID tersembunyi atau Wi-Fi yang tidak disiarkan. (bug <a href="https://code.google.com/p/android/issues/detail?id=203116">203116</a>)
+  </li>
+
+  <li>Keadaan mikrofon nonaktif terjadi selama aktivitas. (bug <a href="https://code.google.com/p/android/issues/detail?id=205922">205922</a>)
+  </li>
+
+  <li>Mengubah fokus multi-jendela akan menghentikan YouTube untuk sementara. (bug <a href="https://code.google.com/p/android/issues/detail?id=203424">203424</a>)
+  </li>
+
+  <li>Balasan Langsung mungkin menutup aktivitas yang telah dibuka. (bug <a href="https://code.google.com/p/android/issues/detail?id=204411">204411</a>)
+  </li>
+
+  <li>Berbagai perbaikan stabilitas.
+  </li>
+</ul>
+
+<h3 id="dp2-general">Saran umum</h3>
+
+<p>
+  Rilis Developer Preview ini adalah untuk <strong>pengembang aplikasi saja</strong>
+  dan didesain untuk digunakan dalam pengujian kompatibilitas serta pengembangan awal saja.
+  Harap perhatikan catatan umum tentang rilis ini:
+</p>
+
+<ul>
+
+  <li>Komponen alat pengembangan dan pustaka dukungan telah diperbarui
+  untuk rilis DP2. Pastikan memperbarui lingkungan pengembangan pratinjau Anda
+  sebelum mengembangkan untuk DP2. Untuk petunjuk mengenai persiapan lingkungan
+  pengembangan Anda, lihat
+  <a href="{@docRoot}preview/setup-sdk.html">Menyiapkan Pratinjau</a>.
+  </li>
+
+  <li>Rilis ini memiliki berbagai masalah stabilitas dan kinerja pada semua perangkat
+  yang membuatnya <strong>tidak cocok untuk penggunaan sehari-hari pada ponsel atau tablet</strong>,
+  terutama untuk selain pengembang.
+  </li>
+
+  <li>Daya tahan dan kinerja baterai belum dioptimalkan pada rilis
+  ini:
+
+    <ul>
+      <li>Kinerja <strong>sistem dan aplikasi diketahui lambat/
+      melempem pada waktu-waktu tertentu</strong>, dan perangkat kadang-kadang tidak responsif. Masalah-masalah
+      ini bisa menjadi lebih akut pada penggunaan yang lama.
+      </li>
+
+      <li>Daya tahan baterai mungkin melemah dalam rilis ini untuk kasus penggunaan layar hidup dan
+      layar mati.
+      </li>
+    </ul>
+  </li>
+
+  <li>Beberapa <strong>aplikasi mungkin tidak berfungsi dengan normal</strong> pada Developer Preview
+  2. Termasuk aplikasi Google serta aplikasi lainnya.
+  </li>
+
+  <li>Build awal ini bukan <strong>Compatibility Test Suite (CTS)
+  yang disetujui</strong>. Aplikasi yang bergantung pada build yang disetujui CTS tidak akan berfungsi
+  (Android Pay misalnya).
+  </li>
+
+  <li>Rilis pratinjau ini mendukung perangkat berikut: Nexus 5X, Nexus 6,
+  Nexus 6P, Nexus 9, dan Pixel C, serta General Mobile 4G
+  (Android One). Dukungan untuk Nexus Player segera hadir.
+  </li>
+
+
+  <li><a href="https://github.com/googlesamples/android-testdpc/releases">TestDPC</a> telah
+  diperbarui untuk menangani perubahan API antara DP1 dan DP2.
+  </li>
+</ul>
+
+<h3 id="dp2-ki">Masalah yang Diketahui</h3>
+
+<h4>Kinerja dan baterai</h4>
+
+<ul>
+  <li>Kinerja sistem dan aplikasi diketahui <strong>lambat/
+  melempem pada waktu-waktu tertentu</strong>, dan perangkat kadang-kadang tidak responsif. Masalah-masalah
+   ini bisa menjadi lebih akut pada penggunaan yang lama.
+  </li>
+</ul>
+
+<h4>Akun Google</h4>
+
+<ul>
+  <li>Dalam beberapa situasi, bisa jadi ada masalah dengan
+  <code>AccountManagerService</code> yang mencegah masuk ke akun Google
+  </li>
+</ul>
+
+<h4>Pemutakhiran sistem</h4>
+
+<ul>
+  <li>Perangkat mungkin langsung dihidupkan ulang setelah memperbarui ke DP2.
+  </li>
+</ul>
+
+<h4>Aksesibilitas</h4>
+
+<ul>
+  <li>Ada masalah dalam mendengarkan keluaran teks-ke-suara (TTS) bila pitch disetel
+  mendekati level maksimum.
+  </li>
+</ul>
+
+<h4>Bluetooth</h4>
+
+<ul>
+  <li>Karakteristik Bluetooth Low Energy (LE) GATT menggunakan tipe tulisan
+  yang salah dan tidak akan dikirim ke perangkat jauh. Karena itu, misalnya, beberapa perangkat
+  kebugaran tidak akan berfungsi.
+  </li>
+</ul>
+
+<h4>Wizard persiapan</h4>
+
+<ul>
+  <li>Opsi untuk memulihkan data pada perangkat baru (atau perangkat yang baru disetel ulang) dari
+  "Your Google Account" tidak dapat digunakan dari wizard persiapan. Anda harus memulihkan
+  data dari perangkat yang ada dengan memilih "another Android device" dalam
+  wizard persiapan, atau siapkan sebagai perangkat baru.
+  </li>
+</ul>
+
+<h4>Buka kunci OEM</h4>
+
+<ul>
+  <li>Pada beberapa perangkat, <strong>Enable OEM unlock</strong> dalam "Developer Options", berwarna abu-abu
+  saat menjalankan DP2.<br>
+  <strong>Solusi:</strong> Ikuti
+  Android Beta Program (jika Anda belum mengikuti) dengan mengunjungi
+  <a href="https://www.google.com/android/beta" class="external-link">www.google.com/android/beta</a>. Kemudian, keluar dan terima
+  OTA turunkan versi. Keluar dari program akan menyebabkan perangkat turun versi ke Android 6.0. Anda
+  seharusnya sekarang bisa memilih <strong>Enable OEM unlock</strong> dalam
+  "Developer Options". Data pribadi akan dihapus bila Anda turunkan versi
+  perangkat; akan tetapi, membuka kunci bootloader akan menghapus data ini.
+  </li>
+</ul>
+
+<h4>Android for Work</h4>
+
+<ul>
+  <li>Work Security Challenge
+    <ul>
+      <li>Setelah migrasi ke N, atau setelah pengguna membuat profil kerja, profil
+      kerja tidak bisa membuat kunci-kunci dalam keystore hingga pengguna mengubah pola,
+      PIN, atau sandi mereka, atau menyiapkan Work Challenge.
+      </li>
+
+      <li>Dalam mode Direct Boot, menerapkan batasan kode sandi pada perangkat
+      menyebabkan profil kerja tidak terkunci, meskipun perangkat terkunci.
+      Hal ini membuat profil kerja bisa diakses meskipun seharusnya dilindungi
+      oleh layar kunci perangkat.
+      </li>
+    </ul>
+  </li>
+
+  <li>Always-On VPN
+    <ul>
+      <li>Jika mode Always-On VPN diaktifkan, namun VPN tidak tersedia, aplikasi
+      akan menghubungkan melalui jaringan biasa. Aplikasi seharusnya offline jika tidak
+      tersedia koneksi VPN.
+      </li>
+
+      <li>Bila mode Always-On aktif, koneksi VPN tidak akan dibuat setelah
+      perangkat dihidupkan ulang ke dalam mode Direct Boot, bahkan setelah pengguna membuka kunci
+      layar kunci aman.
+      </li>
+    </ul>
+  </li>
+
+  <li>Paket Ditangguhkan
+    <ul>
+      <li>Admin perangkat bisa menangguhkan paket sistem penting, yang dapat menyebabkan
+      perilaku yang tidak diharapkan, seperti melakukan panggilan meskipun dialog "Telephone
+      disabled" sedang ditampilkan.
+      </li>
+    </ul>
+  </li>
+
+  <li>Lainnya
+    <ul>
+      <li>Aplikasi Settings akan mogok saat dibuka jika {@link
+      android.os.UserManager#DISALLOW_MOUNT_PHYSICAL_MEDIA} disetel ke true bila
+      pengguna memasukkan media fisik seperti kartu SD.
+      </li>
+
+      <li>Proses masuk pertama ke Profil Kerja membutuhkan waktu
+      beberapa menit.
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<h4 id="vulkan">Vulkan</h4>
+
+<ul>
+   <li>Nexus 5X/6P</li>
+   <ul>
+      <li>Selisih antara angka-angka yang mengikat dan selain nol
+      sebagai angka pengikat pertama menyebabkan {@code vkCreateGraphicsPipeline()} gagal.</li>
+      <li>Vulkan menunjukkan perilaku sampling yang salah pada koordinat tekstur yang diproyeksikan.</li>
+      <li>dalam contoh multithreadCmdBuffer, {@code vkCmdClearColorImage()} mengalami mogok bila
+      dijalankan dengan driver N-DP2.</li>
+      <li>Nilai kembalian dari {@code vkGetPhysicalDeviceFormatProperties()} tidak menyetel nilai
+      untuk {@code VkFormatProperties::linearTilingFeatures}, yang mengambil nilai 0 sebagai
+      hasil.</li>
+      <li>Lampiran buffer bingkai titik ambang Vulkan tidak ditangani dengan benar.</li>
+    </ul>
+   <li>Nexus Player</li>
+   <ul>
+      <li>SPIR-V shader mungkin memicu pernyataan driver.</li>
+      <li>Beberapa konfigurasi pipeline mungkin menyebabkan {@code vkCreateGraphicsPipeline()}
+      mogok.</li>
+  </ul>
+</ul>
+
+<h4>Masalah perangkat tertentu</h4>
+
+<dl>
+  <dt>
+    <strong>Android One</strong>
+  </dt>
+
+  <dd>
+    Koneksi data gagal bila perangkat dipindah dari slot 1 SIM ke slot 2 SIM.
+  </dd>
+
+  <dt>
+    <strong>Pixel C</strong>
+  </dt>
+
+  <dd>
+    Tidak bisa mengubah opsi "Always On" untuk Voice Search.
+  </dd>
+
+  <dt>
+    <strong>Nexus 6</strong>
+  </dt>
+
+  <dd>
+    Gambar kamera dalam orientasi potret rusak, kecuali untuk foto
+   HDR+.
+  </dd>
+
+  <dt>
+    <strong>Nexus Player</strong>
+  </dt>
+
+  <dd>
+    Pemutaran materi HD Netflix mungkin gagal pada Nexus Player.
+  </dd>
+
+  <dd>
+    Aplikasi yang bergantung pada perubahan resolusi video dinamis mungkin gagal pada
+   Nexus Player.
+  </dd>
+
+  <dd>
+    Aplikasi yang menggunakan codec video VP9 mungkin gagal pada Nexus Player.
+  </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>Tanggal: Maret 2016<br>
+        Build: NPC56P, NPC56R, diperbarui: NPC56W, NPC56X<br>
+        Dukungan emulator: x86 &amp; ARM (32/64-bit)<br>
+        Google Play Services: 8.4</em>
+      </p>
+    </div>
+  </div>
+</div>
+
+<h3 id="dp1-general">Saran umum</h3>
+
+<p>
+  Rilis Developer Preview ini adalah untuk pengembang aplikasi saja dan didesain untuk
+  digunakan dalam pengujian kompatibilitas serta pengembangan awal saja. Harap perhatikan
+  catatan umum tentang rilis ini:
+</p>
+<ul>
+  <li>Rilis ini memiliki berbagai masalah stabilitas dan kinerja pada semua perangkat
+  yang membuatnya <em>tidak cocok untuk penggunaan sehari-hari pada ponsel atau tablet</em>,
+  terutama untuk selain pengembang.
+  </li>
+
+  <li>Kinerja sistem dan aplikasi diketahui <strong>lambat/
+  melempem pada waktu-waktu tertentu</strong>, dan perangkat kadang-kadang tidak responsif. Masalah-masalah
+   ini bisa menjadi lebih akut pada penggunaan yang lama.
+  </li>
+
+  <li>Daya tahan baterai mungkin melemah dalam rilis ini untuk kasus penggunaan layar hidup dan
+  layar mati.
+  </li>
+
+  <li>Beberapa aplikasi mungkin tidak berfungsi dengan normal pada Developer Preview 1.
+  Termasuk aplikasi Google serta aplikasi lainnya.
+  </li>
+
+  <li>Build awal ini bukan Compatibility Test Suite (CTS) yang disetujui. Aplikasi
+  yang bergantung pada build yang disetujui CTS tidak akan berfungsi (Android Pay misalnya).
+  </li>
+
+  <li>Rilis pratinjau ini mendukung perangkat berikut: Nexus 5X, Nexus 6,
+  Nexus 6P, Nexus 9, Nexus Player, dan Pixel C, serta General Mobile 4G
+  (Android One).
+  </li>
+</ul>
+
+<h3 id="dp1-platform">Masalah Platform</h3>
+
+<h4>Kinerja dan baterai</h4>
+
+<ul>
+  <li>Kinerja sistem dan aplikasi diketahui <strong>lambat/
+  melempem pada waktu-waktu tertentu</strong>, dan perangkat kadang-kadang tidak responsif. Masalah-masalah
+   ini bisa menjadi lebih akut pada penggunaan yang lama.
+  </li>
+
+  <li>Daya tahan baterai mungkin melemah dalam rilis ini untuk kasus penggunaan layar hidup dan
+  layar mati.
+  </li>
+</ul>
+<h4 id="dialer">Telepon</h4>
+
+<ul>
+  <li>Aplikasi telepon tidak mendukung Direct Boot. Hal ini nanti akan ditangani dalam
+  N Developer Preview.
+  </li>
+
+  <li>Pemutaran pesan suara tidak berfungsi.
+  </li>
+</ul>
+
+<h4>Mikrofon</h4>
+
+<ul>
+   <li>Sistem mungkin keliru mempertahankan mikrofon dalam keadaan nonaktif di semua aplikasi dan saat menghidupkan ulang. Jika Anda menonaktifkan mikrofon di aplikasi dan kondisi ini terus bertahan, buka aplikasi apa saja yang memiliki kontrol untuk menonaktifkan mikrofon dan aktifkan mikrofon.</li>
+</ul>
+
+<h4 id="ui">UI sistem</h4>
+
+<ul>
+  <li>Beberapa string baru atau yang dimodifikasi dalam UI sistem tidak diterjemahkan ke semua
+   bahasa.
+  </li>
+
+  <li>UI ringkasan masih dalam pengembangan, dan masih mungkin berubah. Misalnya,
+  kami bermaksud membuang timer yang muncul bila pengguna beralih
+  aplikasi.
+  </li>
+
+  <li>Kontrol setelan dan peralihannya mungkin menjadi lambat atau tampak tidak responsif.
+  </li>
+
+  <li>Desain visual pemberitahuan masih bisa berubah.
+  </li>
+
+  <li>Dalam aplikasi Gmail, pengarsipan email secara langsung yang disertakan dalam bundel
+   pemberitahuan tidak berfungsi dengan benar.
+  </li>
+</ul>
+
+<h4>Android for Work</h4>
+
+<ul>
+  <li>Work Security Challenge
+    <ul>
+      <li>Setelah migrasi ke N, atau setelah pengguna membuat profil kerja, profil
+      kerja tidak bisa membuat kunci-kunci dalam keystore hingga pengguna mengubah pola,
+      PIN, atau sandi mereka, atau menyiapkan Work Challenge.
+      </li>
+
+      <li>Dalam mode Direct Boot, menerapkan batasan kode sandi pada perangkat
+      menyebabkan profil kerja tidak terkunci, meskipun perangkat terkunci.
+      Hal ini membuat profil kerja bisa diakses meskipun seharusnya dilindungi
+      oleh layar kunci perangkat.
+      </li>
+
+      <li>Bila pengguna memasukkan sandi dan pin yang salah, sistem tidak akan
+   menampilkan pesan informasi; sistem hanya mengosongkan bidang
+   masukan. Masalah ini tidak memengaruhi masukan pola atau sidik jari.
+      </li>
+
+      <li>Pada tablet, latar belakang yang ditampilkan bersama pertanyaan kerja
+  berukuran kecil dan tidak proporsional.
+      </li>
+
+      <li>Versi <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.enterprise.dmagent">
+        Google Apps Device Policy</a> yang dibundel bersama N Developer Preview
+        belum mendukung fitur Pertanyaan Keamanan Profil Kerja.
+        Pengembang seharusnya menggunakan <a href="https://github.com/googlesamples/android-testdpc/releases">TestDPC</a>
+        untuk menguji fitur ini.
+      </li>
+    </ul>
+  </li>
+
+  <li>Always-On VPN
+    <ul>
+      <li>Jika mode Always-On VPN diaktifkan, namun VPN tidak tersedia, aplikasi
+      yang tidak dinyatakan sebagai pengecualian pada kebijakan Always On akan menghubungkan melalui
+      jaringan biasa. Kecuali jika ditetapkan sebagai pengecualian pada kebijakan Always-On VPN,
+      aplikasi seharusnya offline jika tidak tersedia koneksi VPN.
+        <ul>
+          <li>Bila mode Always On aktif, koneksi VPN tidak akan dibuat
+          setelah perangkat dihidupkan ulang ke dalam mode Direct Boot, bahkan
+          setelah pengguna membuka kunci layar kunci aman.
+          </li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+
+  <li>Kontak yang Ditingkatkan
+    <ul>
+      <li>Perangkat Bluetooth PBAP/MAP tidak menampilkan nomor penelepon untuk kontak
+      kerja. Rilis Pratinjau berikutnya akan mengatasi masalah ini.
+      </li>
+    </ul>
+  </li>
+
+  <li>Mode Kerja
+    <ul>
+      <li>Peluncur Google Now tidak menampilkan apakah Mode Kerja aktif atau
+      nonaktif. Peluncur juga tidak menunjukkan kondisi penangguhan aplikasi.
+      </li>
+
+      <li>Setelah pengguna menonaktifkan lalu mengaktifkan Mode Kerja, sistem tidak lagi menampilkan
+   widget aplikasi Profil Kerja, seperti Kalender.
+      </li>
+    </ul>
+  </li>
+
+  <li>Paket Ditangguhkan
+  </li>
+
+  <li>Admin perangkat bisa menangguhkan paket sistem penting, yang dapat menyebabkan
+  perilaku yang tidak diharapkan, seperti melakukan panggilan meskipun dialog Telephone
+  disabled sedang ditampilkan.
+  </li>
+
+  <li>Lainnya
+    <ul>
+      <li>Aplikasi Settings akan mogok saat dibuka jika {@link
+      android.os.UserManager#DISALLOW_MOUNT_PHYSICAL_MEDIA} disetel ke true bila
+      pengguna memasukkan media fisik seperti kartu SD.
+      </li>
+
+      <li>Keadaan {@code DPM.setPackagesSuspended} tidak akan bertahan bila
+  pengguna mencopot pemasangan kemudian memasang kembali aplikasi tersebut. Aplikasi harus tetap
+      ditangguhkan setelah mencopot pemasangan/pemasangan ulang, atau aplikasi tidak boleh
+      dicopot pemasangannya
+      </li>
+
+      <li>Proses masuk pertama ke Profil Kerja membutuhkan waktu
+      beberapa menit. Hal ini dapat menyebabkan perangkat membutuhkan waktu lebih lama dari biasanya untuk
+      terlihat di Play EMM API.
+      </li>
+
+      <li>Pemberitahuan dari aplikasi Profil Kerja tidak tampak bagi listener
+  pemberitahuan yang terpasang di profil pribadi. Akibatnya, sistem tidak
+      menampilkan Pemberitahuan seperti yang diharapkan.
+      </li>
+
+    </ul>
+  </li>
+</ul>
+
+<h4 >Keyboard</h4>
+
+<ul>
+  <li>Penyandingan Bluetooth antara keyboard dan perangkat Android mungkin menjadi tidak stabil.
+  </li>
+</ul>
+
+<h4 >Video</h4>
+
+<ul>
+<li>Pemutaran video mungkin mengalami selisih waktu dan menunjukkan interupsi.</li>
+</ul>
+
+<h4>Wi-Fi</h4>
+
+<ul>
+  <li>Wi-Fi telah menjalani beberapa optimalisasi yang mungkin mengubah perilaku kasus patologis
+  API. Khususnya, aplikasi yang berusaha menghubungkan ke jaringan
+  tertentu, atau berusaha menghubungkan kembali ke jaringan harus mengulang pengujian.
+  </li>
+
+  <li>Klien DHCP lawas telah dibuang dari platform. Satu-satunya klien DHCP
+   yang didukung platform adalah klien DHCP yang diperkenalkan di M.
+  </li>
+</ul>
+
+<h4>Direct Boot</h4>
+
+<ul>
+  <li>NFC tidak berfungsi hingga pembukaan kunci pertama.
+    <ul>
+      <li>Bila telepon berkemampuan Bluetooth dihidupkan ulang, Bluetooth tidak akan
+      aktif secara otomatis. Anda harus mengaktifkan kembali Bluetooth secara manual.
+      </li>
+
+      <li>Dalam beberapa situasi, nada dering default mungkin tidak terdengar untuk
+      panggilan telepon dan pesan. Perilaku ini telah diperbaiki dalam rilis N Preview berikutnya,
+      dengan satu pengecualian (dan solusi):
+      </li>
+
+      <li>Pada perangkat yang bukan baru dikosongkan--perangkat yang telah booting setidaknya
+      sekali sejak disetel ke mode Direct Boot--nada dering pemberitahuan
+      default tidak berbunyi. Pengguna bisa mengatasi masalah ini dengan
+      memilih nada dering dari Settings secara manual.
+      </li>
+
+      <li>Direct Boot tidak diaktifkan secara default pada perangkat yang menjalankan build N
+      Developer Preview. Untuk mengaktifkan Direct Boot untuk pengujian dan
+      pengembangan, masuklah ke Developer Option dan ketuk Convert to File Encryption.
+      Dalam Developer Preview ini perlu penyetelan ulang pabrik untuk membagi ulang dan
+      memformat ulang perangkat Anda bagi File-based Encryption.
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<h4>Gambar-dalam-gambar untuk Android TV</h4>
+
+<ul>
+  <li>Integrasi PIP dalam Recents UI belum final, dan masih bisa
+  berubah.
+    <ul>
+      <li>Animasi jendela PIP belum halus. Rilis Pratinjau
+      mendatang akan memperbaiki hal ini.
+      </li>
+    </ul>
+  </li>
+
+  <li style="list-style: none">Rilis Pratinjau mendatang akan memperbaiki
+  desain visual dan perapian layout PIP.
+  </li>
+</ul>
+
+<h4>Laporan bug</h4>
+
+<ul>
+  <li>Laporan bug tidak selalu berhasil diselesaikan (seperti solusi,
+  kadang-kadang masih bisa diakses melalui penyedia dokumen laporan bug
+  di penyimpanan internal).
+  </li>
+</ul>
+
+<h4>Layar terbagi Multi-jendela</h4>
+
+<ul>
+  <li>Aplikasi bisa mengalami mogok dan perilaku UI yang tidak diharapkan bila ditempatkan dalam
+  mode layar terbagi. Ini adalah masalah aplikasi yang harus diperbaiki oleh pengembang
+  aplikasi.
+  </li>
+
+  <li>Bila aplikasi menargetkan versi platform Android sebelum N, maka
+  aplikasi mungkin tidak berfungsi pada layar terbagi dan toast mungkin muncul berkali-kali.
+  </li>
+
+  <li>Menekan lama tombol Ringkasan saat menggunakan aplikasi dengan orientasi
+  tetap mungkin menghasilkan perilaku aplikasi yang tidak diharapkan.
+  </li>
+
+  <li>Aplikasi mungkin berkedip saat mengubah ukurannya.
+  </li>
+
+  <li>Animasi belum final.
+  </li>
+</ul>
+
+<h4>Metode masukan</h4>
+
+<ul>
+  <li>Google Keyboard secara tidak diharapkan kembali ke keyboard Google generik
+  bila <b>menggunakan bahasa sistem</b>, namun Google Keyboard tidak mendukung
+  bahasa yang dipilih dalam preferensi bahasa sistem. Ia akan kembali
+  ke American English.
+    <p>
+      Anda bisa mengatasi masalah ini dengan menambahkan setidaknya satu bahasa yang didukung
+  Keyboard Google.
+    </p>
+  </li>
+</ul>
+
+<h4>Aksesibilitas</h4>
+
+<ul>
+  <li>TalkBack menunjukkan masalah pada beberapa fitur termasuk Pemberitahuan, petak
+  Quick Settings dan tampilan Multi-jendela yang mungkin menyebabkan sistem mogok atau
+  tidak ada masukan lisan dari TalkBack. Rilis pratinjau mendatang akan
+  menangani masalah ini.
+  </li>
+</ul>
+
+<h3 id="dp1-device-sp">Masalah dan Catatan untuk Perangkat Tertentu</h3>
+
+<h4>Nexus Player</h4>
+<ul>
+  <li>Pemutaran video, kompatibilitas aplikasi, dan masalah stabilitas telah antisipasi pada
+  Nexus Player dalam rilis Pratinjau ini.
+  </li>
+</ul>
+
+<h4>Pixel C</h4>
+<ul>
+<li>Mengubah ukuran multi-jendela bisa menyebabkan mogok.</li>
+</ul>
+
+<h4>Nexus 9</h4>
+<ul>
+<li>Perangkat Nexus 9 mungkin tidak jalan setelah menerima pembaruan lewat jaringan seluler (OTA)
+  via Android Beta Program. Untuk memulihkan dari masalah ini, Anda bisa mencoba
+  pasang citra OTA secara manual. Untuk informasi selengkapnya, lihat
+  <a href="{@docRoot}preview/download-ota.html">Menerapkan Citra OTA Perangkat</a>.
+</li>
+</ul>
+
diff --git a/docs/html-intl/intl/in/training/material/compatibility.jd b/docs/html-intl/intl/in/training/material/compatibility.jd
index d57c7be..ef444c3 100644
--- a/docs/html-intl/intl/in/training/material/compatibility.jd
+++ b/docs/html-intl/intl/in/training/material/compatibility.jd
@@ -123,7 +123,7 @@
 <h3>Dependensi</h3>
 
 <p>Untuk menggunakan fitur-fitur ini di versi Android sebelum 5.0 (API level 21), sertakan
-Android v7 Support Library dalam proyek Anda sebagai <a href="{@docRoot}/sdk/installing/studio-build.html#dependencies">dependensi Gradle</a>:</p>
+Android v7 Support Library dalam proyek Anda sebagai <a href="{@docRoot}sdk/installing/studio-build.html#dependencies">dependensi Gradle</a>:</p>
 
 <pre>
 dependencies {
diff --git a/docs/html-intl/intl/ja/preview/_book.yaml b/docs/html-intl/intl/ja/preview/_book.yaml
new file mode 100644
index 0000000..5f1e18f
--- /dev/null
+++ b/docs/html-intl/intl/ja/preview/_book.yaml
@@ -0,0 +1,342 @@
+toc:
+- title: プログラム概要
+  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: サポートとリリースノート
+  path: /preview/support.html
+
+- title: 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: 端末上でのテスト
+  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: 動作の変更点
+  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: バックグラウンド処理の最適化
+    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: 言語とロケール
+    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: マルチ ウィンドウのサポート
+    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: 通知
+    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: データセーバー
+    path: /preview/features/data-saver.html
+  - title: 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: ネットワーク セキュリティ構成
+    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: 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: Java 8 の言語機能
+    path: /preview/j8-jack.html
+    path_attributes:
+    - name: es-lang
+      value: Funciones del lenguaje Java 8
+    - name: in-lang
+      value: Fitur Bahasa Java 8
+    - name: ja-lang
+      value: Java 8 の機能
+    - name: ko-lang
+      value: Java 8 언어 기능
+    - name: pt-br-lang
+      value: Recursos de linguagem do Java 8
+    - name: ru-lang
+      value: Возможности языка Java 8
+    - name: vi-lang
+      value: Tính năng của Ngôn ngữ Java 8
+    - name: zh-cn-lang
+      value: Java 8 语言功能
+    - name: zh-tw-lang
+      value: Java 8 語言功能
+  - title: Android for Work のアップデート
+    path: /preview/features/afw.html
+  - title: 特定のディレクトリへのアクセス
+    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: サンプル
+  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: 使用許諾契約
+  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/ja/preview/api-overview.jd b/docs/html-intl/intl/ja/preview/api-overview.jd
index 617872b..d967a67 100644
--- a/docs/html-intl/intl/ja/preview/api-overview.jd
+++ b/docs/html-intl/intl/ja/preview/api-overview.jd
@@ -1,5 +1,5 @@
-page.title=デベロッパー向け Android N
-meta.tags="プレビュー"、"androidn"
+page.title=Android N for Developers
+meta.tags="preview", "androidn"
 page.tags="preview", "developer preview"
 page.image=images/cards/card-n-apis_2x.png
 @jd:body
@@ -14,34 +14,42 @@
       <ul style="list-style-type:none;">
         <li><a href="#multi-window_support">マルチ ウィンドウのサポート</a></li>
         <li><a href="#notification_enhancements">通知</a></li>
-        <li><a href="#jit_aot">JIT/AOT コンパイル</a></li>
+        <li><a href="#jit_aot">JIT / AOT コンパイル</a></li>
         <li><a href="#quick_path_to_app_install">アプリの高速インストール</a></li>
         <li><a href="#doze_on_the_go">どこでも機能する Doze</a></li>
         <li><a href="#background_optimizations">バックグラウンド処理の最適化</a></li>
         <li><a href="#data_saver">データセーバー</a></li>
+        <li><a href="#vulkan">Vulkan API</a></li>
         <li><a href="#tile_api">クイック設定タイル API</a></li>
-        <li><a href="#number-blocking">迷惑電話のブロック</a></li>
+        <li><a href="#number-blocking">電話番号のブロック</a></li>
         <li><a href="#call_screening">通話スクリーニング</a></li>
         <li><a href="#multi-locale_languages">ロケールと言語</a></li>
+        <li><a href="#emoji">新しい絵文字</a></li>
         <li><a href="#icu4">Android の ICU4J API</a></li>
         <li><a href="#gles_32">OpenGL ES 3.2 API</a></li>
         <li><a href="#android_tv_recording">Android TV の録画機能</a></li>
         <li><a href="#android_for_work">Android for Work</a></li>
-        <li><a href="#accessibility_enhancements">アクセシビリティ</a></li>
+        <li><a href="#accessibility_enhancements">ユーザー補助機能</a></li>
         <li><a href="#direct_boot">ダイレクト ブート</a></li>
         <li><a href="#key_attestation">キーの構成証明</a></li>
         <li><a href="#network_security_config">ネットワーク セキュリティ構成</a></li>
-        <li><a href="#default_trusted_ca">デフォルトで信頼される証明機関</a></li>
-        <li><a href="apk_signature_v2">APK 署名スキーム v2</a></li>
+        <li><a href="#default_trusted_ca">既定の信頼される証明機関</a></li>
+        <li><a href="#apk_signature_v2">APK 署名スキーム v2</a></li>
         <li><a href="#scoped_directory_access">特定のディレクトリへのアクセス</a></li>
+        <li><a href="#keyboard_shortcuts_helper">キーボード ショートカット ヘルパー</a></li>
+        <li><a href="#sustained_performance_api">パフォーマンス維持 API</a></li>
+        <li><a href="#vr">VR サポート</a></li>
+        <li><a href="#print_svc">印刷サービス機能の強化</a></li>
+        <li><a href="#virtual_files">仮想ファイル</a></li>
+        <li><a href="#framemetrics_api">FrameMetricsListener API</a></li>
       </ol>
 </div>
 </div>
 
 
 
-<p>Android N は現在も開発中ですが、N Developer Preview の一部として Android N を試用できます。以下のセクションでは、デベロッパー向けの新しい機能の一部を紹介しています。
-
+<p>Android N は現在も開発中ですが、N Developer Preview の一部として Android N を試用できます。
+以下のセクションでは、デベロッパー向けの新しい機能の一部を紹介しています。
  </p>
 
 <p>
@@ -54,19 +62,19 @@
 <h2 id="multi-window_support">マルチ ウィンドウのサポート</h2>
 
 
-<p>Android N では、多くのユーザーから求められていたマルチタスク機能がプラットフォームに新しく導入され、マルチ ウィンドウがサポートされています。
+<p>Android N では、多くのユーザーから求められていたマルチタスク機能がプラットフォームに新しく導入されました。つまり、マルチ ウィンドウがサポートされるようになりました。
  </p>
 
-  <p>これにより、ユーザーは画面に 2 つのアプリを同時に開くことができるようになりました。 </p>
+  <p>ユーザーは同時に 2 つのアプリを画面に開くことができます。 </p>
   <ul>
-  <li>Android N が動作している携帯端末やタブレットでは、分割画面モードで 2 つのアプリを左右や上下に並べて実行できます。また、2 つのアプリの間にある分割線をドラッグしてアプリのサイズを変更することもできます。
+  <li>Android N が動作している携帯端末やタブレットでは、分割画面モードで 2 つのアプリを左右や上下に並べて実行できます。
 
-
+また、2 つのアプリの間にある分割線をドラッグしてアプリのサイズを変更することもできます。
  </li>
 
-<li>Android TV デバイスでは、アプリを<a href="{@docRoot}preview/features/picture-in-picture.html">ピクチャ イン ピクチャ モード</a>にすると、アプリにコンテンツを表示したまま、他のアプリをブラウジングまたは操作することができます。詳細は以下をご覧ください。
+<li>Android TV 端末では、アプリを<a href="{@docRoot}preview/features/picture-in-picture.html">ピクチャ イン ピクチャ モード</a>にすると、アプリにコンテンツを表示したまま、他のアプリをブラウジングまたは操作することができます。
 
- </li>
+</li>
   </ul>
 
 <div class="col-4of10">
@@ -74,17 +82,18 @@
 <p class="img-caption">
   <strong>図 1.</strong> 分割画面モードで実行されているアプリ
 </p>
+
   </div>
 
-<p>特にタブレットや大画面のデバイスでは、マルチ ウィンドウのサポートにより、ユーザーを引き付ける新しい方法が提供されます。アプリでドラッグ アンド ドロップを有効にすると、ユーザーはアプリとの間でコンテンツを簡単にドラッグすることができるので、快適な使い心地が実現することができます。
-
+<p>特にタブレットや大画面の端末では、マルチ ウィンドウのサポートにより、ユーザーを引き付ける新しい方法が提供されます。
+アプリでドラッグ アンド ドロップを有効にすると、ユーザーはアプリとの間でコンテンツを簡単にドラッグすることができるので、快適な使い心地を実現することができます。
 
  </p>
 
-<p>マルチ ウィンドウのサポートをアプリに追加して、どのようにマルチ ウィンドウを処理するかを設定するのは簡単です。たとえば、アクティビティの最小許容寸法を指定すると、ユーザーはアクティビティをそのサイズ以下に変更できなくなります。また、アプリに対してマルチ ウィンドウ表示を無効にすると、アプリが全画面モードでのみ表示されます。
+<p>マルチ ウィンドウのサポートをアプリに追加して、マルチ ウィンドウ ディスプレイを処理する方法を設定するのは簡単です。
+たとえば、アクティビティの最小許容ディメンションを指定すると、ユーザーはアクティビティをそのサイズより小さく変更できなくなります。
 
-
-
+また、アプリに対してマルチ ウィンドウ ディスプレイを無効にし、アプリを全画面モードのみで表示することもできます。
 </p>
 
 <p>
@@ -94,32 +103,39 @@
 
 <h2 id="notification_enhancements">通知の機能強化</h2>
 
-<p>Android N では、通知が再設計されており、さらに使いやすくなっています。加えられている変更は、次のような点です。
-</p>
+<p>Android N では、通知が再設計されており、さらに使いやすくなっています。
+次のような点が変更されました。</p>
 
 <ul>
   <li>
-    <strong>テンプレートのアップデート</strong>: 通知テンプレートは、ヒーロー イメージやアバターを中心としたデザインにアップデートされています。デベロッパーは、コードに最小限の変更を加えるだけで、この新しいテンプレートを活用できます。
+    <strong>テンプレートのアップデート</strong>:通知テンプレートは、ヒーロー イメージやアバターを中心としたデザインにアップデートされています。
+デベロッパーは、コードに最小限の変更を加えるだけで、この新しいテンプレートを活用できます。
+
+  </li>
+
+  <li>
+    <strong>メッセージ スタイルのカスタマイズ</strong>:<code>MessageStyle</code> クラスを使用して、通知に関連付けられているさらに多くのユーザー インターフェース ラベルをカスタマイズできます。
+
+メッセージ、会話、タイトル、コンテンツ ビューを設定できます。
+
+  </li>
+
+  <li>
+    <strong>バンドル通知</strong>:メッセージをグループ化できます。たとえば、メッセージをトピックごとにグループ化して、各グループを表示できます。
+ユーザーは、各グループに対して、消去やアーカイブといったアクションを実行できます。
+Android Wear 向けの通知を実装したことがある場合は、このモデルはおなじみでしょう。
 
 
   </li>
 
   <li>
-    <strong>バンドル通知</strong>: メッセージをグループ化します。たとえば、メッセージをトピックごとにグループ化して、各グループを表示できます。ユーザーは、各グループに対して、消去やアーカイブといったアクションを実行できます。Android Wear 向けの通知を実装したことがある場合は、このモデルはおなじみでしょう。
-
-
+    <strong>ダイレクト リプライ</strong>:Android システムでは、インライン リプライがサポートされています。リアルタイム通信アプリを使用しているユーザーは、通知インターフェース内で直接 SMS やテキスト メッセージにすばやく応答できます。
 
 
   </li>
 
   <li>
-    <strong>ダイレクト リプライ</strong>: Android システムでは、インライン リプライがサポートされています。リアルタイム通信アプリを使用しているユーザーは、通知インターフェース内で直接 SMS やテキスト メッセージにすばやく応答できます。
-
-
-  </li>
-
-  <li>
-    <strong>カスタムビュー</strong>: 2 つの新しい API を使用すると、通知でカスタムビューを使用するときに、通知ヘッダーやアクションなどのシステム デコレーションを活用できます。
+    <strong>カスタムビュー</strong>:2 つの新しい API を使用すると、通知でカスタムビューを使用するときに、通知ヘッダーやアクションなどのシステム デコレーションを活用できます。
 
 
   </li>
@@ -148,42 +164,42 @@
 
 
 
-<h2 id="jit_aot">プロファイルに基づいた JIT/AOT コンパイル</h2>
+<h2 id="jit_aot">プロファイルに基づいた JIT / AOT コンパイル</h2>
 
-<p>Android N では、コード プロファイリングにも対応した Just in Time(JIT)コンパイラーが ART に追加されており、Android アプリの実行時のパフォーマンスが向上しています。JIT コンパイラーは、ART で現在使用されている Ahead of Time(AOT)コンパイラーを補完するものであり、実行時パフォーマンスの向上、記憶領域の削減、アプリとシステムのアップデートの高速化に貢献します。
+<p>Android N では、コード プロファイリングにも対応した Just in Time(JIT)コンパイラーが ART に追加されており、Android アプリを実行するときのパフォーマンスが向上しています。
 
-
+JIT コンパイラーは、ART で現在使用されている Ahead of Time(AOT)コンパイラーを補完するものであり、ランタイム パフォーマンスの向上、ストレージ スペースの削減、アプリとシステムのアップデートの高速化に貢献します。
 
 </p>
 
-<p>プロファイルに基づいたコンパイルを使用すると、アプリの実際の使用方法やデバイス上での状態に応じて、ART が各アプリの AOT/JIT コンパイルを管理します。たとえば、ART は各アプリのホット メソッドのプロファイルを維持し、メソッドをプリコンパイルしてキャッシュすることにより、パフォーマンスを最適化します。また、アプリの他の部分は、実際に使用されるときまでコンパイルされません。
+<p>プロファイルに基づいたコンパイルを使用すると、アプリの実際の使用方法や端末上での状態に応じて、ART が各アプリの AOT / JIT コンパイルを管理します。
+たとえば、ART は各アプリのホット メソッドのプロファイルを維持し、これらのメソッドをプリコンパイルしてキャッシュに保存することにより、パフォーマンスを最適化します。
 
-
-
+また、アプリの他の部分は、実際に使用されるときまでコンパイルされません。
 </p>
 
-<p>プロファイルに基づいたコンパイルは、アプリの主要部分のパフォーマンスを向上させ、関連するバイナリなど、アプリの全体的な RAM 使用量を削減します。この機能は、メモリが少ないデバイスで特に重要です。
+<p>プロファイルに基づいたコンパイルは、アプリの主要部分のパフォーマンスを向上させ、関連するバイナリなど、アプリの全体的な RAM 使用量を削減します。
 
-</p>
+この機能は、メモリが少ない端末で特に重要です。</p>
 
-<p>ART は、デバイスのバッテリーへの影響が最小限になるようにプロファイルに基づいたコンパイルを管理します。デバイスがアイドル状態および充電中のときにのみ、プリコンパイルが事前に実行されるため、時間とバッテリーが節約できます。
-
+<p>ART は、端末の電池への影響が最小限になるようにプロファイルに基づいたコンパイルを管理します。
+端末がアイドル状態および充電中のときにのみ、プリコンパイルが事前に実行されるため、時間と電池が節約できます。
 </p>
 
 <h2 id="quick_path_to_app_install">アプリの高速インストール</h2>
 
-<p>ART の JIT コンパイラーの最も明確な利点の 1 つは、アプリのインストールとシステム アップデートの速度です。Android 6.0 では最適化とインストールの実行に数分かかっていたサイズの大きいアプリでも、数秒でインストールできるようになりました。最適化のステップが不要なったため、システム アップデートも高速化されています。
+<p>ART の JIT コンパイラーの最も明確な利点の 1 つは、アプリのインストールとシステム アップデートの速度です。
+Android 6.0 では最適化とインストールの実行に数分かかっていたサイズの大きいアプリでも、数秒でインストールできるようになりました。
 
-
- </p>
+最適化のステップが不要になったため、システム アップデートも高速化されています。 </p>
 
 <h2 id="doze_on_the_go">どこでも機能する Doze</h2>
 
-<p>Android 6.0 では Doze システム モードが導入されています。これにより、デバイスが机に置かれているときや引き出しに収められているときなどのアイドル時にアプリの CPU とネットワーク通信の実行を保留し、バッテリーを節約します。
+<p>Android 6.0 では Doze システムモードが導入されています。これにより、端末が机に置かれているときや引き出しに収められているときなどのアイドル時にアプリの CPU とネットワーク通信の実行を保留し、電池を節約します。
 
  </p>
 
-<p>Android N では Doze が改良され、外出中でもバッテリーを節約できるようになっています。画面をしばらくオフにしたりデバイスを電源から抜いたりすると、Doze により、通常の CPU およびネットワーク制限の一部がアプリに適用されます。つまり、デバイスをポケットに入れて持ち歩いてるときでもバッテリーを節約できます。
+<p>Android N では Doze が改良され、外出中でも電池を節約できるようになっています。画面をしばらくオフにしたり端末を電源から抜いたりすると、Doze により、通常の CPU およびネットワーク制限の一部がアプリに適用されます。つまり、端末をポケットに入れて持ち歩いているときでも電池を節約できます。
 
 
 
@@ -192,63 +208,63 @@
 
 <img src="/preview/images/doze-diagram-1.png" alt="" id="figure1" />
 <p class="img-caption">
-  <strong>図 3.</strong> Doze により、デバイスが静止していないときでも制限が適用され、バッテリーの寿命が延長される
+  <strong>図 3.</strong> Doze により、端末が静止していないときでも制限が適用され、電池の寿命が延長される
 
 </p>
 
 
-<p>デバイスがバッテリーで動作しているときに画面をしばらくオフにすると、Doze はネットワーク アクセスを制限し、ジョブと同期を保留します。アプリはメンテナンス ウィンドウと呼ばれる短い時間にネットワークにアクセスしたり、保留中のジョブや同期を実行します。画面をオンにするか、デバイスを電源に接続すると、デバイスの Doze モードは解除されます。
+<p>端末が電池で動作しているときに画面をしばらくオフにすると、Doze はネットワーク アクセスを制限し、ジョブと同期を保留します。
+アプリはメンテナンス ウィンドウと呼ばれる短い時間にネットワークにアクセスしたり、保留中のジョブや同期を実行したりします。
 
-
-
+画面をオンにするか、端末を電源に接続すると、端末の Doze モードは解除されます。
 </p>
 
-<p>バッテリーで動作しているデバイスが再び静止状態になり、画面がしばらくオフになると、Doze は完全な CPU およびネットワーク制限を {@link
+<p>電池で動作している端末が再び静止状態になり、画面がしばらくオフになると、Doze は完全な CPU およびネットワーク制限を {@link
 android.os.PowerManager.WakeLock}、{@link android.app.AlarmManager} アラーム、GPS / Wi-Fi スキャンに適用します。
 
 </p>
 
-<p>アプリを Doze に対応させるためのベストプラクティスはデバイスを持ち歩いているかどうかには関係ありません。そのため、Doze が適切に処理されるようにアプリを既にアップデートしている場合は、追加の対応は必要ありません。そうでない場合は、<a href="{@docRoot}training/monitoring-device-state/doze-standby.html#assessing_your_app">アプリの Doze 対応</a>を行ってください。
+<p>アプリを Doze に対応させるためのベスト プラクティスは端末を持ち歩いているかどうかには関係ありません。そのため、Doze が適切に処理されるようにアプリを既にアップデートしている場合は、追加の対応は必要ありません。
 
-
+そうでない場合は、<a href="{@docRoot}training/monitoring-device-state/doze-standby.html#assessing_your_app">アプリの Doze 対応</a>を行ってください。
 </p>
 
-<h2 id="background_optimizations">Project Svelte: バックグラウンド処理の最適化</h2>
+<h2 id="background_optimizations">Project Svelte:バックグラウンド処理の最適化</h2>
 
-<p>Project Svelte は、Android エコシステムのさまざまなデバイスでシステムやアプリによる RAM の使用を最小限にする取り組みです。Android N 向けの Project Svelte は、アプリをバックグラウンドで実行する方法を最適化することに重点を置いています。
-
+<p>Project Svelte は、Android エコシステムのさまざまな端末でシステムやアプリによる RAM の使用を最小限にする取り組みです。
+Android N での Project Svelte は、アプリをバックグラウンドで実行する方法を最適化することに重点を置いています。
  </p>
 
-<p>ほとんどのアプリでは、バックグラウンド処理が非常に重要になります。バックグラウンド処理を適切に実行すると、ユーザー エクスペリエンスが大幅に向上し、状況に応じてアプリより高速に実行できるようになります。バックグラウンド処理が不適切な場合は、RAM(とバッテリー)が必要以上に消費され、他のアプリのシステム パフォーマンスに影響を及ぼす可能性があります。
+<p>ほとんどのアプリでは、バックグラウンド処理が非常に重要になります。バックグラウンド処理を適切に実行すると、状況に応じて高速に実行できるなどユーザー エクスペリエンスが大幅に向上します。バックグラウンド処理が不適切な場合は、RAM(と電池)が必要以上に消費され、他のアプリのシステム パフォーマンスに影響を及ぼす可能性があります。
 
 
  </p>
 
-<p>Android 5.0 以降では、ユーザーに適した方法でバックグラウンド処理を実行する {@link android.app.job.JobScheduler} が推奨されています。これによって、メモリ、電源、接続の状態に基づいてシステムを最適化しながら、アプリでジョブをスケジュールできます。JobScheduler はシンプルな制御を提供するため、すべてのアプリで JobScheduler を使用することが効果的です。
+<p>Android 5.0 以降では、ユーザーに適した方法でバックグラウンド処理を実行する {@link android.app.job.JobScheduler} が推奨されています。
 
-
-
+これによって、メモリ、電源、接続の状態に基づいてシステムを最適化しながら、アプリでジョブをスケジュールできます。
+JobScheduler はシンプルな制御を提供するため、すべてのアプリで JobScheduler を使用することが効果的です。
  </p>
 
 <p>
-  もう 1 つの適切な選択肢は、Google Play サービスの一部である <a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager"><code>GCMNetworkManager</code></a> です。この機能も同様のジョブ スケジュール機能を提供しますが、こちらはレガシー バージョンの Android とも互換性があります。
+  もう 1 つの適切な選択肢は、Google Play サービスの一部である <a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager"><code>GCMNetworkManager</code></a> です。この機能も同様のジョブ スケジュール機能を提供しますが、こちらは以前のバージョンの Android とも互換性があります。
 
 
 
 </p>
 
-<p>さらに多くのユースケースに対応するために、<code>JobScheduler</code> と <code>GCMNetworkManager</code> の拡張は継続されています。たとえば、Android N では、コンテンツ プロバイダの変更に基づいてバックグラウンド処理をスケジュールできるようになります。また、特にメモリの少ないデバイスでシステム パフォーマンスを低下させる可能性のある一部の古いパターンの廃止も開始されています。
+<p>さらに多くのユースケースに対応するために、<code>JobScheduler</code> と <code>GCMNetworkManager</code> の拡張は継続されています。たとえば、Android N では、コンテンツ プロバイダの変更に基づいてバックグラウンド処理をスケジュールできるようになりました。
 
 
-
+また、特にメモリの少ない端末でシステム パフォーマンスを低下させる可能性のある一部の古いパターンの廃止も開始されています。
 
 </p>
 
 <p>一般的に使用される暗黙的なブロードキャストである
 {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}、{@link
   android.hardware.Camera#ACTION_NEW_PICTURE}、{@link
-  android.hardware.Camera#ACTION_NEW_VIDEO} は複数のアプリのバックグラウンド処理を同時に起動するので、メモリとバッテリーに負荷をかける可能性があります。そのため、Android N では、この 3 つのブロードキャストが削除されています。アプリがこれらのブロードキャストを受信する場合は、N Developer Preview を使用して、<code>JobScheduler</code> とそれに関連する API に移行してください。
-
+  android.hardware.Camera#ACTION_NEW_VIDEO} は複数のアプリのバックグラウンド処理を同時に起動するので、メモリと電池に負荷をかける可能性があります。そのため、Android N では、この 3 つのブロードキャストが削除されています。
+アプリがこれらのブロードキャストを受信する場合は、N Developer Preview を使用して、<code>JobScheduler</code> とそれに関連する API に移行してください。
 
  </p>
 
@@ -268,29 +284,74 @@
 </p>
   </div>
 
-<p>一般的に、モバイル端末のライフサイクル全体では、携帯データ通信プランのコストがデバイス自体のコストを上回ります。多くのユーザーにとって、携帯データ通信は、節約する必要のある高価なリソースです。
+<p>一般的に、モバイル端末のライフサイクル全体では、モバイルデータ通信プランのコストが端末自体のコストを上回ります。
+多くのユーザーにとって、モバイルデータ通信は、節約する必要のある高価なリソースです。
+ </p>
+
+<p>Android N では、ローミング、課金サイクルの終了近く、または短期間のデータパックであるかどうかに関係なく、アプリによるモバイルデータ通信の使用を削減する新しいシステム サービスであるデータセーバー モードが導入されています。
+
+データセーバーを使用すると、アプリによるモバイルデータ通信の使用方法をユーザーが制御できます。また、デベロッパーは、データセーバーがオンのときに、より効率よく通信するサービスを提供できるようになります。
 
  </p>
 
-<p>Android N では、ローミング、課金サイクルの終了近く、または短期間のデータパックであるかどうかに関係なく、アプリによる携帯データ通信の使用を削減する新しいシステム サービスであるデータセーバー モードが導入されています。データセーバーを使用すると、アプリによる携帯データ通信の使用方法をユーザーが制御できます。また、デベロッパーは、データセーバーがオンのときに、より効率よく通信するサービスを提供できるようになります。
+<p>ユーザーが [<strong>Settings</strong>] でデータセーバーを有効にし、端末が従量制課金ネットワークに接続されている場合、システムは、ストリーミングのビットレートを制限したり、画質を低下させたり、オプティミスティックなプレキャッシングを保留したりすることにより、バックグラウンドでのデータ使用をブロックし、フォアグラウンドでのデータ使用をなるべく抑えるようにアプリに指示します。
 
 
 
- </p>
+ユーザーは特定のアプリをホワイトリストに登録することにより、データセーバーがオンになっているときでも、バックグラウンドで従量制データ通信を使用できます。
+</p>
 
-<p>ユーザーが [<strong>Settings</strong>] でデータセーバーを有効にし、デバイスが従量制課金ネットワークに接続されている場合、システムは、ストリーミングのビットレートを制限したり、画質を低下させたり、オプティミスティックなプレキャッシングを保留したりすることにより、バックグラウンドでのデータ使用をブロックし、フォアグラウンドでデータの使用を抑えるようにアプリに指示します。ユーザーは特定のアプリをホワイトリストに登録することにより、データセーバーがオンになっているときでも、バックグラウンドで従量制課金接続を使用できます。
+<p>Android N は {@link android.net.ConnectivityManager} を拡張することで、<a href="{@docRoot}preview/features/data-saver.html#status">ユーザーのデータセーバー設定を取得</a>する方法と、<a href="{@docRoot}preview/features/data-saver.html#monitor-changes">設定の変更を監視</a>する方法を提供しています。
 
 
+すべてのアプリは、ユーザーがデータセーバーを有効にしているかどうかを確認し、フォアグラウンドおよびバックグラウンドでのデータ使用を制限する必要があります。
+</p>
+
+
+<h2 id="vulkan">Vulkan API</h2>
+
+<p>
+  Android N では、新しい 3D レンダリング API である <a href="http://www.khronos.org/vulkan" class="external-link">Vulkan™</a> がプラットフォームに統合されています。<a href="https://www.khronos.org/opengles/" class="external-link">OpenGL™ ES</a> と同様に、Vulkan は Khronos グループによって管理されている 3D グラフィックおよびレンダリングのオープン スタンダードです。
+
 
 
 </p>
 
-<p>Android N は {@link android.net.ConnectivityManager} を拡張することで、<a href="{@docRoot}preview/features/data-saver.html#status">ユーザーのデータセーバー設定を取得</a>する方法と、<a href="{@docRoot}preview/features/data-saver.html#monitor-changes">設定の変更を監視</a>する方法を提供しています。すべてのアプリは、ユーザーがデータセーバーを有効にしているかどうかを確認し、フォアグラウンドおよびバックグラウンドでのデータ使用を制限する必要があります。
-
+<p>
+  Vulkan は、ドライバの CPU オーバーヘッドを最小化するため、およびアプリケーションが GPU の動作をより直接的に制御できるように設計されています。
+また、Vulkan は、複数のスレッドが作業を実行できるようにする(コマンド バッファの作成を同時に行うなど)ことによって、より優れた並列処理が可能です。
 
 
 </p>
 
+<p>
+  Vulkan 開発ツールおよびライブラリは、Android NDK に含まれています。次のようなものが含まれます。
+
+</p>
+
+<ul>
+  <li>ヘッダー
+  </li>
+
+  <li>検証レイヤ(デバッグ ライブラリ)
+  </li>
+
+  <li>SPIR-V シェーダー コンパイラー
+  </li>
+
+  <li>SPIR-V シェーダーのランタイム コンパイル ライブラリ
+  </li>
+</ul>
+
+<p>
+  Vulkan は、Nexus 5X、Nexus 6P、Nexus Player などの Vulkan 対応ハードウェアを備えた端末上のアプリでのみ利用できます。
+Vulkan を可能な限りより多くの端末に導入するためにパートナーと緊密に協力し合っています。
+
+</p>
+
+<p>
+  詳細については、<a href="{@docRoot}ndk/guides/graphics/index.html">API ドキュメント</a>をご覧ください。
+</p>
 
 <h2 id="tile_api">クイック設定タイル API</h2>
 
@@ -303,12 +364,12 @@
 </p>
 
 
-  </div><p>クイック設定を使用すると、通知シェードで主要な設定とアクションを直接公開することができます。Android N では、クイック設定の範囲が拡大され、さらに使いやすく便利な機能になっています。
-
+  </div><p>クイック設定は、通知シェードから主要な設定とアクションを直接公開するための一般的で簡単な方法です。
+Android N では、クイック設定の範囲が拡大され、さらに使いやすく便利な機能になっています。
  </p>
 
-<p>クイック設定タイル用のスペースが広くなったので、ユーザーは、左または右にスワイプして、ページ分割された表示領域でこれらのタイルにアクセスできます。また、ユーザーは、表示するクイック設定タイルとその表示場所を制御できるようになっています。ユーザーはタイルをドラッグ アンド ドロップして、タイルを追加または移動できます。
-
+<p>クイック設定タイル用のスペースが広くなったので、ユーザーは、左または右にスワイプして、ページ分割された表示領域でこれらのタイルにアクセスできます。
+また、ユーザーは、表示するクイック設定タイルとその表示場所を制御できるようになっています。ユーザーはタイルをドラッグ アンド ドロップして、追加または移動できます。
 
  </p>
 
@@ -327,37 +388,37 @@
 </p>
 
 <p>
-  アプリタイルを作成する方法の詳細については、ダウンロード可能な <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API リファレンス</a>に掲載されている <code>android.service.quicksettings.Tile</code> をご覧ください。
+  アプリタイルを作成する方法については、ダウンロード可能な <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API リファレンス</a>に掲載されている <code>android.service.quicksettings.Tile</code> のドキュメントをご覧ください。
 
 </p>
 
 
 
-<h2 id="number-blocking">迷惑電話のブロック</h2>
+<h2 id="number-blocking">電話番号のブロック</h2>
 
-<p>Android N では、プラットフォームで迷惑電話のブロックがサポートされており、サービス プロバイダがブロックリストを保持するためのフレームワーク API が提供されています。デフォルトの SMS アプリ、デフォルトの電話アプリ、プロバイダ アプリは、ブロックリストを読みこんだり、ブロックリストに書き込んだりできます。その他のアプリはブロックリストにアクセスできません。
+<p>Android N では、プラットフォームで電話番号のブロックがサポートされており、サービス プロバイダがブロックされた電話番号のリストを保持するためのフレームワーク API が提供されています。
+デフォルトの SMS アプリ、デフォルトの電話アプリ、携帯通信会社アプリは、ブロックされた電話番号のリストを読み込んだり、このリストに書き込んだりできます。
 
+その他のアプリはこのリストにアクセスできません。</p>
 
-</p>
+<p>Android では、電話番号のブロックをプラットフォームの標準の機能にすることにより、幅広い端末で電話番号をブロックできるようにする一貫した方法がアプリに提供されています。
 
-<p>Android では、迷惑電話のブロックをプラットフォームの標準の機能にすることにより、幅広いデバイスで迷惑電話をブロックできるようにする一貫した方法がアプリに提供されています。その他に、次のような機能も提供されます。
-
-</p>
+その他にアプリは次のような機能も利用できます。</p>
 
 <ul>
   <li> ブロックされた電話番号は、テキスト メッセージでもブロックされる
-  <li> ブロックされた電話番号は、リセットしたデバイスや、バックアップおよびリストア機能で移行したデバイスでも保持される
+  <li> ブロックされた電話番号は、リセットした端末や、バックアップおよびリストア機能で移行したデバイスでも保持される
 
   <li> 複数のアプリが同じブロックリストを使用できる
 </ul>
 
-<p>また、Android に携帯通信会社のアプリが組み込まれていると、携帯通信会社はデバイス上のブロックリストを読み込んで迷惑な電話やテキスト メッセージをサービス側でブロックできます。これによって、VOIP エンドポイントや転送電話などいかなる媒体を介しても、ブロックされた番号はユーザーに到達できなくなります。
+<p>また、Android に携帯通信会社のアプリが組み込まれていると、携帯通信会社は端末上のブロックリストを読み込んで迷惑な電話やテキスト メッセージをサービス側でブロックできます。これによって、VOIP エンドポイントや転送電話などいかなる媒体を介しても、ブロックされた番号はユーザーに到達できなくなります。
 
 
 </p>
 
 <p>
-  詳細については、ダウンロード可能な <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API リファレンス</a>にある <code>android.provider.BlockedNumberContract</code> をご覧ください。
+  詳細については、ダウンロード可能な <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API リファレンス</a>の <code>android.provider.BlockedNumberContract</code> をご覧ください。
 
 
 </p>
@@ -365,7 +426,7 @@
 <h2 id="call_screening">通話スクリーニング</h2>
 
 <p>
-  Android N では、デフォルトの電話アプリで新しい <code>CallScreeningService</code> を実装することによって、着信をスクリーニング(分類)できます。電話アプリは、着信する電話の {@link android.telecom.Call.Details Call.Details} に基づいて次のようなアクションを実行できます。
+  Android N では、デフォルトの電話アプリで着信をスクリーニングできます。新しい <code>CallScreeningService</code> を実装することによって、電話アプリは着信をスクリーニングします。これにより、電話アプリは着信する電話の {@link android.telecom.Call.Details Call.Details} に基づいて次のようなアクションを実行できます。
 
 
 
@@ -378,7 +439,7 @@
 </ul>
 
 <p>
-  詳細については、ダウンロード可能な <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API リファレンス</a>にある <code>android.telecom.CallScreeningService</code> をご覧ください。
+  詳細については、ダウンロード可能な <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API リファレンス</a>の <code>android.telecom.CallScreeningService</code> をご覧ください。
 
 
 </p>
@@ -387,66 +448,109 @@
 <h2 id="multi-locale_languages">マルチロケールのサポートと言語の追加</h2>
 
 
-<p>Android N では、[Settings] で<strong>マルチロケール</strong>が選択できるようになり、複数言語を使用するユーザーへのサポートが強化されました。アプリで新しい API を使用して、ユーザーが選択したロケールを取得すると、複数のロケールを設定しているユーザーに対してより洗練された使用感を提供できます。たとえば、検索結果を複数の言語で表示したり、ユーザーが知っている言語のウェブページでは翻訳の提案を行わないようなことが可能になります。
-
+<p>Android N では、[Settings] で<strong>マルチロケール</strong>を選択できるようになり、複数言語を使用するユーザーへのサポートが強化されました。
+アプリで新しい API を使用して、ユーザーが選択したロケールを取得すると、複数のロケールを設定しているユーザーに対してより洗練されたユーザー エクスペリエンスを提供できます。たとえば、検索結果を複数の言語で表示したり、ユーザーが理解している言語のウェブページでは翻訳の提案を行わないようにしたりすることが可能になります。
 
 
 
 </p>
 
-<p>また、Android N では、マルチロケールのサポートに加えて、ユーザーが利用できる言語が追加されています。英語、スペイン語、フランス語、アラビア語などの一般的な言語に対して、それぞれ 25 以上の言語バリエーションが提供されます。100 以上の新しい言語も部分的にサポートされています。
+<p>また、Android N では、マルチロケールのサポートに加えて、ユーザーが利用できる言語が追加されています。
+英語、スペイン語、フランス語、アラビア語などの一般的な言語に対して、それぞれ 25 以上のバリエーションが提供されます。
+100 以上の新しい言語も部分的にサポートされています。
+</p>
 
+<p>アプリは、<code>LocaleList.GetDefault()</code> を呼び出すことにより、ユーザーが設定したロケールのリストを取得できます。
+Android N では、ロケール数の増加に対応するために、リソースを解決する方法が変更されています。
+この新しいリソース解決ロジックでアプリが想定どおりに動作することをテストおよび確認してください。
+</p>
+
+<p>新しいリソース解決動作と順守する必要のあるベスト プラクティスの詳細については、<a href="{@docRoot}preview/features/multilingual-support.html">複数言語のサポート</a>をご覧ください。
+</p>
+
+
+<h2 id="emoji">新しい絵文字</h2>
+
+<p>
+  Android N では、肌色の異なる絵文字や異体字セレクターのサポートなど、絵文字の追加と絵文字関連機能が導入されています。
+
+アプリで絵文字をサポートする場合は、以下のガイドラインに従い、これらの絵文字関連機能を利用します。
 
 </p>
 
-<p>アプリは、<code>LocaleList.GetDefault()</code> を呼び出すことにより、ユーザーが設定したロケールのリストを取得できます。Android N では、増加したロケールをサポートするために、リソースを解決する方法が変更されています。この新しいリソース解決ロジックでアプリが想定どおりに動作することをテストおよび確認してください。
+<ul>
+  <li>
+    <strong>絵文字を挿入する前に端末に絵文字が含まれていることを確認する。</strong>
+    システム フォントで表示される絵文字を確認するには、{@link android.graphics.Paint#hasGlyph(String)} メソッドを使用します。
 
-</p>
+  </li>
+  <li>
+    <strong>絵文字が異体字セレクターをサポートしていることを確認する。</strong>
+    異体字セレクターを使用すると、特定の絵文字をカラーまたは白黒で表示できます。
 
-<p>新しいリソース解決動作と順守する必要のあるベストプラクティスの詳細については、<a href="{@docRoot}preview/features/multilingual-support.html">複数言語のサポート</a>をご覧ください。
-</p>
+    アプリは、モバイル端末では白黒よりもカラーで絵文字を表示する必要があります。ただし、アプリでテキスト メッセージを使用して絵文字を表示する場合は、白黒バージョンを使用する必要があります。
+
+    絵文字に異体字があるかどうかを確認するには、異体字セレクターを使用します。
+    異体字のある文字の完全なリストについては、<a class="external-link" href="http://www.unicode.org/Public/9.0.0/ucd/StandardizedVariants-9.0.0d1.txt">異体字に関する Unicode ドキュメント</a>の<em>絵文字異体字シーケンス</em> セクションを確認してください。
+
+
+
+  </li>
+  <li>
+    <strong>絵文字が肌色をサポートしていることを確認する。</strong>Android N では、レンダリングされる絵文字の肌色を好みの色に変更できます。
+キーボード アプリでは、肌色が複数ある絵文字をわかりやすく表示して、ユーザーが好みの肌色を選択できるようにする必要があります。
+
+肌色修飾子を持つシステムの絵文字を確認するには、{@link android.graphics.Paint#hasGlyph(String)} メソッドを使用します。
+
+肌色を使用する絵文字を確認するには、<a class="external-link" href="http://unicode.org/emoji/charts/full-emoji-list.html">Unicode ドキュメント</a>をご覧ください。
+
+
+  </li>
+</ul>
+
 
 <h2 id="icu4">Android の ICU4J API</h2>
 
 <p>
-  Android N では、<a href="http://site.icu-project.org/">ICU4J</a> API のサブセットが提供されています。これは、Android フレームワークの <code>android.icu</code> パッケージにあります。移行は簡単で、ほとんどの場合、名前空間を <code>com.java.icu</code> から <code>android.icu</code> に変更するだけです。アプリで ICU4J バンドルを既に使用している場合は、Android フレームワークで提供されている <code>android.icu</code> API に移行すると、APK サイズを大幅に削減できます。
+  Android N では、Android フレームワーク内で <a href="http://site.icu-project.org/">ICU4J</a> API のサブセットが提供されており、<code>android.icu</code> パッケージにあります。
+移行は簡単で、ほとんどの場合、名前空間を <code>com.java.icu</code> から <code>android.icu</code> に変更するだけです。
 
-
-
+アプリで ICU4J バンドルを既に使用している場合は、Android フレームワークで提供されている <code>android.icu</code> API に移行すると、APK サイズを大幅に削減できます。
 
 
 </p>
 
 <p>
-  Android ICU4J API の詳細については、<a href="{@docRoot}preview/features/icu4j-framework.html">ICU4J サポート</a>をご覧ください。
+  Android ICU4J API の詳細については、<a href="{@docRoot}preview/features/icu4j-framework.html">ICU4J のサポート</a>をご覧ください。
 </p>
 
 
 
 <h2 id="gles_32">OpenGL&trade; ES 3.2 API</h2>
 
-<p>Android N では、OpenGL ES 3.2 用の次のようなフレームワーク インターフェースとプラットフォーム サポートが追加されています。</p>
+<p>Android N では、OpenGL ES 3.2 用の以下のようなフレームワーク インターフェースとプラットフォーム サポートが追加されています。</p>
 
 <ul>
   <li> <code>EXT_texture_sRGB_decode</code> を除く <a class="external-link" href="https://www.khronos.org/registry/gles/extensions/ANDROID/ANDROID_extension_pack_es31a.txt">Android エクステンション パック</a></a>(AEP)のすべての拡張機能
+
   <li> HDR および遅延シェーディング用の浮動小数点フレームバッファ
   <li> 一括処理とストリーミングを向上させるための BaseVertex 描画呼び出し
   <li> WebGL のオーバーヘッドを低減するための堅牢なバッファ アクセス コントロール
 </ul>
 
-<p>Android N の OpenGL ES 3.2 用のフレームワーク API は、<code>GLES32</code> クラスで提供されます。OpenGL ES 3.2 を使用する場合、<code>&lt;uses-feature&gt;</code> タグと <code>android:glEsVersion</code> 属性を使用してマニフェスト ファイルで要件を宣言する必要があります。
-
+<p>Android N の OpenGL ES 3.2 用のフレームワーク API は、<code>GLES32</code> クラスで提供されます。
+OpenGL ES 3.2 を使用する場合、<code>&lt;uses-feature&gt;</code> タグと <code>android:glEsVersion</code> 属性を使用してマニフェスト ファイルで要件を宣言する必要があります。
 
  </p>
 
-<p>デバイスでサポートされる OpenGL ES のバージョンを実行時に確認する方法など、OpenGL ES の使用方法については、<a href="{@docRoot}guide/topics/graphics/opengl.html">OpenGL ES API ガイド</a>をご覧ください。
+<p>端末でサポートされる OpenGL ES のバージョンを実行時に確認する方法など、OpenGL ES の使用方法については、<a href="{@docRoot}guide/topics/graphics/opengl.html">OpenGL ES API ガイド</a>をご覧ください。
 </p>
 
 
 <h2 id="android_tv_recording">Android TV の録画機能</h2>
 
-<p>Android N では、新しい recording API を介して Android TV 入力サービスからコンテンツを録画して再生する機能が追加されています。TV 入力サービスは、録画できるチャンネル データや録画したセッションを保存する方法の制御、ユーザーによる録画されたコンテンツの操作の管理を行います。このサービスは、既存の time-shifting API を使用して構築されています。
-
+<p>Android N では、新しい recording API を介して Android TV 入力サービスからコンテンツを録画して再生する機能が追加されています。
+TV 入力サービスでは、録画できるチャンネル データや録画したセッションを保存する方法の制御、ユーザーによる録画されたコンテンツの操作の管理を行うことができます。このサービスは、既存の time-shifting API を使用して構築されています。
 
  </p>
 
@@ -455,46 +559,47 @@
 
 <h2 id="android_for_work">Android for Work</h2>
 
-<p>Android for Work は、Android N を実行しているデバイスに多くの新しい機能と API を追加するものです。主要な機能の一部を以下に紹介します。Android N に関連する Android for Work のアップデートの完全なリストについては、Android for Work の変更点をご覧ください。
+<p>Android for Work は、Android N を実行している端末に多くの新しい機能と API を追加するものです。主要な機能の一部を以下に紹介します。変更点の完全なリストについては、<a href="{@docRoot}preview/features/afw.html">Android for Work のアップデート</a>をご覧ください。
 
 </p>
 
-<h3 id="work_profile_security_challenge">ワーク プロファイルによるセキュリティ確認 </h3>
+<h3 id="work_profile_security_challenge">仕事用プロファイルによるセキュリティ確認 </h3>
 
 <p>
-  プロファイル オーナーは、ワーク プロファイルで実行しているアプリで個別にセキュリティ確認を行うよう指定することができます。ユーザーが仕事用アプリを開こうとすると、セキュリティの確認画面が表示されます。セキュリティの確認に成功すると、ワーク プロファイルのロックが解除され、必要に応じて暗号化も解除されます。プロファイル オーナーは、<code>ACTION_SET_NEW_PASSWORD</code> でユーザーにワーク プロファイル用のセキュリティ確認を設定するように求めたり、<code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> でユーザーにデバイスのロックを設定するように求めることができます。
+  N SDK を対象としているプロファイル オーナーは、仕事用プロファイルで実行しているアプリで個別にセキュリティ確認を行うよう指定することができます。
 
-
-
+ユーザーが仕事用アプリを開こうとすると、仕事用プロファイル用のセキュリティ確認画面が表示されます。
+セキュリティの確認に成功すると、仕事用プロファイルのロックが解除され、必要に応じて暗号化も解除されます。
+プロファイル オーナーは、<code>ACTION_SET_NEW_PASSWORD</code> でユーザーに仕事用プロファイル用のセキュリティ確認を設定するように求めたり、<code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> でユーザーに端末のロックを設定するように求めたりします。
 
 
 
 </p>
 
 <p>
-  プロファイル オーナーは、<code>setPasswordQuality()</code>、<code>setPasswordMinimumLength()</code>、および関連するメソッドを使用して、ワーク プロファイル用のセキュリティ確認に個別のパスワード ポリシー(PIN に必要な長さや、指紋によるプロファイルのロック解除が可能かどうかなど)を設定できます。また、新しい <code>getParentProfileInstance()</code> メソッドが返す <code>DevicePolicyManager</code> インスタンスを使用してデバイスのロックを設定できます。さらに、新しい <code>setOrganizationColor()</code> メソッドおよび <code>setOrganizationName()</code> メソッドを使用してワーク プロファイル用のセキュリティ確認画面をカスタマイズすることができます。
+  プロファイル オーナーは、<code>setPasswordQuality()</code>、<code>setPasswordMinimumLength()</code>、および関連するメソッドを使用して、仕事用プロファイル用のセキュリティ確認に個別のパスコード ポリシー(PIN に必要な長さや、指紋によるプロファイルのロック解除が可能かどうかなど)を設定できます。
 
 
+また、新しい <code>getParentProfileInstance()</code> メソッドが返す <code>DevicePolicyManager</code> インスタンスを使用して端末のロックを設定できます。
 
 
-
-
+  さらに、新しい <code>setOrganizationColor()</code> メソッドおよび <code>setOrganizationName()</code> メソッドを使用して仕事用プロファイル用のセキュリティ確認画面をカスタマイズすることができます。
 
 
 </p>
 <h3 id="turn_off_work">ワークモードのオフ </h3>
 
-<p>ユーザーは、ワーク プロファイルがあるデバイスでワークモードのオン / オフを切り替えることができます。ワークモードがオフになると、管理されているユーザーが一時的にシャットダウンされ、ワーク プロファイルのアプリ、バックグラウンドでの同期、通知が無効になります。無効になるアプリには、プロファイル オーナーのアプリが含まれます。また、ワークモードがオフになると、仕事用アプリを起動できないことをユーザーに示すステータス アイコンが表示されたままになります。ランチャーは、仕事用アプリとウィジェットにアクセスできないことを示します。
+<p>ユーザーは、仕事用プロファイルがある端末でワークモードを切り替えることができます。ワークモードがオフになると、管理されているユーザーが一時的にシャットダウンされ、仕事用プロファイルのアプリ、バックグラウンドでの同期、通知が無効になります。
 
-
-
-
+これには、プロファイル オーナーのアプリが含まれます。
+また、ワークモードがオフになると、仕事用アプリを起動できないことをユーザーに示すステータス アイコンが表示されたままになります。
+ランチャーは、仕事用アプリとウィジェットにアクセスできないことを示します。
  </p>
 
 <h3 id="always_on_vpn">Always on VPN </h3>
 
-<p>デバイス オーナーとプロファイル オーナーは、仕事用アプリが指定した VPN を介して常時接続するように設定できます。デバイスが起動すると、システムは VPN を自動的に開始します。
-
+<p>デバイス オーナーとプロファイル オーナーは、指定した VPN を介して仕事用アプリが常時接続するように設定できます。
+端末が起動すると、システムは VPN を自動的に開始します。
 </p>
 
 <p>
@@ -503,60 +608,70 @@
 
 </p>
 
-<p>システムがアプリの介入なしに VPN サービスを直接バインドするため、Always on VPN の新しいエンドポイントは VPN クライアント側で処理する必要があります。以前と同じように、システムへのサービスの通知はインテントフィルタのマッチング アクション <code>android.net.VpnService</code> で行います。
-
+<p>システムがアプリの介入なしに VPN サービスを直接バインドするため、Always on VPN の新しいエンドポイントは VPN クライアント側で処理する必要があります。
+以前と同じように、システムへのサービスの通知はインテント フィルタのマッチング アクション <code>android.net.VpnService</code> で行います。
 
  </p>
 
 <p>
-  プライマリ ユーザーは、<strong>[Settings] &gt; [More] &gt; [Vpn]</strong> から <code>VPNService</code> のメソッドを実装した Always on VPN クライアントを手動で設定することもできます。
+  プライマリ ユーザーは、<strong>[Settings] &gt; [More] &gt; [Vpn]</strong> から、<code>VPNService</code> のメソッドを実装した Always on VPN クライアントを手動で設定することもできます。
 
 
 </p>
 
-<h2 id="accessibility_enhancements">アクセシビリティの機能強化</h2>
+<h3 id="custom_provisioning">カスタマイズされたプロビジョニング</h3>
 
-<p>Android N では、新しいデバイスのセットアップのオープニング画面に [Vision Settings] が直接表示されます。これにより、ユーザーは、ズーム操作、フォントサイズ、ディスプレイ サイズ、TalkBack など、デバイスのアクセシビリティ機能を簡単に見つけて構成できるようになっています。
+<p>
+  アプリでは、コーポレート・カラーやロゴを含むプロファイル オーナーとデバイス オーナーのプロビジョニング フローをカスタマイズできます。<code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code> はフローカラーをカスタマイズします。<code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code> は、コーポレート ロゴを含むフローをカスタマイズします。
 
 
+
+
+</p>
+
+<h2 id="accessibility_enhancements">ユーザー補助機能の強化</h2>
+
+<p>Android N では、新しい端末のセットアップのオープニング画面に [Vision Settings] が直接表示されます。
+これにより、ユーザーは、ズーム操作、フォントサイズ、ディスプレイ サイズ、TalkBack など、端末のユーザー補助機能を簡単に見つけて設定できるようになっています。
+
  </p>
 
-<p>このようなアクセシビリティ機能が目立つ場所に配置されたため、ユーザーがこれらの機能を有効にしてアプリを試用する可能性が高まりました。アクセシビリティ機能の設定を有効にして、アプリを事前にテストするようにしてください。これらの設定は、[Settings] &gt; [Accessibility] で有効にできます。
+<p>このようなユーザー補助機能が目立つ場所に配置されたため、ユーザーがこれらの機能を有効にしてアプリを試用する可能性が高まりました。
+これらの設定を有効にして、アプリを事前にテストするようにしてください。
+これらの設定は、[Settings] &gt; [Accessibility] で有効にできます。
+</p>
 
+<p>Android N では、ユーザー補助機能サービスにより、運動障害のあるユーザーが画面をタップすることを支援できます。
+この新しい API を使用すると、顔追跡、視線追跡、ポイント スキャンなどの機能を備えたサービスを構築して、これらのユーザーのニーズに対応することができます。
 
 </p>
 
-<p>Android N では、アクセシビリティ サービスにより、運動障害のあるユーザーが画面をタップすることを支援できます。この新しい API を使用すると、顔追跡、視線追跡、ポイント スキャンなどの機能を備えたサービスを構築して、これらのユーザーのニーズに対応することができます。
-
-
+<p>詳細については、ダウンロード可能な <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API リファレンス</a>の <code>android.accessibilityservice.GestureDescription</code> をご覧ください。
 </p>
 
-<p>詳細については、ダウンロード可能な <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API リファレンス</a>にある <code>android.accessibilityservice.GestureDescription</code> をご覧ください。
-	</p>
-
 
 <h2 id="direct_boot">ダイレクト ブート</h2>
 
-<p>ダイレクト ブートはデバイスのスタートアップ時間を短縮し、予期しない再起動後でも、登録されたアプリの一部の機能が使用できるようにします。たとえば、ユーザーの就寝中に暗号化されたデバイスが再起動した場合でも、登録したアラーム、メッセージ、電話の着信をユーザーに通常どおり通知することができます。また、再起動後にアクセシビリティ サービスをすぐに使用することもできます。
+<p>ダイレクト ブートは端末のスタートアップ時間を短縮し、予期しない再起動後でも、登録されたアプリの一部の機能が使用できるようにします。たとえば、ユーザーの就寝中に暗号化された端末が再起動した場合でも、登録したアラーム、メッセージ、電話の着信をユーザーに通常どおり通知することができます。
 
 
 
-
+また、再起動後にユーザー補助機能サービスをすぐに使用することもできます。
 </p>
 
-<p>ダイレクト ブートでは、Android N のファイルベースの暗号化を活用して、システムとアプリのデータに対してきめ細かい暗号化ポリシーを適用します。システムは、一部のシステムデータと明示的に登録されたアプリデータにデバイス暗号化ストアを使用します。デフォルトでは、他のすべてのシステムデータ、ユーザーデータ、アプリ、アプリデータには、資格情報暗号化ストアが使用されます。
+<p>ダイレクト ブートでは、Android N のファイルベースの暗号化を活用して、システムとアプリのデータに対してきめ細かい暗号化ポリシーを有効にします。システムは、一部のシステムデータと明示的に登録されたアプリデータに端末暗号化ストアを使用します。
 
 
-
+デフォルトでは、他のすべてのシステムデータ、ユーザーデータ、アプリ、アプリデータには、認証情報暗号化ストアが使用されます。
  </p>
 
-<p>システムは起動時にデバイス暗号化データのみにアクセスできる制限モードになります。この状態では、アプリやデータへの一般的なアクセスは許可されません。このモードで実行する必要のあるコンポーネントがある場合、マニフェストにフラグを設定することでコンポーネントを登録できます。再起動後、システムは、<code>LOCKED_BOOT_COMPLETED</code> インテントをブロードキャストすることにより、登録済みのコンポーネントをアクティベートします。システムは、ロック解除する前に、登録済みのデバイス暗号化アプリデータを利用できるようにします。他のすべてのデータは、ユーザーがロック画面の資格情報を確認して暗号化解除するまで利用できません。
+<p>システムは起動時に端末暗号化データのみにアクセスできる制限モードになります。この状態では、アプリやデータへの一般的なアクセスは許可されません。このモードで実行する必要のあるコンポーネントがある場合、マニフェストにフラグを設定することでコンポーネントを登録できます。
 
 
+再起動後、システムは、<code>LOCKED_BOOT_COMPLETED</code> インテントをブロードキャストすることにより、登録済みのコンポーネントをアクティベートします。
 
-
-
-
+システムは、ロック解除する前に、登録済みの端末暗号化アプリデータを利用できるようにします。
+他のすべてのデータは、ユーザーがロック画面の認証情報を確認して暗号化を解除するまで利用できません。
  </p>
 
 詳細については、<a href="{@docRoot}preview/features/direct-boot.html">ダイレクト ブート</a>をご覧ください。</p>
@@ -565,32 +680,32 @@
 
 <h2 id="key_attestation">キーの構成証明</h2>
 
-<p>ハードウェアがサポートするキーストアは、Android 端末で暗号化キーを作成、格納、使用するためのより安全な方法を提供します。このキーストアは、Linux カーネル、Android の潜在的な脆弱性、ルート権限を取得された端末からの抽出からキーを保護します。
-
+<p>ハードウェアがサポートするキーストアは、Android 端末で暗号化キーを作成、格納、使用するためのより安全な方法を提供します。
+このキーストアは、Linux カーネル、Android の潜在的な脆弱性、ルート権限を取得された端末からの抽出からキーを保護します。
 
 </p>
 
-<p>ハードウェアがサポートするキーストアの使用をさらに簡単かつ安全にするために、Android N では、キーの構成証明が導入されています。アプリや別のデバイスは、キーの構成証明を使用して RSA または EC キーペアがハードウェアでサポートされているかどうか、キーペアのプロパティはどのようなものか、使用方法や有効性にどのような制限が適用されるかを積極的に確認することができます。
-
+<p>ハードウェアがサポートするキーストアの使用をさらに簡単かつ安全にするために、Android N では、キーの構成証明が導入されています。
+アプリや別の端末は、キーの構成証明を使用して RSA または EC キーペアがハードウェアでサポートされているかどうか、キーペアのプロパティはどのようなものか、使用方法や有効性にどのような制限が適用されるかを積極的に確認することができます。
 
 
  </p>
 
-<p>アプリや別のデバイスのサービスは、有効な構成証明キーによって署名された X.509 構成証明書を通じて、キーペアについての情報をリクエストできます。この構成証明キーは、出荷前にデバイスのハードウェアがサポートするキーストアに挿入される ECDSA 署名キーです。したがって、有効な構成証明キーによって署名される構成証明書により、ハードウェアがサポートするキーストアの存在に加えて、そのキーストアのキーペアの詳細が確認できます。
+<p>アプリや別の端末のサービスは、有効な構成証明キーによって署名された X.509 構成証明書を通じて、キーペアについての情報をリクエストできます。
 
-
+この構成証明キーは、出荷前に端末のハードウェアがサポートするキーストアに挿入される ECDSA 署名キーです。したがって、有効な構成証明キーによって署名される構成証明書により、ハードウェアがサポートするキーストアの存在に加えて、そのキーストアのキーペアの詳細が確認されます。
 
 
 
 </p>
 
-<p>デバイスが Android の安全な公式ファクトリー イメージを使用していることを確認するために、キーの構成証明では、デバイスの<a class="external-link" href="https://source.android.com/security/verifiedboot/verified-boot.html#bootloader_requirements">ブートローダー</a>が以下の情報を <a class="external-link" href="https://source.android.com/security/trusty/index.html">Trusted Execution Environment(TEE)</a>に提供することが要求されます。
+<p>端末が Android の安全な公式ファクトリー イメージを使用していることを確認するために、キーの構成証明では、端末の<a class="external-link" href="https://source.android.com/security/verifiedboot/verified-boot.html#bootloader_requirements">ブートローダー</a>が以下の情報を <a class="external-link" href="https://source.android.com/security/trusty/index.html">Trusted Execution Environment(TEE)</a>に提供することが要求されます。
 
 
 </p>
 
 <ul>
-<li>デバイスにインストールされる OS のバージョンとパッチレベル</li>
+<li>端末にインストールされる OS のバージョンとパッチレベル</li>
 <li><a href="https://source.android.com/security/verifiedboot/index.html" class="external-link">セキュアブート</a>の公開キーとロック ステータス</li>
   </ul>
 
@@ -609,59 +724,94 @@
 
   <p>以下の機能がサポートされます。</p>
 <ul>
-<li><b>カスタム トラスト アンカー: </b>アプリがセキュアな接続でどの証明機関(CA)を信頼するかをカスタマイズできます。たとえば、特定の自己署名証明書や制限された一連の公的 CA を信頼できます。
+<li><b>カスタム トラスト アンカー。</b>アプリのセキュアな接続にどの証明機関(CA)を信頼するかをカスタマイズできます。
+たとえば、特定の自己署名証明書や制限された一連の公的 CA を信頼できます。
+
+</li>
+<li><b>デバッグ限定のオーバーライド。</b>アプリのデベロッパーは、インストール ベースに対する追加リスクなしに、アプリのセキュアな接続を安全にデバッグできます。
 
 
 </li>
-<li><b>デバッグのみのオーバーライド: </b>アプリのデベロッパーは、インストール ベースに対する追加リスクなしに、アプリのセキュアな接続を安全にデバッグできます。
-
-
+<li><b>クリアテキスト トラフィックのオプトアウト。</b>クリアテキスト トラフィックの意図しない使用からアプリを保護できます。
 </li>
-<li><b>クリアテキスト トラフィックのオプトアウト: </b>クリアテキスト トラフィックの意図しない使用からアプリを保護できます。
-</li>
-<li><b>証明書の固定: </b>アプリのセキュアな接続で信頼するサーバーキーを制限できる高度な機能です。
+<li><b>証明書のピン留め。</b>アプリのセキュアな接続で信頼するサーバーキーを制限できる高度な機能です。
 </li>
 </ul>
 
 <p>詳細については、<a href="{@docRoot}preview/features/security-config.html">ネットワーク セキュリティ構成</a>をご覧ください。
 </p>
 
-<h2 id="default_trusted_ca">デフォルトで信頼される証明機関</h2>
+<h2 id="default_trusted_ca">既定の信頼される証明機関</h2>
 
-<p>デフォルトでは、Android N をターゲットにしたアプリは、システムが提供する証明書のみを信頼し、ユーザーが追加した証明機関(CA)を信頼しません。ユーザーが追加した CA を信頼する必要がある Android N 用アプリは、<a href="{@docRoot}preview/features/security-config.html">ネットワーク セキュリティ構成</a>を使用して、ユーザー CA を信頼する方法を指定する必要があります。
-
+<p>既定では、Android N 用アプリは、システムが提供する証明書のみを信頼し、ユーザーが追加した証明機関(CA)を信頼しません。
+ユーザーが追加した CA を信頼する必要がある Android N 向けのアプリは、<a href="{@docRoot}preview/features/security-config.html">ネットワーク セキュリティ構成</a>を使用して、ユーザー CA を信頼する方法を指定する必要があります。
 
 
 </p>
 
 <h2 id="apk_signature_v2">APK 署名スキーム v2</h2>
 
-<p>PackageManager クラスが APK 署名スキーム v2 を使用して、アプリを検証できるようになりました。APK 署名スキーム v2 は、APK ファイルに加えられた無許可の変更を検出することにより、検証速度の大幅な向上と整合性の保証強化を実現するファイル全体の署名スキームです。
+<p>
+  Android N では、APK 署名スキーム v2 というアプリのインストール時間を高速化したり、APK ファイルに無許可の変更が行われないようにしたりする新しいアプリ署名スキームが導入されています。
+
+既定では、Android Studio 2.2 と Gradle 2.2 用の Android プラグインで APK 署名スキーム v2 と従来の署名スキーム(JAR 署名を使用する)の両方を使用してアプリに署名します。
 
 
 </p>
 
-<p>下位互換性を確保するために、v2 署名スキームで署名する前に、v1 署名スキーム(JAR 署名スキーム)で APK に署名する必要があります。v2 署名スキームでは、v2 スキームで署名した後、追加の証明書で APK に署名すると、検証が失敗します。
+<p>
+  APK 署名スキーム v2 をアプリに適用することをお勧めしますが、この新しいスキームは必須ではありません。
+APK 署名スキーム v2 を使用するときにアプリが正しくビルドされていない場合は、この新しいスキームを無効にできます。
+無効化プロセスにより、Android Studio 2.2 と Gradle 2.2 用の Android プラグインでアプリへの署名に従来の署名スキームのみが使用されるようになります。
+
+従来のスキームのみを使用して署名するには、モジュール レベルの <code>build.gradle</code> ファイルを開き、<code>v2SigningEnabled false</code> という行をリリース用署名構成に追加します。
 
 
- </p>
 
-<p>APK 署名スキーム v2 のサポートは、Android N デベロッパー プレビューで間もなく使用できるようになります。
 </p>
 
-<h2 id="scoped_directory_access">特定のディレクトリへのアクセス</h2>
+<pre>
+  android {
+    ...
+    defaultConfig { ... }
+    signingConfigs {
+      release {
+        storeFile file("myreleasekey.keystore")
+        storePassword "password"
+        keyAlias "MyReleaseKey"
+        keyPassword "password"
+        <strong>v2SigningEnabled false</strong>
+      }
+    }
+  }
+</pre>
 
-<p>Android N では、アプリで新しい API を使用して、SD カードなどのリムーバブル メディア上のディレクトリといった特定の<a href="{@docRoot}guide/topics/data/data-storage.html#filesExternal">外部ストレージ</a> ディレクトリへのアクセスをリクエストできるようになりました。この新しい API は、アプリが <code>Pictures</code> ディレクトリなどの標準の外部ストレージ ディレクトリにアクセスする方法を大幅に簡略化します。写真アプリなどのアプリでは、<code>READ_EXTERNAL_STORAGE</code> の代わりに、この API ですべてのストレージ ディレクトリやストレージ アクセス フレームワークにアクセスできます。その結果、ユーザーはそのディレクトリに移動できます。
+<p class="caution"><strong>警告:</strong> APK 署名スキーム v2 を使用してアプリに署名し、さらにアプリに変更を加える場合、アプリの署名は無効になります。
 
+そのため、APK 署名スキーム v2 を使用してアプリに署名する場合は、署名後ではなく署名前に <code>zipalign</code> などのツールを使用します。
 
+</p>
 
+<p>
+  詳細については、Android Studio で<a href="{@docRoot}studio/publish/app-signing.html#release-mode">アプリに署名する</a>方法や、Gradle 用の Android プラグインを使用して<a href="{@docRoot}studio/build/build-variants.html#signing">アプリへの署名用ビルドファイルを構成する</a>方法を説明する Android Studio ドキュメントをご覧ください。
 
 
 
 </p>
 
-<p>また、この新しい API は、ユーザーがアプリに外部ストレージへのアクセスを付与するステップを簡素化します。この新しい API を使用する場合、アプリがどのディレクトリへのアクセス許可を求めているかをわかりやすく説明するシンプルな UI が使用されます。
+<h2 id="scoped_directory_access">特定のディレクトリへのアクセス</h2>
 
+<p>Android N では、アプリで新しい API を使用して、SD カードなどのリムーバブル メディア上のディレクトリといった特定の<a href="{@docRoot}guide/topics/data/data-storage.html#filesExternal">外部ストレージ</a> ディレクトリへのアクセスをリクエストできるようになりました。
+
+この新しい API は、アプリが <code>Pictures</code> ディレクトリなどの標準の外部ストレージ ディレクトリにアクセスする方法を大幅に簡略化します。
+写真アプリなどのアプリでは、<code>READ_EXTERNAL_STORAGE</code> の代わりに、この API ですべてのストレージ ディレクトリやストレージ アクセス フレームワークにアクセスできるため、ユーザーはそのディレクトリに移動できます。
+
+
+
+</p>
+
+<p>また、この新しい API は、ユーザーがアプリに外部ストレージへのアクセスを付与するステップを簡素化します。
+この新しい API を使用する場合、アプリがどのディレクトリへのアクセス許可を求めているかをわかりやすく説明するシンプルな UI が使用されます。
 
 </p>
 
@@ -669,8 +819,221 @@
 
 </p>
 
+<h2 id="keyboard_shortcuts_helper">キーボード ショートカット ヘルパー</h2>
+
+<p>
+Android N では、ユーザーは Alt キー + / キーを同時に押して<em>キーボード ショートカット</em>画面をトリガーできます。この画面には、システムとアプリから使用できるすべてのショートカットが表示されます。
+
+これらは使用可能な場合はアプリのメニューから自動的に取得されますが、デベロッパーは独自に微調整したショートカットのリストを画面に表示することもできます。
+
+ダウンロード可能な <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API リファレンス</a>で説明するように、新しい <code>Activity.onProvideKeyboardShortcuts()</code> メソッドをオーバーライドしてこれを実行することができます。
+
+
+</p>
+
+<p>
+アプリ内のどこででもキーボード ショートカット ヘルパーをトリガーするには、関連アクティビティの {@code Activity.requestKeyboardShortcutsHelper()} を呼び出します。
+
+</p>
+
+<h2 id="sustained_performance_api">パフォーマンス維持 API</h2>
+
+<p>
+長時間実行するアプリではパフォーマンスが大幅に変動する可能性があります。これは、端末のコンポーネントがその温度制限に達するとシステムによりシステムオンチップ エンジンが抑制されるためです。
+
+この変動は、高性能で長時間実行するアプリを作成するアプリのデベロッパーの移動目標となります。
+
+</p>
+
+<p>
+これらの制限に対処するために、Android N には、<em>パフォーマンス維持モード</em>のサポートが含まれており、OEM は長時間実行するアプリに端末のパフォーマンスに関するヒントを提供することができます。
+
+アプリのデベロッパーはこれらのヒントを使用して、長時間にわたる予測可能な一定レベルの端末のパフォーマンスに合わせてアプリを調整できます。
+
+
+</p>
+
+<p>
+アプリのデベロッパーが N Developer Preview でこの新しい API を試すことができるのは、Nexus 6P 端末上でのみです。
+この機能を使用するには、パフォーマンス維持モードで実行するウィンドウにパフォーマンス維持ウィンドウ フラグを設定します。
+
+このフラグは {@code Window.setSustainedPerformanceMode()} メソッドを使用して設定します。
+このウィンドウがフォーカスされていない場合、このモードは自動的に無効になります。
+
+</p>
+
+<h2 id="vr">VR サポート</h2>
+
+<p>
+Android N には、新しい VR モードのためのプラットフォーム サポートと最適化が追加され、デベロッパーは高品質モバイル端末 VR 体験をユーザーのために生み出すことができます。
+多数のパフォーマンス強化があり、VR アプリ用の CPU コアへの排他アクセスが含まれます。アプリでは、VR 用に動作するインテリジェントなヘッド トラッキングやステレオ方式の通知を利用できます。
+
+
+最も重要な点は、Android N によって大幅に遅延の少ないグラフィックが実現される点です。
+Android N 向け VR アプリのビルドの詳細については、<a href="https://developers.google.com/vr/android/">Google VR SDK for Android</a> を参照してください。
+
+</p>
+
+
+<h2 id="print_svc">印刷サービス機能の強化</h2>
+
+<p>
+  Android N では、印刷サービスのデベロッパーが、各プリンターや印刷ジョブに関する追加情報を公開できるようになりました。
+
+</p>
+
+<p>
+  各プリンターを一覧表示する場合、印刷サービスでは以下の 2 つの方法で各プリンターのアイコンを設定できます。
+
+</p>
+
+<ul>
+  <li><code>PrinterInfo.Builder.setResourceIconId()</code> を呼び出すことにより、リソース ID からアイコンを設定できます
+
+  </li>
+
+  <li><code>PrinterInfo.Builder.setHasCustomPrinterIcon()</code> を呼び出して、<code>android.printservice.PrinterDiscoverySession.onRequestCustomPrinterIcon()</code> を使用してアイコンがリクエストされた場合のコールバックを設定することにより、ネットワークからアイコンを表示できます
+
+
+
+  </li>
+</ul>
+
+<p>
+  また、追加情報を表示する各プリンターのアクティビティを提供する場合は、<code>PrinterInfo.Builder.setInfoIntent()</code> を呼び出します。
+
+</p>
+
+<p>
+  印刷ジョブ通知に印刷ジョブの進捗状況やステータスを表示する場合は、<code>android.printservice.PrintJob.setProgress()</code> と <code>android.printservice.PrintJob.setStatus()</code> をそれぞれ呼び出します。
+
+
+
+</p>
+
+<p>
+  これらのメソッドの詳細については、ダウンロード可能な <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API リファレンス</a>をご覧ください。
+</p>
+
+<h2 id="framemetrics_api">FrameMetricsListener API</h2>
+
+<p>
+FrameMetricsListener API を使用すると、アプリでその UI レンダリング パフォーマンスを監視できます。
+この API は、アプリの現在のウィンドウのフレーム タイミング情報を転送するストリーミング Pub / Sub API を公開することにより、この機能を提供します。
+返されるデータは、<code><a href="{@docRoot}tools/help/shell.html#shellcommands">adb shell</a>
+dumpsys gfxinfo framestats</code> によって表示される内容と同じですが、過去の 120 フレームに制限されません。
+
+</p>
+
+<p>
+FrameMetricsListener を使用すると、USB 接続を使用せずに、本番環境のインタラクション レベルの UI パフォーマンスを計測できます。
+この API により、{@code adb shell dumpsys gfxinfo} を実行するより粒度の高いデータの収集が可能になります。
+
+アプリの特定のインタラクション データを収集できるため、この粒度の高さが可能となります。アプリのパフォーマンス全体の包括的な概要を取得したり、包括的な状態を明確にしたりする必要はありません。
+
+
+この機能を使用して、パフォーマンス データを収集したり、アプリでの実際のユースケースにおける UI パフォーマンスの低下を検出したりすることができます。
+
+
+</p>
+
+<p>
+ウィンドウを監視するには、<code>FrameMetricsListener.onMetricsAvailable()</code> コールバック メソッドを実装して、これを対象のウィンドウに登録します。
+詳細については、ダウンロード可能な <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API リファレンス</a>の {@code FrameMetricsListener} クラスのドキュメントをご覧ください。
+
+
+</p>
+
+<p>
+この API は {@code FrameMetrics} オブジェクトを提供します。これには、レンダリング サブシステムがフレーム ライフサイクル内のさまざまなマイルストーンで報告するタイミング データが含まれます。サポートされているメトリックは、{@code UNKNOWN_DELAY_DURATION}、{@code INPUT_HANDLING_DURATION}、{@code ANIMATION_DURATION}、{@code LAYOUT_MEASURE_DURATION}、{@code DRAW_DURATION}、{@code SYNC_DURATION}、{@code COMMAND_ISSUE_DURATION}、{@code SWAP_BUFFERS_DURATION}、{@code TOTAL_DURATION}、{@code FIRST_DRAW_FRAME} です。
 
 
 
 
 
+
+</p>
+
+
+<h2 id="virtual_files">仮想ファイル</h2>
+
+<p>
+  旧バージョンの Android では、アプリはストレージ アクセス フレームワークを使用して、ユーザーが Google ドライブなどのクラウド ストレージ アカウントからファイルを選択できるようにしていました。
+
+ただし、バイトコードの直接表現がなかったファイルを表示する方法はありませんでした。すべてのファイルは入力ストリームの提供が必要でした。
+
+
+</p>
+
+<p>
+  Android N では、ストレージ アクセス フレームワークに<em>仮想ファイル</em>の概念が追加されています。
+仮想ファイル機能を使用すると、バイトコードの直接表現がなくても、{@link android.content.Intent#ACTION_VIEW} インテントで使用できるドキュメント URI を {@link android.provider.DocumentsProvider} で返すことができます。
+
+
+また、Android N では、ユーザー ファイル(仮想またはそれ以外)に別の形式を提供できます。
+
+</p>
+
+<p>
+  アプリで仮想ドキュメントの URI を取得するには、{@link android.content.Intent} を作成してからファイル ピッカーの UI を開きます。
+アプリでは {@link android.content.ContentResolver#openInputStream(Uri) openInputStream()} メソッドを使用して仮想ファイルを直接開くことができないため、{@link android.content.Intent#CATEGORY_OPENABLE} カテゴリが含まれている場合はどの仮想ファイルも受信されません。
+
+
+
+
+</p>
+
+<p>
+  ユーザーが選択した後で、{@link android.app.Activity#onActivityResult onActivityResult()} メソッドが呼び出されます。
+
+  以下のコード スニペットに示すように、アプリは仮想ファイルの URI と入力ストリームを取得できます。
+
+</p>
+
+<pre>
+  // Other Activity code ...
+
+  final static private int REQUEST_CODE = 64;
+
+  // We listen to the OnActivityResult event to respond to the user's selection.
+  &#64;Override
+  public void onActivityResult(int requestCode, int resultCode,
+    Intent resultData) {
+      try {
+        if (requestCode == REQUEST_CODE &amp;&amp;
+            resultCode == Activity.RESULT_OK) {
+
+            Uri uri = null;
+
+            if (resultData != null) {
+                uri = resultData.getData();
+
+                ContentResolver resolver = getContentResolver();
+
+                // Before attempting to coerce a file into a MIME type,
+                // check to see what alternative MIME types are available to
+                // coerce this file into.
+                String[] streamTypes =
+                  resolver.getStreamTypes(uri, "*/*");
+
+                AssetFileDescriptor descriptor =
+                    resolver.openTypedAssetFileDescriptor(
+                        uri,
+                        streamTypes[0],
+                        null);
+
+                // Retrieve a stream to the virtual file.
+                InputStream inputStream = descriptor.createInputStream();
+            }
+        }
+      } catch (Exception ex) {
+        Log.e("EXCEPTION", "ERROR: ", ex);
+      }
+  }
+</pre>
+
+<p>
+  ユーザー ファイルへのアクセスの詳細については、<a href="{@docRoot}guide/topics/providers/document-provider.html">ストレージ アクセス フレームワークのガイド</a>をご覧ください。
+
+
+</p>
diff --git a/docs/html-intl/intl/ja/preview/behavior-changes.jd b/docs/html-intl/intl/ja/preview/behavior-changes.jd
index 7e6a026..c112504c 100644
--- a/docs/html-intl/intl/ja/preview/behavior-changes.jd
+++ b/docs/html-intl/intl/ja/preview/behavior-changes.jd
@@ -1,6 +1,6 @@
 page.title=動作の変更点
 page.keywords=preview,sdk,compatibility
-meta.tags="プレビュー"、"互換性"
+meta.tags="preview", "compatibility"
 page.tags="preview", "developer preview"
 page.image=images/cards/card-n-changes_2x.png
 @jd:body
@@ -9,7 +9,7 @@
 <div id="qv-wrapper">
 <div id="qv">
 
-<h2>本書の内容</h2>
+<h2>このドキュメントの内容</h2>
 
 <ol>
   <li><a href="#perf">パフォーマンスの向上</a>
@@ -18,8 +18,10 @@
       <li><a href="#bg-opt">バックグラウンド処理の最適化</a></li>
     </ol>
   </li>
-  <li><a href="#perm">パーミッションの変更</a></li>
-  <li><a href="#accessibility">アクセシビリティの改善</a>
+  <li><a href="#perm">パーミッションの変更</a>
+  </li>
+  <li><a href="#sharing-files">アプリ間のファイルの共有</a></li>
+  <li><a href="#accessibility">ユーザー補助機能の改善</a>
     <ol>
       <li><a href="#screen-zoom">画面のズーム</a></li>
       <li><a href="#vision-settings">セットアップ ウィザードの [Vision Settings]</a></li>
@@ -27,6 +29,8 @@
   </li>
   <li><a href="#ndk">プラットフォーム ライブラリにリンクした NDK アプリ</a></li>
   <li><a href="#afw">Android for Work</a></li>
+  <li><a href="#annotations">アノテーションの保持</a></li>
+  <li><a href="#other">その他の重要事項</a></li>
 </ol>
 
 <h2>関連ドキュメント</h2>
@@ -40,24 +44,23 @@
 
 
 <p>
-  Android N には、新しい機能に加えて、さまざまなシステムおよび API の動作の変更が追加されています。このドキュメントでは、アプリ開発において把握しておくべき主な変更点について説明します。
-
+  新しい機能に加えて、Android N では、さまざまなシステムおよび API の動作が変更されています。
+このドキュメントでは、アプリ開発において把握しておくべき主な変更点について説明します。
 
 
 </p>
 
 <p>
-  過去に Android にアプリを公開したことがある場合は、アプリが今回のプラットフォームの変更による影響を受ける場合があることに注意してください。
+  過去に Android 向けのアプリを公開したことがある場合は、そのアプリが今回のプラットフォームの変更による影響を受ける可能性があることに注意してください。
 
 </p>
 
 
-<h2 id="perf">パフォーマンスの向上</h2>
+<h2 id="perf">電池とメモリ</h2>
 
 <p>
-  Android N では、デバイスのバッテリー寿命、RAM の使用状況、アプリのパフォーマンスを改善するために、システムの動作がいくつか変更されています。これらの変更点は、システム リソースの可用性やアプリへのシステム通知に影響を及ぼす可能性があります。これらの変更点を理解し、変更点に対してアプリを対応させる方法を検討する必要があります。
-
-
+Android N では、端末の電池寿命を改善したり、RAM の使用量を削減したりするために、システムの動作がいくつか変更されています。
+これらの変更は、システム リソースへのアプリのアクセスに加え、特定の暗黙的インテントを介して他のアプリとやり取りする方法に影響を及ぼす可能性があります。
 
 
 </p>
@@ -65,9 +68,9 @@
 <h3 id="doze">Doze</h3>
 
 <p>
-  Android 6.0(API レベル 23)で Doze が導入されました。これは、ユーザーがデバイスを電源と接続せずに静止状態にし、画面をオフにすると、CPU とネットワークのアクティビティを保留してバッテリーの寿命を改善するものです。Android N では、Doze が改良されています。デバイスを電源と接続せずに画面をオフにすると、デバイスが静止していなくても(たとえば、ユーザーが携帯端末をポケットに入れて持ち歩いている場合)、CPU およびネットワーク制限のサブセットがアプリに適用されます。
+  Android 6.0(API レベル 23)で Doze が導入されました。これは、ユーザーが端末を電源と接続せずに静止状態にし、画面をオフにすると、CPU とネットワークのアクティビティを保留して電池寿命を改善するものです。
 
-
+Android N では、Doze が改良されています。端末を電源と接続せずに画面をオフにすると、端末が静止していなくても(たとえば、ユーザーが携帯端末をポケットに入れて持ち歩いている場合)、CPU およびネットワーク制限のサブセットがアプリに適用されます。
 
 
 
@@ -76,17 +79,17 @@
 
 <img src="{@docRoot}preview/images/doze-diagram-1.png" alt="" height="251px" id="figure1" />
 <p class="img-caption">
-  <strong>図 1.</strong> Doze が第 1 レベルのシステム アクティビティ制限を適用して、バッテリーの寿命を改善
+  <strong>図 1.</strong> Doze が第 1 レベルのシステム アクティビティ制限を適用して、電池寿命を改善
 
 </p>
 
 <p>
-  デバイスがバッテリー電源で動作しているときに画面をしばらくオフにすると、デバイスは Doze モードになります。それによって制限の最初のサブセットが適用され、アプリのネットワーク アクセスが切断されてジョブと同期が保留されます。デバイスが Doze モードに入った後、しばらくの間動かさずに放置していると、残りの Doze 制限が {@link android.os.PowerManager.WakeLock}、
-{@link android.app.AlarmManager} アラーム、GPS、Wi-Fi スキャンに適用されます。適用される Doze 制限が一部であるか完全なものであるかには関係なく、デバイスは Doze モードから短時間抜け出し、メンテナンス ウィンドウと呼ばれる状態になります。このとき、アプリはネットワーク アクセスを許可され、保留されたジョブや同期を実行することができます。
+  端末が電池電源で動作しているときに画面をしばらくオフにすると、端末は Doze モードになり、制限の最初のサブセットが適用されます。
+これにより、アプリのネットワーク アクセスが切断されてジョブと同期が保留されます。
+端末が Doze モードに入った後、しばらくの間静止状態になると、残りの Doze 制限が {@link android.os.PowerManager.WakeLock}、{@link android.app.AlarmManager} アラーム、GPS、Wi-Fi スキャンに適用されます。
 
 
-
-
+適用される Doze 制限が一部であるか完全なものであるかには関係なく、端末は Doze モードから短時間抜け出し、メンテナンス ウィンドウと呼ばれる状態になります。このとき、アプリはネットワーク アクセスを許可され、保留されたジョブや同期を実行することができます。
 
 
 
@@ -95,48 +98,48 @@
 
 <img src="{@docRoot}preview/images/doze-diagram-2.png" alt="" id="figure2" />
 <p class="img-caption">
-  <strong>図 2.</strong> デバイスがしばらくの間静止状態になると、Doze が第 2 レベルのシステム アクティビティ制限を適用する
+  <strong>図 2.</strong> 端末がしばらくの間静止状態になると、Doze が第 2 レベルのシステム アクティビティ制限を適用する
 
 </p>
 
 <p>
-  画面をオンにするか、デバイスを電源に接続すると、Doze モードは解除され、処理の制限は適用されなくなります。<a href="{@docRoot}training/monitoring-device-state/doze-standby.html">Doze と App Standby 用に最適化する</a>で説明したように、今回追加された動作は、Android 6.0(API レベル 23)で導入された以前のバージョンの Doze にアプリを対応するための推奨事項とベストプラクティスには影響を及ぼしません。Google Cloud Messaging(GCM)を使用してメッセージを受送信することなどの推奨事項を引き続き順守して、追加の Doze 動作に対応するためにアップデートを計画する必要があります。
+  画面をオンにするか、端末を電源に接続すると、Doze モードは解除され、これらの処理の制限は適用されなくなります。
+<a href="{@docRoot}training/monitoring-device-state/doze-standby.html">Doze とアプリ スタンバイ用に最適化する</a>で説明したように、今回追加された動作は、Android 6.0(API レベル 23)で導入された以前のバージョンの Doze にアプリを対応させるための推奨事項とベスト プラクティスには影響を及ぼしません。
 
 
 
-
-
+メッセージの送受信に Google Cloud Messaging(GCM)を使用するなどの推奨事項を引き続き順守して、追加の Doze 動作に対応するためにアップデートを計画する必要があります。
 
 
 
 </p>
 
 
-<h3 id="bg-opt">Project Svelte: バックグラウンド処理の最適化</h3>
+<h3 id="bg-opt">Project Svelte:バックグラウンド処理の最適化</h3>
 
 <p>
-  Android N では、メモリ使用量と消費電力を最適化するために、3 つの暗黙的なブロードキャストが削除されています。この変更が必要になるのは、暗黙的なブロードキャストが行われると、バックグラウンドでブロードキャストをリッスンするように登録されているアプリが頻繁に起動されるためです。このブロードキャストを削除するとデバイスのパフォーマンスとユーザー エクスペリエンスが大幅に向上します。
+  Android N では、メモリ使用量と消費電力を最適化するために、3 つの暗黙的なブロードキャストが削除されています。
+この変更が必要になるのは、暗黙的なブロードキャストが行われると、バックグラウンドでブロードキャストをリッスンするように登録されているアプリが頻繁に起動されるためです。
 
+これらのブロードキャストを削除すると端末のパフォーマンスとユーザー エクスペリエンスが大幅に向上します。
 
+</p>
+
+<p>
+  モバイル端末では、Wi-Fi とモバイルデータ間を移動するときなど、接続が頻繁に変化します。
+現在のアプリでは、暗黙的な {@link
+  android.net.ConnectivityManager#CONNECTIVITY_ACTION} ブロードキャストのレシーバーをマニフェストに登録することにより、接続の変化を監視できるようになっています。
+
+多くのアプリがこのブロードキャストを受信する登録を行っているので、一度ネットワークの切り替えが起こるだけですべてのアプリがアクティブになり、ブロードキャストが同時に処理されます。
 
 
 </p>
 
 <p>
-  モバイル端末では、Wi-Fi とモバイルデータの切り替えなど、接続が頻繁に変化します。現在のアプリでは、暗黙的な {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION} ブロードキャストのレシーバーをマニフェストに登録することにより、接続の変化を監視できるようになっています。多くのアプリがこのブロードキャストを受信する登録を行っているので、1 度ネットワークの切り替えが起こるだけですべてのアプリがアクティブになり、ブロードキャストが同時に処理されます。
-
-
-
-
-
-</p>
-
-<p>
-  同様に、暗黙的な {@link
-  android.hardware.Camera#ACTION_NEW_PICTURE} ブロードキャストおよび {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO} ブロードキャストをカメラなどの他のアプリから受信するよう登録している場合、ユーザーがカメラアプリで写真を撮ると、登録されたアプリがアクティブになり、ブロードキャストの処理が行われます。
-
+  同様に、旧バージョンの Android では、暗黙的な {@link
+  android.hardware.Camera#ACTION_NEW_PICTURE} ブロードキャストと {@link
+  android.hardware.Camera#ACTION_NEW_VIDEO} ブロードキャストをカメラなどの他のアプリから受信するよう登録できました。
+ユーザーがカメラアプリで写真を撮ると、これらのアプリがアクティブになり、ブロードキャストが処理されます。
 
 </p>
 
@@ -146,70 +149,120 @@
 </p>
 
 <ul>
-  <li>Android N をターゲットにしたアプリは、{@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION} ブロードキャストを受信しません。これは、アプリにイベントの通知をリクエストするマニフェスト エントリがある場合も同様です。フォアグラウンドで実行されているアプリが {@link
-  android.content.BroadcastReceiver} で通知をリクエストした場合は、メインスレッドで {@code CONNECTIVITY_CHANGE} を引き続きリッスンできます。
-
+  <li>Android N 向けのアプリは、{@link
+  android.net.ConnectivityManager#CONNECTIVITY_ACTION} ブロードキャストを受信しません。これは、アプリにこれらのイベントの通知をリクエストするマニフェスト エントリがある場合も同様です。
+実行されているアプリが {@link android.content.BroadcastReceiver} で通知をリクエストした場合は、メインスレッドで {@code CONNECTIVITY_CHANGE} を引き続きリッスンできます。
 
 
   </li>
 
   <li>アプリは、{@link
   android.hardware.Camera#ACTION_NEW_PICTURE} ブロードキャストまたは {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO} ブロードキャストを送受信できません。この最適化は、Android N をターゲットにしたアプリだけでなく、すべてのアプリに影響を及ぼします。
+  android.hardware.Camera#ACTION_NEW_VIDEO} ブロードキャストを送受信できません。この最適化は、Android N 向けのアプリだけでなく、すべてのアプリに影響を及ぼします。
 
   </li>
 </ul>
 
-<p>
-  Android の将来のリリースでは、追加の暗黙的なブロードキャストに加えて、バインドされていないバックグラウンド サービスが廃止される可能性があります。このため、マニフェストで宣言されている暗黙的なブロードキャスト用のレシーバーやバックグラウンド サービスとの依存関係は回避または削除する必要があります。
+<p>アプリでこれらのインテントのいずれかを使用する場合は、Android N 端末を適切にターゲットにできるよう可能な限りインテントとの依存性を削除する必要があります。
 
+  Android フレームワークは、これらの暗黙的なブロードキャストの必要性を軽減するいくつかのソリューションを提供します。
+たとえば、{@link
+  android.app.job.JobScheduler} API は、従量制ではないネットワークへの接続など、指定された条件のときに、ネットワーク操作をスケジュールするための堅牢なメカニズムを提供します。
 
-
-</p>
-
-<p>
-  Android フレームワークは、これらの暗黙的なブロードキャストやバックグラウンド サービスの必要性を軽減するいくつかのソリューションを提供しています。たとえば、{@link
-  android.app.job.JobScheduler} API は、従量制ではないネットワークへの接続など、特定の条件が満たされたときに、ネットワーク操作をスケジュールするための堅牢なメカニズムを提供します。また、{@link
+また、{@link
   android.app.job.JobScheduler} を使用して、コンテンツ プロバイダの変更に対応することもできます。
-
-
-
 </p>
 
 <p>
-  この動作の変更や、アプリで必要となる対応の詳細については、<a href="{@docRoot}preview/features/background-optimization.html">バックグラウンド処理の最適化</a>をご覧ください。
+  N でのバックグラウンド処理の最適化や、アプリで必要となる対応の詳細については、<a href="{@docRoot}preview/features/background-optimization.html">バックグラウンド処理の最適化</a>をご覧ください。
 
 
 </p>
 
-
 <h2 id="perm">パーミッションの変更</h2>
 
 <p>
-  Android N には、ユーザー アカウント パーミッションや外部ストレージに書き込むための新しいパーミッションなど、アプリに影響を及ぼす可能性のあるパーミッションが変更されています。ここでは、今回のプレビューで変更されたパーミションの概要について説明します。
+  Android N では、アプリに影響を及ぼす可能性のあるパーミッションが変更されています。
+</p>
 
+<h3 id="permfilesys">ファイル システムのパーミッションの変更</h3>
+
+<p>
+  プライベート ファイルのセキュリティを強化するために、Android N 以降向けのアプリのプライベート ディレクトリにはアクセス制限があります(<code>0700</code>)。
+
+  この設定により、サイズや存在など、プライベート ファイルのメタデータの漏洩を防ぐことができます。
+このパーミッションの変更には、以下のような複数の副作用があります。
+</p>
+
+<ul>
+  <li>
+    プライベート ファイルの所有者はこのファイル パーミッションを緩和することができず、{@link android.content.Context#MODE_WORLD_READABLE} や {@link android.content.Context#MODE_WORLD_WRITEABLE} を使用してこれを実行しようとすると、{@link java.lang.SecurityException} がトリガーされます。
+
+
+
+
+    <p class="note">
+      <strong>注:</strong>現在のところ、この制限は完全には適用されていません。
+      アプリはネイティブ API や {@link java.io.File File} API を使用して、プライベート ディレクトリのパーミッションを変更できる場合があります。
+ただし、プライベート ディレクトリのパーミッションを緩和できないようにすることをお勧めします。
+
+    </p>
+  </li>
+  <li>
+    パッケージ ドメイン以外の <code>file://</code> URI を渡すと、レシーバーがアクセスできないパスになる可能性があります。
+そのため、<code>file://</code> URI を渡そうとすると、<code>FileUriExposedException</code> がトリガーされます。
+
+プライベート ファイルのコンテンツの共有には、{@link
+    android.support.v4.content.FileProvider} を使用することをお勧めします。
+
+  </li>
+  <li>
+    {@link android.app.DownloadManager} では、ファイル名でプライベートに保存されたファイルを共有することはできなくなりました。
+以前のアプリで {@link
+    android.app.DownloadManager#COLUMN_LOCAL_FILENAME} にアクセスした場合、このパスにアクセスできないことがあります。
+Android N 以降向けのアプリが、{@link android.app.DownloadManager#COLUMN_LOCAL_FILENAME} にアクセスしようとすると、{@link java.lang.SecurityException} がトリガーされます。
+
+
+
+    ダウンロードの場所を {@link
+    android.app.DownloadManager.Request#setDestinationInExternalFilesDir
+    DownloadManager.Request.setDestinationInExternalFilesDir()} や {@link
+    android.app.DownloadManager.Request#setDestinationInExternalPublicDir
+    DownloadManager.Request.setDestinationInExternalPublicDir()} を使用してパブリックな場所に設定する以前のアプリは、{@link android.app.DownloadManager#COLUMN_LOCAL_FILENAME} でこのパスにアクセスできますが、このメソッドは使用しないことをお勧めします。
+
+
+
+
+
+{@link android.app.DownloadManager} で公開されているファイルへのアクセスには、{@link android.content.ContentResolver#openFileDescriptor
+    ContentResolver.openFileDescriptor()} を使用することをお勧めします。
+
+
+  </li>
+</ul>
+
+<h2 id="sharing-files">アプリ間のファイルの共有</h2>
+
+<p>
+Android N 向けのアプリでは、Android フレームワークにより、アプリ以外の {@code file://} URI の公開を禁止する {@link android.os.StrictMode} API ポリシーが適用されます。
+
+ファイル URI を含むインテントがアプリからなくなると、{@code FileUriExposedException} 例外によりアプリはエラーになります。
+
+</p>
+
+<p>
+アプリ間でファイルを共有するには、{@code content://} URI を送信して、この URI に一時的なアクセス パーミッションを付与する必要があります。
+このパーミッションを付与する最も簡単な方法は、{@link android.support.v4.content.FileProvider} クラスを使用することです。
+パーミッションとファイルの共有の詳細については、<a href="{@docRoot}training/secure-file-sharing/index.html">ファイルの共有</a>をご覧ください。
 
 
 </p>
 
-<ul>
-  <li>{@code GET_ACCOUNTS}(廃止予定)
-    <p>
-      GET_ACCOUNTS パーミッションは廃止予定となりました。システムは、Android N をターゲットにしたアプリでこのパーミションを無視します。
-
-    </p>
-  </li>
-
-</ul>
-
-
-
-<h2 id="accessibility">アクセシビリティの改善</h2>
+<h2 id="accessibility">ユーザー補助機能の改善</h2>
 
 <p>
-  Android N には、低視力のユーザーまたは視覚障害のあるユーザー向けのプラットフォームのユーザビリティを改善するための変更が追加されています。通常は、これによってアプリのコードを変更する必要はありませんが、この機能について理解し、アプリをテストして、ユーザー エクスペリエンスに与える潜在的な影響を評価する必要があります。
-
+  Android N には、低視力のユーザーまたは視覚障害のあるユーザー向けのプラットフォームのユーザビリティを改善するための変更がいくつか追加されています。
+通常は、これらの変更によってアプリのコードを変更する必要はありませんが、この機能について理解し、アプリでテストして、ユーザー エクスペリエンスに与える潜在的な影響を評価する必要があります。
 
 
 
@@ -219,9 +272,9 @@
 <h3 id="screen-zoom">画面のズーム</h3>
 
 <p>
-  Android N では、<strong>ディスプレイ サイズ</strong>を設定して、画面上のすべての要素を拡大または縮小することができるので、低視力のユーザーに対するデバイスのアクセシビリティが向上しています。ユーザーは、一般的な中くらいのサイズの携帯端末 Nexus 4 の幅である <a href="http://developer.android.com/guide/topics/resources/providing-resources.html">sw320dp</a> の画面最小幅を超えて画面をズームできません。
+  Android N では、<strong>ディスプレイ サイズ</strong>を設定して、画面上のすべての要素を拡大または縮小することができるので、視覚障害のあるユーザーに対する端末のユーザー補助機能が向上しています。
 
-
+ユーザーは、一般的な中くらいのサイズの携帯端末 Nexus 4 の幅である <a href="http://developer.android.com/guide/topics/resources/providing-resources.html">sw320dp</a> の画面最小幅を超えて画面をズームできません。
 
 
 </p>
@@ -237,28 +290,28 @@
 
 </div> <!-- end cols -->
 <p class="img-caption">
-  <strong>図 3.</strong> 右側の画面では、Android N システム イメージを実行しているデバイスのディスプレイ サイズを拡大している
+  <strong>図 3.</strong> 右側の画面では、Android N システム イメージを実行している端末のディスプレイ サイズを拡大している
 
 </p>
 
 
 <p>
-  デバイスの画面密度が変更されると、以下の方法で実行中のアプリに通知されます。
+  端末の画面密度が変更されると、以下の方法で実行中のアプリに通知されます。
 
 </p>
 
 <ul>
-  <li>アプリが API レベル 23 以前のデバイスをターゲットにしている場合は、すべてのバックグラウンド処理が自動的に強制終了します。つまり、ユーザーがそのようなアプリから移動して [Settings] 画面を開き、<strong>ディスプレイ サイズ</strong>の設定を変更すると、メモリ不足の場合と同じように、アプリが強制終了します。アプリに何らかのフォアグラウンド処理がある場合は、<a href="{@docRoot}guide/topics/resources/runtime-changes.html">実行時の変更の処理</a>に記載されている構成変更の処理が通知されます。これは、デバイスの画面の向きが変わったときの処理と同様です。<em></em>
+  <li>アプリが API レベル 23 以前をターゲットにしている場合は、すべてのバックグラウンド処理が自動的に強制終了します。
+つまり、ユーザーがそのようなアプリから移動して [<em>Settings</em>] 画面を開き、<strong>ディスプレイ サイズ</strong>の設定を変更すると、メモリ不足の場合と同じように、アプリが強制終了します。
 
 
-
-
+アプリになんらかのフォアグラウンド処理がある場合は、<a href="{@docRoot}guide/topics/resources/runtime-changes.html">実行時の変更の処理</a>に記載されている設定変更の処理が通知されます。これは、端末の画面の向きが変わったときの処理と同様です。
 
 
 
   </li>
 
-  <li>アプリが Android N をターゲットにしている場合、<a href="{@docRoot}guide/topics/resources/runtime-changes.html">実行時の変更の処理</a>に記載されているように、すべての処理(フォアグラウンド処理およびバックグラウンド処理)に対して構成変更が通知されます。
+  <li>アプリが Android N をターゲットにしている場合、<a href="{@docRoot}guide/topics/resources/runtime-changes.html">実行時の変更の処理</a>に記載されているように、すべての処理(フォアグラウンド処理およびバックグラウンド処理)に対して設定変更が通知されます。
 
 
 
@@ -266,31 +319,31 @@
 </ul>
 
 <p>
-  Android のベストプラクティスに従っているほとんどのアプリでは、この機能をサポートするための変更を加える必要はありませんが、以下の点は確認する必要があります。
-
+  Android のベスト プラクティスに従っているほとんどのアプリでは、この機能をサポートするための変更を加える必要はありません。
+以下の点は確認する必要があります。
 </p>
 
 <ul>
   <li>画面幅 <code><a href=
-  "{@docRoot}guide/topics/resources/providing-resources.html">sw320dp</a></code> のデバイスでアプリをテストして、適切に機能することを確認します。
+  "{@docRoot}guide/topics/resources/providing-resources.html">sw320dp</a></code> の端末でアプリをテストして、適切に機能することを確認します。
 
   </li>
 
-  <li>デバイスの構成が変更された場合、キャッシュ済みのビットマップやネットワークからロードされるリソースなど、画面密度に依存するキャッシュ情報をアップデートしてください。また、アプリが一時停止状態から再開された場合は、構成変更をチェックしてください。
+  <li>端末設定が変更された場合、キャッシュ済みのビットマップやネットワークからロードされるリソースなど、画面密度に依存するキャッシュ情報を更新してください。
 
-
+また、アプリが一時停止状態から再開された場合は、設定変更をチェックしてください。
 
     <p class="note">
-      <strong>注:</strong> 構成に依存したデータをキャッシュする場合は、そのデータ用の適切な画面サイズやピクセル密度など、関連するメタデータを含めることをお勧めします。このメタデータを保存しておくと、構成を変更した後、キャッシュ データを更新する必要があるかどうかを決定できます。
+      <strong>注:</strong>設定に依存したデータをキャッシュに保存する場合は、そのデータ用の適切な画面サイズやピクセル密度など、関連するメタデータを含めることをお勧めします。
 
-
+このメタデータを保存しておくと、設定を変更した後、キャッシュ データを更新する必要があるかどうかを決定できます。
 
 
     </p>
   </li>
 
-  <li>ピクセル単位は画面密度に対応しないため、ピクセル単位で寸法を指定することは避けてください。その代わり、<a href="{@docRoot}guide/practices/screens_support.html">密度非依存ピクセル</a>(<code>dp</code>)単位で寸法を指定します。
-
+  <li>ピクセル単位は画面密度に対応しないため、ピクセル単位で寸法を指定することは避けてください。
+その代わり、<a href="{@docRoot}guide/practices/screens_support.html">密度非依存ピクセル</a>(<code>dp</code>)単位で寸法を指定します。
 
   </li>
 </ul>
@@ -298,56 +351,56 @@
 <h3 id="vision-settings">セットアップ ウィザードの [Vision Settings]</h3>
 
 <p>
-  Android N には、オープニング画面に [Vision Settings] が追加されています。ユーザーは [Vision Settings] を使用して、新しいデバイスで<strong>ズーム操作</strong>、<strong>フォントサイズ</strong>、<strong>ディスプレイ サイズ</strong>、<strong>TalkBack</strong> などのアクセシビリティ機能を設定できます。この変更により、さまざまな画面設定に関連するバグが顕在化する可能性があります。この機能が及ぼす影響を評価するには、これらの設定を有効にしてアプリをテストする必要があります。設定は、<strong>[Settings] &gt; [Accessibility]</strong> にあります。
+  Android N には、オープニング画面に [Vision Settings] が追加されています。ユーザーはこれを使用して、新しい端末で以下のユーザー補助機能設定を設定できます。
 
+  <strong>ズーム操作</strong>、<strong>フォントサイズ</strong>、<strong>ディスプレイ サイズ</strong>、<strong>TalkBack</strong>。
+この変更により、さまざまな画面設定に関連するバグが顕在化する可能性があります。
+この機能が及ぼす影響を評価するには、これらの設定を有効にしてアプリをテストする必要があります。
 
-
-
-
-
+設定は、<strong>[Settings] &gt; [Accessibility]</strong> にあります。
 
 </p>
 
 <h2 id="ndk">プラットフォーム ライブラリにリンクした NDK アプリ</h2>
 
 <p>
-  Android N では、非パブリック API のロードを防止するために、名前空間が変更されています。NDK を使用する場合、Android プラットフォームのパブリック API のみを使用する必要があります。Android の次の公式リリースで非パブリック API を使用すると、アプリがクラッシュする可能性があります。
+  Android N では、非パブリック API のロードを防止するために、名前空間が変更されています。
+  NDK を使用する場合、Android プラットフォームのパブリック API のみを使用する必要があります。
+Android の次の公式リリースで非パブリック API を使用すると、アプリがクラッシュする可能性があります。
 
+</p>
+
+<p>
+  非パブリック API を使用していることを警告するために、アプリが非パブリック API を呼び出すと、Android N 端末で実行されているアプリは logcat 出力でエラーを生成します。
+
+  この状態を認識してもらえるよう、このエラーはメッセージとして端末の画面にも表示されます。
+アプリのコードを確認して、非パブリック プラットフォーム API を削除し、プレビュー端末またはエミュレータを使用して、アプリを十分にテストしてください。
 
 
 </p>
 
 <p>
-  非パブリック API を使用していることをデベロッパーに警告するため、Android N で実行されているアプリが非パブリック API を呼び出すと、logcat にエラーが出力されます。この状態を認識してもらえるよう、エラー メッセージはデバイスの画面にも表示されます。アプリのコードを確認して、非パブリック API を削除し、プレビュー デバイスまたはエミュレータを使用して、アプリを十分にテストしてください。
+  アプリがプラットフォーム ライブラリに依存している場合は、NDK ドキュメントにある一般的な修正例を参照して、共通のプライベート API をそれと同等の機能を持つパブリック API に置き換えます。
 
+  特に、<code>libpng</code> など、プラットフォームに含まれていて NDK には含まれていないライブラリをアプリで使用している場合、気付かないうちにプラットフォーム ライブラリにリンクしていることがあります。
 
-
-
-
-</p>
-
-<p>
-  アプリがプラットフォーム ライブラリに依存している場合は、NDK ドキュメントにある一般的な修正例を参照して、共通のプライベート API をそれと同等な機能を持つパブリック API に置き換えます。特に、プラットフォームに含まれていて NDK には含まれていないライブラリ(<code>libpng</code> など)をアプリで使用している場合、気付かないうちにプラットフォーム ライブラリにリンクしていることがあります。この場合、APK にリンク対象のすべての .so ファイルが含まれていることを確認します。
-
-
-
-
+この場合、APK にリンク対象のすべての .so ファイルが含まれていることを確認します。
 
 </p>
 
 <p class="caution">
-  <strong>警告:</strong> サードパーティのライブラリの中には非パブリック API にリンクしているものもあります。アプリがこれらのライブラリを使用している場合、Android の次の公式リリースでアプリを実行すると、アプリがクラッシュする可能性があります。
-
+  <strong>警告:</strong>サードパーティのライブラリの中には非パブリック API にリンクしているものもあります。
+アプリがこれらのライブラリを使用している場合、Android の次の公式リリースでアプリを実行すると、アプリがクラッシュする可能性があります。
 
 </p>
 
 <p>
-  NDK に含まれていないネイティブ ライブラリは Android のリリース版が変わると変更または削除される場合があるため、アプリでは、こういったライブラリへの依存やその使用を避けてください。OpenSSL から BoringSSL への移行は、そのような変更の一例です。また、NDK に含まれていないプラットフォーム ライブラリには互換性要件がないため、デバイスによって互換性レベルが異なる場合があります。古いバージョンで非 NDK ライブラリにアクセスする必要がある場合は、Android API レベルを判定してからロードしてください。
+  NDK に含まれていないネイティブ ライブラリは Android のリリース版が変わると変更または削除される場合があるため、アプリでは、こういったライブラリへの依存やその使用を避けてください。
 
+OpenSSL から BoringSSL への移行は、そのような変更の一例です。
+  また、NDK に含まれていないプラットフォーム ライブラリには互換性要件がないため、端末によって互換性レベルが異なる場合があります。
 
-
-
-
+古い端末で非 NDK ライブラリにアクセスする必要がある場合は、Android API レベルに応じてロードしてください。
 
 </p>
 
@@ -382,16 +435,16 @@
 </pre>
   </li>
 
-  <li>{@code libcutils.so} の {@code property_get} シンボルを使用している場合は、公開されている {@code __system_property_get} に置き換えることができます。これを行うには、次の include 文とともに {@code __system_property_get} を使用します。
+  <li>{@code libcutils.so} の {@code property_get} シンボルを使用している場合は、public {@code alternative __system_property_get} に置き換えることができます。
 
-
+   これを行うには、次の include 文とともに {@code __system_property_get} を使用します。
 <pre>
 #include &lt;sys/system_properties.h&gt;
 </pre>
   </li>
 
-  <li>{@code libcrypto.so} の {@code SSL_ctrl} シンボルを使用している場合は、アプリ内のローカルなバージョンに置き換える必要があります。たとえば、{@code .so} ファイルを
-{@code libcyrpto.a} に静的にリンクするか、BoringSSL や OpenSSL の動的ライブラリ {@code libcrypto.so} をアプリに含める必要があります。
+  <li>{@code libcrypto.so} の {@code SSL_ctrl} シンボルを使用している場合は、ローカル版のアプリに置き換える必要があります。
+たとえば、{@code .so} ファイルに {@code libcyrpto.a} を静的にリンクするか、BoringSSL や OpenSSL の {@code libcrypto.so} をアプリに動的に含める必要があります。
 
 
   </li>
@@ -399,82 +452,159 @@
 
 <h2 id="afw">Android for Work</h2>
 <p>
-  Android N には、証明書のインストール、パスワードのリセット、セカンダリ ユーザーの管理、デバイス識別子へのアクセスなど、Android for Work をターゲットにしたアプリに対する変更が含まれています。Android for Work 環境向けのアプリを構築している場合、これらの変更点を確認し、変更に応じてアプリを修正する必要があります。
+  Android N には、証明書のインストール、パスワードの再設定、セカンダリ ユーザーの管理、端末識別子へのアクセスなど、Android for Work をターゲットにしているアプリに対する変更が含まれています。
 
-
+Android for Work 環境向けのアプリをビルドしている場合、これらの変更点を確認し、変更に応じてアプリを修正する必要があります。
 
 
 </p>
 
 <ul>
-  <li>デバイス ポリシー コントローラ(DPC)が代理証明書の設定を行う前に、代理証明書のインストーラーをインストールする必要があります。また、プロファイルと N SDK をターゲットにしたデバイスオーナー アプリが代理証明書のインストーラーを使用できるよう、DPC が <code>DevicePolicyManager.setCertInstallerPackage()</code> を呼び出す前にインストーラーをインストールする必要があります。インストールされていない場合、システムは <code>IllegalArgumentException</code> をスローします。
+  <li>DPC が代理証明書を設定する前に、代理証明書インストーラをインストールする必要があります。
+また、プロファイルと N SDK をターゲットにしているデバイス オーナー アプリに対して、デバイス ポリシー コントローラ(DPC)が <code>DevicePolicyManager.setCertInstallerPackage()</code> を呼び出す前に代理証明書インストーラをインストールする必要があります。
 
 
-
-
+このインストーラがインストールされていない場合、<code>IllegalArgumentException</code> がスローされます。
 
 
   </li>
 
-  <li>デバイス管理者向けのパスワードのリセット制限がプロファイル オーナーに適用されます。デバイスの管理者は、<code>DevicePolicyManager.resetPassword()</code> を使用して、既に設定されているパスワードを削除または変更できなくなりました。デバイスの管理者は、デバイスにパスワード、PIN、またはパターンが設定されていない場合のみ、パスワードを設定できます。
+  <li>端末管理者向けのパスワードの再設定制限がプロファイル オーナーに適用されます。
+端末管理者は、{@code DevicePolicyManager.resetPassword()} を使用して、既に設定されているパスワードを削除または変更できなくなりました。
 
+端末管理者は、端末にパスワード、PIN、またはパターンが設定されていない場合のみ、パスワードを設定できます。
 
+  </li>
+
+  <li>デバイス オーナーとプロファイル オーナーは、制限が設定されている場合でもアカウントを管理することができます。
+デバイス オーナーとプロファイル オーナーは、<code>DISALLOW_MODIFY_ACCOUNTS</code> ユーザー制限が適用されている場合でもアカウント管理 API を呼び出すことができます。
+
+  </li>
+
+  <li>デバイス オーナーによるセカンダリ ユーザーの管理がさらに簡単になりました。端末がデバイス オーナー モードで実行されている場合は、<code>DISALLOW_ADD_USER</code> 制限が自動的に設定されます。
+
+これにより、管理されていないセカンダリ ユーザーが作成されることを防ぐことができます。
+また、<code>CreateUser()</code> メソッドと <code>createAndInitializeUser()</code> メソッドは廃止され、新しい <code>DevicePolicyManager.createAndManageUser()</code> メソッドに置き換えられました。
 
 
   </li>
 
-  <li>デバイスとプロファイルのオーナーは、制限が設定されている場合でもアカウントを管理することができます。デバイス オーナーとプロファイル オーナーは、<code>DISALLOW_MODIFY_ACCOUNTS</code> ユーザー制限が適用されている場合でもアカウント管理 API を呼び出すことができます。
+  <li>デバイス オーナーは、端末識別子にアクセスできます。また、デバイス オーナーは <code>DevicePolicyManagewr.getWifiMacAddress()</code> を使用して、端末の Wi-Fi MAC アドレスにもアクセスできます。
 
+端末で Wi-Fi が有効にされたことがない場合、このメソッドは {@code null} 値を返します。
 
   </li>
 
-  <li>デバイス オーナーによるセカンダリ ユーザーの管理がさらに簡単になりました。デバイスがデバイス オーナー モードで実行されている場合は、<code>DISALLOW_ADD_USER</code> 制限が自動的に設定されます。これにより、管理されていないセカンダリ ユーザーが作成されることを防ぐことができます。また、<code>CreateUser()</code> メソッドと <code>createAndInitial()</code> メソッドは廃止され、新しい <code>DevicePolicyManager.createAndManageUser()</code> メソッドに置き換えられました。
+  <li>ワークモード設定により、仕事用アプリへのアクセスが制御されます。ワークモードがオフになると、システム ランチャーは仕事用アプリをグレーアウトしてこれらが利用できないことを示します。
+ワークモードが再度有効になると、通常の動作が復元されます。
 
-
-
-
-
-  </li>
-
-  <li>デバイス オーナーは、デバイス識別子にアクセスできます。また、<code>DevicePolicyManagewr.getWifiMacAddress()</code> を使用して、デバイスの Wi-Fi MAC アドレスにもアクセスできます。デバイスで Wi-Fi が有効にされたことがない場合、このメソッドは {@code null} 値を返します。
-
-
-
-  </li>
 </ul>
 
 <p>
-  Android N の Android for Work の変更に関する詳細については、<a href="{@docRoot}preview/features/afw.html">Android for Work のアップデート</a>をご覧ください。
+  Android N での Android for Work の変更の詳細については、<a href="{@docRoot}preview/features/afw.html">Android for Work のアップデート</a>をご覧ください。
 
 </p>
 
+<h2 id="annotations">アノテーションの保持</h2>
+
+<p>
+Android N では、アノテーションの表示が無視されていたバグを修正しています。この問題は、ランタイムがこれまでできなかったアノテーションへのアクセスを可能にしました。
+
+これらのアノテーションは以下のとおりです。
+</p>
+
+<ul>
+   <li>{@code VISIBILITY_BUILD}:ビルド時にのみ表示されます。</li>
+   <li>{@code VISIBILITY_SYSTEM}:実行時に表示されますが、基幹システムにのみ表示されます。
+</li>
+</ul>
+
+<p>
+アプリでこの動作を利用している場合は、実行時に表示されるアノテーションに保持ポリシーを追加してください。
+これは {@code @Retention(RetentionPolicy.RUNTIME)} を使用して実行できます。
+</p>
+
 <h2 id="other">その他の重要事項</h2>
 
 <ul>
-<li>Android N 上で低い API レベルをターゲットにしたアプリが実行されている場合、ユーザーがディスプレイ サイズを変更すると、アプリのプロセスは強制終了されます。アプリは、このシナリオを適切に処理する必要があります。適切に処理しないと、ユーザーが [Recents] からアプリを復元したときに、アプリがクラッシュします。
-
-
+<li>Android N 上で低い API レベルをターゲットにしたアプリが実行されている場合、ユーザーがディスプレイ サイズを変更すると、アプリのプロセスは強制終了されます。
+アプリは、このシナリオを適切に処理する必要があります。
+適切に処理しないと、ユーザーが [Recents] からアプリを復元したときに、アプリがクラッシュします。
 
 
 <p>
-アプリをテストして、この動作が発生しないようにしてください。DDMS でアプリを手動で強制終了させて同様のクラッシュを発生させることにより、アプリのテストを行なうことができます。
+アプリをテストして、この動作が発生しないようにしてください。DDMS でアプリを手動で強制終了させて同様のクラッシュを発生させることにより、アプリのテストを行うことができます。
 
 
 
 </p>
 
 <p>
-N 以上をターゲットにしたアプリは、画面密度の変更時に自動的に強制終了しませんが、構成変更への対応が不十分なままである可能性があります。
+N 以上をターゲットにしたアプリは、画面密度の変更時に自動的に強制終了しませんが、設定変更への対応が不十分なままである可能性があります。
 
 </p>
 </li>
 
 <li>
-Android N 上のアプリは構成変更を適切に処理し、次回の起動時にクラッシュしないようにする必要があります。フォントのサイズを変更([<strong>Setting</strong>] &gt; [<strong>Display</strong>] &gt; [<strong>Font size</strong>])した後に [Recents] からアプリを復元すると、アプリの動作を確認できます。
+Android N 上のアプリは設定変更を適切に処理し、次回の起動時にクラッシュしないようにする必要があります。
+フォントのサイズを変更([<strong>Setting</strong>] &gt; [<strong>Display</strong>] &gt; [<strong>Font size</strong>])した後に [Recents] からアプリを復元すると、アプリの動作を確認できます。
+
+
+
+</li>
+
+<li>
+旧バージョンの Android では、バグにより、メインスレッドの TCP ソケットへの書き込みを厳格モード違反として報告していませんでした。
+Android N ではこのバグが修正されています。この動作を表示するアプリから {@code android.os.NetworkOnMainThreadException} がスローされるようになりました。通常、メインスレッドでネットワーク操作を実行することはお勧めできません。それは、これらの操作は一般的に ANR やジャンクを引き起こす大幅なテイル レイテンシが発生するためです。
+
+
+
+</li>
+
+<li>
+メソッドの {@code Debug.startMethodTracing()} ファミリーが、SD カードのトップレベルではなく、共有ストレージ上のパッケージ固有のディレクトリの storing output にデフォルト設定されました。
+
+
+つまり、これらの API を使用するためにアプリで {@code WRITE_EXTERNAL_STORAGE} パーミッションをリクエストする必要はありません。
+</li>
+
+<li>
+多くのプラットフォーム API は、{@link android.os.Binder} トランザクションで送信される大きなペイロードをチェックし、暗黙的にログ記録したり、削除したりするのではなく {@code TransactionTooLargeExceptions} を {@code RuntimeExceptions} として再度スローするようになりました。
+
+
+一般的な例としては、{@link android.app.Activity#onSaveInstanceState Activity.onSaveInstanceState()} で大量のデータを格納することです。これにより、アプリが Android N をターゲットにしている場合は、{@code ActivityThread.StopInfo} で {@code RuntimeException} がスローされます。
 
 
 
 
 </li>
+
+<li>
+アプリが {@link java.lang.Runnable} タスクを {@link android.view.View} に渡し、{@link android.view.View} がウィンドウにアタッチされない場合は、{@link java.lang.Runnable} タスクと {@link android.view.View} がキューに入れられます。{@link java.lang.Runnable} タスクは {@link android.view.View} がウィンドウにアタッチされるまで実行されません。
+
+
+
+
+
+この動作は以下のバグを修正します。
+<ul>
+   <li>対象ウィンドウの UI スレッド以外のスレッドからアプリが {@link android.view.View} に渡すと、結果として不適切なスレッドで {@link java.lang.Runnable} が実行される可能性があります。
+
+   </li>
+   <li>{@link java.lang.Runnable} タスクがルーパー スレッド以外のスレッドから渡されると、アプリは {@link java.lang.Runnable} タスクを公開できました。
+</li>
+</ul>
+</li>
+
+<li>
+{@link android.Manifest.permission#DELETE_PACKAGES DELETE_PACKAGES} パーミッションを持つ Android N 上のアプリが、別のアプリがインストールしたパッケージを削除しようとすると、ユーザー確認が要求されます。
+
+
+このシナリオでは、アプリが {@link android.content.pm.PackageInstaller#uninstall PackageInstaller.uninstall()} を呼び出した場合は、{@link android.content.pm.PackageInstaller#STATUS_PENDING_USER_ACTION STATUS_PENDING_USER_ACTION} をリターン ステータスとしてみなす必要があります。
+
+
+
+</li>
+
 </ul>
 
diff --git a/docs/html-intl/intl/ja/preview/download-ota.jd b/docs/html-intl/intl/ja/preview/download-ota.jd
new file mode 100644
index 0000000..1107baf
--- /dev/null
+++ b/docs/html-intl/intl/ja/preview/download-ota.jd
@@ -0,0 +1,324 @@
+page.title=端末の OTA イメージの適用
+
+@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">Android Preview SDK のコンポーネントをダウンロード、インストールする前に、次の利用規約に同意する必要があります。
+
+</p>
+
+    <h2 class="norule">利用規約</h2>
+
+    <div class="sdk-terms" onfocus="this.blur()" style="width:678px">
+以下は、Android SDK Preview の使用許諾契約です(以下「本契約」)。
+
+1. はじめに
+
+1.1 Android SDK Preview(以下、本契約で「Preview」という。具体的には利用可能な場合には Android システム ファイル、パッケージ型 API、Preview ライブラリ ファイルを含む)は、本契約の規定に従ってライセンス許可されます。本契約では、デベロッパーの Preview の使用に関して、デベロッパーと Google の間で法的拘束力のある契約を結びます。
+
+1.2 「Android」とは、Android オープンソース プロジェクト(http://source.android.com/ にて随時更新)にて利用可能な、端末向けの Android ソフトウェア スタックを意味します。
+
+1.3 「Android 互換」とは、(i)Android 互換ウェブサイト(http://source.android.com/compatibility)に掲載されており、随時アップデートされる可能性がある Android Compatibility Definition ドキュメントに準拠し、かつ(ii)Android Compatibility Test Suite(CTS)に合格した任意の Android 実装を指します。
+
+1.4 「Google」とは、1600 Amphitheatre Parkway, Mountain View, CA 94043, United States に主たる事業所を有するデラウェア州法人である Google Inc. を意味します。
+
+2. 本契約への同意
+
+2.1 Peview を使用するためには、本契約に同意する必要があります。本契約に同意しない場合は Preview を使用できません。
+
+2.2 同意するかまたは Preview を使用するためにクリックすると、本契約に同意したことになります。
+
+2.3 米国またはその他の国(デベロッパーが居住している国かまたはデベロッパーが Preview を使用する国を含む)の法律により Preview の使用を禁止されている人である場合、Preview を使用することも、使用許諾契約に同意することもできません。
+
+2.4 雇用主またはその他の事業体を代表または代理して本契約に拘束されることに同意し Preview を企業または組織の内部で使用する場合、担当者の雇用主またはその他の事業体を本契約に法的に拘束する完全な法的権限を有していることを表明および保証するものとします。担当者が必要な権限を有していない場合は、担当者の雇用主またはその他の事業体を代表または代理して、本契約に同意することも、Preview を使用することもできません。
+
+3. Google からの Preview ライセンス
+
+3.1 本契約の規定に従い、Google は Android 実装と互換性のあるアプリの開発に Preview を使用するための、限定的で、世界規模の、ロイヤリティ フリーな、譲渡不可、非排他的、サブライセンス不可なライセンスを付与するものとします。
+
+3.2 本 Preview は、別のプラットフォーム(Android 実装と互換性のないものも含む)のアプリの開発や別の SDK の開発には使用できません。本 Preview をその目的で使用しない場合は、Android 実装と互換性のないものを含め、自由に別のプラットフォームのアプリの開発を行うことができます。
+
+3.3 Preview に関するすべての法的権利、所有権、利益(Preview に含まれる知的財産権を含む)は Google またはサードパーティが所有するものとします。「知的財産権」とは、特許法、著作権法、営業秘密法、商標法、不当競争防止法に基づいて発生するすべての権利、およびその他のすべての所有権を意味します。デベロッパーに明示的に付与されていない権利は、すべて Google が所有します。
+
+3.4 本契約で明示的に許可されている目的以外においては、Preview を使用できません。当該のサードパーティのライセンスで必要とされる場合を除き、デベロッパーは、(a)Preview または Preview の一部をコピー(バックアップ目的を除く)、修正、改造、再配布、逆コンパイル、リバース エンジニアリング、逆アセンブルまたは派生物の作成、または(b)モバイル ハンドセットまたは個人用コンピュータ以外のハードウェア端末への Preview の読み込み、Preview と他のソフトウェアとの結合、または Preview の一部を組み込んだソフトウェアや端末の配布はできません。
+
+3.5 オープンソース ソフトウェア ライセンス下でライセンス付与された Preview のコンポーネントの使用、複製、配布は、本契約ではなく、そのオープンソース ソフトウェアのライセンスに準拠するものとします。デベロッパーは、許諾されるすべての権利下で、そのようなオープンソース ソフトウェア ライセンスに対して、良好な状態のライセンシーのままでいることに同意し、そのような権利を終了、停止、または違反する可能性のあるいかなる行為も差し控えることに同意するものとします。
+
+3.6 デベロッパーは、Google が提供する Preview の形式および性質は事前の通知なしに変更される場合があり、今後リリースされる Preview のバージョンでは、以前のバージョンの Preview で開発されたアプリとの互換性がない可能性があることに同意します。デベロッパーは、Google が事前の通知なく、Google の単独の裁量でデベロッパーまたはユーザーへの Preview(または Preview 内の一部の機能)の提供を(恒久的または一時的に)停止する場合があることに同意します。
+
+3.7 本契約のいかなる部分も、Google のいかなる商標名、商標、サービスマーク、ロゴ、ドメイン名、またはその他のブランド識別表示を使用する権利もデベロッパーに付与するものではありません。
+
+3.8 デベロッパーは、Preview に添付または収録されているすべての知的財産権に関する通知(著作権および商標の通知を含む)の削除、隠ぺい、改ざんを行わないことに同意します。
+
+4. デベロッパーによる Preview の使用
+
+4.1 Google は、本契約に基づき Preview を使用してデベロッパーが開発したソフトウェア アプリに関して、デベロッパー(またはデベロッパーのライセンサー)からいかなる権利、所有権、または利益(当該アプリに含まれる知的財産権を含む)も取得するものではないことに同意します。
+
+4.2 デベロッパーは、Preview を(a)本契約、および(b)該当する司法管轄区における適用される法律、規則、または一般に認められた慣行またはガイドライン(米国またはその他の該当国におけるデータまたはソフトウェアの輸出入に関する法律を含む)で認められている目的にのみ使用することに同意します。
+
+4.3 Preview を使用してアプリを開発する場合、デベロッパーはユーザーのプライバシーおよび法的権利を保護することに同意します。ユーザーからデベロッパーにユーザー名、パスワード、またはその他のログイン情報または個人情報が提供される場合、デベロッパーは、情報がデベロッパーのアプリに提供されることをユーザーに認識させ、当該ユーザーについてプライバシーに関する法的に十分な通知および保護を行わなければなりません。デベロッパーのアプリに個人情報または秘密情報が保存される場合、この保存は保護された方法で行われなければなりません。ユーザーからデベロッパーのアプリに Google アカウントの情報が提供された場合、デベロッパーのアプリでは、ユーザーが許可したタイミングで、かつユーザーが許可した限定された目的にのみ、当該情報を使用してユーザーの Google アカウントにアクセスすることが認められるものとします。
+
+4.4 デベロッパーは、Preview に関して、第三者(Google、およびあらゆる携帯電話会社を含むが、これらに限定されない)のサーバー、ネットワーク、またはその他の財産またはサービスへの妨害、中断、損害、または許可されていない態様でのアクセスとなる行為(そのような行為に該当する対象製品の開発または販売 / 配布を含む)に関与しないことに同意します。
+
+4.5 デベロッパーは、デベロッパーが Android および Android のアプリを介して作成、送信、表示するデータ、コンテンツ、リソース、および自身の行為の結果(Google に発生する可能性のあるあらゆる損失および損害を含む)について、自身が単独で責任を負うこと(および Google がこれについてデベロッパーまたはいかなる第三者に対しても一切責任を負わないこと)に同意します。
+
+4.6 デベロッパーは、本契約、適用される第三者の契約もしくは利用規約、または適用される法律もしくは規則に基づく自身の義務に違反したこと、および当該違反の結果(Google または第三者に発生したあらゆる損失および損害を含む)について、自身が単独で責任を負うこと(および Google がこれについてデベロッパーまたはいかなる第三者に対しても一切責任を負わないこと)に同意します。
+
+4.7 Preview は開発中であり、デベロッパーによるテスティングやフィードバックは開発プロセスの重要な一部となります。デベロッパーは、Preview の使用により、一部の機能の実装が開発中であると認識し、Preview が安定したリリースの完全な機能性を持つことに依存すべきでないことを認識するものとします。本 Preview は、公式の Android SDK のリリース後はサポート対象でなくなるため、デベロッパーは、Preview を使用するいかなるアプリも公然と配布または引き渡さないことに同意するものとします。
+
+5. デベロッパーの認証情報
+
+5.1 デベロッパーは、Google が発行した、またはデベロッパー自身で選択した、自身のデベロッパー用認証情報の秘密を保持する責任を負うこと、および自身のデベロッパー用認証情報のもとで開発されたすべてのアプリについて単独で責任を負うことに同意します。
+
+6. プライバシーおよび情報
+
+6.1 Google は、Preview の継続的な技術革新と改良のために、ソフトウェアから特定の使用統計情報(一意識別子、関連する IP アドレス、ソフトウェアのバージョン番号、Preview のどのツール/サービスがどのように使用されているかに関する情報を含むが、これらに限定されない)を収集できます。この情報が収集される前に、Preview に通知が表示され、デベロッパーの同意が求められます。デベロッパーが同意しない場合は、情報は収集されません。
+
+6.2 収集されるデータは、Preview の改良のために集約された形で精査され、Google のプライバシー ポリシー(http://www.google.com/policies/privacy/)に従って管理されます。
+
+7. 第三者のアプリ
+
+7.1 デベロッパーが、Preview を使用して第三者が開発したアプリを実行する、あるいは第三者から提供されたデータ、コンテンツ、リソースにアクセスする場合、デベロッパーは、Google がそれらのアプリ、データ、コンテンツ、リソースについて責任を負わないことに同意します。デベロッパーは、そのような第三者のアプリを介してアクセスするすべてのデータ、コンテンツ、リソースについては、それらを生成した者が単独で責任を負うものであり、Google はそれらの第三者のアプリ、データ、コンテンツ、またはリソースの使用もしくはアクセスによって生じたあらゆる損失および損害について一切責任を負わないことを理解します。
+
+7.2 デベロッパーは、そのような第三者のアプリを介して表示されるデータ、コンテンツ、リソースは、提供者(あるいは代理の第三者または事業体)が所有する知的財産権で保護されている場合があることを認識するものとします。デベロッパーは、当該所有者からの明確な許可がない限り、それらのデータ、コンテンツ、リソース(全体または一部)の変更、貸与、賃貸、担保、配布または派生物の作成を行うことはできません。
+
+7.3 デベロッパーは、そのような第三者のアプリ、データ、コンテンツまたはリソースの使用が、デベロッパーと当該第三者間の別の規約に従うものであることを認識するものとします。
+
+8. Google API の使用
+
+8.1 Google API
+
+8.1.1 API を使用して Google からデータを取得する場合、デベロッパーは、そのデータは、Google またはデータを提供する事業体(あるいは代理の第三者または事業体)が所有する知的財産権で保護されている場合があることを認識するものとします。そのような API の使用は追加の利用規約に従うものとします。デベロッパーは、当該の利用規約による許可がない限り、そのデータ(全体または一部)の変更、貸与、賃貸、担保、配布または派生物の作成を行うことはできません。
+
+8.1.2 デベロッパーは、API を使用して Google からユーザーのデータを取得する場合、ユーザーが明示的に同意した場合のみ、およびユーザーが許可したタイミングとその目的にのみ、データを取得できることを理解し、同意します。
+
+9. 本契約の終了
+
+9.1 本契約は、下記の規定に従ってデベロッパーまたは Google のいずれかによって解約されるまで、継続して適用されるものとします。
+
+9.2 デベロッパーが本契約の解約を希望する場合は、Preview および関連するデベロッパー認証情報の使用を停止することで、契約を終了するものとします。
+
+9.3 Google は、理由の有無にかかわらず、書面で通知することでいつでもデベロッパーとの本契約を解約することができます。
+
+9.4 本契約は事前の通知またはその他の措置なく、次のうち早い方に自動的に終了します。
+(A)Google が、デベロッパーが居住している国またはデベロッパーがサービスを使用する国での Preview または Preview の一部の配布を停止したとき。
+(B)Google が Android SDK の最終バージョンをリリースしたとき。
+
+9.5 本契約が終了すると、本契約で付与されていたライセンスは終了し、デベロッパーは速やかに Preview のすべての使用を停止するものとし、第 10 条、第 11 条、第 12 条、第 14 条の規定は無期限に効力を有するものとします。
+
+10.免責事項
+
+10.1 デベロッパーは、デベロッパーによる Preview の使用はデベロッパー自身の責任において行うものであること、および Preview は「現状有姿」かつ「提供可能な限りにおいて」、Google からのいかなる種類の保証もなく提供されるものであることを明示的に理解し、これに同意します。
+
+10.2 デベロッパーによる Preview および Preview の使用を通じてダウンロードまたはその他の方法で取得されたマテリアルの使用は、デベロッパー自身の裁量および責任において行うものであり、当該使用の結果として生じるデベロッパーのコンピュータ システムもしくはその他の端末への損害またはデータの喪失についての責任はデベロッパーが単独で負います。前述を制限することなく、Preview は安定したリリースではなく、コンピュータやその他の端末の利用の完全な回復不可能な損失を含む、重大な損害を引き起こす可能性のあるエラー、欠陥、およびセキュリティ上の脆弱性が含まれている可能性があることを理解します。
+
+10.3 Google はまた、商品性、特定目的への適合性、および権利侵害がないことの黙示的な保証および条件を含む(ただしこれらに限定されない)、明示的か黙示的かを問わずあらゆる種類のすべての保証および条件を明示的に否定します。
+
+11.責任の制限
+
+11.1 デベロッパーは、Google、その子会社および関連会社、ならびにそのライセンサーが、デベロッパーに発生した直接損害、間接損害、偶発的損害、特別損害、結果的損害、または懲罰的損害(データの喪失を含む)について、Google またはその代表者が当該損失が発生する可能性について告知されていたかどうか、または知っていたはずであるかどうかにかかわらず、いかなる責任法理のもとでもデベロッパーに対して責任を負わないことを明示的に理解し、これに同意します。
+
+12.補償
+
+12.1 法律で認められる最大限の範囲内において、デベロッパーは、(a)デベロッパーが Preview を使用したこと、および(b)デベロッパーが Preview で開発したアプリが他者のいかなる知的財産権を侵害していること、または他者の名誉を毀損している、もしくは他者のパブリシティ権もしくはプライバシー権を侵害していること、および(c)デベロッパーが本契約に違反したことから発生したあらゆる申し立て、普通法上の訴訟、衡平法上の訴訟、または法的手続き、ならびにあらゆる損失、責任、損害、費用、および経費(合理的な弁護士報酬を含む)について、Google、その関連会社、ならびに当該各社の取締役、役員、従業員、代理人を防御し、補償し、免責することに同意します。
+
+13.契約の変更
+
+13.1 Google は、Preview の新しいバージョンを配布することにより、いつでも本契約を変更することができます。変更が生じた場合、Google は、Preview の提供ウェブサイト上に使用許諾契約の改訂版を公開します。
+
+14.法的一般条項
+
+14.1 本契約は、デベロッパーと Google の間の法的な合意のすべてを表し、デベロッパーによる Preview の使用(別の契約下で Google が提供するサービスを除く)に適用され、Preview に関するデベロッパーと Google の間のあらゆる事前の合意に完全に取って代わるものです。
+
+14.2 デベロッパーは、Google が本契約に定める(または適用される法律のもとで Google が享受できる)法的な権利または救済措置を行使または執行しなかった場合でも、Google の権利が正式に放棄されたとはみなされないこと、および Google が以後も引き続き当該権利および救済措置を行使または執行できることに同意します。
+
+14.3 本件について判断を下す管轄権を有する司法裁判所によって、本契約のいずれかの条項が無効と判断された場合、当該条項は、本契約の残りの部分に影響を与えることなく本契約から削除されるものとします。本契約の残りの条項は、以後も引き続き有効かつ執行可能であるものとします。
+
+14.4 デベロッパーは、Google が親会社となっている各グループ企業が、本契約の第三受益者となること、および当該企業が、当該企業に利益(または受益権)を付与する本契約の条項を直接執行する、また当該条項に依拠する権利を有することを了承し、これに同意します。上記以外のいかなる人または法人も、本契約の第三受益者とはならないものとします。
+
+14.5 輸出規制。Preview は、米国輸出管理法令の対象です。デベロッパーは、Preview に適用されるすべての国内および国際の輸出管理法令に従わなければなりません。これらの法律には、仕向け地、ユーザー、および最終用途に関する制限が含まれます。
+
+14.6 デベロッパーは、Google から事前に書面で承認を得ずに、本契約を譲渡または移転することはできません。また、そのような承認を得ずに計画された譲渡はすべて無効になります。デベロッパーは、Google から事前に書面で承認を得ずに、本契約に基づく自身の責任または義務を他者に委任してはなりません。
+
+14.7 本契約あるいは本契約に基づくデベロッパーと Google の関係から発生または関連するすべての申し立ては、米国カリフォルニア州の抵触法を除いて、カリフォルニア州法に準拠するものとします。デベロッパーおよび Google は、本契約あるいは本契約に基づくデベロッパーと Google の関係から発生または関連する法的事項の解決について、米国カリフォルニア州サンタクララ郡に所在の連邦裁判所または州立裁判所が専属管轄権を有することに合意します。上記にかかわらず、デベロッパーは、Google が任意の司法管轄区において差し止め命令による救済(または同等の緊急法的救済)を求める申し立てを行うことが認められることに同意します。
+  </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">上記の利用規約を読み、同意します。</label>
+      </p>
+      <p><a href="" class="button disabled" id="downloadForRealz" onclick="return onDownloadForRealz(this);"></a></p>
+    </div>
+
+
+  </div><!-- end TOS -->
+
+
+  <div id="landing">
+
+<p>
+  このページでは、無線(OTA)端末イメージへのリンクを提供し、OTA アップデートを端末に手動で適用する方法を説明しています。
+この手順は、Android ベータ版プログラムにより OTA アップデートが配信されたが、アップデートをインストールした後に起動しない端末を復元する際に役立ちます。
+
+
+</p>
+
+<h2 id="install-ota">OTA イメージのインストール</h2>
+
+<p></p>
+
+<p>端末に OTA パッケージをインストールするには:</p>
+
+<ol>
+  <li>以下の表の OTA 端末イメージをダウンロードします。</li>
+  <li>復旧モードで端末を再起動します。Nexus 端末をこのモードにする方法については、<a href="https://support.google.com/nexus/answer/4596836">Nexus を工場出荷時設定にリセットする</a>を参照してください。
+
+
+
+  </li>
+  <li>端末で [<strong>ADB sideload</strong>] を選択します。</li>
+  <li>Android 開発環境がロードされ、Android Debug Bridge(adb)ツールがインストールされたコンピュータに端末を接続します。
+</li>
+  <li>以下のコマンドを実行します。
+    <pre>adb sideload <em>&lt;ota-package&gt;</em></pre>
+  </li>
+</ol>
+
+
+
+<h2 id="ota-images">端末の OTA イメージ</h2>
+
+<table>
+  <tr>
+    <th scope="col">端末</th>
+    <th scope="col">ダウンロード / チェックサム</th>
+  </tr>
+
+  <tr id="bullhead">
+    <td>Nexus 5X <br>"bullhead"</td>
+    <td><a href="#top" onclick="onDownload(this)">bullhead-ota-npd35k-b8cfbd80.zip</a><br>
+      MD5:15fe2eba9b01737374196bdf0a792fe9<br>
+      SHA-1:5014b2bba77f9e1a680ac3f90729621c85a14283
+    </td>
+  </tr>
+
+  <tr id="shamu">
+    <td>Nexus 6 <br>"shamu"</td>
+    <td><a href="#top" onclick="onDownload(this)">shamu-ota-npd35k-078e6fa5.zip</a><br>
+      MD5: e8b12f7721c53af9a450f7058928a5fc<br>
+      SHA-1: b7a9b756f84a1d2e482ff9c16749d65f6e51425a
+    </td>
+  </tr>
+
+  <tr id="angler">
+    <td>Nexus 6P <br>"angler"</td>
+    <td><a href="#top" onclick="onDownload(this)">angler-ota-npd35k-88457699.zip</a><br>
+      MD5:3fac09fef759dde26e57cb80b20b6477<br>
+      SHA-1:27d6caa786577d8a38b2da5bf94b33b4524a1a1c
+    </td>
+  </tr>
+
+  <tr id="volantis">
+    <td>Nexus 9 <br>"volantis"</td>
+    <td><a href="#top" onclick="onDownload(this)">volantis-ota-npd35k-51dbae76.zip</a><br>
+      MD5:58312c4a5971818ef5c77a3f446003da<br>
+      SHA-1: aad9005be33d3e2bab480509a6ab74c3c3b9d921
+    </td>
+  </tr>
+
+  <tr id="volantisg">
+    <td>Nexus 9G <br>"volantisg"</td>
+    <td><a href="#top" onclick="onDownload(this)">volantisg-ota-npd35k-834f047f.zip</a><br>
+      MD5:92b7d1fa252f7394e70f957c72d4aac8<br>
+      SHA-1: b6c057c84d90893630e303cbb60530e20ddb8361
+    </td>
+  </tr>
+
+  <tr id="fugu">
+    <td>Nexus Player <br>"fugu"</td>
+    <td><a href="#top" onclick="onDownload(this)">fugu-ota-npd35k-6ac91298.zip</a><br>
+      MD5:1461622ad53ea842b2722fa7b49b8172<br>
+      SHA-1:409c061668ab270774877d7f3eae44fa48d2b931
+    </td>
+  </tr>
+
+  <tr id="ryu">
+    <td>Pixel C <br>"ryu"</td>
+    <td><a href="#top" onclick="onDownload(this)">ryu-ota-npd35k-a0b2347f.zip</a><br>
+      MD5: c60117f3640cc6db12386fd632289c7d<br>
+      SHA-1:87349c767c69efb4172c90ce1d88cf578c3d28b3
+    </td>
+  </tr>
+
+  <tr id="seed">
+    <td>General Mobile 4G(Android One) <br>"seed"</td>
+    <td><a href="#top" onclick="onDownload(this)">seed_l8150-ota-npd35k-09897a1d.zip</a><br>
+      MD5: a55cf94f7cce0393ec6c0b35041766b7<br>
+      SHA-1:6f33742290eb46f2561891f38ca2e754b4e50c6a
+    </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/ja/preview/download.jd b/docs/html-intl/intl/ja/preview/download.jd
index 9d9df37..52c3c6c 100644
--- a/docs/html-intl/intl/ja/preview/download.jd
+++ b/docs/html-intl/intl/ja/preview/download.jd
@@ -1,5 +1,5 @@
-page.title=デバイス上でテストする
-meta.tags="プレビュー", "nexus","システム イメージ"
+page.title=端末上でのテスト
+meta.tags="preview", "nexus","system image"
 page.tags="preview", "androidn"
 page.image=images/cards/card-n-downloads_2x.png
 
@@ -22,15 +22,15 @@
 
 1.1 Android SDK Preview(以下、本契約で「Preview」という。具体的には利用可能な場合には Android システム ファイル、パッケージ型 API、Preview ライブラリ ファイルを含む)は、本契約の規定に従ってライセンス許可されます。本契約では、デベロッパーの Preview の使用に関して、デベロッパーと Google の間で法的拘束力のある契約を結びます。
 
-1.2 「Android」とは、Android オープン ソース プロジェクト(http://source.android.com/ にて随時更新)にて利用可能な、端末向けの Android ソフトウェア スタックを意味します。
+1.2 「Android」とは、Android オープンソース プロジェクト(http://source.android.com/ にて随時更新)にて利用可能な、端末向けの Android ソフトウェア スタックを意味します。
 
 1.3 「Android 互換」とは、(i)Android 互換ウェブサイト(http://source.android.com/compatibility)に掲載されており、随時アップデートされる可能性がある Android Compatibility Definition ドキュメントに準拠し、かつ(ii)Android Compatibility Test Suite(CTS)に合格した任意の Android 実装を指します。
 
 1.4 「Google」とは、1600 Amphitheatre Parkway, Mountain View, CA 94043, United States に主たる事業所を有するデラウェア州法人である Google Inc. を意味します。
 
-2. 本契約の同意
+2. 本契約への同意
 
-2.1 Preview を使用するには、まず本契約に同意する必要があります。本契約に同意しない場合は Preview を使用できません。
+2.1 Peview を使用するためには、本契約に同意する必要があります。本契約に同意しない場合は Preview を使用できません。
 
 2.2 同意するかまたは Preview を使用するためにクリックすると、本契約に同意したことになります。
 
@@ -40,17 +40,17 @@
 
 3. Google からの Preview ライセンス
 
-3.1 本契約の規定に従い、Google は Android 実装と互換性のあるアプリケーションの開発に Preview を使用するための、限定的で、世界規模の、ロイヤリティ フリーな、譲渡不可、非排他的、サブライセンス不可なライセンスを付与するものとします。
+3.1 本契約の規定に従い、Google は Android 実装と互換性のあるアプリの開発に Preview を使用するための、限定的で、世界規模の、ロイヤリティ フリーな、譲渡不可、非排他的、サブライセンス不可なライセンスを付与するものとします。
 
-3.2 本 Preview は、別のプラットフォーム(Android 実装と互換性のないものも含む)のアプリケーションの開発や別の SDK の開発には使用できません。本 Preview をその目的で使用しない場合は、Android 実装と互換性のないものを含め、自由に別のプラットフォームのアプリケーションの開発を行うことができます。
+3.2 本 Preview は、別のプラットフォーム(Android 実装と互換性のないものも含む)のアプリの開発や別の SDK の開発には使用できません。本 Preview をその目的で使用しない場合は、Android 実装と互換性のないものを含め、自由に別のプラットフォームのアプリの開発を行うことができます。
 
 3.3 Preview に関するすべての法的権利、所有権、利益(Preview に含まれる知的財産権を含む)は Google またはサードパーティが所有するものとします。「知的財産権」とは、特許法、著作権法、営業秘密法、商標法、不当競争防止法に基づいて発生するすべての権利、およびその他のすべての所有権を意味します。デベロッパーに明示的に付与されていない権利は、すべて Google が所有します。
 
-3.4 本契約で明示的に許可されている目的以外においては、Preview を使用できません。当該のサードパーティのライセンスで必要とされる場合を除き、デベロッパーは、(a)Preview または Preview の一部をコピー(バックアップ目的を除く)、修正、改造、再配布、逆コンパイル、リバース エンジニアリング、逆アセンブルまたは派生物の作成、または(b)モバイル ハンドセットまたは個人用 PC 以外のハードウェア端末への Preview の読み込み、Preview と他のソフトウェアとの結合、または Preview の一部を組み込んだソフトウェアや端末の配布はできません。
+3.4 本契約で明示的に許可されている目的以外においては、Preview を使用できません。当該のサードパーティのライセンスで必要とされる場合を除き、デベロッパーは、(a)Preview または Preview の一部をコピー(バックアップ目的を除く)、修正、改造、再配布、逆コンパイル、リバース エンジニアリング、逆アセンブルまたは派生物の作成、または(b)モバイル ハンドセットまたは個人用コンピュータ以外のハードウェア端末への Preview の読み込み、Preview と他のソフトウェアとの結合、または Preview の一部を組み込んだソフトウェアや端末の配布はできません。
 
-3.5 オープンソース ソフトウェア ライセンス下でライセンス付与された Preview のコンポーネントの使用、複製、配布は、本契約ではなく、そのオープンソース ソフトウェアのライセンスに準拠するものとします。デベロッパーは、許諾されるすべての権利下で、そのようなオープンソース ソフトウェア ライセンスに対して、優良ライセンシーのままでいることに同意し、そのような権利を終了、停止、または違反する可能性のあるいかなる行為も差し控えることに同意するものとします。
+3.5 オープンソース ソフトウェア ライセンス下でライセンス付与された Preview のコンポーネントの使用、複製、配布は、本契約ではなく、そのオープンソース ソフトウェアのライセンスに準拠するものとします。デベロッパーは、許諾されるすべての権利下で、そのようなオープンソース ソフトウェア ライセンスに対して、良好な状態のライセンシーのままでいることに同意し、そのような権利を終了、停止、または違反する可能性のあるいかなる行為も差し控えることに同意するものとします。
 
-3.6 デベロッパーは、Google が提供する Preview の形式および性質は事前の通知なしに変更される場合があり、今後リリースされる Preview のバージョンでは、以前のバージョンの Preview で開発されたアプリケーションとの互換性がない可能性があることに同意します。デベロッパーは、Google が事前の通知なく、Google の単独の裁量でデベロッパーまたはユーザーへの Preview(または Preview 内の一部の機能)の提供を(恒久的または一時的に)停止する場合があることに同意します。
+3.6 デベロッパーは、Google が提供する Preview の形式および性質は事前の通知なしに変更される場合があり、今後リリースされる Preview のバージョンでは、以前のバージョンの Preview で開発されたアプリとの互換性がない可能性があることに同意します。デベロッパーは、Google が事前の通知なく、Google の単独の裁量でデベロッパーまたはユーザーへの Preview(または Preview 内の一部の機能)の提供を(恒久的または一時的に)停止する場合があることに同意します。
 
 3.7 本契約のいかなる部分も、Google のいかなる商標名、商標、サービスマーク、ロゴ、ドメイン名、またはその他のブランド識別表示を使用する権利もデベロッパーに付与するものではありません。
 
@@ -58,37 +58,37 @@
 
 4. デベロッパーによる Preview の使用
 
-4.1 Google は、本契約に基づき Preview を使用してデベロッパーが開発したソフトウェア アプリケーションに関して、デベロッパー(またはデベロッパーのライセンサー)からいかなる権利、所有権、または利益(当該アプリケーションに含まれる知的財産権を含む)も取得するものではないことに同意します。
+4.1 Google は、本契約に基づき Preview を使用してデベロッパーが開発したソフトウェア アプリに関して、デベロッパー(またはデベロッパーのライセンサー)からいかなる権利、所有権、または利益(当該アプリに含まれる知的財産権を含む)も取得するものではないことに同意します。
 
 4.2 デベロッパーは、Preview を(a)本契約、および(b)該当する司法管轄区における適用される法律、規則、または一般に認められた慣行またはガイドライン(米国またはその他の該当国におけるデータまたはソフトウェアの輸出入に関する法律を含む)で認められている目的にのみ使用することに同意します。
 
-4.3 Preview を使用してアプリケーションを開発する場合、デベロッパーはユーザーのプライバシーおよび法的権利を保護することに同意します。ユーザーからデベロッパーにユーザー名、パスワード、またはその他のログイン情報または個人情報が提供される場合、デベロッパーは、情報がデベロッパーのアプリケーションに提供されることをユーザーに認識させ、当該ユーザーについてプライバシーに関する法的に十分な通知および保護を行わなければなりません。デベロッパーのアプリケーションに個人情報または秘密情報が保存される場合、この保存は保護された方法で行われなければなりません。ユーザーからデベロッパーのアプリケーションに Google アカウントの情報が提供された場合、デベロッパーのアプリケーションでは、ユーザーが許可したタイミングで、かつユーザーが許可した限定された目的にのみ、当該情報を使用してユーザーの Google アカウントにアクセスすることが認められるものとします。
+4.3 Preview を使用してアプリを開発する場合、デベロッパーはユーザーのプライバシーおよび法的権利を保護することに同意します。ユーザーからデベロッパーにユーザー名、パスワード、またはその他のログイン情報または個人情報が提供される場合、デベロッパーは、情報がデベロッパーのアプリに提供されることをユーザーに認識させ、当該ユーザーについてプライバシーに関する法的に十分な通知および保護を行わなければなりません。デベロッパーのアプリに個人情報または秘密情報が保存される場合、この保存は保護された方法で行われなければなりません。ユーザーからデベロッパーのアプリに Google アカウントの情報が提供された場合、デベロッパーのアプリでは、ユーザーが許可したタイミングで、かつユーザーが許可した限定された目的にのみ、当該情報を使用してユーザーの Google アカウントにアクセスすることが認められるものとします。
 
 4.4 デベロッパーは、Preview に関して、第三者(Google、およびあらゆる携帯電話会社を含むが、これらに限定されない)のサーバー、ネットワーク、またはその他の財産またはサービスへの妨害、中断、損害、または許可されていない態様でのアクセスとなる行為(そのような行為に該当する対象製品の開発または販売 / 配布を含む)に関与しないことに同意します。
 
-4.5 デベロッパーは、デベロッパーが Android および Android のアプリケーションを介して作成、送信、表示するデータ、コンテンツ、リソース、および自身の行為の結果(Google に発生する可能性のあるあらゆる損失および損害を含む)について、自身が単独で責任を負うこと(および Google がこれについてデベロッパーまたはいかなる第三者に対しても一切責任を負わないこと)に同意します。
+4.5 デベロッパーは、デベロッパーが Android および Android のアプリを介して作成、送信、表示するデータ、コンテンツ、リソース、および自身の行為の結果(Google に発生する可能性のあるあらゆる損失および損害を含む)について、自身が単独で責任を負うこと(および Google がこれについてデベロッパーまたはいかなる第三者に対しても一切責任を負わないこと)に同意します。
 
 4.6 デベロッパーは、本契約、適用される第三者の契約もしくは利用規約、または適用される法律もしくは規則に基づく自身の義務に違反したこと、および当該違反の結果(Google または第三者に発生したあらゆる損失および損害を含む)について、自身が単独で責任を負うこと(および Google がこれについてデベロッパーまたはいかなる第三者に対しても一切責任を負わないこと)に同意します。
 
-4.7 Preview は開発中であり、デベロッパーによるテスティングやフィードバックは開発プロセスの重要な一部となります。デベロッパーは、Preview の使用により、一部の機能の実装が開発中であると認識し、Preview が安定したリリースの完全な機能性を持つことに依存すべきでないことを認識するものとします。本 Preview は、公式の Android SDK のリリース後はサポート対象でなくなるため、デベロッパーは、Preview を使用するいかなるアプリケーションも公然と配布または引き渡さないことに同意するものとします。
+4.7 Preview は開発中であり、デベロッパーによるテスティングやフィードバックは開発プロセスの重要な一部となります。デベロッパーは、Preview の使用により、一部の機能の実装が開発中であると認識し、Preview が安定したリリースの完全な機能性を持つことに依存すべきでないことを認識するものとします。本 Preview は、公式の Android SDK のリリース後はサポート対象でなくなるため、デベロッパーは、Preview を使用するいかなるアプリも公然と配布または引き渡さないことに同意するものとします。
 
-5. デベロッパーの資格情報
+5. デベロッパーの認証情報
 
-5.1 デベロッパーは、Google が発行した、またはデベロッパー自身で選択した、自身のデベロッパー用資格情報の秘密を保持する責任を負うこと、および自身のデベロッパー用資格情報のもとで開発されたすべてのアプリケーションについて単独で責任を負うことに同意します。
+5.1 デベロッパーは、Google が発行した、またはデベロッパー自身で選択した、自身のデベロッパー用認証情報の秘密を保持する責任を負うこと、および自身のデベロッパー用認証情報のもとで開発されたすべてのアプリについて単独で責任を負うことに同意します。
 
 6. プライバシーおよび情報
 
-6.1 Google は、Preview の継続的な技術革新と改良のために、ソフトウェアから特定の使用状況統計情報(一意識別子、関連する IP アドレス、ソフトウェアのバージョン番号、Preview のどのツール/サービスがどのように使用されているかに関する情報を含むが、これらに限定されない)を収集できます。この情報が収集される前に、Preview に通知が表示され、デベロッパーの同意が求められます。デベロッパーが同意しない場合は、情報は収集されません。
+6.1 Google は、Preview の継続的な技術革新と改良のために、ソフトウェアから特定の使用統計情報(一意識別子、関連する IP アドレス、ソフトウェアのバージョン番号、Preview のどのツール/サービスがどのように使用されているかに関する情報を含むが、これらに限定されない)を収集できます。この情報が収集される前に、Preview に通知が表示され、デベロッパーの同意が求められます。デベロッパーが同意しない場合は、情報は収集されません。
 
 6.2 収集されるデータは、Preview の改良のために集約された形で精査され、Google のプライバシー ポリシー(http://www.google.com/policies/privacy/)に従って管理されます。
 
-7. 第三者のアプリケーション
+7. 第三者のアプリ
 
-7.1 デベロッパーが、Preview を使用して第三者が開発したアプリケーションを実行する、あるいは第三者から提供されたデータ、コンテンツ、リソースにアクセスする場合、デベロッパーは、Google がそれらのアプリケーション、データ、コンテンツ、リソースについて責任を負わないことに同意します。デベロッパーは、そのような第三者のアプリケーションを介してアクセスするすべてのデータ、コンテンツ、リソースについては、それらを生成した者が単独で責任を負うものであり、Google はそれらの第三者のアプリケーション、データ、コンテンツ、またはリソースの使用もしくはアクセスによって生じたあらゆる損失および損害について一切責任を負わないことを理解します。
+7.1 デベロッパーが、Preview を使用して第三者が開発したアプリを実行する、あるいは第三者から提供されたデータ、コンテンツ、リソースにアクセスする場合、デベロッパーは、Google がそれらのアプリ、データ、コンテンツ、リソースについて責任を負わないことに同意します。デベロッパーは、そのような第三者のアプリを介してアクセスするすべてのデータ、コンテンツ、リソースについては、それらを生成した者が単独で責任を負うものであり、Google はそれらの第三者のアプリ、データ、コンテンツ、またはリソースの使用もしくはアクセスによって生じたあらゆる損失および損害について一切責任を負わないことを理解します。
 
-7.2 デベロッパーは、そのような第三者のアプリケーションを介して表示されるデータ、コンテンツ、リソースは、提供者(あるいは代理の第三者または事業体)が所有する知的財産権で保護されている場合があることを認識するものとします。デベロッパーは、当該所有者からの明確な許可がない限り、それらのデータ、コンテンツ、リソース(全体または一部)の変更、貸与、賃貸、担保、配布または派生物の作成を行うことはできません。
+7.2 デベロッパーは、そのような第三者のアプリを介して表示されるデータ、コンテンツ、リソースは、提供者(あるいは代理の第三者または事業体)が所有する知的財産権で保護されている場合があることを認識するものとします。デベロッパーは、当該所有者からの明確な許可がない限り、それらのデータ、コンテンツ、リソース(全体または一部)の変更、貸与、賃貸、担保、配布または派生物の作成を行うことはできません。
 
-7.3 デベロッパーは、そのような第三者のアプリケーション、データ、コンテンツまたはリソースの使用が、デベロッパーと当該第三者間の別の規約に従うものであることを認識するものとします。
+7.3 デベロッパーは、そのような第三者のアプリ、データ、コンテンツまたはリソースの使用が、デベロッパーと当該第三者間の別の規約に従うものであることを認識するものとします。
 
 8. Google API の使用
 
@@ -102,7 +102,7 @@
 
 9.1 本契約は、下記の規定に従ってデベロッパーまたは Google のいずれかによって解約されるまで、継続して適用されるものとします。
 
-9.2 デベロッパーが本契約の解約を希望する場合は、Preview および関連するデベロッパー資格情報の使用を停止することで、契約を終了するものとします。
+9.2 デベロッパーが本契約の解約を希望する場合は、Preview および関連するデベロッパー認証情報の使用を停止することで、契約を終了するものとします。
 
 9.3 Google は、理由の有無にかかわらず、書面で通知することでいつでもデベロッパーとの本契約を解約することができます。
 
@@ -112,7 +112,7 @@
 
 9.5 本契約が終了すると、本契約で付与されていたライセンスは終了し、デベロッパーは速やかに Preview のすべての使用を停止するものとし、第 10 条、第 11 条、第 12 条、第 14 条の規定は無期限に効力を有するものとします。
 
-10. 免責事項
+10.免責事項
 
 10.1 デベロッパーは、デベロッパーによる Preview の使用はデベロッパー自身の責任において行うものであること、および Preview は「現状有姿」かつ「提供可能な限りにおいて」、Google からのいかなる種類の保証もなく提供されるものであることを明示的に理解し、これに同意します。
 
@@ -120,19 +120,19 @@
 
 10.3 Google はまた、商品性、特定目的への適合性、および権利侵害がないことの黙示的な保証および条件を含む(ただしこれらに限定されない)、明示的か黙示的かを問わずあらゆる種類のすべての保証および条件を明示的に否定します。
 
-11. 責任の制限
+11.責任の制限
 
 11.1 デベロッパーは、Google、その子会社および関連会社、ならびにそのライセンサーが、デベロッパーに発生した直接損害、間接損害、偶発的損害、特別損害、結果的損害、または懲罰的損害(データの喪失を含む)について、Google またはその代表者が当該損失が発生する可能性について告知されていたかどうか、または知っていたはずであるかどうかにかかわらず、いかなる責任法理のもとでもデベロッパーに対して責任を負わないことを明示的に理解し、これに同意します。
 
-12. 補償
+12.補償
 
-12.1 法律で認められる最大限の範囲内において、デベロッパーは、(a)デベロッパーが Preview を使用したこと、および(b)デベロッパーが Preview で開発したアプリケーションが他者のいかなる知的財産権を侵害していること、または他者の名誉を毀損している、もしくは他者のパブリシティ権もしくはプライバシー権を侵害していること、および(c)デベロッパーが本契約に違反したことから発生したあらゆる申し立て、普通法上の訴訟、衡平法上の訴訟、または法的手続き、ならびにあらゆる損失、責任、損害、費用、および経費(合理的な弁護士報酬を含む)について、Google、その関連会社、ならびに当該各社の取締役、役員、従業員、代理人を防御し、補償し、免責することに同意します。
+12.1 法律で認められる最大限の範囲内において、デベロッパーは、(a)デベロッパーが Preview を使用したこと、および(b)デベロッパーが Preview で開発したアプリが他者のいかなる知的財産権を侵害していること、または他者の名誉を毀損している、もしくは他者のパブリシティ権もしくはプライバシー権を侵害していること、および(c)デベロッパーが本契約に違反したことから発生したあらゆる申し立て、普通法上の訴訟、衡平法上の訴訟、または法的手続き、ならびにあらゆる損失、責任、損害、費用、および経費(合理的な弁護士報酬を含む)について、Google、その関連会社、ならびに当該各社の取締役、役員、従業員、代理人を防御し、補償し、免責することに同意します。
 
-13. 契約の変更
+13.契約の変更
 
 13.1 Google は、Preview の新しいバージョンを配布することにより、いつでも本契約を変更することができます。変更が生じた場合、Google は、Preview の提供ウェブサイト上に使用許諾契約の改訂版を公開します。
 
-14. 法的一般条項
+14.法的一般条項
 
 14.1 本契約は、デベロッパーと Google の間の法的な合意のすべてを表し、デベロッパーによる Preview の使用(別の契約下で Google が提供するサービスを除く)に適用され、Preview に関するデベロッパーと Google の間のあらゆる事前の合意に完全に取って代わるものです。
 
@@ -167,12 +167,12 @@
 
 <div id="qv-wrapper">
   <div id="qv">
-    <h2>本書の内容</h2>
+    <h2>このドキュメントの内容</h2>
       <ol>
-        <li><a href="#device-preview">ハードウェア デバイスをセットアップする</a>
+        <li><a href="#device-preview">ハードウェア端末をセットアップする</a>
           <ol>
             <li><a href="#ota">OTA アップデートを取得する</a></li>
-            <li><a href="#flash">手動でデバイスへの書き込みを行う</a></li>
+            <li><a href="#flash">手動で端末への書き込みを行う</a></li>
             <li><a href="#revertDevice">アンインストールする</a></li>
           </ol>
         </li>
@@ -182,34 +182,34 @@
 </div>
 
 <p>
-  新しいプラットフォーム上でアプリを実行してテストするには、以下のいずれかの方法で Android N のランタイム環境をセットアップする必要があります。
-
+  新しいプラットフォーム上でアプリを実行してテストするには、Android N のランタイム環境をセットアップする必要があります。
+これを行うには、以下のいずれかの方法を使用します。
 </p>
 
 <ul>
-  <li>Android N をサポート対象のハードウェア デバイスにインストールする。</li>
+  <li>Android N をサポート対象のハードウェア端末にインストールする。</li>
   <li>Android N が動作する Android エミュレータをセットアップする。</li>
 </ul>
 
 <p>
-  既存の APK とハードウェア デバイスまたはエミュレータがあれば、新しいプラットフォーム上でアプリの基本的な互換性テストを実施できます。基本的なテストのために開発環境全体をアップデートする必要はありません。
+  既存の APK とハードウェア端末またはエミュレータがあれば、新しいプラットフォーム上でアプリの基本的な互換性テストを実施できます。
 
-
+基本的なテストのために開発環境全体をアップデートする必要はありません。
 
 </p>
 
 <p>
-  アプリを Android N 向けに修正したり、Android N の API を使用したりする場合は、Android N 用にアップデートされた開発環境をセットアップする必要があります。詳細は <a href="{@docRoot}preview/setup-sdk.html">Android N 向けの開発準備をする</a>の説明をご覧ください。
+  アプリを Android N 向けに修正したり、Android N の API を使用したりする場合は、Android N 用にアップデートされた開発環境をセットアップする必要があります。詳細は <a href="{@docRoot}preview/setup-sdk.html">Android N 向けの開発準備</a>の説明をご覧ください。
 
 
 
 </p>
 
 
-<h2 id="device-preview">ハードウェア デバイスをセットアップする</h2>
+<h2 id="device-preview">ハードウェア端末をセットアップする</h2>
 
 <p>
-  N Developer Preview は、携帯端末やタブレット、テレビなど、アプリのテストに使用するさまざまなハードウェア デバイスのシステム アップデートに対応しています。
+  N Developer Preview は、携帯端末やタブレット、テレビなど、アプリのテストに使用するさまざまなハードウェア端末のシステム アップデートに対応しています。
 
 </p>
 
@@ -219,183 +219,191 @@
 </p>
 
 <ul>
-  <li><a href="https://g.co/androidbeta">Android ベータ版プログラム</a>の<strong>自動 OTA システム アップデートにデバイスを登録します</strong>。登録したデバイスは、N Developer Preview のマイルストーン ビルドごとに、定期的に無線(OTA)アップデートを受信できます。既存の環境から N Developer Preview のさまざまなリリースへシームレスに移行できるため、このベータ版プログラムに登録することをお勧めします。
-
-
+  <li><a href="https://g.co/androidbeta">Android ベータ版プログラム</a>により<strong>自動 OTA アップデートを受信するために端末を登録する</strong>
+登録した端末は、N Developer Preview のマイルストーン ビルドごとに、定期的に無線(OTA)アップデートを受信できます。
+既存の環境から N Developer Preview のさまざまなリリースへシームレスに移行できるため、このベータ版プログラムに登録することをお勧めします。
 
 </li>
-  <li><strong>Developer Preview のシステム イメージをダウンロードして、デバイスに書き込みます</strong>。手動で書き込みをしたデバイスには、OTA アップデートが自動で配信されません。ただし、デバイスを Android ベータ版プログラムに登録すれば、OTA アップデートを取得できるようになります。
-
+  <li><strong>Developer Preview のシステム イメージをダウンロードして、端末に書き込む</strong>
+  手動で書き込みをした端末には、OTA アップデートが自動で配信されません。ただし、端末を Android ベータ版プログラムに登録すれば、OTA アップデートを取得できるようになります。
  </li>
 </ul>
 
-<h3 id="ota">自動 OTA アップデートを受信するためにデバイスを登録する</h3>
+<h3 id="ota">自動 OTA アップデートを受信するために端末を登録する</h3>
 
 <p>
-  対象機種(以下のダウンロードの表をご覧ください)をお持ちの場合は、<a href="https://g.co/androidbeta">Android ベータ版プログラム</a>にデバイスを登録すると、Android のプレビュー版への OTA アップデートを受信できます。正式なシステム アップデートと同様に、OTA アップデートのダウンロードやデバイスの更新は自動で行われます。
+  対象機種(以下のダウンロードの表をご覧ください)をお持ちの場合は、<a href="https://g.co/androidbeta">Android ベータ版プログラム</a>に端末を登録すると、Android のプレビュー版への OTA アップデートを受信できます。
 
-
+正式なシステム アップデートと同様に、OTA アップデートのダウンロードや端末の更新は自動で行われます。
 
 
 </p>
 
 <p>
-  デバイスの登録解除はいつでもできます。登録を解除すると、そのデバイスで利用可能な Android の最新の実稼働向けバージョン(Android 6.0 Marshmallow など)への OTA アップデートがデバイスに配信されます。アップデート時はオールリセットされ、デバイス上のユーザーデータは削除されます。デバイスの登録解除前には、<strong>重要なデータをバックアップ</strong>しておいてください。
+  端末はいつでも登録解除できます。その端末で利用可能な Android の最新の実稼働向けバージョン(Android 6.0 Marshmallow など)への OTA アップデートが端末に配信されます。
 
-
-
+アップデート時はオールリセットされ、端末上のユーザーデータは削除されます。
+端末の登録解除前には、<strong>重要なデータをバックアップ</strong>しておいてください。
 
 </p>
 
 <p>
-  詳細情報やデバイスの登録方法については、<a href="https://g.co/androidbeta">Android ベータ版プログラム</a>のウェブサイトをご覧ください。
+  詳細情報や端末の登録方法については、<a href="https://g.co/androidbeta">Android ベータ版プログラム</a>のウェブサイトをご覧ください。
 
 </p>
 
-<p class="note"><strong>注:</strong> 登録を解除するとデバイスはオールリセットされるので、重要なデータはあらかじめバックアップしておいてください。
-
+<p class="note"><strong>注:</strong>
+  登録を解除すると端末はオールリセットされるので、重要なデータはあらかじめバックアップしておいてください。
 
 </p>
 
-<h3 id="flash">手動でデバイスへの書き込みを行う</h3>
+<h3 id="flash">手動で端末への書き込みを行う</h3>
 
 <p>
-  最新の Developer Preview のシステム イメージはいつでもダウンロードして、手動でデバイスに書き込むことができます。テスト端末用のシステム イメージは、以下の表からダウンロード可能です。テスト環境を詳細に管理したり、自動テストなどで頻繁に再インストールが必要な場合は、このように手動でデバイスに書き込みをする方法が便利です。
+  最新の Developer Preview のシステム イメージはいつでもダウンロードして、手動で端末に書き込むことができます。
+テスト端末用のシステム イメージは、以下の表からダウンロード可能です。
+テスト環境を詳細に管理したり、自動テストなどで頻繁に再インストールが必要な場合は、このように手動で端末に書き込みをする方法が便利です。
 
 
-
- 
 </p>
 
 <!-- You can flash by ota or system image --><p>
-  デバイスにシステム イメージをインストールすると、<strong>端末からすべてのデータが削除</strong>されるため、あらかじめデータをバックアップしておいてください。
+  端末にシステム イメージをインストールすると、<strong>端末からすべてのデータが削除</strong>されるため、あらかじめデータをバックアップしておいてください。
 
 </p>
 
 <p>
-  デバイス上のデータをバックアップして、ご自身のデバイス用のシステム イメージを以下からダウンロードした後、<a href="https://developers.google.com/android/nexus/images#instructions">developers.google.com/android</a> の手順に従ってデバイスにイメージを書き込みます。
+  端末上のデータをバックアップして、ご自身の端末用のシステム イメージを以下からダウンロードした後、<a href="https://developers.google.com/android/nexus/images#instructions">developers.google.com/android</a> の手順に従って端末にイメージを書き込みます。
 
 
 </p>
 
 <p>
-  手動でシステム イメージを書き込んだデバイスには、以降の Developer Preview マイルストーン ビルドへの <strong>OTA アップデートが自動配信されません</strong>。そのため Developer Preview マイルストーンごとに環境を最新にして、新しいシステムイメージを書き込む必要があります。
+  手動でシステム イメージを書き込んだ端末には、以降の Developer Preview マイルストーン ビルドへの <strong>OTA アップデートが自動配信されません</strong>。
 
-
+そのため Developer Preview マイルストーンごとに環境を最新にして、新しいシステム イメージを書き込む必要があります。
 
 </p>
 
 <p>
-  手動でデバイスに書き込みを行った後でも、<a href="https://g.co/androidbeta">Android ベータ版プログラム</a>にデバイスを登録すれば OTA アップデートを受信できるようになります。次のプレビュー版への OTA アップデートを受信したい方は、いつでもデバイス登録が可能です。
+  手動で端末に書き込みを行った後でも、<a href="https://g.co/androidbeta">Android ベータ版プログラム</a>に端末を登録すれば OTA アップデートを受信できるようになります。
 
+次のプレビュー版への OTA アップデートを受信したい方は、いつでも端末登録が可能です。
 
- 
 </p>
 
 <table>
   <tr>
-    <th scope="col">デバイス</th>
+    <th scope="col">端末</th>
     <th scope="col">ダウンロード / チェックサム</th>
   </tr>
 
   <tr id="bullhead">
     <td>Nexus 5X <br>"bullhead"</td>
-    <td><a href="#top" onclick="onDownload(this)">bullhead-npc56p-preview-6c877a3d.tgz</a><br>
-      MD5:b5cf874021023b398f5b983b24913f5d<br>
-      SHA-1:6c877a3d9fae7ec8a1678448e325b77b7a7b143a
+    <td><a href="#top" onclick="onDownload(this)">bullhead-npd35k-factory-5ba40535.tgz</a><br>
+      MD5: b6c5d79a21815ee21db41822dcf61e9f<br>
+      SHA-1:5ba4053577007d15c96472206e3a79bc80ab194c
     </td>
   </tr>
 
   <tr id="shamu">
     <td>Nexus 6 <br>"shamu"</td>
-    <td><a href="#top" onclick="onDownload(this)">shamu-npc56p-preview-54b13c67.tgz</a><br>
-      MD5:af183638cf34e0eb944a1957d7696f60<br>
-      SHA-1:54b13c6703d369cc79a8fd8728fe4103c6343973
+    <td><a href="#top" onclick="onDownload(this)">shamu-npd35k-factory-a33bf20c.tgz</a><br>
+      MD5: e1cf9c57cfb11bebe7f1f5bfbf05d7ab<br>
+      SHA-1: a33bf20c719206bcf08d1edd8da6c0ff9d50f69c
     </td>
   </tr>
 
   <tr id="angler">
     <td>Nexus 6P <br>"angler"</td>
-    <td><a href="#top" onclick="onDownload(this)">angler-npc56p-preview-85ffc1b1.tgz</a><br>
-      MD5:bc4934ea7bd325753eee1606d3725a24<br>
-      SHA-1:85ffc1b1be402b1b96f9ba10929e86bba6c6c588
+    <td><a href="#top" onclick="onDownload(this)">angler-npd35k-factory-81c341d5.tgz</a><br>
+      MD5: e93de7949433339856124c3729c15ebb<br>
+      SHA-1:81c341d57ef2cd139569b055d5d59e9e592a7abd
     </td>
   </tr>
 
   <tr id="volantis">
     <td>Nexus 9 <br>"volantis"</td>
-    <td><a href="#top" onclick="onDownload(this)">volantis-npc56p-preview-0e8ec8ef.tgz</a><br>
-      MD5:c901334c6158351e945f188167ae56f4<br>
-      SHA-1:0e8ec8ef98c7a8d4f58d15f90afc5176303efca4
+    <td><a href="#top" onclick="onDownload(this)">volantis-npd35k-factory-2b50e19d.tgz</a><br>
+      MD5:565be87ebb2d5937e2abe1a42645864b<br>
+      SHA-1:2b50e19dae2667b27f911e3c61ed64860caf43e1
     </td>
   </tr>
 
   <tr id="volantisg">
     <td>Nexus 9G <br>"volantisg"</td>
-    <td><a href="#top" onclick="onDownload(this)">volantisg-npc56p-preview-1bafdbfb.tgz</a><br>
-      MD5:7bb95bebc478d7257cccb4652899d1b4<br>
-      SHA-1:1bafdbfb502e979a9fe4c257a379c4c7af8a3ae6
+    <td><a href="#top" onclick="onDownload(this)">volantisg-npd35k-factory-2e89ebe6.tgz</a><br>
+      MD5: a8464e15c6683fe2afa378a63e205fda<br>
+      SHA-1:2e89ebe67a46b2f3beb050746c13341cd11fa678
     </td>
   </tr>
 
   <tr id="fugu">
     <td>Nexus Player <br>"fugu"</td>
-    <td><a href="#top" onclick="onDownload(this)">fugu-npc56r-preview-7027d5b6.tgz</a><br>
-      MD5:f5d3d8f75836ccfe4c70e8162e498be4<br>
-      SHA-1:7027d5b662bceda4c80a91a0a14ef0e5a7ba795b
+    <td><a href="#top" onclick="onDownload(this)">fugu-npd35k-factory-1de74874.tgz</a><br>
+      MD5: c0dbb7db671f61b2785da5001cedefcb<br>
+      SHA-1:1de74874f8d83e14d642f13b5a2130fc2aa55873
     </td>
   </tr>
 
   <tr id="ryu">
     <td>Pixel C <br>"ryu"</td>
-    <td><a href="#top" onclick="onDownload(this)">ryu-npc56p-preview-335a86a4.tgz</a><br>
-      MD5:4e21fb183bbbf467bee91598d587fd2e<br>
-      SHA-1:335a86a435ee51f18464de343ad2e071c38f0e92
+    <td><a href="#top" onclick="onDownload(this)">ryu-npd35k-factory-b4eed85d.tgz</a><br>
+      MD5: bdcb6f770e753668b5fadff2a6678e0d<br>
+      SHA-1: b4eed85de0d42c200348a8629084f78e24f72ac2
     </td>
   </tr>
+
   <tr id="seed">
-    <td>General Mobile 4G(AndroidOne) <br>"seed"</td>
-    <td><a href="#top" onclick="onDownload(this)">seed_l8150-npc56p-preview-82472ebc.tgz</a><br>
-      MD5:983e083bc7cd0c4a2d39d6ebaa20202a<br>
-      SHA-1:82472ebc9a6054a103f53cb400a1351913c95127
+    <td>General Mobile 4G(Android One) <br>"seed"</td>
+    <td><a href="#top" onclick="onDownload(this)">seed_l8150-npd35k-factory-5ab1212b.tgz</a><br>
+      MD5:7d34a9774fdd6e025d485ce6cfc23c4c<br>
+      SHA-1:5ab1212bc9417269d391aacf1e672fff24b4ecc5
+    </td>
+  </tr>
+
+  <tr id="xperia">
+    <td>Sony Xperia Z3 <br> (D6603 および D6653)</td>
+    <td>ダウンロード:<a class="external-link" href="http://support.sonymobile.com/xperiaz3/tools/xperia-companion/">Xperia Companion</a><br>
+      詳細については、<a class="external-link" href="https://developer.sony.com/develop/smartphones-and-tablets/android-n-developer-preview/">Xperia Z3 に Android N Developer Preview を試す</a>を参照してください。
     </td>
   </tr>
 
 </table>
 
-<h3 id="revertDevice">プレビュー版をデバイスからアンインストールする</h3>
+<h3 id="revertDevice">プレビュー版を端末からアンインストールする</h3>
 
 <p>
-  以下のいずれかの方法で、プレビュー版をデバイスからアンインストールできます。
+  以下のいずれかの方法で、プレビュー版を端末からアンインストールできます。
  </p>
   <ul>
-    <li><strong>工場出荷時仕様のシステム イメージを取得</strong>して、手動でデバイスに書き込みます。
+    <li><strong>工場出荷時仕様のシステム イメージを取得</strong>して、手動で端末に書き込みます。
 
       <ul>
-          <li><strong>Nexus 端末と Pixel C 端末</strong>については <a href="http://developers.google.com/android/nexus/images">Nexus 端末のファクトリー イメージ</a>のページを参照してダウンロードしてください。
+          <li><strong>Nexus 端末と Pixel C 端末</strong>については、Nexus 端末の<a href="http://developers.google.com/android/nexus/images">ファクトリー イメージ</a>のページを参照してダウンロードしてください。
 
  </li>
-        <li><strong>その他の端末</strong>については、直接デバイス メーカーにお問い合わせください。Android ベータ版プログラムの対象機種については、デバイスをプログラムに登録した後、登録を解除することができます(詳細は以下をご覧ください)。
-
+        <li><strong>他の端末</strong>については、端末メーカーに直接お問い合わせください。
+その他の端末については、直接端末メーカーにお問い合わせください。Android ベータ版プログラムの対象機種については、端末をプログラムに登録した後、登録を解除することができます(詳細は以下をご覧ください)。
 
 </li>
       </ul>
     </li>
-    <li><strong>Android ベータ版プログラムへのデバイス登録を解除</strong>します。<a href="https://g.co/androidbeta">Android ベータ版プログラム</a>に登録中のデバイスは、その種類のよらず、簡単に登録を解除することができます。
+    <li><strong>Android ベータ版プログラムから端末を登録解除します。</strong>Android ベータ版プログラムへの端末の登録を解除します。<a href="https://g.co/androidbeta">Android ベータ版プログラム</a>に登録中の端末は、その種類のよらず、簡単に登録を解除することができます。
 
 
   <p>
-    登録を解除すると、そのデバイスで利用可能な Android の最新の実稼働向けバージョン(Android 6.0 Marshmallow など)への OTA アップデートがデバイスに配信されます。アップデート時はオールリセットされ、デバイス上のユーザーデータは削除されます。デバイスの登録解除前には、<strong>重要なデータをバックアップ</strong>しておいてください。
+    その端末で利用可能な Android の最新の実稼働向けバージョン(Android 6.0 Marshmallow など)への OTA アップデートが端末に配信されます。
 
-
-
+    アップデート時はオールリセットされ、端末上のユーザーデータは削除されます。
+端末の登録解除前には、<strong>重要なデータをバックアップ</strong>しておいてください。
 
   </p>
   </li>
 </ul>
 
-<p class="note"><strong>注:</strong> プログラムの終了前に Developer Preview のシステム イメージをアンインストールすると、端末はオールリセットされ、すべてのユーザーデータが削除されます。
-
+<p class="note"><strong>注:</strong>
+  プログラムの終了前に Developer Preview のシステム イメージをアンインストールすると、端末はオールリセットされ、すべてのユーザーデータが削除されます。
 
 
 </p>
@@ -403,31 +411,31 @@
 
 <h2 id="setupAVD">エミュレータをセットアップする</h2>
 
-<p>Android エミュレータで Android N Preview を実行するには、Android N Preview SDK をダウンロードして、エミュレータ用の仮想デバイスを準備する必要があります。
+<p>Android エミュレータで Android N Preview を実行するには、Android N Preview SDK をダウンロードして、エミュレータ用の仮想端末を準備する必要があります。
 
 </p>
 
-<p>まずは以下の手順で Android N Preview SDK をダウンロードします(すでに <a href="{@docRoot}preview/setup-sdk.html">Android N 向けの開発準備</a>でダウンロード済みの場合は、この手順は飛ばしてください)。
+<p>まずは以下の手順で Android N Preview SDK をダウンロードします(既に <a href="{@docRoot}preview/setup-sdk.html">Android N 向けの開発準備</a>でダウンロード済みの場合は、この手順は飛ばしてください)。
 
 
 
 <ol>
-  <li>Android Studio で設定ダイアログを開きます(Windows、Linux では <strong>[File] &gt; [Settings]</strong>、Mac では <strong>[Android Studio] &gt; [Preferences]</strong>)。左側のパネルで <strong>[Appearance &amp; Behavior] &gt; [System Settings] &gt; [Android SDK]</strong> を選択します。
+  <li>Android Studio で設定ダイアログを開きます(Windows、Linux では <strong>[File] &gt; [Settings]</strong>、Mac では <strong>[Android Studio] &gt; [Preferences]</strong>)。
+
+左側のパネルで、<strong>[Appearance &amp; Behavior] &gt; [System Settings] &gt; [Android SDK]</strong> を選択します。
 
 
 
-
-
-  <li><strong>[SDK Platforms]</strong> タブをクリックして、<strong>[Android N Preview]</strong> チェック ボックスを選択します。
+  <li>[<strong>SDK Platforms</strong>] タブをクリックして、[<strong>Android N Preview</strong>] チェック ボックスを選択します。
 </li>
 
-  <li><strong>[SDK Tools]</strong> タブをクリックして <strong>[Android SDK Build Tools]</strong>、<strong>[Android SDK Platform-Tools]</strong>、<strong>[Android SDK Tools]</strong> のチェック ボックスを選択します。
+  <li>[<strong>SDK Tools</strong>] タブをクリックして、[<strong>Android SDK Build Tools</strong>]、[<strong>Android SDK Platform-Tools</strong>]、[<strong>Android SDK Tools</strong>] のチェック ボックスをオンにします。
 
 
 
   </li>
 
-  <li><strong>[OK]</strong> をクリックして、インストールするパッケージの使用許諾に同意します。
+  <li>[<strong>OK</strong>] をクリックして、インストールするパッケージの使用許諾に同意します。
 
   </li>
 </ol>
@@ -438,19 +446,19 @@
 </p>
 
 
-<p>次に Android N のシステム イメージを使用して仮想デバイスを作成します。</p>
+<p>次に Android N のシステム イメージを使用して仮想端末を作成します。</p>
 
 <ol>
   <li><strong>[Tools] &gt; [Android] &gt; [AVD Manager]</strong> を選択して、AVD Manager を起動します。
 </li>
-  <li><strong>[Create Virtual Device]</strong> をクリックします。</li>
-  <li>Nexus 5X、Nexus 6P、Nexus 9、Android TV などの端末を選択して、<strong>[Next]</strong> をクリックします。
+  <li>[<strong>Create Virtual Device</strong>] をクリックします。</li>
+  <li>Nexus 5X、Nexus 6P、Nexus 9、Android TV などの端末を選択して、[<strong>Next</strong>] をクリックします。
 </li>
-  <li><strong>N</strong> システム イメージ(<strong>x86</strong> ABI)を選択して <strong>[Next]</strong> をクリックします(現時点で Android N Preview の Android エミュレータに対応しているのは x86 システム イメージだけです)。
+  <li><strong>N</strong> システム イメージ(<strong>x86</strong> ABI)を選択して [<strong>Next</strong>] をクリックします
 
+    (現時点で Android N Preview の Android エミュレータに対応しているのは x86 システム イメージだけです)。
 
-
-  <li>残りの AVD 設定を終えたら <strong>[Finish]</strong> をクリックします。
+  <li>残りの AVD 設定を終えたら [<strong>Finish</strong>] をクリックします。
 </li>
 </ol>
 
@@ -462,13 +470,7 @@
 
 </p>
 
-<p class="note"><strong>注:</strong> Android Studio 2.0 Beta を使用している場合、N プレビュー版のシステム イメージで AVD を作成できないという既知の不具合があります。よって現時点では、Android Studio 2.1 のプレビュー版を使用して AVD を作成してください。
-
-
-
-</p>
-
-<p>仮想デバイスの作成については、<a href="{@docRoot}tools/devices/index.html">仮想デバイスを管理する</a>で詳細をご覧ください。
+<p>仮想端末の作成については、<a href="{@docRoot}tools/devices/index.html">仮想端末を管理する</a>で詳細をご覧ください。
 </p>
 
 
diff --git a/docs/html-intl/intl/ja/preview/features/afw.jd b/docs/html-intl/intl/ja/preview/features/afw.jd
new file mode 100644
index 0000000..8e73298
--- /dev/null
+++ b/docs/html-intl/intl/ja/preview/features/afw.jd
@@ -0,0 +1,552 @@
+page.title=Android for Work のアップデート
+page.metaDescription=Android N の新しい Android for Work の API と機能。
+page.keywords="android for work", "android N", "enterprise", "QR code"
+
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>このドキュメントの内容</h2>
+      <ol>
+        <li><a href="#qr">QR コードのプロビジョニング</a>
+</li>
+
+        <li><a href="#sec-challenge">仕事用プロファイルによるセキュリティ確認</a>
+</li>
+
+        <li><a href="#suspend">アプリへのアクセスを無効にする</a>
+</li>
+
+        <li><a href="#toggle-work">ワークモードの切り替え</a>
+</li>
+
+        <li><a href="#always-on-vpn">Always On VPN</a>
+</li>
+
+        <li><a href="#contacts">仕事用プロファイルと連絡先の統合</a>
+</li>
+
+        <li><a href="#remote-reboot">リモートでの再起動</a>
+</li>
+
+        <li><a href="#disable-roaming">データローミングを無効にする</a>
+</li>
+
+        <li><a href="#process-logging">企業によるプロセスのログ記録</a>
+</li>
+
+        <li><a href="#bug-reports">リモートでのバグレポート</a>
+</li>
+
+        <li><a href="#remove-cert">クライアント証明書を削除する</a>
+</li>
+
+        <li><a href="#grant-cert-on-install">インストール時にクライアント証明書へのアクセス権を付与する</a>
+</li>
+
+        <li><a href="#ui-policy">システムの UI ポリシーの透明性</a>
+</li>
+
+        <li><a href="#restrictions-mgmt">アプリ制限の管理の強化</a>
+</li>
+
+        <li><a href="#location-off">位置情報のオフへの切り替え</a>
+</li>
+
+        <li><a href="#custom-provisioning">カスタマイズされたプロビジョニング</a>
+</li>
+
+        <li><a href="#multi-wifi-ca">複数の Wi-Fi 用の CA 証明書
+</a></li>
+
+        <li><a href="#custom-lock">カスタマイズされたロック画面のメッセージ</a>
+</li>
+
+        <li><a href="#work-connectionservice">仕事用プロファイルの ConnectionService</a>
+</li>
+
+        <li><a href="#lock-wp">壁紙をロックダウンする</a>
+</li>
+
+        <li><a href="#lock-user-icon">ユーザー アイコンをロックダウンする</a>
+</li>
+
+        <li><a href="#health-monitoring">端末の状態の監視</a>
+</li>
+
+      </ol>
+
+    <h2>関連ドキュメント</h2>
+    <ul>
+      <li><a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK リファレンス</a>
+</li>
+    </ul>
+  </div>
+</div>
+
+<p>このドキュメントでは、Android N で提供されている新しい Android for Work の機能について説明します。
+</p>
+
+<h2 id="qr">QR コードのプロビジョニング</h2>
+
+<p>
+  Android for Work では、企業が責任を負う端末のプロビジョニングに QR コードを使用できるようになりました。
+セットアップ ウィザードを使用すると、QR コードをスキャンして端末をプロビジョニングできます。
+
+</p>
+
+<h2 id="sec-challenge">仕事用プロファイルによるセキュリティ確認</h2>
+
+<p>
+  プロファイル オーナーは、仕事用プロファイルで実行しているアプリに対してセキュリティ確認を指定するようユーザーに要求できます。
+ユーザーが仕事用アプリを開こうとすると、セキュリティ確認画面が表示されます。
+ユーザーがセキュリティの確認に成功すると、仕事用プロファイルのロックが解除され、必要に応じて暗号化も解除されます。
+
+
+</p>
+
+<p>
+  プロファイル オーナーが {@link
+  android.app.admin.DevicePolicyManager#ACTION_SET_NEW_PASSWORD} インテントを送信すると、ユーザーはセキュリティ確認をセットアップするよう求められます。
+また、プロファイル オーナーは、<code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> インテントを送信して、ユーザーに端末のロックを設定するよう求めることもできます。
+
+
+</p>
+
+<p>
+  プロファイル オーナーは仕事用プロファイル用のセキュリティ確認に、他の端末のパスワード ポリシーとは異なるパスワード ポリシーを設定できます。
+たとえば、端末の確認応答の最小長は、他のパスワードに必要な長さと異なっていてもかまいません。
+
+プロファイル オーナーがこの確認のポリシーを設定する場合は、通常 {@link
+  android.app.admin.DevicePolicyManager#setPasswordQuality
+  setPasswordQuality()} や {@link
+  android.app.admin.DevicePolicyManager#setPasswordMinimumLength
+  setPasswordMinimumLength()} など、{@link android.app.admin.DevicePolicyManager} メソッドを使用して設定します。
+
+また、新しい <code>DevicePolicyManager.getParentProfileInstance()</code> メソッドが返す {@link android.app.admin.DevicePolicyManager} インスタンスを使用して端末のロックを設定することもできます。
+
+
+さらに、{@link android.app.admin.DevicePolicyManager} クラスの新しい <code>setOrganizationColor()</code> メソッドおよび <code>setOrganizationName()</code> メソッドを使用して仕事用プロファイル用のセキュリティ確認画面をカスタマイズすることができます。
+
+
+
+</p>
+
+<p>
+  新しいメソッドと定数の詳細については、<a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK リファレンス</a>の<code>DevicePolicyManager</code> リファレンス ページをご覧ください。
+
+</p>
+
+<h2 id="suspend">アプリへのアクセスを無効にする</h2>
+
+<p>
+  デバイス オーナーとプロファイル オーナーは、新しい <code>DevicePolicyManager.setPackagesSuspended()</code> メソッドを呼び出して、パッケージへのアクセスを一時的に停止することができます。
+
+オーナーがパッケージを再度有効にする場合は、同じメソッドを使用できます。
+</p>
+
+<p>
+  パッケージが停止されている場合は、アクティビティを開始できないため、パッケージへの通知は行われず、<a href="{@docRoot}guide/components/recents.html">オーバービュー画面</a>のアプリのエントリは非表示になります。
+
+  停止されているパッケージは<a href="{@docRoot}guide/components/recents.html">オーバービュー画面</a>に表示されず、ダイアログ(トーストや Snackbar を含む)を表示することはできません。
+また、音声を再生したり、端末を振動させたりすることもできません。
+
+</p>
+
+<p>
+  ランチャーは、アプリが現在利用できないことを示すために、アプリのアイコンをグレーでレンダリングするなど、停止されているアプリにひと目でわかる UI を適用する必要があります。
+
+ランチャーは、新しい <code>DevicePolicyManager.getPackageSuspended()</code> メソッドを呼び出してアプリが停止されているかどうかを確認できます。
+
+</p>
+
+<h2 id="toggle-work">ワークモードの切り替え</h2>
+
+<p>
+  デュアル プロファイル端末では、ユーザーはワークモードのオンとオフを切り替えることができます。ワークモードがオフの場合は、管理されているプロファイルが一時的にシャットダウンされます。
+仕事用プロファイルのアプリ、バックグラウンドでの同期、通知がすべて無効になります。これにはプロファイル オーナーのアプリも含まれます。
+
+また、仕事用プロファイルが無効にされている場合は、仕事用アプリを起動できないことをユーザーに示すステータス アイコンが表示されたままになります。
+
+システム ランチャーは、仕事用アプリとウィジェットにアクセスできないことを示します。
+
+</p>
+
+<h2 id="always-on-vpn">Always On VPN</h2>
+
+<p>
+  デバイス オーナーとプロファイル オーナーは、指定した VPN を介して仕事用アプリが常時ネットワークに接続することを要求できます。
+オーナーがこの要件を設定すると、端末は起動時に対象の VPN を自動的に開始します。
+
+</p>
+
+<p>
+  オーナーは、新しい <code>DevicePolicyManager.setAlwaysOnVpnPackage()</code> メソッドを呼び出して VPN を使用することを要求できます。
+オーナーが VPN 要件を設定しているかどうかを確認するには、新しい <code>DevicePolicyManager.GetAlwaysOnVpnPackage()</code> メソッドを呼び出します。
+
+
+</p>
+
+<p>
+  システムがアプリの介入なしに VPN サービスを直接バインドできるため、常時接続 VPN の新しいエントリ ポイントは VPN クライアント側で処理する必要があります。
+以前と同様に、アクティブなサービスを見つけるには、アクション {@link android.net.VpnService android.net.VpnService} に一致するインテント フィルタを使用します。
+
+
+</p>
+
+<p>
+  ユーザーは {@link
+  android.net.VpnService} を実装する常時接続 VPN クライアントを、<strong>[Settings] &gt; [More] &gt; [VPN]</strong> 画面を使用して手動で設定できます。
+
+</p>
+
+<h2 id="contacts">仕事用プロファイルと連絡先の統合</h2>
+
+<p>
+  プロファイル オーナーは、プライマリ ユーザーの仕事用連絡先のローカル検索やディレクトリ検索を許可することができます。
+たとえば、ユーザーは個人用電話アプリや連絡先アプリから個人用と仕事用の両方のディレクトリの連絡先にアクセスできます(プロファイル管理者によって許可されている場合)。
+
+
+</p>
+
+<p>
+  連絡先プロバイダを活用するデベロッパーは、ポリシーで許可されている場合、Enterprise Contacts API を使用してプライマリ ユーザーの仕事用プロファイルのディレクトリのエントリにアクセスできます。
+
+
+</p>
+
+<ul>
+  <li><code>ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Phone.ENTERPRISE_CONTENT_FILTER_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Email.ENTERPRISE_CONTENT_FILTER_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Callable.ENTERPRISE_CONTENT_FILTER_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Directory.ENTERPRISE_CONTENT_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Directory.isEntepriseDirectoryId()</code>
+  </li>
+</ul>
+
+<p>
+  プロファイル オーナーは、以下の新しいメソッドを使用して、プライマリ ユーザーの仕事用連絡先の表示を制御できます。
+
+</p>
+
+<ul>
+  <li>
+    <code>DevicePolicyManager.setCrossProfileContactsSearchDisabled()</code>
+  </li>
+
+  <li>
+    <code>DevicePolicyManager.getCrossProfileContactsSearchDisabled()</code>
+  </li>
+</ul>
+
+<h2 id="remote-reboot">リモートでの再起動</h2>
+
+<p>
+  デバイス オーナーは、端末をリモートで再起動できます。エンクロージャ内のパブリックな場所にデプロイされている端末は、電源ボタンにアクセスできないようにすることができる場合があります。
+端末を再起動する必要がある場合、管理者は新しい <code>DevicePolicyManager.reboot()</code> メソッドを使用して実行することができます。
+
+
+</p>
+
+<h2 id="disable-roaming">データローミングを無効にする</h2>
+
+<p>
+  デバイス オーナーがデータローミングを無効にするには、新しい {@link
+  android.os.UserManager} のユーザー制限 <code>DISALLOW_DATA_ROAMING</code> を使用します。
+</p>
+
+<h2 id="process-logging">企業によるプロセスのログ記録</h2>
+
+<p>
+  デバイス オーナーは、リモートで端末のアクティビティ(アプリの起動、adb アクティビティ、画面のロック解除など)を追跡することにより、疑わしいアクティビティを特定できます。
+プロセス ログはユーザーの同意は必要ありません。
+ログを取得するには、デバイス オーナーは <code>DevicePolicyManager.setSecurityLoggingEnabled()</code> を使用して端末のログ記録を有効にします。
+
+</p>
+
+<p>
+  API の変更点は以下のとおりです。
+</p>
+
+<ul>
+
+  <li>
+    新しいクラス <code>android.app.admin.SecurityLog</code> とそのメソッド
+
+  </li>
+
+  <li>
+    <code>void DevicePolicyManager.setSecurityLoggingEnabled()</code>
+  </li>
+
+  <li>
+    <code>boolean DevicePolicyManager.isSecurityLoggingEnabled()</code>
+  </li>
+
+  <li>
+    <code>List&lt;SecurityEvent&gt;
+      DevicePolicyManager.retrieveSecurityLogs()</code>
+  </li>
+
+  <li>
+    <code>List&lt;SecurityEvent&gt;
+      DevicePolicyManager.retrievePreRebootSecurityLogs()</code>
+  </li>
+
+  <li>
+    <code>void DeviceAdminReceiver.onSecurityLogsAvailable()</code>
+  </li>
+</ul>
+
+<h2 id="bug-reports">リモートでのバグレポート</h2>
+
+<p>
+  デバイス オーナーは、端末の状態のダンプファイルを含むバグレポートをリモートでトリガーして取得できます。これにより、既知のインシデントや障害が発生した端末の徹底的な調査が可能になります。
+
+バグレポートの内容は詳細にわたるため、ユーザーの同意が必要になります。
+
+</p>
+
+<p>
+  Android N では、この機能をサポートするために以下の API が追加されています。詳細については、<a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK リファレンス</a>をご覧ください。
+
+
+</p>
+
+<ul>
+  <li>
+    <code>DevicePolicyManager.requestBugreport()</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.onBugreportFailed()</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.onBugreportShared()</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.onBugreportSharingDeclined()</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</code>
+  </li>
+</ul>
+
+<h2 id="remove-cert">クライアント証明書を削除する</h2>
+
+<p>
+  プロファイル オーナーとデバイス オーナーは、{@link android.app.admin.DevicePolicyManager#installKeyPair
+  installKeyPair()} によってインストールされたクライアント証明書を、新しい <code>DevicePolicyManager.removeKeyPair()</code> メソッドを呼び出して削除できるようになりました。
+
+
+</p>
+
+<h2 id="grant-cert-on-install">インストール時にクライアント証明書へのアクセス権を付与する
+</h2>
+
+<p>
+  プロファイル オーナーやデバイス オーナーが、サードパーティ アプリに証明書を管理する権限を付与する場合、アプリはオーナーの介入なしに、インストールされる証明書へのアクセス権をアプリ自体に付与できます。
+
+
+</p>
+
+<p>
+  証明書を管理するための既存の API は、以下を含むように拡張されています。
+</p>
+
+<ul>
+  <li><code>DevicePolicyManager.installKeyPair()</code>
+  </li>
+</ul>
+
+<h2 id="ui-policy">システムの UI ポリシーの透明性</h2>
+
+<p>
+  ユーザー エクスペリエンスに影響を及ぼしたり、ユーザー設定を制限したりするポリシーはユーザーに完全に公表されます。プロファイル オーナーとデバイス オーナーは、このポリシーと会社の IT 部門を関連付けることができます。
+
+IT 管理者は [Settings] の「Action not allowed」という通常のメッセージに加え、端末設定に組織固有のサポート メッセージを設定できます。これには以下の新しい {@link android.app.admin.DevicePolicyManager} メソッドを使用します。
+
+
+
+</p>
+
+<ul>
+  <li>
+    <code>DevicePolicyManager.setShortSupportMessage()</code>
+  </li>
+
+  <li>
+    <code>DevicePolicyManager.setLongSupportMessage()</code>
+  </li>
+</ul>
+
+<h2 id="restrictions-mgmt">アプリ制限の管理の強化</h2>
+
+<p>
+  デバイス オーナーやプロファイル オーナーは、別のアプリケーションでアプリ制限を管理できるようにすることができます。これには新しい <code>DevicePolicyManager.setApplicationRestrictionsManagingPackage()</code> メソッドを使用します。
+
+
+指定されたアプリケーションは、このパーミッションが付与されているかどうかを、<code>DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage()</code> を呼び出して確認できます。
+
+
+</p>
+
+<p>
+  アプリ制限を管理するように指定されたアプリケーションは、対象となるユーザーやプロファイル内のパッケージに対して {@link
+  android.app.admin.DevicePolicyManager#setApplicationRestrictions
+  setApplicationRestrictions()} と {@link
+  android.app.admin.DevicePolicyManager#getApplicationRestrictions
+  getApplicationRestrictions()} を呼び出すことができます。
+</p>
+
+<h2 id="location-off">位置情報のオフへの切り替え</h2>
+
+<p>
+  個人用アプリの位置情報に継続的にアクセスしている場合、ユーザーは仕事用アプリの位置パーミッションを無効にできます。
+[Location Settings] で別の位置情報へのアクセスに切り替えると、ユーザーは位置情報の更新や、仕事用プロファイルで実行されているアプリの最新位置情報の問い合わせを拒否できます。
+
+
+</p>
+
+<p>
+  トップレベルの位置情報をオフに切り替えると、プライマリ プロファイルと管理されているプロファイルの両方の位置情報へのアクセスが無効になります。
+
+</p>
+
+<h2 id="custom-provisioning">カスタマイズされたプロビジョニング</h2>
+
+<p>
+  アプリでは、コーポレート・カラーやロゴを含むプロファイル オーナーとデバイス オーナーのプロビジョニング フローをカスタマイズできます。
+
+</p>
+
+<dl>
+  <dt>
+    <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code>
+  </dt>
+
+  <dd>
+    フローカラーをカスタマイズします。
+  </dd>
+
+  <dt>
+    <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code>
+  </dt>
+
+  <dd>
+    コーポレート ロゴを含むフローをカスタマイズします。
+  </dd>
+</dl>
+
+<h2 id="multi-wifi-ca">複数の Wi-Fi 用の CA 証明書</h2>
+
+<p>
+  プロファイル オーナーとデバイス オーナーは、特定の Wi-Fi 設定に複数の CA 証明書を設定できます。
+企業の Wi-Fi ネットワークで、同じ SSID を持つ別のアクセス ポイントに別の CA を使用する場合、IT 管理者は新しい <code>setCaCertificates()</code> メソッドを使用して、関連するすべての CA を Wi-Fi 設定に含めることができます。
+
+
+
+</p>
+
+<p>
+  以下の API が追加されました。
+</p>
+
+<ul>
+  <li>
+    <code>WifiEnterpriseConfig.setCaCertificates()</code>
+  </li>
+
+  <li>
+    <code>WifiEnterpriseConfig.getCaCertificates()</code>
+  </li>
+</ul>
+
+<h2 id="custom-lock">カスタマイズされたロック画面のメッセージ</h2>
+
+<p>
+  デバイス オーナーは、ロック画面に表示されるオーナー情報を提供できます。
+  この情報は、ユーザーのロック画面のメッセージよりも優先されます(設定されている場合)。
+新しい {@link android.app.admin.DevicePolicyManager} メソッドは以下のとおりです。
+</p>
+
+<ul>
+  <li>
+    <code>setDeviceOwnerLockScreenInfo()</code>
+  </li>
+
+  <li>
+    <code>getDeviceOwnerLockScreenInfo()</code>
+  </li>
+</ul>
+
+<h2 id="work-connectionservice">仕事用プロファイルの ConnectionService</h2>
+
+<p>
+  プロファイル オーナーは、バックエンドの呼び出し(アカウントの呼び出し)に仕事固有の {@link android.telecom.ConnectionService} を使用する仕事用電話アプリを指定できます。
+
+仕事用電話は、仕事のみの通話履歴を保持し、仕事用連絡先のみを利用します。
+電話アプリに関係なく、ユーザーには統一された着信 UI が表示されます。
+仕事用通話アカウントへの仕事用の着信は、個人用通話アカウントへの個人用の着信とは区別されます。
+
+
+</p>
+
+<p>
+  通話が仕事用の通話かどうかを確認するには、電話は新しいフラグ <code>android.telecom.Call.PROPERTY_WORK_CALL</code> を確認する必要があります。
+
+通話が仕事用の通話の場合、電話はワーク バッジを追加するなどして、これを示す必要があります。
+
+</p>
+
+<h2 id="lock-wp">壁紙をロックダウンする</h2>
+
+<p>
+  新しいユーザー制限(<code>DISALLOW_SET_WALLPAPER</code>)により、ユーザーは壁紙を変更することができません。
+デバイス オーナーやプロファイル オーナーは壁紙を変更できますが、制御するユーザーやプロファイルの壁紙のみ変更できます。
+
+たとえば、プロファイル オーナーは、親ユーザーの壁紙は変更できませんが、プライマリ プロファイルのプロファイル オーナーやデバイス オーナーは変更できます。
+
+壁紙を変更する必要があるプロファイル オーナーやデバイス オーナーは、管理するユーザーやプロファイルに壁紙があるかどうか({@link android.app.WallpaperManager#isWallpaperSupported
+  isWallpaperSupported()})、壁紙の変更が許可されているかどうかを(新しい <code>WallpaperManager.isWallpaperSettingAllowed()</code> メソッドを使用して)確認する必要があります。
+
+
+
+</p>
+
+<h2 id="lock-user-icon">ユーザー アイコンをロックダウンする</h2>
+
+<p>
+  新しいユーザー制限(<code>DISALLOW_SET_USER_ICON</code>)により、ユーザーはユーザー アイコンを変更することができません。
+ユーザーのデバイス オーナーやプロファイル オーナーは、このアイコンを変更できます。
+ただし、プロファイル オーナーが変更できるのは、制御するプロファイルのユーザー アイコンのみです。
+
+</p>
+
+<h2 id="health-monitoring">端末の状態の監視</h2>
+
+<p>
+  デバイス オーナーやプロファイル オーナーは、新しい <code>HardwarePropertiesManager</code> インターフェースを使用して、CPU や GPU の温度、CPU 使用率などの端末の状態に関する情報を取得できます。
+
+新しい監視インターフェースは、遠隔地で実行されている使用されていない端末の監視に特に役立ちます。
+
+
+</p>
diff --git a/docs/html-intl/intl/ja/preview/features/background-optimization.jd b/docs/html-intl/intl/ja/preview/features/background-optimization.jd
index a002147..1ea9f2e 100644
--- a/docs/html-intl/intl/ja/preview/features/background-optimization.jd
+++ b/docs/html-intl/intl/ja/preview/features/background-optimization.jd
@@ -47,21 +47,21 @@
 </div>
 
 <p>
-  バックグラウンド処理が多くのメモリとバッテリーを消費する場合があります。たとえば、多くのバックグラウンド処理が暗黙的なブロードキャストをリッスンするように登録されていますが、バックグラウンド処理が有用でない場合でも、暗黙的なブロードキャストによりこれらの処理が開始されることがあります。
+  バックグラウンド処理が多くのメモリと電池を消費する場合があります。たとえば、多くのバックグラウンド処理が暗黙的なブロードキャストをリッスンするように登録されていますが、バックグラウンド処理が有用でない場合でも、暗黙的なブロードキャストによりこれらの処理が開始されることがあります。
 
 バックグラウンド処理が端末のパフォーマンスとユーザー エクスペリエンスの両方に多大な影響を及ぼす可能性があります。
 
 </p>
 
 <p>
-  N Developer Preview では、この問題を軽減するために、次の制限が適用されています。
+  Android N では、こういった問題を緩和するために、以下の制限が適用されます。
 
 </p>
 
 <ul>
-  <li>プレビューをターゲットにしたアプリは、マニフェストで {@link
+  <li>プレビュー向けのアプリは、マニフェストで {@link
   android.net.ConnectivityManager#CONNECTIVITY_ACTION} ブロードキャストの受信登録をしていても、このブロードキャストを受信しません。
-フォアグラウンドで実行中のアプリは、{@link
+実行中のアプリは、{@link
   android.content.Context#registerReceiver Context.registerReceiver()} で {@link android.content.BroadcastReceiver} を登録することにより、メインスレッドで {@code CONNECTIVITY_CHANGE} を引き続きリッスンできます。
 
 
@@ -75,6 +75,8 @@
 </ul>
 
 <p>
+  アプリでこれらのインテントのいずれかを使用する場合は、Android N 端末を適切にターゲットにできるように、可能な限りインテントとの依存性を削除する必要があります。
+
   Android フレームワークは、これらの暗黙的なブロードキャストの必要性を軽減するいくつかのソリューションを提供します。
 たとえば、{@link android.app.job.JobScheduler} と <a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
 {@code GcmNetworkManager}</a> は、従量制ではないネットワークへの接続など、指定条件が満たされたときに、ネットワーク操作をスケジュールするための堅牢なメカニズムを提供します。
@@ -98,7 +100,7 @@
 </h2>
 
 <p>
-  N Developer Preview をターゲットにしたアプリは、マニフェストで {@link
+  Android N 向けのアプリは、マニフェストで {@link
   android.net.ConnectivityManager#CONNECTIVITY_ACTION} ブロードキャストの受信登録をしていても、このブロードキャストを受信しません。また、このブロードキャストに依存している処理は開始されません。
 
 これにより、ネットワークの変更をリッスンするアプリ、または端末が従量制ではないネットワークに接続したときにネットワーク アクティビティをまとめて実行するアプリに問題が発生する可能性があります。
@@ -109,8 +111,8 @@
 </p>
 
 <p class="note">
-  <strong>注: </strong>{@link android.content.Context#registerReceiver Context.registerReceiver()} で登録された {@link android.content.BroadcastReceiver} は、アプリがフォアグラウンドにあるときにこれらのブロードキャストを継続して受信します。
-
+  <strong>注:</strong>
+{@link android.content.Context#registerReceiver Context.registerReceiver()} で登録された {@link android.content.BroadcastReceiver} は、アプリが実行中のときにこれらのブロードキャストを継続して受信します。
 
 </p>
 
@@ -162,9 +164,8 @@
 </h3>
 
 <p>
-  フォアグラウンドで実行中のアプリは、{@link
-  android.content.BroadcastReceiver} を登録することにより、{@code
-  CONNECTIVITY_CHANGE} を引き続きリッスンできます。ただし、{@link
+  実行されているアプリは、登録された {@link android.content.BroadcastReceiver} を使用して {@code CONNECTIVITY_CHANGE} を引き続きリッスンできます。
+ただし、{@link
   android.net.ConnectivityManager} API は、特定のネットワーク条件が満たされたときだけコールバックをリクエストするより堅牢なメソッドを提供します。
 
 </p>
@@ -194,11 +195,11 @@
 </h2>
 
 <p>
-  N Developer Preview では、アプリは、{@link
+  Android N では、アプリは、{@link
   android.hardware.Camera#ACTION_NEW_PICTURE} ブロードキャストまたは {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO} ブロードキャストを送受信できません。この制限は、新しい画像やビデオを処理するためにいくつかのアプリを起動する必要があるときに、パフォーマンスとユーザー エクスペリエンスへの影響を軽減するのに役立ちます。
+  android.hardware.Camera#ACTION_NEW_VIDEO} ブロードキャストを送受信できません。この制限は、新しいイメージや動画を処理するためにいくつかのアプリを起動する必要があるときに、パフォーマンスとユーザー エクスペリエンスへの影響を軽減するのに役立ちます。
 
-N Developer Preview では、{@link android.app.job.JobInfo} と {@link
+Android N では、{@link android.app.job.JobInfo} と {@link
   android.app.job.JobParameters} を拡張することにより、代わりのソリューションを提供しています。
 
 </p>
@@ -208,7 +209,7 @@
 </h3>
 
 <p>
-  N Developer Preview では、コンテンツ URI の変更でジョブをトリガーするために、{@link android.app.job.JobInfo} API に次のメソッドが追加されています。
+  Android N では、コンテンツ URI の変更でジョブをトリガーするために、{@link android.app.job.JobInfo} API に次のメソッドが追加されています。
 
 </p>
 
@@ -266,7 +267,7 @@
           MY_BACKGROUND_JOB,
           new ComponentName(context, MediaContentJob.class));
   builder.addTriggerContentUri(
-          new JobInfo.TriggerContentUri(MEDIA_URI,
+          new JobInfo.TriggerContentUri(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
           JobInfo.TriggerContentUri.FLAG_NOTIFY_FOR_DESCENDANTS));
   js.schedule(builder.build());
 }
@@ -283,7 +284,7 @@
 </h3>
 
 <p>
-  また、N Developer Preview では、{@link android.app.job.JobParameters} が拡張され、ジョブをトリガーしたコンテンツ権限や URI についての有用な情報をアプリが受け取れるようになっています。
+  また、Android N では、{@link android.app.job.JobParameters} が拡張され、ジョブをトリガーしたコンテンツ権限や URI についての有用な情報をアプリが受け取れるようになっています。
 
 
 </p>
@@ -356,14 +357,14 @@
   アプリをメモリ不足の端末またはメモリ不足の状況で実行するために最適化すると、パフォーマンスとユーザー エクスペリエンスが向上します。
 バックグラウンド サービスと静的に登録された暗黙的なブロードキャスト レシーバーへの依存関係を削除すると、そのような端末上のアプリの動作が向上します。
 
-N Developer Preview では、これらの問題を削減するための措置が講じられていますが、これらのバックグラウンド処理をまったく使用せずに、アプリが実行されるように最適化することをお勧めします。
+Android N では、これらの問題を削減するための措置が講じられていますが、これらのバックグラウンド処理をまったく使用せずに、アプリが実行されるように最適化することをお勧めします。
 
 
 
 </p>
 
 <p>
-  N Developer Preview には、それらのバックグラウンド処理を無効にした状態でアプリの動作をテストするために使用できるいくつかの <a href="{@docRoot}tools/help/adb.html">Android デバッグ ブリッジ(ADB)</a>コマンドが追加されています。
+  Android N には、それらのバックグラウンド処理を無効にした状態でアプリの動作をテストするために使用できるいくつかの <a href="{@docRoot}tools/help/adb.html">Android Debug Bridge(ADB)</a>コマンドが追加されています。
 
 </p>
 
@@ -374,7 +375,7 @@
 
   <li style="list-style: none; display: inline">
 <pre class="no-pretty-print">
-{@code $ adb shell cmd appops set RUN_IN_BACKGROUND ignore}
+{@code $ adb shell cmd appops set &lt;package&gt; RUN_IN_BACKGROUND ignore}
 </pre>
   </li>
 
@@ -384,7 +385,7 @@
 
   <li style="list-style: none; display: inline">
 <pre class="no-pretty-print">
-{@code $ adb shell cmd appops set RUN_IN_BACKGROUND allow}
+{@code $ adb shell cmd appops set &lt;package&gt; RUN_IN_BACKGROUND allow}
 </pre>
   </li>
-</ul>
\ No newline at end of file
+</ul>
diff --git a/docs/html-intl/intl/ja/preview/features/data-saver.jd b/docs/html-intl/intl/ja/preview/features/data-saver.jd
new file mode 100644
index 0000000..6336151
--- /dev/null
+++ b/docs/html-intl/intl/ja/preview/features/data-saver.jd
@@ -0,0 +1,234 @@
+page.title=データセーバー
+metaDescription= ユーザーが有効にしたデータ使用量の最適化。
+page.keywords="android N", "data usage", "metered network"
+page.image=images/cards/card-nyc_2x.jpg
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>
+      このドキュメントの内容
+    </h2>
+
+    <ol>
+      <li>
+        <a href="#status">データセーバー設定の確認</a>
+        <ol>
+          <li>
+            <a href="#request-whitelist">ホワイトリスト パーミッションの要求</a>
+          </li>
+        </ol>
+      </li>
+
+      <li>
+        <a href="#monitor-changes">データセーバー設定の変更の監視</a>
+
+      </li>
+
+      <li>
+        <a href="#testing">Android Debug Bridge コマンドを使用したテスト</a>
+      </li>
+    </ol>
+  </div>
+</div>
+
+<p>
+  スマートフォンのライフサイクル全体では、モバイルデータ通信プランのコストが端末自体のコストを簡単に上回ります。
+N Developer Preview では、ローミング、課金サイクルの終了近く、または短期間のデータパックであるかどうかに関係なく、データの使用を抑えるために端末全体でデータセーバーを有効にできます。
+
+
+</p>
+
+<p>
+  ユーザーが [<strong>Settings</strong>] でデータセーバーを有効にし、端末が従量制課金ネットワークに接続されている場合、システムはバックグラウンドでのデータ使用をブロックし、フォアグラウンドでのデータ使用をなるべく抑えるようにアプリに指示します。
+
+ユーザーは特定のアプリをホワイトリストに登録することにより、データセーバーがオンになっているときでも、バックグラウンドで従量制課金接続を使用できます。
+
+
+</p>
+
+<p>
+  N Developer Preview は {@link android.net.ConnectivityManager} API を拡張することで、<a href="#status">ユーザーのデータセーバー設定を取得</a>する方法と、<a href="#monitor-changes">設定の変更を監視</a>する方法を提供しています。
+
+
+アプリでユーザーがデータセーバーを有効にしているかどうかを確認し、フォアグラウンドおよびバックグラウンドでのデータ使用を抑えるようにすることをお勧めします。
+
+
+</p>
+
+<h2 id="status">
+  データセーバー設定の確認
+</h2>
+
+<p>
+  N Developer Preview では、アプリは {@link
+  android.net.ConnectivityManager} API を使用して、どのようなデータ使用量の制限が適用されているかを確認できます。
+{@code getRestrictBackgroundStatus()} メソッドは以下のいずれかの値を返します。
+
+</p>
+
+<dl>
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_DISABLED}
+  </dt>
+
+  <dd>
+    データセーバーは無効になっています。
+  </dd>
+
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_ENABLED}
+  </dt>
+
+  <dd>
+    ユーザーはこのアプリのデータセーバーを有効にしています。アプリはフォアグラウンドでのデータ使用を抑えるようにし、バックグラウンドでのデータ使用に対する制限を適切に処理する必要があります。
+
+
+  </dd>
+
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_WHITELISTED}
+  </dt>
+
+  <dd>
+    ユーザーはデータセーバーを有効にしていますが、アプリがホワイトリストに登録されています。アプリは、フォアグラウンドおよびバックグラウンドでのデータ使用を引き続き抑えるようにする必要があります。
+
+  </dd>
+</dl>
+
+<p>
+  データセーバーが無効になっている場合や、アプリがホワイトリストに登録されている場合でも、端末が従量制課金ネットワークに接続されている場合は、データ使用量を抑えることをお勧めします。
+
+以下のサンプルコードでは、アプリで使用する必要があるデータ量を確認するために、{@link
+  android.net.ConnectivityManager#isActiveNetworkMetered
+  ConnectivityManager.isActiveNetworkMetered()} と {@code
+  ConnectivityManager.getRestrictBackgroundStatus()} を使用しています。
+
+</p>
+
+<pre>
+ConnectivityManager connMgr = (ConnectivityManager)
+        getSystemService(Context.CONNECTIVITY_SERVICE);
+// Checks if the device is on a metered network
+if (connMgr.isActiveNetworkMetered()) {
+  // Checks user’s Data Saver settings.
+  switch (connMgr.getRestrictBackgroundStatus()) {
+    case RESTRICT_BACKGROUND_STATUS_ENABLED:
+    // Background data usage is blocked for this app. Wherever possible,
+    // the app should also use less data in the foreground.
+
+    case RESTRICT_BACKGROUND_STATUS_WHITELISTED:
+    // The app is whitelisted. Wherever possible,
+    // the app should use less data in the foreground and background.
+
+    case RESTRICT_BACKGROUND_STATUS_DISABLED:
+    // Data Saver is disabled. Since the device is connected to a
+    // metered network, the app should use less data wherever possible.
+  }
+} else {
+  // The device is not on a metered network.
+  // Use data as required to perform syncs, downloads, and updates.
+}
+</pre>
+
+<h3 id="request-whitelist">
+  ホワイトリスト パーミッションの要求
+</h3>
+
+<p>
+  アプリがバックグラウンドでデータを使用する必要がある場合は、アプリのパッケージ名(例: <code>package:MY_APP_ID</code>)の URI を含む <code>Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS</code> インテントを送信することでホワイトリスト パーミッションをリクエストできます。
+
+
+
+
+</p>
+
+<p>
+  インテントと URI を送信すると、[<strong>Settings</strong>] アプリが起動し、アプリのデータ使用量の設定が表示されます。
+ユーザーはアプリのバックグラウンドデータを有効にするかどうかを決めることができます。
+このインテントを送信する前に、バックグラウンドでのデータ使用を有効にするために [<strong>Settings</strong>] アプリを起動するかどうかを最初にユーザーに尋ねることをお勧めします。
+
+
+
+</p>
+
+<h2 id="monitor-changes">
+  データセーバー設定の変更の監視
+</h2>
+
+<p>
+  アプリでデータセーバー設定の変更を監視するには、{@link
+  android.content.BroadcastReceiver} を作成して {@code
+  ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED} をリッスンし、レシーバーを動的に {@link android.content.Context#registerReceiver
+  Context.registerReceiver()} に登録します。
+このブロードキャストを受信したアプリは、{@code
+  ConnectivityManager.getRestrictBackgroundStatus()} を呼び出して、<a href="#status">新しいデータセーバー設定がそのパーミッションに影響を及ぼすかどうか</a>を確認する必要があります。
+
+
+</p>
+
+<p class="note">
+  <strong>注:</strong>このブロードキャストは、{@link
+  android.content.Context#registerReceiver Context.registerReceiver()} を使用してブロードキャストに動的に登録するアプリにのみ送信されます。
+マニフェストにこのブロードキャストを受信するために登録するアプリはこれらを受信しません。
+
+
+</p>
+
+<h2 id="testing">
+  Android Debug Bridge コマンドを使用したテスト
+</h2>
+
+<a href="{@docRoot}tools/help/adb.html">Android Debug Bridge(ADB)</a>には、ネットワーク パーミッションの確認と設定に使用できるコマンドがいくつか用意されています。
+
+
+
+<dl>
+  <dt>
+    <code>$ adb shell dumpsys netpolicy</code>
+  </dt>
+
+  <dd>
+    現在のバックグラウンド ネットワーク全体の制限設定、ホワイトリスト内の現在のパッケージ UID、その他の既知のパッケージのネットワーク パーミッションを含むレポートが生成されます。
+
+
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy</code>
+  </dt>
+
+  <dd>
+    ネットワーク ポリシー マネージャ(netpolicy)のコマンドの一覧が表示されます。
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy set restrict-background
+    &lt;boolean&gt;</code>
+  </dt>
+
+  <dd>
+    <code>true</code> または <code>false</code> をそれぞれ渡したときに、データセーバー モードを有効または無効にします。
+
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy add restrict-background-whitelist
+    &lt;UID&gt;</code>
+  </dt>
+
+  <dd>
+    指定されたパッケージ UID をホワイトリストに追加し、バックグラウンドで従量制課金接続を使用できるようにします。
+
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy remove restrict-background-whitelist
+    &lt;UID&gt;</code>
+  </dt>
+
+  <dd>
+    指定されたパッケージ UID をホワイトリストから削除し、データセーバーが有効な場合でもバックグラウンドで従量制課金接続を使用できないようにします。
+
+  </dd>
+</dl>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/preview/features/direct-boot.jd b/docs/html-intl/intl/ja/preview/features/direct-boot.jd
index fe0d720..6ba1852 100644
--- a/docs/html-intl/intl/ja/preview/features/direct-boot.jd
+++ b/docs/html-intl/intl/ja/preview/features/direct-boot.jd
@@ -10,7 +10,7 @@
   <h2>このドキュメントの内容</h2>
   <ol>
     <li><a href="#run">ダイレクト ブート中に実行するためのアクセスを要求する</a></li>
-    <li><a href="#access">暗号化端末ストレージにアクセスする</a></li>
+    <li><a href="#access">端末暗号化ストレージにアクセスする</a></li>
     <li><a href="#notification">ユーザーによる端末のロック解除の通知を受信する</a></li>
     <li><a href="#migrating">既存のデータを移行する</a></li>
     <li><a href="#testing">暗号化対応アプリをテストする</a></li>
@@ -18,18 +18,18 @@
 </div>
 </div>
 
-<p>Android N は <i>、</i> 電源を入れたときにユーザーが端末のロックを解除していない場合、セキュリティで保護された「ダイレクト ブート」モードで実行します。
+<p>Android N は、電源を入れたときにユーザーが端末のロックを解除していない場合、セキュリティで保護された <i>ダイレクト ブート</i> モードで実行します。
 
 この機能をサポートするため、システムで次の 2 つの保存先を使用できるようになります。</p>
 
 <ul>
-<li><i>資格情報暗号化ストレージ。</i>これはデフォルトの保存先で、ユーザーが端末のロックを解除した後にだけ使用できます。
+<li><i>認証情報暗号化ストレージ。</i>これはデフォルトの保存先で、ユーザーが端末のロックを解除した後にだけ使用できます。
 </li>
 <li><i>端末暗号化ストレージ。</i>この保存先は、ダイレクト ブート モード中とユーザーが端末のロックを解除した後の両方で使用できます。
 </li>
 </ul>
 
-<p>デフォルトで、ダイレクト ブート モード中はアプリは実行されません。ダイレクト ブート モード中にアプリでアクションを実行する必要がある場合、このモードで実行するアプリ コンポーネントを登録できます。
+<p>デフォルトで、ダイレクト ブート モード中はアプリは実行されません。ダイレクト ブート モード中にアプリで操作を実行する必要がある場合、このモードで実行するアプリ コンポーネントを登録できます。
 
 ダイレクト ブート モードでアプリの実行が必要になる一般的な使用例は次のとおりです。
 </p>
@@ -38,18 +38,18 @@
 <li>アラーム クロック アプリなど、通知がスケジュールされているアプリ。
 </li>
 <li>SMS アプリなど、重要なユーザー通知を表示するアプリ。</li>
-<li>Talkback など、アクセシビリティ サービスを提供するアプリ。</li>
+<li>Talkback など、ユーザー補助機能サービスを提供するアプリ。</li>
 </ul>
 
 <p>ダイレクト ブート モードで実行中にアプリがデータにアクセスする必要がある場合は、端末暗号化ストレージを使用します。
-端末暗号化ストレージにはキーで暗号化されたデータが保存され、端末がセキュア ブートに成功した場合にのみこのデータを使用できます。
+端末暗号化ストレージにはキーで暗号化されたデータが保存され、端末がセキュアブートに成功した場合にのみこのデータを使用できます。
 
 </p>
 
-<p>ユーザーの資格情報に関連付けたキーで暗号化しなければならない PIN やパスワードなどのデータには、資格情報暗号化ストレージを使用します。資格情報暗号化ストレージは、ユーザーが端末のロック解除に成功した後に使用可能になり、ユーザーが端末を再起動するまでアクセスできます。
+<p>ユーザーの認証情報に関連付けたキーで暗号化しなければならない PIN やパスワードなどのデータには、認証情報暗号化ストレージを使用します。認証情報暗号化ストレージは、ユーザーが端末のロック解除に成功した後に使用可能になり、ユーザーが端末を再起動するまでアクセスできます。
 
 
-ユーザーが端末をロック解除した後にロック画面を有効にしても、資格情報暗号化ストレージはロックされません。
+ユーザーが端末をロック解除した後にロック画面を有効にしても、認証情報暗号化ストレージはロックされません。
 
 </p>
 
@@ -57,9 +57,9 @@
 
 <p>ダイレクト ブート モード中にアプリを実行したり、端末暗号化ストレージにアクセスしたりするには、アプリ コンポーネントの登録が必要です。
 
-アプリをシステムに登録するには、コンポーネントが暗号化対応するように指定します。
-<i></i>コンポーネントが暗号化対応するよう指定するには、マニフェスト内で 
-<code>android:encryptionAware</code> 属性を true に設定します。<p>
+アプリをシステムに登録するには、コンポーネントが
+<i>暗号化対応するように指定します。</i>コンポーネントが暗号化対応するよう指定するには、マニフェスト内で 
+<code>android:directBootAware</code> 属性を true に設定します。<p>
 
 <p>暗号化対応コンポーネントを登録しておくと、端末を再起動したときにシステムから 
 <code>LOCKED_BOOT_COMPLETED</code> ブロードキャスト メッセージを受信できます。
@@ -72,8 +72,8 @@
 </p>
 
 <pre>
-&lt;receiever
-  android:encryptionAware="true" &gt;
+&lt;receiver
+  android:directBootAware="true" &gt;
   ...
   &lt;intent-filter&gt;
     &lt;action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" /&gt;
@@ -81,26 +81,26 @@
 &lt;/receiver&gt;
 </pre>
 
-<p>ユーザーが端末のロックを解除すると、すべてのコンポーネントは端末暗号化ストレージと資格情報暗号化ストレージの両方にアクセスできます。
+<p>ユーザーが端末のロックを解除すると、すべてのコンポーネントは端末暗号化ストレージと認証情報暗号化ストレージの両方にアクセスできます。
 </p>
 
-<h2 id="access">暗号化端末ストレージにアクセスする</h2>
+<h2 id="access">端末暗号化ストレージにアクセスする</h2>
 
-<p>暗号化端末ストレージにアクセスするには、
-<code>Context.createDeviceEncryptedStorageContext()</code> を呼び出して追加の
+<p>端末暗号化ストレージにアクセスするには、
+<code>Context.createDeviceProtectedStorageContext()</code> を呼び出して追加の
 {@link android.content.Context} インスタンスを作成します。このコンテキストで実行されたストレージ API 呼び出しはすべて、端末暗号化ストレージにアクセスします。
 次の例では、端末暗号化ストレージにアクセスして既存のアプリのデータ ファイルを開きます。
 
 </p>
 
 <pre>
-Context directBootContext = Context.createDeviceEncryptedStorageContext();
+Context directBootContext = appContext.createDeviceProtectedStorageContext();
 // Access appDataFilename that lives in device encrypted storage
 FileInputStream inStream = directBootContext.openFileInput(appDataFilename);
 // Use inStream to read content...
 </pre>
 
-<p>端末暗号化ストレージは、ダイレクト ブート モード中にアクセスが必要な情報のみに使用してください。汎用的な暗号化された保存先として、端末暗号化ストレージを使用することはできません。ユーザーの個人情報や、ダイレクト ブート モード中に特に必要ではない暗号化されたデータには、資格情報暗号化ストレージを使用してください。
+<p>端末暗号化ストレージは、ダイレクト ブート モード中にアクセスが必要な情報のみに使用してください。汎用的な暗号化された保存先として、端末暗号化ストレージを使用することはできません。ユーザーの個人情報や、ダイレクト ブート モード中に特に必要ではない暗号化されたデータには、認証情報暗号化ストレージを使用してください。
 
 
 
@@ -108,7 +108,7 @@
 
 <h2 id="notification">ユーザーによる端末のロック解除の通知を受信する</h2>
 
-<p>再起動後にユーザーが端末のロックを解除すると、アプリは資格情報暗号化ストレージへのアクセスに切り替えて、ユーザーの資格情報に応じて通常のシステム サービスを使用します。
+<p>再起動後にユーザーが端末のロックを解除すると、アプリは認証情報暗号化ストレージへのアクセスに切り替えて、ユーザーの認証情報に応じて通常のシステム サービスを使用します。
 
 </p>
 
@@ -126,12 +126,12 @@
 
 <p>ユーザーが端末をアップデートしてダイレクト ブート モードを使用できるようになると、既存のデータを端末暗号化ストレージに移行しなければならない場合があります。
 
-<code>Context.migrateSharedPreferencesFrom()</code> および 
-<code>Context.migrateDatabaseFrom()</code> を使用すると、設定およびデータベースのデータを資格情報暗号化ストレージと端末暗号化ストレージ間で移行できます。
+<code>Context.moveSharedPreferencesFrom()</code> および 
+<code>Context.moveDatabaseFrom()</code> を使用すると、設定およびデータベースのデータを認証情報暗号化ストレージと端末暗号化ストレージ間で移行できます。
 </p>
 
-<p>どのデータを資格情報暗号化ストレージから端末暗号化ストレージに移行するかは、慎重に判断してください。
-パスワードや認証トークンなどのユーザーの個人情報は、端末暗号化ストレージに移行しないでください。
+<p>どのデータを認証情報暗号化ストレージから端末暗号化ストレージに移行するかは、慎重に判断してください。
+パスワードや承認トークンなどのユーザーの個人情報は、端末暗号化ストレージに移行しないでください。
 
 場合によっては、この 2 つの暗号化された保存先に、データセットを振り分けて管理する必要があります。
 </p>
diff --git a/docs/html-intl/intl/ja/preview/features/icu4j-framework.jd b/docs/html-intl/intl/ja/preview/features/icu4j-framework.jd
index c6b3d62..cf2063f 100644
--- a/docs/html-intl/intl/ja/preview/features/icu4j-framework.jd
+++ b/docs/html-intl/intl/ja/preview/features/icu4j-framework.jd
@@ -1,5 +1,4 @@
 page.title=ICU4J Android フレームワーク API
-page.tags=androidn
 page.image=images/cards/card-nyc_2x.jpg
 
 @jd:body
@@ -28,7 +27,7 @@
 </div>
 
 <p>
-  ICU4J は幅広く使用されている、オープン ソースの Java ライブラリのセットで、Unicode のほか、ソフトウェア アプリケーションのグローバル化のサポートを提供しています。
+  ICU4J は幅広く使用されている、オープンソースの Java ライブラリのセットで、Unicode のほか、ソフトウェア アプリのグローバル化のサポートを提供しています。
 Android N では、アプリのデベロッパー向けの Android フレームワーク内で ICU4J API のサブセットを公開しており、{@code android.icu} パッケージ内で使用できます。
 
 これらの API は、端末上のローカライズ データを使用します。
@@ -95,7 +94,7 @@
 </p>
 
 <p class="note">
-  <b>注:</b> ICU4J フレームワーク API では、名前空間に {@code com.ibm.icu} ではなく{@code android.icu} を使用します。
+  <b>注</b>:ICU4J フレームワーク API では、名前空間に {@code com.ibm.icu} ではなく{@code android.icu} を使用します。
 これは、独自の {@code com.ibm.icu} ライブラリを含む APK で名前空間が競合しないようにするためです。
 
 </p>
@@ -155,6 +154,6 @@
 <h2 id="licence">ライセンス</h2>
 
 <p>
-  ICU4J は ICU ライセンスでリリースされています。詳細については、<a class="external-link" href="http://userguide.icu-project.org/icufaq#TOC-How-is-the-ICU-licensed-">ICU User Guide</a> をご覧ください。
+  ICU4J は ICU ライセンスでリリースされています。詳細については、<a class="external-link" href="http://userguide.icu-project.org/icufaq#TOC-How-is-the-ICU-licensed-">ICU ユーザーガイド</a>をご覧ください。
 
 </p>
diff --git a/docs/html-intl/intl/ja/preview/features/multi-window.jd b/docs/html-intl/intl/ja/preview/features/multi-window.jd
index 2d54178..4ad3d94 100644
--- a/docs/html-intl/intl/ja/preview/features/multi-window.jd
+++ b/docs/html-intl/intl/ja/preview/features/multi-window.jd
@@ -19,6 +19,7 @@
       <ol>
         <li><a class="external-link" href="https://github.com/googlesamples/android-MultiWindowPlayground">マルチ ウィンドウ Playground のサンプルアプリ</a>
 </li>
+        <li><a class="external-link" href="https://medium.com/google-developers/5-tips-for-preparing-for-multi-window-in-android-n-7bed803dda64">Android N でマルチ ウィンドウを準備するための 5 つのヒント</a></li>
       </ol>
   </div>
 </div>
@@ -26,7 +27,7 @@
 <p>
   Android N には、複数のアプリを同時に表示するためのサポートが追加されています。
 ハンドヘルド端末で、分割画面モードにして、2 つのアプリを並べて実行したり、重ねて表示したりできます。<em></em>
-TV デバイスで、アプリがピクチャ イン ピクチャ モードでビデオを再生しているときに、ユーザーは別のアプリを操作できます。<em></em>
+TV 端末で、アプリがピクチャ イン ピクチャ モードで動画を再生しているときに、ユーザーは別のアプリを操作できます。<em></em>
 
 
 </p>
@@ -79,22 +80,22 @@
 </p>
 
 <ul>
-  <li>ユーザーは<a href="{@docRoot}guide/components/recents.html">オーバービュー画面</a>を開いているときに、アクティビティのタイトルを長押ししてから、そのアクティビティを画面の強調表示された部分にドラッグすることにより、アクティビティをマルチ ウィンドウ モードにすることができます。
+  <li>ユーザーは <a href="{@docRoot}guide/components/recents.html">[Overview] 画面</a>を開いているときに、アクティビティのタイトルを長押ししてから、そのアクティビティを画面の強調表示された部分にドラッグすることにより、アクティビティをマルチ ウィンドウ モードにすることができます。
 
 
 
   </li>
 
-  <li>ユーザーがオーバービュー ボタンを長押しすると、現在のアクティビティがマルチ ウィンドウ モードになり、オーバービュー画面が開くので、ユーザーは、画面で共有する別のアクティビティを選択できるようになります。
+  <li>ユーザーが [Overview] ボタンを長押しすると、現在のアクティビティがマルチ ウィンドウ モードになり、[Overview] 画面が開くので、ユーザーは、画面で共有する別のアクティビティを選択できるようになります。
 
 
   </li>
 </ul>
 
 <p>
-  ユーザーは、複数のアクティビティが画面を共有しているときに、データを 1 つのアクティビティから別のアクティビティに<a href="{@docRoot}guide/topics/ui/drag-drop.html">ドラッグ アンド ドロップ</a>できます
+  ユーザーは、複数のアクティビティが画面を共有しているときに、データを 1 つのアクティビティから別のアクティビティに<a href="{@docRoot}guide/topics/ui/drag-drop.html">ドラッグ&ドロップ</a>できます
 
-(以前は、単一のアクティビティ内でのみデータをドラッグ アンド ドロップできました)。
+(以前は、単一のアクティビティ内でのみデータをドラッグ&ドロップできました)。
 
 </p>
 
@@ -116,21 +117,23 @@
 </p>
 
 <p class="note">
-  <strong>注:</strong> マルチ ウィンドウ モードでは、アプリが一時停止状態になっても、そのアプリを表示したままにすることができます。
+  <strong>注:</strong>マルチ ウィンドウ モードでは、アプリが一時停止状態になっても、そのアプリを表示したままにすることができます。
 アプリは、一時停止していても、アクティビティを続行する必用がある場合があります。
-たとえば、一時停止モードになっているが、表示されているビデオ再生アプリは、ビデオの表示を継続する必要があります。
-そのため、ビデオを再生するアクティビティが {@link android.app.Activity#onPause onPause()} ハンドラでビデオを一時停止しないようにすることをお勧めします。
+たとえば、一時停止モードになっているが、表示されている動画再生アプリは、動画の表示を継続する必要があります。
+そのため、動画を再生するアクティビティが {@link android.app.Activity#onPause onPause()} ハンドラで動画を一時停止しないようにすることをお勧めします。
 
 <em></em>
   その代わり、これらのアクティビティは {@link android.app.Activity#onStop
-  onStop()} でビデオを一時停止し、{@link android.app.Activity#onStart
-  onStart()} でビデオの再生を再開する必要があります。
+  onStop()} で動画を一時停止し、{@link android.app.Activity#onStart
+  onStart()} で動画の再生を再開する必要があります。
 </p>
 
 <p>
   <a href="{@docRoot}guide/topics/resources/runtime-changes.html">実行時の変更の処理</a>で指定したように、ユーザーがアプリをマルチ ウィンドウ モードにすると、アクティビティに構成の変更が通知されます。
 
-基本的に、この構成の変更は、端末が縦表示から横表示に切り替えられたことをアプリに通知する場合と同じ影響(端末のディメンションが変更された場合を除いて)をアクティビティのライフサイクルに及ぼします。
+これは、ユーザーがアプリのサイズを変更するか、アプリを全画面モードに戻した場合にも行われます。
+
+  基本的に、この構成の変更は、端末が縦表示から横表示に切り替えられたことをアプリに通知する場合と同じ影響(端末のディメンションが変更された場合を除いて)をアクティビティのライフサイクルに及ぼします。
 
 
 <a href="{@docRoot}guide/topics/resources/runtime-changes.html">実行時の変更の処理</a>で説明したように、アクティビティは構成の変更を処理することができます。または、システムによってアクティビティを破棄し、新しいディメンションでアクティビティを再作成することもできます。
@@ -140,7 +143,7 @@
 </p>
 
 <p>
-  ユーザーがウィンドウのサイズを変更して、高さや幅を拡大した場合、ユーザー アクションに一致するようにアクティビティのサイズが変更され、必要に応じて、<a href="{@docRoot}guide/topics/resources/runtime-changes.html">実行時の変更</a>が発行されます。
+  ユーザーがウィンドウのサイズを変更して、高さや幅を拡大した場合、ユーザー操作に一致するようにアクティビティのサイズが変更され、必要に応じて、<a href="{@docRoot}guide/topics/resources/runtime-changes.html">実行時の変更</a>が発行されます。
 
 アプリで新しく表示された領域を描画するまでに時間がかかる場合、{@link
   android.R.attr#windowBackground windowBackground} 属性またはデフォルトの 
@@ -155,14 +158,16 @@
 サイズとレイアウトを制御するための属性をマニフェストに設定できます。
 
   ルート アクティビティ属性の設定は、タスクスタック内のすべてのアクティビティに適用されます。
+たとえば、ルート アクティビティにより 
+<code>android:resizeableActivity</code> が true に設定されると、タスク スタック内のすべてのアクティビティのサイズを変更できるようになります。
 
 </p>
 
 <p class="note">
-  <strong>注</strong>: Android N より前の SDK バージョンでマルチ オリエンテーション アプリをビルドして、そのアプリをマルチ ウィンドウ モードで使用する場合は、アプリのサイズが強制的に変更されます。
+  <strong>注:</strong>Android N より前の SDK バージョンでマルチ オリエンテーション アプリをビルドして、そのアプリをマルチ ウィンドウ モードで使用する場合は、アプリのサイズが強制的に変更されます。
 
 アプリに予想外の動作が発生する場合があることをユーザーに警告するダイアログ ボックスが表示されます。
-システムは、向きが固定されたアプリのサイズを変更しません。ユーザーがマルチ ウィンドウ モードで向きが固定されたアプリを開こうとすると、そのアプリが全画面で表示されます。<em></em>
+システムは、画面の向きが固定されたアプリのサイズを変更しません。ユーザーがマルチ ウィンドウ モードで画面の向きが固定されたアプリを開こうとすると、そのアプリが全画面で表示されます。<em></em>
 
 
 
@@ -239,7 +244,7 @@
   </dd>
 
   <dt>
-    <code>android:minimalSize</code>
+    <code>android:minimalHeight</code>、<code>android:minimalWidth</code>
   </dt>
 
   <dd>
@@ -261,7 +266,8 @@
     &lt;layout android:defaultHeight="500dp"
           android:defaultWidth="600dp"
           android:gravity="top|end"
-          android:minimalSize="450dp" /&gt;
+          android:minimalHeight="450dp"
+          android:minimalWidth="300dp" /&gt;
 &lt;/activity&gt;
 </pre>
 
@@ -295,13 +301,14 @@
 
 <p>
   マルチ ウィンドウ ディスプレイをサポートするために、次の新しいメソッドが {@link android.app.Activity} クラスに追加されています。
-各メソッドの詳細については、<a href="{@docRoot}preview/setup-sdk.html#docs-dl">N プレビュー SDK リファレンス</a>をご覧ください。
+各メソッドの詳細については、<a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK リファレンス</a>をご覧ください。
+
 
 </p>
 
 <dl>
   <dt>
-    <code>Activity.inMultiWindow()</code>
+    <code>Activity.isInMultiWindowMode()</code>
   </dt>
 
   <dd>
@@ -309,22 +316,22 @@
   </dd>
 
   <dt>
-    <code>Activity.inPictureInPicture()</code>
+    <code>Activity.isInPictureInPictureMode()</code>
   </dt>
 
   <dd>
     アクティビティがピクチャ イン ピクチャ モードで実行されているかどうかを判別するために呼び出します。
 
     <p class="note">
-      <strong>注</strong>: ピクチャ イン ピクチャ モードは、マルチ ウィンドウ モードの特別な形態です。
-<code>myActivity.inPictureInPicture()</code> が true を返す場合は、<code>myActivity.inMultiWindow()</code> も true を返します。
+      <strong>注:</strong>ピクチャ イン ピクチャ モードは、マルチ ウィンドウ モードの特別な形態です。
+<code>myActivity.isInPictureInPictureMode()</code> が true を返す場合は、<code>myActivity.isInMultiWindowMode()</code> も true を返します。
 
 
     </p>
   </dd>
 
   <dt>
-    <code>Activity.onMultiWindowChanged()</code>
+    <code>Activity.onMultiWindowModeChanged()</code>
   </dt>
 
   <dd>
@@ -335,7 +342,7 @@
   </dd>
 
   <dt>
-    <code>Activity.onPictureInPictureChanged()</code>
+    <code>Activity.onPictureInPictureModeChanged()</code>
   </dt>
 
   <dd>
@@ -347,7 +354,7 @@
 </dl>
 
 <p>
-  また、これらの各メソッドの {@link android.app.Fragment} バージョンがあります。たとえば、<code>Fragment.inMultiWindow()</code> です。
+  また、これらの各メソッドの {@link android.app.Fragment} バージョンがあります。たとえば、<code>Fragment.isInMultiWindowMode()</code> です。
 
 </p>
 
@@ -355,7 +362,7 @@
 
 <p>
   アクティビティをピクチャ イン ピクチャ モードにするには、新しいメソッド 
-<code>Activity.enterPictureInPicture()</code> を呼び出します。端末がピクチャ イン ピクチャ モードをサポートしない場合、このメソッドの効果はありません。
+<code>Activity.enterPictureInPictureMode()</code> を呼び出します。端末がピクチャ イン ピクチャ モードをサポートしない場合、このメソッドの効果はありません。
 詳細については、<a href="picture-in-picture.html">ピクチャ イン ピクチャ</a>に関するドキュメントをご覧ください。
 
 </p>
@@ -389,25 +396,25 @@
 </p>
 
 <p class="note">
-  <strong>注</strong>: タスクスタック内でアクティビティを起動すると、画面上のアクティビティが起動したアクティビティに置き換えられ、すべてのマルチ ウィンドウ プロパティが継承されます。
+  <strong>注:</strong>タスクスタック内でアクティビティを起動すると、画面上のアクティビティが起動したアクティビティに置き換えられ、すべてのマルチ ウィンドウ プロパティが継承されます。
 
 マルチ ウィンドウ モードで新しいアクティビティを別個の画面として起動する場合は、新しいアクティビティを新しいタスクスタックで起動する必要があります。
 
 </p>
 
-<h3 id="dnd">ドラッグ アンド ドロップのサポート</h3>
+<h3 id="dnd">ドラッグ&ドロップのサポート</h3>
 
 <p>
-  ユーザーは、2 つのアクティビティが画面を共有しているときに、データを 1 つのアクティビティから別のアクティビティに<a href="{@docRoot}guide/topics/ui/drag-drop.html">ドラッグ アンド ドロップ</a>できます
+  ユーザーは、2 つのアクティビティが画面を共有しているときに、データを 1 つのアクティビティから別のアクティビティに<a href="{@docRoot}guide/topics/ui/drag-drop.html">ドラッグ&ドロップ</a>できます
 
-(以前は、単一のアクティビティ内でのみデータをドラッグ アンド ドロップできました)。
-そのため、アプリがドラッグ アンド ドロップをサポートしていない場合は、ドラッグ アンド ドロップ機能をアプリに追加する必要があります。
+(以前は、単一のアクティビティ内でのみデータをドラッグ&ドロップできました)。
+そのため、アプリがドラッグ&ドロップをサポートしていない場合は、ドラッグ&ドロップ機能をアプリに追加する必要があります。
 
 </p>
 
 <p>
-  N プレビュー SDK では、異なるアプリ間のドラッグ アンド ドロップをサポートするために、<a href="{@docRoot}reference/android/view/package-summary.html"><code>android.view</code></a> パッケージが拡張されています。
-次のクラスとメソッドの詳細については、<a href="{@docRoot}preview/setup-sdk.html#docs-dl">N プレビュー SDK リファレンス</a>をご覧ください。
+  N Preview SDK では、異なるアプリ間のドラッグ&ドロップをサポートするために、<a href="{@docRoot}reference/android/view/package-summary.html"><code>android.view</code></a> パッケージが拡張されています。
+次のクラスとメソッドの詳細については、<a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK リファレンス</a>をご覧ください。
 
 
 </p>
@@ -427,7 +434,7 @@
   </dt>
 
   <dd>
-    {@link android.view.View#startDrag View.startDrag()} の新しいエイリアスです。異なるアクティビティ間のドラッグ アンド ドロップを有効にするには、新しいフラグ 
+    {@link android.view.View#startDrag View.startDrag()} の新しいエイリアスです。異なるアクティビティ間のドラッグ&ドロップを有効にするには、新しいフラグ 
 <code>View.DRAG_FLAG_GLOBAL</code> を渡します。
 URI パーミッションを受け取る側のアクティビティに付与する必要がある場合、必要に応じて、新しいフラグ 
 <code>View.DRAG_FLAG_GLOBAL_URI_READ</code> または 
@@ -478,23 +485,23 @@
 
 </p>
 
-<h3 id="test-non-n">アプリが N プレビュー SDK でビルドされていない場合</h3>
+<h3 id="test-non-n">アプリが N Preview SDK でビルドされていない場合</h3>
 
 <p>
-  アプリが N プレビュー SDK でビルドされていないときに、ユーザーがマルチ ウィンドウ モードでそのアプリを使用しようとすると、アプリが向きの固定を宣言しない限り、アプリのサイズが強制的に変更されます。
+  アプリが N Preview SDK でビルドされていないときに、ユーザーがマルチ ウィンドウ モードでそのアプリを使用しようとすると、アプリが画面の向きの固定を宣言しない限り、アプリのサイズが強制的に変更されます。
 
 
 </p>
 
 <p>
-  アプリが向きの固定を宣言しない場合、Android N を実行している端末でアプリを起動し、アプリを分割画面モードにすることを試みる必要があります。
+  アプリが画面の向きの固定を宣言しない場合、Android N を実行している端末でアプリを起動し、アプリを分割画面モードにすることを試みる必要があります。
 
 アプリのサイズが強制的に変更されたときに、ユーザー エクスペリエンスが許容範囲内にあることを確認してください。
 
 </p>
 
 <p>
-  アプリが向きの固定を宣言する場合、アプリをマルチ ウィンドウ モードにすることを試みる必要があります。
+  アプリが画面の向きの固定を宣言する場合、アプリをマルチ ウィンドウ モードにすることを試みる必要があります。
 アプリをマルチ ウィンドウ モードにすることを試みたとき、アプリが全画面モードのままであることを確認してください。
 
 </p>
@@ -502,18 +509,18 @@
 <h3 id="test-mw">マルチ ウィンドウ モードをサポートする場合</h3>
 
 <p>
-  アプリが N プレビュー SDK でビルドされていて、マルチ ウィンドウ モードが無効になっていない場合、分割画面モードとフリーフォーム モードの両方で次の動作を確認してください。
+  アプリが N Preview SDK でビルドされていて、マルチ ウィンドウ モードが無効になっていない場合、分割画面モードとフリーフォーム モードの両方で次の動作を確認してください。
 
 
 </p>
 
 <ul>
-  <li>アプリを全画面モードで起動してから、オーバービュー ボタンを長押しして、マルチ ウィンドウ モードに切り替えます。
+  <li>アプリを全画面モードで起動してから、[Overview] ボタンを長押しして、マルチ ウィンドウ モードに切り替えます。
 モードが適切に切り替わることを確認します。
   </li>
 
   <li>アプリをマルチ ウィンドウ モードで直接起動し、アプリが適切に起動することを確認します。
-オーバービュー ボタンを押すと、アプリをマルチ ウィンドウ モードで起動できます。次に、アプリのタイトルバーを長押しし、アプリを画面上の強調表示された領域のいずれかにドラッグします。
+[Overview] ボタンを押すと、アプリをマルチ ウィンドウ モードで起動できます。次に、アプリのタイトルバーを長押しし、アプリを画面上の強調表示された領域のいずれかにドラッグします。
 
 
   </li>
@@ -547,7 +554,7 @@
   </li>
 
   <li>1 つのアプリから別のアプリに切り替えたとき、最初のアプリの動作が適切であり、表示されているが、アクティブになっていないことを確認します。
-たとえば、アプリがビデオを再生している場合、ユーザーが別のアプリを操作しているときに、アプリでビデオの再生が継続していることを確認します。
+たとえば、アプリが動画を再生している場合、ユーザーが別のアプリを操作しているときに、アプリで動画の再生が継続していることを確認します。
 
 
   </li>
diff --git a/docs/html-intl/intl/ja/preview/features/multilingual-support.jd b/docs/html-intl/intl/ja/preview/features/multilingual-support.jd
index 543ecdd..44686d2 100644
--- a/docs/html-intl/intl/ja/preview/features/multilingual-support.jd
+++ b/docs/html-intl/intl/ja/preview/features/multilingual-support.jd
@@ -37,22 +37,26 @@
 <h2 id="preN">言語リソースの解決における課題</h2>
 
 <p>Android N より前のバージョンの Android では、アプリとシステムのロケールを一致させることができない場合がありました。
-たとえば、アプリのデフォルトの言語が米国英語で、{@code es_ES} リソース ファイルでスペイン語の文字列もローカライズされていたとします。
-
 </p>
-<p>Java コードが文字列を参照したとき、次のように文字列の言語を解決していました。
-</p>
-<ul>
-<li>端末が {@code es_MX}(スペイン語 - メキシコ)に設定されていた場合、Android は {@code es_ES} リソース ファイルから文字列を読み込みます。
+
+ <p>たとえば、以下の状況を想定します。</p>
+ <ul>
+ <li>アプリのデフォルトの言語が {@code en_US}(米国英語)で、{@code es_ES} リソース ファイルでスペイン語の文字列もローカライズされています。
+
 </li>
-<li>端末が {@code en_AU} に設定されていた場合、Android は代わりに {@code
-en_US} を読み込みます。ユーザーがアプリでまったくサポートされていないフランス語などを選択した場合にも、システムはデフォルトの {@code en_US} を読み込みます。
-</li>
-</ul>
+ <li> 端末は {@code es_MX} に設定されています。 </li>
+
+<p>Java コードが文字列を参照するときに、アプリでスペイン語のリソースが {@code es_ES} でローカライズされている場合でも、システムではデフォルト({@code en_US})リソース ファイルから文字列が読み込まれます。
+
+これは、システムで完全一致が見つからない場合に、ロケールから国コードを削除して引き続きリソースを探すためです。
+
+最後に、一致が見つからない場合は、デフォルトである {@code en_US} にフォールバックされます。
+ </p>
 
 
-<p>これらの解決の問題は、完全一致が見つからなかった場合に、ロケールの国コードが無視されることが原因で起こります。
+<p>ユーザーがアプリでまったくサポートされていないフランス語などを選択した場合にも、システムはデフォルトの {@code en_US} を読み込みます。
 次に例を示します。</p>
+
 <p class="table-caption" id="t-resource-res">
 <strong>表 1.</strong> ロケールの完全一致がない場合のリソース解決
 </p>
@@ -187,7 +191,7 @@
 <h2 id="design">追加のロケールをサポートするためのアプリ設計</h2>
 <h3>LocaleList API</h3>
 
-<p>Android N では、新しい API {@code LocaleList.GetDefault()} が加わりました。これにより、アプリは直接、ユーザーが指定した言語のリストを問い合わせることができます。
+<p>Android N では、新しい API {@code LocaleList.getDefault()} が加わりました。これにより、アプリは直接、ユーザーが指定した言語のリストを問い合わせることができます。
 この API を使用すると、アプリの動作がさらに洗練され、コンテンツの表示がより最適化されます。
 
 たとえば検索で、ユーザーの設定に基づいて複数の言語で結果を表示できます。
diff --git a/docs/html-intl/intl/ja/preview/features/notification-updates.jd b/docs/html-intl/intl/ja/preview/features/notification-updates.jd
index bbd8481..d7cdc36 100644
--- a/docs/html-intl/intl/ja/preview/features/notification-updates.jd
+++ b/docs/html-intl/intl/ja/preview/features/notification-updates.jd
@@ -16,12 +16,13 @@
   <li><a href="#direct">ダイレクト リプライ</a></li>
   <li><a href="#bundle">バンドル通知</a></li>
   <li><a href="#custom">カスタムビュー</a></li>
+  <li><a href="#style">メッセージ スタイル</a></li>
 </ol>
 
 </div>
 </div>
 
-<p>Android N には、アプリが視認性の高いインタラクティブな通知をポストできるようにする新しい API がいくつか導入されています。
+<p>Android N には、アプリが視認性の高いインタラクティブな通知を投稿できるようにする新しい API がいくつか導入されています。
 </p>
 
 <p>Android N では、ハンドセットでインライン リプライをサポートするために、既存の {@link android.support.v4.app.RemoteInput} 通知 API が拡張されています。
@@ -47,7 +48,7 @@
 
 <h2 id="direct">ダイレクト リプライ</h2>
 
-<p>Android N のダイレクト リプライ機能を使用すると、ユーザーは、テキスト メッセージにすばやく応答したり、通知インターフェース内でタスク リストを直接アップデートしたりできます。
+<p>Android N のダイレクト リプライ機能を使用すると、ユーザーは、テキスト メッセージにすばやく応答したり、通知インターフェース内でタスクリストを直接アップデートしたりできます。
 
 ハンドヘルド デバイスでは、インライン リプライ アクションが、通知にアタッチされた追加ボタンとして表示されます。
 ユーザーがキーボード経由で返信する場合、通知アクション向けに指定したインテントにテキストによる応答がアタッチされ、そのインテントがハンドヘルド デバイス用アプリに送信されます。
@@ -59,7 +60,7 @@
 <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>図 1.</strong>Android N に追加された<strong>リプライ</strong> アクション ボタン。
+  <strong>図 1.</strong> Android N に追加された [<strong>Reply</strong>] アクション ボタン。
 
 </p>
 
@@ -76,7 +77,7 @@
 
 
 <pre>
-// Key for the string that's delivered in the action's intent
+// 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)
@@ -88,7 +89,7 @@
 
 
 <pre>
-// Create the reply action and add the remote input
+// 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)
@@ -100,8 +101,8 @@
 <li>アクションを通知に適用し、通知を発行します。
 
 <pre>
-// Build the notification and add the action
-Notification notification =
+// Build the notification and add the action.
+Notification newMessageNotification =
         new Notification.Builder(mContext)
                 .setSmallIcon(R.drawable.ic_message)
                 .setContentTitle(getString(R.string.title))
@@ -109,10 +110,10 @@
                 .addAction(action))
                 .build();
 
-// Issue the notification
+// Issue the notification.
 NotificationManager notificationManager =
         NotificationManager.from(mContext);
-notificationManager.notify(notificationId, notification);
+notificationManager.notify(notificationId, newMessageNotification);
 
 </pre>
 </li>
@@ -126,33 +127,35 @@
 <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>図 2.</strong>ユーザーは通知シェードでテキスト メッセージを入力できます。
+  <strong>図 2.</strong> ユーザーは通知シェードでテキスト メッセージを入力できます。
 </p>
 
-<h3>インライン リプライからユーザー入力を取得する</h3>
+<h3>
+  インライン リプライからユーザー入力を取得する
+</h3>
 
-<p>リプライ アクションのインテントで宣言したアクティビティで、通知インターフェースからのユーザー入力を取得する方法は次のとおりです。
+<p>
+  リプライ アクションのインテントで宣言したアクティビティで、通知インターフェースからのユーザー入力を取得する方法は次のとおりです。
+
 </p>
+
 <ol>
-<li> 通知アクションのインテントを入力パラメータとして渡すことにより、{@link android.support.v4.app.RemoteInput#getResultsFromIntent
+  <li>通知アクションのインテントを入力パラメータとして渡すことにより、{@link android.support.v4.app.RemoteInput#getResultsFromIntent
   getResultsFromIntent()} を呼び出します。
 このメソッドは、テキストによる応答が含まれた {@link android.os.Bundle} を返します。
 
-</li>
 
-<pre>
+    <pre>
 Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
 </pre>
+  </li>
 
-<li>result キー({@link
-  android.support.v4.app.RemoteInput.Builder} コンストラクタに提供されている)を使用して、バンドルへのクエリを実行します。
-</li>
-</ol>
+  <li>result キー({@link
+  android.support.v4.app.RemoteInput.Builder} コンストラクタに提供されている)を使用して、バンドルへのクエリを実行します。次のコード スニペットに示すようにメソッドを作成することにより、このプロセスを完了して入力テキストを取得できます。
 
-<p>次のコード スニペットは、メソッドがバンドルから入力テキストを取得する方法を示しています。
-</p>
 
-<pre>
+
+    <pre>
 // Obtain the intent that started this activity by calling
 // Activity.getIntent() and pass it into this method to
 // get the associated string.
@@ -160,25 +163,58 @@
 private CharSequence getMessageText(Intent intent) {
     Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
     if (remoteInput != null) {
-            return remoteInput.getCharSequence(KEY_TEXT_REPLY);
-            }
+        return remoteInput.getCharSequence(KEY_TEXT_REPLY);
+    }
     return null;
  }
 </pre>
+  </li>
 
-<p>アプリはロジックを適用して、取得したテキストに対して実行するアクションを決定できます。インタラクティブなアプリ(チャットなど)の場合、ユーザーが適切に応答できるように通知自体により多くのコンテキスト(たとえば、ユーザー自身のメッセージを含めた、複数行のチャット履歴)を提供します。ユーザーが {@link android.support.v4.app.RemoteInput} を介して応答する場合は、{@code setRemoteInputHistory()} メソッドを使って、返信履歴にテキスト メッセージを含めます。
+  <li>以前の通知に指定したのと同じ通知 ID を使用して、別の通知をビルドして発行します。
+進捗インジケーターが通知インターフェースに表示されなくなり、リプライが正常に行われたことがわかります。
+
+この新しい通知で作業するときは、レシーバーの {@code onReceive()} メソッドに渡されるコンテキストを使用します。
 
 
+    <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>
+  チャットなどのインタラクティブなアプリでは、取得されたテキストを処理するときに、追加のコンテキストを含めると役立つ場合があります。
+たとえば、このようなアプリでは複数行のチャット履歴が表示されることがあります。
+{@link
+  android.support.v4.app.RemoteInput} を介してユーザーが応答した場合、{@code setRemoteInputHistory()} メソッドを使用してリプライ履歴を更新できます。
 
+</p>
+
+<p>
+  アプリがリモート入力を受け取った後、通知は更新またはキャンセルされる必要があります。
+ユーザーがダイレクト リプライを使用してリモート更新にリプライする場合は、通知をキャンセルしないでください。
+
+代わりに、通知を更新してユーザーのリプライを表示します。{@code MessagingStyle} を使用した通知の場合は、リプライを最新のメッセージとして追加する必要があります。
+
+他のテンプレートを使用する場合は、ユーザーのリプライをリモート入力履歴に追加できます。
 
 </p>
 
 <h2 id="bundle">バンドル通知</h2>
 
 <p>Android N は、通知のキューを表す新しい方法である
- <i>バンドル通知をデベロッパーに提供します</i>。この機能は、Android Wear の<a href="{@docRoot}training/wearables/notifications/stacks.html">通知スタック</a>機能に似ています。
+ <i>バンドル通知</i>をデベロッパーに提供します。この機能は、Android Wear の<a href="{@docRoot}training/wearables/notifications/stacks.html">通知スタック</a>機能に似ています。
 
 たとえば、受信したメッセージの通知をアプリで作成する場合、複数のメッセージが受信されると、通知が単一のグループにバンドルされます。
 
@@ -189,9 +225,9 @@
 <p>
   通知グループでは、通知グループを構成する通知が階層化されます。
   この階層の最上位には、そのグループの概要情報を表示する親通知があります。
-ユーザーは通知グループを順次展開できます。ユーザが階層を深くたどると、より多くの情報が表示されます。
+ユーザーは通知グループを順次展開できます。ユーザーが階層を深くたどると、より多くの情報が表示されます。
 
-ユーザーがバンドルを展開すると、すべての子通知の詳細情報が表示されます。ユーザーがいずれかの通知を展開すると、その内容がすべて表示されます。
+ユーザーがバンドルを展開すると、すべての子通知の詳細情報が表示されます。ユーザーがいずれかの通知を展開すると、そのコンテンツがすべて表示されます。
 
 
 </p>
@@ -199,7 +235,13 @@
 <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>図 3.</strong>ユーザーは通知グループを順次展開できます。
+  <strong>図 3.</strong> ユーザーは通知グループを順次展開できます。
+
+</p>
+
+<p class="note">
+  <strong>注:</strong>同じアプリが 4 つ以上の通知を送信するときにグループ化が指定されていない場合、システムにより自動的に通知がグループ化されます。
+
 
 </p>
 
@@ -236,7 +278,7 @@
 </p>
 
 <p>
-単一の通知が望ましいユースケースの例には、1 人のユーザーからの個別メッセージや、1 行のテキスト アイテムのリスト表示が含まれます。
+単一の通知が望ましいユースケースの例には、1 人のユーザーからの個別メッセージや、1 行のテキスト メッセージ アイテムのリスト表示が含まれます。
 
 このリスト表示を行うには、
 {@link android.app.Notification.InboxStyle InboxStyle} または {@link android.app.Notification.BigTextStyle BigTextStyle} を使用します。
@@ -247,7 +289,7 @@
 <h3 id ="post">バンドル通知を表示する</h3>
 
 <p>
-  アプリは、グループに単一の子通知が含まれている場合でも、グループの概要を常にポストする必要があります。
+  アプリは、グループに単一の子通知が含まれている場合でも、グループの概要を常に送信する必要があります。
 グループに単一の通知のみが含まれている場合、システムによって、概要の表示が非表示になり、子通知が直接表示されます。
 これにより、ユーザーがグループの子通知をスワイプして消すときに一貫した使用感が出ます。
 
@@ -255,7 +297,7 @@
 </p>
 
 <p class="note">
-  <strong>注:</strong> このバージョンの Android N では、単一の子通知が含まれる通知グループの概要を非表示にできません。
+  <strong>注:</strong>このバージョンの Android N では、単一の子通知が含まれる通知グループの概要を非表示にできません。
 この機能は、将来のバージョンの Android N に追加されます。
 
 </p>
@@ -314,11 +356,11 @@
 <p>この新しい API を使用するには、{@code setStyle()} メソッドを呼び出し、目的のカスタムビュー スタイルに渡します。
 </p>
 
-<p>次のコード スニペットは、{@code DecoratedCustomViewStyle()} メソッドでカスタム通知オブジェクトを作成する方法を示しています。
-</p>
+<p>次のコード スニペットは、
+{@code DecoratedCustomViewStyle()} メソッドでカスタム通知オブジェクトを作成する方法を示しています。</p>
 
 <pre>
-Notification noti = new Notification.Builder()
+Notification notification = new Notification.Builder()
            .setSmallIcon(R.drawable.ic_stat_player)
            .setLargeIcon(albumArtBitmap))
            .setCustomContentView(contentView);
@@ -326,3 +368,26 @@
            .build();
 
 </pre>
+
+<h2 id="style">メッセージング スタイル</h2>
+<p>
+  Android N では、通知スタイルをカスタマイズするための新しい API が提供されます。
+  <code>MessageStyle</code> クラスを使用して、会話タイトル、追加メッセージ、通知のコンテンツ ビューなど、通知に表示される複数のラベルを変更できます。
+
+
+</p>
+
+<p>
+  次のコード スニペットは、<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/ja/preview/features/picture-in-picture.jd b/docs/html-intl/intl/ja/preview/features/picture-in-picture.jd
index a7f2a92..faf63ea 100644
--- a/docs/html-intl/intl/ja/preview/features/picture-in-picture.jd
+++ b/docs/html-intl/intl/ja/preview/features/picture-in-picture.jd
@@ -15,7 +15,9 @@
 </li>
   <li><a href="#handling_ui">ピクチャ イン ピクチャの実行中に UI を処理する</a>
 </li>
-  <li><a href="#continuing_playback">ピクチャ イン ピクチャの実行中にビデオの再生を続行する
+  <li><a href="#continuing_playback">ピクチャ イン ピクチャの実行中に動画の再生を続行する
+</a></li>
+  <li><a href="#single_playback">ピクチャ イン ピクチャで単一の再生アクティビティを使用する
 </a></li>
   <li><a href="#best">ベスト プラクティス</a></li>
 </ol>
@@ -29,9 +31,9 @@
 </div>
 </div>
 
-<p>Android N では、Android TV ユーザーは、アプリを操作するときに画面の隅に固定されたウィンドウでビデオを視聴できるようになりました。
+<p>Android N では、Android TV ユーザーは、アプリを操作するときに画面の隅に固定されたウィンドウで動画を視聴できるようになりました。
 
-ピクチャ イン ピクチャ(PIP)モードを使用すると、アプリはバックグランドで別のアクティビティを続けながら、固定されたウィンドウでビデオ アクティビティを実行できるようになります。
+ピクチャ イン ピクチャ(PIP)モードを使用すると、アプリはバックグランドで別のアクティビティを続けながら、固定されたウィンドウで動画アクティビティを実行できるようになります。
 
 PIP ウィンドウでは、アプリの使用中にマルチタスクを実行できます。これにより、ユーザーの作業効率が向上します。
 </p>
@@ -40,30 +42,30 @@
 </p>
 
 <ul>
-<li>ユーザーが別のコンテンツを閲覧するためにビデオから別のコンテンツに切り替えると、アプリはビデオを PIP モードに切り替えることができます。
+<li>ユーザーが別のコンテンツをブラウジングするために動画から別のコンテンツに切り替えると、アプリは動画を PIP モードに切り替えることができます。
 </li>
-<li>コンテンツのエピソード終了の画面が表示されている間、アプリはビデオを PIP モードに切り替えることができます。
+<li>コンテンツのエピソード終了の画面が表示されている間、アプリは動画を PIP モードに切り替えることができます。
 メイン画面には、シリーズの次のエピソードに関するプロモーションや概要の情報が表示されます。
 </li>
-<li>アプリで、ユーザーがビデオを視聴している間に、追加のコンテンツのキューを作成する方法を提供できます。
-メイン画面でコンテンツの選択アクティビティを表示している間に、ビデオは PIP モードで再生を続行できます。
+<li>アプリで、ユーザーが動画を視聴している間に、追加のコンテンツのキューを作成する方法を提供できます。
+メイン画面でコンテンツの選択アクティビティを表示している間に、動画は PIP モードで再生を続行できます。
 </li>
 </ul>
 
 <p>PIP ウィンドウは 240 x 135 dp で、画面の 4 つのコーナーのうちいずれかの一番上のレイヤに表示されます。表示する場所はシステムによって選択されます。
 ユーザーは PIP メニューを表示して、PIP ウィンドウを全画面表示に切り替えたり、リモコンの [<b>Home</b>] ボタンを押して PIP ウィンドウを閉じたりすることができます。
 
-別のビデオがメイン画面で再生を開始すると、PIP ウィンドウは自動的に閉じます。
+別の動画がメイン画面で再生を開始すると、PIP ウィンドウは自動的に閉じます。
 
 最近使ったアプリから PIP ウィンドウを閉じることもできます。</p>
 
 <img src="{@docRoot}preview/images/pip-active.png" />
-<p class="img-caption"><strong>図 1.</strong> ユーザーがメイン画面でコンテンツを閲覧中に画面の隅に表示されるピクチャ イン ピクチャのビデオ
+<p class="img-caption"><strong>図 1.</strong> ユーザーがメイン画面でコンテンツを閲覧中に画面の隅に表示されるピクチャ イン ピクチャの動画
 
 </p>
 
-<p>PIP では、Android N で使用可能なマルチウィンドウ API を活用し、固定されたビデオ オーバーレイ ウィンドウを表示します。
-PIP をアプリに追加するには、PIP をサポートするアクティビティを登録し、必要に応じてアクティビティを PIP モードに切り替えて、UI 要素を非表示にして、アクティビティが PIP モードを開始してもビデオの再生が続行されるようにします。
+<p>PIP では、Android N で使用可能なマルチウィンドウ API を活用し、固定された動画オーバーレイ ウィンドウを表示します。
+PIP をアプリに追加するには、PIP をサポートするアクティビティを登録し、必要に応じてアクティビティを PIP モードに切り替えて、UI 要素を非表示にして、アクティビティが PIP モードを開始しても動画の再生が続行されるようにします。
 
 
 </p>
@@ -72,7 +74,7 @@
 
 <p>デフォルトでは、システムはアプリの PIP を自動的にサポートしません。アプリで PIP をサポートする場合、マニフェストで 
 <code>android:supportsPictureInPicture</code> および 
-<code>android:resizeableActivity</code> を <code>true</code> に設定して、ビデオ アクティビティを登録します。
+<code>android:resizeableActivity</code> を <code>true</code> に設定して、動画アクティビティを登録します。
 
 また、アクティビティがレイアウトの設定変更を処理するように指定して、PIP モードの遷移中にレイアウト変更が発生しても、アクティビティが再開しないようにします。
 
@@ -88,7 +90,7 @@
 </pre>
 
 <p>アクティビティを登録する際は、PIP モードでは、アクティビティが TV 画面の小さなオーバーレイ ウィンドウに表示される点に注意してください。
-ビデオの再生アクティビティは、最小限の UI にすることで最高のユーザー エクスペリエンスを提供できます。
+動画の再生アクティビティは、最小限の UI にすることで最高のユーザー エクスペリエンスを提供できます。
 小さな UI 要素を含むアクティビティでは、PIP モードに切り替えたときに優れたユーザー エクスペリエンスを提供できない可能性があります。PIP ウィンドウでは、その UI 要素の詳細が見えづらくなるためです。
 
 
@@ -97,7 +99,7 @@
 <h2 id="pip_button">アクティビティをピクチャ イン ピクチャに切り替える</h2>
 
 アクティビティを PIP モードに切り替える必要があるときは、
-<code>Activity.enterPictureInPicture()</code> を呼び出します。次の例では、ユーザーがメディア コントロール バーにある専用の PIP ボタンを選択したときに、PIP モードに切り替わります。
+<code>Activity.enterPictureInPictureMode()</code> を呼び出します。次の例では、ユーザーがメディア コントロール バーにある専用の PIP ボタンを選択したときに、PIP モードに切り替わります。
 
 </p>
 
@@ -105,13 +107,13 @@
 &#64;Override
 public void onActionClicked(Action action) {
     if (action.getId() == R.id.lb_control_picture_in_picture) {
-        getActivity().enterPictureInPicture();
+        getActivity().enterPictureInPictureMode();
         return;
     }
     ...
 </pre>
 
-<p>メディア コントロール バーに PIP ボタンを追加すると、ユーザーがビデオの再生を操作中に、簡単に PIP モードに切り替えることができます。
+<p>メディア コントロール バーに PIP ボタンを追加すると、ユーザーが動画の再生を操作中に、簡単に PIP モードに切り替えることができます。
 </p>
 
 <img src="{@docRoot}preview/images/pip-button.png" />
@@ -124,17 +126,17 @@
 
 <h2 id="handling_ui">ピクチャ イン ピクチャの実行中に UI を処理する</h2>
 
-<p>アクティビティが PIP モードを開始したら、ビデオの再生のみを表示する必要があります。
-アクティビティが PIP を開始する前に UI 要素を削除して、再び全画面表示に戻ったら、削除した要素を復元します。<code>Activity.onPictureInPictureChanged()</code> または 
-<code>Fragment.onPictureInPictureChanged()</code> をオーバーライドして、必要に応じて UI 要素を有効または無効にします。次に例を示します。
+<p>アクティビティが PIP モードを開始したら、動画の再生のみを表示する必要があります。
+アクティビティが PIP を開始する前に UI 要素を削除して、再び全画面表示に戻ったら、削除した要素を復元します。<code>Activity.onPictureInPictureModeChanged()</code> または 
+<code>Fragment.onPictureInPictureModeChanged()</code> をオーバーライドして、必要に応じて UI 要素を有効または無効にします。次に例を示します。
 
 
 </p>
 
 <pre>
 &#64;Override
-public void onPictureInPictureChanged(boolean inPictureInPicture) {
-    if (inPictureInPicture) {
+public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
+    if (isInPictureInPictureMode) {
         // Hide the controls in picture-in-picture mode.
         ...
     } else {
@@ -144,11 +146,11 @@
 }
 </pre>
 
-<h2 id="continuing_playback">ピクチャ イン ピクチャの実行中にビデオの再生を続行する
+<h2 id="continuing_playback">ピクチャ イン ピクチャの実行中に動画の再生を続行する
 </h2>
 
 <p>アクティビティを PIP に切り替えると、システムはそのアクティビティを一時停止状態と見なして、アクティビティの <code>onPause()</code> メソッドを呼び出します。
-PIP モードによってアクティビティが一時停止になっても、ビデオの再生は一時停止せず、再生を続ける必要があります。
+PIP モードによってアクティビティが一時停止になっても、動画の再生は一時停止せず、再生を続ける必要があります。
 
 アクティビティの 
 <code>onPause()</code> メソッドで PIP を確認し、適切に再生を処理してください。次に例を示します。
@@ -157,8 +159,8 @@
 <pre>
 &#64;Override
 public void onPause() {
-    // If called due to PIP, do not pause playback
-    if (inPictureInPicture()) {
+    // If called while in PIP mode, do not pause playback
+    if (isInPictureInPictureMode()) {
         // Continue playback
         ...
     }
@@ -170,9 +172,34 @@
 <p>アクティビティが PIP モードを終了して全画面モードに戻ると、システムはアクティビティを再開して <code>onResume()</code> メソッドを呼び出します。
 </p>
 
+<h2 id="single_playback">ピクチャ イン ピクチャで単一の再生アクティビティを使用する
+</h2>
+
+<p>動画再生アクティビティが PIP モードのときに、ユーザーがアプリのメイン画面でコンテンツをブラウズ中に新しい動画を選択することがあります。
+全画面モードの既存の再生アクティビティで新しい動画を再生します。新しいアクティビティを起動するとユーザーが混乱する可能性があります。
+
+</p>
+
+<p>動画再生リクエストに対して単一のアクティビティが使用されるようにし、必要に応じて PIP モードの切り替えが行われるようにするには、マニフェストでアクティビティの 
+<code>android:launchMode</code> を <code>singleTask</code> に設定します。
+
+</p>
+
+<pre>
+&lt;activity android:name="VideoActivity"
+    ...
+    android:supportsPictureInPicture="true"
+    android:launchMode="singleTask"
+    ...
+</pre>
+
+<p>アクティビティで、{@link android.app.Activity#onNewIntent
+Activity.onNewIntent()} をオーバーライドして新しい動画を処理し、既存の動画再生を必要に応じて停止します。
+</p>
+
 <h2 id="best">ベスト プラクティス</h2>
 
-<p>PIP は、ビデオを全画面表示で再生するアクティビティに使用します。アクティビティを PIP モードに切り替えるときは、ビデオ コンテンツ以外は何も表示しないでください。アクティビティが PIP モードを開始したタイミングを検出し、<a href="#handling_ui">ピクチャ イン ピクチャの実行中に UI を処理する</a>で説明したように、UI 要素を非表示にします。
+<p>PIP は、動画を全画面表示で再生するアクティビティに使用します。アクティビティを PIP モードに切り替えるときは、動画コンテンツ以外は何も表示しないでください。アクティビティが PIP モードを開始したタイミングを検出し、<a href="#handling_ui">ピクチャ イン ピクチャの実行中に UI を処理する</a>で説明したように、UI 要素を非表示にします。
 
 
 </p>
diff --git a/docs/html-intl/intl/ja/preview/features/scoped-folder-access.jd b/docs/html-intl/intl/ja/preview/features/scoped-folder-access.jd
index 6bfae2d..e77e481 100644
--- a/docs/html-intl/intl/ja/preview/features/scoped-folder-access.jd
+++ b/docs/html-intl/intl/ja/preview/features/scoped-folder-access.jd
@@ -21,18 +21,18 @@
 次に例を示します。</p>
 
 <ul>
-<li>マニフェストで {@link android.Manifest.permission#READ_EXTERNAL_STORAGE} または {@link android.Manifest.permission#WRITE_EXTERNAL_STORAGE} を要求すると、外部ストレージ上のすべての公開ディレクトリにアクセスできますが、この場合、アプリが不要な場所にもアクセスできます。
+<li>マニフェストで {@link android.Manifest.permission#READ_EXTERNAL_STORAGE} または {@link android.Manifest.permission#WRITE_EXTERNAL_STORAGE} を要求すると、外部ストレージ上のすべての公開ディレクトリにアクセスできますが、この場合、アプリが必要な場所以外にもアクセスできることになります。
 
 
 </li>
-<li><a href="{@docRoot}guide/topics/providers/document-provider.html">ストレージ アクセス フレームワーク</a>を使用すると、通常、ユーザーはシステム UI を使用してディレクトリを選択できますが、アプリが常に同じ外部ディレクトリにアクセスする場合、この選択は不要です。Android N では、一般的な外部ストレージ ディレクトリにアクセスできる、新しいシンプルな API を提供します。
+<li><a href="{@docRoot}guide/topics/providers/document-provider.html">ストレージ アクセス フレームワーク</a>を使用すると、通常、ユーザーはシステム UI を使用してディレクトリを選択できますが、アプリが常に同じ外部ディレクトリにアクセスする場合、この選択は不要です。
 
 
 
 </li>
 </ul>
 
-<p>
+<p>Android N では、一般的な外部ストレージ ディレクトリにアクセスできる、新しいシンプルな API を提供します。
  </p>
 
 <h2 id="accessing">外部ストレージのディレクトリへのアクセス</h2>
@@ -40,8 +40,22 @@
 <p><code>StorageManager</code> クラスを使用して、適切な 
 <code>StorageVolume</code> インスタンスを取得します。次に、そのインスタンスの 
 <code>StorageVolume.createAccessIntent()</code> メソッドを呼び出して、インテントを作成します。このインテントを使用して、外部ストレージのディレクトリにアクセスします。
-リムーバブル メディア ボリュームなど、使用できるすべてのボリュームのリストを取得するには、
-<code>StorageManager.getVolumesList()</code> を使用します。
+リムーバブル メディア ボリュームなど、使用できるすべてのボリュームのリストを取得するには、<code>StorageManager.getVolumesList()</code> を使用します。
+
+</p>
+
+<p>特定のファイルに関する情報がある場合は、
+<code>StorageManager.getStorageVolume(File)</code> を使用して、そのファイルを含む 
+<code>StorageVolume</code> を取得します。この <code>StorageVolume</code> で 
+<code>createAccessIntent()</code> を呼び出し、このファイルの外部ストレージ ディレクトリにアクセスします。
+</p>
+
+<p>
+外部 SD カードなどのセカンダリ ボリュームで、
+<code>StorageVolume.createAccessIntent()</code> を呼び出すときに null を渡し、特定のディレクトリではなくボリューム全体へのアクセスをリクエストします。プライマリ ボリュームに null を渡すか、無効なディレクトリ名を渡すと、
+<code>StorageVolume.createAccessIntent()</code> は null を返します。
+
+
 </p>
 
 <p>次のコード スニペットは、プライマリ共有ストレージの 
@@ -59,7 +73,7 @@
 
 <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" />
-<p class="img-caption"><strong>図 1.</strong> Pictures ディレクトリへのアクセスを要求するアプリケーション
+<p class="img-caption"><strong>図 1.</strong> Pictures ディレクトリへのアクセスを要求するアプリ
 </p>
 
 <p>ユーザーがアクセスを付与すると、
@@ -74,7 +88,7 @@
 <code>Activity.RESULT_CANCELED</code> の結果コードと、null のインテント データを指定して、
 <code>onActivityResult()</code> のオーバーライドを呼び出します。</p>
 
-<p class="note"><b>注:</b> 特定の外部ディレクトリへのアクセスを取得すると、そのディレクトリ内のサブディレクトリへのアクセスも取得します。
+<p class="note"><b>注</b>:特定の外部ディレクトリへのアクセスを取得すると、そのディレクトリ内のサブディレクトリへのアクセスも取得します。
 </p>
 
 <h2 id="removable">リムーバブル メディアのディレクトリへのアクセス</h2>
@@ -119,6 +133,16 @@
 
 </p>
 
-<p>ユーザーが外部ディレクトリへのアクセスを拒否した直後に、またアクセスを要求しないようにしてください。
+<p>ユーザーが外部ディレクトリへのアクセスを拒否した直後に、またアクセスをリクエストしないようにしてください。
 何度もアクセスを要求すると、ユーザー エクスペリエンスが低下します。
+リクエストがユーザーにより拒否され、アプリが再度アクセスをリクエストすると、UI に [<b>Don't ask again</b>] チェックボックスが表示されます。
 </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" />
+<p class="img-caption"><strong>図 1.</strong> リムーバブル メディアへのアクセスに対して 2 回目のリクエストを行うアプリ。
+</p>
+
+<p>ユーザーが [<b>Don't ask again</b>] を選択してリクエストを拒否すると、特定のディレクトリに対するアプリからの今後のすべてのリクエストは自動的に拒否され、リクエストに関する UI は表示されなくなります。
+
+</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/preview/features/security-config.jd b/docs/html-intl/intl/ja/preview/features/security-config.jd
index adc99af..1fbfe72 100644
--- a/docs/html-intl/intl/ja/preview/features/security-config.jd
+++ b/docs/html-intl/intl/ja/preview/features/security-config.jd
@@ -12,7 +12,7 @@
   <li><a href="#manifest">セキュリティ構成ファイルの追加</a></li>
   <li><a href="#CustomTrust">信頼できる CA のカスタマイズ</a>
       <ol>
-      <li><a href="#ConfigCustom">信頼できる CA の構成</a></li>
+      <li><a href="#ConfigCustom">カスタムの CA の設定</a></li>
       <li><a href="#LimitingCas">信頼できる CA の制限</a></li>
       <li><a href="#TrustingAdditionalCas">信頼できる CA の追加</a></li>
       </ol>
@@ -44,12 +44,12 @@
   </li>
 
   <li>
-    <b>デバッグ限定のオーバーライド:</b>インストール ベースに対する追加リスクなしに、アプリのセキュアな接続を安全にデバッグできます。<b>クリアテキスト トラフィックのオプトアウト:</b>
+    <b>デバッグのみのオーバーライド:</b>インストール ベースに対する追加リスクなしに、アプリのセキュアな接続を安全にデバッグできます。
 
   </li>
 
   <li>
-クリアテキスト トラフィックの意図しない使用からアプリを保護できます。
+    <b>クリアテキスト トラフィックのオプトアウト:</b>クリアテキスト トラフィックの意図しない使用からアプリを保護できます。
 
   </li>
 
@@ -71,12 +71,13 @@
 
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?&gt;
-...
-&lt;app ...&gt;
+&lt;manifest ... &gt;
+  &lt;application ... &gt;
     &lt;meta-data android:name="android.security.net.config"
                android:resource="@xml/network_security_config" /&gt;
     ...
-&lt;/app&gt;
+  &lt;/application&gt;
+&lt;/manifest&gt;
 </pre>
 
 <h2 id="CustomTrust">信頼できる CA のカスタマイズ</h2>
@@ -109,7 +110,7 @@
 </p>
 
 
-<h3 id="ConfigCustom">信頼できる CA の構成</h3>
+<h3 id="ConfigCustom">カスタムの CA の設定</h3>
 
 <p>
   自己署名 SSL 証明書を使用するホストか、または信頼できる非パブリック CA(社内の CA など)によって SSL 証明書が発行されているホストに接続するケースで説明します。
@@ -285,7 +286,7 @@
 </p>
 
 <p>
-  証明書のピン留めを使用するときは、必ずバックアップの鍵を含めてください。そうすれば、新しい鍵に切り替えたり、CA を変更したりする必要が生じた場合に(CA の証明書またはその CA の中間証明書にピン留めしていても)、アプリの接続が影響を受けることはありません。
+  証明書のピン留めを使用するときは、必ずバックアップの鍵を含めてください。そうすれば、新しい鍵に切り替えたり、CA を変更したりする必要が生じた場合に(CA 証明書またはその CA の中間証明書にピン留めしていても)、アプリの接続が影響を受けることはありません。
 
 
 そうしないと、接続を復元するためにアプリにアップデートをプッシュしなければならなくなります。
@@ -310,6 +311,7 @@
             &lt;pin digest="SHA-256"&gt;7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=&lt;/pin&gt;
             &lt;!-- backup pin --&gt
             &lt;pin digest="SHA-256"&gt;fwza0LRMXouZHRC8Ei+4PyuldPDcf3UKgO/04cDM1oE=&lt;/pin&gt;
+        &lt;/pin-set&gt;
     &lt;/domain-config&gt;
 &lt;/network-security-config&gt;
 </pre>
@@ -327,7 +329,7 @@
   固有のエントリに値が設定されていない場合、その次に汎用的なエントリの値が使用されます。
 {@code domain-config} で設定されていない値は、ネストされている場合は親の {@code domain-config} から、ネストされていない場合は {@code
   base-config} から取得されます。
-{@code base-config} で設定されていない値には、プラットフォームのデフォルト値を使用します。
+{@code base-config} で設定されていない値には、プラットフォームの既定値を使用します。
 
 </p>
 
@@ -409,7 +411,7 @@
 
 <dl class="xml">
   <dt>
-    含めることのできる要素: 
+    含めることのできる要素:
   </dt>
 
   <dd>
@@ -426,7 +428,7 @@
 
 <dl class="xml">
   <dt>
-    構文: 
+    構文:
   </dt>
 </dl>
 
@@ -438,7 +440,7 @@
 </pre>
 <dl class="xml">
   <dt>
-    含めることのできる要素: 
+    含めることのできる要素:
   </dt>
 
   <dd>
@@ -446,7 +448,7 @@
   </dd>
 
   <dt>
-    説明: 
+    説明:
   </dt>
 
   <dd>
@@ -454,7 +456,7 @@
 
 
 <p>
-  設定されていない値はすべて、プラットフォームのデフォルト値を使用します。API レベル 24 以上をターゲットにしたアプリのデフォルトの構成は次のとおりです。
+  設定されていない値はすべて、プラットフォームの既定値を使用します。API レベル 24 以上をターゲットにしたアプリのデフォルトの構成は次のとおりです。
 
 </p>
 
@@ -480,14 +482,14 @@
 
 <h3 id="domain-config">&lt;domain-config&gt;</h3>
 <dl class="xml">
-<dt>構文: </dt>
+<dt>構文:</dt>
 <dd>
 <pre class="stx">&lt;domain-config <a href="#usesCleartextTraffic">usesCleartextTraffic</a>=["true" | "false"]&gt;
     ...
 &lt;/domain-config&gt;</pre>
 </dd>
 
-<dt>含めることのできる要素: </dt>
+<dt>含めることのできる要素:</dt>
 
 <dd>
 1 つ以上の <code><a href="#domain">&lt;domain&gt;</a></code>
@@ -507,7 +509,7 @@
 
 <dl class="xml">
   <dt>
-    構文: 
+    構文:
   </dt>
 
   <dd>
@@ -517,7 +519,7 @@
   </dd>
 
   <dt>
-    属性: 
+    属性:
   </dt>
 
   <dd>
@@ -535,7 +537,7 @@
   </dd>
 
   <dt>
-    説明: 
+    説明:
   </dt>
 </dl>
 
@@ -543,7 +545,7 @@
 
 <dl class="xml">
   <dt>
-    構文: 
+    構文:
   </dt>
 
   <dd>
@@ -555,7 +557,7 @@
   </dd>
 
   <dt>
-    含めることのできる要素: 
+    含めることのできる要素:
   </dt>
 
   <dd>
@@ -563,7 +565,7 @@
   </dd>
 
   <dt>
-    説明: 
+    説明:
   </dt>
 
   <dd>
@@ -580,7 +582,7 @@
 <h3 id="trust-anchors">&lt;trust-anchors&gt;</h3>
 <dl class="xml">
   <dt>
-    構文: 
+    構文:
   </dt>
 
   <dd>
@@ -592,7 +594,7 @@
   </dd>
 
   <dt>
-    含めることのできる要素: 
+    含めることのできる要素:
   </dt>
 
   <dd>
@@ -600,7 +602,7 @@
   </dd>
 
   <dt>
-    説明: 
+    説明:
   </dt>
 
   <dd>
@@ -611,14 +613,14 @@
 
 <h3 id="certificates">&lt;certificates&gt;</h3>
 <dl class="xml">
-<dt>構文: </dt>
+<dt>構文:</dt>
 <dd><pre class="stx">&lt;certificates src=["system" | "user" | "<i>raw resource</i>"]
               overridePins=["true" | "false"] /&gt;
 </pre></dd>
-<dt>説明: </dt>
+<dt>説明:</dt>
 <dd>{@code trust-anchors} 要素の X.509 証明書のセットです。</dd>
 
-<dt>属性: </dt>
+<dt>属性:</dt>
 <dd><dl class="attr">
 <dt>{@code src}</dt>
 <dd>
@@ -648,7 +650,7 @@
   </p>
 
   <p>
-    デフォルトは {@code "false"} です。ただし、{@code debug-overrides} 要素で指定された場合のデフォルトは {@code "true"} です。
+    デフォルトは {@code "false"} です。ただし、{@code debug-overrides} 要素で指定された場合の既定値は {@code "true"} です。
 
   </p>
 </dd>
@@ -660,7 +662,7 @@
 
 <dl class="xml">
   <dt>
-    構文: 
+    構文:
   </dt>
 
   <dd>
@@ -672,7 +674,7 @@
   </dd>
 
   <dt>
-    含めることのできる要素: 
+    含めることのできる要素:
   </dt>
 
   <dd>
@@ -680,7 +682,7 @@
   </dd>
 
   <dt>
-    説明: 
+    説明:
   </dt>
 
   <dd>
@@ -690,7 +692,7 @@
   </dd>
 
   <dt>
-    属性: 
+    属性:
   </dt>
 
   <dd>
@@ -716,7 +718,7 @@
 <h3 id="pin">&lt;pin&gt;</h3>
 <dl class="xml">
   <dt>
-    構文: 
+    構文:
   </dt>
 
   <dd>
@@ -727,7 +729,7 @@
   </dd>
 
   <dt>
-    属性: 
+    属性:
   </dt>
 
   <dd>
@@ -737,7 +739,7 @@
       </dt>
 
       <dd>
-        ピンの生成にはダイジェスト アルゴリズムが使用されます。現在サポートされているのは
+        PIN の生成にはダイジェスト アルゴリズムが使用されます。現在サポートされているのは
 {@code "SHA-256"} のみです。
       </dd>
     </dl>
diff --git a/docs/html-intl/intl/ja/preview/features/tv-recording-api.jd b/docs/html-intl/intl/ja/preview/features/tv-recording-api.jd
index 775ed66..bf5f9a9 100644
--- a/docs/html-intl/intl/ja/preview/features/tv-recording-api.jd
+++ b/docs/html-intl/intl/ja/preview/features/tv-recording-api.jd
@@ -1,4 +1,4 @@
-page.title=TV の録画
+page.title=TV の録画機能
 page.keywords=preview,sdk,tv,recording
 page.tags=androidn
 page.image=images/cards/card-nyc_2x.jpg
@@ -23,7 +23,7 @@
 </p>
 
 <p>ユーザーはあらかじめ録画をスケジュールできます。また、プログラムを視聴しながら録画を開始することもできます。
-システムが録画を保存すると、システムの TV アプリで録画を視聴、管理、再生できます。
+システムが録画を保存すると、システムの TV アプリで録画をブラウジング、管理、再生できます。
 </p>
 
 <p>TV 入力サービスで録画機能を提供する場合は、アプリが録画をサポートしていることをシステムに示し、プログラムの録画機能を実装し、録画中に発生したエラーを処理および通知し、録画したセッションを管理する必要があります。
@@ -31,9 +31,30 @@
 
 </p>
 
+<p class="note"><strong>注:</strong>ライブチャンネル アプリでは、録画を作成したり録画にアクセスするための機能はまだ提供されていません。
+ライブチャンネル アプリに変更が行われるまで、TV 入力サービスの録画機能を完全にテストすることは難しい場合があります。
+
+</p>
+
 <h2 id="supporting">録画のサポートを示す</h2>
 
-<p>TV 入力サービスで録画をサポートしていることをシステムに示すには、次の手順を実行します。
+<p>TV 入力サービスで録画をサポートしていることをシステムに示すには、サービス メタデータ XML ファイル内の <code>android:canRecord</code> 属性を <code>true</code> に設定します。
+
+
+</p>
+
+<pre>
+&lt;tv-input xmlns:android="http://schemas.android.com/apk/res/android"
+  <b>android:canRecord="true"</b>
+  android:setupActivity="com.example.sampletvinput.SampleTvInputSetupActivity" /&gt;
+</pre>
+
+<p>サービス メタデータ ファイルの詳細については、<a href="{@docRoot}training/tv/tif/tvinput.html#manifest">マニフェストで TV 入力サービスを宣言する</a>をご覧ください。
+
+
+</p>
+
+<p>また、以下のステップを使用して、コードで録画機能のサポートを示すことができます。
 </p>
 
 <ol>
@@ -44,7 +65,7 @@
 <code>setCanRecord(true)</code> を呼び出してから、<code>build()</code> を呼び出して、サービスが録画をサポートしていることを示します。
 </li>
 <li>
-<code>TvInputService.updateTvInputInfo()</code> を呼び出してシステムに <code>TvInputInfo</code> オブジェクトを登録します。</li>
+<code>TvInputManager.updateTvInputInfo()</code> を呼び出してシステムに <code>TvInputInfo</code> オブジェクトを登録します。</li>
 </ol>
 
 <h2 id="recording">セッションを録画する</h2>
diff --git a/docs/html-intl/intl/ja/preview/guide.jd b/docs/html-intl/intl/ja/preview/guide.jd
new file mode 100644
index 0000000..f56fc66
--- /dev/null
+++ b/docs/html-intl/intl/ja/preview/guide.jd
@@ -0,0 +1,190 @@
+page.title=テストガイド
+page.image=images/cards/card-n-guide_2x.png
+meta.tags="preview", "testing"
+page.tags="preview", "developer preview"
+
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>このドキュメントの内容</h2>
+      <ol>
+        <li><a href="#runtime-permissions">パーミッションをテストする</a></li>
+        <li><a href="#doze-standby">Doze とアプリ スタンバイをテストする</a></li>
+        <li><a href="#ids">自動バックアップと端末識別子</a></li>
+      </ol>
+  </div>
+</div>
+
+<p>
+  Android N を利用すると、次期バージョンのプラットフォームでアプリが動作するか確認できます。
+このプレビューには、<a href="{@docRoot}preview/api-overview.html">API の概要</a>と<a href="{@docRoot}preview/behavior-changes.html">動作の変更点</a>に記載されているように、アプリに影響を与える可能性のある多くの API と動作の変更が含まれています。
+
+このプレビューでアプリをテストするときには、アプリの良好な使用感を確保するために、システムのいくつかの変更点に特に注意する必要があります。
+
+
+</p>
+
+<p>
+  このガイドでは、アプリでプレビューの機能の何をどのようにテストすればよいか説明します。以下のプレビュー機能は、アプリの動作に大きな影響を与える可能性があるので、優先してテストする必要があります。
+
+
+</p>
+
+<ul>
+  <li><a href="#runtime-permissions">パーミッション</a>
+  </li>
+  <li><a href="#doze-standby">Doze とアプリ スタンバイ</a>
+  </li>
+  <li><a href="#ids">自動バックアップと端末識別子</a></li>
+</ul>
+
+<p>
+  テスト用のプレビュー システム イメージを使用した端末または仮想端末のセットアップ方法の詳細については、<a href="{@docRoot}preview/setup-sdk.html">Android N SDK のセットアップ</a>をご覧ください。
+
+
+</p>
+
+
+<h2 id="runtime-permissions">パーミッションをテストする</h2>
+
+<p>
+  <a href="{@docRoot}preview/features/runtime-permissions.html">パーミッション</a> モデルの変更により、ユーザーがアプリにパーミッションを付与する方法が変わりました。
+アプリでは、インストール時にすべてのパーミッションを要求するのではなく、実行時に個々のパーミッションをユーザーに要求する必要があります。
+
+これにより、ユーザーは、各アプリのアクティビティをより細かくコントロールできるようになるだけではなく、アプリが各パーミッションを要求する理由をこれまでよりもよく理解できるようになります。
+ユーザーは、いつでもアプリに個別にパーミッションを付与したり、付与したパーミッションを個別に取り消したりできます。
+プレビューのこの機能は、アプリの動作に大きな影響を与える可能性があり、アプリの一部の機能が動作しなくなったり、限定された機能しか使えなくなったりする可能性もあります。
+
+
+</p>
+
+<p class="caution">
+  この変更は、アプリがこの新しいバージョンを対象にしているかどうかにかかわらず、この新しいプラットフォーム上で実行されるすべてのアプリに影響します。
+このプラットフォームは以前のアプリに限定的な互換動作を提供しますが、公式版のプラットフォームのリリースに合わせてアップデート版のアプリを公開できるように、新しいパーミッション モデルに対応させるためのアプリの移行を今から計画することを強くお勧めします。
+
+
+</p>
+
+
+<h3 id="permission-test-tips">テストのヒント</h3>
+
+<p>
+  以下のテストのヒントを活用して、アプリでの新しいパーミッション動作のテストを計画し、実行してください。
+
+</p>
+
+<ul>
+  <li>アプリの現在のパーミッションと関連するコードパスを確認します。</li>
+  <li>パーミッションで保護されているサービスとデータ間のユーザーフローをテストします。</li>
+  <li>付与されたパーミッションと取り消されたパーミッションのさまざまな組み合わせをテストします。</li>
+  <li>{@code adb} ツールを使用して、コマンドラインからパーミッションを管理します。
+    <ul>
+      <li>パーミッションとステータスをグループ化して表示します。
+        <pre>adb shell pm list permissions -d -g</pre>
+      </li>
+      <li>以下の構文を使用して 1 つまたは複数のパーミッションを付与または取り消します。<br>
+        <pre>adb shell pm [grant|revoke] &lt;permission.name&gt; ...</pre>
+      </li>
+    </ul>
+  </li>
+  <li>アプリでパーミッションを使用しているサービスを分析します。</li>
+</ul>
+
+<h3 id="permission-test-strategy">テスト方針</h3>
+
+<p>
+  このパーミッションの変化は、アプリの構造と設計、ユーザー エクスペリエンスとフローに影響を与えます。
+アプリの現在のパーミッション利用の状況を調査し、新しいフローの検討を開始する必要があります。
+このプラットフォームの公式リリースは互換動作を提供しますが、互換動作に頼ることなくアプリのアップデートを計画することを強くお勧めします。
+
+
+</p>
+
+<p>
+  まずアプリが実際に必要とし使用しているパーミッションを特定してから、パーミッションで保護されたサービスを使用している各コードパスを探してください。
+これには、新しいプラットフォーム上でのテストと、コードの解析が必要です。
+テストでは、アプリの {@code targetSdkVersion} をこのプレビュー版に変えて、ランタイム パーミッションのオプトインに重点的にテストする必要があります。
+詳細については、<a href="{@docRoot}preview/setup-sdk.html#">Android N SDK のセットアップ</a>をご覧ください。
+
+
+</p>
+
+<p>
+  パーミッションの取り消しと追加のさまざまな組み合わせをテストし、パーミッションに依存するユーザーフローを確認します。
+パーミッションへの依存性が明白または論理的ではない箇所では、依存性を取り除くため、またはパーミッションが必要な理由を明白にするために、フローのリファクタリングまたはコンパートメント化を検討する必要があります。
+
+
+</p>
+
+<p>
+  ランタイム パーミッションの動作、テスト、ベスト プラクティスについては、Developer Preview ページの<a href="{@docRoot}preview/features/runtime-permissions.html">パーミッション</a>をご覧ください。
+
+
+</p>
+
+
+<h2 id="doze-standby">Doze とアプリ スタンバイをテストする</h2>
+
+<p>
+  省電力機能である Doze とアプリ スタンバイにより、端末がアイドル状態のときやそのアプリにフォーカスがないときに、アプリが実行できるバックグラウンド処理の量が制限されます。
+システムによってアプリに加えられる可能性のある制限には、ネットワーク アクセスの制限や停止、バックグラウンド タスクの停止、通知の停止、ウェイク リクエストの無視、アラームなどがあります。
+
+これらの省電力のための最適化が行われた状態で確実にアプリが適切に動作するように、これらの省電力状態をシミュレートしてアプリをテストする必要があります。
+
+
+</p>
+
+<h4 id="doze">アプリで Doze をテストする</h4>
+
+<p>アプリで Doze をテストするには: </p>
+
+<ol>
+<li>Android N のシステム イメージを使用して、ハードウェア端末または仮想端末を設定します。</li>
+<li>端末を開発マシンに接続し、アプリをインストールします。</li>
+<li>アプリを実行し、アクティブ状態のままにします。</li>
+<li>以下のコマンドを実行して、端末の Doze モードへの移行をシミュレートします。
+
+<pre>
+$ adb shell dumpsys battery unplug
+$ adb shell dumpsys deviceidle step
+$ adb shell dumpsys deviceidle -h
+</pre>
+
+  </li>
+  <li>端末がアクティブ状態に戻ったときのアプリの動作を観察します。端末が Doze モードから抜けるときに、アプリがスムーズに復帰することを確認します。
+</li>
+</ol>
+
+
+<h4 id="standby">アプリでアプリ スタンバイをテストする</h4>
+
+<p>アプリでアプリ スタンバイ モードをテストするには: </p>
+
+<ol>
+  <li>Android N のシステム イメージを使用して、ハードウェア端末または仮想端末を設定します。</li>
+  <li>端末を開発マシンに接続し、アプリをインストールします。</li>
+  <li>アプリを実行し、アクティブ状態のままにします。</li>
+  <li>以下のコマンドを実行して、アプリのスタンバイ モードへの移行をシミュレートします。
+
+<pre>
+$ adb shell am broadcast -a android.os.action.DISCHARGING
+$ adb shell am set-idle &lt;packageName&gt; true
+</pre>
+
+  </li>
+  <li>以下のコマンドを使用して、アプリのウェイクをシミュレートします。
+    <pre>$ adb shell am set-idle &lt;packageName&gt; false</pre>
+  </li>
+  <li>アプリがウェイク状態に戻ったときのアプリの動作を観察します。アプリがスタンバイ モードからスムーズに復帰することを確認します。
+特に、アプリの通知とバックグラウンド ジョブが想定通りの動作を続けているかを確認する必要があります。
+</li>
+</ol>
+
+<h2 id="ids">アプリの自動バックアップと端末固有識別子</h2>
+
+<p>アプリが、Google Cloud Messaging の登録 ID などのなんらかの端末固有の識別子を内部ストレージに保持している場合、<a href="{@docRoot}preview/backup/index.html">アプリの自動バックアップ</a>の説明に従って、そのストレージのロケーションを自動バックアップの対象から除外してください。
+
+
+
+ </p>
diff --git a/docs/html-intl/intl/ja/preview/index.jd b/docs/html-intl/intl/ja/preview/index.jd
index d077f30..774e065 100644
--- a/docs/html-intl/intl/ja/preview/index.jd
+++ b/docs/html-intl/intl/ja/preview/index.jd
@@ -1,6 +1,6 @@
 page.title=Android N Developer Preview
 page.tags="preview","developer"
-meta.tags="プレビュー", "android"
+meta.tags="preview", "android"
 fullpage=true
 forcelocalnav=true
 header.hide=1
@@ -24,10 +24,10 @@
       <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">
-          Android N が正式リリースされる前に、Nexus などのデバイスで事前に<strong>アプリの動作をご確認</strong>いただけます。Android N の新しいシステム動作をサポートして、<strong>電力やメモリの使用量を削減</strong>しましょう。<strong>マルチ ウィンドウ UI</strong> や<strong>ダイレクト リプライ通知</strong>などの機能も利用して、アプリを拡張してみてください。
+          Android N が正式リリースされる前に、
+          Nexus や他の端末で事前に<strong>アプリの動作をご確認いただけます</strong>。新しいシステム動作をサポートして、<strong>電力やメモリの使用量を削減しましょう</strong>。
 
-
-
+          <strong>マルチ ウィンドウ UI</strong> や<strong>ダイレクト リプライ通知</strong>などの機能も利用して、アプリを拡張してみてください。
 
         </p>
 
@@ -102,7 +102,18 @@
   </div><!-- end .wrap -->
 </div>
 
-<section class="dac-section dac-light"><div class="wrap">
+<section class="dac-section dac-light dac-small" id="latest"><div class="wrap">
+  <h2 class="norule">新着</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">リソース</h1>
   <div class="dac-section-subtitle">
     Android N 向けにアプリを開発する上で役立つ必須情報をご提供します。
diff --git a/docs/html-intl/intl/ja/preview/j8-jack.jd b/docs/html-intl/intl/ja/preview/j8-jack.jd
index 1723e46..08f72d8 100644
--- a/docs/html-intl/intl/ja/preview/j8-jack.jd
+++ b/docs/html-intl/intl/ja/preview/j8-jack.jd
@@ -1,4 +1,4 @@
-page.title=Java 8 の機能
+page.title=Java 8 の言語機能
 page.keywords="android N", "Java 8", "Jack"
 @jd:body
 
@@ -6,7 +6,7 @@
   <div id="qv">
     <ol>
       <li>
-        <a href="#supported-features">Java 8 のサポート機能と API</a>
+        <a href="#supported-features">サポートされる Java 8 の言語機能と API</a>
       </li>
       <li>
         <a href="#configuration">Java 8 の機能と Jack ツールチェーンの有効化</a>
@@ -15,34 +15,34 @@
   </div>
 </div>
 
-<p>Android N 向けのアプリを開発する際は、Java 8 の機能をご利用いただけます。このページでは Android N Preview でサポートしている Java 8 の新機能や、それらを利用するためのプロジェクトの正しい設定方法、想定される既知の問題についてご紹介します。
+<p>Android N 向けのアプリを開発する際は、Java 8 の言語機能をご利用いただけます。このページでは Android N Preview でサポートしている Java 8 の新言語機能や、それらを利用するためのプロジェクトの正しい設定方法、想定される既知の問題についてご紹介します。
 
 
 
 
 </p>
 
-<p>これらの機能を使うには、Android Studio 2.1(プレビュー版)と Android N Preview SDK をダウンロードしてセットアップし、Jack ツールチェーンと最新の Gradle 用の Android Plugin を準備する必要があります。Android N Preview SDK をお持ちでない方は、<a href="{@docRoot}preview/setup-sdk.html">Android N 向けの開発準備</a>の説明をご覧ください。
+<p>これらの機能を使うには、Android Studio 2.1 と Android N Preview SDK をダウンロードしてセットアップし、Jack ツールチェーンと最新の Gradle 用の Android Plugin を準備する必要があります。
 
-
+Android N Preview SDK をインストールしていない場合は、<a href="{@docRoot}preview/setup-sdk.html">Android N 向けの開発準備</a>をご覧ください。
 </p>
 
 
 
 <p class="note">
-  <strong>注: </strong> Android N プラットフォーム向けのアプリを開発する際は、必ずしも Java 8 の新機能を使う必要はありません。Java 8 の機能を使用せずにコーディングしたい場合は、プロジェクトのソースコードを保持して、ターゲットの互換性の指定を Java 7 にしておくこともできます。ただし、Android N プラットフォームでビルドする時は、必ず JDK 8 を使用してコンパイルしてください。
-
+  <strong>注:</strong>Android N プラットフォーム向けのアプリを開発する際は、必ずしも Java 8 の新言語機能を使う必要はありません。
+Java 8 の言語機能を使用せずにコーディングしたい場合は、プロジェクトのソースを保持して、ターゲットの互換性の指定を Java 7 にしておくこともできます。ただし、Android N プラットフォームでビルドするときは、必ず JDK 8 を使用してコンパイルしてください。
 
 
 
 </p>
 
 <h2 id="supported-features">
-  Java 8 のサポート機能と API
+  サポートされる Java 8 の言語機能と API
 </h2>
 
 <p>
-  Android ではまだ Java 8 の全機能はサポートしておりません。現時点で Android N のプレビュー版向けにアプリを開発する際にご利用いただける機能は、以下のとおりです。
+  Android ではまだ Java 8 の全言語機能はサポートしていません。現時点で Android N Preview 向けのアプリを開発する際にご利用いただける機能は、以下のとおりです。
 
 
 </p>
@@ -54,7 +54,7 @@
   </li>
 
   <li>
-    <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html">ラムダ式</a>
+    <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html">ラムダ式</a>(API レベル 23 以前でも利用可能)
 
   </li>
 
@@ -62,60 +62,72 @@
     <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/annotations/repeating.html">反復アノテーション</a>
 
   </li>
-</ul>
 
+  <li>
+    <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html">メソッド参照</a>(API レベル 23 以前でも利用可能)
 
-<p>
-  さらに以下の Java 8 機能の API もご利用いただけます。
-</p>
-
-<ul>
-  <li>リフレクションおよび言語関連の API
-  </li>
-
-  <li style="list-style: none; display: inline">
-    <ul>
-      <li>{@code java.lang.FunctionalInterface}
-      </li>
-
-      <li>{@code java.lang.annotation.Repeatable}
-      </li>
-
-      <li>{@code java.lang.reflect.Method.isDefault()}
-      </li>
-
-      <li>以下のような反復アノテーション関連のリフレクション API
-      {@code AnnotatedElement.getAnnotationsByType(Class)}
-      </li>
-    </ul>
-  </li>
-  <li>ユーティリティ API
-  </li>
-
-  <li style="list-style: none; display: inline">
-    <ul>
-      <li>{@code java.util.function}
-      </li>
-    </ul>
   </li>
 </ul>
 
 <p class="note">
-  <strong>注:</strong> Android N の実装は匿名クラスのラムダ式に基づいているため下方互換性があり、前の Andoird バージョンで実行することができます。前のバージョンでラムダ式をテストする際は、必ず {@code
-  build.gradle} ファイルの {@code compileSdkVersion} と {@code
-  targetSdkVersion} の値を 23 以下に設定してください。
+  <strong>注:</strong>以前のバージョンの Android でラムダ式とメソッド参照をテストするには、{@code build.gradle} ファイルに移動し、{@code compileSdkVersion} と {@code targetSdkVersion} を 23 以前に設定します。
 
 
+これらの Java 8 機能を使用するには、<a href="#configuration">Jack ツールチェーンを有効にする</a>必要があります。
 
 </p>
 
+<p>
+  さらに以下の Java 8 言語機能の API もご利用いただけます。
+</p>
+
+<ul>
+  <li>リフレクションおよび言語関連の API
+    <ul>
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html">
+        {@code java.lang.FunctionalInterface}</a>
+      </li>
+
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Repeatable.html">
+        {@code java.lang.annotation.Repeatable}</a>
+      </li>
+
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html#isDefault--">
+        {@code java.lang.reflect.Method.isDefault()}</a>
+      </li>
+
+      <li>以下のような反復アノテーション関連のリフレクション API
+      <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/AnnotatedElement.html#getAnnotationsByType-java.lang.Class-">
+        {@code AnnotatedElement.getAnnotationsByType(Class)}</a>
+      </li>
+    </ul>
+  </li>
+
+  <li>ユーティリティ API
+    <ul>
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html">
+        {@code java.util.function}</a>
+      </li>
+
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html">
+        {@code java.util.stream}</a>
+      </li>
+    </ul>
+  </li>
+</ul>
+
 <h2 id="configuration">
   Java 8 の機能と Jack ツールチェーンの有効化
 </h2>
 
 <p>
-  Java 8 の新機能を使うには、新しい <a class="external-link" href="https://source.android.com/source/jack.html">Jack ツールチェーン</a>も必要です。この新しい Android ツールチェーンは、Java のソースコードを Android で判別可能な dex バイトコードにコンパイルします。さらにこのツールには独自の {@code .jack} ライブラリ フォーマットがあり、再パッケージ化、縮小、難読化、Multidex など、ほとんどのツールチェーン機能に対応しています。
-
+  Java 8 の新言語機能を使うには、新しい <a class="external-link" href="https://source.android.com/source/jack.html">Jack ツールチェーン</a>も必要です。
+この新しい Android ツールチェーンは、Java 言語のソースを Android で判別可能な dex バイトコードにコンパイルします。さらにこのツールには独自の {@code .jack} ライブラリ フォーマットがあり、再パッケージ化、縮小、難読化、Multidex など、ほとんどのツールチェーン機能に対応しています。
 
 
 
@@ -124,7 +136,7 @@
 
 <p>以下は、Android の DEX ファイルのビルドに使用する 2 つのツールチェーンの比較です。</p>
 <ul>
-  <li>従来の javac ツールチェーン<br>
+  <li>以前の javac ツールチェーン<br>
   <b>javac</b> ({@code .java} --&gt; {@code .class}) --&gt; <b>dx</b> ({@code
   .class} --&gt; {@code .dex})
   </li>
@@ -139,7 +151,7 @@
 </h3>
 
 <p>
-  プロジェクトで Java 8 の機能と Jack を使うには、モジュール固有の {@code build.gradle} ファイルに以下の内容を記載します。
+  プロジェクトで Java 8 の言語機能と Jack を有効にするには、モジュール レベルの {@code build.gradle} ファイルに以下の内容を記載します。
 
 </p>
 
@@ -159,25 +171,27 @@
 }
 </pre>
 
-<h3>
+<h3 id="known-issues">
   既知の問題
 </h3>
 
 <p>
-  Android Studio 2.0(ベータ版)で導入された Instant Run は、現段階では Jack と併用できません。そのため新しいツールチェーンの使用中は、Instant Run が無効になります。
+  <a href="{@docRoot}tools/building/building-studio.html#instant-run">Instant Run</a> は、現段階では Jack と併用できません。そのため新しいツールチェーンの使用中は無効になります。
+
 
 </p>
 
-<p>Jack はアプリのコンパイル中に中間クラスファイルを生成しないため、中間ファイルに依存する以下のようなツールは現在 Jack と併用できません。
-
+<p>Jack はアプリのコンパイル中に中間クラスファイルを生成しないため、中間ファイルに依存するツールは現在 Jack と併用できません。
+このようなツールの例は以下のとおりです。
 </p>
 
 <ul>
   <li>クラスファイルに作用する Lint Detector
   </li>
 
-  <li>アプリのクラスファイルを必要とするツールやライブラリ(JaCoCo や Mockito など)
-</li>
+  <li>アプリのクラスファイルを必要とするツールやライブラリ(JaCoCo での計測テストなど)
+
+  </li>
 </ul>
 
-<p>その他の不具合がありましたら、<a href="http://tools.android.com/filing-bugs">バグの報告</a>をお願いします。</p>
\ No newline at end of file
+<p>Jack の使用についてその他の不具合がありましたら、<a href="http://tools.android.com/filing-bugs">バグの報告</a>をお願いします。</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/preview/license.jd b/docs/html-intl/intl/ja/preview/license.jd
new file mode 100644
index 0000000..64275cd
--- /dev/null
+++ b/docs/html-intl/intl/ja/preview/license.jd
@@ -0,0 +1,145 @@
+page.title=使用許諾契約
+
+@jd:body
+
+<p>
+Android SDK Preview をインストールする前に、次の利用規約に同意する必要があります。
+以下に記載するとおり、これは、Android SDK のプレビュー バージョンであり、変更される可能性があります。デベロッパーご自身の責任においてご使用ください。Android SDK Preview は安定したリリースではなく、お使いのコンピュータ システム、端末、データに深刻な影響を与える可能性のあるエラーまたは欠陥が含まれている場合があります。
+</p>
+
+<p>
+以下は、Android SDK Preview の使用許諾契約です(以下「本契約」)。
+</p>
+<div class="sdk-terms" style="height:auto;border:0;padding:0;width:700px">
+1. はじめに
+
+1.1 Android SDK Preview(以下、本契約で「Preview」という。具体的には利用可能な場合には Android システム ファイル、パッケージ型 API、Preview ライブラリ ファイルを含む)は、本契約の規定に従ってライセンス許可されます。本契約では、デベロッパーの Preview の使用に関して、デベロッパーと Google の間で法的拘束力のある契約を結びます。
+
+1.2 「Android」とは、Android オープンソース プロジェクト(http://source.android.com/ にて随時更新)にて利用可能な、端末向けの Android ソフトウェア スタックを意味します。
+
+1.3 「Android 互換」とは、(i)Android 互換ウェブサイト(http://source.android.com/compatibility)に掲載されており、随時アップデートされる可能性がある Android Compatibility Definition ドキュメントに準拠し、かつ(ii)Android Compatibility Test Suite(CTS)に合格した任意の Android 実装を指します。
+
+1.4 「Google」とは、1600 Amphitheatre Parkway, Mountain View, CA 94043, United States に主たる事業所を有するデラウェア州法人である Google Inc. を意味します。
+
+2. 本契約への同意
+
+2.1 Peview を使用するためには、本契約に同意する必要があります。本契約に同意しない場合は Preview を使用できません。
+
+2.2 同意するかまたは Preview を使用するためにクリックすると、本契約に同意したことになります。
+
+2.3 米国またはその他の国(デベロッパーが居住している国かまたはデベロッパーが Preview を使用する国を含む)の法律により Preview の使用を禁止されている人である場合、Preview を使用することも、使用許諾契約に同意することもできません。
+
+2.4 雇用主またはその他の事業体を代表または代理して本契約に拘束されることに同意し Preview を企業または組織の内部で使用する場合、担当者の雇用主またはその他の事業体を本契約に法的に拘束する完全な法的権限を有していることを表明および保証するものとします。担当者が必要な権限を有していない場合は、担当者の雇用主またはその他の事業体を代表または代理して、本契約に同意することも、Preview を使用することもできません。
+
+3. Google からの Preview ライセンス
+
+3.1 本契約の規定に従い、Google は Android 実装と互換性のあるアプリの開発に Preview を使用するための、限定的で、世界規模の、ロイヤリティ フリーな、譲渡不可、非排他的、サブライセンス不可なライセンスを付与するものとします。
+
+3.2 本 Preview は、別のプラットフォーム(Android 実装と互換性のないものも含む)のアプリの開発や別の SDK の開発には使用できません。本 Preview をその目的で使用しない場合は、Android 実装と互換性のないものを含め、自由に別のプラットフォームのアプリの開発を行うことができます。
+
+3.3 Preview に関するすべての法的権利、所有権、利益(Preview に含まれる知的財産権を含む)は Google またはサードパーティが所有するものとします。「知的財産権」とは、特許法、著作権法、営業秘密法、商標法、不当競争防止法に基づいて発生するすべての権利、およびその他のすべての所有権を意味します。デベロッパーに明示的に付与されていない権利は、すべて Google が所有します。
+
+3.4 本契約で明示的に許可されている目的以外においては、Preview を使用できません。当該のサードパーティのライセンスで必要とされる場合を除き、デベロッパーは、(a)Preview または Preview の一部をコピー(バックアップ目的を除く)、修正、改造、再配布、逆コンパイル、リバース エンジニアリング、逆アセンブルまたは派生物の作成、または(b)モバイル ハンドセットまたは個人用コンピュータ以外のハードウェア端末への Preview の読み込み、Preview と他のソフトウェアとの結合、または Preview の一部を組み込んだソフトウェアや端末の配布はできません。
+
+3.5 オープンソース ソフトウェア ライセンス下でライセンス付与された Preview のコンポーネントの使用、複製、配布は、本契約ではなく、そのオープンソース ソフトウェアのライセンスに準拠するものとします。デベロッパーは、許諾されるすべての権利下で、そのようなオープンソース ソフトウェア ライセンスに対して、良好な状態のライセンシーのままでいることに同意し、そのような権利を終了、停止、または違反する可能性のあるいかなる行為も差し控えることに同意するものとします。
+
+3.6 デベロッパーは、Google が提供する Preview の形式および性質は事前の通知なしに変更される場合があり、今後リリースされる Preview のバージョンでは、以前のバージョンの Preview で開発されたアプリとの互換性がない可能性があることに同意します。デベロッパーは、Google が事前の通知なく、Google の単独の裁量でデベロッパーまたはユーザーへの Preview(または Preview 内の一部の機能)の提供を(恒久的または一時的に)停止する場合があることに同意します。
+
+3.7 本契約のいかなる部分も、Google のいかなる商標名、商標、サービスマーク、ロゴ、ドメイン名、またはその他のブランド識別表示を使用する権利もデベロッパーに付与するものではありません。
+
+3.8 デベロッパーは、Preview に添付または収録されているすべての知的財産権に関する通知(著作権および商標の通知を含む)の削除、隠ぺい、改ざんを行わないことに同意します。
+
+4. デベロッパーによる Preview の使用
+
+4.1 Google は、本契約に基づき Preview を使用してデベロッパーが開発したソフトウェア アプリに関して、デベロッパー(またはデベロッパーのライセンサー)からいかなる権利、所有権、または利益(当該アプリに含まれる知的財産権を含む)も取得するものではないことに同意します。
+
+4.2 デベロッパーは、Preview を(a)本契約、および(b)該当する司法管轄区における適用される法律、規則、または一般に認められた慣行またはガイドライン(米国またはその他の該当国におけるデータまたはソフトウェアの輸出入に関する法律を含む)で認められている目的にのみ使用することに同意します。
+
+4.3 Preview を使用してアプリを開発する場合、デベロッパーはユーザーのプライバシーおよび法的権利を保護することに同意します。ユーザーからデベロッパーにユーザー名、パスワード、またはその他のログイン情報または個人情報が提供される場合、デベロッパーは、情報がデベロッパーのアプリに提供されることをユーザーに認識させ、当該ユーザーについてプライバシーに関する法的に十分な通知および保護を行わなければなりません。デベロッパーのアプリに個人情報または秘密情報が保存される場合、この保存は保護された方法で行われなければなりません。ユーザーからデベロッパーのアプリに Google アカウントの情報が提供された場合、デベロッパーのアプリでは、ユーザーが許可したタイミングで、かつユーザーが許可した限定された目的にのみ、当該情報を使用してユーザーの Google アカウントにアクセスすることが認められるものとします。
+
+4.4 デベロッパーは、Preview に関して、第三者(Google、およびあらゆる携帯電話会社を含むが、これらに限定されない)のサーバー、ネットワーク、またはその他の財産またはサービスへの妨害、中断、損害、または許可されていない態様でのアクセスとなる行為(そのような行為に該当する対象製品の開発または販売 / 配布を含む)に関与しないことに同意します。
+
+4.5 デベロッパーは、デベロッパーが Android および Android のアプリを介して作成、送信、表示するデータ、コンテンツ、リソース、および自身の行為の結果(Google に発生する可能性のあるあらゆる損失および損害を含む)について、自身が単独で責任を負うこと(および Google がこれについてデベロッパーまたはいかなる第三者に対しても一切責任を負わないこと)に同意します。
+
+4.6 デベロッパーは、本契約、適用される第三者の契約もしくは利用規約、または適用される法律もしくは規則に基づく自身の義務に違反したこと、および当該違反の結果(Google または第三者に発生したあらゆる損失および損害を含む)について、自身が単独で責任を負うこと(および Google がこれについてデベロッパーまたはいかなる第三者に対しても一切責任を負わないこと)に同意します。
+
+4.7 Preview は開発中であり、デベロッパーによるテスティングやフィードバックは開発プロセスの重要な一部となります。デベロッパーは、Preview の使用により、一部の機能の実装が開発中であると認識し、Preview が安定したリリースの完全な機能性を持つことに依存すべきでないことを認識するものとします。本 Preview は、公式の Android SDK のリリース後はサポート対象でなくなるため、デベロッパーは、Preview を使用するいかなるアプリも公然と配布または引き渡さないことに同意するものとします。
+
+5. デベロッパーの認証情報
+
+5.1 デベロッパーは、Google が発行した、またはデベロッパー自身で選択した、自身のデベロッパー用認証情報の秘密を保持する責任を負うこと、および自身のデベロッパー用認証情報のもとで開発されたすべてのアプリについて単独で責任を負うことに同意します。
+
+6. プライバシーおよび情報
+
+6.1 Google は、Preview の継続的な技術革新と改良のために、ソフトウェアから特定の使用統計情報(一意識別子、関連する IP アドレス、ソフトウェアのバージョン番号、Preview のどのツール/サービスがどのように使用されているかに関する情報を含むが、これらに限定されない)を収集できます。この情報が収集される前に、Preview に通知が表示され、デベロッパーの同意が求められます。デベロッパーが同意しない場合は、情報は収集されません。
+
+6.2 収集されるデータは、Preview の改良のために集約された形で精査され、Google のプライバシー ポリシー(http://www.google.com/policies/privacy/)に従って管理されます。
+
+7. 第三者のアプリ
+
+7.1 デベロッパーが、Preview を使用して第三者が開発したアプリを実行する、あるいは第三者から提供されたデータ、コンテンツ、リソースにアクセスする場合、デベロッパーは、Google がそれらのアプリ、データ、コンテンツ、リソースについて責任を負わないことに同意します。デベロッパーは、そのような第三者のアプリを介してアクセスするすべてのデータ、コンテンツ、リソースについては、それらを生成した者が単独で責任を負うものであり、Google はそれらの第三者のアプリ、データ、コンテンツ、またはリソースの使用もしくはアクセスによって生じたあらゆる損失および損害について一切責任を負わないことを理解します。
+
+7.2 デベロッパーは、そのような第三者のアプリを介して表示されるデータ、コンテンツ、リソースは、提供者(あるいは代理の第三者または事業体)が所有する知的財産権で保護されている場合があることを認識するものとします。デベロッパーは、当該所有者からの明確な許可がない限り、それらのデータ、コンテンツ、リソース(全体または一部)の変更、貸与、賃貸、担保、配布または派生物の作成を行うことはできません。
+
+7.3 デベロッパーは、そのような第三者のアプリ、データ、コンテンツまたはリソースの使用が、デベロッパーと当該第三者間の別の規約に従うものであることを認識するものとします。
+
+8. Google API の使用
+
+8.1 Google API
+
+8.1.1 API を使用して Google からデータを取得する場合、デベロッパーは、そのデータは、Google またはデータを提供する事業体(あるいは代理の第三者または事業体)が所有する知的財産権で保護されている場合があることを認識するものとします。そのような API の使用は追加の利用規約に従うものとします。デベロッパーは、当該の利用規約による許可がない限り、そのデータ(全体または一部)の変更、貸与、賃貸、担保、配布または派生物の作成を行うことはできません。
+
+8.1.2 デベロッパーは、API を使用して Google からユーザーのデータを取得する場合、ユーザーが明示的に同意した場合のみ、およびユーザーが許可したタイミングとその目的にのみ、データを取得できることを理解し、同意します。
+
+9. 本契約の終了
+
+9.1 本契約は、下記の規定に従ってデベロッパーまたは Google のいずれかによって解約されるまで、継続して適用されるものとします。
+
+9.2 デベロッパーが本契約の解約を希望する場合は、Preview および関連するデベロッパー認証情報の使用を停止することで、契約を終了するものとします。
+
+9.3 Google は、理由の有無にかかわらず、書面で通知することでいつでもデベロッパーとの本契約を解約することができます。
+
+9.4 本契約は事前の通知またはその他の措置なく、次のうち早い方に自動的に終了します。
+(A)Google が、デベロッパーが居住している国またはデベロッパーがサービスを使用する国での Preview または Preview の一部の配布を停止したとき。
+(B)Google が Android SDK の最終バージョンをリリースしたとき。
+
+9.5 本契約が終了すると、本契約で付与されていたライセンスは終了し、デベロッパーは速やかに Preview のすべての使用を停止するものとし、第 10 条、第 11 条、第 12 条、第 14 条の規定は無期限に効力を有するものとします。
+
+10.免責事項
+
+10.1 デベロッパーは、デベロッパーによる Preview の使用はデベロッパー自身の責任において行うものであること、および Preview は「現状有姿」かつ「提供可能な限りにおいて」、Google からのいかなる種類の保証もなく提供されるものであることを明示的に理解し、これに同意します。
+
+10.2 デベロッパーによる Preview および Preview の使用を通じてダウンロードまたはその他の方法で取得されたマテリアルの使用は、デベロッパー自身の裁量および責任において行うものであり、当該使用の結果として生じるデベロッパーのコンピュータ システムもしくはその他の端末への損害またはデータの喪失についての責任はデベロッパーが単独で負います。前述を制限することなく、Preview は安定したリリースではなく、コンピュータやその他の端末の利用の完全な回復不可能な損失を含む、重大な損害を引き起こす可能性のあるエラー、欠陥、およびセキュリティ上の脆弱性が含まれている可能性があることを理解します。
+
+10.3 Google はまた、商品性、特定目的への適合性、および権利侵害がないことの黙示的な保証および条件を含む(ただしこれらに限定されない)、明示的か黙示的かを問わずあらゆる種類のすべての保証および条件を明示的に否定します。
+
+11.責任の制限
+
+11.1 デベロッパーは、Google、その子会社および関連会社、ならびにそのライセンサーが、デベロッパーに発生した直接損害、間接損害、偶発的損害、特別損害、結果的損害、または懲罰的損害(データの喪失を含む)について、Google またはその代表者が当該損失が発生する可能性について告知されていたかどうか、または知っていたはずであるかどうかにかかわらず、いかなる責任法理のもとでもデベロッパーに対して責任を負わないことを明示的に理解し、これに同意します。
+
+12.補償
+
+12.1 法律で認められる最大限の範囲内において、デベロッパーは、(a)デベロッパーが Preview を使用したこと、および(b)デベロッパーが Preview で開発したアプリが他者のいかなる知的財産権を侵害していること、または他者の名誉を毀損している、もしくは他者のパブリシティ権もしくはプライバシー権を侵害していること、および(c)デベロッパーが本契約に違反したことから発生したあらゆる申し立て、普通法上の訴訟、衡平法上の訴訟、または法的手続き、ならびにあらゆる損失、責任、損害、費用、および経費(合理的な弁護士報酬を含む)について、Google、その関連会社、ならびに当該各社の取締役、役員、従業員、代理人を防御し、補償し、免責することに同意します。
+
+13.契約の変更
+
+13.1 Google は、Preview の新しいバージョンを配布することにより、いつでも本契約を変更することができます。変更が生じた場合、Google は、Preview の提供ウェブサイト上に使用許諾契約の改訂版を公開します。
+
+14.法的一般条項
+
+14.1 本契約は、デベロッパーと Google の間の法的な合意のすべてを表し、デベロッパーによる Preview の使用(別の契約下で Google が提供するサービスを除く)に適用され、Preview に関するデベロッパーと Google の間のあらゆる事前の合意に完全に取って代わるものです。
+
+14.2 デベロッパーは、Google が本契約に定める(または適用される法律のもとで Google が享受できる)法的な権利または救済措置を行使または執行しなかった場合でも、Google の権利が正式に放棄されたとはみなされないこと、および Google が以後も引き続き当該権利および救済措置を行使または執行できることに同意します。
+
+14.3 本件について判断を下す管轄権を有する司法裁判所によって、本契約のいずれかの条項が無効と判断された場合、当該条項は、本契約の残りの部分に影響を与えることなく本契約から削除されるものとします。本契約の残りの条項は、以後も引き続き有効かつ執行可能であるものとします。
+
+14.4 デベロッパーは、Google が親会社となっている各グループ企業が、本契約の第三受益者となること、および当該企業が、当該企業に利益(または受益権)を付与する本契約の条項を直接執行する、また当該条項に依拠する権利を有することを了承し、これに同意します。上記以外のいかなる人または法人も、本契約の第三受益者とはならないものとします。
+
+14.5 輸出規制。Preview は、米国輸出管理法令の対象です。デベロッパーは、Preview に適用されるすべての国内および国際の輸出管理法令に従わなければなりません。これらの法律には、仕向け地、ユーザー、および最終用途に関する制限が含まれます。
+
+14.6 デベロッパーは、Google から事前に書面で承認を得ずに、本契約を譲渡または移転することはできません。また、そのような承認を得ずに計画された譲渡はすべて無効になります。デベロッパーは、Google から事前に書面で承認を得ずに、本契約に基づく自身の責任または義務を他者に委任してはなりません。
+
+14.7 本契約あるいは本契約に基づくデベロッパーと Google の関係から発生または関連するすべての申し立ては、米国カリフォルニア州の抵触法を除いて、カリフォルニア州法に準拠するものとします。デベロッパーおよび Google は、本契約あるいは本契約に基づくデベロッパーと Google の関係から発生または関連する法的事項の解決について、米国カリフォルニア州サンタクララ郡に所在の連邦裁判所または州立裁判所が専属管轄権を有することに合意します。上記にかかわらず、デベロッパーは、Google が任意の司法管轄区において差し止め命令による救済(または同等の緊急法的救済)を求める申し立てを行うことが認められることに同意します。
+
+
+</div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/preview/overview.jd b/docs/html-intl/intl/ja/preview/overview.jd
index 1cc56fd..e14b5fb 100644
--- a/docs/html-intl/intl/ja/preview/overview.jd
+++ b/docs/html-intl/intl/ja/preview/overview.jd
@@ -1,7 +1,7 @@
-page.title=プログラムの概要
+page.title=プログラム概要
 page.metaDescription= 次期 Android バージョン用のアプリを準備しましょう。
 page.image=images/cards/card-n-overview_2x.png
-meta.tags="プレビュー", "デベロッパー", "android"
+meta.tags="preview", "developer", "android"
 page.tags="preview", "developer", "android"
 
 @jd:body
@@ -37,9 +37,9 @@
 -->
 
 <p>
-  <strong>Android N Developer Preview</strong> には、Android の次期バージョンに備えてアプリをテストし、最適化するための機能がすべて備わっています。N Developer Preview 用のツールをダウンロードするだけで、今すぐ無料でご利用いただけます。
+  <strong>Android N Developer Preview</strong> では、Android の次のバージョンでアプリをテストして最適化するためのすべてを備えています。
 
-
+N Developer Preview ツールをダウンロードするだけで、無料ですぐにご利用いただけます。
 
 </p>
 
@@ -58,7 +58,7 @@
       </h5>
 
       <p>
-        さまざまなデバイスやエミュレータでアプリを動かしてテストできます。
+        さまざまな端末やエミュレータでアプリを実行してテストできます。
 
       </p>
     </div>
@@ -105,8 +105,8 @@
       </h5>
 
       <p>
-        Android ベータ版プログラムによる無線でのシームレスなアップデートに対応しているため、イメージを書き込む必要がありません。
-
+        Android ベータ版プログラムによるサポート対象端末の無線でのシームレスなアップデートに対応しています。
+そのため、イメージを書き込む必要がありません。
       </p>
     </div>
 
@@ -116,8 +116,8 @@
       </h5>
 
       <p>
-        <a href="{@docRoot}preview/bug">Issue Tracker</a> で問題を報告し、フィードバックを送ってください。<a href="{@docRoot}preview/dev-community">N&nbsp;デベロッパー コミュニティ</a>では、他のデベロッパーと情報交換をすることができます。
-
+        <a href="{@docRoot}preview/bug">Issue Tracker</a> で問題を報告し、フィードバックをお送りください。
+<a href="{@docRoot}preview/dev-community">N&nbsp;デベロッパー コミュニティ</a>では、他のデベロッパーと情報交換をすることができます。
 
 
       </p>
@@ -140,20 +140,20 @@
 <img src="{@docRoot}images/n-preview-updates_2x.png">
 
 <p>
-  N Developer Preview の対象期間は、2016 年 3 月 9 日から AOSP と OEM 向けの Android N の正式リリース(2016 年 の第 3 四半期を予定)までの間です。
+  N Developer Preview の対象期間は、2016 年 3 月 9 日から AOSP と OEM 向けの Android N の正式リリース(2016 年の第 3 四半期を予定)までの間です。
 
 </p>
 
 <p>
-  主要な開発マイルストーンでアップデートをリリースしますので、開発やテスト用の環境としてご利用ください。リリース間隔は基本的には各月(4 週から 6 週に 1 回)の予定です。マイルストーンについては、以下をご覧ください。
-
-
+  主要な開発マイルストーンでアップデートをリリースしますので、開発やテスト用の環境としてご利用ください。
+アップデートの間隔は基本的には各月(4 週から 6 週に 1 回)の予定です。
+マイルストーンについては、以下をご覧ください。
 </p>
 
 <ul>
   <li><strong><a href="{@docRoot}preview/support.html#dp1">Preview 1</a></strong>(初回リリース、アルファ版)</li>
   <li><strong><a href="{@docRoot}preview/support.html#dp2">Preview 2</a></strong>(追加アップデート、アルファ版)</li>
-  <li><strong>Preview 3</strong>(追加アップデート、ベータ版)</li>
+  <li><strong><a href="{@docRoot}preview/support.html#dp3">Preview 3</a></strong>(追加アップデート、ベータ版)</li>
   <li><strong>Preview 4</strong>(最終版の API と正式な SDK、Google Play への公開)</li>
   <li><strong>Preview 5</strong>(最終テスト用の最終版とほぼ同じシステム イメージ)</li>
   <li>AOSP とエコシステムへの<strong>最終リリース</strong></li>
@@ -165,38 +165,38 @@
 </p>
 
 <p>
-  <strong>最初の 3 つのプレビュー マイルストーン</strong>では、<strong>初期段階のテストや開発用の環境</strong>を提供します。それを利用して既存のアプリにおける互換性の問題を特定し、新規プラットフォームへの移行や主な作業計画を立ててください。この期間は各種機能や API、ファイル互換性の問題など、あらゆるフィードバックを受け付けている貴重な期間です。ぜひ <a href="{@docRoot}preview/bug">Issue Tracker</a> を使用して、皆様のご意見をお聞かせください。いただいたフィードバックをもとに、一部の API を改善してアップデートで提供する予定です。
+  <strong>最初の 3 つのプレビュー マイルストーン</strong>では、<strong>初期段階のテストや開発用の環境</strong>を提供します。それを利用して既存のアプリにおける互換性の問題を特定し、新規プラットフォームへの移行や主な作業計画を立ててください。
 
 
+この期間は各種機能や API、ファイル互換性の問題など、あらゆるフィードバックを受け付けている貴重な期間です。ぜひ <a href="{@docRoot}preview/bug">Issue Tracker</a> を使用して、皆様のご意見をお聞かせください。
 
 
+いただいたフィードバックをもとに、一部の API を改善してアップデートで提供する予定です。
+</p>
+
+<p>
+  <strong>Preview 4 と 5</strong> には、開発に使用する <strong>Android N の最終版の API と SDK</strong>、システム動作や機能のテストに使用する最終版とほぼ同じシステム イメージが含まれます。
+
+この時点で Android N の標準 API レベルが確定します。
+以後は既存アプリの最終的な互換性テストを開始し、Android N の API や機能を使った新しいコードを改善できるようになります。
+
+</p>
+
+<p>
+  さらに Preview 4 以降では、正式な API レベルの Android N を搭載している<strong>端末にアプリを公開</strong>できるようになります(Android ベータ版プログラムにオプトインしたユーザーの端末などが対象)。
+
+なお、アプリは Google Play のアルファ版やベータ版のチャネルで先に配信できるので、ストア全体に公開する前に、Android ベータ版のユーザーに事前にアプリをテストしてもらうことが可能です。
+
 
 
 </p>
 
 <p>
-  <strong>Preview 4 と 5</strong> には、開発に使用する <strong>Android N の最終版の API と SDK</strong>、システム動作や機能のテストに使用する最終版とほぼ同じシステム イメージが含まれます。この時点で Android N の標準 API レベルが確定しますので、以後は既存アプリの最終的な互換性テストを開始し、Android N の API や機能を使った新しいコードを改善できるようになります。
+  Android N でテストや開発を行う場合、プレビューのアップデートがリリースされるたびに<strong>開発環境を最新の状態に更新する</strong>ことを強くお勧めします。
 
+その際はテスト用の端末を Android ベータ版プログラムに登録して、マイルストーンごとに<strong>無線(OTA)でアップデート</strong>を取得するようにしておくと便利です。
 
-
-
-</p>
-
-<p>
-  さらに Preview 4 以降では、正式な API レベルの Android N を搭載している<strong>デバイスにアプリを公開</strong>できるようになります(Android ベータ版プログラムにオプトインしたユーザーのデバイスなどが対象)。なお、アプリは Google Play のアルファ版やベータ版のチャネルで先に配信できるので、ストア全体に公開する前に、Android ベータ版のユーザーに事前にアプリをテストしてもらうことが可能です。
-
-
-
-
-
-</p>
-
-<p>
-  Android N でテストや開発を行う場合、プレビューのアップデートがリリースされるたびに<strong>開発環境を最新の状態に更新する</strong>ことを強くお勧めします。その際はテスト用のデバイスを Android ベータ版プログラムに登録して、マイルストーンごとに<strong>無線(OTA)でアップデート</strong>を取得するようにしておくと便利です。もしくはプレビュー イメージを手動でダウンロードして書き込むこともできます。
-
-
-
-
+もしくはプレビュー イメージを手動でダウンロードして書き込むこともできます。
 
 </p>
 
@@ -217,7 +217,7 @@
 
 <h3 id="sdk_tools">SDK ツール</h3>
 
-<p>各コンポーネントは <a href="{@docRoot}sdk/installing/adding-packages.html">Android Studio</a> の SDK Manager を使ってダウンロードできます。</p>
+<p>各コンポーネントは <a href="{@docRoot}studio/intro/update.html">Android Studio</a> の SDK Manager を使ってダウンロードできます。</p>
 
 <ul>
   <li> N Developer Preview の <strong>SDK とツール</strong>
@@ -233,80 +233,80 @@
 <h3 id="hardware_system_images">ハードウェアのシステム イメージ</h3>
 
 <p>
-  N Developer Preview に含まれる Nexus などのハードウェアのシステム イメージを使用すると、実機でテストや開発ができます。ハードウェア イメージの一覧は、<a href="{@docRoot}preview/download.html">デバイス イメージ</a>のページでご確認ください。
-
+  N Developer Preview に含まれる Nexus などのハードウェアのシステム イメージを使用すると、実機でテストや開発ができます。
+ハードウェア イメージの一覧は、<a href="{@docRoot}preview/download.html">端末イメージ</a>のページでご確認ください。
 
 </p>
 
 <p>
-  これらのデバイス用のシステム イメージは、各マイルストーンでアップデートします。アップデートされたシステム イメージは、何度でもダウンロードしてテスト用のデバイスに手動で書き込むことができます。自動化されたテスト環境では、繰り返しデバイスに再書き込みをする必要があるので、この方法は特に便利です。
+  これらの端末用のシステム イメージは、各マイルストーンでアップデートします。アップデートされたシステム イメージは、何度でもダウンロードしてテスト用の端末に手動で書き込むことができます。
 
-
+自動化されたテスト環境では、繰り返し端末に再書き込みをする必要があるので、この方法は特に便利です。
 
 
 </p>
 
-<p class="note"><strong>注:</strong> 昨年のプレビュー版とは違い、<strong>手動で書き込みをしたデバイスは OTA アップデートを取得できなくなります</strong>。そのため、今年はデバイスを Android ベータ版プログラムに登録して、OTA を取得するようにしてください。 詳細は次のセクションに記載しています。
-
-
+<p class="note"><strong>注</strong>:
+  昨年のプレビュー版と同様に、<strong>手動で書き込みをした端末は OTA アップデートを取得できなくなります</strong>。
+そのため、今年は端末を Android ベータ版プログラムに登録して、OTA を取得するようにしてください。詳細は次のセクションに記載しています。
 
 </p>
 
 <h3 id="android_beta">Android ベータ版プログラムによる OTA アップデート</h3>
 
 <p>
-  Android N は、新たに無線(OTA)アップデート プログラムに対応しています。このプログラムに登録しているデバイスには、Android N の最新プレビュー版へのアップデートが直接自動配信されます。登録は無料で、Google アカウントに登録済みの対象機種を所有していれば誰でもご利用いただけます。
+  Android N は、新たに無線(OTA)アップデート プログラムに対応しています。このプログラムに登録している端末には、Android N の最新プレビュー版へのアップデートが直接自動配信されます。
 
-
+登録は無料で、Google アカウントに登録済みの対象端末を所有していれば誰でもご利用いただけます。
 
 </p>
 
 <p>
-  このプログラムに登録するには、まず <a href="https://g.co/androidbeta">Android ベータ版プログラム</a>のサイトに移動します。このページには、Android ベータ版プログラムに登録可能なアカウントに登録済みデバイスの一覧が表示されます。
-
+  このプログラムに登録するには、まず <a href="https://g.co/androidbeta">Android ベータ版プログラム</a>のサイトにアクセスします。
+このサイトには、Android ベータ版プログラムに登録可能なアカウントに登録済みの端末がすべて表示されます。
 
 
 </p>
 
 <ol>
-  <li> Android N のアップデートを取得するデバイスを選択します。
+  <li> Android N のアップデートを取得する端末を選択します。
   <li> [Enroll] をクリックして利用規約を読み、合意したら [OK] をクリックします。
 </ol>
 
 <p>
-  登録が完了すると、すぐにデバイスにアップデートが配信されます。ほとんどの場合、Android N に移行する際にデータのオールリセットは不要ですが、デバイスの登録前には大事なデータをバックアップしておくことをお勧めします。
+  登録が完了すると、すぐに端末にアップデートが配信されます。ほとんどの場合、Android N に移行する際にデータのオールリセットは不要ですが、端末の登録前には大事なデータをバックアップしておくことをお勧めします。
 
 
 
 </p>
 
 <p>
-  デバイスにアップデートが配信されたら、できるだけ早めにダウンロードしてインストールするようにしてください。そうすることで常に最新のシステム UI や 動作、API、さまざまな機能の変更点を把握できます。
-
+  端末にアップデートが配信されたら、できるだけ早めにダウンロードしてインストールするようにしてください。
+そうすることで常に最新のシステム UI や動作、API、さまざまな機能の変更点を把握できます。
 
 </p>
 
 <p>
-  Developer Preview の終了時には、登録デバイスに Android N の正式リリース版へのアップデートが配信されます。
+  Developer Preview の終了時には、登録端末に Android N の正式リリース版へのアップデートが配信されます。
 
 </p>
 
 <p>
-  デバイスはいつでも Android ベータ版プログラムへの登録を解除できます。登録を解除する前には、デバイス上のデータを必ずバックアップしておいてください。
+  端末はいつでも Android ベータ版プログラムのサイトから Android ベータ版プログラムへの登録を解除できます。
+登録を解除する前には、端末のデータを必ずバックアップしておいてください。
+
+</p>
+
+  <p class="note"><strong>注</strong>:
+  登録を解除すると、<strong>端末はファクトリー リセットされ</strong>、Android 6.0 Marshmallow の最新バージョンになります(端末を登録する前のバージョンに戻るとは限りません)。
+
+
+確実にクリーン インストールを行うため、連絡先やメッセージ、写真などの端末上のデータは削除されます。
 
 
 </p>
 
-  <p class="note"><strong>注:</strong> 登録を解除すると、<strong>デバイスはファクトリー リセットされ</strong>、Android 6.0 Marshmallow の最新バージョンになります(デバイスを登録する前のバージョンに戻るとは限りません)。確実にクリーン インストールを行うため、連絡先やメッセージ、写真などのデバイス上のデータは削除されます。
-
-
-
-
-
-
-</p>
-
-<h3 id="documentation_and_sample_code">ドキュメントとサンプル コード</h3>
+<h3 id="documentation_and_sample_code">ドキュメントとサンプルコード</h3>
 
 <p>
   Developer Preview サイトにあるドキュメントで、Android&nbsp;N の詳細をご確認いただけます。
@@ -317,15 +317,15 @@
   <li> <a href="{@docRoot}preview/setup-sdk.html">Android N 向けの開発準備</a>では、はじめの手順をステップごとに説明しています。
 
 </li>
-  <li> <a href="{@docRoot}preview/behavior-changes.html">動作の変更点</a> には、集中的にテストを実施すべき箇所が記載されています。
+  <li> <a href="{@docRoot}preview/behavior-changes.html">動作の変更点</a>には、集中的にテストを実施すべき箇所が記載されています。
 </li>
   <li> 新規 API に関するドキュメントには、<a href="{@docRoot}preview/api-overview.html">API 概要</a>、ダウンロード可能な <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API リファレンス</a>などが含まれています。また、マルチ ウィンドウのサポート、バンドル通知、マルチロケールのサポートなどの主要機能についての詳細なデベロッパー ガイドも含まれています。
 
 
 
-  <li> <a href="{@docRoot}preview/samples.html">サンプル コード</a>では、パーミッションや他の新機能の使用方法を確認できます。
+  <li> <a href="{@docRoot}preview/samples.html">サンプルコード</a>では、パーミッションや他の新機能の使用方法を確認できます。
 
-  <li> 現行バージョンの N Developer Preview の<a href="{@docRoot}preview/support.html#release-notes">リリース ノート</a>では、変更履歴や差分レポートなどを確認できます。
+  <li> 現行バージョンの N Developer Preview の<a href="{@docRoot}preview/support.html#release-notes">リリースノート</a>では、変更履歴や差分レポートなどを確認できます。
 
 
 </ul>
@@ -333,9 +333,9 @@
 <h4 id="reference">ダウンロード可能な API リファレンス</h4>
 
 <p>
-  初期のプレビュー アップデートでは、<a href="{@docRoot}preview/setup-sdk.html#docs-dl">Android N プラットフォーム用の API リファレンス</a>の最新版を個別の zip ファイルとしてダウンロードできます。このリファレンスには差分レポートも含まれているので、API 23 や以前のアップデートからの API の変更点をご確認いただけます。
+  初期のプレビュー アップデートでは、<a href="{@docRoot}preview/setup-sdk.html#docs-dl">Android N プラットフォーム用の API リファレンス</a>の最新版を個別の zip アーカイブとしてダウンロードできます。
 
-
+このリファレンスには差分レポートも含まれているので、API 23 や以前のアップデートからの API の変更点をご確認いただけます。
 
 
 </p>
@@ -355,11 +355,11 @@
 </p>
 
 <ul>
-  <li> <strong>主なフィードバック手段</strong>は、<a href="https://code.google.com/p/android-developer-preview/">N Developer Preview Issure Tracker</a> です。これを使うと、バグやパフォーマンスの問題、一般的なフィードバックを報告できます。さらに<a href="{@docRoot}preview/bug">既知の問題</a>や、その回避方法もご確認いただけます。報告いただいた問題は常に最新の情報に更新されるので、重要度が判定されたり、問題が Android エンジニア チームに引き継がれたことを確認できます。
+  <li> <strong>主なフィードバック手段</strong>は、<a href="https://code.google.com/p/android-developer-preview/">N Developer Preview Issue Tracker</a> です。
+Issue Tracker を使うと、バグやパフォーマンスの問題、一般的なフィードバックを報告できます。
+さらに、<a href="{@docRoot}preview/bugs">既知の問題</a>や、その回避方法もご確認いただけます。
 
-
-
-
+報告いただいた問題は常に最新の情報に更新されるので、重要度が判定されたり、問題が Android エンジニア チームに引き継がれたことを確認できます。
  </li>
   <li> <a href="{@docRoot}preview/dev-community">Android N デベロッパー コミュニティ</a>は、Android N に携わっている<strong>デベロッパー同士がつながる</strong> Google+ のコミュニティです。Android N について意見交換をしたり、疑問点を解消したりする場としてご活用ください。Google はこのコミュニティを管理し、必要に応じて回答やアドバイスをします。
 
@@ -371,41 +371,41 @@
 <h3 id="targeting">ターゲット、プレビュー API、公開</h3>
 
 <p>
-  N Developer Preview では開発専用のシステムと、<strong>標準 API レベルを持たない</strong> Android ライブラリを提供します。アプリのテストで互換動作を除外する場合(強く推奨します)、アプリの <code><a href=
+  N Developer Preview では開発専用のシステムと、<strong>標準 API レベルを持たない</strong> Android ライブラリを提供します。
+アプリのテストで互換動作を除外する場合(強く推奨します)、アプリの <code><a href=
   "{@docRoot}preview/setup-sdk.html#create-update">targetSdkVersion</a></code> を <code>“N”</code> に設定することで Android N の プレビュー版を対象にすることができます。
 
 
 
 
-
 </p>
 
 <p>
-  Android N Developer Preview では、<strong>プレビュー API</strong> を提供しています。この API は、2016 年の第 3 四半期に予定している最終版 SDK のリリースまで正式版ではありません。そのため、プログラム開始後の数週間は特に<strong>軽微な API 変更が発生することが予想されます</strong>。変更点の概要については、Android N Developer Preview がアップデートされるたびにお知らせします。
+  Android N Developer Preview では、<strong>プレビュー API</strong> を提供しています。この API は、2016 年の第 3 四半期に予定している最終版 SDK のリリースまで正式版ではありません。
 
+そのため、プログラム開始後の数週間は特に、<strong>軽微な API 変更が発生することが予想されます</strong>。
 
-
-
+変更点の概要については、Android N Developer Preview がアップデートされるたびにお知らせします。
 
 </p>
 
 <p class="note">
-  <strong>注:</strong> プレビュー API は変更される可能性がありますが、システムの基幹にかかわる機能には変更はありませんので、すぐにテストしていただけます。
+  <strong>注</strong>:プレビュー API は変更される可能性がありますが、システムの基幹にかかわる機能には変更はありませんので、すぐにテストしていただけます。
 
 
 </p>
 
 <p>
-  Google Play では <strong>N Developer Preview を対象としたアプリの配信を禁止</strong>しています。Android N の最終版 SDK がリリースされてからは、正式な Android N の API レベルを対象にして、アルファ版またはベータ版のリリース チャンネルでアプリを Google Play に公開できます。それまでは、Android N を対象とするアプリをテスターに配信する場合は、電子メールで送付するか、自身のサイトから直接ダウンロードしてもらうようにしてください。
+  Google Play では <strong>N Developer Preview を対象としたアプリの公開を禁止しています</strong>。
+Android N の最終版 SDK がリリースされてからは、正式な Android N の API レベルを対象にして、アルファ版またはベータ版のリリース チャンネルでアプリを Google Play に公開できます。
 
-
-
+それまでは、Android N 向けのアプリをテスターに配信する場合は、電子メールで送付するか、自身のサイトから直接ダウンロードしてもらうようにしてください。
 
 
 </p>
 
 <p>
-  AOSP と OEM 向けの Android N のフルリリースは 2016 年度の第 3 四半期を予定しています。その後は、Android N 向けのアプリを Google Play の公式リリース チャンネルで配信いただけます。
+  AOSP と OEM 向けの Android N のフルリリースは 2016 年度の第 3 四半期を予定しています。その後は、Android N 向けのアプリを Google Play の公式リリース チャンネルで公開いただけます。
 
 
 </p>
@@ -418,16 +418,16 @@
 </p>
 
 <ol>
-  <li> <a href="{@docRoot}preview/api-overview.html">API 概要</a>や<a href="{@docRoot}preview/behavior-changes.html">動作の変更点</a>を参照して、新機能や自身のアプリへの影響をご確認ください。特に新しい<a href="{@docRoot}preview/features/notification-updates.html">通知</a>機能と<a href="{@docRoot}preview/features/multi-window.html">マルチ ウィンドウ</a>機能について把握しておくことをお勧めします。
+  <li> <a href="{@docRoot}preview/api-overview.html">API 概要</a>や<a href="{@docRoot}preview/behavior-changes.html">動作の変更点</a>を参照して、新機能や自身のアプリへの影響をご確認ください。
 
-
+特に新しい<a href="{@docRoot}preview/features/notification-updates.html">通知</a>機能と<a href="{@docRoot}preview/features/multi-window.html">マルチ ウィンドウ</a>機能について把握しておくことをお勧めします。
 
 </li>
-  <li> <a href="{@docRoot}preview/setup-sdk.html">Preview SDK のセットアップ</a>手順に従い、ご利用の環境をセットアップしてテスト用デバイスの設定をします。
+  <li> <a href="{@docRoot}preview/setup-sdk.html">Preview SDK のセットアップ</a>手順に従い、ご利用の環境をセットアップしてテスト用端末の設定をします。
 </li>
-  <li> <a href="https://developers.google.com/android/nexus/images">書き込み手順</a>に従い、最新の Android N のシステム イメージを 自身のデバイスに書き込みます。
+  <li> <a href="https://developers.google.com/android/nexus/images">書き込み手順</a>に従い、最新の Android N のシステム イメージを自身の端末に書き込みます。
  </li>
-  <li> <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API リファレンス</a>や <a href="{@docRoot}preview/samples.html">Android N のサンプル</a>を参考に API の新機能について理解を深め、それらを自身のアプリに利用する方法をご検討ください。
+  <li> <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API リファレンス</a>や <a href="{@docRoot}preview/samples.html">Android N のサンプル</a>を参考に API の新機能についてのインサイトを得て、それらを自身のアプリに利用する方法をご検討ください。
 
 
   <li> <a href="{@docRoot}preview/dev-community">Android N デベロッパー コミュニティ</a>に参加すると、最新のニュースを入手でき、新しいプラットフォームを利用している開発者同士で交流ができます。
diff --git a/docs/html-intl/intl/ja/preview/preview_toc.cs b/docs/html-intl/intl/ja/preview/preview_toc.cs
new file mode 100644
index 0000000..4b22608
--- /dev/null
+++ b/docs/html-intl/intl/ja/preview/preview_toc.cs
@@ -0,0 +1,75 @@
+<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="程式總覽">プログラム概要</a></div>
+  </li>
+
+
+  <li class="nav-section">
+    <div class="nav-section-header empty"><a href="&lt;?cs var:toroot ?&gt;preview/support.html">サポートとリリースノート</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">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="在裝置上測試">端末上でのテスト</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="行為變更">動作の変更点</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="背景最佳化">バックグラウンド処理の最適化</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="語言和地區設定">言語とロケール</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="多視窗支援">マルチ ウィンドウのサポート</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="通知">通知</a></li>
+
+        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/data-saver.html">データセーバー</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="電視錄製">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="網路安全性設定">ネットワーク セキュリティ構成</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">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 語言功能">Java 8 の言語機能</a></li>
+
+        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/afw.html">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="限定範圍目錄存取">特定のディレクトリへのアクセス</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="範例">サンプル</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="授權協議">使用許諾契約</a></div>
+  </li>
+
+</ul> 
\ No newline at end of file
diff --git a/docs/html-intl/intl/ja/preview/samples.jd b/docs/html-intl/intl/ja/preview/samples.jd
index 30c391e..ec3f9f7d 100644
--- a/docs/html-intl/intl/ja/preview/samples.jd
+++ b/docs/html-intl/intl/ja/preview/samples.jd
@@ -10,7 +10,7 @@
 </p>
 
 <p class="note">
-  <strong>注:</strong> 以下のダウンロード可能なプロジェクトは、Gradle と Android Studio でご利用いただくために提供しています。
+  <strong>注:</strong>以下のダウンロード可能なプロジェクトは、Gradle と Android Studio でご利用いただくために提供しています。
 
 </p>
 
@@ -30,8 +30,8 @@
 <h3 id="an">アクティブ通知</h3>
 <img src="{@docRoot}preview/images/sample-activenotifications.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
 <p>
-  NotificationCompat を用いて通知を送信するシンプルなサービスをご確認いただる既存のサンプルです。ユーザからの未読メッセージは、それぞれ別の通知として送信されます。
-
+  NotificationCompat を使用して通知を送信するシンプルなサービスをご確認いただける既存のサンプルです。
+ユーザーからの未読メッセージは、それぞれ別の通知として送信されます。
 
 </p>
 <p>
@@ -64,7 +64,7 @@
 <h3 id="fbe">ダイレクト ブート</h3>
 <img src="{@docRoot}preview/images/sample-directboot.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
 <p>
-  このサンプルでは、デバイスの暗号化ストレージ内のデータにアクセスしたり、データを保存したりする方法をご確認いただけます。この機能はデバイスが起動している間は常に有効です。
+  このサンプルでは、端末の暗号化ストレージ内のデータにアクセスしたり、データを保存したりする方法をご確認いただけます。この機能は端末が起動している間は常に有効です。
 
 </p>
 <p>
diff --git a/docs/html-intl/intl/ja/preview/setup-sdk.jd b/docs/html-intl/intl/ja/preview/setup-sdk.jd
index 36c2144..37fa086 100644
--- a/docs/html-intl/intl/ja/preview/setup-sdk.jd
+++ b/docs/html-intl/intl/ja/preview/setup-sdk.jd
@@ -1,5 +1,5 @@
-page.title=プレビューのセットアップ
-meta.keywords="プレビュー"、"android"
+page.title=Preview のセットアップ
+meta.keywords="preview", "android"
 page.tags="preview", "developer preview"
 page.image=images/cards/card-n-sdk_2x.png
 
@@ -15,7 +15,7 @@
       <li><a href="#docs-dl">リファレンス ドキュメント</a>
     </ol>
   </li>
-  <li><a href="#java8">Java 8 JDK および JRE を入手する</a></li>
+  <li><a href="#java8">Java 8 JDK を入手する</a></li>
   <li><a href="#create-update">プロジェクトをアップデートまたは作成する</a></li>
   <li><a href="#next">次のステップ</a></li>
 </ol>
@@ -25,57 +25,29 @@
 <p>このページで説明しているように、Android N Preview 向けのアプリを開発するには、デベロッパー環境をアップデートする必要があります。
 </p>
 
-<p>Android N システム イメージでアプリの互換性を簡単にテストするには、<a href="{@docRoot}preview/download.html">Android N デバイスでのテスト</a>に関するガイドに従ってください。
+<p>Android N システム イメージでアプリの互換性を簡単にテストするには、<a href="{@docRoot}preview/download.html">Android N 端末でのテスト</a>に関するガイドに従ってください。
 </p>
 
 <img src="{@docRoot}preview/images/n-preview-setup.png" width="700" alt="" />
 
 
-<h2 id="get-as13">Android Studio 2.1(プレビュー)を入手する</h2>
+<h2 id="get-as13">Android Studio 2.1 を入手する</h2>
 
-<p>Android N プラットフォームには、Jack と呼ばれる新しいコンパイラーが必要な <a href="{@docRoot}preview/j8-jack.html">Java 8 機能</a>のサポートが追加されています。現在、最新バージョンの Jack は、Android Studio 2.1 のみでサポートされています。したがって、Java 8 機能を使用する場合は、Android Studio 2.1 を使用してアプリをビルドする必要があります。Java 8 機能を使用しない場合は Jack コンパイラーを使用する必要はありません。ただし、以下に説明するように、Android N プラットフォームを対象にコンパイルを行うには、JDK 8 にアップデートする必要があります。
+<p>Android N プラットフォームには、Jack と呼ばれる新しいコンパイラーが必要な <a href="{@docRoot}preview/j8-jack.html">Java 8 の言語機能</a>のサポートが追加されています。
+現在、最新バージョンの Jack は、Android Studio 2.1 のみでサポートされています。したがって、Java 8 の言語機能を使用する場合は、Android Studio 2.1 を使用してアプリをビルドする必要があります。
 
 
-
-
-
+それ以外の合は、Jack コンパイラーを使用する必要はありません。ただし、以下に説明するように、Android N プラットフォームに対応する設定でコンパイルを行うには、JDK 8 にアップデートする必要があります。
 
 </p>
 
-<p>現在、Android Studio 2.1 は、先行リリース チャンネルでプレビューとして入手できます。Android Studio を既に入手していて、先行チャンネル版にアップデートしない場合は、Android Studio 2.1 を個別のインストールとしてダウンロードして、Android N での開発に使用することにより、Android Studio のプライマリ環境に影響を及ぼさないようにすることができます。
-
-
-
+<p>既に Android Studio がインストールされている場合は、<strong>[Help] &gt; [Check for Update]</strong>(Mac では、<strong>[Android Studio] &gt; [Check for Updates]</strong>)をクリックして、Android Studio 2.1 以上であることを確認してください。
 
 </p>
 
-<p>Android Studio 2.1 を個別のインストールとしてダウンロードするには、次のステップを実行します(既存のインストールを Android Studio 2.1 にアップデートする場合は、ステップ 4 に進んでください)。
-
+<p>Android Studio 2.1 以上がない場合は、<a href="{@docRoot}studio/">こちらから Android Studio 2.1 をダウンロード</a>してください。
 </p>
 
-<ol>
-  <li>Android Studio の既存のインストールの名前を編集し、バージョン番号を末尾に追加します。このようにすると、新しいバージョンをインストールしたときに、新しいバージョンが既存のバージョンを上書きしません。
-
-</li>
-  <li><a href="http://tools.android.com/download/studio/canary/latest">先行チャンネルのダウンロード ページ</a>から、お使いのオペレーティング システムに対応した ZIP ファイルをダウンロードします。
-
-  </li>
-  <li>パッケージを解凍し、アプリケーションを配置するシステム上の適切な場所に Android Studio 2.1 の内容を移動してから起動します。
-</li>
-  <li>設定ダイアログを開きます(Windows、Linux では <strong>[File] &gt; [Settings]</strong>、Mac では <strong>[Android Studio] &gt; [Preferences]</strong>)。左側のパネルで、<strong>[Appearance &amp; Behavior] &gt; [System Settings] &gt; [Updates]</strong> を選択します。
-
-
-
-
-  </li>
-  <li>[Updates] パネルで、[<strong>Automatically check updates for</strong>] チェック ボックスを選択し、ドロップダウン リストから [<strong>Canary Channel</strong>] を選択します。
-
-
-  </li>
-</ol>
-
-<p>次のステップのために、この設定ウィンドウを開いたままにします。</p>
-
 
 <h2 id="get-sdk">N Preview SDK を入手する</h2>
 
@@ -83,20 +55,13 @@
 </p>
 
 <ol>
-  <li>開いたままにしている [Updates] パネル(上記のステップ 4)で、[<strong>Automatically check updates for Android SDK</strong>] チェック ボックスを選択し、ドロップダウン リストから [<strong>Preview Channel</strong>] を選択します。
-
-
-
-  </li>
-  <li>[<strong>Check Now</strong>] をクリックします。</li>
-
-  <li>左側のパネルで、<strong>[Appearance &amp; Behavior] &gt; [System Settings] &gt; [Android SDK]</strong> を選択します。
-
-
-  <li>[<strong>SDK Platforms</strong>] タブをクリックして、[<strong>Android N Preview</strong>] チェック ボックスを選択します。
+  <li><strong>[Tools] &gt; [Android] &gt; [SDK Manager]</strong> をクリックして、SDK Manager を開きます。
 </li>
 
-  <li><strong>[SDK Tools]</strong> タブをクリックして <strong>[Android SDK Build Tools]</strong>、<strong>[Android SDK Platform-Tools]</strong>、<strong>[Android SDK Tools]</strong> のチェック ボックスを選択します。
+  <li>[<strong>SDK Platforms</strong>] タブで、[<strong>Android N Preview</strong>] チェックボックスをオンにします。
+</li>
+
+  <li>[<strong>SDK Tools</strong>] タブをクリックして、[<strong>Android SDK Build Tools</strong>]、[<strong>Android SDK Platform-Tools</strong>]、[<strong>Android SDK Tools</strong>] のチェック ボックスをオンにします。
 
 
 
@@ -110,9 +75,9 @@
 <h3 id="docs-dl">N Preview のリファレンス ドキュメントを入手する</h3>
 
 <p>
-  Android N API に関する詳細は、N Preview のリファレンス ドキュメントに記載されています。このドキュメントは、次の表からダウンロードできます。このパッケージには、簡略化されたオフライン バージョンの Android デベロッパー ウェブサイト、Android N API のアップデートされた API リファレンス、API の比較レポートが含まれています。
+  Android N API に関する詳細は、N Preview のリファレンス ドキュメントに記載されています。このドキュメントは、次の表からダウンロードできます。
 
-
+  このパッケージには、簡略化されたオフライン バージョンの Android デベロッパー ウェブサイト、Android N API のアップデートされた API リファレンス、API の比較レポートが含まれています。
 
 
 </p>
@@ -124,36 +89,34 @@
   </tr>
   <tr>
     <td style="white-space: nowrap">
-    <a href="{@docRoot}shareables/preview/n-preview-1-docs.zip">n-preview-1-docs.zip</a></td>
+    <a href="{@docRoot}shareables/preview/n-preview-3-docs.zip">n-preview-3-docs.zip</a></td>
     <td width="100%">
-      MD5: 4ab33ccbe698f46f125cc5b807cf9c2f<br>
-      SHA-1: 6a3880b3ccd19614daae5a4d0698ea6ae11c20a5
+      MD5:19bcfd057a1f9dd01ffbb3d8ff7b8d81<br>
+      SHA-1:9224bd4445cd7f653c4c294d362ccb195a2101e7 
     </td>
   </tr>
-</table>
+<table>
 
 
 
-<h2 id="java8">Java 8 JDK および JRE を入手する</h2>
+<h2 id="java8">Java 8 JDK を入手する</h2>
 
-<p>Android N プラットフォームを対象にしたアプリをコンパイルするには、Java 8 Developer Kit(JDK 8)を使用する必要があります。また、Android Studio 2.1 でいくつかのツールを使用するには、Java 8 Runtime Environment(JRE 8)をインストールする必要があります。したがって、JDK 8 と JRE 8 の最新バージョンを持っていない場合は、すぐに JDK 8 と JRE 8 をダウンロードしてください。
-
-
-
+<p>Android N プラットフォームに対応する設定でアプリをコンパイルしたり、Android Studio 2.1 でいくつかのツールを使用したりするには、Java 8 Developer Kit(JDK 8)をインストールする必要があります。
+したがって、最新バージョンを持っていない場合は、すぐに JDK 8 をダウンロードしてください。
 </p>
 
 <p>その後、次のステップに従って Android Studio で JDK のバージョンを設定します。</p>
 
 <ol>
-  <li>Android Studio で Android プロジェクトを開いてから、<strong>[File] &gt; [Project Structure]</strong> を選択して、[Project Structure] ダイアログを開きます(または、<strong>[File] &gt; [Other Settings] &gt; [Default Project Structure]</strong> を選択すると、すべてのプロジェクトのデフォルトを設定できます)。
+  <li>Android Studio で Android プロジェクトを開いてから、<strong>[File] &gt; [Project Structure]</strong> を選択して、[Project Structure] ダイアログを開きます
 
-
+(または、<strong>[File] &gt; [Other Settings] &gt; [Default Project Structure]</strong> を選択すると、すべてのプロジェクトの既定値を設定できます)。
 
 
    </li>
    <li>ダイアログの左側のパネルで、[<strong>SDK Location</strong>] をクリックします。
    </li>
-   <li>[<strong>JDK Location</strong>] フィールドに Java 8 JDK の場所を入力し(ファイルを参照するには、右側のボタンをクリックします)、[<strong>OK</strong>] をクリックします。
+   <li>[<strong>JDK Location</strong>] 項目に Java 8 JDK の場所を入力し(ファイルをブラウジングするには、右側のボタンをクリックします)、[<strong>OK</strong>] をクリックします。
 
 
    </li>
@@ -168,7 +131,7 @@
   Android N API を使用するには、プロジェクトが適切に構成されている必要があります。
 </p>
 
-<p>Java 8 機能の使用を計画している場合は、<a href="{@docRoot}preview/j8-jack.html">Java 8 機能</a>を読んで、サポートされる Java 8 機能に関する情報と、プロジェクトで Jack コンパイラーを構成する方法を確認してください。
+<p>Java 8 機能の使用を計画している場合は、<a href="{@docRoot}preview/j8-jack.html">Java 8 機能</a>を読んで、サポートされる Java 8 機能に関する情報と、プロジェクトで Jack コンパイラーを設定する方法を確認してください。
 
 
 </p>
@@ -184,7 +147,7 @@
 <pre>
 android {
   compileSdkVersion <strong>'android-N'</strong>
-  buildToolsVersion <strong>'24.0.0-rc1'</strong>
+  buildToolsVersion <strong>'24.0.0-rc3'</strong>
   ...
 
   defaultConfig {
@@ -206,18 +169,19 @@
 
   </li>
   <li>このページで、[<strong>Phone and Tablet</strong>] オプションを選択します。</li>
-  <li>[<strong>Phone and Tablet</strong>] オプションの下にある [<strong>Minimum SDK</strong>] オプション リストで、[<strong>N: Android API 23, N Preview (Preview)</strong>] を選択します。
+  <li>[<strong>Phone and Tablet</strong>] オプションの下にある [<strong>Minimum SDK</strong>] オプション リストで、[<strong>N:
 
-</li>
+Android API 23, N Preview (Preview)</strong>] を選択します。</li>
 </ol>
 
 
 <h2 id="next">次のステップ</h2>
 
 <ul>
-  <li><a href="{@docRoot}preview/download.html">Android N デバイスでのテスト</a>に関するガイドに従ってください。</li>
+  <li><a href="{@docRoot}preview/download.html">Android N 端末でのテスト</a>に関するガイドに従ってください。</li>
   <li>Android N プラットフォームの詳細については、<a href="{@docRoot}preview/behavior-changes.html">動作の変更点</a>と <a href="{@docRoot}preview/api-overview.html">Android N API とその機能</a>をご覧ください。
 
 
 </li>
 </ul>
+
diff --git a/docs/html-intl/intl/ja/preview/support.jd b/docs/html-intl/intl/ja/preview/support.jd
new file mode 100644
index 0000000..bda763d
--- /dev/null
+++ b/docs/html-intl/intl/ja/preview/support.jd
@@ -0,0 +1,1188 @@
+page.title=サポートとリリースノート
+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>このドキュメントの内容</h2>
+
+<ul>
+  <li><a href="#dp3">Developer Preview 3</a>
+    <ul>
+      <li><a href="#general">一般的な注意事項</a></li>
+      <li><a href="#new">DP3 の新機能</a></li>
+      <li><a href="#ki">既知の問題</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>
+  Android N Developer Preview で開発およびテストするときは、2 つの主なサポート チャンネルを使用できます。
+端末固有、システム、Google アプリのバグについては、<a href="https://developer.android.com/preview/bug">https://developer.android.com/preview/bug</a> で報告してください。
+他のアプリの問題については、デベロッパーに直接お問い合わせください。
+
+</p>
+
+<p>Android N に携わっている他のデベロッパーと問題やアイデアについて議論するには、<a href="{@docRoot}preview/dev-community">Developer Preview Google+ コミュニティ</a>にご参加ください。
+</p>
+
+<h2 id="dp3">Developer Preview 3</h2>
+
+<div class="wrap">
+  <div class="cols">
+    <div class="col-6of12">
+      <p>
+        <em>日付:2016 年 5 月<br>
+        ビルド:NPD35K<br>
+        エミュレータ サポート: x86 と ARM(32 / 64 ビット)<br>
+        Google Play services:8.4</em>
+      </p>
+    </div>
+  </div>
+</div>
+
+<h3 id="general">一般的な注意事項</h3>
+
+<p>
+  この Developer Preview リリースは、<strong>アプリのデベロッパーやその他の初期導入者</strong>を対象とし、日常的な使用、開発、互換性テストに使用できます。
+
+このリリースに関する次の一般的な事項に注意してください。
+
+</p>
+
+<ul>
+  <li>このリリースでは、サポート対象端末でさまざまな<strong>安定性に関する問題</strong>が発生する可能性があります。
+カーネルパニックやクラッシュなど、システムが不安定になる可能性があります。
+
+  </li>
+
+  <li>一部のアプリは、新しいプラットフォーム バージョンで<strong>期待どおりに動作しない可能性があります</strong>。
+これには、Google のアプリやその他のアプリが含まれます。
+  </li>
+
+  <li>Developer Preview 3 は、次の端末で <strong>互換性テストスイート(CTS)の承認</strong>を得ています。
+Nexus 5X、Nexus 6、Nexus 6P、Pixel C。CTS 承認済みビルドに依存するアプリは、これらの端末で正常に動作します(Android Pay など)。
+
+
+  </li>
+
+  <li>Developer Preview 3 は、<strong>次のすべてのサポート対象端末で利用できます</strong>。
+Nexus 5X、Nexus 6、Nexus 6P、Nexus 9、Nexus Player、Pixel C、General Mobile 4G(Android One)、Sony Xperia Z3(D6603 と D6653 モデル)。
+
+
+
+  </li>
+</ul>
+
+
+<h3 id="new">DP3 の新機能</h3>
+
+<h4 id="">Android 用 VR モード</h4>
+
+<p>
+  Android N には、新しい VR モードのためのプラットフォーム サポートと最適化が追加され、デベロッパーは高品質のモバイル端末 VR エクスペリエンスをユーザーのために生み出すことができます。
+多数のパフォーマンス強化があり、VR アプリ用の CPU コアへの排他アクセスが含まれます。
+
+アプリでは、VR 用に動作するインテリジェントなヘッド トラッキングやステレオ方式の通知を利用できます。
+最も重要な点は、Android N によって大幅に遅延の少ないグラフィックが実現されることです。
+
+</p>
+
+<p>
+  詳細については、<a href="https://developers.google.com/vr/android/">Google VR SDK for Android</a> をご覧ください。
+</p>
+
+<h4 id="">パフォーマンス維持モード</h4>
+
+<p>
+  Android N には、<a href="{@docRoot}preview/api-overview.html#sustained_performance_api">パフォーマンス維持モード</a>のオプション サポートが含まれており、OEM は長時間実行されているアプリの端末パフォーマンス機能に関するヒントを示すことができます。
+
+アプリのデベロッパーは、これらのヒントを使用して、長時間にわたって予測可能で一貫性のあるレベルの端末のパフォーマンスを維持できるようにアプリを調整できます。
+
+アプリのデベロッパーが Developer Preview でこの新しい API を試すことができるのは、Nexus 6P 端末上でのみです。
+
+</p>
+
+<h4>Multiprocess WebView</h4>
+
+<p>
+  Android N のバージョン 51 以降は、デベロッパー オプションの [Multiprocess WebView] が有効になっている場合、WebView は別のサンドボックス プロセスでウェブ コンテンツを実行します。
+
+WebView チームは、将来のバージョンの Android で Multiprocess WebView を有効にする前に、N での互換性やランタイム パフォーマンスに関するフィードバックを求めています。
+
+このバージョンでは、スタートアップ時間、メモリ使用量の合計、ソフトウェア レンダリング パフォーマンスの低下が予想されます。
+
+</p>
+
+<p>
+  マルチプロセス モードで予想外の問題が見つかった場合は、ご報告ください。
+<a href="https://bugs.chromium.org/p/chromium/issues/entry?template=Webview%20Bugs">バグを報告</a>して WebView チームにご連絡ください。
+
+</p>
+
+<h4 id="">キーボード ショートカット ヘルパー</h4>
+
+<p>
+  Android N では、ユーザーは <code>Meta+/</code> キーを押して<strong>キーボード ショートカット</strong>画面をトリガーできます。この画面には、システムとアプリから使用できるすべてのショートカットが表示されます。
+
+デベロッパーは、独自のショートカットを追加したり、アプリからショートカット画面をトリガーしたりできます。
+詳細については、<a href="{@docRoot}preview/api-overview.html#keyboard_shortcuts_helper">キーボード ショートカット ヘルパー</a>をご覧ください。
+
+</p>
+
+<h4 id="">FrameMetrics API</h4>
+
+<p>
+  DP3 で導入された新しい <a href="{@docRoot}preview/api-overview.html#framemetrics_api">FrameMetrics API</a> により、アプリでその UI レンダリング パフォーマンスを監視できます。この機能は、アプリの現在のウィンドウのフレーム タイミング情報を転送するストリーミング pubsub API を公開することによって実現されます。<code>FrameMetricsListener</code> を使用して、より高い粒度で、USB 接続の必要なく、本番環境のインタラクション レベルの UI パフォーマンスを計測できます。
+
+
+
+
+
+</p>
+
+<h4 id="api-changes">機能と API の変更</h4>
+
+<dl>
+  <dt>
+    ランチャー ショートカットとランチャー ショートカットの API
+  </dt>
+
+  <dd>
+    この機能は、Android の将来のリリースまで延期することを決定しました。次の Developer Preview 以降、公開 Android N API から、ランチャー ショートカットの API(ShortcutManager など)を削除することを計画しています。
+
+
+  </dd>
+
+  <dt>
+    ページを読み込む前に WebView Javascript が実行される
+  </dt>
+
+  <dd>
+    Android N 向けのアプリ以降、新しいページが読み込まれるときに、Javascript コンテキストがリセットされます。
+現在、コンテキストは、新しい {@link android.webkit.WebView} インスタンスで、最初に読み込まれるページに持ち越されます。
+
+    Javascript を {@link
+    android.webkit.WebView} に注入する予定のデベロッパーの方は、ページの読み込みが開始した後にスクリプトが実行されるようにしてください。
+
+  </dd>
+
+  <dt>
+    安全でないオリジンでの WebView の位置情報
+  </dt>
+
+  <dd>
+    Android N 向けのアプリ以降、位置情報 API は安全なオリジン(HTTPS 経由)でのみ許可されます。
+このポリシーは、ユーザーが安全でない接続を使用しているときにユーザーの個人情報を保護するために設計されています。
+
+  </dd>
+
+  <dt>
+    データセーバー
+  </dt>
+
+  <dd>
+    Developer Preview 3 以降、アプリで、システム ダイアログを表示するためのインテントを使用できます。これにより、ユーザーはデータセーバーの免除ホワイトリストに直接アプリを追加できます。
+
+詳細については、<a href="{@docRoot}preview/api-overview.html#data_saver">データセーバーのドキュメント</a>をご覧ください。
+
+  </dd>
+
+  <dt>
+    <a href="{@docRoot}preview/api-overview.html#number-blocking">迷惑電話のブロック</a>
+  </dt>
+
+  <dd>
+    許可されていないユーザーが番号をブロックまたはブロック解除しようとした場合、現在は {@link java.lang.SecurityException} が発生してエラーになります。
+以前は、{@link java.lang.UnsupportedOperationException} がスローされていました。
+
+  </dd>
+
+  <dt>
+    <a href="{@docRoot}preview/api-overview.html#tile_api">クイック設定タイル API</a>
+
+  </dt>
+
+  <dd>
+    現在は、タイルモードの決定に、アクティビティのメタデータが使用されます。
+    以前は、タイルモードは <code>TileService.onTileAdded()</code> の戻り値によって決定されていました。
+詳細については、ダウンロード可能な <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API リファレンス</a>の <code>TileService.META_DATA_ACTIVE_TILE</code> をご覧ください。
+
+  </dd>
+</dl>
+
+<h4 id="dp3-fixes">デベロッパーから報告された問題の修正</h4>
+
+<p>
+  次のものを含めて、デベロッパーから報告された問題が修正されました。
+</p>
+
+<ul>
+  <li>Bluetooth 音声の再生が、1 曲の後で中断される(バグ <a href="https://code.google.com/p/android/issues/detail?id=206889">206889</a>)
+  </li>
+
+  <li>Pixel C が一貫してクラッシュする(バグ <a href="https://code.google.com/p/android/issues/detail?id=206962">206962</a>)
+  </li>
+
+  <li>時計とトーストの通知の問題(バグ <a href="https://code.google.com/p/android/issues/detail?id=203094">203094</a>)
+  </li>
+
+  <li>Pixel C を USB C ケーブル経由で MacBook Pro に接続すると、再起動します。(バグ <a href="https://code.google.com/p/android/issues/detail?id=205432">205432</a>)
+
+  </li>
+
+  <li>カレンダーの設定が 1 日オフセットされる(バグ <a href="https://code.google.com/p/android/issues/detail?id=203002">203002</a>)
+  </li>
+
+  <li>TelephonyManager.getAllCellInfo から無効なデータが戻される(バグ <a href="https://code.google.com/p/android/issues/detail?id=203022">203022</a>)
+  </li>
+
+  <li>Nexus 6p、Bluetooth が頻繁に接続しなくなる(バグ <a href="https://code.google.com/p/android/issues/detail?id=208062">208062</a>)
+  </li>
+</ul>
+
+<p>修正された問題の一覧は、<a href="https://goo.gl/6uCKtf">Issue Tracker</a> をご覧ください。
+</p>
+
+<h3 id="ki">既知の問題</h3>
+
+<h4>ユーザー補助機能</h4>
+
+<ul>
+  <li>ピッチを最大レベルに近く設定すると、TTS 出力が聞こえません。
+  </li>
+
+  <li>ユーザーがズーム操作や設定などの仕事用プロファイルを追加すると、ユーザー補助機能と設定が妨げられます。
+ユーザー補助機能に関連する設定を、ユーザーが後で操作すると、ユーザー補助機能の状態が復元されます。
+
+  </li>
+</ul>
+
+<h4>カメラ</h4>
+
+<ul>
+  <li>カメラアプリの動作が不安定で、マルチ ウィンドウ モードで起動したときなど、さまざまな状況でクラッシュします。
+
+  </li>
+
+  <li>パノラマモードでシャッターを続けて押すと、カメラアプリがクラッシュすることがあります。
+
+  </li>
+</ul>
+
+<h4>音声</h4>
+<ul>
+  <li>プラットフォームの音楽プレーヤーの問題により、一部のアプリが正常に動作しません。
+たとえば、Skype その他のアプリがこの問題の影響を受けます。
+  </li>
+</ul>
+
+<h4>接続</h4>
+
+
+<ul>
+  <li>Bluetooth Low Energy(BLE)周辺ロール端末がサービスをアドバタイズし、BLE セントラル ロール端末が接続すると、周辺ロール端末の接続が即座に切断されます。
+
+
+  </li>
+
+  <li>画面がオフになっているときに、Wi-Fi 接続が切れることがあります。
+  </li>
+
+  <li>RFCOMM 接続が不安定で、データが破損したり、接続が混乱することがあります。
+
+  </li>
+
+  <li>一部の制限された背景シナリオにおいて、アクティブ ネットワーク状態({@link android.net.NetworkInfo#getState
+  NetworkInfo.getState()} と {@link android.net.NetworkInfo#getDetailedState
+  NetworkInfo.getDetailedState()})によって、誤った値が戻されることがあります。
+
+  </li>
+</ul>
+
+
+<h4>
+  ランチャー
+</h4>
+
+<ul>
+  <li>画面のオンとオフを切り替えた後、既定のランチャーの [All Apps] トレイが応答しなくなることがあります。
+この問題は、ホーム画面に戻り、[All Apps] トレイを再起動することで解決する場合があります。
+
+  </li>
+</ul>
+
+<h4>
+  キーボード
+</h4>
+
+<ul>
+  <li>Android 6.0 以前を実行する端末を N Developer Preview にアップデートすると、Google キーボードで、絵文字やサウンド設定などの設定が保持されません。
+
+
+  </li>
+
+  <li>Google Indic Managed キーボードが不安定になることがあります。
+  </li>
+
+  <li>パスワード項目にテキストを入力するとき、ユーザーは入力言語としてロシア語を選択できるにもかかわらず、キーボードは英語のままになります。
+このため、ユーザーはロシア語のパスワードを入力できません。
+
+  </li>
+</ul>
+
+<h4>
+  ロケールと言語
+</h4>
+
+<ul>
+  <li>右から左(RTL)のロケールを使用しているとき、端末を再起動した後に、システムが予期せず左から右(LTR)の表示に切り替わることがあります。
+
+  </li>
+</ul>
+
+<h4>メディア</h4>
+
+<ul>
+  <li>Nexus 9 と Nexus Player のメディア再生の信頼性が低くなり、HD 動画の再生の問題も発生します。
+
+  </li>
+</ul>
+
+<h4>
+  マルチ ウィンドウ モード
+</h4>
+
+<ul>
+  <li>マルチ ウィンドウ モードで画面の向きを変えているときに端末がフリーズすることがあります。
+  </li>
+
+  <li>現在、複数のアプリにマルチ ウィンドウ モードの問題があります。
+    <ul>
+      <li>マルチ ウィンドウで [Settings] &gt; [Display] &gt; [Screen brightness] をドッキングしているときに、システム UI がクラッシュすることがあります。
+
+      </li>
+
+      <li>カメラアプリをマルチ ウィンドウ モードで起動すると、クラッシュすることがあります。
+      </li>
+
+      <li>YouTube をマルチ ウィンドウ モードで起動すると、クラッシュすることがあります。[Storage] &gt; [Apps] &gt; [YouTube] で YouTube アプリのデータをクリアすると、この問題を修正できることがあります。
+
+
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<h4>
+  Google Play services
+</h4>
+
+<ul>
+  <li>ユーザーが ASCII 範囲外の文字や数字を使用するシステム ロケールを選択した場合に、Google Play services 経由で Google Cast を使用するアプリが不安定になることがあります。
+
+
+  </li>
+</ul>
+
+<h4>
+  Android for Work と Google Apps のデバイス ポリシー
+</h4>
+
+<ul>
+  <li>[device policy status] 画面を固定した状態で、ユーザーが端末のロックを解除すると、デバイス ポリシー アプリがクラッシュすることがあります。
+
+  </li>
+
+  <li>ファイルベースの暗号化を有効にして仕事用プロファイルをセットアップした後で Work をオフにした場合、再度 Work アプリにアクセスするには、ユーザーはプライマリ プロファイル画面ロックを解除する必要があります。
+
+
+  </li>
+
+  <li>セキュリティ パターン ロックを削除し、仕事用または個人用のアプリをマルチ ウィンドウで開くと、端末が再起動します。
+
+  </li>
+
+  <li>DISALLOW_VPN_CONFIG を設定すると、デバイス ポリシー クライアントによって always-on-vpn に設定され、同意を求めるダイアログが表示されます。
+
+  </li>
+
+  <li>VPN が always-on-vpn モードで接続されるまで、トラフィックがロックダウンされません。
+  </li>
+</ul>
+
+<h4>
+  外部ストレージ
+</h4>
+
+<ul>
+  <li>ユーザーがアプリを内部ストレージから適用可能な外部ストレージ(SD カードや USB 接続された端末など)に移動した場合に、そのアプリが不安定になることがあります。
+
+
+  </li>
+</ul>
+
+<h4>
+  Google Play での画面ズームと複数の APK
+</h4>
+
+<ul>
+  <li>Android N を実行する端末で、Google Play services 9.0.83 によって、安定した画面密度ではなく、現在の画面密度が誤って報告されます。
+これらの端末で画面ズームが有効になっていると、このことによって、より小さい画面向けに設計されたマルチ APK アプリのバージョンが Google Play によって選択されることがあります。
+
+この問題は、Google Play services の次のバージョンで修正され、その後の Developer Preview リリースに含められます。
+
+
+  </li>
+
+  <li>Android N を実行する端末で、現在、Google Play services 9.0.83 によって、Vulkan バージョンではなく、Vulkan サポートが報告されます。
+このことによって、より高いバージョンがサポートされた端末で、より低いバージョンの Vulkan サポート向けに設計されたマルチ APK アプリのバージョンが Google Play によって選択されることがあります。
+
+現在、Google Play ストアでは、Vulkan バージョンのターゲットを使用するアプリのアップロードは受け入れていません。
+このサポートは将来 Google Play Store に追加され、次のバージョンの Google Play services で修正されます(その後の Developer Preview リリースに含められます)。Google Play services 9.0.83 のバージョンを使用するすべての N 端末は、基本的な Vulkan サポートをターゲットとするアプリのバージョンを引き続き受信します。
+
+
+
+
+  </li>
+</ul>
+
+<h4 id="">通知</h4>
+
+<ul>
+  <li>MessagingStyle に、送信者が null(自分)の通知が表示されません。
+  </li>
+</ul>
+
+<h4 id="">デベロッパー ツール</h4>
+
+<ul>
+  <li>
+    JDWP デバッグを使用している間に、<code>adb</code> の接続が切断されることがあります。
+  </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>日付:2016 年 4 月<br>
+        ビルド:NPC91K、NPC91O<br>
+        エミュレータ サポート: x86 と ARM(32 / 64 ビット)<br>
+        Google Play services:8.4</em>
+      </p>
+    </div>
+  </div>
+</div>
+
+<h3 id="dp2-new">DP2 の新機能</h3>
+
+<ul>
+  <li>Vulkan のプラットフォーム サポートである、新しい 3D レンダリング API により、GPU(Graphics Processor Unit)を明示的に、かつ少ないオーバーヘッドで制御でき、ドローコールの多いアプリのパフォーマンスが向上しています。
+
+詳細については、<a href="{@docRoot}ndk/guides/graphics/index.html">ドキュメント</a>をご覧ください。
+
+  </li>
+
+  <li>新しい連絡帳アプリの絵文字では、肌色と、新しい Unicode 9 のグリフがサポートされます。
+  肌色と新しい絵文字は、キーボードのビルドにパレット内でのこれらに対するサポートが備えられるまで、表示されません。
+非システム フォントを使用するアプリを除き、アプリでこれらの新しい絵文字を利用するための操作は必要ありません。
+IME のデベロッパーは新しい絵文字のサポートを組み込む必要があります。
+
+  </li>
+
+  <li>
+    <a href="{@docRoot}preview/api-overview.html#launcher_shortcuts">ランチャー ショートカットの API</a>:
+アプリでは <code>ShortcutManager</code> を使用して、それ自体の中の開始点へのショートカットを、ランチャーに送信できます。
+
+  </li>
+
+  <li>
+    <a href="{@docRoot}preview/features/multi-window.html">マルチ ウィンドウ</a>:
+    アクティビティに対して個別に最小の高さと幅を指定できるようになりました。
+さらに、複数の API の名前が少し変更されました。
+  </li>
+</ul>
+
+<h4 id="dp2-fixes">デベロッパーから報告された問題の修正</h4>
+
+<p>
+  次のものを含めて、デベロッパーから報告された問題が修正されました。
+</p>
+
+<ul>
+  <li>隠された SSID や、非ブロードキャスト Wi-Fi に接続できません。(バグ <a href="https://code.google.com/p/android/issues/detail?id=203116">203116</a>)
+  </li>
+
+  <li>マイクのミュート状態がアクティビティをまたいで保持されます。(バグ <a href="https://code.google.com/p/android/issues/detail?id=205922">205922</a>)
+  </li>
+
+  <li>マルチ ウィンドウのフォーカスを変更すると、YouTube が停止します。(バグ <a href="https://code.google.com/p/android/issues/detail?id=203424">203424</a>)
+  </li>
+
+  <li>ダイレクト リプライによって、開かれているアクティビティが閉じられることがあります。(バグ <a href="https://code.google.com/p/android/issues/detail?id=204411">204411</a>)
+  </li>
+
+  <li>安定性に関するさまざまな修正。
+  </li>
+</ul>
+
+<h3 id="dp2-general">一般的な注意事項</h3>
+
+<p>
+  この Developer Preview リリースは、<strong>アプリのデベロッパーのみ</strong>を対象とし、互換性テストと初期の開発のみで使用するために開発されています。
+
+  このリリースに関する次の一般的な事項に注意してください。
+</p>
+
+<ul>
+
+  <li>DP2 リリースで、開発ツールのコンポーネントとサポート ライブラリがアップデートされました。
+DP2 のための開発を行う前に、Preview 開発環境をアップデートしてください。
+開発環境のセットアップの手順については、<a href="{@docRoot}preview/setup-sdk.html">Preview のセットアップ</a>をご覧ください。
+
+
+  </li>
+
+  <li>このリリースには、すべての端末における安定性とパフォーマンスに関するさまざまな問題があるため、特に、デベロッパー以外の方が、<strong>スマートフォンやタブレットで日常的に使用することには適していません。</strong>
+
+
+  </li>
+
+  <li>このリリースでは、電池寿命とパフォーマンスがまだ最適化されていません。
+
+
+    <ul>
+      <li>システムとアプリの<strong>パフォーマンスが、定期的に遅くなるか、不自然になることがわかっており</strong>、端末が応答しなくなることがあります。
+これらの問題は、使用時間が長くなると、より深刻化します。
+
+      </li>
+
+      <li>このリリースでは、画面のオンとオフのユースケースで電池寿命が短くなることがあります。
+
+      </li>
+    </ul>
+  </li>
+
+  <li>Developer Preview 2 で、一部の<strong>アプリが正常に機能しないことがあります</strong>。これには Google のアプリと、その他のアプリが含まれます。
+
+  </li>
+
+  <li>この早期のビルドは、<strong>互換性テストスイート(CTS)で承認されていません</strong>。
+CTS 承認済みビルドに依存するアプリは動作しません(Android Pay など)。
+
+  </li>
+
+  <li>このプレビュー リリースでは、次の端末をサポートしています。Nexus 5X、Nexus 6、Nexus 6P、Nexus 9、Pixel C、および General Mobile 4G(Android One)
+
+Nexus Player は近い将来サポートされます。
+  </li>
+
+
+  <li>DP1 と DP2 の間の API の変更に対処するために、<a href="https://github.com/googlesamples/android-testdpc/releases">TestDPC</a> がアップデートされました。
+
+  </li>
+</ul>
+
+<h3 id="dp2-ki">既知の問題</h3>
+
+<h4>パフォーマンスと電池</h4>
+
+<ul>
+  <li>システムとアプリのパフォーマンスが、<strong>定期的に遅くなるか、不自然になる</strong>ことがわかっており、端末が応答しなくなることがあります。
+これらの問題は、使用時間が長くなると、より深刻化します。
+
+  </li>
+</ul>
+
+<h4>Google アカウント</h4>
+
+<ul>
+  <li>一部の状況において、<code>AccountManagerService</code> によって Google アカウントにログインできなくなる問題が発生することがあります。
+
+  </li>
+</ul>
+
+<h4>システムアップデート</h4>
+
+<ul>
+  <li>DP2 にアップデートすると、即座に端末が再起動します。
+  </li>
+</ul>
+
+<h4>ユーザー補助機能</h4>
+
+<ul>
+  <li>ピッチを最大レベルに近く設定したときの、テキスト読み上げ(TTS)出力が聞こえない問題。
+
+  </li>
+</ul>
+
+<h4>Bluetooth</h4>
+
+<ul>
+  <li>Bluetooth Low Energy(LE)GATT 特性によって、誤った書き込みタイプが使用され、リモート端末に送信されません。
+これにより、一部のフィットネス端末が機能しません。
+
+  </li>
+</ul>
+
+<h4>セットアップ ウィザード</h4>
+
+<ul>
+  <li>セットアップ ウィザードで、[Your Google Account] から、新しい端末(または新しくリセットされた端末)にデータを復元するオプションが動作しません。
+セットアップ ウィザードで [another Android device] を選択して既存の端末からデータを復元するか、新しい端末としてセットアップする必要があります。
+
+
+  </li>
+</ul>
+
+<h4>OEM ロック解除</h4>
+
+<ul>
+  <li>一部の端末では、DP2 の実行中、[Developer Options] の [<strong>Enable OEM unlock</strong>] がグレー表示されます。
+<br>
+  <strong>回避策:</strong><a href="https://www.google.com/android/beta" class="external-link">www.google.com/android/beta</a> にアクセスし、Android ベータ版プログラムを導入します(まだ導入していない場合)。
+
+その後削除して、ダウングレード OTA を受け入れます。
+削除の結果、端末は Android 6.0 にダウングレードされます。これで、[Developer Options] の [<strong>Enable OEM unlock</strong>] を選択できるようになります。
+
+端末をダウングレードすると、個人データは消去されます。ただし、ブートローダーをロック解除したとしても、やはりこのデータは消去されます。
+
+  </li>
+</ul>
+
+<h4>Android for Work</h4>
+
+<ul>
+  <li>仕事用のセキュリティ確認
+    <ul>
+      <li>N に移行した後、またはユーザーが仕事用プロファイルを作成した後、ユーザーが自分のパターン、PIN またはパスワードを変更するか、仕事用のセキュリティ確認をセットアップするまで、プロファイルでキーストアにキーを作成できません。
+
+
+      </li>
+
+      <li>ダイレクト ブート モードで、端末にパスコード制限を適用すると、端末がロックされている場合でも、仕事用プロファイルがロック解除されます。
+
+      これにより、端末ロック画面によって保護される必要がある場合にも、仕事用プロファイルにアクセスできるようになります。
+
+      </li>
+    </ul>
+  </li>
+
+  <li>Always On VPN
+    <ul>
+      <li>Always On VPN モードがオンで、VPN が使用できない場合、アプリが通常のネットワークで接続します。
+VPN 接続を使用できない場合、アプリはオフラインである必要があります。
+
+      </li>
+
+      <li>Always On モードがオンになっているとき、端末が再起動してダイレクト ブート モードになった後は、ユーザーがセキュリティ保護されたロック画面をロック解除した後でも、VPN 接続が確立されません。
+
+
+      </li>
+    </ul>
+  </li>
+
+  <li>パッケージの停止
+    <ul>
+      <li>[Telephone disabled] ダイアログが表示されているにもかかわらず電話をかけるなど、予期しない動作が発生する可能性がある場合、端末管理者は、重要なシステム パッケージを停止できます。
+
+
+      </li>
+    </ul>
+  </li>
+
+  <li>その他
+    <ul>
+      <li>{@link
+      android.os.UserManager#DISALLOW_MOUNT_PHYSICAL_MEDIA} が true に設定されていると、ユーザーが SD カードなどの物理メディアを挿入したときに、Settings アプリが起動時にクラッシュします。
+
+      </li>
+
+      <li>仕事用プロファイルでの最初のチェックが完了するまで数分かかります。
+
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<h4 id="vulkan">Vulkan</h4>
+
+<ul>
+   <li>Nexus 5X/6P</li>
+   <ul>
+      <li>バインド番号と、ゼロでない最初のバインド番号のギャップにより、{@code vkCreateGraphicsPipeline()} が失敗します。
+</li>
+      <li>Vulkan によって、投影されたテクスチャ座標に関する誤ったサンプリング動作が示されます。</li>
+      <li>multithreadCmdBuffer サンプルで、N-DP2 ドライバを使用して {@code vkCmdClearColorImage()} を実行すると、クラッシュします。
+</li>
+      <li>{@code vkGetPhysicalDeviceFormatProperties()} からの戻り値で、{@code VkFormatProperties::linearTilingFeatures} の値が設定されず、結果として 0 の値が取得されます。
+
+</li>
+      <li>Vulkan 浮動小数点フレーム バッファの添付ファイルが正しく処理されません。</li>
+    </ul>
+   <li>Nexus Player</li>
+   <ul>
+      <li>SPIR-V シェーダーによって、ドライバ アサートがトリガーされることがあります。</li>
+      <li>一部のパイプライン構成によって {@code vkCreateGraphicsPipeline()} がクラッシュすることがあります。
+</li>
+  </ul>
+</ul>
+
+<h4>端末固有の問題</h4>
+
+<dl>
+  <dt>
+    <strong>Android One</strong>
+  </dt>
+
+  <dd>
+    端末がスロット 1 からスロット 2 SIM に切り替わったときに、データ接続が失敗します。
+  </dd>
+
+  <dt>
+    <strong>Pixel C</strong>
+  </dt>
+
+  <dd>
+    音声検索の [Always On] オプションを切り替えることができません。
+  </dd>
+
+  <dt>
+    <strong>Nexus 6</strong>
+  </dt>
+
+  <dd>
+    HDR+ フォトを除き、カメラの縦向きの写真が破損します。
+
+  </dd>
+
+  <dt>
+    <strong>Nexus Player</strong>
+  </dt>
+
+  <dd>
+    Nexus Player で、Netflix HD コンテンツの再生が失敗することがあります。
+  </dd>
+
+  <dd>
+    動的な動画の解像度変更に依存するすべてのアプリが、Nexus Player で失敗することがあります。
+
+  </dd>
+
+  <dd>
+    VP9 動画コーデックを使用するすべてのアプリが、Nexus Player で失敗することがあります。
+  </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>日付:2016 年 3 月<br>
+        ビルド:NPC56P、NPC56R、アップデート:NPC56W、NPC56X<br>
+        エミュレータ サポート: x86 と ARM(32 / 64 ビット)<br>
+        Google Play services:8.4</em>
+      </p>
+    </div>
+  </div>
+</div>
+
+<h3 id="dp1-general">一般的な注意事項</h3>
+
+<p>
+  この Developer Preview リリースは、アプリのデベロッパーのみを対象とし、互換性テストと初期の開発のみで使用するために開発されています。
+このリリースに関する次の一般的な事項に注意してください。
+
+</p>
+<ul>
+  <li>このリリースには、すべての端末における安定性とパフォーマンスに関するさまざまな問題があるため、特に、デベロッパー以外の方が、<em>スマートフォンやタブレットで日常的に使用することには適していません。</em>
+
+
+  </li>
+
+  <li>システムとアプリのパフォーマンスが、<strong>定期的に遅くなるか、不自然になる</strong>ことがわかっており、端末が応答しなくなることがあります。
+これらの問題は、使用時間が長くなると、より深刻化します。
+
+  </li>
+
+  <li>このリリースでは、画面のオンとオフのユースケースで電池寿命が短くなることがあります。
+
+  </li>
+
+  <li>Developer Preview 1 で、一部のアプリが正常に機能しないことがあります。これには Google のアプリと、その他のアプリが含まれます。
+
+  </li>
+
+  <li>この早期のビルドは、互換性テストスイート(CTS)で承認されていません。CTS 承認済みビルドに依存するアプリは動作しません(Android Pay など)。
+
+  </li>
+
+  <li>このプレビュー リリースでは、次の端末をサポートしています。Nexus 5X、Nexus 6、Nexus 6P、Nexus 9、Nexus Player、Pixel C、および General Mobile 4G(Android One)
+
+
+  </li>
+</ul>
+
+<h3 id="dp1-platform">プラットフォームの問題</h3>
+
+<h4>パフォーマンスと電池</h4>
+
+<ul>
+  <li>システムとアプリのパフォーマンスが、<strong>定期的に遅くなるか、不自然になる</strong>ことがわかっており、端末が応答しなくなることがあります。
+これらの問題は、使用時間が長くなると、より深刻化します。
+
+  </li>
+
+  <li>このリリースでは、画面のオンとオフのユースケースで電池寿命が短くなることがあります。
+
+  </li>
+</ul>
+<h4 id="dialer">電話</h4>
+
+<ul>
+  <li>電話アプリではダイレクト ブートがサポートされていません。このことは、将来、N Developer Preview で対応されます。
+
+  </li>
+
+  <li>ボイスメールの再生が動作しません。
+  </li>
+</ul>
+
+<h4>マイク</h4>
+
+<ul>
+   <li>アプリの再起動をまたいで、マイクのミュート状態が誤って保持されることがあります。あるアプリでマイクをミュートし、その状態が保持されている場合は、マイクのミュート制御機能のある任意のアプリを開き、マイクのミュートを解除してください。</li>
+</ul>
+
+<h4 id="ui">システム UI</h4>
+
+<ul>
+  <li>システム UI の、一部の新しいまたは変更された文字列の中に、すべての言語には翻訳されていないものがあります。
+
+  </li>
+
+  <li>[Overview] の UI は現在開発中であり、変更されることがあります。たとえば、ユーザーがアプリを切り替えたときに表示されるタイマーを削除する予定です。
+
+
+  </li>
+
+  <li>設定のコントロールとトグルが遅いか、応答しないように見えます。
+  </li>
+
+  <li>通知の視覚的デザインは変更されることがあります。
+  </li>
+
+  <li>Gmail アプリで、通知バンドルに含まれるメールの直接アーカイブが正常に動作しません。
+
+  </li>
+</ul>
+
+<h4>Android for Work</h4>
+
+<ul>
+  <li>仕事用のセキュリティ確認
+    <ul>
+      <li>N に移行した後、またはユーザーが仕事用プロファイルを作成した後、ユーザーが自分のパターン、PIN またはパスワードを変更するか、仕事用のセキュリティ確認をセットアップするまで、プロファイルでキーストアにキーを作成できません。
+
+
+      </li>
+
+      <li>ダイレクト ブート モードで、端末にパスコード制限を適用すると、端末がロックされている場合でも、仕事用プロファイルがロック解除されます。
+
+      これにより、端末ロック画面によって保護される必要がある場合にも、仕事用プロファイルにアクセスできるようになります。
+
+      </li>
+
+      <li>ユーザーが誤ったパスワードと PIN を入力したときに、情報メッセージが表示されず、入力項目が消去されるのみです。
+
+この問題は指紋入力のパターンには影響しません。
+      </li>
+
+      <li>タブレットで、仕事用のセキュリティ確認で表示される背景が不相応に小さくなります。
+
+      </li>
+
+      <li>N Developer Preview にバンドルされている <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.enterprise.dmagent">Google Apps のデバイス ポリシー</a>のバージョン では、仕事用プロファイルのセキュリティ確認機能がまだサポートされていません。
+
+
+        デベロッパーは、この機能をテストする場合は、代わりに <a href="https://github.com/googlesamples/android-testdpc/releases">TestDPC</a> を使用する必要があります。
+
+      </li>
+    </ul>
+  </li>
+
+  <li>Always On VPN
+    <ul>
+      <li>Always On VPN モードがオンで、VPN が使用できない場合、Always On ポリシーの例外として指定されていないアプリが通常のネットワークで接続します。
+
+Always On VPN ポリシーの例外として指定されていない限り、VPN 接続を使用できない場合、アプリはオフラインである必要があります。
+
+        <ul>
+          <li>Always On モードがオンになっているとき、端末が再起動してダイレクト ブート モードになった後は、ユーザーがセキュリティ保護されたロック画面をロック解除した後でも、VPN 接続が確立されません。
+
+
+          </li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+
+  <li>連絡先の改善
+    <ul>
+      <li>Bluetooth PBAP / MAP 端末で、仕事用連絡先の発信者番号が表示されません。
+この問題は Preview の次のリリースで解決されます。
+      </li>
+    </ul>
+  </li>
+
+  <li>ワークモード
+    <ul>
+      <li>Google Now ランチャーで、ワークモードがオンかオフかが表示されません。
+また、ランチャーにはアプリの保留状態も表示されません。
+      </li>
+
+      <li>ユーザーがワークモードのオンとオフを切り替えた後、カレンダーなどの仕事用プロファイルのアプリ ウィジェットが表示されなくなります。
+
+      </li>
+    </ul>
+  </li>
+
+  <li>パッケージの停止
+  </li>
+
+  <li>[Telephone disabled] ダイアログが表示されているにもかかわらず電話をかけるなど、予期しない動作が発生する可能性がある場合、端末管理者は、重要なシステム パッケージを停止できます。
+
+
+  </li>
+
+  <li>その他
+    <ul>
+      <li>{@link
+      android.os.UserManager#DISALLOW_MOUNT_PHYSICAL_MEDIA} が true に設定されていると、ユーザーが SD カードなどの物理メディアを挿入したときに、Settings アプリが起動時にクラッシュします。
+
+      </li>
+
+      <li>ユーザーがアプリをアンインストールした後で再インストールしたときに、{@code DPM.setPackagesSuspended} 状態が保持されません。
+アンインストールと再インストールの後、アプリが停止されたままになるか、停止されたアプリはアンインストール可能にならないかのいずれかである必要があります。
+
+
+      </li>
+
+      <li>仕事用プロファイルでの最初のチェックが完了するまで数分かかります。
+これにより、端末が Play EMM API によって認識されるまでに、通常よりも長い時間がかかる場合があります。
+
+      </li>
+
+      <li>仕事用プロファイル アプリからの通知が、個人プロファイルにインストールされた通知リスナによって認識されません。
+その結果、通知が期待どおりに表示されません。
+
+      </li>
+
+    </ul>
+  </li>
+</ul>
+
+<h4 >キーボード</h4>
+
+<ul>
+  <li>キーボードと Android 端末の間の Bluetooth ペア設定が不安定になることがあります。
+  </li>
+</ul>
+
+<h4 >動画</h4>
+
+<ul>
+<li>動画の再生が遅延したり中断されたりします。</li>
+</ul>
+
+<h4>Wi-Fi</h4>
+
+<ul>
+  <li>Wi-Fi に対して行われたリファクタリングにより、API のコーナーケースの動作が変化する場合があります。
+特に、特定のネットワークへの接続や、ネットワークへの再接続を試みるアプリについては、再テストの必要があります。
+
+  </li>
+
+  <li>以前の DHCP クライアントがプラットフォームから削除されました。プラットフォームでサポートされる DHCP は、M で導入された DHCP クライアントのみとなります。
+
+  </li>
+</ul>
+
+<h4>ダイレクト ブート</h4>
+
+<ul>
+  <li>NFC は最初にロック解除するまで機能しません。
+    <ul>
+      <li>Bluetooth が有効なスマートフォンを再起動したときに、Bluetooth が自動的にオンになりません。
+手動で Bluetooth を再度有効にする必要があります。
+      </li>
+
+      <li>一部の状況において、電話やメッセージに対して既定の着信音が鳴りません。
+この動作は、1 つの例外(と回避策)を除き、次の N Preview リリースで修正されます。
+
+      </li>
+
+      <li>ワイプされた直後でない端末、つまり、ダイレクト ブート モードに設定された後で少なくとも 1 回起動された端末では、既定の通知着信音が鳴りません。
+
+ユーザーは、[Settings] から手動で着信音を選択することで、この問題を回避できます。
+
+      </li>
+
+      <li>ダイレクト ブートは、N Developer Preview ビルドが実行される端末では、既定で有効になっていません。
+テストや開発のためにダイレクト ブートを有効にするには、[Developer Options] に移動して [Convert to File Encryption] をタップします。
+
+      この Developer Preview では、このことを行うには、ファクトリ リセットによって再パーティション化し、端末をファイルベースの暗号化向けにリフォーマットする必要があります。
+
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<h4>Android TV のピクチャ イン ピクチャ</h4>
+
+<ul>
+  <li>[Recents] の UI における PIP 統合は最終版ではなく、変更されることがあります。
+
+    <ul>
+      <li>PIP ウィンドウのアニメーションが滑らかではありません。Preview の将来のリリースで、このことが改善されます。
+
+      </li>
+    </ul>
+  </li>
+
+  <li style="list-style: none">Preview の将来のリリースで、PIP の視覚的デザインとレイアウトの整列が改善されます。
+
+  </li>
+</ul>
+
+<h4>バグ報告</h4>
+
+<ul>
+  <li>バグ報告は必ずしも正常に完了しません(回避策として、内部ストレージのバグ報告ドキュメント プロバイダからアクセスできるようになっている場合があります)。
+
+
+  </li>
+</ul>
+
+<h4>マルチ ウィンドウでの分割画面</h4>
+
+<ul>
+  <li>分割画面モードにすると、アプリがクラッシュし、予期しない UI 動作が発生することがあります。
+これらはアプリの問題であり、アプリのデベロッパーが修正する必要があります。
+
+  </li>
+
+  <li>Android プラットフォームの N より前のバージョンをターゲットとするアプリは、複数回表示される分割画面トーストが動作しません。
+
+  </li>
+
+  <li>画面の向きが固定されたアプリを使用しているときに [Overview] ボタンを長押しすると、アプリに予期しない動作が発生します。
+
+  </li>
+
+  <li>サイズ変更中にアプリの表示がちらつくことがあります。
+  </li>
+
+  <li>アニメーションはまだ完成していません。
+  </li>
+</ul>
+
+<h4>入力方法</h4>
+
+<ul>
+  <li><b>システム言語を使用している</b>ときに、Google キーボードが予期せず汎用的な Google キーボードにフォールバックしますが、Google キーボードではシステム言語設定で選択されている言語がいずれもサポートされていません。
+
+米国英語にフォールバックする必要があります。
+
+    <p>
+      Google キーボードでサポートされる、少なくとも 1 つの言語を追加することで、この問題を回避できます。
+
+    </p>
+  </li>
+</ul>
+
+<h4>ユーザー補助機能</h4>
+
+<ul>
+  <li>TalkBack で通知、クイック設定タイル、マルチ ウィンドウ表示などの機能に問題が発生し、システムがクラッシュするか、TalkBack からの音声フィードバックがなくなります。
+
+Preview の将来のリリースで、この問題に対処します。
+
+  </li>
+</ul>
+
+<h3 id="dp1-device-sp">端末固有のノートと問題</h3>
+
+<h4>Nexus Player</h4>
+<ul>
+  <li>このリリースの Preview の Nexus Player では、動画再生、アプリの互換性と安定性の問題が発生することがあります。
+
+  </li>
+</ul>
+
+<h4>Pixel C</h4>
+<ul>
+<li>マルチ ウィンドウのサイズ変更によってクラッシュが発生することがあります。</li>
+</ul>
+
+<h4>Nexus 9</h4>
+<ul>
+<li>Nexus 9 の端末が、Android ベータ版プログラムを経由して over-the-air(OTA)アップデートを受信した後、起動しません。
+OTA イメージを手動でインストールすると、この問題が解決することがあります。
+詳細については、<a href="{@docRoot}preview/download-ota.html">端末の OTA イメージの適用</a> をご覧ください。
+
+</li>
+</ul>
+
diff --git a/docs/html-intl/intl/ja/training/material/compatibility.jd b/docs/html-intl/intl/ja/training/material/compatibility.jd
index 0f8922f..2581170 100644
--- a/docs/html-intl/intl/ja/training/material/compatibility.jd
+++ b/docs/html-intl/intl/ja/training/material/compatibility.jd
@@ -122,7 +122,7 @@
 
 <h3>依存関係</h3>
 
-<p>5.0(API レベル 21)より前のバージョンの Android でこれらの機能を使用するには、Android v7 サポート ライブラリを <a href="{@docRoot}/sdk/installing/studio-build.html#dependencies">Gradle 依存関係</a>としてプロジェクトに含めます。
+<p>5.0(API レベル 21)より前のバージョンの Android でこれらの機能を使用するには、Android v7 サポート ライブラリを <a href="{@docRoot}sdk/installing/studio-build.html#dependencies">Gradle 依存関係</a>としてプロジェクトに含めます。
 </p>
 
 <pre>
diff --git a/docs/html-intl/intl/ko/preview/_book.yaml b/docs/html-intl/intl/ko/preview/_book.yaml
new file mode 100644
index 0000000..17b1d96
--- /dev/null
+++ b/docs/html-intl/intl/ko/preview/_book.yaml
@@ -0,0 +1,342 @@
+toc:
+- title: 프로그램 개요
+  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: 지원 및 릴리스 노트
+  path: /preview/support.html
+
+- title: 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: 기기에 대한 테스트
+  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: 동작 변경 사항
+  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: 백그라운드 최적화
+    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: 언어 및 로케일
+    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: 다중 창 지원
+    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: 알림
+    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: 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: 네트워크 보안 구성
+    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: 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: Java 8 언어 기능
+    path: /preview/j8-jack.html
+    path_attributes:
+    - name: es-lang
+      value: Funciones del lenguaje Java 8
+    - name: in-lang
+      value: Fitur Bahasa Java 8
+    - name: ja-lang
+      value: Java 8 の機能
+    - name: ko-lang
+      value: Java 8 언어 기능
+    - name: pt-br-lang
+      value: Recursos de linguagem do Java 8
+    - name: ru-lang
+      value: Возможности языка Java 8
+    - name: vi-lang
+      value: Tính năng của Ngôn ngữ Java 8
+    - name: zh-cn-lang
+      value: Java 8 语言功能
+    - name: zh-tw-lang
+      value: Java 8 語言功能
+  - title: Android for Work 업데이트
+    path: /preview/features/afw.html
+  - title: 범위가 지정된 디렉터리 액세스
+    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: 샘플
+  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: 라이선스 계약
+  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/ko/preview/api-overview.jd b/docs/html-intl/intl/ko/preview/api-overview.jd
index 0e1a385..fdae406 100644
--- a/docs/html-intl/intl/ko/preview/api-overview.jd
+++ b/docs/html-intl/intl/ko/preview/api-overview.jd
@@ -1,5 +1,5 @@
-page.title=개발자용 Android N
-meta.tags="프리뷰", "androidn"
+page.title=Android N for Developers
+meta.tags="preview", "androidn"
 page.tags="preview", "developer preview"
 page.image=images/cards/card-n-apis_2x.png
 @jd:body
@@ -16,13 +16,15 @@
         <li><a href="#notification_enhancements">알림</a></li>
         <li><a href="#jit_aot">JIT/AOT 컴파일</a></li>
         <li><a href="#quick_path_to_app_install">앱 설치를 위한 빠른 경로</a></li>
-        <li><a href="#doze_on_the_go">이동 중에 Doze</a></li>
+        <li><a href="#doze_on_the_go">이동 중 잠자기 모드</a></li>
         <li><a href="#background_optimizations">백그라운드 최적화</a></li>
         <li><a href="#data_saver">Data Saver</a></li>
-        <li><a href="#tile_api">빠른 설정 타일 API</a></li>
+        <li><a href="#vulkan">Vulkan API</a></li>
+        <li><a href="#tile_api">Quick Settings 타일 API</a></li>
         <li><a href="#number-blocking">번호 차단</a></li>
         <li><a href="#call_screening">통화 스크리닝</a></li>
         <li><a href="#multi-locale_languages">로케일 및 언어</a></li>
+        <li><a href="#emoji">새 이모티콘</a></li>
         <li><a href="#icu4">Android의 ICU4J API</a></li>
         <li><a href="#gles_32">OpenGL ES 3.2 API</a></li>
         <li><a href="#android_tv_recording">Android TV 녹화</a></li>
@@ -32,8 +34,14 @@
         <li><a href="#key_attestation">Key Attestation</a></li>
         <li><a href="#network_security_config">네트워크 보안 구성</a></li>
         <li><a href="#default_trusted_ca">신뢰할 수 있는 기본 CA</a></li>
-        <li><a href="apk_signature_v2">APK 서명 구성표 v2</a></li>
+        <li><a href="#apk_signature_v2">APK Signature Scheme v2</a></li>
         <li><a href="#scoped_directory_access">범위가 지정된 디렉터리 액세스</a></li>
+        <li><a href="#keyboard_shortcuts_helper">Keyboard Shortcuts Helper</a></li>
+        <li><a href="#sustained_performance_api">지속적인 성능 API</a></li>
+        <li><a href="#vr">VR 지원</a></li>
+        <li><a href="#print_svc">인쇄 서비스 개선 사항</a></li>
+        <li><a href="#virtual_files">가상 파일</a></li>
+        <li><a href="#framemetrics_api">FrameMetricsListener API</a></li>
       </ol>
 </div>
 </div>
@@ -45,10 +53,10 @@
 개발자를 위한 몇 가지 새로운 기능을 중점적으로 다룹니다. </p>
 
 <p>
-  플랫폼 변경사항이 앱에 영향을 미칠 수도 있는 부분에
-대해 알아보려면 <a href="{@docRoot}preview/behavior-changes.html">동작 변경사항</a>을 살펴보고,
-주요 기능에 대해 자세히 알아보려면 개발자 가이드를 참조하고, 새로운 API에 대한 자세한
-내용은 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 참조</a>를 다운로드하세요.
+  플랫폼 변경 사항이 앱에 영향을 미칠 수도 있는 부분에
+대해 알아보려면 <a href="{@docRoot}preview/behavior-changes.html">동작 변경 사항</a>을 살펴보고,
+ 주요 기능에 대해 자세히 알아보려면 개발자 가이드를 참조하고, 새로운 API에 대한 자세한
+내용을 보려면 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 참조</a>를 다운로드하세요.
 </p>
 
 <h2 id="multi-window_support">다중 창 지원</h2>
@@ -61,12 +69,12 @@
   <ul>
   <li>Android N이 실행되는
 전화와 태블릿에서 사용자가 화면 분할 모드에서 두 개의 앱을
-나란히 또는 상하로 실행할 수 있습니다. 또한 앱 사이의 디바이더를 끌어서 앱의 크기를
+나란히 또는 상하로 실행할 수 있습니다. 또한 앱 사이에 있는 분할선을 끌어서 앱의 크기를
 조정할 수 있습니다. </li>
 
-<li>Android TV 기기에서, 앱이 <a href="{@docRoot}preview/features/picture-in-picture.html">화면 속 화면
+<li>Android TV 기기에서, 앱이 <a href="{@docRoot}preview/features/picture-in-picture.html">PIP(Picture-In-Picture)
 모드</a>로 배치될 수 있으므로, 사용자가 검색을 수행하거나 다른
-앱과 상호작용하는 중에도 앱이 계속해서 콘텐츠를 표시할 수 있습니다. 자세한 내용은 아래를 참조하세요. </li>
+앱과 상호 작용하는 중에도 앱이 계속해서 콘텐츠를 표시할 수 있습니다.</li>
   </ul>
 
 <div class="col-4of10">
@@ -74,54 +82,62 @@
 <p class="img-caption">
   <strong>그림 1.</strong> 화면 분할 모드에서 실행되는 앱.
 </p>
+
   </div>
 
 <p>특히 태블릿이나 다른 대형 화면 기기에서 다중 창
-지원을 통해 새로운 방식으로 사용자를 참여시킬 수 있습니다. 또한
-앱에서 끌어서 놓기 기능을 활성화하여 사용자가 편리하게 앱에 콘텐츠를 끌어다 놓거나 앱에서 콘텐츠를 끌어와서 놓을 수 있으므로,
-사용자 경험이 크게 개선됩니다. </p>
+지원을 통해 새로운 방식으로 사용자를 참여시킬 수 있습니다. 또한, 앱에서 드래그 앤 드롭 기능을 활성화하여
+사용자가 편리하게 앱에서나 앱으로 콘텐츠를 드래그할
+수 있으므로, 사용자 환경이 크게 개선됩니다. </p>
 
 <p>다중 창 지원을 앱에 추가하고 다중 창이 표시되는 방식을
-구성하는 것은 매우 간단합니다. 예를 들어, 자신의 액티비티에 대해
-최소 허용 크기를 지정할 수 있으며 이 경우 사용자는 이 크기보다
-작은 액티비티의 크기를 조정할 수 없습니다. 또한 앱에
-대해 다중 창 표시를 비활성화할 수도 있으며 이 경우 시스템은 앱을 전체 화면 모드에서만 표시합니다.</p>
+구성하는 것은 매우 간단합니다. 예를 들어, 액티비티의
+최소 허용 크기를 지정하면 사용자가 액티비티의 크기를 지정된 크기보다
+작게 조정하지 못합니다. 또한, 앱에 대해 다중 창 표시를 비활성화할 수도 있으며
+ 이 경우 시스템은 전체 화면 모드에서만 앱을 표시합니다.</p>
 
 <p>
   자세한 내용은 <a href="{@docRoot}preview/features/multi-window.html">다중 창 지원</a>
-개발자 문서를 참조하세요.
+ 개발자 문서를 참조하세요.
 </p>
 
 <h2 id="notification_enhancements">알림 향상</h2>
 
 <p>Android N에서 저희는 알림을 더 쉽고 빠르게 사용할 수
-있도록 재설계했습니다. 몇 가지 변경사항은 다음과 같습니다.</p>
+있도록 재설계했습니다. 몇 가지 변경 사항은 다음과 같습니다.</p>
 
 <ul>
   <li>
-    <strong>템플릿 업데이트</strong>: 영웅 이미지와 아바타를 새롭게
-강조하기 위해 알림 템플릿을 업데이트하는
-중입니다. 개발자가 최소한의 코드 조정만으로 새로운 템플릿을 활용할 수가 있습니다.
+    <strong>템플릿 업데이트</strong>: 히어로 이미지와 아바타를 새롭게
+ 강조하기 위해 알림 템플릿을 업데이트하는 중입니다. 개발자는 최소한의
+ 코드 조정만으로 새로운 템플릿을 활용할 수 있습니다.
   </li>
 
   <li>
-    <strong>묶음 알림</strong>: 시스템이 메시지를 서로
-그룹화하고(예: 메시지 주제별로 그룹화) 이 그룹을 표시할 수 있습니다.
-사용자는 그룹에 대해 닫기 또는 아카이브 등의 작업을 적절히 수행할 수
-있습니다. Android Wear용 알림을 구현한 적이 있다면 이미 이 모델에 친숙할
-것입니다.
+    <strong>메시지 스타일 사용자 지정</strong>: <code>MessageStyle</code> 클래스를 사용하여
+ 알림과 관련된 사용자 인터페이스 레이블을 더 많이
+사용자 지정할 수 있습니다. 메시지, 대화 제목, 콘텐츠 뷰를
+ 구성할 수 있습니다.
   </li>
 
   <li>
-    <strong>직접 회신</strong>: 실시간 통신 앱의 경우, Android 시스템은
-인라인 회신을 지원하므로, 사용자가 알림 인터페이스
-내에서 신속하게 SMS 또는 문자 메시지에 응답할 수 있습니다.
+    <strong>묶음 알림</strong>: 시스템에서 메시지를 함께
+ 그룹화하고(예: 메시지 주제별로 그룹화) 해당 그룹을 표시할 수 있습니다. 사용자는
+ 이 그룹에 대해 해제 또는 보관과 같은 동작을 적절히 수행할 수 있습니다. Android
+ Wear용 알림을 구현한 적이 있으시다면 이미 이 모델도 친숙하게 느껴질
+ 것입니다.
   </li>
 
   <li>
-    <strong>사용자 지정 뷰</strong>: 두 개의 새로운 API를 통해 사용자
-지정 뷰를 알림에 사용할 때 시스템 장식(예: 알림 헤더 및 작업)을
-활용할 수 있습니다.
+    <strong>직접 회신</strong>: 실시간 통신 앱의 경우 Android 시스템은
+ 인라인 회신을 지원하므로, 사용자가 알림 인터페이스
+ 내에서 신속하게 SMS 또는 텍스트 메시지에 직접 응답할 수 있습니다.
+  </li>
+
+  <li>
+    <strong>사용자 지정 뷰</strong>: 두 개의 새로운 API를 사용하면 알림에 사용자
+ 지정 뷰를 사용할 때 시스템 장식(예: 알림 헤더 및 액션)을
+ 활용할 수 있습니다.
   </li>
 </ul>
 
@@ -142,119 +158,119 @@
   <strong>그림 2.</strong> 묶음 알림 및 직접 회신.
 </p>
 
-<p>새로운 기능을 구현하는 방법에 대해 알아보려면,
-<a href="{@docRoot}preview/features/notification-updates.html">알림</a>
+<p>새로운 기능을 구현하는 방법에 대해 알아보려면
+ <a href="{@docRoot}preview/features/notification-updates.html">알림</a>
 가이드를 참조하세요.</p>
 
 
 
 <h2 id="jit_aot">프로필 가이드 방식의 JIT/AOT 컴파일</h2>
 
-<p>Android N에서 코드 프로파일링을 포함한
-JIT(Just in Time) 컴파일러를 ART에 추가했으며, 실행 시에 Android 앱의
-성능이 계속해서 향상됩니다. JIT 컴파일러는 ART의 현재
-AOT(Ahead of Time) 컴파일러를 보완하고 런타임 성능을 개선하며,
-저장 공간을 절약하고, 앱 업데이트 및 시스템 업데이트 속도를 빠르게 해줍니다.</p>
+<p>Android N에서 저희는 코드 프로파일링이 있는
+JIT(Just in Time) 컴파일러를 ART에 추가했습니다. 이를 통해 ART에서 Android 앱이 실행되는 동안
+그 성능을 계속 향상시킬 수 있습니다. JIT 컴파일러는 ART의 현재 AOT(Ahead of Time) 컴파일러를 보완하고
+런타임 성능을 개선하고, 저장 공간을 절약하고, 앱 업데이트와
+시스템 업데이트의 시간 단축을 도와줍니다.</p>
 
 <p>프로필 가이드 방식의 컴파일을 통해 ART는 실제 사용량과 기기의
-조건에 따라 각 앱의 AOT/JIT 컴파일을 관리할 수 있습니다. 예를 들어,
-ART는 최적의 성능을 위해 각 앱의 핫 메서드에 대한 프로필을
-유지관리하고 이들 메서드를 프리컴파일하고
-캐싱할 수 있습니다. 이 경우 앱의 다른 부분들은 실제로 사용될 때까지 컴파일하지 않고 남겨둡니다.</p>
+조건에 따라 각 앱의 AOT/JIT 컴파일을 관리할 수 있습니다. 예를 들어, ART는 최상의 성능을 위해 각 앱의 핫 메서드에 대한 프로필을
+유지 관리하고 이들 메서드를 미리 컴파일하고
+캐시할 수 있습니다. 이 경우 앱의 다른 부분들은
+실제로 사용될 때까지 컴파일되지 않고 유지됩니다.</p>
 
 <p>프로필 가이드 방식의
-컴파일은 앱의 주요 부분들에서 성능을 개선할
-뿐만 아니라 관련 바이너리를 비롯한 앱 전체의 RAM 공간을 줄이는 데 도움이 됩니다. 이 기능은 저용량 메모리 기기에 특히 중요합니다.</p>
+컴파일은 앱의 주요 부분들의 성능을 높여줄 뿐만 아니라,
+관련 바이너리를 비롯한 앱의 전체 RAM 공간을 줄이는 데 도움이 됩니다. 이 기능은 저용량 메모리 기기에 특히 중요합니다.</p>
 
 <p>ART는 기기 배터리에 미치는 영향이 최소화되는 방식으로
-프로필 가이드 방식의 컴파일을 관리합니다. ART는 기기가 유휴 상태이고
-충전 중일 때만 프리컴파일을 수행하며, 해당 작업을 미리 수행하여 시간과 배터리를 절약합니다.</p>
+프로필 가이드 방식의 컴파일을 관리합니다. ART는 기기가 유휴 상태이고 충전 중일 때만 사전 컴파일을 수행하며,
+해당 작업을 미리 수행함으로써 시간과 배터리를 절약합니다.</p>
 
 <h2 id="quick_path_to_app_install">앱 설치를 위한 빠른 경로</h2>
 
 <p>ART의 JIT 컴파일러가 가진 가장 눈에 띄는 이점 중 하나는
-앱 설치 및 시스템 업데이트 속도가 빠르다는 것입니다.
-Android 6.0에서 최적화하고 설치하는 데 몇 분이 걸리는 대용량 앱조차도
-이제는 몇 초만에 설치가 가능합니다. 또한 최적화 단계가 없기 때문에 시스템 업데이트도 더 빠릅니다. </p>
+앱 설치 및 시스템 업데이트 속도가 빠르다는 것입니다. Android 6.0에서 최적화하고 설치하는 데
+몇 분이 걸리는 대용량 앱조차도 이제는 단 몇 초 만에 설치할 수
+있습니다. 또한, 더 이상 최적화 단계가 없으므로 시스템 업데이트도 더 빠르게 이루어집니다. </p>
 
-<h2 id="doze_on_the_go">이동 중에 Doze...</h2>
+<h2 id="doze_on_the_go">이동 중 잠자기 모드...</h2>
 
-<p>Android 6.0에서는 기기가 테이블 위나 서랍 안에
-있는 등 유휴 상태일 때 앱이 CPU와 네트워크를 사용하는 작업을 지연시키는 방식으로 배터리를
-절약하는 시스템 모드인 Doze를 도입했습니다. </p>
+<p>Android 6.0에서는 기기가 테이블 위에 올려져 있거나 서랍 안에
+들어 있는 등의 유휴 상태일 때 앱이 CPU와 네트워크를 사용하는 작업을 지연시킴으로써 배터리를
+절약하는 시스템 모드인 잠자기 모드를 도입했습니다. </p>
 
-<p>이제 Android N에서 Doze는 한걸음 더 나아가서 이동 중에도
-배터리를 절약합니다. 화면이 일정 시간 동안 꺼져있고 기기의 플러그가
-뽑혀있으면 Doze는 친숙한 일부 CPU 및 네트워크 제한을 앱에 적용합니다.
+<p>이제 Android N에서 잠자기 모드는 한걸음 더 나아가서 이동 중에도
+배터리를 절약합니다. 화면이 일정 시간 동안 꺼져 있고 기기의 플러그가
+뽑혀 있으면 잠자기 모드는 친숙한 일부 CPU 및 네트워크 제한을 앱에 적용합니다.
 즉, 사용자가 기기를 주머니에 휴대하고 다닐 때도 배터리를
 절약할 수 있습니다.</p>
 
 
 <img src="/preview/images/doze-diagram-1.png" alt="" id="figure1" />
 <p class="img-caption">
-  <strong>그림 3.</strong> 이제 Doze는 기기가 정지 상태가 아니더라도
+  <strong>그림 3.</strong> 이제 잠자기 모드는 기기가 정지 상태가 아니더라도
 배터리 수명을 개선할 수 있도록 제한을 적용합니다.
 </p>
 
 
 <p>기기의 배터리가 켜져 있는 동안 화면이 꺼지면 잠시 후에
-Doze는 네트워크 액세스를 제한하고 작업과 동기화를 지연시킵니다.
-잠시 동안의 유지관리 기간 중에
-애플리케이션의 네트워크 액세스가 허용되고 지연된 작업/동기화가 실행됩니다.
-화면을 켜거나 기기의 플러그를 꽂으면 기기가 Doze 상태에서 벗어납니다.</p>
+잠자기 모드는 네트워크 액세스를 제한하고 작업과 동기화를 지연시킵니다. 잠시 동안의 유지 관리 기간 중에
+애플리케이션의 네트워크 액세스가 허용되고
+지연된 작업/동기화가 실행됩니다. 화면을 켜거나 기기의 플러그를 꽂으면 기기가 잠자기 모드 상태에서
+벗어납니다.</p>
 
-<p>기기가 다시 일정 시간 동안 배터리가 켜져 있고 화면이 꺼진
- 정지 상태가 되면, Doze는 {@link
+<p>기기가 다시 일정 시간 동안 배터리로 켜져 있고 화면이 꺼진
+정지 상태가 되면, 잠자기 모드는 {@link
 android.os.PowerManager.WakeLock}, {@link android.app.AlarmManager} 알람 및
 GPS/Wi-Fi 스캔에 대해 전체 CPU 및 네트워크 제한을 적용합니다.</p>
 
-<p>앱을 Doze에 맞게 적용하는 최선의 방법은 기기가 움직이든
-움직이지 않든 간에 동일합니다. 따라서 Doze를 효율적으로 처리하도록
-앱을 이미 업데이트했다면 모든 준비가 완료된 것입니다. 아직
-업데이트하지 않았다면 지금 <a href="{@docRoot}training/monitoring-device-state/doze-standby.html#assessing_your_app">앱을 Doze에 맞게 적용</a>해 보세요.</p>
+<p>앱을 잠자기 모드에 맞게 적용하는 최선의 방법은 기기가 움직이든
+움직이지 않든 동일합니다. 따라서 잠자기 모드를 효율적으로 처리하도록
+앱을 이미 업데이트했다면 모든 준비가 완료된 것입니다. 아직 업데이트하지 않았다면 지금 <a href="{@docRoot}training/monitoring-device-state/doze-standby.html#assessing_your_app">앱을 잠자기 모드에 맞춰
+조정</a>해 보세요.</p>
 
 <h2 id="background_optimizations">Project Svelte: 백그라운드 최적화</h2>
 
-<p>Project Svelte는 에코시스템의 전체 Android 기기 범위에서 시스템 및 앱에
+<p>Project Svelte는 에코시스템에 속한 전체 Android 기기에서 시스템 및 앱에
 의해 사용되는 RAM 크기를 최소화하기 위한 지속적인 노력입니다. Android N에서 Project
 Svelte는 앱이 백그라운드에서 실행되는 방식을 최적화하는 데 초점을 맞추고 있습니다. </p>
 
-<p>백그라운드 처리는 대부분의 앱에서 필수적인 부분입니다.
-백그라운드 처리가 올바로 수행된다면 신속하고, 빠르고, 상황에 맞는 멋진 사용자 경험을 제공하겠지만, 백그라운드
-처리가 올바로 수행되지 않는다면 불필요하게 RAM과 배터리를 소모하고
+<p>백그라운드 처리는 대부분의 앱에서 필수적인 부분입니다. 백그라운드 처리가 올바로
+수행된다면 즉각적이고 빠르고 상황에 맞는 멋진 사용자 환경을 만들 수 있지만, 백그라운드
+처리가 올바로 수행되지 않는다면 RAM과 배터리를 불필요하게 소모하고
 다른 앱의 시스템 성능에 영향을 미칠 것입니다. </p>
 
-<p>Android 5.0 이후로, 사용자가 선호하는 백그라운드 작업
-수행 방식은 {@link android.app.job.JobScheduler}이었습니다. 메모리,
-전원 및 연결 조건에 따라 시스템을 최적화하면서도 앱으로
+<p>Android 5.0 이후로,
+사용자가 선호하는 백그라운드 작업
+수행 방식은 {@link android.app.job.JobScheduler}였습니다. 앱은 메모리, 전원 및 연결 상태에 따라 시스템을 최적화하면서도
 작업을 예약할 수 있습니다. JobScheduler는 제어 기능과 간편성을 함께
-제공하므로, 저희는 모든 앱에서 이를 사용하기를 원합니다. </p>
+제공하므로, 저희는 모든 앱에서 이것을 사용하기 원합니다. </p>
 
 <p>
-  또 한가지의 좋은 옵션은 <a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
+  또 한 가지 좋은 옵션은 <a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
 <code>GCMNetworkManager</code></a>입니다. 이는 Google Play
-서비스의 일부분이며, 기존 Android 버전에서 호환성이
-있는 유사한 작업 예약 기능을 제공합니다.
+ 서비스의 일부분으로, 레거시 Android 버전에서 호환성이
+ 있는 유사한 작업 예약을 제공합니다.
 </p>
 
-<p>저희는 더 많은 사용 사례를 충족시키기 위해 <code>JobScheduler</code> 및
-<code>GCMNetworkManager</code>를 계속해서
-확장하고 있습니다. 예를 들어, 이제 Android N에서는 콘텐츠 제공자의 변화에 따라
-백그라운드 작업을 예약할 수 있습니다. 이와 동시에 저희는
-특히 저용량 메모리 기기에서 시스템 성능을 저하시킬
-수 있는 일부 오래된 패턴들을 없애기 시작했습니다.</p>
+<p>Google에서는 더 많은 사용 사례를 충족시키기 위해 <code>JobScheduler</code> 및
+<code>GCMNetworkManager</code>를 계속
+확장하고 있습니다. 예를 들어, 이제 Android N에서는 콘텐츠 공급자의 변화에 따라
+ 백그라운드 작업을 예약할 수 있습니다. 이와 동시에, Google에서는 특히
+저용량 메모리 기기에서 시스템 성능을 저하시킬 수
+있는 일부 오래된 패턴들을 없애기 시작했습니다.</p>
 
 <p>Android N에서 저희는 자주 사용되는 세 가지 암시적 브로드캐스트인
-{@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}, {@link
-  android.hardware.Camera#ACTION_NEW_PICTURE} 및 {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO}를
-제거하는 중입니다. 왜냐하면 이들은 여러 앱의 백그라운드 프로세스를 동시에 깨울 수 있으며 메모리와 배터리를 소모할 수 있기
-때문입니다. 자신의 앱이 이러한 브로드캐스트를 수신한다면, N Developer Preview를
-활용하여 <code>JobScheduler</code> 및 관련 API로 마이그레이션하세요. </p>
+ {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}, {@link
+ android.hardware.Camera#ACTION_NEW_PICTURE} 및 {@link
+ android.hardware.Camera#ACTION_NEW_VIDEO}를
+제거하는 중입니다. 왜냐하면 이것들은 여러 앱의 백그라운드 프로세스를 동시에 깨워서 메모리와 배터리를 과도하게 소모시킬 수 있기 때문입니다. 앱이
+이러한 브로드캐스트를 수신한다면, N Developer Preview를
+  활용하여 <code>JobScheduler</code> 및 관련 API로 마이그레이션하세요. </p>
 
 <p>
   자세한 내용은 <a href="{@docRoot}preview/features/background-optimization.html">백그라운드
-최적화</a> 문서를 참조하세요.
+ 최적화</a> 문서를 참조하세요.
 </p>
 
 
@@ -264,71 +280,116 @@
 <img src="{@docRoot}preview/images/datasaver.png" style="border:2px solid #ddd">
 
 <p class="img-caption" style="padding-right:2em;">
-  <strong>그림 4.</strong> 설정에서의 Data Saver.
+  <strong>그림 4.</strong> Settings의 Data Saver.
 </p>
   </div>
 
-<p>모바일 기기의 수명에 있어서, 셀룰러 데이터 플랜의 비용은
-일반적으로 기기 자체의 비용보다 더 많습니다.
-많은 사용자들에게 셀룰러 데이터는 아껴야 하는 값비싼 리소스입니다. </p>
+<p>모바일 기기의 수명 전체에 걸쳐, 모바일 데이터 요금제에 따른 비용이
+기기 자체의 가격보다 일반적으로 많이 듭니다. 많은 사용자들에게 모바일 데이터는
+아껴 써야 하는 값비싼 자원입니다. </p>
 
 <p>Android N에서는 새로운 시스템 서비스인 Data Saver
-모드를 소개합니다. 이 모드는 로밍 시나 결제 주기가 끝날 무렵,
-또는 소액 선불 데이터 팩 사용 시에 앱이 소모하는 셀룰러
-데이터 사용량을 줄여줍니다. Data Saver를 통해 사용자는 앱이
-셀룰러 데이터를 사용하는 방식을 제어할 수 있으며, Data Saver가 켜져 있으면 개발자가 더 효율적인 서비스를 제공할 수 있습니다. </p>
+모드를 도입하며, Data Saver는 로밍 시나 결제 주기가 끝날 무렵
+또는 소액 선불 데이터 팩 사용 시에 앱에 의해 사용되는 모바일 데이터 사용량을 줄여줍니다. Data Saver를 통해 사용자는 앱이
+모바일 데이터를 사용하는 방식을 제어할 수 있으며, Data Saver가 켜져 있을 때 개발자가 더 효율적인 서비스를
+제공할 수 있습니다. </p>
 
 <p>사용자가 <strong>Settings</strong>에서 Data Saver를 활성화하고
 해당 기기가 데이터 통신 네트워크에 있는 경우, 시스템은 백그라운드
 데이터 사용을 차단하고, 가능하면 스트리밍의
-비트 속도를 제한하거나, 화질을 줄이거나, 낙관적 사전캐싱을
-지연시키는 등의 방식으로 포그라운드에서
-데이터를 더 적게 사용하도록 앱에게 신호를 보냅니다 . Data Saver가 켜진 경우에도 백그라운드 데이터 통신 연결을 허용하려면, 사용자가 특정 앱을 허용 목록에 추가할 수 있습니다.</p>
+비트 전송률을 제한하거나 화질을 줄이거나 낙관적 사전 캐싱을
+지연시키는 등의 방식으로 포그라운드에서 데이터를 더 적게 사용하도록 앱에게 신호를 보냅니다. 사용자는 Data Saver가 켜진 경우에도 백그라운드 데이터 통신 연결을 허용하기 위해
+특정 앱을 허용 목록에 추가할 수 있습니다.</p>
 
 <p>Android N은 {@link android.net.ConnectivityManager}를 확장하여 <a href="{@docRoot}preview/features/data-saver.html#status">사용자의
 Data Saver 기본 설정을 검색</a>하고 <a href="{@docRoot}preview/features/data-saver.html#monitor-changes">기본
-설정 변경을 모니터링</a>하는 방법을 앱에게 제공합니다.
-모든 앱은 사용자가 Data Saver를 활성화했는지 여부를 확인해야 하며
+설정 변경을 모니터링</a>하는 방법을
+앱에 제공합니다. 모든 앱은 사용자가 Data Saver를 활성화했는지 여부를 확인해야 하며
 포그라운드 및 백그라운드 데이터 사용을 제한하도록 노력해야 합니다.</p>
 
 
-<h2 id="tile_api">빠른 설정 타일 API</h2>
+<h2 id="vulkan">Vulkan API</h2>
+
+<p>
+  Android N은 새로운 3D 렌더링 API인 <a href="http://www.khronos.org/vulkan" class="external-link">Vulkan™</a>을 플랫폼에 통합합니다. 
+<a href="https://www.khronos.org/opengles/" class="external-link">OpenGL™
+ ES</a>와 마찬가지로, Vulkan은 Khronos Group에 의해 관리되는 3D 그래픽 및 렌더링을 위한
+ 공개 표준입니다.
+</p>
+
+<p>
+  Vulkan은 처음부터 드라이버에서 CPU 오버헤드를 최소화하도록 설계되었고,
+ 애플리케이션이 GPU 작업을 더욱 직접적으로 제어할 수 있게 해줍니다. 또한, Vulkan은
+ 멀티스레드가 명령 버퍼 생성과 같은 작업을
+한 번에 수행하도록 허용하여 병렬 처리 성능을 높입니다.
+</p>
+
+<p>
+  Vulkan 개발 도구와 라이브러리가 Android NDK에 배포되며, 그 포함 내역은
+ 다음과 같습니다.
+</p>
+
+<ul>
+  <li>헤더
+  </li>
+
+  <li>유효성 검사 계층(디버그 라이브러리)
+  </li>
+
+  <li>SPIR-V 셰이더 컴파일러
+  </li>
+
+  <li>SPIR-V 런타임 셰이더 컴파일 라이브러리
+  </li>
+</ul>
+
+<p>
+  Vulkan은 Nexus 5X, Nexus 6P 및 Nexus Player와 같은 Vulkan 지원 하드웨어가 있는 기기의
+ 앱에만 사용될 수 있습니다. Google은
+ 최대한 조속히 Vulkan을 더 많은 기기에 도입하기 위해 파트너들과 긴밀히 협력하고 있습니다.
+</p>
+
+<p>
+  자세한 내용은 <a href="{@docRoot}ndk/guides/graphics/index.html">API 문서</a>를 참조하세요.
+</p>
+
+<h2 id="tile_api">Quick Settings 타일 API</h2>
 
 
 <div style="float:right;max-width:320px">
 <img src="{@docRoot}preview/images/quicksettings.png" style="padding-left:1.5em;">
 
 <p class="img-caption" style="padding-left:2em;">
-  <strong>그림 5.</strong> 알림 창의 빠른 설정 타일.
+  <strong>그림 5.</strong> 알림 창의 Quick Settings 타일.
 </p>
 
 
-  </div><p>빠른 설정은 알림 창에서 키 설정 및 작업을 직접 노출시키기
+  </div><p>Quick Settings는 키 설정 및 작업을 알림 창에서 직접 노출시키기
 위해 널리 사용되는 간단한 방법입니다. 더욱 유용하고 편리한 설정을
-위해 저희는 Android N에서 빠른 설정의 범위를 더욱 확장했습니다. </p>
+위해 저희가 Android N에서 Quick Settings의 범위를 더욱 확장했습니다. </p>
 
-<p>저희는 빠른 설정 타일에 필요한 공간을 더 추가했으며,
-사용자가 페이지가 지정된 디스플레이 영역에서 왼쪽 또는 오른쪽으로 스와이프하여
-이들 타일에 액세스할 수 있습니다. 또한 빠른 설정 타일이
-어떻게 나타나는지와 어디에 표시되는지를 사용자가 제어할 수 있으며 사용자가 드래그 앤 드롭만으로 타일을 추가하거나 이동할 수 있습니다. </p>
+<p>Google에서는 Quick Settings 타일에 필요한 공간을 더 추가했으며,
+사용자는 페이지가 지정된 디스플레이 영역에서 왼쪽이나 오른쪽으로 스와이프하여 이들 타일에 액세스할 수 있습니다. 또한, 사용자가 Quick Settings 타일의
+모습과 표시 위치를 제어할 수 있도록 했습니다. 따라서 사용자는 끌어서 놓는 간단한 방법으로
+타일을 추가하거나 이동시킬 수 있습니다. </p>
 
-<p>또한 Android N은 개발자를 위해 새로운 API도 추가했습니다.
-이를 통해 자신만의 빠른 설정 타일을 정의할 수 있으며, 사용자가 앱에서 키 컨트롤 및 작업에 쉽게 액세스할 수 있습니다.</p>
+<p>또한, Android N은 개발자를 위해 새로운 API도 추가했으며
+ 이를 통해 자신만의 Quick Settings 타일을 정의할 수 있으며, 사용자가 앱에서 키 컨트롤 및 작업에 쉽게 액세스할 수 있습니다.</p>
 
 <p>
   빠른 설정 타일은 긴급하게 필요하거나 자주 사용되는 컨트롤 또는
 작업을 위해 예약되어 있으며, 앱을 시작하기 위한 바로가기로
-사용되어서는 안됩니다.
+사용되어서는 안 됩니다.
 </p>
 
 <p>
-  타일을 정의한 후에는 사용자에게 표시할 수 있으며, 사용자가
-드래그 앤 드롭만으로 이 타일을 빠른 설정에 추가할 수 있습니다.
+  타일을 정의한 후에는 이 타일을 사용자에게 표시할 수 있으며, 사용자가
+ 드래그 앤 드롭하는 것만으로 이 타일을 Quick Settings에 추가할 수 있습니다.
 </p>
 
 <p>
-  앱 타일 만들기에 대한 자세한 내용은,
-다운로드 가능한 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 참조</a>에서 <code>android.service.quicksettings.Tile</code>을 참조하세요.
+  앱 타일 만들기에 대한 자세한 내용은
+다운로드 가능한 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 참조</a>에서 <code>android.service.quicksettings.Tile</code>에 대한 문서를 참조하세요.
 </p>
 
 
@@ -336,37 +397,37 @@
 <h2 id="number-blocking">번호 차단</h2>
 
 <p>이제 Android N에서는 플랫폼에서 번호 차단을 지원하며,
-서비스 제공자가 차단된 번호 목록을 유지관리할 수 있도록 프레임워크
-API를 제공합니다. 기본 SMS 앱, 기본 전화 앱 및 제공자 앱은
-차단된 번호 목록에 쓰기와 읽기가 가능합니다. 이 목록은 다른 앱에서는 액세스할 수 없습니다.</p>
+서비스 공급자가 차단된 번호 목록을 유지 관리할 수 있도록 프레임워크 API를 제공합니다. 기본
+SMS 앱, 기본 전화 앱 및 이동통신사 앱은
+차단된 번호 목록에서 읽기와 쓰기가 가능합니다. 다른 앱은 이 목록에 액세스할 수 없습니다.</p>
 
-<p>Android는 번호 차단을 플랫폼의 표준 기능으로 만들어
+<p>Android에서는 번호 차단을 플랫폼의 표준 기능으로 만들어,
 광범위한 기기에서 번호를 차단하기 위한 일관된 방식을 앱에
 제공합니다. 앱에서 활용할 수 있는 기타 이점은 다음과 같습니다.</p>
 
 <ul>
-  <li> 통화에서 차단된 번호가 문자에서도 차단됩니다.
+  <li> 통화에서 차단된 번호가 텍스트에서도 차단됩니다.
   <li> 차단된 번호는 재설정 시에도 백업 및 복원 기능을 통해
 기기에서 유지될 수 있습니다.
   <li> 여러 앱이 동일한 차단된 번호 목록을 사용할 수 있습니다.
 </ul>
 
-<p>또한 Android를 통한 통신사 앱 통합은 통신사들이 기기의
+<p>또한 Android를 통한 이동통신사 앱 통합은 이동통신사들이 기기의
 차단된 번호 목록을 읽고 서비스측 차단을 수행할 수 있음을 의미하며,
 이를 통해 사용자들은 원치 않는 통화와 문자가
 특정 매체(예: VOIP 엔드포인트 또는 착신 전화)를 통해 자신들에게 도달하는 것을 차단할 수 있습니다.</p>
 
 <p>
   자세한 내용은
-다운로드 가능한 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API
-참조</a>에서 <code>android.provider.BlockedNumberContract</code>를 참조하세요.
+ 다운로드 가능한 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API
+ 참조</a>에서 <code>android.provider.BlockedNumberContract</code>를 참조하세요.
 </p>
 
 <h2 id="call_screening">통화 스크리닝</h2>
 
 <p>
-  Android N에서는 기본 전화 앱이 수신 통화를 스크리닝하도록
-허용합니다. 이를 위해 전화 앱에는 새로운 <code>CallScreeningService</code>가 구현되며 이를 통해 전화 앱은
+  Android N에서는 기본 전화 앱이 수신 통화를 스크리닝하도록 허용합니다. 이를 위해
+전화 앱에는 새로운 <code>CallScreeningService</code>가 구현되며, 이를 통해 전화 앱은
 수신 통화의 {@link android.telecom.Call.Details Call.Details}에 따라
 다음과 같은 다양한 작업을 수행할 수 있습니다.
 </p>
@@ -379,76 +440,119 @@
 
 <p>
   자세한 내용은
-다운로드 가능한 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API
-참조</a>에서 <code>android.telecom.CallScreeningService</code>를 참조하세요.
+ 다운로드 가능한 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API
+ 참조</a>에서 <code>android.telecom.CallScreeningService</code>를 참조하세요.
 </p>
 
 
-<h2 id="multi-locale_languages">다중 로케일 지원, 더 많은 언어</h2>
+<h2 id="multi-locale_languages">다중 로케일 지원, 더 많은 언어 지원 추가</h2>
 
 
 <p>두 가지 언어로 된 사용 사례를 지원하기 위해 이제
-Android N에서는 사용자가 설정에서 <strong>다중 로케일</strong>을 선택할 수
-있습니다. 앱은 새로운 API를 사용하여 사용자의 로케일을 가져온
-다음, 검색 결과를 여러 언어로 표시하거나 사용자가 이미 알고있는
-언어로는 웹페이지를 번역하지 않는 등 다중 로케일 사용자를 위한 더욱 정교한 사용자 경험을
-제공합니다.</p>
+Android N에서는 사용자가 Settings에서 <strong>다중 로케일</strong>을 선택할 수 있습니다. 앱은 새로운
+API를 사용하여 사용자의 로케일을 가져온
+다음, 검색 결과를 여러 언어로 표시하거나 사용자가 이미 알고 있는
+언어로는 웹 페이지를 번역하지 않는 등의 더욱 정교한 사용자 환경을
+다중 로케일 사용자들에게 제공합니다.</p>
 
 <p>다중 로케일 지원과 함께 Android N에서는 또한 사용자가
-사용 가능한 언어의 범위를 더욱 넓혔습니다.
-영어, 스페인어, 프랑스어, 아랍어 등 자주 사용되는 언어에 대해 각각 25가지
-이상의 변형을 제공하며, 또한 100가지 이상의 새로운 언어에 대해 부분적인 지원도 추가했습니다.</p>
+사용할 수 있는 언어의 범위도 더욱 넓혔습니다. 영어, 스페인어, 프랑스어,
+아랍어 등의 자주 사용되는 언어에 대해 각각 25가지 이상의 변형을 제공하며, 100가지 이상의 새로운 언어에 대한 부분적인
+지원도 추가합니다.</p>
 
-<p>앱은 사용자가 설정한 로케일 목록을 가져오기 위해
-<code>LocaleList.GetDefault()</code>를 호출할 수 있습니다. 더 많은
-수의 로케일을 지원하기 위해 Android N에서는 리소스 확인 방식이 바뀌고 있습니다. 새로운 리소스 확인 로직에서 앱이 예상대로 작동하는지 테스트하고 확인하세요.</p>
+<p>앱은
+<code>LocaleList.GetDefault()</code>를 호출하여 사용자가 설정한 로케일 목록을 가져올 수 있습니다.  더 많은 수의 로케일을 지원하기 위해 Android N에서는 리소스 확인 방식을
+바꾸는 중에 있습니다. 새로운 리소스 확인 논리에서
+앱이 예상대로 작동하는지 테스트하고 확인해야 합니다.</p>
 
 <p>새로운 리소스 확인 동작과 따라야 하는 모범 사례에 대해
 알아보려면, <a href="{@docRoot}preview/features/multilingual-support.html">다국어 지원</a>을 참조하세요.</p>
 
+
+<h2 id="emoji">새 이모티콘</h2>
+
+<p>
+  Android N에서는 피부 색조 그림 이모티콘과 변형 선택기 지원을
+ 비롯한 추가적인 그림 이모티콘과 그림 이모티콘 관련
+ 기능을 도입했습니다. 앱에서 그림 이모티콘을 지원하는 경우
+ 아래 지침에 따라 이러한 그림 이모티콘에 관련된 기능을 잘 활용해 보세요.
+</p>
+
+<ul>
+  <li>
+    <strong>그림 이모티콘을 삽입하기 전에 기기에 해당 그림 이모티콘이 들어 있는지 확인하세요.</strong>
+    시스템 글꼴에 어떤 이모티콘이 있는지
+ 확인하려면 {@link android.graphics.Paint#hasGlyph(String)} 메서드를 사용하세요.
+  </li>
+  <li>
+    <strong>그림 이모티콘이 변형 선택기를 지원하는지 확인하세요.</strong>
+    변형 선택기를 사용하면 특정 이모티콘을 컬러나
+ 흑백으로 표현할 수 있습니다.
+    모바일 기기에서는 앱이 흑백보다는 컬러로 이모티콘을 표시해야 합니다. 하지만
+ 앱이 텍스트와 함께 이모티콘을 표시하는 경우에는 흑백 변형을 사용해야 합니다.
+    그림 이모티콘에 변형 이모티콘이 있는지 확인하려면 변형 선택기를 사용하세요.
+    변형이 있는 캐릭터의 전체 목록은
+<a class="external-link" href="http://www.unicode.org/Public/9.0.0/ucd/StandardizedVariants-9.0.0d1.txt">변형에
+대한 유니코드 설명서</a>의 <em>그림 이모티콘 변형 시퀀스</em> 섹션을
+검토하세요.
+  </li>
+  <li>
+    <strong>그림 이모티콘이 피부 색조를 지원하는지 확인하세요.</strong> Android N 사용자는 이모티콘의 렌더링된 피부 색조를
+ 자신의 기본 설정에 맞게 수정할 수 있습니다. 키보드 앱은 여러 가지 피부 색조가 있는
+이모티콘에 대한 시각적 표시를 제공해야 하며, 사용자가 선호하는 피부 색조를 선택하도록
+허용해야 합니다. 어떤 시스템 이모티콘에 피부 색조
+한정자가 있는지 확인하려면 {@link android.graphics.Paint#hasGlyph(String)}
+메서드를 사용하세요. 
+<a class="external-link" href="http://unicode.org/emoji/charts/full-emoji-list.html">
+유니코드 설명서</a>를 읽어보면 어떤 이모티콘에서 피부 색조가 사용되는지 확인할 수 있습니다.
+  </li>
+</ul>
+
+
 <h2 id="icu4">Android의 ICU4J API</h2>
 
 <p>
-  이제 Android N에서는 <code>android.icu</code> 패키지 아래 Android 프레임워크에 있는 <a href="http://site.icu-project.org/">ICU4J</a> API의
-일부를 제공합니다. 마이그레이션이
-용이하며, 대개는 <code>com.java.icu</code> 네임스페이스를
-<code>android.icu</code>로 변경하는 것이 간단합니다. 앱에서 ICU4J 번들을
-이미 사용 중인 경우, Android 프레임워크에서 제공되는 <code>android.icu</code>
-API로 전환하면 APK 크기를 상당히 절약할 수 있습니다.
+  이제 Android N에서는 <code>android.icu</code> 패키지 아래의 Android 프레임워크에 있는 <a href="http://site.icu-project.org/">ICU4J</a> API의 하위 세트를
+ 제공합니다. 마이그레이션이
+ 용이하며, 대개는 <code>com.java.icu</code> 네임스페이스를
+ <code>android.icu</code>로 변경하는 것이 간단합니다. 앱에서 ICU4J 번들을
+ 이미 사용 중이신 경우, Android 프레임워크에서 제공되는 <code>android.icu</code>
+ API로 전환하면 APK 크기를 상당히 줄일 수 있습니다.
 </p>
 
 <p>
-  Android ICU4J API에 대해 자세히 알아보려면, <a href="{@docRoot}preview/features/icu4j-framework.html">ICU4J 지원</a>을 참조하세요.
+  Android ICU4J API에 대해 자세히 알아보려면 <a href="{@docRoot}preview/features/icu4j-framework.html">ICU4J 지원</a>을 참조하세요.
 </p>
 
 
 
 <h2 id="gles_32">OpenGL&trade; ES 3.2 API</h2>
 
-<p>Android N에서는 OpenGL ES 3.2용 프레임워크 인터페이스와 플랫폼 지원을 추가했습니다.</p>
+<p>Android N에서는 다음을 비롯하여 OpenGL ES 3.2용 프레임워크 인터페이스와 플랫폼 지원을 추가합니다.</p>
 
 <ul>
-  <li> <code>EXT_texture_sRGB_decode</code>를 제외한 <a class="external-link" href="https://www.khronos.org/registry/gles/extensions/ANDROID/ANDROID_extension_pack_es31a.txt">Android 확장 프로그램 팩</a></a>(AEP)의 모든 확장 프로그램.
+  <li> <code>EXT_texture_sRGB_decode</code>를 제외한 <a class="external-link" href="https://www.khronos.org/registry/gles/extensions/ANDROID/ANDROID_extension_pack_es31a.txt">
+Android 확장 프로그램 팩</a></a>(AEP)의 모든 확장 프로그램.
   <li> HDR 및 지연 셰이딩을 위한 부동 소수점 프레임 버퍼.
   <li> 일괄처리 및 스트리밍 성능을 향상시키는 BaseVertex 그리기 호출.
   <li> WebGL 오버헤드를 줄여주는 강력한 버퍼 액세스 제어.
 </ul>
 
-<p>Android N의 OpenGL ES 3.2용 프레임워크 API에는
+<p>Android N에 있는 OpenGL ES 3.2용 프레임워크 API에는
 <code>GLES32</code> 클래스가 제공됩니다. OpenGL ES 3.2를 사용 중인
-경우, 반드시 <code>&lt;uses-feature&gt;</code> 태그와 <code>android:glEsVersion</code>
-특성을 사용하여 요구사항을 매니페스트 파일에 선언하세요. </p>
+경우 반드시 <code>&lt;uses-feature&gt;</code> 태그와 <code>android:glEsVersion</code>
+속성을 사용하여 매니페스트 파일에서 요구 사항을 선언하세요. </p>
 
-<p>런타임에 기기의 지원 OpenGL ES 버전을 확인하는
-방법을 비롯하여 OpenGL ES 사용에 대한 자세한 내용은, <a href="{@docRoot}guide/topics/graphics/opengl.html">OpenGL ES API 가이드</a>를 참조하세요.</p>
+<p>기기의 지원되는 OpenGL ES 버전을 런타임에 확인하는
+방법을 비롯하여, OpenGL ES 사용에 대한 자세한 내용은 <a href="{@docRoot}guide/topics/graphics/opengl.html">OpenGL ES API 가이드</a>를 참조하세요.</p>
 
 
 <h2 id="android_tv_recording">Android TV 녹화</h2>
 
 <p>Android N에서는 새로운 녹화 API를 통해 Android TV 입력
-서비스로부터 콘텐츠를 녹화하고 재생하는 기능을
-추가했습니다. 기존의 타임 시프트 API를 기반으로 구축된 TV 입력
-서비스는 녹화 가능한 채널 데이터 및 녹화된 세션의 저장 방식을 제어할 수 있으며, 녹화된 콘텐츠와의 사용자 상호작용을 관리할 수 있습니다. </p>
+서비스로부터 콘텐츠를 녹화하고 재생하는 기능을 추가합니다.  기존의 타임 시프트 API를 기반으로 구축된 TV 입력
+서비스는 녹화 가능한 채널 데이터와 녹화된 세션의 저장 방식을 제어할 수 있으며,
+녹화된 콘텐츠와의 사용자 상호 작용을 관리할 수 있습니다. </p>
 
 <p>자세한 내용은 <a href="{@docRoot}preview/features/tv-recording-api.html">Android TV Recording API</a>를 참조하세요.</p>
 
@@ -456,46 +560,47 @@
 <h2 id="android_for_work">Android for Work</h2>
 
 <p>Android for Work에서는 Android N이 실행되는 기기를
-위해 여러 가지 새로운 기능과 API를 추가했습니다. 몇 가지 특징이
-아래에 나와 있으며, Android N과 관련된 Android for Work 업데이트의 전체 목록에 대해서는 Android for Work 변경사항을 참조하세요.</p>
+위해 여러 가지 새로운 기능과 API를 추가합니다. 몇 가지 특징이 아래에 나와 있으며, 변경 사항의 전체 목록은
+<a href="{@docRoot}preview/features/afw.html">Android for Work 업데이트</a>를 참조하세요.</p>
 
-<h3 id="work_profile_security_challenge">작업 프로필 보안 과제 </h3>
+<h3 id="work_profile_security_challenge">작업 프로필 보안 인증 질문 </h3>
 
 <p>
-  프로필 소유자는 작업 프로필에서 실행 중인 앱에 대해
-별도의 보안 과제를 지정할 수 있습니다. 작업 과제는 사용자가 작업
-앱을 열려고 시도할 때 나타납니다. 보안 과제를 성공적으로 완료하면
-작업 프로필의 잠금이 해제되고 필요한 경우 암호가 풀립니다.
-프로필 소유자의 경우, <code>ACTION_SET_NEW_PASSWORD</code>는
-작업 과제를 설정하라는 메시지를 사용자에게 표시하고, <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code>는 기기
+  N SDK를
+대상으로 하는 프로필 소유자는 작업 프로필에서 작동하는 앱에 대해
+별개의 보안 인증 질문을 지정할 수 있습니다. 사용자가 업무용 앱을 열려고 시도할 때 작업 프로필 보안 인증 질문이
+표시됩니다. 보안 인증 질문에 올바로 답하면 작업 프로필의 잠금이 해제되고 필요하다면
+작업 프로필의 암호가 해독됩니다. 프로필 소유자의 경우,
+<code>ACTION_SET_NEW_PASSWORD</code>는
+작업 프로필 보안 인증 질문을 설정하라는 메시지를 사용자에게 표시하고, <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code>는 기기
 잠금을 설정하라는 메시지를 사용자에게 표시합니다.
 </p>
 
 <p>
   프로필 소유자는 <code>setPasswordQuality()</code>, <code>setPasswordMinimumLength()</code> 및 관련 메서드를 사용하여
-작업 과제에 대해 별개의 암호 정책을 설정할 수 있습니다. 프로필
-소유자는 또한 새로운 <code>getParentProfileInstance()</code>에 의해
-반환되는 <code>DevicePolicyManager</code> 인스턴스를 사용하여 기기
-잠금을 설정할 수도 있습니다. 뿐만 아니라, 프로필 소유자는
-새로운 <code>setOrganizationColor()</code> 및 <code>setOrganizationName()</code>
-메서드를 사용하여
-작업 과제에 대해 자격 증명 화면을
+작업 프로필 보안 인증 질문에 대해
+별개의 비밀번호 정책을 설정할 수
+있습니다(예: PIN의 길이는 얼마로 해야 할지 또는 프로필을 잠금 해제하기 위해 지문을 사용할 수 있는지 여부). 프로필 소유자는
+새 <code>getParentProfileInstance()</code> 메서드에 의해 반환되는 <code>DevicePolicyManager</code>
+인스턴스를 사용하여 기기 잠금을 설정할 수도 있습니다.
+  그 밖에도, 프로필 소유자는
+새 <code>setOrganizationColor()</code> 및 <code>setOrganizationName()</code> 메서드를 사용하여 작업 프로필 보안 인증 질문에 대한 자격 증명 화면을
 사용자 지정할 수 있습니다.
 </p>
-<h3 id="turn_off_work">작업 끄기 </h3>
+<h3 id="turn_off_work">작업 해제 </h3>
 
-<p>작업 프로필이 있는 기기에서, 사용자가 작업 모드를
-전환할 수 있습니다. 작업 모드가 꺼진 경우, 관리되는 사용자가
-일시적으로 종료되며 이 경우 작업 프로필 앱, 백그라운드
-동기화 및 알림이 비활성화됩니다. 여기에는 프로필 소유자 애플리케이션이
-포함됩니다. 작업 모드가 꺼진 경우, 작업 앱을 시작할 수 없음을 사용자에게 알려주는 상태 아이콘이 표시됩니다.
-시작 관리자는 작업 앱과 위젯에 액세스할 수 없음을 나타냅니다. </p>
+<p>작업 프로필이 있는 기기에서는 사용자가 작업 모드를 설정하거나 해제할 수 있습니다. 작업 모드가
+해제되면 관리된 사용자가 일시적으로 종료되며, 이 경우 작업 프로필
+앱, 백그라운드 동기화 및 알림이 비활성화됩니다. 여기에는 프로필 소유자 애플리케이션이
+포함됩니다. 작업 모드가 해제되면 사용자가 업무용 앱을 실행할 수 없음을
+미리 알려주기 위한 영구적인 상태 아이콘이 표시됩니다. 런처는
+업무용 앱과 위젯에 액세스할 수 없음을 나타냅니다. </p>
 
-<h3 id="always_on_vpn">항상 켜진 VPN </h3>
+<h3 id="always_on_vpn">상시 접속 VPN </h3>
 
-<p>기기 소유자와 프로필 소유자는 지정된 VPN을 통해 작업 앱이
-항상 연결되도록 보장할 수 있습니다. 시스템은 기기가 부팅된
-후에 자동으로 VPN을 시작합니다.</p>
+<p>기기 소유자 및 프로필 소유자는 항상 지정된 VPN을 통해 업무용 앱을
+연결하도록 보장할 수 있습니다. 시스템은 기기가 부팅된
+후에 해당 VPN을 자동으로 시작합니다.</p>
 
 <p>
   새로운 <code>DevicePolicyManager</code> 메서드는
@@ -503,61 +608,71 @@
  <code>getAlwaysOnVpnPackage()</code>입니다.
 </p>
 
-<p>VPN 서비스는 앱 상호작용 없이 시스템에 의해 직접 바인드될
-수 있으므로, VPN 클라이언트는 '항상 켜진 VPN'에 대해
-새로운 진입점을 처리해야 합니다. 이전과 마찬가지로, 인텐트 필터
-일치 작업 <code>android.net.VpnService</code>에 의해 서비스가 시스템에 나타납니다. </p>
+<p>앱 상호 작용 없이 시스템에 의해
+VPN 서비스가 직접 바인딩될 수 있으므로, VPN 클라이언트는 상시 접속 VPN에 대해 새로운 진입점을 처리해야 합니다. 이전과
+마찬가지로, 서비스는 <code>android.net.VpnService</code> 액션과 일치하는 인텐트 필터에
+의해 시스템에 표시됩니다. </p>
 
 <p>
-  사용자는 또한 <strong>Settings&gt;More&gt;Vpn</strong>을 사용하여 기본 사용자에서
+  또한, <strong>Settings&gt;More&gt;Vpn</strong>을 사용하여 사용자는 기본 사용자에서
  <code>VPNService</code> 메서드를
-구현하는 '항상 켜진 VPN' 클라이언트를 수동으로 설정할 수도 있습니다.
+ 구현하는 상시 접속 VPN 클라이언트를 수동으로 설정할 수도 있습니다.
+</p>
+
+<h3 id="custom_provisioning">사용자 지정 프로비저닝</h3>
+
+<p>
+  애플리케이션은 기업 색상과 로고로 프로필 소유자 및 기기 소유자 프로비저닝
+ 흐름을 사용자 지정할 수 있습니다.
+<code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code>가 흐름 색상을
+사용자 지정하고, <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code>가
+기업 로고로 흐름을 사용자 지정합니다.
 </p>
 
 <h2 id="accessibility_enhancements">접근성 향상</h2>
 
 <p>이제 Android N에서는 새로운 기기 설치 시 Welcome 화면에서
-바로 Vision Settings를 제공합니다. 이렇게 하면 사용자가 자신의
-기기에서 휠씬 더 쉽게 확대 제스처, 글꼴 크기,
-디스플레이 크기 및 TalkBack 등과 같은 접근성 기능을 검색하고 구성할 수 있습니다. </p>
+Vision Settings를 바로 제공합니다. 이렇게 하면 사용자가 자신의
+기기에서 확대 제스처, 글꼴 크기,
+디스플레이 크기 및 TalkBack 등과 같은 접근성 기능을 휠씬 더 쉽게 검색하고 구성할 수 있습니다. </p>
 
 <p>이렇게 눈에 띄는 위치에 접근성 기능을 배치하면, 사용자가 이
-기능을 활성화하여 앱을 사용할 가능성이 더욱 커집니다. 먼저 이들
-설정을 활성화하고 앱을 테스트하도록 하세요. Settings &gt;
+기능을 활성화하여 앱을 사용할 가능성이 더욱 커집니다. 이들 설정을 활성화하여 조기에 앱을
+테스트해야 합니다. Settings &gt;
 Accessibility에서 설정을 활성화할 수 있습니다.</p>
 
-<p>Android N에서도 마찬가지로, 이제 운동 장애가 있는 사용자가
-접근성 서비스를 통해 스크린을 터치할 수 있습니다. 새로운 API는 얼굴 추적, 시각 추적,
-지점 스캐닝 등의 기능으로 서비스를 구축하여 이러한 사용자의
+<p>Android N에서도 마찬가지로, 운동 장애가 있는 사용자가
+이제 접근성 서비스를 통해 화면을 터치할 수 있습니다. 이 새로운 API를 사용하면 얼굴 추적, 시각 추적,
+지점 스캐닝 등의 기능으로 서비스를 구축하여 해당 사용자의
 요구를 충족시킬 수 있습니다.</p>
 
 <p>자세한 내용은
-	다운로드 가능한 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 참조</a>에서 <code>android.accessibilityservice.GestureDescription</code>을 참조하세요.</p>
+ 다운로드 가능한 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 참조</a>에서 <code>android.accessibilityservice.GestureDescription</code>을 참조하세요.</p>
 
 
 <h2 id="direct_boot">직접 부팅</h2>
 
 <p>직접 부팅은 기기 시동 시간을 개선해주며, 예상치 못한 재부팅
 후에도 등록된 앱이 제한된 기능을 유지하도록 해줍니다. 예를 들어,
-사용자가 취침하는 동안에 암호화된 기기가 재부팅되는 경우,
+사용자가 취침하는 중에 암호화된 기기가 재부팅되는 경우,
 이제는 등록되어 있는 알람, 메시지 및 수신 통화로 사용자에게 알려줄
-수 있습니다. 즉, 재시작 직후에도 접근성 서비스를 바로
-사용할 수 있습니다.</p>
+수 있습니다. 즉, 재시작 직후에도 접근성 서비스를
+ 바로 사용할 수 있습니다.</p>
 
 <p>직접 부팅은 Android N의 파일 기반 암호화를 활용하여 시스템
 및 앱 데이터에 대해 정밀한 암호화 정책을 활성화합니다. 이 시스템은
 선택된 시스템 데이터와 명시적으로 등록된 앱
-데이터에 대해 기기 암호화 스토어를 사용합니다. 기본적으로, 다른 모든
-시스템 데이터, 사용자 데이터, 앱 및 앱 데이터에는 자격 증명 암호화 스토어가 사용됩니다. </p>
+데이터에 대해 기기 암호화 저장소를 사용합니다. 기본적으로, 다른 모든
+ 시스템 데이터, 사용자 데이터, 앱 및 앱 데이터에 대해 자격 증명 암호화 저장소가 사용됩니다. </p>
 
 <p>부팅 시에 시스템은 제한된 모드에서 시작되며, 기기 암호화
-데이터에만 액세스가 가능하고 앱 또는 데이터에는 액세스하지
+데이터에만 액세스할 수 있고 앱 또는 데이터에는 액세스하지
 못합니다. 이 모드에서 구성 요소를 실행하려는 경우,
-매니페스트에 플래그를 설정하여 구성 요소를 등록할 수 있습니다.
-재시작 후에는 시스템이 <code>LOCKED_BOOT_COMPLETED</code> 인텐트를
- 브로드캐스트하여 등록된 구성 요소를 활성화합니다. 잠금을 해제하기 전에, 시스템은 등록된 기기 암호화
-앱 데이터가 있는지를 확인합니다. 사용자가 잠금 화면 자격 증명을 확인하여
-암호화를 풀기 전까지는 다른 모든 데이터를 사용할 수 없습니다. </p>
+매니페스트에 플래그를 설정하여 구성 요소를 등록할 수 있습니다. 재시작 후에 시스템은 <code>LOCKED_BOOT_COMPLETED</code>
+인텐트를 브로드캐스트하여
+등록된 구성 요소를 활성화합니다. 잠금을 해제하기 전에, 시스템은 등록된 기기
+암호화 앱 데이터를 사용할 수 있는지 확인합니다. 사용자가 잠금 화면 자격 증명을 확인하여
+ 암호를 풀기 전까지는 다른 모든 데이터를 사용할 수 없습니다. </p>
 
 자세한 내용은 <a href="{@docRoot}preview/features/direct-boot.html">직접 부팅</a>을 참조하세요.</p>
 </p>
@@ -565,28 +680,28 @@
 
 <h2 id="key_attestation">Key Attestation</h2>
 
-<p>하드웨어 기반 키스토어는 Android 기기에서 암호화 키를
+<p>하드웨어 기반 키 저장소는 Android 기기에서 암호화 키를
 만들고 저장하고 사용하기 위한 훨씬 더 안전한 방법입니다. 이
-키스토어는 Linux 커널, 잠재적 Android 취약점, 루팅된 기기의
+키 저장소는 Linux 커널, 잠재적 Android 취약점, 루팅된 기기의
 공격으로부터 키를 보호해 줍니다.</p>
 
-<p>하드웨어 기반 키스토어를 더욱 쉽고 안전하게 사용하도록
-Android N에서는 Key Attestation을 도입합니다. Key Attestation을 사용하여 앱
-및 기기는 RSA 또는 EC 키 쌍이 하드웨어 기반인지 여부를 결정할 수
-있으며, 키 쌍의 속성에는 어떤 것이 있으며 어떠한 제약 조건이 사용
-및 유효성에 적용되는지 결정할 수 있습니다. </p>
+<p>하드웨어 기반 키 저장소를 더욱 쉽고 안전하게 사용하도록
+Android N에서는 Key Attestation을 도입했습니다. Key Attestation을 사용하여 앱
+및 오프-기기는 RSA 또는 EC 키 쌍이 하드웨어 기반인지 여부를 결정할 수
+있으며, 키 쌍의 속성에는 어떤 것이 있고 어떠한 제약 조건이 사용성
+및 유효성에 적용되는지 여부를 결정할 수 있습니다. </p>
 
-<p>앱 및 기기 서비스는 X.509 증명 인증서를 통해 키 쌍에 대한
+<p>앱 및 오프-기기 서비스는 X.509 증명 인증서를 통해 키 쌍에 대한
 정보를 요청할 수 있으며 이 인증서는 유효한 증명 키로 서명되어야
 합니다. 증명 키는 공장에서 기기의 하드웨어 기반
-키스토어에 주입되는 ECDSA 서명 키입니다. 따라서 올바른 증명서 키로
-서명된 증명 인증서는 키스토어에 있는 키 쌍의
-세부정보와 함께 하드웨어 기반 키스토어가 존재함을
-확인해 줍니다.</p>
+키 저장소에 주입되는 ECDSA 서명 키입니다. 따라서 유효한 증명 키에 의해
+서명된 증명 인증서는 하드웨어 기반 키 저장소에 있는 키 쌍의
+세부 정보와 함께 이 키 저장소의 존재 여부를
+확인합니다.</p>
 
 <p>안전한 공식 Android 공장 이미지가 기기에 사용 중인지
 확인하기 위해, Key Attestation은
-기기 <a class="external-link" href="https://source.android.com/security/verifiedboot/verified-boot.html#bootloader_requirements">부팅 로더</a>가 다음의 정보를 <a class="external-link" href="https://source.android.com/security/trusty/index.html">TEE(Trusted Execution Environment)</a>에
+기기 <a class="external-link" href="https://source.android.com/security/verifiedboot/verified-boot.html#bootloader_requirements">부트로더</a>가 다음의 정보를 <a class="external-link" href="https://source.android.com/security/trusty/index.html">TEE(Trusted Execution Environment)</a>에
 제공하도록 요구합니다.</p>
 
 <ul>
@@ -594,11 +709,11 @@
 <li><a href="https://source.android.com/security/verifiedboot/index.html" class="external-link">확인된 부팅</a> 공개 키 및 잠금 상태</li>
   </ul>
 
-<p>하드웨어 기반 키스토어 기능에 대한 자세한
-내용은 <a href="https://source.android.com/security/keystore/" class="external-link">하드웨어 기반 키스토어</a> 가이드를 참조하세요.</p>
+<p>하드웨어 기반 키 저장소 기능에 대한 자세한
+내용은 <a href="https://source.android.com/security/keystore/" class="external-link">하드웨어 기반 키 저장소</a> 가이드를 참조하세요.</p>
 
-<p>Key Attestation 이외에도 Android N에서는 또한 지문 등록
-시에 취소되지 않는 지문 바인드 키를 소개합니다.</p>
+<p>Key Attestation 이외에도 Android N에서는 지문 등록
+시 취소되지 않는 지문 바인드 키도 도입했습니다.</p>
 
 <h2 id="network_security_config">네트워크 보안 구성</h2>
 
@@ -609,68 +724,316 @@
 
   <p>지원되는 기능:</p>
 <ul>
-<li><b>트러스트 앵커 사용자 지정.</b> 보안 연결을 위해 어떤
-인증 기관(CA)이 신뢰받는지를 애플리케이션이 사용자 지정할 수
-있습니다(예: 자가 서명된 특정 인증서나 제한된 공개 CA 세트 신뢰).
+<li><b>사용자 지정 신뢰 앵커.</b> 애플리케이션이 보안 연결을 위해
+어떤 인증 기관(CA)을 신뢰할 수 있는지 사용자 지정할 수 있게 해줍니다. 예를 들어,
+특정한 자체 서명 인증서를 신뢰하거나 제한적인 공용 CA 세트를 신뢰하도록 사용자 지정할 수 있습니다.
 </li>
-<li><b>디버그 전용 재정의.</b> 설치된 베이스에 위험을 더하지
-않고도, 애플리케이션 개발자가 애플리케이션의 보안 연결을 안전하게
-디버그할 수 있습니다.
+<li><b>디버그 전용 재정의.</b> 애플리케이션 개발자가 설치 기반에 위험을 더하지
+않고 애플리케이션의 보안 연결을 안전하게
+디버그할 수 있게 해줍니다.
 </li>
-<li><b>일반 텍스트 트래픽 옵트아웃.</b> 일반 텍스트 트래픽을 실수로 사용하지
-않도록 애플리케이션이 스스로를 보호합니다.</li>
-<li><b>인증서 고정.</b> 보안 연결을 위해 어떤 서버 키가
-신뢰받는지를 애플리케이션이 제한할 수 있는 고급 기능.</li>
+<li><b>일반 텍스트 트래픽 옵트아웃.</b> 애플리케이션이 일반 텍스트 트래픽을 실수로 사용하지
+않도록 스스로를 보호할 수 있게 해줍니다.</li>
+<li><b>인증서 고정.</b> 애플리케이션이 보안 연결을 위해 어떤 서버 키를
+ 신뢰할지 제한하도록 해주는 고급 기능입니다.</li>
 </ul>
 
 <p>자세한 내용은 <a href="{@docRoot}preview/features/security-config.html">네트워크 보안 구성</a>을
 참조하세요.</p>
 
-<h2 id="default_trusted_ca">신뢰받는 기본 인증 기관</h2>
+<h2 id="default_trusted_ca">신뢰할 수 있는 기본 인증 기관</h2>
 
-<p>기본적으로, Android N을 대상으로 하는 앱은 시스템이
-제공한 인증서만을 신뢰하며 사용자가 추가한 인증 기관(CA)은
-더 이상 신뢰하지 않습니다. Android N을 대상으로 하는 앱이 사용자가
-추가한 CA를 신뢰하려는 경우에는 <a href="{@docRoot}preview/features/security-config.html">네트워크 보안 구성</a>을 사용하여 어떤
-사용자 CA를 신뢰할지 지정해야 합니다.</p>
+<p>기본적으로, Android N을 대상으로 하는 앱은 시스템에서
+제공되는 인증서만을 신뢰하며 사용자가 추가한 인증 기관(CA)은 더 이상 신뢰하지 않습니다. Android N을 대상으로 하는 앱이 사용자가
+추가한 CA를 신뢰하려는 경우에는
+<a href="{@docRoot}preview/features/security-config.html">네트워크 보안 구성</a>을 사용하여
+사용자 CA를 신뢰해야 하는 방법을 지정해야 합니다.</p>
 
-<h2 id="apk_signature_v2">APK 서명 구성표 v2</h2>
+<h2 id="apk_signature_v2">APK Signature Scheme v2</h2>
 
-<p>이제 PackageManager 클래스는 APK 서명 구성표 v2를
-사용하는 앱 검사를 지원합니다. APK 서명 구성표 v2는 전체 파일의
-서명 구성표이며, APK 파일의 불법적인 변경을 감지하여
-검사 속도를 상당히 개선하고 무결성을 보장해 줍니다.</p>
+<p>
+  Android N에서는 앱 설치 시간을 더욱 단축시켜 주고
+APK 파일을 무단으로 변경하지 못하도록 더욱 강력하게
+보호해주는 새로운 앱 서명 구성표인 APK Signature Scheme v2를 도입했습니다. 기본적으로, Android Studio 2.2 및 Android
+ Plugin for Gradle 2.2는 APK Signature Scheme v2 뿐만 아니라 JAR 서명을 사용하는 기존의 서명 구성표를 둘다
+ 사용하여 앱에 서명합니다.
+</p>
 
-<p>이전 버전과의 호환성을 유지하기 위해, APK는 v2 서명
-구성표로 서명되기 전에 v1 서명 구성표(JAR 서명 구성표)로
-서명되어야 합니다. v2 서명 구성표의 경우, v2 구성표로 서명한 후에 추가적인
-인증서로 APK를 서명하는 경우 검사가 실패합니다. </p>
+<p>
+  앱에 APK Signature Scheme v2를 적용하는 것이 좋지만, 이 새로운
+ 구성표를 반드시 적용해야 하는 것은 아닙니다. APK
+ Signature Scheme v2를 사용할 때 앱이 올바로 빌드되지 않을 경우 이 새 구성표를 비활성화할 수 있습니다. 비활성화 프로세스가
+실행되면 Android Studio 2.2 및 Android Plugin for Gradle 2.2는 기존의 서명 구성표만 사용하여
+앱에 서명합니다. 기존 구성표만으로
+서명하려면 모듈 수준의 <code>build.gradle</code> 파일을 연 다음, 릴리스 서명
+구성에 <code>v2SigningEnabled false</code> 줄을
+추가하세요.
+</p>
 
-<p>APK 서명 구성표 v2 지원은 나중에 N Developer Preview에서
-사용할 수 있습니다.</p>
+<pre>
+  android {
+    ...
+    defaultConfig { ... }
+    signingConfigs {
+      release {
+        storeFile file("myreleasekey.keystore")
+        storePassword "password"
+        keyAlias "MyReleaseKey"
+        keyPassword "password"
+        <strong>v2SigningEnabled false</strong>
+      }
+    }
+  }
+</pre>
+
+<p class="caution"><strong>주의: </strong> APK
+ Signature Scheme v2를 사용하여 앱에 서명하고 앱을 추가로 변경하는 경우 앱의 서명이
+ 무효화됩니다. 따라서 <code>zipalign</code>과
+ 같은 도구는 APK Signature Scheme v2를 사용하여 앱에 서명한 후가 아니라 서명하기 전에 사용되어야 합니다.
+</p>
+
+<p>
+  자세한 내용은 Android Studio에서
+<a href="{@docRoot}studio/publish/app-signing.html#release-mode">앱에
+서명</a>하는 방법을 설명하고 Android Plugin for Gradle을 사용하여 <a href="{@docRoot}studio/build/build-variants.html#signing">앱
+ 서명을 위한 빌드 파일을 구성</a>하는 방법에 대해 설명하는 Android Studio 문서를 읽어보세요.
+</p>
 
 <h2 id="scoped_directory_access">범위가 지정된 디렉터리 액세스</h2>
 
-<p>Android N에서 앱은 새로운 API를 사용하여 특정한
-<a href="{@docRoot}guide/topics/data/data-storage.html#filesExternal">외부 저장소</a> 디렉터리(SD 카드와 같은 이동식 미디어에 있는 디렉터리 포함)에
+<p>Android N에서 앱은 새로운 API를 사용하여 특정
+<a href="{@docRoot}guide/topics/data/data-storage.html#filesExternal">외부 저장소</a> 디렉터리(SD 카드와 같은 이동식 미디어의 디렉터리 포함)에
 대한 액세스를 요청할 수 있습니다. 새로운 API는 애플리케이션이
-표준 외부 저장소 디렉터리(예: <code>Pictures</code> 디렉터리)에
-액세스하는 방식을 훨씬 단순화합니다.
-사진 앱과 같은 앱은 모든 저장소 디렉터리에 대해 액세스 권한을 부여하는 <code>READ_EXTERNAL_STORAGE</code>를 사용하거나 사용자가
-디렉터리를 탐색하도록 하는 SAF(Storage Access Framework)를
-사용하는 대신 이들 API를 사용할 수 있습니다.</p>
+표준 외부 저장소 디렉터리(예: <code>Pictures</code> 디렉터리)에 액세스하는 방식을 훨씬 단순화합니다. 사진
+앱과 같은 앱은 모든 저장소 디렉터리에 대해 액세스 권한을 부여하는
+<code>READ_EXTERNAL_STORAGE</code>를 사용하는 대신 또는 사용자가 디렉터리를 탐색하도록 하는 저장소 액세스 프레임워크(SAF)를
+사용하는 대신 이들 API를
+사용할 수 있습니다.</p>
 
-<p>또한 새로운 API는 사용자가 앱에 외부 저장소 액세스 권한을
-부여하는 단계를 단순화합니다. 새로운 API를 사용하는 경우,시스템이
-어떤 디렉터리에 대한 액세스 권한을 애플리케이션이
-요청하는지를 명확하게 설명하기 위해 단순 권한 UI를 사용합니다.</p>
+<p>또한, 새로운 API는 사용자가 외부 저장소 액세스 권한을
+앱에 부여하는 단계를 단순화합니다. 새로운 API를 사용하는 경우 시스템은
+애플리케이션이 어떤 디렉터리에 대한 액세스 권한을
+요청하는지를 명확하게 설명해주는 단순한 권한 UI를 사용합니다.</p>
 
 <p>자세한 내용은
 <a href="{@docRoot}preview/features/scoped-folder-access.html">범위가 지정된
 디렉터리 액세스</a> 개발자 문서를 참조하세요.</p>
 
+<h2 id="keyboard_shortcuts_helper">Keyboard Shortcuts Helper</h2>
+
+<p>
+Android N에서는 사용자가 "Alt + /" 키를 눌러 <em>Keyboard Shortcuts</em>
+화면을 트리거할 수 있는데, 이 화면에는 시스템과 해당 앱에서 둘다 사용할 수 있는 모든
+바로 가기가 표시됩니다. 이들 바로 가기는 앱의 메뉴에서 자동으로 검색되지만(사용 가능한 경우),
+개발자가 화면에 맞춰 스스로 미세 조정한 바로 가기 목록을
+제공할 수 있습니다. 이를 위해서는 다운로드 가능한
+<a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 참조</a>에 설명되어 있는 새
+<code>Activity.onProvideKeyboardShortcuts()</code> 메서드를 재정의할 수 있습니다.
+</p>
+
+<p>
+앱의 어느 곳에서든 Keyboard Shortcuts Helper를 트리거하려면 관련 액티비티에 대해
+{@code Activity.requestKeyboardShortcutsHelper()}를 호출하세요.
+</p>
+
+<h2 id="sustained_performance_api">지속적인 성능 API</h2>
+
+<p>
+기기 구성 요소가 온도 제한에 도달할 때
+시스템에서는 시스템온칩(system-on-chip) 엔진을 조절하므로, 장시간 실행되는 앱의 성능이 크게 변동될
+수 있습니다. 이러한 변동은 장시간 실행되는 고성능 앱을 만들려는 앱 개발자
+입장에서는 일종의 움직이는 과녁과도 같은 것입니다.
+</p>
+
+<p>
+이러한 제한을 해결하기 위해, Android N에서는
+<em>지속적인 성능 모드</em>를 지원하며, 이 모드를 통해 OEM들은 장시간 실행되는 앱의
+기기 성능에 대한 힌트를 제공할 수 있습니다. 앱 개발자는
+이들 힌트를 사용하여 장기간에 걸쳐
+기기 성능을 예측 가능하고 이 성능을 일관된 수준으로 유지하기 위해 앱을 적절히 조정할 수 있습니다.
+</p>
+
+<p>
+앱 개발자는 N Developer Preview에 있는 이
+새 API를 Nexus 6P 기기에서만 시험해 볼 수 있습니다. 이 기능을 사용하려면
+지속적인 성능 모드에서 실행하려는 기간에 대해
+지속적인 성능 기간 플래그를 설정하세요. 
+{@code Window.setSustainedPerformanceMode()} 메서드를 사용하여 이 플래그를 설정하세요. 해당 기간이 포커스 안에 없을 때는
+이 모드가 자동으로 비활성화됩니다.
+</p>
+
+<h2 id="vr">VR 지원</h2>
+
+<p>
+개발자가 사용자를 위한 고품질 모바일 VR 환경을 만들 수 있도록, Android N에서는
+새로운 VR 모드에 대한 플랫폼 지원과 최적화를 추가합니다. VR 앱 전용 CPU 코어에 대한 액세스를 비롯하여
+다수의 성능 개선 사항이 있습니다.
+지능적 머리 추적과
+VR용으로 작동하는 스테레오 알림 기능을 앱 내에서 이용할 수 있습니다. 가장 중요한 점은, 지연 시간이 매우 짧은
+그래픽을 Android N이 제공한다는 사실입니다. Android N용 VR 앱 만들기에 대한 자세한 정보는
+<a href="https://developers.google.com/vr/android/">Android용 Google VR SDK</a>를 참조하세요.
+</p>
 
 
+<h2 id="print_svc">인쇄 서비스 개선 사항</h2>
+
+<p>
+  이제 Android N에서는 인쇄 서비스 개발자가 개별 프린터와 인쇄 작업에
+대한 추가적인 정보를 노출시킬 수 있습니다.
+</p>
+
+<p>
+  개별 프린터를 나열할 때, 이제 인쇄 서비스가 다음 두 가지 방식으로 프린터마다
+아이콘을 설정할 수 있습니다.
+</p>
+
+<ul>
+  <li><code>PrinterInfo.Builder.setResourceIconId()</code>를 호출하여 리소스 ID로부터
+아이콘을 설정할 수 있습니다.
+  </li>
+
+  <li><code>PrinterInfo.Builder.setHasCustomPrinterIcon()</code>을 호출하고,
+<code>android.printservice.PrinterDiscoverySession.onRequestCustomPrinterIcon()</code>을 사용하여 아이콘이 요청될 때 콜백을 설정하여
+네트워크에서 아이콘을 표시할
+ 수 있습니다.
+  </li>
+</ul>
+
+<p>
+  또한, <code>PrinterInfo.Builder.setInfoIntent()</code>를 호출하여 추가적인 정보를 표시하도록
+프린터당 액티비티를 제공할 수 있습니다.
+</p>
+
+<p>
+  <code>android.printservice.PrintJob.setProgress()</code> 및
+<code>android.printservice.PrintJob.setStatus()</code>를 각각 호출하여
+인쇄 작업 알림에서 인쇄 작업의
+진행률과 상태를 나타낼 수 있습니다.
+</p>
+
+<p>
+  이들 메서드에 대한 자세한 내용은 다운로드 가능한 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 참조</a>를 확인하세요.
+</p>
+
+<h2 id="framemetrics_api">FrameMetricsListener API</h2>
+
+<p>
+앱은 FrameMetricsListener API를 통해 UI 렌더링
+성능을 모니터링할 수 있습니다. 이 기능을 제공하기 위해 이 API는 앱의 현재 창에 대한 프레임 타이밍
+정보를 전송하는 스트리밍 Pub/Sub API를 노출시킵니다. 반환되는 데이터는
+<code><a href="{@docRoot}tools/help/shell.html#shellcommands">adb shell</a>
+dumpsys gfxinfo framestats</code>가 표시하는 데이터와 동일하지만, 지난 120개 프레임으로 제한되지 않습니다.
+</p>
+
+<p>
+FrameMetricsListener를 사용하면 USB 연결 없이 프로덕션 환경에서
+상호 작용 수준의 UI 성능을 측정할 수 있습니다. 이 API를
+사용하면
+{@code adb shell dumpsys gfxinfo}보다 훨씬 세분화된 수준에서 데이터를 수집할 수 있습니다. 시스템은 앱에서 발생하는 특정한 상호 작용에
+대한 데이터를 수집할 수 있기 때문에, 이처럼 높은 수준의 세분화가 가능합니다. 시스템은
+전체 앱의 성능에 대한 전체 요약을 캡처하거나
+전체 상태를 지울 필요가 없습니다. 이 기능을 사용하면
+앱 내에서의 실제 사용 사례에 대한 UI 성능에서
+성능 데이터를 수집하고 성능 저하를 찾아낼 수 있습니다.
+</p>
+
+<p>
+창을 모니터링하려면 <code>FrameMetricsListener.onMetricsAvailable()</code>
+콜백 메서드를 구현하고 해당 창에 등록하세요. 자세한 내용은 다운로드 가능한
+<a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 참조</a>에서 {@code FrameMetricsListener} 클래스 문서를
+참조하세요.
+</p>
+
+<p>
+이 API는 {@code FrameMetrics} 객체를 제공하며 여기에는 렌더링 하위 시스템이 프레임 수명 주기의 다양한 이정표에 대해 보고하는
+타이밍 데이터가 포함됩니다.
+지원되는 지표는 {@code UNKNOWN_DELAY_DURATION},
+{@code INPUT_HANDLING_DURATION}, {@code ANIMATION_DURATION},
+{@code LAYOUT_MEASURE_DURATION}, {@code DRAW_DURATION}, {@code SYNC_DURATION},
+{@code COMMAND_ISSUE_DURATION}, {@code SWAP_BUFFERS_DURATION},
+{@code TOTAL_DURATION}, {@code FIRST_DRAW_FRAME}입니다.
+</p>
 
 
+<h2 id="virtual_files">가상 파일</h2>
 
+<p>
+  이전 버전의 Android에서는 사용자가
+Google 드라이브와 같은 자신의 클라우드 저장소 계정에서 파일을 선택할 수 있도록, 앱이 저장소 액세스 프레임워크를
+사용할 수 있었습니다. 하지만 직접적인 바이트코드 표시가 없는
+파일을 표시하기 위한 방법이 없었으며, 모든 파일이 입력 스트림을
+제공해야 했습니다.
+</p>
+
+<p>
+  Android N에서는 <em>가상 파일</em>이라는 개념을 저장소 액세스
+ 프레임워크에 추가합니다. 가상 파일 기능을 사용하면,
+{@link android.content.Intent#ACTION_VIEW} 인텐트와 함께 사용될 수 있는
+문서 URI에 직접적인 바이트코드 표시가 없더라도 이 문서 URI를 {@link android.provider.DocumentsProvider}가 반환할 수
+있습니다. 또한 Android N에서는 가상 파일이든 아니든 간에, 사용자 파일에 대한
+대체 형식을 제공할 수 있습니다.
+</p>
+
+<p>
+  앱에서 가상 문서의 URI를 가져오려면 먼저
+{@link android.content.Intent}를 만들어 파일 선택기 UI를 여세요. 앱은 {@link android.content.ContentResolver#openInputStream(Uri) openInputStream()}
+ 메서드를 사용하여
+ 가상 파일을
+직접 열 수 없으므로,
+{@link android.content.Intent#CATEGORY_OPENABLE} 카테고리를 포함하는 경우에는 앱이 어떤 가상 파일도 수신하지 못합니다.
+</p>
+
+<p>
+  사용자가 선택한 후에는, 시스템이
+{@link android.app.Activity#onActivityResult onActivityResult()} 메서드를 호출합니다.
+  아래의 코드 조각에서 볼 수 있듯이, 앱이 가상 파일의 URI를 검색하고
+입력 스트림을 가져올 수 있습니다.
+</p>
+
+<pre>
+  // Other Activity code ...
+
+  final static private int REQUEST_CODE = 64;
+
+  // We listen to the OnActivityResult event to respond to the user's selection.
+  &#64;Override
+  public void onActivityResult(int requestCode, int resultCode,
+    Intent resultData) {
+      try {
+        if (requestCode == REQUEST_CODE &amp;&amp;
+            resultCode == Activity.RESULT_OK) {
+
+            Uri uri = null;
+
+            if (resultData != null) {
+                uri = resultData.getData();
+
+                ContentResolver resolver = getContentResolver();
+
+                // Before attempting to coerce a file into a MIME type,
+                // check to see what alternative MIME types are available to
+                // coerce this file into.
+                String[] streamTypes =
+                  resolver.getStreamTypes(uri, "*/*");
+
+                AssetFileDescriptor descriptor =
+                    resolver.openTypedAssetFileDescriptor(
+                        uri,
+                        streamTypes[0],
+                        null);
+
+                // Retrieve a stream to the virtual file.
+                InputStream inputStream = descriptor.createInputStream();
+            }
+        }
+      } catch (Exception ex) {
+        Log.e("EXCEPTION", "ERROR: ", ex);
+      }
+  }
+</pre>
+
+<p>
+  사용자 파일 액세스에 대한 자세한 내용은
+<a href="{@docRoot}guide/topics/providers/document-provider.html">저장소
+액세스 프레임워크 가이드</a>를 참조하세요.
+</p>
diff --git a/docs/html-intl/intl/ko/preview/behavior-changes.jd b/docs/html-intl/intl/ko/preview/behavior-changes.jd
index 56dca32..709ccfc 100644
--- a/docs/html-intl/intl/ko/preview/behavior-changes.jd
+++ b/docs/html-intl/intl/ko/preview/behavior-changes.jd
@@ -1,6 +1,6 @@
-page.title=동작 변경
-page.keywords=preview,sdk,compatibility
-meta.tags="프리뷰", "호환성"
+page.title=동작 변경 사항
+page.keywords=preview, sdk, 호환성
+meta.tags="preview", "compatibility"
 page.tags="preview", "developer preview"
 page.image=images/cards/card-n-changes_2x.png
 @jd:body
@@ -14,19 +14,23 @@
 <ol>
   <li><a href="#perf">성능 향상</a>
     <ol>
-      <li><a href="#doze">Doze</a></li>
+      <li><a href="#doze">잠자기 모드</a></li>
       <li><a href="#bg-opt">백그라운드 최적화</a></li>
     </ol>
   </li>
-  <li><a href="#perm">권한 변경</a></li>
+  <li><a href="#perm">권한 변경</a>
+  </li>
+  <li><a href="#sharing-files">앱 사이의 파일 공유</a></li>
   <li><a href="#accessibility">접근성 향상</a>
     <ol>
       <li><a href="#screen-zoom">화면 확대/축소</a></li>
-      <li><a href="#vision-settings">설정 마법사에서의 비전 설정</a></li>
+      <li><a href="#vision-settings">설정 마법사의 Vision Settings</a></li>
     </ol>
   </li>
   <li><a href="#ndk">플랫폼 라이브러리에 연결되는 NDK 앱</a></li>
   <li><a href="#afw">Android for Work</a></li>
+  <li><a href="#annotations">주석 보존</a></li>
+  <li><a href="#other">기타 중요한 사항</a></li>
 </ol>
 
 <h2>참고 항목</h2>
@@ -40,55 +44,54 @@
 
 
 <p>
-  Android N에는 새로운 기능 및 성능과 함께
-시스템 및 API 동작의 다양한 변경사항이 포함되어 있습니다. 이 문서에서는
-개발자 여러분이 숙지해야 하고 앱을 개발할 때 감안해야 하는 몇 가지
-주요 변경 내용을 소개하겠습니다.
+  Android N에는 새로운 기능 및 특징과 더불어
+다양한 시스템 변경 사항 및 API 동작 변경 사항이 포함되어 있습니다. 이 문서에서는
+여러분이 앱에서 숙지하고 고려해야 하는 몇 가지
+주요 변경 사항을 소개하겠습니다.
 </p>
 
 <p>
-  이전에 Android용 앱을 게시한 적이 있는 경우, 이와 같은
-플랫폼 변경으로 인해 앱이 영향을 받을 수 있다는 점을 유의하세요.
+  이전에 Android용 앱을 게시한 적이 있으신 경우, 이와 같은
+ 플랫폼 변경으로 인해 앱이 영향을 받을 수 있다는 점을 유의하세요.
 </p>
 
 
-<h2 id="perf">성능 향상</h2>
+<h2 id="perf">배터리와 메모리</h2>
 
 <p>
-  Android N에는 기기의 배터리 수명, RAM 사용량 및 앱 성능을
-개선하기 위한 시스템 동작 변경이 포함됩니다. 이러한 변경은 시스템 리소스의
-가용성과 앱에 대한 시스템 알림에 영향을 미칠 수 있습니다.
-이러한 변경을 검토하고 이 변경에 맞게 앱을 조정하는 방법을
-평가해야 합니다.
+Android N에는 기기의 배터리 수명을 연장하고 RAM 사용량을 감소시키기 위한
+시스템 동작 변경 사항이 포함됩니다. 이러한 변경 사항은, 앱이 특정한 암시적 인텐트를 통해
+다른 앱과 상호 작용하는 방식과 함께, 시스템 리소스에 대한
+앱의 액세스에 영향을 미칠 수 있습니다.
 </p>
 
-<h3 id="doze">Doze</h3>
+<h3 id="doze">잠자기 모드</h3>
 
 <p>
-  Android 6.0(API 레벨 23)에서 소개된 Doze 기능은 사용자가 기기의
-플러그를 뽑고 정지 상태에서 화면이 꺼져있을 때 CPU 및
-네트워크 액티비티를 지연시켜서 배터리 수명을 개선해 줍니다.
-Android N에서는 기기의 플러그를 뽑고 화면이 꺼져있는 동안
-CPU 및 네트워크 제한의 일부를 적용하여 Doze의 기능을 더욱
-향상시켜 주지만 반드시 정지 상태일 필요는 없습니다(예: 핸드셋을 사용자의 주머니에 넣고 다니는 경우).
+  Android 6.0(API 레벨 23)에 도입된 잠자기 모드는 사용자가 기기의
+플러그를 뽑고 정지 상태에서 화면이 꺼져 있을 때 CPU 및
+네트워크 액티비티를 지연시켜서 배터리 수명을 개선해 줍니다. Android N에서는
+기기의 플러그를 뽑고 화면이 꺼져 있는 동안
+CPU 및 네트워크 제한의 하위 세트를 적용하여 잠자기 모드를 더욱
+향상시켜 주지만, 반드시 정지 상태일 필요는 없습니다(예: 핸드셋을 사용자의 주머니에 넣고 다니는 경우).
 </p>
 
 
 <img src="{@docRoot}preview/images/doze-diagram-1.png" alt="" height="251px" id="figure1" />
 <p class="img-caption">
-  <strong>그림 1.</strong> Doze가 첫 번째 레벨의 시스템 액티비티 제한을
-적용하여 배터리 수명을 개선하는 방법에 대한 그림.
+  <strong>그림 1.</strong> 잠자기 모드에서 배터리 수명을 개선하기 위해 첫 번째 레벨의 시스템 액티비티 제한을
+적용하는 방법에 대한 그림.
 </p>
 
 <p>
-  기기가 배터리 전원에 연결되고 일정 시간 동안 화면이 꺼져있는 경우,
-기기가 Doze로 진입하고 첫 번째 하위 세트의 제한을 적용합니다. 기기는 앱
-네트워크 액세스를 차단하고, 작업 및 동기화를
-지연시킵니다. 기기가 Doze로 진입한 후 일정 시간 동안 정지 상태에
-있으면, 시스템은 Doze 제한의 나머지를 {@link android.os.PowerManager.WakeLock},
-{@link android.app.AlarmManager} 알람, GPS 및 Wi-Fi 스캔에 적용합니다.
-일부 Doze 제한이 적용되든 모든 Doze 제한이 적용되든 간에
-시스템은 잠시 동안의 유지관리 기간 중에 기기를 깨우며, 이 기간 중에
+  기기가 배터리 전원에 연결되고 일정 시간 동안 화면이 꺼져 있는 경우
+기기가 잠자기 모드로 전환되고 첫 번째 하위 세트의 제한을 적용합니다. 기기는 앱
+네트워크 액세스를 차단하고, 작업과 동기화를 지연시킵니다. 기기가 잠자기 모드로
+전환된 후 일정 시간 동안 정지 상태에 있으면, 시스템은 잠자기 모드의 나머지 제한 사항을 {@link android.os.PowerManager.WakeLock},
+{@link android.app.AlarmManager} 알람, GPS 및 Wi-Fi 스캔에
+적용합니다. 일부 잠자기 모드 제한이
+적용되든 모든 잠자기 모드 제한이 적용되든 상관없이,
+시스템은 잠시 동안의 유지 관리 기간 중에 기기를 깨우며, 이 기간 중에는
 애플리케이션의 네트워크 액세스가 허용되고 지연된 작업/동기화가 실행됩니다.
 </p>
 
@@ -96,18 +99,18 @@
 <img src="{@docRoot}preview/images/doze-diagram-2.png" alt="" id="figure2" />
 <p class="img-caption">
   <strong>그림 2.</strong> 기기가 일정 시간 동안 정지 상태에 있은 후에
-Doze가 두 번째 레벨의 시스템 액티비티 제한을 적용하는 방법에 대한 그림.
+잠자기 모드에서 두 번째 레벨의 시스템 액티비티 제한을 적용하는 방법에 대한 그림.
 </p>
 
 <p>
-  참고로, 화면을 활성화하거나 기기의 플러그를 꽂으면 Doze 모드가
-종료되고 이러한 처리 제한이 제거됩니다. <a href="{@docRoot}training/monitoring-device-state/doze-standby.html">Doze 및 앱 대기
-모드 최적화</a>에서 설명한 대로, Android 6.0(API 레벨 23)에서 소개된
-이전 버전의 Doze에 앱을 적용시킬 때는, 이러한 추가적인 동작이
-권장사항과 모범
-사례에 영향을 미치지 않습니다.
-하지만 여전히 해당 권장사항을 따라야 합니다. 예를 들어, GCM(Google Cloud Messaging)을 사용하여 메시지를
-송수신하고, 추가적인 Doze 동작을 수용하기 위한 업데이트 계획을
+  화면을 활성화하거나 기기의 플러그를 꽂으면 잠자기 모드가
+종료되고 이러한 처리 제한이 제거됩니다. <a href="{@docRoot}training/monitoring-device-state/doze-standby.html">잠자기 및 앱 대기
+모드 최적화</a>에서 설명한 대로, Android 6.0(API 레벨 23)에 도입된
+이전 버전의 잠자기 모드에 맞춰 앱을 조정할 경우에는 이러한 추가적인 동작이
+권장 사항 및 모범
+사례에 영향을 미치지 않습니다. 하지만
+여전히 해당 권장 사항을 따라야 합니다. 예를 들어, GCM(Google Cloud Messaging)을 사용하여 메시지를
+송수신하고 추가적인 잠자기 모드 동작을 수용하기 위한 업데이트 계획을
 시작해야 합니다.
 </p>
 
@@ -116,103 +119,153 @@
 
 <p>
   Android N에서는 메모리 사용량 및 전원 소비량을 최적화하기 위해
-세 가지 암시적 브로드캐스트를 제거합니다. 이러한 변경이 필요한
-이유는 암시적 브로드캐스트는 백그라운드에서 브로드캐스트를
-수신하도록 등록된 앱을 자주 시작하기 때문입니다. 이 브로드캐스트를
-제거하면 기기 성능과 사용자 경험이 상당히 향상될 수 있습니다.
+ 세 가지 암시적 브로드캐스트를 제거합니다. 이렇게 변경해야 하는
+이유는, 암시적 브로드캐스트는 백그라운드에서 브로드캐스트를
+수신하도록 등록된 앱을 자주 시작하기 때문입니다. 이들 브로드캐스트를 제거하면 기기 성능과 사용자 환경이
+상당히 향상될 수 있습니다.
 </p>
 
 <p>
-  모바일 기기의 경우 연결 변경이 빈번하게 나타납니다(예: Wi-Fi와
-모바일 데이터 간의 이동 시). 현재는 매니페스트에서
+  모바일 기기의 경우 연결 변경이 자주 나타납니다(예: Wi-Fi와
+ 모바일 데이터 간의 이동 시). 현재는
 암시적 {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION} 브로드캐스트의 수신기를
-등록하는 방식으로 앱이 이러한 연결 변경을 모니터링할 수 있습니다. 많은 앱들이 이 브로드캐스트를 수신하도록
-등록하기 때문에, 단일 네트워크 스위치가 모든 앱들을 깨울 수 있으며 브로드캐스트를
-동시에 처리할 수 있습니다.
+ android.net.ConnectivityManager#CONNECTIVITY_ACTION} 브로드캐스트의 수신기를
+매니페스트에 등록하여 앱이 이러한 연결 변경을 모니터링할 수 있습니다. 많은 앱들이 이 브로드캐스트를 수신하도록
+ 등록하기 때문에, 단일 네트워크 스위치가 모든 앱을 깨우고 이들 앱이 해당 브로드캐스트를
+ 동시에 처리하도록 할 수 있습니다.
 </p>
 
 <p>
-  마찬가지로, 앱은 다른 앱(예: 카메라)에서 암시적 {@link
-  android.hardware.Camera#ACTION_NEW_PICTURE} 및 {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO} 브로드캐스트를 수신하도록 등록할 수 있습니다. 사용자가
-카메라 앱으로 사진을 찍으면, 이들 앱이 깨어나고 브로드캐스트를
-처리합니다.
+  마찬가지로, 이전 버전의 Android에서는 앱이 다른 앱(예: 카메라)에서 암시적 {@link
+ android.hardware.Camera#ACTION_NEW_PICTURE} 및 {@link
+ android.hardware.Camera#ACTION_NEW_VIDEO} 브로드캐스트를
+수신하도록 등록할 수 있었습니다. 사용자가 카메라 앱으로 사진을 찍으면, 이들 앱이 깨어나서 해당 브로드캐스트를
+ 처리합니다.
 </p>
 
 <p>
-  이러한 문제를 완화하기 위해, Android N은 다음과 같은 최적화를
-적용합니다.
+  이런 문제를 완화하기 위해, Android N은 다음과 같은 최적화를
+ 적용합니다.
 </p>
 
 <ul>
   <li>Android N을 대상으로 하는 앱은 해당 이벤트의 알림을 요청하는 매니페스트 항목이 있더라도 {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION} 브로드캐스트를 수신하지 않습니다. 포그라운드에서 실행되는 앱은 {@link
-  android.content.BroadcastReceiver}로
-알림을 요청하면
-여전히 메인 스레드에서 {@code CONNECTIVITY_CHANGE}를
-수신할 수 있습니다.
+ android.net.ConnectivityManager#CONNECTIVITY_ACTION} 브로드캐스트를
+수신하지 않습니다. 실행 중인
+앱은 {@link android.content.BroadcastReceiver}로 알림을 요청하면
+여전히 기본 스레드에서 {@code CONNECTIVITY_CHANGE}를 수신할 수 있습니다.
   </li>
 
   <li>앱은 {@link
-  android.hardware.Camera#ACTION_NEW_PICTURE} 또는 {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO}
-브로드캐스트를 송수신할 수 없습니다. 이 최적화는 Android N을 대상으로 하는 앱 뿐만 아니라 모든 앱에 영향을 미칩니다.
+ android.hardware.Camera#ACTION_NEW_PICTURE} 또는 {@link
+ android.hardware.Camera#ACTION_NEW_VIDEO} 브로드캐스트를 송수신할 수 없습니다. 이 최적화는 Android N을 대상으로
+ 하는 앱뿐 아니라 모든 앱에 영향을 미칩니다.
   </li>
 </ul>
 
-<p>
-  차기 Android 릴리스에서는 바인딩이 해제된 백그라운드 서비스
-뿐만 아니라 추가적인 암시적 브로드캐스트가 사용 중단될 수도 있습니다.
-이러한 이유로, 백그라운드 서비스에 대한 종속성 뿐만
-아니라 암시적 브로드캐스트의 매니페스트-선언 수신기에 대한 종속성을 피하거나 제거해야 합니다.
+<p>앱이 이들 인텐트 중 하나라도 사용하는 경우에는,
+ Android N 기기를 올바로 대상으로 삼을 수 있도록 이들 인텐트에 대한 종속성을 최대한 빨리 제거해야 합니다.
+  Android 프레임워크는 이러한 암시적 브로드캐스트의
+ 필요성을 줄이기 위한 여러 가지 해결책을 제공합니다. 예를 들어, {@link
+ android.app.job.JobScheduler} API는 지정된 조건(예: 
+고정 요금제 네트워크에 연결)이 충족될 경우 네트워크 운영을 예약할 수 있는
+강력한 메커니즘을 제공합니다. 심지어 {@link
+ android.app.job.JobScheduler}를 사용하여 콘텐츠 공급자의 변경 사항에 대응할 수도 있습니다.
 </p>
 
 <p>
-  Android 프레임워크는 암시적 브로드캐스트 또는 백그라운드
-서비스의 필요성을 줄이기 위한 여러 가지 해결책을 제공합니다. 예를 들어, {@link
-  android.app.job.JobScheduler} API는 지정된 조건(예: 비 데이터 통신 네트워크에 연결)이 충족될 경우 네트워크 운영을 예약할 수 있는 강력한 메커니즘을 제공합니다. 심지어는 {@link
-  android.app.job.JobScheduler}를
-사용하여 콘텐츠 제공자의
-변경에 대응할 수도 있습니다.
+  N에서 백그라운드 최적화와 앱을 조정하는 방법에 대한 자세한 내용은
+ <a href="{@docRoot}preview/features/background-optimization.html">백그라운드 최적화</a>를
+ 참조하세요.
 </p>
 
-<p>
-  이러한 동작 변경과 앱을 적용하는 방법에 대한 자세한 내용은
-<a href="{@docRoot}preview/features/background-optimization.html">백그라운드  최적화</a>를
-참조하세요.
-</p>
-
-
 <h2 id="perm">권한 변경</h2>
 
 <p>
-  Android N에는 사용자 계정 권한 및 외부 저장소에 쓰기 위한 새 권한을 비롯하여
-앱에 영향을 미칠 수도 있는 권한 변경이 포함되어 있습니다.
-다음은 프리뷰에서 변경된 권한의
-간추린 내용입니다.
+  Android N에는 앱에 영향을 미칠 수도 있는 권한 변경이 포함되어 있습니다.
+</p>
+
+<h3 id="permfilesys">파일 시스템 권한 변경</h3>
+
+<p>
+  개인 파일의 보안을 강화하기 위해, Android N 이상을 대상으로 하는 앱의 개인
+ 디렉터리는 액세스가 제한됩니다(<code>0700</code>).
+  이 설정은 크기 또는
+존재 여부와 같은 개인 파일의 메타데이터 유출을 막아줍니다. 이러한 권한 변경은 여러 가지 부작용이 있습니다.
 </p>
 
 <ul>
-  <li>{@code GET_ACCOUNTS} (사용 중단)
-    <p>
-      GET_ACCOUNTS 권한은 이제 사용 중단되었습니다. 시스템은 Android
-N을 대상으로 하는 앱에서 이 권한을 무시합니다.
+  <li>
+    소유자가 개인 파일의 파일 권한을
+더 이상 완화해서는 안 되며,
+{@link android.content.Context#MODE_WORLD_READABLE} 및/또는
+{@link android.content.Context#MODE_WORLD_WRITEABLE}을 사용하여 권한을 완화하려고 시도하면
+{@link java.lang.SecurityException}이 트리거됩니다.
+    <p class="note">
+      <strong>참고:</strong> 아직까지는 이 제한이 완전히 적용되지 않습니다.
+      앱이 여전히 기본
+API 또는 {@link java.io.File File} API를 사용하여 개인 디렉터리에 대한 권한을 수정할 수도 있습니다. 하지만
+개인 디렉터리에 대한 권한은 부득이한 경우가 아니라면 완화하지 않는 것이 좋습니다.
     </p>
   </li>
+  <li>
+    패키지 도메인 외부에서 <code>file://</code> URI를 전달하면 수신기가 액세스 불가능한 경로로
+ 남아 있을 수 있습니다. 따라서
+<code>file://</code> URI를 전달하려고 시도하면
+<code>FileUriExposedException</code>이 트리거됩니다. 개인 파일의 내용을 공유하기 위해
+권장되는 방법은 {@link
+ android.support.v4.content.FileProvider}를 사용하는 것입니다.
+  </li>
+  <li>
+    {@link android.app.DownloadManager}는 비공개로
+저장된 파일을 더 이상 파일 이름별로 공유할 수 없습니다. 레거시 애플리케이션은 {@link
+ android.app.DownloadManager#COLUMN_LOCAL_FILENAME}에 액세스할 때
+액세스가 불가능한 경로가 될 수 있습니다. Android N 이상을
+대상으로 하는 앱은 {@link android.app.DownloadManager#COLUMN_LOCAL_FILENAME}에 액세스할 때 {@link java.lang.SecurityException}을
+트리거합니다.
 
+    
+{@link
+ android.app.DownloadManager.Request#setDestinationInExternalFilesDir
+ DownloadManager.Request.setDestinationInExternalFilesDir()} 또는
+ {@link
+ android.app.DownloadManager.Request#setDestinationInExternalPublicDir
+ DownloadManager.Request.setDestinationInExternalPublicDir()}
+을 사용하여 다운로드
+위치를 공용 위치로 설정하는 레거시 애플리케이션은
+{@link android.app.DownloadManager#COLUMN_LOCAL_FILENAME}에 있는 경로에 여전히 액세스할 수 있지만, 이
+ 메서드는 부득이한 경우가 아니라면 사용하지 않는 것이 좋습니다. {@link android.app.DownloadManager}에 의해 노출되는 파일에
+액세스하는 좋은 방법은
+{@link android.content.ContentResolver#openFileDescriptor
+ ContentResolver.openFileDescriptor()}를 사용하는 것입니다.
+  </li>
 </ul>
 
+<h2 id="sharing-files">앱 사이의 파일 공유</h2>
 
+<p>
+Android N을 대상으로 하는 앱의 경우, Android 프레임워크는 앱 외부에서 {@code file://} URI의 노출을
+금지하는 {@link android.os.StrictMode} API 정책을
+적용합니다. 파일 URI를 포함하는 인텐트가 앱을 떠나면
+{@code FileUriExposedException} 예외가 생기면서 앱에 오류가 발생합니다.
+</p>
+
+<p>
+애플리케이션 간에 파일을 공유하려면 {@code content://} URI를
+보내고 이 URI에 대해 임시 액세스 권한을 부여해야 합니다. 이 권한을 가장 쉽게 부여하는 방법은
+{@link android.support.v4.content.FileProvider} 클래스를 사용하는 방법입니다. 권한과 파일 공유에
+대한 자세한
+내용은 <a href="{@docRoot}training/secure-file-sharing/index.html">파일 공유</a>를 참조하세요.
+</p>
 
 <h2 id="accessibility">접근성 향상</h2>
 
 <p>
-  Android N에는 시력이 안좋거나 손상된 사용자를 위해 플랫폼의
-가용성을 개선하려는 변경이 포함됩니다. 이러한 변경은 일반적으로
-앱의 코드 변경을 요구하지는 않지만, 사용자 경험에
-미치는 잠재적인 영향을 평가하기 위해 이러한 기능을 검토하고
-앱으로 테스트해야 합니다.
+  Android N에는 시력이 나쁘거나 손상된 사용자를 위해 플랫폼의
+ 사용성을 개선하기 위한 변경 사항이 포함되어 있습니다. 이러한 변경 사항에서는 일반적으로
+ 앱의 코드를 변경할 필요가 없지만, 사용자 환경에
+ 미치는 잠재적인 영향을 평가하기 위해 이들 기능을 검토하고
+ 앱으로 테스트해야 합니다.
 </p>
 
 
@@ -220,10 +273,10 @@
 
 <p>
   Android N에서는 사용자가 <strong>Display size</strong>를 설정할 수
-있습니다. 이 설정은 화면의 모든 요소를 확대하거나 축소하므로, 시력이
-안좋은 사용자의 기기 접근성이 향상됩니다. 최소 화면 너비가 <a href="http://developer.android.com/guide/topics/resources/providing-resources.html">sw320dp</a>를 초과하는 화면은 사용자가 확대/축소할
-수 없으며, 이는 일반적인 중간 사이즈 전화기인 Nexus 4의
-너비입니다.
+있으며, 이 설정에서 화면의 모든 요소를 확대하거나 축소할 수 있으므로, 시력이
+나쁜 사용자의 기기 접근성이 향상됩니다. 최소 화면 너비인 <a href="http://developer.android.com/guide/topics/resources/providing-resources.html">sw320dp</a>를 초과하는 화면은 사용자가 확대/축소할
+ 수 없으며, 이 너비는 일반적인 중간 크기 전화기인 Nexus 4의
+ 너비입니다.
 </p>
 
 <div class="cols">
@@ -243,117 +296,117 @@
 
 
 <p>
-  기기 밀도가 변경되면, 시스템은 다음과 같은 방식으로 실행 중인
-앱에게 알립니다.
+  기기 밀도가 변경되면 시스템은 다음과 같은 방식으로 실행 중인
+ 앱에게 알립니다.
 </p>
 
 <ul>
-  <li>앱이 API 레벨 23 이하를 대상으로 하는 경우, 시스템은 모든
-백그라운드 프로세스를 자동으로 종료합니다. 즉, 사용자가 이러한
-앱으로부터 전환하여 <em>Settings</em> 화면을
-열고 <strong>Display size</strong> 설정을 변경하면, 시스템은 저용량 메모리
-상황에서와 동일한 방식으로 앱을 종료합니다. 앱에 포그라운드 프로세스가
-있는 경우, <a href="{@docRoot}guide/topics/resources/runtime-changes.html">런타임 변경 처리</a>에 설명된 대로, 시스템은
-마치 기기의 방향이 변경된
-것처럼 구성 변경을 해당 프로세스에게 알립니다.
+  <li>앱이 API 레벨 23 이하를 대상으로 하는 경우 시스템에서는
+모든 백그라운드 프로세스를 자동으로 종료합니다. 즉, 사용자가 이들
+ 앱으로부터 전환하여 <em>Settings</em> 화면을
+ 열고 <strong>Display size</strong> 설정을 변경하면, 시스템은 저용량 메모리
+ 상황에서와 동일한 방식으로 앱을 종료합니다. 앱에 포그라운드 프로세스가
+ 있는 경우, <a href="{@docRoot}guide/topics/resources/runtime-changes.html">런타임 변경 처리</a>에 설명된 대로, 시스템은
+ 마치 기기의 방향이 변경된
+ 것처럼 구성 변경을 해당 프로세스에 알립니다.
   </li>
 
   <li>앱이 Android N을 대상으로 하는 경우,
 <a href="{@docRoot}guide/topics/resources/runtime-changes.html">런타임 변경 처리</a>에 설명된
-대로 모든 프로세스(포그라운드 및 백그라운드)에게
-구성 변경을 알립니다.
+대로, 구성 변경을 모든 프로세스(포그라운드 및 백그라운드)에
+알립니다.
   </li>
 </ul>
 
 <p>
   앱이 Android 모범 사례를 따르기만 한다면, 대부분의 앱은 이 기능을
-지원하기 위해 어떠한 변경도 할 필요가 없습니다. 확인할 사항:
+ 지원하기 위해 어떠한 변경도 수행할 필요가 없습니다. 확인할 사항은 구체적으로 다음과 같습니다.
 </p>
 
 <ul>
   <li>화면 너비가 <code><a href=
   "{@docRoot}guide/topics/resources/providing-resources.html">sw320dp</a></code>인 기기에서 앱을 테스트하고 적절하게 작동하는지
-확인합니다.
+ 확인하세요.
   </li>
 
-  <li>기기 구성이 변경되는 경우, 모든 밀도 종속형 캐시된
-정보(예: 캐시된 비트맵 또는 네트워크에서 로드된 리소스)를 업데이트합니다.
-앱이 일시 정지 상태에서 다시 시작하는 경우 구성
-변경을 확인합니다.
+  <li>기기 구성이 변경되는 경우, 밀도에 종속된 모든 캐시된
+정보(예: 캐시된 비트맵 또는 네트워크에서 로드된 리소스)를
+업데이트하세요. 앱이 일시 정지 상태에서 다시 시작하는 경우 구성
+ 변경을 확인하세요.
     <p class="note">
-      <strong>참고:</strong> 구성 종속형 데이터를 캐시하는 경우,
-해당 데이터의 적절한 화면 크기 또는 픽셀 밀도와 같은 관련 메타데이터를
-포함시키는 것이 좋습니다. 이 메타데이터를 저장해 놓으면,
-구성이 변경된 후에 캐시된 데이터의 새로 고침 여부를
-결정할 수 있습니다.
+      <strong>참고:</strong> 구성에 종속된 데이터를 캐시하는 경우,
+ 해당 데이터에 적절한 화면 크기 또는 픽셀 밀도와 같은 관련 메타데이터를
+ 포함시키는 것이 좋습니다. 이 메타데이터를 저장해 놓으면,
+ 구성이 변경된 후에 캐시된 데이터를 새로 고칠지 여부를
+ 결정할 수 있습니다.
     </p>
   </li>
 
-  <li>픽셀 단위로 치수를 지정하지 마세요. 이 단위는 화면 밀도에 따라
-변하지 않습니다. 그 대신, <a href="{@docRoot}guide/practices/screens_support.html">밀도 독립형 픽셀</a> (<code>dp</code>) 단위로
-치수를 지정하세요.
+  <li>픽셀 단위는 화면 밀도에 따라
+ 변하지 않으므로, 이 단위로 치수를 지정하지 마세요. 그 대신, <a href="{@docRoot}guide/practices/screens_support.html">밀도에 독립적인 픽셀</a>(<code>dp</code>) 단위로
+ 치수를 지정하세요.
   </li>
 </ul>
 
-<h3 id="vision-settings">설정 마법사에서의 비전 설정</h3>
+<h3 id="vision-settings">설정 마법사의 Vision Settings</h3>
 
 <p>
-  Android N에는 Welcome 화면에 Vision Settings가 포함되어 있으며, 여기서 사용자가 새 기기에 다음과 같은 접근성 설정을 구성할 수 있습니다:
-<strong>Magnification gesture</strong>, <strong>Font size</strong>,
-<strong>Display size</strong>
-및 <strong>TalkBack</strong>. 이 변경은 다른 화면 설정에서 발생하는 버그의 가시성을 높여줍니다. 이 기능이
-미치는 영향을 평가하려면, 이
-설정을 활성화하여 앱을 테스트해야 합니다. 이 설정은 <strong>Settings &gt;
-Accessibility</strong> 아래에
-있습니다.
+  Android N에는 Welcome 화면에 Vision Settings가 포함되어
+있으며, 여기서 사용자는
+  <strong>Magnification gesture</strong>, <strong>Font size</strong>,
+<strong>Display size</strong> 및 <strong>TalkBack</strong>의 접근성 설정을 새 기기에 구성할 수 있습니다. 이러한
+변경은 다른 화면 설정에 관련된 버그의 가시성을 증대시킵니다. 이 기능의 영향을 평가하려면,
+ 이들 설정을 활성화하여 앱을
+ 테스트해야 합니다. 이 설정은 <strong>Settings &gt;
+  Accessibility</strong> 아래에 있습니다.
 </p>
 
 <h2 id="ndk">플랫폼 라이브러리에 연결되는 NDK 앱</h2>
 
 <p>
-  비공개 API가 로드되는 것을 막기 위해 Android N에는 네임스페이스
-변경이 포함되어 있습니다. NDK를 사용하는 경우에는, Android 플랫폼에서
-공개 API를 사용해야만 합니다. 차기 Android 공식 릴리스에서 비공개 API를 사용하면 앱 작동이 중단될 수
-있습니다.
+  비공개 API가 로드되는 것을 막기 위해 Android N에는 네임스페이스 변경이 포함되어 있습니다.
+  NDK를 사용하는 경우에는 Android 플랫폼에서
+ 공개 API를 사용해야만 합니다. Android의 다음 번 공식 릴리스에서 비공개 API를 사용하면 앱 작동이 중단될 수
+ 있습니다.
 </p>
 
 <p>
-  비공개 API의 사용을 경고하기 위해, Android N 기기에서 실행
-중인 앱은 어떤 앱이 비공개 API를 호출하면 logcat 출력에 오류를 생성합니다.
-또한 이러한 상황을 인식할 수 있도록
-이 오류가 메시지로 기기 화면에 표시됩니다. 그러면 앱 코드를 검토하여
-비공개 플랫폼 API의 사용을 제거해야 하며 프리뷰 기기 또는
-에뮬레이터를 사용하여 앱을 철저히 테스트해야 합니다.
+  비공개 API의 사용을 여러분에게 경고하기 위해, Android N 기기에서 실행
+ 중인 앱은 어떤 앱이 비공개 API를 호출할 때 logcat 출력에 오류를 생성합니다.
+  또한, 이런 상황이 잘 인식될 수 있도록
+ 이 오류가 기기 화면에도 메시지로 표시됩니다. 여러분이 앱 코드를 검토하여
+ 비공개 플랫폼 API의 사용을 제거해야 하며, 프리뷰 기기 또는
+ 에뮬레이터를 사용하여 앱을 철저히 테스트해야 합니다.
 </p>
 
 <p>
-  앱이 플랫폼 라이브러리에 종속된 경우, 개인 API를 동등한
-공개 API로 교체하기 위한 일반적인 수정사항은 NDK 문서를 참조하세요.
-또한 자신도 모르는 사이에 플랫폼 라이브러리에
-연결되어 있을 수가 있습니다(특히 앱이 사용하는 라이브러리가 플랫폼의
-일부(예: <code>libpng</code>)이지만 NDK의 일부는 아닌 경우). 이 경우에는
-연결에 필요한 모든 .so 파일이 APK에 포함되어 있는지 확인하세요.
+  앱이 플랫폼 라이브러리에 종속된 경우, 개인 API를 이와 동등한
+ 공개 API로 바꾸기 위한 일반적인 수정 사항을 NDK 문서에서 참조하세요.
+  또한, 자신도 모르는 사이에 플랫폼 라이브러리에
+ 연결되어 있을 수가 있으며, 특히 여러분의 앱이 사용하는 라이브러리가 플랫폼의
+ 일부(예: <code>libpng</code>)이지만 NDK의 일부가 아닌 경우에는 더 그렇습니다. 이 경우에는 연결에
+필요한 모든 .so 파일이 APK에 포함되어 있는지 확인하세요.
 </p>
 
 <p class="caution">
-  <strong>주의:</strong> 일부 타사 라이브러리는 비공개 API에
-연결될 수도 있습니다. 앱이 이러한 라이브러리를 사용하는 경우 차기 Android
- 공식 릴리스에서 실행할 때 앱 작동이 중단될 수 있습니다.
+  <strong>주의:</strong> 일부 타사 라이브러리가 비공개 API에
+ 연결될 수도 있습니다. 앱이 이들 라이브러리를 사용하는 경우, Android의
+ 다음 번 공식 릴리스에서 실행할 때 앱 작동이 중단될 수 있습니다.
 </p>
 
 <p>
   앱은 NDK에 포함되지 않은 고유 라이브러리를 사용하거나
-이에 종속되어서는 안 됩니다. 왜냐하면 이 라이브러리는 특정
-Android 릴리스에서 다른 릴리스로 변경되거나 제거될 수 있기 때문입니다.
-OpenSSL에서 BoringSSL로의 전환은 이러한 변경의 한 예입니다. 또한 NDK에 포함되지 않은 플랫폼 라이브러리에는 호환성 요구사항이 없기
-때문에 다른 장치에서 호환성 레벨이 다를 수도 있습니다.
-구형 기기에 있는 비-NDK 라이브러리에 액세스해야 하는 경우,
-Android API 레벨에 따라 로드하세요.
+ 이에 종속되어서는 안 됩니다. 왜냐하면 이 라이브러리는 특정
+ Android 릴리스에서 다른 릴리스로 변경되거나 제거될 수 있기 때문입니다. OpenSSL에서 BoringSSL로의 전환은 이러한 변경의 한 예입니다.
+  또한, NDK에 포함되지 않은
+플랫폼 라이브러리에는 호환성 요구 사항이 없기 때문에, 다른 장치에서는
+호환성 레벨이 다를 수도 있습니다. 구형 기기에 있는 비 NDK 라이브러리에 액세스해야 하는 경우
+Android API 레벨에 따라 로드를 수행하세요.
 </p>
 
 <p>
   이러한 유형의 문제를 진단하는 데 도움을 주기 위해, 여기서는
-Android N으로 앱을 작성할 때 발생할 수 있는 Java 및 NDK 오류의 몇 가지 예를 보여줍니다.
+ Android N으로 앱을 빌드할 때 발생할 수 있는 Java 및 NDK 오류의 몇 가지 예를 보여줍니다.
 </p>
 
 <p>Java 오류의 예:</p>
@@ -374,7 +427,7 @@
 
 <ul>
   <li>libandroid_runtime.so에서 getJavaVM 및 getJNIEnv 사용은 표준
-JNI 함수로 교체될 수 있습니다.
+ JNI 함수로 교체될 수 있습니다.
 <pre class="no-pretty-print">
 AndroidRuntime::getJavaVM -&gt; GetJavaVM from &lt;jni.h&gt;
 AndroidRuntime::getJNIEnv -&gt; JavaVM::GetEnv or
@@ -382,99 +435,176 @@
 </pre>
   </li>
 
-  <li>{@code libcutils.so}에서 {@code property_get} 기호 사용은 공개 대체
-{@code __system_property_get}으로 교체될 수 있습니다.
-이렇게 하려면, include와 함께 {@code __system_property_get}을 사용합니다.
+  <li>{@code libcutils.so}에서 {@code property_get} 기호 사용은 공개
+ {@code alternative __system_property_get}으로 교체될 수 있습니다.
+   이렇게 하려면, 다음의 include와 함께 {@code __system_property_get}을 사용하세요.
 <pre>
 #include &lt;sys/system_properties.h&gt;
 </pre>
   </li>
 
-  <li>{@code libcrypto.so}에서 {@code SSL_ctrl} 기호 사용은 앱 로컬
-버전으로 교체되어야 합니다. 예를 들어, {@code .so} 파일에서
-{@code libcyrpto.a}를 정적으로 링크하거나 BoringSSL 또는 OpenSSL에서
-{@code libcrypto.so}를 동적으로 앱에 포함시켜야 합니다.
+  <li>{@code libcrypto.so}에서 {@code SSL_ctrl} 기호 사용은 앱
+로컬 버전으로 교체되어야 합니다. 예를 들어, {@code .so} 파일에서
+ {@code libcyrpto.a}를 정적으로 링크하거나 BoringSSL 또는 OpenSSL에서
+ {@code libcrypto.so}를 동적으로 앱에 포함시켜야 합니다.
   </li>
 </ul>
 
 <h2 id="afw">Android for Work</h2>
 <p>
-  Android N에는 Android for Work를 대상으로 하는 앱에 대한 변경이
-포함됩니다. 이러한 변경으로는 인증서 설치, 암호 재설정,
-보조 사용자 관리, 기기 식별자 액세스 등에 대한
-변경이 있습니다. Android for Work 환경용 앱을 작성하는 경우에는 이러한
-변경을 검토하고 그에 따라 앱을 수정해야 합니다.
+  Android N에는 Android for Work를 대상으로 하는 앱에 대한 변경 사항이
+포함되어 있습니다. 인증서 설치, 비밀번호 재설정,
+보조 사용자 관리 및 기기 식별자 액세스에 대한 변경 사항이 이에 포함됩니다. Android for Work 환경용 앱을 빌드하는 경우에는 이러한
+ 변경 사항을 검토하고 그에 따라
+앱을 수정해야 합니다.
 </p>
 
 <ul>
-  <li>DPC가 인증서를 설정하기 전에, 위임된 인증서 설치 관리자를 먼저
-설치하셔야 합니다. N SDK를 대상으로 하는 프로필 소유자
-앱 및 기기 소유자 앱의 경우, 기기 정책 컨트롤러(DPC)가 <code>DevicePolicyManager.setCertInstallerPackage()</code>를 호출하기
-전에, 위임된 인증서 설치 관리자를 설치해야 합니다. 아직 설치 관리자가
-설치되지
-않은 경우, 시스템이 <code>IllegalArgumentException</code>을
-발생시킵니다.
+  <li>DPC가 인증서를 설정할 수 있으려면, 위임된 인증서 설치 관리자를 여러분이 먼저
+ 설치해야 합니다. N SDK를 대상으로 하는 프로필 소유자
+ 앱 및 기기 소유자 앱의 경우, 기기 정책 컨트롤러(DPC)가 <code>DevicePolicyManager.setCertInstallerPackage()</code>를 호출하기
+ 전에, 위임된 인증서 설치 관리자를 여러분이 먼저
+설치해야 합니다. 아직 설치 관리자가
+설치되지 않은 경우 시스템에서 <code>IllegalArgumentException</code>이
+발생합니다.
   </li>
 
-  <li>이제 기기 관리자의 암호 재설정 제한이 프로필 소유자에게도
-적용됩니다. 기기 관리자는 이미 설정된 암호를 변경하거나 암호를
-지우기 위해 <code>DevicePolicyManager.resetPassword()</code>를 더 이상 사용할
-수 없습니다. 기기 관리자가 여전히 암호를 설정할 수 있지만
-기기에 암호, PIN 또는 패턴이 없는 경우에만 암호를 설정할 수 있습니다.
+  <li>이제 기기 관리자의 비밀번호 재설정 제한이 프로필 소유자에게도
+ 적용됩니다. 기기 관리자는 이미 설정된 암호를 변경하거나
+ 지우기 위해 {@code DevicePolicyManager.resetPassword()}를 더 이상 사용할
+ 수 없습니다. 기기 관리자는
+ 기기에 비밀번호, PIN 또는 패턴이 없는 경우에만 비밀번호를 설정할 수 있습니다.
   </li>
 
-  <li>제한이 설정되어 있더라도 기기 소유자와 프로필 소유자는
-계정을 관리할 수 있습니다. <code>DISALLOW_MODIFY_ACCOUNTS</code> 사용자
-제한이 있더라도 기기 소유자와 프로필 소유자가 계정 관리 API를 호출할 수 있습니다.
+  <li>제한이 설정되어 있더라도 기기 소유자 및 프로필 소유자는
+ 계정을 관리할 수 있습니다. <code>DISALLOW_MODIFY_ACCOUNTS</code> 사용자
+ 제한이 있더라도 기기 소유자 및 프로필 소유자는 계정 관리 API를 호출할 수 있습니다.
   </li>
 
-  <li>기기 소유자는 보다 쉽게 보조 사용자를 관리할 수 있습니다.
-기기가 기기 소유자 모드에서 실행 중인 경우 <code>DISALLOW_ADD_USER</code>
-제한이 자동으로 설정됩니다. 이렇게 하면 사용자는
-비관리 보조 사용자를 생성할 수가 없습니다. 또한 <code>CreateUser()</code>
-및 <code>createAndInitial()</code> 메서드가 사용 중단되었으며, 
-새로운 <code>DevicePolicyManager.createAndManageUser()</code> 메서드로 대체되었습니다.
+  <li>기기 소유자는 보조 사용자를 보다 쉽게 관리할 수 있습니다. 기기가
+기기 소유자 모드에서 실행 중인 경우 <code>DISALLOW_ADD_USER</code> 제한이
+자동으로 설정됩니다. 이렇게 하면 사용자는 관리되지 않는 보조 사용자를 생성할 수
+없습니다. 또한, <code>CreateUser()</code> 및
+ <code>createAndInitializeUser()</code> 메서드가 사용 중단되었으며, 새로운
+<code>DevicePolicyManager.createAndManageUser()</code> 메서드로 대체되었습니다.
   </li>
 
   <li>기기 소유자는 기기 식별자에 액세스할 수 있습니다. 기기
 소유자는 <code>DevicePolicyManagewr.getWifiMacAddress()</code>를 사용하여 기기의
-Wi-Fi MAC 주소에 액세스할 수 있습니다.
-기기에서 Wi-Fi가 활성화되지 않은 경우 이 메서드는 {@code null} 값을 반환합니다.
+ Wi-Fi MAC 주소에 액세스할 수 있습니다. 기기에서
+Wi-Fi가 활성화된 적이 없는 경우 이 메서드는 {@code null} 값을 반환합니다.
   </li>
+
+  <li>Work Mode 설정은 업무용 앱에 대한 액세스를 제어합니다. 작업 모드가 해제되면
+시스템 런처에서는 업무용 앱을 회색으로 표시하여 해당 앱이 사용될 수 없음을 나타냅니다. 작업 모드를
+ 다시 활성화하면 정상적인 동작이 복원됩니다.
 </ul>
 
 <p>
-  Android N에서 Android for Work의 변경에 대한 자세한 내용은,
+  Android N에서 Android for Work의 변경 사항에 대한 자세한 내용은
 <a href="{@docRoot}preview/features/afw.html">Android for Work 업데이트</a>를 참조하세요.
 </p>
 
+<h2 id="annotations">주석 보존</h2>
+
+<p>
+Android N에서는 주석의 표시 여부가 무시되던 버그가 수정되었습니다. 이 문제로 인해 런타임이 액세스할 수 없어야 하는 주석에 액세스할 수 있었습니다.
+
+ 이러한 주석으로는 다음이 포함됩니다.
+</p>
+
+<ul>
+   <li>{@code VISIBILITY_BUILD}: 빌드 시에만 표시되어야 합니다.</li>
+   <li>{@code VISIBILITY_SYSTEM}: 런타임에
+기본 시스템에만 표시되어야 합니다.</li>
+</ul>
+
+<p>
+앱이 이 동작에 의존했다면, 런타임에 사용할 수 있어야 하는
+주석에 보존 정책을 추가하세요. {@code @Retention(RetentionPolicy.RUNTIME)}을 사용하여 추가하면 됩니다.
+</p>
+
 <h2 id="other">기타 중요한 사항</h2>
 
 <ul>
-<li>앱이 Android N에서 실행 중일 때 API 레벨이 낮고 사용자가 디스플레이
-크기를 변경한 경우, 해당 앱 프로세스가 종료됩니다. 앱은 이
-시나리오를 매끄럽게 처리할 수 있어야 합니다. 그렇지 않으면
-사용자가 Recents에서 앱을 복원할 때 앱 작동이 중단됩니다.
+<li>앱이 Android N에서 실행 중일 때 API 레벨이 낮고 사용자가 표시
+크기를 변경하는 경우, 해당 앱 프로세스가 종료됩니다. 앱은 이
+시나리오를 매끄럽게 처리할 수 있어야 합니다. 그렇지 않으면 사용자가 Recents에서
+앱을 복원할 때 앱 작동이 중단됩니다.
 
 <p>
 이러한 동작이 발생하지 않도록 앱을 테스트해야 합니다.
 DDMS를 통해 수동으로 앱을 종료할 때
-동일한 작동 중단을 유발시키는 방식으로 테스트할
+동일한 작동 중단을 유발시킴으로써 테스트를 수행할
 수 있습니다.
 </p>
 
 <p>
-N 이상을 대상으로 하는 앱은 밀도 변경 시에 자동으로 종료되지 않지만
+N 이상을 대상으로 하는 앱은 밀도 변경 시에 자동으로 종료되지 않지만,
 구성 변경에는 제대로 응답하지 못할 수도 있습니다.
 </p>
 </li>
 
 <li>
 Android N에서 앱은 구성 변경을 매끄럽게 처리할 수 있어야 하며,
-이후의 시작 시에도 작동이 중단되어서는 안 됩니다. 글꼴 크기(<strong>Setting</strong> &gt;
-<strong>Display</strong> &gt;
-<strong>Font size</strong>)를 변경하여 앱 동작을 검사한 다음, Recents에서
+이후에 시작할 때도 작동이 중단되어서는 안 됩니다. 글꼴
+크기(<strong>Setting</strong> &gt;
+<strong>Display</strong> &gt; <strong>Font size</strong>)를 변경하여 앱 동작을 검사한 다음, Recents에서
 앱을 복원할 수 있습니다.
 </li>
+
+<li>
+이전 버전의 Android에서는 버그 때문에, 시스템이 주 스레드에서
+TCP 소켓에 대한 쓰기를 엄격 모드 위반으로서 플래그하지 못했습니다. Android N에서는 이 버그가 수정되었습니다.
+이 동작을 보이는 앱에서는 이제 {@code android.os.NetworkOnMainThreadException}이 발생합니다.
+일반적으로, 주 스레드에서 네트워크 작업을 수행하면 일반적으로
+테일 지연 시간이 길어져 ANR 및 쟁크(jank)를 유발하므로, 이런 작업은 수행하지 않는 것이 좋습니다.
+</li>
+
+<li>
+{@code Debug.startMethodTracing()} 계열에 속하는 메서드는, 
+SD 카드의 최상위 레벨에 저장하는 것이 아니라, 이제 공유 저장소의
+패키지별 디렉터리에 출력을 기본적으로
+저장합니다.  즉, 앱은 이들 API를 사용하기 위해 {@code WRITE_EXTERNAL_STORAGE} 권한을 요청할 필요가 더 이상 없습니다.
+</li>
+
+<li>
+상당수 플랫폼 API는 이제 대용량
+페이로드가 {@link android.os.Binder} 트랜잭션을 통해 전송되는 것을 확인하기 시작했으며, 시스템에서는
+이제 {@code TransactionTooLargeExceptions}를
+자동으로 로깅하거나 억제하는 대신 {@code RuntimeExceptions}로 다시 발생시킵니다.  한 가지
+공통적인 예는
+{@link android.app.Activity#onSaveInstanceState Activity.onSaveInstanceState()}에
+너무 많은 데이터를 저장하는 바람에, 앱이 Android N을 대상으로 할 때 {@code ActivityThread.StopInfo}가
+{@code RuntimeException}을 발생시키는 경우입니다.
+</li>
+
+<li>
+앱이 {@link java.lang.Runnable} 작업을 {@link android.view.View}에 게시하고
+{@link android.view.View}가
+창에 연결되지 않은 경우, 시스템에서는
+{@link android.view.View}가 있는 {@link java.lang.Runnable} 작업을 큐에 넣으며,
+{@link java.lang.Runnable} 작업은
+{@link android.view.View}가 창에 연결될 때까지
+실행되지 않습니다. 이 동작은 다음과 같은 버그를 수정합니다.
+<ul>
+   <li>의도한 창의 UI 스레드가 아닌 다른 스레드에서 {@link android.view.View}에 앱이 게시된 경우,
+결과적으로 {@link java.lang.Runnable}이 잘못된 스레드에서 실행될 수 있습니다.
+   </li>
+   <li>{@link java.lang.Runnable} 작업이 루퍼 스레드가 아닌 다른 스레드에서
+게시되었다면 해당 앱이 {@link java.lang.Runnable} 작업을 노출시킬 수도 있습니다.</li>
+</ul>
+</li>
+
+<li>
+{@link android.Manifest.permission#DELETE_PACKAGES DELETE_PACKAGES}
+권한이
+있는 Android N 상의 앱이 패키지를 삭제하려고 하지만, 해당 패키지를 다른 앱이 설치한 경우에는
+사용자의 확인이 필요합니다. 이 시나리오에서는 앱이
+{@link android.content.pm.PackageInstaller#uninstall PackageInstaller.uninstall()}을 호출할 때
+{@link android.content.pm.PackageInstaller#STATUS_PENDING_USER_ACTION STATUS_PENDING_USER_ACTION}을
+반환 상태로 예상해야 합니다.
+</li>
+
 </ul>
 
diff --git a/docs/html-intl/intl/ko/preview/download-ota.jd b/docs/html-intl/intl/ko/preview/download-ota.jd
new file mode 100644
index 0000000..886b8a8
--- /dev/null
+++ b/docs/html-intl/intl/ko/preview/download-ota.jd
@@ -0,0 +1,324 @@
+page.title=기기 OTA 이미지 적용
+
+@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">Android Preview SDK의 구성 요소를
+다운로드하고 설치하기 전에 우선 다음과 같은
+사용 약관에 동의해야 합니다.</p>
+
+    <h2 class="norule">사용 약관</h2>
+
+    <div class="sdk-terms" onfocus="this.blur()" style="width:678px">
+이것은 Android SDK Preview 라이선스 계약서입니다(이하 "라이선스 계약").
+
+1. 개요
+
+1.1 Android SDK Preview(본 라이선스 계약에서는 "Preview"라고 칭하며, 구체적으로 Android 시스템 파일, 패키지 API 및 Preview 라이브러리 파일이 이용 가능한 경우 및 이용 가능하게 전환된 경우 이를 포함한 것을 가리킴)는 본 라이선스 계약 조건에 따라 계약자에게 사용을 허여합니다. 본 라이선스 계약은 Preview 사용과 관련하여 계약자와 Google 간에 법적 구속력이 있는 계약을 체결합니다.
+
+1.2 "Android"는 기기를 위한 Android 소프트웨어 스택을 의미합니다. 이는 http://source.android.com/ URL에 위치하며 수시로 업데이트되는 Android 오픈 소스 프로젝트에서 제공됩니다.
+
+1.3 "Android 호환"은 (i) Android 호환성 웹사이트(http://source.android.com/compatibility)에서 찾을 수 있고 간혹 업데이트되는 Android 호환성 정의 문서를 준수하며; (ii) Android CTS(Compatibility Test Suite)를 성공적으로 통과한 모든 Android 구현을 의미합니다.
+
+1.4 "Google"은 미국 1600 Amphitheatre Parkway, Mountain View, CA 94043에 본사를 두고 있는 델라웨어주 법인인 Google Inc.를 의미합니다.
+
+2. 라이선스 계약에 동의
+
+2.1 이 Preview를 사용하려면, 먼저 라이선스 계약에 동의해야 합니다. 이 라이선스 계약에 동의하지 않고 Preview를 사용해서는 안 됩니다.
+
+2.2 수락을 클릭하거나 Preview를 사용, 또는 이 두 행위를 모두 수행하면 본 라이선스 계약 조건에 동의하는 것으로 간주됩니다.
+
+2.3 미국법 또는 현재 거주 중이거나 Preview를 사용하는 국가를 포함하여 다른 국가의 법에 따라 Preview를 받는 것이 금지된 경우, Preview를 사용할 수 없으며 본 라이선스 계약을 수락할 수 없습니다.
+
+2.4 회사 또는 단체 내에서 내부적으로 Preview를 사용하며 고용주 또는 기타 단체를 대신하여 본 라이선스 계약 준수에 동의하는 경우, 계약자의 고용주나 그 단체에 본 라이선스 계약에 대한 구속력을 부여할 수 있는 모든 법적 권한을 계약자가 갖고 있음을 진술하고 보증합니다. 구속력을 부여할 수 있는 법적 권한이 없을 경우, 고용주 또는 기타 단체를 대신하여 본 라이선스 계약에 동의하거나 Preview를 사용할 수 없습니다.
+
+3. Google의 Preview 라이선스
+
+3.1 본 라이선스 계약의 조건에 따라 Google은 계약자에게 한정적이며 전 세계적으로 무료로 사용이 가능하고 양도할 수 없고 비독점적이며 2차 라이선스를 불허하는 Preview 사용 라이선스를 부여합니다. 이 라이선스 하에서 계약자는 Android 플랫폼에서 실행되는 애플리케이션을 개발하는 경우에만 Preview를 사용할 수 있습니다.
+
+3.2 이 Preview를 사용하여 다른 플랫폼용 애플리케이션을 개발하거나(Android 비호환 구현 포함) 다른 SDK를 개발할 수 없습니다. 물론 이 Preview가 이러한 목적에 사용되지 않는 경우 Android의 비호환 구현을 포함한 다른 플랫폼용 애플리케이션을 자유롭게 개발할 수 있습니다.
+
+3.3 계약자는 Preview에 존재하는 지적 재산권을 포함하여 Preview에 대한 모든 법적인 권리, 소유권 및 이익이 Google 또는 제3자에게 있음에 동의합니다. "지적 재산권"은 모든 특허법, 저작권법, 영업비밀법, 상표법 하의 모든 권리 및 기타 모든 소유권을 의미합니다. Google은 계약자에게 명시적으로 부여하지 않은 모든 권리를 보유합니다.
+
+3.4 본 라이선스 계약에 명시적으로 허용된 용도 외에는 Preview를 사용할 수 없습니다. 해당 제3자 라이선스 요건이 허용하는 범위를 제외하고 계약자는 Preview의 파생 제품이나 Preview의 일부분을 (a) 복사(백업 목적 제외), 수정, 개작, 재배포, 역컴파일, 리버스 엔지니어링, 분해하거나 이를 통해 파생물을 생성하거나 (b) 개인 컴퓨터를 제외한 모바일 단말기 또는 기타 모든 하드웨어 기기에 Preview의 일부를 로드하거나, Preview의 일부를 다른 소프트웨어와 결합하거나 Preview의 일부가 통합된 일체의 소프트웨어나 기기를 배포해서는 안 됩니다.
+
+3.5 오픈 소스 소프트웨어 라이선스에 의거한 Preview 구성요소의 사용, 재생산, 배포에는 본 라이선스 계약이 아닌, 해당 오픈 소스 소프트웨어 라이선스의 조건이 적용됩니다. 계약자는 허용된 모든 권한 하에서 그러한 오픈 소스 소프트웨어 라이선스에 관해 충실한 피허가자로서의 자세를 견지할 것이며 그러한 권한을 종료, 일시 중단 또는 침해하는 행위를 삼갈 것을 동의합니다.
+
+3.6 계약자는 Google이 제공하는 Preview의 형태 및 특성이 사전 통지 없이 변경될 수 있음에 동의하며, 이전 버전의 Preview에서 개발된 애플리케이션이 이후 버전의 Preview와 호환되지 않을 수 있음에 동의합니다. 계약자는 계약자 또는 사용자에게 사전 통지 없이 Preview(또는 Preview에 포함된 기능) 제공을 (영구적 또는 일시적으로) 중단할 수 있는 권한이 Google에게 있음에 동의합니다.
+
+3.7 본 라이선스 계약은 계약자에게 Google의 상표명, 상표, 서비스 표시, 로고, 도메인 이름, 기타 독특한 브랜드 특징에 대한 사용 권한을 부여하지 않습니다.
+
+3.8 계약자는 Preview에 부착되어 있거나 포함되어 있는 모든 소유권 고지 사항(저작권 및 상표 고지 사항 포함)을 제거, 변경 또는 불분명하게 만들지 않을 것에 동의합니다.
+
+4. 계약자의 Preview 사용
+
+4.1 Google은 본 라이선스 계약의 어떤 조항도 계약자(또는 계약자의 사용 허가자)가 Preview를 사용하여 개발한 소프트웨어 애플리케이션에 대한 권리, 소유권 또는 이익, 그리고 해당 애플리케이션에 존재하는 모든 지적 재산권을 부여하지 않는다는 점에 동의합니다.
+
+4.2 계약자는 (a) 본 라이선스 계약 그리고 (b) 모든 준거법, 규정 또는 관련 관할권 내에서 일반적으로 수용되는 관행 또는 지침(미국 또는 기타 관련 국가로/에서의 데이터 또는 소프트웨어 수출과 관련된 모든 법률 포함)에서 허용하는 용도에 한하여 Preview를 사용하고 애플리케이션을 작성하는 것에 동의합니다.
+
+4.3 계약자는 일반 대중 사용자를 대상으로 Preview를 사용하여 애플리케이션을 개발하는 경우, 해당 사용자의 프라이버시 및 법적 권리를 보호하는 것에 동의합니다. 사용자가 계약자에게 사용자 이름, 비밀번호 또는 기타 로그인 정보나 개인 정보를 제공하는 경우, 계약자는 제공된 정보가 자신의 애플리케이션에 제공된다는 사실을 사용자에게 알려야 하며, 반드시 법적으로 적절한 개인정보 보호정책 고지 및 보호를 해당 사용자에게 제공해야 합니다. 애플리케이션에서 사용자가 제공한 개인 정보나 민감한 정보를 저장하는 경우, 이를 안전하게 처리해야 합니다. 사용자들이 애플리케이션에 Google 계정 정보를 제공하는 경우, 애플리케이션은 해당 사용자의 Google 계정에 액세스하는 목적으로만, 그리고 각 사용자가 허용한 범위 내의 한정된 목적으로만 이러한 정보를 사용해야 합니다.
+
+4.4 계약자는 Google 또는 기타 모든 타사의 서버, 네트워크 또는 기타 모든 재산 또는 서비스를 허가 없이 방해, 교란, 손상 또는 액세스하는 애플리케이션의 개발 또는 배포를 포함한 하등의 행위에 Preview를 이용하지 않을 것임을 동의합니다.
+
+4.5 계약자는 자신이 Android 및/또는 Android용 애플리케이션을 통해 생성, 전송 또는 표시하는 모든 데이터, 콘텐츠 또는 리소스 그리고 그로 인한 결과(Google이 입을 수 있는 모든 피해나 손실 포함)에 대해 전적으로 책임이 있다는 것(그리고 Google은 계약자 또는 모든 제3자에 대한 책임이 없다는 것)에 동의합니다.
+
+4.6 계약자는 본 라이선스 계약, 모든 해당 제3자 계약 또는 서비스 약관, 또는 모든 준거법 또는 규정에 의거한 계약자 의무 위반, 그리고 그로 인한 결과(Google 또는 제3자가 입을 수 있는 모든 피해나 손실 포함)에 전적으로 책임이 있다는 것(그리고 Google은 계약자 또는 모든 제3자에 대한 책임이 없다는 것)에 동의합니다.
+
+4.7 이 Preview는 현재 개발 단계에 있으며, 계약자의 테스트와 피드백은 그러한 개발 과정에 중요한 부분을 차지합니다. Preview를 사용함으로써 계약자는 일부 기능의 구현은 아직 개발 중인 상태이며 Preview가 안정된 릴리스처럼 완벽하게 기능할 것이라 믿고 사용해서는 안 된다는 점을 인지하는 것으로 간주합니다. 계약자는 이 Preview를 사용한 애플리케이션을 공개적으로 배포 또는 배송하지 않기로 동의합니다. 이 Preview는 공식 Android SDK가 출시된 이후에는 더 이상 지원되지 않기 때문입니다.
+
+5. 계약자의 개발자 자격 증명
+
+5.1 계약자는 Google이 발급했거나 자신이 선택한 모든 개발자 자격 증명에 대한 기밀성을 유지할 책임이 있으며 계약자의 개발자 자격 증명 하에 개발된 모든 애플리케이션에 대한 전적인 책임이 있음에 동의합니다.
+
+6. 개인정보 보호정책 및 정보
+
+6.1 Preview를 지속적으로 혁신하고 개선하기 위해, Google은 고유 식별자, 관련 IP 주소, 소프트웨어 버전 번호, Preview에서 사용 중인 도구 및/또는 서비스와 도구의 사용법에 대한 정보를 포함하되 이에 국한되지 않고 소프트웨어에서 특정 사용량 통계 정보를 수집할 수 있습니다. 그러한 정보를 수집하기 전에 Preview는 계약자에게 이를 통지하고 동의를 구할 것입니다. 계약자가 동의하지 않을 경우 정보를 수집하지 않습니다.
+
+6.2 수집된 데이터는 모두 취합된 형태로 Preview 개선을 위해 검토되며, Google의 개인정보 보호정책에 따라 유지 관리됩니다. 이 정보는 http://www.google.com/policies/privacy/를 참조하십시오.
+
+7. 제3자 애플리케이션
+
+7.1 제3자가 개발한 애플리케이션을 실행하거나 제3자가 제공한 데이터, 콘텐츠 또는 리소스에 액세스하기 위해 Preview를 사용하는 경우, 계약자는 Google이 그러한 애플리케이션, 데이터, 콘텐츠 또는 리소스에 대한 책임이 없음에 동의합니다. 계약자는 그러한 제3자 애플리케이션을 통해 자신이 액세스한 모든 데이터, 콘텐츠 또는 리소스에 대한 책임은 그것을 만든 사람에게 있음에 동의합니다. 또한 계약자가 그러한 모든 제3자 애플리케이션, 데이터, 콘텐츠 또는 리소스를 사용하거나 액세스함으로써 비롯된 모든 피해나 손실에 대한 책임이 Google에게 없음에 동의합니다.
+
+7.2 그러한 제3자 애플리케이션을 통해 계약자에게 제공된 데이터, 콘텐츠 그리고 리소스는 그것을 제공한 제공자(또는 제공자를 대신하는 기타 개인 또는 기업)가 소유한 지적 재산권에 의해 보호될 수 있음을 유의해야 합니다. 그러한 데이터, 콘텐츠 또는 리소스(전부 또는 일부)를 수정, 임대, 리스, 대여, 판매, 배포하거나 이를 기반으로 파생물을 생성해서는 안 됩니다. 단, 관련 소유자로부터 그러한 작업을 수행해도 좋다는 허락을 받은 경우에는 예외입니다.
+
+7.3 계약자는 그러한 제3자 애플리케이션, 데이터, 콘텐츠 또는 리소스의 사용은 계약자와 관련 제3자 간에 체결하는 별도의 계약 조건의 적용을 받는다는 것을 인정합니다.
+
+8. Google API 사용
+
+8.1 Google API
+
+8.1.1 Google에서 데이터를 검색하기 위해 API를 사용하는 경우, 그러한 데이터가 Google 또는 데이터를 제공하는 당사자(또는 당사자를 대신하는 기타 개인 또는 기업)가 소유한 지적 재산권에 의해 보호될 수 있음을 인정합니다. 그러한 API를 사용하는 경우, 추가적인 서비스 약관의 적용을 받을 수 있습니다. 관련 서비스 약관에 허용되지 않은 한, 그러한 데이터(전부 또는 일부)를 변경, 임대, 리스, 대여, 판매, 배포하거나 이를 기반으로 파생물을 생성해서는 안 됩니다.
+
+8.1.2 Google에서 사용자 데이터를 검색하기 위해 API를 사용하는 경우, 계약자는 사용자로부터 명시적인 동의를 얻은 경우에 한하여, 그리고 해당 사용자가 허용한 범위 내의 한정된 목적으로만 데이터를 검색해야 합니다.
+
+9. 라이선스 계약 종료
+
+9.1 본 라이선스 계약은 계약자 또는 Google에 의해 아래와 같은 조건 하에 종료될 때까지 계속 적용됩니다.
+
+9.2 계약자가 라이선스 계약을 종료하고자 하는 경우, Preview 및 관련 개발자 자격 증명 일체의 사용을 중단하는 것으로 그러한 의사를 피력할 수 있습니다.
+
+9.3 Google은 언제든 이유 여하를 불문하고 계약자에게 통고하여 라이선스 계약을 종료할 수 있습니다.
+
+9.4 본 라이선스 계약은 통보 또는 여타의 행위 없이도 자동으로 종료됩니다. 이에 해당되려면 다음과 같은 조건이 수반되어야 합니다.
+(A) Google이 계약자가 거주하는 국가 또는 계약자가 서비스를 사용하는 지역에서 Preview 또는 Preview의 특정 부분 제공을 중지하는 경우 및
+(B) Google이 Android SDK의 최종 릴리스 버전을 발행하는 경우.
+
+9.5 본 라이선스 계약이 종료되면 라이선스 계약으로 계약자에게 허용한 라이선스가 취소되며, 이에 따라 계약자는 Preview 사용을 즉시 모두 중단해야 하고 제 10, 11, 12 및 14절의 조항이 기한 없이 유지됩니다.
+
+10. 면책 조항
+
+10.1 계약자는 Preview 이용에 대한 위험 부담이 전적으로 본인에게 있으며, Google이 일체의 보증 없이 Preview를 "있는 그대로" 그리고 "이용 가능한" 상태로 제공한다는 것을 분명히 이해하고 동의합니다.
+
+10.2 Preview 이용 및 이용 과정에서 다운로드하거나 얻게 되는 모든 자료를 사용하는 것은 본인의 재량에 따르며 이에 대한 위험 부담이 전적으로 본인에게 있으며, 그러한 사용으로 인해 발생하는 컴퓨터 시스템 또는 다른 기기의 손상 또는 데이터 손실에 대한 책임은 전적으로 본인에게 있습니다. 전술한 조항을 제한하지 않는 범위 내에서 계약자는 미리 보기가 안정된 릴리스가 아니며 오류, 결함 및 보안 취약성이 포함되어 있을 수 있어 그 결과로 중대한 손상을 유발할 수 있다는 점을 이해하는 것으로 간주합니다. 여기에는 계약자의 컴퓨터 시스템 또는 기타 기기의 완전하고 돌이킬 수 없는 손실도 포함됩니다.
+
+10.3 더 나아가, Google은 상품성, 특정 목적에 대한 적합성 및 비침해의 묵시적 보증 등을 포함하되 이에 국한되지 않고 명시적이든 묵시적이든 모든 종류의 보증 및 조건을 명시적으로 부인합니다.
+
+11. 책임 한계
+
+11.1 계약자는 계약자에게 발생할 수 있는 직접, 간접, 부수적, 특별, 결과적 또는 징벌적 손해에 대해 그 어떤 책임 이론에 근거해서도 Google, 해당 자회사, 계열사 및 사용 허가자가 어떠한 책임도 지지 아니함을 분명히 이해하고 동의합니다. 이러한 손해에는 Google 또는 해당 대리자가 이러한 손실 발생 가능성에 대해 통지를 받았거나 이러한 사항을 인식했는지에 상관없이 모든 데이터 손실이 포함됩니다.
+
+12. 면책
+
+12.1 법률에 의해 허용되는 최대한의 범위 안에서 계약자는 (a) 미리 보기 사용, (b) 계약자가 미리 보기에서 개발한 일체의 애플리케이션에서 초래된 모든 사람의 저작권, 상표, 영업비밀, 트레이드 드레스, 특허 또는 기타 지적 재산권의 침해, 또는 어떤 사람의 명예를 훼손하거나 초상권 또는 개인정보 보호정책을 침해함 또는 (C)계약자 본인이 본 라이선스 계약을 위반함으로써 발생하거나 생기는 모든 청구, 조치, 소송 또는 절차, 그리고 모든 손실, 책임, 손해, 경비(합리적인 변호사 비용 포함)로부터 Google을 옹호하고, 면책시키고, Google이 손해를 입지 않도록 하는 데 동의합니다.
+
+13. 라이선스 계약 변경
+
+13.1 미리 보기의 새로운 버전을 배포할 때, Google은 본 라이선스 계약의 내용을 변경할 수 있습니다. 그러한 변경이 이뤄진 경우, Google은 미리 보기가 제공되는 웹사이트에 새로운 라이선스 계약 버전을 게재할 것입니다.
+
+14. 일반 법적 조건
+
+14.1 본 라이선스 계약은 계약자와 Google 간의 모든 법적 계약을 구성하며, 계약자의 미리 보기 사용을 규제하고(별도의 서면 계약을 통해 Google이 계약자에게 제공하는 모든 서비스는 제외), 미리 보기와 관련하여 이전에 계약자와 Google이 맺은 모든 계약을 완전히 대체합니다.
+
+14.2 계약자는 Google이 라이선스 계약에 포함된(또는 관련 법률에 의해 Google이 향유하는) 법적 권리 또는 구제수단을 행사하거나 집행하지 않더라도, Google이 권리를 공식적으로 포기한 것으로 간주하지 않으며, Google이 계속해서 그러한 권리 또는 구제수단을 이용할 수 있음에 동의합니다.
+
+14.3 본 라이선스 계약의 조항이 무효라고 이 사안에 관한 판결을 할 수 있는 관할권을 가진 법원이 판결할 경우, 그 조항은 라이선스 계약의 나머지 조항에 영향을 미치지 않는 형태로 라이선스 계약에서 제거됩니다. 본 라이선스 계약의 나머지 조항은 여전히 유효하며 집행 가능합니다.
+
+14.4 계약자는 Google이 모회사가 되는 회사 그룹에 속한 각 회사가 본 라이선스 계약의 제3수익자이며, 그러한 다른 회사들이 그들에게 이익(또는 유리한 권리)을 부여하는 본 라이선스 계약의 모든 조항을 직접 행사하고 적용할 수 있는 권리를 가진다는 데 동의합니다. 그 외에는 다른 어떤 개인이나 회사도 본 라이선스 계약의 제3수익자가 될 수 없습니다.
+
+14.5 수출 규제. Preview는 미국의 수출법과 규정의 적용을 받습니다. 계약자는 Preview에 적용되는 모든 국내 및 국제 수출법과 규정을 준수해야 합니다. 그러한 법에는 수출 대상국, 최종 사용자 및 최종 용도에 대한 제한이 포함됩니다.
+
+14.6 계약자 또는 Google은 상대 당사자의 사전 서면 승인 없이 본 라이선스 계약에서 부여된 권리를 제3자에게 양도하거나 이전할 수 없으며, 그러한 승인 없이 이루어진 양도 시도는 모두 무효입니다. 계약자는 Google의 사전 승인 없이 본 라이선스 계약 상의 책임 또는 의무를 위임할 수 없습니다.
+
+14.7 본 라이선스 계약, 그리고 본 라이선스 계약 상의 계약자와 Google의 관계는 법률 조항 간의 충돌과는 무관하게 캘리포니아주법에 의한 규제를 받습니다. 계약자와 Google은 본 라이선스 계약으로부터 발생하는 모든 법적 문제 해결을 캘리포니아주 산타 클라라(Santa Clara) 카운티 내에 소재한 전속 관할 법원에 의뢰하는 것에 동의합니다. 위 규정에도 불구하고, 계약자는 Google이 여전히 모든 관할권에서 강제 구제책(또는 동등한 유형의 긴급 법적 구제)을 신청할 수 있음에 동의합니다.
+  </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">본인은 상기 사용 약관을 읽었으며 이에 동의합니다.</label>
+      </p>
+      <p><a href="" class="button disabled" id="downloadForRealz" onclick="return onDownloadForRealz(this);"></a></p>
+    </div>
+
+
+  </div><!-- end TOS -->
+
+
+  <div id="landing">
+
+<p>
+  이 페이지에서는 OTA 기기 이미지의 링크를 제공하며, OTA 업데이트를 기기에
+수동으로 적용하는 방법에 대해 설명합니다. 이 절차는 Android 베타 프로그램을
+통해 OTA 업데이트를 받았는데 업데이트가 설치된 후 시작되지
+않는 기기를 복구하는 데 유용할 수 있습니다.
+</p>
+
+<h2 id="install-ota">OTA 이미지 설치</h2>
+
+<p></p>
+
+<p>OTA 패키지를 기기에 설치하려면:</p>
+
+<ol>
+  <li>아래 표에서 OTA 기기 이미지를 다운로드합니다.</li>
+  <li>기기를 복구 모드로 재부팅합니다. Nexus 기기를 이 모드로
+전환하는 방법에 대한 자세한 내용은
+<a href="https://support.google.com/nexus/answer/4596836">Nexus 기기를
+공장 설정으로 초기화</a>를 참조하세요.
+  </li>
+  <li>기기에서 <strong>ADB sideload</strong>를 선택합니다.</li>
+  <li>Android 개발 환경이 로드되고 Android 디버그 브리지(adb) 도구가 설치된
+컴퓨터에 기기를 연결합니다.</li>
+  <li>다음 명령을 실행합니다.
+    <pre>adb sideload <em>&lt;ota-package&gt;</em></pre>
+  </li>
+</ol>
+
+
+
+<h2 id="ota-images">기기 OTA 이미지</h2>
+
+<table>
+  <tr>
+    <th scope="col">기기</th>
+    <th scope="col">다운로드/체크섬</th>
+  </tr>
+
+  <tr id="bullhead">
+    <td>Nexus 5X <br>"bullhead"</td>
+    <td><a href="#top" onclick="onDownload(this)">bullhead-ota-npd35k-b8cfbd80.zip</a><br>
+      MD5: 15fe2eba9b01737374196bdf0a792fe9<br>
+      SHA-1: 5014b2bba77f9e1a680ac3f90729621c85a14283
+    </td>
+  </tr>
+
+  <tr id="shamu">
+    <td>Nexus 6 <br>"shamu"</td>
+    <td><a href="#top" onclick="onDownload(this)">shamu-ota-npd35k-078e6fa5.zip</a><br>
+      MD5: e8b12f7721c53af9a450f7058928a5fc<br>
+      SHA-1: b7a9b756f84a1d2e482ff9c16749d65f6e51425a
+    </td>
+  </tr>
+
+  <tr id="angler">
+    <td>Nexus 6P <br>"angler"</td>
+    <td><a href="#top" onclick="onDownload(this)">angler-ota-npd35k-88457699.zip</a><br>
+      MD5: 3fac09fef759dde26e57cb80b20b6477<br>
+      SHA-1: 27d6caa786577d8a38b2da5bf94b33b4524a1a1c
+    </td>
+  </tr>
+
+  <tr id="volantis">
+    <td>Nexus 9 <br>"volantis"</td>
+    <td><a href="#top" onclick="onDownload(this)">volantis-ota-npd35k-51dbae76.zip</a><br>
+      MD5: 58312c4a5971818ef5c77a3f446003da<br>
+      SHA-1: aad9005be33d3e2bab480509a6ab74c3c3b9d921
+    </td>
+  </tr>
+
+  <tr id="volantisg">
+    <td>Nexus 9G <br>"volantisg"</td>
+    <td><a href="#top" onclick="onDownload(this)">volantisg-ota-npd35k-834f047f.zip</a><br>
+      MD5: 92b7d1fa252f7394e70f957c72d4aac8<br>
+      SHA-1: b6c057c84d90893630e303cbb60530e20ddb8361
+    </td>
+  </tr>
+
+  <tr id="fugu">
+    <td>Nexus Player <br>"fugu"</td>
+    <td><a href="#top" onclick="onDownload(this)">fugu-ota-npd35k-6ac91298.zip</a><br>
+      MD5: 1461622ad53ea842b2722fa7b49b8172<br>
+      SHA-1: 409c061668ab270774877d7f3eae44fa48d2b931
+    </td>
+  </tr>
+
+  <tr id="ryu">
+    <td>Pixel C <br>"ryu"</td>
+    <td><a href="#top" onclick="onDownload(this)">ryu-ota-npd35k-a0b2347f.zip</a><br>
+      MD5: c60117f3640cc6db12386fd632289c7d<br>
+      SHA-1: 87349c767c69efb4172c90ce1d88cf578c3d28b3
+    </td>
+  </tr>
+
+  <tr id="seed">
+    <td>General Mobile 4G(Android One) <br>"seed"</td>
+    <td><a href="#top" onclick="onDownload(this)">seed_l8150-ota-npd35k-09897a1d.zip</a><br>
+      MD5: a55cf94f7cce0393ec6c0b35041766b7<br>
+      SHA-1: 6f33742290eb46f2561891f38ca2e754b4e50c6a
+    </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/ko/preview/download.jd b/docs/html-intl/intl/ko/preview/download.jd
index cfd0497..802420b 100644
--- a/docs/html-intl/intl/ko/preview/download.jd
+++ b/docs/html-intl/intl/ko/preview/download.jd
@@ -1,5 +1,5 @@
 page.title=기기에서 테스트
-meta.tags="프리뷰", "nexus","시스템 이미지"
+meta.tags="preview", "nexus","system image"
 page.tags="preview", "androidn"
 page.image=images/cards/card-n-downloads_2x.png
 
@@ -18,21 +18,21 @@
     <div class="sdk-terms" onfocus="this.blur()" style="width:678px">
 이것은 Android SDK Preview 라이선스 계약서입니다(이하 "라이선스 계약").
 
-1. 개요 
+1. 개요
 
 1.1 Android SDK Preview(본 라이선스 계약에서는 "Preview"라고 칭하며, 구체적으로 Android 시스템 파일, 패키지 API 및 Preview 라이브러리 파일이 이용 가능한 경우 및 이용 가능하게 전환된 경우 이를 포함한 것을 가리킴)는 본 라이선스 계약 조건에 따라 계약자에게 사용을 허여합니다. 본 라이선스 계약은 Preview 사용과 관련하여 계약자와 Google 간에 법적 구속력이 있는 계약을 체결합니다.
 
 1.2 "Android"는 기기를 위한 Android 소프트웨어 스택을 의미합니다. 이는 http://source.android.com/ URL에 위치하며 수시로 업데이트되는 Android 오픈 소스 프로젝트에서 제공됩니다.
 
-1.3 “Android 호환”은 (i) Android 호환성 웹사이트(http://source.android.com/compatibility)에서 찾을 수 있고 간혹 업데이트되는 Android 호환성 정의 문서를 준수하며; (ii) Android CTS(Compatibility Test Suite)를 성공적으로 통과한 모든 Android 구현을 의미합니다.
+1.3 "Android 호환"은 (i) Android 호환성 웹사이트(http://source.android.com/compatibility)에서 찾을 수 있고 간혹 업데이트되는 Android 호환성 정의 문서를 준수하며; (ii) Android CTS(Compatibility Test Suite)를 성공적으로 통과한 모든 Android 구현을 의미합니다.
 
 1.4 "Google"은 미국 1600 Amphitheatre Parkway, Mountain View, CA 94043에 본사를 두고 있는 델라웨어주 법인인 Google Inc.를 의미합니다.
 
-2. 라이선스 계약에 동의 
+2. 라이선스 계약에 동의
 
-2.1 이 Preview를 사용하려면, 먼저 라이선스 계약에 동의해야 합니다. 이 라이선스 계약에 동의하지 않고 Preview를 사용해서는 안 됩니다. 
+2.1 이 Preview를 사용하려면, 먼저 라이선스 계약에 동의해야 합니다. 이 라이선스 계약에 동의하지 않고 Preview를 사용해서는 안 됩니다.
 
-2.2 수락을 클릭하고/거나 Preview를 사용하면 본 라이선스 계약 조건에 동의하는 것으로 간주됩니다.
+2.2 수락을 클릭하거나 Preview를 사용, 또는 이 두 행위를 모두 수행하면 본 라이선스 계약 조건에 동의하는 것으로 간주됩니다.
 
 2.3 미국법 또는 현재 거주 중이거나 Preview를 사용하는 국가를 포함하여 다른 국가의 법에 따라 Preview를 받는 것이 금지된 경우, Preview를 사용할 수 없으며 본 라이선스 계약을 수락할 수 없습니다.
 
@@ -48,15 +48,15 @@
 
 3.4 본 라이선스 계약에 명시적으로 허용된 용도 외에는 Preview를 사용할 수 없습니다. 해당 제3자 라이선스 요건이 허용하는 범위를 제외하고 계약자는 Preview의 파생 제품이나 Preview의 일부분을 (a) 복사(백업 목적 제외), 수정, 개작, 재배포, 역컴파일, 리버스 엔지니어링, 분해하거나 이를 통해 파생물을 생성하거나 (b) 개인 컴퓨터를 제외한 모바일 단말기 또는 기타 모든 하드웨어 기기에 Preview의 일부를 로드하거나, Preview의 일부를 다른 소프트웨어와 결합하거나 Preview의 일부가 통합된 일체의 소프트웨어나 기기를 배포해서는 안 됩니다.
 
-3.5 오픈 소스 소프트웨어 라이선스에 의거한 Preview 구성요소의 사용, 재생산, 배포에는 본 라이선스 계약이 아닌, 해당 오픈 소스 소프트웨어 라이선스의 조건이 적용됩니다. 계약자는 허용된 모든 권한 하에서 그러한 오픈 소스 소프트웨어 라이선스에 관해 충실한 피허가자로서의 자세를 견지할 것이며 그러한 권한을 종료, 일시 중단 또는 침해하는 행위를 삼갈 것을 동의합니다. 
+3.5 오픈 소스 소프트웨어 라이선스에 의거한 Preview 구성요소의 사용, 재생산, 배포에는 본 라이선스 계약이 아닌, 해당 오픈 소스 소프트웨어 라이선스의 조건이 적용됩니다. 계약자는 허용된 모든 권한 하에서 그러한 오픈 소스 소프트웨어 라이선스에 관해 충실한 피허가자로서의 자세를 견지할 것이며 그러한 권한을 종료, 일시 중단 또는 침해하는 행위를 삼갈 것을 동의합니다.
 
-3.6 계약자는 Google이 제공하는 SDK의 형태 및 특성이 사전 통지 없이 변경될 수 있음에 동의하며, 이전 버전의 Preview에서 개발된 애플리케이션이 이후 버전의 SDK와 호환되지 않을 수 있음에 동의합니다. 계약자는 계약자 또는 사용자에게 사전 통지 없이 SDK(또는 SDK에 포함된 기능) 제공을(영구적 또는 일시적으로) 중단할 수 있는 권한이 Google에게 있음에 동의합니다.
+3.6 계약자는 Google이 제공하는 Preview의 형태 및 특성이 사전 통지 없이 변경될 수 있음에 동의하며, 이전 버전의 Preview에서 개발된 애플리케이션이 이후 버전의 Preview와 호환되지 않을 수 있음에 동의합니다. 계약자는 계약자 또는 사용자에게 사전 통지 없이 Preview(또는 Preview에 포함된 기능) 제공을 (영구적 또는 일시적으로) 중단할 수 있는 권한이 Google에게 있음에 동의합니다.
 
 3.7 본 라이선스 계약은 계약자에게 Google의 상표명, 상표, 서비스 표시, 로고, 도메인 이름, 기타 독특한 브랜드 특징에 대한 사용 권한을 부여하지 않습니다.
 
-3.8 계약자는 SDK에 부착되어 있거나 포함되어 있는 모든 소유권 고지 사항(저작권 및 상표 고지 사항 포함)을 제거, 변경 또는 불분명하게 만들지 않을 것에 동의합니다.
+3.8 계약자는 Preview에 부착되어 있거나 포함되어 있는 모든 소유권 고지 사항(저작권 및 상표 고지 사항 포함)을 제거, 변경 또는 불분명하게 만들지 않을 것에 동의합니다.
 
-4. 계약자의 Preview 사용 
+4. 계약자의 Preview 사용
 
 4.1 Google은 본 라이선스 계약의 어떤 조항도 계약자(또는 계약자의 사용 허가자)가 Preview를 사용하여 개발한 소프트웨어 애플리케이션에 대한 권리, 소유권 또는 이익, 그리고 해당 애플리케이션에 존재하는 모든 지적 재산권을 부여하지 않는다는 점에 동의합니다.
 
@@ -92,7 +92,7 @@
 
 8. Google API 사용
 
-8.1 Google Data API
+8.1 Google API
 
 8.1.1 Google에서 데이터를 검색하기 위해 API를 사용하는 경우, 그러한 데이터가 Google 또는 데이터를 제공하는 당사자(또는 당사자를 대신하는 기타 개인 또는 기업)가 소유한 지적 재산권에 의해 보호될 수 있음을 인정합니다. 그러한 API를 사용하는 경우, 추가적인 서비스 약관의 적용을 받을 수 있습니다. 관련 서비스 약관에 허용되지 않은 한, 그러한 데이터(전부 또는 일부)를 변경, 임대, 리스, 대여, 판매, 배포하거나 이를 기반으로 파생물을 생성해서는 안 됩니다.
 
@@ -116,7 +116,7 @@
 
 10.1 계약자는 Preview 이용에 대한 위험 부담이 전적으로 본인에게 있으며, Google이 일체의 보증 없이 Preview를 "있는 그대로" 그리고 "이용 가능한" 상태로 제공한다는 것을 분명히 이해하고 동의합니다.
 
-10.2 Preview 이용 및 이용 과정에서 다운로드하거나 얻게 되는 모든 자료를 사용하는 것은 본인의 재량에 따르며 이에 대한 위험 부담이 전적으로 본인에게 있으며, 그러한 사용으로 인해 발생하는 컴퓨터 시스템 또는 다른 기기의 손상 또는 데이터 손실에 대한 책임은 전적으로 본인에게 있습니다. 전술한 조항을 제한하지 않는 범위 내에서 계약자는 Preview가 안정된 릴리스가 아니며 오류, 결함 및 보안 취약성이 포함되어 있을 수 있어 그 결과로 중대한 손상을 유발할 수 있다는 점을 이해하는 것으로 간주합니다. 여기에는 계약자의 컴퓨터 시스템 또는 기타 기기의 완전하고 돌이킬 수 없는 손실도 포함됩니다.
+10.2 Preview 이용 및 이용 과정에서 다운로드하거나 얻게 되는 모든 자료를 사용하는 것은 본인의 재량에 따르며 이에 대한 위험 부담이 전적으로 본인에게 있으며, 그러한 사용으로 인해 발생하는 컴퓨터 시스템 또는 다른 기기의 손상 또는 데이터 손실에 대한 책임은 전적으로 본인에게 있습니다. 전술한 조항을 제한하지 않는 범위 내에서 계약자는 미리 보기가 안정된 릴리스가 아니며 오류, 결함 및 보안 취약성이 포함되어 있을 수 있어 그 결과로 중대한 손상을 유발할 수 있다는 점을 이해하는 것으로 간주합니다. 여기에는 계약자의 컴퓨터 시스템 또는 기타 기기의 완전하고 돌이킬 수 없는 손실도 포함됩니다.
 
 10.3 더 나아가, Google은 상품성, 특정 목적에 대한 적합성 및 비침해의 묵시적 보증 등을 포함하되 이에 국한되지 않고 명시적이든 묵시적이든 모든 종류의 보증 및 조건을 명시적으로 부인합니다.
 
@@ -126,15 +126,15 @@
 
 12. 면책
 
-12.1 법률에 의해 허용되는 최대한의 범위 안에서 계약자는 (a) Preview 사용, (b) 계약자가 Preview에서 개발한 일체의 애플리케이션에서 초래된 모든 사람의 저작권, 상표, 영업비밀, 트레이드 드레스, 특허 또는 기타 지적 재산권의 침해, 또는 어떤 사람의 명예를 훼손하거나 초상권 또는 개인정보 보호정책을 침해함 또는 (C)계약자 본인이 본 라이선스 계약을 위반함으로써 발생하거나 생기는 모든 청구, 조치, 소송 또는 절차, 그리고 모든 손실, 책임, 손해, 경비(합리적인 변호사 비용 포함)로부터 Google을 옹호하고, 면책시키고, Google이 손해를 입지 않도록 하는 데 동의합니다.
+12.1 법률에 의해 허용되는 최대한의 범위 안에서 계약자는 (a) 미리 보기 사용, (b) 계약자가 미리 보기에서 개발한 일체의 애플리케이션에서 초래된 모든 사람의 저작권, 상표, 영업비밀, 트레이드 드레스, 특허 또는 기타 지적 재산권의 침해, 또는 어떤 사람의 명예를 훼손하거나 초상권 또는 개인정보 보호정책을 침해함 또는 (C)계약자 본인이 본 라이선스 계약을 위반함으로써 발생하거나 생기는 모든 청구, 조치, 소송 또는 절차, 그리고 모든 손실, 책임, 손해, 경비(합리적인 변호사 비용 포함)로부터 Google을 옹호하고, 면책시키고, Google이 손해를 입지 않도록 하는 데 동의합니다.
 
 13. 라이선스 계약 변경
 
-13.1 Preview의 새로운 버전을 배포할 때, Google은 본 라이선스 계약의 내용을 변경할 수 있습니다. 그러한 변경이 이뤄진 경우, Google은 Preview가 제공되는 웹사이트에 새로운 라이선스 계약 버전을 게재할 것입니다.
+13.1 미리 보기의 새로운 버전을 배포할 때, Google은 본 라이선스 계약의 내용을 변경할 수 있습니다. 그러한 변경이 이뤄진 경우, Google은 미리 보기가 제공되는 웹사이트에 새로운 라이선스 계약 버전을 게재할 것입니다.
 
 14. 일반 법적 조건
 
-14.1 본 라이선스 계약은 계약자와 Google 간의 모든 법적 계약을 구성하며, 계약자의 Preview 사용을 규제하고(별도의 서면 계약을 통해 Google이 계약자에게 제공하는 모든 서비스는 제외), Preview와 관련하여 이전에 계약자와 Google이 맺은 모든 계약을 완전히 대체합니다.
+14.1 본 라이선스 계약은 계약자와 Google 간의 모든 법적 계약을 구성하며, 계약자의 미리 보기 사용을 규제하고(별도의 서면 계약을 통해 Google이 계약자에게 제공하는 모든 서비스는 제외), 미리 보기와 관련하여 이전에 계약자와 Google이 맺은 모든 계약을 완전히 대체합니다.
 
 14.2 계약자는 Google이 라이선스 계약에 포함된(또는 관련 법률에 의해 Google이 향유하는) 법적 권리 또는 구제수단을 행사하거나 집행하지 않더라도, Google이 권리를 공식적으로 포기한 것으로 간주하지 않으며, Google이 계속해서 그러한 권리 또는 구제수단을 이용할 수 있음에 동의합니다.
 
@@ -144,7 +144,7 @@
 
 14.5 수출 규제. Preview는 미국의 수출법과 규정의 적용을 받습니다. 계약자는 Preview에 적용되는 모든 국내 및 국제 수출법과 규정을 준수해야 합니다. 그러한 법에는 수출 대상국, 최종 사용자 및 최종 용도에 대한 제한이 포함됩니다.
 
-14.6 계약자 또는 Google은 상대 당사자의 사전 서면 승인 없이 본 라이선스 계약에서 부여된 권리를 제3자에게 양도하거나 이전할 수 없으며, 그러한 승인 없이 이루어진 양도 시도는 모두 무효입니다. 계약자는 Google의 사전 승인 없이 본 라이선스 계약 상의 책임 또는 의무를 위임할 수 없습니다. 
+14.6 계약자 또는 Google은 상대 당사자의 사전 서면 승인 없이 본 라이선스 계약에서 부여된 권리를 제3자에게 양도하거나 이전할 수 없으며, 그러한 승인 없이 이루어진 양도 시도는 모두 무효입니다. 계약자는 Google의 사전 승인 없이 본 라이선스 계약 상의 책임 또는 의무를 위임할 수 없습니다.
 
 14.7 본 라이선스 계약, 그리고 본 라이선스 계약 상의 계약자와 Google의 관계는 법률 조항 간의 충돌과는 무관하게 캘리포니아주법에 의한 규제를 받습니다. 계약자와 Google은 본 라이선스 계약으로부터 발생하는 모든 법적 문제 해결을 캘리포니아주 산타 클라라(Santa Clara) 카운티 내에 소재한 전속 관할 법원에 의뢰하는 것에 동의합니다. 위 규정에도 불구하고, 계약자는 Google이 여전히 모든 관할권에서 강제 구제책(또는 동등한 유형의 긴급 법적 구제)을 신청할 수 있음에 동의합니다.
   </div><!-- sdk terms -->
@@ -182,18 +182,18 @@
 </div>
 
 <p>
-  새로운 플랫폼에서 앱을 테스트하려면 Android N
+  새로운 플랫폼에서 앱을 실행하고 테스트하려면 Android N
 런타임 환경을 설정해야 합니다. 다음 두 가지 방법 중 하나를 사용할 수 있습니다.
 </p>
 
 <ul>
   <li>지원되는 하드웨어 기기에서 Android N 설치</li>
-  <li>Android N을 실행하는 Android 에뮬레이터 설정</li>
+  <li>Android N이 실행되는 Android 에뮬레이터 설정</li>
 </ul>
 
 <p>
-  새로운 플래폼에서 앱의 기본적 호환성을 테스트할 환경을 원할 경우
-현재 APK와 하드웨어 기기 또는
+  새로운 플랫폼에서 앱에 대한 기본적인 호환성 테스트를 수행할 환경이 필요한 경우,
+최신 APK와 하드웨어 기기 또는
 에뮬레이터만 있으면 됩니다. 기본 테스트를 위해 전체 개발 환경을
 업데이트할 필요가 없습니다.
 </p>
@@ -214,18 +214,18 @@
 </p>
 
 <p>
-  지원되는 기기에 액세스할 수 있다면 다음 방법 중 하나를 사용하여 Developer Preview 마일스톤 빌드로
+  지원되는 기기에 액세스할 수 있다면, 다음 방법 중 하나를 사용하여 Developer Preview 마일스톤 빌드로
 업데이트할 수 있습니다.
 </p>
 
 <ul>
-  <li>
-<a href="https://g.co/androidbeta">Android 베타 프로그램</a>을 통해 <strong>자동 OTA 시스템 업데이트에 기기를 등록</strong>합니다. 기기를 등록하면 N Developer Preview에서 
-모든 마일스톤 빌드에 대해 정기적으로 OTA 업데이트를 받을 수 있습니다.
-현재 환경을 다양한 N Developer Preview 릴리스로 매끄럽게 전환할 수 있으므로
+  <li><a href="https://g.co/androidbeta">Android 베타 프로그램</a>을 통해
+<strong>자동 OTA 시스템 업데이트에 기기를 등록합니다</strong>. 기기를 등록하면 N Developer Preview에서
+모든 마일스톤 빌드에 대해 정기적으로 OTA 업데이트를 받을 수 있습니다. 다양한 N Developer Preview 릴리스를 통해 현재
+환경을 매끄럽게 전환할 수 있으므로
 이 방법을 권장합니다.</li>
   <li><strong>Developer Preview 시스템 이미지를 다운로드하고 기기를 플래시합니다</strong>.
-수동으로 플래시하는 기기에는 OTA 업데이트가 자동으로 제공되지 않지만
+  수동으로 플래시하는 기기에는 OTA 업데이트가 자동으로 제공되지 않지만,
 Android 베타 프로그램에 기기를 등록하면 OTA 업데이트를 받을 수 있습니다. </li>
 </ul>
 
@@ -234,17 +234,17 @@
 <p>
   지원되는 기기에 액세스할 수 있다면(아래 다운로드 표
 참조),
-<a href="https://g.co/androidbeta">Android 베타 프로그램</a>에 등록해서 Android 프리뷰 버전에 대해 OTA 업데이트를 받을 수 있습니다. 이 업데이트는
+해당 기기를 <a href="https://g.co/androidbeta">Android 베타 프로그램</a>에 등록해서 Android 프리뷰 버전에 대해 OTA 업데이트를 받을 수 있습니다. 이 업데이트는
 자동으로 다운로드되고 공식 시스템 업데이트처럼
 기기를 업데이트합니다.
 </p>
 
 <p>
-  기기는 언제든 등록을 해제할 수 있습니다. 기기는
-해당 기기에 제공되는 가장 최신 Android 프로덕션 버전으로 OTA 업데이트를 받게 됩니다
-(예: Android 6.0 Marshmallow). 업데이트 시 기기가 완전히 초기화되므로
-기기의 사용자 데이터는 삭제됩니다. 기기 등록을 해제하기 전에 <strong>
-중요한 데이터는 백업</strong>하세요.
+  언제든 기기의 등록을 해제할 수 있습니다. 기기는
+해당 기기에 사용 가능한 가장 최신의 Android 프로덕션 버전에 대한 OTA 업데이트를 받게 됩니다(예: Android 6.0 Marshmallow).
+ 업데이트 시 기기가 완전히 초기화되므로
+기기의 사용자 데이터는 삭제됩니다. 따라서 기기 등록을 해제하기 전에 반드시 <strong>중요한
+데이터를 백업</strong>해야 합니다.
 </p>
 
 <p>
@@ -253,18 +253,18 @@
 </p>
 
 <p class="note"><strong>참고:</strong>
-등록을 해제하면 기기가 완전히 초기화됩니다. 중요한 데이터를
+  등록을 해제하면 기기가 완전히 초기화됩니다. 중요한 데이터를
 먼저 백업하세요.
 </p>
 
-<h3 id="flash">기기 수동 플래시</h3>
+<h3 id="flash">수동 기기 플래시</h3>
 
 <p>
   언제든 최신 Developer Preview 시스템 이미지를 다운로드하고
 기기에 수동으로 플래시할 수 있습니다. 아래 표를 참조하여 기기 테스트용 시스템 이미지를
 다운로드하세요. 기기 수동 플래시는
-테스트 환경을 정확히 제어해야 하거나 자동 테스트 등을 위해 자주 플래시해야 할 경우
-유용합니다. 
+테스트 환경을 정확히 제어해야 하거나 자동 테스트 등을 위해 자주 재설치해야 하는 경우
+유용합니다.
 </p>
 
 <!-- You can flash by ota or system image --><p>
@@ -273,23 +273,23 @@
 </p>
 
 <p>
-  기기 데이터를 백업하고 기기에 맞는 아래의 시스템 이미지를 다운로드한 뒤,
-<a href="https://developers.google.com/android/nexus/images#instructions">developers.google.com/android</a>
-의 지침에 따라 기기에 이미지를 플래시합니다.
+  기기 데이터를 백업하고 아래에서 기기에 맞는 시스템 이미지를 다운로드한 뒤,
+<a href="https://developers.google.com/android/nexus/images#instructions">developers.google.com/android</a>의
+지침에 따라 기기에 이미지를 플래시합니다.
 </p>
 
 <p>
-  수동으로 플래시한 시스템 이미지는 최신 Developer Preview 마일스톤 빌드에 대한 <strong>
-OTA 업데이트를 자동으로 수신하지 않습니다</strong>.
-각 Developer Preview 마일스톤에서 환경을 최신으로 유지하고 새 시스템 이미지를
+  수동으로 플래시한 시스템 이미지는 최신
+Developer Preview 마일스톤 빌드에 대한 <strong>OTA 업데이트를 자동으로
+수신하지는 않습니다</strong>. 각 Developer Preview 마일스톤에서 환경을 최신으로 유지하고 새 시스템 이미지를
 플래시하세요.
 </p>
 
 <p>
-  기기를 수동으로 플래시한 후 OTA 업데이트를 받으려면
+  기기를 수동으로 플래시한 후 OTA 업데이트를 받으시려면
 <a href="https://g.co/androidbeta">Android
 베타 프로그램</a>에 기기를 등록하기만 하면 됩니다. 언제든 기기를 등록하고 다음 Preview
-업데이트를 무선으로 받을 수 있습니다. 
+업데이트를 무선으로 받을 수 있습니다.
 </p>
 
 <table>
@@ -300,64 +300,72 @@
 
   <tr id="bullhead">
     <td>Nexus 5X <br>"bullhead"</td>
-    <td><a href="#top" onclick="onDownload(this)">bullhead-npc56p-preview-6c877a3d.tgz</a><br>
-      MD5: b5cf874021023b398f5b983b24913f5d<br>
-      SHA-1: 6c877a3d9fae7ec8a1678448e325b77b7a7b143a
+    <td><a href="#top" onclick="onDownload(this)">bullhead-npd35k-factory-5ba40535.tgz</a><br>
+      MD5: b6c5d79a21815ee21db41822dcf61e9f<br>
+      SHA-1: 5ba4053577007d15c96472206e3a79bc80ab194c
     </td>
   </tr>
 
   <tr id="shamu">
     <td>Nexus 6 <br>"shamu"</td>
-    <td><a href="#top" onclick="onDownload(this)">shamu-npc56p-preview-54b13c67.tgz</a><br>
-      MD5: af183638cf34e0eb944a1957d7696f60<br>
-      SHA-1: 54b13c6703d369cc79a8fd8728fe4103c6343973
+    <td><a href="#top" onclick="onDownload(this)">shamu-npd35k-factory-a33bf20c.tgz</a><br>
+      MD5: e1cf9c57cfb11bebe7f1f5bfbf05d7ab<br>
+      SHA-1: a33bf20c719206bcf08d1edd8da6c0ff9d50f69c
     </td>
   </tr>
 
   <tr id="angler">
     <td>Nexus 6P <br>"angler"</td>
-    <td><a href="#top" onclick="onDownload(this)">angler-npc56p-preview-85ffc1b1.tgz</a><br>
-      MD5: bc4934ea7bd325753eee1606d3725a24<br>
-      SHA-1: 85ffc1b1be402b1b96f9ba10929e86bba6c6c588
+    <td><a href="#top" onclick="onDownload(this)">angler-npd35k-factory-81c341d5.tgz</a><br>
+      MD5: e93de7949433339856124c3729c15ebb<br>
+      SHA-1: 81c341d57ef2cd139569b055d5d59e9e592a7abd
     </td>
   </tr>
 
   <tr id="volantis">
     <td>Nexus 9 <br>"volantis"</td>
-    <td><a href="#top" onclick="onDownload(this)">volantis-npc56p-preview-0e8ec8ef.tgz</a><br>
-      MD5: c901334c6158351e945f188167ae56f4<br>
-      SHA-1: 0e8ec8ef98c7a8d4f58d15f90afc5176303efca4
+    <td><a href="#top" onclick="onDownload(this)">volantis-npd35k-factory-2b50e19d.tgz</a><br>
+      MD5: 565be87ebb2d5937e2abe1a42645864b<br>
+      SHA-1: 2b50e19dae2667b27f911e3c61ed64860caf43e1
     </td>
   </tr>
 
   <tr id="volantisg">
     <td>Nexus 9G <br>"volantisg"</td>
-    <td><a href="#top" onclick="onDownload(this)">volantisg-npc56p-preview-1bafdbfb.tgz</a><br>
-      MD5: 7bb95bebc478d7257cccb4652899d1b4<br>
-      SHA-1: 1bafdbfb502e979a9fe4c257a379c4c7af8a3ae6
+    <td><a href="#top" onclick="onDownload(this)">volantisg-npd35k-factory-2e89ebe6.tgz</a><br>
+      MD5: a8464e15c6683fe2afa378a63e205fda<br>
+      SHA-1: 2e89ebe67a46b2f3beb050746c13341cd11fa678
     </td>
   </tr>
 
   <tr id="fugu">
     <td>Nexus Player <br>"fugu"</td>
-    <td><a href="#top" onclick="onDownload(this)">fugu-npc56r-preview-7027d5b6.tgz</a><br>
-      MD5: f5d3d8f75836ccfe4c70e8162e498be4<br>
-      SHA-1: 7027d5b662bceda4c80a91a0a14ef0e5a7ba795b
+    <td><a href="#top" onclick="onDownload(this)">fugu-npd35k-factory-1de74874.tgz</a><br>
+      MD5: c0dbb7db671f61b2785da5001cedefcb<br>
+      SHA-1: 1de74874f8d83e14d642f13b5a2130fc2aa55873
     </td>
   </tr>
 
   <tr id="ryu">
     <td>Pixel C <br>"ryu"</td>
-    <td><a href="#top" onclick="onDownload(this)">ryu-npc56p-preview-335a86a4.tgz</a><br>
-      MD5: 4e21fb183bbbf467bee91598d587fd2e<br>
-      SHA-1: 335a86a435ee51f18464de343ad2e071c38f0e92
+    <td><a href="#top" onclick="onDownload(this)">ryu-npd35k-factory-b4eed85d.tgz</a><br>
+      MD5: bdcb6f770e753668b5fadff2a6678e0d<br>
+      SHA-1: b4eed85de0d42c200348a8629084f78e24f72ac2
     </td>
   </tr>
+
   <tr id="seed">
-    <td>General Mobile 4G (Android One) <br>"seed"</td>
-    <td><a href="#top" onclick="onDownload(this)">seed_l8150-npc56p-preview-82472ebc.tgz</a><br>
-      MD5: 983e083bc7cd0c4a2d39d6ebaa20202a<br>
-      SHA-1: 82472ebc9a6054a103f53cb400a1351913c95127
+    <td>General Mobile 4G(Android One) <br>"seed"</td>
+    <td><a href="#top" onclick="onDownload(this)">seed_l8150-npd35k-factory-5ab1212b.tgz</a><br>
+      MD5: 7d34a9774fdd6e025d485ce6cfc23c4c<br>
+      SHA-1: 5ab1212bc9417269d391aacf1e672fff24b4ecc5
+    </td>
+  </tr>
+
+  <tr id="xperia">
+    <td>Sony Xperia Z3 <br> (D6603 및 D6653)</td>
+    <td>다운로드: <a class="external-link" href="http://support.sonymobile.com/xperiaz3/tools/xperia-companion/">Xperia Companion</a><br>
+      자세한 내용은 <a class="external-link" href="https://developer.sony.com/develop/smartphones-and-tablets/android-n-developer-preview/">Xperia Z3용 Android N Developer Preview 체험</a>을 참조하세요.
     </td>
   </tr>
 
@@ -372,31 +380,31 @@
     <li><strong>공장 사양 시스템 이미지</strong>를 획득한 다음 기기에 수동으로
 플래시합니다.
       <ul>
-          <li><strong>Nexus 기기와 Pixel C 기기</strong>의 경우, 
+          <li><strong>Nexus 기기와 Pixel C 기기</strong>의 경우,
 <a href="http://developers.google.com/android/nexus/images">Nexus 기기용
 공장 이미지</a> 페이지에서 다운로드하세요. </li>
         <li><strong>다른 기기</strong>의 경우, 기기 제조업체에 직접
 문의하세요. 또는, Android 베타 프로그램에서 지원되는
 기기라면
-프로그램에 기기를 등록한 다음 등록을 해제할 수 있습니다(아래 참조).</li>
+이 프로그램에 기기를 등록한 다음 등록을 해제할 수 있습니다(아래 참조).</li>
       </ul>
     </li>
-    <li><strong>Android 베타 프로그램에서 기기 등록을 해제합니다</strong>.
-기기가 <a href="https://g.co/androidbeta">Android 베타
-프로그램</a>에 등록되었다면 기기와 관계없이 프로그램에서 등록을 해제하기만 하면 됩니다.
+    <li><strong>Android 베타 프로그램에서 기기 등록을 해제합니다</strong>. 기기가
+<a href="https://g.co/androidbeta">Android 베타
+프로그램</a>에 등록되었다면 기기와 관계없이 프로그램에서 기기를 해제하기만 하면 됩니다.
   <p>
-    기기는해당 기기에 제공되는 가장 최신 Android 프로덕션 버전으로
-OTA 업데이트를 받게 됩니다(예: Android 6.0 Marshmallow).
-업데이트 시 기기가 완전히 초기화되므로 기기의 사용자 데이터는 삭제됩니다
- 기기 등록을 해제하기
-전에 <strong>중요한 데이터는 백업</strong>하세요.
+    기기는 해당 기기에 사용 가능한 가장 최신의 Android 프로덕션 버전에
+대한 OTA 업데이트를 받게 됩니다(예: Android 6.0 Marshmallow).
+    업데이트 시 기기가 완전히 초기화되므로 기기의 사용자 데이터는
+삭제됩니다. 따라서 기기 등록을 해제하기 전에 반드시 <strong>중요한 데이터를
+백업</strong>해야 합니다.
   </p>
   </li>
 </ul>
 
 <p class="note"><strong>참고:</strong>
-프로그램이 끝나기 전에 Developer Preview 시스템 이미지를 삭제하려면
-기기를 완전히 초기화하고 기기에서 모든 사용자 데이터를
+  프로그램이 끝나기 전에 Developer Preview 시스템 이미지를 제거하는 경우,
+기기를 완전히 초기화해야 하고 기기에서 모든 사용자 데이터를
 삭제해야 합니다.
 </p>
 
@@ -407,23 +415,23 @@
 Android N Preview SDK를 다운로드하고 에뮬레이터용 가상 기기를
 생성해야 합니다.</p>
 
-<p>먼저 다음과 같이 Android N Preview SDK를 다운로드합니다(
-<a href="{@docRoot}preview/setup-sdk.html">Android N용 개발 설정
-</a> 시 이미 다운로드했다면 이 부분은 건너뛸 수 있습니다).
+<p>먼저 다음과 같이 Android N Preview SDK를 다운로드합니다. <a href="{@docRoot}preview/setup-sdk.html">Android
+N용 개발 설정</a>
+시 이미 다운로드했다면 이 부분은 건너뛸 수 있습니다.
 
 <ol>
-  <li>Android Studio에서 Settings 대화 상자를 엽니다
-(Windows/Linux에서 <strong>File &gt; Settings</strong>, Mac에서는 
+  <li>Android Studio에서 Settings 대화 상자를
+엽니다(Windows/Linux의 경우 <strong>File &gt; Settings</strong>, Mac의 경우
 <strong>Android Studio &gt; Preferences</strong>). 왼쪽 창에서
 <strong>Appearance &amp; Behavior &gt;
 System Settings &gt; Android SDK</strong>를 선택합니다.
 
   <li><strong>SDK Platforms</strong> 탭을 클릭한 다음,
-<strong>Android N Preview</strong> 확인란을 선택합니다.</li>
+<strong>Android N Preview</strong> 체크박스를 선택합니다.</li>
 
   <li><strong>SDK Tools</strong> 탭을 클릭한 다음,
 <strong>Android SDK Build Tools</strong>, <strong>Android SDK
-Platform-Tools</strong>, <strong>Android SDK Tools</strong> 확인란을
+Platform-Tools</strong>, <strong>Android SDK Tools</strong> 체크박스를
 선택합니다.
   </li>
 
@@ -438,7 +446,7 @@
 Android N에서 x86_64 시스템 이미지를 실행할 수 없습니다.</p>
 
 
-<p>Android N 시스템 이미지로 가상 기기 생성:</p>
+<p>이제 Android N 시스템 이미지로 가상 기기를 생성합니다.</p>
 
 <ol>
   <li><strong>Tools &gt; Android &gt;
@@ -446,27 +454,21 @@
   <li><strong>Create Virtual Device</strong>를 클릭합니다.</li>
   <li>Nexus 5X, Nexus 6P, Nexus 9, Android TV 등의 기기를 선택하고
 <strong>Next</strong>를 클릭합니다.</li>
-  <li><strong>N</strong> 시스템 이미지(
-<strong>x86</strong> ABI)를 선택하고 <strong>Next</strong>를 클릭합니다.
-(현재 x86 시스템 이미지만 Android N Preview용 Android 에뮬레이터에서
+  <li><strong>N</strong> 시스템 이미지(<strong>x86</strong>
+ABI)를 선택하고 <strong>Next</strong>를 클릭합니다.
+    (현재는 x86 시스템 이미지만 Android N Preview용 Android 에뮬레이터에서
 지원됩니다.)
   <li>나머지 AVD 구성을 완료하고
 <strong>Finish</strong>를 클릭합니다.</li>
 </ol>
 
-<p>이제 Android N Preview AVD로 Android 에뮬레이터를 시작할 수 있습니다.</p>
+<p>이제 Android N Preview AVD에서 Android 에뮬레이터를 시작할 수 있습니다.</p>
 
 <p>
 Android 에뮬레이터에서 최상의 경험을 얻으려면
-Android Studio 2.1 Preview를 설치하세요. Android Studio 1.5의 에뮬레이터에 비해 더욱 빠른 성능을 제공하는 <a href="http://tools.android.com/tech-docs/emulator">Android Emulator 2.0 Beta</a>가
-지원됩니다.
-</p>
-
-<p class="note"><strong>참고:</strong>
-현재 Android Studio 2.0 Beta를 사용하는 경우
-N Preview 시스템 이미지로 AVD를 생성할 수 없는 문제가 보고되었습니다.
-따라서 지금은 Android Studio 2.1 Preview를 사용하여 AVD를 생성해야 합니다.
-</p>
+Android Studio 2.1 이상의 버전을 사용해야 합니다. 이러한 버전에서는 Android Studio 1.5의 에뮬레이터에 비해
+더욱 빠른 성능을 제공하는 <a href="http://tools.android.com/tech-docs/emulator">Android Emulator 2.0</a>이
+지원됩니다.</p>
 
 <p>가상 기기 생성에 대한 자세한 내용은 <a href="{@docRoot}tools/devices/index.html">가상 기기 관리</a>를 참조하세요.
 </p>
diff --git a/docs/html-intl/intl/ko/preview/features/afw.jd b/docs/html-intl/intl/ko/preview/features/afw.jd
new file mode 100644
index 0000000..4c06451
--- /dev/null
+++ b/docs/html-intl/intl/ko/preview/features/afw.jd
@@ -0,0 +1,552 @@
+page.title=Android for Work 업데이트
+page.metaDescription=Android N의 새로운 Android for Work API와 기능.
+page.keywords="android for work", "android N", "enterprise", "QR code"
+
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>이 문서의 내용</h2>
+      <ol>
+        <li><a href="#qr">QR 코드 프로비저닝
+                </a></li>
+
+        <li><a href="#sec-challenge">작업 프로필 보안 인증 질문
+                </a></li>
+
+        <li><a href="#suspend">앱에 대한 액세스 비활성화
+                </a></li>
+
+        <li><a href="#toggle-work">작업 모드 전환
+                </a></li>
+
+        <li><a href="#always-on-vpn">상시 접속 VPN
+                </a></li>
+
+        <li><a href="#contacts">연락처와 작업 프로필 통합
+                </a></li>
+
+        <li><a href="#remote-reboot">원격 재부팅
+                </a></li>
+
+        <li><a href="#disable-roaming">데이터 로밍 비활성화
+                </a></li>
+
+        <li><a href="#process-logging">엔터프라이즈 프로세스 로깅
+                </a></li>
+
+        <li><a href="#bug-reports">원격 버그 보고서
+                </a></li>
+
+        <li><a href="#remove-cert">클라이언트 인증서 제거
+                </a></li>
+
+        <li><a href="#grant-cert-on-install">설치 시 클라이언트 인증서에 대한
+                액세스 권한 부여</a></li>
+
+        <li><a href="#ui-policy">시스템 UI 정책 투명성
+                </a></li>
+
+        <li><a href="#restrictions-mgmt">앱 제한 관리 향상
+                </a></li>
+
+        <li><a href="#location-off">위치 해제 스위치
+                </a></li>
+
+        <li><a href="#custom-provisioning">사용자 지정 프로비저닝
+                </a></li>
+
+        <li><a href="#multi-wifi-ca">다중 Wi-Fi CA 인증서
+                </a></li>
+
+        <li><a href="#custom-lock">사용자 지정 잠금 화면 메시지
+                </a></li>
+
+        <li><a href="#work-connectionservice">작업 프로필 연결 서비스
+                </a></li>
+
+        <li><a href="#lock-wp">배경 화면 잠금
+                </a></li>
+
+        <li><a href="#lock-user-icon">사용자 아이콘 잠금
+                </a></li>
+
+        <li><a href="#health-monitoring">기기 상태 모니터링
+                </a></li>
+
+      </ol>
+
+    <h2>참고 항목</h2>
+    <ul>
+      <li><a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK
+            참조</a></li>
+    </ul>
+  </div>
+</div>
+
+<p>이 문서에서는 Android N에서 제공되는 새로운 Android for Work 기능을
+설명합니다.</p>
+
+<h2 id="qr">QR 코드 프로비저닝</h2>
+
+<p>
+  이제 Android for Work는 기업에서 업무용으로 지급하는 기기를 프로비저닝할 때 QR 코드 사용을
+ 지원합니다. 이제는 설치 마법사를 통해 QR 코드를 스캔하여 기기를
+ 프로비저닝할 수 있습니다.
+</p>
+
+<h2 id="sec-challenge">작업 프로필 보안 인증 질문</h2>
+
+<p>
+  프로필 소유자는 작업 프로필에서 작동하는 앱에 대한 보안 인증 질문을
+ 지정하도록 사용자에게 요구할 수 있습니다. 시스템에서는 사용자가 업무용 앱을 열려고 할 때
+ 보안 인증 질문을 표시합니다. 사용자가 보안 인증 질문에 올바로
+ 답하면 작업 프로필의 잠금이 해제되고 필요하다면 작업 프로필의 암호가
+ 해독됩니다.
+</p>
+
+<p>
+  프로필 소유자가 {@link
+  android.app.admin.DevicePolicyManager#ACTION_SET_NEW_PASSWORD} 인텐트를 보내면
+, 보안 인증 질문을 설정하라는 메시지가 사용자에게 표시됩니다. 또한, 프로필 소유자는
+ 사용자에게 기기 잠금을 설정하도록 하는 <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> 인텐트를
+  보낼 수 있습니다.
+</p>
+
+<p>
+  프로필 소유자는 작업 프로필 보안 인증 질문의 비밀번호 정책을 다른 기기
+ 비밀번호의 정책과는 다르게 설정하도록 선택할 수 있습니다. 예를 들어, 기기 보안 질문 응답의 최소 길이는 다른 암호에 요구되는
+길이와
+다를 수 있습니다. 프로필 소유자는 {@link
+ android.app.admin.DevicePolicyManager#setPasswordQuality
+ setPasswordQuality()} 및 {@link
+ android.app.admin.DevicePolicyManager#setPasswordMinimumLength
+ setPasswordMinimumLength()}와 같은
+ 일반적인 {@link android.app.admin.DevicePolicyManager}
+ 메서드를 사용하여 보안 질문 정책을 설정합니다. 프로필 소유자는 새 <code>DevicePolicyManager.getParentProfileInstance()</code>
+ 메서드에 의해 반환되는 {@link android.app.admin.DevicePolicyManager} 인스턴스를
+ 사용하여 기기 잠금을
+ 설정할 수도 있습니다. 그 밖에도, 프로필 소유자는 {@link android.app.admin.DevicePolicyManager}
+ 클래스의 새로운 <code>setOrganizationColor()</code> 및
+ <code>setOrganizationName()</code> 메서드를 사용하여 작업 프로필 보안 인증 질문에 대한 자격 증명 화면을
+ 사용자 지정할 수 있습니다.
+</p>
+
+<p>
+  새로운 메서드와 상수에 대한 자세한 내용은
+ <a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK 참조</a>의 <code>DevicePolicyManager</code> 참조 페이지를 참조하십시오.
+</p>
+
+<h2 id="suspend">앱에 대한 액세스 비활성화</h2>
+
+<p>
+  기기 소유자 및 프로필 소유자는 새 <code>DevicePolicyManager.setPackagesSuspended()</code>
+ 메서드를 호출하여 패키지에 대한 액세스를 일시적으로 중단할 수
+ 있습니다. 소유자는 이 메서드를 똑같이 사용하여 해당 패키지를 다시 활성화할 수 있습니다.
+</p>
+
+<p>
+  패키지가 일시 중단된 동안에는 액티비티를 시작할 수 없고, 패키지에 대한
+ 알림이 억제되고, <a href="{@docRoot}guide/components/recents.html">개요 화면</a>에서 앱 항목이 숨겨집니다.
+  일시 중단된 패키지는 <a href="{@docRoot}guide/components/recents.html">개요 화면</a>에 표시되지 않고
+ (toast와 snackbar를 포함한) 대화 상자를 표시할 수 없습니다. 이들 패키지는 또한 오디오를
+ 재생하거나 기기를 진동시킬 수도 없습니다.
+</p>
+
+<p>
+  현재 사용할 수 없는 앱임을 표시하기 위해
+, 런처는 뚜렷이 구별되는 UI를 일시 중단된 앱에 적용해야 합니다. 예를 들어, 앱 아이콘이 회색으로 표시되도록 할 수
+ 있습니다. 런처는 앱이 일시 중단된 상태인지
+ 확인하기 위해 새 <code>DevicePolicyManager.getPackageSuspended()</code> 메서드를 호출할 수 있습니다.
+</p>
+
+<h2 id="toggle-work">작업 모드 전환</h2>
+
+<p>
+  듀얼 프로필 기기에서는 사용자가 작업 모드를 설정하거나 해제할 수 있습니다. 작업 모드가
+ 해제된 중에는 관리된 프로필이 일시적으로 종료됩니다. 프로필
+ 소유자 앱을 포함하여 작업 프로필 앱, 백그라운드 동기화 및 알림이 모두
+ 비활성화됩니다. 작업 프로필이 비활성화된 중에는 사용자가
+ 업무용 앱을 실행할 수 없음을 미리 알려주기 위한 영구적인 상태 아이콘이
+ 표시됩니다. 시스템 런처는 업무용 앱과 위젯에 액세스할 수 없음을
+ 나타냅니다.
+</p>
+
+<h2 id="always-on-vpn">상시 접속 VPN</h2>
+
+<p>
+  기기 소유자 및 프로필 소유자는 항상 지정된 VPN을 통해 업무용 앱을
+ 네트워크에 연결하도록 요구할 수 있습니다. 소유자가 이 요구 사항을 설정하면
+ 기기는 부팅 시 해당 VPN을 자동으로 시작합니다.
+</p>
+
+<p>
+  소유자는 새 <code>DevicePolicyManager.setAlwaysOnVpnPackage()</code> 메서드를 호출하여 VPN을 사용하도록 요구할 수
+ 있습니다. 소유자가
+ VPN 요구 사항을 설정했는지 확인하려면 새
+ <code>DevicePolicyManager.GetAlwaysOnVpnPackage()</code> 메서드를 호출하십시오.
+</p>
+
+<p>
+  시스템에서 앱 상호 작용 없이 VPN 서비스를 직접 바인딩할 수 있으므로,
+ VPN 클라이언트는 상시 접속 VPN에 대해 새로운 진입점을 처리해야 합니다. 이전과 마찬가지로,
+ {@link android.net.VpnService android.net.VpnService} 작업과 일치하는 인텐트 필터를 사용하여 활성 서비스를
+ 찾을 수 있습니다.
+</p>
+
+<p>
+  사용자는 <strong>Settings &gt; More &gt;
+ VPN</strong> 화면을 사용하여 {@link
+ android.net.VpnService}를 구현하는 상시 접속 VPN 클라이언트를 수동으로 설정할 수 있습니다.
+</p>
+
+<h2 id="contacts">연락처와 작업 프로필 통합</h2>
+
+<p>
+  프로필 소유자는 기본 사용자의 업무용 연락처에 대한 로컬 검색 및 디렉터리 조회를
+ 허용할 수 있습니다. 예를 들어, 사용자는 개인 다이얼러 또는 연락처 애플리케이션에서
+ 개인용 및 업무용 디렉터리 연락처에 모두 액세스할 수 있습니다(프로필
+ 관리자가 허용한 경우).
+</p>
+
+<p>
+  Contact Provider를 활용하는 개발자는, 정책에 따라 허용되는 경우
+, Enterprise Contacts API를 사용하여 기본 사용자의 작업 프로필 디렉터리 항목에 액세스할 수
+ 있습니다.
+</p>
+
+<ul>
+  <li><code>ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Phone.ENTERPRISE_CONTENT_FILTER_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Email.ENTERPRISE_CONTENT_FILTER_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Callable.ENTERPRISE_CONTENT_FILTER_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Directory.ENTERPRISE_CONTENT_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Directory.isEntepriseDirectoryId()</code>
+  </li>
+</ul>
+
+<p>
+  프로필 소유자는 다음과 같은 새로운 메서드를 사용하여 기본 사용자의 업무용 연락처를 표시할지
+여부를 제어할 수 있습니다.
+</p>
+
+<ul>
+  <li>
+    <code>DevicePolicyManager.setCrossProfileContactsSearchDisabled()</code>
+  </li>
+
+  <li>
+    <code>DevicePolicyManager.getCrossProfileContactsSearchDisabled()</code>
+  </li>
+</ul>
+
+<h2 id="remote-reboot">원격 재부팅</h2>
+
+<p>
+  기기 소유자는 기기를 원격으로 재부팅할 수 있습니다. 경우에 따라, 구내의 공공 장소에 배치되어 있는
+ 기기는 전원 버튼에 액세스하지 못하게 되어 있습니다. 기기를
+ 재부팅해야 하는 경우 관리자가 새
+ <code>DevicePolicyManager.reboot()</code> 메서드를 사용하여 재부팅할 수 있습니다.
+</p>
+
+<h2 id="disable-roaming">데이터 로밍 비활성화</h2>
+
+<p>
+  기기 소유자는 새로운 {@link
+ android.os.UserManager} 사용자 제한 <code>DISALLOW_DATA_ROAMING</code>을 사용하여 데이터 로밍을 비활성화할 수 있습니다.
+</p>
+
+<h2 id="process-logging">엔터프라이즈 프로세스 로깅</h2>
+
+<p>
+  기기 소유자는 앱 실행, adb 액티비티 및 화면 잠금 해제를 비롯한 기기 액티비티를
+ 원격으로 추적하여 의심스러운 액티비티를 식별할 수 있습니다. 프로세스
+ 로그는 사용자 동의를 받을 필요가 없습니다. 로그를 검색하기 위해, 기기 소유자는 <code>DevicePolicyManager.setSecurityLoggingEnabled()</code>를 사용하여
+ 기기 로깅을 활성화할 수 있습니다.
+</p>
+
+<p>
+  API 변경 사항에는 다음이 포함됩니다.
+</p>
+
+<ul>
+
+  <li>
+    새로운 클래스 <code>android.app.admin.SecurityLog</code>와 이 클래스의
+ 메서드
+  </li>
+
+  <li>
+    <code>void DevicePolicyManager.setSecurityLoggingEnabled()</code>
+  </li>
+
+  <li>
+    <code>boolean DevicePolicyManager.isSecurityLoggingEnabled()</code>
+  </li>
+
+  <li>
+    <code>List&lt;SecurityEvent&gt;
+      DevicePolicyManager.retrieveSecurityLogs()</code>
+  </li>
+
+  <li>
+    <code>List&lt;SecurityEvent&gt;
+      DevicePolicyManager.retrievePreRebootSecurityLogs()</code>
+  </li>
+
+  <li>
+    <code>void DeviceAdminReceiver.onSecurityLogsAvailable()</code>
+  </li>
+</ul>
+
+<h2 id="bug-reports">원격 버그 보고서</h2>
+
+<p>
+  기기 소유자는 기기 상태 덤프 파일이 포함된 버그 보고서를
+ 원격으로 트리거하고 검색할 수 있으며, 이를 통해 알려진 문제나 손상된 기기에 대한
+ 포렌식 조사를 수행할 수 있습니다. 버그 보고서는 그 본질상 세세한 내용까지 담고 있으므로,
+ 사용자 동의를 받아야 합니다.
+</p>
+
+<p>
+  Android N에서는 이 기능을 지원하기 위해 다음과 같은 API를 포함합니다. 자세한
+ 내용은 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK
+ 참조</a>를 확인하세요.
+</p>
+
+<ul>
+  <li>
+    <code>DevicePolicyManager.requestBugreport()</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.onBugreportFailed()</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.onBugreportShared()</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.onBugreportSharingDeclined()</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</code>
+  </li>
+</ul>
+
+<h2 id="remove-cert">클라이언트 인증서 제거</h2>
+
+<p>
+  프로필 소유자와 기기 소유자는 이제 새 <code>DevicePolicyManager.removeKeyPair()</code>
+ 메서드를 호출하여, {@link android.app.admin.DevicePolicyManager#installKeyPair
+ installKeyPair()}를 통해 설치된 클라이언트 인증서를
+ 제거할 수 있습니다.
+</p>
+
+<h2 id="grant-cert-on-install">설치 시 클라이언트 인증서에 대한
+ 액세스 권한 부여</h2>
+
+<p>
+  프로필 소유자나 기기 소유자가 인증서 관리 권한을
+ 타사 앱에 부여할 경우, 해당 앱은 소유자의 간섭을 전혀 받지 않고도 인증서에
+ 액세스 권한을 부여할 수 있습니다.
+</p>
+
+<p>
+  인증서 관리를 위한 기존 API가 확장되었으며 다음을 포함합니다.
+</p>
+
+<ul>
+  <li><code>DevicePolicyManager.installKeyPair()</code>
+  </li>
+</ul>
+
+<h2 id="ui-policy">시스템 UI 정책 투명성</h2>
+
+<p>
+  사용자 환경에 영향을 미치는 정책이나 사용자 Settings를 제한하는 정책은
+ 사용자에게 완전히 공개되며, 프로필 소유자와 기기 소유자는 해당 정책에 대한 책임을
+ 회사의 IT 부서로 돌릴 수 있습니다. Settings에 일관되게 표시되는 “Action
+ not allowed” 메시지 외에도, IT 관리자는
+ 다음과 같은 새로운 {@link android.app.admin.DevicePolicyManager} 메서드를 사용하여 기기 설정에서 조직별 지원 메시지를
+ 설정할 수 있습니다.
+</p>
+
+<ul>
+  <li>
+    <code>DevicePolicyManager.setShortSupportMessage()</code>
+  </li>
+
+  <li>
+    <code>DevicePolicyManager.setLongSupportMessage()</code>
+  </li>
+</ul>
+
+<h2 id="restrictions-mgmt">앱 제한 관리 향상</h2>
+
+<p>
+  기기 소유자나 프로필 소유자는 새 <code>DevicePolicyManager.setApplicationRestrictionsManagingPackage()</code>
+ 메서드를 통해 다른 애플리케이션이 앱 제한을
+ 관리하도록 할 수
+ 있습니다. 지정된 애플리케이션은 이 권한이 부여되었는지
+여부를 확인하기 위해 <code>DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage()</code>를 호출할
+수 있습니다.
+</p>
+
+<p>
+  앱 제한을 관리하도록 지정된 애플리케이션은 해당 사용자 또는 프로필 내에 있는 어떤 패키지에 대해서도 {@link
+ android.app.admin.DevicePolicyManager#setApplicationRestrictions
+ setApplicationRestrictions()} 및 {@link
+ android.app.admin.DevicePolicyManager#getApplicationRestrictions
+ getApplicationRestrictions()}를 호출할 수 있습니다.
+</p>
+
+<h2 id="location-off">위치 해제 스위치</h2>
+
+<p>
+  사용자는 개인용 앱에서 위치 정보에 계속 액세스하는 동안에도
+ 업무용 앱의 위치 권한을 비활성화할 수 있습니다. 사용자는
+ Location Settings에 있는 별개의 위치 액세스 스위치를 사용하여 작업 프로필에서 실행 중인
+ 앱의 위치 업데이트 또는 마지막 위치 쿼리를 거부할 수 있습니다.
+</p>
+
+<p>
+  최상위 수준 위치 해제 스위치를 사용하면 기본 프로필과 관리된 프로필에
+ 대해 모두 위치 액세스를 비활성화할 수 있습니다.
+</p>
+
+<h2 id="custom-provisioning">사용자 지정 프로비저닝</h2>
+
+<p>
+  애플리케이션은 기업 색상과 로고를 사용하여 프로필 소유자 및 기기 소유자 프로비저닝
+ 흐름을 사용자 지정할 수 있습니다.
+</p>
+
+<dl>
+  <dt>
+    <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code>
+  </dt>
+
+  <dd>
+    흐름 색상을 사용자 지정합니다.
+  </dd>
+
+  <dt>
+    <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code>
+  </dt>
+
+  <dd>
+    기업 로고를 사용하여 흐름을 사용자 지정합니다.
+  </dd>
+</dl>
+
+<h2 id="multi-wifi-ca">다중 Wi-Fi CA 인증서</h2>
+
+<p>
+  프로필 소유자와 기기 소유자는 주어진 Wi-Fi 구성에 대해 다중 CA 인증서를 설정할 수
+ 있습니다. SSID가 동일한 별개의 액세스 지점에 대해
+ 별개의 CA가 기업 Wi-Fi 네트워크에 있는 경우, IT 관리자가 새 메서드 <code>setCaCertificates()</code>를 사용하여
+ 모든 관련 CA를 Wi-Fi 구성에 포함시킬 수
+ 있습니다.
+</p>
+
+<p>
+  추가되는 API는 다음과 같습니다.
+</p>
+
+<ul>
+  <li>
+    <code>WifiEnterpriseConfig.setCaCertificates()</code>
+  </li>
+
+  <li>
+    <code>WifiEnterpriseConfig.getCaCertificates()</code>
+  </li>
+</ul>
+
+<h2 id="custom-lock">사용자 지정 잠금 화면 메시지</h2>
+
+<p>
+  기기 소유자는 잠금 화면에 표시될 소유자 정보를 제공할 수 있습니다.
+  이 정보는 사용자 잠금 화면 메시지(설정되어 있는 경우)보다
+ 우선합니다. 새 {@link android.app.admin.DevicePolicyManager} 메서드는 다음과 같습니다.
+</p>
+
+<ul>
+  <li>
+    <code>setDeviceOwnerLockScreenInfo()</code>
+  </li>
+
+  <li>
+    <code>getDeviceOwnerLockScreenInfo()</code>
+  </li>
+</ul>
+
+<h2 id="work-connectionservice">작업 프로필 연결 서비스</h2>
+
+<p>
+  프로필 소유자는 호출 백엔드(호출 계정)용으로
+ 작업별 {@link android.telecom.ConnectionService}를 사용하는 업무용 다이얼러 애플리케이션을
+ 지정할 수 있습니다. 업무용 다이얼러는 업무 전용 통화 기록을
+ 유지 관리하고 업무용 연락처에만 의존합니다. 사용자는 전화 걸기 애플리케이션에 상관없이 일관된 통화 UI
+ 환경을 사용합니다. 업무 통화 계정으로 수신되는 업무 통화는
+ 개인 통화 계정으로 수신되는 개인용 통화와
+ 구분됩니다.
+</p>
+
+<p>
+  다이얼러는 새 플래그
+ <code>android.telecom.Call.PROPERTY_WORK_CALL</code>을 검사하여 통화가
+업무 통화인지 결정합니다. 통화가 업무 통화인 경우, 다이얼러는 작업 배지를 추가하는 등의 방법으로
+ 이를 표시해야 합니다.
+</p>
+
+<h2 id="lock-wp">배경 화면 잠금</h2>
+
+<p>
+  새 사용자 제한(<code>DISALLOW_SET_WALLPAPER</code>)에 따라 사용자는
+ 배경 화면을 변경할 수 없습니다. 그래도 기기 소유자나 프로필 소유자는
+ 배경 화면을 변경할 수 있지만, 자신이 관리하는 사용자나 프로필의
+ 배경 화면만 변경할 수 있을 뿐입니다. 예를 들어, 프로필 소유자는 상위 사용자의 배경 화면은
+ 변경할 수 없지만, 기본 프로필에 있는 프로필 소유자나 기기 소유자는
+ 변경할 수 있습니다. 배경 화면을 변경하고 싶은 프로필 소유자나 기기 소유자는
+ 자신이 관리하는 사용자 또는 프로필에
+ 배경 화면이 있는지({@link android.app.WallpaperManager#isWallpaperSupported
+  isWallpaperSupported()}), 그리고 이를 변경하도록 허용되는지 여부를 확인해야 합니다(새 메서드
+ <code>WallpaperManager.isWallpaperSettingAllowed()</code> 사용).
+</p>
+
+<h2 id="lock-user-icon">사용자 아이콘 잠금</h2>
+
+<p>
+  새 사용자 제한(<code>DISALLOW_SET_USER_ICON</code>)에 따라 사용자는
+ 사용자 아이콘을 변경할 수 없습니다. 그래도 사용자의 기기 소유자나 프로필 소유자는
+ 아이콘을 변경할 수 있습니다. 하지만, 프로필 소유자는 자신이 관리하는 프로필에 대한 사용자 아이콘만
+ 변경할 수 있을 뿐입니다.
+</p>
+
+<h2 id="health-monitoring">기기 상태 모니터링</h2>
+
+<p>
+  기기 소유자나 프로필 소유자는 새
+ <code>HardwarePropertiesManager</code> 인터페이스를 사용하여 CPU나 GPU의 온도, CPU 사용량 등, 기기 상태에 대한
+ 정보를 검색할 수 있습니다. 새
+ 모니터링 인터페이스는 원격 위치에서 지켜보는 사람이 없이 작동하는 기기를
+ 모니터링하는 데 특히 유용합니다.
+</p>
diff --git a/docs/html-intl/intl/ko/preview/features/background-optimization.jd b/docs/html-intl/intl/ko/preview/features/background-optimization.jd
index e671017..3bbc474 100644
--- a/docs/html-intl/intl/ko/preview/features/background-optimization.jd
+++ b/docs/html-intl/intl/ko/preview/features/background-optimization.jd
@@ -17,18 +17,18 @@
       </li>
 
       <li>
-        <a href="#sched-jobs">비 데이터 통신 연결에서 네트워크 작업
+        <a href="#sched-jobs">무제한 연결에서 네트워크 작업
 예약</a>
       </li>
 
       <li>
-        <a href="#monitor-conn">앱이 실행되는 중에 네트워크
-연결 모니터링</a>
+        <a href="#monitor-conn">앱이 실행되는 중에 네트워크 연결
+모니터링</a>
       </li>
 
       <li>
-<a href="#media-broadcasts">NEW_PICTURE 및
-NEW_VIDEO에 대한 제한</a>
+        <a href="#media-broadcasts">NEW_PICTURE 및 NEW_VIDEO에
+대한 제한</a>
       </li>
 
       <li>
@@ -50,33 +50,35 @@
   백그라운드 프로세스는 메모리와 배터리를 많이 소모할 수 있습니다. 예를 들어, 암시적 브로드캐스트는
 이 브로드캐스트를 수신하도록 등록된 많은 백그라운드 프로세스를 시작할 수 있지만
 해당 프로세스가 많은 작업을 수행하지 못할 경우가 있습니다. 이로 인해 기기 성능과
-사용자 경험에 상당한 영향을 미칠 수 있습니다.
+ 사용자 환경에 모두 상당한 영향을 미칠 수 있습니다.
 </p>
 
 <p>
-  이 문제를 완화하기 위해, N Developer Preview
-는 다음과 같은 제한을 적용합니다.
+  이 문제를 완화하기 위해, Android N은 다음과 같은 제한을
+적용합니다.
 </p>
 
 <ul>
   <li>브로드캐스트를 수신하도록 매니페스트에 등록되어 있더라도, Preview를 대상으로 하는 앱은 {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION}
-브로드캐스트를 수신하지 않습니다. 포그라운드에서 실행되는 앱은 {@link
-  android.content.Context#registerReceiver Context.registerReceiver()}로 {@link android.content.BroadcastReceiver}를
-등록하여 여전히 메인 스레드에서 {@code CONNECTIVITY_CHANGE}를 수신할
-수 있습니다.
+ android.net.ConnectivityManager#CONNECTIVITY_ACTION}
+ 브로드캐스트를 수신하지 않습니다. 실행 중인 앱은 {@link android.content.Context#registerReceiver Context.registerReceiver()}로
+{@link android.content.BroadcastReceiver}를 등록하여
+여전히 기본 스레드에서 {@code CONNECTIVITY_CHANGE}를 수신할
+ 수 있습니다.
   </li>
 
   <li>앱은 {@link
-  android.hardware.Camera#ACTION_NEW_PICTURE} 또는 {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO} 브로드캐스트를 송수신할 수 없습니다. 이 최적화는 Preview를 대상으로
-하는 앱 뿐만 아니라 모든 앱에 영향을 미칩니다.
+ android.hardware.Camera#ACTION_NEW_PICTURE} 또는 {@link
+ android.hardware.Camera#ACTION_NEW_VIDEO} 브로드캐스트를 송수신할 수 없습니다. 이 최적화는 Preview를 대상으로
+ 하는 앱뿐 아니라 모든 앱에 영향을 미칩니다.
   </li>
 </ul>
 
 <p>
+  앱이 이들 인텐트 중 하나라도 사용하는 경우에는,
+Android N 기기를 올바로 대상으로 삼을 수 있도록 이들 인텐트에 대한 종속성을 최대한 빨리 제거해야 합니다.
   Android 프레임워크는 이러한 암시적 브로드캐스트의
-필요성을 줄이기 위한 여러 가지 해결책을 제공합니다. 예를 들어, {@link android.app.job.JobScheduler}
+ 필요성을 줄이기 위한 여러 가지 해결책을 제공합니다. 예를 들어, {@link android.app.job.JobScheduler}
 및 <a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
   {@code GcmNetworkManager}</a>는 지정된
 조건(예: 비 데이터 통신 네트워크에 연결)이 충족될 경우 네트워크 작업을
@@ -98,24 +100,24 @@
 </h2>
 
 <p>
-  브로드캐스트를 수신하도록 매니페스트에 등록되어
-있더라도, N Developer Preview를 대상으로 하는 앱은 {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION} 브로드캐스트를 수신하지 않으며, 이 브로드캐스트에 종속되는 프로세스는
-시작되지 않습니다. 이 경우 네트워크 변경을 수신하려는 앱이나,
-기기가 비 데이터 통신 네트워크에 연결될 때 대량 네트워크 액티비티를
-수행하려는 앱에서 문제가 발생할 수 있습니다. 이 제한을 해결하기 위한 여러 가지
+  Android N을 대상으로 하는 앱은 {@link
+ android.net.ConnectivityManager#CONNECTIVITY_ACTION} 브로드캐스트를 수신하지 않으며(이 브로드캐스트를 수신하도록 매니페스트에 등록하는 경우), 이
+브로드캐스트에 의존하는 프로세스는
+시작되지 않습니다. 이 경우에는 기기가 고정 요금제 네트워크에 연결될 때,
+네트워크 변경 사항을 수신하려는 앱이나 대량의 네트워크 액티비티를
+수행하려는 앱에 문제가 생길 수 있습니다. 이 제한을 해결하기 위한 여러 가지
 해결책이 Android 프레임워크에 이미 있지만, 올바른 해결책을 선택하는 것은
 앱의 용도에 따라 다릅니다.
 </p>
 
 <p class="note">
   <strong>참고:</strong> {@link android.content.Context#registerReceiver Context.registerReceiver()}로
-등록된 {@link android.content.BroadcastReceiver}는 앱이
-포그라운드에 있는 동안 계속해서 이 브로드캐스트를 수신합니다.
+ 등록된 {@link android.content.BroadcastReceiver}는 앱이
+ 실행되는 중에 계속해서 이 브로드캐스트를 수신합니다.
 </p>
 
 <h3 id="sched-jobs">
-  비 데이터 통신 연결에서 네트워크 작업 예약
+  고정 요금제 연결에서 네트워크 작업 예약
 </h3>
 
 <p>
@@ -162,11 +164,10 @@
 </h3>
 
 <p>
-  포그라운드에서 실행되는 앱은 여전히 등록된 {@link
-  android.content.BroadcastReceiver}로 {@code
-  CONNECTIVITY_CHANGE}를 수신할 수 있습니다. 그러나, {@link
-  android.net.ConnectivityManager} API는 지정된 네트워크 조건이 충족될 경우에만 콜백을 요청하는
-더욱 강력한 메서드를 제공합니다.
+  실행 중인 앱은 등록된 {@link android.content.BroadcastReceiver}로 {@code CONNECTIVITY_CHANGE}를 여전히 수신할 수
+있습니다. 하지만 {@link
+ android.net.ConnectivityManager} API는 지정된 네트워크 조건이 충족될 경우에만 콜백을 요청하는
+ 더욱 강력한 메서드를 제공합니다.
 </p>
 
 <p>
@@ -194,13 +195,13 @@
 </h2>
 
 <p>
-  N Developer Preview에서 앱은 {@link
-  android.hardware.Camera#ACTION_NEW_PICTURE} 또는 {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO} 브로드캐스트를 송수신할 수 없습니다. 이 제한은 새로운 이미지나
-동영상을 처리하기 위해 여러 앱을 깨워야 하는 경우, 성능 및 사용자 경험에
-미치는 영향을 줄여줍니다. N Developer Preview는
-{@link android.app.job.JobInfo} 및 {@link
-  android.app.job.JobParameters}를 확장하여 대체 해결책을 제공합니다.
+  Android N에서 앱은 {@link
+ android.hardware.Camera#ACTION_NEW_PICTURE} 또는 {@link
+ android.hardware.Camera#ACTION_NEW_VIDEO} 브로드캐스트를 송수신할 수 없습니다. 이 제한은 새로운 이미지나
+ 동영상을 처리하기 위해 여러 앱을 깨워야 하는 경우, 성능 및 사용자 환경에
+ 미치는 영향을 줄여줍니다. Android N은
+ {@link android.app.job.JobInfo} 및 {@link
+ android.app.job.JobParameters}를 확장하여 대체 해결책을 제공합니다.
 </p>
 
 <h3 id="new-jobinfo">
@@ -208,8 +209,8 @@
 </h3>
 
 <p>
-  콘텐츠 URI 변경에 대한 작업을 트리거하기 위해, N Developer Preview
-는 다음과 같은 메서드로 {@link android.app.job.JobInfo} API를 확장합니다.
+  콘텐츠 URI 변경에 대한 작업을 트리거하기 위해, Android N은
+ 다음과 같은 메서드로 {@link android.app.job.JobInfo} API를 확장합니다.
 </p>
 
 <dl>
@@ -266,7 +267,7 @@
           MY_BACKGROUND_JOB,
           new ComponentName(context, MediaContentJob.class));
   builder.addTriggerContentUri(
-          new JobInfo.TriggerContentUri(MEDIA_URI,
+          new JobInfo.TriggerContentUri(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
           JobInfo.TriggerContentUri.FLAG_NOTIFY_FOR_DESCENDANTS));
   js.schedule(builder.build());
 }
@@ -283,9 +284,9 @@
 </h3>
 
 <p>
-  N Developer Preview에서는 또한 어떤 콘텐츠 기관과
-URI가 작업을 트리거했는지에 대한 유용한 정보를 앱이
-수신할 수 있도록 {@link android.app.job.JobParameters}를 확장합니다.
+  또한, Android N에서는 어떤 콘텐츠 기관과
+ URI가 해당 작업을 트리거했는지에 대한 유용한 정보를 앱이
+ 수신할 수 있도록 {@link android.app.job.JobParameters}를 확장합니다.
 </p>
 
 <dl>
@@ -354,37 +355,37 @@
 
 <p>
   저용량 메모리 기기나 저용량 메모리 조건에서
-앱이 실행되도록 최적화하면 성능과 사용자 경험을 개선할 수 있습니다. 백그라운드 서비스에 대한 종속성과 정적으로 등록된
-암시적 브로드캐스트 수신기에 대한 종속성을 제거하면 기기에서 앱을
-더욱 빨리 실행할 수 있습니다. N Developer Preview는 이러한 문제 중 일부를 줄이기 위한
-조치를 취하고 있지만, 백그라운드
-프로세스를 전혀 사용하지 않고 앱이 실행되도록
-최적화하는 것이 좋습니다.
+앱이 실행되도록 최적화하면 성능과 사용자 환경을 개선할 수 있습니다. 백그라운드 서비스에 대한 종속성과 정적으로 등록된
+ 암시적 브로드캐스트 수신기에 대한 종속성을 제거하면 해당 기기에서 앱을
+ 더욱 빨리 실행할 수 있습니다. Android N은 이러한 문제 중 일부를 줄이기 위한
+ 조치를 취하고 있지만, 백그라운드
+ 프로세스를 전혀 사용하지 않고 앱이 실행되도록
+ 최적화하는 것이 좋습니다.
 </p>
 
 <p>
-  N Developer Preview에서는 백그라운드 프로세스를
-비활성화하고 앱 동작을 테스트하는 데 사용할 수 있는 몇 가지 추가적인 <a href="{@docRoot}tools/help/adb.html">ADB(Android Debug Bridge)</a> 명령을 소개합니다.
+  Android N에서는 백그라운드 프로세스를
+비활성화하고 앱 동작을 테스트하는 데 사용할 수 있는 몇 가지 추가적인 <a href="{@docRoot}tools/help/adb.html">ADB(Android 디버그 브리지)</a> 명령을 도입했습니다.
 </p>
 
 <ul>
   <li>암시적 브로드캐스트와 백그라운드 서비스를 사용할
-수 없는 조건을 시뮬레이션하려면, 다음 명령을 입력합니다.
+수 없는 조건을 시뮬레이션하려면 다음 명령을 입력합니다.
   </li>
 
   <li style="list-style: none; display: inline">
 <pre class="no-pretty-print">
-{@code $ adb shell cmd appops set RUN_IN_BACKGROUND ignore}
+{@code $ adb shell cmd appops set &lt;package&gt; RUN_IN_BACKGROUND ignore}
 </pre>
   </li>
 
-  <li>암시적 브로드캐스트와 백그라운드 서비스를 다시 활성화하려면,
+  <li>암시적 브로드캐스트와 백그라운드 서비스를 다시 활성화하려면
 다음 명령을 입력합니다.
   </li>
 
   <li style="list-style: none; display: inline">
 <pre class="no-pretty-print">
-{@code $ adb shell cmd appops set RUN_IN_BACKGROUND allow}
+{@code $ adb shell cmd appops set &lt;package&gt; RUN_IN_BACKGROUND allow}
 </pre>
   </li>
-</ul>
\ No newline at end of file
+</ul>
diff --git a/docs/html-intl/intl/ko/preview/features/data-saver.jd b/docs/html-intl/intl/ko/preview/features/data-saver.jd
new file mode 100644
index 0000000..a5e4741
--- /dev/null
+++ b/docs/html-intl/intl/ko/preview/features/data-saver.jd
@@ -0,0 +1,234 @@
+page.title=Data Saver
+metaDescription=User-enabled data usage optimization.
+page.keywords="android N", "data usage", "metered network"
+page.image=images/cards/card-nyc_2x.jpg
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>
+      이 문서의 내용
+    </h2>
+
+    <ol>
+      <li>
+        <a href="#status">Data Saver 기본 설정 확인</a>
+        <ol>
+          <li>
+            <a href="#request-whitelist">허용 목록 권한 요청</a>
+          </li>
+        </ol>
+      </li>
+
+      <li>
+        <a href="#monitor-changes">Data Saver 기본 설정 변경 사항
+모니터링</a>
+      </li>
+
+      <li>
+        <a href="#testing">Android 디버그 브리지 명령을 이용한 테스트</a>
+      </li>
+    </ol>
+  </div>
+</div>
+
+<p>
+  스마트폰의 수명 전체에 걸쳐, 모바일 데이터 요금제에 따른 비용이
+ 기기 자체의 가격을 쉽게 초과할 수 있습니다. N Developer Preview에서는 사용자들이
+로밍 중이든, 결제 주기가 끝날 무렵이든, 소액 선불 데이터 팩을 사용 중이든 상관없이, 데이터 사용량을 줄이기 위해 기기 전체에서
+Data Saver를 활성화할 수 있습니다.
+</p>
+
+<p>
+  사용자가 <strong>Settings</strong>에서 Data Saver를 활성화하고
+ 해당 기기가 데이터 통신 네트워크에 있는 경우, 시스템은 백그라운드 데이터 사용을
+차단하고 가능하면 포그라운드에서 데이터를 더 적게 사용하도록 앱에게 신호를 보냅니다. 사용자는
+Data Saver가 켜진 경우에도 백그라운드 데이터 통신 연결을 허용하기 위해
+특정 앱을 허용 목록에 추가할 수 있습니다.
+</p>
+
+<p>
+  N Developer Preview는 {@link android.net.ConnectivityManager}
+ API를 확장하여 <a href="#status">사용자의 Data Saver 기본 설정을 검색</a>하고 <a href="#monitor-changes">기본
+ 설정 변경을 모니터링</a>하는 방법을
+ 앱에 제공합니다. 사용자가 Data Saver를 활성화했는지 여부를 앱이 확인하고
+포그라운드 및 백그라운드 데이터 사용을 제한하기 위해
+앱이 노력하는 것은 좋은 방법입니다.
+</p>
+
+<h2 id="status">
+  Data Saver 기본 설정 확인
+</h2>
+
+<p>
+  N Developer Preview에서 앱이 {@link
+ android.net.ConnectivityManager} API를 사용하여, 어떤 데이터 사용량 제한이
+적용되고 있는지를 확인할 수 있습니다. {@code getRestrictBackgroundStatus()}
+ 메서드는 다음 값 중 하나를 반환합니다.
+</p>
+
+<dl>
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_DISABLED}
+  </dt>
+
+  <dd>
+    Data Saver가 비활성화되었습니다.
+  </dd>
+
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_ENABLED}
+  </dt>
+
+  <dd>
+    사용자가 이 앱에 대해 Data Saver를 활성화했습니다. 앱은 포그라운드에서 데이터 사용량을
+제한하고, 백그라운드
+데이터 사용량에 대한 제한을 적절히 처리하기 위해 노력해야 합니다.
+  </dd>
+
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_WHITELISTED}
+  </dt>
+
+  <dd>
+    사용자가 Data Saver를 활성화했지만 앱이 허용 목록에 추가되어 있습니다. 앱은
+포그라운드 및 백그라운드 데이터 사용량을 제한하기 위해 여전히 노력해야 합니다.
+  </dd>
+</dl>
+
+<p>
+  Data Saver가 비활성화되어 있거나 앱이 허용 목록에 추가되어 있더라도,
+기기가 데이터 통신 네트워크에 연결될 때마다 항상
+ 데이터 사용량을 제한하는 것이 좋은 방법입니다. 다음 샘플 코드에서는 {@link
+ android.net.ConnectivityManager#isActiveNetworkMetered
+ ConnectivityManager.isActiveNetworkMetered()} 및 {@code
+ ConnectivityManager.getRestrictBackgroundStatus()}를 사용하여 앱이 사용해야 하는 데이터의 양을
+결정합니다.
+</p>
+
+<pre>
+ConnectivityManager connMgr = (ConnectivityManager)
+        getSystemService(Context.CONNECTIVITY_SERVICE);
+// Checks if the device is on a metered network
+if (connMgr.isActiveNetworkMetered()) {
+  // Checks user’s Data Saver settings.
+  switch (connMgr.getRestrictBackgroundStatus()) {
+    case RESTRICT_BACKGROUND_STATUS_ENABLED:
+    // Background data usage is blocked for this app. Wherever possible,
+    // the app should also use less data in the foreground.
+
+    case RESTRICT_BACKGROUND_STATUS_WHITELISTED:
+    // The app is whitelisted. Wherever possible,
+    // the app should use less data in the foreground and background.
+
+    case RESTRICT_BACKGROUND_STATUS_DISABLED:
+    // Data Saver is disabled. Since the device is connected to a
+    // metered network, the app should use less data wherever possible.
+  }
+} else {
+  // The device is not on a metered network.
+  // Use data as required to perform syncs, downloads, and updates.
+}
+</pre>
+
+<h3 id="request-whitelist">
+  허용 목록 권한 요청
+</h3>
+
+<p>
+  앱이 백그라운드에서 데이터를 사용해야 하는 경우, 앱의 패키지 이름의 URI가 포함된
+<code>Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS</code>
+인텐트(예:
+<code>package:MY_APP_ID</code>)를 앱이 보내서
+허용 목록 권한을 요청할 수 있습니다.
+</p>
+
+<p>
+  인텐트와 URI를 보내면 <strong>Settings</strong> 앱이 시작되고
+앱에 대한 데이터 사용량 설정이 표시됩니다. 그러면 사용자는 앱에 대해 백그라운드 데이터의
+사용 여부를 결정할 수 있습니다. 이 인텐트를 보내기 전에,
+백그라운드 데이터 사용을 활성화하기 위해
+<strong>Settings</strong> 앱 시작 여부를 사용자에게 먼저 묻는 것이
+좋습니다.
+</p>
+
+<h2 id="monitor-changes">
+  Data Saver 기본 설정 변경 사항 모니터링
+</h2>
+
+<p>
+  앱은 {@code
+ ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED}를 수신하기 위해 {@link
+ android.content.BroadcastReceiver}를 만들고 수신기를 {@link android.content.Context#registerReceiver
+ Context.registerReceiver()}에 동적으로 등록하여
+Data Saver 기본 설정의 변경 사항을 모니터링할 수 있습니다. 앱은 이 브로드캐스트를 수신할 때 {@code
+ ConnectivityManager.getRestrictBackgroundStatus()}를 호출하여 <a href="#status">새로운 Data Saver 기본 설정이
+권한에 영향을 미치는지 확인</a>해야
+합니다.
+</p>
+
+<p class="note">
+  <strong>참고:</strong> 시스템에서는 {@link
+ android.content.Context#registerReceiver Context.registerReceiver()}로 동적으로 등록하는 앱에만 이
+브로드캐스트를 보냅니다. 이
+브로드캐스트를 수신하도록 매니페스트에 등록하는 앱은
+이를 수신하지 못합니다.
+</p>
+
+<h2 id="testing">
+  Android 디버그 브리지 명령을 이용한 테스트
+</h2>
+
+<a href="{@docRoot}tools/help/adb.html">Android 디버그 브리지</a>는
+네트워크 권한을 확인하고 구성하는 데 사용될 수 있는 몇 가지 명령을
+제공합니다.
+
+<dl>
+  <dt>
+    <code>$ adb shell dumpsys netpolicy</code>
+  </dt>
+
+  <dd>
+    현재 전역 백그라운드 네트워크
+ 제한 설정, 허용 목록에 현재 있는 패키지 UID 및 알려진
+다른 패키지의 네트워크 권한이 포함된 보고서를 생성합니다.
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy</code>
+  </dt>
+
+  <dd>
+    Network Policy Manager(netpolicy) 명령의 전체 목록을 표시합니다.
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy set restrict-background
+    &lt;boolean&gt;</code>
+  </dt>
+
+  <dd>
+    <code>true</code> 또는
+ <code>false</code>를 각각 전달할 때 Data Saver 모드를 활성화하거나 비활성화합니다.
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy add restrict-background-whitelist
+    &lt;UID&gt;</code>
+  </dt>
+
+  <dd>
+    지정된 패키지 UID를 허용 목록에 추가하여 백그라운드 데이터 통신 연결을
+ 허용합니다.
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy remove restrict-background-whitelist
+    &lt;UID&gt;</code>
+  </dt>
+
+  <dd>
+    지정된 패키지 UID를 허용 목록에서 제거하여, Data Saver가 활성화된 동안 백그라운드 데이터 통신 연결을
+차단합니다.
+  </dd>
+</dl>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ko/preview/features/direct-boot.jd b/docs/html-intl/intl/ko/preview/features/direct-boot.jd
index 4ff1354..981c3e0 100644
--- a/docs/html-intl/intl/ko/preview/features/direct-boot.jd
+++ b/docs/html-intl/intl/ko/preview/features/direct-boot.jd
@@ -1,5 +1,5 @@
 page.title=직접 부팅
-page.keywords=androidn,sdk,direct boot
+page.keywords=preview, sdk, 직접 부팅
 page.tags=androidn
 page.image=images/cards/card-nyc_2x.jpg
 
@@ -18,12 +18,12 @@
 </div>
 </div>
 
-<p>Android N은 기기에 전원이 들어와 있지만<i>사용자가 잠금을 해제하지 않았을 때</i>안전한 
+<p>기기에 전원이 들어와 있지만 <i>사용자가 기기의 잠금을 해제하지</i> 않았을 경우 Android N은 안전한 
 직접 부팅
- 모드에서 실행됩니다. 이를 지원하기 위해 시스템에서 두 가지 데이터 저장소 위치를 제공합니다.</p>
+ 모드에서 실행됩니다. 이를 지원하기 위해 시스템에서 다음과 같은 두 가지 데이터 저장소 위치를 제공합니다.</p>
 
 <ul>
-<li><i>자격증명 암호화 저장소:</i>기본 저장소 위치이며, 사용자가 기기의 잠금을 해제한 후에만
+<li><i>자격 증명 암호화 저장소:</i>기본 저장소 위치이며, 사용자가 기기의 잠금을 해제한 후에만
 사용할 수 있습니다.</li>
 <li><i>기기 암호화 저장소:</i>직접 부팅 모드와 사용자가 기기의 잠금을 해제한 후에
 모두 사용할 수 있는 저장소 위치입니다.</li>
@@ -32,7 +32,7 @@
 <p>기본적으로 직접 부팅 모드 시 앱이 실행되지 않습니다.
 직접 부팅 모드에서 조치가 필요한 경우,
 이 모드에서 실행되어야 하는 앱 구성 요소를 등록할 수 있습니다. 직접 부팅 모드 시 실행되어야 하는 앱의
-몇 가지 공통 사용 사례:</p>
+몇 가지 공통 사용 사례는 다음과 같습니다.</p>
 
 <ul>
 <li>알람 시계 앱과 같이 예약된 알림이 있는
@@ -46,20 +46,20 @@
 기기가 성공적으로 확인된 부팅을 수행한 후에만
 사용할 수 있는 키로 암호화된 데이터가 포함됩니다.</p>
 
-<p>PIN이나 암호와 같이 사용자 자격증명과 연관된 키로 암호화해야 하는 데이터는
-자격증명 암호화 저장소를 사용합니다.
-자격증명 암호화 저장소는 사용자가 기기의 잠금을 해제한 뒤부터
+<p>PIN이나 비밀번호와 같이 사용자 자격 증명과 연관된 키로 암호화해야 하는 데이터는
+자격 증명 암호화 저장소를 사용합니다.
+자격 증명 암호화 저장소는 사용자가 기기의 잠금을 해제한 뒤부터
 기기를 다시 시작할 때까지 사용할 수 있습니다. 사용자가
 기기의 잠금을 해제한 뒤 잠금 화면을 활성화해도
-자격증명 암호화 저장소가 잠기지 않습니다.</p>
+자격 증명 암호화 저장소가 잠기지 않습니다.</p>
 
 <h2 id="run">직접 부팅 시 실행하기 위한 액세스 요청</h2>
 
 <p>앱은 직접 부팅 모드에서 실행되거나
 기기 암호화 저장소에 액세스하기 전까지
-시스템에 구성 요소를 등록해야 합니다. 앱은 구성 요소를
-<i>암호화 인식</i>으로 표시하여 시스템에 등록합니다. 구성 요소를 암호화 인식으로 표시하려면 매니페스트에서 
-<code>android:encryptionAware</code> 특성을 true로 설정합니다.<p>
+시스템에 구성 요소를 등록해야 합니다. 앱은 구성 요소를 암호화 인식으로 표시하여
+<i>시스템에</i> 등록합니다. 구성 요소를 암호화 인식으로 표시하려면 매니페스트에서
+<code>android:directBootAware</code> 속성을 true로 설정합니다.<p>
 
 <p>암호화 인식 구성 요소로 등록하면 기기가 다시 시작되었을 때 시스템에서
 <code>LOCKED_BOOT_COMPLETED</code> 브로드캐스트 메시지를
@@ -72,8 +72,8 @@
 <code>LOCKED_BOOT_COMPLETED</code>의 인텐트 필터를 추가하는 예시입니다.</p>
 
 <pre>
-&lt;receiever
-  android:encryptionAware="true" &gt;
+&lt;receiver
+  android:directBootAware="true" &gt;
   ...
   &lt;intent-filter&gt;
     &lt;action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" /&gt;
@@ -82,19 +82,19 @@
 </pre>
 
 <p>사용자가 기기의 잠금을 해제하면 모든 구성 요소가
-기기 암호화 저장소와 자격증명 암호화 저장소에 액세스할 수 있습니다.</p>
+기기 암호화 저장소와 자격 증명 암호화 저장소에 액세스할 수 있습니다.</p>
 
 <h2 id="access">기기 암호화 저장소 액세스</h2>
 
 <p>기기 암호화 저장소에 액세스하려면
-<code>Context.createDeviceEncryptedStorageContext()</code>를 호출하여 두 번째
-{@link android.content.Context} 인스턴스를 생성합니다. 이 컨텍스트를 사용하여 호출한 모든 저장소 API는
+<code>Context.createDeviceProtectedStorageContext()</code>를 호출하여 두 번째
+{@link android.content.Context} 인스턴스를 생성합니다. 이 컨텍스트를 사용하여 수행된 모든 저장소 API 호출은
 기기 암호화 저장소에 액세스합니다. 다음은
 기기 암호화 저장소에 액세스하고 기존
 앱 데이터 파일을 여는 예시입니다.</p>
 
 <pre>
-Context directBootContext = Context.createDeviceEncryptedStorageContext();
+Context directBootContext = appContext.createDeviceProtectedStorageContext();
 // Access appDataFilename that lives in device encrypted storage
 FileInputStream inStream = directBootContext.openFileInput(appDataFilename);
 // Use inStream to read content...
@@ -104,13 +104,13 @@
 기기 암호화 저장소를 사용합니다.
 기기 암호화 저장소를 범용 암호화 저장소로 사용하지 마십시오.
 개인적인 사용자 정보 또는 직접 부팅 모드에서 필요하지 않은 암호화 데이터는
-자격증명 암호화 저장소를 사용합니다.</p>
+자격 증명 암호화 저장소를 사용합니다.</p>
 
 <h2 id="notification">사용자 잠금 해제 알림 수신</h2>
 
 <p>사용자가 재시작 후 기기의 잠금을 해제하면
-앱이 자격증명 암호화 저장소 액세스로 전환하고,
-사용자 자격증명을 따르는 일반 시스템 서비스를 사용할 수 있습니다.</p>
+앱이 자격 증명 암호화 저장소 액세스로 전환하고,
+사용자 자격 증명을 따르는 일반 시스템 서비스를 사용할 수 있습니다.</p>
 
 <p>사용자가 재부팅 후 기기의 잠금을 해제할 때 알림을 받으려면
 실행 중인 구성 요소에서 {@link android.content.BroadcastReceiver}를 등록하고
@@ -124,16 +124,16 @@
 
 <h2 id="migrating">기존 데이터 마이그레이션</h2>
 
-<p>사용자가 기기를 직접 부팅 모드를 사용하도록 업데이트하면
-기존 데이터를 기기 암호화 저장소로 마이그레이션해야 할 수도 있습니다. 
-<code>Context.migrateSharedPreferencesFrom()</code>와
-<code>Context.migrateDatabaseFrom()</code>를 사용하여 자격증명 암호화 저장소와 기기 암호화 저장소 간에
+<p>직접 부팅 모드를 사용하도록 사용자가 자신의 기기를 업데이트하는 경우,
+여러분이 기존 데이터를 기기 암호화 저장소로 마이그레이션해야 할 수도 있습니다. 
+<code>Context.moveSharedPreferencesFrom()</code>과
+<code>Context.moveDatabaseFrom()</code>을 사용하여 자격 증명 암호화 저장소와 기기 암호화 저장소 간에
 기본 설정과 데이터베이스 데이터를 마이그레이션합니다.</p>
 
-<p>자격증명
-암호화 저장소에서 기기 암호화 저장소로 마이그레이션할 데이터는 신중히 결정하세요. 암호나 인증 토큰 등의
+<p>어떤 데이터를 자격 증명
+암호화 저장소에서 기기 암호화 저장소로 마이그레이션할지를 신중히 결정하세요. 암호나 인증 토큰 등의
 개인 사용자 정보는 기기 암호화 저장소로
-마이그레이션해서는 안됩니다. 일부 시나리오에서
+마이그레이션해서는 안 됩니다. 일부 시나리오에서
 두 가지 암호화 저장소에 있는 별도의 데이터 세트를 관리해야 할 수 있습니다.</p>
 
 <h2 id="testing">암호화 인식 앱 테스트</h2>
diff --git a/docs/html-intl/intl/ko/preview/features/icu4j-framework.jd b/docs/html-intl/intl/ko/preview/features/icu4j-framework.jd
index 724ee65..f626bff 100644
--- a/docs/html-intl/intl/ko/preview/features/icu4j-framework.jd
+++ b/docs/html-intl/intl/ko/preview/features/icu4j-framework.jd
@@ -1,5 +1,4 @@
 page.title=ICU4J Android 프레임워크 API
-page.tags=androidn
 page.image=images/cards/card-nyc_2x.jpg
 
 @jd:body
@@ -30,7 +29,7 @@
 <p>
   ICU4J는 오픈 소스이며 널리 사용되는 Java 라이브러리 세트로, 소프트웨어 애플리케이션에 유니코드와
 세계화 지원을 제공합니다. Android N은
-Android 프레임워크에서 앱 개발자가 
+Android 프레임워크에서 앱 개발자가
 {@code android.icu} 패키지에서 사용할 수 있는 ICU4J API의 하위 세트를 노출합니다. 이 API는
 기기의 현지화 데이터를 사용합니다. 따라서 ICU4J 라이브러리를 APK로 컴파일하지 않고
 프레임워크에서 호출하여APK
@@ -54,8 +53,8 @@
 <code>com.ibm.icu</code>가 아니라 <code>android.icu</code> 패키지를 통해 ICU4J API의 하위 세트를 노출합니다. 
 Android 프레임워크는 여러 가지 이유로
 ICU4J API를 노출하지 않을 수 있습니다. 예컨대 Android N은
-일부 사용 중단된 API나 ICU팀에서 안정적이라고 선언하지 않은 API를
-노출하지 않습니다. ICU팀이 이후 API의 사용을 중단하면, Android도
+일부 사용 중단된 API나 ICU 팀에서 안정적이라고 선언하지 않은 API를
+노출하지 않습니다. ICU 팀이 이후 API의 사용을 중단하면, Android도
 이를 사용 중단됨으로 표시하지만 계속 포함합니다.
 </p>
 
@@ -109,7 +108,7 @@
 ICU4J의 클래스와 같습니다. 그러나 ICU4J는 종종 더욱 폭넓은
 표준과 언어를 지원합니다.
 </p>
-<p>시작하기 위한 몇 가지 예시:</p>
+<p>시작하기 위한 몇 가지 예시는 다음과 같습니다.</p>
 <table>
 <tr>
 <th>클래스</th>
diff --git a/docs/html-intl/intl/ko/preview/features/multi-window.jd b/docs/html-intl/intl/ko/preview/features/multi-window.jd
index 78abcd1..bd24d9f 100644
--- a/docs/html-intl/intl/ko/preview/features/multi-window.jd
+++ b/docs/html-intl/intl/ko/preview/features/multi-window.jd
@@ -18,16 +18,17 @@
     <h2>참고 항목</h2>
       <ol>
         <li><a class="external-link" href="https://github.com/googlesamples/android-MultiWindowPlayground">다중 창
-플레이그라운드 샘플 앱</a></li>
+ 플레이그라운드 샘플 앱</a></li>
+        <li><a class="external-link" href="https://medium.com/google-developers/5-tips-for-preparing-for-multi-window-in-android-n-7bed803dda64">Android N에서 다중 창을 준비하기 위한 5가지 팁</a></li>
       </ol>
   </div>
 </div>
 
 <p>
-  Android N에서는 동시에 둘 이상의 앱을 표시하도록
-지원합니다. 핸드헬드 기기에서 두 개의 앱을 <em>화면 분할</em> 모드에서
+  Android N은 둘 이상의 앱을 동시에 표시하기 위한 지원을
+추가합니다. 핸드헬드 기기에서 두 개의 앱을 <em>화면 분할</em> 모드에서
 나란히 또는 상하로 실행할 수 있습니다. TV 기기에서 앱이
-<em>PIP</em> 모드를 사용하는 경우 사용자가 다른 앱과 상호작용하는
+<em>PIP(Picture-In-Picture)</em> 모드를 사용하는 경우 사용자가 다른 앱과 상호작용하는
 동안에 계속 동영상을 재생할 수 있습니다.
 </p>
 
@@ -44,14 +45,14 @@
 <p>
   Android N에서는 여러 앱이 동시에 화면을 공유할 수 있습니다. 예를 들어, 사용자가 화면을 분할하여 왼쪽에서는 웹페이지를
 보면서 오른쪽에서는 이메일을 작성할
-수 있습니다. 사용자 경험은 기기에 따라
+수 있습니다. 사용자 환경은 기기에 따라
 달라집니다.
 </p>
 
 <ul>
   <li>Android N에서 실행되는 핸드헬드 기기는 화면 분할
 모드를 제공합니다. 이 모드에서 시스템은 화면을 두 개의 앱으로 채우고, 이
-앱을 나란히 또는 상하로 표시합니다. 사용자가 두 앱을 구분하는 분할선을 끌어서 한 앱을 다른 앱보다
+앱을 나란히 또는 상하로 표시합니다. 사용자가 두 앱을 구분하는 분할선을 드래그하여 한 앱을 다른 앱보다
 더 크게 만들 수 있습니다.
   </li>
 
@@ -81,7 +82,7 @@
 <ul>
   <li>사용자가 <a href="{@docRoot}guide/components/recents.html">Overview
 화면</a>을 열고 액티비티 제목을 길게 누르면,
-이 액티비티를 화면의 강조 표시된 부분으로 끌어서 
+이 액티비티를 화면의 강조 표시된 부분으로 드래그하여
 다중 창 모드에 둘 수 있습니다.
   </li>
 
@@ -93,9 +94,9 @@
 
 <p>
   사용자는 여러 액티비티가 화면을 공유하는 동안 한 액티비티에서
-또 다른 액티비티로 데이터를 <a href="{@docRoot}guide/topics/ui/drag-drop.html">끌어서 놓을</a>
+또 다른 액티비티로 데이터를 <a href="{@docRoot}guide/topics/ui/drag-drop.html">드래그 앤 드롭</a>할
 수 있습니다. (이전에는, 사용자가 단일 액티비티 내에서만
-데이터를 끌어서 놓을 수 있었습니다.)
+데이터를 드래그 앤 드롭할 수 있었습니다.)
 </p>
 
 <h2 id="lifecycle">다중 창 수명 주기</h2>
@@ -128,12 +129,14 @@
 </p>
 
 <p>
-  사용자가 앱을 다중 창 모드에 놓으면,
-시스템은 <a href="{@docRoot}guide/topics/resources/runtime-changes.html">런타임 변경 처리</a>에 지정된 대로, 구성 변경을 액티비티에게
-알려줍니다. 기본적으로, 이 변경의 액티비티-수명 주기 관계는 기기의 모드가
-세로 모드에서 가로 모드로 전환되었음을
-시스템이 앱에 알려줄 때와 동일합니다(단순 스왑 대신
-기기 치수가 변경되는 경우는 제외). <a href="{@docRoot}guide/topics/resources/runtime-changes.html">런타임 변경 처리</a>에서 설명한
+  사용자가 앱을 다중 창 모드에 놓으면
+시스템은, <a href="{@docRoot}guide/topics/resources/runtime-changes.html">런타임 변경 처리</a>에 지정된 대로, 구성 변경을 액티비티에
+알려줍니다. 이 동작은 사용자가 앱의 크기를 조정하거나 앱을
+ 전체 화면 모드로 다시 전환할 때도 발생합니다.
+  기본적으로, 이 변경에서 액티비티-수명 주기 관계는 기기 모드가
+ 세로 모드에서 가로 모드로 전환되었음을
+ 시스템이 앱에 알려줄 때와 동일합니다(단순 스왑 대신
+ 기기 치수가 변경되는 경우는 제외). <a href="{@docRoot}guide/topics/resources/runtime-changes.html">런타임 변경 처리</a>에서 설명한
 대로, 액티비티 스스로 구성 변경을 처리하거나, 시스템이 액티비티를 소멸시키고
 새 치수로 다시 액티비티를 생성하도록 할 수
 있습니다.
@@ -143,8 +146,8 @@
   사용자가 창의 크기를 조정하여 한쪽 치수를 더 크게 만드는
 경우, 시스템은 사용자 작업에 맞게 액티비티의 크기를 조정하고 필요한
 경우 <a href="{@docRoot}guide/topics/resources/runtime-changes.html">런타임 변경</a>을 수행합니다. 앱이 새로 노출되는 영역에 그릴 때 지연이 발생하는 경우, 시스템은 {@link
-  android.R.attr#windowBackground windowBackground} 특성 또는 기본
-<code>windowBackgroundFallback</code> 스타일 특성에 의해
+  android.R.attr#windowBackground windowBackground} 속성 또는 기본
+<code>windowBackgroundFallback</code> 스타일 속성에 의해
 지정된 색으로 이 영역을 임시로 채웁니다.
 </p>
 
@@ -152,14 +155,16 @@
 
 <p>
   앱이 Android N을 대상으로 하는 경우, 앱의 액티비티가 다중
-창 표시를 지원하는지 여부와 지원 방법을 구성할 수 있습니다. 매니페스트에서 특성을 설정하여 크기와 레이아웃을 제어할
+창 표시를 지원하는지 여부와 지원 방법을 구성할 수 있습니다. 매니페스트에서 속성을 설정하여 크기와 레이아웃을 제어할
 수 있습니다.
-  루트 액티비티의 특성 설정은 작업 스택 내의 모든
-액티비티에 적용됩니다.
+  루트 액티비티의 속성 설정은 작업 스택 내의 모든
+ 액티비티에 적용됩니다. 예를 들어, 루트 액티비티의
+<code>android:resizeableActivity</code>가 true로 설정된 경우, 작업 스택에 있는 모든 액티비티의
+크기를 조정할 수 있습니다.
 </p>
 
 <p class="note">
-  <strong>참고:</strong> Android N보다 더 낮은 버전의 SDK로 다중 방향 앱을 작성하는 경우
+  <strong>참고:</strong> Android N보다 더 낮은 버전의 SDK로 다중 방향 앱을 빌드하는 경우
 사용자가 앱을 다중 창 모드에서 사용하면, 시스템이
 이 앱의 크기를 강제로 조정합니다. 앱이 예상치 못하게 동작할 수 있음을 사용자에게 경고하는
 대화 상자가 표시됩니다. 시스템은 고정
@@ -171,7 +176,7 @@
 <h4 id="resizeableActivity">android:resizeableActivity</h4>
 <p>
   매니페스트의 <code>&lt;activity&gt;</code> 또는
-<code>&lt;application&gt;</code> 노드에서 이 특성을 설정하여 다중 창
+<code>&lt;application&gt;</code> 노드에서 이 속성을 설정하여 다중 창
 표시를 활성화하거나 비활성화합니다.
 </p>
 
@@ -180,23 +185,23 @@
 </pre>
 
 <p>
-  이 특성을 true로 설정하면, 액티비티를 분할 화면 모드와 자유형식
-모드로 시작할 수 있습니다. 이 특성을 false로 설정하면, 액티비티가 다중 창 모드를 지원하지
+  이 속성을 true로 설정하면, 액티비티를 분할 화면 모드와 자유형식
+모드로 시작할 수 있습니다. 이 속성을 false로 설정하면, 액티비티가 다중 창 모드를 지원하지
 않습니다. 이 값이 false이고 사용자가
 다중 창 모드에서 액티비티를 시작하려고 시도하면, 액티비티가 전체 화면을
 차지합니다.
 </p>
 
 <p>
-  앱이 Android N을 대상으로 하지만 이 특성에 값을 지정하지
-않은 경우, 이 특성의 기본값은 true가 됩니다.
+  앱이 Android N을 대상으로 하지만 이 속성에 값을 지정하지
+않은 경우, 이 속성의 기본값은 true가 됩니다.
 </p>
 
 <h4 id="supportsPictureInPicture">android:supportsPictureInPicture</h4>
 
 <p>
-  이 특성을 매니페스트의 <code>&lt;activity&gt;</code> 노드에 설정하여
-액티비티가 PIP 표시를 지원하는지 여부를 나타냅니다. <code>android:resizeableActivity</code>가 false인 경우 이 특성이
+  이 속성을 매니페스트의 <code>&lt;activity&gt;</code> 노드에 설정하여
+액티비티가 PIP 표시를 지원하는지 여부를 나타냅니다. <code>android:resizeableActivity</code>가 false인 경우 이 속성이
 무시됩니다.
 </p>
 
@@ -204,12 +209,12 @@
 android:supportsPictureInPicture=["true" | "false"]
 </pre>
 
-<h3 id="layout">레이아웃 특성</h3>
+<h3 id="layout">레이아웃 속성</h3>
 
 <p>
   Android N에서 <code>&lt;layout&gt;</code> 매니페스트 요소는
 다중 창 모드에서 액티비티가 동작하는 방식에 영향을 미치는
-여러 특성을 지원합니다.
+여러 속성을 지원합니다.
 </p>
 
 <dl>
@@ -234,17 +239,17 @@
   </dt>
 
   <dd>
-    자유형식 모드에서 시작될 때 액티비티의 초기 배치. 적합한 값은
-{@link android.view.Gravity} 참조를 참조하세요.
+    자유형식 모드에서 시작될 때 액티비티의 초기 배치. 적당한 값은
+{@link android.view.Gravity} 참조를 확인하세요.
   </dd>
 
   <dt>
-    <code>android:minimalSize</code>
+    <code>android:minimalHeight</code>, <code>android:minimalWidth</code>
   </dt>
 
   <dd>
     화면 분할
-및 자유형식 모드에서 액티비티의 최소 높이 및 최소 너비. 사용자가 화면 분할 모드에서 디바이더를 이동하여 액티비티를
+ 및 자유형식 모드에서 액티비티의 최소 높이 및 최소 너비. 사용자가 화면 분할 모드에서 디바이더를 이동하여 액티비티를
 지정된 최소값보다 더 작게 만드는 경우, 시스템은
 이 액티비티를 사용자가 요청한 크기로 자릅니다.
   </dd>
@@ -261,7 +266,8 @@
     &lt;layout android:defaultHeight="500dp"
           android:defaultWidth="600dp"
           android:gravity="top|end"
-          android:minimalSize="450dp" /&gt;
+          android:minimalHeight="450dp"
+          android:minimalWidth="300dp" /&gt;
 &lt;/activity&gt;
 </pre>
 
@@ -287,7 +293,7 @@
 
   <li>시스템이 <code><a href=
   "{@docRoot}guide/topics/manifest/activity-element.html#screen"
-  >android:screenOrientation</a></code> 특성의 변경을 무시합니다.
+  >android:screenOrientation</a></code> 속성의 변경을 무시합니다.
   </li>
 </ul>
 
@@ -295,68 +301,69 @@
 
 <p>
   다중 창 표시를 지원하기 위해 다음과 같은 새 메서드가 {@link android.app.Activity}
-클래스에 추가되었습니다. 각 메서드에 대한 자세한 내용은,
-<a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK 참조</a>를 참조하세요.
+ 클래스에 추가되었습니다. 각 메서드에 대한 자세한 내용은
+<a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK
+참조</a>를 확인하세요.
 </p>
 
 <dl>
   <dt>
-    <code>Activity.inMultiWindow()</code>
+    <code>Activity.isInMultiWindowMode()</code>
   </dt>
 
   <dd>
-    액티비티가 다중 창 모드에 있는지를 알아내려면 호출합니다.
+    액티비티가 다중 창 모드에 있는지를 알아내려면 이 메서드를 호출하세요.
   </dd>
 
   <dt>
-    <code>Activity.inPictureInPicture()</code>
+    <code>Activity.isInPictureInPictureMode()</code>
   </dt>
 
   <dd>
-    액티비티가 PIP 모드에 있는지를 알아내려면 호출합니다.
+    액티비티가 PIP 모드에 있는지를 알아내려면 이 메서드를 호출하세요.
 
     <p class="note">
       <strong>참고:</strong> PIP 모드는 다중 창 모드의 특별한
-케이스입니다. <code>myActivity.inPictureInPicture()</code>가
-true를 반환하면, <code>myActivity.inMultiWindow()</code>도 또한
-true를 반환합니다.
+ 케이스입니다. <code>myActivity.isInPictureInPictureMode()</code>가
+true를 반환하면 <code>myActivity.isInMultiWindowMode()</code>도
+역시 true를 반환합니다.
     </p>
   </dd>
 
   <dt>
-    <code>Activity.onMultiWindowChanged()</code>
+    <code>Activity.onMultiWindowModeChanged()</code>
   </dt>
 
   <dd>
     시스템은 액티비티가 다중 창 모드로 들어가거나
-이 모드에서 나올 때마다 이 메서드를 호출합니다. 시스템은 액티비티가 다중 창 모드로
-들어갈 때는 true 값을 메서드에 전달하고, 액티비티가 다중 창 모드에서
-나올 때는 false를 전달합니다.
+ 이 모드에서 나올 때마다 이 메서드를 호출합니다. 시스템은 액티비티가 다중 창 모드로
+ 들어갈 때는 true 값을 메서드에 전달하고, 액티비티가 다중 창 모드에서
+ 나올 때는 false 값을 전달합니다.
   </dd>
 
   <dt>
-    <code>Activity.onPictureInPictureChanged()</code>
+    <code>Activity.onPictureInPictureModeChanged()</code>
   </dt>
 
   <dd>
     시스템은 액티비티가 PIP 모드로 들어가거나
-이 모드에서 나올 때마다 이 메서드를 호출합니다. 시스템은 액티비티가 PIP 모드로 들어갈 때는
-true 값을 메서드에 전달하고, 액티비티가 PIP에서 나올 때는
-false를 전달합니다.
+ 이 모드에서 나올 때마다 이 메서드를 호출합니다. 시스템은 액티비티가 PIP 모드로 들어갈 때는
+ true 값을 메서드에 전달하고, 액티비티가 PIP에서 나올 때는
+ false 값을 전달합니다.
   </dd>
 </dl>
 
 <p>
   또한 이들 각 메서드의 {@link android.app.Fragment} 버전이
-있습니다(예: <code>Fragment.inMultiWindow()</code>).
+있습니다(예: <code>Fragment.isInMultiWindowMode()</code>).
 </p>
 
 <h3 id="entering-pip">PIP 모드로 들어가기</h3>
 
 <p>
   액티비티를 PIP 모드에 두려면, 새로운 메서드인
-<code>Activity.enterPictureInPicture()</code>를 호출합니다. 기기가 PIP 모드를 지원하지 않으면 이 메서드는
-영향이 없습니다. 자세한 내용은
+<code>Activity.enterPictureInPictureMode()</code>를 호출합니다. 기기가 PIP 모드를 지원하지 않으면 이 메서드는
+ 영향이 없습니다. 자세한 내용은
 <a href="picture-in-picture.html">PIP</a> 문서를 참조하세요.
 </p>
 
@@ -395,18 +402,18 @@
 새 작업 스택에서 액티비티를 시작해야 합니다.
 </p>
 
-<h3 id="dnd">끌어서 놓기 지원</h3>
+<h3 id="dnd">드래그 앤 드롭 지원</h3>
 
 <p>
   사용자는 두
-액티비티가 화면을 공유하는 동안 한 액티비티에서 다른 액티비티로 데이터를 <a href="{@docRoot}guide/topics/ui/drag-drop.html">끌어서 놓을</a>
-수 있습니다. (이전에는, 사용자가 단일 액티비티 내에서만 데이터를 끌어서
-놓을 수 있었습니다.) 이러한 이유로, 앱이 현재 지원하지 않는 경우에는 끌어서 놓기
+액티비티가 화면을 공유하는 동안 한 액티비티에서 다른 액티비티로 데이터를 <a href="{@docRoot}guide/topics/ui/drag-drop.html">드래그 앤 드롭</a>할
+수 있습니다. (이전에는, 사용자가 단일 액티비티 내에서만 데이터를 드래그 앤 드롭할
+ 수 있었습니다.) 이러한 이유로, 앱이 현재 지원하지 않는 경우에는 드래그 앤 드롭
 기능을 앱에 추가하는 것이 좋습니다.
 </p>
 
 <p>
-  N Preview SDK는 앱 간의 끌어서 놓기를 지원하기 위해 <a href="{@docRoot}reference/android/view/package-summary.html"><code>android.view</code></a>
+  N Preview SDK는 앱 간의 드래그 앤 드롭을 지원하기 위해 <a href="{@docRoot}reference/android/view/package-summary.html"><code>android.view</code></a>
 패키지를 확장합니다. 다음과 같은 클래스와 메서드에 대한 자세한
 내용은, <a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview
 SDK 참조</a>를 참조하세요.
@@ -427,7 +434,7 @@
   </dt>
 
   <dd>
-    {@link android.view.View#startDrag View.startDrag()}의 새 별칭. 액티비티 간의 끌어서 놓기를 활성화하려면, 새 플래그
+    {@link android.view.View#startDrag View.startDrag()}의 새 별칭. 액티비티 간의 드래그 앤 드롭을 활성화하려면, 새 플래그
 <code>View.DRAG_FLAG_GLOBAL</code>을
 전달합니다. 수신자 액티비티에게 URI 권한을
 부여해야 하는 경우, 새 플래그
@@ -440,7 +447,7 @@
   </dt>
 
   <dd>
-    현재 진행 중인 끌기 작업을 취소합니다. 끌기 작업을 발생시킨
+    현재 진행 중인 드래그 작업을 취소합니다. 드래그 작업을 발생시킨
 앱에 의해서만 호출될 수 있습니다.
   </dd>
 
@@ -449,7 +456,7 @@
   </dt>
 
   <dd>
-    현재 진행 중인 끌기 작업의 끌기 그림자를 대체합니다. 끌기 작업을 발생시킨
+    현재 진행 중인 드래그 작업의 드래그 그림자를 대체합니다. 드래그 작업을 발생시킨
 앱에 의해서만 호출될 수 있습니다.
   </dd>
 
@@ -481,7 +488,7 @@
 <h3 id="test-non-n">앱이 N Preview SDK로 작성되지 않은 경우</h3>
 
 <p>
-  앱을 N Preview SDK로 작성하지 않았는데 사용자가
+  앱을 N Preview SDK로 빌드하지 않았는데 사용자가
 앱을 다중 창 모드에서 사용하려고 시도하는 경우, 이 앱이 고정 방향을 선언하지
 않으면 시스템이 앱의 크기를 강제로 조정합니다.
 </p>
@@ -489,7 +496,7 @@
 <p>
   앱이 고정 방향을 선언하지 않은 경우, Android N이
 실행 중인 기기에서 앱을 시작해야 하며, 앱을 화면 분할 모드에
-두도록 시도해야 합니다. 앱의 크기를 강제로 조정하는 경우 사용자 경험이
+두도록 시도해야 합니다. 앱의 크기를 강제로 조정하는 경우 사용자 환경이
 적절한지 확인하세요.
 </p>
 
@@ -529,7 +536,7 @@
   </li>
 
   <li>모든 테스트를 통해 앱의 성능이 적절한지 확인합니다. 예를 들어,
-앱 크기를 조정한 후에, 업데이트하기에 지연이
+앱 크기를 조정한 후 UI를 업데이트하기에 지연이
 너무 길지 않은지 확인합니다.
   </li>
 </ul>
diff --git a/docs/html-intl/intl/ko/preview/features/multilingual-support.jd b/docs/html-intl/intl/ko/preview/features/multilingual-support.jd
index f2c9cb9..6b3e999 100644
--- a/docs/html-intl/intl/ko/preview/features/multilingual-support.jd
+++ b/docs/html-intl/intl/ko/preview/features/multilingual-support.jd
@@ -18,8 +18,8 @@
 </div>
 </div>
 
-<p>Android N은 다국어 사용자를 위한 지원을 개선해서
-설정에서 여러 로케일을 선택할 수 있습니다. Android N은
+<p>Android N에서는 다국어 사용자를 위한 지원이 개선되었으므로
+이러한 사용자가 이제 설정에서 여러 로케일을 선택할 수 있습니다. Android N은
 지원되는 로케일 수를 대폭 확대하고
 시스템이 리소스를 결정하는 방식을 변경하여 이 기능을 제공합니다. 새로 도입된 리소스 결정 방법은
 더욱 안정적이고 기존 APK와 호환되도록 설계되어 있지만
@@ -36,23 +36,27 @@
 
 <h2 id="preN">언어 리소스 결정에서의 과제</h2>
 
-<p>Android N 이전의 Android는
-앱과 시스템 로케일을 매칭하지 못하는 경우도 있었습니다. 예를 들어, 앱의 기본 언어가
-미국 영어지만 {@code es_ES}
- 리소스 파일에 스페인어 문자열도 현지화되어 있습니다.</p>
-<p>Java 코드가 문자열을 참조할 때 다음과 같이 문자열 언어를
-결정합니다.</p>
-<ul>
-<li>기기가 {@code es_MX}(멕시코 스페인어)로 설정되어 있으면 Android는
-{@code es_ES} 리소스 파일에서 문자열을 로드합니다.</li>
-<li>기기가 {@code en_AU}로 설정되어 있으면 Android는 {@code
-en_US}로 돌아갑니다. 또한, 사용자가 앱에서 전혀 지원하지 않는 언어(예: 프랑스어)를 선택하면 시스템이 기본값을 {@code en_US}로
-설정합니다.</li>
-</ul>
+<p>Android N 이전의 Android에서는
+ 앱과 시스템 로케일을 매칭하지 못하는 경우가 가끔 있었습니다.</p>
+
+ <p>예를 들어, 다음과 같은 상황이라고 가정해 봅시다.</p>
+ <ul>
+ <li>앱의 기본 언어가 {@code en_US}(미국 영어)인데
+, {@code es_ES}
+ 리소스 파일에 스페인어 문자열도 현지화했습니다.</li>
+ <li> 기기는 {@code es_MX}로 설정되어 있습니다. </li>
+
+<p>Java 코드가 문자열을 참조할 때
+앱에서 {@code es_ES} 아래에 스페인어 리소스를 현지화했더라도, 시스템은 기본({@code en_US}) 리소스 파일로부터 문자열을
+로드합니다. 그 이유는 시스템이
+정확한 일치 항목을 찾을 수 없을 때 해당 로케일에서 국가 코드를
+제거하여 리소스를 계속 찾기 때문입니다. 마지막으로, 일치 항목을 찾지 못한 경우 시스템은 기본값({@code en_US})으로 다시
+돌아갑니다. </p>
 
 
-<p>시스템이 정확한 일치를 찾지 못하면
-로케일의 국가 코드를 삭제하기 때문에 이러한 결정 문제가 발생합니다.  예:</p>
+<p>또한, 앱에서 전혀 지원하지 않는 언어(예: 프랑스어)를 사용자가 선택하면 시스템은 기본값을 {@code en_US}로
+설정합니다. 예를 들면 다음과 같습니다.</p>
+
 <p class="table-caption" id="t-resource-res">
 <strong>표 1.</strong> 정확한 로케일 일치가 없는 경우 리소스 결정.
 </p>
@@ -136,7 +140,7 @@
 </table>
 
 
-<p>이제 사용자는 영어 대신 프랑스어 리소스를 보게 됩니다. 이 예시는
+<p>이제 사용자는 영어 대신 프랑스어 리소스를 보게 됩니다. 이 예시에서는
 Android N에서 프랑스어 문자열을 {@code fr_FR}
 이 아니라 {@code fr}에 저장해야 하는 이유를 알 수 있습니다. 이러한 동작을 통해 가장 가까운 상위 방언과 일치시켜서
 더욱 빠르고 예측 가능하게 결정합니다.</p>
@@ -187,10 +191,10 @@
 <h2 id="design">추가 로케일 지원을 위한 앱 설계</h2>
 <h3>LocaleList API</h3>
 
-<p>Android N에서는 앱이 사용자가 지정한 언어 목록을 직접 쿼리할 수 있는 새로운 API {@code LocaleList.GetDefault()}
-가 추가되었습니다. 이 API는
+<p>Android N에서는 앱이 사용자가 지정한 언어 목록을 직접 쿼리할 수 있는 새로운 API {@code LocaleList.getDefault()}가
+추가되었습니다. 이 API는
 앱 동작을 더욱 정교하게 해주고
-콘텐츠 표시 최적화를 개선합니다. 예를 들어, 검색 시
+ 콘텐츠 표시를 더 최적화해 줍니다. 예를 들어, 검색 시
 사용자 설정에 따라 여러 언어로 결과를 표시할 수 있습니다.  브라우저 앱은
 사용자가 이미 알고 있는 언어로
 번역 페이지를 제공하지 않고, 키보드 앱은 모든 적절한 레이아웃을 자동 활성화할 수 있습니다. </p>
@@ -211,7 +215,7 @@
 <p>가장 좋은 예시로는 아랍어가 있습니다. Android N에서 아랍어 지원이
 {@code ar_EG} 1개에서 27개 아랍어 로케일로 확장되었습니다. 이러한 로케일은 대부분의 리소스를 공유할 수 있지만
 어떤 로케일은 ASCII 숫자를 선호하고 어떤 로케일은 네이티브 숫자를 선호합니다. 예를 들어,
-"4자리 핀 선택"과 같은 숫자 변수가 포함된 문장을 생성하려면
+"4자리 PIN 선택"과 같은 숫자 변수가 포함된 문장을 생성하려면
 아래와 같이 포맷터를 사용합니다.</p>
 
 <pre> format(locale, "Choose a %d-digit PIN", 4)</pre>
diff --git a/docs/html-intl/intl/ko/preview/features/notification-updates.jd b/docs/html-intl/intl/ko/preview/features/notification-updates.jd
index 16f4dad..480eda0 100644
--- a/docs/html-intl/intl/ko/preview/features/notification-updates.jd
+++ b/docs/html-intl/intl/ko/preview/features/notification-updates.jd
@@ -1,5 +1,5 @@
 page.title=알림
-page.tags=notifications
+page.tags=알림
 helpoutsWidget=true
 page.image=/preview/images/notifications-card.png
 
@@ -16,13 +16,14 @@
   <li><a href="#direct">직접 회신</a></li>
   <li><a href="#bundle">묶음 알림</a></li>
   <li><a href="#custom">사용자 지정 뷰</a></li>
+  <li><a href="#style">메시지 스타일</a></li>
 </ol>
 
 </div>
 </div>
 
-<p>Android N에서는 앱이 가시성과 상호작용이 뛰어난 알림을
-게시할 수 있도록 여러 새로운 API를 소개합니다.</p>
+<p>Android N에서는 가시성과 상호 작용이 뛰어난 알림을
+앱이 게시할 수 있도록 여러 가지 새로운 API를 도입했습니다.</p>
 
 <p>Android N에서는 핸드셋에서 인라인 회신을 지원하기 위해 기존의 {@link android.support.v4.app.RemoteInput}
 알림 API를 확장합니다. 이 기능을 사용하면 앱을 방문하지 않고도 알림 창에서
@@ -50,17 +51,17 @@
 <p>Android N에 있는 직접 회신 기능을 사용하여, 사용자가 문자
 메시지에 신속하게 응답하거나 알림 인터페이스 내에서 직접
 작업 목록을 업데이트할 수 있습니다. 핸드헬드에서 인라인 회신 동작은 알림에 연결된 추가적인
-버튼으로 나타납니다. 사용자가 키보드를 통해 회신하면,
+버튼으로 나타납니다. 사용자가 키보드를 통해 회신하면
 시스템은 여러분이 알림 동작에 지정했던
 인텐트에 텍스트 응답을 첨부하고 이 인텐트를
-핸드헬드 앱으로 보냅니다.
+ 핸드헬드 앱으로 보냅니다.
 
 
 <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>그림 1.</strong> Android N이 <strong>회신</strong>
-동작 버튼을 추가합니다.
+  <strong>그림 1.</strong> Android N이 <strong>Reply</strong>
+ 동작 버튼을 추가합니다.
 </p>
 
 <h3>인라인 회신 동작 추가</h3>
@@ -71,12 +72,12 @@
 <ol>
 <li>알림 동작에 추가할 수 있는 {@link android.support.v4.app.RemoteInput.Builder}의
 인스턴스를
-만듭니다. 이 클래스의 생성자는 시스템이 문자 입력의 키로
-사용하는 문자열을 수락합니다. 나중에 핸드헬드 앱은 이 키를 사용하여 입력 텍스트를
+만듭니다. 이 클래스의 생성자는 시스템이 텍스트 입력의 키로
+ 사용하는 문자열을 수락합니다. 나중에 핸드헬드 앱은 이 키를 사용하여 입력 텍스트를
 검색합니다.
 
 <pre>
-// Key for the string that's delivered in the action's intent
+// 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)
@@ -88,7 +89,7 @@
 객체를 동작에 첨부합니다.
 
 <pre>
-// Create the reply action and add the remote input
+// 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)
@@ -100,8 +101,8 @@
 <li>동작을 알림에 적용하고 알림을 발생합니다.
 
 <pre>
-// Build the notification and add the action
-Notification notification =
+// Build the notification and add the action.
+Notification newMessageNotification =
         new Notification.Builder(mContext)
                 .setSmallIcon(R.drawable.ic_message)
                 .setContentTitle(getString(R.string.title))
@@ -109,10 +110,10 @@
                 .addAction(action))
                 .build();
 
-// Issue the notification
+// Issue the notification.
 NotificationManager notificationManager =
         NotificationManager.from(mContext);
-notificationManager.notify(notificationId, notification);
+notificationManager.notify(notificationId, newMessageNotification);
 
 </pre>
 </li>
@@ -129,30 +130,32 @@
   <strong>그림 2.</strong> 사용자가 알림 창에서 텍스트를 입력합니다.
 </p>
 
-<h3>인라인 회신에서 사용자 입력 검색</h3>
+<h3>
+  인라인 회신에서 사용자 입력을 검색
+</h3>
 
-<p>회신 동작의 인텐트에 선언한 액티비티에 대해 알림
-인터페이스로부터 사용자 입력을 수신하려면:</p>
+<p>
+  회신 동작의 인텐트에 선언하셨던 액티비티에 대해 알림
+ 인터페이스로부터 사용자 입력을 수신하려면:
+</p>
+
 <ol>
-<li> 알림 동작의 인텐트를 입력 매개변수로서 전달하여 {@link android.support.v4.app.RemoteInput#getResultsFromIntent
-  getResultsFromIntent()}를
-호출합니다. 이 메서드는 텍스트 응답이 포함된 {@link android.os.Bundle}을
-반환합니다.
-</li>
+  <li>알림 동작의 인텐트를 입력 매개변수로서 전달하여 {@link android.support.v4.app.RemoteInput#getResultsFromIntent
+ getResultsFromIntent()}를
+ 호출합니다. 이 메서드는 텍스트 응답이 포함된 {@link android.os.Bundle}을
+ 반환합니다.
 
-<pre>
+    <pre>
 Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
 </pre>
+  </li>
 
-<li>({@link
-  android.support.v4.app.RemoteInput.Builder} 생성자에 제공된) 결과 키를 사용하여 번들을 쿼리합니다.
-</li>
-</ol>
+  <li>({@link
+ android.support.v4.app.RemoteInput.Builder} 생성자에 제공된) 결과 키를 사용하여 번들에 쿼리를 수행합니다. 다음 코드 조각에서처럼, 메서드를 만들어 이 프로세스를
+완료하고 입력 텍스트를
+검색할 수 있습니다.
 
-<p>다음 코드 조각에서는 메서드가 번들로부터 입력 텍스트를
-검색하는 방법을 보여줍니다.</p>
-
-<pre>
+    <pre>
 // Obtain the intent that started this activity by calling
 // Activity.getIntent() and pass it into this method to
 // get the associated string.
@@ -160,20 +163,53 @@
 private CharSequence getMessageText(Intent intent) {
     Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
     if (remoteInput != null) {
-            return remoteInput.getCharSequence(KEY_TEXT_REPLY);
-            }
+        return remoteInput.getCharSequence(KEY_TEXT_REPLY);
+    }
     return null;
  }
 </pre>
+  </li>
 
-<p>검색된 텍스트에 어떤 동작을 취할지를 결정하기 위해
-앱이 로직을 적용할 수 있습니다.
-채팅과 같은 대화형 앱은 알림 자체에서 더 많은 컨텍스트를
-제공하므로(예: 사용자 자신의 메시지를 포함한 여러 줄의 채팅 기록)
-사용자가 적절하게 응답할 수 있습니다.
-사용자가 {@link android.support.v4.app.RemoteInput}을 통해 응답하는 경우, {@code setRemoteInputHistory()}
-메서드로 텍스트를 회신 기록에
-포함시킵니다.</p>
+  <li>이전 알림에 대해 제공했던 것과 동일한 알림 ID를
+ 사용하여, 다른 알림을 작성하고 발급합니다. 사용자에게 성공적으로 회신했음을
+알려주기 위해 알림 인터페이스에서
+알림 표시기가 사라집니다. 이 새로운 알림으로 작업할 때, 수신기의
+{@code onReceive()} 메서드로 전달되는 컨텍스트를 사용하세요.
+
+    <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>
+  채팅과 같은 대화형 앱의 경우, 검색된 텍스트를 처리할 때
+ 추가 컨텍스트를 포함하는 것이 유용할 수 있습니다. 예를 들어, 이들 앱은 여러 줄의 채팅 기록을
+표시할 수 있습니다. 사용자가 {@link
+ android.support.v4.app.RemoteInput}을 통해 응답하는 경우,
+{@code setRemoteInputHistory()} 메서드를 사용하여 회신 기록을 업데이트할 수 있습니다.
+</p>
+
+<p>
+  앱이 원격 입력을 수신한 후에는 알림이 업데이트되거나
+ 취소되어야 합니다. 사용자가 Direct Reply를 사용하여 원격 업데이트에
+회신할 때는 알림을
+취소하지 마세요. 그 대신, 사용자의 회신을 표시하도록 알림을 업데이트하세요.
+{@code MessagingStyle}을 사용하는 알림의 경우, 회신을 최신 메시지로서
+추가해야 합니다. 다른 템플릿을 사용할 경우 사용자의
+회신을 원격 입력 기록에 추가할 수 있습니다.
+</p>
 
 <h2 id="bundle">묶음 알림</h2>
 
@@ -187,7 +223,7 @@
 Builder.setGroup()} 메서드를 사용하여 유사한 알림을 묶을 수 있습니다.</p>
 
 <p>
-  알림 그룹은 이 그룹을 구성하는 알림을 계층 구조로 만듭니다 .
+  알림 그룹은 이 그룹을 구성하는 알림을 계층 구조로 만듭니다.
   계층 구조의 맨 위는 그룹의 요약 정보가 표시되는 상위
 알림입니다. 사용자는 알림 그룹을 점진적으로 확장할 수 있으며, 시스템은
 사용자가 더 깊이 파고들수록 더 많은 정보를
@@ -200,18 +236,24 @@
           {@docRoot}preview/images/bundles_2x.png 2x" width="300">
 <p class="img-caption">
   <strong>그림 3.</strong> 사용자는 알림 그룹을 점진적으로 확장할 수
-있습니다.
+ 있습니다.
 </p>
 
-<p>알림을 그룹에 추가하는 방법을 알아보려면,
+<p class="note">
+  <strong>참고:</strong> 동일 앱이 4개 이상의 알림을 보내면서
+그룹화를 지정하지 않으면,
+시스템에서 이들 알림을 자동으로 그룹화합니다.
+</p>
+
+<p>알림을 그룹에 추가하는 방법을 알아보려면
 <a href="{@docRoot}training/wearables/notifications/stacks.html#AddGroup">각
 알림을 그룹에 추가</a>를 참조하세요.</p>
 
 
 <h3 id="best-practices">묶음 알림의 모범 사례</h3>
 <p>이 섹션에서는 이전 버전의 Android 플랫폼에서
-사용되었던 {@link android.app.Notification.InboxStyle InboxStyle} 알림 대신에
-알림 그룹을 사용할 때의 지침을
+사용되었던 {@link android.app.Notification.InboxStyle InboxStyle}
+알림 대신에 알림 그룹을 사용할 때의 지침을
 제공합니다.</p>
 
 <h3>묶음 알림을 사용하는 경우</h3>
@@ -222,7 +264,7 @@
 <ul>
   <li>하위 알림은 완전한 알림이며 그룹 요약이 필요 없이
 개별적으로 표시될 수 있습니다.</li>
-  <li>다음은 하위 알림을 개별적으로 표시할 때의 이점입니다. 예:
+  <li>하위 알림을 개별적으로 표시하는 경우 이점이 있습니다. 예를 들면 다음과 같습니다.
 
   </li>
   <ul>
@@ -273,7 +315,7 @@
 <h3>이전 버전과의 호환성</h3>
 
 <p>
-  Android 5.0 (API 레벨 21) 이후로, 알림 그룹과
+  Android 5.0(API 레벨 21) 이후로, 알림 그룹과
 원격 입력은 Android Wear 기기를 지원하기 위한 {@link
   android.app.Notification} API의 일부였습니다. 이미 이들 API로 알림을 작성한 경우 수행할 조치는,
 앱 동작이 위에 설명된 지침과 일치하는지 확인하고 {@code
@@ -283,8 +325,8 @@
 
 <p>
   이전 버전과의 호환성을 지원하기 위해,
-지원 라이브러리의 {@link android.support.v4.app.NotificationCompat} 클래스로 동일한
-API를 사용할 수 있으며, 이전 Android 버전에서 작동하는 알림을 작성할
+지원 라이브러리의 {@link android.support.v4.app.NotificationCompat}
+클래스로 동일한 API를 사용할 수 있으며, 이전 Android 버전에서 작동하는 알림을 작성할
 수 있습니다. 핸드헬드와 태블릿에서는 요약 알림만 사용자에게 보이므로,
 앱은 해당 그룹의 전체 정보 콘텐츠에 대해 받은편지함
 스타일이나 이와 동등한 알림 표시를 계속 가져야 합니다. Android
@@ -314,11 +356,11 @@
 <p>이 새로운 API를 사용하려면, {@code setStyle()} 메서드를 호출하여,
 원하는 사용자 지정 뷰 스타일에 전달합니다.</p>
 
-<p>이 코드 조각은
+<p>이 조각에서는
 {@code DecoratedCustomViewStyle()} 메서드로 사용자 지정 알림 객체를 구성하는 방법을 보여줍니다.</p>
 
 <pre>
-Notification noti = new Notification.Builder()
+Notification notification = new Notification.Builder()
            .setSmallIcon(R.drawable.ic_stat_player)
            .setLargeIcon(albumArtBitmap))
            .setCustomContentView(contentView);
@@ -326,3 +368,26 @@
            .build();
 
 </pre>
+
+<h2 id="style">메시징 스타일</h2>
+<p>
+  Android N에서는 알림 메시지의 스타일을 사용자 지정하기 위한 새로운 API를 도입했습니다.
+  <code>MessageStyle</code> 클래스를 사용하면 대화 제목, 추가 메시지 및 알림에 대한 콘텐츠 뷰를 비롯하여
+알림 메시지에 표시되는 여러 가지 레이블을
+변경할 수 있습니다.
+</p>
+
+<p>
+  다음 코드 조각에서는
+ <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/ko/preview/features/picture-in-picture.jd b/docs/html-intl/intl/ko/preview/features/picture-in-picture.jd
index 74472b5..bc6ec62 100644
--- a/docs/html-intl/intl/ko/preview/features/picture-in-picture.jd
+++ b/docs/html-intl/intl/ko/preview/features/picture-in-picture.jd
@@ -1,5 +1,5 @@
 page.title=PIP
-page.keywords=preview,sdk,PIP,Picture-in-picture
+page.keywords=preview, sdk, PIP, Picture-in-picture
 page.tags=androidn
 
 @jd:body
@@ -16,7 +16,9 @@
   <li><a href="#handling_ui">PIP에서 UI 처리</a>
 </li>
   <li><a href="#continuing_playback">
-PIP에서 동영상 재생 지속</a></li>
+PIP에서 동영상 재생 계속</a></li>
+  <li><a href="#single_playback">PIP를 위한 단일 재생 액티비티
+사용</a></li>
   <li><a href="#best">모범 사례</a></li>
 </ol>
 
@@ -31,17 +33,17 @@
 
 <p>Android N에서 Android TV 사용자는
 앱 안에서 탐색할 때 화면 모서리의 고정 창에서
-동영상을 볼 수 있습니다. PIP(Picture-in-picture) 모드를 사용하면
+동영상을 볼 수 있습니다. PIP(Picture-In-Picture) 모드를 사용하면
 앱의 백그라운드에서 다른 액티비티를 계속하면서
 고정 창에서 동영상 액티비티를 실행할 수 있습니다. PIP 창에서 사용자는 앱을 사용하는 동안 멀티태스킹이 가능하므로
 생산성이 향상됩니다.</p>
 
-<p>앱이 PIP 모드를 실행할 시기를 결정할 수 있습니다. PIP 모드로 진입하는 시기와 관련된 몇 가지
-예시:</p>
+<p>앱이 PIP 모드를 실행할 시기를 결정할 수 있습니다. PIP 모드로 전환하는 시기와 관련된 몇 가지
+예시는 다음과 같습니다.</p>
 
 <ul>
 <li>사용자가 동영상에서 다른 콘텐츠를 탐색하러 이동할 때 앱이
-동영상을 PIP 모드로 이동할 수 있습니다.</li>
+동영상을 PIP 모드로 전환할 수 있습니다.</li>
 <li>사용자가 콘텐츠 에피소드의 끝부분을 볼 때 앱이
 동영상을 PIP 모드로 전환할 수 있습니다. 메인 화면은 시리즈 다음 에피소드의
 홍보 또는 요약 정보를 표시합니다.</li>
@@ -50,7 +52,7 @@
 동영상이 PIP 모드에서 계속 재생됩니다.</li>
 </ul>
 
-<p>PIP 창은 240x135dp이고 
+<p>PIP 창은 240x135dp이고
 화면 모서리 4개 중 하나에서 가장 위쪽 레이어에 표시되며, 시스템이 선택합니다. 사용자는
 리모컨의 <b>Home</b> 버튼을 눌러
 PIP 창을 전체 화면으로 전환하거나 PIP를 닫는 PIP 메뉴를 불러올 수 있습니다. 다른 동영상이
@@ -89,29 +91,29 @@
 
 <p>액티비티를 등록할 때는 PIP 모드에서
 액티비티가 TV 화면의 작은 오버레이 창에 표시된다는 것을 기억하세요. 최소 UI를 포함한
-동영상 재생 액티비티가 가장 좋은 사용자 경험을 제공합니다. 작은 UI 요소를 포함한
+동영상 재생 액티비티가 가장 좋은 사용자 환경을 제공합니다. 작은 UI 요소를 포함한
 액티비티는 PIP 모드로 전환할 때
 사용자가 PIP 창의 UI 요소를 상세히 볼 수 없으므로
-좋은 사용자 경험을 제공하지 못할 수 있습니다.</p>
+좋은 사용자 환경을 제공하지 못할 수 있습니다.</p>
 
 <h2 id="pip_button">액티비티를 PIP로 전환</h2>
 
 액티비티를 PIP 모드로 전환해야 하는 경우
-<code>Activity.enterPictureInPicture()</code>를 호출합니다. 다음은 사용자가 미디어 컨트롤 막대에서 전용 PIP 버튼을 선택했을 때
-PIP 모드로 전환하는 예시입니다.
-</p>
+<code>Activity.enterPictureInPictureMode()</code>를 호출합니다. 다음 예에서는 사용자가
+미디어 컨트롤 막대에서 전용 PIP 버튼을 선택했을 때
+PIP 모드로 전환합니다.</p>
 
 <pre>
 &#64;Override
 public void onActionClicked(Action action) {
     if (action.getId() == R.id.lb_control_picture_in_picture) {
-        getActivity().enterPictureInPicture();
+        getActivity().enterPictureInPictureMode();
         return;
     }
     ...
 </pre>
 
-<p>미디어 제어 막대에 PIP 버튼을 추가하면
+<p>미디어 컨트롤 막대에 PIP 버튼을 추가하면
 사용자가 동영상 재생을 제어하면서 PIP 모드로 쉽게 전환할 수 있습니다.</p>
 
 <img src="{@docRoot}preview/images/pip-button.png" />
@@ -124,17 +126,17 @@
 
 <h2 id="handling_ui">PIP에서 UI 처리</h2>
 
-<p>액티비티가 PIP 모드로 들어가면
-동영상 재생만 표시됩니다. 액티비티가 PIP 모드로 들어가기 전에 UI 요소를 제거하고
+<p>액티비티가 PIP 모드로 전환되면
+동영상 재생만 표시됩니다. 액티비티가 PIP 모드로 전환되기 전에 UI 요소를 제거하고
 액티비티가 다시 전체 화면이 되었을 때 이 요소를 복원합니다.
-필요에 따라 <code>Activity.onPictureInPictureChanged()</code> 또는
-<code>Fragment.onPictureInPictureChanged()</code>을 재정의하고
-UI 요소를 활성화/비활성화합니다. 예:</p>
+필요에 따라 <code>Activity.onPictureInPictureModeChanged()</code> 또는
+<code>Fragment.onPictureInPictureModeChanged()</code>를 재정의하고
+UI 요소를 활성화/비활성화합니다. 예를 들면 다음과 같습니다.</p>
 
 <pre>
 &#64;Override
-public void onPictureInPictureChanged(boolean inPictureInPicture) {
-    if (inPictureInPicture) {
+public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
+    if (isInPictureInPictureMode) {
         // Hide the controls in picture-in-picture mode.
         ...
     } else {
@@ -144,21 +146,21 @@
 }
 </pre>
 
-<h2 id="continuing_playback">
-PIP에서 동영상 재생 지속</h2>
+<h2 id="continuing_playback">PIP에서 동영상 재생 계속
+</h2>
 
 <p>액티비티가 PIP 모드로 전환되면 시스템은
 액티비티가 일시 정지된 상태에 있다고 간주하고 액티비티의 <code>onPause()</code> 메서드를 호출합니다. 동영상
 재생은 일시 정지되어서는 안되며 PIP 모드로 인해 액티비티가 일시 정지되었다면
 계속 재생되어야 합니다. 액티비티의
-<code>onPause()</code> 메서드에서 PIP를 확인하고 적절히 재생을 처리합니다. 예:
+<code>onPause()</code> 메서드에서 PIP를 확인하고 적절히 재생을 처리합니다. 예를 들면 다음과 같습니다.
 </p>
 
 <pre>
 &#64;Override
 public void onPause() {
-    // If called due to PIP, do not pause playback
-    if (inPictureInPicture()) {
+    // If called while in PIP mode, do not pause playback
+    if (isInPictureInPictureMode()) {
         // Continue playback
         ...
     }
@@ -167,14 +169,39 @@
 }
 </pre>
 
-<p>액티비티가 PIP 모드에서 전체 화면 모드로 전환되면,
+<p>액티비티가 PIP 모드에서 전체 화면 모드로 전환되면
 시스템이 액티비티를 재시작하고 <code>onResume()</code> 메서드를 호출합니다.</p>
 
+<h2 id="single_playback">PIP를 위한 단일 재생 액티비티
+사용</h2>
+
+<p>동영상 재생 액티비티가 PIP 모드에 있는 동안, 앱에서
+사용자가 메인 화면에서 콘텐츠를 찾아볼 때 새 동영상을 선택할 수도 있습니다. 이 때 새 액티비티를 시작하면
+사용자에게 혼동을 줄 수 있으므로, 새 액티비티를 시작하는 대신
+기존 재생 액티비티에서 새 동영상을 전체 화면 모드로 재생합니다.</p>
+
+<p>동영상 재생 요청에 단일 액티비티가 사용되도록 하고
+필요에 따라 PIP 모드로 들어가거나 PIP 모드에서 나오도록 하려면, 매니페스트에서 액티비티의
+<code>android:launchMode</code>를 <code>singleTask</code>로 설정합니다.
+</p>
+
+<pre>
+&lt;activity android:name="VideoActivity"
+    ...
+    android:supportsPictureInPicture="true"
+    android:launchMode="singleTask"
+    ...
+</pre>
+
+<p>액티비티에서 {@link android.app.Activity#onNewIntent
+Activity.onNewIntent()}를 재정의하고 새 동영상을 처리하며, 필요한 경우 기존 동영상
+재생을 중단시키세요.</p>
+
 <h2 id="best">모범 사례</h2>
 
 <p>PIP는 전체 화면 동영상을 재생하는 액티비티용입니다. 액티비티를
 PIP 모드로 전환할 때는 동영상 콘텐츠만 표시하세요.
-<a href="#handling_ui">PIP에서 UI 처리</a>에서 설명한 바와 같이 액티비티가 PIP 모드로 들어갈 때
+<a href="#handling_ui">PIP에서 UI 처리</a>에서 설명한 바와 같이 액티비티가 PIP 모드로 전환되는 때를
 추적하고 UI 요소를 숨깁니다.</p>
 
 <p>PIP 창이 화면 모서리에 떠 있는 창으로 표시되므로
diff --git a/docs/html-intl/intl/ko/preview/features/scoped-folder-access.jd b/docs/html-intl/intl/ko/preview/features/scoped-folder-access.jd
index 8eaf4c9..2fe02b1 100644
--- a/docs/html-intl/intl/ko/preview/features/scoped-folder-access.jd
+++ b/docs/html-intl/intl/ko/preview/features/scoped-folder-access.jd
@@ -1,5 +1,5 @@
 page.title=범위가 지정된 디렉터리 액세스
-page.keywords=preview,sdk,scoped directory access
+page.keywords=preview, sdk, 범위가 지정된 디렉터리 액세스
 page.tags=androidn
 
 @jd:body
@@ -18,7 +18,7 @@
 <p>일반적으로 사진 앱과 같은 앱은
 <code>Pictures</code> 디렉터리 등 외부 저장소의 특정 디렉터리에만 액세스하면 됩니다. 기존 외부 저장소 액세스 방식은
 이런 유형의 앱에 대상화된 디렉터리 액세스를 쉽게
-제공하지 못합니다. 예:</p>
+제공하지 못합니다. 예를 들면 다음과 같습니다.</p>
 
 <ul>
 <li>매니페스트에서 {@link android.Manifest.permission#READ_EXTERNAL_STORAGE}
@@ -40,11 +40,25 @@
 <p><code>StorageManager</code> 클래스를 사용하여 적절한
 <code>StorageVolume</code> 인스턴스를 가져옵니다. 그 후, 해당 인스턴스의
 <code>StorageVolume.createAccessIntent()</code> 메서드를 호출하여 인텐트를 생성합니다.
-이 인텐트로 외부 저장소 디렉터리에 액세스합니다. 이동식 미디어 볼륨을 포함한
-모든 이용 가능한 볼륨 목록을 가져오려면
+이 인텐트로 외부 저장소 디렉터리에 액세스합니다. 이동식 미디어 볼륨을 비롯한
+모든 사용 가능한 볼륨의 목록을 가져오려면
 <code>StorageManager.getVolumesList()</code>를 사용합니다.</p>
 
-<p>다음 코드 조각은 기본 공유 저장소의
+<p>특정 파일에 대한 정보가 있으면
+<code>StorageManager.getStorageVolume(File)</code>을 사용하여 해당 파일이 들어 있는
+<code>StorageVolume</code>을 가져옵니다. 이 <code>StorageVolume</code>에서
+<code>createAccessIntent()</code>를 호출하여 파일의 외부 저장소 디렉터리에
+액세스합니다.</p>
+
+<p>
+외부 SD 카드와 같은 보조 볼륨에서는 특정 디렉터리 대신 전체 볼륨에 대한 액세스를 요청하려면
+<code>StorageVolume.createAccessIntent()</code>를 호출할 때
+null을 전달합니다. 기본 볼륨에 null을 전달하거나 잘못된 디렉터리 이름을 전달하는 경우
+<code>StorageVolume.createAccessIntent()</code>는 null을
+반환합니다.
+</p>
+
+<p>다음 코드 조각은 기본 공유 저장소에서
 <code>Pictures</code> 디렉터리를 여는 방법에 대한 예시입니다.</p>
 
 <pre>
@@ -98,7 +112,7 @@
 <p>사용자가 SD 카드 등의 이동식 미디어를 장착하면 시스템이
 {@link android.os.Environment#MEDIA_MOUNTED} 알림을 보냅니다. 이 알림은
 이동식 미디어 디렉터리에 액세스하는 데 사용할 수 있는 인텐트 데이터의 <code>StorageVolume</code> 객체를
-제공합니다. 다음은 
+제공합니다. 다음은
 이동식 미디어의 <code>Pictures</code> 디렉터리에 액세스하는 예시입니다.</p>
 
 <pre>
@@ -120,5 +134,15 @@
 표시하지 않습니다.</p>
 
 <p>사용자가 외부 디렉터리 액세스를 거부하면
-다시 즉시 액세스를 요청하지 마세요. 액세스를 반복적으로 요청하는 것은
-나쁜 사용자 경험을 제공하게 됩니다.</p>
+다시 즉시 액세스를 요청하지 마세요. 액세스를 반복적으로 요청하면
+사용자 환경을 저해하는 결과를 낳습니다. 사용자가 요청을 거부하는데 앱이 다시 액세스를
+요청하면, UI에 <b>Don't ask again</b> 체크박스가 표시됩니다.</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" />
+<p class="img-caption"><strong>그림 1.</strong> 이동식 미디어에 대해
+다시 액세스 요청을 하는 애플리케이션.</p>
+
+<p>사용자가 <b>Don't ask again</b>을 선택하여 요청을 거부하면 앱에서 해당 디렉터리에 대한 이후의 모든
+요청이 자동으로 거부되고,
+사용자에게는 어떤 요청 UI도 표시되지 않습니다.</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ko/preview/features/security-config.jd b/docs/html-intl/intl/ko/preview/features/security-config.jd
index 8e68e49..7e3f951 100644
--- a/docs/html-intl/intl/ko/preview/features/security-config.jd
+++ b/docs/html-intl/intl/ko/preview/features/security-config.jd
@@ -1,5 +1,5 @@
 page.title=네트워크 보안 구성
-page.keywords=androidn,security,network
+page.keywords=androidn, 보안, 네트워크
 page.image=images/cards/card-nyc_2x.jpg
 
 @jd:body
@@ -71,12 +71,13 @@
 
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?&gt;
-...
-&lt;app ...&gt;
+&lt;manifest ... &gt;
+  &lt;application ... &gt;
     &lt;meta-data android:name="android.security.net.config"
                android:resource="@xml/network_security_config" /&gt;
     ...
-&lt;/app&gt;
+  &lt;/application&gt;
+&lt;/manifest&gt;
 </pre>
 
 <h2 id="CustomTrust">신뢰할 수 있는 CA 사용자 지정</h2>
@@ -102,7 +103,7 @@
 <p>
   기본적으로 모든 앱으로부터 안전한(예: TLS, HTTPS) 연결은 사전 설치된 시스템 CA를 신뢰하고,
 API 레벨 23(Android M)
-이하를 대상으로 하는 앱도 사용자가 추가한 CA 스토어를 기본적으로 신뢰합니다. 앱은
+이하를 대상으로 하는 앱도 사용자가 추가한 CA 저장소를 기본적으로 신뢰합니다. 앱은
 {@code base-config}(앱
 전체 사용자 지정) 또는 {@code domain-config}(도메인별
 사용자 지정)를 사용하여 연결을 사용자 지정할 수 있습니다.
@@ -183,8 +184,8 @@
 <p>
   앱에서 시스템이 신뢰하지 않는 CA를 신뢰하고자 한다면,
 이는 시스템에 해당 CA가 아직 포함되지 않았거나 CA가 Android 시스템에 포함되기 위한
-요구사항을 충족하지 못했기 때문일 수 있습니다. 
-구성에 대해 여러 개의 인증서 소스를 지정하면
+요구사항을 충족하지 못했기 때문일 수 있습니다. 앱은
+구성에 대해 여러 개의 인증서 소스를 지정하여
 신뢰할 수 있는 CA를 추가할 수 있습니다.
 </p>
 <p>
@@ -207,13 +208,13 @@
 
 <p>
   HTTPS로 연결되는 앱을 디버그할 때
-프로덕션 서버에 대해 SSL 인증서가 없는 로컬 개발 서버에
-연결하고자 할 수도 있습니다. 앱 코드를 수정하지 않고
-이 기능을 지원하려면
-{@code debug-overrides}를 사용하여<i><a href="{@docRoot}guide/topics/manifest/application-element.html#debug"></i>android:debuggable</a>
-이 {@code true}일 때만 신뢰할 수 있는 디버그 전용 CA를
-지정할 수 있습니다. 일반적으로 IDE와 빌드 도구는 비 릴리스 빌드에 대해
-이 플래그를 자동으로 설정합니다.
+프로덕션 서버에 SSL 인증서가 없는 로컬 개발 서버로
+연결하고자 할 수도 있습니다. 앱 코드를 수정하지 않고 이 기능을 지원하려면,
+{@code debug-overrides}를
+사용하여 <i>오직</i> <a href="{@docRoot}guide/topics/manifest/application-element.html#debug">
+android:debuggable</a>
+이 {@code true}일 때만 신뢰할 수 있는 디버그 전용 CA를 지정할 수 있습니다. 일반적으로 IDE 및 빌드 도구는 비 릴리스 빌드에 대해
+ 이 플래그를 자동으로 설정합니다.
 </p>
 
 <p>
@@ -242,7 +243,7 @@
 <p>
   보안 연결만 사용하여 대상에 연결하는 애플리케이션은 해당
 대상에 대해 일반 텍스트를 지원하는 기능(HTTPS 대신 암호화되지 않은 HTTP
-사용)을 옵트아웃할 수 있습니다. 이 옵션은
+프로토콜 사용)을 옵트아웃할 수 있습니다. 이 옵션은
 백엔드 서버 등의 외부 소스가 제공하는 URL의 변경 사항으로 인해
 앱에서 우연히 회귀가 일어나지 않도록 예방합니다.
   자세한 내용은 {@link android.security.NetworkSecurityPolicy#isCleartextTrafficPermitted
@@ -310,6 +311,7 @@
             &lt;pin digest="SHA-256"&gt;7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=&lt;/pin&gt;
             &lt;!-- backup pin --&gt
             &lt;pin digest="SHA-256"&gt;fwza0LRMXouZHRC8Ei+4PyuldPDcf3UKgO/04cDM1oE=&lt;/pin&gt;
+        &lt;/pin-set&gt;
     &lt;/domain-config&gt;
 &lt;/network-security-config&gt;
 </pre>
@@ -328,7 +330,7 @@
 그 다음으로 일반적인 항목의 값이 사용됩니다. {@code domain-config}에서 설정되지 않은 값은
 중첩될 경우 상위 {@code domain-config}에서 가져오고 그렇지 않을 경우 {@code
   base-config}에서 가져옵니다. {@code base-config}에서 설정되지 않은 값은
-플랫폼 기본 값을 사용합니다.
+플랫폼 기본값을 사용합니다.
 </p>
 
 <p>
@@ -517,7 +519,7 @@
   </dd>
 
   <dt>
-    특성:
+    속성:
   </dt>
 
   <dd>
@@ -618,7 +620,7 @@
 <dt>설명:</dt>
 <dd>{@code trust-anchors} 요소에 대한 X.509 인증서 세트.</dd>
 
-<dt>특성:</dt>
+<dt>속성:</dt>
 <dd><dl class="attr">
 <dt>{@code src}</dt>
 <dd>
@@ -690,7 +692,7 @@
   </dd>
 
   <dt>
-    특성:
+    속성:
   </dt>
 
   <dd>
@@ -701,12 +703,12 @@
 
       <dd>
         핀 만료 당일과 그 이후의 {@code yyyy-MM-dd} 형식 날짜로,
-핀이 비활성화됩니다. 이 특성이 설정되지 않으면
+핀이 비활성화됩니다. 이 속성이 설정되지 않으면
 핀이 만료되지 않습니다.
         <p>
-          만료는 사용자가 앱 업데이트를 비활성화하는 등과 같이
-핀 세트가 업데이트되지 않는 앱에서
-연결 문제를 예방하는 데 유용합니다.
+          만료는 어떤 이유(사용자가 앱 업데이트를 비활성화)로
+ PIN 세트가 업데이트되지 않는 앱에서
+ 연결 문제를 예방하는 데 유용합니다.
         </p>
       </dd>
     </dl>
@@ -727,7 +729,7 @@
   </dd>
 
   <dt>
-    특성:
+    속성:
   </dt>
 
   <dd>
@@ -737,7 +739,7 @@
       </dt>
 
       <dd>
-        핀을 생성하는 데 사용된 다이제스트 알고리즘. 현재
+        PIN을 생성하는 데 사용된 다이제스트 알고리즘. 현재
 {@code "SHA-256"}만 지원됩니다.
       </dd>
     </dl>
diff --git a/docs/html-intl/intl/ko/preview/features/tv-recording-api.jd b/docs/html-intl/intl/ko/preview/features/tv-recording-api.jd
index d29260f..f353cc6 100644
--- a/docs/html-intl/intl/ko/preview/features/tv-recording-api.jd
+++ b/docs/html-intl/intl/ko/preview/features/tv-recording-api.jd
@@ -1,5 +1,5 @@
 page.title=TV 녹화
-page.keywords=preview,sdk,tv,recording
+page.keywords=preview, sdk, tv, 녹화
 page.tags=androidn
 page.image=images/cards/card-nyc_2x.jpg
 
@@ -18,7 +18,7 @@
 </div>
 </div>
 
-<p>TV 입력 서비스를 이용하면 
+<p>TV 입력 서비스를 이용하면
 타임 시프팅 API를 통해 채널 재생을 일시 정지했다가 다시 시작할 수 있습니다. Android N에서는 사용자가 여러 개의 녹화된 세션을 저장할 수 있도록 함으로써
 타임 시프팅을 확장합니다.</p>
 
@@ -26,25 +26,46 @@
 시작할 수 있습니다. 시스템이 녹화물을 저장하면 사용자는 시스템 TV 앱을 사용하여
 녹화물을 탐색, 관리, 재생할 수 있습니다.</p>
 
-<p>TV 입력 서비스에 녹화 기능을 제공하고 싶다면
-앱이 녹화를 지원한다는 것을 시스템에 나타내고
-프로그램을 녹화하는 기능을 구현하고, 녹화 중 발생하는 오류를 처리 및 전달하고,
+<p>TV 입력 서비스에 녹화 기능을 제공하고 싶다면,
+앱이 녹화를 지원함을 시스템에 나타내야 하고,
+프로그램 녹화 기능을 구현해야 하고, 녹화 중 발생하는 오류를 처리 및 전달해야 하고,
 녹화된 세션을 관리해야 합니다.</p>
 
+<p class="note"><strong>참고:</strong> Live Channels 앱에서는
+사용자가 녹화물을 만들거나 이에 액세스하는 방법을 아직 제공하지 않습니다. Live Channels 앱에
+대한 변경이 이루어질 때까지는, TV 입력 서비스에 대한 녹화
+환경을 완전히 테스트하기 어려울 수 있습니다.</p>
+
 <h2 id="supporting">녹화 지원 나타내기</h2>
 
-<p>TV 입력 서비스가 녹화를 지원한다는 것을 시스템에 알리려면
-다음 절차를 따르세요.</p>
+<p>TV 입력 서비스가 녹화를 지원함을 시스템에 알리려면
+서비스 메타데이터 XML 파일에서
+<code>android:canRecord</code> 속성을 <code>true</code>로 설정하세요.
+</p>
+
+<pre>
+&lt;tv-input xmlns:android="http://schemas.android.com/apk/res/android"
+  <b>android:canRecord="true"</b>
+  android:setupActivity="com.example.sampletvinput.SampleTvInputSetupActivity" /&gt;
+</pre>
+
+<p>서비스 메타데이터 파일에 대한 자세한 내용은
+<a href="{@docRoot}training/tv/tif/tvinput.html#manifest">매니페스트에서 TV 입력
+서비스 선언</a>을 참조하세요.
+</p>
+
+<p>또는 다음 단계에 따라 녹화 지원 사실을 코드에
+표시할 수 있습니다.</p>
 
 <ol>
 <li><code>TvInputService.onCreate()</code> 메서드에서 <code>TvInputInfo.Builder</code>
-클래스를 사용하여 
+클래스를 사용하여 새로운
 <code>TvInputInfo</code> 객체를 생성합니다.</li>
-<li>새로운 <code>TvInputInfo</code> 객체를 생성할 때 <code>build()</code> 를 호출하기 전에
+<li>새로운 <code>TvInputInfo</code> 객체를 생성할 때, <code>build()</code>를 호출하기 전에
 <code>setCanRecord(true)</code>를 호출하여
-서비스가 녹화를 지원한다는 것을 나타냅니다.</li>
+서비스가 녹화를 지원함을 나타냅니다.</li>
 <li>
-<code>TvInputService.updateTvInputInfo()</code>를 호출하여 시스템에 <code>TvInputInfo</code> 객체를 등록합니다.</li>
+<code>TvInputManager.updateTvInputInfo()</code>를 호출하여 시스템에 <code>TvInputInfo</code> 객체를 등록합니다.</li>
 </ol>
 
 <h2 id="recording">세션 녹화</h2>
@@ -52,7 +73,7 @@
 <p>TV 입력 서비스가 녹화 기능을 지원하도록 등록한 후,
 시스템은 앱의 녹화 구현에 액세스해야 할 때
 <code>TvInputService.onCreateRecordingSession()</code>을 호출합니다.
- 자체적인 
+ 자체적인
 <code>TvInputService.RecordingSession</code> 서브클래스를 구현하고
 <code>onCreateRecordingSession()</code> 콜백이
 실행되면 이를 반환합니다. 이 서브클래스는 정확한 채널 데이터로 전환하고,
@@ -75,7 +96,7 @@
 이 시점에서 앱이 즉시 녹화를 중단해야 합니다. 또한,
 <code>RecordedPrograms</code> 테이블에서 항목을 생성해야 합니다. 이 항목에는
 <code>RecordedPrograms.COLUMN_RECORDING_DATA_URI</code> 열의 녹화된 세션 데이터 URI,
-최초 
+최초
 <code>onStartRecording()</code> 호출에서 시스템이 제공한 프로그램 정보가 포함됩니다.
 </p>
 
diff --git a/docs/html-intl/intl/ko/preview/guide.jd b/docs/html-intl/intl/ko/preview/guide.jd
new file mode 100644
index 0000000..d7ea7e3
--- /dev/null
+++ b/docs/html-intl/intl/ko/preview/guide.jd
@@ -0,0 +1,190 @@
+page.title=테스트 가이드
+page.image=images/cards/card-n-guide_2x.png
+meta.tags="preview", "testing"
+page.tags="preview", "developer preview"
+
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>이 문서의 내용</h2>
+      <ol>
+        <li><a href="#runtime-permissions">권한 테스트</a></li>
+        <li><a href="#doze-standby">잠자기 및 앱 대기 모드 테스트</a></li>
+        <li><a href="#ids">자동 백업 및 기기 식별자</a></li>
+      </ol>
+  </div>
+</div>
+
+<p>
+  Android N에서는 앱이 차기 버전의 플랫폼에서 제대로 작동하는지 확인해볼 수 있습니다.
+ 이 프리뷰에는 앱에 영향을 미칠 수 있는 수많은 API와 동작 변경 사항이 포함되어 있습니다. 이에 대해서는 <a href="{@docRoot}preview/api-overview.html">API 개요</a>와 <a href="{@docRoot}preview/behavior-changes.html">동작 변경 사항</a>에 설명되어 있습니다.
+
+ 프리뷰로 앱을 테스트할 때에는 사용자에게 좋은 환경을 제공하기 위해 개발자 여러분이 꼭 초점을 맞춰야 하는 몇 가지 특정한 시스템 변경사항이 있습니다.
+
+
+</p>
+
+<p>
+  이 가이드에서는 앱에서 테스트할 프리뷰 기능은 어떤 것이고, 테스트 방법은 어떤지에 대해 설명합니다. 이와 같은 특정 프리뷰 기능을 먼저 테스트하는 것이 좋습니다. 왜냐하면 이들 기능은 앱의 동작에 큰 영향을 미칠 가능성이 높기 때문입니다.
+
+
+</p>
+
+<ul>
+  <li><a href="#runtime-permissions">권한</a>
+  </li>
+  <li><a href="#doze-standby">잠자기 및 앱 대기 모드</a>
+  </li>
+  <li><a href="#ids">자동 백업 및 기기 식별자</a></li>
+</ul>
+
+<p>
+  테스트용 프리뷰 시스템 이미지로 기기 또는 가상 기기를 설정하는 방법에 대한 자세한 정보는 <a href="{@docRoot}preview/setup-sdk.html">Android N SDK 설정</a>을 참조하세요.
+
+
+</p>
+
+
+<h2 id="runtime-permissions">권한 테스트</h2>
+
+<p>
+  새로운 <a href="{@docRoot}preview/features/runtime-permissions.html">권한</a> 모델은 사용자가 여러분의 앱에 권한을 할당하는 방법을 바꿔 놓습니다.
+ 설치 절차 중에 모든 권한을 허용하는 것이 아니라, 앱이 런타임에 사용자에게 각각의 권한을 요청해야 합니다.
+
+ 사용자 입장에서는 이러한 동작으로 각 앱의 액티비티에 대해 더 세분화된 제어권을 행사할 수 있을 뿐만 아니라 이 앱이 어째서 특정한 권한을 요청하고 있는 것인지 맥락을 더 잘 이해할 수 있게 되기도 합니다.
+ 사용자는 언제든 앱에 개별적으로 권한을 허용할 수 있고, 이를 취소할 수도 있습니다.
+ 미리 보기의 이러한 기능은 앱의 동작에 영향을 미칠 가능성이 가장 높고, 앱의 몇 가지 기능이 작동하지 않도록 막거나 저하된 상태로 작동하게 할 수도 있습니다.
+
+
+</p>
+
+<p class="caution">
+  이 변경 내용은 새 플랫폼에서 실행되는 모든 앱에 영향을 비치며, 새 플랫폼 버전을 대상으로 하지 않는 앱도 예외가 아닙니다.
+ 레거시 앱에 대해 플랫폼이 제한된 호환성 동작을 제공하기는 하지만, 지금 바로 새 권한 모델로 앱의 마이그레이션 계획을 시작하는 편이 좋습니다. 플랫폼이 공식적으로 출시될 때에 맞춰 앱의 업데이트된 버전을 게시하는 것을 목표로 하십시오.
+
+
+</p>
+
+
+<h3 id="permission-test-tips">테스트 팁</h3>
+
+<p>
+  다음은 새 권한 동작에 대해 앱 테스트를 계획하고 실행하는 데 유용한 몇 가지 테스트 팁입니다.
+
+</p>
+
+<ul>
+  <li>앱의 현재 권한과 관련된 코드 경로를 확인합니다.</li>
+  <li>권한 보호된 서비스 및 데이터 전반에 걸친 사용자 흐름을 테스트합니다.</li>
+  <li>허용된/취소된 권한을 여러 가지로 조합하여 테스트합니다.</li>
+  <li>명령줄에서 권한을 관리할 때 {@code adb} 도구를 사용합니다.
+    <ul>
+      <li>권한과 상태를 그룹별로 목록으로 나열합니다.
+        <pre>adb shell pm list permissions -d -g</pre>
+      </li>
+      <li>하나 이상의 권한을 다음과 같은 구문을 사용하여 허용하거나 취소합니다.<br>
+        <pre>adb shell pm [grant|revoke] &lt;permission.name&gt; ...</pre>
+      </li>
+    </ul>
+  </li>
+  <li>권한을 사용하는 서비스에 대해 앱을 분석해봅니다.</li>
+</ul>
+
+<h3 id="permission-test-strategy">테스트 전략</h3>
+
+<p>
+  권한을 변경하면 앱의 구조와 디자인은 물론 사용자 환경과, 개발자가 사용자에게 제공하는 흐름에도 영향을 미칩니다.
+ 앱의 현재 권한 사용 내용을 평가한 다음 제공하고자 하는 새로운 흐름을 계획하기 시작해야 합니다.
+ 플랫폼의 공식 릴리스에서 호환성 동작을 제공할 예정이지만, 이와 같은 동작에만 의존하지 말고 앱 업데이트를 계획하는 것이 좋습니다.
+
+
+</p>
+
+<p>
+  앱이 실제로 필요로 하고 사용하는 권한을 확인한 다음, 권한 보호된 서비스를 사용하는 여러 가지 코드 경로를 찾습니다.
+ 이렇게 하려면 새 플랫폼에서 여러 가지로 조합한 테스트를 거치고 코드 분석을 통해야 합니다.
+ 테스트에서는 런타임 권한에 옵트인하는 것에 초점을 맞춰야 합니다. 이를 위해 앱의 {@code targetSdkVersion}을 프리뷰 버전으로 변경하세요.
+ 자세한 정보는 <a href="{@docRoot}preview/setup-sdk.html#">Android N SDK 설정</a>을 참조하세요.
+
+
+</p>
+
+<p>
+  다양한 조합의 권한을 해지하고 추가하는 방식으로 테스트를 수행하여 권한에 종속되는 사용자 흐름을 파악합니다.
+ 종속성이 분명하지 않거나 논리적인 경우, 리팩터링을 고려해 보거나 해당 흐름을 구분하여 종속성을 제거, 또는 해당 권한이 왜 필요한지 분명히 하는 방안을 고려해야 합니다.
+
+
+</p>
+
+<p>
+  런타임 권한의 동작, 테스트 및 모범 사례에 대한 자세한 정보는 <a href="{@docRoot}preview/features/runtime-permissions.html">권한</a> 개발자 미리 보기 페이지를 참조하십시오.
+
+
+</p>
+
+
+<h2 id="doze-standby">잠자기 및 앱 대기 모드 테스트</h2>
+
+<p>
+  잠자기 및 앱 대기 모드의 절전 기능은 기기가 유휴 상태에 있을 때 또는 사용자가 앱에 초점을 맞추고 있지 않을 때 앱이 수행할 수 있는 배경 처리의 양을 제한합니다.
+ 시스템이 앱에 부과할 수 있는 제한 사항에는 네트워크 액세스를 제한하거나 없애기, 배경 작업을 일시 중지시키기, 알림 일시 중지, 절전 모드 해제 및 알람 요청 무시 등이 포함됩니다.
+
+ 이러한 절전 기능에 앱이 적절히 동작하도록 확실히 해 두려면 이와 같은 저전력 상태를 시뮬레이트하여 앱을 테스트해보아야 합니다.
+
+
+</p>
+
+<h4 id="doze">앱에서 잠자기 모드 테스트하기</h4>
+
+<p>앱에서 잠자기 모드를 테스트하려면:</p>
+
+<ol>
+<li>Android N 시스템 이미지로 하드웨어 기기 또는 가상 기기를 구성합니다.</li>
+<li>기기를 개발 머신에 연결하고 앱을 설치합니다.</li>
+<li>앱을 실행시킨 다음 활성 상태로 그냥 둡니다.</li>
+<li>다음 명령을 실행하여 기기가 잠자기 모드에 들어가는 것을 시뮬레이션합니다.
+
+<pre>
+$ adb shell dumpsys battery unplug
+$ adb shell dumpsys deviceidle step
+$ adb shell dumpsys deviceidle -h
+</pre>
+
+  </li>
+  <li>기기가 다시 활성화되면 앱이 어떻게 동작하는지 살펴봅니다. 기기가 잠자기 모드를 종료할 때 정상적으로 복구되는지 확인해야 합니다.
+</li>
+</ol>
+
+
+<h4 id="standby">앱에서 앱 대기 모드 테스트하기</h4>
+
+<p>앱에서 앱 대기 모드를 테스트하려면:</p>
+
+<ol>
+  <li>Android N 시스템 이미지로 하드웨어 기기 또는 가상 기기를 구성합니다.</li>
+  <li>기기를 개발 머신에 연결하고 앱을 설치합니다.</li>
+  <li>앱을 실행시킨 다음 활성 상태로 그냥 둡니다.</li>
+  <li>다음 명령을 실행하여 앱이 대기 모드에 들어가는 것을 시뮬레이션합니다.
+
+<pre>
+$ adb shell am broadcast -a android.os.action.DISCHARGING
+$ adb shell am set-idle &lt;packageName&gt; true
+</pre>
+
+  </li>
+  <li>다음 명령을 사용하여 앱이 대기 모드에서 해제되는 것을 시뮬레이션합니다.
+    <pre>$ adb shell am set-idle &lt;packageName&gt; false</pre>
+  </li>
+  <li>앱이 대기 모드에서 해제된 상태에서 어떻게 동작하는지 살펴봅니다. 대기 모드에서 정상적으로 복구되는지 확인해야 합니다.
+ 특히, 앱의 알림과 배경 작업이 계속 예상했던 대로 기능하는지 확인해야 합니다.
+</li>
+</ol>
+
+<h2 id="ids">앱용 자동 백업 및 기기별 식별자</h2>
+
+<p>앱이 내부 저장소에서 각 기기에 따라 다른 식별자(예: Google Cloud Messaging 등록 ID)를 유지하는 경우, 모범 사례를 따라 저장소 위치를 자동 백업에서 배제해야 합니다. 이 내용은 <a href="{@docRoot}preview/backup/index.html">앱용 자동 백업</a>에 설명되어 있습니다.
+
+
+
+ </p>
diff --git a/docs/html-intl/intl/ko/preview/index.jd b/docs/html-intl/intl/ko/preview/index.jd
index eaecb5b..4b0ccc5 100644
--- a/docs/html-intl/intl/ko/preview/index.jd
+++ b/docs/html-intl/intl/ko/preview/index.jd
@@ -1,6 +1,6 @@
 page.title=Android N Developer Preview
 page.tags="preview","developer"
-meta.tags="프리뷰", "android"
+meta.tags="preview", "android"
 fullpage=true
 forcelocalnav=true
 header.hide=1
@@ -25,10 +25,10 @@
         <h1 class="dac-hero-title">Android N Developer Preview</h1>
         <p class="dac-hero-description">
           Android N을 맞이할 준비를 하세요!
-          Nexus와 다른 기기에서 <strong>앱을 테스트</strong>하세요. 새로운 시스템
-          동작을 지원하여 <strong>전력과 메모리를 절약</strong>하세요.
+          Nexus와 다른 기기에서 <strong>앱을 테스트하세요</strong>. <strong>전력과 메모리를 절약</strong>하는 새로운 시스템
+동작을 지원하세요.
           <strong>다중 창 UI</strong>,
-          <strong>직접 회신 알림</strong> 등으로 앱을 확장하세요.
+<strong>직접 회신 알림</strong> 등으로 앱을 확장하세요.
         </p>
 
         <a class="dac-hero-cta" href="{@docRoot}preview/overview.html">
@@ -97,12 +97,23 @@
       <div><a href="{@docRoot}preview/dev-community">
         <span class="dac-sprite dac-auto-chevron-large"></span>
         개발자 커뮤니티 가입
-        </a></div>
+      </a></div>
     </div><!-- end .actions -->
   </div><!-- end .wrap -->
 </div>
 
-<section class="dac-section dac-light"><div class="wrap">
+<section class="dac-section dac-light dac-small" id="latest"><div class="wrap">
+  <h2 class="norule">최신</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">리소스</h1>
   <div class="dac-section-subtitle">
     앱을 Android N에서 사용할 수 있도록 준비하는 데 유용한 중요 정보입니다.
diff --git a/docs/html-intl/intl/ko/preview/j8-jack.jd b/docs/html-intl/intl/ko/preview/j8-jack.jd
index 67738b8..85570a9 100644
--- a/docs/html-intl/intl/ko/preview/j8-jack.jd
+++ b/docs/html-intl/intl/ko/preview/j8-jack.jd
@@ -16,25 +16,25 @@
 </div>
 
 <p>Android N은 Java 8 언어 기능을 지원합니다.
-Java 8 언어 기능은 Android N을 대상으로 하는 앱을 개발할 때 사용할 수 있습니다.
-이 페이지에서는 Android N Preview에서 지원되는 새로운 언어 기능과,
-프로젝트를 적절히 설정하여 언어 기능을 사용하는 방법,
-발생할 수도 있는 알려진 문제를 설명합니다.
+이 기능은 Android N을 대상으로 하는 앱을 개발할 때 사용될 수 있습니다.
+이 페이지에서는 Android N Preview에서 지원되는 새로운 언어 기능,
+프로젝트를 적절히 설정하여 언어 기능을 사용하는 방법 그리고
+발생할 수도 있는 알려진 문제에 대해 설명합니다.
 </p>
 
 <p>이 기능을 사용하려면 Android
-Studio 2.1(프리뷰)와 Android N Preview SDK를 다운로드하고 설정해야 합니다. 여기에는 필수
-Jack 툴체인과 업데이트된 Gradle용 Android 플러그인이 포함됩니다. 아직
+Studio 2.1 및 Android N Preview SDK를 다운로드하고 설치해야 합니다. 여기에는 필수
+Jack 툴체인과 업데이트된 Android Plugin for Gradle이 포함되어 있습니다. 아직
 Android N Preview SDK를 설치하지 않았다면 <a href="{@docRoot}preview/setup-sdk.html">Android N용 개발 설정</a>을 참조하세요.</p>
 
 
 
 <p class="note">
-  <strong>참고:</strong> 새로운 Java 8 언어 기능은
-Android N 플랫폼을 대상으로 하는 앱 개발에 필요한 요구 사항은 아닙니다.
-Java 8 언어 기능으로 코드를 작성하고 싶지 않다면,
-프로젝트의 소스와 대상 호환성 값을 Java 7로 설정할 수 있지만
-Android N 플랫폼용으로 구축하려면 JDK 8로 컴파일해야 합니다.
+  <strong>참고:</strong> 새로운 Java 8 언어 기능을 사용하는 것은
+Android N 플랫폼을 대상으로 하는 앱 개발에 반드시 필요한 것은 아닙니다. Java 8
+언어 기능으로 코드를 작성하고 싶지 않다면, 프로젝트의 원본 및 대상
+호환성 값을 Java 7로 설정할 수 있지만 Android N 플랫폼용으로 빌드하려면
+JDK 8로 컴파일해야 합니다.
 </p>
 
 <h2 id="supported-features">
@@ -42,9 +42,9 @@
 </h2>
 
 <p>
-  Android는 현재 모든 Java 8 언어 기능을 지원하지 않습니다. 그러나 현재 다음 기능은
+  Android는 현재 모든 Java 8 언어 기능을 지원하는 것은 아닙니다. 그러나
 Android N Preview를 대상으로 하는
-앱을 개발할 때 이용할 수 있습니다.
+앱을 개발할 때 이제 다음 기능을 이용할 수 있습니다.
 </p>
 
 <ul>
@@ -54,75 +54,87 @@
   </li>
 
   <li>
-    <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html">
-    람다 식</a>
+    <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html">람다
+식</a>(API 레벨 23 이하에서도 사용 가능)
   </li>
 
   <li>
     <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/annotations/repeating.html">반복 가능한
-    주석</a>
-  </li>
-</ul>
-
-
-<p>
-  또한, 다음 Java 8 언어 기능 API를 사용할 수 있습니다.
-</p>
-
-<ul>
-  <li>Reflection 및 언어 관련 API:
+주석</a>
   </li>
 
-  <li style="list-style: none; display: inline">
-    <ul>
-      <li>{@code java.lang.FunctionalInterface}
-      </li>
-
-      <li>{@code java.lang.annotation.Repeatable}
-      </li>
-
-      <li>{@code java.lang.reflect.Method.isDefault()}
-      </li>
-
-      <li>반복 가능한 주석과 관련된 Reflection API
-      예: {@code AnnotatedElement.getAnnotationsByType(Class)}
-      </li>
-    </ul>
-  </li>
-  <li>Utility API:
-  </li>
-
-  <li style="list-style: none; display: inline">
-    <ul>
-      <li>{@code java.util.function}
-      </li>
-    </ul>
+  <li>
+    <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html">메서드
+참조</a>(API 레벨 23 이하에서도 사용 가능)
   </li>
 </ul>
 
 <p class="note">
-  <strong>참고:</strong> Android N은 익명 클래스에 대한 람다 식의 구현을
-기반으로 합니다. 이 방식을 사용하면
-이전 버전과 호환되고 이전 버전의 Android에서 실행할 수 있습니다.
-이전 버전에서 람다 식을 테스트하려면 {@code
-  build.gradle} 파일에서 {@code compileSdkVersion}과 {@code
-  targetSdkVersion}을 23 이하로 설정하십시오.
+  <strong>참고:</strong> 이전 버전의 Android에서 람다 식 및 메서드 참조를 테스트하려면
+{@code build.gradle}
+파일로 이동하고 {@code compileSdkVersion} 및 {@code targetSdkVersion}을 23
+이하로 설정하세요. 이러한 Java 8 기능을 사용하려면 <a href="#configuration">Jack
+툴체인을 활성화</a>해야 합니다.
 </p>
 
+<p>
+  또한, 현재 다음과 같은 Java 8 언어 기능 API를 사용할 수 있습니다.
+</p>
+
+<ul>
+  <li>Reflection API 및 언어 관련 API:
+    <ul>
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html">
+        {@code java.lang.FunctionalInterface}</a>
+      </li>
+
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Repeatable.html">
+        {@code java.lang.annotation.Repeatable}</a>
+      </li>
+
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html#isDefault--">
+        {@code java.lang.reflect.Method.isDefault()}</a>
+      </li>
+
+      <li>반복 가능한 주석과 관련된 Reflection API
+      예: <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/AnnotatedElement.html#getAnnotationsByType-java.lang.Class-">
+{@code AnnotatedElement.getAnnotationsByType(Class)}</a>
+      </li>
+    </ul>
+  </li>
+
+  <li>Utility API:
+    <ul>
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html">
+        {@code java.util.function}</a>
+      </li>
+
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html">
+        {@code java.util.stream}</a>
+      </li>
+    </ul>
+  </li>
+</ul>
+
 <h2 id="configuration">
   Java 8 기능 및 Jack 툴체인 활성화
 </h2>
 
 <p>
   새로운 Java 8 언어 기능을 사용하려면
-새로운 <a class="external-link" href="https://source.android.com/source/jack.html">Jack 툴체인</a>을 사용해야 합니다. 이 새로운
-Android 툴체인은 Java 언어 소스를 Android에서 읽을 수 있는 Dex
-바이트코드로 컴파일하고, 자체 {@code .jack} 라이브러리 형식이 있으며, 단일 도구로는 가장 많은 툴체인
-기능(리패키징, 축소, 난독화, 멀티덱스)을
-제공합니다.
+또한 새로운 <a class="external-link" href="https://source.android.com/source/jack.html">Jack 툴체인</a>을 사용해야 합니다. 이 새로운
+Android 툴체인은 Android에서 읽을 수 있는 Dex
+바이트코드로 Java 언어 소스를 컴파일하고, 자체 {@code .jack} 라이브러리 형식이 있으며, 단일 도구로는 가장 많은 툴체인
+기능을
+제공합니다(리패키징, 축소, 난독화, 멀티덱스).
 </p>
 
-<p>다음은 Android DEX 파일을 빌드하는 데 사용하는 2개의 툴체인을 비교한 것입니다.</p>
+<p>다음은 Android DEX 파일을 빌드하는 데 사용되는 두 개의 툴체인을 비교한 것입니다.</p>
 <ul>
   <li>레거시 javac 툴체인:<br>
   <b>javac</b> ({@code .java} --&gt; {@code .class}) --&gt; <b>dx</b> ({@code
@@ -140,7 +152,7 @@
 
 <p>
   프로젝트에서 Java 8 언어 기능과 Jack을 활성화하려면
-모듈별 {@code build.gradle} 파일에 다음을 입력합니다.
+모듈 수준의{@code build.gradle} 파일에 다음을 입력합니다.
 </p>
 
 <pre>
@@ -159,25 +171,27 @@
 }
 </pre>
 
-<h3>
+<h3 id="known-issues">
   알려진 문제
 </h3>
 
 <p>
-  Android Studio 2.0(베타)에 도입된 Instant Run은
-현재 Jack과 호환되며 새로운 툴체인을 사용하는 동안 비활성화됩니다.
+  <a href="{@docRoot}tools/building/building-studio.html#instant-run">Instant
+Run</a>은 현재 Jack과 호환되지 않으며 새로운 툴체인을 사용하는 동안
+비활성화됩니다.
 </p>
 
-<p>Jack이 앱을 컴파일할 때 중간 클래스 파일을 생성하지 않으므로
-이런 파일에 의존하는 도구는 현재 Jack과 호환되지 않습니다. 이러한 도구의 예시는
+<p>Jack이 앱을 컴파일할 때 중간 클래스 파일을 생성하지 않으므로,
+이들 파일에 의존하는 도구는 현재 Jack과 호환되지 않습니다. 이러한 도구의 예는
 다음과 같습니다.</p>
 
 <ul>
-  <li>클래스 파일에 적용되는 Lint 탐지기
+  <li>클래스 파일에서 작동하는 Lint 탐지기
   </li>
 
-  <li>앱의 클래스 파일이 필요한 도구와 라이브러리(예: JaCoCo
- 및 Mockito)</li>
+  <li>앱의 클래스 파일을 필요로 하는 도구 및 라이브러리(예:
+JaCoCo를 사용한 기기 테스트)
+  </li>
 </ul>
 
 <p>Jack을 사용하는 동안 다른 문제를 발견하면 <a href="http://tools.android.com/filing-bugs">버그를 보고해주세요</a>.</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ko/preview/license.jd b/docs/html-intl/intl/ko/preview/license.jd
new file mode 100644
index 0000000..875ec85
--- /dev/null
+++ b/docs/html-intl/intl/ko/preview/license.jd
@@ -0,0 +1,145 @@
+page.title=라이선스 계약
+
+@jd:body
+
+<p>
+Android SDK Preview를 시작하려면 우선 다음과 같은 사용 약관에 동의해야 합니다.
+아래에 설명한 바와 같이, 이것은 Android SDK의 프리뷰 버전이며 변경될 가능성이 있고 이를 사용하는 위험 부담은 계약자 본인에게 있음을 유의하십시오.  Android SDK Preview는 안정된 릴리스가 아니며, 오류나 결함이 들어있을 수 있고 이 때문에 컴퓨터 시스템, 기기 및 데이터에 심각한 손상을 초래할 수 있습니다.
+</p>
+
+<p>
+이것은 Android SDK Preview 라이선스 계약서입니다(이하 "라이선스 계약").
+</p>
+<div class="sdk-terms" style="height:auto;border:0;padding:0;width:700px">
+1. 개요
+
+1.1 Android SDK Preview(본 라이선스 계약에서는 "Preview"라고 칭하며, 구체적으로 Android 시스템 파일, 패키지 API 및 Preview 라이브러리 파일이 사용 가능한 경우와 사용 가능해진 경우 이들 파일을 포함한 것임)는 본 라이선스 계약 조건에 따라 계약자에게 사용을 허여합니다. 본 라이선스 계약은 Preview 사용과 관련하여 계약자와 Google 간에 법적 구속력이 있는 계약을 체결합니다.
+
+1.2 "Android"는 기기를 위한 Android 소프트웨어 스택을 의미합니다. 이는 http://source.android.com/ URL에 위치하며 수시로 업데이트되는 Android 오픈 소스 프로젝트에서 제공됩니다.
+
+1.3 "Android 호환"은 (i) Android 호환성 웹사이트(http://source.android.com/compatibility)에서 찾을 수 있고 간혹 업데이트되는 Android 호환성 정의 문서를 준수하며; (ii) Android CTS(Compatibility Test Suite)를 성공적으로 통과한 모든 Android 구현을 의미합니다.
+
+1.4 "Google"은 미국 1600 Amphitheatre Parkway, Mountain View, CA 94043에 본사를 두고 있는 델라웨어주 법인인 Google Inc.를 의미합니다.
+
+2. 라이선스 계약에 동의
+
+2.1 이 Preview를 사용하려면, 먼저 라이선스 계약에 동의해야 합니다. 이 라이선스 계약에 동의하지 않고 Preview를 사용해서는 안 됩니다.
+
+2.2 수락을 클릭하거나 Preview를 사용, 또는 이 두 행위를 모두 수행하면 본 라이선스 계약 조건에 동의하는 것으로 간주됩니다.
+
+2.3 미국법 또는 현재 거주 중이거나 Preview를 사용하는 국가를 포함하여 다른 국가의 법에 따라 Preview를 받는 것이 금지된 경우, Preview를 사용할 수 없으며 본 라이선스 계약을 수락할 수 없습니다.
+
+2.4 회사 또는 단체 내에서 내부적으로 Preview를 사용하며 고용주 또는 기타 단체를 대신하여 본 라이선스 계약 준수에 동의하는 경우, 계약자의 고용주나 그 단체에 본 라이선스 계약에 대한 구속력을 부여할 수 있는 모든 법적 권한을 계약자가 갖고 있음을 진술하고 보증합니다. 구속력을 부여할 수 있는 법적 권한이 없을 경우, 고용주 또는 기타 단체를 대신하여 본 라이선스 계약에 동의하거나 Preview를 사용할 수 없습니다.
+
+3. Google의 Preview 라이선스
+
+3.1 본 라이선스 계약의 조건에 따라 Google은 계약자에게 한정적이며 전 세계적으로 무료로 사용이 가능하고 양도할 수 없고 비독점적이며 2차 라이선스를 불허하는 Preview 사용 라이선스를 부여합니다. 이 라이선스 하에서 계약자는 Android 플랫폼에서 실행되는 애플리케이션을 개발하는 경우에만 Preview를 사용할 수 있습니다.
+
+3.2 이 Preview를 사용하여 다른 플랫폼용 애플리케이션을 개발하거나(Android 비호환 구현 포함) 다른 SDK를 개발할 수 없습니다. 물론 이 Preview가 이러한 목적에 사용되지 않는 경우 Android의 비호환 구현을 포함한 다른 플랫폼용 애플리케이션을 자유롭게 개발할 수 있습니다.
+
+3.3 계약자는 Preview에 존재하는 지적 재산권을 포함하여 Preview에 대한 모든 법적인 권리, 소유권 및 이익이 Google 또는 제3자에게 있음에 동의합니다. "지적 재산권"은 모든 특허법, 저작권법, 영업비밀법, 상표법 하의 모든 권리 및 기타 모든 소유권을 의미합니다. Google은 계약자에게 명시적으로 부여하지 않은 모든 권리를 보유합니다.
+
+3.4 본 라이선스 계약에 명시적으로 허용된 용도 외에는 Preview를 사용할 수 없습니다. 해당 제3자 라이선스 요건이 허용하는 범위를 제외하고 계약자는 Preview의 파생 제품이나 Preview의 일부분을 (a) 복사(백업 목적 제외), 수정, 개작, 재배포, 역컴파일, 리버스 엔지니어링, 분해하거나 이를 통해 파생물을 생성하거나 (b) 개인 컴퓨터를 제외한 모바일 단말기 또는 기타 모든 하드웨어 기기에 Preview의 일부를 로드하거나, Preview의 일부를 다른 소프트웨어와 결합하거나 Preview의 일부가 통합된 일체의 소프트웨어나 기기를 배포해서는 안 됩니다.
+
+3.5 오픈 소스 소프트웨어 라이선스에 의거한 Preview 구성요소의 사용, 재생산, 배포에는 본 라이선스 계약이 아닌, 해당 오픈 소스 소프트웨어 라이선스의 조건이 적용됩니다. 계약자는 허용된 모든 권한 하에서 그러한 오픈 소스 소프트웨어 라이선스에 관해 충실한 피허가자로서의 자세를 견지할 것이며 그러한 권한을 종료, 일시 중단 또는 침해하는 행위를 삼갈 것을 동의합니다.
+
+3.6 계약자는 Google이 제공하는 Preview의 형태 및 특성이 사전 통지 없이 변경될 수 있음에 동의하며, 이전 버전의 Preview에서 개발된 애플리케이션이 이후 버전의 Preview와 호환되지 않을 수 있음에 동의합니다. 계약자는 계약자 또는 사용자에게 사전 통지 없이 Preview(또는 Preview에 포함된 기능) 제공을 (영구적 또는 일시적으로) 중단할 수 있는 권한이 Google에게 있음에 동의합니다.
+
+3.7 본 라이선스 계약은 계약자에게 Google의 상표명, 상표, 서비스 표시, 로고, 도메인 이름, 기타 독특한 브랜드 특징에 대한 사용 권한을 부여하지 않습니다.
+
+3.8 계약자는 Preview에 부착되어 있거나 포함되어 있는 모든 소유권 고지 사항(저작권 및 상표 고지 사항 포함)을 제거, 변경 또는 불분명하게 만들지 않을 것에 동의합니다.
+
+4. 계약자의 Preview 사용
+
+4.1 Google은 본 라이선스 계약의 어떤 조항도 계약자(또는 계약자의 사용 허가자)가 Preview를 사용하여 개발한 소프트웨어 애플리케이션에 대한 권리, 소유권 또는 이익, 그리고 해당 애플리케이션에 존재하는 모든 지적 재산권을 부여하지 않는다는 점에 동의합니다.
+
+4.2 계약자는 (a) 본 라이선스 계약 그리고 (b) 모든 준거법, 규정 또는 관련 관할권 내에서 일반적으로 수용되는 관행 또는 지침(미국 또는 기타 관련 국가로/에서의 데이터 또는 소프트웨어 수출과 관련된 모든 법률 포함)에서 허용하는 용도에 한하여 Preview를 사용하고 애플리케이션을 작성하는 것에 동의합니다.
+
+4.3 계약자는 일반 대중 사용자를 대상으로 Preview를 사용하여 애플리케이션을 개발하는 경우, 해당 사용자의 프라이버시 및 법적 권리를 보호하는 것에 동의합니다. 사용자가 계약자에게 사용자 이름, 비밀번호 또는 기타 로그인 정보나 개인 정보를 제공하는 경우, 계약자는 제공된 정보가 자신의 애플리케이션에 제공된다는 사실을 사용자에게 알려야 하며, 반드시 법적으로 적절한 개인정보 보호정책 고지 및 보호를 해당 사용자에게 제공해야 합니다. 애플리케이션에서 사용자가 제공한 개인 정보나 민감한 정보를 저장하는 경우, 이를 안전하게 처리해야 합니다. 사용자들이 애플리케이션에 Google 계정 정보를 제공하는 경우, 애플리케이션은 해당 사용자의 Google 계정에 액세스하는 목적으로만, 그리고 각 사용자가 허용한 범위 내의 한정된 목적으로만 이러한 정보를 사용해야 합니다.
+
+4.4 계약자는 Google 또는 기타 모든 타사의 서버, 네트워크 또는 기타 모든 재산 또는 서비스를 허가 없이 방해, 교란, 손상 또는 액세스하는 애플리케이션의 개발 또는 배포를 포함한 하등의 행위에 Preview를 이용하지 않을 것임을 동의합니다.
+
+4.5 계약자는 자신이 Android 및/또는 Android용 애플리케이션을 통해 생성, 전송 또는 표시하는 모든 데이터, 콘텐츠 또는 리소스 그리고 그로 인한 결과(Google이 입을 수 있는 모든 피해나 손실 포함)에 대해 전적으로 책임이 있다는 것(그리고 Google은 계약자 또는 모든 제3자에 대한 책임이 없다는 것)에 동의합니다.
+
+4.6 계약자는 본 라이선스 계약, 모든 해당 제3자 계약 또는 서비스 약관, 또는 모든 준거법 또는 규정에 의거한 계약자 의무 위반, 그리고 그로 인한 결과(Google 또는 제3자가 입을 수 있는 모든 피해나 손실 포함)에 전적으로 책임이 있다는 것(그리고 Google은 계약자 또는 모든 제3자에 대한 책임이 없다는 것)에 동의합니다.
+
+4.7 이 Preview는 현재 개발 단계에 있으며, 계약자의 테스트와 피드백은 그러한 개발 과정에 중요한 부분을 차지합니다. Preview를 사용함으로써 계약자는 일부 기능의 구현은 아직 개발 중인 상태이며 Preview가 안정된 릴리스처럼 완벽하게 기능할 것이라 믿고 사용해서는 안 된다는 점을 인지하는 것으로 간주합니다. 계약자는 이 Preview를 사용한 애플리케이션을 공개적으로 배포 또는 배송하지 않기로 동의합니다. 이 Preview는 공식 Android SDK가 출시된 이후에는 더 이상 지원되지 않기 때문입니다.
+
+5. 계약자의 개발자 자격 증명
+
+5.1 계약자는 Google이 발급했거나 자신이 선택한 모든 개발자 자격 증명에 대한 기밀성을 유지할 책임이 있으며 계약자의 개발자 자격 증명 하에 개발된 모든 애플리케이션에 대한 전적인 책임이 있음에 동의합니다.
+
+6. 개인정보 보호정책 및 정보
+
+6.1 Preview를 지속적으로 혁신하고 개선하기 위해, Google은 고유 식별자, 관련 IP 주소, 소프트웨어 버전 번호, Preview에서 사용 중인 도구 및/또는 서비스와 도구의 사용법에 대한 정보를 포함하되 이에 국한되지 않고 소프트웨어에서 특정 사용량 통계 정보를 수집할 수 있습니다. 그러한 정보를 수집하기 전에 Preview는 계약자에게 이를 통지하고 동의를 구할 것입니다. 계약자가 동의하지 않을 경우 정보를 수집하지 않습니다.
+
+6.2 수집된 데이터는 모두 취합된 형태로 Preview 개선을 위해 검토되며, Google의 개인정보 보호정책에 따라 유지 관리됩니다. 이 정보는 http://www.google.com/policies/privacy/를 참조하십시오.
+
+7. 제3자 애플리케이션
+
+7.1 제3자가 개발한 애플리케이션을 실행하거나 제3자가 제공한 데이터, 콘텐츠 또는 리소스에 액세스하기 위해 Preview를 사용하는 경우, 계약자는 Google이 그러한 애플리케이션, 데이터, 콘텐츠 또는 리소스에 대한 책임이 없음에 동의합니다. 계약자는 그러한 제3자 애플리케이션을 통해 자신이 액세스한 모든 데이터, 콘텐츠 또는 리소스에 대한 책임은 그것을 만든 사람에게 있음에 동의합니다. 또한 계약자가 그러한 모든 제3자 애플리케이션, 데이터, 콘텐츠 또는 리소스를 사용하거나 액세스함으로써 비롯된 모든 피해나 손실에 대한 책임이 Google에게 없음에 동의합니다.
+
+7.2 그러한 제3자 애플리케이션을 통해 계약자에게 제공된 데이터, 콘텐츠 그리고 리소스는 그것을 제공한 제공자(또는 제공자를 대신하는 기타 개인 또는 기업)가 소유한 지적 재산권에 의해 보호될 수 있음을 유의해야 합니다. 그러한 데이터, 콘텐츠 또는 리소스(전부 또는 일부)를 수정, 임대, 리스, 대여, 판매, 배포하거나 이를 기반으로 파생물을 생성해서는 안 됩니다. 단, 관련 소유자로부터 그러한 작업을 수행해도 좋다는 허락을 받은 경우에는 예외입니다.
+
+7.3 계약자는 그러한 제3자 애플리케이션, 데이터, 콘텐츠 또는 리소스의 사용은 계약자와 관련 제3자 간에 체결하는 별도의 계약 조건의 적용을 받는다는 것을 인정합니다.
+
+8. Google API 사용
+
+8.1 Google API
+
+8.1.1 Google에서 데이터를 검색하기 위해 API를 사용하는 경우, 그러한 데이터가 Google 또는 데이터를 제공하는 당사자(또는 당사자를 대신하는 기타 개인 또는 기업)가 소유한 지적 재산권에 의해 보호될 수 있음을 인정합니다. 그러한 API를 사용하는 경우, 추가적인 서비스 약관의 적용을 받을 수 있습니다. 관련 서비스 약관에 허용되지 않은 한, 그러한 데이터(전부 또는 일부)를 변경, 임대, 리스, 대여, 판매, 배포하거나 이를 기반으로 파생물을 생성해서는 안 됩니다.
+
+8.1.2 Google에서 사용자 데이터를 검색하기 위해 API를 사용하는 경우, 계약자는 사용자로부터 명시적인 동의를 얻은 경우에 한하여, 그리고 해당 사용자가 허용한 범위 내의 한정된 목적으로만 데이터를 검색해야 합니다.
+
+9. 라이선스 계약 종료
+
+9.1 본 라이선스 계약은 계약자 또는 Google에 의해 아래와 같은 조건 하에 종료될 때까지 계속 적용됩니다.
+
+9.2 계약자가 라이선스 계약을 종료하고자 하는 경우, Preview 및 관련 개발자 자격 증명 일체의 사용을 중단하는 것으로 그러한 의사를 피력할 수 있습니다.
+
+9.3 Google은 언제든 이유 여하를 불문하고 계약자에게 통고하여 라이선스 계약을 종료할 수 있습니다.
+
+9.4 본 라이선스 계약은 통보 또는 여타의 행위 없이도 자동으로 종료됩니다. 이에 해당되려면 다음과 같은 조건이 수반되어야 합니다.
+(A) Google이 계약자가 거주하는 국가 또는 계약자가 서비스를 사용하는 지역에서 Preview 또는 Preview의 특정 부분 제공을 중지하는 경우 및
+(B) Google이 Android SDK의 최종 릴리스 버전을 발행하는 경우.
+
+9.5 본 라이선스 계약이 종료되면 라이선스 계약으로 계약자에게 허용한 라이선스가 취소되며, 이에 따라 계약자는 Preview 사용을 즉시 모두 중단해야 하고 제 10, 11, 12 및 14절의 조항이 기한 없이 유지됩니다.
+
+10. 면책 조항
+
+10.1 계약자는 Preview 이용에 대한 위험 부담이 전적으로 본인에게 있으며, Google이 일체의 보증 없이 Preview를 "있는 그대로" 그리고 "이용 가능한" 상태로 제공한다는 것을 분명히 이해하고 동의합니다.
+
+10.2 Preview 이용 및 이용 과정에서 다운로드하거나 얻게 되는 모든 자료를 사용하는 것은 본인의 재량에 따르며 이에 대한 위험 부담이 전적으로 본인에게 있으며, 그러한 사용으로 인해 발생하는 컴퓨터 시스템 또는 다른 기기의 손상 또는 데이터 손실에 대한 책임은 전적으로 본인에게 있습니다. 전술한 조항을 제한하지 않는 범위 내에서 계약자는 미리 보기가 안정된 릴리스가 아니며 오류, 결함 및 보안 취약성이 포함되어 있을 수 있어 그 결과로 중대한 손상을 유발할 수 있다는 점을 이해하는 것으로 간주합니다. 여기에는 계약자의 컴퓨터 시스템 또는 기타 기기의 완전하고 돌이킬 수 없는 손실도 포함됩니다.
+
+10.3 더 나아가, Google은 상품성, 특정 목적에 대한 적합성 및 비침해의 묵시적 보증 등을 포함하되 이에 국한되지 않고 명시적이든 묵시적이든 모든 종류의 보증 및 조건을 명시적으로 부인합니다.
+
+11. 책임 한계
+
+11.1 계약자는 계약자에게 발생할 수 있는 직접, 간접, 부수적, 특별, 결과적 또는 징벌적 손해에 대해 그 어떤 책임 이론에 근거해서도 Google, 해당 자회사, 계열사 및 사용 허가자가 어떠한 책임도 지지 아니함을 분명히 이해하고 동의합니다. 이러한 손해에는 Google 또는 해당 대리자가 이러한 손실 발생 가능성에 대해 통지를 받았거나 이러한 사항을 인식했는지에 상관없이 모든 데이터 손실이 포함됩니다.
+
+12. 면책
+
+12.1 법률에 의해 허용되는 최대한의 범위 안에서 계약자는 (a) 미리 보기 사용, (b) 계약자가 미리 보기에서 개발한 일체의 애플리케이션에서 초래된 모든 사람의 저작권, 상표, 영업비밀, 트레이드 드레스, 특허 또는 기타 지적 재산권의 침해, 또는 어떤 사람의 명예를 훼손하거나 초상권 또는 개인정보 보호정책을 침해함 또는 (C)계약자 본인이 본 라이선스 계약을 위반함으로써 발생하거나 생기는 모든 청구, 조치, 소송 또는 절차, 그리고 모든 손실, 책임, 손해, 경비(합리적인 변호사 비용 포함)로부터 Google을 옹호하고, 면책시키고, Google이 손해를 입지 않도록 하는 데 동의합니다.
+
+13. 라이선스 계약 변경
+
+13.1 미리 보기의 새로운 버전을 배포할 때, Google은 본 라이선스 계약의 내용을 변경할 수 있습니다. 그러한 변경이 이뤄진 경우, Google은 미리 보기가 제공되는 웹사이트에 새로운 라이선스 계약 버전을 게재할 것입니다.
+
+14. 일반 법적 조건
+
+14.1 본 라이선스 계약은 계약자와 Google 간의 모든 법적 계약을 구성하며, 계약자의 미리 보기 사용을 규제하고(별도의 서면 계약을 통해 Google이 계약자에게 제공하는 모든 서비스는 제외), 미리 보기와 관련하여 이전에 계약자와 Google이 맺은 모든 계약을 완전히 대체합니다.
+
+14.2 계약자는 Google이 라이선스 계약에 포함된(또는 관련 법률에 의해 Google이 향유하는) 법적 권리 또는 구제수단을 행사하거나 집행하지 않더라도, Google이 권리를 공식적으로 포기한 것으로 간주하지 않으며, Google이 계속해서 그러한 권리 또는 구제수단을 이용할 수 있음에 동의합니다.
+
+14.3 본 라이선스 계약의 조항이 무효라고 이 사안에 관한 판결을 할 수 있는 관할권을 가진 법원이 판결할 경우, 그 조항은 라이선스 계약의 나머지 조항에 영향을 미치지 않는 형태로 라이선스 계약에서 제거됩니다. 본 라이선스 계약의 나머지 조항은 여전히 유효하며 집행 가능합니다.
+
+14.4 계약자는 Google이 모회사가 되는 회사 그룹에 속한 각 회사가 본 라이선스 계약의 제3수익자이며, 그러한 다른 회사들이 그들에게 이익(또는 유리한 권리)을 부여하는 본 라이선스 계약의 모든 조항을 직접 행사하고 적용할 수 있는 권리를 가진다는 데 동의합니다. 그 외에는 다른 어떤 개인이나 회사도 본 라이선스 계약의 제3수익자가 될 수 없습니다.
+
+14.5 수출 규제. Preview는 미국의 수출법과 규정의 적용을 받습니다. 계약자는 Preview에 적용되는 모든 국내 및 국제 수출법과 규정을 준수해야 합니다. 그러한 법에는 수출 대상국, 최종 사용자 및 최종 용도에 대한 제한이 포함됩니다.
+
+14.6 계약자 또는 Google은 상대 당사자의 사전 서면 승인 없이 본 라이선스 계약에서 부여된 권리를 제3자에게 양도하거나 이전할 수 없으며, 그러한 승인 없이 이루어진 양도 시도는 모두 무효입니다. 계약자는 Google의 사전 승인 없이 본 라이선스 계약 상의 책임 또는 의무를 위임할 수 없습니다.
+
+14.7 본 라이선스 계약, 그리고 본 라이선스 계약 상의 계약자와 Google의 관계는 법률 조항 간의 충돌과는 무관하게 캘리포니아주법에 의한 규제를 받습니다. 계약자와 Google은 본 라이선스 계약으로부터 발생하는 모든 법적 문제 해결을 캘리포니아주 산타 클라라(Santa Clara) 카운티 내에 소재한 전속 관할 법원에 의뢰하는 것에 동의합니다. 위 규정에도 불구하고, 계약자는 Google이 여전히 모든 관할권에서 강제 구제책(또는 동등한 유형의 긴급 법적 구제)을 신청할 수 있음에 동의합니다.
+
+
+</div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/ko/preview/overview.jd b/docs/html-intl/intl/ko/preview/overview.jd
index 41200a7..0b14413 100644
--- a/docs/html-intl/intl/ko/preview/overview.jd
+++ b/docs/html-intl/intl/ko/preview/overview.jd
@@ -1,7 +1,7 @@
 page.title=프로그램 개요
 page.metaDescription=앱에서 차기 버전의 Android를 사용할 수 있도록 준비하세요.
 page.image=images/cards/card-n-overview_2x.png
-meta.tags="프리뷰", "developer", "android"
+meta.tags="preview", "developer", "android"
 page.tags="preview", "developer", "android"
 
 @jd:body
@@ -37,10 +37,10 @@
 -->
 
 <p>
-  <strong>Android N Developer Preview</strong>에 오신 것을 환영합니다. 이 프로그램은
-차기 버전의 Android에 대해 앱을 테스트하고 최적화하는 데 필요한
-모든 것을 제공합니다. 이 프로그램은 무료이고,
-N Developer Preview 도구를 다운로드하면 바로 시작할 수 있습니다.
+  <strong>Android N Developer Preview</strong>에 오신 것을 환영합니다. 이 프로그램은 차기 버전의 Android에 대해 앱을 테스트하고 최적화하는 데 필요한 모든 것을 제공합니다.
+
+ 이 프로그램은 무료이고, N Developer Preview 도구를 다운로드하기만 하면 바로 시작할 수 있습니다.
+
 </p>
 
 
@@ -75,7 +75,7 @@
 
     <div class="col-4of12">
       <h5>
-        개발자 문제의 우선순위
+        개발자 문제에 우선 순위 부여
       </h5>
 
       <p>
@@ -101,12 +101,12 @@
 
     <div class="col-4of12">
         <h5>
-        업데이트를 OTA로 전달
+        OTA를 통한 업데이트 제공
       </h5>
 
       <p>
-        Android 베타 프로그램을 통해 모든 지원되는 기기에서 매끄럽게 무선으로 업데이트합니다
-. 플래시가 필요없습니다.
+        Android 베타 프로그램을 통해 지원되는 모든 기기에 대해 원활한 OTA 업데이트가 제공됩니다.
+ 플래시가 필요 없습니다.
       </p>
     </div>
 
@@ -116,10 +116,10 @@
       </h5>
 
       <p>
-        
-<a href="{@docRoot}preview/bug">Issue Tracker</a>를 사용하여 문제를 보고하고 피드백을 보내 주세요.
-<a href="{@docRoot}preview/dev-community">N&nbsp;개발자 커뮤니티</a>에서
-다른 개발자와 연락하세요.
+        Google의 <a href="{@docRoot}preview/bug">Issue Tracker</a>를 사용해 문제를 보고하고 피드백을 보내 주세요.
+ <a href="{@docRoot}preview/dev-community">N&nbsp;개발자 커뮤니티</a>에서는 다른 개발자들과 의견을 주고받을 수 있습니다.
+
+
       </p>
     </div>
   </div>
@@ -140,70 +140,70 @@
 <img src="{@docRoot}images/n-preview-updates_2x.png">
 
 <p>
-  N Developer Preview는 2016년 3월 9일부터 2016년 3분기로 예정된
-AOSP 및 OEM에 Android N 최종 공개 릴리스까지 진행됩니다.
+  N Developer Preview의 운영 기간은 2016년 3월 9일부터 2016년 3분기로 예정된 AOSP 및 OEM에 대한 Android N 최종 공개 릴리스 때까지입니다.
+
 </p>
 
 <p>
-  중요 개발 마일스톤에서 여러분의 개발과 테스트 환경에 대한
-업데이트를 제공합니다. 일반적으로는 매월(4~6주
-간격) 업데이트를 제공할 예정입니다. 마일스톤은 다음과 같습니다.
+  개발 단계의 중요 마일스톤에 다다를 때마다 개발 및 테스트 환경을 위한 업데이트가 제공될 것입니다.
+ 일반적으로는 매월(4~6주 간격) 업데이트를 제공할 예정입니다.
+ 마일스톤은 다음과 같습니다.
 </p>
 
 <ul>
   <li><strong><a href="{@docRoot}preview/support.html#dp1">Preview 1</a></strong>(최초 릴리스, 알파)</li>
   <li><strong><a href="{@docRoot}preview/support.html#dp2">Preview 2</a></strong>(증분 업데이트, 알파)</li>
-  <li><strong>Preview 3</strong>(증분 업데이트, 베타)</li>
+  <li><strong><a href="{@docRoot}preview/support.html#dp3">Preview 3</a></strong>(증분 업데이트, 베타)</li>
   <li><strong>Preview 4</strong>(최종 API 및 공식 SDK, Play 게시)</li>
   <li><strong>Preview 5</strong>(최종 테스트를 위한 거의 최종 시스템 이미지)</li>
   <li>AOSP 및 에코시스템에 <strong>최종 릴리스</strong></li>
 </ul>
 
 <p>
-  각 업데이트에는 SDK 도구, 프리뷰 시스템, 이미지, 에뮬레이터, 참조 문서,
-API 차이 등이 포함됩니다.
-</p>
-
-<p>
-  <strong>첫 3단계 프리뷰 마일스톤</strong>은 현재 앱의 호환성 문제를 파악하고
-새 플랫폼에 필요한 마이그레이션이나 주요 작업을
-계획하는 데 도움이 되는<strong>조기 테스트 및 개발 환경</strong>을 제공합니다.
-이는 기능과 API, 파일 호환성 문제에 대한 피드백을 제공하는
-우선순위 기간입니다.
-&mdash;이러한 모든 경우에 <a href="{@docRoot}preview/bug">Issue
-Tracker</a>를 사용하세요. 업데이트 과정에서 일부 API가 변경될 수 있습니다.
-</p>
-
-<p>
-  <strong>프리뷰 4 및 5</strong>에서 개발에 사용할 <strong>최종
- N API 및 SDK</strong>와 최종 버전에 가까운 시스템 이미지에 대한 액세스를 제공하고,
-시스템 동작과 기능을 테스트할 수 있습니다. 이번에 Android N은 표준 API
-레벨을 제공합니다. 레거시 앱의 최종 호환성 테스트를 시작하고
-N API 또는 기능을 사용하는 새 코드를 개선할 수 있습니다.
-</p>
-
-<p>
-  또한 프리뷰 4에서 시작하면 Android 베타 프로그램에 옵트인된 소비자 기기와 같이
-공식 API 레벨에서 Android N을 실행하는 <strong>기기에 앱을
-게시</strong>할 수 있습니다.
-Google Play 알파 및 베타 채널에 먼저 게시할 수 있으므로,
-Play 스토어에 광범위하게 배포하기 전에 Android 베타 소비자를 통해 앱을 테스트할 수 있습니다.
+  각 업데이트에는 SDK 도구, 프리뷰 시스템 이미지, 에뮬레이터, 참조 문서 및 API 차이 등이 포함됩니다.
 
 </p>
 
 <p>
-  Android N에서 테스트 및 개발하는 동안 프리뷰 업데이트가 릴리스되면 <strong>
-개발 환경을 최신으로 유지</strong>하는 것이 좋습니다.
-이 과정을 손쉽게 진행하려면 테스트 기기를
-Android 베타 프로그램에 등록하고 각 마일스톤에서 <strong>OTA 업데이트</strong>를
-받을 수 있습니다. 또는 업데이트된 프리뷰 이미지를 직접 다운로드하고
-플래시할 수 있습니다.
+  <strong>첫 3단계 프리뷰 마일스톤</strong>에서는 현재 앱의 호환성 문제를 확인하고 새 플랫폼을 대상으로 하는 데 필요한 마이그레이션 또는 주요 작업을 계획하는 데 도움이 되는 <strong>조기 테스트 및 개발 환경</strong>을 제공합니다.
+
+
+ 이 기간은 기능과 API 및 파일 호환성 문제에 대한 피드백을 제공하는 우선 순위 기간입니다. 이 모든 경우에 대해 <a href="{@docRoot}preview/bug">Issue Tracker</a>를 사용하세요.
+
+
+ 업데이트 과정에서 일부 API가 변경될 수 있습니다.
 </p>
 
 <p>
-  프리뷰 업데이트가 제공될 때마다 <a href="http://android-developers.blogspot.com/">Android 개발자 블로그</a>,
-해당 사이트 및 <a href="{@docRoot}preview/dev-community">Android
-N 개발자 커뮤니티</a>를 통해서 알려드릴 것입니다.
+  <strong>Preview 4 및 5</strong>에서는 개발에 사용할 <strong>최종 N API 및 SDK</strong>와 최종 버전에 가까운 시스템 이미지에 액세스할 수 있으며, 시스템 동작과 기능을 테스트할 수 있습니다.
+
+ 이 시점에서 Android N은 표준 API 레벨을 제공합니다.
+ 레거시 앱의 최종 호환성 테스트를 시작할 수 있으며 N API 또는 기능을 사용하는 새 코드를 개선할 수 있습니다.
+
+</p>
+
+<p>
+  또한 Preview 4부터는 공식 API 레벨에서 Android N이 실행되는 <strong>기기(예: Android 베타 프로그램에 옵트인한 소비자 기기)에 앱을 게시</strong>할 수 있습니다.
+
+ Google Play 알파 및 베타 채널에 먼저 게시할 수 있으므로, Play 스토어에 광범위하게 배포하기 전에 Android 베타 소비자를 통해 앱을 테스트할 수 있습니다.
+
+
+
+</p>
+
+<p>
+  Android N에서 테스트와 개발을 수행하는 동안, 프리뷰 업데이트가 출시되는 것에 맞춰 <strong>개발 환경을 최신 상태로 유지</strong>할 것을 적극 권장합니다.
+
+ 이 과정을 손쉽게 진행하기 위해 테스트 기기를 Android 베타 프로그램에 등록하고 각 마일스톤에서 <strong>OTA 업데이트</strong>를 받을 수 있습니다.
+
+ 또는 업데이트된 프리뷰 이미지를 수동으로 다운로드하고 플래시할 수도 있습니다.
+
+</p>
+
+<p>
+  프리뷰 업데이트가 제공될 때마다 <a href="http://android-developers.blogspot.com/">Android 개발자 블로그</a>, 이 사이트 및 <a href="{@docRoot}preview/dev-community">Android N 개발자 커뮤니티</a>를 통해서 알려드릴 것입니다.
+
+
 </p>
 
 
@@ -217,7 +217,7 @@
 
 <h3 id="sdk_tools">SDK 도구</h3>
 
-<p>이러한 구성 요소는 <a href="{@docRoot}sdk/installing/adding-packages.html">Android Studio</a>에서 SDK Manager를 통해 다운로드할 수 있습니다.</p>
+<p>이러한 구성 요소는 <a href="{@docRoot}studio/intro/update.html">Android Studio</a>에서 SDK Manager를 통해 다운로드할 수 있습니다.</p>
 
 <ul>
   <li> N Developer Preview <strong>SDK 및 도구</strong>
@@ -233,39 +233,39 @@
 <h3 id="hardware_system_images">하드웨어 시스템 이미지</h3>
 
 <p>
-  N Developer Preview에는 Nexus와 물리적 기기를 테스트하고 개발할 때 사용할 수 있는 다른 하드웨어 시스템 이미지가 포함되어 있습니다.
-하드웨어 이미지의 전체 목록을 보려면 <a href="{@docRoot}preview/download.html">기기 이미지</a> 페이지를
-참조하세요.
+  N Developer Preview에는 물리적 기기에서 테스트하고 개발할 때 사용할 수 있는 다른 하드웨어 시스템 이미지와 Nexus가 포함되어 있습니다.
+ 하드웨어 이미지의 전체 목록을 보려면 <a href="{@docRoot}preview/download.html">기기 이미지</a> 페이지를 참조하세요.
+
 </p>
 
 <p>
-  각 마일스톤에서 업데이트된 시스템 이미지를 제공합니다.
-업데이트된 시스템 이미지를 다운로드 및 플래시하고 필요한 만큼 자주
-직접 기기를 테스트할 수 있습니다. 이 방법은
-기기를 여러 번 다시 플래시해야 하는 자동화된 테스트 환경에
-특히 유용합니다.
+  각 마일스톤 때마다 이들 기기에 대한 업데이트된 시스템 이미지가 제공될 것입니다. 업데이트된 시스템 이미지를 필요한 만큼 자주 다운로드하여 테스트 기기에 수동으로 플래시할 수 있습니다.
+
+ 이것은 기기를 여러 번 다시 플래시해야 하는 자동화된 테스트 환경에 특히 유용합니다.
+
+
 </p>
 
 <p class="note"><strong>참고</strong>:
-<strong>수동으로 플래시된 기기는 지난 해 프리뷰와 달리 OTA 업데이트를 받지 못합니다</strong>
-. 올해에는 Android 베타 프로그램에 기기를 등록해야 OTA 업데이트를 받을 수 있습니다.
-&mdash;자세한 내용은 다음 섹션을 참조하세요.
+  <strong>수동으로 플래시된 기기는 지난 해 프리뷰와 마찬가지로 OTA 업데이트를 받지 못합니다</strong>.
+ 올해에는 Android 베타 프로그램에 기기를 등록해야만 OTA 업데이트를 받을 수 있습니다. 자세한 내용은 다음 섹션을 참조하세요.
+
 </p>
 
 <h3 id="android_beta">Android 베타 프로그램을 통한 OTA 업데이트</h3>
 
 <p>
-  Android N에서는 프로그램에 등록한 기기에 Android N의 최신 프리뷰 업데이트를 자동으로 전송하는
-OTA(Over-the-Air) 업데이트 프로그램이 새로 도입되었습니다.
-이 프로그램은 무료이고 Google 계정에 등록된 지원 기기를 가지고 있는 사람이라면
-누구나 사용할 수 있습니다.
+  Android N에서는 프로그램에 등록한 기기에 Android N의 최신 프리뷰 업데이트를 자동으로 직접 전송해 주는 OTA(Over-the-Air) 업데이트 프로그램을 새로 도입했습니다.
+
+ 이 프로그램은 무료이고 Google 계정에 등록된 지원 기기를 가지고 계신 사람이라면 누구나 사용할 수 있습니다.
+
 </p>
 
 <p>
-  프로그램에 등록하려면 <a href="https://g.co/androidbeta">Android
-Beta 프로그램</a> 사이트를 방문하세요.
-계정에 등록된 기기 중 Android 베타에 등록할 수 있는 기기를
-모두 확인할 수 있습니다.
+  프로그램에 등록하려면 <a href="https://g.co/androidbeta">Android 베타 프로그램</a> 사이트를 방문하세요.
+ 계정에 등록된 기기 중에서 Android 베타에 등록할 수 있는 기기를 모두 확인할 수 있습니다.
+
+
 </p>
 
 <ol>
@@ -274,36 +274,36 @@
 </ol>
 
 <p>
-  등록을 마치면 곧 기기에서 업데이트를 수신합니다. 대부분의 경우,
-Android N으로 이동하기 위해 데이터를 완전히 초기화할 필요는 없지만,
-잃고 싶지 않은 데이터가 있다면 기기를 등록하기 전에 백업하는 것이
-좋습니다.
+  등록을 마치면 곧바로 기기에서 업데이트를 수신합니다. 대부분의 경우, Android N으로 전환하기 위해 데이터를 완전히 초기화할 필요는 없지만, 잃고 싶지 않은 데이터가 있다면 기기를 등록하기 전에 이 데이터를 백업하는 것이 좋습니다.
+
+
+
 </p>
 
 <p>
-  업데이트가 기기에 전송되면,
-가급적 빨리 다운로드하고 설치하는 것이 좋습니다. 시스템 UI, 동작, API 및 기능의 최신 변경 사항에 맞춰
-기기를 최신으로 유지할 수 있습니다.
+  업데이트가 기기에 전송되면, 가급적 빨리 업데이트를 다운로드하고 설치하는 것이 좋습니다.
+ 시스템 UI, 동작, API 및 기능의 최신 변경사항에 맞춰 기기를 최신으로 유지할 수 있습니다.
+
 </p>
 
 <p>
-  Developer Preview가 마무리될 때, 등록된 기기는
-공식 Android N 릴리스 업데이트를 받게 됩니다.
+  Developer Preview가 마무리되면, 귀하의 등록된 기기가 공식 Android N 릴리스 업데이트를 받게 됩니다.
+
 </p>
 
 <p>
-  Android 베타 사이트에서 언제든 Android 베타 프로그램에서 기기 등록을 해제할 수 있습니다.
-등록을 해제하기 전에 기기에서 데이터를
-백업하세요.
+  Android 베타 사이트에서 언제든지 Android 베타 프로그램으로부터 기기 등록을 해제할 수 있습니다.
+ 등록을 해제하기 전에 기기에서 데이터를 백업하세요.
+
 </p>
 
   <p class="note"><strong>참고</strong>:
- 등록을 해제하면 Android 6.0 Marshmallow
-최신 버전으로 <strong>기기가 공장 초기화됩니다</strong>
-(기기 등록 전에 설치했던 버전이
-아닐 수도 있습니다). 클린 설치를 위해서
-연락처, 메시지, 사진 등의 데이터가
-기기에서 삭제됩니다.
+  등록을 해제하면 Android 6.0 Marshmallow의 최신 버전(기기 등록 전에 설치한 버전이 아닐 수도 있음)으로 <strong>기기가 공장 초기화됩니다</strong>.
+
+
+ 클린 설치를 위해서 연락처, 메시지, 사진 등의 데이터가 기기에서 지워집니다.
+
+
 </p>
 
 <h3 id="documentation_and_sample_code">문서 및 샘플 코드</h3>
@@ -314,17 +314,17 @@
 </p>
 
 <ul>
-  <li> <a href="{@docRoot}preview/setup-sdk.html">
-Android N용 개발 설정</a>에는 
+  <li> <a href="{@docRoot}preview/setup-sdk.html">Android
+N용 개발 설정</a>에는
 시작하는 데 필요한 단계별 지침이 포함되어 있습니다.</li>
-  <li> <a href="{@docRoot}preview/behavior-changes.html">동작
-변경</a>에서는 테스트해야 할 주요 영역을 알려줍니다.</li>
-  <li> 새 API 관련 문서 중에 <a href="{@docRoot}preview/api-overview.html">API 개요</a>, 다운로드 가능한
-<a href="{@docRoot}preview/setup-sdk.html#docs-dl">API
-참조</a> 및
-다중 창 지원, 묶음 알림, 다중 로케일 지원 등과 같은 주요 기능에 대한 상세한 개발자 가이드도 포함되어 있습니다.
-  <li> <a href="{@docRoot}preview/samples.html">샘플 코드</a>는
-권한과 기타 새로운 기능을 지원하는 방법을 보여줍니다.
+  <li> <a href="{@docRoot}preview/behavior-changes.html">동작 변경 사항</a>에서는 테스트할 주요 영역을 알려줍니다.
+</li>
+  <li> 새 API에 관련된 문서 중에는 <a href="{@docRoot}preview/api-overview.html">API 개요</a>, 다운로드 가능한 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 참조</a> 그리고 다중 창 지원, 묶음 알림, 다중 로케일 지원 등과 같은 주요 기능에 대한 상세 개발자 가이드도 포함되어 있습니다.
+
+
+
+  <li> <a href="{@docRoot}preview/samples.html">샘플 코드</a>에서는 권한과 새로운 기타 기능을 지원하는 방법을 보여줍니다.
+
   <li> <a href="{@docRoot}preview/support.html#release-notes">릴리스 노트</a>를
 보면 N Developer Preview의 현재 버전에 대한 변경 사항과 차이점 보고서 등 관련 정보를
 확인할 수 있습니다.
@@ -333,16 +333,16 @@
 <h4 id="reference">다운로드 가능한 API 참조</h4>
 
 <p>
-  초기 프리뷰 업데이트 동안
-최신 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Android N 플랫폼용
-API 참조</a>를 별도의 zip 아카이브로 다운로드할 수 있습니다. 참조
-다운로드에는
-API 23 및 이전 업데이트에서 API 변경 사항을 확인하는 데 유용한 차이점 보고서도 포함되어 있습니다.
+  초기 프리뷰 업데이트 중에, 최신 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Android N 플랫폼용 API 참조</a>를 별도의 zip 아카이브로 다운로드할 수 있습니다.
+
+ 이 참조 다운로드에는 또한 API 23 및 이전 업데이트에서 API 변경사항을 확인하는 데 유용한 차이점 보고서도 포함되어 있습니다.
+
+
 </p>
 
 <p>
-  Android N API가 최종 버전이 되고 공식 API 레벨이 할당되면,
-<a href="https://developer.android.com">https://developer.android.com</a>에서 온라인으로 API 참조를 제공할 것입니다.
+  Android N API가 최종 버전이고 공식 API 레벨이 할당되면, 저희가 <a href="https://developer.android.com">https://developer.android.com</a>에서 온라인으로 API 참조를 제공해 드릴 것입니다.
+
 </p>
 
 <h3 id="support_resources">
@@ -350,64 +350,64 @@
 </h3>
 
 <p>
-  N Developer Preview에서 테스트하고 개발하면서 다음 채널을 활용하여
-문제를 보고하고 피드백을 제공해 주세요.
+  N Developer Preview에서 테스트와 개발을 수행하면서 다음 채널을 활용하여 문제를 보고하고 피드백을 제공해 주세요.
+
 </p>
 
 <ul>
-  <li> <a href="https://code.google.com/p/android-developer-preview/">N Developer Preview Issue
-Tracker</a>는 <strong>기본 피드백 채널</strong>입니다. Issue Tracker를 통해 버그, 성능 문제,
-전반적 피드백을 보고할 수 있습니다. 또한,
-<a href="{@docRoot}preview/bug">알려진 문제</a>를 확인하고
-해결 방법을 찾을 수 있습니다. 여러분의 문제는 분류되어 Android 엔지니어링 팀에게 검토하도록 보내는 과정을 통해
-지속적으로 업데이트될 것입니다. </li>
+  <li> <a href="https://code.google.com/p/android-developer-preview/">N Developer Preview Issue Tracker</a>는 <strong>기본 피드백 채널</strong>입니다.
+ Issue Tracker를 통해 버그, 성능 문제 및 전반적인 피드백을 보고할 수 있습니다.
+ 또한, <a href="{@docRoot}preview/bugs">알려진 문제</a>를 확인하고 해결 방법을 찾을 수 있습니다.
+
+ 여러분이 보고한 문제가 분류되어 Android 엔지니어링 팀에게 검토하도록 보내질 때마다 알림을 받으실 것입니다.
+ </li>
   <li> <a href="{@docRoot}preview/dev-community">Android N 개발자 커뮤니티</a>는
 일종의 Google+ 커뮤니티로,
 여기에서 여러분은 Android N으로 작업하는 <strong>다른 개발자들과 소통</strong>할 수 있습니다. 서로의 의견이나 아이디어를 나누고 Android N 관련 질문에 대한 대답을 찾을 수도 있습니다.
-저희는 커뮤니티를 진행하고 필요에 따라 답변과 지침을
+저희는 커뮤니티를 조정하고 필요에 따라 답변과 지침을
 제공할 것입니다.</li>
 </ul>
 
 <h3 id="targeting">대상 지정, 프리뷰 API 및 게시</h3>
 
 <p>
-  N Developer Preview는 <strong>표준 API 레벨이 없는</strong> 개발 전용 시스템과 Android
-라이브러리를 제공합니다.
-앱을 테스트하기 위해 호환성 동작에서 옵트아웃하고자 하는 경우(강력히
-권장함), 앱의 <code><a href=
-  "{@docRoot}preview/setup-sdk.html#create-update">targetSdkVersion</a></code>
-를 <code>“N”</code>으로 설정하여 N Developer 프리뷰 버전을
-대상으로 지정하면 됩니다.
+  N Developer Preview에서는 <strong>표준 API 레벨이 없는</strong> 개발 전용 시스템 및 Android
+라이브러리를 제공합니다. 앱을 테스트하기 위해 호환성 동작에서 옵트아웃하려는 경우(적극 권장), Android N의 프리뷰 버전을 대상으로 지정하면 됩니다. 앱의 <code><a href=
+  "{@docRoot}preview/setup-sdk.html#create-update">targetSdkVersion</a></code>을 <code>“N”</code>으로 지정하세요.
+
+
+
+
 </p>
 
 <p>
-  Android N Developer Preview에서는 <strong>프리뷰 API</strong>
-를 제공합니다. &mdash;이 API는 최종 SDK가 출시될 때까지
-공식적인 버전으로 인정되지 않습니다. 최종 SDK 릴리스는 현재 2016년 3분기로 예정되어 있습니다. 즉, 시간이 지나면서 특히 프로그램을 시작한 초기 몇 주 동안에는
-<strong>사소한 API 변경이 있을 수 있습니다</strong>.
-Android N Developer Preview를 업데이트할 때마다
-변경 사항을 요약하여 제공할 것입니다.
+  Android N Developer Preview에서는 <strong>프리뷰 API</strong>를 제공합니다. 이 API는 최종 SDK가 출시될 때까지는 공식 버전이 아닙니다. 현재 최종 SDK 릴리스는 2016년 3분기로 예정되어 있습니다.
+
+ 즉, 시간이 지나면서 특히 프로그램 시작 후 초기 몇 주 동안에는 <strong>사소한 API 변경이 있을 수 있습니다</strong>.
+
+ Android N Developer Preview를 업데이트할 때마다 변경 사항을 요약하여 제공해 드릴 것입니다.
+
 </p>
 
 <p class="note">
-  <strong>참고</strong>: 프리뷰 API는 변경될 수 있지만, 기본 시스템
-동작은 안정적이며 지금 바로 테스트 가능한 상태입니다.
+  <strong>참고</strong>: 프리뷰 API는 변경될 수 있지만, 기본 시스템 동작은 안정적이며 지금 바로 테스트가 가능한 상태입니다.
+
 
 </p>
 
 <p>
-  Google Play는 <strong>N Developer
-Preview를 대상으로 하는 앱의 게시를 금지합니다</strong>. Android N 최종 SDK를 사용할 수 있게 되면
-공식 Android N API 레벨을 대상으로 지정하고 알파 및 베타 릴리스 채널을 통해 Google
-Play에 게시할 수 있습니다. 그때까지는
-Android N을 대상으로 하는 앱을 테스터들에게 배포하고자 하는 경우, 이메일이나 본인의 사이트에서 직접
-다운로드를 통해 하시면 됩니다.
+  Google Play에서는 <strong>N Developer Preview를 대상으로 하는 앱의 게시를 금지합니다.</strong>
+ Android N 최종 SDK를 사용할 수 있게 되면 공식 Android N API 레벨을 대상으로 지정하고, 알파 및 베타 릴리스 채널을 통해 Google Play에 앱을 게시할 수 있습니다.
+
+ 그때까지는 Android N을 대상으로 하는 앱을 테스터에게 배포하려는 경우, 이메일이나 여러분의 사이트에서 직접 다운로드를 통해 하면 됩니다.
+
+
 </p>
 
 <p>
-  AOSP와 OEM에 대한 Android N 전체 릴리스는 2016년 3분기로 예정되어 있습니다.
-이때 Google Play에서 공개 릴리스 채널에 Android N을 대상으로 하는 앱을
-게시할 수 있을 것입니다.
+  AOSP 및 OEM에 대한 Android N 전체 릴리스는 2016년 3분기로 예정되어 있습니다. 이때 Android N을 대상으로 하는 여러분의 앱을 Google Play의 공개 릴리스 채널에 게시할 수 있습니다.
+
+
 </p>
 
 
@@ -418,21 +418,21 @@
 </p>
 
 <ol>
-  <li> <a href="{@docRoot}preview/api-overview.html">API 개요</a>와
-<a href="{@docRoot}preview/behavior-changes.html">동작 변경</a>을 검토하고
-새로운 사항과 이것이 본인의 앱에 미치는 영향에 대해 파악해야 합니다. 특히,
-새로운 <a href="{@docRoot}preview/features/notification-updates.html">알림</a> 기능과
-<a href="{@docRoot}preview/features/multi-window.html">다중 창 지원</a>에 대해 알아보세요.</li>
-  <li> <a href="{@docRoot}preview/setup-sdk.html">Preview SDK 설정</a>
-및 테스트 기기 구성 지침에 따라 환경을 설정하세요.</li>
+  <li> <a href="{@docRoot}preview/api-overview.html">API 개요</a> 및 <a href="{@docRoot}preview/behavior-changes.html">동작 변경 사항</a>을 검토하여 새로운 사항과 이 사항이 여러분의 앱에 미치는 영향을 파악합니다.
+
+ 특히, 새로운 <a href="{@docRoot}preview/features/notification-updates.html">알림</a> 기능과 <a href="{@docRoot}preview/features/multi-window.html">다중 창 지원</a>에 대해 알아봅니다.
+
+</li>
+  <li> <a href="{@docRoot}preview/setup-sdk.html">Preview SDK 설정</a> 및 테스트 기기 구성 지침에 따라 자신의 환경을 설정합니다.
+</li>
   <li> <a href="https://developers.google.com/android/nexus/images">플래시
-지침</a>에 따라 자신의 기기용 최신 Android N Developer Preview 시스템 이미지를 플래시하세요. </li>
+지침</a>에 따라 자신의 기기용 최신 Android N Developer Preview 시스템 이미지를 플래시합니다. </li>
   <li> <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 참조</a>와
-<a href="{@docRoot}preview/samples.html">Android N 샘플</a>을 검토하면 새로운 API 기능과 앱에서
-그러한 기능을 사용하는 방법에 대해 좀 더 자세히 파악할 수 있습니다.
+<a href="{@docRoot}preview/samples.html">Android N 샘플</a>을 검토하여 새로운 API 기능과 앱에서
+그러한 기능을 사용하는 방법에 대해 좀 더 자세히 파악합니다.
   <li> <a href="{@docRoot}preview/dev-community">Android N 개발자
 커뮤니티</a>에 가입하여 최신 소식을 알아보고, 새 플랫폼으로 작업하는
-다른 개발자들과 이야기를 나눠보세요.</li>
+다른 개발자들과 이야기를 나눕니다.</li>
 </ol>
 
 <p>
diff --git a/docs/html-intl/intl/ko/preview/preview_toc.cs b/docs/html-intl/intl/ko/preview/preview_toc.cs
new file mode 100644
index 0000000..116b855
--- /dev/null
+++ b/docs/html-intl/intl/ko/preview/preview_toc.cs
@@ -0,0 +1,75 @@
+<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="程式總覽"> 프로그램 개요</a></div>
+  </li>
+
+
+  <li class="nav-section">
+    <div class="nav-section-header empty"><a href="&lt;?cs var:toroot ?&gt;preview/support.html"> 지원 및 릴리스 노트</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"> 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="在裝置上測試"> 기기에 대한 테스트</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="行為變更">동작 변경 사항</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="背景最佳化">백그라운드 최적화</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="語言和地區設定">언어 및 로케일 </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="多視窗支援"> 다중 창 지원</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="通知"> 알림</a></li>
+
+        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/data-saver.html"> Data Saver</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="電視錄製"> 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="網路安全性設定"> 네트워크 보안 구성</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"> 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 語言功能"> Java 8 언어 기능</a></li>
+
+        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/afw.html"> 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="限定範圍目錄存取"> 범위가 지정된 디렉터리 액세스</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="範例"> 샘플</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="授權協議"> 라이선스 계약</a></div>
+  </li>
+
+</ul> 
\ No newline at end of file
diff --git a/docs/html-intl/intl/ko/preview/samples.jd b/docs/html-intl/intl/ko/preview/samples.jd
index 634133b..1753bfa 100644
--- a/docs/html-intl/intl/ko/preview/samples.jd
+++ b/docs/html-intl/intl/ko/preview/samples.jd
@@ -4,14 +4,14 @@
 @jd:body
 
 <p>
-  Android N용으로 다음 코드 샘플이 제공됩니다. Android Studio에서 샘플을
-다운로드하려면 <b>File &gt; Import
-  Samples</b> 메뉴 옵션을 선택합니다.
+  Android N용으로 다음과 같은 코드 샘플이 제공됩니다. Android Studio에서 샘플을 다운로드하려면 <b>File &gt; Import Samples</b> 메뉴 옵션을 선택합니다.
+
+
 </p>
 
 <p class="note">
-  <strong>참고:</strong> 이러한 다운로드 가능한 프로젝트는 Gradle 및 Android Studio와 함께 사용하도록
-고안되었습니다.
+  <strong>참고:</strong> 이러한 다운로드 가능 프로젝트는 Gradle 및 Android Studio와 함께 사용하도록 고안되었습니다.
+
 </p>
 
 
@@ -30,9 +30,9 @@
 <h3 id="an">활성 알림</h3>
 <img src="{@docRoot}preview/images/sample-activenotifications.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
 <p>
-  NotificationCompat를 사용하여
-알림을 발송하는 간단한 서비스를 보여주는 기존 샘플입니다. 각각의 읽지 않은 사용자 대화는
-고유한 알림으로 발송됩니다.
+  이것은 NotificationCompat를 사용하여 알림을 발송하는 간단한 서비스를 보여주는 기존 샘플입니다.
+ 각각의 읽지 않은 사용자 대화는 고유한 알림으로 발송됩니다.
+
 </p>
 <p>
   이 샘플은 Android N에서 사용할 수 있는 새로운 알림 기능을
diff --git a/docs/html-intl/intl/ko/preview/setup-sdk.jd b/docs/html-intl/intl/ko/preview/setup-sdk.jd
index d04acef..03727a3 100644
--- a/docs/html-intl/intl/ko/preview/setup-sdk.jd
+++ b/docs/html-intl/intl/ko/preview/setup-sdk.jd
@@ -1,5 +1,5 @@
 page.title=Preview 설정
-meta.keywords="프리뷰", "android"
+meta.keywords="preview", "android"
 page.tags="preview", "developer preview"
 page.image=images/cards/card-n-sdk_2x.png
 
@@ -15,7 +15,7 @@
       <li><a href="#docs-dl">참조 문서</a>
     </ol>
   </li>
-  <li><a href="#java8">Java 8 JDK 및 JRE 가져오기</a></li>
+  <li><a href="#java8">Java 8 JDK 가져오기</a></li>
   <li><a href="#create-update">프로젝트 업데이트 또는 생성</a></li>
   <li><a href="#next">다음 단계</a></li>
 </ol>
@@ -31,74 +31,39 @@
 <img src="{@docRoot}preview/images/n-preview-setup.png" width="700" alt="" />
 
 
-<h2 id="get-as13">Android Studio 2.1 가져오기(프리뷰)</h2>
+<h2 id="get-as13">Android Studio 2.1 가져오기</h2>
 
-<p>Android N 플랫폼에서는 <a href="{@docRoot}preview/j8-jack.html">Java 8 언어 기능</a>을 지원하며
-여기에는 Jack이라는 새로운 컴파일러가 필요합니다. 현재는
-Android Studio 2.1에서만 최신 버전의 Jack이 지원됩니다. 따라서 Java 8 언어 기능을
-사용하려면, Android Studio 2.1을 사용하여 앱을 빌드해야 합니다. 그렇지 않은 경우,
-Jack 컴파일러를 사용할 필요가 없지만 Android N 플랫폼에
-대해 컴파일하려면 아래의 설명에 따라 JDK 8로
-업데이트해야 합니다.
+<p>Android N 플랫폼에는 <a href="{@docRoot}preview/j8-jack.html">Java 8 언어 기능</a>에 대한 지원이 추가되었으며, 여기에는 Jack이라는 새 컴파일러가 필요합니다.
+ 현재는 Android Studio 2.1에서만 최신 버전의 Jack이 지원됩니다. 따라서 Java 8 언어 기능을 사용하려면, Android Studio 2.1을 사용하여 앱을 빌드해야 합니다.
+
+
+ 그렇지 않은 경우, Jack 컴파일러를 사용할 필요가 없지만 Android N 플랫폼에 대해 컴파일하려면 아래의 설명에 따라 JDK 8로 업데이트해야 합니다.
+
 </p>
 
-<p>현재 Android Studio 2.1은 Canary 릴리스 채널에서 프리뷰로
-제공됩니다.
-Android Studio가 이미 있고 Canary Channel로 업데이트하지 않으려면,
-Android Studio 2.1을 별도의 설치로 다운로드한 후, Android N을
-사용한 개발에 이것을 사용할 수 있습니다.
-이 경우 기본 Android Studio 환경은 영향을 받지 않습니다.</p>
+<p>Android Studio가 이미 설치된 경우 <strong>Help &gt; Check for Update</strong>(Mac의 경우, <strong>Android Studio &gt; Check for Updates</strong>)를 클릭하여 Android Studio 2.1 이상이 설치되어 있는지 확인해야 합니다.
 
-<p>Android Studio 2.1을 별도의 설치로 다운로드하려면 다음
-단계를 따르세요(또는 기존 설치의 업데이트로 Android Studio 2.1을
-받으려면 4단계로 건너뛰세요).</p>
+</p>
 
-<ol>
-  <li>기존 Android Studio 설치의 이름을 수정하고 버전 번호를 붙입니다.
-이런 방식으로 새 버전을 설치하면
-기존 버전을 덮어쓰지 않습니다.</li>
-  <li><a href="http://tools.android.com/download/studio/canary/latest">Canary Channel
-다운로드 페이지</a>에서 자신의 운영 체제에 맞는 ZIP 파일을 다운로드합니다.
-  </li>
-  <li>패키지의 압축을 풀고 Android Studio 2.1의 콘텐츠를
-    시스템상의 적절한 애플리케이션 위치로 이동한 다음 실행합니다.</li>
-  <li>Settings 대화 상자를
-엽니다(Windows/Linux에서 <strong>File &gt; Settings</strong> 또는
-Mac에서 <strong>Android Studio &gt; Preferences</strong>). 왼쪽 패널에서 <strong>Appearance &amp; Behavior &gt; System Settings &gt;
-Updates</strong>를
-선택합니다.
-  </li>
-  <li>Updates 패널에서 <strong>Automatically
-check updates for</strong> 확인란을 선택하고
-드롭다운 목록에서 <strong>Canary Channel</strong>을 선택합니다.
-  </li>
-</ol>
-
-<p>다음 단계를 위해 이 설정 창을 열어둡니다.</p>
+<p>설치되어 있지 않은 경우 <a href="{@docRoot}studio/">여기서 Android Studio 2.1을 다운로드</a>하세요.
+</p>
 
 
 <h2 id="get-sdk">N Preview SDK 가져오기</h2>
 
-<p>Android N API를 사용한 개발을 시작하려면,
-다음과 같이 Android N Preview SDK를 Android Studio에 설치해야 합니다.</p>
+<p>Android N API를 사용한 개발을 시작하려면, 다음과 같이 Android N Preview SDK를 Android Studio에 설치해야 합니다.
+</p>
 
 <ol>
-  <li>Updates 패널이 여전히 표시된 상태에서(위의 4단계), <strong>Automatically
-check updates for Android SDK</strong> 확인란을 선택하고
-드롭다운 목록에서 <strong>Preview Channel</strong>을
-선택합니다.
-  </li>
-  <li><strong>Check Now</strong>를 클릭합니다.</li>
+  <li><strong>Tools &gt; Android &gt; SDK Manager</strong>를 클릭하여 SDK Manager를 엽니다.
+</li>
 
-  <li>왼쪽 패널에서 <strong>Appearance &amp; Behavior &gt;
- System Settings &gt; Android SDK</strong>를 선택합니다.
-
-  <li><strong>SDK Platforms</strong> 탭을 클릭한 다음,
-<strong>Android N Preview</strong> 확인란을 선택합니다.</li>
+  <li><strong>SDK Platforms</strong> 탭에서 <strong>Android N Preview</strong> 체크박스를 선택합니다.
+</li>
 
   <li><strong>SDK Tools</strong> 탭을 클릭한 다음,
 <strong>Android SDK Build Tools</strong>, <strong>Android SDK
-Platform-Tools</strong>, <strong>Android SDK Tools</strong> 확인란을
+Platform-Tools</strong>, <strong>Android SDK Tools</strong> 체크박스를
 선택합니다.
   </li>
 
@@ -110,11 +75,11 @@
 <h3 id="docs-dl">N Preview 참조 문서 가져오기</h3>
 
 <p>
-  Android N API에 대한 자세한 내용은 N Preview
-참조 문서에서 볼 수 있으며, 이 문서는 다음 표에서 다운로드할 수 있습니다.
-이 패키지에는 요약된 오프라인 버전의 Android 개발자
-웹사이트가 있고 Android N API용의 업데이트된
-API 참조와 API 차이점 보고서가 포함되어 있습니다.
+  Android N API에 대한 자세한 내용은 N Preview 참조 문서에서 볼 수 있으며, 이 문서는 다음 표에서 다운로드할 수 있습니다.
+
+  이 패키지에는 요약된 오프라인 버전의 Android 개발자 웹사이트가 포함되어 있고, Android N API용의 업데이트된 API 참조 문서와 API 차이점 보고서가 포함되어 있습니다.
+
+
 </p>
 
 <table>
@@ -124,32 +89,30 @@
   </tr>
   <tr>
     <td style="white-space: nowrap">
-    <a href="{@docRoot}shareables/preview/n-preview-1-docs.zip">n-preview-1-docs.zip</a></td>
+    <a href="{@docRoot}shareables/preview/n-preview-3-docs.zip">n-preview-3-docs.zip</a></td>
     <td width="100%">
-      MD5: 4ab33ccbe698f46f125cc5b807cf9c2f<br>
-      SHA-1: 6a3880b3ccd19614daae5a4d0698ea6ae11c20a5
+      MD5: 19bcfd057a1f9dd01ffbb3d8ff7b8d81<br>
+      SHA-1: 9224bd4445cd7f653c4c294d362ccb195a2101e7 
     </td>
   </tr>
-</table>
+<table>
 
 
 
-<h2 id="java8">Java 8 JDK 및 JRE 가져오기</h2>
+<h2 id="java8">Java 8 JDK 가져오기</h2>
 
-<p>Android N 플랫폼에 대해 앱을 컴파일하려면
-Java 8 개발자 키트(JDK 8)를 사용해야 하며, Android
-Studio 2.1의 일부 도구를 사용하려면 Java 8 런타임 환경(JRE 8)을 설치해야
-합니다. 따라서 각각 최신 버전이 없는 경우, 지금 JDK 8 및 JRE 8를
-다운로드하세요.</p>
+<p>Android N 플랫폼에 대해 앱을 컴파일하고 Android Studio 2.1에서 일부 도구를 사용하려면 Java 8 개발자 키트(JDK 8)를 설치해야 합니다.
+ 따라서 아직 최신 버전이 없는 경우, 지금 JDK 8을 다운로드하세요.
+</p>
 
 <p>그런 다음 Android Studio에서 다음과 같이 JDK 버전을 설정합니다.</p>
 
 <ol>
-  <li>Android Studio에서 Android 프로젝트를 열고 <strong>File &gt;
-Project Structure</strong>를 선택하여
-Project Structure 대화 상자를 엽니다. (또는, <strong>File &gt; Other Settings &gt;
-Default Project Structure</strong>를 선택하여 모든 프로젝트에 대해
-기본값을 설정할 수 있습니다.)
+  <li>Android Studio에서 Android 프로젝트를 열고 <strong>File &gt; Project Structure</strong>를 선택하여 Project Structure 대화 상자를 엽니다.
+
+ (또는, <strong>File &gt; Other Settings &gt; Default Project Structure</strong>를 선택하여 모든 프로젝트에 대해 기본값을 설정할 수 있습니다.)
+
+
    </li>
    <li>대화 상자의 왼쪽 패널에서 <strong>SDK Location</strong>을 클릭합니다.
    </li>
@@ -184,7 +147,7 @@
 <pre>
 android {
   compileSdkVersion <strong>'android-N'</strong>
-  buildToolsVersion <strong>'24.0.0-rc1'</strong>
+  buildToolsVersion <strong>'24.0.0-rc3'</strong>
   ...
 
   defaultConfig {
@@ -216,8 +179,9 @@
 
 <ul>
   <li>가이드에 따라 <a href="{@docRoot}preview/download.html">Android N 기기에서 테스트</a>를 수행합니다.</li>
-  <li><a href="{@docRoot}preview/behavior-changes.html">동작 변경</a>
+  <li><a href="{@docRoot}preview/behavior-changes.html">동작 변경 사항</a>
 및 <a href="{@docRoot}preview/api-overview.html">Android N API
 및 기능</a>에서 Android N 플랫폼에
 대해 자세히 알아봅니다.</li>
 </ul>
+
diff --git a/docs/html-intl/intl/ko/preview/support.jd b/docs/html-intl/intl/ko/preview/support.jd
new file mode 100644
index 0000000..3f83721
--- /dev/null
+++ b/docs/html-intl/intl/ko/preview/support.jd
@@ -0,0 +1,1188 @@
+page.title=지원 및 릴리스 노트
+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>이 문서의 내용</h2>
+
+<ul>
+  <li><a href="#dp3">Developer Preview 3</a>
+    <ul>
+      <li><a href="#general">일반 권고 사항</a></li>
+      <li><a href="#new">DP3의 새로운 기능</a></li>
+      <li><a href="#ki">알려진 문제</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>
+  Android N Developer Preview를 사용하여 개발과 테스트를 수행할 때 두 가지 기본 지원 채널을 사용할 수 있습니다.
+ 기기별 버그, 시스템 버그 및 Google 앱 버그의 경우 <a href="https://developer.android.com/preview/bug">https://developer.android.com/preview/bug</a>에 버그를 제출하세요.
+ 기타 앱의 문제는 개발자에게 직접 문의하세요.
+
+</p>
+
+<p>Android N을 사용하는 다른 개발자들과 문제 또는 아이디어를 논의하려면 <a href="{@docRoot}preview/dev-community">Developer Preview Google+ 커뮤니티</a>에 가입하세요.
+</p>
+
+<h2 id="dp3">Developer Preview 3</h2>
+
+<div class="wrap">
+  <div class="cols">
+    <div class="col-6of12">
+      <p>
+        <em>날짜: 2016년 5월<br>
+        빌드: NPD35K<br>
+        에뮬레이터 지원: x86 및 ARM(32비트/64비트)<br>
+        Google Play 서비스: 8.4</em>
+      </p>
+    </div>
+  </div>
+</div>
+
+<h3 id="general">일반 권고 사항</h3>
+
+<p>
+  이 Developer Preview 릴리스는 <strong>앱 개발자 및 기타 얼리 어댑터</strong>를 위한 것이며, 일상적인 용도로 사용하거나, 개발 또는 호환성 테스트에 사용할 수 있습니다.
+
+ 이 릴리스에 대한 다음과 같은 일반적인 참고 사항을 숙지하시기 바랍니다.
+
+</p>
+
+<ul>
+  <li>이 릴리스에서는 지원되는 기기에서 다양한 <strong>안정성 문제</strong>가 있을 수 있습니다.
+ 사용자는 커널 패닉 및 작동 중단 등의 시스템 불안정 문제를 겪을 수 있습니다.
+
+  </li>
+
+  <li>일부 앱의 경우 새로운 플랫폼 버전에서 <strong>예상과 다르게 작동할 수 있습니다</strong>.
+ 여기에는 Google 앱뿐만 아니라 다른 앱도 포함됩니다.
+  </li>
+
+  <li>Developer Preview 3는 Nexus 5X, Nexus 6, Nexus 6P 및 Pixel C 기기에서 <strong>CTS(Compatibility Test Suite) 승인을 받았습니다</strong>.
+ CTS 승인 빌드를 사용하는 앱은 이들 기기에서 정상적으로 작동해야 합니다(예: Android Pay).
+
+
+  </li>
+
+  <li>Developer Preview 3는 <strong>지원되는 모든 기기에서 사용할 수 있습니다.</strong>
+ 이러한 기기로는 Nexus 5X, Nexus 6, Nexus 6P, Nexus 9, Nexus Player, Pixel C, General Mobile 4G(Android One) 뿐만 아니라 Sony Xperia Z3(D6603 및 D6653 모델)가 포함됩니다.
+
+
+
+  </li>
+</ul>
+
+
+<h3 id="new">DP3의 새로운 기능</h3>
+
+<h4 id="">Android용 VR 모드</h4>
+
+<p>
+  Android N에서는 개발자가 사용자를 위한 고품질 모바일 VR 환경을 만들 수 있도록 새로운 VR 모드에 대한 플랫폼 지원과 최적화 기능을 추가했습니다.
+ VR 앱 전용 CPU 코어에 대한 액세스를 비롯하여, 다수의 성능 개선 사항이 있습니다.
+
+ 지능적 머리 추적과 VR용으로 작동하는 스테레오 알림 기능을 앱 내에서 이용할 수 있습니다.
+ 가장 중요한 점은, 지연 시간이 매우 짧은 그래픽을 Android N이 제공한다는 사실입니다.
+
+</p>
+
+<p>
+  자세한 내용은 <a href="https://developers.google.com/vr/android/">Android용 Google VR SDK</a>를 참조하세요.
+</p>
+
+<h4 id="">지속적인 성능 모드</h4>
+
+<p>
+  Android N에는 <a href="{@docRoot}preview/api-overview.html#sustained_performance_api">지속적인 성능 모드</a>를 위한 지원 기능(선택 사항)이 포함되어 있으며, 이 모드를 통해 OEM들은 장시간 실행되는 애플리케이션의 기기 성능에 대한 힌트를 제공할 수 있습니다.
+
+ 앱 개발자는 이런 힌트를 사용하여 장기간에 걸쳐 기기 성능을 예측 가능하고 일관된 수준으로 유지하기 위해 애플리케이션을 적절히 조정할 수 있습니다.
+
+ 앱 개발자는 Developer Preview에 있는 이 새 API를 Nexus 6P 기기에서만 시험해 볼 수 있습니다.
+
+</p>
+
+<h4>Multiprocess WebView</h4>
+
+<p>
+  Android N의 버전 51부터는 개발자 옵션 "Multiprocess WebView"가 활성화된 경우, WebView는 별도의 샌드박싱된 프로세스에서 웹 콘텐츠를 실행합니다.
+
+ WebView 팀은 향후 Android 버전에서 Multiprocess WebView를 지원하기 전에 N에서의 호환성 및 런타임 성능에 대한 피드백을 기다리고 있습니다.
+
+ 이 버전에서는 시작 시간, 총 메모리 사용량 및 소프트웨어 렌더링 성능에 관련된 성능 저하가 예상됩니다.
+
+</p>
+
+<p>
+  다중 프로세스 모드에서 예상치 못한 문제를 발견할 경우 이에 대해 알려주시기 바랍니다.
+ <a href="https://bugs.chromium.org/p/chromium/issues/entry?template=Webview%20Bugs">버그 제출</a>을 통해 WebView 팀에 연락하세요.
+
+</p>
+
+<h4 id="">Keyboard Shortcuts Helper</h4>
+
+<p>
+  Android N에서는 사용자가 <code>Meta+/</code> 키를 눌러 <strong>Keyboard Shortcuts</strong> 화면을 트리거할 수 있으며, 이 화면에는 시스템과 해당 앱에서 둘다 사용할 수 있는 모든 바로 가기가 표시됩니다.
+
+ 개발자는 자신의 바로 가기를 추가하거나 앱에서 Shortcuts 화면을 트리거할 수 있습니다.
+ 자세한 내용은 <a href="{@docRoot}preview/api-overview.html#keyboard_shortcuts_helper">Keyboard Shortcuts Helper</a>를 참조하세요.
+
+</p>
+
+<h4 id="">FrameMetrics API</h4>
+
+<p>
+  DP3에서는 새로운 <a href="{@docRoot}preview/api-overview.html#framemetrics_api">FrameMetrics API</a>를 추가했으며, 이를 통해 앱은 애플리케이션의 현재 창에 대한 프레임 타이밍 정보를 전송하기 위해 스트리밍 PubSub API를 노출함으로써 앱의 UI 렌더링 성능을 모니터링할 수 있습니다. <code>FrameMetricsListener</code>를 사용하면 USB 연결 없이 프로덕션 환경에서 상호 작용 수준의 UI 성능을 더욱 정밀하게 측정할 수 있습니다.
+
+
+
+
+
+</p>
+
+<h4 id="api-changes">기능 및 API 변경 사항</h4>
+
+<dl>
+  <dt>
+    런처 바로 가기 및 런처 바로 가기 API
+  </dt>
+
+  <dd>
+    이 기능은 향후 Android 릴리스로 미루기로 결정되었습니다. 차기 Developer Preview부터는 런처 바로 가기 API(ShortcutManager 등)가 공개 Android N API에서 삭제될 계획입니다.
+
+
+  </dd>
+
+  <dt>
+    페이지 로드 전에 WebView Javascript 실행
+  </dt>
+
+  <dd>
+    Android N을 대상으로 하는 앱부터는 새 페이지가 로드될 때 Javascript 컨텍스트가 초기화됩니다.
+ 현재는 새 {@link android.webkit.WebView} 인스턴스에 로드된 첫 페이지에 대해 컨텍스트가 이월됩니다.
+
+    Javascript를 {@link android.webkit.WebView}에 삽입하려는 개발자는 페이지 로드가 시작된 후에 스크립트를 실행해야 합니다.
+
+
+  </dd>
+
+  <dt>
+    비보안 출발지에서의 WebView Geolocation
+  </dt>
+
+  <dd>
+    Android N을 대상으로 하는 앱부터는 보안 출발지(HTTPS를 통함)에서만 Geolocation API가 허용됩니다.
+ 이 정책은 사용자가 비보안 연결을 사용하는 경우 사용자의 개인 정보를 보호할 목적으로 설계되었습니다.
+
+  </dd>
+
+  <dt>
+    Data Saver
+  </dt>
+
+  <dd>
+    Developer Preview 3부터는 앱이 인텐트를 사용하여 시스템 대화 상자를 표시할 수 있습니다. 사용자는 이 대화 상자를 통해 Data Saver 면제 허용 목록에 앱을 직접 추가할 수 있습니다.
+
+ 자세한 내용은 <a href="{@docRoot}preview/api-overview.html#data_saver">Data Saver 문서</a>를 참조하세요.
+
+  </dd>
+
+  <dt>
+    <a href="{@docRoot}preview/api-overview.html#number-blocking">번호 차단</a>
+  </dt>
+
+  <dd>
+    권한 없는 사용자가 번호를 차단하거나 차단 해제하려고 시도하면 이제 {@link java.lang.SecurityException}이 발생하고 작업이 실패합니다.
+ (이전에는 작업에서 {@link java.lang.UnsupportedOperationException}을 발생시켰습니다.)
+
+  </dd>
+
+  <dt>
+    <a href="{@docRoot}preview/api-overview.html#tile_api">Quick Settings 타일 API</a>
+
+  </dt>
+
+  <dd>
+    이제 시스템에서는 액티비티의 메타데이터를 사용하여 타일 모드를 결정합니다.
+    (이전에는 <code>TileService.onTileAdded()</code>의 반환 값으로 타일 모드가 결정되었습니다.)
+ 자세한 내용은 다운로드 가능한 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 참조</a>에서 <code>TileService.META_DATA_ACTIVE_TILE</code>을 참조하세요.
+
+  </dd>
+</dl>
+
+<h4 id="dp3-fixes">개발자가 보고한 문제의 수정 사항</h4>
+
+<p>
+  다음을 비롯하여 개발자가 보고한 여러 문제가 수정되었습니다.
+</p>
+
+<ul>
+  <li>노래가 하나 끝난 후 블루투스 오디오 재생이 중단됨(버그 <a href="https://code.google.com/p/android/issues/detail?id=206889">206889</a>)
+  </li>
+
+  <li>Pixel C가 지속적으로 작동 중단됨(버그 <a href="https://code.google.com/p/android/issues/detail?id=206962">206962</a>)
+  </li>
+
+  <li>시계 및 알림 메시지의 알림 문제(버그 <a href="https://code.google.com/p/android/issues/detail?id=203094">203094</a>)
+  </li>
+
+  <li>USB C 케이블을 통해 MacBook Pro에 연결된 경우 Pixel C가 재부팅됨(버그 <a href="https://code.google.com/p/android/issues/detail?id=205432">205432</a>)
+
+  </li>
+
+  <li>캘린더가 하루 오프셋됨(버그 <a href="https://code.google.com/p/android/issues/detail?id=203002">203002</a>)
+  </li>
+
+  <li>TelephonyManager.getAllCellInfo가 잘못된 데이터를 반환함(버그 <a href="https://code.google.com/p/android/issues/detail?id=203022">203022</a>)
+  </li>
+
+  <li>Nexus 6P, 블루투스의 연결이 계속 끊김(버그 <a href="https://code.google.com/p/android/issues/detail?id=208062">208062</a>)
+  </li>
+</ul>
+
+<p>수정된 문제의 전체 목록을 보려면 <a href="https://goo.gl/6uCKtf">Issue Tracker</a>를 참조하세요.
+</p>
+
+<h3 id="ki">알려진 문제</h3>
+
+<h4>접근성</h4>
+
+<ul>
+  <li>피치가 최대 수준에 가깝게 설정된 경우 TTS 출력을 들을 수 없습니다.
+  </li>
+
+  <li>확대 제스처 및 설정을 비롯한 접근성 기능 및 설정은 사용자가 작업 프로필을 추가하는 경우 중단될 수 있습니다.
+ 접근성 상태는 사용자가 관련 설정을 다음 번에 터치할 때 복구됩니다.
+
+  </li>
+</ul>
+
+<h4>카메라</h4>
+
+<ul>
+  <li>카메라 앱이 불안정한 작동을 보였습니다. 이 앱은 다양한 경우(예: 다중 창 모드에서 실행되는 경우) 작동이 중단될 수 있습니다.
+
+  </li>
+
+  <li>파노라마 모드에서 셔터를 계속해서 누르면 카메라 앱의 작동이 중단될 수 있습니다.
+
+  </li>
+</ul>
+
+<h4>오디오</h4>
+<ul>
+  <li>플랫폼의 오디오 플레이어 문제로 인해 일부 앱이 정상적으로 작동하지 않습니다.
+ 예를 들어, Skype 및 기타 앱이 이 문제의 영향을 받습니다.
+  </li>
+</ul>
+
+<h4>연결</h4>
+
+
+<ul>
+  <li>블루투스 저전력(Bluetooth Low Energy, BLE) 주변 역할 기기가 서비스를 알리고 있는데 BLE 중앙 역할 기기가 연결되면, 주변 역할 기기가 즉각적으로 연결을 해제합니다.
+
+
+  </li>
+
+  <li>화면이 꺼지면 Wi-Fi 연결이 끊길 수 있습니다.
+  </li>
+
+  <li>RFCOMM 연결이 불안정하며, 이로 인해 데이터 손상 및 연결 자주 끊김이 발생할 수 있습니다.
+
+  </li>
+
+  <li>일부 제한된 백그라운드 시나리오 중에, 활성 네트워크 상태({@link android.net.NetworkInfo#getState NetworkInfo.getState()} 및 {@link android.net.NetworkInfo#getDetailedState NetworkInfo.getDetailedState()})가 잘못된 값을 반환할 수 있습니다.
+
+
+
+  </li>
+</ul>
+
+
+<h4>
+  런처
+</h4>
+
+<ul>
+  <li>화면이 꺼졌다가 켜진 후 기본 런처의 All Apps 트레이가 응답하지 않을 수 있습니다.
+ 홈 화면으로 돌아간 후 All Apps 트레이를 다시 실행하면 이 문제가 해결될 수 있습니다.
+
+  </li>
+</ul>
+
+<h4>
+  키보드
+</h4>
+
+<ul>
+  <li>Android 6.0 이전 버전이 실행되는 기기를 N Developer Preview로 업데이트하는 경우, Google 키보드가 최신 그림 이모티콘 및 소리 설정과 같은 기본 설정 데이터를 유지하지 않습니다.
+
+
+  </li>
+
+  <li>Google Indic Managed Keyboard는 불안정할 수 있습니다.
+  </li>
+
+  <li>비밀번호 필드에 텍스트를 입력할 때 사용자가 러시아어를 입력 언어로 선택할 수 있지만 키보드는 계속 영어를 유지합니다.
+ 이로 인해 사용자가 러시아어 언어로 암호를 입력할 수 없습니다.
+
+  </li>
+</ul>
+
+<h4>
+  로케일 및 언어
+</h4>
+
+<ul>
+  <li>오른쪽에서 왼쪽으로 읽기(RTL) 로케일을 사용하는 경우, 기기를 재시작한 후 예기치 않게 왼쪽에서 오른쪽으로 읽기(LTR) 표시로 시스템이 전환될 수 있습니다.
+
+  </li>
+</ul>
+
+<h4>미디어</h4>
+
+<ul>
+  <li>HD 비디오 재생 문제를 비롯하여, Nexus 9 및 Nexus Player에서 미디어 재생이 불안정할 수 있습니다.
+
+  </li>
+</ul>
+
+<h4>
+  다중 창 모드
+</h4>
+
+<ul>
+  <li>다중 창 모드에서 방향을 변경하면 기기가 작동을 멈출 수 있습니다.
+  </li>
+
+  <li>현재 여러 앱에서 다중 창 모드와 관련하여 문제가 있습니다.
+    <ul>
+      <li>Settings &gt; Display &gt; Screen brightness를 다중 창에 도킹하면 시스템 UI의 작동이 중단될 수 있습니다.
+
+      </li>
+
+      <li>카메라 앱을 다중 창 모드에서 실행하면 작동이 중단될 수 있습니다.
+      </li>
+
+      <li>YouTube를 다중 창 모드에서 실행하면 작동이 중단될 수 있습니다. Storage &gt; Apps &gt; YouTube에서 YouTube 앱 데이터를 지워서 이 문제를 수정할 수 있습니다.
+
+
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<h4>
+  Google Play 서비스
+</h4>
+
+<ul>
+  <li>Google Play 서비스를 통해 Google Cast를 사용하는 앱의 경우, ASCII 범위에 속하지 않는 글자 및 숫자를 사용하는 시스템 로케일을 사용자가 선택하면 앱이 불안정해질 수 있습니다.
+
+
+  </li>
+</ul>
+
+<h4>
+  Android for Work 및 Google Apps Device Policy
+</h4>
+
+<ul>
+  <li>사용자가 "device policy status" 화면이 고정된 상태로 기기의 잠금을 해제할 경우, Device Policy 앱의 작동이 중단될 수 있습니다.
+
+  </li>
+
+  <li>파일 기반 암호화가 설정된 채로 작업 프로필을 설정하고, Work를 끈 후에 사용자가 다시 한 번 더 기본 프로필 화면 잠금을 해제하여 Work 앱에 액세스해야 합니다.
+
+
+  </li>
+
+  <li>보안 패턴 잠금을 제거하고 업무용 앱/개인 앱을 다중 창에서 열면 기기가 재부팅됩니다.
+
+  </li>
+
+  <li>DISALLOW_VPN_CONFIG를 설정하면 Device Policy Client에 의해 설정되는 상시 접속 VPN 모드에 동의 대화 상자가 나타납니다.
+
+  </li>
+
+  <li>VPN이 상시 접속 VPN 모드에서 연결될 때까지는 트래픽이 잠기지 않습니다.
+  </li>
+</ul>
+
+<h4>
+  외부 저장소
+</h4>
+
+<ul>
+  <li>사용자가 앱을 내부 저장소에서 채택 가능 외부 저장소(SD 카드 또는 USB를 통해 연결된 기기 포함)로 이동하면 앱이 불안정해질 수 있습니다.
+
+
+  </li>
+</ul>
+
+<h4>
+  Google Play에서의 화면 확대/축소 및 다중 APK
+</h4>
+
+<ul>
+  <li>Android N이 실행되는 기기에서 Google Play 서비스 9.0.83은 안정적인 화면 밀도 대신 현재 화면 밀도를 잘못 보고합니다.
+ 이러한 기기에서 화면 확대/축소가 활성화된 경우, 이로 인해 Google Play는 더 작은 화면용으로 설계된 다중 APK 앱의 버전을 선택할 수가 있습니다.
+
+ 이 문제는 차기 버전의 Google Play 서비스에서 수정되었으며, 나중에 Developer Preview 릴리스에 포함될 것입니다.
+
+
+  </li>
+
+  <li>Android N이 실행되는 기기에서 현재 Google Play 서비스 9.0.83은 Vulkan 버전이 아닌 Vulkan 지원을 보고합니다.
+ 이로 인해 Google Play는 더 높은 버전이 지원되는 기기에서 더 낮은 Vulkan 지원용으로 설계된 다중 APK 앱의 버전을 선택할 수가 있습니다.
+
+ 현재 Google Play Store에서는 Vulkan 버전 대상 지정을 사용하는 앱의 업로드를 허용하지 않습니다.
+ 이 지원은 향후에 Google Play Store에 추가될 예정이고 차기 버전의 Google Play 서비스에서 수정되어 나중에 Developer Preview 릴리스에 포함될 것입니다. Google Play 서비스 9.0.83 버전을 사용하는 모든 N 기기는 기본 Vulkan 지원을 대상으로 하는 앱의 버전을 계속해서 수신합니다.
+
+
+
+
+  </li>
+</ul>
+
+<h4 id="">알림</h4>
+
+<ul>
+  <li>MessagingStyle에서는 "null"(본인 자신) 발신자인 알림을 표시하지 않습니다.
+  </li>
+</ul>
+
+<h4 id="">개발자 도구</h4>
+
+<ul>
+  <li>
+    JDWP 디버깅을 사용하는 중에 <code>adb</code>의 연결이 가끔씩 끊길 수 있습니다.
+  </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>날짜: 2016년 4월<br>
+        빌드: NPC91K, NPC91O<br>
+        에뮬레이터 지원: x86 및 ARM(32비트/64비트)<br>
+        Google Play 서비스: 8.4</em>
+      </p>
+    </div>
+  </div>
+</div>
+
+<h3 id="dp2-new">DP2의 새로운 기능</h3>
+
+<ul>
+  <li>Vulkan에 대한 플랫폼 지원. Vulkan은 새로운 3D 렌더링 API이며, 낮은 오버헤드의 명시적 GPU(Graphics Processor Unit, 그래픽 처리 장치) 컨트롤을 제공하고 그리기 호출이 잦은 애플리케이션에 향상된 성능을 제공합니다.
+
+ 자세한 내용은 <a href="{@docRoot}ndk/guides/graphics/index.html">문서</a>를 참조하세요.
+
+  </li>
+
+  <li>피부 색조를 지원하는 새로운 사람 그림 이모티콘 및 새로운 유니코드 9 문자 모양.
+  피부 색조 및 새로운 그림 이모티콘은 키보드에 의해 이들 기능에 대한 지원이 색상표에 구축될 때까지는 표시되지 않습니다.
+ 시스템에서 제공하지 않는 글꼴을 사용하지 않는 한, 앱은 이러한 새로운 그림 이모티콘을 활용하기 위해 어떠한 작업도 수행할 필요가 없습니다.
+ IME 개발자는 새로운 그림 이모티콘에 대한 지원을 포함시켜야 합니다.
+
+  </li>
+
+  <li>
+    <a href="{@docRoot}preview/api-overview.html#launcher_shortcuts">런처 바로 가기 API</a>:
+ 앱은 <code>ShortcutManager</code>를 사용하여 해당 앱 내부의 시작점에 대한 바로 가기를 런처로 전송할 수 있습니다.
+
+  </li>
+
+  <li>
+    <a href="{@docRoot}preview/features/multi-window.html">다중 창</a>:
+    이제 액티비티에 대해 최소 높이와 최소 너비를 별도로 지정할 수 있습니다.
+ 또한, 여러 가지 API 이름이 약간 변경되었습니다.
+  </li>
+</ul>
+
+<h4 id="dp2-fixes">개발자가 보고한 문제의 수정 사항</h4>
+
+<p>
+  다음을 비롯하여 개발자가 보고한 여러 문제가 수정되었습니다.
+</p>
+
+<ul>
+  <li>숨겨진 SSID 또는 비-브로드캐스트 Wi-Fi에 연결할 수 없음(버그 <a href="https://code.google.com/p/android/issues/detail?id=203116">203116</a>)
+  </li>
+
+  <li>마이크 음소거 상태가 액티비티 간에 유지됨(버그 <a href="https://code.google.com/p/android/issues/detail?id=205922">205922</a>)
+  </li>
+
+  <li>다중 창의 포커스를 변경하면 YouTube가 일시 중지됨(버그 <a href="https://code.google.com/p/android/issues/detail?id=203424">203424</a>)
+  </li>
+
+  <li>열려 있는 액티비티를 직접 회신으로 닫을 수 있음(버그 <a href="https://code.google.com/p/android/issues/detail?id=204411">204411</a>)
+  </li>
+
+  <li>다양한 안정성 문제 수정
+  </li>
+</ul>
+
+<h3 id="dp2-general">일반 권고 사항</h3>
+
+<p>
+  이 Developer Preview 릴리스는 <strong>앱 개발자 전용</strong>이며, 호환성 테스트 및 조기 개발 용도로만 사용하도록 설계되었습니다.
+
+  이 릴리스에 대한 다음과 같은 일반적인 참고 사항을 숙지하시기 바랍니다.
+</p>
+
+<ul>
+
+  <li>개발 도구 구성 요소 및 지원 라이브러리가 DP2 릴리스에 대해 업데이트되었습니다.
+ DP2용으로 개발하기 전에 Preview 개발 환경을 업데이트해야 합니다.
+ 개발 환경을 설정하는 방법에 대한 지침은 <a href="{@docRoot}preview/setup-sdk.html">Preview 설정</a>을 참조하세요.
+
+
+  </li>
+
+  <li>이 릴리스의 경우 모든 기기에서 다양한 안정성 및 성능 문제가 있으므로 <strong>전화 또는 태블릿에서 일상적으로 사용하는 데 적합하지 않으며</strong>, 특히 개발자가 아닌 일반 사용자가 사용하기에 적합치 않습니다.
+
+
+  </li>
+
+  <li>배터리 수명 및 성능은 이 릴리스에서 아직 최적화되지 않았습니다.
+
+
+    <ul>
+      <li>시스템 및 앱 <strong>성능이 주기적으로 느려지고 저하되는 것으로 확인되었으며</strong>, 기기가 가끔씩 응답을 멈출 수 있습니다.
+ 이러한 문제는 장기 사용 시 더 심해질 수 있습니다.
+
+      </li>
+
+      <li>이 릴리스에서 화면을 켜고 끄는 과정에서 배터리 수명이 감소할 수 있습니다.
+
+      </li>
+    </ul>
+  </li>
+
+  <li>일부 앱의 경우 Developer Preview 2에서 <strong>정상적으로 작동하지 않을 수 있습니다</strong>. 여기에는 Google 앱뿐만 아니라 다른 앱도 포함됩니다.
+
+  </li>
+
+  <li>이 조기 빌드는 <strong>CTS(Compatibility Test Suite) 승인</strong>을 받지 않았습니다.
+ CTS 승인을 받은 빌드를 사용하는 앱은 작동하지 않습니다(예: Android Pay).
+
+  </li>
+
+  <li>이 프리뷰 릴리스에서는 Nexus 5X, Nexus 6, Nexus 6P, Nexus 9 및 Pixel C 뿐만 아니라 General Mobile 4G(Android One) 기기를 지원합니다.
+
+ Nexus Player 지원은 곧 추가될 것입니다.
+  </li>
+
+
+  <li><a href="https://github.com/googlesamples/android-testdpc/releases">TestDPC</a>는 DP1 및 DP2 사이의 API 변경 사항을 처리하도록 업데이트되었습니다.
+
+  </li>
+</ul>
+
+<h3 id="dp2-ki">알려진 문제</h3>
+
+<h4>성능 및 배터리</h4>
+
+<ul>
+  <li>시스템 및 앱 성능이 <strong>주기적으로 느려지고 저하</strong>되는 것으로 확인되었으며, 기기가 가끔씩 응답을 멈출 수 있습니다.
+ 이러한 문제는 장기 사용 시 더 심해질 수 있습니다.
+
+  </li>
+</ul>
+
+<h4>Google 계정</h4>
+
+<ul>
+  <li>경우에 따라 <code>AccountManagerService</code>와 관련된 문제가 있을 수 있으며, 이로 인해 Google 계정에 로그인하지 못할 수 있습니다.
+
+  </li>
+</ul>
+
+<h4>시스템 업데이트</h4>
+
+<ul>
+  <li>DP2로 업데이트한 후 즉시 기기가 재시작될 수 있습니다.
+  </li>
+</ul>
+
+<h4>접근성</h4>
+
+<ul>
+  <li>피치가 최대 수준에 가깝게 설정된 경우 TTS(텍스트 음성 변환) 출력을 듣는 데 문제가 있습니다.
+
+  </li>
+</ul>
+
+<h4>블루투스</h4>
+
+<ul>
+  <li>블루투스 저전력(LE) GATT 특성이 잘못된 쓰기 유형을 사용하며 원격 기기로 전송되지 않습니다.
+ 이에 따라 예를 들면 일부 피트니스 기기가 작동하지 않습니다.
+
+  </li>
+</ul>
+
+<h4>설정 마법사</h4>
+
+<ul>
+  <li>"Your Google Account"에서 새 기기(또는 새롭게 초기화된 기기)의 데이터를 복원하는 옵션이 설정 마법사에서 작동하지 않습니다.
+ 설정 마법사에서 "다른 Android 기기"를 선택하여 기존 기기의 데이터를 복원하거나, 기존 기기를 새 기기로 설정해야 합니다.
+
+
+  </li>
+</ul>
+
+<h4>OEM 잠금 해제</h4>
+
+<ul>
+  <li>일부 기기에서, DP2를 실행하는 동안 "Developer Options"에서 <strong>Enable OEM unlock</strong>이 비활성화됩니다.
+<br>
+  <strong>해결 방법:</strong> <a href="https://www.google.com/android/beta" class="external-link">www.google.com/android/beta</a>를 방문하여 Android 베타 프로그램에 옵트인합니다(아직 옵트인하지 않은 경우).
+
+ 그런 다음 옵트아웃하고 다운그레이드 OTA를 수락합니다.
+ 옵트아웃하면 기기가 Android 6.0으로 다운그레이드됩니다. 이제 "Developer Options"에서 <strong>Enable OEM unlock</strong>을 선택할 수 있을 것입니다.
+
+ 기기를 다운그레이드하면 개인 데이터가 삭제되지만, 부트로더의 잠금을 해제하는 경우에도 이 데이터가 삭제됩니다.
+
+  </li>
+</ul>
+
+<h4>Android for Work</h4>
+
+<ul>
+  <li>작업 보안 인증 질문
+    <ul>
+      <li>N으로 마이그레이션한 후나 사용자가 작업 프로필을 생성한 후에, 사용자가 자신의 패턴, PIN 또는 비밀번호를 변경하거나 작업 인증 질문을 설정할 때까지는 작업 프로필에서 키 저장소에 키를 생성할 수 없습니다.
+
+
+      </li>
+
+      <li>직접 부팅 모드에서 비밀번호 제한을 기기에 적용하면, 기기가 잠겨 있는 경우에도 작업 프로필의 잠금이 해제됩니다.
+
+      이로 인해 작업 프로필이 기기 잠금 화면으로 보호되어야 하는 경우에도 작업 프로필에 액세스할 수 있게 됩니다.
+
+      </li>
+    </ul>
+  </li>
+
+  <li>상시 접속 VPN
+    <ul>
+      <li>상시 접속 VPN 모드가 설정되었는데도 VPN을 사용할 수 없는 경우, 앱이 일반 네트워크를 통해 연결합니다.
+ VPN 연결을 사용할 수 없는 경우 앱은 오프라인이어야 합니다.
+
+      </li>
+
+      <li>상시 접속 모드가 설정된 경우 사용자가 보안 잠금 화면의 잠금을 해제한 후에도, 기기가 직접 부팅 모드로 재부팅된 후 VPN 연결이 설정되지 않습니다.
+
+
+      </li>
+    </ul>
+  </li>
+
+  <li>패키지 일시 중단
+    <ul>
+      <li>기기 관리자는 예상치 못한 동작(예: "Telephone disabled" 대화 상자가 표시되어 있는데도 전화가 걸림)을 초래할 수 있는 중대한 시스템 패키지를 일시 중단시킬 수 있습니다.
+
+
+      </li>
+    </ul>
+  </li>
+
+  <li>기타
+    <ul>
+      <li>{@link android.os.UserManager#DISALLOW_MOUNT_PHYSICAL_MEDIA}가 true로 설정된 경우, 사용자가 SD 카드와 같은 물리적 미디어를 삽입하면 Settings 앱이 실행 시에 작동을 멈춥니다.
+
+
+      </li>
+
+      <li>작업 프로필의 첫 번째 체크인은 완료되는 데 몇 분 정도 걸립니다.
+
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<h4 id="vulkan">Vulkan</h4>
+
+<ul>
+   <li>Nexus 5X/6P</li>
+   <ul>
+      <li>바인딩 번호와 0이 아닌 첫 번째 바인딩 번호 사이에 격차가 있는 경우 {@code vkCreateGraphicsPipeline()}이 실패합니다.
+</li>
+      <li>투영된 텍스처 좌표에서 Vulkan이 잘못된 샘플링 동작을 보입니다.</li>
+      <li>multithreadCmdBuffer 샘플에서 N-DP2 드라이버와 함께 실행되는 경우 {@code vkCmdClearColorImage()}가 작동을 중단합니다.
+</li>
+      <li>{@code vkGetPhysicalDeviceFormatProperties()}의 반환 값은 결과로 0 값을 취하는 {@code VkFormatProperties::linearTilingFeatures}의 값을 설정하지 않습니다.
+
+</li>
+      <li>Vulkan 부동 소수점 프레임 버퍼 첨부 파일이 올바르게 처리되지 않습니다.</li>
+    </ul>
+   <li>Nexus Player</li>
+   <ul>
+      <li>SPIR-V 셰이더가 드라이버 어설션을 트리거할 수 있습니다.</li>
+      <li>일부 파이프라인 구성에서는 {@code vkCreateGraphicsPipeline()}이 작동을 중단할 수 있습니다.
+</li>
+  </ul>
+</ul>
+
+<h4>기기별 문제</h4>
+
+<dl>
+  <dt>
+    <strong>Android One</strong>
+  </dt>
+
+  <dd>
+    기기가 슬롯 1에서 슬롯 2 SIM으로 전환된 경우 데이터 연결이 실패합니다.
+  </dd>
+
+  <dt>
+    <strong>Pixel C</strong>
+  </dt>
+
+  <dd>
+    음성 검색 "Always On" 옵션을 전환할 수 없습니다.
+  </dd>
+
+  <dt>
+    <strong>Nexus 6</strong>
+  </dt>
+
+  <dd>
+    HDR+ 사진을 제외하고, 세로 방향의 카메라 사진이 손상됩니다.
+
+  </dd>
+
+  <dt>
+    <strong>Nexus Player</strong>
+  </dt>
+
+  <dd>
+    Nexus Player에서 Netflix HD 콘텐츠의 재생이 실패할 수 있습니다.
+  </dd>
+
+  <dd>
+    동적 비디오 해상도 변경에 의존하는 모든 애플리케이션이 Nexus Player에서 실패할 수 있습니다.
+
+  </dd>
+
+  <dd>
+    VP9 비디오 코덱을 사용하는 모든 애플리케이션이 Nexus Player에서 실패할 수 있습니다.
+  </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>날짜: 2016년 3월<br>
+        빌드: NPC56P, NPC56R, 업데이트됨: NPC56W, NPC56X<br>
+        에뮬레이터 지원: x86 및 ARM(32비트/64비트)<br>
+        Google Play 서비스: 8.4</em>
+      </p>
+    </div>
+  </div>
+</div>
+
+<h3 id="dp1-general">일반 권고 사항</h3>
+
+<p>
+  이 Developer Preview 릴리스는 앱 개발자 전용이며, 호환성 테스트 및 조기 개발 용도로만 사용하도록 설계되었습니다.
+ 이 릴리스에 대한
+  다음과 같은 일반적인 참고 사항을 숙지하시기 바랍니다.
+</p>
+<ul>
+  <li>이 릴리스의 경우 모든 기기에서 다양한 안정성 및 성능 문제가 있으므로 <em>전화 또는 태블릿에서 일상적으로 사용하는 데 적합하지 않으며</em>, 특히 개발자가 아닌 일반 사용자가 사용하기에 적합치 않습니다.
+
+
+  </li>
+
+  <li>시스템 및 앱 성능이 <strong>주기적으로 느려지고 저하</strong>되는 것으로 확인되었으며, 기기가 가끔씩 응답을 멈출 수 있습니다.
+ 이러한 문제는 장기 사용 시 더 심해질 수 있습니다.
+
+  </li>
+
+  <li>이 릴리스에서 화면을 켜고 끄는 과정에서 배터리 수명이 감소할 수 있습니다.
+
+  </li>
+
+  <li>일부 앱의 경우 Developer Preview 1에서 정상적으로 작동하지 않을 수 있습니다.
+여기에는 Google 앱뿐만 아니라 다른 앱도 포함됩니다.
+  </li>
+
+  <li>이 조기 빌드는 CTS(Compatibility Test Suite) 승인을 받지 않았습니다. CTS 승인을 받은 빌드를 사용하는 앱은 작동하지 않습니다(예: Android Pay).
+
+  </li>
+
+  <li>이 프리뷰 릴리스에서는 Nexus 5X, Nexus 6, Nexus 6P, Nexus 9, Nexus Player 및 Pixel C 뿐만 아니라 General Mobile 4G(Android One) 기기를 지원합니다.
+
+
+  </li>
+</ul>
+
+<h3 id="dp1-platform">플랫폼 문제</h3>
+
+<h4>성능 및 배터리</h4>
+
+<ul>
+  <li>시스템 및 앱 성능이 <strong>주기적으로 느려지고 저하</strong>되는 것으로 확인되었으며, 기기가 가끔씩 응답을 멈출 수 있습니다.
+ 이러한 문제는 장기 사용 시 더 심해질 수 있습니다.
+
+  </li>
+
+  <li>이 릴리스에서 화면을 켜고 끄는 과정에서 배터리 수명이 감소할 수 있습니다.
+
+  </li>
+</ul>
+<h4 id="dialer">다이얼러</h4>
+
+<ul>
+  <li>Dialer 앱이 직접 부팅을 지원하지 않습니다. 이 문제는 N Developer Preview에서 나중에 해결될 것입니다.
+
+  </li>
+
+  <li>음성사서함 재생이 작동하지 않습니다.
+  </li>
+</ul>
+
+<h4>마이크</h4>
+
+<ul>
+   <li>앱 및 재부팅에 걸쳐 시스템이 마이크 음소거 상태를 잘못 유지할 수 있습니다. 앱에서 마이크를 음소거하고 그 상태가 유지되는 경우, 마이크 음소거 컨트롤이 있는 앱을 열고 마이크의 음소거를 해제하세요.</li>
+</ul>
+
+<h4 id="ui">시스템 UI</h4>
+
+<ul>
+  <li>시스템 UI에서 새로운 문자열이나 수정된 일부 문자열이 모든 언어로 번역되어 있지 않습니다.
+
+  </li>
+
+  <li>Overview UI는 여전히 개발 중에 있으므로 변경될 수 있습니다. 예를 들어, 사용자가 앱 사이를 전환할 때 나타나는 타이머를 저희가 삭제할 계획입니다.
+
+
+  </li>
+
+  <li>설정 컨트롤 및 토글이 느리거나 응답이 없는 것으로 나타날 수 있습니다.
+  </li>
+
+  <li>알림의 시각적 디자인이 변경될 수 있습니다.
+  </li>
+
+  <li>Gmail 앱에서, 알림 번들에 포함된 이메일의 직접 아카이빙 기능이 제대로 작동하지 않습니다.
+
+  </li>
+</ul>
+
+<h4>Android for Work</h4>
+
+<ul>
+  <li>작업 보안 인증 질문
+    <ul>
+      <li>N으로 마이그레이션한 후나 사용자가 작업 프로필을 생성한 후에, 사용자가 자신의 패턴, PIN 또는 비밀번호를 변경하거나 작업 인증 질문을 설정할 때까지는 작업 프로필에서 키 저장소에 키를 생성할 수 없습니다.
+
+
+      </li>
+
+      <li>직접 부팅 모드에서 비밀번호 제한을 기기에 적용하면, 기기가 잠겨 있는 경우에도 작업 프로필의 잠금이 해제됩니다.
+
+      이로 인해 작업 프로필이 기기 잠금 화면으로 보호되어야 하는 경우에도 작업 프로필에 액세스할 수 있게 됩니다.
+
+      </li>
+
+      <li>사용자가 잘못된 비밀번호와 PIN을 입력하면, 시스템이 정보 메시지를 표시하지 않고 그 대신 입력 필드의 내용을 지웁니다.
+
+ 이 문제는 패턴 또는 지문 입력에는 영향을 주지 않습니다.
+      </li>
+
+      <li>태블릿에서 작업 인증 질문에 표시되는 배경이 비정상적으로 작습니다.
+
+      </li>
+
+      <li>N Developer Preview에 번들로 제공되는 <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.enterprise.dmagent">Google Apps Device Policy</a>의 버전은 아직 작업 프로필 보안 인증 질문 기능을 지원하지 않습니다.
+
+
+        개발자는 그 대신 <a href="https://github.com/googlesamples/android-testdpc/releases">TestDPC</a>를 사용하여 이 기능을 테스트해야 합니다.
+
+      </li>
+    </ul>
+  </li>
+
+  <li>상시 접속 VPN
+    <ul>
+      <li>상시 접속 VPN 모드가 설정되었는데 VPN을 사용할 수 없는 경우, 상시 접속 정책에 대한 예외로 지정되지 않은 앱은 일반 네트워크를 통해 연결됩니다.
+
+ 상시 접속 VPN 정책에 대한 예외로 지정되지 않은 한, VPN 연결을 사용할 수 없는 경우 앱은 오프라인이어야 합니다.
+
+        <ul>
+          <li>상시 접속 모드가 설정된 경우 사용자가 보안 잠금 화면의 잠금을 해제한 후에도, 기기가 직접 부팅 모드로 재부팅된 후 VPN 연결이 설정되지 않습니다.
+
+
+          </li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+
+  <li>향상된 연락처
+    <ul>
+      <li>블루투스 PBAP/MAP 기기가 업무용 연락처에 대해 발신번호를 표시하지 않습니다.
+ Preview의 차기 릴리스에서 이 문제를 해결합니다.
+      </li>
+    </ul>
+  </li>
+
+  <li>작업 모드
+    <ul>
+      <li>Google Now 런처가 작업 모드의 켜짐 또는 꺼짐 여부를 표시하지 않습니다.
+ 이 런처는 또한 앱 일시 중단 상태도 표시하지 않습니다.
+      </li>
+
+      <li>사용자가 작업 모드를 껏다가 켠 후, 시스템이 더 이상 작업 프로필 앱 위젯(예: 캘린더)을 표시하지 않습니다.
+
+      </li>
+    </ul>
+  </li>
+
+  <li>패키지 일시 중단
+  </li>
+
+  <li>기기 관리자는 예상치 못한 동작(예: "Telephone disabled" 대화 상자가 표시되어 있는데도 전화가 걸림)을 초래할 수 있는 중대한 시스템 패키지를 일시 중단시킬 수 있습니다.
+
+
+  </li>
+
+  <li>기타
+    <ul>
+      <li>{@link android.os.UserManager#DISALLOW_MOUNT_PHYSICAL_MEDIA}가 true로 설정된 경우, 사용자가 SD 카드와 같은 물리적 미디어를 삽입하면 Settings 앱이 실행 시에 작동을 멈춥니다.
+
+
+      </li>
+
+      <li>사용자가 앱을 제거한 후 다시 설치하면 {@code DPM.setPackagesSuspended} 상태가 유지되지 않습니다.
+ 제거/재설치에 후 앱이 일시 중단 상태를 유지해야 하거나, 일시 중단된 앱이 제거가 불가능해야 합니다.
+
+
+      </li>
+
+      <li>작업 프로필의 첫 번째 체크인은 완료되는 데 몇 분 정도 걸립니다.
+ 이로 인해 기기가 Play EMM API에서 보일 때까지 보통 때보다 더 오래 걸릴 수 있습니다.
+
+      </li>
+
+      <li>작업 프로필 앱으로부터 전송되는 알림은 개인 프로필에 설치된 알림 수신자에게는 표시되지 않습니다.
+ 따라서 시스템에서 알림이 예상대로 표시되지 않습니다.
+
+      </li>
+
+    </ul>
+  </li>
+</ul>
+
+<h4 >키보드</h4>
+
+<ul>
+  <li>키보드 및 Android 기기 간의 블루투스 페어링이 불안정할 수 있습니다.
+  </li>
+</ul>
+
+<h4 >비디오</h4>
+
+<ul>
+<li>비디오 재생이 지연되고 끊김 현상이 나타날 수 있습니다.</li>
+</ul>
+
+<h4>Wi-Fi</h4>
+
+<ul>
+  <li>API 특수 사례 동작을 변경시킬 수도 있는 일부 리팩터링이 Wi-Fi에 발생했습니다.
+ 특히, 특정 네트워크에 연결하려고 시도하는 애플리케이션이나 네트워크에 재연결하려고 시도하는 애플리케이션은 테스트를 다시 거쳐야 합니다.
+
+  </li>
+
+  <li>레거시 DHCP 클라이언트가 플랫폼에서 제거되었습니다. 플랫폼이 지원하는 유일한 DHCP 클라이언트는 M에 추가된 DHCP 클라이언트뿐입니다.
+
+  </li>
+</ul>
+
+<h4>직접 부팅</h4>
+
+<ul>
+  <li>최초 잠금 해제가 수행될 때까지는 NFC가 작동하지 않습니다.
+    <ul>
+      <li>블루투스가 활성화된 전화가 재시작될 때, 블루투스가 자동으로 켜지지 않습니다.
+ 블루투스를 수동으로 다시 활성화해야 합니다.
+      </li>
+
+      <li>어떤 경우에는, 전화 및 메시지가 온 경우 기본 벨소리가 울리지 않을 수 있습니다.
+ 이 동작은 차기 N Preview 릴리스에서 수정되었습니다. 단, 한 가지 예외가 있으며 이에 대한 내용과 해결 방법은 다음과 같습니다.
+
+      </li>
+
+      <li>직접 부팅 모드로 설정된 이후 최소 한 번 이상 부팅되었지만 완전히 초기화되지 않은 기기에서는 기본 알림 벨소리가 울리지 않습니다.
+
+ 사용자가 Settings에서 벨소리를 수동으로 선택하여 이 문제를 해결할 수 있습니다.
+
+      </li>
+
+      <li>N Developer Preview 빌드가 실행되는 기기에서는 기본적으로 직접 부팅이 활성화되지 않습니다.
+ 테스트 및 개발에 직접 부팅을 활성화하려면 Developer Options로 이동하고 Convert to File Encryption을 탭하세요.
+
+      이 Developer Preview에서는 파일 기반 암호화를 위해 기기를 다시 파티셔닝하고 다시 포맷하려면 공장 초기화를 수행해야 합니다.
+
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<h4>PIP for Android TV</h4>
+
+<ul>
+  <li>Recents UI에서의 PIP 통합은 완료되지 않았으며, 변경될 수 있습니다.
+
+    <ul>
+      <li>PIP 창의 애니메이션이 매끄럽지 않습니다. 향후 프리뷰 릴리스에서 이 문제가 개선될 것입니다.
+
+      </li>
+    </ul>
+  </li>
+
+  <li style="list-style: none">향후 프리뷰 릴리스에서 PIP의 시각적 디자인과 레이아웃 맞춤이 개선될 것입니다.
+
+  </li>
+</ul>
+
+<h4>버그 보고서</h4>
+
+<ul>
+  <li>버그 보고서가 항상 성공적으로 완료되는 것은 아닙니다. 그 해결 방법으로, 내부 저장소에 있는 버그 보고서 문서 제공자를 통해 버그 보고서에 액세스할 수 있는 경우도 있습니다.
+
+
+  </li>
+</ul>
+
+<h4>분할 화면 다중 창</h4>
+
+<ul>
+  <li>분할 화면 모드로 전환하면 앱이 작동을 중단하고 예기치 않은 UI 동작이 발생할 수 있습니다.
+ 이는 앱 개발자가 수정해야 하는 앱 문제입니다.
+
+  </li>
+
+  <li>앱이 N 이전 버전의 Android 플랫폼을 대상으로 하는 경우, 이 앱이 분할 화면에서 작동하지 않을 수 있으며, 알림 메시지가 여러 번 나타날 수 있습니다.
+
+  </li>
+
+  <li>방향이 고정된 상태로 앱을 사용하는 중에 Overview 버튼을 길게 누르면 예기치 않은 앱 동작이 발생할 수 있습니다.
+
+  </li>
+
+  <li>크기를 조정하는 중에 앱이 깜박일 수 있습니다.
+  </li>
+
+  <li>애니메이션은 아직 최종 버전이 아닙니다.
+  </li>
+</ul>
+
+<h4>입력 방법</h4>
+
+<ul>
+  <li><b>Use system language</b>가 설정된 경우 예기치 않게 Google 키보드가 일반 Google 키보드로 다시 돌아가지만, 시스템 언어 기본 설정에 선택된 언어를 Google 키보드가 지원하지 않습니다.
+
+ Google 키보드는 미국식 영어로 돌아가야 합니다.
+
+    <p>
+      Google 키보드에서 지원하는 언어를 최소 하나 이상 추가하여 이 문제를 해결할 수 있습니다.
+
+    </p>
+  </li>
+</ul>
+
+<h4>접근성</h4>
+
+<ul>
+  <li>알림, Quick Settings 타일 및 다중 창 표시를 비롯한 여러 기능에 대한 문제가 음성 안내 지원(TalkBack)에서 발생합니다. 이러한 문제로 인해 시스템 작동이 중단되거나 음성 안내 지원에서 음성 피드백이 제공되지 않을 수 있습니다.
+
+ 향후 프리뷰 릴리스에서 이러한 문제가 해결될 것입니다.
+
+  </li>
+</ul>
+
+<h3 id="dp1-device-sp">기기별 참고 사항 및 문제</h3>
+
+<h4>Nexus Player</h4>
+<ul>
+  <li>이 프리뷰 릴리스에서는 비디오 재생, 앱 호환성 및 안정성 문제가 Nexus Player에 있을 수 있습니다.
+
+  </li>
+</ul>
+
+<h4>Pixel C</h4>
+<ul>
+<li>다중 창 크기를 조정하면 작동이 중단될 수 있습니다.</li>
+</ul>
+
+<h4>Nexus 9</h4>
+<ul>
+<li>Android 베타 프로그램을 통해 OTA(Over-The-Air) 업데이트를 받은 후에 Nexus 9 기기가 시작되지 않을 수 있습니다.
+ 이 문제로부터 복구하기 위해 OTA 이미지를 수동으로 설치해 보실 수 있습니다.
+ 자세한 내용은 <a href="{@docRoot}preview/download-ota.html">기기 OTA 이미지 적용</a>을 참조하세요.
+
+</li>
+</ul>
+
diff --git a/docs/html-intl/intl/ko/training/material/compatibility.jd b/docs/html-intl/intl/ko/training/material/compatibility.jd
index 266cd7c..5bb8434 100644
--- a/docs/html-intl/intl/ko/training/material/compatibility.jd
+++ b/docs/html-intl/intl/ko/training/material/compatibility.jd
@@ -122,7 +122,7 @@
 
 <h3>종속 사항</h3>
 
-<p>Android 5.0(API 레벨 21) 이전 버전에서 이러한 기능을 사용하려면 프로젝트에 Android v7 지원 라이브러리를 <a href="{@docRoot}/sdk/installing/studio-build.html#dependencies">Gradle 종속 사항</a>으로 포함합니다.
+<p>Android 5.0(API 레벨 21) 이전 버전에서 이러한 기능을 사용하려면 프로젝트에 Android v7 지원 라이브러리를 <a href="{@docRoot}sdk/installing/studio-build.html#dependencies">Gradle 종속 사항</a>으로 포함합니다.
 </p>
 
 <pre>
diff --git a/docs/html-intl/intl/pt-br/preview/_book.yaml b/docs/html-intl/intl/pt-br/preview/_book.yaml
new file mode 100644
index 0000000..8f75c9a
--- /dev/null
+++ b/docs/html-intl/intl/pt-br/preview/_book.yaml
@@ -0,0 +1,342 @@
+toc:
+- title: Visão geral do 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: Suporte e notas da versão
+  path: /preview/support.html
+
+- title: Configuração do 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: Testar em um dispositivo
+  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: Mudanças de comportamento
+  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: Otimizações em segundo plano
+    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 e localidade
+    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: Suporte a várias janelas
+    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: Notificações
+    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: Economia de dados
+    path: /preview/features/data-saver.html
+  - title: Gravação para 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: Configurações de segurança de rede
+    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: Suporte a ICU4J
+    path: /preview/features/icu4j-framework.html
+    path_attributes:
+    - name: es-lang
+      value: APIs de estrutura do Android para ICU4J
+    - 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: Recursos de linguagem do Java 8
+    path: /preview/j8-jack.html
+    path_attributes:
+    - name: es-lang
+      value: Funciones del lenguaje Java 8
+    - name: in-lang
+      value: Fitur Bahasa Java 8
+    - name: ja-lang
+      value: Java 8 の機能
+    - name: ko-lang
+      value: Java 8 언어 기능
+    - name: pt-br-lang
+      value: Recursos de linguagem do Java 8
+    - name: ru-lang
+      value: Возможности языка Java 8
+    - name: vi-lang
+      value: Tính năng của Ngôn ngữ Java 8
+    - name: zh-cn-lang
+      value: Java 8 语言功能
+    - name: zh-tw-lang
+      value: Java 8 語言功能
+  - title: Atualizações no Android for Work
+    path: /preview/features/afw.html
+  - title: Acesso a diretórios com escopo
+    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: Amostras
+  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 licença
+  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/pt-br/preview/api-overview.jd b/docs/html-intl/intl/pt-br/preview/api-overview.jd
index 87fa593..c16d847 100644
--- a/docs/html-intl/intl/pt-br/preview/api-overview.jd
+++ b/docs/html-intl/intl/pt-br/preview/api-overview.jd
@@ -18,12 +18,14 @@
         <li><a href="#quick_path_to_app_install">Caminho rápido para a instalação de aplicativos</a></li>
         <li><a href="#doze_on_the_go">Modo soneca em movimento</a></li>
         <li><a href="#background_optimizations">Otimizações em segundo plano</a></li>
-        <li><a href="#data_saver">Economizador de dados</a></li>
+        <li><a href="#data_saver">Economia de dados</a></li>
+        <li><a href="#vulkan">Vulkan API</a></li>
         <li><a href="#tile_api">Quick Settings Tile API</a></li>
-        <li><a href="#number-blocking">Bloqueio de números</a></li>
+        <li><a href="#number-blocking">Bloqueio de número</a></li>
         <li><a href="#call_screening">Triagem de chamadas</a></li>
         <li><a href="#multi-locale_languages">Localidades e idiomas</a></li>
-        <li><a href="#icu4">APIs ICU4J no Android</a></li>
+        <li><a href="#emoji">Novos emoticons</a></li>
+        <li><a href="#icu4">ICU4J APIs no Android</a></li>
         <li><a href="#gles_32">OpenGL ES 3.2 API</a></li>
         <li><a href="#android_tv_recording">Gravação do Android TV</a></li>
         <li><a href="#android_for_work">Android for Work</a></li>
@@ -32,16 +34,22 @@
         <li><a href="#key_attestation">Confirmação de chaves</a></li>
         <li><a href="#network_security_config">Configuração de segurança de rede</a></li>
         <li><a href="#default_trusted_ca">CA confiável padrão</a></li>
-        <li><a href="apk_signature_v2">Esquema de assinatura de APK v2</a></li>
-        <li><a href="#scoped_directory_access">Acessos a diretório com escopo</a></li>
+        <li><a href="#apk_signature_v2">Esquema de assinatura de APK v2</a></li>
+        <li><a href="#scoped_directory_access">Acesso a diretórios com escopo</a></li>
+        <li><a href="#keyboard_shortcuts_helper">Auxiliar de atalhos de teclado</a></li>
+        <li><a href="#sustained_performance_api">API de desempenho sustentado</a></li>
+        <li><a href="#vr">Suporte a RV</a></li>
+        <li><a href="#print_svc">Melhorias nos serviços de impressão</a></li>
+        <li><a href="#virtual_files">Arquivos virtuais</a></li>
+        <li><a href="#framemetrics_api">FrameMetricsListener API</a></li>
       </ol>
 </div>
 </div>
 
 
 
-<p>O Android N ainda está em desenvolvimento ativo. Mas agora é possível experimentá-lo 
-como parte do N Developer Preview. As sessões a seguir destacam alguns 
+<p>O Android N ainda está em desenvolvimento ativo, mas agora você já pode testá-lo 
+como parte do N Developer Preview. As seções a seguir destacam alguns dos
 novos recursos para desenvolvedores. </p>
 
 <p>
@@ -59,14 +67,14 @@
 
   <p>Agora os usuários podem abrir dois aplicativos na tela ao mesmo tempo. </p>
   <ul>
-  <li>Em celulares e tablets 
-executando o Android N, os usuários agora podem executar dois aplicativos lado a lado ou 
-um acima do outro em modo de tela dividida. Os usuários podem redimensionar os aplicativos arrastando 
+  <li>Em celulares e tablets
+executando o Android N, os usuários agora podem executar dois aplicativos lado a lado ou
+um acima do outro em modo de tela dividida. Os usuários podem redimensionar os aplicativos arrastando
 o divisor entre eles. </li>
 
-<li>Em dispositivos Android TV, os aplicativos podem assumir o <a href="{@docRoot}preview/features/picture-in-picture.html">modo imagem em 
-imagem</a>, o que permite que continuem a exibir conteúdo enquanto o usuário navega ou 
-interage com outros aplicativos. Veja abaixo para obter mais informações. </li>
+<li>Em dispositivos Android TV, os aplicativos podem assumir o <a href="{@docRoot}preview/features/picture-in-picture.html">modo imagem em
+imagem</a>, o que permite que continuem a exibir conteúdo enquanto o usuário navega ou
+interage com outros aplicativos.</li>
   </ul>
 
 <div class="col-4of10">
@@ -74,6 +82,7 @@
 <p class="img-caption">
   <strong>Figura 1.</strong> Aplicativos executando em modo de tela dividida.
 </p>
+
   </div>
 
 <p>O suporte a várias janelas oferece novas formas de envolver os usuários, 
@@ -81,45 +90,52 @@
 no aplicativo para permitir que os usuários arrastem conteúdo de ou para o aplicativo &mdash; uma ótima 
 maneira de aprimorar a experiência do usuário. </p>
 
-<p>É simples adicionar suporte a várias janelas ao aplicativo e configurar a forma com ele 
-processa a exibição em várias janelas. Por exemplo, você pode especificar as dimensões 
-mínimas permitidas para a atividade, evitando que os usuários a redimensionem para tamanhos 
-menores. Também é possível desativar a exibição em várias janelas no aplicativo, o que
- garante que o sistema mostrará o aplicativo exclusivamente em modo de tela cheia.</p>
+<p>É muito fácil adicionar suporte a várias janelas a seu aplicativo e configurar como ele
+lida com exibição em várias janelas. Por exemplo, você pode especificar as dimensões
+mínimas permitidas para sua atividade, evitando que os usuários redimensionem a atividade para abaixo
+deste tamanho. Você também pode desativar a exibição de várias janelas para o aplicativo, o que
+ garante que o sistema só mostrará o aplicativo em modo de tela inteira.</p>
 
 <p>
-  Para obter mais informações, consulte a documentação para desenvolvedores de 
-<a href="{@docRoot}preview/features/multi-window.html">Suporte a várias janelas</a>.
+  Para obter mais informações, consulte a documentação para desenvolvedores de <a href="{@docRoot}preview/features/multi-window.html">Suporte a várias janelas</a>
+.
 </p>
 
 <h2 id="notification_enhancements">Aprimoramentos de notificações</h2>
 
-<p>Reformulamos as notificações no Android N para facilitar e agilizar o seu 
-uso. Algumas modificações são:</p>
+<p>Reformulamos as notificações no Android N para facilitar e agilizar o 
+uso. Entre as alterações estão:</p>
 
 <ul>
   <li>
-    <strong>Atualizações de modelos</strong>: estamos atualizando os modelos de notificação para
+    <strong>Atualizações de modelos</strong>: Estamos atualizando os modelos de notificação para
  colocar mais ênfase na imagem do herói e do avatar. Os desenvolvedores poderão
  aproveitar os novos modelos com ajustes mínimos no código.
   </li>
 
   <li>
-    <strong>Notificações empacotadas</strong>: o sistema pode agrupar mensagens
+    <strong>Personalização de estilo de mensagem</strong>: Você pode personalizar mais
+rótulos de interface de usuário associados às suas notificações usando a classe
+<code>MessageStyle</code>. É possível configurar a mensagem, o título da conversa
+e a visualização de conteúdo.
+  </li>
+
+  <li>
+    <strong>Notificações empacotadas</strong>: O sistema pode agrupar mensagens
  por tópico de mensagem, por exemplo, e exibir o grupo. Um usuário pode
  executar ações, como Dismiss ou Archive, nessa exibição de grupo. Se você
- já implementou notificações para Android Wear, está familiarizado com
+ já implementou notificações para o Android Wear, está familiarizado com
  esse modelo.
   </li>
 
   <li>
-    <strong>Resposta direta</strong>: para aplicativos de comunicação em tempo real, o
+    <strong>Resposta direta</strong>: Para aplicativos de comunicação em tempo real, o
  sistema Android oferece suporte a respostas em linha para que os usuários possam responder rapidamente a
  mensagens SMS ou de texto diretamente dentro da interface de notificação.
   </li>
 
   <li>
-    <strong>Visualizações personalizadas</strong>: duas APIs novas permitem utilizar decorações
+    <strong>Visualizações personalizadas</strong>: Duas APIs novas permitem utilizar decorações
  do sistema, como cabeçalhos e ações de notificação, durante o uso de visualizações
  personalizadas em notificações.
   </li>
@@ -143,8 +159,8 @@
 </p>
 
 <p>Para saber como implementar os novos recursos, consulte o 
-guia 
- <a href="{@docRoot}preview/features/notification-updates.html">Notificações</a>.</p>
+guia <a href="{@docRoot}preview/features/notification-updates.html">Notificações</a>
+.</p>
 
 
 
@@ -152,15 +168,15 @@
 
 <p>No Android N, adicionamos um compilador Just in Time (JIT) com perfis de código para 
 ART, o que permite aprimorar constantemente o desempenho de aplicativos Android durante a 
-execução. O compilador JIT complementa o compilador atual Ahead of Time (AOT) do ART 
-e ajuda a aprimorar o desempenho em tempo de execução, economizar espaço de armazenamento e acelerar 
-atualizações de aplicativos e de sistema.</p>
+execução. O compilador JIT complementa o compilador atual Ahead of Time (AOT)
+ do ART e ajuda a aprimorar o desempenho em tempo de execução, economizar espaço de armazenamento e acelerar atualizações
+ de aplicativos e de sistema.</p>
 
 <p>A compilação orientada a perfil permite que o ART gerencie a compilação AOT/JIT de cada aplicativo 
 de acordo com o uso real e com as condições no dispositivo. Por 
 exemplo, o ART mantém um perfil dos principais métodos do aplicativo e pode pré-compilar 
-e armazenar esses métodos em cache para obter o melhor desempenho. As outras partes do aplicativo 
-não são compiladas até que sejam realmente utilizadas.</p>
+e armazenar esses métodos em cache para obter o melhor desempenho. As outras partes do aplicativo não são
+compiladas até que sejam realmente utilizadas.</p>
 
 <p>Além de aprimorar o desempenho para as principais partes do aplicativo, a compilação 
 ajuda a reduzir o uso geral de recursos de RAM, incluindo os binários 
@@ -173,7 +189,7 @@
 <h2 id="quick_path_to_app_install">Caminho rápido para a instalação de aplicativos</h2>
 
 <p>Um dos benefícios mais tangíveis do compilador JIT do ART é a velocidade de instalação dos 
-aplicativos e das atualizações do sistema. Até mesmo aplicativos grandes, que exigiam diversos minutos para 
+aplicativos e das atualizações do sistema. Até mesmo aplicativos grandes, que exigiam vários minutos para 
 otimização e instalação no Android 6.0, podem agora ser instalados em 
 segundos. As atualizações de sistema também ficaram mais rápidas, pois não existe mais a etapa de otimização. </p>
 
@@ -200,8 +216,8 @@
 <p>Pouco depois de a tela ser desativada com o dispositivo alimentado pela bateria, o modo soneca 
 restringe o acesso de rede e adia trabalhos e sincronizações. Durante breves janelas de 
 manutenção, os aplicativos podem acessar a rede e todos os 
-trabalhos/sincronizações adiados são executados. A ativação da tela ou do dispositivo encerra 
-o modo soneca.</p>
+trabalhos/sincronizações adiados são executados. A ativação da tela ou do dispositivo
+encerra o modo soneca.</p>
 
 <p>Quando o dispositivo voltar a ficar estacionário, com a tela desativada e alimentado por bateria por um 
 período, o modo soneca aplicará as restrições completas de CPU e rede em {@link
@@ -210,16 +226,16 @@
 
 <p>As práticas recomendadas para adaptar o aplicativo ao modo soneca são as mesmas para 
 dispositivos estacionários ou em movimento. Portanto, se você já atualizou o aplicativo para 
-processar o modo soneca corretamente, está pronto. Caso contrário, comece a <a href="{@docRoot}training/monitoring-device-state/doze-standby.html#assessing_your_app">adaptar 
-o aplicativo para o modo soneca</a> agora.</p>
+processar o modo soneca corretamente, está pronto. Caso contrário, comece a <a href="{@docRoot}training/monitoring-device-state/doze-standby.html#assessing_your_app">adaptar
+ o aplicativo para o modo soneca</a> agora.</p>
 
-<h2 id="background_optimizations">Project Svelte: otimizações em segundo plano</h2>
+<h2 id="background_optimizations">Project Svelte: Otimizações em segundo plano</h2>
 
 <p>O Project Svelte é um esforço contínuo para minimizar o uso de RAM pelo sistema e pelos aplicativos 
 nos dispositivos Android existentes no ecossistema. No Android N, o Project 
 Svelte se concentra em otimizar a forma de execução dos aplicativos em segundo plano. </p>
 
-<p>O processamento em segundo plano é uma parte essencial da maioria dos aplicativos. Quando executado corretamente, a experiência 
+<p>O processamento em segundo plano é parte essencial da maioria dos aplicativos. Quando executado corretamente, a experiência 
 do usuário pode ficar incrível &mdash; imediata, rápida e sensível ao contexto. 
 Quando executado incorretamente, o processamento em segundo plano pode consumir desnecessariamente RAM (e 
 bateria) e afetar o desempenho do sistema para os outros aplicativos. </p>
@@ -227,12 +243,12 @@
 <p>Desde o Android 5.0, {@link android.app.job.JobScheduler} é a forma 
 preferencial para execução de trabalho em segundo plano de uma maneira que beneficia 
 os usuários. Os aplicativos podem agendar trabalhos e permitir que o sistema execute otimizações com base em 
-condições de memória, energia e conectividade. O JobScheduler oferece controle 
-e simplicidade, e queremos que seja usado por todos os aplicativos. </p>
+condições de memória, energia e conectividade. O JobScheduler oferece controle e
+simplicidade, e queremos que seja usado por todos os aplicativos. </p>
 
 <p>
   Outra boa opção é o <a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
-  <code>GCMNetworkManager</code></a>, parte do Google Play Services, que
+ <code>GCMNetworkManager</code></a>, parte do Google Play Services, que
  oferece um agendamento de trabalhos similar, compatível com versões legadas do
  Android.
 </p>
@@ -245,9 +261,9 @@
 particularmente em dispositivos com pouca memória.</p>
 
 <p>No Android N, estamos removendo três transmissões implícitas de uso comum &mdash;
- {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}, {@link
-  android.hardware.Camera#ACTION_NEW_PICTURE} e {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO} &mdash;, pois podem despertar simultaneamente 
+{@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}, {@link
+android.hardware.Camera#ACTION_NEW_PICTURE} e {@link
+ android.hardware.Camera#ACTION_NEW_VIDEO} &mdash;, pois podem despertar simultaneamente 
 processos em segundo plano de vários aplicativos, aumentando o consumo de memória e bateria. Se 
 o seu aplicativo receber essas transmissões, aproveite o N Developer Preview para
  migrar para o <code>JobScheduler</code> e as APIs relacionadas. </p>
@@ -258,13 +274,13 @@
 </p>
 
 
-<h2 id="data_saver">Economizador de dados</h2>
+<h2 id="data_saver">Economia de dados</h2>
 
 <div class="col-5of12" style="margin-right:1.5em;">
 <img src="{@docRoot}preview/images/datasaver.png" style="border:2px solid #ddd">
 
 <p class="img-caption" style="padding-right:2em;">
-  <strong>Figura 4.</strong> O Economizador de dados em Settings.
+  <strong>Figura 4.</strong> Economia de dados em Settings.
 </p>
   </div>
 
@@ -272,26 +288,71 @@
 excede o custo do próprio dispositivo. Para muitos usuários, os dados de celular 
 são um recurso caro que querem economizar. </p>
 
-<p>O Android N introduz o modo Economizador de dados, um novo serviço do sistema que ajuda a reduzir 
+<p>O Android N introduz o modo de Economia de dados, um novo serviço do sistema que ajuda a reduzir 
 o uso de dados de celular pelos aplicativos em situações de roaming, perto do final do ciclo de cobrança 
-ou em pacotes de dados pré-pagos pequenos. O Economizador de dados permite que os usuários controlem o 
-uso de dados de celular e possibilita que os desenvolvedores ofereçam serviços mais eficientes quando o modo Economizador 
+ou em pacotes de dados pré-pagos pequenos. A Economia de dados permite que os usuários controlem o 
+uso de dados de celular e possibilita que os desenvolvedores ofereçam serviços mais eficientes quando o modo de Economia 
 de dados estiver ativado. </p>
 
-<p>Quando um usuário ativa o Economizador de dados em <strong>Settings</strong> e o dispositivo está 
+<p>Quando um usuário ativa a Economia de dados em <strong>Settings</strong> e o dispositivo está 
 em uma rede tarifada, o sistema bloqueia o uso de dados em segundo plano e avisa aos aplicativos 
 para reduzir o uso de dados no primeiro plano sempre que possível &mdash; como, por exemplo, limitar a 
 taxa de bits de streaming, reduzir a qualidade de imagens, adiar o armazenamento prévio otimista em cache 
-e assim por diante. Os usuários podem autorizar aplicativos específicos a usar dados tarifados em segundo plano, 
-mesmo com o Economizador de dados ativado.</p>
+e assim por diante. Os usuários podem autorizar aplicativos específicos a usar dados tarifados
+em segundo plano, mesmo com a Economia de dados ativada.</p>
 
 <p>O Android N estende o {@link android.net.ConnectivityManager} para oferecer aos aplicativos uma 
 forma de <a href="{@docRoot}preview/features/data-saver.html#status">recuperar as 
-preferências do usuário para o Economizador de dados</a> e <a href="{@docRoot}preview/features/data-saver.html#monitor-changes">monitorar 
-as mudanças de preferências</a>. Todos os aplicativos devem verificar se o usuário ativou o Economizador 
+preferências do usuário para a Economia de dados</a> e <a href="{@docRoot}preview/features/data-saver.html#monitor-changes">monitorar 
+as mudanças de preferências</a>. Todos os aplicativos devem verificar se o usuário ativou a Economia 
 de dados e tentar limitar o uso de dados em primeiro e segundo plano.</p>
 
 
+<h2 id="vulkan">Vulkan API</h2>
+
+<p>
+  O Android N integra o <a href="http://www.khronos.org/vulkan" class="external-link">Vulkan™</a>, uma nova API de renderização 3D, à plataforma. Como o
+ <a href="https://www.khronos.org/opengles/" class="external-link">OpenGL™
+ ES</a>, o Vulkan é um padrão aberto para gráficos e renderização 3D mantido
+ pelo Khronos Group.
+</p>
+
+<p>
+  O Vulkan foi projetado desde o início para minimizar sobrecargas na CPU do driver
+ e permitir que seu aplicativo controle a operação de GPU de forma mais direta. O Vulkan
+ também oferece melhor paralelização ao permitir que vários encadeamento realizem
+ trabalhos como a construção de buffer de comando de uma só vez.
+</p>
+
+<p>
+  As ferramentas de desenvolvimento e bibliotecas do Vulkan se combinam ao Android NDK. Elas
+ incluem:
+</p>
+
+<ul>
+  <li>Cabeçalhos
+  </li>
+
+  <li>Camadas de validação (bibliotecas de depuração)
+  </li>
+
+  <li>Compilador de sombreadores SPIR-V
+  </li>
+
+  <li>Biblioteca de compilação de sombreadores SPIR-V em tempo de execução
+  </li>
+</ul>
+
+<p>
+  O Vulkan só está disponível para aplicativos em dispositivos com hardware com capacidade para Vulkan,
+ como Nexus 5X, Nexus 6P e Nexus Player Estamos trabalhando em estreita cooperação com nossos
+ parceiros para oferecer o Vulkan em mais dispositivos assim que possível.
+</p>
+
+<p>
+  Para obter mais informações, consulte a <a href="{@docRoot}ndk/guides/graphics/index.html">documentação da API</a>.
+</p>
+
 <h2 id="tile_api">Quick Settings Tile API</h2>
 
 
@@ -310,7 +371,7 @@
 <p>Adicionamos mais espaço para os blocos de Configurações rápidas, que os usuários podem 
 acessar em uma área de exibição paginada deslizando à direita ou à esquerda. Além disso, 
 permitimos que os usuários controlem quais blocos de Configurações rápidas são exibidos, bem como o local 
-em que são exibidos &mdash; para adicionar ou mover blocos, os usuários simplesmente arrastam e largam os blocos. </p>
+em que são exibidos &mdash; para adicionar ou mover blocos, os usuários simplesmente arrastam e soltam os blocos. </p>
 
 <p>Para desenvolvedores, o Android N também adiciona uma API nova que permite definir os próprios 
 blocos de Configurações rápidas para que os usuários possam acessar facilmente os principais controles e ações do seu aplicativo.</p>
@@ -327,25 +388,25 @@
 </p>
 
 <p>
-  Para obter informações sobre a criação de um bloco de aplicativo, consulte
+  Para obter informações sobre a criação de um bloco de aplicativo, consulte a documentação para
  <code>android.service.quicksettings.Tile</code> na <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referência da API</a>, disponível para download.
 </p>
 
 
 
-<h2 id="number-blocking">Bloqueio de números</h2>
+<h2 id="number-blocking">Bloqueio de número</h2>
 
 <p>O Android N agora oferece suporte a bloqueio de números na plataforma e disponibiliza uma 
-API de estrutura para permitir que provedores de serviço mantenham uma lista de números bloqueados. O 
-aplicativo padrão de SMS, o aplicativo padrão de telefone e os aplicativos de provedor podem ler e gravar 
-a lista de números bloqueados. A lista não pode ser acessada por outros aplicativos.</p>
+API de estrutura para permitir que provedores de serviço mantenham uma lista de números bloqueados. O
+ aplicativo padrão de SMS, o aplicativo padrão de telefone e os aplicativos de provedor podem ler e gravar 
+a lista de números bloqueados. A lista não está acessível para outros aplicativos.</p>
 
 <p>Ao oferecer o bloqueio de número como recurso padrão da plataforma, o Android oferece 
 uma forma consistente de bloqueio de números em uma grande variedade de 
 dispositivos. Alguns benefícios que podem ser aproveitados pelos aplicativos são:</p>
 
 <ul>
-  <li> Números bloqueados nas chamadas também são bloqueados nos textos
+  <li> Números bloqueados para chamadas também são bloqueados para mensagens de texto
   <li> Números bloqueados podem persistir entre várias redefinições e dispositivos por meio do 
 recurso Backup e restauração
   <li> Vários aplicativos podem usar a mesma lista de números bloqueados
@@ -354,20 +415,20 @@
 <p>Além disso, a integração de aplicativos da operadora por meio do Android significa que as operadoras podem 
 ler a lista de números bloqueados no dispositivo e executar um bloqueio do lado do servidor 
 para o usuário, impedindo que chamadas e textos indesejados cheguem a ele 
-por qualquer meio, como pontos finais de VOIP ou encaminhamento de telefones.</p>
+por qualquer meio, como terminais de VOIP ou encaminhamento de telefones.</p>
 
 <p>
   Para obter mais informações, consulte <code>android.provider.BlockedNumberContract</code>
- na <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referência da API</a>, 
-disponível para download.
+ na <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referência
+da API</a>, disponível para download.
 </p>
 
 <h2 id="call_screening">Triagem de chamadas</h2>
 
 <p>
-  O Android N permite que o aplicativo de telefone padrão faça triagem das chamadas recebidas. O aplicativo
+  O Android N permite que o aplicativo de telefone padrão faça a triagem das chamadas recebidas. O aplicativo
  de telefone faz isso implementando o novo <code>CallScreeningService</code>,
- que permite que a execução de diversas ações com base nos
+ que permite a execução de diversas ações com base nos
  {@link android.telecom.Call.Details Call.Details} da chamada recebida, como:
 </p>
 
@@ -379,16 +440,16 @@
 
 <p>
   Para obter mais informações, consulte <code>android.telecom.CallScreeningService</code>
- na <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referência da API</a>, 
-disponível para download.
+ na <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referência
+da API</a>, disponível para download.
 </p>
 
 
 <h2 id="multi-locale_languages">Suporte a diversas localidades, mais idiomas</h2>
 
 
-<p>O Android N agora permite que os usuários selecionem <strong>diversas localidades</strong> em Settings 
-para oferecer melhor suporte a casos de uso bilíngues. Os aplicativos podem usar 
+<p>O Android N agora permite que os usuários selecionem <strong>diversas localidades</strong> em Settings
+para oferecer melhor suporte a casos de uso bilíngue. Os aplicativos podem usar 
 uma API nova para obter as localidades selecionadas pelo usuário e oferecer 
 experiências de usuário mais sofisticadas para usuários com diversas localidades &mdash; como, por exemplo, mostrar resultados de pesquisa em 
 diversos idiomas e não oferecer a tradução de páginas da web que usam 
@@ -396,23 +457,65 @@
 
 <p>Juntamente com o suporte a várias localidades, o Android N também amplia o número de idiomas 
 disponíveis aos usuários. Ele oferece mais de 25 variantes para cada um dos idiomas 
-mais comuns, como inglês, espanhol, francês e árabe. Além disso, ele adiciona suporte 
-parcial a mais de 100 novos idiomas.</p>
+mais comuns, como inglês, espanhol, francês e árabe. Além disso, adiciona suporte parcial
+a mais de 100 novos idiomas.</p>
 
-<p>Os aplicativos podem obter a lista de localidades definida pelo usuário chamando <code>LocaleList.GetDefault()</code>. Para oferecer suporte ao maior número de localidades, o Android N está alterando a forma 
-como resolve recursos. Não deixe de testar e verificar se seus aplicativos 
+<p>Os aplicativos podem obter a lista de localidades definida pelo usuário chamando
+<code>LocaleList.GetDefault()</code>.  Para oferecer suporte ao maior número de localidades, o Android N está
+alterando a forma como resolve recursos. Não deixe de testar e verificar se seus aplicativos 
 funcionam da forma esperada com a nova lógica de resolução de recursos.</p>
 
 <p>Para saber mais sobre o novo comportamento de resolução de recursos e sobre as práticas recomendadas que você deve 
 seguir, consulte <a href="{@docRoot}preview/features/multilingual-support.html">Suporte a vários idiomas</a>.</p>
 
-<h2 id="icu4">APIs ICU4J no Android</h2>
+
+<h2 id="emoji">Novos emoticons</h2>
 
 <p>
-  O Android N oferece agora um subconjunto das APIs <a href="http://site.icu-project.org/">ICU4J</a> na estrutura do Android no
- pacote <code>android.icu</code>. A migração é simples e consiste principalmente em
- alterar o espaço de nome <code>com.java.icu</code> para
- <code>android.icu</code>. Se você já usa um pacote ICU4J nos seus
+  O Android N apresenta emoticons adicionais e recursos relacionados, tais como
+ emoticons com diferentes tons de pele e suporte a seletores
+ de variação. Se o seu aplicativo suporta emoticons,
+ siga as diretrizes abaixo para aproveitar estes recursos próprios para emoticons.
+</p>
+
+<ul>
+  <li>
+    <strong>Verifique se o dispositivo contém um emoticon antes de inseri-lo.</strong>
+    Para conferir quais emoticons estão presentes 
+ na fonte do sistema, use o método {@link android.graphics.Paint#hasGlyph(String)}.
+  </li>
+  <li>
+    <strong>Verifique se um emoticon suporta seletores de variação.</strong>
+    Os seletores de variação permitem que você
+ apresente determinados emoticons em cores ou preto e branco.
+    Em dispositivos móveis, os aplicativos devem representar os emoticons em cores, e não em preto e branco. Porém,
+ se o seu aplicativo exibe emoticons em linha com o texto, ele deve usar a variação preto e branco.
+    Para determinar se um emoticon tem variação ou não, use o seletor de variação.
+    Para obter uma lista completa de caracteres com variações, consulte a seção
+ <em>sequências de variação de emoticon</em> da
+ <a class="external-link" href="http://www.unicode.org/Public/9.0.0/ucd/StandardizedVariants-9.0.0d1.txt">
+ documentação sobre variações em Unicode</a>.
+  </li>
+  <li>
+    <strong>Verifique se um emoticon suporta tons de pele.</strong> O Android N permite que os usuários modifiquem o
+ tom de pele renderizado de emoticons como quiserem. Os aplicativos de teclado devem oferecer indicações
+ visuais para emoticons que tenham diversos tons de pele e permitir que os usuários
+ selecionem o tom preferido. Para determinar quais emoticons do sistema têm
+ modificadores de tom de pele, use o método {@link android.graphics.Paint#hasGlyph(String)}
+. Você pode determinar quais emoticons usam tons de pele lendo a
+ <a class="external-link" href="http://unicode.org/emoji/charts/full-emoji-list.html">
+documentação do Unicode</a>.
+  </li>
+</ul>
+
+
+<h2 id="icu4">ICU4J APIs no Android</h2>
+
+<p>
+  Agora, o Android N oferece um subconjunto de <a href="http://site.icu-project.org/">ICU4J</a> APIs na estrutura do Android
+ no pacote <code>android.icu</code>. A migração é fácil e geralmente exige
+apenas a mudança do namespace <code>com.java.icu</code> para
+<code>android.icu</code>. Se você já usa um pacote ICU4J nos seus
  aplicativos, a mudança para as APIs do <code>android.icu</code> disponibilizadas na estrutura do
  Android pode reduzir substancialmente o tamanho do APK.
 </p>
@@ -428,15 +531,16 @@
 <p>O Android N adiciona interfaces de estrutura e suporte de plataforma ao OpenGL ES 3.2, incluindo:</p>
 
 <ul>
-  <li> Todas as extensões do <a class="external-link" href="https://www.khronos.org/registry/gles/extensions/ANDROID/ANDROID_extension_pack_es31a.txt">Pacote de extensão Android</a></a> (AEP), exceto <code>EXT_texture_sRGB_decode</code>.
+  <li> Todas as extensões do <a class="external-link" href="https://www.khronos.org/registry/gles/extensions/ANDROID/ANDROID_extension_pack_es31a.txt">
+Pacote de extensão Android</a></a> (AEP), exceto <code>EXT_texture_sRGB_decode</code>.
   <li> Framebuffers de ponto flutuante para HDR e sombreamento adiado.
   <li> Chamadas de desenho a BaseVertex para possibilitar melhor organização em lotes e transmissão.
   <li> Controle robusto de acesso a buffers para reduzir a sobrecarga do WebGL.
 </ul>
 
 <p>A API da estrutura do OpenGL ES 3.2 no Android N é fornecida pela classe
- <code>GLES32</code>. Ao usar o OpenGL ES 3.2, não deixe de declarar o 
-requisito no arquivo manifesto usando a tag <code>&lt;uses-feature&gt;</code> e o 
+<code>GLES32</code>. Ao usar o OpenGL ES 3.2, não deixe de declarar o 
+requisito no arquivo manifesto usando o rótulo <code>&lt;uses-feature&gt;</code> e o 
 atributo <code>android:glEsVersion</code>. </p>
 
 <p>Para obter mais informações sobre como usar o OpenGL ES, incluindo como verificar a versão do 
@@ -446,39 +550,40 @@
 <h2 id="android_tv_recording">Gravação do Android TV</h2>
 
 <p>O Android N adiciona a capacidade de gravar e reproduzir conteúdo de serviços de entrada 
-do Android TV por meio de novas APIs de gravação. Criados usando as APIs atuais de time-shifting, 
+do Android TV por meio de novas APIs de gravação.  Criados usando as APIs atuais de time-shifting, 
 os serviços de entrada de TV podem controlar quais dados de canal são gravados e como 
 as sessões gravadas são salvas, bem como gerenciar a interação do usuário com o conteúdo gravado. </p>
 
-<p>Para obter mais informações, consulte <a href="{@docRoot}preview/features/tv-recording-api.html">APIs de gravação do Android TV</a>.</p>
+<p>Para obter mais informações, consulte <a href="{@docRoot}preview/features/tv-recording-api.html">Android TV Recording APIs</a>.</p>
 
 
 <h2 id="android_for_work">Android for Work</h2>
 
-<p>O Android for Work adiciona vários recursos e APIs para dispositivos que executam o Android N. 
-Veja a seguir alguns destaques &mdash; para obter uma lista completa das atualizações do Android for Work 
-relacionadas ao Android N, consulte Mudanças no Android for Work.</p>
+<p>O Android for Work adiciona vários recursos e APIs para dispositivos que executam o Android N.
+Veja a seguir alguns destaques &mdash; para obter uma lista completa das mudanças, consulte
+<a href="{@docRoot}preview/features/afw.html">atualizações no Android for Work</a>.</p>
 
 <h3 id="work_profile_security_challenge">Desafio de segurança de perfil de trabalho </h3>
 
 <p>
-  Os donos de perfil podem especificar um desafio de segurança separado para os aplicativos executados no
- perfil de trabalho. O desafio de trabalho será mostrado quando o usuário tentar abrir
- qualquer aplicativo de trabalho. A resolução bem-sucedida do desafio de segurança desbloqueia e, 
-se necessário, descriptografa o perfil de trabalho. Para donos de perfil,
+  Donos de perfis direcionados ao N SDK
+ podem especificar um desafio de segurança em separado para aplicativos em execução no
+ perfil de trabalho. O desafio de trabalho é exibido quando um usuário tenta abrir
+ qualquer aplicativo de trabalho. O preenchimento correto do desafio de segurança desbloqueia e,
+ se necessário, descriptografa o perfil de trabalho. Para donos de perfil,
  <code>ACTION_SET_NEW_PASSWORD</code> solicita que o usuário defina um desafio
  de trabalho e <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> um
  bloqueio de dispositivo.
 </p>
 
 <p>
-  Os donos de perfil podem definir políticas de senha distintas para o desafio de trabalho
- (como o comprimento mínimo do PIN ou se é permitido usar uma impressão digital
- para desbloquear o perfil) usando <code>setPasswordQuality()</code>,
- <code>setPasswordMinimumLength()</code> e métodos relacionados. O dono
+  Os donos de perfil também podem definir políticas de senha distintas para o desafio de trabalho
+ (como o comprimento mínimo do PIN ou se é permitido usar a impressão digital
+para desbloquear o perfil) usando<code>setPasswordQuality()</code>,
+<code>setPasswordMinimumLength()</code> e métodos relacionados. O dono
  de perfil também pode definir o bloqueio de dispositivo usando a instância de <code>DevicePolicyManager</code>
  retornada pelo novo método <code>getParentProfileInstance()</code>.
- Além disso, donos de perfil podem personalizar a tela de credenciais do
+  Além disso, donos de perfil podem personalizar a tela de credenciais do
  desafio de trabalho usando os novos métodos <code>setOrganizationColor()</code> e
  <code>setOrganizationName()</code>.
 </p>
@@ -486,16 +591,16 @@
 
 <p>Os usuários podem alternar o modo de trabalho em dispositivos com um perfil de trabalho. Quando o modo de trabalho está 
 desativado, o usuário gerenciado é encerrado temporariamente, o que desativa 
-os aplicativos, a sincronização em segundo plano e as notificações do perfil de trabalho, inclusive o aplicativo 
-do dono do perfil. Quando o modo de trabalho está desativado, o sistema exibe um ícone de status 
-persistente para lembrar ao usuário que não é possível iniciar aplicativos de trabalho. A tela de início 
+os aplicativos, a sincronização em segundo plano e as notificações do perfil de trabalho. Isso inclui o aplicativo do
+dono do perfil. Quando o modo de trabalho está desativado, o sistema exibe um ícone de status persistente
+ para lembrar ao usuário que não é possível iniciar aplicativos de trabalho. A tela de início
 indica que os aplicativos e widgets de trabalho não podem ser acessados. </p>
 
 <h3 id="always_on_vpn">Always on VPN </h3>
 
 <p>Os donos de dispositivo e perfil podem garantir que os aplicativos de trabalho se conectem sempre 
-por meio de uma VPN especificada. O sistema inicia automaticamente a VPN após a 
-inicialização do dispositivo.</p>
+por meio de uma VPN especificada. O sistema inicia automaticamente a VPN após a
+ inicialização do dispositivo.</p>
 
 <p>
   Os novos métodos <code>DevicePolicyManager</code> são
@@ -504,9 +609,9 @@
 </p>
 
 <p>Como os serviços de VPN podem ser vinculados diretamente pelo sistema sem interação com 
-aplicativos, os clientes de VPN precisam processar novos pontos de entrada para o Always on VPN. Da 
-mesma forma que antes, os serviços são indicados ao sistema por um filtro de intenção correspondente 
-à ação <code>android.net.VpnService</code>. </p>
+aplicativos, os clientes de VPN precisam processar novos pontos de entrada para o Always on VPN. Da
+ mesma forma que antes, os serviços são indicados ao sistema por um filtro de intenção
+ correspondente à ação <code>android.net.VpnService</code>. </p>
 
 <p>
   Além disso, os usuários podem definir manualmente clientes do Always on VPN que implementam
@@ -514,25 +619,35 @@
  <strong>Settings&gt;More&gt;Vpn</strong>.
 </p>
 
+<h3 id="custom_provisioning">Provisionamento personalizado</h3>
+
+<p>
+  Um aplicativo pode personalizar os fluxos de provisionamento do dono do perfil e do dispositivo
+ com cores e logos corporativos.
+ <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code> personaliza
+ a cor do fluxo. <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code>
+ personaliza o fluxo com um logo corporativo.
+</p>
+
 <h2 id="accessibility_enhancements">Aprimoramentos na acessibilidade</h2>
 
 <p>O Android N agora oferece Configurações de visão diretamente na tela de boas-vindas na instalação 
-de novos dispositivos. Isso permite que os usuários descubram e configurem recursos de acessibilidade 
-em seus dispositivos de forma muito mais fácil, incluindo gesto de ampliação, tamanho 
+de novos dispositivos. Isso permite que os usuários descubram e configurem recursos de acessibilidade
+ em seus dispositivos de forma muito mais fácil, incluindo gesto de ampliação, tamanho
 da fonte, tamanho da tela e TalkBack. </p>
 
 <p>Com o posicionamento mais proeminente desses recursos de acessibilidade, os usuários 
-ficarão mais propensos a experimentar o aplicativo com os recursos ativados. Não deixe de testar antecipadamente os aplicativos 
+ficarão mais propensos a experimentar o aplicativo com os recursos ativados. Não deixe de testar antecipadamente os aplicativos
 com essas configurações ativadas. Você pode ativá-las em Settings &gt;
 Accessibility.</p>
 
 <p>Além disso, os serviços de acessibilidade no Android N podem ajudar usuários com deficiências 
-motoras a tocar na tela. A nova API permite criar serviços com 
-recursos como acompanhamento de face, acompanhamento de olho e varredura de pontos, entre outros, para 
-atender às necessidades desses usuários.</p>
+motoras a tocar na tela. A nova API permite criar serviços com recursos
+como acompanhamento de face, acompanhamento de olho e varredura de pontos, entre outros, para atender
+às necessidades desses usuários.</p>
 
 <p>Para obter mais informações, consulte <code>android.accessibilityservice.GestureDescription</code>
-	 na <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referência da API</a>, disponível para download.</p>
+ na <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referência da API</a>, disponível para download.</p>
 
 
 <h2 id="direct_boot">Inicialização direta</h2>
@@ -542,22 +657,22 @@
 Por exemplo, se um dispositivo criptografado reinicializar durante o sono do usuário, 
 alarmes registrados, mensagens e chamadas recebidas podem agora continuar notificando 
 o usuário normalmente. Isso também significa que serviços de acessibilidade podem ser
- disponibilizados imediatamente após um reinício.</p>
+disponibilizados imediatamente após um reinício.</p>
 
 <p>A inicialização direita aproveita a criptografia baseada em arquivo do Android N 
 para ativar políticas de criptografia detalhadas para dados de sistema e aplicativos. 
 O sistema usa um armazenamento criptografado pelo dispositivo para determinados dados de sistema e dados 
 de aplicativos registrados explicitamente. Por padrão, um armazenamento criptografado por credencial é usado para todos
- os outros dados de sistema, dados de usuário, aplicativos e dados de aplicativos. </p>
+os outros dados de sistema, dados de usuário, aplicativos e dados de aplicativos. </p>
 
 <p>Na inicialização, o sistema inicia em um modo restrito que permite 
 acessar apenas dados criptografados pelo dispositivo, sem acesso geral a aplicativos ou dados. 
 Se você deseja executar componentes nesse modo, pode registrá-los 
-definindo um sinalizador no manifesto. Após a reinicialização, o sistema ativa 
-componentes registrados transmitindo a intenção 
-<code>LOCKED_BOOT_COMPLETED</code>. O sistema garante que dados de aplicativos registrados criptografados pelos dispositivos sejam disponibilizados 
-antes do destravamento. Todos os outros dados ficarão indisponíveis até que o usuário confirme suas
- credenciais de tela de bloqueio para descriptografá-los. </p>
+definindo um sinalizador no manifesto. Após a reinicialização, o sistema ativa
+componentes registrados transmitindo a intenção <code>LOCKED_BOOT_COMPLETED</code>
+. O sistema garante que dados de aplicativos registrados criptografados pelos dispositivos sejam disponibilizados
+antes do destravamento. Todos os outros dados ficarão indisponíveis até que o usuário confirme as credenciais
+ de tela de bloqueio para descriptografá-los. </p>
 
 Para obter mais informações, consulte <a href="{@docRoot}preview/features/direct-boot.html">Inicialização direta</a>.</p>
 </p>
@@ -566,15 +681,15 @@
 <h2 id="key_attestation">Confirmação de chaves</h2>
 
 <p>Os armazenamentos de chaves protegidos por hardware oferecem um método muito mais seguro para criar, armazenar 
-e usar chaves de criptografia em dispositivos Android. Eles protegem chaves contra o 
-kernel do Linux, possíveis vulnerabilidades do Android e extração em 
-dispositivos com acesso root.</p>
+e usar chaves de criptografia em dispositivos Android. Eles protegem chaves contra o kernel do Linux,
+possíveis vulnerabilidades do Android e extração
+em dispositivos com acesso root.</p>
 
 <p>Para permitir o uso de armazenamento de chaves protegido por hardware com maior facilidade e segurança, 
-o Android N introduziu a confirmação de chaves. Aplicativos em dispositivos móveis e fora deles podem usar a confirmação 
-de chaves para determinar com precisão se um par de chaves RSA ou EC está 
-protegido por hardware, quais as propriedades do par de chaves e quais 
-as restrições aplicadas ao uso e à validação. </p>
+o Android N introduziu a confirmação de chaves. Aplicativos em dispositivos móveis e fora deles podem usar a confirmação de chaves
+para determinar com precisão se um par de chaves RSA ou EC
+está protegido por hardware, quais as propriedades do par de chaves e quais as restrições
+aplicadas ao uso e à validação. </p>
 
 <p>Aplicativos e serviços externos aos dispositivos móveis podem solicitar informações sobre um par de chaves 
 por meio de um certificado de confirmação X.509, que deve estar assinado por uma 
@@ -590,7 +705,7 @@
  de execução confiável (TEE)</a>:</p>
 
 <ul>
-<li>A versão do sistema operacional e o nível de correção instalado no dispositivo</li>
+<li>A versão do SO e o nível de correção instalado no dispositivo</li>
 <li>A chave pública <a href="https://source.android.com/security/verifiedboot/index.html" class="external-link">Verified Boot</a> e seu status de bloqueio</li>
   </ul>
 
@@ -609,15 +724,15 @@
 
   <p>Recursos compatíveis:</p>
 <ul>
-<li><b>Âncoras confiáveis personalizadas.</b> Permitem que um aplicativo personalize quais 
-Autoridades de certificado (CA) são confiáveis para suas conexões seguras. Por 
-exemplo, confiar em determinados certificados autoassinados ou em um conjunto restrito de CAs públicas.
+<li><b>Âncoras de confiança personalizadas.</b> Permite que um aplicativo personalize quais
+autoridades de certificado (CA) são confiáveis para as conexões seguras. Por
+ exemplo, confiar em certificados autoassinados privados ou um restrito conjunto de CAs públicas.
 </li>
 <li><b>Substituições apenas em depuração.</b> Permite que um desenvolvedor de aplicativos depure 
 conexões seguras do aplicativo com segurança, sem adicionar riscos à base 
 instalada.
 </li>
-<li><b>Cancelamento do uso de tráfego de texto simples.</b> Permite que um aplicativo seja proteja contra 
+<li><b>Cancelamento do uso de tráfego de texto simples.</b> Permite que um aplicativo seja protegido contra 
 o uso acidental de tráfego de texto simples.</li>
 <li><b>Fixação de certificados.</b> Um recurso avançado que permite que os aplicativos
  limitem quais chaves de servidor são confiáveis para conexões seguras.</li>
@@ -636,41 +751,289 @@
 
 <h2 id="apk_signature_v2">Esquema de assinatura de APK v2</h2>
 
-<p>A classe PackageManager agora permite a verificação de aplicativos usando o 
-esquema de assinatura de APK v2. O esquema de assinatura APK v2 é um esquema de assinatura integral de arquivos 
-que acelera consideravelmente a verificação e fortalece as garantias
- de integridade, detectando qualquer alteração não autorizada em arquivos APK.</p>
+<p>
+  O Android N apresenta o esquema de assinatura de APK v2, um novo esquema de assinatura de aplicativo
+ que oferece instalações mais rápidas e maior proteção contra alterações não autorizadas
+ em arquivos APK. Por padrão, o Android Studio 2.2 e o plug-in do Android
+ para Gradle 2.2 assinam seu aplicativo usando o esquema de assinatura de APK v2 e
+ o esquema tradicional, que usa assinaturas JAR.
+</p>
 
-<p>Para manter a compatibilidade com versões anteriores, o APK deve ser assinado com o esquema de assinatura 
-v1 (esquema de assinatura JAR) antes de ser assinado com o esquema de assinatura v2. 
-Com o esquema de assinatura v2, a verificação falhará se você assinar o APK com um
- certificado adicional após assiná-lo com o esquema v2. </p>
+<p>
+  Embora seja recomendável aplicar o esquema de assinatura de APK v2 ao aplicativo, este novo
+ esquema não é obrigatório. Se o aplicativo não for compilado adequadamente ao usar o esquema
+de assinatura de APK v2, você poderá desativá-lo. O processo de desativação
+ faz com que o Android Studio 2.2 e o plug-in do Android para Gradle 2.2 assinem
+o aplicativo usando apenas o esquema de assinatura tradicional. Para assinar apenas com o
+ esquema tradicional, abra o arquivo do nível de módulo <code>build.gradle</code> e
+ adicione a linha <code>v2SigningEnabled false</code> à configuração de assinatura de sua
+ versão:
+</p>
 
-<p>O suporte ao esquema de assinatura de APK v2 será disponibilizado posteriormente no N Developer 
-Preview.</p>
+<pre>
+  android {
+    ...
+    defaultConfig { ... }
+    signingConfigs {
+      release {
+        storeFile file("myreleasekey.keystore")
+        storePassword "password"
+        keyAlias "MyReleaseKey"
+        keyPassword "password"
+        <strong>v2SigningEnabled false</strong>
+      }
+    }
+  }
+</pre>
 
-<h2 id="scoped_directory_access">Acessos a diretório com escopo</h2>
+<p class="caution"><strong>Cuidado: </strong>Se você assinar o aplicativo usando o esquema de assinatura de APK
+ v2 e fizer novas alterações posteriormente, a assinatura do app
+ será invalidada. Por essa razão, use ferramentas como <code>zipalign</code>
+ antes de assinar o aplicativo usando o esquema de assinatura de APK v2, não depois.
+</p>
 
-<p>No Android N, os aplicativos podem usar novas APIs para solicitar acesso a diretórios de <a href="{@docRoot}guide/topics/data/data-storage.html#filesExternal">armazenamento 
-externo</a>, incluindo diretórios em mídia removível como cartões 
-SD. As novas APIs simplificam substancialmente o acesso de aplicativos a diretórios de 
-armazenamento externo padrão, como o diretório <code>Pictures</code>. Os aplicativos, 
+<p>
+  Para obter mais informações, leia os documentos do Android Studio que descrevem como
+<a href="{@docRoot}studio/publish/app-signing.html#release-mode">
+assinar um aplicativo</a> no Android Studio e como<a href="{@docRoot}studio/build/build-variants.html#signing"> configurar
+o arquivo de programação para assinar aplicativos</a> usando o plug-in do Android para Gradle.
+</p>
+
+<h2 id="scoped_directory_access">Acesso a diretórios com escopo</h2>
+
+<p>No Android N, os aplicativos podem usar novas APIs para solicitar acesso a determinados diretórios de <a href="{@docRoot}guide/topics/data/data-storage.html#filesExternal">armazenamento
+externo</a>, incluindo diretórios em mídias removíveis, tais como cartões
+SD. As novas APIs simplificam consideravelmente como o aplicativo acessa os
+diretórios de armazenamento externo padrão, tais como o diretório<code>Pictures</code>. Os aplicativos, 
 como aplicativos de fotografia, podem usar essas APIs em vez de 
 <code>READ_EXTERNAL_STORAGE</code>, que concede acesso a todos os diretórios de 
 armazenamento, ou da Estrutura de acesso ao armazenamento, que faz o usuário navegar até 
 o diretório.</p>
 
 <p>Além disso, as novas APIs simplificam as etapas executadas pelo usuário para conceder ao aplicativo 
-acesso ao armazenamento externo. Quando você usa as novas APIs, o sistema usa uma IU
- de permissões simples que detalha claramente a qual diretório o aplicativo 
+acesso ao armazenamento externo. Quando você usa as novas APIs, o sistema usa uma IU de permissões simples
+que detalha claramente a qual diretório o aplicativo
 está solicitando acesso.</p>
 
 <p>Para obter mais informações, consulte a documentação para desenvolvedores 
 <a href="{@docRoot}preview/features/scoped-folder-access.html">Acessos
  a diretório com escopo</a>.</p>
 
+<h2 id="keyboard_shortcuts_helper">Auxiliar de atalhos de teclado</h2>
+
+<p>
+No Android N, o usuário pode pressionar "Alt + /" para acionar uma tela de <em>atalhos de teclado</em>
+que exibe todos os atalhos disponíveis do sistema e do
+aplicativo em questão. Os atalhos são recuperados automaticamente do menu do aplicativo, se
+estiverem disponíveis, mas os desenvolvedores podem fornecer listas próprias de atalhos
+para a tela. É possível fazer isso substituindo o novo método
+<code>Activity.onProvideKeyboardShortcuts()</code>, conforme descrito na
+<a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referência da API</a>, disponível para download.
+</p>
+
+<p>
+Para acionar o auxiliar de atalhos de teclado em qualquer ponto do aplicativo,
+chame {@code Activity.requestKeyboardShortcutsHelper()} para a atividade correspondente.
+</p>
+
+<h2 id="sustained_performance_api">API de desempenho sustentado</h2>
+
+<p>
+O desempenho pode flutuar drasticamente em aplicativos executados por muito tempo porque o
+sistema aciona os mecanismos de sistema-em-um-chip quando os componentes do dispositivo atingem o
+limite de temperatura. Esta flutuação representa um desafio para desenvolvedores de aplicativos
+ que criam aplicativos de alto desempenho e longo tempo de execução.
+</p>
+
+<p>
+Para tratar estas limitações, o Android N inclui compatibilidade opcional para 
+<em>modo de desempenho sustentado</em>, permitindo que OEMs ofereçam dicas sobre
+ capacidades de desempenho em dispositivo para aplicativos de longa duração. Os desenvolvedores de aplicativos
+podem usar essas dicas para ajustar os aplicativos para um nível de desempenho do dispositivo previsível
+e consistente em períodos longos de tempo.
+</p>
+
+<p>
+Desenvolvedores de aplicativos podem testar essa nova API na N Developer Preview
+apenas em dispositivos Nexus 6P. Para usar este recurso,
+configure a janela de sinalização de desempenho sustentado para a janela
+que você quer executar em modo de desempenho sustentado. Configure esta sinalização usando o método
+{@code Window.setSustainedPerformanceMode()}. O sistema desativará este modo
+automaticamente quando a janela não estiver mais em foco.
+</p>
+
+<h2 id="vr">Suporte a RV</h2>
+
+<p>
+O Android N adiciona compatibilidade de plataformas e otimizações para um novo Modo RV Mode que dá aos
+ desenvolvedores a capacidade de projetar experiências de RV móveis de alta qualidade para os usuários. Há diversas melhorias de desempenho
+, incluindo acesso a um núcleo exclusivo da CPU para aplicativos de RV.
+ Dentro dos aplicativos, é possível tirar vantagem do rastreamento inteligente da cabeça
+e de notificações estéreo que funcionam para RV. Mais importante, o Android N oferece 
+gráficos de latência muito baixa. Para obter informações completas sobre a criação de aplicativos de RV para Android N, 
+consulte o <a href="https://developers.google.com/vr/android/">Google VR SDK para Android</a>.
+</p>
 
 
+<h2 id="print_svc">Melhorias nos serviços de impressão</h2>
+
+<p>
+  No Android N, agora os desenvolvedores de serviços de impressão podem exibir informações adicionais
+ sobre impressoras e trabalhos de impressão individuais.
+</p>
+
+<p>
+  Ao listar impressoras individuais, agora um serviço de impressão pode definir 
+ícones por impressora de duas maneiras:
+</p>
+
+<ul>
+  <li>É possível definir um ícone de um ID de recurso chamando
+ <code>PrinterInfo.Builder.setResourceIconId()</code>
+  </li>
+
+  <li>É possível exibir um ícone da rede chamando
+<code>PrinterInfo.Builder.setHasCustomPrinterIcon()</code> e definindo um
+retorno de chamada para quando o ícone for solicitado usando
+<code>android.printservice.PrinterDiscoverySession.onRequestCustomPrinterIcon()</code>
+  </li>
+</ul>
+
+<p>
+  Além disso, você pode fornecer atividade por impressora para exibir
+informações adicionais chamando <code>PrinterInfo.Builder.setInfoIntent()</code>.
+</p>
+
+<p>
+  É possível indicar o progresso e o status de trabalhos de impressão na
+notificação de trabalhos de impressão chamando
+<code>android.printservice.PrintJob.setProgress()</code> e
+<code>android.printservice.PrintJob.setStatus()</code>, respectivamente.
+</p>
+
+<p>
+  Para obter mais informações sobre estes métodos, consulte a <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referência da API</a>, disponível para download.
+</p>
+
+<h2 id="framemetrics_api">FrameMetricsListener API</h2>
+
+<p>
+A FrameMetricsListener API permite que um aplicativo monitore o desempenho de renderização
+ da IU. A API oferece este recurso ao expor uma API Pub/Sub em streaming para transferir informações de precisão
+de quadro à janela atual do aplicativo. Os dados retornados são
+equivalentes aos que<code><a href="{@docRoot}tools/help/shell.html#shellcommands">adb shell</a>
+dumpsys gfxinfo framestats</code> exibe, mas não estão mais limitados a 120 quadros.
+</p>
+
+<p>
+É possível usar o FrameMetricsListener para medir o desempenho da IU
+em nível de interação na produção sem conexão USB. Esta API
+permite a coleta de dados com granularidade muito maior do que
+{@code adb shell dumpsys gfxinfo}. A granularidade maior é possível porque
+o sistema pode coletar dados para determinadas interações no aplicativo; o sistema
+não precisa capturar um resumo global do desempenho
+do aplicativo nem limpar qualquer estado global. É possível usar este
+recurso para reunir dados de desempenho e capturar regressões no desempenho da IU
+para casos de uso reais dentro do aplicativo.
+</p>
+
+<p>
+Para monitorar uma janela, implemente o método de retorno de chamada <code>FrameMetricsListener.onMetricsAvailable()</code>
+e registre-o nessa janela. Para obter mais informações, consulte a
+documentação da classe{@code FrameMetricsListener} na
+<a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referência da API</a>,disponível para download.
+</p>
+
+<p>
+A API fornece um objeto {@code FrameMetrics}, que contém dados de quadro que
+o subsistema de renderização relata para vários marcos no ciclo de vida de um quadro.
+As métricas suportadas são: {@code UNKNOWN_DELAY_DURATION},
+{@code INPUT_HANDLING_DURATION}, {@code ANIMATION_DURATION},
+{@code LAYOUT_MEASURE_DURATION}, {@code DRAW_DURATION}, {@code SYNC_DURATION},
+{@code COMMAND_ISSUE_DURATION}, {@code SWAP_BUFFERS_DURATION},
+{@code TOTAL_DURATION}e {@code FIRST_DRAW_FRAME}.
+</p>
 
 
+<h2 id="virtual_files">Arquivos virtuais</h2>
 
+<p>
+  Em versões anteriores do Android, o aplicativo podia usar a estrutura de
+ acesso ao armazenamento para permitir que os usuários selecionem arquivos de contas de armazenamento em nuvem,
+ como o Google Drive. No entanto, não é possível representar arquivos que
+não tenham uma representação direta de código de bytes; os arquivos precisam fornecer
+ um fluxo de entrada.
+</p>
+
+<p>
+  O Android N adiciona o conceito de <em>arquivos virtuais</em> à estrutura de acesso
+ ao armazenamento. O recurso de arquivos virtuais permite que seu
+{@link android.provider.DocumentsProvider} retorne URIs de documentos que possam ser
+usados com intenções {@link android.content.Intent#ACTION_VIEW} mesmo que não tenham
+uma representação direta de código de bytes. O Android N também permite que você
+ ofereça formatos alternativos para arquivos de usuário, sejam virtuais ou não.
+</p>
+
+<p>
+  Para obter o URI para um documento virtual em seu aplicativo, é preciso criar uma
+ {@link android.content.Intent} para abrir a IU do seletor de arquivos. Como um aplicativo
+não consegue abrir um arquivo virtual diretamente usando o método
+{@link android.content.ContentResolver#openInputStream(Uri) openInputStream()}
+, seu aplicativo não receberá arquivos virtuais se você não incluir a categoria
+{@link android.content.Intent#CATEGORY_OPENABLE}.
+</p>
+
+<p>
+  Depois que o usuário fizer uma seleção, o sistema chamará o método
+{@link android.app.Activity#onActivityResult onActivityResult()}.
+  O aplicativo pode recuperar o URI do arquivo virtual e obter um fluxo de resultados, como
+ demonstrado no snippet de código abaixo.
+</p>
+
+<pre>
+  // Other Activity code ...
+
+  final static private int REQUEST_CODE = 64;
+
+  // We listen to the OnActivityResult event to respond to the user's selection.
+  &#64;Override
+  public void onActivityResult(int requestCode, int resultCode,
+    Intent resultData) {
+      try {
+        if (requestCode == REQUEST_CODE &amp;&amp;
+            resultCode == Activity.RESULT_OK) {
+
+            Uri uri = null;
+
+            if (resultData != null) {
+                uri = resultData.getData();
+
+                ContentResolver resolver = getContentResolver();
+
+                // Before attempting to coerce a file into a MIME type,
+                // check to see what alternative MIME types are available to
+                // coerce this file into.
+                String[] streamTypes =
+                  resolver.getStreamTypes(uri, "*/*");
+
+                AssetFileDescriptor descriptor =
+                    resolver.openTypedAssetFileDescriptor(
+                        uri,
+                        streamTypes[0],
+                        null);
+
+                // Retrieve a stream to the virtual file.
+                InputStream inputStream = descriptor.createInputStream();
+            }
+        }
+      } catch (Exception ex) {
+        Log.e("EXCEPTION", "ERROR: ", ex);
+      }
+  }
+</pre>
+
+<p>
+  Para obter mais informações sobre como acessar arquivos de usuário, consulte o
+<a href="{@docRoot}guide/topics/providers/document-provider.html">guia da estrutura
+de acesso ao armazenamento</a>.
+</p>
diff --git a/docs/html-intl/intl/pt-br/preview/behavior-changes.jd b/docs/html-intl/intl/pt-br/preview/behavior-changes.jd
index b7f0f38..1e56a99 100644
--- a/docs/html-intl/intl/pt-br/preview/behavior-changes.jd
+++ b/docs/html-intl/intl/pt-br/preview/behavior-changes.jd
@@ -1,6 +1,6 @@
 page.title=Mudanças de comportamento
 page.keywords=preview,sdk,compatibility
-meta.tags="preview", "compatibilidade"
+meta.tags="preview", "compatibility"
 page.tags="preview", "developer preview"
 page.image=images/cards/card-n-changes_2x.png
 @jd:body
@@ -18,7 +18,9 @@
       <li><a href="#bg-opt">Otimizações em segundo plano</a></li>
     </ol>
   </li>
-  <li><a href="#perm">Alterações nas permissões</a></li>
+  <li><a href="#perm">Alterações nas permissões</a>
+  </li>
+  <li><a href="#sharing-files">Compartilhamento de arquivos entre aplicativos</a></li>
   <li><a href="#accessibility">Melhorias na acessibilidade</a>
     <ol>
       <li><a href="#screen-zoom">Zoom de tela</a></li>
@@ -27,12 +29,14 @@
   </li>
   <li><a href="#ndk">Aplicativos NDK vinculados a bibliotecas de plataforma</a></li>
   <li><a href="#afw">Android for Work</a></li>
+  <li><a href="#annotations">Retenção de anotações</a></li>
+  <li><a href="#other">Outros pontos importantes</a></li>
 </ol>
 
 <h2>Veja também</h2>
 <ol>
   <li><a href="{@docRoot}preview/api-overview.html">
- Visão geral da API do Android N</a></li>
+Visão geral da API do Android N</a></li>
 </ol>
 
 </div>
@@ -40,10 +44,10 @@
 
 
 <p>
-  Além de novos recursos e funcionalidades, o Android N
- inclui diversas mudanças de comportamento de sistema e APIs. Este documento
- destaca algumas principais mudanças que você deve entender e considerar
- nos aplicativos.
+  Junto com novos recursos e funcionalidades, o Android N 
+inclui uma variedade de mudanças de comportamento do sistema e da API. Este documento
+destaca algumas das principais mudanças que você deve entender e considerar
+nos aplicativos.
 </p>
 
 <p>
@@ -52,14 +56,13 @@
 </p>
 
 
-<h2 id="perf">Melhorias no desempenho</h2>
+<h2 id="perf">Bateria e memória</h2>
 
 <p>
-  O Android N contém mudanças de comportamento com a finalidade de aprimorar a vida útil
- da bateria dos dispositivos, o uso de RAM e o desempenho de aplicativos. Essas alterações podem afetar a
- disponibilidade de recursos de sistema e notificações de sistema no aplicativo. Analise
- essas mudanças e avalie os ajustes que podem ser necessários no
- aplicativo.
+O Android N inclui alterações de comportamento do sistema com o objetivo de melhorar a vida útil da bateria
+nos dispositivos e reduzir o uso de RAM. Essas alterações podem afetar o acesso do aplicativo aos
+recursos do sistema, bem como a forma como ele interage com outros aplicativos por meio de
+ certas intenções explícitas .
 </p>
 
 <h3 id="doze">Soneca</h3>
@@ -70,7 +73,7 @@
  estacionário e com a tela desativada. O Android N aprimora
  ainda mais o modo soneca aplicando um subconjunto de restrições de CPU e rede
  quando o dispositivo está desconectado e com a tela desativada, mas não necessariamente
- estacionário como, por exemplo, quando o celular está no bolso do usuário.
+ estacionário, como, por exemplo, quando o celular está no bolso do usuário.
 </p>
 
 
@@ -83,10 +86,10 @@
 <p>
   Quando o dispositivo estiver sendo alimentado pela bateria e a tela estiver desativada por um determinado
  período, o dispositivo entrará no modo de soneca e aplicará o primeiro subconjunto de restrições: o
- acesso do aplicativo à rede será desativado e os trabalhos e sincronizações serão adiados. Se o dispositivo permanecer
- estacionário por um determinado período após entrar no modo soneca, o sistema aplicará as
- demais restrições de soneca a {@link android.os.PowerManager.WakeLock},
- aos alarmes {@link android.app.AlarmManager} e às verificações de GPS e Wi-Fi. Independentemente
+acesso do aplicativo à rede será desativado e os trabalhos e sincronizações serão adiados. Se o dispositivo permanecer
+estacionário por um determinado período após entrar no modo soneca, o sistema aplicará
+as demais restrições de soneca a {@link android.os.PowerManager.WakeLock}, aos alarmes 
+{@link android.app.AlarmManager} e às verificações de GPS e Wi-Fi. Independentemente
  de as restrições de soneca serem aplicadas parcial ou totalmente, o sistema despertará o
  dispositivo para breves janelas de manutenção, quando os aplicativos
  poderão acessar a rede e executar todos os trabalhos/sincronizações adiados.
@@ -105,37 +108,37 @@
  afeta as recomendações e práticas recomendadas para a adaptação do aplicativo à versão
  anterior do modo soneca, introduzida no Android 6.0 (nível da API 23), como discutido em
  <a href="{@docRoot}training/monitoring-device-state/doze-standby.html">
-  Otimização para soneca e aplicativo em espera</a>. Você deve continuar
+ Otimização para soneca e aplicativo em espera</a>. Você deve continuar
  a seguir essas recomendações, como o uso do Google Cloud Messaging (GCM) para
  enviar e receber mensagens, e começar a planejar atualizações para acomodar o
  comportamento adicional do modo soneca.
 </p>
 
 
-<h3 id="bg-opt">Project Svelte: otimizações em segundo plano</h3>
+<h3 id="bg-opt">Project Svelte: Otimizações em segundo plano</h3>
 
 <p>
   O Android N remove três transmissões implícitas para ajudar a otimizar o
  uso de memória e o consumo de energia. Essa alteração é necessária porque transmissões
  implícitas iniciam frequentemente em segundo plano aplicativos
- registrados para escutá-las. A remoção dessas transmissões pode beneficiar consideravelmente o
- desempenho do dispositivo e a experiência do usuário.
+ registrados para escutá-las. A remoção dessas transmissões pode beneficiar consideravelmente o desempenho
+do dispositivo e a experiência do usuário.
 </p>
 
 <p>
-  Os dispositivos móveis experimentam frequentes alterações de conectividade, como ao mudar
- entre dados de Wi-Fi e móveis. No momento, os aplicativos podem monitorar alterações de
+  Dispositivos móveis passam por alterações frequentes na conectividade, como a alternância
+ entre Wi-Fi e dados móveis. No momento, os aplicativos podem monitorar alterações de
  conectividade registrando um receptor para a transmissão implícita {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION} em seu
+ android.net.ConnectivityManager#CONNECTIVITY_ACTION} em seu
  manifesto. Como vários aplicativos se registram para receber essa transmissão, uma única
  mudança de rede pode fazer com que todos despertem e processem a transmissão
  ao mesmo tempo.
 </p>
 
 <p>
-  De forma semelhante, os aplicativos podem se registrar para receber transmissões implícitas {@link
-  android.hardware.Camera#ACTION_NEW_PICTURE} e {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO} de outros aplicativos, como
+  De forma semelhante, em versões anteriores do Android, os aplicativos podiam se registrar para receber transmissões implícitas {@link
+ android.hardware.Camera#ACTION_NEW_PICTURE} e {@link
+ android.hardware.Camera#ACTION_NEW_VIDEO} de outros aplicativos, como
  Câmera. Quando um usuário tira uma fotografia com o aplicativo Câmera, esses aplicativos são despertados
  para processar a transmissão.
 </p>
@@ -147,63 +150,113 @@
 
 <ul>
   <li>Os aplicativos direcionados ao Android N não receberão transmissões {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION}, mesmo
- se tiverem entradas no manifesto solicitando notificação desses eventos. Aplicativos em execução
- em primeiro plano ainda poderão escutar {@code CONNECTIVITY_CHANGE} no
- encadeamento principal se solicitarem notificação com um {@link
-  android.content.BroadcastReceiver}.
+ android.net.ConnectivityManager#CONNECTIVITY_ACTION}, mesmo
+ se tiverem entradas no manifesto solicitando notificação desses eventos. Os aplicativos em execução 
+ainda poderão escutar {@code CONNECTIVITY_CHANGE} no encadeamento principal
+ se solicitarem a notificação com {@link android.content.BroadcastReceiver}.
   </li>
 
-  <li>Os aplicativos não poderão enviar nem receber transmissões {@link
-  android.hardware.Camera#ACTION_NEW_PICTURE} ou {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO}. Essa otimização
+  <li>Os aplicativos não podem enviar nem receber transmissões {@link
+ android.hardware.Camera#ACTION_NEW_PICTURE} ou {@link
+ android.hardware.Camera#ACTION_NEW_VIDEO}. Essa otimização
  afeta todos os aplicativos e não apenas os direcionados ao Android N.
   </li>
 </ul>
 
-<p>
-  Versão futuras do Android poderão substituir mais transmissões implícitas, bem
- como desvincular serviços em segundo plano. Por esse motivo, evite ou
- remova dependências de receptores declarados no manifesto para transmissões implícitas
- e de serviços em segundo plano.
+<p>Se o seu aplicativo usar qualquer uma dessas intenções, remova as dependências
+ delas assim que possível para direcionar corretamente os dispositivos Android N.
+  A estrutura do Android oferece diversas soluções para reduzir a necessidade dessas
+ transmissões implícitas. Por exemplo, a API {@link
+ android.app.job.JobScheduler} oferece um mecanismo robusto para agendar
+ operações de rede quando ocorrem condições especificadas, como conexão a uma
+ rede ilimitada. Você pode até usar {@link
+android.app.job.JobScheduler} para reagir a mudanças em provedores de conteúdo.
 </p>
 
 <p>
-  A estrutura do Android oferece diversas soluções para reduzir a necessidade
- dessas transmissões implícitas ou de serviços em segundo plano. Por exemplo, a API {@link
-  android.app.job.JobScheduler} oferece um mecanismo robusto para agendar
- operações de rede quando ocorrem condições especificadas, como conexão a uma rede
- ilimitada. Você pode até usar {@link
-  android.app.job.JobScheduler} para reagir a mudanças em provedores de conteúdo.
-</p>
-
-<p>
-  Para obter mais informações sobre essa mudança de comportamento e sobre como adaptar seus aplicativos,
+  Para obter mais informações sobre otimizações em segundo plano no N e como adaptar seu aplicativo,
  consulte <a href="{@docRoot}preview/features/background-optimization.html">Otimizações 
 em segundo plano</a>.
 </p>
 
-
 <h2 id="perm">Alterações nas permissões</h2>
 
 <p>
-  O Android N inclui alterações em permissões que podem afetar seu aplicativo,
- incluindo permissões de contas de usuário e uma nova permissão para gravar em
- armazenamento externo. Veja a seguir um resumo das permissões que mudaram
- no Preview:
+  O Android N inclui alterações em permissões que podem afetar seu aplicativo.
+</p>
+
+<h3 id="permfilesys">Alterações nas permissões do sistema de arquivos</h3>
+
+<p>
+  Para aprimorar a segurança de arquivos privados, o diretório privado de
+ aplicativos direcionados ao Android N ou superior tem acesso restrito (<code>0700</code>).
+  Esta configuração impede o vazamento de metadados de arquivos privados, como tamanho
+ e existência. Esta alteração de permissão tem vários efeitos colaterais:
 </p>
 
 <ul>
-  <li>{@code GET_ACCOUNTS} (obsoleto)
-    <p>
-      A permissão GET_ACCOUNTS passou a ser obsoleta. O sistema ignora essa
- permissão em aplicativos direcionados ao Android N.
+  <li>
+    O proprietário não deve mais relaxar as permissões para arquivos privados,
+ e qualquer tentativa de fazer isso usando
+ {@link android.content.Context#MODE_WORLD_READABLE} e/ou
+ {@link android.content.Context#MODE_WORLD_WRITEABLE} acionará uma
+ {@link java.lang.SecurityException}.
+    <p class="note">
+      <strong>Observação:</strong> Até agora, essa restrição não foi adotada em pleno vigor.
+      Aplicativos ainda podem modificar permissões para o diretório privado usando
+ APIs nativas ou a API {@link java.io.File File}. No entanto, o relaxamento
+ de permissões para o diretório privado é enfaticamente desencorajado.
     </p>
   </li>
-
+  <li>
+    A passagem de URIs <code>file://</code> para fora do domínio do pacote pode deixar o
+ receptor com um caminho inacessível. Sendo assim, tentativas de passar um URI
+ <code>file://</code> acionam uma
+ <code>FileUriExposedException</code>. A forma recomendada para compartilhamento do
+ conteúdo de um arquivo privado é o uso do {@link
+ android.support.v4.content.FileProvider}.
+  </li>
+  <li>
+    O {@link android.app.DownloadManager} não consegue mais compartilhar
+ arquivos armazenados de forma privada por nome de arquivo. Os aplicativos de legado podem acabar em um
+ caminho inacessível quando acessam {@link
+ android.app.DownloadManager#COLUMN_LOCAL_FILENAME}. Aplicativos direcionados para o
+ Android N ou superior acionam uma {@link java.lang.SecurityException} quando
+ tentam acessar
+ {@link android.app.DownloadManager#COLUMN_LOCAL_FILENAME}.
+    Aplicativos de legado que definem o local de download para um local público
+ usando
+ {@link
+android.app.DownloadManager.Request#setDestinationInExternalFilesDir
+DownloadManager.Request.setDestinationInExternalFilesDir()} ou
+ {@link
+android.app.DownloadManager.Request#setDestinationInExternalPublicDir
+DownloadManager.Request.setDestinationInExternalPublicDir()}
+ ainda conseguem acessar o caminho em
+{@link android.app.DownloadManager#COLUMN_LOCAL_FILENAME}, no entanto, este
+ método é enfaticamente desencorajado. A forma preferencial para se acessar um arquivo
+ exposto pelo {@link android.app.DownloadManager} é o uso do
+{@link android.content.ContentResolver#openFileDescriptor
+ContentResolver.openFileDescriptor()}.
+  </li>
 </ul>
 
+<h2 id="sharing-files">Compartilhamento de arquivos entre aplicativos</h2>
 
+<p>
+Para aplicativos direcionados ao Android N, a estrutura do Android cumpre com
+a política de API {@link android.os.StrictMode} que proíbe a exposição de URIs {@code file://} 
+fora do aplicativo. Se uma intenção que contenha o URI de um arquivo deixar o aplicativo, ele falhará
+ com uma exceção {@code FileUriExposedException}.
+</p>
+
+<p>
+Para compartilhar arquivos entre aplicativos, você deve enviar um URI {@code content://}
+e conceder uma permissão de acesso temporária ao URI. A forma mais fácil de conceder essa permissão é 
+usar a classe {@link android.support.v4.content.FileProvider}. Para obter mais informações
+ sobre permissões e compartilhamento de arquivos,
+consulte <a href="{@docRoot}training/secure-file-sharing/index.html">Compartilhamento de Arquivos</a>.
+</p>
 
 <h2 id="accessibility">Melhorias na acessibilidade</h2>
 
@@ -223,7 +276,7 @@
  ou reduz todos os elementos na tela, melhorando a acessibilidade do dispositivo
  para usuários com visão deficiente. Os usuários não podem alterar o zoom da tela além da largura mínima de
  tela de <a href="http://developer.android.com/guide/topics/resources/providing-resources.html">
-  sw320dp</a>, que é a largura do Nexus 4, um telefone comum de tamanho médio.
+sw320dp</a>, que é a largura do Nexus 4, um telefone comum de tamanho médio.
 </p>
 
 <div class="cols">
@@ -248,8 +301,8 @@
 </p>
 
 <ul>
-  <li>Se um aplicativo for direcionado ao nível da API 23 ou anterior, o sistema eliminará
- todos os processos em segundo plano. Isso significa que, se um usuário alternar
+  <li>Se um aplicativo está direcionado ao nível da API 23 ou mais baixo, o sistema automaticamente elimina
+ todos os processos em segundo plano. Isso significa que, se um usuário sair
  desse aplicativo para abrir a tela <em>Settings</em> e alterar a
  configuração <strong>Display size</strong>, o sistema eliminará o aplicativo da mesma
  forma que faria em uma situação de pouca memória. Se o aplicativo tiver processos
@@ -300,28 +353,28 @@
 <p>
   Agora, o Android N inclui Configurações de visão na tela de boas-vindas, onde os usuários podem
  definir as configurações de acessibilidade a seguir em um novo dispositivo:
- <strong>Magnification gesture</strong>, <strong>Font size</strong>,
- <strong>Display size</strong> e <strong>TalkBack</strong>. Essa mudança
+  <strong>gesto de ampliação</strong>, <strong>tamanho da fonte</strong>
+, <strong>tamanho da tela</strong> e <strong>TalkBack</strong>. Essa alteração
  aumenta a visibilidade de erros relacionados a configurações de tela diferentes. Para
- avaliar o impacto desse recurso, teste os aplicativos com essas
- configurações ativadas. Você encontrará as configurações em <strong>Settings &gt;
+ avaliar o impacto do recurso, teste seus aplicativos com essas
+configurações ativadas. As configurações podem ser encontradas em <strong>Settings &gt;
  Accessibility</strong>.
 </p>
 
 <h2 id="ndk">Aplicativos NDK vinculados a bibliotecas de plataforma</h2>
 
 <p>
-  O Android N inclui mudanças de espaço de nome para evitar o carregamento de APIs não públicas.
- Se você usar o NDK, use apenas APIs públicas da plataforma Android.
- O uso de APIs não públicas na próxima versão oficial do Android
+  O Android N inclui mudanças no namespace para evitar o carregamento de APIs não públicas.
+  Se você usar o NDK, use apenas APIs públicas da plataforma
+ Android. O uso de APIs não públicas na próxima versão oficial do Android
  poderá causar problemas no seu aplicativo.
 </p>
 
 <p>
   Para alertar sobre o uso de APIs não públicas, os aplicativos executados em um dispositivo
  Android N geram um erro na saída logcat quando um aplicativo chama uma API não pública.
- Esse erro também é exibido na tela do dispositivo como mensagem para
- que o usuário fique ciente da situação. Revise o código do seu aplicativo para
+  Esse erro também é exibido na tela do dispositivo como mensagem para que o usuário 
+fique ciente da situação. Revise o código do seu aplicativo para
  remover o uso de APIs de plataformas não públicas e faça testes completos do aplicativo usando
  um dispositivo de visualização ou um emulador.
 </p>
@@ -329,14 +382,14 @@
 <p>
   Se o seu aplicativo depender de bibliotecas de plataforma, consulte a documentação do NDK
  para obter soluções usuais de substituição de APIs privadas comuns por APIs públicas equivalentes.
- Também é possível que você esteja vinculando bibliotecas de plataforma sem perceber,
+  Também é possível que você esteja vinculando bibliotecas de plataforma sem perceber,
  particularmente se o aplicativo usar uma biblioteca que faz parte da plataforma (como
- <code>libpng</code>), mas não faz parte do NDK. Nesse caso, verifique se
- o APK contém todos os arquivos .so que você pretende vincular.
+ <code>libpng</code>), mas não faz parte do NDK. Nesse caso, verifique se 
+o APK contém todos os arquivos .so que você pretende vincular.
 </p>
 
 <p class="caution">
-  <strong>Cuidado:</strong> algumas bibliotecas de terceiros podem conter links para APIs
+  <strong>Cuidado:</strong> Algumas bibliotecas de terceiros também podem conter links para APIs
  não públicas. Se o aplicativo usar essas bibliotecas, poderá falhar quando executado
  na próxima versão oficial do Android.
 </p>
@@ -345,10 +398,10 @@
   Os aplicativos não devem depender de nem usar bibliotecas nativas não incluídas
  no NDK, pois elas podem ser alteradas ou removidas entre uma versão do Android
  e outra. A mudança de OpenSSL para BoringSSL é um exemplo dessas alterações.
- Além disso, dispositivos diferentes podem oferecer níveis distintos de compatibilidade, porque
- não há requisitos de compatibilidade para bibliotecas de plataforma não incluídas
- no NDK. Se você precisar acessar bibliotecas que não são do NDK em dispositivos mais antigos, torne o
- carregamento dependente do nível do Android API.
+  Além disso, dispositivos diferentes podem oferecer níveis distintos de compatibilidade, pois 
+ não há requisitos de compatibilidade para bibliotecas de plataforma não incluídas 
+no NDK. Se você precisar acessar bibliotecas que não são do NDK em dispositivos mais antigos, torne o carregamento 
+dependente do nível da Android API.
 </p>
 
 <p>
@@ -383,8 +436,8 @@
   </li>
 
   <li>O uso do símbolo {@code property_get} de {@code libcutils.so} pode ser
- substituído pelo {@code __system_property_get} alternativo público.
- Para fazer isso, use {@code __system_property_get} com o include abaixo:
+ substituído pelo {@code alternative __system_property_get} público.
+   Para fazer isso, use {@code __system_property_get} com o include abaixo:
 <pre>
 #include &lt;sys/system_properties.h&gt;
 </pre>
@@ -400,7 +453,7 @@
 <h2 id="afw">Android for Work</h2>
 <p>
   O Android N contém mudanças para aplicativos direcionados ao Android for Work, incluindo
- mudanças em instalação de certificados, redefinição de senhas, gerenciamento de
+ mudanças em instalação de certificados, redefinição de senha, gerenciamento de
  usuários secundários e acesso a identificadores de dispositivos. Se você estiver criando aplicativos para
  ambientes do Android for Work, examine essas mudanças e modifique
  o aplicativo conforme necessário.
@@ -417,10 +470,10 @@
   </li>
 
   <li>As restrições de redefinição de senha de administradores do dispositivo agora se aplicam também a
- donos de perfil. Os administradores de dispositivo não podem mais usar
- <code>DevicePolicyManager.resetPassword()</code> para limpar senhas nem para alterar
+donos de perfil. Os administradores de dispositivo não podem mais usar
+ {@code DevicePolicyManager.resetPassword()} para limpar senhas nem para alterar
  as já definidas. Os administradores de dispositivo ainda poderão definir uma senha, mas apenas
- em dispositivos sem senha, PIN ou padrão.
+ em dispositivos sem senha, PIN nem padrão.
   </li>
 
   <li>Donos de dispositivo e perfil poderão gerenciar contas, mesmo se restrições forem
@@ -432,15 +485,19 @@
  executar no modo de dono do dispositivo, a restrição <code>DISALLOW_ADD_USER</code>
  será definida automaticamente. Isso evita que os usuários criem usuários secundários
  não gerenciados. Além disso, os métodos <code>CreateUser()</code> e
- <code>createAndInitial()</code> ficaram obsoletos e foram substituídos
+ <code>createAndInitializeUser()</code> ficaram obsoletos e foram substituídos
  pelo novo método <code>DevicePolicyManager.createAndManageUser()</code>.
   </li>
 
   <li>Os donos de dispositivo podem acessar identificadores de dispositivo. O dono do dispositivo pode acessar o
  endereço MAC Wi-Fi de um dispositivo usando
- <code>DevicePolicyManagewr.getWifiMacAddress()</code>. Se o Wi-Fi nunca
- foi ativado no dispositivo, esse método retorna o valor {@code null}.
+ <code>DevicePolicyManagewr.getWifiMacAddress()</code>. Se a rede Wi-Fi nunca
+ foi ativada no dispositivo, esse método retorna o valor {@code null}.
   </li>
+
+  <li>A configuração modo de trabalho controla o acesso a aplicativos de trabalho. Quando o modo de trabalho está desativado, a
+ tela de início do sistema mostra os aplicativos de trabalho em cinza para indicar que estão indisponíveis. Quando é
+ reativado, o modo de trabalho retorna ao comportamento normal.
 </ul>
 
 <p>
@@ -448,13 +505,32 @@
  <a href="{@docRoot}preview/features/afw.html">Atualizações no Android for Work</a>.
 </p>
 
+<h2 id="annotations">Retenção de anotações</h2>
+
+<p>
+O Android N corrige um erro em que a visibilidade de anotações era ignorada.
+Este problema permitia que o tempo de execução acessasse anotações a que não deveria
+ter acesso. Entre essas anotações, estão:
+</p>
+
+<ul>
+   <li>{@code VISIBILITY_BUILD}: que só deveria estar visível em tempo de compilação.</li>
+   <li>{@code VISIBILITY_SYSTEM}: que deveria estar visível em tempo de execução, mas apenas para o
+sistema subjacente.</li>
+</ul>
+
+<p>
+Se o seu aplicativo se baseou neste comportamento, adicione uma política de retenção para anotações que deve
+ estar disponível em tempo de execução. É possível fazer isso usando {@code @Retention(RetentionPolicy.RUNTIME)}.
+</p>
+
 <h2 id="other">Outros pontos importantes</h2>
 
 <ul>
 <li>Quando um aplicativo for executado no Android N, mas for direcionado a um nível da API menor
- e o usuário alterar o tamanho da tela, o processo do aplicativo será eliminado. O aplicativo
- deverá ser capaz de processar corretamente esse cenário. Caso contrário, falhará
- quando o usuário restaurá-lo usando Recents.
+ e o usuário alterar o tamanho da tela, o processo do aplicativo será eliminado. O aplicativo 
+deverá ser capaz de processar corretamente esse cenário. Caso contrário, ele falhará 
+quando o usuário restaurá-lo usando Recents.
 
 <p>
 Você deve testar o aplicativo para verificar 
@@ -476,5 +552,59 @@
 <strong>Display</strong> &gt; <strong>Font size</strong>) e depois restaurando 
 o aplicativo em Recents.
 </li>
+
+<li>
+Devido a um erro em versões anteriores do Android, o sistema não sinaliza gravações
+ em um soquete TCP no encadeamento principal como violações do modo estrito. O Android N corrigiu esse erro.
+Agora, os aplicativos que exibirem este comportamento gerarão uma{@code android.os.NetworkOnMainThreadException}.
+Geralmente, a realização de operações de rede no encadeamento principal é uma má ideia porque essas operações 
+geralmente têm alta latência no final, causando ANRs e problemas.
+</li>
+
+<li>
+Agora, por padrão, a família de métodos {@code Debug.startMethodTracing()} armazena 
+os resultados no diretório específico do pacote no armazenamento compartilhado,
+ e não no nível mais alto
+ do cartão SD.  Isso significa que os aplicativos não precisam mais solicitar a permissão {@code WRITE_EXTERNAL_STORAGE} para usar estas APIs.
+</li>
+
+<li>
+Muitas APIs de plataformas começaram a verificar grandes cargas úteis enviadas
+por meio de transações {@link android.os.Binder}, e o
+sistema agora gera novamente{@code TransactionTooLargeExceptions}
+como {@code RuntimeExceptions}, em vez de registrá-las ou suprimi-las silenciosamente.  Um
+exemplo comum é armazenar dados demais em
+{@link android.app.Activity#onSaveInstanceState Activity.onSaveInstanceState()},
+que faz com que {@code ActivityThread.StopInfo} gere uma
+{@code RuntimeException} quando seu aplicativo é direcionado ao Android N.
+</li>
+
+<li>
+Se um aplicativo publica tarefas {@link java.lang.Runnable} para uma {@link android.view.View} e
+ esta {@link android.view.View}
+não está anexada a uma janela, o sistema
+coloca a tarefa {@link java.lang.Runnable} em fila com a {@link android.view.View}. 
+A tarefa {@link java.lang.Runnable} não é executada até que a 
+{@link android.view.View} esteja anexada 
+a uma janela. Este comportamento corrige os seguintes erros:
+<ul>
+   <li>Se um aplicativo publicasse em uma {@link android.view.View} de um encadeamento que não fosse o encadeamento de IU da janela pretendida
+, o {@link java.lang.Runnable} poderia acabar sendo executado no encadeamento errado.
+   </li>
+   <li>Se a tarefa {@link java.lang.Runnable} fosse publicada de um encadeamento que não fosse
+ um encadeamento de looper, o aplicativo poderia expor a tarefa {@link java.lang.Runnable}.</li>
+</ul>
+</li>
+
+<li>
+Se um aplicativo no Android N com permissão
+{@link android.Manifest.permission#DELETE_PACKAGES DELETE_PACKAGES}
+tentar excluir um pacote instalado por outro aplicativo,
+o sistema solicitará a confirmação do usuário. Nesse cenário, os aplicativos devem esperar
+{@link android.content.pm.PackageInstaller#STATUS_PENDING_USER_ACTION STATUS_PENDING_USER_ACTION}
+como status de retorno ao invocar
+{@link android.content.pm.PackageInstaller#uninstall PackageInstaller.uninstall()}.
+</li>
+
 </ul>
 
diff --git a/docs/html-intl/intl/pt-br/preview/download-ota.jd b/docs/html-intl/intl/pt-br/preview/download-ota.jd
new file mode 100644
index 0000000..693aa92
--- /dev/null
+++ b/docs/html-intl/intl/pt-br/preview/download-ota.jd
@@ -0,0 +1,324 @@
+page.title=Aplicação de uma imagem OTA 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 fazer o download ou instalar componentes do
+ Android Preview SDK, você deve concordar com os seguintes termos e
+ condições.</p>
+
+    <h2 class="norule">Termos e condições</h2>
+
+    <div class="sdk-terms" onfocus="this.blur()" style="width:678px">
+Este é o contrato de licença do Android SDK Preview (o “Contrato de Licença”).
+
+1. Introdução
+
+1.1 O Android SDK Preview (que este Contrato de licença chama de "Preview", incluindo especificamente os arquivos de sistema do Android, APIs integradas e arquivos da biblioteca Preview, se e quando estiverem disponíveis) é licenciado por meio da concordância com os termos deste contrato. O Contrato de licença forma um vínculo contratual legal entre o contratante e a Google em relação ao uso do Preview.
+
+1.2 "Android" refere-se à pilha de software do Android para dispositivos, conforme disponibilizado no Projeto de código aberto do Android, localizado no URL a seguir: http://source.android.com/, atualizado periodicamente.
+
+1.3 “Compatível com Android” significa qualquer implementação do Android que (i) obedece ao documento Definição de Compatibilidade com Android, que pode ser encontrado no site de compatibilidade do Android (http://source.android.com/compatibility) que pode ser atualizado de tempos em tempos; e (ii) seja aprovado no Android Compatibility Test Suite (CTS).
+
+1.4 “Google” se refere à Google Inc, uma corporação de Delaware, com sede em 1600 Amphitheatre Parkway, Mountain View, CA 94043, Estados Unidos.
+
+2. Aceitação do Contrato de Licença
+
+2.1 A fim de usar o Preview, é necessário concordar com este Contrato de licença. O uso do Preview é proibido àqueles que não concordam com este Contrato de licença.
+
+2.2 Ao clicar em aceitar e/ou usar o Preview, você concorda com os termos do Contrato de licença
+
+2.3 É proibido o uso do Preview e a aceitação deste contrato pelo indivíduo que tenha impedimento legal sobre o recebimento do Preview sob as leis dos Estados Unidos ou de outros países, incluindo o país de residência ou no qual usa o Preview.
+
+2.4 Se for usar o Preview internamente na empresa ou organização, você deverá concordar com o vínculo com este contrato em nome do empregador ou de outra entidade e declarar e garantir que tem total autoridade legal para tanto. Se você não tem a autoridade necessária, não deve concordar com este contrato nem usar o Preview em nome do empregador ou de outra entidade.
+
+3. Licença do Preview da Google
+
+3.1 Sujeito aos termos deste Contrato de licença, a Google confere uma licença limitada, mundial, sem royalties, intransmissível, não exclusiva e não sublicenciável unicamente para o uso do Preview exclusivamente para o desenvolvimento de aplicativos executados para implementações compatíveis do Android.
+
+3.2 Você não poderá usar este Preview para desenvolver aplicativos para outras plataformas (incluindo implementações não compatíveis do Android) nem para desenvolver outro SDK. Você tem a liberdade para desenvolver aplicativos para outras plataformas, incluindo implementações não compatíveis do Android, desde que este Preview não seja usado para essa finalidade.
+
+3.3 Você concorda que a Google ou terceiros detêm todos os direitos legais, títulos e interesses relativos ao Preview, incluindo quaisquer direitos de propriedade intelectual que subsistam no Preview. "Direitos de propriedade intelectual" se referem a todo e qualquer direito sob as leis de patentes, de direitos autorais, de segredo comercial, de marca registrada e todos os outros direitos de propriedade. A Google reserva todos os direitos não conferidos expressamente a você.
+
+3.4 O uso do Preview não é autorizado para qualquer finalidade não expressamente permitida por este Contrato de licença. Salvo na extensão exigida por licenças aplicáveis de terceiros, é proibido: (a) copiar (exceto para fins de cópia de segurança), modificar, adaptar, redistribuir, descompilar, fazer engenharia reversa, desmontar ou criar trabalhos derivados do Preview ou qualquer parte dele; ou (b) carregar qualquer parte do Preview em um aparelho celular ou outro dispositivo de hardware, exceto em computador pessoal, combinar qualquer parte do Preview com outros softwares ou distribuir qualquer software ou dispositivo que contenha uma parte do Preview.
+
+3.5 O uso, a reprodução e a distribuição de componentes do Preview licenciado sob uma licença de software de código aberto são regidos exclusivamente pelos termos daquela licença de software de código aberto, e não por este Contrato de licença. Você concorda em manter uma licença em situação regular para as licenças de software de código aberto sob todos os direitos concedidos e deter quaisquer ações que possam limitar, suspender ou romper tais direitos.
+
+3.6 Você concorda que a forma e a natureza do Preview que a Google fornece podem mudar sem aviso prévio e que as versões futuras do Preview podem ser incompatíveis com aplicativos desenvolvidos em versões anteriores do Preview. Você concorda que a Google pode cessar (permanente ou temporariamente) o fornecimento do Preview (ou quaisquer recursos dentro dele) a você ou a usuários em geral sob critério exclusivo da Google, sem aviso prévio.
+
+3.7 Nada neste Contrato de licença confere o direito de uso de quaisquer nomes comerciais, marcas comerciais, marcas de serviço, logomarcas, nomes de domínios e outros recursos de marcas especiais da Google.
+
+3.8 Você concorda que não removerá, ocultará nem alterará quaisquer observações de direitos de propriedade (incluindo observações de direitos autorais e de marcas registradas) que possam estar afixadas ou contidas no Preview.
+
+4. O uso do Preview
+
+4.1 A Google entende que nada no Contrato de Licença dá a ela direitos, título nem interesse sobre o usuário (ou sobre os seus licenciadores) sob o presente Contrato de licença nem sobre quaisquer aplicativos de software que o usuário desenvolver usando o Preview, incluindo quaisquer direitos de propriedade intelectual que subsistem nos referidos aplicativos.
+
+4.2 Você concorda em usar o Preview e desenvolver aplicativos somente para as finalidades permitidas por (a) este Contrato de licença e (b) quaisquer leis, normas, diretrizes geralmente aceitas ou orientações aplicáveis nas jurisdições relevantes (incluindo quaisquer leis acerca da exportação de dados ou softwares dos e para os Estados Unidos ou outros países relevantes.
+
+4.3 Você concorda que, se usar o Preview para o desenvolvimento de aplicativos, deverá proteger a privacidade e os direitos legais dos usuários. Se nomes de usuário, senhas ou outras informações de acesso ou informações pessoais forem fornecidos ao aplicativo, deve-se informá-los de que tais dados estarão disponíveis para o aplicativo, além de fornecer observações de privacidade e proteção legalmente adequadas a esses usuários. Se o aplicativo armazenar informações pessoais ou confidenciais fornecidas pelos usuários, deve fazê-lo com segurança. Se o usuário fornecer informações da conta do Google, o aplicativo poderá usar essas informações exclusivamente para acessar a conta da Google do usuário quando houver autorização para fazê-lo e para os fins limitados pela autorização.
+
+4.4 Você concorda que não se envolverá em qualquer atividade com o Preview, incluindo o desenvolvimento e a distribuição de um aplicativo que interfira, perturbe, danifique ou acesse, de modo não autorizado, servidores, redes ou outras propriedades ou serviços da Google ou qualquer outro terceiro.
+
+4.5 Você concorda que é exclusivamente responsável por (e que a Google não tem qualquer responsabilidade com você ou terceiro) quaisquer dados, conteúdo ou recursos que criar, transmitir ou exibir por meio do Android e/ou de aplicativos do Android e pelas consequências que suas ações (incluindo perda ou dano que a Google possa sofrer) podem gerar.
+
+4.6 Você concorda que é exclusivamente responsável por (e que a Google não tem qualquer responsabilidade com você ou terceiro) qualquer violação das obrigações exigidas neste Contrato de licença, qualquer contrato ou termos de serviço aplicáveis a terceiros, qualquer lei ou norma aplicável e pelas consequências (incluindo a perda ou dano que a Google ou qualquer terceiro possa sofrer) de quaisquer violações.
+
+4.7 O Preview está em desenvolvimento e o seu teste e feedback são uma parte importante deste processo. Ao usar o Preview, você está ciente de que a implementação de alguns recursos ainda estão em desenvolvimento e que não se deve confiar que o Preview tem a funcionalidade completa de uma versão estável. Você concorda em não distribuir nem enviar publicamente quaisquer aplicativos usando este Preview, pois ele não será mais suportado após o lançamento oficial do Android SDK.
+
+5. Suas credenciais de desenvolvedor
+
+5.1 Você é responsável pela manutenção da confidencialidade de quaisquer credenciais de desenvolvedor que possam ser emitidas pela Google ou escolhidas por você e será o único responsável por todos os aplicativos que forem desenvolvidos sob suas credenciais de desenvolvedor.
+
+6. Privacidade e informações
+
+6.1 A fim de inovar e aprimorar continuamente o Preview, a Google pode coletar certas estatísticas de uso do software, incluindo, sem limitar-se, um identificador exclusivo, endereço IP associado, número de versão do software e informações sobre quais ferramentas e/ou serviços no Preview estão sendo usados e como estão sendo usados. Antes de coletar quaisquer dessas informações, o Preview o notificará e buscará seu consentimento. Se você recusar, as informações não serão coletadas.
+
+6.2 Os dados coletados são examinados coletivamente para aprimorar o Preview e são mantidos em conformidade com a Política de privacidade da Google acessível em http://www.google.com/policies/privacy/.
+
+7. Aplicativos de terceiros
+
+7.1 Ao usar o Preview para executar aplicativos desenvolvidos por terceiros ou que acessam dados, conteúdo ou recursos fornecidos por terceiros, você concorda que a Google não é responsável por tais aplicativos, dados, conteúdo ou recursos. Você compreende que quaisquer dados, conteúdo ou recursos que possa acessar por meio de tais aplicativos de terceiros imputam responsabilidade exclusiva ao indivíduo que os originou. A Google não é responsável por qualquer perda ou dano que possa ocorrer como resultado do uso ou acesso de quaisquer aplicativos, dados, conteúdo ou recursos de terceiros.
+
+7.2 Você deve estar ciente de que os dados, conteúdo e recursos apresentados a você por aplicativos de terceiros podem ser protegidos pelos direitos de propriedade intelectual de posse dos fornecedores (ou de outras pessoas ou empresas em seus nomes). Não é permitido modificar, alugar, arrendar, emprestar, vender, distribuir nem criar trabalhos derivados com base nestes dados, conteúdo ou recursos (na totalidade ou em parte), salvo se houver permissão explícita especificada pelos respectivos proprietários.
+
+7.3 Você reconhece que o uso de tais aplicativos, dados, conteúdo ou recursos de terceiros pode estar sujeito a termos adicionais entre você e o terceiro em questão.
+
+8. Uso de APIs da Google
+
+8.1 APIs da Google
+
+8.1.1 Ao usar qualquer API para recuperar dados da Google, você reconhece que eles podem ser protegidos por direitos de propriedade intelectual de posse da Google ou dos terceiros que fornecem os dados (ou de pessoas ou empresas em nomes deles). O uso de tal API pode estar sujeito a termos de serviço adicionais. Não é permitido modificar, alugar, arrendar, emprestar, vender, distribuir nem criar trabalhos derivados baseados nesses dados (na totalidade ou em parte), salvo se permitido pelos termos de serviço pertinentes.
+
+8.1.2 Se você usar qualquer API para recuperar dados de um usuário a partir da Google, reconhece e concorda que deve recuperar dados somente com consentimento explícito do usuário e somente quando, e para os fins limitados aos quais, o usuário conceder permissão para fazê-lo.
+
+9. Rescisão do Contrato de licença
+
+9.1 O Contrato de licença continuará a se aplicar até que ocorra uma rescisão sua ou da Google, como definido abaixo.
+
+9.2 Caso queira rescindir o Contrato de licença, você pode fazer isto cessando o uso do Preview e de qualquer credencial de desenvolvedor relevante.
+
+9.3 A Google pode, a qualquer momento, rescindir o Contrato de licença, com ou sem causa, com uma notificação.
+
+9.4 O Contrato de licença será encerrado automaticamente sem aviso ou outras ações na ocorrência de:
+(A) a Google interromper o fornecimento do Preview ou de determinadas partes do Preview aos usuários no país em que você reside ou de onde o serviço é usado; e
+(B) a Google emitir uma versão de lançamento final do Android SDK.
+
+9.5 Quando o Contrato de licença é rescindido, a licença concedida a você no Contrato de licença é finalizada, todo o uso do Preview será interrompido e as provisões dos parágrafos 10, 11, 12 e 14 deverão permanecer indefinidamente.
+
+10. EXCLUSÕES
+
+10.1 VOCÊ COMPREENDE E CONCORDA EXPRESSAMENTE QUE O RISCO DO USO DO PREVIEW É EXCLUSIVAMENTE SEU E QUE O PREVIEW É FORNECIDO NA FORMA EM QUE SE ENCONTRA E COMO DISPONIBILIZADO, SEM GARANTIA DE QUALQUER TIPO DA GOOGLE.
+
+10.2 O USO DO PREVIEW E DE QUALQUER MATERIAL BAIXADO OU OBTIDO DE OUTRO MODO PELO USO DO PREVIEW ESTÁ A SEU CRITÉRIO E RISCO E VOCÊ É O ÚNICO RESPONSÁVEL POR QUALQUER DANO AO SEU SISTEMA OPERACIONAL OU OUTRO DISPOSITIVO OU PELA PERDA DE DADOS QUE RESULTEM DE TAL USO. SEM LIMITAR OS PRECEDENTES, VOCÊ ENTENDE QUE O PREVIEW NÃO É UMA VERSÃO ESTÁVEL E QUE PODE CONTER ERROS, DEFEITOS E VULNERABILIDADES DE SEGURANÇA QUE PODEM RESULTAR EM DANOS SIGNIFICANTES, INCLUINDO A PERDA IRRECUPERÁVEL OU COMPLETA DO USO DO SISTEMA DO COMPUTADOR OU DE OUTROS DISPOSITIVOS.
+
+10.3 A GOOGLE EXCLUI EXPRESSAMENTE TODAS AS GARANTIAS E CONDIÇOES DE QUALQUER TIPO, EXPRESSAS OU IMPLÍCITAS, INCLUINDO, MAS NÃO LIMITADO A, GARANTIAS E CONDIÇÕES DE COMERCIALIZAÇÃO IMPLÍCITAS, ADEQUAÇÃO A UMA FINALIDADE PARTICULAR E A NÃO VIOLAÇÃO.
+
+11. LIMITAÇÃO DE RESPONSABILIDADE
+
+11.1 VOCÊ COMPREENDE E CONCORDA EXPRESSAMENTE QUE A GOOGLE, SUAS SUBSIDIÁRIAS, AFILIADAS E SEUS LICENCIADORES NÃO SERÃO RESPONSABILIZADOS POR VOCÊ SOB QUALQUER TEORIA DE RESPONSABILIDADE POR QUAISQUER DANOS, SEJAM ELES DIRETOS, INDIRETOS, INCIDENTAIS, ESPECIAIS, CONSEQUENCIAIS OU DE EXEMPLO QUE POSSAM INCORRER, INCLUINDO QUALQUER PERDA DE DADOS, INDEPENDENTE DE AVISO À GOOGLE OU A SEUS REPRESENTANTES OU DA NECESSIDADE DE AVISO SOBRE A POSSIBILIDADE DA INCORRÊNCIA DE TAIS PERDAS.
+
+12. Indenização
+
+12.1 Ao limite máximo permitido por lei, você concorda em defender, indenizar e isentar a Google, suas afiliadas e respectivos conselheiros, diretores, empregados e agentes com relação a todas e quaisquer reivindicações, ações, processos ou procedimentos, bem como todas e quaisquer perdas, responsabilidades, danos, custos e despesas (incluindo honorários advocatícios) decorrentes ou provenientes de: (a) seu uso do Preview, (b) qualquer aplicativo desenvolvido no Preview que infrinja direitos de propriedade intelectual de qualquer pessoa, difame qualquer pessoa ou viole seus direitos de publicidade ou privacidade e (c) qualquer não cumprimento deste Contrato de licença.
+
+13. Mudanças no Contrato de licença
+
+13.1 A Google pode realizar mudanças no Contrato de licença à medida que distribui novas versões do Preview. Quando essas mudanças forem realizadas, a Google fará uma nova versão do Contrato de licença disponível no site em que o Preview estiver disponível.
+
+14. Termos legais gerais
+
+14.1 Esse Contrato de licença constitui o contrato legal integral entre você e a Google e rege o uso do Preview (excluindo quaisquer serviços que a Google possa fornecer a você sob um contrato escrito em separado), e substitui inteiramente quaisquer contratos anteriores entre você e a Google em relação ao Preview.
+
+14.2 Você concorda que, se a Google não exercer nem impetrar qualquer direito ou recurso legal que esteja contido no Contrato de licença (ou que a Google detenha direitos nos termos de qualquer lei aplicável), não se considerará esse fato como uma renúncia formal aos direitos da Google e esses direitos ou recursos continuarão disponíveis à Google.
+
+14.3 Se qualquer tribunal de justiça que tiver a competência para decidir sobre esse tema determinar que qualquer cláusula do Contrato de licença é inválida, tal cláusula será removida do contrato sem afetar as cláusulas restantes ou sua vigência. As cláusulas restantes do Contrato de licença continuarão válidas e obrigatórias.
+
+14.4 Você reconhece e concorda que cada membro do grupo de empresas das quais a Google é a empresa controladora deve ser beneficiário terceiro do Contrato de licença e que essas outras empresas terão o poder de aplicar diretamente, e apoiar-se em, qualquer cláusula do Contrato de licença que confira um direito (ou direitos em favor) deles. Além disso, nenhuma outra pessoa nem empresa deve ser beneficiário terceiro do Contrato de licença.
+
+14.5 RESTRIÇÕES DE EXPORTAÇÃO. O PREVIEW ESTÁ SUJEITO ÀS LEIS E NORMAS DE EXPORTAÇÃO DOS ESTADOS UNIDOS. VOCÊ DEVE CUMPRIR TODAS AS LEIS E NORMAS DOMÉSTICAS E INTERNACIONAIS QUE SE APLICAREM AO PREVIEW. ESSAS LEIS INCLUEM RESTRIÇÕES SOBRE DESTINOS, USUÁRIOS FINAIS E USO FINAL.
+
+14.6 O Contrato de licença não pode ser atribuído nem transferido por você sem a aprovação prévia por escrito da Google. Qualquer tentativa de atribuição sem a aprovação será inválida. Você não deve delegar as próprias responsabilidades ou obrigações nos termos do Contrato de licença sem aprovação prévia por escrito da Google.
+
+14.7 O Contrato de licença e sua relação com a Google nos termos do contrato serão regidos pelas leis do estado da Califórnia sem considerar conflitos de disposições legais. Você e a Google concordam em se submeter à competência exclusiva dos tribunais localizados na comarca de Santa Clara, Califórnia, para dirimir quaisquer questões legais decorrentes do Contrato de licença. Não obstante a isso, você concorda que a Google continua habilitada a impetrar medidas cautelares (ou mecanismo legal urgente equivalente) em qualquer jurisdição.
+  </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">Li e concordo com todos os termos e condições expressos acima</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 fornece links para imagens OTA de dispositivo e descreve
+ como aplicar manualmente uma atualização OTA em um dispositivo. Esse procedimento pode ser útil
+ para recuperar dispositivos que receberam atualizações OTA usando o programa beta 
+do Android e não estão ligando após a instalação.
+</p>
+
+<h2 id="install-ota">Instalação de imagens OTA</h2>
+
+<p></p>
+
+<p>Para instalar um pacote OTA em um dispositivo:</p>
+
+<ol>
+  <li>Baixe uma imagem OTA de dispositivo na tabela abaixo.</li>
+  <li>Reinicialize o dispositivo para ficar em modo Recovery. Para obter mais informações sobre como colocar
+ dispositivos Nexus nesse modo, consulte
+ <a href="https://support.google.com/nexus/answer/4596836">Redefinição do 
+dispositivo Nexus para voltar à configuração de fábrica</a>.
+  </li>
+  <li>No dispositivo, selecione <strong>ADB sideload</strong>.</li>
+  <li>Conecte o dispositivo a um computador que tenha o ambiente de desenvolvimento Android
+ carregado e a ferramenta Android Debug Bridge (adb) instalada.</li>
+  <li>Execute o seguinte comando:
+    <pre>adb sideload <em>&lt;ota-package&gt;</em></pre>
+  </li>
+</ol>
+
+
+
+<h2 id="ota-images">Imagem OTA de dispositivo</h2>
+
+<table>
+  <tr>
+    <th scope="col">Dispositivo</th>
+    <th scope="col">Download / Checksums</th>
+  </tr>
+
+  <tr id="bullhead">
+    <td>Nexus 5X <br>"bullhead"</td>
+    <td><a href="#top" onclick="onDownload(this)">bullhead-ota-npd35k-b8cfbd80.zip</a><br>
+      MD5: 15fe2eba9b01737374196bdf0a792fe9<br>
+      SHA-1: 5014b2bba77f9e1a680ac3f90729621c85a14283
+    </td>
+  </tr>
+
+  <tr id="shamu">
+    <td>Nexus 6 <br>"shamu"</td>
+    <td><a href="#top" onclick="onDownload(this)">shamu-ota-npd35k-078e6fa5.zip</a><br>
+      MD5: e8b12f7721c53af9a450f7058928a5fc<br>
+      SHA-1: b7a9b756f84a1d2e482ff9c16749d65f6e51425a
+    </td>
+  </tr>
+
+  <tr id="angler">
+    <td>Nexus 6P <br>"angler"</td>
+    <td><a href="#top" onclick="onDownload(this)">angler-ota-npd35k-88457699.zip</a><br>
+      MD5: 3fac09fef759dde26e57cb80b20b6477<br>
+      SHA-1: 27d6caa786577d8a38b2da5bf94b33b4524a1a1c
+    </td>
+  </tr>
+
+  <tr id="volantis">
+    <td>Nexus 9 <br>"volantis"</td>
+    <td><a href="#top" onclick="onDownload(this)">volantis-ota-npd35k-51dbae76.zip</a><br>
+      MD5: 58312c4a5971818ef5c77a3f446003da<br>
+      SHA-1: aad9005be33d3e2bab480509a6ab74c3c3b9d921
+    </td>
+  </tr>
+
+  <tr id="volantisg">
+    <td>Nexus 9G <br>"volantisg"</td>
+    <td><a href="#top" onclick="onDownload(this)">volantisg-ota-npd35k-834f047f.zip</a><br>
+      MD5: 92b7d1fa252f7394e70f957c72d4aac8<br>
+      SHA-1: b6c057c84d90893630e303cbb60530e20ddb8361
+    </td>
+  </tr>
+
+  <tr id="fugu">
+    <td>Nexus Player <br>"fugu"</td>
+    <td><a href="#top" onclick="onDownload(this)">fugu-ota-npd35k-6ac91298.zip</a><br>
+      MD5: 1461622ad53ea842b2722fa7b49b8172<br>
+      SHA-1: 409c061668ab270774877d7f3eae44fa48d2b931
+    </td>
+  </tr>
+
+  <tr id="ryu">
+    <td>Pixel C <br>"ryu"</td>
+    <td><a href="#top" onclick="onDownload(this)">ryu-ota-npd35k-a0b2347f.zip</a><br>
+      MD5: c60117f3640cc6db12386fd632289c7d<br>
+      SHA-1: 87349c767c69efb4172c90ce1d88cf578c3d28b3
+    </td>
+  </tr>
+
+  <tr id="seed">
+    <td>General Mobile 4G (Android One) <br>"seed"</td>
+    <td><a href="#top" onclick="onDownload(this)">seed_l8150-ota-npd35k-09897a1d.zip</a><br>
+      MD5: a55cf94f7cce0393ec6c0b35041766b7<br>
+      SHA-1: 6f33742290eb46f2561891f38ca2e754b4e50c6a
+    </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/pt-br/preview/download.jd b/docs/html-intl/intl/pt-br/preview/download.jd
index 432967e..b0f23e5 100644
--- a/docs/html-intl/intl/pt-br/preview/download.jd
+++ b/docs/html-intl/intl/pt-br/preview/download.jd
@@ -1,4 +1,4 @@
-page.title=Testar em um dispositivo
+page.title=Testes em um dispositivo
 meta.tags="preview", "nexus","system image"
 page.tags="preview", "androidn"
 page.image=images/cards/card-n-downloads_2x.png
@@ -20,9 +20,9 @@
 
 1. Introdução
 
-1.1 O Android SDK Preview (que este Contrato de licença chama de "Preview", incluindo especificamente os arquivos de sistema do Android, APIs integradas e arquivos da biblioteca Preview, se e quando estiverem disponíveis) é licenciado por meio da concordância com os termos deste contrato. O Contrato de licença forma um vínculo contratual legal entre o contratado e a Google em relação ao uso do Preview.
+1.1 O Android SDK Preview (que este Contrato de licença chama de "Preview", incluindo especificamente os arquivos de sistema do Android, APIs integradas e arquivos da biblioteca Preview, se e quando estiverem disponíveis) é licenciado por meio da concordância com os termos deste contrato. O Contrato de licença forma um vínculo contratual legal entre o contratante e a Google em relação ao uso do Preview.
 
-1.2 “Android” se refere à pilha de software do Android para dispositivos, conforme disponibilizado no Projeto de código aberto do Android, localizado no URL a seguir: http://source.android.com/, atualizado periodicamente.
+1.2 "Android" refere-se à pilha de software do Android para dispositivos, conforme disponibilizado no Projeto de código aberto do Android, localizado no URL a seguir: http://source.android.com/, atualizado periodicamente.
 
 1.3 “Compatível com Android” significa qualquer implementação do Android que (i) obedece ao documento Definição de Compatibilidade com Android, que pode ser encontrado no site de compatibilidade do Android (http://source.android.com/compatibility) que pode ser atualizado de tempos em tempos; e (ii) seja aprovado no Android Compatibility Test Suite (CTS).
 
@@ -42,35 +42,35 @@
 
 3.1 Sujeito aos termos deste Contrato de licença, a Google confere uma licença limitada, mundial, sem royalties, intransmissível, não exclusiva e não sublicenciável unicamente para o uso do Preview exclusivamente para o desenvolvimento de aplicativos executados para implementações compatíveis do Android.
 
-3.2 Você não poderá usar este Preview para desenvolver aplicativos para outras plataformas (incluindo implementações não compatíveis do Android) nem para deselvolver outro SDK. Você tem a liberdade para desenvolver aplicativos para outras plataformas, incluindo implementações não compatíveis do Android, desde que este Preview não seja usado para essa finalidade.
+3.2 Você não poderá usar este Preview para desenvolver aplicativos para outras plataformas (incluindo implementações não compatíveis do Android) nem para desenvolver outro SDK. Você tem a liberdade para desenvolver aplicativos para outras plataformas, incluindo implementações não compatíveis do Android, desde que este Preview não seja usado para essa finalidade.
 
-3.3 Você concorda que a Google ou terceiros detêm todos os direitos legais, títulos e interesses relativos ao Preview, incluindo quaisquer direitos de propriedade intelectual que subsistam no Preview. "Direitos de propriedade intelectual" se referem a todo e qualquer direito sob as leis de patentes, de direitos autorais, de segredo comercial, de marca registrada e todos os outros direitos de propriedade. A Google se reserva todos os direitos não conferidos expressamente a você.
+3.3 Você concorda que a Google ou terceiros detêm todos os direitos legais, títulos e interesses relativos ao Preview, incluindo quaisquer direitos de propriedade intelectual que subsistam no Preview. "Direitos de propriedade intelectual" se referem a todo e qualquer direito sob as leis de patentes, de direitos autorais, de segredo comercial, de marca registrada e todos os outros direitos de propriedade. A Google reserva todos os direitos não conferidos expressamente a você.
 
-3.4 O uso do Preview não é autorizado para qualquer finalidade não expressamente permitida por este Contrato de licença. Salvo na extensão exigida por licenças aplicáveis de terceiros, é proibido: (a) copiar (exceto para fins de cópia de segurança), modificar, adaptar, redistribuir, descompilar, fazer engenharia reversa, desmontar ou criar trabalhos derivados do Preview ou qualquer parte dele; ou (b) carregar qualquer parte do Preview em um aparelho celular ou outro dispositivo de hardware, exceto um computador pessoal, combinar qualquer parte do Preview com outros softwares ou distribuir qualquer software ou dispositivo que contenha uma parte do Preview.
+3.4 O uso do Preview não é autorizado para qualquer finalidade não expressamente permitida por este Contrato de licença. Salvo na extensão exigida por licenças aplicáveis de terceiros, é proibido: (a) copiar (exceto para fins de cópia de segurança), modificar, adaptar, redistribuir, descompilar, fazer engenharia reversa, desmontar ou criar trabalhos derivados do Preview ou qualquer parte dele; ou (b) carregar qualquer parte do Preview em um aparelho celular ou outro dispositivo de hardware, exceto em computador pessoal, combinar qualquer parte do Preview com outros softwares ou distribuir qualquer software ou dispositivo que contenha uma parte do Preview.
 
-3.5 O uso, a reprodução e a distribuição de componentes do Preview licenciado sob uma licença de software de código aberto são regidos exclusivamente pelos termos daquela licença de software de código aberto, e não por este Contrato de licença. Você concorda em manter uma licença em bom estado para as licenças de software de código aberto sob todos os direitos concedidos e deter quaisquer ações que possam limitar, suspender ou romper tais direitos.
+3.5 O uso, a reprodução e a distribuição de componentes do Preview licenciado sob uma licença de software de código aberto são regidos exclusivamente pelos termos daquela licença de software de código aberto, e não por este Contrato de licença. Você concorda em manter uma licença em situação regular para as licenças de software de código aberto sob todos os direitos concedidos e deter quaisquer ações que possam limitar, suspender ou romper tais direitos.
 
-3.6 Você concorda que a forma e a natureza do SDK que a Google fornece podem mudar sem aviso prévio e que as versões futuras do SDK podem ser incompatíveis com aplicativos desenvolvidos em versões anteriores do SDK. Você concorda que a Google pode cessar (permanente ou temporariamente) o fornecimento do Preview (ou quaisquer recursos dentro dele) a você ou a usuários em geral sob critério exclusivo da Google, sem aviso prévio.
+3.6 Você concorda que a forma e a natureza do Preview que a Google fornece podem mudar sem aviso prévio e que as versões futuras do Preview podem ser incompatíveis com aplicativos desenvolvidos em versões anteriores do Preview. Você concorda que a Google pode cessar (permanente ou temporariamente) o fornecimento do Preview (ou quaisquer recursos dentro dele) a você ou a usuários em geral sob critério exclusivo da Google, sem aviso prévio.
 
 3.7 Nada neste Contrato de licença confere o direito de uso de quaisquer nomes comerciais, marcas comerciais, marcas de serviço, logomarcas, nomes de domínios e outros recursos de marcas especiais da Google.
 
-3.8 Você concorda que não removerá, ocultará nem alterará quaisquer notificações de direitos de propriedade (incluindo notificações de direitos autorais e de marcas registradas) que possam estar afixadas ou contidas no Preview.
+3.8 Você concorda que não removerá, ocultará nem alterará quaisquer observações de direitos de propriedade (incluindo observações de direitos autorais e de marcas registradas) que possam estar afixadas ou contidas no Preview.
 
 4. O uso do Preview
 
 4.1 A Google entende que nada no Contrato de Licença dá a ela direitos, título nem interesse sobre o usuário (ou sobre os seus licenciadores) sob o presente Contrato de licença nem sobre quaisquer aplicativos de software que o usuário desenvolver usando o Preview, incluindo quaisquer direitos de propriedade intelectual que subsistem nos referidos aplicativos.
 
-4.2 Você concorda em usar o Preview e desenvolver aplicativos somente para as finalidades permitidas por (a) este Contrato de licença e (b) quaisquer leis, normas, diretrizes geralmente aceitas ou orientações aplicáveis nas jurisdições relevantes (incluindo quaisquer leis acerca da exportação de dados ou softwares dos e para os Estados Unidos ou outros países relevantes).
+4.2 Você concorda em usar o Preview e desenvolver aplicativos somente para as finalidades permitidas por (a) este Contrato de licença e (b) quaisquer leis, normas, diretrizes geralmente aceitas ou orientações aplicáveis nas jurisdições relevantes (incluindo quaisquer leis acerca da exportação de dados ou softwares dos e para os Estados Unidos ou outros países relevantes.
 
-4.3 Você concorda que, se usar o Preview para o desenvolvimento de aplicativos, deverá proteger a privacidade e os direitos legais dos usuários. Se nomes de usuário, senhas ou outras informações de acesso ou informações pessoais forem fornecidos ao aplicativo, deve-se informá-los de que tais dados estarão disponíveis para o aplicativo, além de fornecer observações de privacidade e proteção legalmente adequadas a esses usuários. Se o aplicativo armazenar informações pessoais ou confidenciais fornecidas pelos usuários, deve fazê-lo com segurança. Se o usuário fornecer a você informações da conta do Google, o aplicativo poderá usar essas informações exclusivamente para acessar a conta da Google do usuário quando houver autorização de cada usuário para fazê-lo e para os fins limitados da autorização.
+4.3 Você concorda que, se usar o Preview para o desenvolvimento de aplicativos, deverá proteger a privacidade e os direitos legais dos usuários. Se nomes de usuário, senhas ou outras informações de acesso ou informações pessoais forem fornecidos ao aplicativo, deve-se informá-los de que tais dados estarão disponíveis para o aplicativo, além de fornecer observações de privacidade e proteção legalmente adequadas a esses usuários. Se o aplicativo armazenar informações pessoais ou confidenciais fornecidas pelos usuários, deve fazê-lo com segurança. Se o usuário fornecer informações da conta do Google, o aplicativo poderá usar essas informações exclusivamente para acessar a conta da Google do usuário quando houver autorização para fazê-lo e para os fins limitados pela autorização.
 
-4.4 Você concorda que não se envolverá em qualquer atividade com o Preview, incluindo o desenvolvimento e a distribuição de um aplicativo que interfira, perturba, danifique ou acesse, de modo não autorizado, servidores, redes ou outras propriedades de serviço da Google ou de qualquer terceiro.
+4.4 Você concorda que não se envolverá em qualquer atividade com o Preview, incluindo o desenvolvimento e a distribuição de um aplicativo que interfira, perturbe, danifique ou acesse, de modo não autorizado, servidores, redes ou outras propriedades ou serviços da Google ou qualquer outro terceiro.
 
-4.5 Você concorda que é exclusivamente responsável por (e que a Google não tem qualquer responsabilidade com você ou qualquer outra parte) quaisquer dados, conteúdo ou recursos que criar, transmitir ou exibir por meio do Android e/ou de aplicativos do Android e pelas consequências que suas ações (incluindo qualquer perda ou dano que a Google possa sofrer) podem gerar.
+4.5 Você concorda que é exclusivamente responsável por (e que a Google não tem qualquer responsabilidade com você ou terceiro) quaisquer dados, conteúdo ou recursos que criar, transmitir ou exibir por meio do Android e/ou de aplicativos do Android e pelas consequências que suas ações (incluindo perda ou dano que a Google possa sofrer) podem gerar.
 
-4.6 Você concorda que é exclusivamente responsável por (e que a Google não tem qualquer responsabilidade com você ou qualquer outra parte) qualquer violação das obrigações exigidas neste Contrato de licença, qualquer contrato ou termos de serviço aplicáveis de terceiros, qualquer lei ou norma aplicáveis e pelas consequências (incluindo a perda ou dano que a Google ou qualquer terceiro possa sofrer) por quaisquer violações.
+4.6 Você concorda que é exclusivamente responsável por (e que a Google não tem qualquer responsabilidade com você ou terceiro) qualquer violação das obrigações exigidas neste Contrato de licença, qualquer contrato ou termos de serviço aplicáveis a terceiros, qualquer lei ou norma aplicável e pelas consequências (incluindo a perda ou dano que a Google ou qualquer terceiro possa sofrer) de quaisquer violações.
 
-4.7 O Preview está em desenvolvimento e seus testes e comentários são uma parte importante do processo de desenvolvimento. Ao usar o Preview, você está ciente de que a implementação de alguns recursos ainda estão em desenvolvimento e que não se deve confiar que o Preview tem a funcionalidade completa de uma versão estável. Você concorda em não distribuir nem enviar publicamente quaisquer aplicativos usando este Preview, pois ele não será mais suportado após o lançamento oficial do Android SDK.
+4.7 O Preview está em desenvolvimento e o seu teste e feedback são uma parte importante deste processo. Ao usar o Preview, você está ciente de que a implementação de alguns recursos ainda estão em desenvolvimento e que não se deve confiar que o Preview tem a funcionalidade completa de uma versão estável. Você concorda em não distribuir nem enviar publicamente quaisquer aplicativos usando este Preview, pois ele não será mais suportado após o lançamento oficial do Android SDK.
 
 5. Suas credenciais de desenvolvedor
 
@@ -80,23 +80,23 @@
 
 6.1 A fim de inovar e aprimorar continuamente o Preview, a Google pode coletar certas estatísticas de uso do software, incluindo, sem limitar-se, um identificador exclusivo, endereço IP associado, número de versão do software e informações sobre quais ferramentas e/ou serviços no Preview estão sendo usados e como estão sendo usados. Antes de coletar quaisquer dessas informações, o Preview o notificará e buscará seu consentimento. Se você recusar, as informações não serão coletadas.
 
-6.2 Os dados coletados são examinados coletivamente para aprimorar o Preview e são mantidos em conformidade com a Política de privacidade da Google, localizada em http://www.google.com/policies/privacy/.
+6.2 Os dados coletados são examinados coletivamente para aprimorar o Preview e são mantidos em conformidade com a Política de privacidade da Google acessível em http://www.google.com/policies/privacy/.
 
 7. Aplicativos de terceiros
 
-7.1 Ao usar o Preview para executar aplicativos desenvolvidos por terceiros ou que acessam dados, conteúdo ou recursos fornecidos por terceiros, você concorda que a Google não é responsável por tais aplicativos, dados, conteúdo ou recursos. Você compreende que quaisquer dados, conteúdo ou recursos que você possa acessar por meio de tais aplicativos de terceiros imputam responsabilidade exclusiva ao indivíduo que os originou. A Google não é responsável por qualquer perda ou dano que possa ocorrer como resultado do uso ou acesso de quaisquer aplicativos, dados, conteúdo ou recursos de terceiros.
+7.1 Ao usar o Preview para executar aplicativos desenvolvidos por terceiros ou que acessam dados, conteúdo ou recursos fornecidos por terceiros, você concorda que a Google não é responsável por tais aplicativos, dados, conteúdo ou recursos. Você compreende que quaisquer dados, conteúdo ou recursos que possa acessar por meio de tais aplicativos de terceiros imputam responsabilidade exclusiva ao indivíduo que os originou. A Google não é responsável por qualquer perda ou dano que possa ocorrer como resultado do uso ou acesso de quaisquer aplicativos, dados, conteúdo ou recursos de terceiros.
 
-7.2 Você deve estar ciente de que os dados, conteúdo e recursos apresentados a você por aplicativos de terceiros podem ser protegidos pelos direitos de propriedade intelectual que são de posse dos fornecedores (ou de outras pessoas ou empresas em seus nomes). Não é permitido modificar, alugar, arrendar, emprestar, vender, distribuir nem criar trabalhos derivados baseados nesses dados, conteúdo ou recursos (na totalidade ou em parte), salvo se houver permissão explícita especificada pelos respectivos detentores de direitos.
+7.2 Você deve estar ciente de que os dados, conteúdo e recursos apresentados a você por aplicativos de terceiros podem ser protegidos pelos direitos de propriedade intelectual de posse dos fornecedores (ou de outras pessoas ou empresas em seus nomes). Não é permitido modificar, alugar, arrendar, emprestar, vender, distribuir nem criar trabalhos derivados com base nestes dados, conteúdo ou recursos (na totalidade ou em parte), salvo se houver permissão explícita especificada pelos respectivos proprietários.
 
-7.3 Você reconhece que o uso de tais aplicativos, dados, conteúdo ou recursos de terceiros pode estar sujeito a termos separados entre você e o terceiro em questão.
+7.3 Você reconhece que o uso de tais aplicativos, dados, conteúdo ou recursos de terceiros pode estar sujeito a termos adicionais entre você e o terceiro em questão.
 
-8. Uso das Google APIs
+8. Uso de APIs da Google
 
-8.1 Google APIs
+8.1 APIs da Google
 
 8.1.1 Ao usar qualquer API para recuperar dados da Google, você reconhece que eles podem ser protegidos por direitos de propriedade intelectual de posse da Google ou dos terceiros que fornecem os dados (ou de pessoas ou empresas em nomes deles). O uso de tal API pode estar sujeito a termos de serviço adicionais. Não é permitido modificar, alugar, arrendar, emprestar, vender, distribuir nem criar trabalhos derivados baseados nesses dados (na totalidade ou em parte), salvo se permitido pelos termos de serviço pertinentes.
 
-8.1.2 Se você usar qualquer API para recuperar dados de um usuário a partir da Google, você reconhece e concorda que deve recuperar dados somente com consentimento explícito do usuário e somente quando, e para os fins limitados para tal, o usuário conceder permissão para fazê-lo.
+8.1.2 Se você usar qualquer API para recuperar dados de um usuário a partir da Google, reconhece e concorda que deve recuperar dados somente com consentimento explícito do usuário e somente quando, e para os fins limitados aos quais, o usuário conceder permissão para fazê-lo.
 
 9. Rescisão do Contrato de licença
 
@@ -130,7 +130,7 @@
 
 13. Mudanças no Contrato de licença
 
-13.1 A Google pode realizar mudanças no Contrato de licença à medida que distribui novas versões do Preview. Quando essas mudanças forem realizadas, a Google fará uma nova versão do Contrato de licença disponível no site em que o Preview for disponibilizado.
+13.1 A Google pode realizar mudanças no Contrato de licença à medida que distribui novas versões do Preview. Quando essas mudanças forem realizadas, a Google fará uma nova versão do Contrato de licença disponível no site em que o Preview estiver disponível.
 
 14. Termos legais gerais
 
@@ -154,7 +154,7 @@
     <div id="sdk-terms-form">
       <p>
         <input id="agree" type="checkbox" name="agree" value="1" onclick="onAgreeChecked()" />
-        <label id="agreeLabel" for="agree">Eu li e concordo com os termos e condições acima</label>
+        <label id="agreeLabel" for="agree">Li e concordo com todos os termos e condições expressos acima</label>
       </p>
       <p><a href="" class="button disabled" id="downloadForRealz" onclick="return onDownloadForRealz(this);"></a></p>
     </div>
@@ -193,7 +193,7 @@
 
 <p>
   Se quiser um ambiente para fazer testes básicos de compatibilidade do seu aplicativo na
- nova plataforma, você só precisará do seu APK atual e de um dispositivo de hardware ou
+ nova plataforma, você só precisará do APK atual e de um dispositivo de hardware ou
  emulador. Não é necessário atualizar o ambiente de desenvolvimento completo
  para fazer testes básicos.
 </p>
@@ -219,13 +219,13 @@
 </p>
 
 <ul>
-  <li><strong>Inscreva o dispositivo nas atualizações de sistema automáticas por OTA</strong> usando o 
- <a href="https://g.co/androidbeta">programa beta do Android</a>. Após a inscrição, seu dispositivo receberá atualizações regulares
+  <li><strong>Inscreva o dispositivo nas atualizações de sistema automáticas por OTA</strong> usando o
+ <a href="https://g.co/androidbeta"> Android Beta Program</a>. Após a inscrição, seu dispositivo receberá atualizações regulares
  por OTA de todas as versões de marco do N Developer Preview. Essa
- abordagem é recomendada porque ela permite que você faça uma transição tranquila do seu ambiente
+ abordagem é recomendada porque ela permite que você faça uma transição tranquila do ambiente
  atual para as várias versões do N Developer Preview.</li>
   <li><strong>Faça o download de uma imagem de sistema do Developer Preview e atualize o dispositivo manualmente</strong>.
- Atualizações por OTA não são fornecidas automaticamente para dispositivos que são atualizados manualmente, mas
+  Atualizações por OTA não são fornecidas automaticamente para dispositivos que são atualizados manualmente, mas
  é possível inscrever esses dispositivos no programa beta do Android para receber atualizações por OTA. </li>
 </ul>
 
@@ -235,15 +235,15 @@
   Se você tiver acesso a um dispositivo compatível (veja a lista na tabela de
  downloads), poderá receber atualizações por OTA de versões do Preview do Android
  ao inscrever esse dispositivo no <a href="https://g.co/androidbeta">programa beta do Android</a>. Essas atualizações são
- baixadas automaticamente e serão aplicadas em seu dispositivo da mesma maneira que
+ baixadas automaticamente e serão aplicadas no dispositivo da mesma maneira que
  atualizações de sistema oficiais.
 </p>
 
 <p>
-  Você pode cancelar a inscrição de um dispositivo a qualquer momento. O dispositivo receberá uma atualização por OTA
+  Você pode cancelar a inscrição do dispositivo a qualquer momento. O dispositivo receberá uma atualização por OTA
  para a versão de produção mais recente disponível do Android para o dispositivo em questão
- (por exemplo, o Android 6.0 Marshmallow). Essa atualização exige que o dispositivo seja
- totalmente redefinido, portanto, os dados do usuário serão removidos. Não deixe de <strong>fazer o backup
+ (por exemplo, o Android 6.0 Marshmallow). Essa atualização exige que o dispositivo seja totalmente
+ redefinido, portanto, os dados do usuário serão removidos. Não deixe de <strong>fazer o backup
  de dados importantes</strong> antes de cancelar a inscrição de um dispositivo.
 </p>
 
@@ -253,7 +253,7 @@
 </p>
 
 <p class="note"><strong>Observação:</strong>
- cancelar um dispositivo exige uma redefinição total. Faça primeiro o backup
+  Cancelar um dispositivo exige uma redefinição total. Faça primeiro o backup
  de dados importantes.
 </p>
 
@@ -261,10 +261,10 @@
 
 <p>
   A qualquer momento, você pode fazer o download da imagem de sistema mais recente do Developer Preview e
- aplicá-la manualmente ao seu dispositivo. Consulte a tabela abaixo para fazer o download da imagem de sistema
- para o dispositivo de teste. A atualização manual de um dispositivo é útil se você precisa de um
+ aplicá-la manualmente ao dispositivo. Consulte a tabela abaixo para fazer o download da
+ imagem de sistema para o dispositivo de teste. A atualização manual de um dispositivo é útil se você precisa de um
  controle preciso sobre o ambiente de teste ou se precisa reinstalar com frequência,
- como em testes automatizados. 
+ como em testes automatizados.
 </p>
 
 <!-- You can flash by ota or system image --><p>
@@ -281,15 +281,15 @@
 <p>
   Imagens de sistema atualizadas manualmente <strong>não recebem
  atualizações por OTA automaticamente</strong> para versões de marco posteriores do
- Developer Preview. Mantenha seu ambiente atualizado e aplique
+ Developer Preview. Mantenha o ambiente atualizado e aplique
  uma nova imagem de sistema a cada marco do Developer Preview.
 </p>
 
 <p>
   Se decidir que deseja obter atualizações por OTA após atualizar um dispositivo manualmente, 
-basta inscrevê-lo no <a href="https://g.co/androidbeta">programa beta do
- Android</a>. É possível inscrever dispositivos a qualquer momento para receber a próxima atualização do Preview
- por OTA. 
+basta inscrevê-lo no <a href="https://g.co/androidbeta">programa beta
+ do Android</a>. É possível inscrever dispositivos a qualquer momento para receber a próxima atualização do Preview
+ por OTA.
 </p>
 
 <table>
@@ -300,64 +300,72 @@
 
   <tr id="bullhead">
     <td>Nexus 5X <br>"bullhead"</td>
-    <td><a href="#top" onclick="onDownload(this)">bullhead-npc56p-preview-6c877a3d.tgz</a><br>
-      MD5: b5cf874021023b398f5b983b24913f5d<br>
-      SHA-1: 6c877a3d9fae7ec8a1678448e325b77b7a7b143a
+    <td><a href="#top" onclick="onDownload(this)">bullhead-npd35k-factory-5ba40535.tgz</a><br>
+      MD5: b6c5d79a21815ee21db41822dcf61e9f<br>
+      SHA-1: 5ba4053577007d15c96472206e3a79bc80ab194c
     </td>
   </tr>
 
   <tr id="shamu">
     <td>Nexus 6 <br>"shamu"</td>
-    <td><a href="#top" onclick="onDownload(this)">shamu-npc56p-preview-54b13c67.tgz</a><br>
-      MD5: af183638cf34e0eb944a1957d7696f60<br>
-      SHA-1: 54b13c6703d369cc79a8fd8728fe4103c6343973
+    <td><a href="#top" onclick="onDownload(this)">shamu-npd35k-factory-a33bf20c.tgz</a><br>
+      MD5: e1cf9c57cfb11bebe7f1f5bfbf05d7ab<br>
+      SHA-1: a33bf20c719206bcf08d1edd8da6c0ff9d50f69c
     </td>
   </tr>
 
   <tr id="angler">
     <td>Nexus 6P <br>"angler"</td>
-    <td><a href="#top" onclick="onDownload(this)">angler-npc56p-preview-85ffc1b1.tgz</a><br>
-      MD5: bc4934ea7bd325753eee1606d3725a24<br>
-      SHA-1: 85ffc1b1be402b1b96f9ba10929e86bba6c6c588
+    <td><a href="#top" onclick="onDownload(this)">angler-npd35k-factory-81c341d5.tgz</a><br>
+      MD5: e93de7949433339856124c3729c15ebb<br>
+      SHA-1: 81c341d57ef2cd139569b055d5d59e9e592a7abd
     </td>
   </tr>
 
   <tr id="volantis">
     <td>Nexus 9 <br>"volantis"</td>
-    <td><a href="#top" onclick="onDownload(this)">volantis-npc56p-preview-0e8ec8ef.tgz</a><br>
-      MD5: c901334c6158351e945f188167ae56f4<br>
-      SHA-1: 0e8ec8ef98c7a8d4f58d15f90afc5176303efca4
+    <td><a href="#top" onclick="onDownload(this)">volantis-npd35k-factory-2b50e19d.tgz</a><br>
+      MD5: 565be87ebb2d5937e2abe1a42645864b<br>
+      SHA-1: 2b50e19dae2667b27f911e3c61ed64860caf43e1
     </td>
   </tr>
 
   <tr id="volantisg">
     <td>Nexus 9G <br>"volantisg"</td>
-    <td><a href="#top" onclick="onDownload(this)">volantisg-npc56p-preview-1bafdbfb.tgz</a><br>
-      MD5: 7bb95bebc478d7257cccb4652899d1b4<br>
-      SHA-1: 1bafdbfb502e979a9fe4c257a379c4c7af8a3ae6
+    <td><a href="#top" onclick="onDownload(this)">volantisg-npd35k-factory-2e89ebe6.tgz</a><br>
+      MD5: a8464e15c6683fe2afa378a63e205fda<br>
+      SHA-1: 2e89ebe67a46b2f3beb050746c13341cd11fa678
     </td>
   </tr>
 
   <tr id="fugu">
     <td>Nexus Player <br>"fugu"</td>
-    <td><a href="#top" onclick="onDownload(this)">fugu-npc56r-preview-7027d5b6.tgz</a><br>
-      MD5: f5d3d8f75836ccfe4c70e8162e498be4<br>
-      SHA-1: 7027d5b662bceda4c80a91a0a14ef0e5a7ba795b
+    <td><a href="#top" onclick="onDownload(this)">fugu-npd35k-factory-1de74874.tgz</a><br>
+      MD5: c0dbb7db671f61b2785da5001cedefcb<br>
+      SHA-1: 1de74874f8d83e14d642f13b5a2130fc2aa55873
     </td>
   </tr>
 
   <tr id="ryu">
     <td>Pixel C <br>"ryu"</td>
-    <td><a href="#top" onclick="onDownload(this)">ryu-npc56p-preview-335a86a4.tgz</a><br>
-      MD5: 4e21fb183bbbf467bee91598d587fd2e<br>
-      SHA-1: 335a86a435ee51f18464de343ad2e071c38f0e92
+    <td><a href="#top" onclick="onDownload(this)">ryu-npd35k-factory-b4eed85d.tgz</a><br>
+      MD5: bdcb6f770e753668b5fadff2a6678e0d<br>
+      SHA-1: b4eed85de0d42c200348a8629084f78e24f72ac2
     </td>
   </tr>
+
   <tr id="seed">
     <td>General Mobile 4G (Android One) <br>"seed"</td>
-    <td><a href="#top" onclick="onDownload(this)">seed_l8150-npc56p-preview-82472ebc.tgz</a><br>
-      MD5: 983e083bc7cd0c4a2d39d6ebaa20202a<br>
-      SHA-1: 82472ebc9a6054a103f53cb400a1351913c95127
+    <td><a href="#top" onclick="onDownload(this)">seed_l8150-npd35k-factory-5ab1212b.tgz</a><br>
+      MD5: 7d34a9774fdd6e025d485ce6cfc23c4c<br>
+      SHA-1: 5ab1212bc9417269d391aacf1e672fff24b4ecc5
+    </td>
+  </tr>
+
+  <tr id="xperia">
+    <td>Sony Xperia Z3 <br> (D6603 e D6653)</td>
+    <td>Download: <a class="external-link" href="http://support.sonymobile.com/xperiaz3/tools/xperia-companion/">Xperia Companion</a><br>
+      Para obter mais informações, consulte <a class="external-link" href="https://developer.sony.com/develop/smartphones-and-tablets/android-n-developer-preview/">Experimente o Android N Developer Preview para Xperia Z3</a>.
     </td>
   </tr>
 
@@ -375,27 +383,27 @@
           <li>Para <strong>dispositivos Nexus e Pixel C</strong>, consulte
  a página de downloads de <a href="http://developers.google.com/android/nexus/images">Imagens de fábrica
  para dispositivos Nexus</a>. </li>
-        <li>Para <strong>outros dispositivos</strong>, entre em contato diretamente com 
-o fabricante. Como alternativa, se o dispositivo tiver suporte
- no programa beta do Android, será possível inscrevê-lo no
- programa e cancelar a inscrição (veja abaixo).</li>
+        <li>Para <strong>outros dispositivos</strong>, entre em contato
+ diretamente com o fabricante. Alternativamente, se o dispositivo for compatível
+ com o programa beta do Android, será possível inscrevê-lo no
+ programa e depois cancelar a inscrição (veja abaixo).</li>
       </ul>
     </li>
-    <li><strong>Cancele a inscrição do dispositivo no programa Beta do Android</strong>. Se o
- dispositivo estiver inscrito no <a href="https://g.co/androidbeta">programa beta do
- Android</a>, independentemente de qual ele seja, você poderá simplesmente cancelar a inscrição.
+    <li><strong>Cancele a inscrição do dispositivo no programa beta do Android</strong>. Se o
+ dispositivo estiver inscrito no <a href="https://g.co/androidbeta">programa beta 
+do Android</a>, independentemente de qual ele seja, você poderá simplesmente cancelar a inscrição.
   <p>
-    O dispositivo receberá uma atualização por OTA para a versão de produção mais recente
- disponível do Android para o dispositivo em questão (por exemplo, o Android 6.0 Marshmallow).
- Essa atualização exige que o dispositivo seja totalmente redefinido, portanto, os dados do usuário serão
- removidos. Não deixe de <strong>fazer o backup de dados importantes</strong> antes
- de cancelar a inscrição de um dispositivo.
+    O dispositivo receberá uma atualização por OTA para a versão
+ de produção mais recente disponível do Android para o dispositivo em questão (por exemplo, o Android 6.0 Marshmallow).
+    Essa atualização exige que o dispositivo seja totalmente redefinido, portanto, os dados do usuário serão
+ removidos. Não deixe de <strong>fazer o backup de dados importantes</strong> antes de
+ cancelar a inscrição de um dispositivo.
   </p>
   </li>
 </ul>
 
 <p class="note"><strong>Observação:</strong>
- para desinstalar uma imagem de sistema do Developer Preview antes do
+  Para desinstalar uma imagem de sistema do Developer Preview antes do
  fim do programa, é preciso redefinir o dispositivo por completo e remover todos os dados
  do usuário no dispositivo.
 </p>
@@ -414,8 +422,8 @@
 <ol>
   <li>No Android Studio, abra a caixa de diálogo Settings
  (<strong>File &gt; Settings</strong> no Windows/Linux ou
- <strong>Android Studio &gt; Preferences</strong> no Mac). No painel à
- esquerda, selecione <strong>Appearance &amp; Behavior &gt;
+ <strong>Android Studio &gt; Preferences</strong> no Mac). No
+ painel à esquerda, selecione <strong>Appearance &amp; Behavior &gt;
  System Settings &gt; Android SDK</strong>.
 
   <li>Clique na guia <strong>SDK Platforms</strong> e marque a caixa de seleção
@@ -448,7 +456,7 @@
  e clique em <strong>Next</strong>.</li>
   <li>Selecione a imagem de sistema <strong>N</strong> (com ABI
  <strong>x86</strong>) e clique em <strong>Next</strong>.
- (Apenas imagens de sistema x86 atualmente são compatíveis com o emulador do Android
+    (Apenas imagens de sistema x86 atualmente são compatíveis com o emulador do Android
 para o Android N Preview.)
   <li>Conclua a configuração do AVD e clique em
  <strong>Finish</strong>.</li>
@@ -458,16 +466,10 @@
 
 <p>
 Para ter a melhor experiência possível com o emulador do Android, instale o 
-Android Studio 2.1 Preview, que oferece suporte ao <a href="http://tools.android.com/tech-docs/emulator">Android Emulator 2.0 Beta</a>,
+Android Studio 2.1 ou mais recente, que oferece suporte ao <a href="http://tools.android.com/tech-docs/emulator">Android Emulator 2.0</a>,
 cujo desempenho é muito superior ao do emulador no
 Android Studio 1.5.</p>
 
-<p class="note"><strong>Observação:</strong>
- se você está usando o Android Studio 2.0 Beta, há um problema conhecido
- que impede a criação de AVDs com imagens de sistema do N Preview, portanto,
- é preciso usar o Android Studio 2.1 Preview para criar AVDs.
-</p>
-
 <p>Para saber mais sobre como criar dispositivos virtuais para teste, consulte <a href="{@docRoot}tools/devices/index.html">Gerenciamento de dispositivos virtuais</a>.
 </p>
 
diff --git a/docs/html-intl/intl/pt-br/preview/features/afw.jd b/docs/html-intl/intl/pt-br/preview/features/afw.jd
new file mode 100644
index 0000000..c16cff9
--- /dev/null
+++ b/docs/html-intl/intl/pt-br/preview/features/afw.jd
@@ -0,0 +1,552 @@
+page.title=Atualizações no Android for Work
+page.metaDescription=Novas APIs do Android for Work e novos recursos do Android N.
+page.keywords="android for work", "android N", "enterprise", "QR code"
+
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>Neste documento</h2>
+      <ol>
+        <li><a href="#qr">Provisionamento de código QR
+</a></li>
+
+        <li><a href="#sec-challenge">Desafio de segurança de perfil de trabalho
+</a></li>
+
+        <li><a href="#suspend">Desativar acesso a aplicativos
+</a></li>
+
+        <li><a href="#toggle-work">Alternar modo de trabalho
+</a></li>
+
+        <li><a href="#always-on-vpn">Always-On VPN
+</a></li>
+
+        <li><a href="#contacts">Integração de contatos com perfil de trabalho
+</a></li>
+
+        <li><a href="#remote-reboot">Reinicialização remota
+</a></li>
+
+        <li><a href="#disable-roaming">Desativação de roaming de dados
+</a></li>
+
+        <li><a href="#process-logging">Registro do processo empresarial
+</a></li>
+
+        <li><a href="#bug-reports">Relatórios de erros remotos
+</a></li>
+
+        <li><a href="#remove-cert">Remoção de certificado do cliente
+</a></li>
+
+        <li><a href="#grant-cert-on-install">Concessão de acesso a certificado do cliente
+na instalação</a></li>
+
+        <li><a href="#ui-policy">Transparência da política de IU do sistema
+</a></li>
+
+        <li><a href="#restrictions-mgmt">Melhorias no gerenciamento de restrições de aplicativos
+</a></li>
+
+        <li><a href="#location-off">Interruptor para desativar localidade
+</a></li>
+
+        <li><a href="#custom-provisioning">Provisionamento personalizado
+</a></li>
+
+        <li><a href="#multi-wifi-ca">Diversos certificados de CA para Wi-Fi
+</a></li>
+
+        <li><a href="#custom-lock">Mensagem de tela de bloqueio personalizada
+</a></li>
+
+        <li><a href="#work-connectionservice">Perfil de trabalho ConnectionService
+</a></li>
+
+        <li><a href="#lock-wp">Bloqueio de plano de fundo
+</a></li>
+
+        <li><a href="#lock-user-icon">Bloqueio de ícone de usuário
+</a></li>
+
+        <li><a href="#health-monitoring">Monitoramento da saúde do dispositivo
+</a></li>
+
+      </ol>
+
+    <h2>Veja também</h2>
+    <ul>
+      <li><a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referência
+do N Preview SDK</a></li>
+    </ul>
+  </div>
+</div>
+
+<p>Este documento descreve os novos recursos do Android for Work oferecidos no
+Android N.</p>
+
+<h2 id="qr">Provisionamento de código QR</h2>
+
+<p>
+  O Android for Work agora é compatível com o uso de códigos QR para fornecimento de dispositivos
+de responsabilidade corporativa. Este assistente de configuração permite a digitalização de um código QR para fornecer
+ao dispositivo.
+</p>
+
+<h2 id="sec-challenge">Desafio de segurança de perfil de trabalho</h2>
+
+<p>
+  Donos de perfis podem exigir que os usuários especifiquem um desafio de segurança para aplicativos
+em execução no perfil de trabalho. O sistema mostra o desafio de segurança quando o
+usuário tenta abrir qualquer aplicativo de trabalho. Se o usuário preencher corretamente o
+ desafio de segurança, o sistema desbloqueará e, se necessário, descriptografará o 
+perfil de trabalho.
+</p>
+
+<p>
+  Se um dono de perfil enviar uma intenção {@link
+ android.app.admin.DevicePolicyManager#ACTION_SET_NEW_PASSWORD}, o
+ sistema solicitará que o usuário defina um desafio de segurança. O dono de perfil também
+ pode enviar uma intenção <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> para
+ solicitar que o usuário defina um bloqueio de dispositivo.
+</p>
+
+<p>
+  Os donos de perfil podem escolher políticas de senha diferentes
+ das políticas de outros dispositivos para o desafio de trabalho. Por exemplo, o
+ tamanho mínimo da resposta do desafio no dispositivo pode ser diferente do tamanho
+ exigido para outras senhas. Os donos de perfis definem as
+políticas do desafio por meio dos métodos {@link android.app.admin.DevicePolicyManager}
+usuais, como {@link
+android.app.admin.DevicePolicyManager#setPasswordQuality
+setPasswordQuality()} e {@link
+android.app.admin.DevicePolicyManager#setPasswordMinimumLength
+setPasswordMinimumLength()}. O dono de perfil também pode definir o bloqueio de dispositivo
+usando a instância de {@link android.app.admin.DevicePolicyManager} retornada
+pelo novo método <code>DevicePolicyManager.getParentProfileInstance()</code>
+. Além disso, donos de perfil podem personalizar a tela de credenciais do 
+desafio de trabalho usando os novos métodos <code>setOrganizationColor()</code> e
+ <code>setOrganizationName()</code> da classe {@link android.app.admin.DevicePolicyManager}
+.
+</p>
+
+<p>
+  Para obter detalhes sobre os novos métodos e constantes, consulte a 
+página de referência <code>DevicePolicyManager</code> na <a href="{@docRoot}preview/setup-sdk.html#docs-dl">referência do N Preview SDK</a>.
+</p>
+
+<h2 id="suspend">Desativar acesso a aplicativos</h2>
+
+<p>
+  Donos de dispositivos e perfis podem suspender temporariamente o acesso a pacotes
+ chamando o novo método <code>DevicePolicyManager.setPackagesSuspended()</code>
+. Os donos podem usar o mesmo método para reativar esses pacotes.
+</p>
+
+<p>
+  Enquanto está suspenso, um pacote não consegue iniciar atividades, as notificações
+ são suspensas e a entrada do aplicativo na <a href="{@docRoot}guide/components/recents.html">tela de visão geral</a> é ocultada.
+  Os pacotes suspensos não são exibidos na <a href="{@docRoot}guide/components/recents.html">tela de visão geral</a> e não
+ podem mostrar caixas de diálogo (incluindo avisos e snackbars). Também não conseguem reproduzir 
+ áudio nem vibrar o dispositivo.
+</p>
+
+<p>
+  A tela de início pode aplicar uma IU destacada ao aplicativos suspensos para mostrar que
+ não estão disponíveis. Podem, por exemplo, exibir o ícone do aplicativo
+ em cinza. A tela de início pode descobrir se um aplicativo está suspenso chamando o novo método
+ <code>DevicePolicyManager.getPackageSuspended()</code>.
+</p>
+
+<h2 id="toggle-work">Alternar modo de trabalho</h2>
+
+<p>
+  Em dispositivos com dois perfis, o usuário pode ativar ou desativar o modo de trabalho. Quando o modo de trabalho
+ é desativado, o perfil gerenciado é encerrado temporariamente. Os aplicativos,
+ a sincronização em segundo plano e as notificações do perfil de trabalho são desativados, inclusive
+ o aplicativo do dono do perfil. Quando o modo de trabalho está desativado, o sistema
+ exibe um ícone de status persistente para lembrar ao usuário que não é possível iniciar aplicativos
+de trabalho. A tela de início indica que os aplicativos e widgets de trabalho não podem
+ ser acessados.
+</p>
+
+<h2 id="always-on-vpn">Always-On VPN</h2>
+
+<p>
+  Os donos de dispositivo e perfil podem exigir que os aplicativos de trabalho se conectem sempre 
+por meio de uma VPN especificada. Se os donos definirem este requisito, o
+ dispositivo iniciará a VPN automaticamente na inicialização.
+</p>
+
+<p>
+  Os donos podem exigir o uso de uma VPN chamando o novo 
+método <code>DevicePolicyManager.setAlwaysOnVpnPackage()</code>. Para descobrir
+ se o dono definiu um requisito de VPN, chame o novo
+ método <code>DevicePolicyManager.GetAlwaysOnVpnPackage()</code>.
+</p>
+
+<p>
+  Como o sistema pode vincular os serviços de VPN diretamente sem interação com aplicativos,
+ os clientes de VPN precisam processar novos pontos de entrada para a Always-on VPN. Como antes, você
+ pode encontrar serviços ativos usando um filtro de intenção que corresponda à ação
+ {@link android.net.VpnService android.net.VpnService}.
+</p>
+
+<p>
+  Os usuários podem configurar manualmente um cliente de VPN always-on que implemente {@link
+android.net.VpnService} usando a tela <strong>Settings &gt; More &gt;
+ VPN</strong>.
+</p>
+
+<h2 id="contacts">Integração de contatos com perfil de trabalho</h2>
+
+<p>
+  Os donos de perfil podem permitir pesquisa local e busca no diretório de contatos de trabalho
+ do usuário principal. Por exemplo, um usuário pode acessar os diretórios de contatos
+ pessoais e de trabalho no telefone ou no aplicativo de contatos particular (se
+ permitido pelo administrador do perfil).
+</p>
+
+<p>
+  Desenvolvedores que se valem do Provedor de Contatos podem usar a Enterprise Contacts API
+ para acessar as entradas do diretório do perfil de trabalho do usuário principal se permitido
+ pela política:
+</p>
+
+<ul>
+  <li><code>ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Phone.ENTERPRISE_CONTENT_FILTER_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Email.ENTERPRISE_CONTENT_FILTER_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Callable.ENTERPRISE_CONTENT_FILTER_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Directory.ENTERPRISE_CONTENT_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Directory.isEntepriseDirectoryId()</code>
+  </li>
+</ul>
+
+<p>
+  Donos de perfis podem controlar a visibilidade de contatos de trabalho no usuário
+ principal usando os seguintes novos métodos:
+</p>
+
+<ul>
+  <li>
+    <code>DevicePolicyManager.setCrossProfileContactsSearchDisabled()</code>
+  </li>
+
+  <li>
+    <code>DevicePolicyManager.getCrossProfileContactsSearchDisabled()</code>
+  </li>
+</ul>
+
+<h2 id="remote-reboot">Reinicialização remota</h2>
+
+<p>
+  Donos de dispositivos podem reinicializá-los remotamente. Em alguns casos, dispositivos implementados
+ dentro de compartimentos em locais públicos podem impedir o acesso ao botão liga/desliga. Se um
+ dispositivo precisar de reinicialização, os administradores poderão fazer isso usando o novo
+ método <code>DevicePolicyManager.reboot()</code>.
+</p>
+
+<h2 id="disable-roaming">Desativação de roaming de dados</h2>
+
+<p>
+  Os donos de dispositivos podem desativar o roaming de dados usando a nova restrição de usuário <code>DISALLOW_DATA_ROAMING</code> do {@link
+android.os.UserManager}.
+</p>
+
+<h2 id="process-logging">Registro do processo empresarial</h2>
+
+<p>
+  Donos de dispositivos podem monitorá-los remotamente
+ para identificar atividades suspeitas, incluindo inicialização de aplicativos, atividade adb e desbloqueios de tela. Registros de processo
+ não exigem consentimento do usuário. Para recuperar os registros, os donos de dispositivos precisam ativar
+o registro no dispositivo usando <code>DevicePolicyManager.setSecurityLoggingEnabled()</code>.
+</p>
+
+<p>
+  As mudanças na API incluem:
+</p>
+
+<ul>
+
+  <li>
+    A nova classe <code>android.app.admin.SecurityLog</code> e seus
+ métodos
+  </li>
+
+  <li>
+    <code>void DevicePolicyManager.setSecurityLoggingEnabled()</code>
+  </li>
+
+  <li>
+    <code>boolean DevicePolicyManager.isSecurityLoggingEnabled()</code>
+  </li>
+
+  <li>
+    <code>List&lt;SecurityEvent&gt;
+      DevicePolicyManager.retrieveSecurityLogs()</code>
+  </li>
+
+  <li>
+    <code>List&lt;SecurityEvent&gt;
+      DevicePolicyManager.retrievePreRebootSecurityLogs()</code>
+  </li>
+
+  <li>
+    <code>void DeviceAdminReceiver.onSecurityLogsAvailable()</code>
+  </li>
+</ul>
+
+<h2 id="bug-reports">Relatórios de erros remotos</h2>
+
+<p>
+  Donos de dispositivos podem acionar e recuperar remotamente um relatório de erros que contém um
+ arquivo de despejo, o que permite a investigação forense de um incidente
+ conhecido ou um dispositivo danificado. Devido à natureza detalhada do relatório de erros,
+ ele só é gerado com o consentimento do usuário.
+</p>
+
+<p>
+  O Android N inclui as seguintes adições de API para dar suporte a este recurso. Para 
+obter detalhes, consulte a <a href="{@docRoot}preview/setup-sdk.html#docs-dl"> Referência do N
+ Preview SDK</a>.
+</p>
+
+<ul>
+  <li>
+    <code>DevicePolicyManager.requestBugreport()</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.onBugreportFailed()</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.onBugreportShared()</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.onBugreportSharingDeclined()</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</code>
+  </li>
+</ul>
+
+<h2 id="remove-cert">Remoção de certificado do cliente</h2>
+
+<p>
+  Agora, donos de perfis e dispositivos podem remover certificados de cliente que foram 
+instalados por meio do {@link android.app.admin.DevicePolicyManager#installKeyPair
+ installKeyPair()} chamando o novo método
+ <code>DevicePolicyManager.removeKeyPair()</code>.
+</p>
+
+<h2 id="grant-cert-on-install">Concessão de acesso a certificado do cliente
+na instalação</h2>
+
+<p>
+  Se um dono de perfil ou dispositivo conceder a um aplicativo de terceiros a capacidade de
+ gerenciar certificados, o próprio aplicativo poderá conceder acesso a certificados que
+ tenha instalado sem qualquer intervenção do dono.
+</p>
+
+<p>
+  A API existente para gerenciamento de certificados foi expandida para incluir:
+</p>
+
+<ul>
+  <li><code>DevicePolicyManager.installKeyPair()</code>
+  </li>
+</ul>
+
+<h2 id="ui-policy">Transparência da política de IU do sistema</h2>
+
+<p>
+  Políticas que afetem a experiência do usuário ou restrinjam Settings são
+ totalmente divulgadas e os donos de perfis e dispositivos podem atribuir a
+ política ao departamento de TI da empresa. Além de incluir uma mensagem consistente de "Ação
+ não permitida” em Settings, os administradores de TI podem definir uma
+ mensagem de suporte específica para a organização nas configurações do dispositivo com os seguintes
+ novos métodos {@link android.app.admin.DevicePolicyManager}:
+</p>
+
+<ul>
+  <li>
+    <code>DevicePolicyManager.setShortSupportMessage()</code>
+  </li>
+
+  <li>
+    <code>DevicePolicyManager.setLongSupportMessage()</code>
+  </li>
+</ul>
+
+<h2 id="restrictions-mgmt">Melhorias no gerenciamento de restrições de aplicativos</h2>
+
+<p>
+  O dono do dispositivo ou perfil pode habilitar outro aplicativo para gerenciar restrições de aplicativo
+ por meio do novo
+ método <code>DevicePolicyManager.setApplicationRestrictionsManagingPackage()</code>
+. O aplicativo indicado pode verificar se a permissão foi 
+concedida chamando
+ <code>DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage()</code>.
+</p>
+
+<p>
+  Um aplicativo indicado para gerenciar restrições de aplicativos pode chamar {@link
+ android.app.admin.DevicePolicyManager#setApplicationRestrictions
+setApplicationRestrictions()} e {@link
+android.app.admin.DevicePolicyManager#getApplicationRestrictions
+getApplicationRestrictions()} para quaisquer pacotes dentro daquele usuário ou perfil.
+</p>
+
+<h2 id="location-off">Interruptor para desativar localidade</h2>
+
+<p>
+  Os usuários podem desativar as permissões de localidade para aplicativos de trabalho sem deixar de
+ acessar informações de localidade em seus aplicativos pessoais. Um interruptor de acesso de localidade 
+ em separado em Location Settings permite que o usuário impeça atualizações de localização ou
+ consultas de última localidade em aplicativos executados no perfil de trabalho.
+</p>
+
+<p>
+  O interruptor de desligamento de localidade em nível superior desativa o acesso à localidade para o
+ perfil principal e o perfil gerenciado.
+</p>
+
+<h2 id="custom-provisioning">Provisionamento personalizado</h2>
+
+<p>
+  Um aplicativo pode personalizar os fluxos de provisionamento do dono do perfil e do dispositivo
+ com cores e logos corporativos.
+</p>
+
+<dl>
+  <dt>
+    <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code>
+  </dt>
+
+  <dd>
+    Personaliza a cor do fluxo.
+  </dd>
+
+  <dt>
+    <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code>
+  </dt>
+
+  <dd>
+    Personaliza o fluxo com um logo corporativo.
+  </dd>
+</dl>
+
+<h2 id="multi-wifi-ca">Diversos certificados de CA para Wi-Fi</h2>
+
+<p>
+  Donos de dispositivos e perfis podem definir vários certificados de CA para uma determinada
+ configuração de Wi-Fi. Quando redes Wi-Fi corporativas têm CA separadas para
+ pontos de acesso separados com o mesmo SSID, os administradores de TI podem incluir todas as
+ CA correspondentes na configuração de Wi-Fi usando o novo método
+ <code>setCaCertificates()</code>.
+</p>
+
+<p>
+  As APIs adicionadas foram:
+</p>
+
+<ul>
+  <li>
+    <code>WifiEnterpriseConfig.setCaCertificates()</code>
+  </li>
+
+  <li>
+    <code>WifiEnterpriseConfig.getCaCertificates()</code>
+  </li>
+</ul>
+
+<h2 id="custom-lock">Mensagem de tela de bloqueio personalizada</h2>
+
+<p>
+  Donos de dispositivos podem fornecer informações a ser exibidas na tela de bloqueio.
+  Essas informações têm prioridade sobre a mensagem do usuário na tela de bloqueio (se houver uma
+ definida). Os novos métodos {@link android.app.admin.DevicePolicyManager} são:
+</p>
+
+<ul>
+  <li>
+    <code>setDeviceOwnerLockScreenInfo()</code>
+  </li>
+
+  <li>
+    <code>getDeviceOwnerLockScreenInfo()</code>
+  </li>
+</ul>
+
+<h2 id="work-connectionservice">Perfil de trabalho ConnectionService</h2>
+
+<p>
+  Os donos de perfil podem especificar um aplicativo de telefone de trabalho que usa um
+ {@link android.telecom.ConnectionService} específico para trabalho para o back-end de
+ chamada (contas de chamada). O telefone de trabalho só mantém um registro de chamadas de trabalho
+ e baseia-se apenas em contatos de trabalho. Os usuários têm uma experiência consistente
+ de IU em chamada em qualquer aplicativo de ligação. As chamadas recebidas pelas contas de trabalho
+ são distintas das chamadas recebidas pelas
+contas pessoais.
+</p>
+
+<p>
+  O telefone deve verificar o novo sinalizador
+ <code>android.telecom.Call.PROPERTY_WORK_CALL</code> para determinar se a chamada
+ é de trabalho. Se for de trabalho, o telefone deverá indicar o fato
+ adicionando um distintivo de trabalho, por exemplo.
+</p>
+
+<h2 id="lock-wp">Bloqueio de plano de fundo</h2>
+
+<p>
+  Uma nova restrição de usuário (<code>DISALLOW_SET_WALLPAPER</code>) impede que
+ o usuário altere o plano de fundo. O dono do dispositivo ou perfil ainda pode
+ alterar o plano de fundo, mas só consegue mudar o plano de fundo
+ do usuário ou perfil que controla. Por exemplo, um dono de perfil não consegue mudar o
+plano de fundo do usuário pai, mas o dono de um perfil principal e
+ o dono do dispositivo conseguem. Um dono de perfil ou dispositivo que queira alterar o
+ plano de fundo precisa verificar se o usuário ou perfil que gerencia tem um
+ plano de fundo ({@link android.app.WallpaperManager#isWallpaperSupported
+ isWallpaperSupported()}) e se possui permissão para alterá-lo (com o
+ novo método <code>WallpaperManager.isWallpaperSettingAllowed()</code>)
+</p>
+
+<h2 id="lock-user-icon">Bloqueio de ícone de usuário</h2>
+
+<p>
+  Uma nova restrição de usuário (<code>DISALLOW_SET_USER_ICON</code>) impede que
+ o usuário altere o ícone de usuário. O dono do dispositivo ou perfil
+ ainda pode alterar o ícone. No entanto, um dono de perfil só consegue alterar o
+ ícone de usuário do perfil que controla.
+</p>
+
+<h2 id="health-monitoring">Monitoramento da saúde do dispositivo</h2>
+
+<p>
+  Um dono de perfil ou dispositivo pode usar a nova interface
+ <code>HardwarePropertiesManager</code> para recuperar informações importantes
+ sobre a integridade do dispositivo, como temperatura da CPU ou da GPU e uso de CPU. A nova
+ interface de monitoramento é especialmente útil para monitorar dispositivos não assistidos
+ executados em uma localidade remota.
+</p>
diff --git a/docs/html-intl/intl/pt-br/preview/features/background-optimization.jd b/docs/html-intl/intl/pt-br/preview/features/background-optimization.jd
index 244c188..073fd5e 100644
--- a/docs/html-intl/intl/pt-br/preview/features/background-optimization.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/background-optimization.jd
@@ -50,31 +50,33 @@
   Os processos em segundo plano podem fazer uso intensivo de memória e bateria. Por exemplo, uma
  transmissão implícita poderá iniciar diversos processos em segundo plano registrados
  para escutá-la, mesmo se esses processos não forem muito usados. Isso pode afetar
- substancialmente o desempenho do dispositivo e a experiência de usuário.
+ substancialmente o desempenho do dispositivo e a experiência do usuário.
 </p>
 
 <p>
-  Para aliviar esse problema, o N Developer Preview aplica as seguintes
- restrições:
+  Para aliviar esse problema, o Android N aplica as seguintes
+restrições:
 </p>
 
 <ul>
   <li>Os aplicativos direcionados ao Preview não receberão transmissões {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION} se estiverem
- registrados para recebê-las no seu manifesto. Aplicativos executados em primeiro plano
- ainda poderão escutar {@code CONNECTIVITY_CHANGE} no encadeamento principal
- registrando um {@link android.content.BroadcastReceiver} em {@link
-  android.content.Context#registerReceiver Context.registerReceiver()}.
+ android.net.ConnectivityManager#CONNECTIVITY_ACTION} se estiverem
+ registrados para recebê-las no seu manifesto. Os aplicativos em execução ainda
+poderão escutar {@code CONNECTIVITY_CHANGE} no encadeamento principal registrando um 
+{@link android.content.BroadcastReceiver} em {@link
+ android.content.Context#registerReceiver Context.registerReceiver()}.
   </li>
 
   <li>Os aplicativos não podem enviar nem receber transmissões {@link
-  android.hardware.Camera#ACTION_NEW_PICTURE} ou {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO}. Essa otimização
+ android.hardware.Camera#ACTION_NEW_PICTURE} ou {@link
+ android.hardware.Camera#ACTION_NEW_VIDEO}. Essa otimização
  afeta todos os aplicativos e não apenas os direcionados ao Preview.
   </li>
 </ul>
 
 <p>
+  Se o seu aplicativo usar qualquer uma dessas intenções, remova as dependências delas
+ assim que possível para direcionar corretamente os dispositivos Android N.
   A estrutura do Android oferece diversas soluções para reduzir a necessidade dessas
  transmissões implícitas. Por exemplo, {@link android.app.job.JobScheduler}
  e <a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
@@ -98,8 +100,8 @@
 </h2>
 
 <p>
-  Os aplicativos direcionados ao N Developer Preview não receberão transmissões {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION} se estiverem
+  Os aplicativos direcionados ao Android N não receberão transmissões {@link
+ android.net.ConnectivityManager#CONNECTIVITY_ACTION} se estiverem
  registrados para recebê-las no seu manifesto e os processos que dependerem dessas
  transmissões não serão iniciados. Isso pode ser um problema para aplicativos que quiserem
  escutar mudanças de rede ou executar atividades de rede em massa quando o
@@ -109,9 +111,9 @@
 </p>
 
 <p class="note">
-  <strong>Observação:</strong> um {@link android.content.BroadcastReceiver} registrado em 
-  {@link android.content.Context#registerReceiver Context.registerReceiver()}
- continuará a receber essas transmissões enquanto o aplicativo estiver em primeiro plano.
+  <strong>Observação:</strong> Um {@link android.content.BroadcastReceiver} registrado em 
+ {@link android.content.Context#registerReceiver Context.registerReceiver()}
+ continuará a receber essas transmissões enquanto o aplicativo estiver em execução.
 </p>
 
 <h3 id="sched-jobs">
@@ -162,10 +164,9 @@
 </h3>
 
 <p>
-  Aplicativos executados em primeiro plano ainda poderão escutar {@code
-  CONNECTIVITY_CHANGE} com um {@link
-  android.content.BroadcastReceiver} registrado. No entanto, a API {@link
-  android.net.ConnectivityManager} oferece um método mais robusto para solicitar
+  Os aplicativos em execução ainda poderão escutar {@code CONNECTIVITY_CHANGE} com um
+ {@link android.content.BroadcastReceiver} registrado. No entanto, a API {@link
+ android.net.ConnectivityManager} oferece um método mais robusto para solicitar
  um retorno de chamada apenas quando condições de rede especificadas são atendidas.
 </p>
 
@@ -194,13 +195,13 @@
 </h2>
 
 <p>
-  No N Developer Preview, os aplicativos não conseguem enviar nem receber transmissões {@link
-  android.hardware.Camera#ACTION_NEW_PICTURE} ou {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO}. Essa restrição ajuda a
+  No Android N, os aplicativos não conseguem enviar nem receber transmissões {@link
+ android.hardware.Camera#ACTION_NEW_PICTURE} ou {@link
+ android.hardware.Camera#ACTION_NEW_VIDEO}. Essa restrição ajuda a
  aliviar os impactos no desempenho e na experiência de usuário quando vários aplicativos devem
- despertar para processar uma nova imagem ou vídeo. O N Developer Preview
+ despertar para processar uma nova imagem ou vídeo. O Android N
  estende {@link android.app.job.JobInfo} e {@link
-  android.app.job.JobParameters} para oferecer uma solução alternativa.
+ android.app.job.JobParameters} para oferecer uma solução alternativa.
 </p>
 
 <h3 id="new-jobinfo">
@@ -208,7 +209,7 @@
 </h3>
 
 <p>
-  Para acionar trabalhos em mudanças de URI de conteúdo, o N Developer Preview estende
+  Para acionar trabalhos em mudanças de URI de conteúdo, o Android N estende
  a API {@link android.app.job.JobInfo} com os seguintes métodos:
 </p>
 
@@ -266,7 +267,7 @@
           MY_BACKGROUND_JOB,
           new ComponentName(context, MediaContentJob.class));
   builder.addTriggerContentUri(
-          new JobInfo.TriggerContentUri(MEDIA_URI,
+          new JobInfo.TriggerContentUri(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
           JobInfo.TriggerContentUri.FLAG_NOTIFY_FOR_DESCENDANTS));
   js.schedule(builder.build());
 }
@@ -283,7 +284,7 @@
 </h3>
 
 <p>
-  O N Developer Preview também estende {@link android.app.job.JobParameters} para
+  O Android N também estende {@link android.app.job.JobParameters} para
  permitir que o aplicativo receba informações úteis sobre quais autoridades de conteúdo
  e URIs acionaram o trabalho:
 </p>
@@ -356,14 +357,14 @@
   A otimização dos aplicativos para execução em dispositivos com pouca memória ou em
  condições de pouca memória pode melhorar o desempenho e a experiência do usuário. A remoção de
  dependências de serviços em segundo plano e receptores de transmissão
- implícita registrados estatisticamente podem aprimorar a execução do aplicativo nesses dispositivos. Embora
- o N Developer Preview avance na redução de alguns desses problemas,
+ implícita registrados estatisticamente pode aprimorar a execução do aplicativo nesses dispositivos. Embora
+ o Android N avance na redução de alguns desses problemas,
  recomendamos que você otimize os aplicativos para execução sem o uso desses
  processos em segundo plano.
 </p>
 
 <p>
-  O N Developer Preview introduz alguns comandos adicionais do <a href="{@docRoot}tools/help/adb.html">Bridge de Debug Android (ADB)</a> que
+  O Android N introduz alguns comandos adicionais do <a href="{@docRoot}tools/help/adb.html">Android Debug Bridge (ADB)</a> que
  podem ser usados para testar o comportamento do aplicativo de teste com esses processos em segundo plano desativados:
 </p>
 
@@ -374,7 +375,7 @@
 
   <li style="list-style: none; display: inline">
 <pre class="no-pretty-print">
-{@code $ adb shell cmd appops set RUN_IN_BACKGROUND ignore}
+{@code $ adb shell cmd appops set &lt;package&gt; RUN_IN_BACKGROUND ignore}
 </pre>
   </li>
 
@@ -384,7 +385,7 @@
 
   <li style="list-style: none; display: inline">
 <pre class="no-pretty-print">
-{@code $ adb shell cmd appops set RUN_IN_BACKGROUND allow}
+{@code $ adb shell cmd appops set &lt;package&gt; RUN_IN_BACKGROUND allow}
 </pre>
   </li>
-</ul>
\ No newline at end of file
+</ul>
diff --git a/docs/html-intl/intl/pt-br/preview/features/data-saver.jd b/docs/html-intl/intl/pt-br/preview/features/data-saver.jd
new file mode 100644
index 0000000..29c9ee4
--- /dev/null
+++ b/docs/html-intl/intl/pt-br/preview/features/data-saver.jd
@@ -0,0 +1,234 @@
+page.title=Economia de dados
+metaDescription=User-enabled otimização de uso de dados.
+page.keywords="android N", "data usage", "metered network"
+page.image=images/cards/card-nyc_2x.jpg
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>
+      Neste documento
+    </h2>
+
+    <ol>
+      <li>
+        <a href="#status">Verificação de preferências da Economia de dados</a>
+        <ol>
+          <li>
+            <a href="#request-whitelist">Solicitação de permissão para colocar na lista de permissões</a>
+          </li>
+        </ol>
+      </li>
+
+      <li>
+        <a href="#monitor-changes">Monitoramento de preferências do
+ Economia de dados</a>
+      </li>
+
+      <li>
+        <a href="#testing">Teste com comandos do Android Debug Bridge</a>
+      </li>
+    </ol>
+  </div>
+</div>
+
+<p>
+  Durante a vida útil de um smartphone, o custo do plano de dados pode
+facilmente exceder o custo do próprio dispositivo. No N Developer Preview, os usuários podem
+ ativar a Economia de dados no dispositivo como um todo para usar menos dados, seja
+ em roaming, perto do final do período de cobrança ou em pacotes de dados pré-pagos pequenos.
+</p>
+
+<p>
+  Quando um usuário ativa a Economia de dados em <strong>Settings</strong> e o dispositivo está 
+em uma rede tarifada, o sistema bloqueia o uso de dados em segundo plano e avisa
+ aos aplicativos para reduzir o uso de dados no primeiro plano sempre que possível. Os usuários podem 
+autorizar aplicativos específicos a usar dados tarifados em segundo plano, mesmo com a Economia
+ de dados ativada.
+</p>
+
+<p>
+  O N Developer Preview estende a API {@link android.net.ConnectivityManager}
+ para oferecer aos aplicativos uma forma de <a href="#status">recuperar as 
+preferências do usuário para a Economia de dados</a> e <a href="#monitor-changes">monitorar 
+as mudanças de preferências</a>. Como prática recomendada, os aplicativos devem verificar se o
+ usuário ativou a Economia de dados e tentar limitar o uso de dados em primeiro e
+ segundo plano.
+</p>
+
+<h2 id="status">
+  Verificação de preferências da Economia de dados
+</h2>
+
+<p>
+  No N Developer Preview, aplicativos podem usar a API {@link
+ android.net.ConnectivityManager} para determinar quais restrições
+ de uso de dados estão sendo aplicadas. O método {@code getRestrictBackgroundStatus()}
+ retorna um dos seguintes valores:
+</p>
+
+<dl>
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_DISABLED}
+  </dt>
+
+  <dd>
+    A Economia de dados está desativada.
+  </dd>
+
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_ENABLED}
+  </dt>
+
+  <dd>
+    O usuário ativou a Economia de dados para este aplicativo. Os aplicativos tentarão limitar o
+ uso de dados em primeiro plano e gerenciar as restrições ao
+ uso de dados em segundo plano.
+  </dd>
+
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_WHITELISTED}
+  </dt>
+
+  <dd>
+    O usuário ativou a Economia de dados, mas o aplicativo está na lista de permissões. Os aplicativos
+ ainda tentarão limitar o uso de dados em primeiro e segundo plano.
+  </dd>
+</dl>
+
+<p>
+  É prática recomendada limitar o uso de dados sempre que o dispositivo
+ estiver conectado a uma rede tarifada, mesmo que a Economia de dados esteja desativada e o aplicativo
+ esteja na lista de permissões. O modelo de código a seguir usa {@link
+ android.net.ConnectivityManager#isActiveNetworkMetered
+ ConnectivityManager.isActiveNetworkMetered()} e {@code
+ ConnectivityManager.getRestrictBackgroundStatus()} para determinar o volume máximo de dados
+ que o aplicativo pode usar:
+</p>
+
+<pre>
+ConnectivityManager connMgr = (ConnectivityManager)
+        getSystemService(Context.CONNECTIVITY_SERVICE);
+// Checks if the device is on a metered network
+if (connMgr.isActiveNetworkMetered()) {
+  // Checks user’s Data Saver settings.
+  switch (connMgr.getRestrictBackgroundStatus()) {
+    case RESTRICT_BACKGROUND_STATUS_ENABLED:
+    // Background data usage is blocked for this app. Wherever possible,
+    // the app should also use less data in the foreground.
+
+    case RESTRICT_BACKGROUND_STATUS_WHITELISTED:
+    // The app is whitelisted. Wherever possible,
+    // the app should use less data in the foreground and background.
+
+    case RESTRICT_BACKGROUND_STATUS_DISABLED:
+    // Data Saver is disabled. Since the device is connected to a
+    // metered network, the app should use less data wherever possible.
+  }
+} else {
+  // The device is not on a metered network.
+  // Use data as required to perform syncs, downloads, and updates.
+}
+</pre>
+
+<h3 id="request-whitelist">
+  Solicitação de permissão para colocar na lista de permissões
+</h3>
+
+<p>
+  Se o seu aplicativo precisa usar dados em segundo plano, ele pode solicitar permissão para
+ entrar na lista de permissões enviando uma intenção
+ <code>Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS</code>
+ que contenha o URI no nome de pacote do aplicativo, por exemplo,
+ <code>package:MY_APP_ID</code>.
+</p>
+
+<p>
+  O envio da intenção e do URI abre o aplicativo <strong>Settings</strong> e
+ exibe as configurações de uso de dados de seu aplicativo. O usuário pode decidir então se
+ ativará os dados em segundo plano para o aplicativo. Antes de enviar a intenção, é
+ prática recomendada perguntar primeiro ao usuário se ele deseja iniciar o 
+aplicativo <strong>Settings</strong> com o objetivo de ativar o uso
+ de dados em segundo plano.
+</p>
+
+<h2 id="monitor-changes">
+  Monitoramento de alterações nas preferências da Economia de dados
+</h2>
+
+<p>
+  Os aplicativos podem monitorar alterações nas preferências da Economia de dados criando um {@link
+ android.content.BroadcastReceiver} para escutar {@code
+ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED} e registrar
+ dinamicamente o receptor em {@link android.content.Context#registerReceiver
+ Context.registerReceiver()}. Quando recebe esta transmissão, o aplicativo deve
+ <a href="#status">verificar se as novas preferências da Economia de dados afetam
+ as permissões</a> chamando {@code
+ ConnectivityManager.getRestrictBackgroundStatus()}.
+</p>
+
+<p class="note">
+  <strong>Observação:</strong> O sistema só envia esta transmissão para aplicativos que
+ se registram dinamicamente para recebê-la em {@link
+ android.content.Context#registerReceiver Context.registerReceiver()}. Os aplicativos
+ que se registrarem para receber a transmissão no manifesto não a
+ receberão.
+</p>
+
+<h2 id="testing">
+  Teste com comandos do Android Debug Bridge
+</h2>
+
+O <a href="{@docRoot}tools/help/adb.html">Android Debug Bridge (ADB)</a>
+oferece alguns comandos que podem ser usados para verificar e configurar permissões
+de rede:
+
+<dl>
+  <dt>
+    <code>$ adb shell dumpsys netpolicy</code>
+  </dt>
+
+  <dd>
+    Gera um relatório que inclui a configuração de restrição atual da rede de segundo plano global
+, os UIDs do pacote em lista de permissões e as permissões de rede
+ de outros pacotes conhecidos.
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy</code>
+  </dt>
+
+  <dd>
+    Exibe uma lista completa de comandos do Gerenciador de políticas de rede (netpolicy).
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy set restrict-background
+    &lt;boolean&gt;</code>
+  </dt>
+
+  <dd>
+    Ativa ou desativa o modo da Economia de dados ao passar <code>true</code> ou
+ <code>false</code>, respectivamente.
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy add restrict-background-whitelist
+    &lt;UID&gt;</code>
+  </dt>
+
+  <dd>
+    Adiciona o UID do pacote especificado à lista de permissões para permitir o uso de dados de segundo plano
+ tarifados.
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy remove restrict-background-whitelist
+    &lt;UID&gt;</code>
+  </dt>
+
+  <dd>
+    Adiciona o UID do pacote especificado à lista de permissões para bloquear o uso de dados
+ de segundo plano tarifados enquanto a Economia de dados estiver ativada.
+  </dd>
+</dl>
\ No newline at end of file
diff --git a/docs/html-intl/intl/pt-br/preview/features/direct-boot.jd b/docs/html-intl/intl/pt-br/preview/features/direct-boot.jd
index 830e389..d14449f 100644
--- a/docs/html-intl/intl/pt-br/preview/features/direct-boot.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/direct-boot.jd
@@ -10,7 +10,7 @@
   <h2>Neste documento</h2>
   <ol>
     <li><a href="#run">Solicitar acesso para executar durante a inicialização direta</a></li>
-    <li><a href="#access">Acessar armazenamento criptografado do dispositivo</a></li>
+    <li><a href="#access">Acesso ao armazenamento criptografado do dispositivo</a></li>
     <li><a href="#notification">Receber notificação quando o usuário desbloquear</a></li>
     <li><a href="#migrating">Migrar dados existentes</a></li>
     <li><a href="#testing">Testar seu aplicativo com reconhecimento de criptografia</a></li>
@@ -36,7 +36,7 @@
 
 <ul>
 <li>Aplicativos com notificações programadas, como aplicativos de
-relógio.</li>
+despertador.</li>
 <li>Aplicativos que fornecem notificações importantes ao usuário, como aplicativos de SMS.</li>
 <li>Aplicativos que fornecem serviços de acessibilidade, como o Talkback.</li>
 </ul>
@@ -47,7 +47,7 @@
 uma inicialização verificada com sucesso.</p>
 
 <p>Para dados que devem ser criptografados com uma chave associada às credenciais
-do usuário, como um PIN ou uma chave, use o armazenamento criptografado de credenciais.
+do usuário, como um PIN ou uma senha, use o armazenamento criptografado de credenciais.
 Esse armazenamento só é disponibilizado depois que o usuário
 desbloquear o dispositivo com sucesso e até que ele reinicie o dispositivo novamente. Se o
 usuário ativar a tela de bloqueio após desbloquear o dispositivo, isso não bloqueará
@@ -59,21 +59,21 @@
 poderem ser executados no modo de inicialização direta ou acessar o armazenamento criptografado
 do dispositivo. Os aplicativos são registrados com o sistema ao marcar os componentes como
 <i>tendo reconhecimento de criptografia</i>. Para marcar seu componente como tendo reconhecimento de criptografia, defina o atributo
-<code>android:encryptionAware</code> como true no manifesto.<p>
+<code>android:directBootAware</code> como true no manifesto.<p>
 
 <p>Componentes com reconhecimento de criptografia podem se registrar para receber uma mensagem de transmissão
 <code>LOCKED_BOOT_COMPLETED</code> do
-sistema quando o dispositivo for reiniciado. Nesse momento, o armazenamento criptografado do
+sistema quando o dispositivo é reiniciado. Nesse momento, o armazenamento criptografado do
 dispositivo é disponibilizado e pode executar tarefas
 necessárias durante o modo de inicialização, como o acionamento de um alarme programado.</p>
 
-<p>O fragmento de código a seguir é um exemplo de como registrar um
+<p>O snippet de código a seguir é um exemplo de como registrar um
 {@link android.content.BroadcastReceiver} como tendo reconhecimento de criptografia e adicionar um
 filtro de intenção para <code>LOCKED_BOOT_COMPLETED</code> no manifesto do aplicativo:</p>
 
 <pre>
-&lt;receiever
-  android:encryptionAware="true" &gt;
+&lt;receiver
+  android:directBootAware="true" &gt;
   ...
   &lt;intent-filter&gt;
     &lt;action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" /&gt;
@@ -84,17 +84,17 @@
 <p>Quando o usuário desbloquear o dispositivo, todos os componentes poderão acessar o armazenamento
 criptografado do dispositivo e o armazenamento criptografado de credenciais.</p>
 
-<h2 id="access">Acessar armazenamento criptografado do dispositivo</h2>
+<h2 id="access">Acesso ao armazenamento criptografado do dispositivo</h2>
 
 <p>Para acessar o armazenamento criptografado do dispositivo, crie uma segunda instância de
 {@link android.content.Context} chamando
-<code>Context.createDeviceEncryptedStorageContext()</code>. Todas as chamadas da API
+<code>Context.createDeviceProtectedStorageContext()</code>. Todas as chamadas da API
 de armazenamento que usam esse contexto acessam o armazenamento criptografado do dispositivo. O
 exemplo a seguir acessa o armazenamento criptografado do dispositivo e abre um
 arquivo de dados existente do aplicativo:</p>
 
 <pre>
-Context directBootContext = Context.createDeviceEncryptedStorageContext();
+Context directBootContext = appContext.createDeviceProtectedStorageContext();
 // Access appDataFilename that lives in device encrypted storage
 FileInputStream inStream = directBootContext.openFileInput(appDataFilename);
 // Use inStream to read content...
@@ -126,8 +126,8 @@
 
 <p>Se um usuário atualizar o dispositivo para usar o modo de inicialização direta, você poderá ter dados
 existentes que precisem ser migrados para o armazenamento criptografado do dispositivo. Use
-<code>Context.migrateSharedPreferencesFrom()</code> e
-<code>Context.migrateDatabaseFrom()</code> para migrar dados de preferências e do banco de
+<code>Context.moveSharedPreferencesFrom()</code> e
+<code>Context.moveDatabaseFrom()</code> para migrar dados de preferências e do banco de
 dados entre o armazenamento criptografado de credenciais e o armazenamento criptografado do dispositivo.</p>
 
 <p>Tenha bom senso ao decidir quais dados migrar do armazenamento
diff --git a/docs/html-intl/intl/pt-br/preview/features/icu4j-framework.jd b/docs/html-intl/intl/pt-br/preview/features/icu4j-framework.jd
index f93f82b..df5c3a4 100644
--- a/docs/html-intl/intl/pt-br/preview/features/icu4j-framework.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/icu4j-framework.jd
@@ -1,5 +1,4 @@
-page.title=APIs de estrutura do Android para ICU4J
-page.tags=androidn
+page.title=ICU4J Android Framework APIs
 page.image=images/cards/card-nyc_2x.jpg
 
 @jd:body
@@ -54,7 +53,7 @@
  <code>android.icu</code>, não do <code>com.ibm.icu</code>. A
  estrutura do Android pode optar por não
  expor as APIs do ICU4J por diversos motivos. Por exemplo, o Android N não expõe
- algumas APIs obsoletas ou APIs que a equipe do ICU ainda não declarou como
+ algumas APIs obsoletas ou que a equipe do ICU ainda não declarou como
  estáveis. Conforme a equipe do ICU torna APIs obsoletas, o Android também as marcará
  como obsoletas, mas continuará incluindo-as.
 </p>
@@ -95,9 +94,9 @@
 </p>
 
 <p class="note">
-  <b>Observação</b>: As APIs de estrutura do ICU4J usam o espaço de nome {@code android.icu}
+  <b>Observação</b>: As APIs de estrutura do ICU4J usam o namespace {@code android.icu}
  em vez de {@code com.ibm.icu}. Isso ocorre para evitar conflitos
- de espaço de nome em APKs que contêm as próprias bibliotecas {@code com.ibm.icu}.
+ de namespace em APKs que contêm as próprias bibliotecas {@code com.ibm.icu}.
 </p>
 
 <h3 id="migrate-from-android">
diff --git a/docs/html-intl/intl/pt-br/preview/features/multi-window.jd b/docs/html-intl/intl/pt-br/preview/features/multi-window.jd
index 31fa012..7742182 100644
--- a/docs/html-intl/intl/pt-br/preview/features/multi-window.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/multi-window.jd
@@ -17,8 +17,9 @@
       </ol>
     <h2>Veja também</h2>
       <ol>
-        <li><a class="external-link" href="https://github.com/googlesamples/android-MultiWindowPlayground">Playground - aplicativo de exemplo
+        <li><a class="external-link" href="https://github.com/googlesamples/android-MultiWindowPlayground">Playground — aplicativo de exemplo
  do modo de várias janelas</a></li>
+        <li><a class="external-link" href="https://medium.com/google-developers/5-tips-for-preparing-for-multi-window-in-android-n-7bed803dda64">Cinco dicas para preparar o modo de várias janelas no Android N</a></li>
       </ol>
   </div>
 </div>
@@ -130,7 +131,9 @@
 <p>
   Quando o usuário coloca um aplicativo no modo de várias janelas, o sistema notifica a
  atividade sobre a mudança de configuração, como especificado em <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Processamento de alterações
- no tempo de execução</a>. Essencialmente, essa alteração afeta
+ no tempo de execução</a>. Isso também acontece quando o usuário redimensiona o aplicativo ou
+ coloca-o novamente no modo de tela cheia.
+  Essencialmente, essa alteração afeta
  o ciclo de vida da atividade da mesma forma que quando o sistema notifica o aplicativo de que o dispositivo mudou
  do modo de retrato para paisagem, exceto que as dimensões do dispositivo são
  alteradas, em vez de simplesmente permutadas. Como discutido em <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Processamento de alterações
@@ -154,8 +157,10 @@
   Se o seu aplicativo for direcionado ao Android N, você poderá configurar como
  e se as atividades do aplicativo suportam a exibição em várias janelas. Você pode definir
  atributos no manifesto para controlar o tamanho e o layout.
-  As definições de atributos de uma atividade raiz se aplicam a todas as atividades
- em sua pilha de tarefas.
+  As configurações de atributos de uma atividade raiz se aplicam a todas as atividades
+ em sua pilha de tarefas. Por exemplo, se a atividade raiz tiver
+ <code>android:resizeableActivity</code> definido como true, todas as atividades
+ na pilha de tarefas serão redimensionáveis.
 </p>
 
 <p class="note">
@@ -239,7 +244,7 @@
   </dd>
 
   <dt>
-    <code>android:minimalSize</code>
+    <code>android:minimalHeight</code>, <code>android:minimalWidth</code>
   </dt>
 
   <dd>
@@ -261,7 +266,8 @@
     &lt;layout android:defaultHeight="500dp"
           android:defaultWidth="600dp"
           android:gravity="top|end"
-          android:minimalSize="450dp" /&gt;
+          android:minimalHeight="450dp"
+          android:minimalWidth="300dp" /&gt;
 &lt;/activity&gt;
 </pre>
 
@@ -296,12 +302,13 @@
 <p>
   Os novos métodos a seguir foram adicionados à classe {@link android.app.Activity}
  para oferecer suporte à exibição em várias janelas. Para obter detalhes sobre cada método, consulte a
- <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referência do N Preview SDK</a>.
+ <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referência
+ do N Preview SDK</a>.
 </p>
 
 <dl>
   <dt>
-    <code>Activity.inMultiWindow()</code>
+    <code>Activity.isInMultiWindowMode()</code>
   </dt>
 
   <dd>
@@ -309,7 +316,7 @@
   </dd>
 
   <dt>
-    <code>Activity.inPictureInPicture()</code>
+    <code>Activity.isInPictureInPictureMode()</code>
   </dt>
 
   <dd>
@@ -317,45 +324,45 @@
 
     <p class="note">
       <strong>Observação:</strong> o modo de imagem em imagem é um caso especial do
- modo de várias janelas. Se <code>myActivity.inPictureInPicture()</code>
- retornar verdadeiro, <code>myActivity.inMultiWindow()</code> também retornará
- verdadeiro.
+ modo de várias janelas. Se <code>myActivity.isInPictureInPictureMode()</code>
+ retornar true, <code>myActivity.isInMultiWindowMode()</code> também
+ retornará true.
     </p>
   </dd>
 
   <dt>
-    <code>Activity.onMultiWindowChanged()</code>
+    <code>Activity.onMultiWindowModeChanged()</code>
   </dt>
 
   <dd>
     O sistema chama esse método sempre que a atividade entra ou sai do
- modo de várias janelas. O sistema passará ao método o valor verdadeiro se a
- atividade entrar no modo de várias janelas e falso se a atividade
+ modo de várias janelas. O sistema passará ao método o valor true se a
+ atividade entrar no modo de várias janelas e false se a atividade
  sair do modo de várias janelas.
   </dd>
 
   <dt>
-    <code>Activity.onPictureInPictureChanged()</code>
+    <code>Activity.onPictureInPictureModeChanged()</code>
   </dt>
 
   <dd>
     O sistema chama esse método sempre que a atividade entra ou sai do
- modo de imagem em imagem. O sistema passará ao método o valor verdadeiro se
- a atividade entrar no modo de várias janelas e falso se a atividade
+ modo de imagem em imagem. O sistema passará ao método o valor true se
+ a atividade entrar no modo de várias janelas e false se a atividade
  sair do modo de várias janelas.
   </dd>
 </dl>
 
 <p>
   Existem também versões de {@link android.app.Fragment} para cada um desses
- métodos como, por exemplo, <code>Fragment.inMultiWindow()</code>.
+ métodos como, por exemplo, <code>Fragment.isInMultiWindowMode()</code>.
 </p>
 
 <h3 id="entering-pip">Entrar no modo de imagem em imagem</h3>
 
 <p>
   Para colocar uma atividade no modo de imagem em imagem, chame o novo método
- <code>Activity.enterPictureInPicture()</code>. Esse método não terá efeito se
+ <code>Activity.enterPictureInPictureMode()</code>. Esse método não terá efeito se
  o dispositivo não oferecer suporte ao modo de imagem em imagem. Para obter mais informações,
  consulte a documentação do modo <a href="picture-in-picture.html">imagem em imagem</a>.
 </p>
@@ -489,7 +496,7 @@
 <p>
   Se o aplicativo não declarar uma orientação fixa, inicie o aplicativo
  em um dispositivo executando Android N e tente colocar o aplicativo no modo
- de tela dividida. Verifique se a experiência de usuário é
+ de tela dividida. Verifique se a experiência do usuário é
  aceitável quando o aplicativo é redimensionado obrigatoriamente.
 </p>
 
diff --git a/docs/html-intl/intl/pt-br/preview/features/multilingual-support.jd b/docs/html-intl/intl/pt-br/preview/features/multilingual-support.jd
index 3a8ec3a..072e55b 100644
--- a/docs/html-intl/intl/pt-br/preview/features/multilingual-support.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/multilingual-support.jd
@@ -1,4 +1,4 @@
-page.title=Idioma e localidade
+page.title=Idioma e localidades
 page.tags=androidn
 page.image=images/cards/card-nyc_2x.jpg
 
@@ -37,22 +37,26 @@
 <h2 id="preN">Desafios ao resolver recursos de idioma</h2>
 
 <p>Antes do Android N, o Android nem sempre conseguia
- corresponder aplicativos e localidades de sistema corretamente. Por exemplo, supondo que o idioma padrão do seu aplicativo
- seja o inglês americano, mas que ele também tenha strings em espanhol em arquivos de recurso {@code es_ES}
-.</p>
-<p>Quando seu código Java fizesse referência a strings, ele resolveria os idiomas das strings da
-seguinte maneira:</p>
-<ul>
-<li>Se um dispositivo fosse definido como {@code es_MX} (espanhol do México), o Android carregaria
-strings dos arquivos de recurso {@code es_ES}.</li>
-<li>Se um dispositivo fosse definido como {@code en_AU}, o Android assumiria {@code
-en_US}. O sistema também assumiria {@code en_US} como padrão se um usuário escolhesse um
-idioma não suportado pelo aplicativo, como o francês.</li>
-</ul>
+ fazer a correspondência correta entre aplicativos e localidades do sistema.</p>
+
+ <p>Considere, por exemplo, que temos a seguinte situação:</p>
+ <ul>
+ <li>o idioma padrão do seu aplicativo é {@code en_US} (inglês - EUA), mas ele também tem
+ strings em espanhol localizadas em arquivos de recursos {@code es_ES}
+.</li>
+ <li> Um dispositivo está definido para {@code es_MX}. </li>
+
+<p>Quando seu código Java usa strings como referência, o sistema carrega
+strings do arquivo de recursos padrão ({@code en_US}), mesmo que o aplicativo tenha recursos em
+espanhol localizados em {@code es_ES}. Isso acontece porque, quando
+ não consegue encontrar uma correspondência exata, o sistema continua procurando recursos após extrair o
+ código do país da localidade. Por fim, se não há correspondência, o sistema volta
+ ao padrão, que é {@code en_US}. </p>
 
 
-<p>Esses problemas de resolução surgiram porque o sistema removia o código de país
- da localidade se não encontrasse uma correspondência exata.  Por exemplo:</p>
+<p>O sistema também usaria {@code en_US} como padrão se o usuário escolhesse um idioma
+ não suportado pelo aplicativo, como o francês. Por exemplo:</p>
+
 <p class="table-caption" id="t-resource-res">
 <strong>Tabela 1.</strong> Resolução de recurso sem uma correspondência exata de localidade.
 </p>
@@ -187,7 +191,7 @@
 <h2 id="design">Projetar seu aplicativo para oferecer suporte a localidades adicionais</h2>
 <h3>LocaleList API</h3>
 
-<p>O Android N adiciona uma nova API {@code LocaleList.GetDefault()}
+<p>O Android N adiciona uma nova API {@code LocaleList.getDefault()}
 que permite que os aplicativos façam uma consulta direta na lista de idiomas especificados por um usuário. Essa API
 permite que você crie um comportamento mais sofisticado
  para o aplicativo e uma exibição de conteúdo mais otimizada. Por exemplo, uma pesquisa
@@ -204,7 +208,7 @@
 nos arquivos de recurso.  No entanto, com o conjunto mais amplo de localidades suportadas do Android,
 podem existir
 diferenças significativas nos formatos de data, hora, moeda e informações
-similares dentro da mesma localidade. Colocar formatos no código podem produzir uma
+similares dentro da mesma localidade. Colocar formatos no código pode produzir uma
 experiência confusa para os usuários.  Portanto, ao desenvolver para o Android N,
 não deixe de usar formatadores em vez de strings no código para números e datas.</p>
 
diff --git a/docs/html-intl/intl/pt-br/preview/features/notification-updates.jd b/docs/html-intl/intl/pt-br/preview/features/notification-updates.jd
index a714abb..72c2fe6 100644
--- a/docs/html-intl/intl/pt-br/preview/features/notification-updates.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/notification-updates.jd
@@ -1,5 +1,5 @@
 page.title=Notificações
-page.tags=notifications
+page.tags=notificações
 helpoutsWidget=true
 page.image=/preview/images/notifications-card.png
 
@@ -16,6 +16,7 @@
   <li><a href="#direct">Resposta direta</a></li>
   <li><a href="#bundle">Notificações empacotadas</a></li>
   <li><a href="#custom">Visualizações personalizadas</a></li>
+  <li><a href="#style">Estilo de mensagem</a></li>
 </ol>
 
 </div>
@@ -51,16 +52,14 @@
  rapidamente a mensagens de texto ou atualizar listas de tarefas diretamente na interface de
  notificação. Em um dispositivo portátil, a ação de resposta em linha aparece como botão adicional
  anexado à notificação. Quando um usuário responde pelo teclado, o sistema anexa
- a resposta de texto à intenção
- especificada como ação de notificação e envia a intenção ao
- aplicativo no dispositivo.
+ a resposta de texto à intenção especificada como ação de notificação e envia a intenção ao aplicativo no dispositivo.
 
 
 <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> O Android N adiciona o botão de ação
- <strong>Reply</strong>.
+  <strong>Figura 1.</strong>O Android N adiciona o botão de ação <strong>Reply</strong>
+.
 </p>
 
 <h3>Adição de ações de resposta em linha</h3>
@@ -76,7 +75,7 @@
  da entrada.
 
 <pre>
-// Key for the string that's delivered in the action's intent
+// 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)
@@ -88,7 +87,7 @@
  a uma ação usando <code>addRemoteInput()</code>.
 
 <pre>
-// Create the reply action and add the remote input
+// 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)
@@ -100,8 +99,8 @@
 <li>Aplique a ação a uma notificação e emita a notificação.
 
 <pre>
-// Build the notification and add the action
-Notification notification =
+// Build the notification and add the action.
+Notification newMessageNotification =
         new Notification.Builder(mContext)
                 .setSmallIcon(R.drawable.ic_message)
                 .setContentTitle(getString(R.string.title))
@@ -109,10 +108,10 @@
                 .addAction(action))
                 .build();
 
-// Issue the notification
+// Issue the notification.
 NotificationManager notificationManager =
         NotificationManager.from(mContext);
-notificationManager.notify(notificationId, notification);
+notificationManager.notify(notificationId, newMessageNotification);
 
 </pre>
 </li>
@@ -129,30 +128,32 @@
   <strong>Figura 2.</strong> O usuário insere texto na aba de notificações.
 </p>
 
-<h3>Recuperação da entrada do usuário na resposta em linha</h3>
+<h3>
+  Recuperação da entrada do usuário na resposta em linha
+</h3>
 
-<p>Para receber a entrada do usuário da interface de notificação para a atividade
- declarada na intenção de ação de resposta:</p>
+<p>
+  Para receber a entrada do usuário da interface de notificação para a atividade
+ declarada na intenção de ação de resposta:
+</p>
+
 <ol>
-<li> Chame {@link android.support.v4.app.RemoteInput#getResultsFromIntent
-  getResultsFromIntent()} passando a intenção da ação de notificação como
+  <li>Chame {@link android.support.v4.app.RemoteInput#getResultsFromIntent
+ getResultsFromIntent()} passando a intenção da ação de notificação como
  parâmetro de entrada. Esse método retorna um {@link android.os.Bundle} que
  contém a resposta de texto.
-</li>
 
-<pre>
+    <pre>
 Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
 </pre>
+  </li>
 
-<li>Consulte a resposta usando a chave de resultado (fornecida ao construtor {@link
-  android.support.v4.app.RemoteInput.Builder}).
-</li>
-</ol>
+  <li>Consulte a resposta usando a chave de resultado (fornecida ao construtor {@link
+ android.support.v4.app.RemoteInput.Builder}). Você pode concluir
+ este processo e recuperar o texto de entrada criando um método, como no
+ snippet de código a seguir:
 
-<p>O fragmento de código a seguir mostra como um método recupera o texto de entrada
- de um pacote:</p>
-
-<pre>
+    <pre>
 // Obtain the intent that started this activity by calling
 // Activity.getIntent() and pass it into this method to
 // get the associated string.
@@ -160,20 +161,53 @@
 private CharSequence getMessageText(Intent intent) {
     Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
     if (remoteInput != null) {
-            return remoteInput.getCharSequence(KEY_TEXT_REPLY);
-            }
+        return remoteInput.getCharSequence(KEY_TEXT_REPLY);
+    }
     return null;
  }
 </pre>
+  </li>
 
-<p>Os aplicativos podem aplicar lógica para decidir as ações a serem executadas para o texto
- recuperado.
- Para aplicativos interativos (como bate-papos), forneça mais contexto na própria notificação
- (por exemplo, várias linhas de histórico de bate-papo, incluindo as mensagens do próprio usuário)
- para que o usuário possa responder de forma adequada.
- Quando o usuário responde via {@link android.support.v4.app.RemoteInput},
- inclua o texto no histórico de resposta com o método 
-{@code setRemoteInputHistory()}.</p>
+  <li>Crie e emita outra notificação usando o mesmo código que
+ você forneceu para a notificação anterior. O indicador de progresso
+ desaparece da interface de notificação para informar os usuários que houve uma resposta
+ bem-sucedida. Ao trabalhar com esta nova notificação, use o contexto que é passado
+ ao método {@code onReceive()} do 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>
+  Para aplicativos interativos, como bate-papos, pode ser útil incluir contexto
+ adicional ao lidar com texto recebido. Por exemplo, estes aplicativos podem exibir
+ várias linhas de histórico de bate-papo. Quando o usuário responde por {@link
+ android.support.v4.app.RemoteInput}, você pode atualizar o histórico de respostas
+ usando o método {@code setRemoteInputHistory()}.
+</p>
+
+<p>
+  A notificação precisará ser atualizada ou cancelada depois que o aplicativo tiver
+ recebido a entrada remota. Quando o usuário responde a uma atualização remota
+ usando uma Resposta direta,
+ não cancele a notificação. Em vez disso, atualize a notificação para exibir a resposta do usuário.
+Para notificações que usam {@code MessagingStyle}, adicione
+ a resposta como última mensagem. Ao usar outros modelos, você pode
+anexar a resposta do usuário ao histórico da entrada remota.
+</p>
 
 <h2 id="bundle">Notificações empacotadas</h2>
 
@@ -203,6 +237,12 @@
  de notificações.
 </p>
 
+<p class="note">
+  <strong>Observação:</strong> Se o mesmo aplicativo enviar quatro ou mais notificações
+ e não especificar um agrupamento, o
+ sistema as agrupará automaticamente.
+</p>
+
 <p>Para saber como adicionar notificações a um grupo, consulte 
 <a href="{@docRoot}training/wearables/notifications/stacks.html#AddGroup">Adicionar 
 cada notificação a um grupo</a>.</p>
@@ -283,12 +323,12 @@
 
 <p>
   Para compatibilidade com versões anteriores, as mesmas APIs estão disponíveis com
- a classe {@link android.support.v4.app.NotificationCompat} da biblioteca de suporte
-, permitindo criar notificações que funcionem em versões anteriores do
+ a classe {@link android.support.v4.app.NotificationCompat} da biblioteca de suporte,
+ permitindo criar notificações que funcionem em versões anteriores do
  Android. Em celulares e tablets, os usuários somente visualizam as notificações resumidas.
  Portanto, um aplicativo deve ter uma notificação no estilo de caixa de entrada ou equivalente,
- representativa de todo o conteúdo de informações do grupo. Como dispositivos Android
- Wear permite que os usuários vejam todos as notificações filhas, mesmo em níveis
+ representativa de todo o conteúdo de informações do grupo. Como os dispositivos Android
+ Wear permitem que os usuários vejam todas as notificações filhas, mesmo em níveis
  de plataforma antigos, você deve criar notificações filhas independentemente do nível
  da API.
 </p>
@@ -314,11 +354,11 @@
 <p>Para usar essa nova API, chame o método {@code setStyle()}, passando o
  estilo de visualização personalizada desejado.</p>
 
-<p>Este fragmento mostra como construir um objeto de notificação personalizada com o método
- {@code DecoratedCustomViewStyle()}.</p>
+<p>O snippet mostra como construir um objeto de notificação personalizada com o método 
+{@code DecoratedCustomViewStyle()}.</p>
 
 <pre>
-Notification noti = new Notification.Builder()
+Notification notification = new Notification.Builder()
            .setSmallIcon(R.drawable.ic_stat_player)
            .setLargeIcon(albumArtBitmap))
            .setCustomContentView(contentView);
@@ -326,3 +366,26 @@
            .build();
 
 </pre>
+
+<h2 id="style">Estilo de mensagens</h2>
+<p>
+  O Android N traz uma nova API para personalização do estilo de uma notificação.
+  Usando a classe <code>MessageStyle</code>, você pode alterar vários 
+rótulos exibidos na notificação, incluindo o título da conversa,
+ mensagens adicionais e a visualização de conteúdo para a notificação.
+</p>
+
+<p>
+  O seguinte snippet de código demonstra como personalizar o estilo de uma
+ notificação usando a classe <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/pt-br/preview/features/picture-in-picture.jd b/docs/html-intl/intl/pt-br/preview/features/picture-in-picture.jd
index ec75fa3..3a7dec4 100644
--- a/docs/html-intl/intl/pt-br/preview/features/picture-in-picture.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/picture-in-picture.jd
@@ -11,11 +11,13 @@
 <ol>
   <li><a href="#declaring">Declarar que sua atividade oferece suporte ao modo de 
 imagem em imagem</a></li>
-  <li><a href="#pip_button">Alternar sua atividade para o modo de imagem em imagem</a>
+  <li><a href="#pip_button">Alternar a atividade para o modo de imagem em imagem</a>
 </li>
-  <li><a href="#handling_ui">Lidar com a interface durante o modo de imagem em imagem</a>
+  <li><a href="#handling_ui">Lidar com a IU durante o modo de imagem em imagem</a>
 </li>
-  <li><a href="#continuing_playback">Continuar a reprodução de vídeos no modo de 
+  <li><a href="#continuing_playback">Continuar reprodução de vídeo no modo de 
+imagem em imagem</a></li>
+  <li><a href="#single_playback">Usar uma única atividade de reprodução para
 imagem em imagem</a></li>
   <li><a href="#best">Práticas recomendadas</a></li>
 </ol>
@@ -41,7 +43,7 @@
 
 <ul>
 <li>Seu aplicativo pode passar um vídeo para o modo de PIP quando o usuário
-sai do vídeo para navegar por outro conteúdo.</li>
+sai do vídeo para procurar outro conteúdo.</li>
 <li>Seu aplicativo pode passar um vídeo para o modo de PIP quando um usuário assiste ao final
 de um episódio de conteúdo. A janela principal exibe informações promocionais ou de resumo
 sobre o próximo episódio da série.</li>
@@ -65,7 +67,7 @@
 <p>O PIP utiliza as APIs de várias janelas disponíveis no Android N para
 fornecer a janela sobreposta de vídeo fixo. Para adicionar o modo de PIP ao seu aplicativo, você deve
 registrar as atividades que oferecem suporte a PIP, alternar a atividade para o modo de PIP conforme
-a necessidade e garantir que os elementos de interface sejam ocultados e que a reprodução do vídeo continue quando
+a necessidade e garantir que os elementos de IU sejam ocultados e que a reprodução do vídeo continue quando
 a atividade estiver no modo de PIP.</p>
 
 <h2 id="declaring">Declarar que sua atividade oferece suporte ao modo de imagem em imagem</h2>
@@ -89,29 +91,29 @@
 
 <p>Ao registrar a atividade, lembre-se de que, no modo de PIP, ela
 é mostrada em uma pequena janela sobreposta em uma tela de TV. Atividades de reprodução de
-vídeo com uma quantidade mínima de itens de interface oferecem a melhor experiência para o usuário. Atividades que contêm
-pequenos elementos de interface podem não oferecer uma boa experiência para o usuário
+vídeo com uma quantidade mínima de itens de IU oferecem a melhor experiência do usuário. Atividades que contêm
+pequenos elementos de IU podem não oferecer uma boa experiência do usuário
 no modo de PIP, pois ele não conseguirá enxergar os detalhes desses elementos
 na janela do PIP.</p>
 
-<h2 id="pip_button">Alternar sua atividade para o modo de imagem em imagem</h2>
+<h2 id="pip_button">Alternar a atividade para o modo de imagem em imagem</h2>
 
 Quando precisar colocar a atividade no modo de PIP, chame
-<code>Activity.enterPictureInPicture()</code>. Os exemplos a seguir entram
-no modo de PIP quando o usuário seleciona um botão dedicado ao PIP em uma barra de controle
-de mídia:</p>
+<code>Activity.enterPictureInPictureMode()</code>. O exemplo a seguir 
+entra no modo de PIP quando o usuário seleciona um botão dedicado ao PIP na barra de controle de
+uma mídia:</p>
 
 <pre>
 &#64;Override
 public void onActionClicked(Action action) {
     if (action.getId() == R.id.lb_control_picture_in_picture) {
-        getActivity().enterPictureInPicture();
+        getActivity().enterPictureInPictureMode();
         return;
     }
     ...
 </pre>
 
-<p>Adicionar um botão de PIP à sua barra de controle de mídia permite que o usuário entre no
+<p>Adicionar um botão de PIP à barra de controle de mídia permite que o usuário entre no
 modo de PIP com facilidade ao controlar a reprodução de um vídeo.</p>
 
 <img src="{@docRoot}preview/images/pip-button.png" />
@@ -122,19 +124,19 @@
 <code>PlaybackControlsRow.PictureInPictureAction</code> que define ações do PIP
 para a barra de controle e usa o ícone do PIP.</p>
 
-<h2 id="handling_ui">Lidar com a interface durante o modo de imagem em imagem</h2>
+<h2 id="handling_ui">Lidar com a IU durante o modo de imagem em imagem</h2>
 
 <p>Quando a atividade entra no modo de PIP, ela deve mostrar apenas a reprodução do
-vídeo. Remova elementos de interface antes que a atividade entre no modo de PIP
+vídeo. Remova elementos de IU antes que a atividade entre no modo de PIP
 e restaure esses elementos quando a atividade voltar ao modo de tela inteira.
-Substitua <code>Activity.onPictureInPictureChanged()</code> ou
-<code>Fragment.onPictureInPictureChanged()</code> e ative ou
+Substitua <code>Activity.onPictureInPictureModeChanged()</code> ou
+<code>Fragment.onPictureInPictureModeChanged()</code> e ative ou
 desative os elementos de interface conforme for necessário. Por exemplo:</p>
 
 <pre>
 &#64;Override
-public void onPictureInPictureChanged(boolean inPictureInPicture) {
-    if (inPictureInPicture) {
+public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
+    if (isInPictureInPictureMode) {
         // Hide the controls in picture-in-picture mode.
         ...
     } else {
@@ -144,7 +146,7 @@
 }
 </pre>
 
-<h2 id="continuing_playback">Continuar a reprodução de vídeos no modo de 
+<h2 id="continuing_playback">Continuar reprodução de vídeo no modo de 
 imagem em imagem</h2>
 
 <p>Quando a atividade entra no modo de PIP, o sistema a considera
@@ -157,8 +159,8 @@
 <pre>
 &#64;Override
 public void onPause() {
-    // If called due to PIP, do not pause playback
-    if (inPictureInPicture()) {
+    // If called while in PIP mode, do not pause playback
+    if (isInPictureInPictureMode()) {
         // Continue playback
         ...
     }
@@ -170,11 +172,36 @@
 <p>Quando a atividade sai do modo de PIP e volta à tela inteira, o
 sistema retoma a atividade e chama o método <code>onResume()</code>.</p>
 
+<h2 id="single_playback">Usar uma única atividade de reprodução para
+imagem em imagem</h2>
+
+<p>Ao navegar pelo conteúdo
+ da tela principal de seu aplicativo, um usuário pode selecionar um novo vídeo enquanto uma atividade de reprodução de vídeo estiver em modo de PIP. Reproduza o novo
+ vídeo na atividade de reprodução existente em modo de tela cheia em vez de 
+lançar uma nova atividade que pode confundir o usuário.</p>
+
+<p>Para que uma única atividade seja usada para solicitações de reprodução de vídeo e
+com o modo de PIP ativado ou desativado, conforme necessário, configure o 
+<code>android:launchMode</code> da atividade para <code>singleTask</code> em seu manifesto.
+</p>
+
+<pre>
+&lt;activity android:name="VideoActivity"
+    ...
+    android:supportsPictureInPicture="true"
+    android:launchMode="singleTask"
+    ...
+</pre>
+
+<p>Na atividade, modifique {@link android.app.Activity#onNewIntent
+Activity.onNewIntent()} e processe o novo vídeo, interrompendo qualquer 
+reprodução existente, caso necessário.</p>
+
 <h2 id="best">Práticas recomendadas</h2>
 
 <p>O PIP é destinado a atividades que reproduzem vídeos em tela inteira. Ao passar
 a atividade para o modo de PIP, evite mostrar qualquer coisa que não seja o conteúdo do vídeo.
-Rastreie quando a atividade entrar no modo de PIP e oculte os elementos de interface, conforme descrito
+Rastreie quando a atividade entrar no modo de PIP e oculte os elementos de IU, conforme descrito
 em <a href="#handling_ui">Lidar com a interface durante o modo de imagem em imagem</a>.</p>
 
 <p>Como a janela do PIP é mostrada como uma janela flutuante no canto da
diff --git a/docs/html-intl/intl/pt-br/preview/features/scoped-folder-access.jd b/docs/html-intl/intl/pt-br/preview/features/scoped-folder-access.jd
index 277a37c..ef9ba65 100644
--- a/docs/html-intl/intl/pt-br/preview/features/scoped-folder-access.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/scoped-folder-access.jd
@@ -15,7 +15,7 @@
 </div>
 </div>
 
-<p>Aplicativos, como aplicativos de fotos, normalmente só precisam acessar diretórios específicos de um
+<p>Alguns aplicativos, como aplicativos de fotos, normalmente só precisam acessar diretórios específicos de um
 armazenamento externo, como o diretório <code>Pictures</code>. As abordagens
 existentes para o acesso de armazenamentos externos não foram desenvolvidas para fornecer com facilidade
 acesso direcionado a diretórios para esses tipos de aplicativos. Por exemplo:</p>
@@ -28,7 +28,7 @@
 <li>Usar a 
 <a href="{@docRoot}guide/topics/providers/document-provider.html">Estrutura de
 acesso ao armazenamento</a> geralmente faz com que o usuário selecione diretórios
-por meio de uma interface de sistema, o que é desnecessário se seu aplicativo sempre acessa o mesmo
+por meio de uma IU de sistema, o que é desnecessário se seu aplicativo sempre acessa o mesmo
 diretório externo.</li>
 </ul>
 
@@ -44,6 +44,20 @@
 todos os volumes disponíveis, incluindo volumes de mídias removíveis, use
 <code>StorageManager.getVolumesList()</code>.</p>
 
+<p>Se você tiver informações sobre um arquivo específico, use
+<code>StorageManager.getStorageVolume(File)</code> para obter o
+<code>StorageVolume</code> que contém o arquivo. Chame
+<code>createAccessIntent()</code> neste <code>StorageVolume</code> para acessar
+o diretório de armazenamento externo para o arquivo.</p>
+
+<p>
+Em volumes secundários, como cartões SD externos, passe nulo ao chamar
+<code>StorageVolume.createAccessIntent()</code> para solicitar acesso ao
+volume todo em vez de um diretório específico.
+<code>StorageVolume.createAccessIntent()</code> retornará nulo se você passar 
+nulo no volume principal ou se passar um nome de diretório inválido.
+</p>
+
 <p>O fragmento de código a seguir é um exemplo de como abrir o diretório
 <code>Pictures</code> no armazenamento compartilhado principal:</p>
 
@@ -55,7 +69,7 @@
 </pre>
 
 <p>O sistema tenta conceder acesso ao diretório externo e,
-se necessário, confirma o acesso com o usuário usando uma interface simplificada:</p>
+se necessário, confirma o acesso com o usuário usando uma 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" />
@@ -116,9 +130,19 @@
 solicitar acesso ao usuário várias vezes. Quando o usuário conceder o acesso, chame
 <code>getContentResolver().takePersistableUriPermssion()</code> com o
 URI de acesso ao diretório. O sistema manterá o URI e as solicitações de acesso
-subsequentes retornarão <code>RESULT_OK</code> e não mostrarão a mensagem de confirmação para o
+subsequentes retornarão <code>RESULT_OK</code> e não mostrarão a IU de confirmação para o
 usuário.</p>
 
 <p>Se o usuário negar acesso a um diretório externo, não repita a
 solicitação imediatamente. Insistir em solicitações de acesso repetidas vezes gera uma experiência
-negativa para o usuário.</p>
+negativa para o usuário. Se uma solicitação for negada pelo usuário e o aplicativo solicitar acesso
+novamente, a IU exibirá uma caixa de seleção <b>Não perguntar novamente</b>.</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" />
+<p class="img-caption"><strong>Figura 1.</strong> Um aplicativo que faz uma
+segunda solicitação para acesso à mídia removível.</p>
+
+<p>Se o usuário selecionar <b>Não perguntar novamente</b> e negar a solicitação, todas
+as solicitações futuras para o diretório provenientes do aplicativo serão automaticamente
+negadas e a IU de solicitação não será apresentada ao usuário.</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/pt-br/preview/features/security-config.jd b/docs/html-intl/intl/pt-br/preview/features/security-config.jd
index e5185d8..27d8f2e 100644
--- a/docs/html-intl/intl/pt-br/preview/features/security-config.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/security-config.jd
@@ -1,4 +1,4 @@
-page.title=Configurações de segurança de rede
+page.title=Configuração de segurança de rede
 page.keywords=androidn,security,network
 page.image=images/cards/card-nyc_2x.jpg
 
@@ -44,7 +44,7 @@
   </li>
 
   <li>
-    <b>Substituições somente depuração:</b> depure conexões seguras do aplicativo com segurança,
+    <b>Substituições somente de depuração:</b> depure conexões seguras do aplicativo com segurança,
  sem adicionar riscos à base instalada.
   </li>
 
@@ -71,12 +71,13 @@
 
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?&gt;
-...
-&lt;app ...&gt;
+&lt;manifest ... &gt;
+  &lt;application ... &gt;
     &lt;meta-data android:name="android.security.net.config"
                android:resource="@xml/network_security_config" /&gt;
     ...
-&lt;/app&gt;
+  &lt;/application&gt;
+&lt;/manifest&gt;
 </pre>
 
 <h2 id="CustomTrust">Personalizar CAs confiáveis</h2>
@@ -310,6 +311,7 @@
             &lt;pin digest="SHA-256"&gt;7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=&lt;/pin&gt;
             &lt;!-- backup pin --&gt
             &lt;pin digest="SHA-256"&gt;fwza0LRMXouZHRC8Ei+4PyuldPDcf3UKgO/04cDM1oE=&lt;/pin&gt;
+        &lt;/pin-set&gt;
     &lt;/domain-config&gt;
 &lt;/network-security-config&gt;
 </pre>
@@ -362,7 +364,7 @@
 <h2 id="FileFormat">Formato do arquivo de configurações</h2>
 
 <p>
-  O recurso de configurações de segurança de rede usa um arquivo no formato XML.
+  O recurso de configurações de segurança de rede usa um formato do arquivo XML.
   A estrutura geral desse arquivo é mostrada no seguinte exemplo de código:
 </p>
 
@@ -571,8 +573,8 @@
  for {@code "true"}, o que normalmente ocorre em compilações de não lançamento
  geradas por IDEs e ferramentas de compilação. Âncoras de confiança especificadas em {@code
     debug-overrides} são adicionadas a todas as demais configurações e a fixação
- de certificados não é realizada quando a cadeia de certificados do servidor usar uma
- dessas âncoras de confiança de somente depuração. Se <a href="{@docRoot}guide/topics/manifest/application-element.html#debug">android:debuggable</a>
+ de certificados não é realizada quando a cadeia de certificados do servidor usa uma
+ dessas âncoras de confiança somente de depuração. Se <a href="{@docRoot}guide/topics/manifest/application-element.html#debug">android:debuggable</a>
  for {@code "false"}, esta seção será ignorada por completo.
   </dd>
 </dl>
diff --git a/docs/html-intl/intl/pt-br/preview/features/tv-recording-api.jd b/docs/html-intl/intl/pt-br/preview/features/tv-recording-api.jd
index 9b72f3a..15d22d1 100644
--- a/docs/html-intl/intl/pt-br/preview/features/tv-recording-api.jd
+++ b/docs/html-intl/intl/pt-br/preview/features/tv-recording-api.jd
@@ -23,17 +23,38 @@
 ao permitir que o usuário salve várias sessões gravadas.</p>
 
 <p>Os usuários podem programar gravações antecipadamente ou iniciar uma gravação enquanto assistem a
-um programa. Quando o sistema salvar a gravação, o usuário poderá navegar, gerenciar
+um programa. Quando o sistema salvar a gravação, o usuário poderá procurar, gerenciar
 e reproduzir a gravação usando o aplicativo de TV do sistema.</p>
 
 <p>Se quiser fornecer recursos de gravação para seu serviço de entrada de TV,
-indique para o sistema que seu aplicativo oferece suporte a gravação, implemente
+indique para o sistema que o aplicativo oferece suporte a gravação, implemente
 a capacidade de gravar programas, solucione e comunique erros ocorridos
 durante a gravação e gerencie as sessões gravadas.</p>
 
+<p class="note"><strong>Observação:</strong> O aplicativo Live Channels ainda não
+oferece aos usuários uma forma de criar ou acessar gravações. Enquanto o aplicativo Live Channels não sofrer
+ alterações, será difícil testar toda a experiência de
+gravação de seu serviço de entrada de TV.</p>
+
 <h2 id="supporting">Indicar suporte para gravação</h2>
 
-<p>Para informar ao sistema que seu serviço de entrada de TV oferece suporte a gravação, siga
+<p>Para informar ao sistema que seu serviço de entrada de TV oferece suporte a gravação, defina
+ o atributo <code>android:canRecord</code> no arquivo XML de metadados do serviço
+ como <code>true</code>:
+</p>
+
+<pre>
+&lt;tv-input xmlns:android="http://schemas.android.com/apk/res/android"
+  <b>android:canRecord="true"</b>
+  android:setupActivity="com.example.sampletvinput.SampleTvInputSetupActivity" /&gt;
+</pre>
+
+<p>Para obter mais informações sobre o arquivo de metadados do serviço, consulte
+<a href="{@docRoot}training/tv/tif/tvinput.html#manifest">Declarar seu serviço
+de entrada de TV no manifesto</a> (em inglês).
+</p>
+
+<p>Como alternativa, você pode indicar suporte a gravação em seu código usando
 estas etapas:</p>
 
 <ol>
@@ -44,7 +65,7 @@
 <code>setCanRecord(true)</code> antes de chamar <code>build()</code> para
 indicar que seu serviço oferece suporte a gravação.</li>
 <li>Registre seu objeto <code>TvInputInfo</code> com o sistema chamando
-<code>TvInputService.updateTvInputInfo()</code>.</li>
+<code>TvInputManager.updateTvInputInfo()</code>.</li>
 </ol>
 
 <h2 id="recording">Gravar uma sessão</h2>
@@ -99,7 +120,7 @@
 <p>O sistema mantém as informações de todas as sessões gravadas de todos
 os aplicativos de canais com recursos de gravação na tabela de provedor de conteúdo <code>TvContract.RecordedPrograms</code>
 . Essas informações podem ser acessadas pelo URI de conteúdo
-<code>RecordedPrograms.Uri</code>. Use APIs de provedores de conteúdos para
+<code>RecordedPrograms.Uri</code>. Use APIs de provedores de conteúdo para
 ler, adicionar e excluir entradas dessa tabela.</p>
 
 <p>Para saber mais sobre como trabalhar com dados de provedores de conteúdo, consulte 
diff --git a/docs/html-intl/intl/pt-br/preview/guide.jd b/docs/html-intl/intl/pt-br/preview/guide.jd
new file mode 100644
index 0000000..b33369e
--- /dev/null
+++ b/docs/html-intl/intl/pt-br/preview/guide.jd
@@ -0,0 +1,190 @@
+page.title=Guia de teste
+page.image=images/cards/card-n-guide_2x.png
+meta.tags="preview", "testing"
+page.tags="preview", "developer preview"
+
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>Neste documento</h2>
+      <ol>
+        <li><a href="#runtime-permissions">Teste de permissões</a></li>
+        <li><a href="#doze-standby">Teste de soneca e App em espera</a></li>
+        <li><a href="#ids">Identificadores de dispositivo e backup automático</a></li>
+      </ol>
+  </div>
+</div>
+
+<p>
+  O Android N fornece uma oportunidade de garantir que os aplicativos funcionem
+ na próxima versão da plataforma. Esta prévia inclui uma série de mudanças de comportamento e APIs que podem
+ ter impacto no aplicativo, como descrito em <a href="{@docRoot}preview/api-overview.html">Visão geral da API
+</a> e <a href="{@docRoot}preview/behavior-changes.html">Mudanças de comportamento</a>. No teste
+ do aplicativo com a prévia, há algumas alterações de sistema específicas em que você deve se concentrar
+ para garantir que os usuários tenham uma boa experiência.
+</p>
+
+<p>
+  Este guia descreve quais recursos de prévia testar e como testá-los com o aplicativo. Você deve
+ priorizar o teste destes recursos de prévia específicos devido ao grande impacto potencial no
+ comportamento do aplicativo:
+</p>
+
+<ul>
+  <li><a href="#runtime-permissions">Permissões</a>
+  </li>
+  <li><a href="#doze-standby">Soneca e App em espera</a>
+  </li>
+  <li><a href="#ids">Identificadores de dispositivo e backup automático</a></li>
+</ul>
+
+<p>
+  Para obter mais informações sobre como configurar dispositivos físicos ou virtuais com uma imagem do sistema de prévia
+ para teste, consulte <a href="{@docRoot}preview/setup-sdk.html">Configuração
+do Android N SDK</a>.
+</p>
+
+
+<h2 id="runtime-permissions">Teste de permissões</h2>
+
+<p>
+  O novo modelo de <a href="{@docRoot}preview/features/runtime-permissions.html">permissões</a>
+ altera a maneira que as permissões são alocadas ao aplicativo pelo usuário. Em vez de conceder todas as permissões
+ durante o procedimento de instalação, o aplicativo deve pedir ao usuário permissões individuais
+ em tempo de execução. Para os usuários, este comportamento fornece um controle mais granular sobre as atividades de cada aplicativo, bem
+ como um melhor contexto para entender o porquê do aplicativo estar solicitando uma permissão específica. Os usuários
+ podem conceder ou revogar as permissões concedidas a um aplicativo individualmente a qualquer momento. É provável que este recurso
+ da prévia tenha um impacto no comportamento do aplicativo e pode impedir que alguns
+ dos recursos do aplicativo funcionem, ou funcionem em um estado degradado.
+</p>
+
+<p class="caution">
+  Esta alteração afeta todos os aplicativos em execução na nova plataforma, mesmo aqueles que não são destinados
+ para a versão nova da plataforma. A plataforma fornece um comportamento de compatibilidade limitado para aplicativos legados. No entanto,
+ você deve começar a planejar a migração do aplicativo para o novo modelo de permissões agora, com o objetivo
+ de publicar uma versão atualizada do aplicativo no lançamento oficial da plataforma.
+</p>
+
+
+<h3 id="permission-test-tips">Dicas de teste</h3>
+
+<p>
+  Use as seguintes dicas de teste para ajudar você a planejar e executar os testes do aplicativo com o novo
+ comportamento de permissões.
+</p>
+
+<ul>
+  <li>Identifique as permissões atuais do aplicativo e os caminhos de código relacionados.</li>
+  <li>Teste o fluxo de usuário entre serviços protegidos por permissão e dados.</li>
+  <li>Teste com várias combinações de permissões revogadas/concedidas.</li>
+  <li>Use a ferramenta {@code adb} para gerenciar as permissões da linha de comando:
+    <ul>
+      <li>Liste as permissões e o status por grupos:
+        <pre>adb shell pm list permissions -d -g</pre>
+      </li>
+      <li>Conceda ou revogue uma ou mais permissões usando a seguinte sintaxe:<br>
+        <pre>adb shell pm [grant|revoke] &lt;permission.name&gt; ...</pre>
+      </li>
+    </ul>
+  </li>
+  <li>Analise o aplicativo para encontrar os serviços que usam permissões.</li>
+</ul>
+
+<h3 id="permission-test-strategy">Estratégia de teste</h3>
+
+<p>
+  A mudança de permissões afeta a estrutura e o projeto do aplicativo, bem como
+ a experiência do usuário e os fluxos fornecidos a eles. Você deve avaliar o uso das permissões atuais
+ do aplicativo e começar a planejar novos fluxos que deseja oferecer. O lançamento oficial
+ da plataforma fornece comportamento de compatibilidade, mas deve-se planejar a atualização do aplicativo e
+ não confiar nestes comportamentos.
+</p>
+
+<p>
+  Identifique as permissões que o aplicativo realmente precisa e usa e, em seguida, encontre os vários caminhos
+ de código que usam os serviços protegidos por permissões. É possível fazer isto por meio de uma combinação de
+ testes na nova plataforma e análise de códigos. Nos testes, você deve se concentrar em usar
+ as permissões em tempo de execução alterando {@code targetSdkVersion} do aplicativo para a versão da prévia. Para
+ obter mais informações, consulte <a href="{@docRoot}preview/setup-sdk.html#">Configuração
+do Android N SDK</a>.
+</p>
+
+<p>
+  Teste com várias combinações de permissões revogadas e concedidas para destacar os fluxos de usuário
+que dependem de permissões. Onde uma dependência não for óbvia ou lógica, considere
+refatorar ou compartimentalizar este fluxo para eliminar a dependência ou para esclarecer por que
+a permissão é necessária.
+</p>
+
+<p>
+  Para obter mais informações sobre o comportamento das permissões em tempo de execução, de testes e de melhores práticas, consulte a página
+ <a href="{@docRoot}preview/features/runtime-permissions.html">Permissões</a> do Developer
+ Preview.
+</p>
+
+
+<h2 id="doze-standby">Teste de soneca e App em espera</h2>
+
+<p>
+  Os recursos de economia de energia de App em espera e soneca limitam a quantidade de processamento de segundo plano que o aplicativo
+ pode realizar quando um dispositivo está no estado ocioso ou enquanto não está em foco. As
+ restrições que o sistema pode impor nos aplicativos inclui acesso a rede limitado ou restrito,
+ tarefas de segundo plano suspensas, notificações suspensas, solicitações de soneca ignoradas e despertadores. Para garantir
+ que o aplicativo se comportará adequadamente com essas otimizações de economia de energia, deve-se testá-lo
+ simulando estes estados de baixa energia.
+</p>
+
+<h4 id="doze">Testar o aplicativo com Soneca</h4>
+
+<p>Para testar a Soneca com o aplicativo:</p>
+
+<ol>
+<li>Configure um dispositivo de hardware ou virtual com uma imagem do sistema Android N.</li>
+<li>Conecte o dispositivo à máquina de desenvolvimento e instale o aplicativo.</li>
+<li>Execute o aplicativo e deixe-o ativo.</li>
+<li>Simule o dispositivo acessando o modo Soneca executando os seguintes comandos:
+
+<pre>
+$ adb shell dumpsys battery unplug
+$ adb shell dumpsys deviceidle step
+$ adb shell dumpsys deviceidle -h
+</pre>
+
+  </li>
+  <li>Observe o comportamento do aplicativo quando o dispositivo é reativado. Certifique-se de que
+ ele se recupere corretamente quando o dispositivo sai do modo Soneca.</li>
+</ol>
+
+
+<h4 id="standby">Testar aplicativos com App em espera</h4>
+
+<p>Para testar o modo de espera do aplicativo:</p>
+
+<ol>
+  <li>Configure um dispositivo de hardware ou virtual com uma imagem do sistema Android N.</li>
+  <li>Conecte o dispositivo à máquina de desenvolvimento e instale o aplicativo.</li>
+  <li>Execute o aplicativo e deixe-o ativo.</li>
+  <li>Simule o aplicativo acessando o modo de espera executando os seguintes comandos:
+
+<pre>
+$ adb shell am broadcast -a android.os.action.DISCHARGING
+$ adb shell am set-idle &lt;packageName&gt; true
+</pre>
+
+  </li>
+  <li>Simule o despertar do aplicativo usando o seguinte comando:
+    <pre>$ adb shell am set-idle &lt;packageName&gt; false</pre>
+  </li>
+  <li>Observe o comportamento do aplicativo quando ele é despertado. Certifique-se de que ele se recupere corretamente
+ do modo de espera. Particularmente, deve-se verificar se as notificações e os trabalho de segundo plano
+ do aplicativo continuam a funcionar como o esperado.</li>
+</ol>
+
+<h2 id="ids">Backup automático para aplicativos e identificadores específicos do dispositivo</h2>
+
+<p>Caso o aplicativo esteja persistindo qualquer identificador específico do dispositivo, como o ID de registro do Google
+Cloud Messaging, no armazenamento interno,
+certifique-se de seguir as práticas recomendadas para excluir o local de armazenamento
+do backup automático, como descrito em <a href="{@docRoot}preview/backup/index.html">Backup automático
+para aplicativos</a>. </p>
diff --git a/docs/html-intl/intl/pt-br/preview/index.jd b/docs/html-intl/intl/pt-br/preview/index.jd
index 54531f5..58b2408 100644
--- a/docs/html-intl/intl/pt-br/preview/index.jd
+++ b/docs/html-intl/intl/pt-br/preview/index.jd
@@ -25,9 +25,9 @@
         <h1 class="dac-hero-title">Android N Developer Preview</h1>
         <p class="dac-hero-description">
           Prepare-se para o Android N!
- <strong>Teste seus aplicativos</strong> no Nexus e em outros dispositivos. Ofereça suporte a novos
- comportamentos de sistema para <strong>economizar energia e memória</strong>.
- Estenda seus aplicativos com a <strong>interface de várias janelas</strong>,
+          <strong>Teste os aplicativos</strong> no Nexus e outros dispositivos. Ofereça suporte aos novos
+ comportamentos do sistema para <strong>economizar energia e memória</strong>.
+          Estenda seus aplicativos com a <strong>IU de várias janelas</strong>,
  <strong>direcione notificações de resposta</strong> e muito mais.
         </p>
 
@@ -102,7 +102,18 @@
   </div><!-- end .wrap -->
 </div>
 
-<section class="dac-section dac-light"><div class="wrap">
+<section class="dac-section dac-light dac-small" id="latest"><div class="wrap">
+  <h2 class="norule">Mais recente</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">
     Informações essenciais para ajudar você a preparar seus aplicativos para o Android N.
diff --git a/docs/html-intl/intl/pt-br/preview/j8-jack.jd b/docs/html-intl/intl/pt-br/preview/j8-jack.jd
index 601a20b..5047396 100644
--- a/docs/html-intl/intl/pt-br/preview/j8-jack.jd
+++ b/docs/html-intl/intl/pt-br/preview/j8-jack.jd
@@ -17,20 +17,20 @@
 
 <p>O Android N introduz o suporte aos recursos de linguagem do Java 8
  que podem ser usados ao desenvolver aplicativos direcionados ao Android N.
-  Esta página descreve os novos recursos de linguagem com suporte no Android N
+ Esta página descreve os novos recursos de linguagem com suporte no Android N
  Preview, como configurar seu projeto para usá-los e os
  problemas conhecidos que você poderá encontrar.
 </p>
 
 <p>Para começar a usar esses recursos, primeiro faça o download e instale o Android
-Studio 2.1 (preview) e o Android N Preview SDK, que inclui a 
+Studio 2.1 e o Android N Preview SDK, que inclui a 
 cadeia de ferramentas Jack obrigatória e o Android Plugin for Gradle atualizado. Se você ainda não
 instalou o Android N Preview SDK, consulte <a href="{@docRoot}preview/setup-sdk.html">Preparação para desenvolver para o Android N</a>.</p>
 
 
 
 <p class="note">
-  <strong>Observação:</strong> o uso dos novos recursos de linguagem do Java 8 não é
+  <strong>Observação:</strong> O uso dos novos recursos de linguagem do Java 8 não é
  obrigatório para desenvolver aplicativos direcionados à plataforma Android N. Se
  não quiser escrever código com os recursos de linguagem do Java 8, você poderá manter
  os valores de compatibilidade de origem e destino do seu projeto definidos para o Java 7, mas ainda
@@ -55,15 +55,27 @@
 
   <li>
     <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html">
- Expressões Lambda</a>
+ Expressões Lambda</a> (também disponíveis em nível da API 23 ou anterior)
   </li>
 
   <li>
     <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/annotations/repeating.html">Anotações
  repetíveis</a>
   </li>
+
+  <li>
+    <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html">
+ Referências de método</a> (também disponíveis em nível da API 23 ou anterior)
+  </li>
 </ul>
 
+<p class="note">
+  <strong>Observação:</strong> Para testar expressões Lambda ou referências de método em
+ versões mais antigas do Android, acesse o arquivo {@code build.gradle}
+ e configure {@code compileSdkVersion} e {@code targetSdkVersion} como 23 ou
+anterior. Você precisará <a href="#configuration">permitir que a
+ cadeia de ferramentas Jack</a> use esses recursos do Java 8.
+</p>
 
 <p>
   Além disso, as seguintes APIs de recursos de linguagem do Java 8 agora estão disponíveis:
@@ -71,44 +83,44 @@
 
 <ul>
   <li>APIs relacionadas a reflexo e linguagem:
-  </li>
-
-  <li style="list-style: none; display: inline">
     <ul>
-      <li>{@code java.lang.FunctionalInterface}
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html">
+        {@code java.lang.FunctionalInterface}</a>
       </li>
 
-      <li>{@code java.lang.annotation.Repeatable}
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Repeatable.html">
+        {@code java.lang.annotation.Repeatable}</a>
       </li>
 
-      <li>{@code java.lang.reflect.Method.isDefault()}
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html#isDefault--">
+        {@code java.lang.reflect.Method.isDefault()}</a>
       </li>
 
-      <li>e APIs de reflexo associadas a anotações repetíveis, como
- {@code AnnotatedElement.getAnnotationsByType(Class)}
+      <li>e Reflection APIs associadas a anotações repetíveis, como
+      <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/AnnotatedElement.html#getAnnotationsByType-java.lang.Class-">
+        {@code AnnotatedElement.getAnnotationsByType(Class)}</a>
       </li>
     </ul>
   </li>
-  <li>APIs utilitárias:
-  </li>
 
-  <li style="list-style: none; display: inline">
+  <li>Utility APIs:
     <ul>
-      <li>{@code java.util.function}
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html">
+        {@code java.util.function}</a>
+      </li>
+
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html">
+        {@code java.util.stream}</a>
       </li>
     </ul>
   </li>
 </ul>
 
-<p class="note">
-  <strong>Observação:</strong> o Android N baseia a implementação de
- expressões lambda em classes anônimas. Essa abordagem permite que elas
- sejam compatíveis e possam ser executadas em versões anteriores do Android. Para testar as
- expressões lambda em versões mais antigas, lembre-se de acessar o arquivo {@code
-build.gradle} e definir{@code compileSdkVersion} e {@code
-targetSdkVersion} como 23 ou menos.
-</p>
-
 <h2 id="configuration">
   Como ativar os recursos do Java 8 e a cadeia de ferramentas Jack
 </h2>
@@ -116,13 +128,13 @@
 <p>
   Para usar os novos recursos de linguagem do Java 8, você também deve usar a
  nova <a class="external-link" href="https://source.android.com/source/jack.html">cadeia de ferramentas Jack</a>. Essa nova
- cadeia de ferramentas Android compila o código-fonte de linguagem Java em um código de bytes dex que pode ser lido no Android
-, tem o próprio formato de biblioteca {@code .jack} e fornece a maioria dos recursos
+ cadeia de ferramentas Android compila o código-fonte de linguagem Java em um código de bytes dex que pode ser lido no Android,
+ tem o próprio formato de biblioteca {@code .jack} e fornece a maioria dos recursos
  de uma cadeia de ferramentas em uma só ferramenta: reempacotamento, redução, ofuscação e
  multidex.
 </p>
 
-<p>Veja uma comparação entre duas cadeias de ferramentas usadas para compilar arquivos DEX Android:</p>
+<p>Veja uma comparação entre duas cadeias de ferramentas usadas para compilar arquivos Android DEX:</p>
 <ul>
   <li>Cadeia de ferramentas legada javac:<br>
   <b>javac</b> ({@code .java} --&gt; {@code .class}) --&gt; <b>dx</b> ({@code
@@ -140,7 +152,7 @@
 
 <p>
   Para ativar os recursos de linguagem do Java 8 e o Jack para seu projeto, insira
- o seguinte no arquivo {@code build.gradle} específico do módulo:
+ o seguinte no arquivo {@code build.gradle} de nível do módulo:
 </p>
 
 <pre>
@@ -159,25 +171,27 @@
 }
 </pre>
 
-<h3>
+<h3 id="known-issues">
   Problemas conhecidos
 </h3>
 
 <p>
-  O Instant Run, introduzido no Android Studio 2.0 (Beta), não funciona com o
- Jack e será desativado enquanto a nova cadeia de ferramentas estiver em uso.
+  <a href="{@docRoot}tools/building/building-studio.html#instant-run">O Instant
+ Run</a> não funciona com o Jack e será desativado enquanto
+ a nova cadeia de ferramentas estiver em uso.
 </p>
 
 <p>Como o Jack não gera arquivos de classe intermediária ao compilar um
 aplicativo, ferramentas que dependem desses arquivos não funcionam com o Jack. Alguns
-exemplos dessas ferramentas:</p>
+exemplos dessas ferramentas são:</p>
 
 <ul>
   <li>Detectores de códigos suspeitos que operam em arquivos de classe
   </li>
 
-  <li>Ferramentas e bibliotecas que exigem os arquivos de classe do aplicativo (como JaCoCo
- e Mockito)</li>
+  <li>Ferramentas e bibliotecas que exigem os arquivos de classe do aplicativo (como
+ testes de instrumentação com JaCoCo)
+  </li>
 </ul>
 
 <p>Se encontrar outros problemas ao usar o Jack, <a href="http://tools.android.com/filing-bugs">envie um relatório de erros</a>.</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/pt-br/preview/license.jd b/docs/html-intl/intl/pt-br/preview/license.jd
new file mode 100644
index 0000000..7228bb0
--- /dev/null
+++ b/docs/html-intl/intl/pt-br/preview/license.jd
@@ -0,0 +1,145 @@
+page.title=Contrato de licença
+
+@jd:body
+
+<p>
+Para começar a usar o Android SDK Preview, você deve concordar com os seguintes termos e condições.
+Como descrito abaixo, observe que esta é uma versão de prévia do Android SDK, sujeita a alterações, que deve ser usada por seu risco.  O Android SDK Preview não é uma versão estável e pode conter erros e defeitos que podem resultar em danos sérios aos sistemas de computador, aos dispositivos e aos dados.
+</p>
+
+<p>
+Este é o contrato de licença do Android SDK Preview (o “Contrato de Licença”).
+</p>
+<div class="sdk-terms" style="height:auto;border:0;padding:0;width:700px">
+1. Introdução
+
+1.1 O Android SDK Preview (que este Contrato de licença chama de "Preview", incluindo especificamente os arquivos de sistema do Android, APIs integradas e arquivos da biblioteca Preview, se e quando estiverem disponíveis) é licenciado por meio da concordância com os termos deste contrato. O Contrato de licença forma um vínculo contratual legal entre o contratante e a Google em relação ao uso do Preview.
+
+1.2 "Android" refere-se à pilha de software do Android para dispositivos, conforme disponibilizado no Projeto de código aberto do Android, localizado no URL a seguir: http://source.android.com/, atualizado periodicamente.
+
+1.3 “Compatível com Android” significa qualquer implementação do Android que (i) obedece ao documento Definição de Compatibilidade com Android, que pode ser encontrado no site de compatibilidade do Android (http://source.android.com/compatibility) que pode ser atualizado de tempos em tempos; e (ii) seja aprovado no Android Compatibility Test Suite (CTS).
+
+1.4 “Google” se refere à Google Inc, uma corporação de Delaware, com sede em 1600 Amphitheatre Parkway, Mountain View, CA 94043, Estados Unidos.
+
+2. Aceitação do Contrato de Licença
+
+2.1 A fim de usar o Preview, é necessário concordar com este Contrato de licença. O uso do Preview é proibido àqueles que não concordam com este Contrato de licença.
+
+2.2 Ao clicar em aceitar e/ou usar o Preview, você concorda com os termos do Contrato de licença
+
+2.3 É proibido o uso do Preview e a aceitação deste contrato pelo indivíduo que tenha impedimento legal sobre o recebimento do Preview sob as leis dos Estados Unidos ou de outros países, incluindo o país de residência ou no qual usa o Preview.
+
+2.4 Se for usar o Preview internamente na empresa ou organização, você deverá concordar com o vínculo com este contrato em nome do empregador ou de outra entidade e declarar e garantir que tem total autoridade legal para tanto. Se você não tem a autoridade necessária, não deve concordar com este contrato nem usar o Preview em nome do empregador ou de outra entidade.
+
+3. Licença do Preview da Google
+
+3.1 Sujeito aos termos deste Contrato de licença, a Google confere uma licença limitada, mundial, sem royalties, intransmissível, não exclusiva e não sublicenciável unicamente para o uso do Preview exclusivamente para o desenvolvimento de aplicativos executados para implementações compatíveis do Android.
+
+3.2 Você não poderá usar este Preview para desenvolver aplicativos para outras plataformas (incluindo implementações não compatíveis do Android) nem para desenvolver outro SDK. Você tem a liberdade para desenvolver aplicativos para outras plataformas, incluindo implementações não compatíveis do Android, desde que este Preview não seja usado para essa finalidade.
+
+3.3 Você concorda que a Google ou terceiros detêm todos os direitos legais, títulos e interesses relativos ao Preview, incluindo quaisquer direitos de propriedade intelectual que subsistam no Preview. "Direitos de propriedade intelectual" se referem a todo e qualquer direito sob as leis de patentes, de direitos autorais, de segredo comercial, de marca registrada e todos os outros direitos de propriedade. A Google reserva todos os direitos não conferidos expressamente a você.
+
+3.4 O uso do Preview não é autorizado para qualquer finalidade não expressamente permitida por este Contrato de licença. Salvo na extensão exigida por licenças aplicáveis de terceiros, é proibido: (a) copiar (exceto para fins de cópia de segurança), modificar, adaptar, redistribuir, descompilar, fazer engenharia reversa, desmontar ou criar trabalhos derivados do Preview ou qualquer parte dele; ou (b) carregar qualquer parte do Preview em um aparelho celular ou outro dispositivo de hardware, exceto em computador pessoal, combinar qualquer parte do Preview com outros softwares ou distribuir qualquer software ou dispositivo que contenha uma parte do Preview.
+
+3.5 O uso, a reprodução e a distribuição de componentes do Preview licenciado sob uma licença de software de código aberto são regidos exclusivamente pelos termos daquela licença de software de código aberto, e não por este Contrato de licença. Você concorda em manter uma licença em situação regular para as licenças de software de código aberto sob todos os direitos concedidos e deter quaisquer ações que possam limitar, suspender ou romper tais direitos.
+
+3.6 Você concorda que a forma e a natureza do Preview que a Google fornece podem mudar sem aviso prévio e que as versões futuras do Preview podem ser incompatíveis com aplicativos desenvolvidos em versões anteriores do Preview. Você concorda que a Google pode cessar (permanente ou temporariamente) o fornecimento do Preview (ou quaisquer recursos dentro dele) a você ou a usuários em geral sob critério exclusivo da Google, sem aviso prévio.
+
+3.7 Nada neste Contrato de licença confere o direito de uso de quaisquer nomes comerciais, marcas comerciais, marcas de serviço, logomarcas, nomes de domínios e outros recursos de marcas especiais da Google.
+
+3.8 Você concorda que não removerá, ocultará nem alterará quaisquer observações de direitos de propriedade (incluindo observações de direitos autorais e de marcas registradas) que possam estar afixadas ou contidas no Preview.
+
+4. O uso do Preview
+
+4.1 A Google entende que nada no Contrato de Licença dá a ela direitos, título nem interesse sobre o usuário (ou sobre os seus licenciadores) sob o presente Contrato de licença nem sobre quaisquer aplicativos de software que o usuário desenvolver usando o Preview, incluindo quaisquer direitos de propriedade intelectual que subsistem nos referidos aplicativos.
+
+4.2 Você concorda em usar o Preview e desenvolver aplicativos somente para as finalidades permitidas por (a) este Contrato de licença e (b) quaisquer leis, normas, diretrizes geralmente aceitas ou orientações aplicáveis nas jurisdições relevantes (incluindo quaisquer leis acerca da exportação de dados ou softwares dos e para os Estados Unidos ou outros países relevantes.
+
+4.3 Você concorda que, se usar o Preview para o desenvolvimento de aplicativos, deverá proteger a privacidade e os direitos legais dos usuários. Se nomes de usuário, senhas ou outras informações de acesso ou informações pessoais forem fornecidos ao aplicativo, deve-se informá-los de que tais dados estarão disponíveis para o aplicativo, além de fornecer observações de privacidade e proteção legalmente adequadas a esses usuários. Se o aplicativo armazenar informações pessoais ou confidenciais fornecidas pelos usuários, deve fazê-lo com segurança. Se o usuário fornecer informações da conta do Google, o aplicativo poderá usar essas informações exclusivamente para acessar a conta da Google do usuário quando houver autorização para fazê-lo e para os fins limitados pela autorização.
+
+4.4 Você concorda que não se envolverá em qualquer atividade com o Preview, incluindo o desenvolvimento e a distribuição de um aplicativo que interfira, perturbe, danifique ou acesse, de modo não autorizado, servidores, redes ou outras propriedades ou serviços da Google ou qualquer outro terceiro.
+
+4.5 Você concorda que é exclusivamente responsável por (e que a Google não tem qualquer responsabilidade com você ou terceiro) quaisquer dados, conteúdo ou recursos que criar, transmitir ou exibir por meio do Android e/ou de aplicativos do Android e pelas consequências que suas ações (incluindo perda ou dano que a Google possa sofrer) podem gerar.
+
+4.6 Você concorda que é exclusivamente responsável por (e que a Google não tem qualquer responsabilidade com você ou terceiro) qualquer violação das obrigações exigidas neste Contrato de licença, qualquer contrato ou termos de serviço aplicáveis a terceiros, qualquer lei ou norma aplicável e pelas consequências (incluindo a perda ou dano que a Google ou qualquer terceiro possa sofrer) de quaisquer violações.
+
+4.7 O Preview está em desenvolvimento e o seu teste e feedback são uma parte importante deste processo. Ao usar o Preview, você está ciente de que a implementação de alguns recursos ainda estão em desenvolvimento e que não se deve confiar que o Preview tem a funcionalidade completa de uma versão estável. Você concorda em não distribuir nem enviar publicamente quaisquer aplicativos usando este Preview, pois ele não será mais suportado após o lançamento oficial do Android SDK.
+
+5. Suas credenciais de desenvolvedor
+
+5.1 Você é responsável pela manutenção da confidencialidade de quaisquer credenciais de desenvolvedor que possam ser emitidas pela Google ou escolhidas por você e será o único responsável por todos os aplicativos que forem desenvolvidos sob suas credenciais de desenvolvedor.
+
+6. Privacidade e informações
+
+6.1 A fim de inovar e aprimorar continuamente o Preview, a Google pode coletar certas estatísticas de uso do software, incluindo, sem limitar-se, um identificador exclusivo, endereço IP associado, número de versão do software e informações sobre quais ferramentas e/ou serviços no Preview estão sendo usados e como estão sendo usados. Antes de coletar quaisquer dessas informações, o Preview o notificará e buscará seu consentimento. Se você recusar, as informações não serão coletadas.
+
+6.2 Os dados coletados são examinados coletivamente para aprimorar o Preview e são mantidos em conformidade com a Política de privacidade da Google acessível em http://www.google.com/policies/privacy/.
+
+7. Aplicativos de terceiros
+
+7.1 Ao usar o Preview para executar aplicativos desenvolvidos por terceiros ou que acessam dados, conteúdo ou recursos fornecidos por terceiros, você concorda que a Google não é responsável por tais aplicativos, dados, conteúdo ou recursos. Você compreende que quaisquer dados, conteúdo ou recursos que possa acessar por meio de tais aplicativos de terceiros imputam responsabilidade exclusiva ao indivíduo que os originou. A Google não é responsável por qualquer perda ou dano que possa ocorrer como resultado do uso ou acesso de quaisquer aplicativos, dados, conteúdo ou recursos de terceiros.
+
+7.2 Você deve estar ciente de que os dados, conteúdo e recursos apresentados a você por aplicativos de terceiros podem ser protegidos pelos direitos de propriedade intelectual de posse dos fornecedores (ou de outras pessoas ou empresas em seus nomes). Não é permitido modificar, alugar, arrendar, emprestar, vender, distribuir nem criar trabalhos derivados com base nestes dados, conteúdo ou recursos (na totalidade ou em parte), salvo se houver permissão explícita especificada pelos respectivos proprietários.
+
+7.3 Você reconhece que o uso de tais aplicativos, dados, conteúdo ou recursos de terceiros pode estar sujeito a termos adicionais entre você e o terceiro em questão.
+
+8. Uso de APIs da Google
+
+8.1 APIs da Google
+
+8.1.1 Ao usar qualquer API para recuperar dados da Google, você reconhece que eles podem ser protegidos por direitos de propriedade intelectual de posse da Google ou dos terceiros que fornecem os dados (ou de pessoas ou empresas em nomes deles). O uso de tal API pode estar sujeito a termos de serviço adicionais. Não é permitido modificar, alugar, arrendar, emprestar, vender, distribuir nem criar trabalhos derivados baseados nesses dados (na totalidade ou em parte), salvo se permitido pelos termos de serviço pertinentes.
+
+8.1.2 Se você usar qualquer API para recuperar dados de um usuário a partir da Google, reconhece e concorda que deve recuperar dados somente com consentimento explícito do usuário e somente quando, e para os fins limitados aos quais, o usuário conceder permissão para fazê-lo.
+
+9. Rescisão do Contrato de licença
+
+9.1 O Contrato de licença continuará a se aplicar até que ocorra uma rescisão sua ou da Google, como definido abaixo.
+
+9.2 Caso queira rescindir o Contrato de licença, você pode fazer isto cessando o uso do Preview e de qualquer credencial de desenvolvedor relevante.
+
+9.3 A Google pode, a qualquer momento, rescindir o Contrato de licença, com ou sem causa, com uma notificação.
+
+9.4 O Contrato de licença será encerrado automaticamente sem aviso ou outras ações na ocorrência de:
+(A) a Google interromper o fornecimento do Preview ou de determinadas partes do Preview aos usuários no país em que você reside ou de onde o serviço é usado; e
+(B) a Google emitir uma versão de lançamento final do Android SDK.
+
+9.5 Quando o Contrato de licença é rescindido, a licença concedida a você no Contrato de licença é finalizada, todo o uso do Preview será interrompido e as provisões dos parágrafos 10, 11, 12 e 14 deverão permanecer indefinidamente.
+
+10. EXCLUSÕES
+
+10.1 VOCÊ COMPREENDE E CONCORDA EXPRESSAMENTE QUE O RISCO DO USO DO PREVIEW É EXCLUSIVAMENTE SEU E QUE O PREVIEW É FORNECIDO NA FORMA EM QUE SE ENCONTRA E COMO DISPONIBILIZADO, SEM GARANTIA DE QUALQUER TIPO DA GOOGLE.
+
+10.2 O USO DO PREVIEW E DE QUALQUER MATERIAL BAIXADO OU OBTIDO DE OUTRO MODO PELO USO DO PREVIEW ESTÁ A SEU CRITÉRIO E RISCO E VOCÊ É O ÚNICO RESPONSÁVEL POR QUALQUER DANO AO SEU SISTEMA OPERACIONAL OU OUTRO DISPOSITIVO OU PELA PERDA DE DADOS QUE RESULTEM DE TAL USO. SEM LIMITAR OS PRECEDENTES, VOCÊ ENTENDE QUE O PREVIEW NÃO É UMA VERSÃO ESTÁVEL E QUE PODE CONTER ERROS, DEFEITOS E VULNERABILIDADES DE SEGURANÇA QUE PODEM RESULTAR EM DANOS SIGNIFICANTES, INCLUINDO A PERDA IRRECUPERÁVEL OU COMPLETA DO USO DO SISTEMA DO COMPUTADOR OU DE OUTROS DISPOSITIVOS.
+
+10.3 A GOOGLE EXCLUI EXPRESSAMENTE TODAS AS GARANTIAS E CONDIÇOES DE QUALQUER TIPO, EXPRESSAS OU IMPLÍCITAS, INCLUINDO, MAS NÃO LIMITADO A, GARANTIAS E CONDIÇÕES DE COMERCIALIZAÇÃO IMPLÍCITAS, ADEQUAÇÃO A UMA FINALIDADE PARTICULAR E A NÃO VIOLAÇÃO.
+
+11. LIMITAÇÃO DE RESPONSABILIDADE
+
+11.1 VOCÊ COMPREENDE E CONCORDA EXPRESSAMENTE QUE A GOOGLE, SUAS SUBSIDIÁRIAS, AFILIADAS E SEUS LICENCIADORES NÃO SERÃO RESPONSABILIZADOS POR VOCÊ SOB QUALQUER TEORIA DE RESPONSABILIDADE POR QUAISQUER DANOS, SEJAM ELES DIRETOS, INDIRETOS, INCIDENTAIS, ESPECIAIS, CONSEQUENCIAIS OU DE EXEMPLO QUE POSSAM INCORRER, INCLUINDO QUALQUER PERDA DE DADOS, INDEPENDENTE DE AVISO À GOOGLE OU A SEUS REPRESENTANTES OU DA NECESSIDADE DE AVISO SOBRE A POSSIBILIDADE DA INCORRÊNCIA DE TAIS PERDAS.
+
+12. Indenização
+
+12.1 Ao limite máximo permitido por lei, você concorda em defender, indenizar e isentar a Google, suas afiliadas e respectivos conselheiros, diretores, empregados e agentes com relação a todas e quaisquer reivindicações, ações, processos ou procedimentos, bem como todas e quaisquer perdas, responsabilidades, danos, custos e despesas (incluindo honorários advocatícios) decorrentes ou provenientes de: (a) seu uso do Preview, (b) qualquer aplicativo desenvolvido no Preview que infrinja direitos de propriedade intelectual de qualquer pessoa, difame qualquer pessoa ou viole seus direitos de publicidade ou privacidade e (c) qualquer não cumprimento deste Contrato de licença.
+
+13. Mudanças no Contrato de licença
+
+13.1 A Google pode realizar mudanças no Contrato de licença à medida que distribui novas versões do Preview. Quando essas mudanças forem realizadas, a Google fará uma nova versão do Contrato de licença disponível no site em que o Preview estiver disponível.
+
+14. Termos legais gerais
+
+14.1 Esse Contrato de licença constitui o contrato legal integral entre você e a Google e rege o uso do Preview (excluindo quaisquer serviços que a Google possa fornecer a você sob um contrato escrito em separado), e substitui inteiramente quaisquer contratos anteriores entre você e a Google em relação ao Preview.
+
+14.2 Você concorda que, se a Google não exercer nem impetrar qualquer direito ou recurso legal que esteja contido no Contrato de licença (ou que a Google detenha direitos nos termos de qualquer lei aplicável), não se considerará esse fato como uma renúncia formal aos direitos da Google e esses direitos ou recursos continuarão disponíveis à Google.
+
+14.3 Se qualquer tribunal de justiça que tiver a competência para decidir sobre esse tema determinar que qualquer cláusula do Contrato de licença é inválida, tal cláusula será removida do contrato sem afetar as cláusulas restantes ou sua vigência. As cláusulas restantes do Contrato de licença continuarão válidas e obrigatórias.
+
+14.4 Você reconhece e concorda que cada membro do grupo de empresas das quais a Google é a empresa controladora deve ser beneficiário terceiro do Contrato de licença e que essas outras empresas terão o poder de aplicar diretamente, e apoiar-se em, qualquer cláusula do Contrato de licença que confira um direito (ou direitos em favor) deles. Além disso, nenhuma outra pessoa nem empresa deve ser beneficiário terceiro do Contrato de licença.
+
+14.5 RESTRIÇÕES DE EXPORTAÇÃO. O PREVIEW ESTÁ SUJEITO ÀS LEIS E NORMAS DE EXPORTAÇÃO DOS ESTADOS UNIDOS. VOCÊ DEVE CUMPRIR TODAS AS LEIS E NORMAS DOMÉSTICAS E INTERNACIONAIS QUE SE APLICAREM AO PREVIEW. ESSAS LEIS INCLUEM RESTRIÇÕES SOBRE DESTINOS, USUÁRIOS FINAIS E USO FINAL.
+
+14.6 O Contrato de licença não pode ser atribuído nem transferido por você sem a aprovação prévia por escrito da Google. Qualquer tentativa de atribuição sem a aprovação será inválida. Você não deve delegar as próprias responsabilidades ou obrigações nos termos do Contrato de licença sem aprovação prévia por escrito da Google.
+
+14.7 O Contrato de licença e sua relação com a Google nos termos do contrato serão regidos pelas leis do estado da Califórnia sem considerar conflitos de disposições legais. Você e a Google concordam em se submeter à competência exclusiva dos tribunais localizados na comarca de Santa Clara, Califórnia, para dirimir quaisquer questões legais decorrentes do Contrato de licença. Não obstante a isso, você concorda que a Google continua habilitada a impetrar medidas cautelares (ou mecanismo legal urgente equivalente) em qualquer jurisdição.
+
+
+</div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/pt-br/preview/overview.jd b/docs/html-intl/intl/pt-br/preview/overview.jd
index e02c8d1..eaa3c0c 100644
--- a/docs/html-intl/intl/pt-br/preview/overview.jd
+++ b/docs/html-intl/intl/pt-br/preview/overview.jd
@@ -38,9 +38,9 @@
 
 <p>
   Bem-vindo ao <strong>Android N Developer Preview</strong>, um programa que
- oferece tudo de que você precisa para testar e otimizar seus aplicativos para a próxima
- versão do Android. Ele é gratuito e você pode começar imediatamente ao
- fazer o download das ferramentas do N Developer Preview.
+ fornece tudo que é necessário para testar e otimizar os aplicativos para a próxima
+ versão do Android. É de graça e você pode começar agora mesmo:
+ basta fazer o download das ferramentas N Developer Preview.
 </p>
 
 
@@ -116,8 +116,8 @@
       </h5>
 
       <p>
-        Informe problemas e envie feedback usando nosso 
-<a href="{@docRoot}preview/bug">issue tracker</a>. Conecte-se com outros
+        Informe problemas e dê-nos feedback usando o 
+<a href="{@docRoot}preview/bug">issue tracker</a>. Conecte-se a outros
  desenvolvedores na
  <a href="{@docRoot}preview/dev-community">Comunidade N&nbsp;Developer</a>.
       </p>
@@ -145,15 +145,15 @@
 </p>
 
 <p>
-  Nos marcos mais importantes do desenvolvimento, fornecedores atualizações para seu ambiente de teste e
+  Nos marcos mais importantes do desenvolvimento, forneceremos atualizações para seu ambiente de teste e
  desenvolvimento. De modo geral, você pode esperar atualizações mensais (intervalo de
  4 a 6 semanas). Os marcos estão listados abaixo.
 </p>
 
 <ul>
-  <li><strong><a href="{@docRoot}preview/support.html#dp1">Preview 1</a></strong> (versão inicial, alpha)</li>
-  <li><strong><a href="{@docRoot}preview/support.html#dp2">Preview 2</a></strong> (atualização incremental, alpha)</li>
-  <li><strong>Preview 3</strong> (atualização incremental, beta)</li>
+  <li><strong><a href="{@docRoot}preview/support.html#dp1">Preview 1</a></strong> (versão inicial, alfa)</li>
+  <li><strong><a href="{@docRoot}preview/support.html#dp2">Preview 2</a></strong> (atualização incremental, alfa)</li>
+  <li><strong><a href="{@docRoot}preview/support.html#dp3">Preview 3</a></strong> (atualização incremental, beta)</li>
   <li><strong>Preview 4</strong> (APIs finais e SDK oficial, publicação no Play)</li>
   <li><strong>Preview 5</strong> (imagens de sistema quase finalizadas para o teste final)</li>
   <li><strong>Versão final</strong> para AOSP e ecossistema</li>
@@ -177,8 +177,8 @@
 <p>
   Nos <strong>Previews 4 e 5</strong>, você terá acesso às <strong>versões finais
  das APIs e do SDK do N</strong>, com as quais poderá desenvolver, além de imagens de sistema quase finalizadas
- para testar comportamentos e recursos do sistema. O Android N fornecerá uma API de nível
- padrão no momento. Você poderá iniciar os testes finais de compatibilidade dos seus aplicativos
+ para testar comportamentos e recursos do sistema. O Android N fornecerá um
+ nível da API padrão no momento. Você poderá iniciar os testes finais de compatibilidade dos seus aplicativos
  legados e refinar códigos novos que usem as APIs ou os recursos do N.
 </p>
 
@@ -195,7 +195,7 @@
   Ao testar e desenvolver no Android N, recomendamos que você <strong>mantenha
  o ambiente de desenvolvimento atualizado</strong> à medida que atualizações do Preview são
  lançadas. Para facilitar o processo, você pode inscrever seus dispositivos de teste no
- programa beta do Android e receber <strong>atualizações por OTA</strong> durante
+ programa beta do Android e receber <strong>atualizações por OTA</strong> em
  cada marco. Como alternativa, imagens atualizadas do Preview estão disponíveis para
  download e atualização manual.
 </p>
@@ -217,7 +217,7 @@
 
 <h3 id="sdk_tools">Ferramentas do SDK</h3>
 
-<p>É possível fazer o download desses componentes pelo SDK Manager no <a href="{@docRoot}sdk/installing/adding-packages.html">Android Studio</a>:</p>
+<p>É possível fazer o download desses componentes pelo SDK Manager no <a href="{@docRoot}studio/intro/update.html">Android Studio</a>:</p>
 
 <ul>
   <li> <strong>SDK e ferramentas</strong> do N Developer Preview
@@ -247,7 +247,7 @@
 </p>
 
 <p class="note"><strong>Observação</strong>:
- <strong>dispositivos atualizados manualmente não receberão atualizações por OTA</strong> como no
+  <strong>dispositivos atualizados manualmente não receberão atualizações por OTA</strong> como no
  Preview do ano anterior. Neste ano, você recebe OTAs ao inscrever os dispositivos no
  programa beta do Android &mdash; veja detalhes na próxima seção.
 </p>
@@ -256,14 +256,14 @@
 
 <p>
   Uma novidade do Android N é um programa de atualização por OTA que automaticamente
- fornece as últimas atualizações do Preview do Android N diretamente para os dispositivos inscritos
+ fornece as últimas atualizações da prévia do Android N diretamente para os dispositivos inscritos
  no programa. O programa é gratuito e está aberto a todos que tenham
  um dispositivo compatível registrado na conta do Google.
 </p>
 
 <p>
-  Para se inscrever no programa, acesse o site do <a href="https://g.co/androidbeta">programa beta do Android
-</a>. Você
+  Para se inscrever no programa, acesse o site do <a href="https://g.co/androidbeta">programa beta 
+ do Android</a>. Você
  verá uma lista de todos os dispositivos registrados em sua conta que estejam qualificados para inscrição no
  programa beta do Android.
 </p>
@@ -283,7 +283,7 @@
 <p>
   Conforme as atualizações são enviadas ao seu dispositivo, recomendamos que elas sejam baixadas e
  instaladas assim que possível. Mantenha-se atualizado com as
- últimas mudanças na interface, no comportamento, nas APIs e nos recursos do sistema.
+ últimas mudanças na IU, no comportamento, nas APIs e nos recursos do sistema.
 </p>
 
 <p>
@@ -293,12 +293,12 @@
 
 <p>
   É possível cancelar a inscrição dos seus dispositivos no programa beta do Android a qualquer momento no
- site do programa. Antes de cancelar a inscrição, não deixe de fazer o backup dos dados
+ site do beta do Android. Antes de cancelar a inscrição, não deixe de fazer o backup dos dados
  no dispositivo.
 </p>
 
   <p class="note"><strong>Observação</strong>:
- ao cancelar a inscrição, <strong>seu dispositivo será redefinido para as configurações de fábrica</strong>
+  Ao cancelar a inscrição, <strong>seu dispositivo será redefinido para as configurações de fábrica</strong>
 , recebendo a última versão
  do Android 6.0 Marshmallow (não necessariamente a versão instalada
  antes da inscrição do dispositivo). Para garantir uma instalação limpa,
@@ -341,7 +341,7 @@
 </p>
 
 <p>
-  Quando as APIs do Android N forem finalizadas e um nível de API oficial for atribuído,
+  Quando as APIs do Android N forem finalizadas e um nível da API oficial for atribuído,
  forneceremos a referência da API on-line em <a href="https://developer.android.com">https://developer.android.com</a>.
 </p>
 
@@ -355,11 +355,11 @@
 </p>
 
 <ul>
-  <li> O <a href="https://code.google.com/p/android-developer-preview/">issue tracker do N Developer Preview 
-</a> é seu <strong>principal canal de feedback.</strong> Você pode informar erros, problemas de
- desempenho e enviar feedback geral pelo issue tracker. Também é possível consultar 
-<a href="{@docRoot}preview/bug">problemas conhecidos</a> e
- encontrar etapas de soluções alternativas. Manteremos você atualizado sobre seu problema conforme ele for avaliado e
+  <li> O <a href="https://code.google.com/p/android-developer-preview/">Issue
+ Tracker do N Developer Preview</a> é o <strong>canal principal de feedback.</strong> É possível informar erros,
+ problemas de desempenho e feedback geral pelo issue tracker. Também é possível verificar os 
+<a href="{@docRoot}preview/bugs">erros conhecidos</a> e
+ encontrar etapas de resolução. Manteremos você atualizado sobre seu problema conforme ele seja avaliado e
  enviado para a equipe de engenharia do Android para análise. </li>
   <li> A <a href="{@docRoot}preview/dev-community">Comunidade Android N Developer</a> é
  uma comunidade do Google+ onde é possível <strong>se conectar a outros desenvolvedores</strong> que trabalham com o
@@ -372,36 +372,36 @@
 
 <p>
   O N Developer Preview fornece um sistema apenas para desenvolvimento e uma biblioteca Android
- que <strong>não tem um nível de API padrão</strong>. Se desejar
- optar por não utilizar comportamentos de compatibilidade para testar seu aplicativo (o que é altamente
- recomendável), será possível direcionar seus esforços para a versão Preview do Android N ao definir
- o <code><a href=
-  "{@docRoot}preview/setup-sdk.html#create-update">targetSdkVersion</a></code>
- do seu aplicativo para <code>“N”</code>.
+ que <strong>não tem um nível da API padrão</strong>. Caso opte
+ pelos comportamentos de compatibilidade para testar o aplicativo (o que é muito
+ recomendado), é possível destinar a versão de prévia do Android N 
+configurando o <code><a href=
+  "{@docRoot}preview/setup-sdk.html#create-update">targetSdkVersion</a></code> do aplicativo
+ para <code>“N”</code>.
 </p>
 
 <p>
-  O Android N Developer Preview fornece <strong>APIs do Preview</strong>
+  O Android N Developer Preview fornece <strong>APIs de prévia</strong>
  &mdash; as APIs não serão oficiais até o lançamento do SDK final,
- atualmente planejado para o terceiro trimestre de 2016. Isso significa que você pode
- <strong>esperar pequenas mudanças na API</strong> ao longo do tempo, especialmente durante
- as semanas iniciais do programa. Forneceremos um resumo das alterações com
- cada atualização do Android N Developer Preview.
+ atualmente planejado para o terceiro trimestre de 2016. Isto significa que é possível
+ <strong>esperar alterações secundárias de APIs</strong> com o tempo, especialmente
+ durante as semanas iniciais do programa. Forneceremos um resumo das alterações
+ com cada atualização do Android N Developer Preview.
 </p>
 
 <p class="note">
-  <strong>Observação</strong>: apesar de as APIs do Preview poderem ser alteradas, os
+  <strong>Observação</strong>: Apesar de as APIs do Preview poderem ser alteradas, os
  comportamentos essenciais do sistema são estáveis e estão prontos para
  serem testados.
 </p>
 
 <p>
-  O Google Play <strong>impede a publicação de aplicativos direcionados ao N Developer
+  O Google Play <strong>evita a publicação de aplicativos destinados para o N Developer
  Preview</strong>. Quando o SDK final do Android N estiver disponível, você poderá
- direcionar seus esforços para o nível de API oficial do Android N e publicar seu aplicativo no Google
+ destinar o nível da API do Android N oficial e publicar o aplicativo no Google
  Play pelos canais de lançamento alfa e beta. Enquanto isso, caso queira
- distribuir um aplicativo direcionado ao Android N para testadores, poderá fazê-lo por e-mail ou
- por download direto pelo seu site.
+ distribuir um aplicativo destinado para Android N para testadores, é possível fazê-lo por e-mail ou
+ por download direto do site.
 </p>
 
 <p>
@@ -414,13 +414,13 @@
 <h2 id="how_to_get_started">Como começar</h2>
 
 <p>
-  Para começar o teste do seu aplicativo com o Android N:
+  Para começar o teste do aplicativo com o Android N:
 </p>
 
 <ol>
-  <li> Consulte a <a href="{@docRoot}preview/api-overview.html">Visão geral da API</a>
+  <li> Revise a <a href="{@docRoot}preview/api-overview.html">Visão geral da API</a>
  e as <a href="{@docRoot}preview/behavior-changes.html">Mudanças de comportamento</a> para
- ter uma ideia das novidades e de como elas afetam seus aplicativos. Especificamente,
+ ter uma ideia do que há de novo e como isto afeta os aplicativos. Especificamente,
  obtenha informações sobre os novos recursos de <a href="{@docRoot}preview/features/notification-updates.html">notificações</a> e
  o <a href="{@docRoot}preview/features/multi-window.html">suporte a várias janelas</a>.</li>
   <li> Configure seu ambiente seguindo as instruções para <a href="{@docRoot}preview/setup-sdk.html">Configurar o Preview SDK</a>
diff --git a/docs/html-intl/intl/pt-br/preview/preview_toc.cs b/docs/html-intl/intl/pt-br/preview/preview_toc.cs
new file mode 100644
index 0000000..12cb423
--- /dev/null
+++ b/docs/html-intl/intl/pt-br/preview/preview_toc.cs
@@ -0,0 +1,75 @@
+<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="程式總覽"> Visão geral do programa</a></div>
+  </li>
+
+
+  <li class="nav-section">
+    <div class="nav-section-header empty"><a href="&lt;?cs var:toroot ?&gt;preview/support.html"> Suporte e notas da versão</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"> Configurar o 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="在裝置上測試"> Testar em um 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="行為變更">Alterações de comportamento</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="背景最佳化">Otimizações em 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 e localidade</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="多視窗支援"> Suporte a várias janelas</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="通知">Notificações</a></li>
+
+        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/data-saver.html"> Economia de dados</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="電視錄製"> Gravação para 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="網路安全性設定"> Configurações de segurança de rede</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"> Suporte a 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 語言功能"> Recursos de linguagem do Java 8</a></li>
+
+        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/afw.html"> Mudanças no 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="限定範圍目錄存取"> Acesso a diretórios com escopo</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="範例"> Exemplos</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 licença</a></div>
+  </li>
+
+</ul> 
\ No newline at end of file
diff --git a/docs/html-intl/intl/pt-br/preview/samples.jd b/docs/html-intl/intl/pt-br/preview/samples.jd
index c4c421f..16515e4 100644
--- a/docs/html-intl/intl/pt-br/preview/samples.jd
+++ b/docs/html-intl/intl/pt-br/preview/samples.jd
@@ -10,8 +10,8 @@
 </p>
 
 <p class="note">
-  <strong>Observação:</strong> estes projetos disponíveis para download foram criados
- para uso com o Gradle e o Android Studio.
+  <strong>Observação:</strong> Esses projetos disponíveis para download são projetados
+ para uso com Gradle e Android Studio.
 </p>
 
 
@@ -73,7 +73,7 @@
 </p>
 
 <div style="clear: both;"></div>
-<h3 id="sda">Acessos a diretório com escopo</h3>
+<h3 id="sda">Acesso a diretórios com escopo</h3>
 <img src="{@docRoot}preview/images/sample-scopeddirectoryaccess.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
 <p>
   Este exemplo demonstra como ler e gravar dados de diretórios
diff --git a/docs/html-intl/intl/pt-br/preview/setup-sdk.jd b/docs/html-intl/intl/pt-br/preview/setup-sdk.jd
index a917da3..6db456c 100644
--- a/docs/html-intl/intl/pt-br/preview/setup-sdk.jd
+++ b/docs/html-intl/intl/pt-br/preview/setup-sdk.jd
@@ -1,4 +1,4 @@
-page.title=Configurar o Preview
+page.title=Configuração do Preview
 meta.keywords="preview", "android"
 page.tags="preview", "developer preview"
 page.image=images/cards/card-n-sdk_2x.png
@@ -15,7 +15,7 @@
       <li><a href="#docs-dl">Documentação de referência</a>
     </ol>
   </li>
-  <li><a href="#java8">Obter o Java 8 JDK e JRE</a></li>
+  <li><a href="#java8">Obter o Java 8 JDK</a></li>
   <li><a href="#create-update">Atualizar ou criar um projeto</a></li>
   <li><a href="#next">Próximas etapas</a></li>
 </ol>
@@ -31,69 +31,34 @@
 <img src="{@docRoot}preview/images/n-preview-setup.png" width="700" alt="" />
 
 
-<h2 id="get-as13">Obter o Android Studio 2.1 (preview)</h2>
+<h2 id="get-as13">Obter o Android Studio 2.1</h2>
 
-<p>A plataforma Android N adiciona suporte para os <a href="{@docRoot}preview/j8-jack.html">recursos de linguagem do Java 8</a>,
-que exigem um novo compilador chamado Jack. A versão mais recente do Jack
+<p>A plataforma Android N adiciona suporte para <a href="{@docRoot}preview/j8-jack.html">recursos de linguagem do Java 8</a>,
+ o que requer um novo compilador chamado Jack. A versão mais recente do Jack
 só é compatível com o Android Studio 2.1 no momento. Portanto, se quiser
 usar os recursos de linguagem do Java 8, será preciso usar o Android Studio 2.1 para
 compilar seu aplicativo. Caso contrário, não será preciso usar o Jack, mas ainda será
 necessário atualizar para o JDK 8 para desenvolver para a plataforma Android N,
-conforme é descrito abaixo.
-</p>
+conforme descrito abaixo.</p>
 
-<p>No momento, o Android Studio 2.1 está disponível como prévia no canal da versão canary
-. Se já tiver
-o Android Studio e não quiser atualizar para o canal canary, poderá
-fazer o download do Android Studio 2.1 como uma instalação separada e usá-lo
-para desenvolvimento com o Android N, não afetando o ambiente principal do Android Studio
-.</p>
+<p>Se você já instalou o Android Studio, verifique se tem o Android 
+Studio 2.1 ou superior clicando em <strong>Help &gt; Check for Update</strong>
+(no Mac, <strong>Android Studio &gt; Check for Updates</strong>).</p>
 
-<p>Para fazer o download do Android Studio 2.1 como uma instalação separada, siga as etapas
-abaixo (ou, se quiser receber o Android Studio 2.1 como uma atualização da sua
-instalação existente, pule para a etapa 4):</p>
-
-<ol>
-  <li>Edite o nome da sua
- instalação existente do Android Studio e altere o número da versão. Assim,
- quando você instalar a nova versão, ela não substituirá a existente.</li>
-  <li>Faça o download do arquivo ZIP apropriado para seu sistema operacional na
- <a href="http://tools.android.com/download/studio/canary/latest">página de downloads do canal canary</a>.
-  </li>
-  <li>Descompacte o pacote e mova o conteúdo do Android Studio 2.1 para o
- local apropriado para aplicativos no seu sistema. Em seguida, inicie-o.</li>
-  <li>Abra a caixa de diálogo Settings
- (<strong>File &gt; Settings</strong> no Windows/Linux ou
- <strong>Android Studio &gt; Preferences</strong> no Mac). No painel à
- esquerda, selecione <strong>Appearance &amp; Behavior &gt; System Settings &gt;
- Updates</strong>.
-  </li>
-  <li>No painel Updates, marque a caixa de seleção <strong>Automatically
- check updates for</strong> e selecione
- <strong>Canary Channel</strong> na lista suspensa.
-  </li>
-</ol>
-
-<p>Mantenha essa janela aberta para a próxima etapa.</p>
+<p>Se não o tiver, <a href="{@docRoot}studio/">baixe o Android
+Studio 2.1 aqui</a>.</p>
 
 
 <h2 id="get-sdk">Obter o N Preview SDK</h2>
 
-<p>Para começar a desenvolver com as APIs do Android N, instale o
+<p>Para começar a desenvolver com as APIs do Android N, instale o 
 Android N Preview SDK no Android Studio da seguinte maneira:</p>
 
 <ol>
-  <li>Ainda no painel Updates (etapa 4 dos procedimentos acima),
- marque a caixa de seleção <strong>Automatically
- check updates for Android SDK</strong> e selecione
- <strong>Preview Channel</strong> na lista suspensa.
-  </li>
-  <li>Clique em <strong>Check Now</strong>.</li>
+  <li>Abra o SDK Manager selecionando <strong>Tools &gt; Android &gt;
+ SDK Manager</strong>.</li>
 
-  <li>No painel à esquerda, selecione <strong>Appearance &amp; Behavior &gt;
- System Settings &gt; Android SDK</strong>.
-
-  <li>Clique na guia <strong>SDK Platforms</strong> e marque a caixa de seleção
+  <li>Na guia <strong>SDK Platforms</strong>, marque a caixa de seleção
  <strong>Android N Preview</strong>.</li>
 
   <li>Clique na guia <strong>SDK Tools</strong> e marque as caixas de seleção
@@ -112,8 +77,8 @@
 <p>
   Informações detalhadas sobre as APIs do Android N são disponibilizadas na documentação de referência do N Preview
 , que pode ser baixada pela tabela a seguir.
- Este pacote contém uma versão off-line resumida do site de desenvolvedores do Android
- e inclui uma referência atualizada para as APIs do Android N, além de um relatório
+  Este pacote contém uma versão off-line resumida do site de desenvolvedores do Android 
+ e inclui uma referência de API atualizada para as APIs do Android N, além de um relatório
  das diferenças entre as APIs.
 </p>
 
@@ -124,23 +89,21 @@
   </tr>
   <tr>
     <td style="white-space: nowrap">
-    <a href="{@docRoot}shareables/preview/n-preview-1-docs.zip">n-preview-1-docs.zip</a></td>
+    <a href="{@docRoot}shareables/preview/n-preview-3-docs.zip">n-preview-3-docs.zip</a></td>
     <td width="100%">
-      MD5: 4ab33ccbe698f46f125cc5b807cf9c2f<br>
-      SHA-1: 6a3880b3ccd19614daae5a4d0698ea6ae11c20a5
+      MD5: 19bcfd057a1f9dd01ffbb3d8ff7b8d81<br>
+      SHA-1: 9224bd4445cd7f653c4c294d362ccb195a2101e7 
     </td>
   </tr>
-</table>
+<table>
 
 
 
-<h2 id="java8">Obter o Java 8 JDK e JRE</h2>
+<h2 id="java8">Obter o Java 8 JDK</h2>
 
-<p>Para compilar seu aplicativo para a plataforma Android N, você deve usar
-o Java 8 Developer Kit (JDK 8) e, para usar algumas ferramentas com o Android
-Studio 2.1, é preciso instalar o Java 8 Runtime Environment (JRE 8). Portanto, se
-não tiver as versões mais recentes desses recursos, faça o download do JDK 8 e do JRE 8
-agora mesmo.</p>
+<p>Para compilar o aplicativo para a plataforma Android N e usar algumas ferramentas com o
+Android Studio 2.1, é preciso instalar o Java 8 Developer Kit (JDK 8). Portanto, se
+não tiver a versão mais recente, baixe o JDK 8 agora mesmo.</p>
 
 <p>Em seguida, defina a versão do JDK no Android Studio da seguinte maneira:</p>
 
@@ -168,7 +131,7 @@
   Para usar as APIs do Android N, seu projeto deve ser configurado da maneira apropriada.
 </p>
 
-<p>Se planeja usar os recursos de linguagem do Java 8, consulte
+<p>Se planeja usar os recursos de linguagem do Java 8, consulte 
 <a href="{@docRoot}preview/j8-jack.html">Recursos de linguagem do Java 8</a>
 para saber mais sobre os recursos do Java 8 com suporte e
 como configurar seu projeto com o compilador Jack.</p>
@@ -184,7 +147,7 @@
 <pre>
 android {
   compileSdkVersion <strong>'android-N'</strong>
-  buildToolsVersion <strong>'24.0.0-rc1'</strong>
+  buildToolsVersion <strong>'24.0.0-rc3'</strong>
   ...
 
   defaultConfig {
@@ -216,8 +179,9 @@
 
 <ul>
   <li>Siga o guia para <a href="{@docRoot}preview/download.html">Testar em um dispositivo Android N</a>.</li>
-  <li>Saiba mais sobre a plataforma Android N com
+  <li>Saiba mais sobre a plataforma Android N com 
 <a href="{@docRoot}preview/behavior-changes.html">Mudanças de comportamento</a>
 e <a href="{@docRoot}preview/api-overview.html">Recursos de APIs do
 Android N</a>.</li>
 </ul>
+
diff --git a/docs/html-intl/intl/pt-br/preview/support.jd b/docs/html-intl/intl/pt-br/preview/support.jd
new file mode 100644
index 0000000..4580887
--- /dev/null
+++ b/docs/html-intl/intl/pt-br/preview/support.jd
@@ -0,0 +1,1188 @@
+page.title=Notas da versão e suporte
+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>Neste documento</h2>
+
+<ul>
+  <li><a href="#dp3">Developer Preview 3</a>
+    <ul>
+      <li><a href="#general">Alertas gerais</a></li>
+      <li><a href="#new">Novidades no DP3</a></li>
+      <li><a href="#ki">Problemas conhecidos</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>
+  Estão disponíveis dois canais de suporte principais para quem está desenvolvendo ou testando
+ com o Android N Developer Preview: Registre relatórios de erro em <a href="https://developer.android.com/preview/bug">https://developer.android.com/preview/bug</a> para
+ erros específicos de dispositivo, do sistema e do Google App. Para problemas com outros aplicativos,
+ entre em contato diretamente com o desenvolvedor.
+</p>
+
+<p>Para discutir problemas ou ideias com outros desenvolvedores que trabalham com o Android N, junte-se à
+<a href="{@docRoot}preview/dev-community">comunidade Developer Preview do Google+</a>.</p>
+
+<h2 id="dp3">Developer Preview 3</h2>
+
+<div class="wrap">
+  <div class="cols">
+    <div class="col-6of12">
+      <p>
+        <em>Data: Maio de 2016<br>
+        Versão: NPD35K<br>
+        Suporte do emulador: x86 &amp; ARM (32/64 bits)<br>
+        Serviços Google Play: 8.4</em>
+      </p>
+    </div>
+  </div>
+</div>
+
+<h3 id="general">Alertas gerais</h3>
+
+<p>
+  Esta versão do Developer Preview é para <strong>desenvolvedores de aplicativos e outros
+ usuários iniciais</strong> e está disponível para uso diário, desenvolvimento ou
+ testes de compatibilidade. Esteja ciente destas notas gerais sobre a
+ versão:
+</p>
+
+<ul>
+  <li>Esta versão pode ter vários <strong>problemas de estabilidade</strong> em
+ dispositivos compatíveis. Os usuários podem encontrar instabilidade no sistema, como
+ panes e falhas do kernel.
+  </li>
+
+  <li>Alguns aplicativos <strong>podem não funcionar como esperado</strong> na nova
+ versão da plataforma. Isso inclui aplicativos do Google e outros aplicativos.
+  </li>
+
+  <li>O Developer Preview 3 foi <strong>aprovado pelo Compatibility Test Suite (CTS)
+</strong> nestes dispositivos: Nexus 5X, Nexus 6, Nexus 6P e Pixel
+ C. Aplicativos que dependem de versões aprovadas pelo CTS
+ funcionam normalmente nesses dispositivos (por exemplo, Android Pay).
+  </li>
+
+  <li>O Developer Preview 3 está <strong>disponível em todos os
+ dispositivos compatíveis:</strong> Nexus 5X, Nexus 6, Nexus 6P, Nexus 9, Nexus Player, Pixel
+  C, General Mobile 4G (Android One), assim como Sony Xperia Z3 (modelos D6603 e
+  D6653).
+
+  </li>
+</ul>
+
+
+<h3 id="new">Novidades no DP3</h3>
+
+<h4 id="">Modo RV para Android</h4>
+
+<p>
+  O Android N adiciona compatibilidade de plataformas e otimizações para um novo Modo RV que dá aos
+ desenvolvedores a capacidade de projetar experiências de RV móveis de alta qualidade para os usuários. Há
+ diversas melhorias de desempenho, incluindo o acesso a um núcleo exclusivo da CPU
+ para aplicativos de RV. Dentro dos aplicativos, é possível aproveitar o rastreamento inteligente
+ da cabeça e notificações estéreo que funcionam para RV. Mais importante, 
+o Android N oferece gráficos de latência muito baixa.
+</p>
+
+<p>
+  Para obter mais informações, consulte o <a href="https://developers.google.com/vr/android/">Google VR SDK para Android</a>.
+</p>
+
+<h4 id="">Modo de desempenho sustentado</h4>
+
+<p>
+  O Android N inclui compatibilidade opcional para <a href="{@docRoot}preview/api-overview.html#sustained_performance_api">modo de desempenho 
+sustentado</a>, permitindo que OEMs ofereçam dicas sobre
+ capacidades de desempenho do dispositivo para aplicativos de longa duração. Desenvolvedores de aplicativos podem usar
+ essas dicas para ajustar os aplicativos para um nível de
+ desempenho do dispositivo previsível e consistente em períodos longos de tempo. Desenvolvedores de aplicativos podem testar essa nova
+ API na prévia para desenvolvedores apenas em dispositivos Nexus 6P.
+</p>
+
+<h4>Multiprocess WebView</h4>
+
+<p>
+  A partir da versão 51 do Android N, o WebView executará conteúdo da web em um
+ processo de segurança separado quando a opção de desenvolvedor “Multiprocess WebView”
+ estiver ativada. A equipe do WebView quer ouvir comentários sobre compatibilidade e
+ desempenho durante a execução no N antes de ativar o Multiprocess WebView em uma
+ versão futura do Android. Nesta versão, regressões no tempo de inicialização, no
+ uso de memória total e no desempenho de renderização do software são esperadas.
+</p>
+
+<p>
+  Queremos
+ ser informados se você encontrar problemas inesperados no modo multiprocesso. Entre em contato com a equipe WebView <a href="https://bugs.chromium.org/p/chromium/issues/entry?template=Webview%20Bugs">
+ enviando um relatório de erros</a>.
+</p>
+
+<h4 id="">Auxiliar de atalhos de teclado</h4>
+
+<p>
+  No Android N, o usuário pode pressionar <code>Meta+/</code> para acionar uma tela de <strong>atalhos
+ de teclado</strong> que exibe todos os atalhos disponíveis do
+ sistema e do aplicativo em questão. Os desenvolvedores podem adicionar os próprios atalhos ou
+ ativar a tela de atalhos nos aplicativos. Consulte o <a href="{@docRoot}preview/api-overview.html#keyboard_shortcuts_helper">Auxiliar de 
+atalhos de teclado</a> para saber mais.
+</p>
+
+<h4 id="">FrameMetrics API</h4>
+
+<p>
+  O DP3 introduz uma nova <a href="{@docRoot}preview/api-overview.html#framemetrics_api">FrameMetrics API</a>
+ que permite que um aplicativo monitore o desempenho de renderização da IU ao expor uma API pubsub de
+ transmissão para transferir informações sobre sincronização de quadros para a
+ janela atual do aplicativo. <code>FrameMetricsListener</code> pode ser usado para medir
+ o desempenho da IU em nível de interação em produção com granularidade maior e
+ sem precisar de uma conexão USB.
+</p>
+
+<h4 id="api-changes">Alterações de recursos e API</h4>
+
+<dl>
+  <dt>
+    Atalhos do inicializador e a Launcher Shortcuts API
+  </dt>
+
+  <dd>
+    Decidimos adiar esse recurso para uma versão futura do Android. Planejamos
+ remover as Launcher Shortcuts APIs (ShortcutManager e outros) da
+ API pública do Android N a partir da próxima prévia para desenvolvedores.
+  </dd>
+
+  <dt>
+    WebView JavaScript executado antes do carregamento da página
+  </dt>
+
+  <dd>
+    Começando em aplicativos destinados para o Android N, o contexto do JavaScript é redefinido
+ quando uma nova página é carregada. Atualmente, o contexto é transferido para
+ a primeira página carregada em uma nova situação de {@link android.webkit.WebView}.
+    Os desenvolvedores que desejam inserir JavaScript no {@link
+    android.webkit.WebView} devem executar o script antes de a página
+ começar a carregar.
+  </dd>
+
+  <dt>
+    WebView de Geolocalização em origens desprotegidas
+  </dt>
+
+  <dd>
+    Começando em aplicativos destinados ao Android N, a API de geolocalização será
+ permitida apenas em origens seguras (por HTTPS). Essa política tem como objetivo proteger
+ as informações privadas dos usuários quando eles estiverem usando uma conexão desprotegida.
+  </dd>
+
+  <dt>
+    Economia de dados
+  </dt>
+
+  <dd>
+    Começando no Developer Preview 3, os aplicativos podem usar uma intenção para exibir uma
+ caixa de diálogo do sistema que permite que os usuários adicionem o aplicativo diretamente na
+ lista de permissões da Economia de dados. Consulte a <a href="{@docRoot}preview/api-overview.html#data_saver">documentação sobre a Economia de dados
+</a> para obter mais detalhes.
+  </dd>
+
+  <dt>
+    <a href="{@docRoot}preview/api-overview.html#number-blocking">Bloqueio de números</a>
+  </dt>
+
+  <dd>
+    Se um usuário não autorizado tenta bloquear ou desbloquear um número, agora a
+ operação falha com {@link java.lang.SecurityException}. (Anteriormente,
+ a operação lançava {@link java.lang.UnsupportedOperationException}.)
+  </dd>
+
+  <dt>
+    <a href="{@docRoot}preview/api-overview.html#tile_api">Quick Settings Tile
+API</a>
+  </dt>
+
+  <dd>
+    Agora o sistema usa os metadados da atividade para decidir o modo do bloco.
+    (Anteriormente, o modo do bloco era determinado pelo valor de retorno do
+ <code>TileService.onTileAdded()</code>.) Para obter mais informações, consulte 
+<code>TileService.META_DATA_ACTIVE_TILE</code> na <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referência da API</a>, disponível para download.
+  </dd>
+</dl>
+
+<h4 id="dp3-fixes">Correções de problemas relatados por desenvolvedores</h4>
+
+<p>
+  Diversos problemas relatados por desenvolvedores foram corrigidos, incluindo:
+</p>
+
+<ul>
+  <li>Reprodução de áudio por Bluetooth interrompida após 1 música (erro <a href="https://code.google.com/p/android/issues/detail?id=206889">206889</a>)
+  </li>
+
+  <li>Pixel C falha consistentemente (erro <a href="https://code.google.com/p/android/issues/detail?id=206962">206962</a>)
+  </li>
+
+  <li>Problemas de notificação do Relógio e Aviso (erro <a href="https://code.google.com/p/android/issues/detail?id=203094">203094</a>)
+  </li>
+
+  <li>Pixel C reinicia quando conectado ao MacBook Pro via cabo USB C (erro
+  <a href="https://code.google.com/p/android/issues/detail?id=205432">205432</a>)
+  </li>
+
+  <li>Agenda errada por um dia (erro <a href="https://code.google.com/p/android/issues/detail?id=203002">203002</a>)
+  </li>
+
+  <li>TelephonyManager.getAllCellInfo retorna dados inválidos (erro <a href="https://code.google.com/p/android/issues/detail?id=203022">203022</a>)
+  </li>
+
+  <li>No Nexus 6p, o Bluetooth desconecta continuamente (erro <a href="https://code.google.com/p/android/issues/detail?id=208062">208062</a>)
+  </li>
+</ul>
+
+<p>Para obter a lista completa de problemas corrigidos, consulte<a href="https://goo.gl/6uCKtf"> o
+issue tracker</a>.</p>
+
+<h3 id="ki">Problemas conhecidos</h3>
+
+<h4>Acessibilidade</h4>
+
+<ul>
+  <li>Impossível ouvir a produção de TTS quando o valor de inclinação está configurado quase no nível máximo.
+  </li>
+
+  <li>Recursos e configurações de acessibilidade podem ser interrompidos quando o usuário adiciona um
+ perfil de trabalho, incluindo gesto e configuração de ampliação. O
+ estado de acessibilidade é restaurado na próxima vez em que o usuário toca nas configurações relacionadas.
+  </li>
+</ul>
+
+<h4>Câmera</h4>
+
+<ul>
+  <li>O aplicativo Câmera mostrou instabilidade; ele pode falhar em diversas
+ circunstâncias, como quando é inicializado em modo de várias janelas.
+  </li>
+
+  <li>Pressionar o obturador continuamente no modo panorama pode fazer o
+ aplicativo Câmera falhar.
+  </li>
+</ul>
+
+<h4>Áudio</h4>
+<ul>
+  <li>Um problema na plataforma do reprodutor de áudio impede alguns aplicativos de funcionarem
+ normalmente. Por exemplo, o Skype e outros aplicativos são afetados por esse problema.
+  </li>
+</ul>
+
+<h4>Conectividade</h4>
+
+
+<ul>
+  <li>Quando um dispositivo Bluetooth Low Energy (BLE) de função periférica anuncia um
+ serviço e um dispositivo BLE de função central é conectado, o dispositivo de função periférica
+ é desconectado rapidamente.
+  </li>
+
+  <li>A conexão Wi-Fi pode cair quando a tela está desligada.
+  </li>
+
+  <li>Conexões RFCOMM são instáveis e podem resultar em corrompimento de dados e
+ oscilação na conexão.
+  </li>
+
+  <li>Os estados de rede ativos ({@link android.net.NetworkInfo#getState
+  NetworkInfo.getState()} e {@link android.net.NetworkInfo#getDetailedState
+  NetworkInfo.getDetailedState()}) podem retornar valores incorretos durante algumas
+ situações de segundo plano restritas.
+  </li>
+</ul>
+
+
+<h4>
+  Inicializador
+</h4>
+
+<ul>
+  <li>A bandeja Todos os Aplicativos padrão do inicializador pode parar de responder após
+ desligar e ligar a tela. Retornar à tela inicial e reinicializar
+ a bandeja Todos os Aplicativos pode resolver o problema.
+  </li>
+</ul>
+
+<h4>
+  Teclado
+</h4>
+
+<ul>
+  <li>Ao atualizar um dispositivo com Android 6.0 ou anterior para o N Developer
+ Preview, o Teclado do Google não preserva os dados de preferências como configurações recentes de
+ emoticons e som.
+  </li>
+
+  <li>O Teclado do Google em idioma indiano pode ficar instável.
+  </li>
+
+  <li>Ao inserir texto em um campo de senha, o usuário pode selecionar russo como
+ o idioma de entrada, mas o teclado continua em inglês. Isso impede que o
+ usuário insira senhas no idioma russo.
+  </li>
+</ul>
+
+<h4>
+  Localidades e idiomas
+</h4>
+
+<ul>
+  <li>Ao usar localidade da direita para esquerda (RTL), o sistema pode
+ alterar inesperadamente para apresentação de esquerda para direita (LTR) após a reinicialização do dispositivo.
+  </li>
+</ul>
+
+<h4>Mídia</h4>
+
+<ul>
+  <li>Reprodução de mídia instável no Nexus 9 e Nexus Player, incluindo
+ problemas ao reproduzir vídeos em HD.
+  </li>
+</ul>
+
+<h4>
+  Modo de várias janelas
+</h4>
+
+<ul>
+  <li>O dispositivo pode congelar após mudar a orientação em modo de várias janelas.
+  </li>
+
+  <li>Atualmente, diversos aplicativos apresentam problemas no modo de várias janelas:
+    <ul>
+      <li>A IU do sistema pode falhar ao ancorar o brilho de Settings &gt; Display &gt;
+ Screen no modo de várias janelas.
+      </li>
+
+      <li>O aplicativo Câmera pode falhar quando inicializado em modo de várias janelas.
+      </li>
+
+      <li>O YouTube pode falhar quando inicializado em modo de várias janelas. Para corrigir o
+ problema, você deve limpar os dados do aplicativo do YouTube em Storage &gt; Apps &gt;
+ YouTube.
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<h4>
+  Google Play Services
+</h4>
+
+<ul>
+  <li>Aplicativos que usam Google Cast via Google Play Services podem ficar instáveis quando
+ o usuário seleciona uma localidade do sistema que usa letras e números fora do
+ intervalo ASCII.
+  </li>
+</ul>
+
+<h4>
+  Política do dispositivo do Android for Work e Google Apps
+</h4>
+
+<ul>
+  <li>O aplicativo de Política do dispositivo pode falhar quando o usuário desbloqueia o dispositivo com a
+ tela de “status da política do dispositivo” fixada.
+  </li>
+
+  <li>Depois de configurar o perfil de trabalho com a criptografia baseada em arquivos habilitada e
+ desativar o perfil de trabalho, os usuários devem desbloquear o bloqueio de tela de perfil primário para poder
+ acessar novamente os aplicativos do Work.
+  </li>
+
+  <li>O dispositivo é reinicializado após remover o padrão de bloqueio de segurança e abrir
+ aplicativos de trabalho/pessoal no modo de várias janelas.
+  </li>
+
+  <li>A configuração DISALLOW_VPN_CONFIG faz com que a caixa de diálogo de autorização apareça como
+ always-on-vpn pelo Cliente de política do dispositivo.
+  </li>
+
+  <li>O tráfego não é bloqueado até a VPN conectar no modo always-on-vpn.
+  </li>
+</ul>
+
+<h4>
+  Armazenamento externo
+</h4>
+
+<ul>
+  <li>Aplicativos podem ficar instáveis quando o usuário os transfere do armazenamento interno
+ para o armazenamento externo adotável (isso pode incluir um cartão SD ou dispositivos conectados
+ via USB).
+  </li>
+</ul>
+
+<h4>
+  Zoom de tela e vários APKs no Google Play
+</h4>
+
+<ul>
+  <li>Em dispositivos com Android N, o Google Play Services 9.0.83 relata incorretamente
+ a densidade de tela atual em vez da densidade de tela estável. Quando o
+ zoom de tela é habilitado nesses dispositivos, isso pode fazer com que o Google Play selecione uma
+ versão de um aplicativo com vários APKs projetada para telas menores. Esse problema foi
+ corrigido na próxima versão do Google Play Services e será incluído em uma versão
+ próxima do Developer Preview.
+  </li>
+
+  <li>Em dispositivos com Android N, o Google Play Services 9.0.83 atualmente relata
+ compatibilidade com Vulkan, mas não com a versão do Vulkan. Isso pode fazer com que o Google Play selecione uma
+ versão de um aplicativo com vários APKs projetado para compatibilidade com versões anteriores do Vulkan em
+ dispositivos compatíveis com versões mais recentes. Atualmente, o Google Play Store
+ não aceita carregamento de aplicativos que usam segmentação de versão do Vulkan. Essa compatibilidade
+ será adicionada ao Google Play Store no futuro e corrigida na próxima
+ versão do Google Play Services (a ser incluída em uma versão futura do Developer Preview
+). Qualquer dispositivo N que estiver usando a versão 9.0.83 do Google Play Services
+ continuará a receber versões dos aplicativos com segmentação básica de compatibilidade com o Vulkan.
+  </li>
+</ul>
+
+<h4 id="">Notificações</h4>
+
+<ul>
+  <li>MessagingStyle não exibe notificações com emissor “null” (próprio).
+  </li>
+</ul>
+
+<h4 id="">Ferramentas para desenvolvedor</h4>
+
+<ul>
+  <li>
+    <code>adb</code> pode às vezes se desconectar durante o uso da depuração 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>Data: Abril de 2016<br>
+        Versões: NPC91K, NPC91O<br>
+        Suporte do emulador: x86 &amp; ARM (32/64 bits)<br>
+        Serviços Google Play: 8.4</em>
+      </p>
+    </div>
+  </div>
+</div>
+
+<h3 id="dp2-new">Novidades no DP2</h3>
+
+<ul>
+  <li>Compatibilidade da plataforma com Vulkan, uma nova API de renderização 3D que fornece
+ controle explícito e com baixa sobrecarga da GPU (unidade de processamento gráfico), além de oferecer
+ desempenho aprimorado para aplicativos com muitas chamadas de desenho. Para saber mais, consulte a
+  <a href="{@docRoot}ndk/guides/graphics/index.html">documentação</a>.
+  </li>
+
+  <li>Novos emoticons de pessoas com compatibilidade com variações de tons de pele e glifos do Unicode 9.
+  Os tons de pele e os novos emoticons não aparecerão até que os teclados adicionem compatibilidade para
+ eles na paleta. Os aplicativos não precisam tomar medidas para
+ aproveitar esses novos emoticons, a menos que usem uma fonte que não seja no sistema. Desenvolvedores
+ IME devem incorporar a compatibilidade para os novos emoticons.
+  </li>
+
+  <li>
+    <a href="{@docRoot}preview/api-overview.html#launcher_shortcuts">Launcher
+    Shortcuts API</a>: Aplicativos que usam <code>ShortcutManager</code> para enviar
+ atalhos para pontos de partida dentro deles mesmos para o inicializador.
+  </li>
+
+  <li>
+    <a href="{@docRoot}preview/features/multi-window.html">Várias janelas</a>:
+    Agora você pode especificar uma altura e um comprimento mínimos separados para uma
+ atividade. Além disso, vários nomes de API foram ligeiramente alterados.
+  </li>
+</ul>
+
+<h4 id="dp2-fixes">Correções de problemas relatados por desenvolvedores</h4>
+
+<p>
+  Diversos problemas relatados por desenvolvedores foram corrigidos, incluindo:
+</p>
+
+<ul>
+  <li>Impossível conectar com SSID oculto ou Wi-Fi sem transmissão. (erro <a href="https://code.google.com/p/android/issues/detail?id=203116">203116</a>)
+  </li>
+
+  <li>O estado mudo do microfone persiste em várias atividades. (erro <a href="https://code.google.com/p/android/issues/detail?id=205922">205922</a>)
+  </li>
+
+  <li>Alterar o foco no modo de várias janelas pausa o YouTube. (erro <a href="https://code.google.com/p/android/issues/detail?id=203424">203424</a>)
+  </li>
+
+  <li>Resposta direta pode fechar atividades abertas. (erro <a href="https://code.google.com/p/android/issues/detail?id=204411">204411</a>)
+  </li>
+
+  <li>Diversas correções de estabilidade.
+  </li>
+</ul>
+
+<h3 id="dp2-general">Alertas gerais</h3>
+
+<p>
+  Esta versão do Developer Preview é apenas para <strong>desenvolvedores de aplicativos</strong>
+ e foi projetada para uso apenas em testes de compatibilidade e desenvolvimento inicial.
+  Esteja ciente destas notas gerais sobre a versão:
+</p>
+
+<ul>
+
+  <li>Os componentes da ferramenta de desenvolvimento e bibliotecas de suporte foram atualizados
+ para a versão DP2. Lembre-se de atualizar seu ambiente de desenvolvimento de prévia
+ antes de desenvolver para o DP2. Para obter instruções sobre como configurar seu ambiente
+ de desenvolvimento, consulte
+ <a href="{@docRoot}preview/setup-sdk.html">Configuração do Preview</a>.
+  </li>
+
+  <li>Esta versão tem diversos problemas de estabilidade e desempenho em todos os dispositivos,
+ portanto, <strong>não é adequada para uso diário em celulares ou tablets</strong>,
+ especialmente para quem não é desenvolvedor.
+  </li>
+
+  <li>A vida útil da bateria e o desempenho não foram otimizados nesta
+ versão:
+
+    <ul>
+      <li>Sabe-se que o <strong>desempenho do sistema e de aplicativos fica lento/instável
+ periodicamente</strong> e dispositivos podem parar de responder ocasionalmente. Esses
+ problemas podem aumentar com o uso prolongado.
+      </li>
+
+      <li>A vida útil da bateria pode regredir nesta versão em casos de uso de ligar e 
+ desligar a tela.
+      </li>
+    </ul>
+  </li>
+
+  <li>Alguns <strong>aplicativos podem não funcionar normalmente</strong> no Developer Preview
+ 2. Isso inclui aplicativos do Google e outros aplicativos.
+  </li>
+
+  <li>Esta versão inicial não foi aprovada pelo <strong>Compatibility Test Suite (CTS)
+</strong>. Aplicativos que dependem de versões aprovadas pelo CTS não funcionarão
+ (por exemplo, o Android Pay).
+  </li>
+
+  <li>Essa versão de prévia é compatível com os dispositivos a seguir: Nexus 5X, Nexus 6,
+  Nexus 6P, Nexus 9 e Pixel C, além do General Mobile 4G
+  (Android One). Compatibilidade com o Nexus Player em breve.
+  </li>
+
+
+  <li><a href="https://github.com/googlesamples/android-testdpc/releases">TestDPC</a> foi
+ atualizado para lidar com alterações na API entre o DP1 e o DP2.
+  </li>
+</ul>
+
+<h3 id="dp2-ki">Problemas conhecidos</h3>
+
+<h4>Desempenho e bateria</h4>
+
+<ul>
+  <li>Sabe-se que o desempenho do sistema e de aplicativos fica <strong>lento/instável
+ periodicamente</strong> e o dispositivo pode parar de responder ocasionalmente. Esses
+ problemas podem aumentar com o uso prolongado.
+  </li>
+</ul>
+
+<h4>Contas do Google</h4>
+
+<ul>
+  <li>Em alguns casos, podem ocorrer problemas com o
+ <code>AccountManagerService</code> que impedem o login em contas do Google.
+  </li>
+</ul>
+
+<h4>Atualização do sistema</h4>
+
+<ul>
+  <li>O dispositivo pode reinicializar imediatamente após atualizar para o DP2.
+  </li>
+</ul>
+
+<h4>Acessibilidade</h4>
+
+<ul>
+  <li>Problemas ao ouvir a produção de texto para voz (TTS) quando o valor de inclinação está configurado
+ quase no nível máximo.
+  </li>
+</ul>
+
+<h4>Bluetooth</h4>
+
+<ul>
+  <li>Características do Bluetooth Low Energy (LE) GATT usam o tipo de gravação
+ errado e não serão enviadas a um dispositivo remoto. Assim, por exemplo, alguns dispositivos de fitness
+ não funcionarão.
+  </li>
+</ul>
+
+<h4>Assistente de configuração</h4>
+
+<ul>
+  <li>A opção de restaurar dados em um dispositivo novo (ou dispositivo recentemente redefinido) da
+ “Your Google Account” não pode ser realizada no assistente de configuração. Você deve restaurar os
+ dados de um dispositivo existente selecionando “another Android device” no
+ assistente de configuração ou configurá-lo como um novo dispositivo.
+  </li>
+</ul>
+
+<h4>Desbloquear OEM</h4>
+
+<ul>
+  <li>Em alguns dispositivos, <strong>Enable OEM unlock</strong> está desabilitado em
+ “Developer Options” durante o uso do DP2.<br>
+  <strong>Solução alternativa:</strong> Inscreva-se no
+ programa beta do Android (se ainda não estiver inscrito) acessando
+ <a href="https://www.google.com/android/beta" class="external-link">www.google.com/android/beta</a>. Depois, inscreva-se e aceite fazer
+ o downgrade OTA. Cancelar a inscrição causa o downgrade para o Android 6.0. Agora você
+ deve poder escolher <strong>Enable OEM unlock</strong> em
+  “Developer Options”. Os dados pessoais são apagados após o downgrade do
+ dispositivo; entretanto, o desbloqueio do bootloader pode já ter apagado esses dados.
+  </li>
+</ul>
+
+<h4>Android for Work</h4>
+
+<ul>
+  <li>Desafio de segurança de perfil de trabalho
+    <ul>
+      <li>Após a migração para o N ou após o usuário criar perfis de trabalho, os
+ perfis de trabalho não podem criar chaves no armazenamento de chaves até o usuário alterar o
+ padrão, o PIN ou a senha ou configurar um Desafio do Work.
+      </li>
+
+      <li>No modo de inicialização direta, aplicar as restrições de senha ao dispositivo
+ faz com que o perfil de trabalho seja desbloqueado, mesmo se o dispositivo estiver bloqueado.
+      Isso torna o perfil de trabalho acessível, mesmo que ele deva estar protegido
+ pela tela de bloqueio do dispositivo.
+      </li>
+    </ul>
+  </li>
+
+  <li>Always on VPN
+    <ul>
+      <li>Se modo Always on VPN estiver ativado, mas uma VPN não estiver disponível, os aplicativos
+ se conectarão pela rede comum. Os aplicativos devem ficar off-line se não há nenhuma
+ conexão VPN disponível.
+      </li>
+
+      <li>Quando o modo Always On estiver ativado, a conexão por VPN não será estabelecida após
+ um dispositivo reiniciar no modo de reinicialização direta, mesmo se o usuário desbloquear a
+ tela de bloqueio protegida.
+      </li>
+    </ul>
+  </li>
+
+  <li>Suspensão de pacotes
+    <ul>
+      <li>Os administradores do dispositivo podem suspender pacotes críticos do sistema, o que pode provocar
+ comportamentos inesperados, como realizar chamadas apesar de a caixa de diálogo “Telephone
+      disabled” ser exibida.
+      </li>
+    </ul>
+  </li>
+
+  <li>Outros
+    <ul>
+      <li>O aplicativo de Configurações falha durante a inicialização se {@link
+      android.os.UserManager#DISALLOW_MOUNT_PHYSICAL_MEDIA} está configurado como verdadeiro quando
+ o usuário insere mídias físicas, como um cartão SD.
+      </li>
+
+      <li>A primeira verificação em um Perfil de trabalho leva vários minutos para
+ ser concluída.
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<h4 id="vulkan">Vulkan:</h4>
+
+<ul>
+   <li>Nexus 5X/6P</li>
+   <ul>
+      <li>Lacunas entre números de vinculação e outro número diferente de zero
+ como o primeiro número de vinculação faz com que {@code vkCreateGraphicsPipeline()} falhe.</li>
+      <li>O Vulkan exibe comportamento de amostragem incorreto em coordenadas projetadas de textura.</li>
+      <li>na amostra multithreadCmdBuffer, {@code vkCmdClearColorImage()} falha quando
+ é executado com o driver N-DP2.</li>
+      <li>Valores de retorno do {@code vkGetPhysicalDeviceFormatProperties()} não configuram um valor
+ para {@code VkFormatProperties::linearTilingFeatures}, que considera um valor de 0 como
+ um resultado.</li>
+      <li>Anexos do buffer de quadro de ponto flutuante do Vulkan não são tratados corretamente.</li>
+    </ul>
+   <li>Nexus Player</li>
+   <ul>
+      <li>Sombreadores SPIR-V podem acionar afirmações de driver.</li>
+      <li>Algumas configurações de pipeline podem fazer {@code vkCreateGraphicsPipeline()}
+ falhar.</li>
+  </ul>
+</ul>
+
+<h4>Problemas específicos de dispositivos</h4>
+
+<dl>
+  <dt>
+    <strong>Android One</strong>
+  </dt>
+
+  <dd>
+    A conexão de dados falha quando o dispositivo é alternado do slot 1 para o slot 2 do SIM.
+  </dd>
+
+  <dt>
+    <strong>Pixel C</strong>
+  </dt>
+
+  <dd>
+    Impossível ativar a opção “Always On” da Pesquisa de voz.
+  </dd>
+
+  <dt>
+    <strong>Nexus 6</strong>
+  </dt>
+
+  <dd>
+    Fotos da Câmera na orientação retrato ficam corrompidas, exceto em
+ fotos HDR+.
+  </dd>
+
+  <dt>
+    <strong>Nexus Player</strong>
+  </dt>
+
+  <dd>
+    A reprodução de conteúdo HD do Netflix pode falhar no Nexus Player.
+  </dd>
+
+  <dd>
+    Qualquer aplicativo que depende de alterações dinâmicas da resolução de vídeo pode falhar no
+ Nexus Player.
+  </dd>
+
+  <dd>
+    Qualquer aplicativo que usa o codec de vídeo VP9 pode falhar no Nexus Player.
+  </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>Data: Março de 2016<br>
+        Versões: NPC56P, NPC56R, atualizada: NPC56W, NPC56X<br>
+        Suporte do emulador: x86 &amp; ARM (32/64 bits)<br>
+        Serviços Google Play: 8.4</em>
+      </p>
+    </div>
+  </div>
+</div>
+
+<h3 id="dp1-general">Alertas gerais</h3>
+
+<p>
+  Esta versão do Developer Preview é apenas para desenvolvedores de aplicativos e foi projetada para
+ uso apenas em testes de compatibilidade e desenvolvimento inicial. Esteja ciente
+ destas notas gerais sobre a versão:
+</p>
+<ul>
+  <li>Esta versão tem diversos problemas de estabilidade e desempenho em todos os dispositivos,
+ portanto, <em>não é adequada para uso diário em celulares ou tablets</em>,
+ especialmente para quem não é desenvolvedor.
+  </li>
+
+  <li>Sabe-se que o desempenho do sistema e de aplicativos fica <strong>lento/instável
+ periodicamente</strong> e o dispositivo pode parar de responder ocasionalmente. Esses
+ problemas podem aumentar com o uso prolongado.
+  </li>
+
+  <li>A vida útil da bateria pode regredir nesta versão em casos de uso de ligar e 
+ desligar a tela.
+  </li>
+
+  <li>Alguns aplicativos podem não funcionar normalmente no Developer Preview 1. Isso inclui
+ aplicativos do Google e outros aplicativos.
+  </li>
+
+  <li>Esta versão inicial não foi aprovada pelo Compatibility Test Suite (CTS). Aplicativos
+ que dependem de versões aprovadas pelo CTS não funcionarão (por exemplo, o Android Pay).
+  </li>
+
+  <li>Essa versão de prévia é compatível com os dispositivos a seguir: Nexus 5X, Nexus 6,
+  Nexus 6P, Nexus 9, Nexus Player e Pixel C, assim como o General Mobile 4G
+  (Android One).
+  </li>
+</ul>
+
+<h3 id="dp1-platform">Problemas da plataforma</h3>
+
+<h4>Desempenho e bateria</h4>
+
+<ul>
+  <li>Sabe-se que o desempenho do sistema e de aplicativos fica <strong>lento/instável
+ periodicamente</strong> e o dispositivo pode parar de responder ocasionalmente. Esses
+ problemas podem aumentar com o uso prolongado.
+  </li>
+
+  <li>A vida útil da bateria pode regredir nesta versão em casos de uso de ligar e 
+ desligar a tela.
+  </li>
+</ul>
+<h4 id="dialer">Discador</h4>
+
+<ul>
+  <li>O aplicativo Discador não é compatível com a inicialização direta. Isso será resolvido mais tarde no
+ N Developer Preview.
+  </li>
+
+  <li>A reprodução do correio de voz não funciona.
+  </li>
+</ul>
+
+<h4>Microfone</h4>
+
+<ul>
+   <li>O sistema pode incorretamente manter o microfone no estado mudo em todos os aplicativos e reinicializações. Se você colocar o microfone no mudo em um aplicativo e o estado persistir, abra qualquer aplicativo que tenha controles de som do telefone e desative o mudo.</li>
+</ul>
+
+<h4 id="ui">IU do sistema</h4>
+
+<ul>
+  <li>Algumas strings novas ou modificadas na IU do sistema não foram traduzidas para todos
+ os idiomas.
+  </li>
+
+  <li>A IU de visão geral ainda está em desenvolvimento e está sujeita a alterações. Por exemplo,
+ pretendemos remover o temporizador que aparece quando o usuário alterna entre
+ aplicativos.
+  </li>
+
+  <li>Os controles e botões de alternância das configurações podem ficar lentos ou parecer que pararam de responder.
+  </li>
+
+  <li>O design visual das notificações está sujeito a alterações.
+  </li>
+
+  <li>No aplicativo Gmail, o arquivamento direto de e-mails inclusos em um
+ pacote de notificações não funciona corretamente.
+  </li>
+</ul>
+
+<h4>Android for Work</h4>
+
+<ul>
+  <li>Desafio de segurança de perfil de trabalho
+    <ul>
+      <li>Após a migração para o N ou após o usuário criar perfis de trabalho, os
+ perfis de trabalho não podem criar chaves no armazenamento de chaves até o usuário alterar o
+ padrão, o PIN ou a senha ou configurar um Desafio do Work.
+      </li>
+
+      <li>No modo de inicialização direta, aplicar as restrições de senha ao dispositivo
+ faz com que o perfil de trabalho seja desbloqueado, mesmo se o dispositivo estiver bloqueado.
+      Isso torna o perfil de trabalho acessível, mesmo que ele deva estar protegido
+ pela tela de bloqueio do dispositivo.
+      </li>
+
+      <li>Quando o usuário insere senha e PIN errados, o sistema não
+ exibe nenhuma mensagem informativa; em vez disso, ele apenas limpa o campo
+ de entrada. Esse problema não afeta a entrada de padrão ou impressão digital.
+      </li>
+
+      <li>Em um tablet, o segundo plano exibido com o desafio do perfil de trabalho é
+ desproporcionalmente pequeno.
+      </li>
+
+      <li>A versão da <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.enterprise.dmagent">
+ Política do dispositivo do Google Apps</a> empacotada com o N Developer Preview
+ ainda não é compatível com o recurso de Desafio de segurança de perfil de trabalho.
+        Em vez disso, os desenvolvedores devem usar <a href="https://github.com/googlesamples/android-testdpc/releases">TestDPC</a>
+ para testar esse recurso.
+      </li>
+    </ul>
+  </li>
+
+  <li>Always on VPN
+    <ul>
+      <li>Se o modo Always on VPN estiver ativado, mas uma VPN não estiver disponível, os aplicativos
+ não especificados como exceções na política Always on se conectarão via 
+ rede comum. Exceto quando especificados como exceções na política Always on,
+ os aplicativos deverão ficar off-line se não houver nenhuma conexão VPN disponível.
+        <ul>
+          <li>Quando o modo Always On estiver ativado, a conexão por VPN não será estabelecida
+ após um dispositivo reiniciar no modo de reinicialização direta, mesmo se o usuário
+ desbloquear a tela de bloqueio protegida.
+          </li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+
+  <li>Contatos aprimorados
+    <ul>
+      <li>Dispositivos Bluetooth PBAP/MAP não exibem a identificação de chamadas para
+ contatos de trabalho. A próxima versão do Preview corrige esse problema.
+      </li>
+    </ul>
+  </li>
+
+  <li>Modo de trabalho
+    <ul>
+      <li>O Google Now Launcher não mostra se o Modo de trabalho está ativado ou
+ desativado. O Launcher também não exibe o estado de suspensão do aplicativo.
+      </li>
+
+      <li>Após o usuário desativar e ativar o Modo de trabalho, o sistema não exibe mais os
+ widgets de aplicativos do perfil de trabalho, como a Agenda.
+      </li>
+    </ul>
+  </li>
+
+  <li>Suspensão de pacotes
+  </li>
+
+  <li>Os administradores do dispositivo podem suspender pacotes críticos do sistema, o que pode provocar
+ comportamentos inesperados, como realizar chamadas apesar de a caixa de diálogo Telephone
+      disabled ser exibida.
+  </li>
+
+  <li>Outros
+    <ul>
+      <li>O aplicativo de Configurações falha durante a inicialização se {@link
+      android.os.UserManager#DISALLOW_MOUNT_PHYSICAL_MEDIA} está configurado como verdadeiro quando
+ o usuário insere mídias físicas, como um cartão SD.
+      </li>
+
+      <li>O estado {@code DPM.setPackagesSuspended} não persiste quando o
+ usuário desinstala e reinstala um aplicativo. O aplicativo deve continuar
+ suspenso após a desinstalação/reinstalação ou os aplicativos suspensos não podem ser
+ desinstalados.
+      </li>
+
+      <li>A primeira verificação em um Perfil de trabalho leva vários minutos para
+ ser concluída. Isso pode fazer com que o aplicativo demore mais que o normal para se tornar
+ visível na Play EMM API.
+      </li>
+
+      <li>Notificações dos aplicativos do perfil de trabalho não são visíveis para
+ detectores de notificações instalados no perfil pessoal. Como resultado, o sistema
+ não exibe Notificações conforme esperado.
+      </li>
+
+    </ul>
+  </li>
+</ul>
+
+<h4 >Teclado</h4>
+
+<ul>
+  <li>O pareamento por Bluetooth entre teclados e dispositivos Android pode ser instável.
+  </li>
+</ul>
+
+<h4 >Vídeo</h4>
+
+<ul>
+<li>A reprodução de vídeos pode demorar e exibir interrupções.</li>
+</ul>
+
+<h4>Wi-Fi</h4>
+
+<ul>
+  <li>Wi-Fi passou por refatoramento que pode alterar o
+ comportamento de caso isolado da API. Especificamente, aplicativos que tentarem se conectar
+ a redes específicas ou que tentarem se reconectar a redes deverão ser testados novamente.
+  </li>
+
+  <li>O cliente DHCP legado foi removido da plataforma. O único
+ cliente DHCP compatível com a plataforma é o cliente DHCP introduzido no M.
+  </li>
+</ul>
+
+<h4>Inicialização direta</h4>
+
+<ul>
+  <li>NFC não funciona até o primeiro desbloqueio.
+    <ul>
+      <li>Quando um celular com Bluetooth habilitado é reiniciado, o Bluetooth não
+ ativa automaticamente. Você deve reativar o Bluetooth manualmente.
+      </li>
+
+      <li>Sob certas circunstâncias, o toque padrão pode não soar para
+ chamadas e mensagens de telefone. Esse comportamento foi corrigido na próxima
+ versão do N Preview, com uma exceção (e solução alternativa):
+      </li>
+
+      <li>Em um dispositivos que não tenha sido apagado recentemente -- um que foi inicializado pelo
+ menos uma vez desde que foi configurado no modo de inicialização direta -- o
+ toque padrão de notificação não soa. O usuário pode resolver esse problema
+ selecionando um toque manualmente em Settings.
+      </li>
+
+      <li>A inicialização direta não está ativa por padrão em dispositivos com uma versão do N
+ Developer Preview. Para ativar a inicialização direta para testes e
+ desenvolvimento, acesse Developer Options e toque em Convert to File Encryption.
+      Nesta prévia de desenvolvedor, isso requer uma reconfiguração de fábrica para fazer o reparticionamento e
+ a reformatação do dispositivo para a criptografia baseada em arquivos.
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<h4>Imagem em imagem para Android TV</h4>
+
+<ul>
+  <li>A integração PIP na IU de Recents não foi finalizada e está sujeita a
+ alterações.
+    <ul>
+      <li>A animação da janela PIP não é perfeita. Versões futuras do
+ Preview melhorarão isso.
+      </li>
+    </ul>
+  </li>
+
+  <li style="list-style: none">Versões futuras do Preview melhorarão
+ o design visual e o alinhamento do layout de PIP.
+  </li>
+</ul>
+
+<h4>Relatórios de erros</h4>
+
+<ul>
+  <li>Os relatórios de erros nem sempre são completados com sucesso (como solução alternativa,
+ às vezes eles ainda podem ser acessados usando o fornecedor de documentação do relatório de erros
+ no armazenamento interno).
+  </li>
+</ul>
+
+<h4>Várias janelas em tela dividida</h4>
+
+<ul>
+  <li>Os aplicativos podem falhar e apresentar comportamentos inesperados da IU quando colocados em
+ modo de tela dividida. Esses são problemas de aplicativo que devem ser corrigidos pelo
+ desenvolvedor do aplicativo.
+  </li>
+
+  <li>Quando o aplicativo é destinado para uma versão da plataforma Android anterior ao N, 
+ ele pode não funcionar com avisos de tela dividida que aparecem diversas vezes.
+  </li>
+
+  <li>Manter pressionado o botão Overview enquanto usa um aplicativo com uma
+ orientação corrigida pode provocar um comportamento inesperado do aplicativo.
+  </li>
+
+  <li>Os aplicativos podem tremular durante o redimensionamento.
+  </li>
+
+  <li>As animações ainda não estão finalizadas.
+  </li>
+</ul>
+
+<h4>Método de entrada</h4>
+
+<ul>
+  <li>O Teclado do Google volta inesperadamente ao teclado genérico do Google
+ quando <b>usa idiomas do sistema</b>, mas o Teclado do Google não é compatível com nenhum
+ dos idiomas selecionados nas preferências de idioma do sistema. Ele deve
+ voltar para inglês americano.
+    <p>
+      Alternativamente, você pode solucionar esse problema adicionando ao menos um idioma compatível com o
+ Teclado do Google.
+    </p>
+  </li>
+</ul>
+
+<h4>Acessibilidade</h4>
+
+<ul>
+  <li>TalkBack exibe problemas com recursos, incluindo Notifications, Quick
+  Settings Tiles e exibição de várias janelas, que podem causar falhas no sistema ou
+ uma falta de feedback falado do TalkBack. Versões futuras do Preview
+ resolverão esses problemas.
+  </li>
+</ul>
+
+<h3 id="dp1-device-sp">Observações e problemas específicos de dispositivos</h3>
+
+<h4>Nexus Player</h4>
+<ul>
+  <li>Problemas de reprodução de vídeo, compatibilidade de aplicativo e estabilidade são esperados no
+ Nexus Player nesta versão do Preview.
+  </li>
+</ul>
+
+<h4>Pixel C</h4>
+<ul>
+<li>O redimensionamento de várias janelas pode causar falhas.</li>
+</ul>
+
+<h4>Nexus 9</h4>
+<ul>
+<li>Dispositivos Nexus 9 podem não ligar após receberem atualizações OTA
+ via programa beta do Android. Para se recuperar desse problema, você deve tentar
+ instalar manualmente a imagem OTA. Para obter mais informações, consulte
+ <a href="{@docRoot}preview/download-ota.html">Aplicação de uma imagem OTA de dispositivo</a>.
+</li>
+</ul>
+
diff --git a/docs/html-intl/intl/pt-br/training/material/compatibility.jd b/docs/html-intl/intl/pt-br/training/material/compatibility.jd
index 2540df1..d242c0c 100644
--- a/docs/html-intl/intl/pt-br/training/material/compatibility.jd
+++ b/docs/html-intl/intl/pt-br/training/material/compatibility.jd
@@ -123,7 +123,7 @@
 <h3>Dependências</h3>
 
 <p>Para usar esses recursos em versões anteriores ao Android 5.0 (API de nível 21), inclua a
-Biblioteca de Suporte v7 do Android no projeto como uma <a href="{@docRoot}/sdk/installing/studio-build.html#dependencies">dependência de Gradle</a>:</p>
+Biblioteca de Suporte v7 do Android no projeto como uma <a href="{@docRoot}sdk/installing/studio-build.html#dependencies">dependência de Gradle</a>:</p>
 
 <pre>
 dependencies {
diff --git a/docs/html-intl/intl/ru/training/material/compatibility.jd b/docs/html-intl/intl/ru/training/material/compatibility.jd
index b7ca338..1f1d630 100644
--- a/docs/html-intl/intl/ru/training/material/compatibility.jd
+++ b/docs/html-intl/intl/ru/training/material/compatibility.jd
@@ -123,7 +123,7 @@
 <h3>Зависимости</h3>
 
 <p>Чтобы воспользоваться этими возможностями в версиях Android, предшествующих 5.0 (уровень API 21), включите в свой проект вспомогательную библиотеку
-Android v7 как <a href="{@docRoot}/sdk/installing/studio-build.html#dependencies">зависимость Gradle</a>:</p>
+Android v7 как <a href="{@docRoot}sdk/installing/studio-build.html#dependencies">зависимость Gradle</a>:</p>
 
 <pre>
 dependencies {
diff --git a/docs/html-intl/intl/vi/training/material/compatibility.jd b/docs/html-intl/intl/vi/training/material/compatibility.jd
index 65e8131..e19a745 100644
--- a/docs/html-intl/intl/vi/training/material/compatibility.jd
+++ b/docs/html-intl/intl/vi/training/material/compatibility.jd
@@ -123,7 +123,7 @@
 <h3>Phụ thuộc</h3>
 
 <p>Để sử dụng những tính năng này trong các phiên bản Android trước 5.0 (API mức 21), hãy thêm
-Thư viện Hỗ trợ v7 của Android vào dự án của bạn như một <a href="{@docRoot}/sdk/installing/studio-build.html#dependencies">Phần phụ thuộc Gradle</a>:</p>
+Thư viện Hỗ trợ v7 của Android vào dự án của bạn như một <a href="{@docRoot}sdk/installing/studio-build.html#dependencies">Phần phụ thuộc Gradle</a>:</p>
 
 <pre>
 dependencies {
diff --git a/docs/html-intl/intl/zh-cn/preview/_book.yaml b/docs/html-intl/intl/zh-cn/preview/_book.yaml
new file mode 100644
index 0000000..81956ed
--- /dev/null
+++ b/docs/html-intl/intl/zh-cn/preview/_book.yaml
@@ -0,0 +1,342 @@
+toc:
+- title: 计划概览
+  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: 支持与版本说明
+  path: /preview/support.html
+
+- title: 设置 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: 在设备上测试
+  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: 行为变更
+  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: 后台优化
+    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: 语言和区域设置
+    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: 多窗口支持
+    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: 通知
+    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: 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: 网络安全配置
+    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: 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: Java 8 语言功能
+    path: /preview/j8-jack.html
+    path_attributes:
+    - name: es-lang
+      value: Funciones del lenguaje Java 8
+    - name: in-lang
+      value: Fitur Bahasa Java 8
+    - name: ja-lang
+      value: Java 8 の機能
+    - name: ko-lang
+      value: Java 8 언어 기능
+    - name: pt-br-lang
+      value: Recursos de linguagem do Java 8
+    - name: ru-lang
+      value: Возможности языка Java 8
+    - name: vi-lang
+      value: Tính năng của Ngôn ngữ Java 8
+    - name: zh-cn-lang
+      value: Java 8 の機能
+    - name: zh-tw-lang
+      value: Java 8 の機能
+  - title: Android for Work Updates
+    path: /preview/features/afw.html
+  - title: 作用域目录访问
+    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: 示例
+  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: 许可协议
+  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/zh-cn/preview/api-overview.jd b/docs/html-intl/intl/zh-cn/preview/api-overview.jd
index d634125..495692a 100644
--- a/docs/html-intl/intl/zh-cn/preview/api-overview.jd
+++ b/docs/html-intl/intl/zh-cn/preview/api-overview.jd
@@ -1,5 +1,5 @@
 page.title=Android N for Developers
-meta.tags="预览版", "androidn"
+meta.tags="preview", "androidn"
 page.tags="preview", "developer preview"
 page.image=images/cards/card-n-apis_2x.png
 @jd:body
@@ -16,32 +16,40 @@
         <li><a href="#notification_enhancements">通知</a></li>
         <li><a href="#jit_aot">JIT/AOT 编译</a></li>
         <li><a href="#quick_path_to_app_install">快速的应用安装路径</a></li>
-        <li><a href="#doze_on_the_go">外出瞌睡模式</a></li>
+        <li><a href="#doze_on_the_go">随时随地低电耗模式</a></li>
         <li><a href="#background_optimizations">后台优化</a></li>
         <li><a href="#data_saver">Data Saver</a></li>
-        <li><a href="#tile_api">快速设置图块 API</a></li>
+        <li><a href="#vulkan">Vulkan API</a></li>
+        <li><a href="#tile_api">Quick Settings Tile API</a></li>
         <li><a href="#number-blocking">号码屏蔽</a></li>
         <li><a href="#call_screening">来电过滤</a></li>
         <li><a href="#multi-locale_languages">区域设置和语言</a></li>
+        <li><a href="#emoji">新增的表情符号</a></li>
         <li><a href="#icu4">Android 中的 ICU4J API</a></li>
         <li><a href="#gles_32">OpenGL ES 3.2 API</a></li>
         <li><a href="#android_tv_recording">Android TV 录制</a></li>
         <li><a href="#android_for_work">Android for Work</a></li>
-        <li><a href="#accessibility_enhancements">辅助工具</a></li>
+        <li><a href="#accessibility_enhancements">无障碍功能</a></li>
         <li><a href="#direct_boot">直接启动</a></li>
         <li><a href="#key_attestation">密钥认证</a></li>
         <li><a href="#network_security_config">网络安全性配置</a></li>
         <li><a href="#default_trusted_ca">默认受信任的 CA</a></li>
-        <li><a href="apk_signature_v2">APK signature scheme v2</a></li>
+        <li><a href="#apk_signature_v2">APK Signature Scheme v2</a></li>
         <li><a href="#scoped_directory_access">作用域目录访问</a></li>
+        <li><a href="#keyboard_shortcuts_helper">键盘快捷键辅助工具</a></li>
+        <li><a href="#sustained_performance_api">持续性能 API</a></li>
+        <li><a href="#vr">VR 支持</a></li>
+        <li><a href="#print_svc">打印服务增强</a></li>
+        <li><a href="#virtual_files">虚拟文件</a></li>
+        <li><a href="#framemetrics_api">FrameMetricsListener API</a></li>
       </ol>
 </div>
 </div>
 
 
 
-<p>Android N 仍处于活动的开发状态,但现在您可以将其作为 N Developer Preview 的一部分进行试用。以下部分重点介绍面向开发者的部分新功能。
-
+<p>Android N 仍处于活动的开发状态,但现在您可以将其作为 N Developer Preview 的一部分进行试用。
+以下部分重点介绍面向开发者的一些新功能。
  </p>
 
 <p>
@@ -59,14 +67,14 @@
 
   <p>现在,用户可以一次在屏幕上打开两个应用。 </p>
   <ul>
-  <li>在运行 Android N 的手机和平板电脑上,用户可以并排运行两个应用,或者处于分屏模式时一个应用位于另一个应用之上。用户可以通过拖动两个应用之间的分隔线来调整应用。
+  <li>在运行 Android N 的手机和平板电脑上,用户可以并排运行两个应用,或者处于分屏模式时一个应用位于另一个应用之上。
 
-
+用户可以通过拖动两个应用之间的分隔线来调整应用。
  </li>
 
-<li>在 Android TV 设备上,应用可以将自身置于<a href="{@docRoot}preview/features/picture-in-picture.html">画中画模式</a>,从而让它们可以在用户浏览或与其他应用交互时继续显示内容。如需了解详细信息,请参阅下文。
+<li>在 Android TV 设备上,应用可以将自身置于<a href="{@docRoot}preview/features/picture-in-picture.html">画中画模式</a>,从而让它们可以在用户浏览或与其他应用交互时继续显示内容。
 
- </li>
+</li>
   </ul>
 
 <div class="col-4of10">
@@ -74,17 +82,18 @@
 <p class="img-caption">
   <strong>图 1. </strong>在分屏模式下运行的应用。
 </p>
+
   </div>
 
-<p>多窗口支持为您提供新的吸引用户方式,特别是在平板电脑和其他更大屏幕的设备上。您甚至可以在您的应用中启用拖放,从而使用户可以方便地将内容拖放到您的应用或从其中拖出内容&mdash;这是一个非常好的增强用户体验的方式。
-
+<p>多窗口支持为您提供新的吸引用户方式,特别是在平板电脑和其他更大屏幕的设备上。
+您甚至可以在您的应用中启用拖放,从而使用户可以方便地将内容拖放到您的应用或从其中拖出内容&mdash;这是一个非常好的增强用户体验的方式。
 
  </p>
 
-<p>向您的应用添加多窗口支持并配置多窗口显示的处理方式非常简单。例如,您可以指定您的 Activity 允许的最小尺寸,从而防止用户将 Activity 调整到该尺寸以下。您还可以为应用禁用多窗口显示,这可确保系统将仅以全屏模式显示应用。
+<p>向您的应用添加多窗口支持并配置多窗口显示的处理方式非常简单。
+例如,您可以指定您的 Activity 允许的最小尺寸,从而防止用户将 Activity 调整到该尺寸以下。
 
-
-
+您还可以为应用禁用多窗口显示,这可确保系统将仅以全屏模式显示应用。
 </p>
 
 <p>
@@ -94,20 +103,27 @@
 
 <h2 id="notification_enhancements">通知增强功能</h2>
 
-<p>在 Android N 中,我们重新设计了通知,使其更易于使用并且速度更快。部分变更包括:
-</p>
+<p>在 Android N 中,我们重新设计了通知,使其更易于使用并且速度更快。
+部分变更包括:</p>
 
 <ul>
   <li>
-    <strong>模板更新</strong>:我们正在更新通知模板,新强调了英雄形象和化身。开发者将能够充分利用新模板,只需进行少量的代码调整。
-
+    <strong>模板更新</strong>:我们正在更新通知模板,新强调了英雄形象和化身。
+开发者将能够充分利用新模板,只需进行少量的代码调整。
 
   </li>
 
   <li>
-    <strong>绑定的通知</strong>:系统可以将消息组合在一起(例如,按消息主题)并显示组。用户可以适当地进行 Dismiss 或 Archive 等操作。如果您已实现 Android Wear 的通知,那么您已经很熟悉此模型。
+    <strong>消息样式自定义</strong>:您可以自定义更多与您的使用 <code>MessageStyle</code> 类的通知相关的用户界面标签。
 
+您可以配置消息、会话标题和内容视图。
 
+  </li>
+
+  <li>
+    <strong>捆绑通知</strong>:系统可以将消息组合在一起(例如,按消息主题)并显示组。
+用户可以适当地进行 Dismiss 或 Archive 等操作。
+如果您已实现 Android Wear 的通知,那么您已经很熟悉此模型。
 
 
   </li>
@@ -148,42 +164,42 @@
 
 
 
-<h2 id="jit_aot">配置文件指导的 JIT/AOT 编译</h2>
+<h2 id="jit_aot">个人资料指导的 JIT/AOT 编译</h2>
 
-<p>在 Android N 中,我们添加了 Just in Time (JIT) 编译器,对 ART 进行代码分析,让它可以在应用运行时持续提升 Android 应用的性能。JIT 编译器对 Android 运行组件当前的 Ahead of Time (AOT) 编译器进行了补充,有助于提升运行时性能,节省存储空间,加快应用更新和系统更新速度。
+<p>在 Android N 中,我们添加了 Just in Time (JIT) 编译器,对 ART 进行代码分析,让它可以在应用运行时持续提升 Android 应用的性能。
 
-
+JIT 编译器对 Android 运行组件当前的 Ahead of Time (AOT) 编译器进行了补充,有助于提升运行时性能,节省存储空间,加快应用更新和系统更新速度。
 
 </p>
 
-<p>配置文件指导的编译让 Android 运行组件能够根据应用的实际使用以及设备上的情况管理每个应用的 AOT/JIT 编译。例如,Android 运行组件维护每个应用的热方法的配置文件,并且可以预编译和缓存这些方法以实现最佳性能。对于应用的其他部分,在实际使用之前不会进行编译。
+<p>个人资料指导的编译让 Android 运行组件能够根据应用的实际使用以及设备上的情况管理每个应用的 AOT/JIT 编译。
+例如,Android 运行组件维护每个应用的热方法的个人资料,并且可以预编译和缓存这些方法以实现最佳性能。
 
-
-
+对于应用的其他部分,在实际使用之前不会进行编译。
 </p>
 
-<p>除提升应用的关键部分的性能外,配置文件指导的编译还有助于减少整个 RAM 占用,包括关联的二进制文件。此功能对于低内存设备非常尤其重要。
+<p>除提升应用的关键部分的性能外,个人资料指导的编译还有助于减少整个 RAM 占用,包括关联的二进制文件。
 
-</p>
+此功能对于低内存设备非常尤其重要。</p>
 
-<p>Android 运行组件在管理配置文件指导的编译时,可最大程度降低对设备电池的影响。仅当设备处于空闲状态和充电时才进行编译,从而可以通过提前执行该工作节约时间和省电。
-
+<p>Android 运行组件在管理个人资料指导的编译时,可最大程度降低对设备电池的影响。
+仅当设备处于空闲状态和充电时才进行编译,从而可以通过提前执行该工作节约时间和省电。
 </p>
 
 <h2 id="quick_path_to_app_install">快速的应用安装路径</h2>
 
-<p>Android 运行组件的 JIT 编译器最实际的好处之一是应用安装和系统更新的速度。即使在 Android 6.0 中需要几分钟进行优化和安装的大型应用,现在只需几秒钟就可以完成安装。系统更新也变得更快,因为省去了优化步骤。
+<p>Android 运行组件的 JIT 编译器最实际的好处之一是应用安装和系统更新的速度。
+即使在 Android 6.0 中需要几分钟进行优化和安装的大型应用,现在只需几秒钟就可以完成安装。
 
+系统更新也变得更快,因为省去了优化步骤。 </p>
+
+<h2 id="doze_on_the_go">随时随地低电耗模式...</h2>
+
+<p>Android 6.0 推出了低电耗模式,即设备处于空闲状态时,通过推迟应用的 CPU 和网络活动以实现省电目的的系统模式,例如,设备放在桌上或抽屉里时。
 
  </p>
 
-<h2 id="doze_on_the_go">外出瞌睡模式...</h2>
-
-<p>Android 6.0 推出了瞌睡模式,即设备处于空闲状态时,通过推迟应用的 CPU 和网络活动以实现省电目的的系统模式,例如,设备放在桌上或抽屉里时。
-
- </p>
-
-<p>现在,在 Android N 中,瞌睡模式又前进了一步,在外出时也可以省电。只要屏幕关闭了一段时间,且设备未插入电源,瞌睡模式就会对应用使用熟悉的 CPU 和网络限制。这意味着用户即使将设备放入口袋里也可以省电。
+<p>现在,在 Android N 中,低电耗模式又前进了一步,随时随地可以省电。只要屏幕关闭了一段时间,且设备未插入电源,低电耗模式就会对应用使用熟悉的 CPU 和网络限制。这意味着用户即使将设备放入口袋里也可以省电。
 
 
 
@@ -192,31 +208,31 @@
 
 <img src="/preview/images/doze-diagram-1.png" alt="" id="figure1" />
 <p class="img-caption">
-  <strong>图 3. </strong>瞌睡模式现在应用限制以延长电池寿命,即使设备未处于静止状态。
+  <strong>图 3. </strong>低电耗模式现在应用限制以延长电池寿命,即使设备未处于静止状态。
 
 </p>
 
 
-<p>屏幕关闭片刻后,设备在使用电池时,瞌睡模式将限制网络访问,同时延迟作业和同步。在短暂的维护时间范围后,其允许应用访问网络,并执行延迟的作业/同步。打开屏幕或将设备插入电源会使设备退出瞌睡模式。
+<p>屏幕关闭片刻后,设备在使用电池时,低电耗模式将限制网络访问,同时延迟作业和同步。
+在短暂的维护时间范围后,其允许应用访问网络,并执行延迟的作业/同步。
 
+打开屏幕或将设备插入电源会使设备退出低电耗模式。
+</p>
 
+<p>当设备再次处于静止状态时,屏幕关闭且使用电池一段时间,低电耗模式针对 {@link
+android.os.PowerManager.WakeLock}、{@link android.app.AlarmManager} 警报和 GPS/Wi-Fi 扫描应用完整 CPU 和网络限制。
 
 </p>
 
-<p>当设备再次处于静止状态时,屏幕关闭且使用电池一段时间,瞌睡模式针对 {@link
-android.os.PowerManager.WakeLock}, {@link android.app.AlarmManager} 警报和 GPS/Wi-Fi 扫描应用完整 CPU 和网络限制。
+<p>无论设备是否处于运动状态,将应用调整到低电耗模式的最佳做法均相同,因此,如果您已更新应用以妥善处理低电耗模式,则一切就绪。
 
-</p>
-
-<p>无论设备是否处于运动状态,将应用调整到瞌睡模式的最佳做法均相同,因此,如果您已更新应用以妥善处理瞌睡模式,则一切就绪。如果不是,请立即开始<a href="{@docRoot}training/monitoring-device-state/doze-standby.html#assessing_your_app">将应用调整到瞌睡模式</a>。
-
-
+如果不是,请立即开始<a href="{@docRoot}training/monitoring-device-state/doze-standby.html#assessing_your_app">将应用调整到低电耗模式</a>。
 </p>
 
 <h2 id="background_optimizations">Project Svelte:后台优化</h2>
 
-<p>Project Svelte 在持续改善,以最大程度减少生态系统中一系列 Android 设备中系统和应用使用的 RAM。在 Android N 中,Project Svelte 注重优化在后台中运行应用的方式。
-
+<p>Project Svelte 在持续改善,以最大程度减少生态系统中一系列 Android 设备中系统和应用使用的 RAM。
+在 Android N 中,Project Svelte 注重优化在后台中运行应用的方式。
  </p>
 
 <p>后台处理是大多数应用的一个重要部分。处理得当,可让您实现非常棒的用户体验 &mdash; 即时、快速和情境感知。如果处理不得当,后台处理会毫无必要地消耗 RAM(和电池),同时影响其他应用的系统性能。
@@ -224,10 +240,10 @@
 
  </p>
 
-<p>自 Android 5.0 发布以来,{@link android.app.job.JobScheduler} 已成为执行后台工作的首选方式,其工作方式有利于用户。应用可以在安排作业的同时允许系统基于内存、电源和连接情况进行优化。JobScheduler 可实现控制和简洁性,我们想要所有应用都使用它。
+<p>自 Android 5.0 发布以来,{@link android.app.job.JobScheduler} 已成为执行后台工作的首选方式,其工作方式有利于用户。
 
-
-
+应用可以在安排作业的同时允许系统基于内存、电源和连接情况进行优化。
+JobScheduler 可实现控制和简洁性,我们想要所有应用都使用它。
  </p>
 
 <p>
@@ -238,17 +254,17 @@
 </p>
 
 <p>我们在继续扩展 <code>JobScheduler</code> 和
-<code>GCMNetworkManager</code>,以符合多个用例 &mdash; 例如,在 Android N 中,现在,您可以基于内容提供程序中的更改安排后台工作。同时,我们开始弃用一些较旧的模式,这些模式会降低系统性能,特别是低内存设备的系统性能。
+<code>GCMNetworkManager</code>,以符合多个用例 &mdash; 例如,在 Android N 中,现在,您可以基于内容提供程序中的更改安排后台工作。
 
-
+同时,我们开始弃用一些较旧的模式,这些模式会降低系统性能,特别是低内存设备的系统性能。
 
 </p>
 
 <p>在 Android N 中,我们删除了三个常用隐式广播 &mdash;
  {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}、{@link
   android.hardware.Camera#ACTION_NEW_PICTURE} 和 {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO} &mdash; 因为这些广播可能会一次唤醒多个应用的后台进程,同时会耗尽内存和电池。如果您的应用收到这些广播,请充分利用 N Developer Preview 以迁移到 <code>JobScheduler</code> 和相关的 API。
-
+  android.hardware.Camera#ACTION_NEW_VIDEO} &mdash; 因为这些广播可能会一次唤醒多个应用的后台进程,同时会耗尽内存和电池。
+如果您的应用收到这些广播,请充分利用 N Developer Preview 以迁移到 <code>JobScheduler</code> 和相关的 API。
 
  </p>
 
@@ -268,31 +284,76 @@
 </p>
   </div>
 
-<p>在移动设备的整个生命周期,蜂窝数据计划的成本通常会超出设备本身的成本。对于许多用户而言,蜂窝数据是他们想要节省的昂贵资源。
+<p>在移动设备的整个生命周期,蜂窝数据计划的成本通常会超出设备本身的成本。
+对于许多用户而言,蜂窝数据是他们想要节省的昂贵资源。
+ </p>
+
+<p>Android N 推出了 Data Saver 模式,这是一项新的系统服务,有助于减少应用使用的蜂窝数据,无论是在漫游,账单周期即将结束,还是使用少量的预付费数据包。
+
+Data Saver 让用户可以控制应用使用蜂窝数据的方式,同时让开发者打开 Data Saver 时可以提供更多有效的服务。
 
  </p>
 
-<p>Android N 推出了 Data Saver 模式,这是一项新的系统服务,有助于减少应用使用的蜂窝数据,无论是在漫游,账单周期即将结束,还是使用少量的预付费数据包。Data Saver 让用户可以控制应用使用蜂窝数据的方式,同时让开发者打开 Data Saver 时可以提供更多有效的服务。
+<p>用户在 <strong>Settings</strong> 中启用 Data Saver 且设备位于按流量计费的网络上时,系统屏蔽后台流量消耗,同时指示应用在前台尽可能使用较少的流量 &mdash; 例如,通过限制用于流媒体服务的比特率、降低图片质量、延迟最佳的预缓冲等方法来实现。
 
 
 
- </p>
+用户可以将特定应用加入白名单以允许后台按流量的流量消耗,即使在打开 Data Saver 时也是如此。
+</p>
 
-<p>用户在 <strong>Settings</strong> 中启用 Data Saver 且设备位于按流量计费的网络上时,系统屏蔽后台数据使用,同时指示应用在前台尽可能使用较少的数据 &mdash; 例如,通过限制用于流媒体服务的比特率、降低图片质量、延迟最佳的预缓冲等方法来实现。用户可以将特定应用加入白名单以允许后台按流量的数据使用,即使在打开 Data Saver 时也是如此。
+<p>Android N 扩展了 {@link android.net.ConnectivityManager},以便为应用<a href="{@docRoot}preview/features/data-saver.html#status">检索用户的 Data Saver 首选项</a>并<a href="{@docRoot}preview/features/data-saver.html#monitor-changes">监控首选项变更</a>提供一种方式。
 
 
+所有应用均应检查用户是否已启用 Data Saver 并努力限制前台和后台流量消耗。
+</p>
+
+
+<h2 id="vulkan">Vulkan API</h2>
+
+<p>
+  Android N 将一项新的 3D 渲染 API <a href="http://www.khronos.org/vulkan" class="external-link">Vulkan™</a> 集成到平台中。就像 <a href="https://www.khronos.org/opengles/" class="external-link">OpenGL™ ES</a> 一样,Vulkan 是 3D 图形和渲染的一项开放标准,由 Khronos Group 维护。
+
 
 
 </p>
 
-<p>Android N 扩展了 {@link android.net.ConnectivityManager},以便为应用<a href="{@docRoot}preview/features/data-saver.html#status">检索用户的 Data Saver 首选项</a>并<a href="{@docRoot}preview/features/data-saver.html#monitor-changes">监控首选项变更</a>提供一种方式。所有应用均应检查用户是否已启用 Data Saver 并努力限制前台和后台数据的使用。
-
+<p>
+  Vulkan 是完全从零开始设计,以最小化驱动器中的 CPU 开销,并能让您的应用更直接地控制 GPU 操作。
+Vulkan 还允许多个线程同时执行工作,如命令缓冲区构建,以获得更好的并行化。
 
 
 </p>
 
+<p>
+  Vulkan 开发工具和库都已卷入 Android NDK。它们包括:
 
-<h2 id="tile_api">快速设置图块 API</h2>
+</p>
+
+<ul>
+  <li>头
+  </li>
+
+  <li>验证层(调试库)
+  </li>
+
+  <li>SPIR-V 着色程序编译器
+  </li>
+
+  <li>SPIR-V 运行时着色器编译库
+  </li>
+</ul>
+
+<p>
+  Vulkan 仅适用于已启用 Vulkan 硬件的设备上的应用,如 Nexus 5X、Nexus 6P 和 Nexus Player。
+我们正在与合作伙伴密切合作,以尽快使 Vulkan 能面向更多的设备。
+
+</p>
+
+<p>
+  如需要了解更多信息,请参阅 <a href="{@docRoot}ndk/guides/graphics/index.html">API 文档</a>。
+</p>
+
+<h2 id="tile_api">Quick Settings Tile API</h2>
 
 
 <div style="float:right;max-width:320px">
@@ -303,12 +364,12 @@
 </p>
 
 
-  </div><p>“快速设置”通常用于直接从通知栏显示关键设置和操作,非常简单。在 Android N 中,我们已扩展“快速设置”的范围,使其更加有用更方便。
-
+  </div><p>“快速设置”通常用于直接从通知栏显示关键设置和操作,非常简单。
+在 Android N 中,我们已扩展“快速设置”的范围,使其更加有用更方便。
  </p>
 
-<p>我们为额外的“快速设置”图块添加了更多空间,用户可以通过向左或向右滑动跨分页的显示区域访问它们。我们还让用户可以控制显示哪些“快速设置”图块以及显示的位置 &mdash; 用户可以通过拖放图块来添加或移动图块。
-
+<p>我们为额外的“快速设置”图块添加了更多空间,用户可以通过向左或向右滑动跨分页的显示区域访问它们。
+我们还让用户可以控制显示哪些“快速设置”图块以及显示的位置 &mdash; 用户可以通过拖放图块来添加或移动图块。
 
  </p>
 
@@ -327,7 +388,7 @@
 </p>
 
 <p>
-  如需创建应用图块的更多信息,请参阅可下载的 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 参考</a>中的 <code>android.service.quicksettings.Tile</code>。
+  如需创建应用图块的更多信息,请参阅可下载的 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 参考</a>中的文件 <code>android.service.quicksettings.Tile</code>。
 
 </p>
 
@@ -335,14 +396,14 @@
 
 <h2 id="number-blocking">号码屏蔽</h2>
 
-<p>Android N 现在支持在平台中进行号码屏蔽,提供框架 API,让服务提供商可以维护屏蔽的号码列表。默认短信应用、默认手机应用和提供商应用可以对屏蔽的号码列表进行读取和写入操作。其他应用则无法访问此列表。
+<p>Android N 现在支持在平台中进行号码屏蔽,提供框架 API,让服务提供商可以维护屏蔽的号码列表。
+默认短信应用、默认手机应用和提供商应用可以对屏蔽的号码列表进行读取和写入操作。
 
+其他应用则无法访问此列表。</p>
 
-</p>
+<p>通过使号码屏蔽成为平台的标准功能,Android 为应用提供一致的方式来支持广泛的设备上的号码屏蔽。
 
-<p>通过使号码屏蔽成为平台的标准功能,Android 为应用提供一致的方式来支持广泛的设备上的号码屏蔽。应用可以利用的其他优势包括:
-
-</p>
+应用可以利用的其他优势包括:</p>
 
 <ul>
   <li> 还会屏蔽已屏蔽的来电号码发出的短信
@@ -373,7 +434,7 @@
 
 <ul>
   <li> 拒绝来电
-  <li> 不允许来电到达呼叫日志
+  <li> 不允许来电到达通话记录
   <li> 不向用户显示来电通知
 </ul>
 
@@ -387,32 +448,74 @@
 <h2 id="multi-locale_languages">多区域设置支持、多语言</h2>
 
 
-<p>Android N 现在允许用户在设置中选择<strong>多个区域设置</strong>,以更好地支持双语用例。应用可以使用新的 API 获取用户选择的区域设置,然后为多区域设置用户提供更成熟的用户体验 &mdash; 如以多个语言显示搜索结果,并且不会以用户了解的语言翻译网页。
-
+<p>Android N 现在允许用户在设置中选择<strong>多个区域设置</strong>,以更好地支持双语用例。
+应用可以使用新的 API 获取用户选择的区域设置,然后为多区域设置用户提供更成熟的用户体验 &mdash; 如以多个语言显示搜索结果,并且不会以用户了解的语言翻译网页。
 
 
 
 </p>
 
-<p>除多区域设置支持外,Android N 还扩展了用户可用的语言范围。它针对常用语言提供超过 25 种的变体,如英语、西班牙语、法语和阿拉伯语。它还针对 100 多种新语言添加了部分支持。
-
-
+<p>除多区域设置支持外,Android N 还扩展了用户可用的语言范围。
+它针对常用语言提供超过 25 种的变体,如英语、西班牙语、法语和阿拉伯语。
+它还针对 100 多种新语言添加了部分支持。
 </p>
 
-<p>应用可以通过调用 <code>LocaleList.GetDefault()</code> 获取用户设置的区域设置列表。为支持扩展的区域设置数量,Android N 正在改变其解析资源的方式。请务必使用新的资源解析逻辑测试和验证您的应用是否能如期运行。
-
+<p>应用可以通过调用 <code>LocaleList.GetDefault()</code> 获取用户设置的区域设置列表。
+为支持扩展的区域设置数量,Android N 正在改变其解析资源的方式。
+请务必使用新的资源解析逻辑测试和验证您的应用是否能如期运行。
 </p>
 
 <p>如需有关新资源解析行为和应遵循的最佳做法的更多信息,请参阅<a href="{@docRoot}preview/features/multilingual-support.html">多语言支持</a>。
 </p>
 
+
+<h2 id="emoji">新增的表情符号</h2>
+
+<p>
+  Android N 引入更多表情符号和表情符号相关功能,包括肤色表情符号和支持变量选择符。
+
+如果您的应用支持表情符号,请遵循以下准则,以便能充分利用这些表情符号相关功能优势。
+
+</p>
+
+<ul>
+  <li>
+    <strong>在插入之前,检查设备是否包含表情符号。</strong>
+    若要检查系统字体中有哪些表情符号,使用 {@link android.graphics.Paint#hasGlyph(String)} 方法。
+
+  </li>
+  <li>
+    <strong>检查表情符号是否支持变量选择符。</strong>
+    变量选择符使您能够呈现一些彩色或黑白的表情符号。
+
+    在移动设备上,应用应呈现彩色的表情符号,而不是黑白的。但是,如果您的应用显示嵌入在文本中的表情符号,那应使用黑白变量。
+
+    若要确定表情符号是否有变量,使用变量选择符。
+    如需有关支持变量的字符的完整清单,请参阅<a class="external-link" href="http://www.unicode.org/Public/9.0.0/ucd/StandardizedVariants-9.0.0d1.txt">变量的 Unicode 文档</a>中的 <em>表情符号变量序列</em>部分。
+
+
+
+  </li>
+  <li>
+    <strong>检查表情符号是否支持肤色。</strong>Android N 允许用户按照他们的喜好修改表情符号呈现的肤色。
+键盘应用应为有多个肤色的表情符号提供可视化的指示,并应允许用户选择他们喜欢的肤色。
+
+若要确定哪些系统表情符号有肤色修改器,使用 {@link android.graphics.Paint#hasGlyph(String)} 方法。
+
+您可以通过读取 <a class="external-link" href="http://unicode.org/emoji/charts/full-emoji-list.html">Unicode 文档</a>来确定哪些表情符号使用肤色。
+
+
+  </li>
+</ul>
+
+
 <h2 id="icu4">Android 中的 ICU4J API</h2>
 
 <p>
-  Android N 目前在 Android 框架(位于 <code>android.icu</code> 软件包下)中提供 <a href="http://site.icu-project.org/">ICU4J</a> API 的子集。迁移很简单,主要是需要从 <code>com.java.icu</code> 命名空间更改为 <code>android.icu</code>。如果您已在您的应用中使用 ICU4J 捆绑包,切换到 Android 框架中提供的 <code>android.icu</code> API 可以大量节省 APK 大小。
+  Android N 目前在 Android 框架(位于 <code>android.icu</code> 软件包下)中提供 <a href="http://site.icu-project.org/">ICU4J</a> API 的子集。
+迁移很简单,主要是需要从 <code>com.java.icu</code> 命名空间更改为 <code>android.icu</code>。
 
-
-
+如果您已在您的应用中使用 ICU4J 捆绑包,切换到 Android 框架中提供的 <code>android.icu</code> API 可以大量节省 APK 大小。
 
 
 </p>
@@ -428,14 +531,15 @@
 <p>Android N 添加了框架接口和对 OpenGL ES 3.2 的平台支持,包括:</p>
 
 <ul>
-  <li> 来自 <a class="external-link" href="https://www.khronos.org/registry/gles/extensions/ANDROID/ANDROID_extension_pack_es31a.txt">Android 扩展包</a></a> (AEP) 的所有扩展(<code>EXT_texture_sRGB_decode</code> 除外)。
+  <li> 来自 <a class="external-link" href="https://www.khronos.org/registry/gles/extensions/ANDROID/ANDROID_extension_pack_es31a.txt">
+Android 扩展包</a></a> (AEP) 的所有扩展(<code>EXT_texture_sRGB_decode</code> 除外)。
   <li> 针对 HDR 的浮点帧缓冲和延迟着色。
   <li> BaseVertex 绘图调用可实现更好的批处理和流媒体服务。
   <li> 强大的缓冲区访问控制可减少 WebGL 开销。
 </ul>
 
-<p>Android N 上适用于 OpenGL ES 3.2 的框架 API 与 <code>GLES32</code> 类一起提供。使用 OpenGL ES 3.2 时,请务必通过 <code>&lt;uses-feature&gt;</code> 标记和 <code>android:glEsVersion</code> 属性在您的清单文件中声明要求。
-
+<p>Android N 上适用于 OpenGL ES 3.2 的框架 API 与 <code>GLES32</code> 类一起提供。
+使用 OpenGL ES 3.2 时,请务必通过 <code>&lt;uses-feature&gt;</code> 标记和 <code>android:glEsVersion</code> 属性在您的清单中声明要求。
 
  </p>
 
@@ -445,8 +549,8 @@
 
 <h2 id="android_tv_recording">Android TV 录制</h2>
 
-<p>Android N 通过新的录制 API 添加了从 Android TV 输入服务录制和播放内容的功能。构建在现有时移 API 之上,TV 输入服务可以控制能够录制的渠道数据、保存录制的会话的方式,同时可通过录制的内容管理用户交互。
-
+<p>Android N 通过新的录制 API 添加了从 Android TV 输入服务录制和播放内容的功能。
+构建在现有时移 API 之上,TV 输入服务可以控制能够录制的渠道数据、保存录制的会话的方式,同时可通过录制的内容管理用户交互。
 
  </p>
 
@@ -455,46 +559,47 @@
 
 <h2 id="android_for_work">Android for Work</h2>
 
-<p>Android for Work 针对运行 Android N 的设备添加了许多新功能和 API。部分重要内容如下&mdash; 有关与 Android N 相关的 Android for Work 更新的完整列表,请参阅 Android for Work 变更。
+<p>Android for Work 针对运行 Android N 的设备添加了许多新功能和 API。部分重要内容如下&mdash; 有关变更的完整列表,请参阅 <a href="{@docRoot}preview/features/afw.html">Android for Work 更新</a>。
 
 </p>
 
-<h3 id="work_profile_security_challenge">托管配置文件安全性挑战 </h3>
+<h3 id="work_profile_security_challenge">工作资料安全性挑战 </h3>
 
 <p>
-  配置文件所有者可以指定为托管配置文件中运行的应用指定单独的安全性挑战。当用户尝试打开任何工作应用时将显示工作挑战。成功完成安全性挑战可解锁托管配置文件并将其解密(如果需要)。对于配置文件所有者,<code>ACTION_SET_NEW_PASSWORD</code> 提示用户设置工作挑战,<code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> 提示用户设置设备锁。
+  面向 N SDK 的个人资料所有者可以为在工作资料中运行的应用指定单独的安全性挑战。
 
-
-
+当用户尝试打开任何工作应用时将显示工作挑战。
+成功完成安全性挑战可解锁工作资料并将其解密(如果需要)。
+对于个人资料所有者,<code>ACTION_SET_NEW_PASSWORD</code> 提示用户设置工作挑战,<code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> 提示用户设置设备锁。
 
 
 
 </p>
 
 <p>
-  配置文件所有者可以使用 <code>setPasswordQuality()</code>、<code>setPasswordMinimumLength()</code> 和相关方法针对工作挑战设置不同的密码策略(例如,PIN 必须多长,或是否可以使用指纹解锁配置文件)。配置文件所有者还可以使用新的 <code>getParentProfileInstance()</code> 方法返回的 <code>DevicePolicyManager</code> 实例设置设备锁定。此外,配置文件所有者可以使用新的 <code>setOrganizationColor()</code> 和 <code>setOrganizationName()</code> 方法针对工作挑战自定义凭据屏幕。
+  个人资料所有者可以使用 <code>setPasswordQuality()</code>、<code>setPasswordMinimumLength()</code> 和相关方法针对工作挑战设置不同的密码策略(例如,PIN 必须多长,或是否可以使用指纹解锁个人资料)。
 
 
+个人资料所有者还可以使用新的 <code>getParentProfileInstance()</code> 方法返回的 <code>DevicePolicyManager</code> 实例设置设备锁定。
 
 
-
-
+  此外,个人资料所有者可以使用新的 <code>setOrganizationColor()</code> 和 <code>setOrganizationName()</code> 方法针对工作挑战自定义凭据屏幕。
 
 
 </p>
 <h3 id="turn_off_work">关闭工作 </h3>
 
-<p>在具有托管配置文件的设备上,用户可以切换工作模式。工作模式关闭时,管理的用户临时关闭,其禁用托管配置文件应用、后台同步和通知。这包括配置文件所有者应用。关闭工作模式时,系统显示永久状态图标,以提醒用户他们无法启动工作应用。启动器指示该工作应用和小组件无法访问。
+<p>在有工作资料的设备上,用户可以切换工作模式。工作模式关闭时,管理的用户临时关闭,其禁用托管工作资料应用、后台同步和通知。
 
-
-
-
+这包括个人资料所有者应用。
+关闭工作模式时,系统显示永久状态图标,以提醒用户他们无法启动工作应用。
+启动器指示该工作应用和小组件无法访问。
  </p>
 
 <h3 id="always_on_vpn">Always on VPN </h3>
 
-<p>设备所有者和配置文件所有者可以确保工作应用始终通过指定的 VPN 连接。系统在设备启动后自动启动该 VPN。
-
+<p>设备所有者和个人资料所有者可以确保工作应用始终通过指定的 VPN 连接。
+系统在设备启动后自动启动该 VPN。
 </p>
 
 <p>
@@ -503,8 +608,8 @@
 
 </p>
 
-<p>由于 VPN 服务无需应用交互即可由系统直接绑定,因此,VPN 客户端必须针对 Always on VPN 处理新的入口点。和以前一样,由与操作匹配的 Intent 过滤器将服务指示给系统。<code>android.net.VpnService</code>。
-
+<p>由于 VPN 服务无需应用交互即可由系统直接绑定,因此,VPN 客户端必须针对 Always on VPN 处理新的入口点。
+和以前一样,由与操作匹配的 Intent 过滤器将服务指示给系统。<code>android.net.VpnService</code>。
 
  </p>
 
@@ -514,49 +619,59 @@
 
 </p>
 
-<h2 id="accessibility_enhancements">辅助工具增强功能</h2>
+<h3 id="custom_provisioning">自定义配置</h3>
 
-<p>Android N 现在针对新的设备设置直接在欢迎屏幕上提供“Vision Settings”。这使用户可以更容易发现和配置他们设备上的辅助工具功能,包括放大手势、字体大小、显示屏尺寸和 TalkBack。
+<p>
+  应用可以用企业颜色和徽标来自定义个人资料所有者和设备所有者配置流程。<code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code> 自定义流程颜色。<code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code> 用企业徽标自定义流程。
 
 
- </p>
-
-<p>随着这些辅助工具功能更为突出,在启用这些功能后,您的用户更可能试用您的应用。请务必提前启用这些设置测试您的应用。您可以通过 Settings &gt; Accessibility 启用它们。
 
 
 </p>
 
-<p>还是在 Android N 中,辅助工具服务现在可以帮助具有动作障碍的用户触摸屏幕。全新的 API 允许使用人脸追踪、眼球追踪、点扫描等功能构建服务,以满足这些用户的需求。
+<h2 id="accessibility_enhancements">无障碍增强功能</h2>
 
+<p>Android N 现在针对新的设备设置直接在欢迎屏幕上提供“Vision Settings”。
+这使用户可以更容易发现和配置他们设备上的无障碍功能,包括放大手势、字体大小、显示屏尺寸和 TalkBack。
+
+ </p>
+
+<p>随着这些无障碍功能更为突出,在启用这些功能后,您的用户更可能试用您的应用。
+请务必提前启用这些设置测试您的应用。
+您可以通过 Settings &gt; Accessibility 启用它们。
+</p>
+
+<p>还是在 Android N 中,无障碍服务现在可以帮助具有动作障碍的用户触摸屏幕。
+全新的 API 允许使用人脸追踪、眼球追踪、点扫描等功能构建服务,以满足这些用户的需求。
 
 </p>
 
 <p>如需了解详细信息,请参阅可下载的 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 参考</a> 中的 <code>android.accessibilityservice.GestureDescription
-	</code>。</p>
+</code>。</p>
 
 
 <h2 id="direct_boot">直接启动</h2>
 
-<p>直接启动可以缩短设备启动时间,让注册的应用具有有限的功能,即使在意外重启后。例如,如果当用户睡觉时加密的设备重启,那么注册的警报、消息和来电现在可以和往常一样继续通知用户。这也意味着重启后辅助工具服务会立即可用。
+<p>直接启动可以缩短设备启动时间,让注册的应用具有有限的功能,即使在意外重启后。例如,如果当用户睡觉时加密的设备重启,那么注册的警报、消息和来电现在可以和往常一样继续通知用户。
 
 
 
-
+这也意味着重启后无障碍服务会立即可用。
 </p>
 
-<p>在 Android N 中,直接启动充分利用基于文件的加密,以针对系统和应用数据启用细化的加密策略。为系统和应用数据。系统针对选定的系统数据和显式注册的应用数据使用设备加密的存储。默认情况下,凭据加密的存储可用于所有其他系统数据、用户数据、应用及应用数据。
+<p>在 Android N 中,直接启动充分利用基于文件的加密,以针对系统和应用数据启用细化的加密策略。为系统和应用数据。系统针对选定的系统数据和显式注册的应用数据使用设备加密的存储。
 
 
-
+默认情况下,凭据加密的存储可用于所有其他系统数据、用户数据、应用及应用数据。
  </p>
 
-<p>启动时,系统在受限的模式中启动,仅访问设备加密的数据,不会对应用或数据进行常规访问。如果您有想要在此模式下运行的组件,您可以通过在清单文件中设置标记注册它们。重启后,系统通过广播 <code>LOCKED_BOOT_COMPLETED</code> Intent 激活注册的组件。系统确保注册的设备加密的应用数据在解锁前可用。所有其他数据在用户确认锁定屏幕凭据进行解密前均不可用。
+<p>启动时,系统在受限的模式中启动,仅访问设备加密的数据,不会对应用或数据进行常规访问。如果您有想要在此模式下运行的组件,您可以通过在清单文件中设置标记注册它们。
 
 
+重启后,系统通过广播 <code>LOCKED_BOOT_COMPLETED</code> Intent 激活注册的组件。
 
-
-
-
+系统确保注册的设备加密的应用数据在解锁前可用。
+所有其他数据在用户确认锁定屏幕凭据进行解密前均不可用。
  </p>
 
 如需了解详细信息,请参阅<a href="{@docRoot}preview/features/direct-boot.html">直接启动</a>。</p>
@@ -565,20 +680,20 @@
 
 <h2 id="key_attestation">密钥认证</h2>
 
-<p>使用硬件支持的密钥库,可更安全地在 Android 设备上创建、存储和使用加密密钥。它们可保护密钥免受 Linux 内核、潜在的 Android 漏洞的攻击,也可防止从已取得 root 权限的设备提取密钥。
-
+<p>使用硬件支持的密钥库,可更安全地在 Android 设备上创建、存储和使用加密密钥。
+它们可保护密钥免受 Linux 内核、潜在的 Android 漏洞的攻击,也可防止从已取得根权限的设备提取密钥。
 
 </p>
 
-<p>为了让硬件支持的密钥库使用起来更简单和更安全,Android N 引入了密钥认证。应用和关闭的设备可使用密钥认证以坚决地确定 RSA 或 EC 密钥对是否受硬件支持、密钥对的属性如何,以及其使用和有效性有何限制。
-
+<p>为了让硬件支持的密钥库使用起来更简单和更安全,Android N 引入了密钥认证。
+应用和关闭的设备可使用密钥认证以坚决地确定 RSA 或 EC 密钥对是否受硬件支持、密钥对的属性如何,以及其使用和有效性有何限制。
 
 
  </p>
 
-<p>应用和关闭的设备服务可以通过 X.509 认证证书(必须由有效的认证密钥签署)请求有关密钥对的信息。认证密钥是一个 ECDSA 签署密钥,其在出厂时被注入设备的硬件支持的密钥库。因此,有效的认证密钥签署的认证证书可确认硬件支持的密钥库是否存在,以及该密钥库中密钥对的详细信息。
+<p>应用和关闭的设备服务可以通过 X.509 认证证书(必须由有效的认证密钥签署)请求有关密钥对的信息。
 
-
+认证密钥是一个 ECDSA 签署密钥,其在出厂时被注入设备的硬件支持的密钥库。因此,有效的认证密钥签署的认证证书可确认硬件支持的密钥库是否存在,以及该密钥库中密钥对的详细信息。
 
 
 
@@ -602,24 +717,24 @@
 
 <h2 id="network_security_config">网络安全性配置</h2>
 
-<p>在 Android N 中,通过使用说明性<em>网络安全性配置</em>(而不是使用传统的易出错的编程 API(例如,X509TrustManager)),应用可以安全地自定义其安全(HTTPS、TLS)连接的行为,无需任何代码修改。
+<p>在 Android N 中,通过使用说明性“网络安全性配置”(而不是使用传统的易出错的编程 API(例如,X509TrustManager)),应用可以安全地自定义其安全(HTTPS、TLS)连接的行为,无需任何代码修改。
 
 
-</p>
+<em></em></p>
 
   <p>支持的功能:</p>
 <ul>
-<li><b>自定义信任锚。</b>让应用可以针对其安全连接自定义哪些证书颁发机构 (CA) 受信任。例如,信任特定的自签署证书或受限的公共 CA 集。
-
+<li><b>自定义信任锚。</b>让应用可以针对安全连接自定义哪些证书颁发机构 (CA) 值得信赖。
+例如,信任特定的自签署证书或限制应用信任的公共 CA 集。
 
 </li>
 <li><b>仅调试重写。</b>让应用开发者可以安全调试其应用的安全连接,而不会增加安装基础的风险。
 
 
 </li>
-<li><b>明文流量退出。</b>让应用可以防止自身意外使用明文流量。
+<li><b>明文流量选择退出。</b>让应用可以防止自身意外使用明文流量。
 </li>
-<li><b>固定证书。</b>这是一项高级功能,让应用可以针对安全连接限制哪些服务器密钥受信任。
+<li><b>证书固定。</b>这是一项高级功能,让应用可以针对安全连接限制哪些服务器密钥受信任。
 </li>
 </ul>
 
@@ -628,40 +743,75 @@
 
 <h2 id="default_trusted_ca">默认受信任的证书颁发机构</h2>
 
-<p>默认情况下,针对 Android N 的应用仅信任系统提供的证书,且不再信任用户添加的证书颁发机构 (CA)。如果针对 Android N 的应用希望信任用户添加的 CA,则应使用<a href="{@docRoot}preview/features/security-config.html">网络安全性配置</a>以指定信任用户 CA 的方式。
-
+<p>默认情况下,面向 Android N 的应用仅信任系统提供的证书,且不再信任用户添加的证书颁发机构 (CA)。
+如果面向 Android N 的应用希望信任用户添加的 CA,则应使用<a href="{@docRoot}preview/features/security-config.html">网络安全性配置</a>以指定信任用户 CA 的方式。
 
 
 </p>
 
 <h2 id="apk_signature_v2">APK signature scheme v2</h2>
 
-<p>PackageManager 类现在支持使用 APK signature scheme v2 验证应用。APK signature scheme v2 是一个整个文件签名架构,通过检测对 APK 文件进行的任何未经授权更改,可大幅提高验证速度,同时也可加强完整性保证。
+<p>
+  Android N 引入一项新的应用签名方案 APK Signature Scheme v2,它能提供更快的应用安装时间和更多针对未授权 APK 文件更改的保护。
+
+在默认情况下,Android Studio 2.2 和 Android Gradle 2.2 插件会使用 APK Signature Scheme v2 和传统签名方案来签署您的应用。
 
 
 </p>
 
-<p>为保持向后兼容,在使用 v2 签名架构签署之前,APK 必须先使用 v1 签名架构(JAR 签名架构)签署。对于 v2 签名架构,如果在使用 v2 架构签署后使用额外的证书签署 APK,验证将失败。
+<p>
+  虽然我们建议您对您的应用采用 APK Signature Scheme v2,但这项新方案并非强制性的。
+如果您的应用在使用 APK Signature Scheme v2 时不能正确构建,您可以停用这项新方案。
+禁用过程会导致 Android Studio 2.2 和 Android Gradle 2.2 插件仅使用传统签名方案来签署您的应用。 
+
+若要仅用传统方案签署,打开多层 <code>build.gradle</code> 文件,然后将行 <code>v2SigningEnabled false</code> 添加到您的版本签名配置中:
 
 
- </p>
 
-<p>APK signature scheme v2 支持稍后将在 N Developer Preview中推出。
 </p>
 
-<h2 id="scoped_directory_access">作用域目录访问</h2>
+<pre>
+  android {
+    ...
+    defaultConfig { ... }
+    signingConfigs {
+      release {
+        storeFile file("myreleasekey.keystore")
+        storePassword "password"
+        keyAlias "MyReleaseKey"
+        keyPassword "password"
+        <strong>v2SigningEnabled false</strong>
+      }
+    }
+  }
+</pre>
 
-<p>在 Android N 中,应用可以使用新的 API 请求访问特定的<a href="{@docRoot}guide/topics/data/data-storage.html#filesExternal">外部存储</a>目录,包括可移动媒体上的目录,如 SD 卡。新 API 大大简化了应用访问标准外部存储目录的方式,如 <code>Pictures</code> 目录。应用(如照片应用)可以使用这些 API(而不是使用 <code>READ_EXTERNAL_STORAGE</code>),其授予所有存储目录的访问权限或存储访问框架,从而让用户可以导航到目录。
+<p class="caution"><strong>注意:</strong>如果您使用 APK Signature Scheme v2 签署您的应用,并对应用进行了进一步更改,则应用的签名将无效。
 
+出于这个原因,请在使用 APK Signature Scheme v2 之前、而非之后使用 <code>zipalign</code> 等工具。
 
+</p>
 
+<p>
+  如需更多信息,请阅读介绍如何在 Android Studio 中<a href="{@docRoot}studio/publish/app-signing.html#release-mode">签署一项应用</a>以及如何使用 Android Gradle 插件来为签署应用<a href="{@docRoot}studio/build/build-variants.html#signing">配置构建文件</a>。
 
 
 
 </p>
 
-<p>此外,新的 API 简化了用户向应用授予外部存储访问权限的步骤。当您使用新的 API 时,系统使用一个简单的权限 UI,其清楚地详细介绍应用正在请求访问的目录。
+<h2 id="scoped_directory_access">作用域目录访问</h2>
 
+<p>在 Android N 中,应用可以使用新的 API 请求访问特定的<a href="{@docRoot}guide/topics/data/data-storage.html#filesExternal">外部存储</a>目录,包括可移动媒体上的目录,如 SD 卡。
+
+新 API 大大简化了应用访问标准外部存储目录的方式,如 <code>Pictures</code> 目录。
+应用(如照片应用)可以使用这些 API(而不是使用 <code>READ_EXTERNAL_STORAGE</code>),其授予所有存储目录的访问权限或存储访问框架,从而让用户可以导航到目录。
+
+
+
+</p>
+
+<p>此外,新的 API 简化了用户向应用授予外部存储访问权限的步骤。
+当您使用新的 API 时,系统使用一个简单的权限 UI,其清楚地详细介绍应用正在请求访问的目录。
 
 </p>
 
@@ -669,8 +819,221 @@
 
 </p>
 
+<h2 id="keyboard_shortcuts_helper">键盘快捷键辅助工具</h2>
+
+<p>
+在 Android N 中,用户可以按“Alt + /”触发“键盘快捷键”屏幕,它会显示的系统和对焦的应用中可用的所有快捷键。
+
+<em></em>这些是从应用菜单(如可用)中自动检索到的,但开发者可以提供自己的屏幕微调快捷键。
+
+您可以通过重写新 <code>Activity.onProvideKeyboardShortcuts()</code> 的方法来进行这项操作,如可下载的 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 参考</a> 中所述。
+
+
+</p>
+
+<p>
+若要在您的应用程序的任何地方触发键盘快捷键辅助工具,为相关活动调用 {@code Activity.requestKeyboardShortcutsHelper()}。
+
+</p>
+
+<h2 id="sustained_performance_api">持续性能 API</h2>
+
+<p>
+长期运行的应用的性能可能会显著波动,因为系统会阻止系统芯片在设备组件达到温度限制时启动。
+
+这种波动是建立高性能长期运行应用的应用开发者的移动目标。
+
+</p>
+
+<p>
+为解决这些限制,Android N 包括了“持续性能模式”支持,帮助原始设备制造商 (OEM) 提供关于长期运行应用的设备性能能力的提示。
+
+<em></em>应用开发者可以使用这些提示来根据可预测的一致设备性能水平调整长期应用。
+
+
+</p>
+
+<p>
+应用开发者只能在 Nexus 6P 设备的 N Developer Preview 上尝试这项新的 API。
+若要使用此功能,为您希望以持续性能模式运行的窗口设置持续性能窗口标记。
+
+使用 {@code Window.setSustainedPerformanceMode()} 方法设置此举报。
+当窗口不再对焦时,系统会自动停用此模式。
+
+</p>
+
+<h2 id="vr">VR 支持</h2>
+
+<p>
+Android N 添加了新的 VR 模式的平台支持和优化,以使开发者能为用户打造高质量移动 VR 体验。
+新版针对开发者提供了大量性能增强特性,包括单一缓冲区渲染以及允许 VR 应用访问某个专属的 CPU 核心。在您的应用中,您可以享受到专为 VR 设计的平滑头部跟踪和立体声通知功能。
+
+
+最重要的是,Android N 的图形延时非常低。
+如需有关构建面向的 Android N 的 VR 应用的完整信息,请参阅 <a href="https://developers.google.com/vr/android/">面向 Android 的 Google VR SDK</a>。
+
+</p>
+
+
+<h2 id="print_svc">打印服务增强</h2>
+
+<p>
+  在 Android N 中,打印服务开发者现在可以公开关于个别打印机和打印作业的其他信息。
+
+</p>
+
+<p>
+  在列出各打印机时,打印服务现在可以通过两种方式来设置按打印机的图标:
+
+</p>
+
+<ul>
+  <li>您可以通过调用 <code>PrinterInfo.Builder.setResourceIconId()</code> 设置源于资源 ID 的图标
+
+  </li>
+
+  <li>您可以通过调用 <code>PrinterInfo.Builder.setHasCustomPrinterIcon()</code>,并针对使用 <code>android.printservice.PrinterDiscoverySession.onRequestCustomPrinterIcon()</code> 请求图标的情况设置回调来显示源自网络的图标
+
+
+
+  </li>
+</ul>
+
+<p>
+  此外,您还可以通过调用 <code>PrinterInfo.Builder.setInfoIntent()</code> 提供按打印机活动,以显示其他信息。
+
+</p>
+
+<p>
+  您可以通过分别调用 <code>android.printservice.PrintJob.setProgress()</code> 和 <code>android.printservice.PrintJob.setStatus()</code> 在打印任务通知中指示打印任务的进度和状态。
+
+
+
+</p>
+
+<p>
+  如需有关这些方法的详细信息,请参阅可下载的 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 参考</a>。
+</p>
+
+<h2 id="framemetrics_api">FrameMetricsListener API</h2>
+
+<p>
+FrameMetricsListener API 允许应用监测它的 UI 渲染性能。
+API 通过公开流式传输 Pub/Sub API 来提供此能力,以传递应用当前窗口的帧计时信息。
+返回的数据相当于 <code><a href="{@docRoot}tools/help/shell.html#shellcommands">adb shell</a>
+dumpsys gfxinfo framestats</code> 显示的数据,但不限定于在过去的 120 帧内。
+
+</p>
+
+<p>
+您可以使用 FrameMetricsListener 来衡量生产中的交互级 UI 性能,无需 USB 连接。
+API 允许在比 {@code adb shell dumpsys gfxinfo} 更高的粒度上收集数据。
+
+因为系统可以从应用中的特定交互中收集数据,因此更高的粒度变得可行;系统不需要采集关于完整应用性能的全局概要或清除任何全局状态。
+
+
+您可以使用这种能力来针对应用的真实使用案例收集性能数据和捕捉 UI 性能回归。
+
+
+</p>
+
+<p>
+若要监测一个窗口,实现 <code>FrameMetricsListener.onMetricsAvailable()</code> 回叫方法,并在窗口上注册。
+如需了解详细信息,请参阅可下载的 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 参考</a> 中的 {@code FrameMetricsListener} 类文档。
+
+
+</p>
+
+<p>
+API 提供了一个包含计时数据的 {@code FrameMetrics} 对象,其渲染子系统会在一帧长度内报告各种里程碑。支持的指标有:{@code UNKNOWN_DELAY_DURATION}、{@code INPUT_HANDLING_DURATION}、{@code ANIMATION_DURATION}、{@code LAYOUT_MEASURE_DURATION}、{@code DRAW_DURATION}、{@code SYNC_DURATION}、{@code COMMAND_ISSUE_DURATION}、{@code SWAP_BUFFERS_DURATION}、{@code TOTAL_DURATION} 和 {@code FIRST_DRAW_FRAME}。
 
 
 
 
 
+
+</p>
+
+
+<h2 id="virtual_files">虚拟文件</h2>
+
+<p>
+  在较早的 Android 版本中,您的应用可以使用存储访问框架来允许用户从他们的云存储帐户中选择文件,如 Google 云端硬盘。
+
+但是,不能表示没有直接字节码表示的文件;每个文件都必须提供一个输入流。
+
+
+</p>
+
+<p>
+  Android N 在存储访问框架中增加了“虚拟文件”的概念。
+<em></em>虚拟文件功能可以让您的 {@link android.provider.DocumentsProvider} 返回可与 {@link android.content.Intent#ACTION_VIEW}Intent 使用的文件 URI,即使它们没有直接字节码表示。
+
+
+Android N 还允许您为用户文件(虚拟或其他类)提供备用格式。 
+
+</p>
+
+<p>
+  为获得您的应用中的虚拟文件的 URI,首先您应创建一个 {@link android.content.Intent} 以打开文件选择器 UI。
+由于应用不能使用 {@link android.content.ContentResolver#openInputStream(Uri) openInputStream()} 方法来直接打开一个虚拟文件,因此如果您包括了 {@link android.content.Intent#CATEGORY_OPENABLE} 类别,您的应用不会收到任何虚拟文件。
+
+
+
+
+</p>
+
+<p>
+  在用户选择之后,系统调用 {@link android.app.Activity#onActivityResult onActivityResult()} 方法。
+
+  您的应用可以检索虚拟文件的URI,并得到一个输入流,这表现在以下片段中的代码。
+
+</p>
+
+<pre>
+  // Other Activity code ...
+
+  final static private int REQUEST_CODE = 64;
+
+  // We listen to the OnActivityResult event to respond to the user's selection.
+  &#64;Override
+  public void onActivityResult(int requestCode, int resultCode,
+    Intent resultData) {
+      try {
+        if (requestCode == REQUEST_CODE &amp;&amp;
+            resultCode == Activity.RESULT_OK) {
+
+            Uri uri = null;
+
+            if (resultData != null) {
+                uri = resultData.getData();
+
+                ContentResolver resolver = getContentResolver();
+
+                // Before attempting to coerce a file into a MIME type,
+                // check to see what alternative MIME types are available to
+                // coerce this file into.
+                String[] streamTypes =
+                  resolver.getStreamTypes(uri, "*/*");
+
+                AssetFileDescriptor descriptor =
+                    resolver.openTypedAssetFileDescriptor(
+                        uri,
+                        streamTypes[0],
+                        null);
+
+                // Retrieve a stream to the virtual file.
+                InputStream inputStream = descriptor.createInputStream();
+            }
+        }
+      } catch (Exception ex) {
+        Log.e("EXCEPTION", "ERROR: ", ex);
+      }
+  }
+</pre>
+
+<p>
+  如需有关访问用户文件的更多信息,请参阅 <a href="{@docRoot}guide/topics/providers/document-provider.html">存储访问框架指南</a>。
+
+
+</p>
diff --git a/docs/html-intl/intl/zh-cn/preview/behavior-changes.jd b/docs/html-intl/intl/zh-cn/preview/behavior-changes.jd
index 3c4b2e1..4e3a6b5 100644
--- a/docs/html-intl/intl/zh-cn/preview/behavior-changes.jd
+++ b/docs/html-intl/intl/zh-cn/preview/behavior-changes.jd
@@ -1,6 +1,6 @@
 page.title=行为变更
-page.keywords=preview,sdk,compatibility
-meta.tags="预览版", "兼容性"
+page.keywords=Preview、SDK、兼容性
+meta.tags="preview", "compatibility"
 page.tags="preview", "developer preview"
 page.image=images/cards/card-n-changes_2x.png
 @jd:body
@@ -14,12 +14,14 @@
 <ol>
   <li><a href="#perf">性能提升</a>
     <ol>
-      <li><a href="#doze">打盹</a></li>
+      <li><a href="#doze">低电耗模式</a></li>
       <li><a href="#bg-opt">后台优化</a></li>
     </ol>
   </li>
-  <li><a href="#perm">权限更改</a></li>
-  <li><a href="#accessibility">辅助工具改进</a>
+  <li><a href="#perm">权限更改</a>
+  </li>
+  <li><a href="#sharing-files">应用间共享文件</a></li>
+  <li><a href="#accessibility">无障碍改进</a>
     <ol>
       <li><a href="#screen-zoom">屏幕缩放</a></li>
       <li><a href="#vision-settings">设置向导中的视觉设置</a></li>
@@ -27,12 +29,14 @@
   </li>
   <li><a href="#ndk">NDK 应用链接至平台库</a></li>
   <li><a href="#afw">Android for Work</a></li>
+  <li><a href="#annotations">注解保留</a></li>
+  <li><a href="#other">其他重要说明</a></li>
 </ol>
 
 <h2>另请参阅</h2>
 <ol>
-  <li><a href="{@docRoot}preview/api-overview.html">
-    Android N API 概览</a></li>
+  <li><a href="{@docRoot}preview/api-overview.html">Android N API 概览</a>
+</li>
 </ol>
 
 </div>
@@ -40,8 +44,8 @@
 
 
 <p>
-  Android N 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更。本文重点介绍您应该了解并在开发应用时加以考虑的一些重要变更。
-
+  Android N 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更。
+本文重点介绍您应该了解并在开发应用时加以考虑的一些重要变更。
 
 
 </p>
@@ -52,20 +56,19 @@
 </p>
 
 
-<h2 id="perf">性能提升</h2>
+<h2 id="perf">电池和内存</h2>
 
 <p>
-  为延长设备的电池寿命、降低内存使用率以及提升应用性能,Android N 对系统行为做出了一些变更。这些变更可能会影响系统资源和系统通知对应用的可用性。您应仔细检查这些变更并评估应用可能需要做何调整以适应这些变更。
-
-
+Android N 包括旨在延长设备电池寿命和减少 RAM 使用的系统行为变更。
+这些变更可能会影响您的应用访问系统资源,以及您的系统通过特定隐式 Intent 与其他应用互动的方式。
 
 
 </p>
 
-<h3 id="doze">打盹</h3>
+<h3 id="doze">低电耗模式</h3>
 
 <p>
-  Android 6.0(API 级别 23)引入了打盹模式,当用户设备未插接电源、处于静止状态且屏幕关闭时,该模式会推迟 CPU 和网络活动,从而延长电池寿命。而 Android N 则通过在设备未插接电源且屏幕关闭状态下、但不一定要处于静止状态(例如用户外出时把手持式设备装在口袋里)时应用部分 CPU 和网络限制,进一步增强了打盹模式。
+  Android 6.0(API 级别 23)引入了低电耗模式,当用户设备未插接电源、处于静止状态且屏幕关闭时,该模式会推迟 CPU 和网络活动,从而延长电池寿命。而 Android N 则通过在设备未插接电源且屏幕关闭状态下、但不一定要处于静止状态(例如用户外出时把手持式设备装在口袋里)时应用部分 CPU 和网络限制,进一步增强了低电耗模式。
 
 
 
@@ -76,17 +79,17 @@
 
 <img src="{@docRoot}preview/images/doze-diagram-1.png" alt="" height="251px" id="figure1" />
 <p class="img-caption">
-  <strong>图 1.</strong> 打盹模式如何应用第一级系统活动限制以延长电池寿命的图示。
+  <strong>图 1.</strong> 低电耗模式如何应用第一级系统活动限制以延长电池寿命的图示。
 
 </p>
 
 <p>
-  当设备处于充电状态且屏幕已关闭一定时间后,设备会进入打盹模式并应用第一部分限制:关闭应用网络访问、推迟作业和同步。如果进入打盹模式后设备处于静止状态达到一定时间,系统则会对 {@link android.os.PowerManager.WakeLock}、{@link android.app.AlarmManager} 闹铃、GPS 和 Wi-Fi 扫描应用余下的打盹限制。无论是应用部分还是全部打盹限制,系统都会唤醒设备以提供简短的维护时间窗口,在此窗口期间,应用程序可以访问网络并执行任何被推迟的作业/同步。
+  当设备处于充电状态且屏幕已关闭一定时间后,设备会进入低电耗模式并应用第一部分限制:
+关闭应用网络访问、推迟作业和同步。
+如果进入低电耗模式后设备处于静止状态达到一定时间,系统则会对 {@link android.os.PowerManager.WakeLock}、{@link android.app.AlarmManager} 闹铃、GPS 和 Wi-Fi 扫描应用余下的低电耗模式限制。
 
 
-
-
-
+无论是应用部分还是全部低电耗模式限制,系统都会唤醒设备以提供简短的维护时间窗口,在此窗口期间,应用程序可以访问网络并执行任何被推迟的作业/同步。
 
 
 
@@ -95,17 +98,17 @@
 
 <img src="{@docRoot}preview/images/doze-diagram-2.png" alt="" id="figure2" />
 <p class="img-caption">
-  <strong>图 2.</strong> 打盹模式如何在设备处于静止状态达到一定时间后应用第二级系统活动限制的图示。
+  <strong>图 2.</strong> 低电耗模式如何在设备处于静止状态达到一定时间后应用第二级系统活动限制的图示。
 
 </p>
 
 <p>
-  请注意,激活屏幕或插接设备电源时,系统将退出打盹模式并取消这些处理限制。此项新增的行为不会影响有关使您的应用适应 Android 6.0(API 级别 23)中所推出的旧版本打盹模式的建议和最佳实践,如<a href="{@docRoot}training/monitoring-device-state/doze-standby.html">打盹和应用待机优化</a>中所讨论。您仍应遵循这些建议(例如使用 Google Cloud Messaging (GCM) 发送和接收消息)并开始安排更新计划以适应新增的打盹行为。
+  请注意,激活屏幕或插接设备电源时,系统将退出低电耗模式并取消这些处理限制。
+此项新增的行为不会影响有关使您的应用适应 Android 6.0(API 级别 23)中所推出的旧版本低电耗模式的建议和最佳实践,如<a href="{@docRoot}training/monitoring-device-state/doze-standby.html">低电耗模式和应用待机模式优化</a>中所讨论。
 
 
 
-
-
+您仍应遵循这些建议(例如使用 Google Cloud Messaging (GCM) 发送和接收消息)并开始安排更新计划以适应新增的低电耗模式行为。
 
 
 
@@ -115,19 +118,19 @@
 <h3 id="bg-opt">Project Svelte:后台优化</h3>
 
 <p>
-  Android N 删除了三项隐式广播,以帮助优化内存使用和电量消耗。此项变更很有必要,因为隐式广播会在后台频繁启动已注册侦听这些广播的应用。删除这些广播可以显著提升设备性能和用户体验。
+  Android N 删除了三项隐式广播,以帮助优化内存使用和电量消耗。
+此项变更很有必要,因为隐式广播会在后台频繁启动已注册侦听这些广播的应用。
 
-
-
+删除这些广播可以显著提升设备性能和用户体验。
 
 </p>
 
 <p>
-  移动设备会经历频繁的连接变更,例如在 Wi-Fi 和移动数据之间切换时。目前,可以通过在应用清单文件中注册一个接收器来侦听隐式 {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION} 广播,让应用能够监控这些变更。由于很多应用会注册接收此广播,因此单次网络切换即会导致所有应用被唤醒并同时处理此广播。
+  移动设备会经历频繁的连接变更,例如在 Wi-Fi 和移动数据之间切换时。
+目前,可以通过在应用清单中注册一个接收器来侦听隐式 {@link  android.net.ConnectivityManager#CONNECTIVITY_ACTION} 广播,让应用能够监控这些变更。
 
 
-
+由于很多应用会注册接收此广播,因此单次网络切换即会导致所有应用被唤醒并同时处理此广播。
 
 
 </p>
@@ -135,77 +138,127 @@
 <p>
   同理,应用可以注册接收来自其他应用(例如相机)的隐式 {@link
   android.hardware.Camera#ACTION_NEW_PICTURE} 和 {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO} 广播。当用户使用相机应用拍摄照片时,这些应用即会被唤醒以处理广播。
-
+  android.hardware.Camera#ACTION_NEW_VIDEO} 广播。
+当用户使用相机应用拍摄照片时,这些应用即会被唤醒以处理广播。
 
 </p>
 
 <p>
-  为减缓这些问题,Android N 应用了以下优化措施:
+  为缓解这些问题,Android N 应用了以下优化措施:
 
 </p>
 
 <ul>
   <li>面向 Android N 开发的应用不会收到 {@link
-  android.net.ConnectivityManager#CONNECTIVITY_ACTION} 广播,即使它们已有清单条目来请求接受这些事件的通知。在前台运行的应用如果使用 {@link
-  android.content.BroadcastReceiver} 请求接收通知,则仍可以在主线程中侦听 {@code CONNECTIVITY_CHANGE}。
-
+  android.net.ConnectivityManager#CONNECTIVITY_ACTION} 广播,即使它们已有清单条目来请求接受这些事件的通知。
+在前台运行的应用如果使用{@link android.content.BroadcastReceiver} 请求接收通知,则仍可以在主线程中侦听 {@code CONNECTIVITY_CHANGE}。
 
 
   </li>
 
   <li>应用无法发送或接收 {@link
-  android.hardware.Camera#ACTION_NEW_PICTURE} 或 {@link
-  android.hardware.Camera#ACTION_NEW_VIDEO} 广播。此项优化会影响所有应用,而不仅仅是面向 Android N 的应用。
+android.hardware.Camera#ACTION_NEW_PICTURE} 或 {@link
+android.hardware.Camera#ACTION_NEW_VIDEO} 广播。此项优化会影响所有应用,而不仅仅是面向 Android N 的应用。
 
   </li>
 </ul>
 
-<p>
-  未来的 Android 版本还可能会弃用其他隐式广播以及未绑定的后台服务。有鉴于此,您应避免依赖在清单文件中声明的接收器来侦听隐式广播或删除此依赖关系,以及避免或删除对后台服务的依赖关系。
+<p>如果您的应用使用任何 Intent,您仍需要尽快移除它们的依赖关系,以正确适配 Android N 设备。
 
+  Android 框架提供多个解决方案来缓解对这些隐式广播的需求。
+例如,{@link
+  android.app.job.JobScheduler} API 提供了一个稳健可靠的机制来安排满足指定条件(例如连入无限流量网络)时所执行的网络操作。
 
-
+您甚至可以使用 {@link
+  android.app.job.JobScheduler} 来适应内容提供程序变化。
 </p>
 
 <p>
-  Android 框架提供多种解决方案来降低这些隐式广播或后台服务的必要性。例如,{@link
-  android.app.job.JobScheduler} API 提供了一个稳健可靠的机制来安排满足指定条件(例如连入不按流量计费的网络)时所执行的网络操作。您甚至可以使用 {@link
-  android.app.job.JobScheduler} 来响应内容提供程序所发生的变更。
-
-
-
-</p>
-
-<p>
-  如需了解有关此行为变更及如何改写应用的详细信息,请参阅<a href="{@docRoot}preview/features/background-optimization.html">后台优化</a>。
+  如需了解有关 Android N 中后台优化以及如何改写应用的详细信息,请参阅<a href="{@docRoot}preview/features/background-optimization.html">后台优化</a>。
 
 
 </p>
 
-
 <h2 id="perm">权限更改</h2>
 
 <p>
-  Android N 做了一些权限更改,包括用户帐户权限和向外部存储设备写入信息的新权限,这些更改可能会影响您的应用。下面概要列出了预览版中已发生更改的权限。
+  Android N 做了一些权限更改,这些更改可能会影响您的应用。
+</p>
 
+<h3 id="permfilesys">系统权限更改</h3>
+
+<p>
+  为了提高私有文件的安全性,面向 Android N 或更高版本的应用私有目录被限制访问 (<code>0700</code>)。
+
+  此设置可防止私有文件的元数据泄漏,如它们的大小或存在。
+此权限更改有多重副作用:
+</p>
+
+<ul>
+  <li>
+    私有文件的文件权限不应再由所有者放宽,为使用 {@link android.content.Context#MODE_WORLD_READABLE} 和/或 {@link android.content.Context#MODE_WORLD_WRITEABLE} 而进行的此类尝试将触发 {@link java.lang.SecurityException}。
+
+
+
+
+    <p class="note">
+      <strong>注:</strong>迄今为止,这种限制尚不能完全执行。
+      应用仍可能使用原生 API 或 {@link java.io.File File} API 来修改它们的私有目录权限。
+但是,我们强烈反对放宽私有目录的权限。
+
+    </p>
+  </li>
+  <li>
+    传递软件包网域外的 <code>file://</code> URI 可能给接收器留下无法访问的路径。
+因此,尝试传递 <code>file://</code> URI 会触发 <code>FileUriExposedException</code>。
+
+分享私有文件内容的推荐方法是使用 {@link
+    android.support.v4.content.FileProvider}。
+
+  </li>
+  <li>
+    {@link android.app.DownloadManager} 不再按文件名分享私人存储的文件。
+旧版应用在访问 {@link
+    android.app.DownloadManager#COLUMN_LOCAL_FILENAME} 时可能出现无法访问的路径。
+面向 Android N 或更高版本的应用在尝试访问 {@link android.app.DownloadManager#COLUMN_LOCAL_FILENAME} 时会触发 {@link java.lang.SecurityException}。
+
+
+
+    通过使用 {@link
+    android.app.DownloadManager.Request#setDestinationInExternalFilesDir
+    DownloadManager.Request.setDestinationInExternalFilesDir()} 或 {@link
+    android.app.DownloadManager.Request#setDestinationInExternalPublicDir
+    DownloadManager.Request.setDestinationInExternalPublicDir()} 将下载位置设置为公共位置的旧版应用仍可以访问 {@link android.app.DownloadManager#COLUMN_LOCAL_FILENAME} 中的路径,但是我们强烈反对使用这种方法。
+
+
+
+
+
+访问由 {@link android.app.DownloadManager} 公开的文件的首选方式是使用 {@link android.content.ContentResolver#openFileDescriptor
+    ContentResolver.openFileDescriptor()}。
+
+
+  </li>
+</ul>
+
+<h2 id="sharing-files">应用间共享文件</h2>
+
+<p>
+对于面向 Android N 的应用,Android 框架执行的 {@link android.os.StrictMode} API 政策禁止向您的应用外公开 {@code file://} URI。
+
+如果一项包含文件 URI 的 Intent 离开您的应用,应用失败,并出现 {@code FileUriExposedException} 异常。
+
+</p>
+
+<p>
+若要在应用间共享文件,您应发送一项 {@code content://} URI,并授予 URI 临时访问权限。
+进行此授权的最简单方式是使用 {@link android.support.v4.content.FileProvider} 类。
+如需有关权限和共享文件的更多信息,请参阅<a href="{@docRoot}training/secure-file-sharing/index.html">共享文件</a>。
 
 
 </p>
 
-<ul>
-  <li>{@code GET_ACCOUNTS}(已弃用)
-    <p>
-      GET_ACCOUNTS 权限现已弃用。对于面向 Android N 的应用,系统将忽略此权限。
-
-    </p>
-  </li>
-
-</ul>
-
-
-
-<h2 id="accessibility">辅助工具改进</h2>
+<h2 id="accessibility">无障碍改进</h2>
 
 <p>
   为提高平台对于视力不佳或视力受损用户的可用性,Android N 做出了一些更改。这些更改一般并不要求更改您的应用代码,不过您应仔细检查并使用您的应用测试这些功能,以评估它们对用户体验的潜在影响。
@@ -248,11 +301,11 @@
 </p>
 
 <ul>
-  <li>如果是面向 API 级别 23 或更低版本系统的应用,则系统会自动终止其所有后台进程。这意味着如果用户切换离开此类应用,转而打开 <em>Settings</em> 屏幕并更改 <strong>Display size</strong> 设置,则系统会像处理内存不足的情况一样终止该应用。如果应用具有任何前台进程,则系统会如<a href="{@docRoot}guide/topics/resources/runtime-changes.html">处理运行时变更</a>中所述将配置变更通知给这些进程,就像对待设备屏幕方向变更一样。
+  <li>如果是面向 API 级别 23 或更低版本系统的应用,系统会自动终止其所有后台进程。
+这意味着如果用户切换离开此类应用,转而打开“Settings”屏幕并更改 <strong>Display size</strong> 设置,则系统会像处理内存不足的情况一样终止该应用。
 
-
-
-
+<em></em>
+如果应用具有任何前台进程,则系统会如<a href="{@docRoot}guide/topics/resources/runtime-changes.html">处理运行时变更</a>中所述将配置变更通知给这些进程,就像对待设备屏幕方向变更一样。
 
 
 
@@ -281,9 +334,9 @@
 
 
     <p class="note">
-      <strong>注:</strong>如果您要缓存与配置相关的数据,则最好也包括相关元数据,例如该数据对应的屏幕尺寸或像素密度。保存这些元数据便于您在配置变更后决定是否需要刷新缓存数据。
+      <strong>注:</strong>如果您要缓存与配置相关的数据,则最好也包括相关元数据,例如该数据对应的屏幕尺寸或像素密度。
 
-
+保存这些元数据便于您在配置变更后决定是否需要刷新缓存数据。
 
 
     </p>
@@ -298,56 +351,56 @@
 <h3 id="vision-settings">设置向导中的视觉设置</h3>
 
 <p>
-  Android N 在“Welcome”屏幕中加入了“Vision Settings”,用户可以在新设备上设置以下辅助工具设置:<strong>Magnification gesture</strong>、<strong>Font size</strong>、<strong>Display size</strong> 和 <strong>TalkBack</strong>。此项变更增强了与不同屏幕设置相关的错误的可见性。要评估此功能的影响,您应在启用这些设置的状态下测试应用。您可以在 <strong>Settings &gt;
-  Accessibility</strong> 中找到这些设置。
+  Android N 在“Welcome”屏幕中加入了“Vision Settings”,用户可以在新设备上设置以下无障碍功能设置:
 
+  <strong>Magnification gesture</strong>、<strong>Font size</strong>、<strong>Display size</strong> 和 <strong>TalkBack</strong>。
+此项变更增强了与不同屏幕设置相关的错误的可见性。
+要评估此功能的影响,您应在启用这些设置的状态下测试应用。
 
-
-
-
+您可以在 <strong>Settings &gt; Accessibility</strong> 中找到这些设置。
 
 </p>
 
 <h2 id="ndk">NDK 应用链接至平台库</h2>
 
 <p>
-  Android N 做了一些命名空间更改,以阻止加载非公开 API。如果您使用 NDK,则只能使用 Android 平台提供的公开 API。在下一个官方发布的 Android 版本上使用非公开 API 会导致应用崩溃。
+  Android N 做了一些命名空间更改,以阻止加载非公开 API。
+  如果您使用 NDK,则只能使用 Android 平台提供的公开 API。
+在下一个官方发布的 Android 版本上使用非公开 API 会导致应用崩溃。
 
+</p>
+
+<p>
+  为提醒您使用了非公开 API,在 Android N 设备上运行的应用会在有应用调用非公开 API 时在日志消息输出中生成一个错误。
+
+  此错误还会作为消息显示在设备屏幕上,以帮助增强您对此情况的认识。
+您应检查应用代码以删除使用非公开平台 API,并使用预览版设备或模拟器全面测试应用。
 
 
 </p>
 
 <p>
-  为提醒您使用了非公开 API,在 Android N
- 设备上运行的应用会在有应用调用非公开 API 时在日志消息输出中生成一个错误。此错误还会作为消息显示在设备屏幕上,以帮助增强您对此情况的认识。您应检查应用代码以删除使用非公开平台 API,并使用预览版设备或模拟器全面测试应用。
+  如果您的应用依赖平台库,则请参见 NDK 文档,了解使用公开 API 等效项替换普通私有 API 的典型修复。
 
+  您还可以链接至平台库,而无需实现此应用,如果应用使用的库是平台的一部分(例如 <code>libpng</code>),但不属于 NDK,则更可如此。
 
-
-
-</p>
-
-<p>
-  如果您的应用依赖平台库,则请参见 NDK 文档,了解使用公开 API 等效项替换普通私有 API 的典型修复。您还可以链接至平台库,而无需实现此应用,如果应用使用的库是平台的一部分(例如 <code>libpng</code>),但不属于 NDK,则更可如此。此情况下,请确保您的 APK 包含您打算链接到的所有 .so 文件。
-
-
-
-
+此情况下,请确保您的 APK 包含您打算链接到的所有 .so 文件。
 
 </p>
 
 <p class="caution">
-  <strong>注意:</strong>有些第三方库可能会链接至非公开 API。如果您的应用使用这些库,那么当您的应用在下一个官方发布的 Android 版本上运行时可能会出现崩溃现象。
-
+  <strong>注意:</strong>有些第三方库可能会链接至非公开 API。
+如果您的应用使用这些库,那么当您的应用在下一个官方发布的 Android 版本上运行时可能会出现崩溃现象。
 
 </p>
 
 <p>
-  应用不应依赖或使用不属于 NDK 的原生库,因为这些库可能会发生更改或从一个 Android 版本迁移至另一版本。例如,从 OpenSSL 切换至 BoringSSL 即属于此类更改。此外,不同的设备可能提供不同级别的兼容性,因为不属于 NDK 中的平台库没有兼容性要求。如果您必须在较旧设备上访问非 NDK 库,则请依据 Android API 级别进行加载。
+  应用不应依赖或使用不属于 NDK 的原生库,因为这些库可能会发生更改或从一个 Android 版本迁移至另一版本。
 
+例如,从 OpenSSL 切换至 BoringSSL 即属于此类更改。
+  此外,不同的设备可能提供不同级别的兼容性,因为不属于 NDK 中的平台库没有兼容性要求。
 
-
-
-
+如果您必须在较旧设备上访问非 NDK 库,则请依据 Android API 级别进行加载。
 
 </p>
 
@@ -382,7 +435,7 @@
 </pre>
   </li>
 
-  <li>可以使用公开备选项 {@code __system_property_get} 来替代使用 {@code libcutils.so} 中的 {@code property_get} 符号。如需这样做,请使用 {@code __system_property_get} 及以下 include 函数:
+  <li>可以使用公开 {@code alternative __system_property_get} 来替代使用 {@code libcutils.so} 中的 {@code property_get} 符号。如需这样做,请使用 {@code __system_property_get} 及以下 include 函数:
 
 
 <pre>
@@ -407,40 +460,44 @@
 </p>
 
 <ul>
-  <li>您必须先安装授权证书安装程序,然后 DPC 才能对其进行设置。对于面向 N SDK 的配置文件和设备所有者应用,您应在设备策略控制器 (DPC) 调用 <code>DevicePolicyManager.setCertInstallerPackage()</code> 之前安装授权证书安装程序。如果尚未安装此安装程序,则系统会引发 <code>IllegalArgumentException</code>。
+  <li>您必须先安装授权证书安装程序,然后 DPC 才能对其进行设置。
+对于面向 N SDK 的个人资料和设备所有者应用,您应在设备策略控制器 (DPC) 调用 <code>DevicePolicyManager.setCertInstallerPackage()</code> 之前安装授权证书安装程序。
 
 
-
-
+如果尚未安装此安装程序,则系统会引发 <code>IllegalArgumentException</code>。
 
 
   </li>
 
-  <li>针对设备管理员的重置密码限制现在也适用于配置文件所有者。设备管理员无法再使用
- <code>DevicePolicyManager.resetPassword()</code> 来清除或更改已经设置的密码。不过,设备管理员仍可以设置密码,但只能在设备没有密码、PIN 或图案时这样做。
+  <li>针对设备管理员的重置密码限制现在也适用于个人资料所有者。
+设备管理员无法再使用 {@code DevicePolicyManager.resetPassword()} 来清除或更改已经设置的密码。
 
+设备管理员仍可以设置密码,但只能在设备没有密码、PIN 或图案时这样做。
+
+  </li>
+
+  <li>即使设置了限制,设备所有者和个人资料所有者仍可以管理帐户。而且,即使具有 <code>DISALLOW_MODIFY_ACCOUNTS</code> 用户限制,设备所有者和个人资料所有者仍可调用 Account Management API。
 
 
   </li>
 
-  <li>即使设置了限制,设备所有者和配置文件所有者仍可以管理帐户。而且,即使具有 <code>DISALLOW_MODIFY_ACCOUNTS</code> 用户限制,设备所有者和配置文件所有者仍可调用 Account Management API。
+  <li>设备所有者可以更轻松地管理二级用户。当设备在设备所有者模式下运行时,系统将自动设置 <code>DISALLOW_ADD_USER</code> 限制。
 
-
-  </li>
-
-  <li>设备所有者可以更轻松地管理二级用户。当设备在设备所有者模式下运行时,系统将自动设置 <code>DISALLOW_ADD_USER</code> 限制。这样可以防止用户创建非托管二级用户。此外,<code>CreateUser()</code> 和
- <code>createAndInitial()</code> 方法已弃用,取而代之的是 <code>DevicePolicyManager.createAndManageUser()</code> 方法。
-
-
+这样可以防止用户创建非托管二级用户。
+此外,<code>CreateUser()</code> 和 <code>createAndInitializeUser()</code> 方法已弃用,取而代之的是 <code>DevicePolicyManager.createAndManageUser()</code> 方法。
 
 
   </li>
 
   <li>设备所有者可以访问设备标识符。设备所有者可以使用
- <code>DevicePolicyManagewr.getWifiMacAddress()</code> 访问设备的 Wi-Fi MAC 地址。如果设备上从未启用 Wi-Fi,则此方法将返回一个 {@code null} 值。
-
+ <code>DevicePolicyManagewr.getWifiMacAddress()</code> 访问设备的 Wi-Fi MAC 地址。
+如果设备上从未启用 Wi-Fi,则此方法将返回一个 {@code null} 值。
 
   </li>
+
+  <li>工作模式设置控制工作应用访问。当工作模式关闭时,系统启动器通过使工作应用显示为灰色来指示它们不可用。
+启用工作模式会再次恢复正常行为。
+
 </ul>
 
 <p>
@@ -448,12 +505,31 @@
  <a href="{@docRoot}preview/features/afw.html">Android for Work 更新</a>。
 </p>
 
+<h2 id="annotations">注解保留</h2>
+
+<p>
+Android N 在注解可见性被忽略时修复错误。这种问题将启用本不应被允许的运行时访问注解。
+
+这些注解包括:
+</p>
+
+<ul>
+   <li>{@code VISIBILITY_BUILD}:仅应编译时可见。</li>
+   <li>{@code VISIBILITY_SYSTEM}:运行时应可见,但仅限基本系统。
+</li>
+</ul>
+
+<p>
+如果您的应用依赖这种行为,请在注解中添加一项运行时必须可用的保留政策。
+您可通过使用 {@code @Retention(RetentionPolicy.RUNTIME)} 来如此做。
+</p>
+
 <h2 id="other">其他重要说明</h2>
 
 <ul>
-<li>如果一个应用在 Android N 上运行,但却是针对更低 API 级别开发的,那么在用户更改显示尺寸时,系统将终止此应用进程。因此,应用必须能够正常处理此情景。否则,当用户从最近使用记录中恢复运行应用时,应用将会出现崩溃现象。
-
-
+<li>如果一个应用在 Android N 上运行,但却是针对更低 API 级别开发的,那么在用户更改显示尺寸时,系统将终止此应用进程。
+应用必须能够正常处理此情景。
+否则,当用户从最近使用记录中恢复运行应用时,应用将会出现崩溃现象。
 
 
 <p>
@@ -476,5 +552,59 @@
 
 
 </li>
+
+<li>
+由于之前的 Android 版本中的一项错误,系统未能将对主线程上的一个 TCP 套接字的写入操作举报为严格模式违反。
+Android N 修复了此错误。呈现出这种行为的应用引发 {@code android.os.NetworkOnMainThreadException}。一般情况下,我们不建议在主线程上执行网络操作,因为这些操作通常都有可能导致 ANR 和卡顿的高尾延迟。
+
+
+
+</li>
+
+<li>
+{@code Debug.startMethodTracing()} 方法族现在默认在您的共享的存储空间上的软件包特定目录中存储输出,而非 SD 卡顶级。
+
+
+这意味着应用不再需要请求 {@code WRITE_EXTERNAL_STORAGE} 使用这些 API 的权限。
+</li>
+
+<li>
+许多平台 API 现在开始检查在 {@link android.os.Binder} 事务间发送的大负载,系统现在会将 {@code TransactionTooLargeExceptions} 再次作为 {@code RuntimeExceptions} 引发,而不再只是默默记录或抑制它们。
+
+
+一个常见例子是在 {@link android.app.Activity#onSaveInstanceState Activity.onSaveInstanceState()} 上存储过多数据,导致 {@code ActivityThread.StopInfo} 在您的应用面向 Android N 时引发 {@code RuntimeException}。
+
+
+
+
+</li>
+
+<li>
+如果应用向 {@link android.view.View} 发布 {@link java.lang.Runnable} 任务,并且 {@link android.view.View} 未附加到窗口,系统会用 {@link android.view.View} 为 {@link java.lang.Runnable} 任务排队;在 {@link android.view.View} 附加到窗口之前,{@link java.lang.Runnable} 任务不会执行。
+
+
+
+
+
+此行为会修复以下错误:
+<ul>
+   <li>如果一项应用是从并非预期窗口 UI 线程的其他线程发布到 {@link android.view.View},则{@link java.lang.Runnable} 可能会因此运行错误的线程。
+
+   </li>
+   <li>如果 {@link java.lang.Runnable} 任务是从并非环路线程的其他线程发布,则应用可能会曝光 {@link java.lang.Runnable} 任务。
+</li>
+</ul>
+</li>
+
+<li>
+如果 Android N 上一项有 {@link android.Manifest.permission#DELETE_PACKAGES DELETE_PACKAGES} 权限的应用尝试删除一个软件包,但另一项应用已经安装了这个软件包,则系统可能要求用户确认。
+
+
+在这种情况下,应用在调用 {@link android.content.pm.PackageInstaller#uninstall PackageInstaller.uninstall()} 时的返回状态应为 {@link android.content.pm.PackageInstaller#STATUS_PENDING_USER_ACTION STATUS_PENDING_USER_ACTION}。
+
+
+
+</li>
+
 </ul>
 
diff --git a/docs/html-intl/intl/zh-cn/preview/download-ota.jd b/docs/html-intl/intl/zh-cn/preview/download-ota.jd
new file mode 100644
index 0000000..ab1408f
--- /dev/null
+++ b/docs/html-intl/intl/zh-cn/preview/download-ota.jd
@@ -0,0 +1,324 @@
+page.title=应用设备 OTA 映像
+
+@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">在下载和安装 Android Preview SDK 的组件之前,您必须同意下列条款和条件。
+
+</p>
+
+    <h2 class="norule">条款和条件</h2>
+
+    <div class="sdk-terms" onfocus="this.blur()" style="width:678px">
+本协议是 Android SDK Preview 许可协议(以下称为“许可协议”)。
+
+1. 简介
+
+1.1 Android SDK Preview(在本许可协议中简称为“Preview”,具体包括 Android 系统文件、封装 API 以及 Preview 库文件(若可用))依据本许可协议的条款授权您使用。本许可协议在您与 Google 之间就您对“Preview”的使用构成具有法律约束力的合约。
+
+1.2 “Android”是指以 Android 开源项目(项目网址为 http://source.android.com/,其内容会不时更新)名义提供、面向设备的 Android 软件栈。
+
+1.3 “Android 兼容”是指 (i) 符合与 Android 兼容性定义文档(可在 Android 兼容性网站 http://source.android.com/compatibility 上找到,并可能会不时更新)标准的任何 Android 实现;并 (ii) 成功通过 Android 兼容性测试套件 (CTS) 的测试。
+
+1.4“Google”是指 Google Inc.,是一家特拉华州公司,主要营业地位于:1600 Amphitheatre Parkway, Mountain View, CA 94043, United States。
+
+2. 接受许可协议
+
+2.1 要使用“Preview”,您必须先同意本许可协议。如果您不接受本许可协议,则不得使用“Preview”。
+
+2.2 点击接受并/或使用“Preview”,即表示您特此同意本许可协议的条款。
+
+2.3 如果依照美国或其他国家/地区(包括您居住或您使用“Preview”所在的国家/地区)的法律,您被禁止获取“Preview”,则您不得使用“Preview”,也不得接受本许可协议。
+
+2.4 如果您将在贵公司或组织内部使用“Preview”,则您同意代表您的雇主或其他实体接受本许可协议的约束,并且您表示并保证您拥有完全的合法授权令您的雇主或上述实体受本许可协议的约束。如果您不具备必要的授权,则不得代表您的雇主或其他实体接受本许可协议或使用“Preview”。
+
+3. Google “Preview”许可
+
+3.1 Google 依据本许可协议的条款授予您有限的、全球性、免版税、不可转让、非独占性且不可次级许可的“Preview”使用许可,其用途仅限针对 Android 的兼容实现来开发应用。
+
+3.2 您不得使用此“Preview”来开发适用于其他平台(包括 Android 的非兼容实现)的应用或开发其他 SDK。您当然可以随意开发适用于其他平台(包括 Android 的非兼容实现)的应用,前提是不使用此“Preview”来进行此类开发。
+
+3.3 您同意 Google 或第三方拥有“Preview”中存在或与其有关联的全部合法权利、所有权和利益,包括“Preview”中存在的任何知识产权。“知识产权”是指根据专利法、版权法、商业机密法、商标法享有的任何及全部权利,以及其他任何及全部专有权利。Google 保留所有未明确授予您的权利。
+
+3.4 您不得将“Preview”用于本许可协议未明确允许的任何用途。除适用第三方许可所要求的范围外,您不得:(a) 对“Preview”或“Preview”的任何部分进行复制(备份用途除外)、修改、改编、再分发、反编译、逆向工程、反汇编或创建其衍生品;或 (b) 将“Preview”的任何部分加载到移动手持终端或除个人计算机之外的任何其他硬件设备上,将“Preview”的任何部分与其他软件合并,或者发行任何融入“Preview”某一部分的软件或设备。
+
+3.5 对于依据开源软件许可授权的“Preview”组件,其使用、复制和分发仅受该开源软件许可条款的制约,不受本许可协议的约束。您同意在依照被授予的所有权利作为被许可方期间,在遵守此类开源软件许可协议方面始终保持良好的信誉,并避免进行任何可能导致终止、暂停或违反此类权利的行动。
+
+3.6 您同意 Google 所提供“Preview”的形式和性质可随时发生变更,而无需事先通知您,并且未来的“Preview”版本可能会与在之前的“Preview”版本上开发的应用不兼容。您同意 Google 可单方面决定在未事先通知您的情况下全面停止(永久性或暂时性)向您或用户提供“Preview”(或“Preview”内的任何功能)。
+
+3.7 本许可协议内没有任何条款授予您使用 Google 的任何商品名、商标、服务标志、徽标、域名或其他独特品牌特征的权利。
+
+3.8 您同意您不会移除、遮盖或篡改“Preview”上可能贴有或“Preview”内可能包含的任何专有权利声明(包括版权声明和商标声明)。
+
+4. 您对“Preview”的使用
+
+4.1 Google 同意本许可协议中的任何条款均未授予 Google 从您(或您的许可方)处获取您依照本许可协议使用“Preview”开发的任何软件应用中存在或与其相关的权利、所有权或利益,包括这些应用中存在的任何知识产权。
+
+4.2 您同意只出于 (a) 本许可协议和 (b) 相关管辖区域内任何适用法律、法规或公认惯例或准则(包括有关向美国或其他相关国家/地区出口数据或软件或从美国或其他相关国家/地区进口数据或软件的任何法律)所允许的目的而使用“Preview”和编写应用。
+
+4.3 您同意,如果您使用“Preview”开发应用,您将会保护用户的隐私权和合法权利。如果用户向您提供用户名、密码或其他登录信息或个人信息,您必须确保用户知晓这些信息将供您的应用使用,并且您必须为这些用户提供足以满足法律要求的隐私声明和保护。如果您的应用存储由用户提供的个人信息或敏感信息,其存储方式必须安全。如果用户向您提供 Google 帐户信息,您的应用只能在用户允许时出于用户所许可的有限目的使用该信息访问用户的 Google 帐户。
+
+4.4 您同意您不会利用“Preview”从事任何干扰、中断、损坏或以未经授权方式访问 Google 或任何第三方的服务器、网络或其他财产或服务的 Activity(包括应用的开发或分发)。
+
+4.5 您同意您对通过 Android 和/或 Android 应用创建、传输或显示的任何数据、内容或资源以及您的行为所导致的后果(包括 Google 可能遭受的任何损失或损害)负全责(Google 在上述方面对您或任何第三方不承担任何责任)。
+
+4.6 您同意您为违反本许可协议、任何适用的第三方合约或服务条款或任何适用法律或法规下的义务以及任何上述违规行为所导致的后果(包括 Google 或任何第三方可能遭受的任何损失或损害)负全责(Google 在上述方面对您或任何第三方不承担任何责任)。
+
+4.7 “Preview”正在开发中,您的测试和反馈是开发过程的重要环节。使用“Preview”,即表示您承认某些功能仍在开发实现之中,您不应期望“Preview”具备稳定版本的全部功能。您同意不使用此“Preview”公开发布或发运任何应用,因为此“Preview”在 Android SDK 正式发行之后将不再受支持。
+
+5. 您的开发者凭据
+
+5.1 您同意,对于 Google 可能向您发放或可能由您自行选择的任何开发者凭据,您有责任保持其机密性,并且您对以您的开发者凭据名义开发的所有应用负全责。
+
+6. 隐私权和信息
+
+6.1 为持续创新和改进“Preview”,Google 可能会从软件收集某些使用统计数据,包括但不限于唯一标识符、关联的 IP 地址、软件的版本号以及有关软件使用了“Preview”中哪些工具和/或服务及其使用方式的信息。在收集任何上述信息之前,“Preview”都会通知您并征求您的同意。如果您拒绝同意,我们将不会收集这些信息。
+
+6.2 我们会对收集的数据进行汇总调查,以便改进“Preview”,并会按照 Google 的隐私政策(网址为 http://www.google.com/policies/privacy/)维护数据。
+
+7. 第三方应用
+
+7.1 如果您使用“Preview”运行由第三方开发或访问由第三方提供的数据、内容或资源的应用,您同意 Google 对这些应用、数据、内容或资源不承担任何责任。您理解,您通过上述第三方应用可能访问到的所有数据、内容或资源由其提供者负全责,Google 对您因使用或访问其中任何第三方应用、数据、内容或资源而遭受的任何损失或损害不承担任何责任。
+
+7.2 您应知晓,通过此类第三方应用提供给您的数据、内容和资源可能受提供商(或代表他们的其他人员或公司)拥有的知识产权的保护。除非相关所有者明确给予许可,否则您不得修改、出租、租赁、借出、出售、分发这些数据、内容或资源(的全部或部分),或以其为基础创建衍生品。
+
+7.3 您承认您对上述第三方应用、数据、内容或资源的使用可能受到您与相关第三方之间单独订立的条款的制约。
+
+8. 使用 Google API
+
+8.1 Google API
+
+8.1.1 如果您使用任何 API 从 Google 检索数据,即表示您承认这些数据可能受到 Google 或这些数据提供方(或代表他们的其他人员或公司)拥有的知识产权的保护。您对任何上述 API 的使用可能受到附加服务条款的制约。除非相关服务条款允许,否则您不得修改、出租、租赁、借出、出售、分发这些数据(全部或部分),或以其为基础创建衍生品。
+
+8.1.2 如果您使用任何 API 从 Google 检索用户数据,即表示您承认并同意您只有在征得用户明确同意时才会检索数据,并且只能在用户允许时出于用户许可的有限目的检索数据。
+
+9. 终止许可协议
+
+9.1 本许可协议将持续有效,直至您或 Google 按以下规定终止本协议。
+
+9.2 如果您想终止本许可协议,可通过停止使用“Preview”以及任何相关开发者凭据予以终止。
+
+9.3 Google 有权在向您作出通知后,有理由或无理由地随时终止与您订立的这份许可协议。
+
+9.4 本许可协议将在下列情况下自动终止,而无需另行通知或采取其他行动,以先符合条件者为准:
+(A) Google 在您居住或使用服务所在国家/地区停止向用户提供“Preview”或“Preview”的某些部分;
+(B) Google 发行 Android SDK 的最终版本。
+
+9.5 在本许可协议终止时,本许可协议中向您授予的许可将终止,您应立即完全停止使用“Preview”,并且第 10、11、12 和 14 节的条款将无限期继续存在。
+
+10.免责声明
+
+10.1 您明确理解并同意,您使用“Preview”的风险将由您自行承担,并且“Preview”是按“原样”和“现状”提供,Google 不提供任何类型的担保。
+
+10.2 您对“Preview”的使用以及通过使用“Preview”下载或以其他方式获得的任何材料由您自行决定,风险自负,并且对于因此类使用而对您的计算机系统或其他设备造成的任何损害或数据损失由您单方面负责。在不对上文所述予以限制的条件下,您了解“Preview”并非稳定版本,可能存在将导致重大损害的错误、缺陷和安全漏洞,包括无法挽回地完全无法使用您的计算机系统或其他设备。
+
+10.3 Google 进一步明确拒绝任何类型的所有担保和条件,无论明示或暗示,包括但不限于有关适销性、特定用途适用性以及非侵权的暗示担保和条件。
+
+11. 有限责任
+
+11.1 您明确理解并同意,对于您可能遭遇的任何直接、间接、附带、特殊、继发或惩罚性损害(包括任何数据损失),Google 及其子公司和附属公司以及其许可方在任何责任理论下对您概不承担任何责任,无论 Google 或其代表是否已被告知或是否本应知晓发生任何上述损失的可能性。
+
+12. 赔偿
+
+12.1 您同意,在法律所允许的最大限度内,为 Google、其附属公司及其各自的董事、高管、员工和代理商提供辩护,使其免于因下列情况引起或产生的任何及所有索赔、诉讼、起诉或诉讼程序以及任何及所有损失、债务、损害、成本和费用(包括合理的律师费用)而承担责任或遭受损害:(a) 您对“Preview”的使用;(b) 您在“Preview”上开发的任何应用侵犯任何人的任何知识产权或诽谤任何人或侵犯其公开权或隐私权;以及 (c) 您的任何行为有悖于本许可协议
+
+13. 许可协议的更改
+
+13.1 Google 可能会在分发新版本“Preview”时对许可协议做出更改。做出这些更改后,Google 将在提供“Preview”的网站上公布新版本的许可协议。
+
+14. 一般法律条款
+
+14.1 本许可协议构成您与 Google 之间的完整法律协议,管辖您对“Preview”(不包括 Google 可能依据另外的书面协议向您提供的任何服务)的使用,并完全取代您之前与 Google 之间签订的、与“Preview”有关的任何协议。
+
+14.2 您同意,如果 Google 未行使或未强制执行本许可协议包含的任何法定权利或救济(或 Google 在任何适用法律下享有的相关利益),不得视为 Google 正式放弃这些权利,Google 仍可获得这些权利或救济。
+
+14.3 如果任何拥有管辖权的法院将本许可协议的任何条款裁定为无效,则该条款将从本许可协议中删除,而不会影响本许可协议的其余部分。本许可协议的其余条款将继续有效且可强制执行。
+
+14.4 您承认并同意,Google 集团旗下的每一家公司都将成为本许可协议的第三方受益人,并且此类其他公司将有权直接强制执行和依赖本许可协议中任何授予其利益(或支持其权利)的条款。除此之外,任何其他人员或公司均不得成为本许可协议的第三方受益人。
+
+14.5 出口限制。“Preview”受美国出口法律和法规的制约。您必须遵守适用于“Preview”的所有国内和国际出口法律和法规。这些法律包括目的地、最终用户和最终用途方面的限制。
+
+14.6 未经 Google 事先书面批准,您不得擅自转让或转移本许可协议,未经此类批准而试图进行的任何转让均为无效。未经 Google 事先书面批准,您不得委托您依据本许可协议所应承担的责任或义务。
+
+14.7 本许可协议以及您与 Google 依据本许可协议而建立的关系受加利福尼亚州法律管辖,而无论其是否与其他法律条款冲突。您与 Google 同意服从位于加利福尼亚州圣克拉拉县内法院的专属司法管辖权,以解决本许可协议引起的任何法律事务。尽管有上述规定,您同意仍允许 Google 在任何管辖区域申请禁令救济(或同等类型的紧急法律救济)。
+  </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">我已阅读并同意上述条款和条件</label>
+      </p>
+      <p><a href="" class="button disabled" id="downloadForRealz" onclick="return onDownloadForRealz(this);"></a></p>
+    </div>
+
+
+  </div><!-- end TOS -->
+
+
+  <div id="landing">
+
+<p>
+  本页提供了无线 (OTA) 设备映像的下载链接,并描述了如何手动向设备应用一项 OTA 更新。
+此过程可用于恢复通过 Android Beta 计划接收 OTA 更新并且在安装更新后不能启动的设备。
+
+
+</p>
+
+<h2 id="install-ota">安装 OTA 映像</h2>
+
+<p></p>
+
+<p>将 OTA 软件包安装到设备:</p>
+
+<ol>
+  <li>从下表中下载 OTA 设备映像。</li>
+  <li>将设备重新启动为恢复模式。如需有关将 Nexus 设备设为此模式的更多信息,请参阅<a href="https://support.google.com/nexus/answer/4596836">将您的 Nexus 设备恢复为出厂设置</a>。
+
+
+
+  </li>
+  <li>在设备上,选择 <strong>ADB sideload</strong>。</li>
+  <li>将设备连接到加载了 Android 开发环境并安装了Android 调试桥 (ADB) 工具的计算机。
+</li>
+  <li>运行以下命令:
+    <pre>adb sideload <em>&lt;ota-package&gt;</em></pre>
+  </li>
+</ol>
+
+
+
+<h2 id="ota-images">设备 OTA 映像</h2>
+
+<table>
+  <tr>
+    <th scope="col">设备</th>
+    <th scope="col">下载/校验和</th>
+  </tr>
+
+  <tr id="bullhead">
+    <td>Nexus 5X <br>"bullhead"</td>
+    <td><a href="#top" onclick="onDownload(this)">bullhead-ota-npd35k-b8cfbd80.zip</a><br>
+      MD5:15fe2eba9b01737374196bdf0a792fe9<br>
+      SHA-1:5014b2bba77f9e1a680ac3f90729621c85a14283
+    </td>
+  </tr>
+
+  <tr id="shamu">
+    <td>Nexus 6 <br>"shamu"</td>
+    <td><a href="#top" onclick="onDownload(this)">shamu-ota-npd35k-078e6fa5.zip</a><br>
+      MD5: e8b12f7721c53af9a450f7058928a5fc<br>
+      SHA-1: b7a9b756f84a1d2e482ff9c16749d65f6e51425a
+    </td>
+  </tr>
+
+  <tr id="angler">
+    <td>Nexus 6P <br>"angler"</td>
+    <td><a href="#top" onclick="onDownload(this)">angler-ota-npd35k-88457699.zip</a><br>
+      MD5:3fac09fef759dde26e57cb80b20b6477<br>
+      SHA-1:27d6caa786577d8a38b2da5bf94b33b4524a1a1c
+    </td>
+  </tr>
+
+  <tr id="volantis">
+    <td>Nexus 9 <br>"volantis"</td>
+    <td><a href="#top" onclick="onDownload(this)">volantis-ota-npd35k-51dbae76.zip</a><br>
+      MD5:58312c4a5971818ef5c77a3f446003da<br>
+      SHA-1: aad9005be33d3e2bab480509a6ab74c3c3b9d921
+    </td>
+  </tr>
+
+  <tr id="volantisg">
+    <td>Nexus 9G <br>"volantisg"</td>
+    <td><a href="#top" onclick="onDownload(this)">volantisg-ota-npd35k-834f047f.zip</a><br>
+      MD5:92b7d1fa252f7394e70f957c72d4aac8<br>
+      SHA-1: b6c057c84d90893630e303cbb60530e20ddb8361
+    </td>
+  </tr>
+
+  <tr id="fugu">
+    <td>Nexus Player <br>"fugu"</td>
+    <td><a href="#top" onclick="onDownload(this)">fugu-ota-npd35k-6ac91298.zip</a><br>
+      MD5:1461622ad53ea842b2722fa7b49b8172<br>
+      SHA-1:409c061668ab270774877d7f3eae44fa48d2b931
+    </td>
+  </tr>
+
+  <tr id="ryu">
+    <td>Pixel C <br>"ryu"</td>
+    <td><a href="#top" onclick="onDownload(this)">ryu-ota-npd35k-a0b2347f.zip</a><br>
+      MD5: c60117f3640cc6db12386fd632289c7d<br>
+      SHA-1:87349c767c69efb4172c90ce1d88cf578c3d28b3
+    </td>
+  </tr>
+
+  <tr id="seed">
+    <td>General Mobile 4G (Android One) <br>"seed"</td>
+    <td><a href="#top" onclick="onDownload(this)">seed_l8150-ota-npd35k-09897a1d.zip</a><br>
+      MD5: a55cf94f7cce0393ec6c0b35041766b7<br>
+      SHA-1:6f33742290eb46f2561891f38ca2e754b4e50c6a
+    </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/zh-cn/preview/download.jd b/docs/html-intl/intl/zh-cn/preview/download.jd
index fcee4174..0aa115f 100644
--- a/docs/html-intl/intl/zh-cn/preview/download.jd
+++ b/docs/html-intl/intl/zh-cn/preview/download.jd
@@ -1,5 +1,5 @@
 page.title=在设备上测试
-meta.tags="Preview", "nexus", "系统映像"
+meta.tags="preview", "nexus","system image"
 page.tags="preview", "androidn"
 page.image=images/cards/card-n-downloads_2x.png
 
@@ -20,13 +20,13 @@
 
 1. 简介
 
-1.1 Android SDK Preview(在本许可协议中简称为“Preview”,具体包括 Android 系统文件、封装 API 以及Preview 库文件(若可用))依据本许可协议的条款授权您使用。本许可协议在您与 Google 之间就您对“Preview”的使用形成具有法律约束力的合约。
+1.1 Android SDK Preview(在本许可协议中简称为“Preview”,具体包括 Android 系统文件、封装 API 以及 Preview 库文件(若可用))依据本许可协议的条款授权您使用。本许可协议在您与 Google 之间就您对“Preview”的使用构成具有法律约束力的合约。
 
-1.2 “Android”是指面向设备的 Android 软件栈,以 Android 开源项目名义提供,项目网址为 http://source.android.com/,其内容会不时更新。
+1.2 “Android”是指以 Android 开源项目(项目网址为 http://source.android.com/,其内容会不时更新)名义提供、面向设备的 Android 软件栈。
 
 1.3 “Android 兼容”是指 (i) 符合与 Android 兼容性定义文档(可在 Android 兼容性网站 http://source.android.com/compatibility 上找到,并可能会不时更新)标准的任何 Android 实现;并 (ii) 成功通过 Android 兼容性测试套件 (CTS) 的测试。
 
-1.4 “Google”是指 Google Inc.,是一家特拉华州公司,主要营业地位于:1600 Amphitheatre Parkway, Mountain View, CA 94043, United States。
+1.4“Google”是指 Google Inc.,是一家特拉华州公司,主要营业地位于:1600 Amphitheatre Parkway, Mountain View, CA 94043, United States。
 
 2. 接受许可协议
 
@@ -38,7 +38,7 @@
 
 2.4 如果您将在贵公司或组织内部使用“Preview”,则您同意代表您的雇主或其他实体接受本许可协议的约束,并且您表示并保证您拥有完全的合法授权令您的雇主或上述实体受本许可协议的约束。如果您不具备必要的授权,则不得代表您的雇主或其他实体接受本许可协议或使用“Preview”。
 
-3. Google 的 Preview 许可
+3. Google “Preview”许可
 
 3.1 Google 依据本许可协议的条款授予您有限的、全球性、免版税、不可转让、非独占性且不可次级许可的“Preview”使用许可,其用途仅限针对 Android 的兼容实现来开发应用。
 
@@ -64,7 +64,7 @@
 
 4.3 您同意,如果您使用“Preview”开发应用,您将会保护用户的隐私权和合法权利。如果用户向您提供用户名、密码或其他登录信息或个人信息,您必须确保用户知晓这些信息将供您的应用使用,并且您必须为这些用户提供足以满足法律要求的隐私声明和保护。如果您的应用存储由用户提供的个人信息或敏感信息,其存储方式必须安全。如果用户向您提供 Google 帐户信息,您的应用只能在用户允许时出于用户所许可的有限目的使用该信息访问用户的 Google 帐户。
 
-4.4 您同意您不会利用“Preview”从事任何干扰、中断、损坏或以未经授权方式访问 Google 或任何第三方的服务器、网络或其他财产或服务的Activity(包括应用的开发或分发)。
+4.4 您同意您不会利用“Preview”从事任何干扰、中断、损坏或以未经授权方式访问 Google 或任何第三方的服务器、网络或其他财产或服务的 Activity(包括应用的开发或分发)。
 
 4.5 您同意您对通过 Android 和/或 Android 应用创建、传输或显示的任何数据、内容或资源以及您的行为所导致的后果(包括 Google 可能遭受的任何损失或损害)负全责(Google 在上述方面对您或任何第三方不承担任何责任)。
 
@@ -86,9 +86,9 @@
 
 7.1 如果您使用“Preview”运行由第三方开发或访问由第三方提供的数据、内容或资源的应用,您同意 Google 对这些应用、数据、内容或资源不承担任何责任。您理解,您通过上述第三方应用可能访问到的所有数据、内容或资源由其提供者负全责,Google 对您因使用或访问其中任何第三方应用、数据、内容或资源而遭受的任何损失或损害不承担任何责任。
 
-7.2 您应知晓,通过此类第三方应用提供给您的数据、内容和资源可能受提供商(或代表他们的其他人员或公司)拥有的知识产权的保护。除非相关所有者明确给予许可,否则您不得修改、出租、租赁、借出、出售、分发这些数据、内容或资源(全部或部分),或以其为基础创建衍生品。
+7.2 您应知晓,通过此类第三方应用提供给您的数据、内容和资源可能受提供商(或代表他们的其他人员或公司)拥有的知识产权的保护。除非相关所有者明确给予许可,否则您不得修改、出租、租赁、借出、出售、分发这些数据、内容或资源(的全部或部分),或以其为基础创建衍生品。
 
-7.3 您确认您对上述第三方应用、数据、内容或资源的使用可能受到您与相关第三方之间单独订立的条款的制约。
+7.3 您承认您对上述第三方应用、数据、内容或资源的使用可能受到您与相关第三方之间单独订立的条款的制约。
 
 8. 使用 Google API
 
@@ -112,7 +112,7 @@
 
 9.5 在本许可协议终止时,本许可协议中向您授予的许可将终止,您应立即完全停止使用“Preview”,并且第 10、11、12 和 14 节的条款将无限期继续存在。
 
-10. 免责声明
+10.免责声明
 
 10.1 您明确理解并同意,您使用“Preview”的风险将由您自行承担,并且“Preview”是按“原样”和“现状”提供,Google 不提供任何类型的担保。
 
@@ -214,14 +214,14 @@
 </p>
 
 <p>
-  如果您可以访问受支持的设备,则可通过以下方式之一将其更新到 Developer  Preview 里程碑构建版本:
+  如果您可以访问受支持的设备,则可通过以下方式之一将其更新到 Developer Preview 里程碑构建版本:
 
 </p>
 
 <ul>
-  <li>通过
-<a href="https://g.co/androidbeta">Android Beta 计划</a><strong>注册设备以获取自动 OTA 系统更新</strong>。注册后,您的设备即会收到 N Developer Preview 中所有里程碑构建版本的定期无线 (OTA) 更新。建议采用此方法,因为它允许您通过各种版本的 N Developer Preview 从您当前的环境实现无缝转换。
-
+  <li><strong>通过Android Beta 计划</strong>注册设备以获取自动<a href="https://g.co/androidbeta"> OTA 系统更新</a>。
+注册后,您的设备即会收到 N Developer Preview 中所有里程碑构建版本的定期 OTA 更新。
+建议采用此方法,因为它允许您通过各种版本的 N Developer Preview 从您当前的环境实现无缝转换。
 
 </li>
   <li><strong>下载 Developer Preview 系统映像并刷写设备</strong>。系统不会为手动刷写的设备自动提供 OTA 更新,不过您可以将这些设备注册参加 Android Beta 计划以获取 OTA 更新。
@@ -232,18 +232,18 @@
 <h3 id="ota">注册设备以获取自动 OTA 更新</h3>
 
 <p>
-  如果您可以访问受支持的设备(参见“下载”表格中的列表),则可以通过将该设备注册参加
-<a href="https://g.co/androidbeta">Android Beta 计划</a>,获取 Android Preview 的无线更新。系统将自动下载这些更新并如正式系统更新一样更新您的设备。
+  如果您可以访问受支持的设备(参见“下载”表格中的列表),则可以通过将该设备注册参加 <a href="https://g.co/androidbeta">Android Beta 计划</a>,获取 Android Preview 的无线更新。系统将自动下载这些更新并如正式系统更新一样更新您的设备。
+
 
 
 
 </p>
 
 <p>
-  您可以随时取消注册设备。取消注册后,设备将收到其可用的最新生产版本的 Android 系统(例如 Android 6.0 Marshmallow)的 OTA 更新。该更新要求完全重置设备,因此设备上的用户数据将被删除。在取消注册设备之前,务必先<strong>备份重要数据</strong>。
+  您可以随时取消注册设备。取消注册后,设备将收到其可用的最新生产版本的 Android 系统(例如 Android 6.0 Marshmallow)的 OTA 更新。
 
-
-
+该更新要求完全重置设备,因此设备上的用户数据将被删除。
+在取消注册设备之前,务必先<strong>备份重要数据</strong>。
 
 </p>
 
@@ -252,19 +252,19 @@
 <a href="https://g.co/androidbeta">Android Beta 计划</a>网站。
 </p>
 
-<p class="note"><strong>注:</strong>取消注册要求完全重置设备。务必先备份重要数据。
-
+<p class="note"><strong>注:</strong>
+  取消注册要求完全重置设备。务必先备份重要数据。
 
 </p>
 
 <h3 id="flash">手动刷写设备</h3>
 
 <p>
-  您可以随时下载最新的 Developer Preview 系统映像并将其手动刷入设备。请参阅下表下载适合您的测试设备的系统映像。如果您需要精确控制测试环境,或者需要经常重新安装系统,比如为了进行自动测试而重新安装,则手动刷写设备比较有用。
+  您可以随时下载最新的 Developer Preview 系统映像并将其手动刷入设备。
+请参阅下表下载适合您的测试设备的系统映像。
+如果您需要精确控制测试环境,或者需要经常重新安装系统,比如为了进行自动测试而重新安装,则手动刷写设备比较有用。
 
 
-
- 
 </p>
 
 <!-- You can flash by ota or system image --><p>
@@ -289,7 +289,7 @@
   如果在手动刷写设备后您确定需要获取 OTA 更新,则只需将设备注册参加
 <a href="https://g.co/androidbeta">Android Beta 计划</a>即可。您可以随时注册设备以通过无线下载方式接收下一次的 Preview 更新。
 
- 
+
 </p>
 
 <table>
@@ -300,64 +300,72 @@
 
   <tr id="bullhead">
     <td>Nexus 5X <br>"bullhead"</td>
-    <td><a href="#top" onclick="onDownload(this)">bullhead-npc56p-preview-6c877a3d.tgz</a><br>
-      MD5: b5cf874021023b398f5b983b24913f5d<br>
-      SHA-1: 6c877a3d9fae7ec8a1678448e325b77b7a7b143a
+    <td><a href="#top" onclick="onDownload(this)">bullhead-npd35k-factory-5ba40535.tgz</a><br>
+      MD5: b6c5d79a21815ee21db41822dcf61e9f<br>
+      SHA-1:5ba4053577007d15c96472206e3a79bc80ab194c
     </td>
   </tr>
 
   <tr id="shamu">
     <td>Nexus 6 <br>"shamu"</td>
-    <td><a href="#top" onclick="onDownload(this)">shamu-npc56p-preview-54b13c67.tgz</a><br>
-      MD5: af183638cf34e0eb944a1957d7696f60<br>
-      SHA-1: 54b13c6703d369cc79a8fd8728fe4103c6343973
+    <td><a href="#top" onclick="onDownload(this)">shamu-npd35k-factory-a33bf20c.tgz</a><br>
+      MD5: e1cf9c57cfb11bebe7f1f5bfbf05d7ab<br>
+      SHA-1: a33bf20c719206bcf08d1edd8da6c0ff9d50f69c
     </td>
   </tr>
 
   <tr id="angler">
     <td>Nexus 6P <br>"angler"</td>
-    <td><a href="#top" onclick="onDownload(this)">angler-npc56p-preview-85ffc1b1.tgz</a><br>
-      MD5: bc4934ea7bd325753eee1606d3725a24<br>
-      SHA-1: 85ffc1b1be402b1b96f9ba10929e86bba6c6c588
+    <td><a href="#top" onclick="onDownload(this)">angler-npd35k-factory-81c341d5.tgz</a><br>
+      MD5: e93de7949433339856124c3729c15ebb<br>
+      SHA-1:81c341d57ef2cd139569b055d5d59e9e592a7abd
     </td>
   </tr>
 
   <tr id="volantis">
     <td>Nexus 9 <br>"volantis"</td>
-    <td><a href="#top" onclick="onDownload(this)">volantis-npc56p-preview-0e8ec8ef.tgz</a><br>
-      MD5: c901334c6158351e945f188167ae56f4<br>
-      SHA-1: 0e8ec8ef98c7a8d4f58d15f90afc5176303efca4
+    <td><a href="#top" onclick="onDownload(this)">volantis-npd35k-factory-2b50e19d.tgz</a><br>
+      MD5:565be87ebb2d5937e2abe1a42645864b<br>
+      SHA-1:2b50e19dae2667b27f911e3c61ed64860caf43e1
     </td>
   </tr>
 
   <tr id="volantisg">
     <td>Nexus 9G <br>"volantisg"</td>
-    <td><a href="#top" onclick="onDownload(this)">volantisg-npc56p-preview-1bafdbfb.tgz</a><br>
-      MD5: 7bb95bebc478d7257cccb4652899d1b4<br>
-      SHA-1: 1bafdbfb502e979a9fe4c257a379c4c7af8a3ae6
+    <td><a href="#top" onclick="onDownload(this)">volantisg-npd35k-factory-2e89ebe6.tgz</a><br>
+      MD5: a8464e15c6683fe2afa378a63e205fda<br>
+      SHA-1:2e89ebe67a46b2f3beb050746c13341cd11fa678
     </td>
   </tr>
 
   <tr id="fugu">
     <td>Nexus Player <br>"fugu"</td>
-    <td><a href="#top" onclick="onDownload(this)">fugu-npc56r-preview-7027d5b6.tgz</a><br>
-      MD5: f5d3d8f75836ccfe4c70e8162e498be4<br>
-      SHA-1: 7027d5b662bceda4c80a91a0a14ef0e5a7ba795b
+    <td><a href="#top" onclick="onDownload(this)">fugu-npd35k-factory-1de74874.tgz</a><br>
+      MD5: c0dbb7db671f61b2785da5001cedefcb<br>
+      SHA-1:1de74874f8d83e14d642f13b5a2130fc2aa55873
     </td>
   </tr>
 
   <tr id="ryu">
     <td>Pixel C <br>"ryu"</td>
-    <td><a href="#top" onclick="onDownload(this)">ryu-npc56p-preview-335a86a4.tgz</a><br>
-      MD5: 4e21fb183bbbf467bee91598d587fd2e<br>
-      SHA-1: 335a86a435ee51f18464de343ad2e071c38f0e92
+    <td><a href="#top" onclick="onDownload(this)">ryu-npd35k-factory-b4eed85d.tgz</a><br>
+      MD5: bdcb6f770e753668b5fadff2a6678e0d<br>
+      SHA-1: b4eed85de0d42c200348a8629084f78e24f72ac2
     </td>
   </tr>
+
   <tr id="seed">
     <td>General Mobile 4G (Android One) <br>"seed"</td>
-    <td><a href="#top" onclick="onDownload(this)">seed_l8150-npc56p-preview-82472ebc.tgz</a><br>
-      MD5: 983e083bc7cd0c4a2d39d6ebaa20202a<br>
-      SHA-1: 82472ebc9a6054a103f53cb400a1351913c95127
+    <td><a href="#top" onclick="onDownload(this)">seed_l8150-npd35k-factory-5ab1212b.tgz</a><br>
+      MD5:7d34a9774fdd6e025d485ce6cfc23c4c<br>
+      SHA-1:5ab1212bc9417269d391aacf1e672fff24b4ecc5
+    </td>
+  </tr>
+
+  <tr id="xperia">
+    <td>Sony Xperia Z3 <br> (D6603 和 D6653)</td>
+    <td>下载:<a class="external-link" href="http://support.sonymobile.com/xperiaz3/tools/xperia-companion/">Xperia Companion</a><br>
+      如需了解详细信息,请参阅<a class="external-link" href="https://developer.sony.com/develop/smartphones-and-tablets/android-n-developer-preview/">为 Xperia Z3 尝试 Android N Developer Preview</a>。
     </td>
   </tr>
 
@@ -385,17 +393,17 @@
  计划</a>,则只需从计划中取消注册该设备即可,与是何种设备无关。
 
   <p>
-    取消注册后,设备将收到其可用的最新生产版本的 Android 系统(例如 Android 6.0 Marshmallow)的 OTA 更新。该更新要求完全重置设备,因此设备上的用户数据将被删除。在取消注册设备之前,务必先<strong>备份重要数据</strong>。
+    取消注册后,设备将收到其可用的最新生产版本的 Android 系统(例如 Android 6.0 Marshmallow)的 OTA 更新。
 
-
-
+    该更新要求完全重置设备,因此设备上的用户数据将被删除。
+在取消注册设备之前,务必先<strong>备份重要数据</strong>。
 
   </p>
   </li>
 </ul>
 
-<p class="note"><strong>注:</strong>如果要在计划结束之前卸载 Developer Preview 系统映像,则需要完全重置设备并删除设备上的所有用户数据。
-
+<p class="note"><strong>注:</strong>
+  如果要在计划结束之前卸载 Developer Preview 系统映像,则需要完全重置设备并删除设备上的所有用户数据。
 
 
 </p>
@@ -413,13 +421,13 @@
 
 <ol>
   <li>在 Android Studio 中,打开“Settings”对话框
-(Windows/Linux:<strong>File &gt; Settings</strong>;Mac:<strong>Android Studio &gt; Preferences</strong>)。在左侧面板中,选择 <strong>Appearance &amp; Behavior &gt;
-  System Settings &gt; Android SDK</strong>。
+(Windows/Linux:<strong>File &gt; Settings</strong>;或 Mac:<strong>Android Studio &gt; Preferences</strong>)。
+在左侧面板中,选择 <strong>Appearance &amp; Behavior &gt; System Settings &gt; Android SDK</strong>。
 
 
 
-  <li>点击 <strong>SDK Platforms</strong> 选项卡,然后选中
- <strong>Android N Preview</strong> 复选框。</li>
+  <li>点击 <strong>SDK Platforms</strong> 选项卡,然后选中 <strong>Android N Preview</strong> 复选框。
+</li>
 
   <li>点击 <strong>SDK Tools</strong> 选项卡,然后选中
  <strong>Android SDK Build Tools</strong>、<strong>Android SDK
@@ -457,17 +465,11 @@
 <p>现在,您可以使用 Android N Preview AVD 启动 Android 模拟器。</p>
 
 <p>
-要获得 Android 模拟器最佳运行体验,请安装 Android Studio 2.1 Preview,该版本支持 <a href="http://tools.android.com/tech-docs/emulator">Android Emulator 2.0 Beta</a>,与
+要获得 Android 模拟器最佳运行体验,请确保您使用的是 Android Studio 2.1 或更高版本,该版本支持 <a href="http://tools.android.com/tech-docs/emulator">Android Emulator 2.0</a>,与
 Android Studio 1.5 中的模拟器相比,其运行速度快得多。
 
 </p>
 
-<p class="note"><strong>注:</strong>如果您当前使用的是 Android Studio 2.0 Beta,则有一个已知问题会阻止您使用 N Preview 系统映像创建 AVD,此时您需要使用 Android Studio 2.1 Preview 创建 AVD。
-
-
-
-</p>
-
 <p>如需了解有关创建虚拟设备的详细信息,请参阅<a href="{@docRoot}tools/devices/index.html">管理虚拟设备</a>。
 </p>
 
diff --git a/docs/html-intl/intl/zh-cn/preview/features/afw.jd b/docs/html-intl/intl/zh-cn/preview/features/afw.jd
new file mode 100644
index 0000000..04e6802
--- /dev/null
+++ b/docs/html-intl/intl/zh-cn/preview/features/afw.jd
@@ -0,0 +1,556 @@
+page.title=Android for Work 更新
+page.metaDescription=Android N 中的新 Android for Work API 和功能
+page.keywords="android for work", "android N", "enterprise", "QR code"
+
+@jd:body
+
+
+
+
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>本文内容</h2>
+      <ol>
+        <li><a href="#qr">QR 码配置</a>
+</li>
+
+        <li><a href="#sec-challenge">工作资料安全性挑战</a>
+</li>
+
+        <li><a href="#suspend">停用应用访问</a>
+</li>
+
+        <li><a href="#toggle-work">切换工作模式</a>
+</li>
+
+        <li><a href="#always-on-vpn">Always-On VPN</a>
+</li>
+
+        <li><a href="#contacts">联系人与工作资料集成</a>
+</li>
+
+        <li><a href="#remote-reboot">远程重新启动</a>
+</li>
+
+        <li><a href="#disable-roaming">停用数据网络漫游</a>
+</li>
+
+        <li><a href="#process-logging">企业进程记录</a>
+</li>
+
+        <li><a href="#bug-reports">远程错误报告</a>
+</li>
+
+        <li><a href="#remove-cert">移除客户端证书</a>
+</li>
+
+        <li><a href="#grant-cert-on-install">允许访问安装设备上的客户端证书</a>
+</li>
+
+        <li><a href="#ui-policy">系统 UI 策略透明度</a>
+</li>
+
+        <li><a href="#restrictions-mgmt">应用限制管理增强</a>
+</li>
+
+        <li><a href="#location-off">位置关闭开关</a>
+</li>
+
+        <li><a href="#custom-provisioning">自定义配置</a>
+</li>
+
+        <li><a href="#multi-wifi-ca">多 Wi-Fi CA 证书</a>
+</li>
+
+        <li><a href="#custom-lock">自定义锁屏消息</a>
+</li>
+
+        <li><a href="#work-connectionservice">工作资料 ConnectionService</a>
+</li>
+
+        <li><a href="#lock-wp">锁定壁纸</a>
+</li>
+
+        <li><a href="#lock-user-icon">锁定壁纸</a>
+</li>
+
+        <li><a href="#health-monitoring">设备运行状况监测</a>
+</li>
+
+      </ol>
+
+    <h2>另请参阅</h2>
+    <ul>
+      <li><a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK 参考</a>
+</li>
+    </ul>
+  </div>
+</div>
+
+<p>本文介绍了 Android N 中提供的新 Android for Work 功能。
+</p>
+
+<h2 id="qr">QR 码配置</h2>
+
+<p>
+  Android for Work 现在支持使用 QR 码来配置企业负责的设备。
+安装向导现在允许您通过扫描 QR 码来配置设备。
+
+</p>
+
+<h2 id="sec-challenge">工作资料安全性挑战</h2>
+
+<p>
+  个人资料所有者可以要求用户为在工作资料中运行的应用指定安全性挑战。
+系统会在用户尝试打开任何工作应用时显示安全性挑战。
+如果用户成功完成安全性挑战,系统可解锁工作资料并将其解密(如果需要)。
+
+
+</p>
+
+<p>
+  如果个人资料所有者发送一项 {@link
+  android.app.admin.DevicePolicyManager#ACTION_SET_NEW_PASSWORD} Intent,系统会提示用户设置一项安全性挑战。
+个人资料所有者也可以发送一项 <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> Intent 来提示用户设置设备锁定。
+
+
+</p>
+
+<p>
+  个人资料所有者可以选择为工作挑战设置不同于其他设备密码策略的密码策略。
+例如,设备挑战响应的最小长度可以与其它密码要求的长度不同。
+
+个人资料所有者使用常见的 {@link android.app.admin.DevicePolicyManager} 方法来设置挑战策略,如 {@link
+  android.app.admin.DevicePolicyManager#setPasswordQuality
+  setPasswordQuality()} 和 {@link
+  android.app.admin.DevicePolicyManager#setPasswordMinimumLength
+  setPasswordMinimumLength()}。
+
+个人资料所有者还能通过使用由新的 <code>DevicePolicyManager.getParentProfileInstance()</code> 方法返回的 {@link android.app.admin.DevicePolicyManager} 实例来设置设备锁定, 
+
+
+此外,个人资料所有者可以使用 {@link android.app.admin.DevicePolicyManager} 类的新 <code>setOrganizationColor()</code> 和 <code>setOrganizationName()</code> 方法来自定义工作挑战的凭据屏幕。
+
+
+
+</p>
+
+<p>
+  有关新方法和常量的详细信息,请参阅 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK 参考</a> 中的 <code>DevicePolicyManager</code> 参考页面。
+
+</p>
+
+<h2 id="suspend">停用应用访问</h2>
+
+<p>
+  设备所有者和个人资料所有者可以通过调用新 <code>DevicePolicyManager.setPackagesSuspended()</code> 方法来临时暂停软件包访问。
+
+所有者可以用同样的方法来重新启用这些软件包。
+</p>
+
+<p>
+  在软件包被暂停期间,它不能启动 Activity ,到软件包的通知会被阻止,而<a href="{@docRoot}guide/components/recents.html">概览屏幕</a>中的应用条目会被隐藏。
+
+  暂停的软件包不会显示在<a href="{@docRoot}guide/components/recents.html">概览屏幕</a>中,并且它们不能显示对话(包括提醒和 Snackbar),
+也不能播放音频或振动设备。
+
+</p>
+
+<p>
+  启动器应对暂停的应用应用一个独特的 UI,以指示应用目前不可用;例如它们可以将应用图标显示为灰色。
+
+启动器可以通过调用新 <code>DevicePolicyManager.getPackageSuspended()</code> 方法来确定应用是否被暂停。
+
+</p>
+
+<h2 id="toggle-work">切换工作模式</h2>
+
+<p>
+  在双个人资料设备上,用户可以打开或关闭工作模式。在工作模式关闭时,托管个人资料会被暂时关闭。
+工作资料应用、后台同步和通知都会被停用,包括个人资料所有者应用。
+
+在工作资料被停用时,系统会显示一个持久的状态图标,以提醒用户他们将无法启动工作应用。
+
+系统启动器会指示工作应用和小工具都将无法访问。
+
+</p>
+
+<h2 id="always-on-vpn">Always-On VPN</h2>
+
+<p>
+  设备所有者和个人资料所有者可以要求工作应用始终通过指定的 VPN 连接到网络。
+如果所有者设置了此要求,设备会在启动时自动开始 VPN。
+
+</p>
+
+<p>
+  所有者可以通过调用新 <code>DevicePolicyManager.setAlwaysOnVpnPackage()</code> 方法来要求使用 VPN。
+通过调用新 <code>DevicePolicyManager.GetAlwaysOnVpnPackage()</code> 方法来确定所有者是否设置了 VPN 要求。
+
+
+</p>
+
+<p>
+  由于 VPN 服务无需应用交互即可由系统直接绑定,因此,VPN 客户端必须针对 Always on VPN 处理新的入口点。
+像以前一样,您可以通过使用与操作 {@link android.net.VpnService android.net.VpnService} 匹配的 Intent 过滤器查找活动的服务。
+
+
+</p>
+
+<p>
+  用户可以使用 <strong>Settings &gt; More &gt; VPN</strong> 屏幕来手动设置实现 {@link
+  android.net.VpnService} 的 Always on VPN 客户端。
+
+</p>
+
+<h2 id="contacts">联系人与工作资料集成</h2>
+
+<p>
+  个人资料所有者可以允许主用户对工作联系人进行本地搜索和目录查找。
+例如,用户可以从他们的个人拨号器或联系人应用访问个人和工作目录联系人(如果他们的个人资料管理员允许)。
+
+
+</p>
+
+<p>
+  利用联系人提供程序的开发者可以使用企业联系人 API 从主用户访问工作资料目录条目(如果策略允许):
+
+
+</p>
+
+<ul>
+  <li><code>ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Phone.ENTERPRISE_CONTENT_FILTER_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Email.ENTERPRISE_CONTENT_FILTER_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Callable.ENTERPRISE_CONTENT_FILTER_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Directory.ENTERPRISE_CONTENT_URI</code>
+  </li>
+
+  <li><code>ContactsContract.Directory.isEntepriseDirectoryId()</code>
+  </li>
+</ul>
+
+<p>
+  个人资料所有者可以使用以下新方法来控制主用户的工作联系人可见性:
+
+</p>
+
+<ul>
+  <li>
+    <code>DevicePolicyManager.setCrossProfileContactsSearchDisabled()</code>
+  </li>
+
+  <li>
+    <code>DevicePolicyManager.getCrossProfileContactsSearchDisabled()</code>
+  </li>
+</ul>
+
+<h2 id="remote-reboot">远程重新启动</h2>
+
+<p>
+  设备所有者可以远程重新启动设备。有些情况下,部署在公共场所的封装内设备会阻止访问电源按钮。
+如果设备需要重新启动,管理员可以使用新 <code>DevicePolicyManager.reboot()</code> 方法来进行此操作。
+
+
+</p>
+
+<h2 id="disable-roaming">停用数据网络漫游</h2>
+
+<p>
+  设备所有者可以使用新的 {@link
+  android.os.UserManager} 用户限制 <code>DISALLOW_DATA_ROAMING</code> 来停用数据网络漫游。
+</p>
+
+<h2 id="process-logging">企业进程记录</h2>
+
+<p>
+  设备所有者可以通过远程跟踪设备活动来识别可疑活动 ,包括应用启动、ADB Activity 和屏幕解锁。
+进程记录不要求用户同意。
+若要检索记录,设备所有者可以使用 <code>DevicePolicyManager.setSecurityLoggingEnabled()</code> 来启用设备记录。
+
+</p>
+
+<p>
+  API 更改包括:
+</p>
+
+<ul>
+
+  <li>
+    新类 <code>android.app.admin.SecurityLog</code> 和它的方法 
+
+  </li>
+
+  <li>
+    <code>void DevicePolicyManager.setSecurityLoggingEnabled()</code>
+  </li>
+
+  <li>
+    <code>boolean DevicePolicyManager.isSecurityLoggingEnabled()</code>
+  </li>
+
+  <li>
+    <code>List&lt;SecurityEvent&gt;
+      DevicePolicyManager.retrieveSecurityLogs()</code>
+  </li>
+
+  <li>
+    <code>List&lt;SecurityEvent&gt;
+      DevicePolicyManager.retrievePreRebootSecurityLogs()</code>
+  </li>
+
+  <li>
+    <code>void DeviceAdminReceiver.onSecurityLogsAvailable()</code>
+  </li>
+</ul>
+
+<h2 id="bug-reports">远程错误报告</h2>
+
+<p>
+  设备所有者可以远程触发和检索包含设备状态转储文件的错误报告,这允许对已知事故或受损害的设备进行取证调查。
+
+鉴于错误报告的详细性质,需要经过用户同意。
+
+</p>
+
+<p>
+  Android N 包括以下 API 添加来支持此功能。如需详细信息,请参阅 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK 参考</a>。
+
+
+</p>
+
+<ul>
+  <li>
+    <code>DevicePolicyManager.requestBugreport()</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.onBugreportFailed()</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.onBugreportShared()</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.onBugreportSharingDeclined()</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING</code>
+  </li>
+
+  <li>
+    <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</code>
+  </li>
+</ul>
+
+<h2 id="remove-cert">移除客户端证书</h2>
+
+<p>
+  个人资料所有者和设备所有者现在可以通过调用新方法 <code>DevicePolicyManager.removeKeyPair()</code> 来移除通过 {@link android.app.admin.DevicePolicyManager#installKeyPair
+  installKeyPair()} 安装的客户端证书。
+
+
+</p>
+
+<h2 id="grant-cert-on-install">允许访问安装设备上的客户端证书
+</h2>
+
+<p>
+  如果个人资料所有者或设备所有者授予第三方应用管理证书的权限,应用便可授予自身访问其所安装证书的权限,无需所有者进行任何干预。
+
+
+</p>
+
+<p>
+  用于管理证书的现有 API 经过扩展,现包括:
+</p>
+
+<ul>
+  <li><code>DevicePolicyManager.installKeyPair()</code>
+  </li>
+</ul>
+
+<h2 id="ui-policy">系统 UI 策略透明度</h2>
+
+<p>
+  影响用户体验或限制用户设置的策略是向用户完全公开的,个人资料所有者和设备所有者可以将策略归于他们公司的 IT 部门。
+
+除了“Settings”中一贯的“Action not allowed”消息之外,IT 管理员可以通过以下新 {@link android.app.admin.DevicePolicyManager} 方法在设备设置中设置组织特定的支持消息:
+
+
+
+</p>
+
+<ul>
+  <li>
+    <code>DevicePolicyManager.setShortSupportMessage()</code>
+  </li>
+
+  <li>
+    <code>DevicePolicyManager.setLongSupportMessage()</code>
+  </li>
+</ul>
+
+<h2 id="restrictions-mgmt">应用限制管理增强</h2>
+
+<p>
+  设备或个人资料所有者可以通过新 <code>DevicePolicyManager.setApplicationRestrictionsManagingPackage()</code> 方法启用另一项应用,以管理应用限制。
+
+
+提名的应用可以通过调用 <code>DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage()</code> 来检查是否已被授予此权限。
+
+
+</p>
+
+<p>
+  提名管理应用限制的应用可以为该用户或个人资料内的任何软件包调用 {@link
+  android.app.admin.DevicePolicyManager#setApplicationRestrictions
+  setApplicationRestrictions()} 和 {@link
+  android.app.admin.DevicePolicyManager#getApplicationRestrictions
+  getApplicationRestrictions()}。
+</p>
+
+<h2 id="location-off">位置关闭开关</h2>
+
+<p>
+  用户可以停用工作应用的位置权限,同时仍可继续在个人应用中访问位置信息。
+Location Settings 中的一个单独的位置访问开关允许用户拒绝对工作资料内运行的应用的位置更新或最后位置查询。
+
+
+</p>
+
+<p>
+  顶层位置关闭开关停用对主个人资料和托管个人资料的位置访问权限。
+
+</p>
+
+<h2 id="custom-provisioning">自定义配置</h2>
+
+<p>
+  应用可以用企业颜色和徽标来自定义个人资料所有者和设备所有者配置流程。
+
+</p>
+
+<dl>
+  <dt>
+    <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code>
+  </dt>
+
+  <dd>
+    自定义流程颜色。
+  </dd>
+
+  <dt>
+    <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code>
+  </dt>
+
+  <dd>
+    用企业徽标来自定义流程。
+  </dd>
+</dl>
+
+<h2 id="multi-wifi-ca">多 Wi-Fi CA 证书</h2>
+
+<p>
+  个人资料所有者和设备所有者可以为一项指定的 Wi-Fi 配置设置多个 CA 证书。
+如果企业 Wi-Fi 网络针对有相同 SSID 的独立接入点设置了独立 CA,IT 管理员可以使用新 <code>setCaCertificates()</code> 方法将所有相关 CA 包括在 Wi-Fi 配置中。
+
+
+
+</p>
+
+<p>
+  添加的 API 有:
+</p>
+
+<ul>
+  <li>
+    <code>WifiEnterpriseConfig.setCaCertificates()</code>
+  </li>
+
+  <li>
+    <code>WifiEnterpriseConfig.getCaCertificates()</code>
+  </li>
+</ul>
+
+<h2 id="custom-lock">自定义锁屏消息</h2>
+
+<p>
+  设备所有者可以提供将显示在锁屏上的所有者信息。
+  该信息的优先级高于用户锁屏消息(如果已设置)。
+新 {@link android.app.admin.DevicePolicyManager} 方法有:
+</p>
+
+<ul>
+  <li>
+    <code>setDeviceOwnerLockScreenInfo()</code>
+  </li>
+
+  <li>
+    <code>getDeviceOwnerLockScreenInfo()</code>
+  </li>
+</ul>
+
+<h2 id="work-connectionservice">工作资料 ConnectionService</h2>
+
+<p>
+  个人资料所有者可以为调用后端(调用帐户)指定一项使用工作特定 {@link android.telecom.ConnectionService} 的工作拨号器应用。
+
+工作拨号器会保持仅限工作的调用记录,并仅依赖于工作联系人。
+无论拨号应用是什么,用户都将获得一致的调用内 UI 体验。
+传入到工作调用帐户的工作调用会与传入到个人调用帐户的个人调用相区别。
+
+
+</p>
+
+<p>
+  拨号器应检查新标记 <code>android.telecom.Call.PROPERTY_WORK_CALL</code>,以确定一项调用是否是工作调用。
+
+如果一项调用是工作调用,拨号器应通过添加工作徽章等方式做如此指示。
+
+</p>
+
+<h2 id="lock-wp">锁定壁纸</h2>
+
+<p>
+  新的用户限制 (<code>DISALLOW_SET_WALLPAPER</code>) 可以阻止用户更改他们的壁纸。
+设备所有者或个人资料所有者仍可以改变壁纸,但只能更改他们控制的用户或个人资料的壁纸。
+
+例如,个人资料所有者不能更改父用户的壁纸,但主个人资料的个人资料所有者或设备所有者却可以。
+
+想要更改壁纸的个人资料所有者或设备所有者应检查他们管理的用户或个人资料是否有壁纸 ({@link android.app.WallpaperManager#isWallpaperSupported
+  isWallpaperSupported()}) 以及他们是否被允许更改这个壁纸(通过新方法 <code>WallpaperManager.isWallpaperSettingAllowed()</code>)。
+
+
+
+</p>
+
+<h2 id="lock-user-icon">锁定用户图标</h2>
+
+<p>
+  新的用户限制 (<code>DISALLOW_SET_USER_ICON</code>) 阻止用户更改其用户图标。 
+用户的设备所有者或个人资料所有者仍可以更改图标。
+但是个人资料所有者只能更改其控制的个人资料的用户图标。
+
+</p>
+
+<h2 id="health-monitoring">设备运行状况监测</h2>
+
+<p>
+  设备所有者或个人资料所有者可以使用新的 <code>HardwarePropertiesManager</code> 界面来检索有关设备运行状况的信息,如 CPU 或 GPU 温度和 CPU 使用率。
+
+新的监测界面特别适合监测在远程位置运行的无人值守设备。
+
+
+</p>
diff --git a/docs/html-intl/intl/zh-cn/preview/features/background-optimization.jd b/docs/html-intl/intl/zh-cn/preview/features/background-optimization.jd
index baa9bbb..5392329 100644
--- a/docs/html-intl/intl/zh-cn/preview/features/background-optimization.jd
+++ b/docs/html-intl/intl/zh-cn/preview/features/background-optimization.jd
@@ -36,7 +36,7 @@
       </li>
 
       <li>
-        </a><a href="#new-jobparam">新的 JobParameter 方法
+        <a href="#new-jobparam">新的 JobParameter 方法</a>
       </li>
 
       <li>
@@ -54,15 +54,15 @@
 </p>
 
 <p>
-  为减缓这个问题,N Developer Preview 应用了以下限制:
+  为缓解这个问题,Android N 应用了以下限制:
 
 </p>
 
 <ul>
   <li>面向 Preview 的应用不会收到 {@link
-android.net.ConnectivityManager#CONNECTIVITY_ACTION} 广播,即使它们在清单文件中注册接收这些广播。
-在前台运行的应用如果使用 {@link
-android.content.Context#registerReceiver Context.registerReceiver()} 注册 {@link android.content.BroadcastReceiver},则仍可在主线程上侦听 {@code CONNECTIVITY_CHANGE}。
+android.net.ConnectivityManager#CONNECTIVITY_ACTION} 广播,即使它们在清单中注册接收这些广播。
+运行的应用如果使用 {@link android.content.Context#registerReceiver Context.registerReceiver()} 注册 
+{@link android.content.BroadcastReceiver},则仍可在主线程上侦听 {@code CONNECTIVITY_CHANGE}。
 
 
   </li>
@@ -75,6 +75,8 @@
 </ul>
 
 <p>
+  如果您的应用使用任何 Intent,您仍需要尽快移除它们的依赖关系,以正确适配 Android N 设备。
+
   Android 框架提供多个解决方案来缓解对这些隐式广播的需求。
 例如,{@link android.app.job.JobScheduler}
 和<a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
@@ -98,8 +100,8 @@
 </h2>
 
 <p>
-  面向 N Developer Preview 的应用不会收到 {@link
-android.net.ConnectivityManager#CONNECTIVITY_ACTION} 广播,即使它们在清单文件中注册接收这些广播亦是如此,依赖此广播的流程也不会启动。
+  面向 Android N 的应用不会收到 {@link
+android.net.ConnectivityManager#CONNECTIVITY_ACTION} 广播,即使它们在清单中注册接收这些广播亦是如此,依赖此广播的流程也不会启动。
 
 这可能会给需要侦听网络变化或者需要在设备接入无限流量网络时执行批量网络活动的应用造成问题。
 
@@ -109,7 +111,7 @@
 </p>
 
 <p class="note">
-  <strong>注</strong>:当应用位于前台时,通过
+  <strong>注:</strong>当应用运行时,通过
 {@link android.content.Context#registerReceiver Context.registerReceiver()}
 中注册的 {@link android.content.BroadcastReceiver} 将继续接收这些广播。
 </p>
@@ -145,7 +147,7 @@
 </pre>
 
 <p>
-  当符合作业条件时,应用会收到回调以运行指定 {@code JobService.class} 中的 {@link android.app.job.JobService#onStartJob onStartJob()} 方法。
+  当符合作业条件时,应用会收到回调以运行指定的{@code JobService.class} 中的 {@link android.app.job.JobService#onStartJob onStartJob()} 方法。
 
 如需查看 {@link
   android.app.job.JobScheduler} 实现的更多示例,请参阅 <a href="{@docRoot}samples/JobScheduler/index.html">JobScheduler 示例应用</a>。
@@ -162,9 +164,8 @@
 </h3>
 
 <p>
-  在前台运行的应用仍可以通过注册的 {@link
-android.content.BroadcastReceiver} 侦听 {@code
-CONNECTIVITY_CHANGE}。不过,{@link
+  注册了 {@link android.content.BroadcastReceiver} 的运行的应用仍可侦听 {@code CONNECTIVITY_CHANGE}。
+不过,{@link
 android.net.ConnectivityManager} API 提供了一个更稳健可靠的方法,可以仅在符合指定的网络条件时才请求回调。
 
 </p>
@@ -194,11 +195,11 @@
 </h2>
 
 <p>
-  在 N Developer Preview 中,应用无法发送或接收 {@link
+  在 Android N 中,应用无法发送或接收 {@link
 android.hardware.Camera#ACTION_NEW_PICTURE} 或 {@link
 android.hardware.Camera#ACTION_NEW_VIDEO} 广播。此限制有助于缓解必须唤醒多个应用以处理新图像或视频时对性能和用户体验造成的影响。
 
-N Developer Preview 扩展了 {@link android.app.job.JobInfo} 和 {@link
+Android N 扩展了 {@link android.app.job.JobInfo} 和 {@link
 android.app.job.JobParameters} 以提供备用解决方案。
 
 </p>
@@ -208,7 +209,7 @@
 </h3>
 
 <p>
-  为了针对内容 URI 变化触发作业,N Developer Preview 使用以下方法扩展了 {@link android.app.job.JobInfo} API。
+  为了针对内容 URI 变化触发作业,Android N 使用以下方法扩展了 {@link android.app.job.JobInfo} API:
 
 </p>
 
@@ -266,7 +267,7 @@
           MY_BACKGROUND_JOB,
           new ComponentName(context, MediaContentJob.class));
   builder.addTriggerContentUri(
-          new JobInfo.TriggerContentUri(MEDIA_URI,
+          new JobInfo.TriggerContentUri(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
           JobInfo.TriggerContentUri.FLAG_NOTIFY_FOR_DESCENDANTS));
   js.schedule(builder.build());
 }
@@ -283,7 +284,7 @@
 </h3>
 
 <p>
-  N Developer Preview 也扩展了{@link android.app.job.JobParameters},以允许应用接收有关哪些内容权限和 URI 已触发作业的有用信息:
+  Android N 也扩展了{@link android.app.job.JobParameters},以允许应用接收有关哪些内容权限和 URI 已触发作业的有用信息:
 
 
 </p>
@@ -356,14 +357,14 @@
   优化您的应用以在低内存设备上或在低内存条件下运行,这样可以提升性能和用户体验。
 删除后台服务依赖关系和静态注册的隐式广播接收器可帮助您的应用在此类设备上运行得更好。
 
-尽管 N Developer Preview 采取了措施以减少部分问题,但建议您优化自己的应用,使其能够在完全不使用这些后台进程的情况下运行。
+尽管 Android N 采取了措施以减少部分问题,但建议您优化自己的应用,使其能够在完全不使用这些后台进程的情况下运行。
 
 
 
 </p>
 
 <p>
-  N Developer Preview 推出了一些附加 <a href="{@docRoot}tools/help/adb.html">Android Debug Bridge (ADB)</a> 命令,您可以使用这些命令测试在禁用这些后台进程情况下的应用行为:
+  Android N 推出了一些附加 <a href="{@docRoot}tools/help/adb.html">Android 调试桥 (ADB)</a> 命令,您可以使用这些命令测试在禁用那些后台进程情况下的应用行为:
 
 </p>
 
@@ -374,7 +375,7 @@
 
   <li style="list-style: none; display: inline">
 <pre class="no-pretty-print">
-{@code $ adb shell cmd appops set RUN_IN_BACKGROUND ignore}
+{@code $ adb shell cmd appops set &lt;package&gt; RUN_IN_BACKGROUND ignore}
 </pre>
   </li>
 
@@ -384,7 +385,7 @@
 
   <li style="list-style: none; display: inline">
 <pre class="no-pretty-print">
-{@code $ adb shell cmd appops set RUN_IN_BACKGROUND allow}
+{@code $ adb shell cmd appops set &lt;package&gt; RUN_IN_BACKGROUND allow}
 </pre>
   </li>
-</ul>
\ No newline at end of file
+</ul>
diff --git a/docs/html-intl/intl/zh-cn/preview/features/data-saver.jd b/docs/html-intl/intl/zh-cn/preview/features/data-saver.jd
new file mode 100644
index 0000000..203e8b1
--- /dev/null
+++ b/docs/html-intl/intl/zh-cn/preview/features/data-saver.jd
@@ -0,0 +1,234 @@
+page.title=Data Saver
+metaDescription=用户启用的流量消耗优化。
+page.keywords="android N", "data usage", "metered network"
+page.image=images/cards/card-nyc_2x.jpg
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>
+      本文内容
+    </h2>
+
+    <ol>
+      <li>
+        <a href="#status">检查 Data Saver 首选项</a>
+        <ol>
+          <li>
+            <a href="#request-whitelist">请求白名单权限</a>
+          </li>
+        </ol>
+      </li>
+
+      <li>
+        <a href="#monitor-changes">监控 Data Saver 首选项变更</a>
+
+      </li>
+
+      <li>
+        <a href="#testing">使用 Android 调试桥命令测试</a>
+      </li>
+    </ol>
+  </div>
+</div>
+
+<p>
+  在智能手机的整个生命周期,蜂窝数据计划的成本通常会超出设备本身的成本。
+在 N Developer Preview 中,用户可以在整个设备上启用 Data Saver,以减少流量消耗,无论是在漫游,账单周期即将结束,还是使用少量的预付费数据包。
+
+
+</p>
+
+<p>
+  当用户在 <strong>Settings</strong> 中启用 Data Saver 且设备位于按流量计费的网络上时,系统屏蔽后台流量消耗,同时指示应用在前台尽可能使用较少的数据。
+
+用户可以将特定应用加入白名单以允许后台按流量计费的流量消耗,即使在打开 Data Saver 时也是如此。
+
+
+</p>
+
+<p>
+  N Developer Preview 扩展{@link android.net.ConnectivityManager} API,为应用提供<a href="#status">检索用户的 Data Saver 首选项</a>和<a href="#monitor-changes">监控首选项变更的方式</a>。
+
+
+这被认为是应用检查用户是否启用了 Data Saver 并努力限制前台和后台流量消耗的有效方法。
+
+
+</p>
+
+<h2 id="status">
+  检查 Data Saver 首选项
+</h2>
+
+<p>
+  在 N Developer Preview 中,应用可以使用 {@link
+  android.net.ConnectivityManager} API 来确定正在应用的是哪些流量消耗限制。
+{@code getRestrictBackgroundStatus()}方法返回下列值之一:
+
+</p>
+
+<dl>
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_DISABLED}
+  </dt>
+
+  <dd>
+    Data Saver 已禁用。
+  </dd>
+
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_ENABLED}
+  </dt>
+
+  <dd>
+    用户已为此应用禁用 Data Saver。应用应努力限制前台流量消耗,并妥善处理后台流量消耗限制。
+
+
+  </dd>
+
+  <dt>
+    {@code RESTRICT_BACKGROUND_STATUS_WHITELISTED}
+  </dt>
+
+  <dd>
+    用户已启用 Data Saver,但应用在白名单中。应用应努力限制前台和后台流量消耗。
+
+  </dd>
+</dl>
+
+<p>
+  这被认为是在设备连接到按流量计费的网络时限制流量消耗的有效方法,即使 Data Saver 被禁用或应用在白名单中。
+
+以下示例代码使用 {@link
+  android.net.ConnectivityManager#isActiveNetworkMetered
+  ConnectivityManager.isActiveNetworkMetered()} 和 {@code
+  ConnectivityManager.getRestrictBackgroundStatus()} 来确定应用应使用多少数据:
+
+</p>
+
+<pre>
+ConnectivityManager connMgr = (ConnectivityManager)
+        getSystemService(Context.CONNECTIVITY_SERVICE);
+// Checks if the device is on a metered network
+if (connMgr.isActiveNetworkMetered()) {
+  // Checks user’s Data Saver settings.
+  switch (connMgr.getRestrictBackgroundStatus()) {
+    case RESTRICT_BACKGROUND_STATUS_ENABLED:
+    // Background data usage is blocked for this app. Wherever possible,
+    // the app should also use less data in the foreground.
+
+    case RESTRICT_BACKGROUND_STATUS_WHITELISTED:
+    // The app is whitelisted. Wherever possible,
+    // the app should use less data in the foreground and background.
+
+    case RESTRICT_BACKGROUND_STATUS_DISABLED:
+    // Data Saver is disabled. Since the device is connected to a
+    // metered network, the app should use less data wherever possible.
+  }
+} else {
+  // The device is not on a metered network.
+  // Use data as required to perform syncs, downloads, and updates.
+}
+</pre>
+
+<h3 id="request-whitelist">
+  请求白名单权限
+</h3>
+
+<p>
+  如果您的应用需要使用后台数据,它可以通过发送一项包含您的应用软件包名称的 URI 的 <code>Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS</code> Intent 来请求白名单权限:例如 <code>package:MY_APP_ID</code>。
+
+
+
+
+</p>
+
+<p>
+  发送 Intent 和 URI 将启动 <strong>Settings</strong> 应用,还会显示您的应用的流量消耗设置。
+用户随后可以决定是否启用应用的后台数据。
+在您发送此 Intent 之前,先询问用户是否希望启用 <strong>Settings</strong> 应用,以启用后台流量消耗,这是一种有效的做法。
+
+
+
+</p>
+
+<h2 id="monitor-changes">
+  监控 Data Saver 首选项变更
+</h2>
+
+<p>
+  应用可以通过创建一条 {@link
+android.content.BroadcastReceiver} 以侦听 {@code
+  ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED} 以及使用 {@link android.content.Context#registerReceiver
+  Context.registerReceiver()}动态注册接收器来监控 Data Saver 首选项变更。
+当应用接收到这条广播时,应通过调用 {@code
+  ConnectivityManager.getRestrictBackgroundStatus()} 来<a href="#status">检查新的 Data Saver 首选项是否会影响其权限</a>。
+
+
+</p>
+
+<p class="note">
+  <strong>注:</strong>系统只会向使用 {@link
+  android.content.Context#registerReceiver Context.registerReceiver()} 进行动态注册的应用发送此广播。
+在其清单中注册接收此广播的应用将不会收到它们。
+
+
+</p>
+
+<h2 id="testing">
+  使用 Android 调试桥命令测试
+</h2>
+
+<a href="{@docRoot}tools/help/adb.html">Android 调试桥 (ADB)</a> 提供了多条命令,可用于检查和配置网络权限:
+
+
+
+<dl>
+  <dt>
+    <code>$ adb shell dumpsys netpolicy</code>
+  </dt>
+
+  <dd>
+    生成包括当前全局后台网络限制设置、目前在白名单中的软件包 UID 以及其他已知软件包的权限的报告。
+
+
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy</code>
+  </dt>
+
+  <dd>
+    显示网络政策管理器 (netpolicy) 命令的完整清单。
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy set restrict-background
+    &lt;boolean&gt;</code>
+  </dt>
+
+  <dd>
+    当分别传递 <code>true</code> 或 <code>false</code> 时,启用或禁用 Data Saver 模式。
+
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy add restrict-background-whitelist
+    &lt;UID&gt;</code>
+  </dt>
+
+  <dd>
+    将指定软件包 UID 加入白名单,以允许后台按流量计费的流量消耗
+。
+  </dd>
+
+  <dt>
+    <code>$ adb shell cmd netpolicy remove restrict-background-whitelist
+    &lt;UID&gt;</code>
+  </dt>
+
+  <dd>
+    从白名单中移除指定软件包 UID,以阻止当 Data Saver 启用时后台按流量计费的流量消耗。
+
+  </dd>
+</dl>
\ No newline at end of file
diff --git a/docs/html-intl/intl/zh-cn/preview/features/direct-boot.jd b/docs/html-intl/intl/zh-cn/preview/features/direct-boot.jd
index 07bab2e..306a7a4 100644
--- a/docs/html-intl/intl/zh-cn/preview/features/direct-boot.jd
+++ b/docs/html-intl/intl/zh-cn/preview/features/direct-boot.jd
@@ -1,5 +1,5 @@
 page.title=直接启动
-page.keywords=preview,sdk,direct boot
+page.keywords=Preview、SDK、直接启动
 page.tags=androidn
 page.image=images/cards/card-nyc_2x.jpg
 
@@ -18,7 +18,7 @@
 </div>
 </div>
 
-<p>当设备已开机但用户尚未解锁设备时,Android N 将在安全的 <i>直接启动</i> 模式下运行。
+<p>当设备已开机但用户尚未解锁设备时,Android N 将在安全的“直接启动”模式下运行。<i></i>
 
 为支持此操作,系统为数据提供两个存储位置:</p>
 
@@ -35,10 +35,10 @@
 </p>
 
 <ul>
-<li>已安排通知的应用,如闹铃应用。
+<li>已安排通知的应用,如闹钟应用。
 </li>
 <li>提供重要用户通知的应用,如短信应用。</li>
-<li>提供辅助工具服务的应用,如 Talkback。</li>
+<li>提供无障碍服务的应用,如 Talkback。</li>
 </ul>
 
 <p>如果您的应用在“直接启动”模式下运行时需要访问数据,则使用设备加密存储。
@@ -57,8 +57,8 @@
 
 <p>应用必须先向系统注册其组件,然后才能在“直接启动”模式下运行或访问设备加密存储。
 
-应用通过将组件标记为
-<i>加密感知</i>在系统中进行注册。若要将您的组件标记为加密感知,请在清单文件中将 <code>android:encryptionAware</code> 属性设为 true。
+应用通过将组件标记为“加密感知”来注册系统。
+<i></i>若要将您的组件标记为加密感知,请在清单中将 <code>android:directBootAware</code> 属性设为 true。
 <p>
 
 <p>当设备重启后,加密感知组件可以注册接收来自系统的 <code>LOCKED_BOOT_COMPLETED</code> 广播消息。
@@ -68,12 +68,12 @@
 </p>
 
 <p>以下代码段展示如何将
-{@link android.content.BroadcastReceiver} 注册为加密感知并在应用清单文件中为 <code>LOCKED_BOOT_COMPLETED</code> 添加 Intent 过滤器:
+{@link android.content.BroadcastReceiver} 注册为加密感知并在应用清单中为 <code>LOCKED_BOOT_COMPLETED</code> 添加 Intent 过滤器:
 </p>
 
 <pre>
-&lt;receiever
-  android:encryptionAware="true" &gt;
+&lt;receiver
+  android:directBootAware="true" &gt;
   ...
   &lt;intent-filter&gt;
     &lt;action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" /&gt;
@@ -87,14 +87,14 @@
 <h2 id="access">访问设备加密存储</h2>
 
 <p>要访问设备加密存储,请通过调用
-<code>Context.createDeviceEncryptedStorageContext()</code> 创建另一个
+<code>Context.createDeviceProtectedStorageContext()</code> 创建另一个
 {@link android.content.Context} 实例。使用此上下文执行的所有存储 API 调用均访问设备加密存储。
 以下示例访问设备加密存储并打开现有应用数据文件:
 
 </p>
 
 <pre>
-Context directBootContext = Context.createDeviceEncryptedStorageContext();
+Context directBootContext = appContext.createDeviceProtectedStorageContext();
 // Access appDataFilename that lives in device encrypted storage
 FileInputStream inStream = directBootContext.openFileInput(appDataFilename);
 // Use inStream to read content...
@@ -126,8 +126,8 @@
 
 <p>如果用户将其设备更新为使用“直接启动”模式,您可能需要将现有数据迁移到设备加密存储。
 使用
-<code>Context.migrateSharedPreferencesFrom()</code> 和
-<code>Context.migrateDatabaseFrom()</code> 在凭据加密存储和设备加密存储之间迁移首选项和数据库数据。
+<code>Context.moveSharedPreferencesFrom()</code> 和
+<code>Context.moveDatabaseFrom()</code> 在凭据加密存储和设备加密存储之间迁移首选项和数据库数据。
 </p>
 
 <p>请运用您的最佳判断来决定从凭据加密存储向设备加密存储迁移哪些数据。
@@ -141,7 +141,7 @@
 <p>使用新的“直接启动”模式测试您的加密感知应用。有两种方式可以启用直接启动模式:
 </p>
 
-<p class="caution"><strong>注意</strong>:启用“直接启动”将擦除设备上的所有用户数据。
+<p class="caution"><strong>注意:</strong>启用“直接启动”将擦除设备上的所有用户数据。
 </p>
 
 <p>在已安装 Android N 的受支持的设备上,通过执行以下操作之一启用“直接启动”:
diff --git a/docs/html-intl/intl/zh-cn/preview/features/icu4j-framework.jd b/docs/html-intl/intl/zh-cn/preview/features/icu4j-framework.jd
index 779ed8d..9a1dfa8 100644
--- a/docs/html-intl/intl/zh-cn/preview/features/icu4j-framework.jd
+++ b/docs/html-intl/intl/zh-cn/preview/features/icu4j-framework.jd
@@ -1,5 +1,4 @@
 page.title=ICU4J Android 框架 API
-page.tags=androidn
 page.image=images/cards/card-nyc_2x.jpg
 
 @jd:body
diff --git a/docs/html-intl/intl/zh-cn/preview/features/multi-window.jd b/docs/html-intl/intl/zh-cn/preview/features/multi-window.jd
index 8bbd4b1..cfcdf6d 100644
--- a/docs/html-intl/intl/zh-cn/preview/features/multi-window.jd
+++ b/docs/html-intl/intl/zh-cn/preview/features/multi-window.jd
@@ -19,16 +19,17 @@
       <ol>
         <li><a class="external-link" href="https://github.com/googlesamples/android-MultiWindowPlayground">多窗口 Playground 示例应用
 </a></li>
+        <li><a class="external-link" href="https://medium.com/google-developers/5-tips-for-preparing-for-multi-window-in-android-n-7bed803dda64">在 Android N 为多窗口做准备的五条建议</a></li>
       </ol>
   </div>
 </div>
 
 <p>
   Android N 添加了对同时显示多个应用窗口的支持。
-在手持设备上,两个应用可以在<em>分屏</em>模式中左右并排或上下并排显示。
-在电视设备上,应用可以使用<em>画中画</em>模式,在用户与另一个应用交互的同时继续播放视频。
+在手持设备上,两个应用可以在“分屏”模式中左右并排或上下并排显示。
+<em></em>在电视设备上,应用可以使用“画中画”模式,在用户与另一个应用交互的同时继续播放视频。
 
-
+<em></em>
 </p>
 
 <p>
@@ -107,7 +108,7 @@
 
 <p>
   在多窗口模式中,在指定时间只有最近与用户交互过的 Activity 为活动状态。
-该 Activity 将被视为<em>顶级</em> Activity。
+该 Activity 将被视为顶级 Activity。<em></em>
   所有其他 Activity 虽然可见,但均处于暂停状态。
   但是,这些已暂停但可见的 Activity 在系统中享有比不可见 Activity 更高的优先级。
 如果用户与其中一个暂停的 Activity 交互,该 Activity 将恢复,而之前的顶级 Activity 将暂停。
@@ -116,12 +117,12 @@
 </p>
 
 <p class="note">
-  <strong>注</strong>:在多窗口模式中,用户仍可以看到处于暂停状态的应用。
+  <strong>注:</strong>在多窗口模式中,用户仍可以看到处于暂停状态的应用。
 应用在暂停状态下可能仍需要继续其操作。
 例如,处于暂停模式但可见的视频播放应用应继续显示视频。
-因此,我们建议播放视频的 Activity <em>不要</em>暂停其 {@link android.app.Activity#onPause onPause()} 处理程序中的视频。
+因此,我们建议播放视频的 Activity 不要暂停其 {@link android.app.Activity#onPause onPause()} 处理程序中的视频。
 
-
+<em></em>
   应暂停 {@link android.app.Activity#onStop
   onStop()} 中的视频,并恢复 {@link android.app.Activity#onStart
   onStart()} 中的视频播放。
@@ -130,7 +131,9 @@
 <p>
   如<a href="{@docRoot}guide/topics/resources/runtime-changes.html">处理运行时变更</a>中所述,用户使用多窗口模式显示应用时,系统将通知 Activity 发生配置变更。
 
-该变更与系统通知应用设备从纵向模式切换到横向模式时的 Activity 生命周期影响基本相同,但设备不仅仅是交换尺寸,而是会变更尺寸。
+这也会发生在当用户调整应用大小,或将应用恢复到全屏模式时。
+
+  该变更与系统通知应用设备从纵向模式切换到横向模式时的 Activity 生命周期影响基本相同,但设备不仅仅是交换尺寸,而是会变更尺寸。
 
 
 如<a href="{@docRoot}guide/topics/resources/runtime-changes.html">处理运行时变更</a>中所述,您的 Activity 可以自行处理配置变更,或允许系统销毁 Activity,并以新的尺寸重新创建该 Activity。
@@ -155,22 +158,24 @@
 您可以在清单文件中设置属性,以控制大小和布局。
 
   根 Activity 的属性设置适用于其任务栈中的所有 Activity。
+例如,如果根 Activity 已 <code>android:resizeableActivity</code> 设定为 true,则任务栈中的所有 Activity 都将可以调整大小。
+
 
 </p>
 
 <p class="note">
-  <strong>注</strong>:如果您使用低于 Android N 版本的 SDK 构建多向应用,则用户在多窗口模式中使用应用时,系统将强制调整应用大小。
+  <strong>注:</strong>如果您使用低于 Android N 版本的 SDK 构建多向应用,则用户在多窗口模式中使用应用时,系统将强制调整应用大小。
 
 系统将显示对话框,提醒用户应用可能会发生异常。
-系统<em>不会</em>调整定向应用的大小;如果用户尝试在多窗口模式下打开定向应用,应用将全屏显示。
+系统不会调整定向应用的大小;如果用户尝试在多窗口模式下打开定向应用,应用将全屏显示。
 
 
-
+<em></em>
 </p>
 
 <h4 id="resizeableActivity">android:resizeableActivity</h4>
 <p>
-  在清单文件的 <code>&lt;activity&gt;</code> 或
+  在清单的 <code>&lt;activity&gt;</code> 或
  <code>&lt;application&gt;</code> 节点中设置该属性,启用或禁用多窗口显示:
 
 </p>
@@ -207,7 +212,7 @@
 <h3 id="layout">布局属性</h3>
 
 <p>
-  对于 Android N,<code>&lt;layout&gt;</code> 清单文件元素支持以下几种属性,这些属性影响 Activity 在多窗口模式中的行为:
+  对于 Android N,<code>&lt;layout&gt;</code> 清单元素支持以下几种属性,这些属性影响 Activity 在多窗口模式中的行为:
 
 
 </p>
@@ -239,7 +244,7 @@
   </dd>
 
   <dt>
-    <code>android:minimalSize</code>
+    <code>android:minimalHeight</code>、<code>android:minimalWidth</code>
   </dt>
 
   <dd>
@@ -261,7 +266,8 @@
     &lt;layout android:defaultHeight="500dp"
           android:defaultWidth="600dp"
           android:gravity="top|end"
-          android:minimalSize="450dp" /&gt;
+          android:minimalHeight="450dp"
+          android:minimalWidth="300dp" /&gt;
 &lt;/activity&gt;
 </pre>
 
@@ -297,11 +303,12 @@
   {@link android.app.Activity} 类中添加了以下新方法,以支持多窗口显示。
 有关各方法的详细信息,请参阅 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">N Preview SDK 参考</a>。
 
+
 </p>
 
 <dl>
   <dt>
-    <code>Activity.inMultiWindow()</code>
+    <code>Activity.isInMultiWindowMode()</code>
   </dt>
 
   <dd>
@@ -309,22 +316,22 @@
   </dd>
 
   <dt>
-    <code>Activity.inPictureInPicture()</code>
+    <code>Activity.isInPictureInPictureMode()</code>
   </dt>
 
   <dd>
     调用该方法以确认 Activity 是否处于画中画模式。
 
     <p class="note">
-      <strong>注</strong>:画中画模式是多窗口模式的特例。
-如果 <code>myActivity.inPictureInPicture()</code> 返回 true,则 <code>myActivity.inMultiWindow()</code> 也返回 true。
+      <strong>注:</strong>画中画模式是多窗口模式的特例。
+如果 <code>myActivity.isInPictureInPictureMode()</code> 返回 true,则 <code>myActivity.isInMultiWindowMode()</code> 也返回 true。
 
 
     </p>
   </dd>
 
   <dt>
-    <code>Activity.onMultiWindowChanged()</code>
+    <code>Activity.onMultiWindowModeChanged()</code>
   </dt>
 
   <dd>
@@ -335,7 +342,7 @@
   </dd>
 
   <dt>
-    <code>Activity.onPictureInPictureChanged()</code>
+    <code>Activity.onPictureInPictureModeChanged()</code>
   </dt>
 
   <dd>
@@ -347,14 +354,14 @@
 </dl>
 
 <p>
-  每个方法还有 {@link android.app.Fragment} 版本,例如 <code>Fragment.inMultiWindow()</code>。
+  每个方法还有 {@link android.app.Fragment} 版本,例如 <code>Fragment.isInMultiWindowMode()</code>。
 
 </p>
 
 <h3 id="entering-pip">进入画中画模式</h3>
 
 <p>
-  如需在画中画模式中启动 Activity,请调用新方法 <code>Activity.enterPictureInPicture()</code>。
+  如需在画中画模式中启动 Activity,请调用新方法 <code>Activity.enterPictureInPictureMode()</code>。
 如果设备不支持画中画模式,则此方法无效。
 如需了解详细信息,请参阅<a href="picture-in-picture.html">画中画</a>文档。
 
@@ -389,7 +396,7 @@
 </p>
 
 <p class="note">
-  <strong>注</strong>:如果您在任务栈中启动 Activity,该 Activity 将替换屏幕上的 Activity,并继承其所有的多窗口属性。
+  <strong>注:</strong>如果您在任务栈中启动 Activity,该 Activity 将替换屏幕上的 Activity,并继承其所有的多窗口属性。
 
 如果要在多窗口模式中以单独的窗口启动新 Activity,则必须在新的任务栈中启动此 Activity。
 
diff --git a/docs/html-intl/intl/zh-cn/preview/features/multilingual-support.jd b/docs/html-intl/intl/zh-cn/preview/features/multilingual-support.jd
index 0446207..248d6a0 100644
--- a/docs/html-intl/intl/zh-cn/preview/features/multilingual-support.jd
+++ b/docs/html-intl/intl/zh-cn/preview/features/multilingual-support.jd
@@ -37,22 +37,26 @@
 <h2 id="preN">解析语言资源所面临的挑战</h2>
 
 <p>在 Android N 之前,Android 并非始终能够成功匹配应用和系统区域设置。
-例如,假设应用的默认语言为“US English”,但它也在 {@code es_ES}
-资源文件中对西班牙字符串进行了本地化。
 </p>
-<p>如果您的 Java 代码引用字符串,那么它将按如下所示解析字符串语言:
-</p>
-<ul>
-<li>如果将设备设为 {@code es_MX} (Spanish-Mexico),Android 将从 {@code es_ES} 资源文件加载字符串。
+
+ <p>例如,假设您遇到了以下情况:</p>
+ <ul>
+ <li>您的应用的默认语言为{@code en_US}“US English”,但它也在 {@code es_ES}资源文件中对西班牙字符串进行了本地化。
+
 </li>
-<li>如果将设备设为 {@code en_AU},Android 则会转而使用 {@code
-en_US}。如果用户选择应用根本不支持的语言(如法语),则系统也会默认显示 {@code en_US}。
-</li>
-</ul>
+ <li> 将设备设置为 {@code es_MX} </li>
+
+<p>当您的 Java 代码引用字符串时,系统会从默认 ({@code en_US}) 资源文件加载字符串,即使应用在 {@code es_ES} 下有本地化的西班牙语资源。
+
+这是因为当系统无法找到精确匹配时,它会继续通过将国家/地区代码从区域设置中剥离来查找资源。
+
+最后,如果未找到匹配,系统会恢复为默认模式,即 {@code en_US}。
+ </p>
 
 
-<p>之所以会产生上述解析问题,是因为系统在无法找到精确匹配项时会将国家/地区代码从区域设置中去掉。
+<p>如果用户选择应用根本不支持的语言(如法语),则系统也会默认显示 {@code en_US}。
 例如:</p>
+
 <p class="table-caption" id="t-resource-res">
 <strong>表 1.</strong> 没有精确区域设置匹配项的资源解析。
 </p>
@@ -187,7 +191,7 @@
 <h2 id="design">设计您的应用以支持附加区域设置</h2>
 <h3>LocaleList API</h3>
 
-<p>Android N 添加了新的 API {@code LocaleList.GetDefault()},从而让应用可以直接查询用户已指定的语言列表。
+<p>Android N 添加了新的 API {@code LocaleList.getDefault()},从而让应用可以直接查询用户已指定的语言列表。
 您可以使用此 API 创建更成熟的应用行为和更优化的内容显示。
 
 例如,搜索可以基于用户的设置以多种语言显示结果。
diff --git a/docs/html-intl/intl/zh-cn/preview/features/notification-updates.jd b/docs/html-intl/intl/zh-cn/preview/features/notification-updates.jd
index 3a84648..900eea6 100644
--- a/docs/html-intl/intl/zh-cn/preview/features/notification-updates.jd
+++ b/docs/html-intl/intl/zh-cn/preview/features/notification-updates.jd
@@ -1,5 +1,5 @@
 page.title=通知
-page.tags=notifications
+page.tags=通知
 helpoutsWidget=true
 page.image=/preview/images/notifications-card.png
 
@@ -11,11 +11,12 @@
 <div id="qv">
 
 <!-- table of contents -->
-<h2>本文内容</h2>
+<h2>本文内容包括</h2>
 <ol>
   <li><a href="#direct">直接回复</a></li>
   <li><a href="#bundle">捆绑通知</a></li>
   <li><a href="#custom">自定义视图</a></li>
+  <li><a href="#style">消息样式</a></li>
 </ol>
 
 </div>
@@ -76,7 +77,7 @@
 
 
 <pre>
-// Key for the string that's delivered in the action's intent
+// 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)
@@ -88,7 +89,7 @@
 
 
 <pre>
-// Create the reply action and add the remote input
+// 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)
@@ -100,8 +101,8 @@
 <li>对通知应用操作并发出通知。
 
 <pre>
-// Build the notification and add the action
-Notification notification =
+// Build the notification and add the action.
+Notification newMessageNotification =
         new Notification.Builder(mContext)
                 .setSmallIcon(R.drawable.ic_message)
                 .setContentTitle(getString(R.string.title))
@@ -109,10 +110,10 @@
                 .addAction(action))
                 .build();
 
-// Issue the notification
+// Issue the notification.
 NotificationManager notificationManager =
         NotificationManager.from(mContext);
-notificationManager.notify(notificationId, notification);
+notificationManager.notify(notificationId, newMessageNotification);
 
 </pre>
 </li>
@@ -129,30 +130,32 @@
   <strong>图 2.</strong>用户从通知栏输入文本。
 </p>
 
-<h3>从内联回复检索用户输入</h3>
+<h3>
+  从内联回复检索用户输入
+</h3>
 
-<p>要从通知界面接收用户输入并发送到在回复操作的 Intent 中声明的 Activity:
+<p>
+  要从通知界面接收用户输入并发送到在回复操作的 Intent 中声明的 Activity:
+
 </p>
+
 <ol>
-<li> 通过传递通知操作的 Intent 作为输入参数,调用 {@link android.support.v4.app.RemoteInput#getResultsFromIntent
-  getResultsFromIntent()}。
+  <li>通过传递通知操作的 Intent 作为输入参数来调用 {@link android.support.v4.app.RemoteInput#getResultsFromIntent
+ getResultsFromIntent()}。
 该方法返回含有文本回复的 {@link android.os.Bundle}。
 
-</li>
 
-<pre>
+    <pre>
 Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
 </pre>
+  </li>
 
-<li>使用产生的密钥查询捆绑包(提供给 {@link
-  android.support.v4.app.RemoteInput.Builder} 构造函数)。
-</li>
-</ol>
+  <li>使用产生的密钥查询捆绑包(提供给 {@link
+ android.support.v4.app.RemoteInput.Builder} 构造函数)。以下代码段说明了方法如何从捆绑包检索输入文本:
 
-<p>以下代码段说明了方法如何从捆绑包检索输入文本:
-</p>
 
-<pre>
+
+    <pre>
 // Obtain the intent that started this activity by calling
 // Activity.getIntent() and pass it into this method to
 // get the associated string.
@@ -160,18 +163,51 @@
 private CharSequence getMessageText(Intent intent) {
     Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
     if (remoteInput != null) {
-            return remoteInput.getCharSequence(KEY_TEXT_REPLY);
-            }
+        return remoteInput.getCharSequence(KEY_TEXT_REPLY);
+    }
     return null;
  }
 </pre>
+  </li>
 
-<p>应用可以通过应用逻辑来决定对检索的文本采取哪些操作。对于交互式应用(例如聊天应用),在通知中提供更多上下文(例如多行聊天记录,包括用户自己的消息),以便用户作出相应回复。当用户通过 {@link android.support.v4.app.RemoteInput} 回复时,使用 {@code setRemoteInputHistory()} 方法在回复记录中加入文本。
+  <li>使用您为上一项通知提供的相同的通知 ID 来建立和发布另一项通知。
+进度指示器从通知界面消失,以告知用户已回复成功。
+
+在处理这项新通知时,使用被传递到接收器 {@code onReceive()} 方法的上下文。
 
 
+    <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>
+  对于交互式应用(例如聊天),这可以用来在处理检索到的文本时添加其他上下文。
+例如,这些应用可以显示多行聊天记录。
+当用户通过 {@link
+  android.support.v4.app.RemoteInput} 回复时,您可以使用 {@code setRemoteInputHistory()} 方法更新回复历史。
 
+</p>
+
+<p>
+  在应用收到远程输入后,必须更新或取消通知。
+如果用户使用直接回复来对远程更新进行回复,则不可取消通知。
+
+否则,更新通知以显示用户的回复。对于使用 {@code MessagingStyle} 的通知,您应该添加回复来作为最新消息。
+
+当使用其它模板时,您可以将用户的回复追加到远程输入历史。
 
 </p>
 
@@ -203,7 +239,13 @@
 
 </p>
 
-<p>要了解如何将通知添加到组,请参阅<a href="{@docRoot}training/wearables/notifications/stacks.html#AddGroup">将各通知添加到组</a>。
+<p class="note">
+  <strong>注:</strong>如果同一应用发送了四条或以上通知,并且未指定分组,系统会自动将它们分到一组。
+
+
+</p>
+
+<p>如需了解如何将通知添加到组,请参阅<a href="{@docRoot}training/wearables/notifications/stacks.html#AddGroup">将各通知添加到组</a>。
 
 </p>
 
@@ -255,7 +297,7 @@
 </p>
 
 <p class="note">
-  <strong>注</strong>:本版本 Android N 目前还无法在仅含一则子通知时取消通知组的摘要。
+  <strong>注:</strong>本版本 Android N 目前还无法在仅含一则子通知时取消通知组的摘要。
 我们将在之后版本的 Android N 中添加此功能。
 
 </p>
@@ -318,7 +360,7 @@
 </p>
 
 <pre>
-Notification noti = new Notification.Builder()
+Notification notification = new Notification.Builder()
            .setSmallIcon(R.drawable.ic_stat_player)
            .setLargeIcon(albumArtBitmap))
            .setCustomContentView(contentView);
@@ -326,3 +368,26 @@
            .build();
 
 </pre>
+
+<h2 id="style">消息传递样式</h2>
+<p>
+  Android N 引入了一项新的 API 来自定义通知样式。
+  使用 <code>MessageStyle</code> 类,您可以更改在通知中显示的多个标签,包括会话标题、其他消息和通知的内容视图。
+
+
+</p>
+
+<p>
+  以下代码段演示了如何使用 <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/zh-cn/preview/features/picture-in-picture.jd b/docs/html-intl/intl/zh-cn/preview/features/picture-in-picture.jd
index cbf3711..27606a9 100644
--- a/docs/html-intl/intl/zh-cn/preview/features/picture-in-picture.jd
+++ b/docs/html-intl/intl/zh-cn/preview/features/picture-in-picture.jd
@@ -1,5 +1,5 @@
 page.title=画中画
-page.keywords=preview,sdk,PIP,Picture-in-picture
+page.keywords=Preview、SDK、画中画
 page.tags=androidn
 
 @jd:body
@@ -17,6 +17,8 @@
 </li>
   <li><a href="#continuing_playback">在画中画模式中继续视频播放
 </a></li>
+  <li><a href="#single_playback">使用画中画的单次播放 Activity
+</a></li>
   <li><a href="#best">最佳做法</a></li>
 </ol>
 
@@ -72,7 +74,7 @@
 
 <p>默认情况下,系统并不自动为应用提供 PIP 支持。如果想要应用支持 PIP,请将
 <code>android:supportsPictureInPicture</code> 和
-<code>android:resizeableActivity</code> 设置为 <code>true</code>,在清单文件中注册视频 Activity。
+<code>android:resizeableActivity</code> 设置为 <code>true</code>,在清单中注册视频 Activity。
 
 此外,应明确指定 Activity 处理布局配置变更,这样,在 PIP 模式过渡期间发生布局变更时,Activity 不会重新启动。
 
@@ -97,7 +99,7 @@
 <h2 id="pip_button">将您的 Activity 切换到画中画模式</h2>
 
 在需要将 Activity 切换到 PIP 模式时,请调用
-<code>Activity.enterPictureInPicture()</code>。在下面的示例中,当用户选择媒体控制栏上的专用 PIP 按钮时,系统切换到 PIP 模式:
+<code>Activity.enterPictureInPictureMode()</code>。在下面的示例中,当用户选择媒体控制栏上的专用 PIP 按钮时,系统切换到 PIP 模式:
 
 </p>
 
@@ -105,7 +107,7 @@
 &#64;Override
 public void onActionClicked(Action action) {
     if (action.getId() == R.id.lb_control_picture_in_picture) {
-        getActivity().enterPictureInPicture();
+        getActivity().enterPictureInPictureMode();
         return;
     }
     ...
@@ -125,16 +127,16 @@
 <h2 id="handling_ui">处理画中画模式中的 UI</h2>
 
 <p>在 Activity 进入 PIP 模式时,Activity 应仅显示视频播放。
-在 Activity 进入 PIP 模式前删除 UI 元素,当 Activity 再次全屏显示时恢复这些元素。重写 <code>Activity.onPictureInPictureChanged()</code> 或
-<code>Fragment.onPictureInPictureChanged()</code>,并根据需要启用或禁用 UI 元素,例如:
+在 Activity 进入 PIP 模式前删除 UI 元素,当 Activity 再次全屏显示时恢复这些元素。重写 <code>Activity.onPictureInPictureModeChanged()</code> 或
+<code>Fragment.onPictureInPictureModeChanged()</code>,并根据需要启用或禁用 UI 元素,例如:
 
 
 </p>
 
 <pre>
 &#64;Override
-public void onPictureInPictureChanged(boolean inPictureInPicture) {
-    if (inPictureInPicture) {
+public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
+    if (isInPictureInPictureMode) {
         // Hide the controls in picture-in-picture mode.
         ...
     } else {
@@ -157,8 +159,8 @@
 <pre>
 &#64;Override
 public void onPause() {
-    // If called due to PIP, do not pause playback
-    if (inPictureInPicture()) {
+    // If called while in PIP mode, do not pause playback
+    if (isInPictureInPictureMode()) {
         // Continue playback
         ...
     }
@@ -170,6 +172,31 @@
 <p>当 Activity 退出 PIP 模式并回到全屏模式时,系统会恢复 Activity 并调用 <code>onResume()</code> 方法。
 </p>
 
+<h2 id="single_playback">使用画中画的单次播放 Activity
+</h2>
+
+<p>在您的应用中,用户可以在浏览主屏幕中的内容时选择一个新的视频,视频播放 Activity 处于 PIP 模式。
+在现有播放 Activity 中全屏模式下播放新视频,而不是启用可能使用户感到困惑的新 Activity。
+
+</p>
+
+<p>若要确保视频播放请求使用的是单个 Activity 并根据需要进入或退出 PIP 模式,在您的清单中将 Activity 的 <code>android:launchMode</code> 设置为 <code>singleTask</code>:
+
+
+</p>
+
+<pre>
+&lt;activity android:name="VideoActivity"
+    ...
+    android:supportsPictureInPicture="true"
+    android:launchMode="singleTask"
+    ...
+</pre>
+
+<p>在您的 Activity 中,替换 {@link android.app.Activity#onNewIntent
+Activity.onNewIntent()},处理新视频,如果需要,停止任何现有视频播放。
+</p>
+
 <h2 id="best">最佳做法</h2>
 
 <p>PIP 用于全屏播放视频的 Activity。在 Activity 切换到 PIP 模式时,应避免显示除视频外的其他内容。根据<a href="#handling_ui">处理画中画模式中的 UI</a> 中所述,在 Activity 进入 PIP 模式时进行跟踪,并隐藏 UI 元素。
diff --git a/docs/html-intl/intl/zh-cn/preview/features/scoped-folder-access.jd b/docs/html-intl/intl/zh-cn/preview/features/scoped-folder-access.jd
index eb6db76..4ff5f36 100644
--- a/docs/html-intl/intl/zh-cn/preview/features/scoped-folder-access.jd
+++ b/docs/html-intl/intl/zh-cn/preview/features/scoped-folder-access.jd
@@ -1,9 +1,13 @@
 page.title=作用域目录访问
-page.keywords=preview,sdk,scoped directory access
-page.tags=androidn
+page.keywords=Preview、SDK、作用域目录访问
+page.tags=Android N
 
 @jd:body
 
+
+
+
+
 <div id="qv-wrapper">
 <div id="qv">
   <h2>本文内容</h2>
@@ -21,7 +25,7 @@
 例如:</p>
 
 <ul>
-<li>在您的清单文件中请求 {@link android.Manifest.permission#READ_EXTERNAL_STORAGE}
+<li>在您的清单中请求 {@link android.Manifest.permission#READ_EXTERNAL_STORAGE}
 或 {@link android.Manifest.permission#WRITE_EXTERNAL_STORAGE} 将允许访问外部存储上的所有公共目录,这可能导致访问的内容超出应用需要的内容。
 
 </li>
@@ -44,8 +48,22 @@
 <code>StorageManager.getVolumesList()</code>。
 </p>
 
-<p>以下代码段展示如何在主要共享存储中打开
-<code>Pictures</code> 目录:</p>
+<p>如果您有关于特定文件的信息,使用 <code>StorageManager.getStorageVolume(File)</code> 来获得包含该文件的 <code>StorageVolume</code>。
+
+调用在 <code>StorageVolume</code> 上的 <code>createAccessIntent()</code> 以访问文件的外部存储目录。
+
+</p>
+
+<p>
+在二级卷(例如外部 SD 卡)上,当调用 <code>StorageVolume.createAccessIntent()</code> 以请求访问整个卷,而不是特定目录时,传入“null”。如果您向主要卷传入“null”,或者如果您传入无效的目录名,<code>StorageVolume.createAccessIntent()</code> 将返回“null”。
+
+
+
+
+</p>
+
+<p>以下代码段展示如何在主要共享存储中打开<code>Pictures</code> 目录:
+</p>
 
 <pre>
 StorageManager sm = (StorageManager)getSystemService(Context.STORAGE_SERVICE);
@@ -121,4 +139,14 @@
 
 <p>如果用户拒绝授予外部目录访问权限,请勿立即再次请求访问权限。
 一再不停地请求访问权限会导致非常差的用户体验。
+如果用户拒绝了一项请求,而应用再次请求访问,UI 会显示一个 <b>Don't ask again</b> 复选框:
+</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" />
+<p class="img-caption"><strong>图 1.</strong> 应用第二次请求访问可移动介质。
+</p>
+
+<p>如果用户选择 <b>Don't ask again</b> 并拒绝请求,您的应用向指定目录提出的所有未来请求都将被自动拒绝,并且将不会有请求 UI 呈现给用户。
+
 </p>
diff --git a/docs/html-intl/intl/zh-cn/preview/features/security-config.jd b/docs/html-intl/intl/zh-cn/preview/features/security-config.jd
index 2c87a3a..ca20c44 100644
--- a/docs/html-intl/intl/zh-cn/preview/features/security-config.jd
+++ b/docs/html-intl/intl/zh-cn/preview/features/security-config.jd
@@ -1,5 +1,5 @@
 page.title=网络安全配置
-page.keywords=androidn,security,network
+page.keywords=Android N、安全、网络
 page.image=images/cards/card-nyc_2x.jpg
 
 @jd:body
@@ -18,7 +18,7 @@
       </ol>
   </li>
   <li><a href="#TrustingDebugCa">仅调试 CA</a></li>
-  <li><a href="#UsesCleartextTraffic">退出 Cleartext Traffic</a></li>
+  <li><a href="#UsesCleartextTraffic">选择退出 Cleartext Traffic</a></li>
   <li><a href="#CertificatePinning">固定证书</a></li>
   <li><a href="#ConfigInheritance">配置继承行为</a></li>
   <li><a href="#FileFormat">配置文件格式</a></li>
@@ -49,7 +49,7 @@
   </li>
 
   <li>
-    <b>Cleartext traffic 退出:</b>防止应用意外使用 cleartext traffic。
+    <b>Cleartext traffic 选择退出:</b>防止应用意外使用 cleartext traffic。
 
   </li>
 
@@ -64,19 +64,20 @@
 
 <p>
   网络安全配置特性使用一个 XML 文件,您可以在该文件中指定应用的设置。
-您必须在应用的清单文件中包含一个条目来指向该文件。
-以下代码摘自一份清单文件,演示了如何创建此条目:
+您必须在应用的清单中包含一个条目来指向该文件。
+以下代码摘自一份清单,演示了如何创建此条目:
 
 </p>
 
 <pre>
 &lt;?xml version="1.0" encoding="utf-8"?&gt;
-...
-&lt;app ...&gt;
+&lt;manifest ... &gt;
+  &lt;application ... &gt;
     &lt;meta-data android:name="android.security.net.config"
                android:resource="@xml/network_security_config" /&gt;
     ...
-&lt;/app&gt;
+  &lt;/application&gt;
+&lt;/manifest&gt;
 </pre>
 
 <h2 id="CustomTrust">自定义信任的 CA</h2>
@@ -208,11 +209,11 @@
 <p>
   调试通过 HTTPS 连接的应用时,您可能需要连接到没有用于生产服务器的 SSL 证书的本地开发服务器。
 
-为了支持此操作,而又不对应用的代码进行任何修改,
-
- <i>您可以</i> 通过使用 {@code debug-overrides} 指定仅在<a href="{@docRoot}guide/topics/manifest/application-element.html#debug">
+为了支持此操作,而又不对应用的代码进行任何修改,您可以通过使用 {@code debug-overrides} 指定仅在<a href="{@docRoot}guide/topics/manifest/application-element.html#debug">
 android:debuggable</a>
-为 {@code true} 时才信任的仅调试 CA。通常,IDE 和构建工具会自动为非发布版本设置此标志。
+为 {@code true} 时才信任的仅调试 CA。<i></i>
+
+通常,IDE 和构建工具会自动为非发布版本设置此标志。
 
 </p>
 
@@ -237,7 +238,7 @@
 </p>
 
 
-<h2 id="UsesCleartextTraffic">退出 Cleartext Traffic</h2>
+<h2 id="UsesCleartextTraffic">选择退出 Cleartext Traffic</h2>
 
 <p>
   旨在连接到仅使用安全连接的目标的应用可以选择不再对这些目标提供 cleartext(使用解密的 HTTP 协议而非 HTTPS)支持。
@@ -310,6 +311,7 @@
             &lt;pin digest="SHA-256"&gt;7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=&lt;/pin&gt;
             &lt;!-- backup pin --&gt
             &lt;pin digest="SHA-256"&gt;fwza0LRMXouZHRC8Ei+4PyuldPDcf3UKgO/04cDM1oE=&lt;/pin&gt;
+        &lt;/pin-set&gt;
     &lt;/domain-config&gt;
 &lt;/network-security-config&gt;
 </pre>
@@ -704,7 +706,7 @@
 如果未设置该属性,则固定不会过期。
 
         <p>
-          设置到期时间有助于防止不更新到其 PKP 集(例如,由于用户禁用应用更新)的应用出现连接问题。
+          设置到期时间有助于防止未更新到其 PKP 集(例如,由于用户禁用应用更新)的应用出现连接问题。
 
 
         </p>
diff --git a/docs/html-intl/intl/zh-cn/preview/features/tv-recording-api.jd b/docs/html-intl/intl/zh-cn/preview/features/tv-recording-api.jd
index 83d6653..2dec87d 100644
--- a/docs/html-intl/intl/zh-cn/preview/features/tv-recording-api.jd
+++ b/docs/html-intl/intl/zh-cn/preview/features/tv-recording-api.jd
@@ -1,5 +1,5 @@
 page.title=TV 录制
-page.keywords=preview,sdk,tv,recording
+page.keywords=Preview、SDK、TV 录制
 page.tags=androidn
 page.image=images/cards/card-nyc_2x.jpg
 
@@ -31,9 +31,30 @@
 
 </p>
 
+<p class="note"><strong>注:</strong>Live Channels 应用尚不提供可让用户创建或访问录制的方式。
+在变更 Live Channels 应用之前,可能无法充分测试您的 TV 输入服务的录制体验。
+
+</p>
+
 <h2 id="supporting">指示支持录制</h2>
 
-<p>为了通知系统您的 TV 输入服务支持录制,请执行以下步骤:
+<p>为了通知系统您的 TV 输入服务支持录制,请将您的服务元数据 XML 文件中的 <code>android:canRecord</code> 属性设置为 <code>true</code>:
+
+
+</p>
+
+<pre>
+&lt;tv-input xmlns:android="http://schemas.android.com/apk/res/android"
+  <b>android:canRecord="true"</b>
+  android:setupActivity="com.example.sampletvinput.SampleTvInputSetupActivity" /&gt;
+</pre>
+
+<p>如需了解有关服务元数据文件的详细信息,请参阅<a href="{@docRoot}training/tv/tif/tvinput.html#manifest">在清单中声明您的 TV 输入</a>。
+
+
+</p>
+
+<p>或者,您可以使用以下步骤在您的代码中表明录制支持:
 </p>
 
 <ol>
@@ -44,7 +65,7 @@
 <code>setCanRecord(true)</code>,以表明您的服务支持录制。
 </li>
 <li>通过调用
-<code>TvInputService.updateTvInputInfo()</code> 在系统中注册 <code>TvInputInfo</code> 对象。</li>
+<code>TvInputManager.updateTvInputInfo()</code> 在系统中注册 <code>TvInputInfo</code> 对象。</li>
 </ol>
 
 <h2 id="recording">录制会话</h2>
diff --git a/docs/html-intl/intl/zh-cn/preview/guide.jd b/docs/html-intl/intl/zh-cn/preview/guide.jd
new file mode 100644
index 0000000..9f7737f
--- /dev/null
+++ b/docs/html-intl/intl/zh-cn/preview/guide.jd
@@ -0,0 +1,190 @@
+page.title=测试指南
+page.image=images/cards/card-n-guide_2x.png
+meta.tags="preview", "testing"
+page.tags="preview", "developer preview"
+
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>本文内容</h2>
+      <ol>
+        <li><a href="#runtime-permissions">测试权限</a></li>
+        <li><a href="#doze-standby">测试低电耗模式和应用待机模式</a></li>
+        <li><a href="#ids">自动备份和设备标识符</a></li>
+      </ol>
+  </div>
+</div>
+
+<p>
+  利用 Android N,您有机会确保应用可使用下一平台版本。
+如 <a href="{@docRoot}preview/api-overview.html">API 概览</a>和<a href="{@docRoot}preview/behavior-changes.html">行为变更</a>中所述,该 Preview 包括大量 API 和可能影响应用的行为变更。
+
+使用 Preview 测试应用时,您应重点关注一些特定的系统变更,确保用户拥有愉悦的体验。
+
+
+</p>
+
+<p>
+  本指南介绍可使用您的应用测试 Preview 的哪些功能以及如何测试。您应确定优先测试以下特定 Preview 功能,因为它们可能会对应用行为产生较大影响。
+
+
+</p>
+
+<ul>
+  <li><a href="#runtime-permissions">权限</a>
+  </li>
+  <li><a href="#doze-standby">低电耗模式和应用待机模式</a>
+  </li>
+  <li><a href="#ids">自动备份和设备标识符</a></li>
+</ul>
+
+<p>
+  如需了解有关如何使用 Preview 系统映像设置设备或虚拟设备以进行测试的详细信息,请参阅<a href="{@docRoot}preview/setup-sdk.html">设置 Android N SDK</a>。
+
+
+</p>
+
+
+<h2 id="runtime-permissions">测试权限</h2>
+
+<p>
+  新<a href="{@docRoot}preview/features/runtime-permissions.html">权限</a>模型改变了用户向您的应用分配权限的方式。
+您的应用必须在运行时要求用户提供各项权限,而不是在安装过程中要求授予所有权限。
+
+对于用户而言,此行为有助于他们更精细地控制每个应用的 Activity,并更深入地了解应用为何请求提供特定权限的上下文信息。
+用户可以随时向应用授予某项权限或撤销其某项权限。
+预览版的这种功能最有可能会对应用行为产生影响,而且可能会阻止某些应用功能运行或只能在降级状态中运行。
+
+
+</p>
+
+<p class="caution">
+  这一变更会影响在新平台上运行的所有应用,即便这些应用并非面向新平台版本开发亦是如此。
+该平台为旧版应用提供有限的兼容性行为,但您现在应当开始计划将应用迁移到新权限模型,以便在官方平台启动时发布更新的应用版本。
+
+
+</p>
+
+
+<h3 id="permission-test-tips">测试提示</h3>
+
+<p>
+  使用以下测试提示有助于您计划并通过新权限行为执行应用测试。
+
+</p>
+
+<ul>
+  <li>识别应用的当前权限和相关的代码路径</li>
+  <li>跨受权限保护的服务和数据测试用户流程</li>
+  <li>使用授予/撤销权限的各种组合进行测试</li>
+  <li>使用 {@code adb} 工具从命令行管理权限:
+    <ul>
+      <li>按组列出权限和状态:
+        <pre>adb shell pm list permissions -d -g</pre>
+      </li>
+      <li>使用以下语法授予或撤销一项或多项权限:<br>
+        <pre>adb shell pm [grant|revoke] &lt;permission.name&gt; ...</pre>
+      </li>
+    </ul>
+  </li>
+  <li>针对使用权限的服务对应用进行分析</li>
+</ul>
+
+<h3 id="permission-test-strategy">测试策略</h3>
+
+<p>
+  权限更改会影响应用的结构和设计,以及您为用户提供的用户体验和流程。
+您应评估应用的当前权限使用情况并开始计划要提供的新流程。
+平台的正式版本提供兼容性行为,但您应计划更新应用,而不是依赖于这些行为。
+
+
+</p>
+
+<p>
+  确定应用实际需要和使用的权限,然后找出各种使用受权限保护的服务的代码路径。
+您可通过结合使用新平台测试和代码分析完成此操作。
+在测试中,您应通过将应用的 {@code targetSdkVersion} 更改为预览版,重点关注选择运行时权限。
+如需了解详细信息,请参阅<a href="{@docRoot}preview/setup-sdk.html#">设置 Android N SDK</a>。
+
+
+</p>
+
+<p>
+  使用已撤销和已添加权限的各种组合进行测试,突出显示依赖于权限的用户流程。
+如果依赖关系不明显或不符合逻辑,则您应考虑重构或划分该流程,以消除依赖关系或阐明需要权限的原因。
+
+
+</p>
+
+<p>
+  如需了解有关运行时权限行为、测试和最佳做法的详细信息,请参阅<a href="{@docRoot}preview/features/runtime-permissions.html">权限</a>开发者预览版页面。
+
+
+</p>
+
+
+<h2 id="doze-standby">测试低电耗模式和应用待机模式</h2>
+
+<p>
+  当设备处于空闲状态或应用未聚焦时,低电耗模式和应用待机模式的节能功能将限制应用可执行的后台处理工作量。
+系统可对应用实施的限制包括:限制或禁止访问网络、暂停后台任务、暂停通知、忽略唤醒请求和闹铃。
+
+要确保应用在完成这些节能优化后正常运行,您应通过模拟这些低功耗状态对应用进行测试。
+
+
+</p>
+
+<h4 id="doze">在低电耗模式下测试您的应用</h4>
+
+<p>要在低电耗模式下测试您的应用,请执行以下操作:</p>
+
+<ol>
+<li>使用 Android N 系统映像配置硬件设备或虚拟设备</li>
+<li>将设备连接到开发计算机并安装应用</li>
+<li>运行应用并使其保持活动状态</li>
+<li>通过运行以下命令,模拟进入低电耗模式的设备:
+
+<pre>
+$ adb shell dumpsys battery unplug
+$ adb shell dumpsys deviceidle step
+$ adb shell dumpsys deviceidle -h
+</pre>
+
+  </li>
+  <li>观察重新激活设备时的应用行为。确保应用在设备退出低电耗模式时正常恢复
+</li>
+</ol>
+
+
+<h4 id="standby">在应用待机模式下测试您的应用</h4>
+
+<p>要在应用待机模式下测试您的应用,请执行以下操作:</p>
+
+<ol>
+  <li>使用 Android N 系统映像配置硬件设备或虚拟设备</li>
+  <li>将设备连接到开发计算机并安装应用</li>
+  <li>运行应用并使其保持活动状态</li>
+  <li>通过运行以下命令,模拟进入待机模式的应用:
+
+<pre>
+$ adb shell am broadcast -a android.os.action.DISCHARGING
+$ adb shell am set-idle &lt;packageName&gt; true
+</pre>
+
+  </li>
+  <li>使用以下命令模拟如何唤醒应用:
+    <pre>$ adb shell am set-idle &lt;packageName&gt; false</pre>
+  </li>
+  <li>观察唤醒后的应用行为。确保应用从待机模式中正常恢复。
+特别地,您应检查应用的通知和后台作业是否按预期继续运行
+</li>
+</ol>
+
+<h2 id="ids">自动备份应用和设备特定的标识符</h2>
+
+<p>如果应用坚持在内部存储中使用任何设备特定的标识符,如 Google 云消息传递注册 ID,请确保遵循最佳做法将存储位置从自动备份中排除,如<a href="{@docRoot}preview/backup/index.html">自动备份应用</a>中所述。
+
+
+
+ </p>
diff --git a/docs/html-intl/intl/zh-cn/preview/index.jd b/docs/html-intl/intl/zh-cn/preview/index.jd
index 3203ce1..74cd039 100644
--- a/docs/html-intl/intl/zh-cn/preview/index.jd
+++ b/docs/html-intl/intl/zh-cn/preview/index.jd
@@ -1,6 +1,6 @@
 page.title=Android N Developer Preview
 page.tags="preview","developer"
-meta.tags="Preview", "android"
+meta.tags="preview", "android"
 fullpage=true
 forcelocalnav=true
 header.hide=1
@@ -24,10 +24,10 @@
       <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">
-          为 Android N 做好准备!
+          为 Android N 进行准备!
           在 Nexus 和其他设备上<strong>测试您的应用</strong>。支持新系统行为以<strong>节省电量和内存</strong>。
-          使用<strong>多窗口 UI</strong> 扩展您的应用,以便能够<strong>直接答复通知</strong>及执行其他操作。
 
+          使用<strong>多窗口 UI</strong> 扩展您的应用,以便能够<strong>直接答复通知</strong>及执行其他操作。
 
         </p>
 
@@ -56,7 +56,7 @@
 
 <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">
+    <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">
@@ -69,7 +69,7 @@
       <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>
-          查阅发行说明
+          查阅版本说明
         </a>
       </li>
       <li class="dac-action">
@@ -92,17 +92,28 @@
       </a></div>
       <div><a href="{@docRoot}preview/support.html">
         <span class="dac-sprite dac-auto-chevron-large"></span>
-        查阅发行说明
+        查阅版本说明
       </a></div>
       <div><a href="{@docRoot}preview/dev-community">
         <span class="dac-sprite dac-auto-chevron-large"></span>
-        加入开发者社区
-      </a></div>
+        加入开发者社区</a>
+</div>
     </div><!-- end .actions -->
   </div><!-- end .wrap -->
 </div>
 
-<section class="dac-section dac-light"><div class="wrap">
+<section class="dac-section dac-light dac-small" id="latest"><div class="wrap">
+  <h2 class="norule">最新</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">资源</h1>
   <div class="dac-section-subtitle">
     这些必备信息可帮助您的应用为Android N做好准备。
diff --git a/docs/html-intl/intl/zh-cn/preview/j8-jack.jd b/docs/html-intl/intl/zh-cn/preview/j8-jack.jd
index 94cc929..4fe2125 100644
--- a/docs/html-intl/intl/zh-cn/preview/j8-jack.jd
+++ b/docs/html-intl/intl/zh-cn/preview/j8-jack.jd
@@ -15,23 +15,23 @@
   </div>
 </div>
 
-<p>Android N 支持 Java 8 语言功能,您可以在开发面向 Android N 的应用时使用这些功能。本页面介绍了 Android N Preview中支持的新语言功能、如何正确设置项目以使用这些功能,以及您可能遇到的任何已知问题。
+<p>Android N 支持 Java 8 语言功能,您可以在开发面向 Android N 的应用时使用这些功能。本页面介绍了 Android N Preview 中支持的新语言功能、如何正确设置项目以使用这些功能,以及您可能遇到的任何已知问题。
 
 
 
 
 </p>
 
-<p>要开始使用这些功能,您需要下载并设置 Android Studio 2.1(预览版)和 Android N Preview SDK,包括所需的 Jack 工具链和更新的 Android Plugin for Gradle。如果您尚未安装 Android N Preview SDK,请参阅 <a href="{@docRoot}preview/setup-sdk.html">Android N 开发设置</a>。
+<p>要开始使用这些功能,您需要下载并设置 Android Studio 2.1 和 Android N Preview SDK,包括所需的 Jack 工具链和更新的 Android Plugin for Gradle。
 
-
+如果您尚未安装 Android N Preview SDK,请参阅 <a href="{@docRoot}preview/setup-sdk.html">Develop for Android N 设置</a>。
 </p>
 
 
 
 <p class="note">
-  <strong>注</strong>:开发面向 Android N 平台的应用并不要求必须使用新的 Java 8 语言功能。如果您不想使用 Java 8 语言功能编写代码,您可以将项目的源和目标兼容性值保留为 Java 7,但您仍必须使用 JDK 8 进行编译,以便针对 Android N 平台进行构建。
-
+  <strong>注:</strong>开发面向 Android N 平台的应用并不要求必须使用新的 Java 8 语言功能。
+如果您不想使用 Java 8 语言功能编写代码,您可以将项目的源和目标兼容性值保留为 Java 7,但您仍必须使用 JDK 8 进行编译,以便针对 Android N 平台进行构建。
 
 
 
@@ -54,61 +54,73 @@
   </li>
 
   <li>
-    <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html">Lambda 表达式</a>
- 
+    <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html">Lambda 表达式</a>(也在 API 级别 23 及更低版本中使用)
+
   </li>
 
   <li>
     <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/annotations/repeating.html">重复注解</a>
 
   </li>
+
+  <li>
+    <a class="external-link" href="https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html">方法引用</a>(也在 API 级别 23 及更低版本中使用)
+
+  </li>
 </ul>
 
+<p class="note">
+  <strong>注:</strong>在 Android 的较早版本中测试 Lambda 表达式和方法引用,前往您的 {@code build.gradle} 文件,将 {@code compileSdkVersion} 和 {@code targetSdkVersion} 设置为 23 或更低版本。
+
+
+您仍需要<a href="#configuration">启用 Jack 工具链</a>以使用这些 Java 8 功能。
+
+</p>
 
 <p>
   此外,现已可使用以下 Java 8 语言功能 API:
 </p>
 
 <ul>
-  <li>Reflection 和语言相关 API:
-  </li>
-
-  <li style="list-style: none; display: inline">
+  <li>反映和语言相关 API:
     <ul>
-      <li>{@code java.lang.FunctionalInterface}
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html">{@code java.lang.FunctionalInterface}</a>
+
       </li>
 
-      <li>{@code java.lang.annotation.Repeatable}
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Repeatable.html">{@code java.lang.annotation.Repeatable}</a>
+
       </li>
 
-      <li>{@code java.lang.reflect.Method.isDefault()}
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html#isDefault--">{@code java.lang.reflect.Method.isDefault()}</a>
+
       </li>
 
-      <li>以及与重复注解关联的 Reflection API,例如
-      {@code AnnotatedElement.getAnnotationsByType(Class)}
+      <li>和与重复注解关联的反映 API,例如<a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/AnnotatedElement.html#getAnnotationsByType-java.lang.Class-">{@code AnnotatedElement.getAnnotationsByType(Class)}</a>
+
+
       </li>
     </ul>
   </li>
-  <li>Utility API:
-  </li>
 
-  <li style="list-style: none; display: inline">
+  <li>实用程序 API:
     <ul>
-      <li>{@code java.util.function}
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html">{@code java.util.function}</a>
+
+      </li>
+
+      <li>
+        <a class="external-link" href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html">{@code java.util.stream}</a>
+
       </li>
     </ul>
   </li>
 </ul>
 
-<p class="note">
-  <strong>注</strong>:Android N 的 Lambda 表达式的实现基于匿名类。这种方法使表达式可以向后兼容,并可以在早期版本的 Android 上执行。如需在早期版本上测试 Lambda 表达式,请进入 {@code
-  build.gradle} 文件,并将 {@code compileSdkVersion} 和 {@code
-  targetSdkVersion} 设为 23 或更小的值。
-
-
-
-</p>
-
 <h2 id="configuration">
   启用 Java 8 功能和 Jack 工具链
 </h2>
@@ -139,7 +151,7 @@
 </h3>
 
 <p>
-  如需为您的项目启用 Java 8 语言功能和 Jack,请在模块特定的 {@code build.gradle} 文件中输入以下内容:
+  如需为您的项目启用 Java 8 语言功能和 Jack,请在模块层级的 {@code build.gradle} 文件中输入以下内容:
 
 </p>
 
@@ -159,12 +171,13 @@
 }
 </pre>
 
-<h3>
+<h3 id="known-issues">
   已知问题
 </h3>
 
 <p>
-  Android Studio 2.0 (Beta) 中引入的 Instant Run 目前不能用于 Jack,在使用新的工具链时将被禁用。
+  <a href="{@docRoot}tools/building/building-studio.html#instant-run">Instant Run</a> 目前不能用于 Jack,在使用新的工具链时将被禁用。
+
 
 </p>
 
@@ -176,8 +189,9 @@
   <li>对类文件进行操作的 Lint 检测工具
   </li>
 
-  <li>需要应用类文件的工具和库(例如 JaCoCo
- 和 Mockito)</li>
+  <li>需要应用类文件的工具和库(例如使用 JaCoCo 进行仪器测试中)
+
+  </li>
 </ul>
 
-<p>如果您在使用 Jack 的过程中发现其他问题,<a href="http://tools.android.com/filing-bugs">请报告错误</a>。</p>
\ No newline at end of file
+<p>如果您在使用 Jack 的过程中发现其他问题,<a href="http://tools.android.com/filing-bugs">请提交错误</a>。</p>
\ No newline at end of file
diff --git a/docs/html-intl/intl/zh-cn/preview/license.jd b/docs/html-intl/intl/zh-cn/preview/license.jd
new file mode 100644
index 0000000..66f3ed3
--- /dev/null
+++ b/docs/html-intl/intl/zh-cn/preview/license.jd
@@ -0,0 +1,145 @@
+page.title=许可协议
+
+@jd:body
+
+<p>
+在开始使用 Android SDK Preview 之前,您必须同意下列条款和条件。正如下文所述,请注意:这是 Android SDK 的预览版,可能随时更改,恕不另行通知,您使用此版本的风险由您自行承担。
+Android SDK Preview 并非稳定版本,可能包含会对您的计算机系统、设备和数据造成损害的错误和缺陷。
+</p>
+
+<p>
+本协议是 Android SDK Preview 许可协议(以下称为“许可协议”)。
+</p>
+<div class="sdk-terms" style="height:auto;border:0;padding:0;width:700px">
+1. 简介
+
+1.1 Android SDK Preview(在本许可协议中简称为“Preview”,具体包括 Android 系统文件、封装 API 以及Preview 库文件(若可用))依据本许可协议的条款授权您使用。本许可协议在您与 Google 之间就您对“Preview”的使用构成具有法律约束力的合约。
+
+1.2 “Android”是指以 Android 开源项目(项目网址为 http://source.android.com/,其内容会不时更新)名义提供、面向设备的 Android 软件栈。
+
+1.3 “Android 兼容”是指 (i) 符合与 Android 兼容性定义文档(可在 Android 兼容性网站 http://source.android.com/compatibility 上找到,并可能会不时更新)标准的任何 Android 实现;并 (ii) 成功通过 Android 兼容性测试套件 (CTS) 的测试。
+
+1.4“Google”是指 Google Inc.,是一家特拉华州公司,主要营业地位于:1600 Amphitheatre Parkway, Mountain View, CA 94043, United States。
+
+2. 接受许可协议
+
+2.1 要使用“Preview”,您必须先同意本许可协议。如果您不接受本许可协议,则不得使用“Preview”。
+
+2.2 点击接受并/或使用“Preview”,即表示您特此同意本许可协议的条款。
+
+2.3 如果依照美国或其他国家/地区(包括您居住或您使用“Preview”所在的国家/地区)的法律,您被禁止获取“Preview”,则您不得使用“Preview”,也不得接受本许可协议。
+
+2.4 如果您将在贵公司或组织内部使用“Preview”,则您同意代表您的雇主或其他实体接受本许可协议的约束,并且您表示并保证您拥有完全的合法授权令您的雇主或上述实体受本许可协议的约束。如果您不具备必要的授权,则不得代表您的雇主或其他实体接受本许可协议或使用“Preview”。
+
+3. Google “Preview”许可
+
+3.1 Google 依据本许可协议的条款授予您有限的、全球性、免版税、不可转让、非独占性且不可次级许可的“Preview”使用许可,其用途仅限针对 Android 的兼容实现来开发应用。
+
+3.2 您不得使用此“Preview”来开发适用于其他平台(包括 Android 的非兼容实现)的应用或开发其他 SDK。您当然可以随意开发适用于其他平台(包括 Android 的非兼容实现)的应用,前提是不使用此“Preview”来进行此类开发。
+
+3.3 您同意 Google 或第三方拥有“Preview”中存在或与其有关联的全部合法权利、所有权和利益,包括“Preview”中存在的任何知识产权。“知识产权”是指根据专利法、版权法、商业机密法、商标法享有的任何及全部权利,以及其他任何及全部专有权利。Google 保留所有未明确授予您的权利。
+
+3.4 您不得将“Preview”用于本许可协议未明确允许的任何用途。除适用第三方许可所要求的范围外,您不得:(a) 对“Preview”或“Preview”的任何部分进行复制(备份用途除外)、修改、改编、再分发、反编译、逆向工程、反汇编或创建其衍生品;或 (b) 将“Preview”的任何部分加载到移动手持终端或除个人计算机之外的任何其他硬件设备上,将“Preview”的任何部分与其他软件合并,或者发行任何融入“Preview”某一部分的软件或设备。
+
+3.5 对于依据开源软件许可授权的“Preview”组件,其使用、复制和分发仅受该开源软件许可条款的制约,不受本许可协议的约束。您同意在依照被授予的所有权利作为被许可方期间,在遵守此类开源软件许可协议方面始终保持良好的信誉,并避免进行任何可能导致终止、暂停或违反此类权利的行动。
+
+3.6 您同意 Google 所提供“Preview”的形式和性质可随时发生变更,而无需事先通知您,并且未来的“Preview”版本可能会与在之前的“Preview”版本上开发的应用不兼容。您同意 Google 可单方面决定在未事先通知您的情况下全面停止(永久性或暂时性)向您或用户提供“Preview”(或“Preview”内的任何功能)。
+
+3.7 本许可协议内没有任何条款授予您使用 Google 的任何商品名、商标、服务标志、徽标、域名或其他独特品牌特征的权利。
+
+3.8 您同意您不会移除、遮盖或篡改“Preview”上可能贴有或“Preview”内可能包含的任何专有权利声明(包括版权声明和商标声明)。
+
+4. 您对“Preview”的使用
+
+4.1 Google 同意本许可协议中的任何条款均未授予 Google 从您(或您的许可方)处获取您依照本许可协议使用“Preview”开发的任何软件应用中存在或与其相关的权利、所有权或利益,包括这些应用中存在的任何知识产权。
+
+4.2 您同意只出于 (a) 本许可协议和 (b) 相关管辖区域内任何适用法律、法规或公认惯例或准则(包括有关向美国或其他相关国家/地区出口数据或软件或从美国或其他相关国家/地区进口数据或软件的任何法律)所允许的目的而使用“Preview”和编写应用。
+
+4.3 您同意,如果您使用“Preview”开发应用,您将会保护用户的隐私权和合法权利。如果用户向您提供用户名、密码或其他登录信息或个人信息,您必须确保用户知晓这些信息将供您的应用使用,并且您必须为这些用户提供足以满足法律要求的隐私声明和保护。如果您的应用存储由用户提供的个人信息或敏感信息,其存储方式必须安全。如果用户向您提供 Google 帐户信息,您的应用只能在用户允许时出于用户所许可的有限目的使用该信息访问用户的 Google 帐户。
+
+4.4 您同意您不会利用“Preview”从事任何干扰、中断、损坏或以未经授权方式访问 Google 或任何第三方的服务器、网络或其他财产或服务的 Activity(包括应用的开发或分发)。
+
+4.5 您同意您对通过 Android 和/或 Android 应用创建、传输或显示的任何数据、内容或资源以及您的行为所导致的后果(包括 Google 可能遭受的任何损失或损害)负全责(Google 在上述方面对您或任何第三方不承担任何责任)。
+
+4.6 您同意您为违反本许可协议、任何适用的第三方合约或服务条款或任何适用法律或法规下的义务以及任何上述违规行为所导致的后果(包括 Google 或任何第三方可能遭受的任何损失或损害)负全责(Google 在上述方面对您或任何第三方不承担任何责任)。
+
+4.7 “Preview”正在开发中,您的测试和反馈是开发过程的重要环节。使用“Preview”,即表示您承认某些功能仍在开发实现之中,您不应期望“Preview”具备稳定版本的全部功能。您同意不使用此“Preview”公开发布或发运任何应用,因为此“Preview”在 Android SDK 正式发行之后将不再受支持。
+
+5. 您的开发者凭据
+
+5.1 您同意,对于 Google 可能向您发放或可能由您自行选择的任何开发者凭据,您有责任保持其机密性,并且您对以您的开发者凭据名义开发的所有应用负全责。
+
+6. 隐私权和信息
+
+6.1 为持续创新和改进“Preview”,Google 可能会从软件收集某些使用统计数据,包括但不限于唯一标识符、关联的 IP 地址、软件的版本号以及有关软件使用了“Preview”中哪些工具和/或服务及其使用方式的信息。在收集任何上述信息之前,“Preview”都会通知您并征求您的同意。如果您拒绝同意,我们将不会收集这些信息。
+
+6.2 我们会对收集的数据进行汇总调查,以便改进“Preview”,并会按照 Google 的隐私政策(网址为 http://www.google.com/policies/privacy/)维护数据。
+
+7. 第三方应用
+
+7.1 如果您使用“Preview”运行由第三方开发或访问由第三方提供的数据、内容或资源的应用,您同意 Google 对这些应用、数据、内容或资源不承担任何责任。您理解,您通过上述第三方应用可能访问到的所有数据、内容或资源由其提供者负全责,Google 对您因使用或访问其中任何第三方应用、数据、内容或资源而遭受的任何损失或损害不承担任何责任。
+
+7.2 您应知晓,通过此类第三方应用提供给您的数据、内容和资源可能受提供商(或代表他们的其他人员或公司)拥有的知识产权的保护。除非相关所有者明确给予许可,否则您不得修改、出租、租赁、借出、出售、分发这些数据、内容或资源(的全部或部分),或以其为基础创建衍生品。
+
+7.3 您承认您对上述第三方应用、数据、内容或资源的使用可能受到您与相关第三方之间单独订立的条款的制约。
+
+8. 使用 Google API
+
+8.1 Google API
+
+8.1.1 如果您使用任何 API 从 Google 检索数据,即表示您承认这些数据可能受到 Google 或这些数据提供方(或代表他们的其他人员或公司)拥有的知识产权的保护。您对任何上述 API 的使用可能受到附加服务条款的制约。除非相关服务条款允许,否则您不得修改、出租、租赁、借出、出售、分发这些数据(全部或部分),或以其为基础创建衍生品。
+
+8.1.2 如果您使用任何 API 从 Google 检索用户数据,即表示您承认并同意您只有在征得用户明确同意时才会检索数据,并且只能在用户允许时出于用户许可的有限目的检索数据。
+
+9. 终止许可协议
+
+9.1 本许可协议将持续有效,直至您或 Google 按以下规定终止本协议。
+
+9.2 如果您想终止本许可协议,可通过停止使用“Preview”以及任何相关开发者凭据予以终止。
+
+9.3 Google 有权在向您作出通知后,有理由或无理由地随时终止与您订立的这份许可协议。
+
+9.4 本许可协议将在下列情况下自动终止,而无需另行通知或采取其他行动,以先符合条件者为准:
+(A) Google 在您居住或使用服务所在国家/地区停止向用户提供“Preview”或“Preview”的某些部分;
+(B) Google 发行 Android SDK 的最终版本。
+
+9.5 在本许可协议终止时,本许可协议中向您授予的许可将终止,您应立即完全停止使用“Preview”,并且第 10、11、12 和 14 节的条款将无限期继续存在。
+
+10.免责声明
+
+10.1 您明确理解并同意,您使用“Preview”的风险将由您自行承担,并且“Preview”是按“原样”和“现状”提供,Google 不提供任何类型的担保。
+
+10.2 您对“Preview”的使用以及通过使用“Preview”下载或以其他方式获得的任何材料由您自行决定,风险自负,并且对于因此类使用而对您的计算机系统或其他设备造成的任何损害或数据损失由您单方面负责。在不对上文所述予以限制的条件下,您了解“Preview”并非稳定版本,可能存在将导致重大损害的错误、缺陷和安全漏洞,包括无法挽回地完全无法使用您的计算机系统或其他设备。
+
+10.3 Google 进一步明确拒绝任何类型的所有担保和条件,无论明示或暗示,包括但不限于有关适销性、特定用途适用性以及非侵权的暗示担保和条件。
+
+11. 有限责任
+
+11.1 您明确理解并同意,对于您可能遭遇的任何直接、间接、附带、特殊、继发或惩罚性损害(包括任何数据损失),Google 及其子公司和附属公司以及其许可方在任何责任理论下对您概不承担任何责任,无论 Google 或其代表是否已被告知或是否本应知晓发生任何上述损失的可能性。
+
+12. 赔偿
+
+12.1 您同意,在法律所允许的最大限度内,为 Google、其附属公司及其各自的董事、高管、员工和代理商提供辩护,使其免于因下列情况引起或产生的任何及所有索赔、诉讼、起诉或诉讼程序以及任何及所有损失、债务、损害、成本和费用(包括合理的律师费用)而承担责任或遭受损害:(a) 您对“Preview”的使用;(b) 您在“Preview”上开发的任何应用侵犯任何人的任何知识产权或诽谤任何人或侵犯其公开权或隐私权;以及 (c) 您的任何行为有悖于本许可协议
+
+13. 许可协议的更改
+
+13.1 Google 可能会在分发新版本“Preview”时对许可协议做出更改。做出这些更改后,Google 将在提供“Preview”的网站上公布新版本的许可协议。
+
+14. 一般法律条款
+
+14.1 本许可协议构成您与 Google 之间的完整法律协议,管辖您对“Preview”(不包括 Google 可能依据另外的书面协议向您提供的任何服务)的使用,并完全取代您之前与 Google 之间签订的、与“Preview”有关的任何协议。
+
+14.2 您同意,如果 Google 未行使或未强制执行本许可协议包含的任何法定权利或救济(或 Google 在任何适用法律下享有的相关利益),不得视为 Google 正式放弃这些权利,Google 仍可获得这些权利或救济。
+
+14.3 如果任何拥有管辖权的法院将本许可协议的任何条款裁定为无效,则该条款将从本许可协议中删除,而不会影响本许可协议的其余部分。本许可协议的其余条款将继续有效且可强制执行。
+
+14.4 您承认并同意,Google 集团旗下的每一家公司都将成为本许可协议的第三方受益人,并且此类其他公司将有权直接强制执行和依赖本许可协议中任何授予其利益(或支持其权利)的条款。除此之外,任何其他人员或公司均不得成为本许可协议的第三方受益人。
+
+14.5 出口限制。“Preview”受美国出口法律和法规的制约。您必须遵守适用于“Preview”的所有国内和国际出口法律和法规。这些法律包括目的地、最终用户和最终用途方面的限制。
+
+14.6 未经 Google 事先书面批准,您不得擅自转让或转移本许可协议,未经此类批准而试图进行的任何转让均为无效。未经 Google 事先书面批准,您不得委托您依据本许可协议所应承担的责任或义务。
+
+14.7 本许可协议以及您与 Google 依据本许可协议而建立的关系受加利福尼亚州法律管辖,而无论其是否与其他法律条款冲突。您与 Google 同意服从位于加利福尼亚州圣克拉拉县内法院的专属司法管辖权,以解决本许可协议引起的任何法律事务。尽管有上述规定,您同意仍允许 Google 在任何管辖区域申请禁令救济(或同等类型的紧急法律救济)。
+
+
+</div>
\ No newline at end of file
diff --git a/docs/html-intl/intl/zh-cn/preview/overview.jd b/docs/html-intl/intl/zh-cn/preview/overview.jd
index 5195ed7..06a905f 100644
--- a/docs/html-intl/intl/zh-cn/preview/overview.jd
+++ b/docs/html-intl/intl/zh-cn/preview/overview.jd
@@ -1,7 +1,7 @@
 page.title=计划概览
-page.metaDescription=让您的应用做好迎接下一版本 Android 的准备。
+page.metaDescription=让您的应用做好迎接 Android 的下一版本的准备。
 page.image=images/cards/card-n-overview_2x.png
-meta.tags=“预览版”, “开发者”, "android"
+meta.tags="preview", "developer", "android"
 page.tags="preview", "developer", "android"
 
 @jd:body
@@ -105,7 +105,7 @@
       </h5>
 
       <p>
-        通过 Android Beta 计划,所有支持的设备都可以实现空中下载 (OTA) 无缝更新。无需刷机。
+        通过 Android Beta 计划,所有支持的设备都可以实现无缝 OTA 更新。无需刷机。
 
       </p>
     </div>
@@ -116,9 +116,9 @@
       </h5>
 
       <p>
-        使用 <a href="{@docRoot}preview/bug">Issue Tracker</a> 向我们报告问题并提供反馈。与 <a href="{@docRoot}preview/dev-community">N&nbsp;开发者社区</a>中的其他开发者建立联系。
-
-
+        使用 <a href="{@docRoot}preview/bug">Issue Tracker</a> 向我们报告问题并提供反馈。
+与 
+<a href="{@docRoot}preview/dev-community">N&nbsp;开发者社区</a>中的其他开发者建立联系。
 
       </p>
     </div>
@@ -145,29 +145,46 @@
 </p>
 
 <p>
-  在开发阶段的各个里程碑,我们将为您的开发和测试环境提供更新。一般每月(间隔 4 到 6 周)会提供一次更新。里程碑列表如下。
-
-
+  在关键的开发阶段的里程碑,我们将为您的测试设备和测试环境提供更新。
+一般每月(间隔 4 到 6 周)会提供一次更新。
+里程碑列表如下。
 </p>
 
 <ul>
-  <li><strong><a href="{@docRoot}preview/support.html">Preview 1</a></strong>(初始版本,alpha)</li>
-  <li><strong>Preview 2</strong>(增量更新,beta)</li>
-  <li><strong>Preview 3</strong>(增量更新,beta)</li>
+  <li><strong><a href="{@docRoot}preview/support.html#dp1">Preview 1</a></strong>(初始版本,alpha)</li>
+  <li><strong><a href="{@docRoot}preview/support.html#dp2">Preview 2</a></strong>(增量更新,alpha)</li>
+  <li><strong><a href="{@docRoot}preview/support.html#dp3">Preview 3</a></strong>(增量更新,beta)</li>
   <li><strong>Preview 4</strong>(最终 API 和官方 SDK,在 Play 中发布)</li>
   <li><strong>Preview 5</strong>(接近最终版本系统映像,用于最终测试)</li>
   <li>向 AOSP 和生态系统发布<strong>最终版本</strong></li>
 </ul>
 
 <p>
-  每次的更新包括 SDK 工具、预览版系统映像、模拟器、参考文档和 API 差异。
+  每次的更新包括 SDK 工具、Preview 系统映像、模拟器、参考文档和 API 差异。
 
 </p>
 
 <p>
-  <strong>前三个预览版里程碑</strong>提供<strong>早期测试和开发环境</strong>,帮助您发现当前应用中的兼容性问题,并针对新平台计划必要的迁移或功能工作。这是向我们提供功能和 API 以及文件兼容性问题反馈的优先期 &mdash; 请使用 <a href="{@docRoot}preview/bug">Issue Tracker</a> 进行反馈。在更新期间,API 可能会有变更。
+  <strong>前三个 Preview 里程碑</strong>提供<strong>早期测试和开发环境</strong>,帮助您发现当前应用中的兼容性问题,并针对新平台计划必要的迁移或功能工作。
 
 
+这是向我们提供功能和 API 以及文件兼容性问题反馈的优先期 &mdash; 请使用 <a href="{@docRoot}preview/bug">Issue Tracker</a> 进行反馈。
+
+
+在更新期间,API 可能会有变更。
+</p>
+
+<p>
+  在<strong>Preview 4 和 5</strong> 中,您将可以访问<strong>最终版的 N API 和 SDK</strong> 进行开发,以及用于测试系统行为和功能的接近最终版的系统映像。
+
+此时 Android N 会提供标准的 API 级别。
+您可以对旧版应用进行最终的兼容性测试,并优化使用 N API 或功能的新代码。
+
+</p>
+
+<p>
+  此外,从 Preview 4 开始,您将可以面向运行正式 API 级别的 Android N 的<strong>设备发布应用</strong>,例如选择加入 Android Beta 计划的消费者设备。您可以先在 Google Play 的 alpha 和 beta 渠道发布应用,通过 Android Beta 消费者对应用进行测试,然后在商店大范围推广。
+
 
 
 
@@ -175,33 +192,16 @@
 </p>
 
 <p>
-  在<strong>预览版 4 和 5</strong> 中,您将可以使用<strong>最终版的 N API 和 SDK</strong> 进行开发,以及用于测试系统行为和功能的接近最终版的系统映像。此时 Android N 会提供标准的 API 级别。您可以对旧版应用进行最终的兼容性测试,并优化使用 N API 或功能的新代码。
+  如果您在 Android N 中进行测试和开发,我们郑重建议您随着 Preview 更新的发布,<strong>将开发环境保持为相应的最新版本</strong>。
 
+为了方便更新,您可以在 Android Beta 计划中注册您的测试设备,这样就可以在每个里程碑实现<strong>空中下载 (OTA) 更新</strong>。
 
-
+此外,您还将获得可手动下载并刷入的系统映像。
 
 </p>
 
 <p>
-  此外,从预览版 4 开始,您将可以面向运行正式 API 级别的 Android N 的<strong>设备发布应用</strong>,例如选择加入 Android Beta 计划的消费者设备。您可以先在 Google Play 的 alpha 和 beta 渠道发布应用,通过 Android Beta 消费者对应用进行测试,然后在商店大范围推广。
-
-
-
-
-
-</p>
-
-<p>
-  如果您在 Android N 中进行测试和开发,强烈建议您在发布预览版更新后,<strong>将开发环境更新到最新版本</strong>。为了方便更新,您可以在 Android Beta 计划中注册您的测试设备,这样就可以在每个里程碑实现<strong>空中下载 (OTA) 更新</strong>。此外,您还将获得可手动下载并刷入的系统映像。
-
-
-
-
-
-</p>
-
-<p>
-  当有预览版更新可用时,我们将通过 <a href="http://android-developers.blogspot.com/">Android 开发者博客</a>、此站点以及 <a href="{@docRoot}preview/dev-community">Android N 开发者社区</a>通知您。
+  当有 Preview 更新可用时,我们将通过 <a href="http://android-developers.blogspot.com/">Android 开发者博客</a>、此网站以及 <a href="{@docRoot}preview/dev-community">Android N 开发者社区</a>通知您。
 
 
 </p>
@@ -217,7 +217,7 @@
 
 <h3 id="sdk_tools">SDK 工具</h3>
 
-<p>您可通过 <a href="{@docRoot}sdk/installing/adding-packages.html">Android Studio</a> 中的 SDK 管理器下载这些组件:</p>
+<p>您可通过 <a href="{@docRoot}studio/intro/update.html">Android Studio</a> 中的 SDK 管理器下载这些组件:</p>
 
 <ul>
   <li> N Developer Preview <strong>SDK 和工具</strong>
@@ -239,23 +239,23 @@
 </p>
 
 <p>
-  我们将在每个里程碑为这些设备提供更新的系统映像。您可以手动下载更新的系统映像,并刷入测试设备(如需要,可多次刷入)。这尤其适合需要多次重刷设备的自动化测试环境。
+  我们将在每个里程碑为这些设备提供更新的系统映像。您可以手动下载更新的系统映像,并刷入测试设备(如需要,可多次刷入)。
 
-
+这尤其适合需要多次重刷设备的自动化测试环境。
 
 
 </p>
 
-<p class="note"><strong>注</strong>:<strong>手动刷入设备将不会像在去年的预览版中一样获得 OTA 更新。</strong>今年,您可以通过在 Android Beta 计划中注册设备获得 OTA &mdash; 有关详情请参阅下文。
-
-
+<p class="note"><strong>注</strong>:
+  <strong>手动刷入设备将不会像在去年的 Preview 中一样获得 OTA 更新。</strong>
+今年,您可以通过在 Android Beta 计划中注册设备获得 OTA &mdash; 有关详情请参阅下文。
 
 </p>
 
 <h3 id="android_beta">通过 Android Beta 计划获得 OTA 更新</h3>
 
 <p>
-  Android N 的一项新功能是空中下载 (OTA) 更新计划,该功能可以将 Android N 最新的预览版更新直接发送到注册该计划的设备。该计划是免费服务,只要您拥有支持的设备并将其注册到 Google 帐户,就可以使用该服务。
+  Android N 的一项新功能是空中下载 (OTA) 更新计划,该功能可以将 Android N 最新的Preview 更新直接发送到注册该计划的设备。该计划是免费服务,只要您拥有支持的设备并将其注册到 Google 帐户,就可以使用该服务。
 
 
 
@@ -297,11 +297,11 @@
 
 </p>
 
-  <p class="note"><strong>注</strong>:注销后,<strong>您的设备将恢复到最新版本 Android 6.0 Marshmallow 的出厂设置</strong>(不一定是您注册设备前安装的版本)。为确保全新安装,您设备中的数据将被擦除,包括联系人、消息和照片等。
+  <p class="note"><strong>注</strong>:
+  注销后,<strong>您的设备将恢复到最新版本 Android 6.0 Marshmallow 的出厂设置</strong>(不一定是您注册设备前安装的版本)。
 
 
-
-
+为确保全新安装,您设备中的数据将被擦除,包括联系人、消息和照片等。
 
 
 </p>
@@ -333,7 +333,7 @@
 <h4 id="reference">可下载的 API 参考资料</h4>
 
 <p>
-  在预览版更新初期,您可以下载最新的 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Android N 平台 API 参考资料</a>,作为单独的 Zip 存档。下载的参考资料还包含差异报告,可帮助您识别相对 API 23 和上一次更新 API 的变更。
+  在 Preview 更新初期,您可以下载最新的 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Android N 平台 API 参考资料</a>,作为单独的 Zip 存档。下载的参考资料还包含差异报告,可帮助您识别相对 API 23 和上一次更新 API 的变更。
 
 
 
@@ -355,11 +355,11 @@
 </p>
 
 <ul>
-  <li> <a href="https://code.google.com/p/android-developer-preview/">N Developer Preview 的 Issue Tracker</a> 是您的<strong>主要反馈渠道。</strong>您可通过 Issue Tracker 报告错误、性能问题和一般反馈。您还可以查阅<a href="{@docRoot}preview/bug">已知问题</a>并找到解决方法。我们将对您的问题进行分类并发送到 Android 工程团队以供审查,且会为您提供进度更新通知。
+  <li> <a href="https://code.google.com/p/android-developer-preview/">N Developer Preview Issue Tracker</a>是您的<strong>主要反馈渠道。</strong>
+您可通过 Issue Tracker 报告错误、性能问题和一般反馈。
+您还可检查 <a href="{@docRoot}preview/bugs">已知问题</a>并找出解决方法步骤。
 
-
-
-
+我们将对您的问题进行分类并发送到 Android 工程团队以供审查,且会为您提供进度更新通知。
  </li>
   <li> <a href="{@docRoot}preview/dev-community">Android N 开发者社区</a>是一个 Google+ 社区。在此社区中,您可<strong>与其他使用 Android N 的开发者建立联系</strong>。您可以分享观察结果或想法,或找到 Android N 问题的解决方法。我们将管理社区,并根据需要提供解答和指导。
 
@@ -368,11 +368,11 @@
 </li>
 </ul>
 
-<h3 id="targeting">锁定目标、预览版 API 和发布</h3>
+<h3 id="targeting">锁定目标、Preview API 和发布</h3>
 
 <p>
   N Developer Preview 提供的系统和 Android 库仅面向开发,<strong>不具备标准的 API 级别</strong>。如果您想通过拒绝兼容性行为测试您的应用(强烈推荐此做法),则可将应用的 <code><a href=
-  "{@docRoot}preview/setup-sdk.html#create-update">targetSdkVersion</a></code> 设置为 <code>“N”</code>,从而锁定 Android N 的预览版。
+  "{@docRoot}preview/setup-sdk.html#create-update">targetSdkVersion</a></code> 设置为 <code>“N”</code>,从而锁定 Android N 的预览版本。
 
 
 
@@ -381,25 +381,25 @@
 </p>
 
 <p>
-  Android N Developer Preview 提供<strong>预览 API</strong> 功能 &mdash; 在最终版本 SDK 发布之前,这些 API 都不是正式版本。目前,最终版本 SDK 计划于 2016 年第三季度发布。这意味着一段时期内,特别是该计划的最初几周内,<strong>API 可能会出现细微更改</strong>。我们会通过 Android N Developer Preview 的每次更新为您提供变更摘要。
-
-
-
-
+  Android N Developer Preview 提供<strong>预览版 API</strong> 功能 
+&mdash; 在最终的 SDK 发布之前,这些 API 都不是正式的 API。目前,最终的 SDK 计划于 2016 年第三季度发布。
+这意味着一段时期内,特别是该计划的最初几周内,
+<strong>API 可能会出现细微变化</strong>。
+我们会通过 Android N Developer Preview 的每次更新,为您提供一份变更摘要。
 
 </p>
 
 <p class="note">
-  <strong>注</strong>:虽然预览版 API 可能会更改,但基本系统行为仍保持稳定,可以立即用于测试。
+  <strong>注</strong>:虽然 Preview API 可能会更改,但基本系统行为仍保持稳定,可以立即用于测试。
 
 
 </p>
 
 <p>
-  Google Play <strong>禁止发布面向 N Developer Preview 的应用</strong>。当 Android N 最终版本 SDK 可用时,您可以锁定官方 Android N API 级别,并通过 alpha 和 beta 发布渠道将应用发布至 Google Play。与此同时,如果您想要向测试者推广面向 Android N 的应用,则可通过电子邮件或从您的站点直接下载来实现。
+  Google Play <strong>禁止发布面向 N Developer Preview 的应用</strong>。
+当 Android N 最终版本 SDK 可用时,您可以锁定官方 Android N API 级别,并通过 alpha 和 beta 发布渠道将应用发布至 Google Play。
 
-
-
+与此同时,如果您需要将针对 Android N 的应用分发给测试者,则可通过电子邮件或从您的网站直接下载实现这一点。
 
 
 </p>
@@ -418,9 +418,9 @@
 </p>
 
 <ol>
-  <li> 查看 <a href="{@docRoot}preview/api-overview.html">API 概览</a>和<a href="{@docRoot}preview/behavior-changes.html">行为变更</a>,大致了解新功能及其对您应用的影响。您尤其需要了解的是新的<a href="{@docRoot}preview/features/notification-updates.html">通知</a>功能和<a href="{@docRoot}preview/features/multi-window.html">多窗口支持</a>。
+  <li> 查看 <a href="{@docRoot}preview/api-overview.html">API 概览</a>和<a href="{@docRoot}preview/behavior-changes.html">行为变更</a>,大致了解新功能及其如何影响您的应用。
 
-
+尤其是,您需要了解新的<a href="{@docRoot}preview/features/notification-updates.html">通知</a>功能和<a href="{@docRoot}preview/features/multi-window.html">多窗口支持</a>。
 
 </li>
   <li> 根据<a href="{@docRoot}preview/setup-sdk.html">设置 Preview SDK</a> 和配置测试设备的说明设置您的环境。
diff --git a/docs/html-intl/intl/zh-cn/preview/preview_toc.cs b/docs/html-intl/intl/zh-cn/preview/preview_toc.cs
new file mode 100644
index 0000000..9e852c5
--- /dev/null
+++ b/docs/html-intl/intl/zh-cn/preview/preview_toc.cs
@@ -0,0 +1,75 @@
+<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="程式總覽">计划概览</a></div>
+  </li>
+
+
+  <li class="nav-section">
+    <div class="nav-section-header empty"><a href="&lt;?cs var:toroot ?&gt;preview/support.html">支持与版本说明</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">设置 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="在裝置上測試">在设备上测试</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="行為變更">行为变更</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="背景最佳化">后台优化</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="語言和地區設定">语言和区域设置</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="多視窗支援">多窗口支持</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="通知">通知</a></li>
+
+        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/data-saver.html">Data Saver</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="電視錄製">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="網路安全性設定">网络安全配置</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">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 語言功能">Java 8 语言功能</a></li>
+
+        <li><a href="&lt;?cs var:toroot ?&gt;preview/features/afw.html">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="限定範圍目錄存取">作用域目录访问</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="範例">示例</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="授權協議">许可协议</a></div>
+  </li>
+
+</ul> 
\ No newline at end of file
diff --git a/docs/html-intl/intl/zh-cn/preview/samples.jd b/docs/html-intl/intl/zh-cn/preview/samples.jd
index 5e77698..dd68566 100644
--- a/docs/html-intl/intl/zh-cn/preview/samples.jd
+++ b/docs/html-intl/intl/zh-cn/preview/samples.jd
@@ -10,12 +10,12 @@
 </p>
 
 <p class="note">
-  <strong>注:</strong>这些可下载的项目是专为配合 Gradle 和 Android Studio 使用而设计的。
+  <strong>注:</strong>这些可下载的项目设计用于与 Gradle 和 Android Studio 结合使用。
 
 </p>
 
 
-<h3 id="mw">Multi-Window Playground</h3>
+<h3 id="mw">多窗口 Playground</h3>
 <img src="{@docRoot}preview/images/sample-multiwindow.png" style="float: left; padding-right: 0.5em" height="250" width="156" />
 <p>
   此示例演示如何在您的应用中充分利用多窗口用户界面。
diff --git a/docs/html-intl/intl/zh-cn/preview/setup-sdk.jd b/docs/html-intl/intl/zh-cn/preview/setup-sdk.jd
index 69971d8..872ad7c 100644
--- a/docs/html-intl/intl/zh-cn/preview/setup-sdk.jd
+++ b/docs/html-intl/intl/zh-cn/preview/setup-sdk.jd
@@ -1,7 +1,7 @@
-page.image=images/cards/card-n-sdk_2x.pngpage.title=设置预览版
-meta.keywords="预览版", "android"
+page.title=设置 Preview
+meta.keywords="preview", "android"
 page.tags="preview", "developer preview"
-
+page.image=images/cards/card-n-sdk_2x.png
 
 @jd:body
 
@@ -15,7 +15,7 @@
       <li><a href="#docs-dl">参考文档</a>
     </ol>
   </li>
-  <li><a href="#java8">获取 Java 8 JDK 和 JRE</a></li>
+  <li><a href="#java8">获取 Java 8 JDK</a></li>
   <li><a href="#create-update">更新或创建一个项目</a></li>
   <li><a href="#next">后续步骤</a></li>
 </ol>
@@ -31,51 +31,23 @@
 <img src="{@docRoot}preview/images/n-preview-setup.png" width="700" alt="" />
 
 
-<h2 id="get-as13">获取 Android Studio 2.1(预览版)</h2>
+<h2 id="get-as13">获取 Android Studio 2.1</h2>
 
-<p>Android N 平台为 <a href="{@docRoot}preview/j8-jack.html">Java 8 语言功能</a>添加支持,该功能需要一个名为 Jack 的新编译器。当前仅在 Android Studio 2.1 中支持最新的 Jack 版本。因此,如果您想要使用 Java 8 语言功能,则必须使用 Android Studio 2.1 构建应用。或者,您不需要使用 Jack 编译器,但仍需要更新至 JDK 8 以便使用 Android N 平台进行编译,如下所述。
+<p>Android N 平台为 <a href="{@docRoot}preview/j8-jack.html">Java 8 语言功能</a>添加支持,该功能需要一个名为 Jack 的新编译。
+当前仅在 Android Studio 2.1 中支持最新的 Jack 版本。因此,如果您想要使用 Java 8 语言功能,则必须使用 Android Studio 2.1 构建应用。
 
 
-
-
-
+或者,您不需要使用 Jack 编译器,但仍需要更新至 JDK 8 以便使用 Android N 平台进行编译,如下所述。
 
 </p>
 
-<p>在 Canary 发布渠道中,Android Studio 2.1 当前可以预览版的形式提供。如果您已拥有 Android Studio 且不需要更新到 Canary 发布渠道,您可通过单独安装的形式下载 Android Studio 2.1,并使用它在 Android N 中进行开发,从而使您的主要 Android Studio 环境不受影响。
-
-
-
+<p>如果您已经安装了 Android Studio,请通过点击 <strong>Help &gt; Check for Update</strong>(在 Mac 上,点击 <strong>Android Studio &gt; Check for Updates</strong>)来确保您安装的是 Android Studio 2.1 或更高版本。
 
 </p>
 
-<p>若要以单独安装的形式下载 Android Studio 2.1,则按照以下步骤进行操作(或者如果想要收到 Android Studio 2.1 作为现有安装的更新,则跳过第 4 步):
-
+<p>如果您尚未安装,请在此处<a href="{@docRoot}studio/">下载 Android Studio 2.1</a>。
 </p>
 
-<ol>
-  <li>编辑现有 Android Studio 安装的名称并追加版本号。通过此方式,当您安装新版本时,新版本不会重写现有的版本。
-
-</li>
-  <li>从 <a href="http://tools.android.com/download/studio/canary/latest">Canary 发布渠道下载页面</a>为您的操作系统下载适当的 ZIP 文件。
-
-  </li>
-  <li>将软件包解压缩,并将 Android Studio 2.1 内容移到您系统上相应的应用位置,然后启动它。
-</li>
-  <li>打开 Settings 对话框(在 Windows/Linux 上打开 <strong>File &gt; Settings</strong>,或在 Mac 上打开 <strong>Android Studio &gt; Preferences</strong>)。在左侧面板中,选择 <strong>Appearance &amp; Behavior &gt; System Settings &gt; Updates</strong>。
-
-
-
-
-  </li>
-  <li>在 Updates 面板上,选中 <strong>Automatically check updates for</strong>复选框,并从下拉列表中选择 <strong>Canary Channel</strong>。
-
-
-  </li>
-</ol>
-
-<p>保持此设置窗口处于打开状态,以执行下一步。</p>
-
 
 <h2 id="get-sdk">获取 N Preview SDK</h2>
 
@@ -83,22 +55,15 @@
 </p>
 
 <ol>
-  <li>同时还查看 Updates 面板(来自上面的第 4 步),选中 <strong>Automatically check updates for Android SDK</strong> 复选框,然后从下拉列表中选择 <strong>Preview Channel</strong>。
+  <li>点击 <strong>Tools &gt;Android &gt; 
+SDK Manager</strong> 来打开 SDK 管理器。</li>
 
-
-
-  </li>
-  <li>点击 <strong>Check Now</strong>。</li>
-
-  <li>在左侧面板中,选择 <strong>Appearance &amp; Behavior &gt; System Settings &gt; Android SDK</strong>。
-
-
-  <li>点击 <strong>SDK Platforms</strong> 选项卡,然后选中 <strong>Android N Preview</strong> 复选框。
+  <li>在 <strong>SDK Platforms</strong> 选项卡中选中 <strong>Android N Preview</strong> 复选框。
 </li>
 
-  <li>点击 <strong>SDK Tools</strong> 选项卡,然后选中 <strong>Android SDK Build Tools</strong>、<strong>Android SDK Platform-Tools</strong> 和 <strong>Android SDK Tools</strong> 复选框。
-
-
+  <li>点击 <strong>SDK Tools</strong> 选项卡,然后选中
+ <strong>Android SDK Build Tools</strong>、<strong>Android SDK
+ Platform-Tools</strong> 和 <strong>Android SDK Tools</strong> 复选框。
 
   </li>
 
@@ -124,22 +89,20 @@
   </tr>
   <tr>
     <td style="white-space: nowrap">
-    <a href="{@docRoot}shareables/preview/n-preview-1-docs.zip">n-preview-1-docs.zip</a></td>
+    <a href="{@docRoot}shareables/preview/n-preview-3-docs.zip">n-preview-3-docs.zip</a></td>
     <td width="100%">
-      MD5:4ab33ccbe698f46f125cc5b807cf9c2f<br>
-      SHA-1:6a3880b3ccd19614daae5a4d0698ea6ae11c20a5
+      MD5:19bcfd057a1f9dd01ffbb3d8ff7b8d81<br>
+      SHA-1:9224bd4445cd7f653c4c294d362ccb195a2101e7 
     </td>
   </tr>
-</table>
+<table>
 
 
 
-<h2 id="java8">获取 Java 8 JDK 和 JRE</h2>
+<h2 id="java8">获取 Java 8 JDK</h2>
 
-<p>若要使用 Android N 平台编译您的应用,您需要使用 Java 8 Developer Kit (JDK 8),同时为了在 Android Studio 2.1 中使用一些工具,您需要安装 Java 8 Runtime Environment (JRE 8)。因此,如果您还没有每个软件的最新版本,请立即下载 JDK 8 和 JRE 8。
-
-
-
+<p>若要使用 Android N 平台编译您的应用,并在 Android Studio 2.1 中使用一些工具,您需要安装 Java 8 Developer Kit (JDK 8)。
+因此,如果您还没有最新版本,请立即下载 JDK 8 。
 </p>
 
 <p>然后,按如下所示在 Android Studio 中设置 JDK 版本:</p>
@@ -184,7 +147,7 @@
 <pre>
 android {
   compileSdkVersion <strong>'android-N'</strong>
-  buildToolsVersion <strong>'24.0.0-rc1'</strong>
+  buildToolsVersion <strong>'24.0.0-rc3'</strong>
   ...
 
   defaultConfig {
@@ -199,7 +162,7 @@
 <h3 id="create">创建新项目</h3>
 
 
-<p>若要使用 Android N  Preview SDK 创建新的开发项目:</p>
+<p>若要使用 Android N Preview SDK 创建新的开发项目:</p>
 
 <ol>
   <li>点击 <strong>File &gt; New Project</strong>。按照步骤进行操作,直到您到达“Target Android Devices”页面。
@@ -221,3 +184,4 @@
 
 </li>
 </ul>
+
diff --git a/docs/html-intl/intl/zh-cn/preview/support.jd b/docs/html-intl/intl/zh-cn/preview/support.jd
new file mode 100644
index 0000000..9efb5b2
--- /dev/null
+++ b/docs/html-intl/intl/zh-cn/preview/support.jd
@@ -0,0 +1,1188 @@
+page.title=支持和版本说明
+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>本文内容</h2>
+
+<ul>
+  <li><a href="#dp3">Developer Preview 3</a>
+    <ul>
+      <li><a href="#general">一般公告</a></li>
+      <li><a href="#new">DP3 的新功能</a></li>
+      <li><a href="#ki">已知问题</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>
+  当您使用 Android N Developer Preview 进行开发和测试时,您可借助两个主要支持渠道:
+请在 <a href="https://developer.android.com/preview/bug">https://developer.android.com/preview/bug</a> 提交有关设备、系统和 Google App 错误的错误。
+对于其他应用问题,请直接联系开发者。
+
+</p>
+
+<p>若要与其他参与 Android N 的开发者讨论问题或想法,请加入 <a href="{@docRoot}preview/dev-community">Developer Preview Google+ 社区</a>。
+</p>
+
+<h2 id="dp3">Developer Preview 3</h2>
+
+<div class="wrap">
+  <div class="cols">
+    <div class="col-6of12">
+      <p>
+        <em>日期:2016 年 5 月<br>
+        构建:NPD35K<br>
+        模拟器支持:x86 &amp; ARM(32/64 位)<br>
+        Google Play 服务:8.4</em>
+      </p>
+    </div>
+  </div>
+</div>
+
+<h3 id="general">一般公告</h3>
+
+<p>
+  Developer Preview 版本适用于<strong>应用开发者和其他早期试用者</strong>,可用于日常使用、开发或兼容性测试。
+
+请注意关于版本的一般注意事项:
+
+</p>
+
+<ul>
+  <li>这个版本可能会在支持设备上出现不同的<strong>稳定性问题</strong>。
+用户可能会遇到系统不稳定,如内核错误和崩溃。
+
+  </li>
+
+  <li>有些应用<strong>可能无法在新的平台版本上如预期运行。</strong>
+这其中包括 Google 应用和其他应用。
+  </li>
+
+  <li>Developer Preview 3 已在以下设备上经过<strong>兼容性测试套件 (CTS) 批准</strong>:
+Nexus 5X、Nexus 6、Nexus 6P 和 Pixel C。依赖 CTS 批准构建的应用应能在这些设备上正常运行(例如 Android Pay)。
+
+
+  </li>
+
+  <li>Developer Preview 3 <strong>适用于所有支持设备:</strong>
+Nexus 5X、Nexus 6、Nexus 6P、Nexus 9、Nexus Player、Pixel C、General Mobile 4G (Android One) 以及 Sony Xperia Z3 (D6603 和
+  D6653 型号)。
+
+
+  </li>
+</ul>
+
+
+<h3 id="new">DP3 的新功能</h3>
+
+<h4 id="">面向 Android 的 VR 模式</h4>
+
+<p>
+  Android N 为新的 VR 模式增加了平台支持和优化,以使开发者能为用户打造高质量移动 VR 体验。
+增加了一些性能增强特性,包括允许 VR 应用访问某个专属的 CPU 核心。
+
+在您的应用中,您可以充分利用到专为 VR 设计的智能头部跟踪和立体声通知功能。
+最重要的是,Android N 的图形延时非常低。
+
+</p>
+
+<p>
+  如需更多信息,请参阅<a href="https://developers.google.com/vr/android/">面向 Android 的Google VR SDK</a>。
+</p>
+
+<h4 id="">持续性能模式</h4>
+
+<p>
+  为解决这些限制,Android N 包括了<a href="{@docRoot}preview/api-overview.html#sustained_performance_api">持续性能模式</a> 支持,帮助原始设备制造商 (OEM) 提供关于长期运行应用的设备性能能力的提示。
+
+应用开发者随后可以使用这些提示来根据可预测的一致设备性能水平调整长期应用。
+
+应用开发者只能在 Nexus 6P 设备的 Developer Preview 上尝试这项新的 API。
+
+</p>
+
+<h4>多进程 WebView</h4>
+
+<p>
+  从 Android N 中的版本 51 开始,WebView 将开发者选项“多进程 WebView”被启用时,在一个单独的沙盒进程中运行网页内容。
+
+WebView 团队正在寻求关于 N 中的兼容性和运行时性能的反馈,并随后将在未来 Android 版本中启用多进程 WebView。
+
+在这个版本中,可预期启动时间回归、总内存使用和软件渲染性能。
+
+</p>
+
+<p>
+  如果您在多进程模式中遇到意外问题,请告诉我们。
+请通过<a href="https://bugs.chromium.org/p/chromium/issues/entry?template=Webview%20Bugs">提交错误</a>来联系 WebView 团队。
+
+</p>
+
+<h4 id="">键盘快捷键辅助工具</h4>
+
+<p>
+  在 Android N 中,用户可以按 <code>Meta+/</code> 触发<strong>键盘快捷键</strong>屏幕,它会显示系统和对焦的应用中可用的所有快捷键。
+
+开发者可以添加自己的快捷键,或者从他们的应用触发快捷键屏幕。
+请参阅<a href="{@docRoot}preview/api-overview.html#keyboard_shortcuts_helper">键盘快捷键辅助工具</a>以了解详细信息。
+
+</p>
+
+<h4 id="">FrameMetrics API</h4>
+
+<p>
+  DP3 引入了一项新的 <a href="{@docRoot}preview/api-overview.html#framemetrics_api">FrameMetrics API</a>,它通过公开流式传输 Pub/Sub API 来传递应用的当前窗口帧计时信息,允许应用监测其 UI 渲染性能。<code>FrameMetricsListener</code> 可用于从更高的粒度衡量生产中的交互级 UI 性能,无需 USB 连接。
+
+
+
+
+
+</p>
+
+<h4 id="api-changes">功能和 API 更改</h4>
+
+<dl>
+  <dt>
+    启动器快捷键和启动器快捷键 API
+  </dt>
+
+  <dd>
+    我们已经决定将这项功能推迟到未来的 Android 版本中。我们计划从下一个 Developer Preview 开始,从公开 Android N API 中移除启动器快捷键 API(ShortcutManager 等)。
+
+
+  </dd>
+
+  <dt>
+    WebView Javascript 在页面加载之前运行
+  </dt>
+
+  <dd>
+    从面向 Android N 的应用开始,JavaScript 上下文会在加载新页面时重置。
+目前,新 {@link android.webkit.WebView} 实例中加载的第一个页面会继承上下文。
+
+    想要在 {@link
+    android.webkit.WebView} 中注入 Javascript 的开发者应在页面开始加载后执行脚本。
+
+  </dd>
+
+  <dt>
+    不安全起点上的 WebView 地理定位
+  </dt>
+
+  <dd>
+    从面向 Android N 的应用开始,地理定位 API 将仅在安全的起点(通过 HTTPS)上被允许。
+此政策的目的是在用户使用不安全连接时保护他们的私人信息。
+
+  </dd>
+
+  <dt>
+    Data Saver
+  </dt>
+
+  <dd>
+    从 Developer Preview 3 开始,应用可以使用 Intent 来显示系统对话框,使用户能直接向 Data Saver 豁免白名单中添加应用。
+
+请参阅 <a href="{@docRoot}preview/api-overview.html#data_saver">Data Saver 文档</a>以了解详细信息。
+
+  </dd>
+
+  <dt>
+    <a href="{@docRoot}preview/api-overview.html#number-blocking">号码屏蔽</a>
+  </dt>
+
+  <dd>
+    如果未经授权的用户试图屏蔽或取消屏蔽一个号码,操作会即时失败,并返回 {@link java.lang.SecurityException}。
+(之前,操作曾引发 {@link java.lang.UnsupportedOperationException} )
+
+  </dd>
+
+  <dt>
+    <a href="{@docRoot}preview/api-overview.html#tile_api">快速设置图块 API</a>
+
+  </dt>
+
+  <dd>
+    系统现在使用 Activity 的元数据来决定图块模式。
+    (之前平铺模式是由 <code>TileService.onTileAdded()</code> 的返回值决定。)
+如需了解详细信息,请参阅可下载的 <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API 参考</a> 中的 
+<code>TileService.META_DATA_ACTIVE_TILE</code>。
+  </dd>
+</dl>
+
+<h4 id="dp3-fixes">修复开发者报告的问题</h4>
+
+<p>
+  开发者报告的许多问题都已得到修复,包括:
+</p>
+
+<ul>
+  <li>在 1 首歌后蓝牙音频播放中断(错误 <a href="https://code.google.com/p/android/issues/detail?id=206889">206889</a>)
+  </li>
+
+  <li>Pixel C 不断崩溃(错误 <a href="https://code.google.com/p/android/issues/detail?id=206962">206962</a>)
+  </li>
+
+  <li>时钟和 Toast 通知问题(错误 <a href="https://code.google.com/p/android/issues/detail?id=203094">203094</a>)
+  </li>
+
+  <li>当通过 USB C 电缆连接到 MacBook Pro 时,Pixel C 重新启动(错误 <a href="https://code.google.com/p/android/issues/detail?id=205432">205432</a>)
+
+  </li>
+
+  <li>日历偏移一天(错误 <a href="https://code.google.com/p/android/issues/detail?id=203002">203002</a>)
+  </li>
+
+  <li>TelephonyManager.getAllCellInfo 返回无效数据(错误 <a href="https://code.google.com/p/android/issues/detail?id=203022">203022</a>)
+  </li>
+
+  <li>Nexus 6p,蓝牙一直断开(错误 <a href="https://code.google.com/p/android/issues/detail?id=208062">208062</a>)
+  </li>
+</ul>
+
+<p>如需已修复问题的完整清单,请参阅 <a href="https://goo.gl/6uCKtf">Issue Tracker</a>。
+</p>
+
+<h3 id="ki">已知问题</h3>
+
+<h4>无障碍功能</h4>
+
+<ul>
+  <li>将间距被设置为近最大水平时,无法侦听 TTS 输出。
+  </li>
+
+  <li>当用户添加工作资料时可能会使无障碍功能和设置中断。
+无障碍状态会在用户下一次触及相关设置时恢复。
+
+  </li>
+</ul>
+
+<h4>相机</h4>
+
+<ul>
+  <li>相机应用表现出了不稳定性;它可能会在各种情况下崩溃,例如当在多窗口模式下启动时。
+
+  </li>
+
+  <li>在全景模式下连按快门可能导致相机应用崩溃。
+
+  </li>
+</ul>
+
+<h4>音频</h4>
+<ul>
+  <li>平台音频播放器问题阻止某些应用程序的正常运行。
+例如,Skype 和其他应用程序受到此问题的影响。
+  </li>
+</ul>
+
+<h4>连接</h4>
+
+
+<ul>
+  <li>当蓝牙低功耗 (BLE) 外围角色设备公布一项服务和一项 BLE 中心角色设备相连时,外围角色设备很快会断开连接。
+
+
+  </li>
+
+  <li>当屏幕关闭时 Wi-Fi 连接可能丢失。
+  </li>
+
+  <li>RFCOMM 连接不稳定,可能导致数据损坏和悬挂的连接。
+
+  </li>
+
+  <li>活动网络状态({@link android.net.NetworkInfo#getState
+  NetworkInfo.getState()} 和 {@link android.net.NetworkInfo#getDetailedState
+  NetworkInfo.getDetailedState()})可能会在一些受限制的后台情况下返回错误的值。
+
+  </li>
+</ul>
+
+
+<h4>
+  启动器
+</h4>
+
+<ul>
+  <li>默认启动器的所有应用托盘都可能在循环关闭/开启屏幕后无响应。
+返回到主屏幕并重新启动所有应用程序托盘可以解决这个问题。
+
+  </li>
+</ul>
+
+<h4>
+  键盘
+</h4>
+
+<ul>
+  <li>在将一个运行 Android 6.0 或更早版本的设备更新到 N Developer Preview 时,Google 键盘不会保留首选项数据,如最近的表情符号和声音设置。 
+
+
+  </li>
+
+  <li>Google Indic 托管键盘可能不稳定。
+  </li>
+
+  <li>当在密码字段中输入文本时,用户可以选择俄罗斯语作为输入语言,但键盘仍将为英语。
+这可以防止用户输入俄罗斯语的密码。
+
+  </li>
+</ul>
+
+<h4>
+  区域设置和语言
+</h4>
+
+<ul>
+  <li>当使用从右到左 (RTL) 的语言区域时,系统可能会在重新启动设备后意外切换到从左到右 (LTR) 表示。
+
+  </li>
+</ul>
+
+<h4>媒体</h4>
+
+<ul>
+  <li>Nexus 9 和 Nexus Player 上的媒体播放可能会不稳定,包括播放高清视频出现问题。
+
+  </li>
+</ul>
+
+<h4>
+  多窗口模式
+</h4>
+
+<ul>
+  <li>当在多窗口模式下改变屏幕方向时,设备可能会冻结。
+  </li>
+
+  <li>目前有几个应用程序出现了多窗口模式问题:
+    <ul>
+      <li>当把“Settings &gt; Display &gt; Screen brightness”对接到多窗口时,系统 UI 可能崩溃。
+
+      </li>
+
+      <li>在多窗口模式下启动时,相机应用可能会崩溃。
+      </li>
+
+      <li>在多窗口模式下启动时,YouTube 可能会崩溃。若要修复此问题,您可以在“Storage &gt; Apps &gt; YouTube”中清除 YouTube 应用数据。
+
+
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<h4>
+  Google Play 服务
+</h4>
+
+<ul>
+  <li>当用户选择一个使用 ASCII 范围外的字母和数字的系统语言区域时,通过 Google Play 服务使用 Google Cast 的应用可能会不稳定。
+
+
+  </li>
+</ul>
+
+<h4>
+  Android for Work 和 Google Apps 设备规范
+</h4>
+
+<ul>
+  <li>当用户在“设备规范状态”屏幕固定的情况下解锁设备时,设备规范应用可能会崩溃。
+
+  </li>
+
+  <li>在启用了基于文件的加密的情况下,在设置了工作资料并随后关闭工作后,用户必须解锁主个人资料屏幕锁定,以便能再次访问工作应用。
+
+
+  </li>
+
+  <li>在移除安全模式锁定并在多窗口下打开工作应用/个人应用时,设备重新启动。
+
+  </li>
+
+  <li>设置 DISALLOW_VPN_CONFIG 会导致设备规范客户端设置的 Always-on-VPN 显示同意对话框。
+
+  </li>
+
+  <li>在 VPN 以 Always-on-VPN 模式连接之前,流量不会锁定。
+  </li>
+</ul>
+
+<h4>
+  外部存储
+</h4>
+
+<ul>
+  <li>当用户将应用从内部存储移动到可采用的外部存储(可能包括 SD 卡和通过 USB 连接的设备)时,应用可能会变得不稳定。
+
+
+  </li>
+</ul>
+
+<h4>
+  Google Play 中的屏幕缩放和多 APK
+</h4>
+
+<ul>
+  <li>在运行 Android N 的设备上,Google Play 服务 9.0.83 错误地报告当前屏幕密度,而不是报告稳定屏幕密度。
+当屏幕缩放在这些设备上启用时,可能会导致 Google Play 选择一个为更小的屏幕设计的多 APK 应用版本。
+
+此问题已在下一版 Google Play 服务中得到修复,并将包含在以后的 Developer Preview 版本中。
+
+
+  </li>
+
+  <li>在运行 Android N 的设备上,Google Play 服务 9.0.83 版目前会报告 Vulkan 支持,但不会报告 Vulkan 版本。
+这可能会导致 Google Play 在有较高版本支持的设备上选择为较低的 Vulkan 支持而设计的多 APK 应用版本。
+
+目前,Google Play Store 不接受使用 Vulkan 版本定位的应用上传。
+这一支持将被添加到未来的 Google Play Store 中,并会在下一版 Google Play 服务(将包括在稍后的 Developer Preview 版本中)中得到修复,任何使用 Google Play 服务 9.0.83 版本的设备都将继续获得面向基本 Vulkan 支持的应用版本。
+
+
+
+
+  </li>
+</ul>
+
+<h4 id="">通知</h4>
+
+<ul>
+  <li>MessagingStyle 不显示发件人为“null”(自己)的通知。
+  </li>
+</ul>
+
+<h4 id="">开发者工具</h4>
+
+<ul>
+  <li>
+    <code>adb</code> 有时可能在使用 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>日期:2016 年 4 月<br>
+        构建:NPC91K、NPC91O<br>
+        模拟器支持:x86 &amp; ARM(32/64 位)<br>
+        Google Play 服务:8.4</em>
+      </p>
+    </div>
+  </div>
+</div>
+
+<h3 id="dp2-new">DP2 的新功能</h3>
+
+<ul>
+  <li>Vulkan(新的 3D 渲染 API)的平台支持,提供明晰、低开销的 GPU(图形处理单元)控制功能,同时大大提升绘图调用密集型应用的性能。
+
+有关详情,请参阅
+<a href="{@docRoot}ndk/guides/graphics/index.html"> 文档</a>。
+  </li>
+
+  <li>新人物表情符号,带肤色支持和新的 Unicode 9 字形。
+  在键盘在调色板中建立对它们的支持之前,肤色和新的表情符号将不会显示。
+开发者不需要进行任何操作便能使用这些新的表情符号,除非应用使用的是非系统字体。
+IME 开发者需要整合对新表情符号的支持。
+
+  </li>
+
+  <li>
+    <a href="{@docRoot}preview/api-overview.html#launcher_shortcuts">启动器快捷键 API</a>:
+应用可以使用 <code>ShortcutManager</code> 来向启动器发送应用内起点的快捷键。
+
+  </li>
+
+  <li>
+    <a href="{@docRoot}preview/features/multi-window.html">多窗口</a>:
+    您现在可以为 Activity 单独指定最小高度和最小宽度。
+此外,一些 API 名称已略有改变。
+  </li>
+</ul>
+
+<h4 id="dp2-fixes">修复开发者报告的问题</h4>
+
+<p>
+  开发者报告的许多问题都已得到修复,包括:
+</p>
+
+<ul>
+  <li>无法连接到隐藏的 SSID 或非广播 Wi-Fi。(错误 <a href="https://code.google.com/p/android/issues/detail?id=203116">203116</a>)
+  </li>
+
+  <li>麦克风在整个活动期间保持静音状态。(错误 <a href="https://code.google.com/p/android/issues/detail?id=205922">205922</a>)
+  </li>
+
+  <li>更改多窗口焦点会暂停 YouTube。(错误 <a href="https://code.google.com/p/android/issues/detail?id=203424">203424</a>)
+  </li>
+
+  <li>直接回复可能关闭打开的活动。(错误 <a href="https://code.google.com/p/android/issues/detail?id=204411">204411</a>)
+  </li>
+
+  <li>各种稳定性修复。
+  </li>
+</ul>
+
+<h3 id="dp2-general">一般公告</h3>
+
+<p>
+  Developer Preview 版本仅针对<strong>应用开发者</strong>,仅适用于兼容性测试和早期开发。
+
+  请注意关于版本的一般注意事项:
+</p>
+
+<ul>
+
+  <li>开发工具组件和支持库已更新为 DP2 版本。
+确保为在开发 DP2 之前更新您的预览开发环境。
+如需有关设置您的开发环境的说明,请参阅 <a href="{@docRoot}preview/setup-sdk.html">设置 Preview</a>
+
+
+  </li>
+
+  <li>此版本在所有设备上都出现了不同的稳定性和性能问题,<strong>不适合在手机或平板电脑上的日常使用</strong>,特别是对于非开发人员。
+
+
+  </li>
+
+  <li>在此版本中,电池寿命和性能尚未优化:
+
+
+    <ul>
+      <li>系统和应用<strong>性能已知会周期性地减缓/卡顿</strong>,设备可能偶尔无响应。
+这些问题可能随着长时间使用而变得更迫切。
+
+      </li>
+
+      <li>电池寿命可能在此版本的屏幕开启和屏幕关闭用例里出现倒退。
+
+      </li>
+    </ul>
+  </li>
+
+  <li>有些<strong>应用可能无法在 Developer Preview 2 上正常</strong>运行。这其中包括 Google 应用和其他应用。
+
+  </li>
+
+  <li>这个早期版本未经<strong>兼容性测试套件 (CTS) 批准</strong>。
+依赖 CTS 批准架构的应用无法运行(例如 Android Pay)。
+
+  </li>
+
+  <li>此预览版支持以下设备:Nexus 5X、Nexus 6、 Nexus 6P、Nexus 9、and Pixel C 以及 General Mobile 4G (Android One)。
+
+即将推出 Nexus Player 支持。
+  </li>
+
+
+  <li><a href="https://github.com/googlesamples/android-testdpc/releases">TestDPC</a> 已被更新,以处理 DP1 和 DP2 之间的 API 变更。
+
+  </li>
+</ul>
+
+<h3 id="dp2-ki">已知问题</h3>
+
+<h4>性能和电池</h4>
+
+<ul>
+  <li>系统和应用<strong>性能已知会周期性地减缓/卡顿</strong>,设备可能偶尔无响应。
+这些问题可能随着长时间使用而变得更迫切。
+
+  </li>
+</ul>
+
+<h4>Google 帐户</h4>
+
+<ul>
+  <li>在有些情况下,<code>AccountManagerService</code> 问题可能会阻止登录 Google 帐户。
+
+  </li>
+</ul>
+
+<h4>系统更新</h4>
+
+<ul>
+  <li>设备可能会在更新到 DP2 后立即重新启动。
+  </li>
+</ul>
+
+<h4>无障碍功能</h4>
+
+<ul>
+  <li>当间距被设置为近最大水平时,文本语音转换 (TTS) 输出侦听出现问题。
+
+  </li>
+</ul>
+
+<h4>蓝牙</h4>
+
+<ul>
+  <li>蓝牙低功耗 (LE) GATT 特征使用错误的写入类型,并且将不会被发送到远程设备。
+因此,举例来说,有些健身设备将无法运行。
+
+  </li>
+</ul>
+
+<h4>设置向导</h4>
+
+<ul>
+  <li>安装向导中的在新设备(或刚刚重置的设备)上从“Your Google Account”恢复数据的选项不可用。
+您必须在安装向导中选择“another Android device”来从现有设备恢复数据,或者将其设置为新设备。
+
+
+  </li>
+</ul>
+
+<h4>原始设备制造商 (OEM) 解锁</h4>
+
+<ul>
+  <li>在有些设备上,当运行 DP2 时,“Developer Options”中的 <strong>Enable OEM unlock</strong> 会变成灰色。
+<br>
+  <strong>解决方法:</strong>访问 <a href="https://www.google.com/android/beta" class="external-link">www.google.com/android/beta</a> 来选择加入 Android Beta 计划(如果您尚未选择加入)。
+
+然后,选择退出并接受降级 OTA。
+选择退出会导致设备降级到 Android 6.0。现在,您应该可以在“Developer Options”中选择 <strong>Enable OEM unlock</strong>。
+
+当您降级设备时,个人数据将被删除;但是不管怎样,解锁引导装载程序仍会删除这些数据。
+
+  </li>
+</ul>
+
+<h4>Android for Work</h4>
+
+<ul>
+  <li>工作安全性挑战
+    <ul>
+      <li>在迁移到 N 后,或在用户创建工作资料之后,工作资料无法在密钥库中创建秘钥,直到用户更改了模式、PIN 码或密码,或设置了一项工作挑战为止。
+
+
+      </li>
+
+      <li>在直接启动模式下,对设备应用密码限制会导致工作资料被解锁,即使设备是锁定的。
+
+      这会使工作资料变得可以访问,即使它应受到设备锁屏的保护。
+
+      </li>
+    </ul>
+  </li>
+
+  <li>Always on VPN
+    <ul>
+      <li>如果 Always On VPN 模式已打开,但 VPN 却不可用,这表示应用是通过普通网络链接。
+如果应用没有可用的 VPN 连接,这表示应用处于脱机状态。
+
+      </li>
+
+      <li>在 Always On 模式下,当设备以直接启动模式重新启动后,VPN 连接未建立,即使是在用户解锁安全锁屏之后。
+
+
+      </li>
+    </ul>
+  </li>
+
+  <li>暂停软件包
+    <ul>
+      <li>设备管理员可以暂停关键系统软件包,这可能会导致意外的行为,如拨打电话,即使此时显示了“Telephone disabled”对话框。
+
+
+      </li>
+    </ul>
+  </li>
+
+  <li>其他
+    <ul>
+      <li>如果当用户插入物理媒体(如 SD 卡)时 {@link
+      android.os.UserManager#DISALLOW_MOUNT_PHYSICAL_MEDIA} 被设置为 true,设置应用会在启动时崩溃。
+
+      </li>
+
+      <li>工作资料中的第一次检查需要几分钟时间完成。
+
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<h4 id="vulkan">Vulkan</h4>
+
+<ul>
+   <li>Nexus 5X/6P</li>
+   <ul>
+      <li>将连结数和非零之间的差值作为第一个连结数会导致 {@code vkCreateGraphicsPipeline()} 失败。
+</li>
+      <li>Vulkan 在预期纹理坐标上表现出错误的采样行为。</li>
+      <li>在 multithreadCmdBuffer 示例中,{@code vkCmdClearColorImage()} 会在运行 N-DP2 驱动程序时崩溃。
+</li>
+      <li>{@code vkGetPhysicalDeviceFormatProperties()} 的返回值并未给 {@code VkFormatProperties::linearTilingFeatures} 设置一个值,这会导致取 0 值作为结果。
+
+</li>
+      <li>Vulkan 浮点帧缓冲附件未能正确处理。</li>
+    </ul>
+   <li>Nexus Player</li>
+   <ul>
+      <li>SPIR-V 着色器可能触发驱动程序断言。</li>
+      <li>一些管线配置可能导致 {@code vkCreateGraphicsPipeline()} 崩溃。
+</li>
+  </ul>
+</ul>
+
+<h4>设备特定问题</h4>
+
+<dl>
+  <dt>
+    <strong>Android One</strong>
+  </dt>
+
+  <dd>
+    当设备从插槽 1 切换到插槽2 SIM 时,数据连接失败。
+  </dd>
+
+  <dt>
+    <strong>Pixel C</strong>
+  </dt>
+
+  <dd>
+    无法切换语音搜索“Always On”选项。
+  </dd>
+
+  <dt>
+    <strong>Nexus 6</strong>
+  </dt>
+
+  <dd>
+    除 HDR+ 照片之外的纵向相机照片被损坏。
+
+  </dd>
+
+  <dt>
+    <strong>Nexus Player</strong>
+  </dt>
+
+  <dd>
+    Nexus Player 上的 Netflix 高清内容播放可能失败。
+  </dd>
+
+  <dd>
+    任何依赖于动态视频分辨率变化的应用都可能会在 Nexus Player 上失败。
+
+  </dd>
+
+  <dd>
+    任何使用 VP9 视频编解码器的应用都可能会在 Nexus Player 上失败。
+  </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>日期:2016 年 3 月<br>
+        构建:NPC56P、NPC56R 已更新:NPC56W、NPC56X<br>
+        模拟器支持:x86 &amp; ARM(32/64 位)<br>
+        Google Play 服务:8.4</em>
+      </p>
+    </div>
+  </div>
+</div>
+
+<h3 id="dp1-general">一般公告</h3>
+
+<p>
+  Developer Preview 版本仅针对应用开发者,仅适用于兼容性测试和早期开发。
+请注意关于版本的一般注意事项:
+
+</p>
+<ul>
+  <li>此版本在所有设备上都出现了不同的稳定性和性能问题,<em>不适合在手机或平板电脑上的日常使用</em>,特别是对于非开发人员。
+
+
+  </li>
+
+  <li>系统和应用<strong>性能已知会周期性地减缓/卡顿</strong>,设备可能偶尔无响应。
+这些问题可能随着长时间使用而变得更迫切。
+
+  </li>
+
+  <li>电池寿命可能在此版本的屏幕开启和屏幕关闭用例里出现倒退。
+
+  </li>
+
+  <li>有些应用可能无法在 Developer Preview 1 上正常运行。这其中包括 Google 应用和其他应用。
+
+  </li>
+
+  <li>这个早期版本未经兼容性测试套件 (CTS) 批准。依赖 CTS 批准架构的应用将无法运行(例如 Android Pay)。
+
+  </li>
+
+  <li>此预览版支持以下设备:Nexus 5X、Nexus 6、 Nexus 6P、Nexus 9、Nexus Player、and Pixel C 以及 General Mobile 4G (Android One)。
+
+
+  </li>
+</ul>
+
+<h3 id="dp1-platform">平台问题</h3>
+
+<h4>性能和电池</h4>
+
+<ul>
+  <li>系统和应用性能已知会<strong>周期性地减缓/卡顿</strong>,设备可能偶尔无响应。
+这些问题可能随着长时间使用而变得更迫切。
+
+  </li>
+
+  <li>电池寿命可能在此版本的屏幕开启和屏幕关闭用例里出现倒退。
+
+  </li>
+</ul>
+<h4 id="dialer">拨号器</h4>
+
+<ul>
+  <li>拨号器应用不支持直接启动。这将稍后在 N Developer Preview 中解决。
+
+  </li>
+
+  <li>语音邮件播放无效。
+  </li>
+</ul>
+
+<h4>麦克风</h4>
+
+<ul>
+   <li>系统可能在多个应用中和重新启动时错误地保留麦克风静音状态。如果您在一项应用中将麦克风静音,并且此状态保留,打开有任何麦克风静音控件的应用,取消静音麦克风。</li>
+</ul>
+
+<h4 id="ui">系统 UI</h4>
+
+<ul>
+  <li>系统 UI 中的一些新增或修改字符串未被翻译成所有语言。
+
+  </li>
+
+  <li>概览 UI 仍在开发中,并且随时可能更改。例如,我们打算移除当用户切换应用时显示的计时器。
+
+
+  </li>
+
+  <li>设置控件和切换可能很慢,或出现无响应。
+  </li>
+
+  <li>通知的视觉设计可能随时更改。
+  </li>
+
+  <li>在 Gmail 应用中,包括在捆绑通知中的电子邮件直接存档无法正常运行。
+
+  </li>
+</ul>
+
+<h4>Android for Work</h4>
+
+<ul>
+  <li>工作安全性挑战
+    <ul>
+      <li>在迁移到 N 后,或在用户创建工作资料之后,工作资料无法在密钥库中创建秘钥,直到用户更改了模式、PIN 码或密码,或设置了一项工作挑战为止。
+
+
+      </li>
+
+      <li>在直接启动模式下,对设备应用密码限制会导致工作资料被解锁,即使设备是锁定的。
+
+      这会使工作资料变得可以访问,即使它应受到设备锁屏的保护。
+
+      </li>
+
+      <li>当用户输入了错误的密码和 PIN 码后,系统不会显示任何信息性消息;相反,它仅清除了输入字段。
+
+此问题不影响模式或指纹输入。
+      </li>
+
+      <li>在平板电脑上,后台显示的工作挑战小得不成比例。
+
+      </li>
+
+      <li>与 N Developer Preview 绑定的 <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.enterprise.dmagent">Google Apps 设备规范</a>版本尚不支持工作资料安全性挑战功能。
+
+
+        开发者应使用 <a href="https://github.com/googlesamples/android-testdpc/releases">TestDPC</a> 来测试此功能。
+
+      </li>
+    </ul>
+  </li>
+
+  <li>Always on VPN
+    <ul>
+      <li>如果 Always On VPN 模式开启,但 VPN 却不可用,这表示应用未被指定为通过普通网络连接的 Always On 政策例外。
+
+除非应用被指定为 Always On 政策例外,否则当没有可用的 VPN 连接时,应用会处于脱机状态。
+
+        <ul>
+          <li>在 Always On 模式下,当设备以直接启动模式重新启动后,VPN 连接未建立,即使是在用户解锁安全锁屏之后。
+
+
+          </li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+
+  <li>改进的联系人
+    <ul>
+      <li>蓝牙 PBAP/MAP 不显示工作联系人的来电显示。
+下一个 Preview 版本将解决此问题。
+      </li>
+    </ul>
+  </li>
+
+  <li>工作模式
+    <ul>
+      <li>Google 即时桌面不显示工作模式是否开启。
+Google 即时桌面也不显示应用暂停状态。
+      </li>
+
+      <li>在用户关闭和开启工作模式后,系统不再显示工作资料应用小工具,如日历。
+
+      </li>
+    </ul>
+  </li>
+
+  <li>暂停软件包
+  </li>
+
+  <li>设备管理员可以暂停关键系统软件包,这可能会导致意外的行为,如拨打电话,即使此时显示了“Telephone disabled”对话框。
+
+
+  </li>
+
+  <li>其他
+    <ul>
+      <li>如果当用户插入物理媒体(如 SD 卡)时 {@link
+      android.os.UserManager#DISALLOW_MOUNT_PHYSICAL_MEDIA} 被设置为 true,设置应用会在启动时崩溃。
+
+      </li>
+
+      <li>当用户卸载然后重新安装一项应用后,{@code DPM.setPackagesSuspended} 状态不会持续。
+在卸载/重新安装后,应用应保持暂停,或者暂停的应用应无法卸载。
+
+
+      </li>
+
+      <li>工作资料中的第一次检查需要几分钟时间完成。
+这可能导致设备需要超过正常的时间才能在 Play EMM API 中可见。
+
+      </li>
+
+      <li>工作资料应用的通知不对安装在个人资料中的通知侦听器可见。
+其结果是,系统不能按预期显示通知。
+
+      </li>
+
+    </ul>
+  </li>
+</ul>
+
+<h4 >键盘</h4>
+
+<ul>
+  <li>键盘和 Android 设备之间的蓝牙配对可能不稳定。
+  </li>
+</ul>
+
+<h4 >视频</h4>
+
+<ul>
+<li>视频播放可能滞后并显示中断。</li>
+</ul>
+
+<h4>Wi-Fi</h4>
+
+<ul>
+  <li>Wi-Fi 发生了一些重构,可能改变 API 极端状况下的行为。
+具体来说,尝试连接特定网络,或尝试断开网络连接的应用应重新测试。
+
+  </li>
+
+  <li>旧版 DHCP 客户端已经从平台中移除。平台支持的唯一 DHCP 客户端是在 M 中引入的 DHCP 客户端。
+
+  </li>
+</ul>
+
+<h4>直接启动</h4>
+
+<ul>
+  <li>NFC 在第一次解锁前将无法运行。
+    <ul>
+      <li>当启用了蓝牙的电话重新启动时,蓝牙不会自动开启。
+您必须手动重新启用蓝牙。
+      </li>
+
+      <li>在某些情况下,默认铃声不在有来电和短信响起。
+此行为将在下一个 N Preview 版本中修复,但括一项例外(和解决方法)。
+
+      </li>
+
+      <li>在未刚刚清除数据的设备(自设置为直接启动模式以来至少已启动一次的设备),默认的通知铃声不响。
+
+用户可以通过从设置中手动选择铃声来解决此问题。
+
+      </li>
+
+      <li>在运行 N Developer Preview 版本的设备上,直接启动会默认启用。
+若要启用用于测试和开发的直接启动,前往“Developer Options”,然后点击“Convert to File Encryption”。
+
+      在这个开发者预览版本中,这要求恢复出厂设置为重新分配,并将您的设备格式重定为基于文件的加密。
+
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<h4>Android TV 画中画</h4>
+
+<ul>
+  <li>Recents UI 中的 PIP 集成并不全面,并且随时可能更改。
+
+    <ul>
+      <li>PIP 窗口的动画不顺畅。Preview 未来版本将改善这一点。
+
+      </li>
+    </ul>
+  </li>
+
+  <li style="list-style: none">Preview 未来版本将改善 PIP 的视觉设计和布局调整。
+
+  </li>
+</ul>
+
+<h4>错误报告</h4>
+
+<ul>
+  <li>错误报告并不总是能成功完成(作为一种解决方法,有时它们仍然可以通过内部存储空间内的文档提供程序访问。
+
+
+  </li>
+</ul>
+
+<h4>分屏多窗口</h4>
+
+<ul>
+  <li>当进入分屏模式时,应用可能会发生崩溃和意外的 UI 行为。
+有些应用必须由应用开发者修复。
+
+  </li>
+
+  <li>如果一个应用面向的是 N 之前的 Android 平台版本,应用可能无法运行,分屏 Toast 通知可能会多次显示。
+
+  </li>
+
+  <li>在使用有固定屏幕方向的应用的同事长按 Overview 按钮可能导致意外应用行为。
+
+  </li>
+
+  <li>在调整大小时应用可能会闪烁。
+  </li>
+
+  <li>动画尚未最后确定。
+  </li>
+</ul>
+
+<h4>输入方法</h4>
+
+<ul>
+  <li>当<b>使用系统语言</b>时 Google 键盘意外变回通用 Google 键盘,但 Google 键盘不支持系统语言首选项中选定的任何语言。
+
+它应恢复为 American English。
+
+    <p>
+      您可以通过添加至少一种 Google 键盘支持的语言来解决此问题。
+
+    </p>
+  </li>
+</ul>
+
+<h4>无障碍功能</h4>
+
+<ul>
+  <li>话语提示显示的功能问题包括可能导致系统崩溃或缺少话语提示语音反馈的通知、快速设置图块和多窗口显示。
+
+下一个 Preview 版本将解决这些问题。
+
+  </li>
+</ul>
+
+<h3 id="dp1-device-sp">特定于设备的说明和问题</h3>
+
+<h4>Nexus Player</h4>
+<ul>
+  <li>在这一版的 Preview 中,Nexus Player 预计会出现视频播放、应用兼容性和稳定性问题。
+
+  </li>
+</ul>
+
+<h4>Pixel C</h4>
+<ul>
+<li>多窗口调整大小可能会导致崩溃。</li>
+</ul>
+
+<h4>Nexus 9</h4>
+<ul>
+<li>Nexus 9 设备可能无法在通过 Android Beta 计划获得空中下载 (OTA) 更新后启动。
+要恢复此问题,您可以尝试手动安装 OTA 映像。
+如需了解详细信息,请参阅<a href="{@docRoot}preview/download-ota.html">应用设备 OTA 映像 </a>。
+
+</li>
+</ul>
+
diff --git a/docs/html-intl/intl/zh-cn/training/material/compatibility.jd b/docs/html-intl/intl/zh-cn/training/material/compatibility.jd
index aa23d4b..9ba8569 100644
--- a/docs/html-intl/intl/zh-cn/training/material/compatibility.jd
+++ b/docs/html-intl/intl/zh-cn/training/material/compatibility.jd
@@ -123,7 +123,7 @@
 <h3>依赖项</h3>
 
 <p>如果要在 Android 5.0(API 级别 21)之前的 Android 版本中使用这些功能,请将
-Android v7 支持内容库作为 <a href="{@docRoot}/sdk/installing/studio-build.html#dependencies">Gradle 依赖项</a>包括在您的项目中:</p>
+Android v7 支持内容库作为 <a href="{@docRoot}sdk/installing/studio-build.html#dependencies">Gradle 依赖项</a>包括在您的项目中:</p>
 
 <pre>
 dependencies {
diff --git a/docs/html-intl/intl/zh-tw/training/material/compatibility.jd b/docs/html-intl/intl/zh-tw/training/material/compatibility.jd
index 767788b..7d3cdde 100644
--- a/docs/html-intl/intl/zh-tw/training/material/compatibility.jd
+++ b/docs/html-intl/intl/zh-tw/training/material/compatibility.jd
@@ -122,7 +122,7 @@
 
 <h3>相依性</h3>
 
-<p>如果要在 Android 5.0 (API 級別 21) 以前的版本中使用這些功能,請在您的專案中包含 Android v7 支援程式庫做為 <a href="{@docRoot}/sdk/installing/studio-build.html#dependencies">Gradle 相依性</a>:
+<p>如果要在 Android 5.0 (API 級別 21) 以前的版本中使用這些功能,請在您的專案中包含 Android v7 支援程式庫做為 <a href="{@docRoot}sdk/installing/studio-build.html#dependencies">Gradle 相依性</a>:
 </p>
 
 <pre>
diff --git a/docs/html/_redirects.yaml b/docs/html/_redirects.yaml
index f287f51..774339a 100644
--- a/docs/html/_redirects.yaml
+++ b/docs/html/_redirects.yaml
@@ -797,52 +797,6 @@
   to: https://code.google.com/p/android/issues/list?can=2&q=label%3ADevPreview-N
 - from: /2016/03/first-preview-of-android-n-developer.html
   to: http://android-developers.blogspot.com/2016/03/first-preview-of-android-n-developer.html
-- from: /r/studio-ui/vector-asset-studio.html
-  to: /studio/write/vector-asset-studio.html
-- from: /r/studio-ui/image-asset-studio.html
-  to: /studio/write/image-asset-studio.html
-- from: /r/studio-ui/project-structure.html
-  to: /studio/projects/index.html
-- from: /r/studio-ui/android-monitor.html
-  to: /studio/profile/android-monitor.html
-- from: /r/studio-ui/am-logcat.html
-  to: /studio/debug/am-logcat.html
-- from: /r/studio-ui/am-memory.html
-  to: /studio/profile/am-memory.html
-- from: /r/studio-ui/am-cpu.html
-  to: /studio/profile/am-cpu.html
-- from: /r/studio-ui/am-gpu.html
-  to: /studio/profile/am-gpu.html
-- from: /r/studio-ui/am-network.html
-  to: /studio/profile/am-network.html
-- from: /r/studio-ui/am-hprof.html
-  to: /studio/profile/am-hprof.html
-- from: /r/studio-ui/am-allocation.html
-  to: /studio/profile/am-allocation.html
-- from: /r/studio-ui/am-methodtrace.html
-  to: /studio/profile/am-methodtrace.html
-- from: /r/studio-ui/am-sysinfo.html
-  to: /studio/profile/am-sysinfo.html
-- from: /r/studio-ui/am-screenshot.html
-  to: /studio/debug/am-screenshot.html
-- from: /r/studio-ui/am-video.html
-  to: /studio/debug/am-video.html
-- from: /r/studio-ui/avd-manager.html
-  to: /studio/run/managing-avds.html
-- from: /r/studio-ui/rundebugconfig.html
-  to: /studio/run/index.html
-- from: /r/studio-ui/devicechooser.html
-  to: /studio/run/emulator.html
-- from: /r/studio-ui/virtualdeviceconfig.html
-  to: /studio/run/managing-avds.html
-- from: /r/studio-ui/emulator.html
-  to: /studio/run/emulator.html
-- from: /r/studio-ui/instant-run.html
-  to: /studio/run/index.html#instant-run
-- from: /r/studio-ui/test-recorder.html
-  to: http://tools.android.com/tech-docs/test-recorder
-- from: /r/studio-ui/export-licenses.html
-  to: http://tools.android.com/tech-docs/new-build-system/license
 - from: /reference/org/apache/http/...
   to: /about/versions/marshmallow/android-6.0-changes.html#behavior-apache-http-client
 - from: /shareables/...
@@ -1064,6 +1018,8 @@
   to: /studio/projects/templates.html
 - from: /tools/publishing/app-signing.html
   to: /studio/publish/app-signing.html
+- from: /guide/publishing/app-signing.html
+  to: /studio/publish/app-signing.html
 - from: /tools/publishing/preparing.html
   to: /studio/publish/preparing.html
 - from: /tools/publishing/publishing_overview.html
@@ -1167,3 +1123,57 @@
   to: /preview/features/background-optimization.html
 - from: /bgopt/
   to: /preview/features/background-optimization.html
+
+
+
+# Android Studio help button redirects
+- from: /r/studio-ui/vector-asset-studio.html
+  to: /studio/write/vector-asset-studio.html
+- from: /r/studio-ui/image-asset-studio.html
+  to: /studio/write/image-asset-studio.html
+- from: /r/studio-ui/project-structure.html
+  to: /studio/projects/index.html
+- from: /r/studio-ui/android-monitor.html
+  to: /studio/profile/android-monitor.html
+- from: /r/studio-ui/am-logcat.html
+  to: /studio/debug/am-logcat.html
+- from: /r/studio-ui/am-memory.html
+  to: /studio/profile/am-memory.html
+- from: /r/studio-ui/am-cpu.html
+  to: /studio/profile/am-cpu.html
+- from: /r/studio-ui/am-gpu.html
+  to: /studio/profile/am-gpu.html
+- from: /r/studio-ui/am-network.html
+  to: /studio/profile/am-network.html
+- from: /r/studio-ui/am-hprof.html
+  to: /studio/profile/am-hprof.html
+- from: /r/studio-ui/am-allocation.html
+  to: /studio/profile/am-allocation.html
+- from: /r/studio-ui/am-methodtrace.html
+  to: /studio/profile/am-methodtrace.html
+- from: /r/studio-ui/am-sysinfo.html
+  to: /studio/profile/am-sysinfo.html
+- from: /r/studio-ui/am-screenshot.html
+  to: /studio/debug/am-screenshot.html
+- from: /r/studio-ui/am-video.html
+  to: /studio/debug/am-video.html
+- from: /r/studio-ui/avd-manager.html
+  to: /studio/run/managing-avds.html
+- from: /r/studio-ui/rundebugconfig.html
+  to: /studio/run/rundebugconfig.html
+- from: /r/studio-ui/devicechooser.html
+  to: /studio/run/emulator.html
+- from: /r/studio-ui/virtualdeviceconfig.html
+  to: /studio/run/managing-avds.html
+- from: /r/studio-ui/emulator.html
+  to: /studio/run/emulator.html
+- from: /r/studio-ui/instant-run.html
+  to: /studio/run/index.html#instant-run
+- from: /r/studio-ui/test-recorder.html
+  to: http://tools.android.com/tech-docs/test-recorder
+- from: /r/studio-ui/export-licenses.html
+  to: http://tools.android.com/tech-docs/new-build-system/license
+- from: /r/studio-ui/experimental-to-stable-gradle.html
+  to: http://tools.android.com/tech-docs/new-build-system/gradle-experimental/experimental-to-stable-gradle
+- from: /r/studio-ui/sdk-manager.html
+  to: https://developer.android.com/studio/intro/update.html#sdk-manager
\ No newline at end of file
diff --git a/docs/html/distribute/essentials/quality/core.jd b/docs/html/distribute/essentials/quality/core.jd
index 4b0b546..0ff44eb 100644
--- a/docs/html/distribute/essentials/quality/core.jd
+++ b/docs/html/distribute/essentials/quality/core.jd
@@ -1041,7 +1041,7 @@
     CR-11
   </td>
   <td>
-    Trigger and observe in the notications drawer all types of notifications
+    Trigger and observe in the notifications drawer all types of notifications
     that the app can display. Expand notifications where applicable (Android
     4.1 and higher), and tap all actions offered.
   </td>
diff --git a/docs/html/distribute/googleplay/guide.jd b/docs/html/distribute/googleplay/guide.jd
index 6cb8cc0..293ccae 100644
--- a/docs/html/distribute/googleplay/guide.jd
+++ b/docs/html/distribute/googleplay/guide.jd
@@ -1,43 +1,81 @@
 page.title=Find Success on Google Play
-page.metaDescription=The updated guide that helps you find success with your app or game business on Google Play.
-page.tags="play,protips"
-page.timestamp=1447437450
-meta.tags="secrets, success, play, google"
-page.image=distribute/images/play_dev_guide.png
+page.metaDescription=Stay up to date with features, best practices, and strategies to help you grow your business and find success on Google Play.
+page.tags="playbook,play,protips"
+page.timestamp=1466793455
+meta.tags="playbook,play,google"
+page.image=images/cards/card-secrets-playbook_2x.jpg
 
 @jd:body
 
+<div class="figure-right">
+  <img src="{@docRoot}images/gp-secrets-playbook.png"
+  style="width:180px" />
+  <div style="text-align:center">
+    <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.secrets&utm_source=dac&utm_medium=page&utm_campaign=evergreen&utm_source=global_co&utm_medium=prtnr&utm_content=Mar2515&utm_campaign=PartBadge&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1">
+      <img alt="Get it on Google Play"
+      src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png"
+      style="height:60px" />
+    </a>
+  </div>
+</div>
 <p>
-  We’ve created a downloadable guide to help you find success with your app or
-  game business on Google Play. In it, you’ll find features, tips, and best
-  practices to help you build an effective strategy to improve the quality,
-  reach, retention, and monetization of your apps and games.
+  With the Playbook app for developers you can stay on top of the
+  features and best practices you can use to grow your app or game
+  business on Google Play.
+</p>
+<ul>
+  <li>Choose topics relating to your business objectives to personalize
+  <strong>My Playbook</strong> with curated articles and videos from
+  Google, and from experts across the web.</li>
+  <li><strong>Explore</strong> the in-depth guide to Google’s developer
+  products, grouped by what you’re trying to do: develop, launch, engage,
+  grow, earn.  </li>
+  <li>Take actions on items &mdash; complete, share, or dismiss them &mdash; and read
+  your <strong>Saved</strong> articles later, including offline if they’re
+  written in the app.</li>
+</ul>
+
+<p>
+The app is available in the following languages: <a
+href="https://play.google.com/store/apps/details?id=com.google.android.apps.secrets&utm_source=dac&utm_medium=page&utm_campaign=evergreen&hl=en">English</a>,
+<a
+href="https://play.google.com/store/apps/details?id=com.google.android.apps.secrets&hl=id&utm_source=dac&utm_medium=page&utm_campaign=id">Bahasa
+Indonesia</a>, <a
+href="https://play.google.com/store/apps/details?id=com.google.android.apps.secrets&hl=de&utm_source=dac&utm_medium=page&utm_campaign=de">Deutsch</a>,
+<a
+href="https://play.google.com/store/apps/details?id=com.google.android.apps.secrets&hl=es-419&utm_source=dac&utm_medium=page&utm_campaign=es-419">español
+(Latinoamérica)</a>, <a
+href="https://play.google.com/store/apps/details?id=com.google.android.apps.secrets&hl=fr&utm_source=dac&utm_medium=page&utm_campaign=fr">le
+français</a>, <a
+href="https://play.google.com/store/apps/details?id=com.google.android.apps.secrets&hl=pt-BR&utm_source=dac&utm_medium=page&utm_campaign=pr-BR">português
+do Brasil</a>, <a
+href="https://play.google.com/store/apps/details?id=com.google.android.apps.secrets&hl=vi&utm_source=dac&utm_medium=page&utm_campaign=vi">tiếng
+Việt</a>, <a
+href="https://play.google.com/store/apps/details?id=com.google.android.apps.secrets&hl=ru&utm_source=dac&utm_medium=page&utm_campaign=ru">русский
+язы́к</a>, <a
+href="https://play.google.com/store/apps/details?id=com.google.android.apps.secrets&hl=ko&utm_source=dac&utm_medium=page&utm_campaign=ko">한국어</a>,
+<a
+href="https://play.google.com/store/apps/details?id=com.google.android.apps.secrets&hl=zh-CN&utm_source=dac&utm_medium=page&utm_campaign=zh-CN">中文
+(简体)</a>, <a
+href="https://play.google.com/store/apps/details?id=com.google.android.apps.secrets&hl=zh-TW&utm_source=dac&utm_medium=page&utm_campaign=zh-TW">中文
+(繁體)</a>, and <a
+href="https://play.google.com/store/apps/details?id=com.google.android.apps.secrets&hl=ja&utm_source=dac&utm_medium=page&utm_campaign=ja">日本語</a>.
 </p>
 
-<a href="https://play.google.com/store/books/details?id=O2a5CgAAQBAJ&utm_source=global_co&utm_medium=prtnr&utm_content=Mar2515&utm_campaign=PartBadge&pcampaignid=MKT-AC-global-none-all-co-pr-py-PartBadges-Oct1515-1">
-  <img src="{@docRoot}images/distribute/secrets_v2_banner.jpg">
-</a>
+<p>The Playbook app replaces the
+<a href="https://play.google.com/store/books/details?id=O2a5CgAAQBAJ">Secrets to
+App Success on Google Play</a> guides, which you can still read on Google Play Books.</p>
+
 
 <div style="text-align:center">
-  <a href="https://play.google.com/store/books/details?id=O2a5CgAAQBAJ&utm_source=global_co&utm_medium=prtnr&utm_content=Mar2515&utm_campaign=PartBadge&pcampaignid=MKT-AC-global-none-all-co-pr-py-PartBadges-Oct1515-1">
-  <img alt="Get it on Google Play"
-   src="https://play.google.com/intl/en_us/badges/images/books/en-play-badge-border.png"
-   style="height:60px" />
+  <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.secrets&utm_source=dac&utm_medium=page&utm_campaign=evergreen&utm_source=global_co&utm_medium=prtnr&utm_content=Mar2515&utm_campaign=PartBadge&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1">
+    <img src="{@docRoot}images/gp-secrets-playbook-lg.png" style="padding-top:1em;" />
   </a>
+  <div style="text-align:center">
+    <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.secrets&utm_source=dac&utm_medium=page&utm_campaign=evergreen&utm_source=global_co&utm_medium=prtnr&utm_content=Mar2515&utm_campaign=PartBadge&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1">
+      <img alt="Get it on Google Play"
+      src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png"
+      style="height:60px" />
+    </a>
+  </div>
 </div>
-
-<p><a
-  href="https://docs.google.com/forms/d/1KFE9D7NlOrxM_jzmyMeZGaczgg1xo57jBoGq0R5nnsU/viewform">Sign
-  up to be notified</a> when the guide is released in the following languages:
-  Bahasa Indonesia, Deutsch, español (Latinoamérica), le français, português do
-  Brasil, <span style="white-space: nowrap;">tiếng Việt</span>, <span style="white-space:
-  nowrap;">русский язы́к</span>, <span style="white-space: nowrap;">ไทย</span>,
-  <span style="white-space: nowrap;">한국어</span>, <span style="white-space: nowrap;">中文
-  (简体)</span>, <span style="white-space: nowrap;">中文 (繁體)</span>, and <span style="white-space:
-  nowrap;">日本語</span>.
-</p>
-
-<p>You can also <a
-  href="{@docRoot}shareables/distribute/secrets_play/v2/web/secrets_to_app_success_v2_en.pdf">download
-  the pdf</a>.
-</p>
diff --git a/docs/html/google/play/billing/billing_admin.jd b/docs/html/google/play/billing/billing_admin.jd
index a1135bf..05f3ad5 100644
--- a/docs/html/google/play/billing/billing_admin.jd
+++ b/docs/html/google/play/billing/billing_admin.jd
@@ -747,6 +747,15 @@
 <code>orderId</code> field of the <code>PURCHASE_STATE_CHANGED</code>
 intent.</p>
 
+<p class="note">
+  <strong>Note:</strong> When a user completes a test purchase, the
+  <code>orderId</code> field remains blank. To track test transactions, use
+  the <code>purchaseToken</code> field instead. For more information about
+  working with test purchases, see <a
+  href="{@docRoot}google/play/billing/billing_testing.html">Testing In-app
+  Billing</a>.
+</p>
+
 <p>In your app, you can use the order number as a general-purpose identifier for
 the in-app purchase transaction. After the purchase, you can use the order
 number as a means of tracking the transaction in reconciliation reports and for
diff --git a/docs/html/google/play/billing/billing_testing.jd b/docs/html/google/play/billing/billing_testing.jd
index 018276d..755f3ff 100644
--- a/docs/html/google/play/billing/billing_testing.jd
+++ b/docs/html/google/play/billing/billing_testing.jd
@@ -79,14 +79,11 @@
 through Google Play without incurring any actual charges to the user
 accounts.</p>
 
-<p>Once authorized for testing access, those users can make purchases without
-being charged.
-Test purchases are real orders and Google Play processes them in the same way as
-other orders. However, the <code>orderId</code> field for test purchases is
-blank.
-When purchases are complete, Google Play prevents the orders from
-going to financial processing, ensuring that there are no actual charges to user
-accounts, and automatically canceling the completed orders after 14 days.</p>
+<p>
+  Once authorized for testing access, those users can make purchases without
+  being charged. The <code>orderId</code> field for test purchases remains
+  blank, ensuring that there are no actual charges to user accounts.
+</p>
 
 <p class="note">
   <strong>Note:</strong> Test subscription purchases recur daily, regardless of
@@ -130,8 +127,8 @@
 purchase dialog.</p>
 
 <p class="note">
-  <strong>Note:</strong> For test subscription purchases, leave the {@code orderId}
-  field blank. You can use the {@code purchaseToken} field to identify test purchases.
+  <strong>Note:</strong> For test purchases, leave the {@code orderId} field
+  blank. You can use the {@code purchaseToken} field to identify test purchases.
 </p>
 
 
@@ -150,33 +147,22 @@
 
 <h4 id="cancelling">Canceling completed test purchases</h4>
 <p>Google Play accumulates completed test purchases for each user but does not
-pass them on  to financial processing. Over time, it automatically clears out
-the purchases by canceling them. </p>
+pass them on to financial processing.</p>
 
 <p>In some cases, you might want to manually cancel a test purchase to continue
-testing. For canceling purchases, you have these options:</p>
-
-<ul>
-<li>Wait for the transactions to expire&mdash;Google Play clears completed test
-purchases 14 days after their purchase date. </li>
-<li>Cancel purchases manually&mdash;you can go to the Google payments merchant
-center, look up the transaction, and then cancel it. You can find transactions
-by looking up their order numbers.</li>
+testing. To do so, open the app page in the Play Store. If the test purchase
+that you want to cancel is a subscription, you can also use the
+<a href="https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/cancel">
+{@code cancel()}</a> method of the Purchases.subscriptions API.
 </ul>
 
-<p>
-  You can cancel test subscriptions purchases from the app page in the Play Store,
-  or use the 
-  <a href="https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/cancel">
-  {@code cancel}</a> method.
-</p>
-
 <p class="caution">
   <strong>Important:</strong> The
   <a href="https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/refund">
-  {@code refund}</a> and
+  {@code refund()}</a> and
   <a href="https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/revoke">
-  {@code revoke}</a> methods do not support test purchases.
+  {@code revoke()}</a> methods of the Purchases.subscriptions API don't support
+  test purchases.
 </p>
 
 
diff --git a/docs/html/guide/practices/screens_support.jd b/docs/html/guide/practices/screens_support.jd
index 1335790..2223dbf 100644
--- a/docs/html/guide/practices/screens_support.jd
+++ b/docs/html/guide/practices/screens_support.jd
@@ -677,7 +677,7 @@
   <li>48x48 (1.0x baseline) for medium-density</li>
   <li>72x72 (1.5x) for high-density</li>
   <li>96x96 (2.0x) for extra-high-density</li>
-  <li>180x180 (3.0x) for extra-extra-high-density</li>
+  <li>144x144 (3.0x) for extra-extra-high-density</li>
   <li>192x192 (4.0x) for extra-extra-extra-high-density (launcher icon only; see
     <a href="#xxxhdpi-note">note</a> above)</li>
 </ul>
@@ -988,7 +988,7 @@
 on different screens:</p>
 
 <ol>
-  <li>Use {@code wrap_content}, {@code fill_parent}, or {@code dp} units when specifying
+  <li>Use {@code wrap_content}, {@code match_parent}, or {@code dp} units when specifying
 dimensions in an XML layout file</li>
   <li>Do not use hard coded pixel values in your application code</li>
   <li>Do not use {@code AbsoluteLayout} (it's deprecated)</li>
@@ -998,7 +998,7 @@
 <p>The following sections provide more details.</p>
 
 
-<h3 id="use-relative">1. Use wrap_content, fill_parent, or the dp unit for layout dimensions</h3>
+<h3 id="use-relative">1. Use wrap_content, match_parent, or the dp unit for layout dimensions</h3>
 
 <p>When defining the <a
 href="{@docRoot}reference/android/view/ViewGroup.LayoutParams.html#attr_android:layout_width"
@@ -1006,7 +1006,7 @@
 href="{@docRoot}reference/android/view/ViewGroup.LayoutParams.html#attr_android:layout_height"
 >{@code android:layout_height}</a> for
 views in an XML layout file, using <code>"wrap_content"</code>,
-<code>"fill_parent"</code> or <code>dp</code> units guarantees that the view is
+<code>"match_parent"</code> or <code>dp</code> units guarantees that the view is
 given an appropriate size on the current device screen.</p>
 
 <p>For instance, a view with a <code>layout_width="100dp"</code> measures 100 pixels wide on
diff --git a/docs/html/guide/practices/verifying-apps-art.jd b/docs/html/guide/practices/verifying-apps-art.jd
index 8a88222..217c65c 100644
--- a/docs/html/guide/practices/verifying-apps-art.jd
+++ b/docs/html/guide/practices/verifying-apps-art.jd
@@ -63,7 +63,7 @@
 java.lang.System#gc() System.gc()} to prompt garbage collection (GC). This should be
 far less necessary with ART, particularly if you're invoking garbage collection
 to prevent <a
-href="{@docRoot}/tools/debugging/debugging-memory.html#LogMessages"><code>GC_FOR_ALLOC</code></a>-type
+href="{@docRoot}tools/debugging/debugging-memory.html#LogMessages"><code>GC_FOR_ALLOC</code></a>-type
 occurrences or to reduce fragmentation. You can verify which runtime is in use
 by calling {@link java.lang.System#getProperty(java.lang.String)
 System.getProperty("java.vm.version")}. If ART is in use, the property's value
diff --git a/docs/html/guide/topics/manifest/activity-element.jd b/docs/html/guide/topics/manifest/activity-element.jd
index e0f5e3d..f30263e 100644
--- a/docs/html/guide/topics/manifest/activity-element.jd
+++ b/docs/html/guide/topics/manifest/activity-element.jd
@@ -714,7 +714,7 @@
 &lt;activity
     android:name="com.example.app.ChildActivity"
     android:label="@string/title_child_activity"
-    android:parentActivityName="com.example.myfirstapp.MainActivity" >
+    android:parentActivityName="com.example.app.MainActivity" >
     &lt;!-- Parent activity meta-data to support API level 4+ -->
     &lt;meta-data
         android:name="android.support.PARENT_ACTIVITY"
diff --git a/docs/html/guide/topics/renderscript/compute.jd b/docs/html/guide/topics/renderscript/compute.jd
index 564215e..fc795ff 100755
--- a/docs/html/guide/topics/renderscript/compute.jd
+++ b/docs/html/guide/topics/renderscript/compute.jd
@@ -21,7 +21,7 @@
     <h2>Related Samples</h2>
 
     <ol>
-      <li><a href="{@docRoot}resources/samples/RenderScript/HelloCompute/index.html">Hello
+      <li><a class="external-link"href="https://github.com/android/platform_development/tree/master/samples/RenderScript/HelloCompute">Hello
       Compute</a></li>
     </ol>
   </div>
diff --git a/docs/html/guide/topics/security/security-config.jd b/docs/html/guide/topics/security/security-config.jd
deleted file mode 100644
index 4cee253..0000000
--- a/docs/html/guide/topics/security/security-config.jd
+++ /dev/null
@@ -1,539 +0,0 @@
-page.title=Network Security Config
-@jd:body
-
-<div id="qv-wrapper">
-<div id="qv">
-
-<h2>In this document</h2>
-<ol>
-<li><a href="#SupportedFeatures">Features</a></li>
-<li><a href="#Examples">Examples</a>
-    <ol>
-    <li><a href="#TrustingCustomCas">Trusting Custom CAs</a>
-        <ol>
-        <li><a href="#TrustingACustomCa">Trusting a Custom CA</a></li>
-        <li><a href="#LimitingCas">Limiting the Set of Trusted CAs</a></li>
-        <li><a href="#TrustingAdditionalCas">Trusting Additional CAs</a></li>
-        </ol>
-    </li>
-    <li><a href="#TrustingDebugCa">Debugging-only CAs</a></li>
-    <li><a href="#UsesCleartextTraffic">Cleartext Traffic Opt-Out</a></li>
-    <li><a href="#CertificatePinning">Certificate Pinning</a></li>
-    <li><a href="#ConfigInheritance">Configuration Inheritance</a></li>
-    </ol>
-</li>
-<li><a href="#FileFormat">Configuration File Format</a></li>
-</ol>
-</div>
-</div>
-
-<p>The Android Network Security Config lets apps customize their network security settings
-in a safe, declarative configuration file without modifying application code.
-These settings can be configured for specific domains and app-wide.</p>
-
-<h2 id="SupportedFeatures">Features</h2>
-<ul>
-<li><b>Custom trust anchors.</b> Lets an application customize which Certificate Authorities (CA) are trusted
-for its secure connections. For example, trusting particular self-signed certificates or restricting the set of public
-CAs that the app trusts.
-</li>
-<li><b>Debug-only overrides.</b> Lets an application developer safely debug secure connections of their
-application without added risk to the installed base.
-</li>
-<li><b>Cleartext traffic opt-out.</b> Lets an application protect itself from accidental usage of cleartext traffic.</li>
-<li><b>Certificate pinning.</b> An advanced feature that lets an application restrict pin its secure connection
-to particular certificates.</li>
-</ul>
-
-<h2 id="Examples">Examples</h2>
-<h3 id="TrustingCustomCas">Trusting Custom CAs</h3>
-<p>An application may want to trust a custom set of CAs instead of the platform
-default. The most common reasons of this are:
-<ul>
-<li>Connecting to a host with a custom certificate authority(self-signed, issued by an internal corporate CA, etc).</li>
-<li>Limiting the set of CAs to only the CAs you trust instead of every preinstalled CA.</li>
-<li>Trusting additional CAs not included in the system.</li>
-</ul>
-</p>
-<p>By default secure (e.g. TLS, HTTPS) connections from all applications trust the pre-installed system CAs, and
-applications targeting API level 23 (Android M) and below also trust the user-added CA store by default.
-An application can customize its own connections using {@code base-config} (for app-wide customization) or
-{@code domain-config} (for per-domain customization).</p>
-
-<h4 id="TrustingACustomCa">Trusting a Custom CA</h4>
-<p>Assume you want to connect to your host which uses a self-signed SSL certificate or to
-a host whose SSL certificate is issued by a non-public CA which you trust, e.g., your company's internal
-CA.</p>
-<p>
-<code>res/xml/network_security_config.xml</code>:
-<pre>
-&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;network-security-config&gt;
-    &lt;domain-config&gt;
-        &lt;domain includeSubdomains="true"&gt;example.com&lt;/domain&gt;
-        &lt;trust-anchors&gt;
-            &lt;certificates src="@raw/my_ca"/&gt;
-        &lt;/trust-anchors&gt;
-    &lt;/domain-config&gt;
-&lt;/network-security-config&gt;
-</pre>
-</p>
-<p>Add the self-signed or non-public CA certificate, in PEM or DER format, to {@code res/raw/my_ca}.</p>
-<p>
-In <code>AndroidManifest.xml</code> reference the above config
-<pre>
-&lt;?xml version="1.0" encoding="utf-8"?&gt;
-...
-&lt;application ...&gt;
-    &lt;meta-data android:name="android.security.net.config"
-               android:resource="@xml/network_security_config" /&gt;
-    ...
-</pre>
-</p>
-<h4 id="LimitingCas">Limiting the Set of Trusted CAs</h4>
-<p>An application that does not want to trust all CAs trusted by system can instead specify its own
-reduced set of CAs to trust. This protects the application from fradulent certificates issued by any
-of the other CAs.</p>
-
-<p>The config to limit the set of trusted CAs is similar to <a href="#TrustingACustomCa">trusting a custom CA</a>
-for a specific domain except that multiple CAs are provided in the resource.</p>
-
-<p>
-<code>res/xml/network_security_config.xml</code>:
-<pre>
-&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;network-security-config&gt;
-    &lt;domain-config&gt;
-        &lt;domain includeSubdomains="true"&gt;secure.example.com&lt;/domain&gt;
-        &lt;domain includeSubdomains="true"&gt;cdn.example.com&lt;/domain&gt;
-        &lt;trust-anchors&gt;
-            &lt;certificates src="@raw/trusted_roots"/&gt;
-        &lt;/trust-anchors&gt;
-    &lt;/domain-config&gt;
-&lt;/network-security-config&gt;
-</pre>
-</p>
-<p>Add the trusted CAs, in PEM or DER format, to {@code res/raw/trusted_roots}.
-Note that if using PEM format the file must contain <em>only</em> PEM data and no extra text.
-You can also provide multiple <a href="certificates"><code>&lt;certificates&gt;</code></a> elements instead
-of one.</p>
-<p>
-In <code>AndroidManifest.xml</code> reference the above config
-<pre>
-&lt;?xml version="1.0" encoding="utf-8"?&gt;
-...
-&lt;application ...&gt;
-    &lt;meta-data android:name="android.security.net.config"
-               android:resource="@xml/network_security_config" /&gt;
-    ...
-</pre>
-</p>
-
-<h4 id="TrustingAdditionalCas">Trusting Additional CAs</h4>
-<p>An application may want to trust additional CAs not trusted by the system, this could be due to
-the system not yet including the CA or a CA that does not meet the requirements for inclusion into
-the Android system. An application can do this by specifying multiple certificate sources for a configuration.
-</p>
-<p>
-<code>res/xml/network_security_config.xml</code>:
-<pre>
-&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;network-security-config&gt;
-    &lt;base-config&gt;
-        &lt;trust-anchors&gt;
-            &lt;certificates src="@raw/extracas"/&gt;
-            &lt;certificates src="system"/&gt;
-        &lt;/trust-anchors&gt;
-    &lt;/base-config&gt;
-&lt;/network-security-config&gt;
-</pre>
-</p>
-<p>
-In <code>AndroidManifest.xml</code> reference the above config
-<pre>
-&lt;?xml version="1.0" encoding="utf-8"?&gt;
-...
-&lt;application ...&gt;
-    &lt;meta-data android:name="android.security.net.config"
-               android:resource="@xml/network_security_config" /&gt;
-    ...
-</pre>
-</p>
-
-<h3 id="TrustingDebugCa">Debugging-only CAs</h3>
-<p>When debugging an application that connects over HTTPS you may want to connect to a local development
-server, which does not have the SSL certificate for your production server. In order to support this
-without any modification to your application's code you can specify debug-only CAs that are
-<i>only</i> trusted when <a href="{@docRoot}guide/topics/manifest/application-element.html#debug">android:debuggable</a>
-is {@code true} by using {@code debug-overrides}. Normally IDEs and build tools set this flag automatically for non-release builds.</p>
-<p>This is safer than the usual conditional code because, as a security precaution, application stores
-do not accept applications which are marked debuggable.</p>
-
-<p>
-<code>res/xml/network_security_config.xml</code>:
-<pre>
-&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;network-security-config&gt;
-    &lt;debug-overrides&gt;
-        &lt;trust-anchors&gt;
-            &lt;certificates src="@raw/debug_cas"/&gt;
-        &lt;/trust-anchors&gt;
-    &lt;/debug-overrides&gt;
-&lt;/network-security-config&gt;
-</pre>
-</p>
-<p>
-In <code>AndroidManifest.xml</code> reference the above config
-<pre>
-&lt;?xml version="1.0" encoding="utf-8"?&gt;
-...
-&lt;application ...&gt;
-    &lt;meta-data android:name="android.security.net.config"
-               android:resource="@xml/network_security_config" /&gt;
-    ...
-</pre>
-</p>
-
-<h3 id="UsesCleartextTraffic">Cleartext Traffic Opt-Out</h3>
-<p>Applications which intend to connect to destinations using only secure connections can opt-out
-of supporting cleartext (i.e. plain HTTP instead of HTTPS) to those destinations. This helps prevent
-accidental regressions in applications due to changes in URLs provided by external sources such as
-backend servers.</p>
-<p>See {a href="{@docRoot}reference/android/security/NetworkSecurityPolicy.html#isCleartextTrafficPermitted()} for more details.</p>
-
-<p>For example, an application may want to ensure that all connections to {@code secure.example.com} are always
-done over HTTPS to protect sensitive traffic from hostile networks.</p>
-
-<p>
-<code>res/xml/network_security_config.xml</code>:
-<pre>
-&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;network-security-config&gt;
-    &lt;domain-config usesCleartextTraffic="false"&gt;
-        &lt;domain includeSubdomains="true"&gt;secure.example.com&lt;/domain&gt;
-    &lt;/domain-config&gt;
-&lt;/network-security-config&gt;
-</pre>
-</p>
-<p>
-In <code>AndroidManifest.xml</code> reference the above config
-<pre>
-&lt;?xml version="1.0" encoding="utf-8"?&gt;
-...
-&lt;application ...&gt;
-    &lt;meta-data android:name="android.security.net.config"
-               android:resource="@xml/network_security_config" /&gt;
-    ...
-</pre>
-</p>
-
-<h3 id="CertificatePinning">Certificate Pinning</h3>
-<p>Normally an application trusts all preinstalled CAs. If any of these CAs were to issue a fradulent certificate
-the application would be at risk from a MiTM attack. Some applications choose to limit the set of
-certificates they accept by either limiting the set of CAs they trust or by certificate pinning.</p>
-
-<p>Certificate pinning is done by providing a set of certificates by hash of the public key (SubjectPublicKeyInfo
-of the X.509 certificate). A certificate chain is then only valid if the certificate chain contains at least
-one of the pinned public keys.</p>
-
-<p>Note that when using certificate pinning you should always include a backup key so that if you
-are forced to switch to new keys, or change CAs (when pinning to a CA certificate or an intermediate of that CA), 
-your application's connectivity is unaffected. Otherwise you will have to push out an update to the
-application to restore connectivity.</p>
-
-<p>Additionally it is possible to set an expiration time for pins after which pinning will not be
-performed. This helps prevent connectivity issues in applications which have not been updated.
-However, setting an expiration time on pins may enable pinning bypass.
-</p>
-
-<p>
-<code>res/xml/network_security_config.xml</code>:
-<pre>
-&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;network-security-config&gt;
-    &lt;domain-config&gt;
-        &lt;domain includeSubdomains="true"&gt;example.com&lt;/domain&gt;
-        &lt;pin-set expiration="2018-01-01"&gt;
-            &lt;pin digest="SHA-256"&gt;7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=&lt;/pin&gt;
-            &lt;!-- backup pin --&gt
-            &lt;pin digest="SHA-256"&gt;fwza0LRMXouZHRC8Ei+4PyuldPDcf3UKgO/04cDM1oE=&lt;/pin&gt;
-    &lt;/domain-config&gt;
-&lt;/network-security-config&gt;
-</pre>
-</p>
-<p>
-In <code>AndroidManifest.xml</code> reference the above config
-<pre>
-&lt;?xml version="1.0" encoding="utf-8"?&gt;
-...
-&lt;application ...&gt;
-    &lt;meta-data android:name="android.security.net.config"
-               android:resource="@xml/network_security_config" /&gt;
-    ...
-</pre>
-</p>
-
-<h3 id="ConfigInheritance">Configuration Inheritance</h3>
-<p>Values not set in a specific config will be inherited.
-This allows more complex configurations while keeping the configuration file readable.</p>
-
-<p>If a value is not set in a specific entry then value from the next more general entry will be used.
-Values not set in a {@code domain-config} will be taken from the parent {@code domain-config}, if nested, or
-from the {@code base-config} if not. Values not set in the {@code base-config} will use
-the platform default values.
-
-<p>For example consider, where all connections to subdomains of {@code example.com}
-must use a custom set of CAs. Additonally cleartext traffic to these domains is permitted
-<em>except</em> when connecting to {@code secure.example.com}. By nesting the configuration
-for {@code secure.example.com} inside the configuration for {@code example.com} the
-{@code trust-anchors} does not need to be duplicated.</p>
-
-<p>
-<code>res/xml/network_security_config.xml</code>:
-<pre>
-&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;network-security-config&gt;
-    &lt;domain-config&gt;
-        &lt;domain includeSubdomains="true"&gt;example.com&lt;/domain&gt;
-        &lt;trust-anchors&gt;
-            &lt;certificates src="@raw/my_ca"/&gt;
-        &lt;/trust-anchors&gt;
-        &lt;domain-config cleartextTrafficPermitted="false"&gt;
-            &lt;domain includeSubdomains="true"&gt;secure.example.com&lt;/domain&gt;
-        &lt;/domain-config&gt;
-    &lt;/domain-config&gt;
-&lt;/network-security-config&gt;
-</pre>
-</p>
-<p>
-In <code>AndroidManifest.xml</code> reference the above config
-<pre>
-&lt;?xml version="1.0" encoding="utf-8"?&gt;
-...
-&lt;application ...&gt;
-    &lt;meta-data android:name="android.security.net.config"
-               android:resource="@xml/network_security_config" /&gt;
-    ...
-</pre>
-</p>
-
-<h2 id="FileFormat">Configuration File Format</h2>
-<p>The configuration file is XML. Here is what it can contain:</p>
-</p>
-<pre>
-&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;network-security-config&gt;
-    &lt;base-config&gt;
-        &lt;trust-anchors&gt;
-            &lt;certificates src="..."/&gt;
-            ...
-        &lt;/trust-anchors&gt;
-    &lt;/base-config&gt;
-
-    &lt;domain-config&gt;
-        &lt;domain&gt;android.com&lt;/domain&gt;
-        ...
-        &lt;trust-anchors&gt;
-            &lt;certificates src="..."/&gt;
-            ...
-        &lt;/trust-anchors&gt;
-        &lt;pin-set&gt;
-            &lt;pin digest="..."&gt;...&lt;/pin&gt;
-            ...
-        &lt;/pin-set&gt;
-    &lt;/domain-config&gt;
-    ...
-    &lt;debug-overrides&gt;
-        &lt;trust-anchors&gt;
-            &lt;certificates src="..."/&gt;
-            ...
-        &lt;/trust-anchors&gt;
-    &lt;/debug-overrides&gt;
-&lt;/network-security-config&gt;
-</pre>
-
-<h3 id="network-security-config">&lt;network-security-config&gt;</h3>
-<dl class="xml">
-<dt>can contain:</dt>
-<dd>0 or 1 <code><a href="#base-config">&lt;base-config&gt;</a></code>
-<br/>Any number of <code><a href="#domain-config">&lt;domain-config&gt;</a></code>
-<br/>0 or 1<code><a href="#debug-overrides">&lt;debug-overrides&gt;</a></code>
-</dd>
-</dl>
-
-
-<h3 id="base-config">&lt;base-config&gt;</h3>
-<dl class="xml">
-<dt>syntax:</dt>
-<dd><pre class="stx">&lt;base-config <a href="#usesCleartextTraffic">usesCleartextTraffic</a>=["true" | "false"]&gt;
-    ...
-&lt;/base-config&gt;</pre></dd>
-<dt>can contain:</dt>
-<dd><code><a href="#trust-anchors">&lt;trust-anchors&gt;</a></code></dd>
-<dt>descrption:</dt>
-<dd>
-The default configuration used by all connections whose destination is not covered by a
-<a href="#domain-config"><code>domain-config</code></a>.
-
-<p>Any values that are not set will use the platform default values.
-The default configuration for applications targeting above API level 24 and above:
-<pre>
-&lt;base-config usesCleartextTraffic="true"&gt;
-    &lt;trust-anchors&gt;
-        &lt;certificates src="system" /&gt;
-    &lt;/trust-anchors&gt;
-&lt;/base-config&gt;
-</pre>
-The default configuration for applications targeting API level 23 and below is:
-<pre>
-&lt;base-config usesCleartextTraffic="true"&gt;
-    &lt;trust-anchors&gt;
-        &lt;certificates src="system" /&gt;
-        &lt;certificates src="user" /&gt;
-    &lt;/trust-anchors&gt;
-&lt;/base-config&gt;
-</pre>
-</p>
-</dd>
-</dl>
-
-<h3 id="domain-config">&lt;domain-config&gt;</h3>
-<dl class="xml">
-<dt>syntax:</dt>
-<dd><pre class="stx">&lt;domain-config <a href="#usesCleartextTraffic">usesCleartextTraffic</a>=["true" | "false"]&gt;
-    ...
-&lt;/domain-config&gt;</pre></dd>
-<dt>Can Contain:</dt>
-
-<dd>
-1 or more <code><a href="#domain">&lt;domain&gt;</a></code>
-<br/>0 or 1 <code><a href="#trust-anchors">&lt;trust-anchors&gt;</a></code>
-<br/>0 or 1 <code><a href="#pin-set">&lt;pin-set&gt;</code></a>
-<br/>Any number of nested <code>&lt;domain-config&gt;</code></dd>
-
-<dt>Descrption</dt>
-<dd>Configuration used for connections to specific destinations as the defined by {@code domain} elements.
-
-<p>Note that if multiple {@code domain-config} elements cover a destination the config with the most specific (longest)
-matching domain rule will be used.</p></dd>
-</dl>
-
-<h3 id="domain">&lt;domain&gt;</h3>
-<dl class="xml">
-<dt>syntax:</dt>
-<dd><pre class="stx">&lt;domain includeSubdomains=["true" | "false"]&gt;example.com&lt;/domain&gt;</pre></dd>
-<dt>Attributes:</dt>
-<dd><dl class="attr">
-<dt>{@code includeSubdomains}</dt>
-<dd>If {@code "true"} then this domain rule will match the domain and all subdomains, including
-subdomains of subdomains, otherwise the rule only applies to exact matches.</dd>
-</dl>
-</dd>
-
-<dt>Descrption:</dt>
-</dl>
-
-<h3 id="debug-overrides">&lt;debug-overrides&gt;</h3>
-<dl class="xml">
-<dt>syntax:</dt>
-<dd><pre class="stx">&lt;debug-overrides&gt;
-    ...
-&lt;/debug-overrides&gt;</pre></dd>
-<dt>Can Contain:</dt>
-<dd>0 or 1 <code><a href="#trust-anchors">&lt;trust-anchors&gt;</a></code></dd>
-<dt>Description:</dt>
-<dd>Overrides to be applied when
-<a href="{@docRoot}guide/topics/manifest/application-element.html#debug">android:debuggable</a> is
-{@code "true"} which is normally the case for non-release builds generated by IDEs and build tools.
-Trust anchors specified in {@code debug-overrides} are added to all other configurations and certificate
-pinning is not performed when the server's certificate chain uses one of these debug-only trust anchors.
-If <a href="{@docRoot}guide/topics/manifest/application-element.html#debug">android:debuggable</a> is
-{@code "false"} then this section is completely ignored.
-</dd>
-</dl>
-
-<h3 id="trust-anchors">&lt;trust-anchors&gt;</h3>
-<dl class="xml">
-<dt>syntax:</dt>
-<dd>
-<pre class="stx">&lt;trust-anchors&gt;
-...
-&lt;/trust-anchors&gt;
-</pre></dd>
-<dt>Can Contain:</dt>
-<dd>Any number of <code><a href="#certificates">&lt;certificates&gt;</a></code></dd>
-<dt>Description:</dt>
-<dd>Set of trust anchors for secure connections.</dd>
-</dl>
-
-
-<h3 id="certificates">&lt;certificates&gt;</h3>
-<dl class="xml">
-<dt>syntax:</dt>
-<dd><pre class="stx">&lt;certificates src=["system" | "user" | "<i>raw resource</i>"]
-              overridePins=["true" | "false"] /&gt;
-</pre></dd>
-<dt>description:</dt>
-<dd>Set of X.509 certificates for {@code trust-anchors} elements.</dd>
-
-<dt>attributes:</dt>
-<dd><dl class="attr">
-<dt>{@code src}</dt>
-<dd>
-The source of CA certificates, can be one of
-<ul>
-    <li>a raw resource id pointing to a file containing X.509 certificates. Certificates must be encoded in DER or PEM format.
-        In the case of PEM certificates the file <em>must not</em> contain extra non-PEM data such as comments.</li>
-    <li>{@code "system"} for the pre-installed system CA certificates</li>
-    <li>{@code "user"} for user-added CA certificates</li>
-</ul>
-</dd>
-
-<dt>{@code overridePins}</dt>
-<dd>
-Specifies if the CAs from this source bypass certificate pinning. If {@code "true"} then certificate chains which
-chain through one of the CAs from this source then pinning will not be performed. This can be useful
-for debug CAs or to support letting the user MiTM your app's secure traffic.
-<p>
-Default is {@code "false"} unless specified in a {@code debug-overrides} element, in which case the default is {@code "true"}.
-</p>
-</dd>
-</dl>
-</dd>
-
-<h3 id="pin-set">&lt;pin-set&gt;</h3>
-<dl class="xml">
-<dt>syntax:</dt>
-<dd>
-<pre class="stx">&lt;pin-set expiration="date"&gt;
-...
-&lt;/pin-set&gt;
-</pre></dd>
-<dt>Can Contain:</dt>
-<dd>Any number of <code><a href="#pin">&lt;pin&gt;</a></code></dd>
-<dt>Description:</dt>
-<dd>A set of public key pins. For a secure connection to be trusted, one of the public keys in the chain of trust must
-be in the set of pins. See <code><a href="#pin">&lt;pin&gt;</a></code> for the format of pins.</dd>
-<dt>Attributes:</dt>
-<dd><dl class="attr">
-<dt>{@code expiration}</dt>
-<dd>The date, in {@code yyyy-MM-dd} format, at and after which the pins expire, thus disabling pinning.
-If the attribute is not set then the pins do not expire.
-<p>Expiration helps prevent connectivity issues in applications which do not get updates to their
-pin set, for example because the user disabled application updates.</p>
-</dd>
-</dl>
-</dd>
-
-<h3 id="pin">&lt;pin&gt;</h3>
-<dl class="xml">
-<dt>syntax:</dt>
-<dd>
-<pre class="stx">&lt;pin digest=["SHA-256"]&gt;base64 encoded digest of X.509 SubjectPublicKeyInfo (SPKI)&lt;/pin&gt</pre></dd>
-<dt>Attributes:</dt>
-<dd><dl class="attr">
-<dt>{@code digest}</dt>
-<dd>The digest algorithm used to generate the pin. Currently only {@code "SHA-256"} is supported.</dd>
-</dl>
-</dd>
-</dl>
diff --git a/docs/html/images/cards/card-secrets-playbook_2x.jpg b/docs/html/images/cards/card-secrets-playbook_2x.jpg
new file mode 100644
index 0000000..87e6c8c
--- /dev/null
+++ b/docs/html/images/cards/card-secrets-playbook_2x.jpg
Binary files differ
diff --git a/docs/html/images/gp-secrets-playbook-lg.png b/docs/html/images/gp-secrets-playbook-lg.png
new file mode 100644
index 0000000..08b2a33
--- /dev/null
+++ b/docs/html/images/gp-secrets-playbook-lg.png
Binary files differ
diff --git a/docs/html/images/gp-secrets-playbook.png b/docs/html/images/gp-secrets-playbook.png
new file mode 100644
index 0000000..831376b
--- /dev/null
+++ b/docs/html/images/gp-secrets-playbook.png
Binary files differ
diff --git a/docs/html/images/testing/test-types.zip b/docs/html/images/testing/test-types.zip
new file mode 100644
index 0000000..d433b91
--- /dev/null
+++ b/docs/html/images/testing/test-types.zip
Binary files differ
diff --git a/docs/html/images/testing/test-types_2x.png b/docs/html/images/testing/test-types_2x.png
new file mode 100644
index 0000000..0a374aa
--- /dev/null
+++ b/docs/html/images/testing/test-types_2x.png
Binary files differ
diff --git a/docs/html/index.jd b/docs/html/index.jd
index c69acab..b1248af 100644
--- a/docs/html/index.jd
+++ b/docs/html/index.jd
@@ -22,6 +22,7 @@
       <a href="{@docRoot}preview/index.html">
         <h1 class="dac-hero-title">Android N Developer Preview</h1>
         <p class="dac-hero-description">
+          <strong>Android N final SDK is now available!</strong>
           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>.
diff --git a/docs/html/jd_extras_en.js b/docs/html/jd_extras_en.js
index 6295e0e..dc152f8 100644
--- a/docs/html/jd_extras_en.js
+++ b/docs/html/jd_extras_en.js
@@ -3758,8 +3758,8 @@
   },
   "distribute/googleplay/guide.html": {
     "image": "images/distribute/hero-secrets-to-app-success.jpg",
-    "title": "Secrets to App Success on Google Play",
-    "summary": "Get the updated guide full of useful features, tips, and best practices that will help you grow a successful app or game business on Google Play.",
+    "title": "Playbook for Developers",
+    "summary": "Stay up to date with features, best practices, and strategies to help you grow your business and find success on Google Play.",
   },
   "about/versions/lollipop.html": {
     "image": "images/home/hero-lollipop_2x.png",
@@ -5379,10 +5379,15 @@
       "preview/support.html"
     ]
   },
+  "preview/landing/videos/first": {
+    "title": "",
+    "resources": [
+    "https://www.youtube.com/watch?v=CsulIu3UaUM"
+    ]
+  },
   "preview/landing/more": {
     "title": "",
     "resources": [
-      "https://www.youtube.com/watch?v=CsulIu3UaUM",
       "preview/features/multi-window.html",
       "preview/features/notification-updates.html",
       "preview/features/background-optimization.html",
diff --git a/docs/html/ndk/downloads/_book.yaml b/docs/html/ndk/downloads/_book.yaml
deleted file mode 100644
index a5e92ce..0000000
--- a/docs/html/ndk/downloads/_book.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-toc:
-- title: Downloads
-  path: /ndk/downloads/index.html
-
-- title: Revision History
-  path: /ndk/downloads/revision_history.html
diff --git a/docs/html/ndk/downloads/downloads_toc.cs b/docs/html/ndk/downloads/downloads_toc.cs
deleted file mode 100644
index dbe8aec..0000000
--- a/docs/html/ndk/downloads/downloads_toc.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-<?cs # Table of contents for Dev Guide.
-
-       For each document available in translation, add an localized title to this TOC.
-       Do not add localized title for docs not available in translation.
-       Below are template spans for adding localized doc titles. Please ensure that
-       localized titles are added in the language order specified below.
-?>
-
-<ul id="nav">
-   <li class="nav-section">
-      <div class="nav-section-header empty"><a href="/ndk/downloads/index.html"><span class="en">
-      Downloads</span></a></div>
-   </li>
-
-   <li class="nav-section">
-      <div class="nav-section-header empty"><a href="/ndk/downloads/revision_history.html">
-      <span class="en">Revision History</span></a></div>
-   </li>
-</ul>
-
-
-<script type="text/javascript">
-<!--
-    buildToggleLists();
-    changeNavLang(getLangPref());
-//-->
-</script>
-
diff --git a/docs/html/ndk/downloads/index.jd b/docs/html/ndk/downloads/index.jd
deleted file mode 100644
index 47d3113..0000000
--- a/docs/html/ndk/downloads/index.jd
+++ /dev/null
@@ -1,366 +0,0 @@
-ndk=true
-page.template=sdk
-page.title=NDK Downloads
-
-@jd:body
-
-
-<!-- start studio download modal -->
-<div data-modal="ndk_tos" class="dac-modal" id="ndk_tos">
-  <div class="dac-modal-container">
-    <div class="dac-modal-window">
-      <header class="dac-modal-header">
-        <div class="dac-modal-header-actions">
-          <button class="dac-modal-header-close" data-modal-toggle></button>
-        </div>
-        <section class="dac-swap-section dac-active dac-down">
-          <h2 class="norule dac-modal-header-title" id="tos-header">Download the Android NDK</h2>
-        </section>
-      </header>
-      <section class="dac-swap-section dac-active dac-left">
-          <section class="dac-modal-content">
-            <fieldset class="dac-form-fieldset">
-              <div class="cols">
-                <div class="col-2of2 tos-leftCol">
-                  <p class="sdk-terms-intro">Before installing the Android
-                  NDK,
-                  you must agree to the following terms
-                  and conditions.</p>
-                </div>
-<div class="sdk-terms" style="width:auto" onfocus="this.blur()">
-<h2 class="norule">Terms and Conditions</h2>
-This is the Android Software Development Kit License Agreement
-
-<h3>1. Introduction</h3>
-1.1 The Android Software Development Kit (referred to in the License Agreement as the "SDK" and
-specifically including the Android system files, packaged APIs, and Google APIs add-ons) is
-licensed to you subject to the terms of the License Agreement. The License Agreement forms a
-legally binding contract between you and Google in relation to your use of the SDK.
-
-1.2 "Android" means the Android software stack for devices, as made available under the Android
-Open Source Project, which is located at the following URL: http://source.android.com/, as updated
-from time to time.
-
-1.3 A "compatible implementation" means any Android device that (i) complies with the Android
-Compatibility Definition document, which can be found at the Android compatibility website
-(http://source.android.com/compatibility) and which may be updated from time to time; and (ii)
-successfully passes the Android Compatibility Test Suite (CTS).
-
-1.4 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600
-Amphitheatre Parkway, Mountain View, CA 94043, United States.
-
-
-<h3>2. Accepting this License Agreement</h3>
-2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK
-if you do not accept the License Agreement.
-
-2.2 By clicking to accept, you hereby agree to the terms of the License Agreement.
-
-2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred
-from receiving the SDK under the laws of the United States or other countries, including the
-country in which you are resident or from which you use the SDK.
-
-2.4 If you are agreeing to be bound by the License Agreement on behalf of your employer or other
-entity, you represent and warrant that you have full legal authority to bind your employer or such
-entity to the License Agreement. If you do not have the requisite authority, you may not accept the
-License Agreement or use the SDK on behalf of your employer or other entity.
-
-
-<h3>3. SDK License from Google</h3>
-3.1 Subject to the terms of the License Agreement, Google grants you a limited, worldwide,
-royalty-free, non-assignable, non-exclusive, and non-sublicensable license to use the SDK solely to
-develop applications for compatible implementations of Android.
-
-3.2 You may not use this SDK to develop applications for other platforms (including non-compatible
-implementations of Android) or to develop another SDK. You are of course free to develop
-applications for other platforms, including non-compatible implementations of Android, provided
-that this SDK is not used for that purpose.
-
-3.3 You agree that Google or third parties own all legal right, title and interest in and to the
-SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property
-Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law,
-and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
-
-3.4 You may not use the SDK for any purpose not expressly permitted by the License Agreement.
-Except to the extent required by applicable third party licenses, you may not: (a) copy (except for
-backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create
-derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile
-handset or any other hardware device except a personal computer, combine any part of the SDK with
-other software, or distribute any software or device incorporating a part of the SDK.
-
-3.5 Use, reproduction and distribution of components of the SDK licensed under an open source
-software license are governed solely by the terms of that open source software license and not the
-License Agreement.
-
-3.6 You agree that the form and nature of the SDK that Google provides may change without prior
-notice to you and that future versions of the SDK may be incompatible with applications developed
-on previous versions of the SDK. You agree that Google may stop (permanently or temporarily)
-providing the SDK (or any features within the SDK) to you or to users generally at Google's sole
-discretion, without prior notice to you.
-
-3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names,
-trademarks, service marks, logos, domain names, or other distinctive brand features.
-
-3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including
-copyright and trademark notices) that may be affixed to or contained within the SDK.
-
-
-<h3>4. Use of the SDK by You</h3>
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under
-the License Agreement in or to any software applications that you develop using the SDK, including
-any intellectual property rights that subsist in those applications.
-
-4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the
-License Agreement and (b) any applicable law, regulation or generally accepted practices or
-guidelines in the relevant jurisdictions (including any laws regarding the export of data or
-software to and from the United States or other relevant countries).
-
-4.3 You agree that if you use the SDK to develop applications for general public users, you will
-protect the privacy and legal rights of those users. If the users provide you with user names,
-passwords, or other login information or personal information, you must make the users aware that
-the information will be available to your application, and you must provide legally adequate
-privacy notice and protection for those users. If your application stores personal or sensitive
-information provided by users, it must do so securely. If the user provides your application with
-Google Account information, your application may only use that information to access the user's
-Google Account when, and for the limited purposes for which, the user has given you permission to
-do so.
-
-4.4 You agree that you will not engage in any activity with the SDK, including the development or
-distribution of an application, that interferes with, disrupts, damages, or accesses in an
-unauthorized manner the servers, networks, or other properties or services of any third party
-including, but not limited to, Google or any mobile communications carrier.
-
-4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or
-to any third party for) any data, content, or resources that you create, transmit or display
-through Android and/or applications for Android, and for the consequences of your actions
-(including any loss or damage which Google may suffer) by doing so.
-
-4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or
-to any third party for) any breach of your obligations under the License Agreement, any applicable
-third party contract or Terms of Service, or any applicable law or regulation, and for the
-consequences (including any loss or damage which Google or any third party may suffer) of any such
-breach.
-
-
-<h3>5. Your Developer Credentials</h3>
-5.1 You agree that you are responsible for maintaining the confidentiality of any developer
-credentials that may be issued to you by Google or which you may choose yourself and that you will
-be solely responsible for all applications that are developed under your developer credentials.
-
-
-<h3>6. Privacy and Information</h3>
-6.1 In order to continually innovate and improve the SDK, Google may collect certain usage
-statistics from the software including but not limited to a unique identifier, associated IP
-address, version number of the software, and information on which tools and/or services in the SDK
-are being used and how they are being used. Before any of this information is collected, the SDK
-will notify you and seek your consent. If you withhold consent, the information will not be
-collected.
-
-6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in
-accordance with Google's Privacy Policy.
-
-
-<h3>7. Third Party Applications</h3>
-7.1 If you use the SDK to run applications developed by a third party or that access data, content
-or resources provided by a third party, you agree that Google is not responsible for those
-applications, data, content, or resources. You understand that all data, content or resources which
-you may access through such third party applications are the sole responsibility of the person from
-which they originated and that Google is not liable for any loss or damage that you may experience
-as a result of the use or access of any of those third party applications, data, content, or
-resources.
-
-7.2 You should be aware the data, content, and resources presented to you through such a third
-party application may be protected by intellectual property rights which are owned by the providers
-(or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell,
-distribute or create derivative works based on these data, content, or resources (either in whole
-or in part) unless you have been specifically given permission to do so by the relevant owners.
-
-7.3 You acknowledge that your use of such third party applications, data, content, or resources may
-be subject to separate terms between you and the relevant third party. In that case, the License
-Agreement does not affect your legal relationship with these third parties.
-
-
-<h3>8. Using Android APIs</h3>
-8.1 Google Data APIs
-
-8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be
-protected by intellectual property rights which are owned by Google or those parties that provide
-the data (or by other persons or companies on their behalf). Your use of any such API may be
-subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or
-create derivative works based on this data (either in whole or in part) unless allowed by the
-relevant Terms of Service.
-
-8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you
-shall retrieve data only with the user's explicit consent and only when, and for the limited
-purposes for which, the user has given you permission to do so.
-
-
-<h3>9. Terminating this License Agreement</h3>
-9.1 The License Agreement will continue to apply until terminated by either you or Google as set
-out below.
-
-9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK
-and any relevant developer credentials.
-
-9.3 Google may at any time, terminate the License Agreement with you if:
-(A) you have breached any provision of the License Agreement; or
-(B) Google is required to do so by law; or
-(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated
-its relationship with Google or ceased to offer certain parts of the SDK to you; or
-(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country
-in which you are resident or from which you use the service, or the provision of the SDK or certain
-SDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
-
-9.4 When the License Agreement comes to an end, all of the legal rights, obligations and
-liabilities that you and Google have benefited from, been subject to (or which have accrued over
-time whilst the License Agreement has been in force) or which are expressed to continue
-indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall
-continue to apply to such rights, obligations and liabilities indefinitely.
-
-
-<h3>10. DISCLAIMER OF WARRANTIES</h3>
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE
-SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
-
-10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE
-SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR
-COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
-
-10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
-
-
-<h3>11. LIMITATION OF LIABILITY</h3>
-11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS
-LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY
-LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN
-AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
-
-
-<h3>12. Indemnification</h3>
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless
-Google, its affiliates and their respective directors, officers, employees and agents from and
-against any and all claims, actions, suits or proceedings, as well as any and all losses,
-liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or
-accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes
-any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of
-any person or defames any person or violates their rights of publicity or privacy, and (c) any
-non-compliance by you with the License Agreement.
-
-
-<h3>13. Changes to the License Agreement</h3>
-13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK.
-When these changes are made, Google will make a new version of the License Agreement available on
-the website where the SDK is made available.
-
-
-<h3>14. General Legal Terms</h3>
-14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs
-your use of the SDK (excluding any services which Google may provide to you under a separate
-written agreement), and completely replaces any prior agreements between you and Google in relation
-to the SDK.
-
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is
-contained in the License Agreement (or which Google has the benefit of under any applicable law),
-this will not be taken to be a formal waiver of Google's rights and that those rights or remedies
-will still be available to Google.
-
-14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any
-provision of the License Agreement is invalid, then that provision will be removed from the License
-Agreement without affecting the rest of the License Agreement. The remaining provisions of the
-License Agreement will continue to be valid and enforceable.
-
-14.4 You acknowledge and agree that each member of the group of companies of which Google is the
-parent shall be third party beneficiaries to the License Agreement and that such other companies
-shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that
-confers a benefit on (or rights in favor of) them. Other than this, no other person or company
-shall be third party beneficiaries to the License Agreement.
-
-14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST
-COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE
-LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
-
-14.6 The rights granted in the License Agreement may not be assigned or transferred by either you
-or Google without the prior written approval of the other party. Neither you nor Google shall be
-permitted to delegate their responsibilities or obligations under the License Agreement without the
-prior written approval of the other party.
-
-14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be
-governed by the laws of the State of California without regard to its conflict of laws provisions.
-You and Google agree to submit to the exclusive jurisdiction of the courts located within the
-county of Santa Clara, California to resolve any legal matter arising from the License Agreement.
-Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies
-(or an equivalent type of urgent legal relief) in any jurisdiction.
-
-<em>November 20, 2015</em>
-</div>
-
-
-
-<div id="sdk-terms-form">
-<p>
-<input id="agree" type="checkbox" name="agree" value="1" onclick="onAgreeChecked()" />
-<label id="agreeLabel" for="agree">I have read and agree with the above terms and conditions</label>
-</p>
-<p><a href="" class="button disabled" id="downloadForRealz" onclick="return onDownloadForRealz(this);"></a></p>
-</div>
-
-                </div>
-              </div>
-            </fieldset>
-          </section>
-        </form>
-      </section>
-    </div>
-  </div>
-</div>
-<!-- end ndk_tos modal -->
-
-
-  <p>Select, from the table above, the NDK package for your development platform. For information
-  about the changes in the newest version of the NDK, see <a href="#rel">Release Notes</a>. For
-  information about earlier revisions, see <a href="{@docRoot}ndk/downloads/revision_history.html">
-  NDK Revision History.</a></p>
-
-
-<script>
-$('#Downloads').after($('#download-table'));
-</script>
-
-<h2 id="rel">Release Notes</h2>
-
-<p>
-  Android NDK, Revision 11c <em>(March 2016)</em>
-</p>
-
-<dl>
-  <dt>
-    NDK
-  </dt>
-
-  <dd>
-    <ul>
-      <li>Changes
-        <ul>
-          <li>Applied additional fixes to the {@code ndk-gdb.py} script.
-          </li>
-          <li>Added an optional package name argument to the {@code ndk-gdb}
-            command {@code --attach} option.
-            (<a href="https://github.com/android-ndk/ndk/issues/13">Issue 13</a>)
-          </li>
-          <li>Fixed invalid toolchain paths for 32-bit Windows platform.
-            (<a href="https://github.com/android-ndk/ndk/issues/45">Issue 45</a>)
-          </li>
-          <li>Fixed the relative path for the {@code ndk-which} command.
-            (<a href="https://github.com/android-ndk/ndk/issues/29">Issue 29</a>)
-          </li>
-          <li>Fixed use of cygpath for the libgcc compiler.
-            (Android <a href="http://b.android.com/195486">Issue 195486</a>)
-          </li>
-        </ul>
-      </li>
-    </ul>
-  </dd>
-</dl>
\ No newline at end of file
diff --git a/docs/html/ndk/downloads/revision_history.jd b/docs/html/ndk/downloads/revision_history.jd
deleted file mode 100644
index c5a0d48..0000000
--- a/docs/html/ndk/downloads/revision_history.jd
+++ /dev/null
@@ -1,3728 +0,0 @@
-page.title=NDK Revision History
-@jd:body
-
-<p>This page provides information on previous releases of the NDK, enumerating the changes that
-took place in each new version.</p>
-
-
-<div class="toggle-content closed">
-<a name="11b"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 11b</a> <em>(March 2016)</em>
- </p>
- <div class="toggle-content-toggleme">
-
-    <dl>
-      <dt>NDK</dt>
-      <dd>
-      <ul>
-      <li>Important announcements
-      <ul>
-         <li>We’ve moved our bug tracker to <a href="https://github.com/android-ndk/ndk/issues">
-         GitHub.</a></li>
-     </ul>
-     </li>
-
-     <li>Changes
-        <ul>
-         <li>{@code ndk-gdb.py} is fixed. It had
-               <a href="https://github.com/android-ndk/ndk/issues/3">regressed entirely</a>
-               in r11.</li>
-               <li>{@code ndk-gdb} for Mac <a href="https://github.com/android-ndk/ndk/issues/2">
-               is fixed</a>.</li>
-               <li>Added more top-level shortcuts for command line tools:
-                  <ul>
-                     <li>{@code ndk-depends}.</li>
-                     <li>{@code ndk-gdb}.</li>
-                     <li>{@code ndk-stack}.</li>
-                     <li>{@code ndk-which}. This command had been entirely absent from previous
-                     releases.</li>
-                  </ul>
-               </li>
-               <li>Fixed standalone toolchains for libc++, which had been missing
-               {@code __cxxabi_config.h}.</li>
-               <li>Fixed help documentation for {@code --toolchain} in
-               {@code make-standalone-toolchain.sh}.</li>
-         </li>
-       </ul>
-      </dd>
-
-      <dt>Clang</dt>
-      <dd>
-      <ul>
-      <li>Errata</li>
-          <ul>
-             <li>Contrary to what we reported in the r11 Release Notes, {@code __thread}
-             does not work. This is because the version of Clang we ship is missing a bug fix for
-             emulated TLS support.</li>
-          </ul>
-      </ul>
-      </dd>
-   </dl>
-
-
- </div>
-</div>
-
-<div class="toggle-content closed">
-<a name="11"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 11</a> <em>(March 2016)</em>
- </p>
- <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Clang</dt>
-      <dd>
-      <ul>
-      <li>Important announcements
-      <ul>
-         <li>We strongly recommend switching to Clang.
-            <ul>
-                 <li>If you experience problems with Clang, file bugs
-         <a href="https://github.com/android-ndk/ndk/issues">here</a> for issues
-         specific to Clang in the NDK. For more general Clang issues,
-         file bugs by following the instructions on
-         <a href="http://llvm.org/docs/HowToSubmitABug.html">this page</a>.</li>
-            </ul>
-         </li>
-         <li>Clang has been updated to 3.8svn (r243773, build 2481030).
-            <ul>
-               <li>This version is a nearly pure upstream Clang.</li>
-               <li>The Windows 64-bit downloadable NDK package contains a 32-bit
-               version of Clang.</li>
-            </ul>
-         </li>
-     </ul>
-     </li>
-
-     <li>Additions
-        <ul>
-         <li>Clang now provides support for emulated TLS.
-            <ul>
-               <li>The compiler now supports {@code __thread} by emulating
-               ELF TLS with pthread thread-specific data.</li>
-               <li>C++11 {@code thread_local} works in some cases, but not
-               for data with non-trivial destructors, because those cases
-               require support from libc. This limitation does not
-               apply when running on Android 6.0 (API level 23) or newer.</li>
-               <li>Emulated TLS does not yet work with Aarch64 when
-               TLS variables are accessed from a shared library.</li>
-            </ul>
-         </li>
-       </ul>
-      </dd>
-   </dl>
-
-    <dl>
-      <dt>GCC</dt>
-      <dd>
-      <ul>
-      <li>Important announcements</li>
-          <ul>
-             <li>GCC in the NDK is now deprecated in favor of Clang.
-            <ul>
-               <li>The NDK will neither be upgrading to 5.x, nor accept
-               non-critical backports.</li>
-               <li>Maintenance for miscompiles and internal compiler errors
-               in 4.9 will be handled on a case by case basis.</li>
-            </ul>
-            </li>
-          </ul>
-      <li>Removals
-         <ul>
-         <li>Removed GCC 4.8. All targets now use GCC 4.9.</li>
-         </ul>
-       </li>
-      <li>Other changes
-         <ul>
-         <li>Synchronized google/gcc-4_9 to r224707. Previously, it had been
-         synchronized with r214835.</li>
-         </ul>
-       </li>
-       </ul>
-      </dd>
-   </dl>
-    <dl>
-      <dt>NDK</dt>
-      <dd>
-      <ul>
-      <li>Important announcements
-         <ul>
-            <li>The samples are no longer included in the NDK package.
-            They are instead available on
-            <a href="https://github.com/googlesamples/android-ndk">GitHub.</a>
-            </li>
-            <li>The documentation is no longer included in the NDK package.
-            Instead, it is on the <a href="{@docRoot}ndk/index.html">Android
-            developer website.</a></li>
-         </ul>
-      </li>
-
-      <li>Additions
-          <ul>
-         <li>Added a native tracing API to {@code android-23}.</li>
-         <li>Added a native multinetwork API to {@code android-23}.</li>
-         <li>Enabled libc, m, and dl to provide versioned symbols, starting
-         from API level 21.</li>
-         <li>Added Vulkan headers and library to API level N.</li>
-          </ul>
-       </li>
-
-      <li>Removals
-          <ul>
-         <li>Removed support for {@code _WCHAR_IS_8BIT}.</li>
-         <li>Removed sed.</li>
-         <li>Removed mclinker.</li>
-         <li>Removed Perl.</li>
-         <li>Removed from all versions of NDK libc, m, and dl all symbols which
-         the platform versions of those libs do not support.</li>
-         <li>Partially removed support for mips64r2. The rest will be removed
-         in the future.</li>
-          </ul>
-       </li>
-
-      <li>Other changes
-          <ul>
-            <li>Changed ARM standalone toolchains to default to arm7.
-               <ul>
-                  <li>You can restore the old behavior by passing specifying the
-                  {@code -target} option as {@code armv5te-linux-androideabi}.
-                  </li>
-               </ul>
-            </li>
-         <li>Changed the build system to use {@code -isystem} for platform
-         includes.
-            <ul>
-               <li>Warnings that bionic causes no longer break app builds.</li>
-            </ul>
-         </li>
-         <li>Fixed a segfault that occurred when a binary threw exceptions
-         via gabi++. (Issue <a href="http://b.android.com/179410">179410</a>)
-         </li>
-         <li>Changed libc++’s inline namespace to {@code std::__ndk1}
-         to prevent ODR issues with platform libc++.</li>
-
-         <li>All libc++ libraries are now built with libc++abi.
-         <li>Bumped default {@code APP_PLATFORM} to Gingerbread.
-            <ul>
-               <li>Expect support for Froyo and older to be dropped in a
-               future release.</ul>
-            </ul>
-         <li>Updated gabi++ {@code _Unwind_Exception} struct for 64 bits.
-         <li>Added the following capabilities to cpufeatures:
-            <ul>
-            <li>Detect SSE4.1 and SSE4.2.</li>
-            <li>Detect cpu features on x86_64.</li>
-            </ul>
-        </li>
-         <li>Updated libc++abi to upstream
-         <a href="http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20150302/124603.html">
-         r231075</a>.
-         <li>Updated {@code byteswap.h}, {@code endian.h}, {@code sys/procfs.h},
-         {@code sys/ucontext.h}, {@code sys/user.h}, and {@code uchar.h} from
-         ToT Bionic.
-         <li>Synchronized {@code sys/cdefs.h} across all API levels.
-
-         <li>Fixed {@code fegetenv and fesetenv} for arm.
-         <li>Fix end pointer size/alignment of {@code crtend_*} for mips64
-         and x86_64.
-          </ul>
-       </li>
-      </ul>
-      </ul>
-      </dd>
-   <dl>
-    <dl>
-      <dt>Binutils</dt>
-      <dd>
-      <ul>
-      <li>Additions
-         <ul>
-         <li>Added a new option: {@code --pic-veneer}.</li>
-         </ul>
-       </li>
-
-      <li>Removals
-         <ul>
-         <li>The 32-bit Windows package no longer contains ld.gold.
-         You can instead get ld.gold from the 64-bit Windows package.</li>
-         </ul>
-       </li>
-
-      <li>Changes
-          <ul>
-             <li>Unified binutils source between Android and ChromiumOS.
-             For more information on this change, see the comments
-             <a href="https://android-review.googlesource.com/#/c/182865/">
-             here.</a></li>
-             <li>Improved reliability of Gold for aarch64. Use
-             {@code -fuse-ld=gold} at link time to use gold instead of bfd.
-             The default will likely switch in the next release.</li>
-             <li>Improved linking time for huge binaries for Gold ARM back end
-             (up to 50% linking time reduction for debuggable Chrome Browser).
-             </li>
-          </ul>
-     </li>
-       </ul>
-      </dd>
-         <dl>
-    <dl>
-      <dt>GDB</dt>
-      <dd>
-      <ul>
-
-      <li>Removals
-         <ul>
-         <li>Removed ndk-gdb in favor of ndk-gdb.py.</li>
-         </ul>
-       </li>
-
-      <li>Changes
-          <ul>
-              <li>Updated gdb to version 7.10.</li>
-              <li>Improved performance.</li>
-              <li>Improved error messages.</li>
-              <li>Fixed relative project paths.</li>
-              <li>Stopped Ctrl-C from killing the backgrounded gdbserver.</li>
-              <li>Improved Windows support.</li>
-          </ul>
-     </li>
-       </ul>
-      </dd>
-
-               <dl>
-    <dl>
-      <dt>YASM</dt>
-      <dd>
-      <ul>
-
-      <li>Changes
-          <ul>
-              <li>Updated YASM to version 1.3.0.</li>
-          </ul>
-     </li>
-       </ul>
-      </dd>
-
-        <dl>
-    <dl>
-      <dt>Known issues</dt>
-      <dd>
-      <ul>
-      <li>x86 ASAN does not currently work. For more information, see the
-      discussion <a href="https://android-review.googlesource.com/#/c/186276/">
-      here.</a></li>
-      <li>The combination of Clang, x86, stlport_static, and optimization
-      levels higher than {@code -O0} causes test failures with
-      {@code dynamic_cast}. For more information, see the comments
-      <a href="https://android-review.googlesource.com/#/c/185920">here</a>.
-      </li>
-      <li>Exception handling often fails with c++_shared on ARM32. The root
-      cause is incompatibility between the LLVM unwinder that libc++abi uses
-      for ARM32 and libgcc. This behavior is not a regression from r10e.</li>
-     </ul>
-     </dd>
-   </dl>
-
- </div>
-</div>
-
-<div class="toggle-content closed">
-<a name="10e"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 10e</a> <em>(May 2015)</em>
- </p>
- <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-      <ul>
-        <li>Integrated the workaround for Cortex-A53 Erratum 843419 into the
-        {@code aarch64-linux-android-4.9} linker. For more information on this workaround, see
-        <a href="https://sourceware.org/ml/binutils/2015-03/msg00446.html">Workaround for cortex-a53
-        erratum 843419.</a></li>
-
-         <li>Added Clang 3.6; {@code NDK_TOOLCHAIN_VERSION=clang} now picks that version
-         of Clang by default.</li>
-
-         <li>Removed Clang 3.4.</li>
-
-         <li>Removed GCC 4.6.</li>
-
-         <li>Implemented multithreading support in {@code ld.gold} for all architectures. It can
-         now link with or without support for multithreading; the default is to do it without.
-            <ul>
-            <li>To compile with multithreading, use the {@code --threads} option.</li>
-            <li>To compile without multithreading, use the {@code --no-threads} option.</li>
-            </ul>
-            </li>
-
-         <li>Upgraded GDB/gdbserver to 7.7 for all architectures.</li>
-
-         <li>Removed the NDK package for 32-bit Darwin.</li>
-      </ul>
-      </dd>
-   <dl>
-
-
-     <dt>Important bug fixes:</dt>
-     <dd>
-     <ul>
-        <li>Fixed a crash that occurred when there were OpenMP loops outside of the main thread.</li>
-
-        <li>Fixed a GCC 4.9 internal compiler error (<i>ICE</i>) that occured when the user declared
-        {@code #pragma GCC optimize ("O0")}, but had a different level of optimization specified
-        on the command line. The {@code pragma} takes precedence.</li>
-
-        <li>Fixed an error that used to produce a crash with the following error message:
-<pre>
-in add_stores, at var-tracking.c:6000
-</pre>
-        </li>
-
-        <li>Implemented a workaround for a Clang 3.5 issue in which LLVM auto-vectorization
-        generates {@code llvm.cttz.v2i64()}, an instruction with no counterpart in the ARM
-        instruction set.</li>
-     </ul>
-     </dd>
-
-     <dt>Other bug fixes:</dt>
-     <dd>
-     <ul>
-        <li>Made the following header and library fixes:</li>
-           <ul>
-           <li>Fixed {@code PROPERTY_*} in {@code media/NdkMediaDrm.h}.</li>
-           <li>Fixed {@code sys/ucontext.h} for {@code mips64}.</li>
-           <li>Dropped the Clang version check for {@code __builtin_isnan} and
-           {@code __builtin_isinf}.</li>
-           <li>Added {@code android-21/arch-mips/usr/include/asm/reg.h}
-           and {@code android-21/arch-mips64/usr/include/asm/reg.h}.</li>
-           </ul>
-           </li>
-
-        <li>Fixed a spurious array-bounds warning that GCC 4.9 produced for x86, and reenabled the
-        array bounds warning that GCC 4.9 had produced for ARM. The warning for ARM had
-        previously been unconditionally disabled.</li>
-
-        <li>Fixed Clang 3.5 for {@code mips} and {@code mips64} to create a writable
-            {@code .gcc_except_table} section, thus matching GCC behavior. This change allows you
-            to avoid the following linker warning:
-
-<pre>
-.../ld: warning: creating a DT_TEXTREL in a shared object
-</pre>
-            </li>
-
-        <li>Backported a fix for {@code compiler-rt} issues that were causing crashes when Clang
-        compiled for {@code mips64}. For more information, see LLVM Issue
-        <a href="http://llvm.org/bugs/show_bug.cgi?id=20098">20098</a>.</li>
-
-        <li>Fixed Clang 3.5 crashes that occurred on non-ASCII comments. (Issue
-        <a href="https://code.google.com/p/android/issues/detail?id=81440">81440</a>)</li>
-
-        <li>Fixed {@code stlport collate::compare} to return {@code -1} and {@code 1}. Previously,
-        it had returned arbitrary signed numbers.</li>
-
-        <li>Fixed {@code ndk-gdb} for 64-bit ABIs. (Issue
-        <a href="https://code.google.com/p/android/issues/detail?id=118300">118300</a>)</li>
-
-        <li>Fixed the crash that the HelloComputeNDK sample for RenderScript was producing on
-        Android 4.4 (Android API level 19). For more information, see
-        <a href="http://stackoverflow.com/questions/28057049/targeting-pre-lollipop-devices-using-renderscript-from-ndk-c">this page</a>.</li>
-
-        <li>Fixed {@code libc++ __wrap_iter} for GCC. For more information, see LLVM Issue
-        <a href="http://llvm.org/bugs/show_bug.cgi?id=22355">22355</a>.</li>
-
-        <li>Fixed {@code .asm} support for ABI {@code x86_64}.</li>
-
-        <li>Implemented a workaround for the GCC 4.8 {@code stlport} issue. (Issue
-        <a href="https://android-review.googlesource.com/#/c/127773">127773</a>)</li>
-
-        <li>Removed the trailing directory separator {@code \\} from the project path in Windows.
-        (Issue <a href="https://code.google.com/p/android/issues/detail?id=160584">160584</a>)
-        </li>
-
-        <li>Fixed a {@code no rule to make target} error that occurred when compiling a single
-        {@code .c} file by executing the {@code ndk-build.cmd} command from {@code gradle}. (Issue
-        <a href="https://code.google.com/p/android/issues/detail?id=66937">66937</a>)</li>
-
-        <li>Added the {@code libatomic.a} and {@code libgomp.a} libraries that had been missing from
-        the following host toolchains:
-        <ul>
-           <li>{@code aarch64-linux-android-4.9}</li>
-           <li>{@code mips64el-linux-android-4.9}</li>
-           <li>{@code mipsel-linux-android-4.9}</li>
-           <li>{@code x86_64-4.9}</li>
-        </ul>
-     </ul>
-     </dd>
-
-     <dt>Other changes:</dt>
-     <dd>
-       <ul>
-       <li>Added {@code ld.gold} for {@code aarch64}. The default linker remains {@code ld.bfd}.
-       To explicitly enable {@code ld.gold}, add {@code -fuse-ld=gold} to the
-       {@code LOCAL_LDFLAGS} or {@code APP_LDFLAGS} variable.</li>
-
-       <li>Built the MIPS and MIPS64 toolchains with {@code binutils-2.25}, which provides improved
-       R6 support.</li>
-
-       <li>Made {@code -fstandalone-debug} (full debug info) a default option for Clang.</li>
-
-       <li>Replaced {@code -fstack-protector} with {@code -fstack-protector-strong} for
-       the ARM, AArch64, X86, and X86_64 toolchains for GCC 4.9, Clang 3.5, and
-       Clang 3.6.</li>
-
-       <li>Added the {@code --package} command-line switch to {@code ndk-gdb} to allow the build
-       system to override the package name. (Issue
-       <a href="https://code.google.com/p/android/issues/detail?id=56189">56189</a>)</li>
-
-       <li> Deprecated {@code -mno-ldc1-stc1} for MIPS.  This option may not work with the new
-       {@code -fpxx} and {@code -mno-odd-spreg} options, or with the FPXX ABI.</li>
-
-       <li>Added MIPS MSA and R6 detection to {@code cpu-features}.</li>
-
-     </ul>
-     </dd>
-   </dl>
-
- </div>
-</div>
-
-<div class="toggle-content closed">
-<a name="10d"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 10d</a> <em>(December 2014)</em>
- </p>
- <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-      <ul>
-        <li>Made GCC 4.8 the default for all 32-bit ABIs.  Deprecated GCC 4.6, and
-            will remove it next release. To restore previous behavior, either add
-            <code>NDK_TOOLCHAIN_VERSION=4.6</code> to ndk-build, or
-            add <code>--toolchain=arm-linux-androideabi-4.6</code> when executing
-            <code>make-standalone-toolchain.sh</code> on the command line. GCC 4.9 remains the
-            default for 64-bit ABIs.</li>
-
-         <li>Stopped all x86[_64] toolchains from adding <code>-mstackrealign</code> by default. The
-             NDK toolchain assumes a 16-byte stack alignment. The tools and options used by default
-             enforce this rule. A user writing assembly code must make sure to preserve stack
-             alignment, and ensure that other compilers also comply with this rule.
-             (GCC bug <a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38496">38496</a>)</li>
-
-         <li>Added Address Sanitizer functionality to Clang 3.5 support to the ARM and x86 ABIs.
-             For more information on this change, see the
-             <a href="https://code.google.com/p/address-sanitizer/wiki/Android">Address
-             Sanitizer</a> project.</li>
-
-         <li>Introduced the requirement, starting from API level 21, to use <code>-fPIE -pie
-             </code> when building. In API levels 16 and higher, ndk-build uses <code>PIE</code>
-             when building. This change has a number of implications, which are discussed in
-             <a href="https://code.google.com/p/android-developer-preview/issues/detail?id=888">
-             Developer Preview Issue 888</a>.
-             These implications do not apply to shared libraries.</li>
-      </ul>
-      </dd>
-   <dl>
-
-
-     <dt>Important bug fixes:</dt>
-     <dd>
-     <ul>
-        <li>Made more fixes related to
-            <a href="https://gcc.gnu.org/ml/gcc-patches/2014-10/msg00906.html">
-            A53 Errata #835769</a> in the aarch64-linux-android-4.9 linker. As part of this, GCC
-            passes a new option, <code>--fix-cortex-a53-835769</code>, when
-            <code>-mfix-cortex-a53-835769</code> (enabled by default) is specified.
-            For more information, see this
-            <a href="https://sourceware.org/ml/binutils/2014-10/msg00198.html">binutils message</a>
-            and this
-            <a href="https://sourceware.org/ml/binutils/2014-11/msg00287.html">binutils message</a>.
-            </li>
-
-        <li>Documented a fix to a libc++ <code>sscanf/vsscanf</code> hang that occurred in API level
-            21. The fix itself had been implemented in r10c.
-            (Issue <a href="http://b.android.com/77988">77988</a>)</li>
-
-        <li>Fixed an AutoFDO (<code>-fauto-profile</code>) crash that occurred with GCC 4.9 when
-            <code>-Os</code> was specified. (Issue <a href="http://b.android.com/77571">77571</a>)</li>
-     </ul>
-     </dd>
-
-
-     <dt>Other bug fixes:</dt>
-     <dd>
-     <ul>
-        <li>Made the following header and library fixes:</li>
-           <ul>
-        <li>Added <code>posix_memalign</code> to API level 16. Also, added a prototype in
-            <code>stdlib.h</code> to API levels 16 to 19.
-            (Issue <a href="http://b.android.com/77861">77861</a>)</li>
-        <li>Fixed <code>stdatomic.h</code> so that it includes <code>&lt;atomic&gt;</code> only for
-            C++11.</li>
-        <li>Modified the following headers for standalone use: <code>sys/user.h</code>, and
-            <code>gl2ext.h</code>, <code>dlext.h</code>, <code>fts.h</code>, <code>sgidefs.h</code>
-            for API level 21.</li>
-        <li>Modified <code>sys/user.h</code> to rename <code>mxcsr_mask</code> as <code>mxcr_mask</code>,
-            and to change the data type for <code>u_ar0</code></li> from <code>unsigned long</code>
-            to </code>struct user_regs_struct*</code>.
-        <li>Changed <code>sysconf()</code> return value type from <code>int</code> to
-            <code>long</code>.</li>
-           </ul>
-
-        <li>Fixed ndk-build's handling of <code>thumb</code> for <code>LOCAL_ARM_MODE</code>: In
-            r10d, ndk-build adds <code>LOCAL_LDFLAGS+=-mthumb</code> by default, unless one of the
-            following conditions applies:</li>
-          <ul>
-            <li>You have set <code>LOCAL_ARM_MODE</code> equal to <code>arm</code>.</li>
-            <li>You are doing a debug build (with settings such as <code>APP_OPTIM=debug</code> and
-            <code>AndroidManifest.xml</code> containing <code>android:debuggable="true"</code>),
-            where ARM mode is the default in order to retain compatibility with earlier toolchains.
-            (Issue <a href="http://b.android.com/74040">74040</a>)</li>
-          </ul>
-
-        <li>Fixed <code>LOCAL_SRC_FILES</code> in ndk-build to use Windows absolute paths.
-            (Issue <a href="http://b.android.com/74333">74333</a>)</li>
-
-        <li>Removed bash-specific code from ndk-gdb. (Issue <a href="http://b.android.com/73338">73338</a>)</li>
-
-        <li>Removed bash-specific code from <code>make-standalone-toolchain.sh</code>.
-            (Issue <a href="http://b.android.com/74145">74145)</a></li>
-
-        <li>Revised documentation concerning a fix for <code>System.loadLibrary()</code> transitive
-            dependencies. (Issue <a href="http://b.android.com/41790">41790</a>)</li>
-
-        <li>Fixed a problem that was preventing 64-bit packages from extracting on Ubuntu 14.04 and
-            OS X 10.10 (Yosemite). (Issue <a href="http://b.android.com/78148">78148</a>)</li>
-
-        <li>Fixed an issue with <code>LOCAL_PCH</code> to improve Clang support. (Issue
-            <a href="http://b.android.com/77575">77575</a>)</li>
-
-        <li>Clarified "requires executable stack" warning from ld.gold. (Issue
-            <a href="http://b.android.com/79115">79115</a>)</li>
-     </ul>
-     </dd>
-
-   </dl>
- </div>
-</div>
-
-
-
-
-
-
-
-<div class="toggle-content closed">
-<a name="10c"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 10c</a> <em>(October 2014)</em>
- </p>
- <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-      <ul>
- <li>Made the following changes to download structure:</li>
-       <ul>
-       <li>Each package now contains both the 32- and the 64-bit headers, libraries, and tools for
-       its respective platform.</li>
-       <li>STL libraries with debugging info no longer need be downloaded separately.</li>
-       </ul>
-  <li>Changed everything previously called <code>Android-L</code> to the official release
-  designation: <code>android-21</code>.</li>
-  <li>Updated GCC 4.9 by rebasing to the <code>google</code> branch
-  of the GCC repository. Major differences from the upstream version of GCC 4.9 include:</li>
-
-  <ul>
-  <li>The <code>-O2</code> option now turns on vectorization, without loop peeling but with more
-  aggressive unrolling.</li>
-  <li>Enhancements to FDO and <a href="https://gcc.gnu.org/wiki/LightweightIpo#LIPO_-_Profile_Feedback_Based_Lightweight_IPO">
-  LIPO</a></li>
-  <p>For more detailed information, see <em>Important bug fixes</em> below.</p>
-  </ul>
-
-  <li>Added Clang 3.5 support to all hosts: <code>NDK_TOOLCHAIN_VERSION=clang</code>
-  now picks Clang 3.5. Note that:</li>
-  <ul>
-
-  <li>ARM and x86 default to using the integrated assembler. If this causes issues, use
-  <code>-fno-integrated-as</code> as a workaround.</code>
-  <li>Clang 3.5 issues more warnings for unused flags, such as the <code>-finline-functions</code>
-  option that GCC supports.</li>
-  <p>When migrating from projects using GCC, you can use
-  <code>-Wno-invalid-command-line-argument</code> and <code>-Wno-unused-command-line-argument</code>
-  to ignore the unused flags until you're able decide on what to do with them longer-term.</p>
-
-     </ul>
-  <li>Made it possible to enter ART debugging mode, when debugging on an Android 5.0 device using
-  ART as its virtual machine, by specifying the <code>art-on</code> option. For more information,
-  see <code>prebuilt/common/gdb/common.setup</code> in the directory containing the NDK.</li>
-  <li>Removed support for Clang 3.3.</li>
-  <li>Deprecated GCC 4.6, and may remove it from future releases.</li>
-  <li>Updated mclinker to 2.8 with Identical Code Folding ("ICF") support. Specify ICF using the
-  <code>--icf</code> option.</li>
-  <li>Broadened <code>arm_neon.h</code> support in x86 and x86_64, attaining coverage of ~93% of
-  NEON intrinsics. For more information about NEON support:
-     <ul>
-     <li>Navigate to the NDK Programmer's Guide (<code>docs/Programmers_Guide/html/</code>), and see
-     Architectures and CPUs > Neon.</li>
-     <li>Examine the updated <code>hello-neon</code> sample in <code>samples/</code>.
-     <li>See Intel's guide to <a href="https://software.intel.com/en-us/blogs/2012/12/12/from-arm-neon-to-intel-mmxsse-automatic-porting-solution-tips-and-tricks"> porting from ARM NEON to Intel SSE.</a></li>
-     </ul>
-  <li>Documented support for <code>_FORTIFY_SOURCE</code> in <code>headers/libs/android-21</code>,
-  which appeared in r10 (when <code>android-21</code> was still called <code>Android-L</code>),
-  but had no documentation.</li>
-      </ul>
-      </dd>
-   <dl>
-
-
-     <dt>Important bug fixes:</dt>
-     <dd>
-     <ul>
-       <li>Fixed an internal compiler error with GCC4.9/aarch64 that was causing the following
-       error message (Issue <a href="http://b.android.com/77564">77564</a>):</li>
-<pre>
-internal compiler error: in simplify_const_unary_operation, at simplify-rtx.c:1539
-</pre>
-       <li>Fixed incorrect code generation from GCC4.9/arm. (Issue
-       <a href="http://b.android.com/77567">77567<a>)</li>
-       <li>Fixed an internal compiler error with GCC4.9/mips involving inline-assembly. (Issue
-       <a href="http://b.android.com/77568">77568</a>)</li>
-       <li>Fixed incorrect code that GCC4.9/arm was generating for <code>x = (cond) ? y : x</code>.
-       (Issue <a href="http://b.android.com/77569">77569</a>)</li>
-       <li>Fixed GCC4.9/aarch64 and Clang3.5/aarch64 to work around the
-       <a href="http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20141006/116322.html">
-       Cortex-A53 erratum (835769)</a>  by default.  Disable the workaround by specifying
-       <code>-mno-fix-cortex-a53-835769</code>.</li>
-     </ul>
-     </dd>
-
-
-     <dt>Other bug fixes:</dt>
-     <dd>
-     <ul>
-     <li>Made the following header and library fixes to <code>android-21</code>:
-        <ul>
-
-        <li>Added more TV keycodes: <code>android/keycodes.h</code></li>
-        <li>Added more constants and six new sensor functions to <code>android/sensor.h</code>:
-        <code>ASensorManager_getDefaultSensorEx</code>, <code>ASensor_getFifoMaxEventCount</code>,
-        <code>ASensor_getFifoReservedEventCount</code>, <code>ASensor_getStringType</code>,
-        <code>ASensor_getReportingMode</code>, and <code>ASensor_isWakeUpSensor</code>.</li>
-        <li>Fixed <code>stdatomic.h</code> to improve compatibility with GCC 4.6, and provide support
-        for the <code>&lt;atomic&gt;</code> header.</li>
-        <li>Added <code>sys/ucontext.h</code> and <code>sys/user.h</code> to all API levels. The
-        <code>signal.h</code> header now includes <code>&lt;sys/ucontext.h&gt;</code>.  You may
-        remove any existing definition of <code>struct ucontext</code>.</li>
-        <li>Added <code>posix_memalign</code> to API levels 17, 18, and 19.</li>
-        <li>Added the following functions to all architectures:
-        <code>android_set_abort_message</code>, <code>posix_fadvise</code>,
-        <code>posix_fadvise64</code>, <code>pthread_gettid_np</code>.</li>
-        <li>Added the required permissions to the <code>native-media/AndroidManifest.xml</code>
-        sample.
-        (Issue <a href="https://android-review.googlesource.com/#/c/106640/">106640</a>)</li>
-        <li>Added <code>clock_nanosleep</code> and <code>clock_settime</code> to API level 21. (Issue
-        <a href="http://b.android.com/77372">77372</a>)
-        <li>Removed the following symbols from all architectures:
-        <code>get_malloc_leak_info</code>, <code>free_malloc_leak_info</code>,
-        <code>__srget</code>, <code>__swbuf</code>, <code>__srefill</code>, <code>__swsetup</code>,
-        <code>__sdidinit</code>, <code>__sflags</code>, <code>__sfp</code>,
-        <code>__sinit</code>, <code>__smakebuf</code>, <code>__sflush</code>, <code>__sread</code>,
-        <code>__swrite</code>, <code>__sseek</code>, <code>__sclose</code>,
-        <code>_fwalk</code>, <code>__sglue</code>, <code>__get_thread</code>, <code>__wait4</code>,
-        <code>__futex_wake</code>, <code>__open</code>, <code>__get_tls</code>,
-        <code>__getdents64</code>, and <code>dlmalloc</code>.</li>
-        <li>Removed the following functions from the 64-bit architectures: <code>basename_r</code>,
-        <code>dirname_r</code>, <code>__isthreaded</code>, <code>_flush_cache</code> (mips64).</li>
-        <li>Removed the following function from the 32-bit architectures:
-        <code>__signalfd4</code>.</li>
-        <li>Changed the type of the third argument from <code>size_t</code> to <code>int</code> in
-        the following functions: <code>strtoll_l</code>, <code>strtoull_l</code>,
-        <code>wcstoll_l</code>, and <code>wcstoull_l</code>.</li>
-        <li>Restored the following functions to the 64-bit architecture: <code>arc4random</code>,
-        <code>arc4random_buf</code>, and <code>arc4random_uniform</code>.</li>
-        <li>Moved <code>cxa_*</code> and the <code>new</code> and <code>delete</code> operators back
-        to <code>libstdc++.so</code>. This change restores r9d behavior; previous versions of r10
-        contained dummy files.</li>
-
-        </ul>
-     <li>Restored MXU support in GCC 4.8 and 4.9 for mips. This support had been absent from
-     r10 and r10b because those versions of GCC had been compiled with binutils-2.24, which did
-     not support MXU. It now does.</li>
-     <li>Fixed <code>--toolchain=</code> in <code>make-standalone-toolchain.sh</code> so that it
-     now properly supports use of a suffix specifying a version of Clang.</li>
-     <li>Fixed the libc++/armeabi <code>strtod()</code> functions.</li>
-     <li>Made fixes to NDK documentation in <code>docs/</code>.</li>
-     </ul>
-     </dd>
-
-     <dt>Other changes:</dt>
-     <dd>
-       <ul>
-       <li>Enhanced <code>cpu-features</code> to detect ARMv8 support for the following
-       instruction sets: AES, CRC32, SHA2, SHA1, and 64-bit PMULL/PMULL2. (Issue
-       <a href="https://android-review.googlesource.com/#/c/106360/">106360</a>)</li>
-
-       <li>Modified ndk-build to use <code>*-gcc-ar</code>, which is available in GCC 4.8, GCC 4.9, and
-       Clang. Clang specifies it, instead of <code>*-ar</code>. This setting brings improved LTO
-       support.</li>
-
-       <li>Removed the <code>include-fixed/linux/a.out.h</code> and
-       <code>include-fixed/linux/compiler.h</code> headers from the GCC compiler.
-       (Issue <a href ="http://b.android.com/73728">73728</a>)</li>
-
-       <li>Fixed an issue related to <code>-flto</code> with GCC 4.8 on Mac OS X. The error message
-       read:</li>
-
-       <pre>
-.../ld: error: .../libexec/gcc/arm-linux-androideabi/4.9/liblto_plugin.so
-Symbol not found: _environ
-</pre>
-
-       <li>Fixed a typo in <code>build-binary.mk.</code> (Issue
-       <a href="http://b.android.com/76992">76992</a>)</li>
-     </ul>
-     </dd>
-
-   <dt>Important known issues:</dt>
-     <dd>
-     <ul>
-     <li>Specifying -Os (<code>-fauto-profile</code>) in GCC4.9 may cause crashing.
-     (Issue <a href="http://b.android.com/77571">77571</a>)</li>
-     </ul>
-     </dd>
-
-   </dl>
- </div>
-</div>
-
-<div class="toggle-content closed">
-<a name="10b"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 10b</a> <em>(September 2014)</em>
- </p>
- <div class="toggle-content-toggleme">
-   <dl>
-
-        <dt>Important notes:</dt>
-     <dd>
-     <ul>
-      <li>Because of the 512MB size restriction on downloadable packages, the following 32-bit items are not in the 32-bit NDK download packages. Instead, they reside in the 64-bit ones:</li>
-      <ul>
-      <li>Android-L headers</li>
-      <li>GCC 4.9</li>
-      </ul>
-     <li>Currently, the only Renderscript support provided by the NDK is for 32-bit Renderscript with Android 4.4 (API level 19). You cannot build HelloComputeNDK (the only Renderscript sample) with any other combination of Renderscript (32- or 64-bit) and Android version.</li>
-     <li>To compile native-codec, you must use a 64-bit NDK package, which is where all the Android-L headers are located. </li>
-     </ul>
-     </dd>
-
-
-     <dt>Important bug fixes:</dt>
-     <dd>
-     <ul>
-     <li>Fixed gdb 7.6 in GCC 4.8/4.9. (Issues <a href="http://b.android.com/74112">74112</a> and <a href="http://b.android.com/74371">74371</a>.)</li>
-     <li>Fixed GCC 4.8/4.9 for x86, so that they no longer enable <code>-msse4.2</code> and <code>-mpopcnt</code> by default. (Issue <a href="http://b.android.com/73843">73843</a>.)</li>
-     </ul>
-     </dd>
-
-     <dt>Other bug fixes:</dt>
-     <dd>
-     <ul>
-     <li>Removed <code>stdio.h</code> from the <code>include-fixed/</code> directories of all versions of GCC. (Issue <a href="http://b.android.com/73728">73728</a>.)</li>
-     <li>Removed duplicate header files from the Windows packages in the <code>platforms/android-L/arch-*/usr/include/linux/netfilter*/</code> directories. (Issue <a href="https://code.google.com/p/android/issues/detail?id=73704">73704</a>.)</li>
-     <li>Fixed a problem that prevented Clang from building HelloComputeNDK.</li>
-     <li>Fixed atexit. (Issue <a href="http://b.android.com/66595">66595</a>.)</li>
-     <li>Made various fixes to the docs in <code>docs/</code> and <code>sources/third_party/googletest/README.NDK</code>. (Issue <a href="http://b.android.com/74069">74069</a>.)</li>
-     <li>Made the following fixes to the Android-L headers:</li>
-     <ol>
-     <li>Added the following functions to <code>ctype.h</code> and <code>wchar.h</code>: <code>dn_expand()</code>, <code>grantpt()</code>, <code> inet_nsap_addr()</code>, <code>inet_nsap_ntoa()</code>, <code>insque()</code>, <code>nsdispatch()</code>, <code>posix_openpt()</code>, <code>__pthread_cleanup_pop()</code>, <code>__pthread_cleanup_push()</code>, <code>remque()</code>, <code>setfsgid()</code>, <code>setfsuid()</code>, <code>splice()</code>, <code>tee()</code>, <code>twalk()</code> (Issue <a href = "http://b.android.com/73719">73719</a>), and 42 <code>*_l()</code> functions.</li>
-
-    <li>Renamed <code>cmsg_nxthdr</code> to <code>__cmsg_nxthdr</code>.</li>
-
-    <li>Removed <code>__libc_malloc_dispatch</code>.</li>
-
-    <li>Changed the <code>ptrace()</code> prototype to <code>long ptrace(int, ...);</code>.</li>
-
-    <li>Removed <code>sha1.h</code>.</li>
-
-    <li>Extended <code>android_dlextinfo</code> in <code>android/dlext.h</code>.</li>
-
-    <li>Annotated <code>__NDK_FPABI__</code> for functions receiving or returning float- or double-type values in <code>stdlib.h</code>, <code>time.h</code>, <code>wchar.h</code>, and <code>complex.h</code>.</li>
-    </ol>
-     </ul>
-     </dd>
-
-     <dt>Other changes:</dt>
-     <dd>
-     <ul>
-        <li>Updated <code>mipsel-linux-android-4.9</code> and <code>mips64el-linux-android-4.9</code>, implementing a new multilib directory layout, and providing support for gdb-7.7</li>
-        <li>Enhanced <code>cpu-features</code> to detect more arm64 features.  (Change list <a href="https://android-review.googlesource.com/#/c/100339">100339</a>.)</li>
-     </dd>
-     </ul>
-
-   </dl>
- </div>
-</div>
-
-<div class="toggle-content closed">
-<a name="10"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 10</a> <em>(July 2014)</em>
- </p>
- <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-      <ul>
-        <li>Added 3 new ABIs, all 64-bit: arm64-v8a, x86_64, mips64.</li> Note that:
-        <ul>
-           <li>GCC 4.9 is the default compiler for 64-bit ABIs. Clang is currently version 3.4.
-<code>NDK_TOOLCHAIN_VERSION=clang</code>
-      may not work for arm64-v8a and mips64.</li>
-           <li>Android-L is the first level with 64-bit support.  Note that this API
-level is a temporary one, and only for L-preview. An actual API level number will replace it at
-L-release.</li>
-           <li>This release includes now includes <code>all32</code> and <code>all64</code>
-settings for <code>APP_ABI</code>.
-              <ul>
-              <li><code>APP_ABI=all32</code> is equivalent to
-<code>APP_ABI=armeabi,armeabi-v7a,x86,mips</code>.</li>
-              <li><code>APP_ABI=all64</code> is equivalent to
-<code>APP_ABI=arm64-v8a,x86_64,mips64</code>.</li>
-              <li><code>APP_ABI=all</code> selects all ABIs.</li>
-              </ul>
-           <li>The new GNU libstdc++ in Android-L contains all <code>&lt;tr1/cmath&gt;</code>
-Before defining your own math function, check <code>_GLIBCXX_USE_C99_MATH_TR1</code> to see a
-function with that name already exists, in order to avoid "multiple definition" errors from the
-linker.</li>
-           <li>The cpu-features library has been updated for the ARMv8 kernel.  The existing
-cpu-features library may fail to detect the presence of NEON on the ARMv8 platform. Recompile your
-code with the new version.</li>
-        </ul>
-        <li>Added a new <code>platforms/android-L/</code> API directory. It includes:</li>
-        <ul>
-           <li>Updated Bionic headers, which had not changed from Android API levels 3
-(Cupcake) to 19 (KitKat). This new version, for level L, is to be synchronized with AOSP.</li>
-           <li>New media APIs and a native-codec sample.</li>
-           <li>An updated <code>Android.h</code> header for SLES/OpenSLES, enabling support for
-single-precision, floating-point audio format in AudioPlayer.</li>
-           <li>GLES 3.1 and AEP extensions to <code>libGLESv3.so.</code></li>
-           <li>GLES2 and GLES3 headers updated to the latest official Khronos versions.</li>
-        </ul>
-        <li>Added GCC 4.9 compilers to the 32-/64-bit ABIs.  GCC 4.9 is the default (only) compiler
-for 64-bit ABIs, as previously mentioned.  For 32-bit ABIs, you must explcitly enable GCC 4.9, as
-GCC 4.6 is still the default.</li>
-        <ul>
-           <li>For ndk-build, enable 32-bit, GCC 4.9 building either by adding
-<code>NDK_TOOLCHAIN_VERSION=4.9</code> to <code>Application.mk</code>, or exporting it as an
-environment variable from the command line.</li>
-           <li>For a standalone toolchain, use the <code>--toolchain=</code> option in the
-<code>make-standalone-toolchain.sh</code> script. For example: <code>--toolchain=arm-linux-androideabi-4.9.</code></li>
-        </ul>
-        <li>Upgraded GDB to version 7.6 in GCC 4.8/4.9 and x86*. Since GDB is still at version GDB-7.3.x in
-GCC 4.6 (the default for ARM and MIPS), you must set
-<code>NDK_TOOLCHAIN_VERSION=4.8</code> or <code>4.9</code> to enable ndk-gdb to select GDB 7.6.</li>
-        <li>Added the <code>-mssse3</code> build option to provide SSSE3 support, and made it the default for ABI x86
-(upgrading from SSE3). The image released by Google does not contain SSSE3 instructions.</li>
-        <li>Updated GCC 4.8 to 4.8.3.</li>
-        <li>Improved ARM libc++ EH support by switching from gabi++ to libc++abi. For details, see the "C++ Support" section of the documentation.
-  Note that:</li>
-        <ul>
-           <li>All tests except for locale now pass for Clang 3.4 and GCC 4.8. For more
-information, see the "C++ Support" section of the documentation.</li>
-           <li>The libc++ libraries for X86 and MIPS libc++ still use gabi++.</li>
-           <li>GCC 4.7 and later can now use &lt;atomic&gt;.</li>
-           <li>You must add <code>-fno-strict-aliasing</code> if you use <code> &lt;list&gt;</code>, because <code>__list_imp::_end</code>_ breaks
-      TBAA rules.  (Issue <a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61571">61571</a>.)</li>
-           <li>As of GCC 4.6, LIBCXX_FORCE_REBUILD:=true no longer rebuilds libc++. Rebuilding it
-requires the use of a different compiler. Note that Clang 3.3 is untested.</li>
-        </ul>
-        <li>mclinker is now version 2.7, and has aarch64 Linux support.</li>
-        <li>Added precompiled header support for headers specified by <code>LOCAL_PCH</code>.  (Issue <a href="http://b.android.com/25412">25412</a>).</li>
-      </dd>
-   <dl>
-
-
-     <dt>Important bug fixes:</dt>
-     <dd>
-     <ul>
-       <li>Fixed libc++ so that it now compiles <code>std::feof</code>, etc. (Issue <a
-href="http://b.android.com/66668">66668</a>).</li>
-       <li>Fixed a Clang 3.3/3.4 atomic library call that caused crashes in some of the libc++
-tests for ABI armeabi.</li>
-       <li>Fixed Clang 3.4 crashes that were occurring on reading precompiled headers. (Issue <a
-href="http://b.android.com/66657">66657</a>).</li>
-       <li>Fixed the Clang 3.3/3.4 <code>-O3</code> assert on:</li>
-       <code>llvm-3.2/llvm/include/llvm/MDBuilder.h:64: llvm::MDNode*
-llvm::MDBuilder::createBranchWeights(llvm::ArrayRef<unsigned int>): Assertion Weights.size() >= 2
-&& "Need at least two branch weights!"</code> (Issue <a href="http://b.android.com/57381">57381</a>).
-       <li>Fixed the following Clang 3.3/3.4 crash:</li>
-       <code>Assertion failed: (!Fn && "cast failed but able to resolve overload expression!!"), function CheckCXXCStyleCast, file
-Volumes/data/ndk-toolchain/src/llvm-3.3/llvm/tools/clang/lib/Sema/SemaCast.cpp, line 2018</code>.
-(Issue <a href="http://b.android.com/66950">66950</a>).
-     </ul>
-     </dd>
-
-     <dt>Other bug fixes:</dt>
-     <dd>
-     <ul>
-       <li>Fixed headers:</li>
-       <ul>
-          <li>Fixed 32-bit <code>ssize_t</code> to be <code>int</code> instead of <code>long
-int</code>.</li>
-          <li>Fixed <code>WCHAR_MIN</code> and <code>WCHAR_MAX</code> so that they they take
-appropriate signs according to the architecture they're running on:</li>
-          <ul>
-             <li>X86/MIPS: signed.
-             <li>ARM: unsigned.
-             <li>To force X86/MIPS to default to unsigned, use
-<code>-D__WCHAR_UNSIGNED__</code>.</li>
-             <li>To force <code>wchar_t</code> to be 16 bits, use <code>-fshort-wchar</code>.</li>
-          </ul>
-          <li>Removed non-existent symbols from 32-bit <code>libc.so</code>, and added <code>pread64</code>,
-<code>pwrite64</code>, <code>ftruncate64</code> for
-Android API level 12 and higher. (Issue <a href="http://b.android.com/69319">69319</a>). For more
-information, see the commit message accompanying AOSP change list
-     <a href="https://android-review.googlesource.com/#/c/94137">94137</a>.</li>
-       </ul>
-       <li>Fixed GCC warning about redefinition of <code>putchar</code>. Warning message reads:</li>
-       <code>include/stdio.h:236:5: warning: conflicts with previous declaration here
-[-Wattributes] int  putchar(int);</code> (Change list <a
-href="https://android-review.googlesource.com/#/c/91185">91185</a>).
-       <li>Fixed <code>make-standalone-toolchain.sh --stl=libc++</code> so that it:</li>
-       <ul>
-          <li>Copies <code>cxxabi.h</code>. (Issue <a
-href="http://b.android.com/68001">68001</a>).</li>
-          <li>Runs in directories other than the NDK install directory. (Issues <a
-href="http://b.android.com/67690">67690</a> and <a href="http://b.android.com/68647">68647</a>).</li>
-       </ul>
-       <li>Fixed GCC/Windows to quote arguments only when necessary for spawning processes in
-external programs. This change decreases the likelihood of exceeding the 32K length limit.</li>
-       <li>Fixed an issue that made it impossible to adjust the <code>APP_PLATFORM</code>
-environment variable.</li>
-       <li>Fixed the implementation of <code>IsSystemLibrary()</code> in crazy_linker so that it
-uses <code>strrchr()</code>
-  instead of <code>strchr()</code> to find the library path's true basename.</li>
-       <li>Fixed native-audio's inability to build in debug mode.</li>
-       <li>Fixed gdb's inability to print extreme floating-point numbers. (Issue <a
-href="http://b.android.com/69203">69203</a>).</li>
-       <li>Fixed Clang 3.4 inability to compile with <code>-Wl,-shared</code> (as opposed to
-<code>-shared</code>, which
-  had no compilation issues).  The problem was that Clang added <code>-pie</code> for Android
-targets if neither <code>-shared</code> nor <code>-static</code> existed. This behavior, which was
-incorrect, caused the linker to complain that <code>-shared</code> and <code>-pie</code> could not
-co-exist.</li>
-
-     </ul>
-     </dd>
-
-
-     <dt>Other changes:</dt>
-     <dd>
-     <ul>
-        <li>Added <code>arm_neon.h</code> to the x86 toolchain so that it now emulates ~47% of
-Neon. There is currently no support for 64-bit types. For more information, see the section on ARM
-Neon intrinsics support in the x86 documentation.</li>
-        <li>Ported ARM/GOT_PREL optimization (present in GCC 4.6 built from the GCC google branch) to
-ARM GCC 4.8/4.9.  This optimization sometimes reduces instruction count when accessing global
-variables.  As an example, see the build.sh script in
-<code>$NDK/tests/build/b14811006-GOT_PREL-optimization/</code>.</li>
-        <li>Added ARM version for STL gabi++, stlport, and libc++. They now have both it and Thumb
-mode.</li>
-        <li>It is now possible to call the make-standalone-toolchain.sh script with
-<code>--toolchain=x86_64-linux-android-4.9</code>, which is equivalent to
-<code>--toolchain=x86_64-4.9</code>.</li>
-     </dd>
-     </ul>
-   </dl>
- </div>
-</div>
-
-
-<div class="toggle-content closed">
-<a name="9d"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 9d</a> <em>(March 2014)</em>
- </p>
- <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-      <ul>
-        <li>Added support for the Clang 3.4 compiler. The
-<code>NDK_TOOLCHAIN_VERSION=clang</code> option now picks Clang 3.4. GCC 4.6 is
-still the default compiler.</li>
-        <li>Added <code>APP_ABI=armeabi-v7a-hard</code>, with
-additional multilib option <code>-mfloat-abi=hard</code>. These options are for
-use with ARM GCC 4.6/4.8 and Clang 3.3/3.4 (which use 4.8's assembler, linker,
-and libs). When using these options, note the following changes:</li>
-        <ul>
-           <li> When executing the <code>ndk-build</code> script, add the
-following options for armeabi-v7a target:
-<pre>TARGET_CFLAGS += -mhard-float -D_NDK_MATH_NO_SOFTFP=1
-TARGET_LDFLAGS += -Wl,--no-warn-mismatch -lm_hard</pre>
-The built library is copied to <code>libs/armeabi-v7a</code>. For make to
-behave as expected, you cannot specify both <code>armeabi-v7a</code> and
-<code>armeabi-v7a-hard</code> as make targets (i.e., on the APP_ABI= line).
-Doing so causes one of them to be ignored. Note that <code>APP_ABI=all</code>
-is still equivalent to
-<code>armeabi armeabi-v7a x86 mips</code>.</li>
-           <li>The <code>make-standalone-toolchain.sh</code> script copies
-additional libaries under <code>/hard</code> directories.
-      Add the above <code>CFLAGS</code> and <code>LFLAGS</code> to your
-makefile to enable GCC or Clang to link with
-      libraries in <code>/hard</code>.</li>
-        </ul>
-        <li>Added the yasm assembler, as well as <code>LOCAL_ASMFLAGS</code>
-and <code>EXPORT_ASMFLAGS</code> flags for x86
-targets. The <code>ndk-build</code> script uses
-<code>prebuilts/*/bin/yasm*</code> to build <code>LOCAL_SRC_FILES</code> that
-have the <code>.asm</code> extension.</li>
-        <li>Updated MClinker to 2.6.0, which adds <code>-gc-sections</code>
-support.</li>
-        <li>Added experimental libc++ support (upstream r201101).  Use this new
-feature by following these steps:
-        <ul>
-           <li>Add <code>APP_STL := c++_static</code> or <code>APP_STL :=
-c++_shared</code> in <code>Application.mk</code>.
-      You may rebuild from source via <code>LIBCXX_FORCE_REBUILD :=
-true</code></li>
-           <li>Execute <code>make-standalone-toolchain.sh --stl=libc++</code>
-to create a standalone toolchain with libc++ headers/lib.</li>
-        </ul>
-        For more information, see
-<code>CPLUSPLUS-SUPPORT.html</code>.
-(Issue <a href="http://b.android.com/36496">36496</a>)</li>
-      </ul>
-      </dd>
-   <dl>
-     <dt>Important bug fixes:</dt>
-     <dd>
-     <ul>
-       <li>Fixed an uncaught throw from an unexpected
-exception handler for GCC 4.6/4.8 ARM EABI. (GCC Issue <a
-href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59392">59392</a>)</li>
-       <li>Fixed GCC 4.8 so that it now correctly resolves partial
-specialization of a template with
-  a dependent, non-type template argument. (GCC Issue <a
-href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59052">59052</a>)</li>
-       <li>Added more modules to prebuilt python (Issue <a
-href="http://b.android.com/59902">59902</a>):
-               <ul>
-                 <li>Mac OS X: <code>zlib</code>, <code>bz2</code>,
-<code>_curses</code>, <code>_curses_panel</code>, <code>_hashlib</code>,
-<code>_ssl</code></li>
-                 <li>Linux: <code>zlib</code>, <code>nis</code>,
-<code>crypt</code>, <code>_curses</code>, and <code>_curses_panel</code></li>
-               </ul>
-       <li>Fixed the x86 and MIPS gdbserver
-<code>event_getmsg_helper</code>.</li>
-       <li>Fixed numerous issues in the RenderScript NDK toolchain, including
-issues with compatibility across older devices and C++ reflection.</li>
-<br>
-     </ul>
-     </dd>
-
-     <dt>Other bug fixes:</dt>
-     <dd>
-     <ul>
-       <li>Header fixes:
-         <ul>
-           <li>Fixed a missing <code>#include &lt;sys/types.h&gt;</code> in
-<code>android/asset_manager.h</code> for Android API level 13 and higher.
-     (Issue <a href="http://b.android.com/64988">64988</a>)</li>
-           <li>Fixed a missing <code>#include <stdint.h></code> in
-<code>android/rect_manager.h</code> for Android API level 14 and higher.</li>
-           <li>Added <code>JNICALL</code> to <code>JNI_OnLoad</code> and
-<code>JNI_OnUnload</code> in <code>jni.h</code>. Note that <code>JNICALL</code>
- is defined as <code>__NDK_FPABI__</code> For more information, see
-<code>sys/cdefs.h</code>.</li>
-           <li>Updated the following headers so that they can be included
-without the need to
-manually include their dependencies (Issue <a
-href="http://b.android.com/64679">64679</a>):</li>
-<pre>
-android/tts.h
-EGL/eglext.h
-fts.h
-GLES/glext.h
-GLES2/gl2ext.h
-OMXAL/OpenMAXSL_Android.h
-SLES/OpenSLES_Android.h
-sys/prctl.h
-sys/utime.h
-</pre>
-           <li>Added <code>sys/cachectl.h</code> for all architectures. MIPS
-developers can now include this header instead of writing <code>#ifdef
-__mips__</code>.</li>
-           <li></code>Fixed <code>platforms/android-18/include/android/input.h
-</code> by adding <code>__NDK_FPABI__</code> to functions taking or returning
-float or double values.</li>
-           <li>Fixed MIPS <code>struct stat</code>, which was incorrectly set
-to its 64-bit counterpart for Android API level 12 and later. This wrong
-setting was a
-regression introduced in release r9c.</li>
-           <li>Defined <code>__PTHREAD_MUTEX_INIT_VALUE</code>,
-<code>__PTHREAD_RECURSIVE_MUTEX_INIT_VALUE</code>,
-     and <code>__PTHREAD_ERRORCHECK_MUTEX_INIT_VALUE</code> for Android API
-level 9 and lower.</li>
-           <li>Added <code>scalbln</code>, <code>scalblnf</code>, and
-<code>scalblnl</code> to x86 <code>libm.so</code> for APIs 18 and later.</li>
-           <li>Fixed a typo in
-<code>sources/android/support/include/iconv.h</code>.
-     (Issue <a href="http://b.android.com/63806">63806</a>)</li>
-
-         </ul>
-       </li>
-       <li>Fixed gabi++ <code>std::unexpected()</code> to call
-<code>std::terminate()</code> so that
-  a user-defined <code>std::terminate()</code> handler has a chance to run.
-</li>
-       <li>Fixed gabi++ to catch <code>std::nullptr</code>.</li>
-       <li>Fixed samples Teapot and MoreTeapots:
-         <ul>
-      <li>Solved a problem with Tegra 2 and 3 chips by changing specular
-variables to use medium precision. Values for specular power can now be less
-than 1.0. </li>
-      <li>Changed the samples so that pressing the volume button restores
-immersive mode and invalidates
-<code>SYSTEM_UI_FLAG_IMMERSIVE_STICKY</code>. Screen rotation does not
-trigger <code>onSystemUiVisibilityChange</code>, and so does not restore
-immersive mode.</li>
-         </ul>
-        </li>
-        <li>Fixed the <code>ndk-build</code> script to add
-<code>-rpath-link=$SYSROOT/usr/lib</code> and
-<code>-rpath-link=$TARGET_OUT</code> in order to use <code>ld.bfd</code> to
-link executables. (Issue  <a href="http://b.android.com/64266">64266</a>)</li>
-        <li>Removed <code>-Bsymbolic</code> from all STL builds.</li>
-        <li>Fixed <code>ndk-gdb-py.cmd</code> by setting <code>SHELL</code> as
-an environment variable
-instead of passing it to
-  <code>python.exe</code>, which ignores the setting.
-  (Issue <a href="http://b.android.com/63054">63054</a>)</li>
-        <li>Fixed the <code>make-standalone-toolchain.sh</code> script so that
-the <code>--stl=stlport</code> option copies the gabi++ headers instead of
-symlinking them; the <code>cmd.exe</code> and MinGW shells do not understand
-symlinks created by cygwin.</li>
-     </ul>
-     </dd>
-
-     <dt>Other changes:</dt>
-     <dd>
-     <ul>
-        <li>Applied execution permissions to all <code>*cmd</code> scripts
-previously intended for use only in the <code>cmd.exe</code> shell, in case
-developers prefer to use <code>ndk-build.cmd</code> in cygwin instead of the
-recommended <code>ndk-build</code> script.</li>
-        <li>Improved the speed of the <code>make-standalone-toolchain.sh</code>
-script by moving instead of copying if the specified destination directory does
-not exist.</li>
-     </dd>
-     </ul>
-   </dl>
- </div>
-</div>
-
-<div class="toggle-content closed">
-<a name="9c"></a>
- <p>
-   <a href="#" onclick="return toggleContent(this)"> <img
-     src="/assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-   >Android NDK, Revision 9c</a> <em>(December 2013)</em>
- </p>
- <div class="toggle-content-toggleme">
-<p>This is a bug-fix-only release.</p>
-   <dl>
-     <dt>Important bug fixes:</dt>
-     <dd>
-     <ul>
-       <li>Fixed a problem with GCC 4.8 ARM, in which the stack pointer is
-restored too early. This problem prevented the frame pointer from reliably
-accessing a variable in the stack frame. (GCC Issue <a
-href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854">58854</a>)</li>
-<li>Fixed a problem with GCC 4.8 libstdc++, in which a bug in
-std::nth_element was causing generation of code that produced a random
-segfault. (Issue <a
-href="https://code.google.com/p/android/issues/detail?id=62910">62910</a>)</li>
-           <li>Fixed GCC 4.8 ICE in cc1/cc1plus with
-<code>-fuse-ld=mcld</code>, so that the following error no longer occurs:
-<pre>cc1: internal compiler error: in common_handle_option, at
-opts.c:1774</pre></li>
-           <li>Fixed <code>-mhard-float</code> support for
-<code>__builtin</code> math functions. For ongoing information on fixes for
-<code>-mhard-float</code> with STL, please follow Issue <a
-href="http://b.android.com/61784">61784</a>.</li>
-     </ul>
-     </dd>
-
-     <dt>Other bug fixes:</dt>
-     <dd>
-     <ul>
-       <li>Header fixes:
-         <ul>
-           <li>Changed prototype of <code>poll</code> to <code>poll(struct
-pollfd *, nfds_t, int);</code> in <code>poll.h</code>.</li>
-           <li>Added <code>utimensat</code> to <code>libc.so</code> for Android
-API levels 12 and 19. These libraries are now included for all Android API
-levels 12 through 19.</li>
-<li>Introduced <code>futimens</code> into <code>libc.so</code>, for Android API
-level 19.</li>
-<li>Added missing <code>clock_settime()</code> and
-<code>clock_nanosleep()</code> to <code>time.h</code> for Android API level 8
-and higher.</li>
-<li>Added <code>CLOCK_MONOTONIC_RAW, CLOCK_REALTIME_COARSE,
-CLOCK_MONOTONIC_COARSE, CLOCK_BOOTTIME, CLOCK_REALTIME_ALARM,</code> and
-<code>CLOCK_BOOTTIME_ALARM</code> in <code>time.h.</code></li>
-<li>Removed obsolete <code>CLOCK_REALTIME_HR</code> and
-<code>CLOCK_MONOTONIC_HR.</code></li>
-         </ul>
-       </li>
-       <li>In samples Teapot, MoreTeapots, and
-<code>source/android/ndk_helper</code>:
-         <ul>
-<li>Changed them so that they now use a hard-float abi for armeabi-v7a.</li>
-<li>Updated them to use immersive mode on Android API level 19 and
-higher.</li>
-<li>Fixed a problem with <code>Check_ReleaseStringUTFChars</code> in
-<code>/system/lib/libdvm.so</code> that was causing crashes on x86 devices.</li>
-         </ul>
-        </li>
-<li>Fixed <code>ndk-build</code> fails that happen in cygwin when the NDK
-package is
-referenced via symlink.</li>
-<li>Fixed <code>ndk-build.cmd</code> fails that happen in windows
-<code>cmd.exe</code> when
-<code>LOCAL_SRC_FILES</code> contains absolute paths. (Issue <a
-href="https://android-review.googlesource.com/#/c/69992">69992</a>)</li>
-<li>Fixed the <code>ndk-stack</code> script to proceed even when it can't parse
-a frame due to inability to find a routine, filename, or line number. In any of
-these cases, it prints <code>??</code>.</li>
-<li>Fixed the <code>ndk-stack</code> stack for windows-x64_64 targets so that
-it no longer erroneously matches a frame line with a line in the
-<code>stack:</code> section that doesn't contain <code>pc</code>,
-<code>eip</code>, or <code>ip</code>. For example:
-<pre>I/DEBUG   ( 1151):     #00  5f09db68  401f01c4
-/system/lib/libc.so</pre></li>
-<li>Fixed gabi++ so that it:
-     <ul>
-         <li>Does not use malloc() to allocate C++ thread-local
-  objects.</li>
-         <li>Avoids deadlocks in gabi++ in cases where libc.debug.malloc is
-non-zero in userdebug/eng Android platform builds.</li>
-     </ul>
-     </ul>
-     </dd>
-
-     <dt>Other changes:</dt>
-     <dd>
-     <ul>
-       <li>Added <code>LOCAL_EXPORT_LDFLAGS</code>.</li>
-<li>Introduced the <code>NDK_PROJECT_PATH=null</code> setting for use in an
-integrated build system where options are explicitly passed to
-<code>ndk-build</code>. With this setting, <code>ndk-build</code> makes no
-attempt to look for <code>NDK_PROJECT_PATH.</code> This setting also prevents
-variables from deriving default settings from NDK_PROJECT_PATH. As a result,
-the following variables must now be explicitly specified (with their default
-values if such exist): <code>NDK_OUT, NDK_LIBS_OUT, APP_BUILD_SCRIPT,
-NDK_DEBUG</code> (optional, default to 0), and other <code>APP_*</code>'s
-contained in <code>Application.mk</code>.</li>
-<li><code>APP_ABI</code> can now be enumerated in a comma-delimited list. For
-example:
-<pre>APP_ABI := "armeabi,armeabi-v7a"</pre></li>
-<li>Provided the ability to rebuild all of STL with debugging info in an
-optional, separate package called
-<code>android-ndk-r9c-cxx-stl-libs-with-debugging-info.zip</code>, using the
-<code>-g</code> option. This option
-helps the <code>ndk-stack</code> script provide better a stack dump across STL.
-This change should not affect the code/size of the final, stripped file.</li>
-<li>Enhanced <code>hello-jni</code> samples to report <code>APP_ABI</code> at
-compilation.</li>
-<li>Used the <code>ar</code> tool in Deterministic mode (option
-<code>-D</code>) to build static libraries.  (Issue <a
-href="http://b.android.com/60705">60705</a>)</li>
-     </ul>
-     </dd>
-
-   </dl>
- </div>
-</div>
-
-<div class="toggle-content closed">
-<a name="9b"></a>
-  <p>
-    <a href="#" onclick="return toggleContent(this)"> <img
-      src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-    >Android NDK, Revision 9b</a> <em>(October 2013)</em>
-  </p>
-  <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-      <ul>
-        <li>Updated {@code include/android/*h} and {@code math.h} for all Android API levels up to
-          18, including the addition of levels 13, 15, 16 and 17.
-          For information on added APIs, see commit messages for Changes
-          <a href="https://android-review.googlesource.com/68012">68012</a> and
-          <a href="https://android-review.googlesource.com/68014">68014</a>.
-          (Issues <a href="http://b.android.com/47150">47150</a>,
-           <a href="http://b.android.com/58528">58528</a>, and
-           <a href="http://b.android.com/38423">38423</a>)</li>
-        <li>Added support for Android API level 19, including Renderscript binding.</li>
-        <li>Added support for <code>-mhard-float</code> in the existing armeabi-v7a ABI. For more
-          information and current restrictions on Clang, see
-          {@code tests/device/hard-float/jni/Android.mk}.</li>
-        <li>Migrated from GNU Compiler Collection (GCC) 4.8 to 4.8.2, and added diagnostic color
-          support. To enable diagnostic colors, set <code>-fdiagnostics-color=auto</code>,
-          <code>-fdiagnostics-color=always,</code> or export {@code GCC_COLORS} as shown below:
-<pre>
-GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
-</pre>
-          For more information, see
-          <a href="http://gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html">GCC
-          Language Independent Options</a>.
-        </li>
-        <li>Added two new samples to demonstrate OpenGL ES 3.0 features: Teapot and MoreTeapots.
-          These samples run on devices with Android 4.1 (API level 16) and higher.</li>
-        <li>Deprecated GCC 4.7 and Clang 3.2 support, which will be removed in the next
-          release.</li>
-      </ul>
-      </dd>
-
-      <dt>Important bug fixes:</dt>
-      <dd>
-      <ul>
-        <li>Fixed problem with ARM GCC 4.6 {@code thumb2} failing to generate 16-bit relative jump
-          tables. (<a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48328">GCC Issue</a>)</li>
-        <li>Fixed GCC 4.8 internal compiler error (ICE) on
-          {@code g++.dg/cpp0x/lambda/lambda-defarg3.C}.
-          (<a href="https://android-review.googlesource.com/62770">Change 62770</a>,
-          <a href="http://gcc.gnu.org/ml/gcc/2013-07/msg00424.html">GCC Issue</a>)</li>
-        <li>Fixed a problem with Windows 32-bit {@code *-gdb.exe} executables failing to launch.
-          (<a href="http://b.android.com/58975">Issue 58975</a>)</li>
-        <li>Fixed GCC 4.8 ICE when building bullet library. The error message is as follows:
-          <pre>internal compiler error: verify_flow_info failed</pre>
-          (<a href="http://b.android.com/58916">Issue 58916</a>,
-           <a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58165">GCC Issue</a>)</li>
-        <li>Modified GDB/ARM build to skip {@code ARM.exidx} data for unwinding in prologue code and
-          added a command ({@code set arm exidx-unwinding}) to control exidx-based stack unwinding.
-          (<a href="http://b.android.com/55826">Issue 55826</a>)</li>
-        <li>Fixed Clang 3.3 MIPS compiler problem where HI and LO registers are incorrectly
-          reused.</li>
-        <li>Fixed issue with MIPS 4.7 ICE in {@code dbx_reg_number}. The error message is as
-follows:
-<pre>
-external/icu4c/i18n/decimfmt.cpp:1322:1:
-internal compiler error: in dbx_reg_number, at dwarf2out.c:10185
-</pre>
-          (<a href="http://gcc.gnu.org/ml/gcc-patches/2012-12/msg00830.html">GCC Patch</a>)
-
-        </li>
-
-      </ul>
-      </dd>
-
-      <dt>Other bug fixes:</dt>
-      <dd>
-      <ul>
-        <li>Header fixes
-          <ul>
-            <li>Fixed the ARM {@code WCHAR_MIN} and {@code WCHAR_MAX} to be unsigned according to
-              spec (the X86/MIPS versions are signed). Define {@code _WCHAR_IS_ALWAYS_SIGNED} to
-              restore old behavior. (<a href="http://b.android.com/57749">Issue 57749</a>)</li>
-            <li>Fixed {@code include/netinet/tcp.h} to contain {@code TCP_INFO} state enum.
-              (<a href="http://b.android.com/38881">Issue 38881</a>)</li>
-            <li>Fixed the {@code cdefs_elh.h} macro {@code _C_LABEL_STRING} to stop generating
-               warnings in the GCC 4.8 toolchain when using c++11 mode.
-              (<a href="http://b.android.com/58135">Issue 58135</a>,
-               <a href="http://b.android.com/58652">Issue 58652</a>)</li>
-            <li>Removed non-existent functions {@code imaxabs} and {@code imaxdiv} from header
-              {@code inttypes.h}.</li>
-            <li>Fixed issue with {@code pthread_exit()} return values and {@code pthread_self()}.
-                 (<a href="http://b.android.com/60686">Issue 60686</a>)</li>
-            <li>Added missing {@code mkdtemp()} function, which already exists in {@code bionic}
-              header {@code stdlib.h}.</li>
-          </ul>
-        </li>
-        <li>Fixed problem building {@code samples/gles3jni} with Clang on Android API level 11.</li>
-        <li>Fixed MCLinker to allow multiple occurrences of the following options:
-          {@code -gc-sections} and {@code --eh-frame-hdr}.</li>
-        <li>Fixed MCLinker to accept the {@code --no-warn-mismatch} option.</li>
-        <li>Modified {@code cpu-features} option to not assume all VFPv4 devices support IDIV.
-          Now this option only adds IDIV to white-listed devices, including Nexus 4.
-          (<a href="http://b.android.com/57637">Issue 57637</a>)</li>
-        <li>Fixed problem with {@code android_native_app_glue.c} erroneously logging errors on event
-          predispatch operations.</li>
-        <li>Fixed all operations on {@code gabi++} terminate and unexpected_handler to be
-          thread-safe.</li>
-        <li>Fixed several issues with Clang <code>-integrated-as</code> option so it can pass
-          tests for {@code ssax-instructions} and {@code fenv}.</li>
-        <li>Fixed GCC 4.6/4.7/4.8 compiler to pass the linker option {@code --eh-frame-hdr} even
-          for static executables. For more information, see the
-          <a href="http://gcc.gnu.org/ml/gcc-patches/2012-09/msg00969.html">GCC patch</a>.</li>
-        <li>Fixed extra apostrophe in <code>CPU-ARCH-ABIS.html</code>. For more information, see
-          <code>NDK-DEPENDS.html</code>. (<a href="http://b.android.com/60142">Issue 60142</a>)</li>
-        <li>Fixed extra quotes in ndk-build output on Windows.
-          (<a href="http://b.android.com/60649">Issue 60649</a>)</li>
-        <li>Fixed Clang 3.3 to compile ARM's built-in, atomic operations such as
-          {@code __atomic_fetch_add}, {@code __atomic_fetch_sub}, and {@code __atomic_fetch_or}.
-          </li>
-        <li>Fixed Clang 3.3 ICE with customized {@code vfprintf}.
-          (<a href="http://llvm.org/bugs/show_bug.cgi?id=16344">Clang issue</a>)
-        </li>
-      </ul>
-      </dd>
-
-      <dt>Other changes:</dt>
-      <dd>
-      <ul>
-        <li>Enabled OpenMP for all GCC builds. To use this feature, add the following flags to your
-          build settings:
-<pre>
-LOCAL_CFLAGS += -fopenmp
-LOCAL_LDFLAGS += -fopenmp
-</pre>
-          For code examples, see {@code tests/device/test-openmp}</li>
-        <li>Reduced the size of {@code ld.mcld} significantly (1.5MB vs. {@code ld.bfd} 3.5MB and
-          {@code ld.gold} 7.5MB), resulting in a speed improvement of approximately 20%.</li>
-        <li>Added <code>LOCAL_CONLYFLAGS</code> and <code>APP_CONLYFLAGS</code> to specify
-          options applicable to C only but not C++. The existing <code>LOCAL_CFLAGS</code>
-          and <code>APP_CFLAGS</code> are also used for C++ compilation (to save trouble of
-          specifying most options twice), so options such as <code>-std=gnu99</code> may fail in
-          g++ builds with a warning and clang++ builds with an error.</li>
-        <li>Added {@code gabi++} array helper functions.</li>
-        <li>Modified GCC builds so that all {@code libgcc.a} files are built with
-          <code>-funwind-tables</code> to allow the stack to be unwound past previously blocked
-          points, such as <code>__aeabi_idiv0</code>.</li>
-        <li>Added Ingenic MXU support in MIPS GCC4.6/4.7/4.8 with new <code>-mmxu</code>
-option.</li>
-        <li>Extended MIPS GCC4.6/4.7/4.8 <code>-mldc1-sdc1</code> to control ldxc1/sdxc1 too</li>
-        <li>Added crazy linker. For more information, see
-          {@code sources/android/crazy_linker/README.TXT}.</li>
-        <li>Fixed {@code bitmap-plasma} to draw to full screen rather than a 200x200 pixel
-area.</li>
-        <li>Reduced linux and darwin toolchain sizes by 25% by creating symlinks to identical files.
-          </li>
-      </ul>
-      </dd>
-
-    </dl>
-  </div>
-</div>
-
-
-<div class="toggle-content closed">
-<a name="9"></a>
-  <p>
-    <a href="#" onclick="return toggleContent(this)"> <img
-      src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
-    >Android NDK, Revision 9</a> <em>(July 2013)</em>
-  </p>
-  <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-        <ul>
-          <li>Added support for Android 4.3 (API level 18). For more information, see
-            {@code STABLE-APIS.html} and new code examples in {@code samples/gles3jni/README}.
-          <li>Added headers and libraries for OpenGL ES 3.0, which is supported by Android 4.3
-            (API level 18) and higher.</li>
-          <li>Added GNU Compiler Collection (GCC) 4.8 compiler to the NDK. Since GCC 4.6 is still
-            the default, you must explicitly enable this option:
-            <ul>
-              <li>For {@code ndk-build} builds, export {@code NDK_TOOLCHAIN_VERSION=4.8} or
-                add it in {@code Application.mk}.</li>
-              <li>For standalone builds, use the {@code --toolchain=} option in
-                {@code make-standalone-toolchain.sh}, for example:<br>
-                {@code --toolchain=arm-linux-androideabi-4.8}</li>
-            </ul>
-            <p class="note"><strong>Note:</strong>
-            The {@code -Wunused-local-typedefs} option is enabled by {@code -Wall}. Be
-            sure to add {@code __attribute__((unused))} if you use compile-time asserts like
-            {@code sources/cxx-stl/stlport/stlport/stl/config/features.h}, line #311. For more
-            information, see
-            <a href="https://android-review.googlesource.com/#/c/55460">Change 55460</a></p>
-            <p class="note"><strong>Note:</strong>
-            In the GCC 4.7 release and later, ARM compilers generate unaligned access code by
-            default for ARMv6 and higher build targets. You may need to add the
-            {@code -mno-unaligned-access} build option when building for kernels that do not support
-            this feature.</p>
-          </li>
-          <li>Added Clang 3.3 support. The {@code NDK_TOOLCHAIN_VERSION=clang} build option
-            now picks Clang 3.3 by default.
-            <p class="note"><strong>Note:</strong>
-             Both GCC 4.4.3 and Clang 3.1 are deprecated, and will be removed from the next NDK
-             release.</p></li>
-          <li>Updated GNU Project Debugger (GDB) to support python 2.7.5.</li>
-          <li>Added MCLinker to support Windows hosts. Since {@code ld.gold}
-            is the default where available, you must add {@code -fuse-ld=mcld} in
-            {@code LOCAL_LDFLAGS} or {@code APP_LDFLAGS} to enable MCLinker.</li>
-          <li>Added {@code ndk-depends} tool which prints ELF library dependencies.
-            For more information, see {@code NDK-DEPENDS.html}.
-            (<a href="http://b.android.com/53486">Issue 53486</a>)</li>
-        </ul>
-      </dd>
-
-      <dt>Important bug fixes:</dt>
-      <dd>
-        <ul>
-          <li>Fixed potential event handling issue in {@code android_native_app_glue}.
-            (<a href="http://b.android.com/41755">Issue 41755</a>)</li>
-          <li>Fixed ARM/GCC-4.7 build to generate sufficient alignment for NEON load and store
-            instructions VST and VLD.
-            (<a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57271">GCC Issue 57271</a>)</li>
-          <li>Fixed a GCC 4.4.3/4.6/4.7 internal compiler error (ICE) for a constant negative index
-            value on a string literal.
-            (<a href="http://b.android.com/54623">Issue 54623</a>)</li>
-          <li>Fixed GCC 4.7 segmentation fault for constant initialization with an object address.
-            (<a href="http://b.android.com/56508">Issue 56508</a>)</li>
-          <li>Fixed GCC 4.6 ARM segmentation fault for <code>-O</code> values when using Boost
-            1.52.0. (<a href="http://b.android.com/42891">Issue 42891</a>)
-          <li>Fixed {@code libc.so} and {@code libc.a} to support the {@code wait4()} function.
-            (<a href="http://b.android.com/19854">Issue 19854</a>)</li>
-          <li>Updated the x86 libc.so and libc.a files to include the {@code clone()}
-            function.</li>
-          <li>Fixed {@code LOCAL_SHORT_COMMANDS} bug where the {@code linker.list} file is
-            empty or not used.</li>
-          <li>Fixed GCC MIPS build on Mac OS to use CFI directives, without which
-            {@code ld.mcld --eh-frame-hdr} fails frequently.</li>
-          <li>Fixed Clang 3.2 X86/MIPS internal compiler error in {@code llvm/lib/VMCore/Value.cpp}.
-            (<a href="https://android-review.googlesource.com/#/c/59021">Change 59021</a>)</li>
-          <li>Fixed GCC 4.7 64-bit Windows assembler crash. (Error: {@code out of memory allocating
-            4294967280 bytes}).</li>
-          <li>Updated {@code ndk-gdb} script so that the {@code --start} or {@code --launch} actions
-            now wait for the GNU Debug Server, so that it can more reliably hit breakpoints set
-            early in the execution path (such as breakpoints in JNI code).
-            (<a href="http://b.android.com/41278">Issue 41278</a>)
-            <p class="note"><strong>Note:</strong>
-              This feature requires jdb and produces warning about pending breakpoints.
-              Specify the {@code --nowait} option to restore previous behavior.
-            </p>
-          </li>
-          <li>Fixed GDB crash when library list is empty.</li>
-          <li>Fixed GDB crash when using a {@code stepi} command past a {@code bx pc} or
-            {@code blx pc} Thumb instruction.
-            (<a href="http://b.android.com/56962">Issue 56962</a>,
-             <a href="http://b.android.com/36149">Issue 36149</a>)</li>
-          <li>Fixed MIPS {@code gdbserver} to look for {@code DT_MIPS_RLD_MAP} instead of
-            {@code DT_DEBUG}. (<a href="http://b.android.com/56586">Issue 56586</a>)</li>
-          <li>Fixed a circular dependency in the ndk-build script, for example: If A-&gt;B and
-            B-&gt;B, then B was dropped from build.
-            (<a href="http://b.android.com/56690">Issue 56690</a>)</li>
-        </ul>
-      </dd>
-
-      <dt>Other bug fixes:</dt>
-      <dd>
-        <ul>
-          <li>Fixed the {@code ndk-build} script to enable you to specify a version of Clang as a
-            command line option (e.g., {@code NDK_TOOLCHAIN_VERSION=clang3.2}). Previously, only
-            specifying the version as an environment variable worked.</li>
-          <li>Fixed gabi++ size of {@code _Unwind_Exception} to be 24 for MIPS build targets when
-            using the Clang compiler.
-            (<a href="https://android-review.googlesource.com/#/c/54141">Change 54141</a>)</li>
-          <li>Fixed the {@code ndk-build} script to ensure that built libraries are actually
-            removed from projects that include prebuilt static libraries when using the
-            {@code ndk-build clean} command.
-            (<a href="https://android-review.googlesource.com/#/c/54461">Change 54461</a>,
-             <a href="https://android-review.googlesource.com/#/c/54480">Change 54480</a>)</li>
-          <li>Modified the {@code NDK_ANALYZE=1} option to be less verbose.</li>
-          <li>Fixed {@code gnu-libstdc++/Android.mk} to include a {@code backward/} path for builds
-            that use backward compability.
-            (<a href="http://b.android.com/53404">Issue 53404</a>)</li>
-          <li>Fixed a problem where {@code stlport new} sometimes returned random values.</li>
-          <li>Fixed {@code ndk-gdb} to match the order of {@code CPU_ABIS}, not {@code APP_ABIS}.
-            (<a href="http://b.android.com/54033">Issue 54033</a>)</li>
-          <li>Fixed a problem where the NDK 64-bit build on MacOSX choses the wrong path for
-            compiler.
-            (<a href="http://b.android.com/53769">Issue 53769</a>)</li>
-          <li>Fixed build scripts to detect 64-bit Windows Vista.
-            (<a href="http://b.android.com/54485">Issue 54485</a>)</li>
-          <li>Fixed x86 {@code ntonl/swap32} error: {@code invalid 'asm': operand number
-            out of range}.
-            (<a href="http://b.android.com/54465">Issue 54465</a>,
-             <a href="https://android-review.googlesource.com/#/c/57242">Change 57242</a>)</li>
-          <li>Fixed {@code ld.gold} to merge string literals.</li>
-          <li>Fixed {@code ld.gold} to handle large symbol alignment.</li>
-          <li>Updated {@code ld.gold} to enable the {@code --sort-section=name} option.</li>
-          <li>Fixed GCC 4.4.3/4.6/4.7 to suppress the {@code -export-dynamic} option for
-            statically linked programs. GCC no longer adds an {@code .interp} section for statically
-            linked programs.</li>
-          <li>Fixed GCC 4.4.3 {@code stlport} compilation error about inconsistent {@code typedef}
-            of {@code _Unwind_Control_Block}.
-            (<a href="http://b.android.com/54426">Issue 54426</a>)</li>
-          <li>Fixed {@code awk} scripts to handle {@code AndroidManifest.xml} files created on
-            Windows which may contain trailing {@code \r} characters and cause build errors.
-            (<a href="http://b.android.com/42548">Issue 42548</a>)</li>
-          <li>Fixed {@code make-standalone-toolchain.sh} to probe the {@code prebuilts/}
-            directory to detect if the host is 32 bit or 64 bit.</li>
-          <li>Fixed the Clang 3.2 {@code -integrated-as} option.</li>
-          <li>Fixed the Clang 3.2 ARM EHABI compact model {@code pr1} and {@code pr2} handler data.
-            </li>
-          <li>Added Clang {@code -mllvm -arm-enable-ehabi} option to fix the following Clang error:
-            <pre>clang: for the -arm-enable-ehabi option: may only occur zero or one times!</pre>
-            </li>
-          <li>Fixed build failure when there is no {@code uses-sdk} element in application
-            manifest. (<a href="http://b.android.com/57015">Issue 57015</a>)</li>
-        </ul>
-
-      </dd>
-      <dt>Other changes:</dt>
-      <dd>
-        <ul>
-          <li>Header Fixes
-            <ul>
-              <li>Modified headers to make {@code __set_errno} an inlined function, since
-                {@code __set_errno} in {@code errno.h} is deprecated, and {@code libc.so} no longer
-                exports it.</li>
-              <li>Modified {@code elf.h} to include {@code stdint.h}.
-                (<a href="http://b.android.com/55443">Issue 55443</a>)</li>
-              <li>Fixed {@code sys/un.h} to be included independently of other headers.
-                (<a href="http://b.android.com/53646">Issue 53646</a>)</li>
-              <li>Fixed all of the {@code MotionEvent_getHistorical} API family to take the
-                {@code const AInputEvent* motion_event}.
-                (<a href="http://b.android.com/55873">Issue 55873</a>)</li>
-              <li>Fixed {@code malloc_usable_size} to take {@code const void*}.
-                (<a href="http://b.android.com/55725">Issue 55725</a>)</li>
-              <li>Fixed stdint.h to be more compatible with C99.
-                (<a href="https://android-review.googlesource.com/#/c/46821">Change 46821</a>)</li>
-              <li>Modified {@code wchar.h} to not redefine {@code WCHAR_MAX} and
-                {@code WCHAR_MIN}</li>
-              <li>Fixed {@code <inttypes.h>} declaration for pointer-related {@code PRI} and
-                {@code SCN} macros. (<a href="http://b.android.com/57218">Issue 57218</a>)</li>
-              <li>Changed the {@code sys/cdefs.h} header so that {@code __WCHAR_TYPE__} is 32-bit
-                for API levels less than 9, which means that {@code wchat_t} is 32-bit for all
-                API levels. To restore the previous behavior, define the {@code _WCHAR_IS_8BIT}
-                boolean variable. (<a href="http://b.android.com/57267">Issue 57267</a>)</li>
-            </ul>
-          </li>
-          <li>Added more formatting in NDK {@code docs/} and miscellaneous documentation fixes.
-            </li>
-          <li>Added support for a thin archive technique when building static libraries.
-            (<a href="http://b.android.com/40303">Issue 40303</a>)</li>
-          <li>Updated script {@code make-standalone-toolchain.sh} to support the {@code stlport}
-            library in addition to {@code gnustl}, when you specify the option
-            {@code --stl=stlport}. For more information, see {@code STANDALONE-TOOLCHAIN.html}.</li>
-          <li>Updated the {@code make-standalone-toolchain.sh} script so that the
-            {@code --llvm-version=} option creates the {@code $TOOLCHAIN_PREFIX-clang} and
-            {@code $TOOLCHAIN_PREFIX-clang++} scripts in addition to {@code clang} and
-            {@code clang++}, to avoid using the host's clang and clang++ definitions by accident.
-            </li>
-          <li>Added two flags to re-enable two optimizations in upstream Clang but disabled in
-              NDK for better compatibility with code compiled by GCC:
-            <ul>
-              <li>Added a {@code -fcxx-missing-return-semantics} flag to re-enable <em>missing
-return
-                semantics</em> in Clang 3.2+. Normally, all paths should terminate with a return
-                statement for a value-returning function. If this is not the case, clang inserts
-                an undefined instruction (or trap in debug mode) at the path without a return
-                statement. If you are sure your code is correct, use this flag to allow the
-                optimizer to take advantage of the undefined behavior. If you are not sure, do not
-                use this flag. The caller may still receive a random incorrect value, but the
-                optimizer will not exploit it and make your code harder to debug.</li>
-              <li>Added a {@code -fglobal-ctor-const-promotion} flag to re-enable
-                promoting global variables with static constructor to be constants. With this flag,
-                the global variable optimization pass of LLVM tries to evaluate the global
-                variables with static constructors and promote them to global constants. Although
-                this optimization is correct, it may cause some incompatability with code compiled
-                by GCC. For example, code may do {@code const_cast} to cast the constant to mutable
-                and modify it. In GCC, the variable is in read-write and the code is run by
-                accident. In Clang, the const variable is in read-only memory and may cause your
-                application to crash.</li>
-            </ul>
-          </li>
-          <li>Added {@code -mldc1-sdc1} to the MIPS GCC and Clang compilers. By default, compilers
-            align 8-byte objects properly and emit the {@code ldc1} and {@code sdc1} instructions
-            to move them around. If your app uses a custom allocator that does not always align
-            with a new object's 8-byte boundary in the same way as the default allocator, your app
-            may crash due to {@code ldc1} and {@code sdc1} operations on unaligned memory. In this
-            case, use the {@code -mno-ldc1-sdc1} flag to workaround the problem.</li>
-          <li>Downgraded the event severity from warning to info if {@code APP_PLATFORM_LEVEL} is
-            larger than {@code APP_MIN_PLATFORM_LEVEL}. The {@code APP_PLATFORM_LEVEL} may be lower
-            than {@code APP_PLATFORM} in {@code jni/Application.mk} because the NDK does not have
-            headers for all levels. In this case, the actual level is shifted downwards. The
-            {@code APP_MIN_PLATFORM_LEVEL} is specified by the {@code android:minSdkVersion} in
-            your application's manifest.
-            (<a href="http://b.android.com/39752">Issue 39752</a>)</li>
-          <li>Added the {@code android_getCpuIdArm()} and {@code android_setCpuArm()} methods to
-            {@code cpu-features.c}. This addition enables easier retrieval of the ARM CPUID
-            information. (<a href="http://b.android.com/53689">Issue 53689</a>)</li>
-          <li>Modified {@code ndk-build} to use GCC 4.7's {@code as/ld} for Clang compiling.
-            <p class="note"><strong>Note:</strong>
-              In GCC 4.7, {@code monotonic_clock} and {@code is_monotonic} have been renamed to
-              {@code steady_clock} and {@code is_steady}, respectively.</p></li>
-          <li>Added the following new warnings to the {@code ndk-build} script:
-            <ul>
-              <li>Added warnings if {@code LOCAL_LDLIBS/LDFLAGS} are used in static library
-                modules.</li>
-              <li>Added a warning if a configuration has no module to build.</li>
-              <li>Added a warning for non-system libraries being used in
-                {@code LOCAL_LDLIBS/LDFLAGS} of a shared library or executable modules.</li>
-            </ul>
-          </li>
-          <li>Updated build scripts, so that if {@code APP_MODULES} is not defined and only static
-            libraries are listed in {@code Android.mk}, the script force-builds all of them.
-            (<a href="http://b.android.com/53502">Issue 53502</a>)</li>
-          <li>Updated {@code ndk-build} to support absolute paths in {@code LOCAL_SRC_FILES}.</li>
-          <li>Removed the {@code *-gdbtui} executables, which are duplicates of the {@code *-gdb}
-            executables with the {@code -tui} option enabled.</li>
-          <li>Updated the build scripts to warn you when the Edison Design Group (EDG) compiler
-            front-end turns {@code _STLP_HAS_INCLUDE_NEXT} back on.
-            (<a href="http://b.android.com/53646">Issue 53646</a>)</li>
-          <li>Added the environment variable {@code NDK_LIBS_OUT} to allow overriding of the
-            path for {@code libraries/gdbserver} from the default {@code $PROJECT/libs}.
-            For more information, see {@code OVERVIEW.html}.</li>
-          <li>Changed ndk-build script defaults to compile code with format string protection
-            {@code -Wformat -Werror=format-security}. You may set
-            {@code LOCAL_DISABLE_FORMAT_STRING_CHECKS=true} to disable it.
-            For more information, see {@code ANDROID-MK.html}</li>
-          <li>Added STL pretty-print support in {@code ndk-gdb-py}. For more information, see
-            {@code NDK-GDB.html}.</li>
-          <li>Added tests based on the googletest frameworks.</li>
-          <li>Added a notification to the toolchain build script that warns you if the current shell
-            is not {@code bash}.</li>
-        </ul>
-      </dd>
-    </dl>
-  </div>
-</div>
-
-
-<div class="toggle-content closed">
-<a name="lower"></a>
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 8e</a> <em>(March 2013)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-        <ul>
-          <li>Added 64-bit host toolchain set (package name suffix {@code *-x86_64.*}). For more
-            information, see {@code CHANGES.HTML} and {@code NDK-BUILD.html}.</li>
-          <li>Added Clang 3.2 compiler. GCC 4.6 is still the default. For information on using the
-            Clang compiler, see {@code CHANGES.HTML}.</li>
-          <li>Added static code analyzer for Linux/MacOSX hosts. For information on using the
-            analyzer, see {@code CHANGES.HTML}.</li>
-          <li>Added MCLinker for Linux/MacOSX hosts as an experimental feature. The {@code ld.gold}
-            linker is the default where available, so you must explicitly enable it. For more
-            information, see {@code CHANGES.HTML}.</li>
-          <li>Updated ndk-build to use topological sort for module dependencies, which means the
-            build automatically sorts out the order of libraries specified in
-            {@code LOCAL_STATIC_LIBRARIES}, {@code LOCAL_WHOLE_STATIC_LIBRARIES} and
-            {@code LOCAL_SHARED_LIBRARIES}. For more information, see {@code CHANGES.HTML}.
-            (<a href="http://b.android.com/39378">Issue 39378</a>)</li>
-        </ul>
-      </dd>
-
-      <dt>Important bug fixes:</dt>
-      <dd>
-        <ul>
-          <li>Fixed build script to build all toolchains in {@code -O2}. Toolchains in previous
-            releases were incorrectly built without optimization.</li>
-          <li>Fixed build script which unconditionally builds Clang/llvm for MacOSX in 64-bit.</li>
-          <li>Fixed GCC 4.6/4.7 internal compiler error:
-            {@code gen_thumb_movhi_clobber at config/arm/arm.md:5832}.
-            (<a href="http://b.android.com/52732">Issue 52732</a>)</li>
-          <li>Fixed build problem where GCC/ARM 4.6/4.7 fails to link code using 64-bit atomic
-            built-in functions.
-            (<a href="http://b.android.com/41297">Issue 41297</a>)</li>
-          <li>Fixed GCC 4.7 linker DIV usage mismatch errors.
-          (<a href="http://sourceware.org/ml/binutils/2012-12/msg00202.html">Sourceware Issue</a>)
-          <li>Fixed GCC 4.7 internal compiler error {@code build_data_member_initialization, at
-            cp/semantics.c:5790}.</li>
-          <li>Fixed GCC 4.7 internal compiler error {@code redirect_eh_edge_1, at tree-eh.c:2214}.
-            (<a href="http://b.android.com/52909">Issue 52909</a>)</li>
-          <li>Fixed a GCC 4.7 segfault.
-            (<a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55245">GCC Issue</a>)</li>
-          <li>Fixed {@code <chrono>} clock resolution and enabled {@code steady_clock}.
-            (<a href="http://b.android.com/39680">Issue 39680</a>)</li>
-          <li>Fixed toolchain to enable {@code _GLIBCXX_HAS_GTHREADS} for GCC 4.7 libstdc++.
-            (<a href="http://b.android.com/41770">Issue 41770</a>,
-             <a href="http://b.android.com/41859">Issue 41859</a>)</li>
-          <li>Fixed problem with the X86 MXX/SSE code failing to link due to missing
-            {@code posix_memalign}.
-            (<a href="https://android-review.googlesource.com/#/c/51872">Change 51872</a>)</li>
-          <li>Fixed GCC4.7/X86 segmentation fault in {@code i386.c}, function
-            {@code distance_non_agu_define_in_bb()}.
-            (<a href="https://android-review.googlesource.com/#/c/50383">Change 50383</a>)</li>
-          <li>Fixed GCC4.7/X86 to restore earlier {@code cmov} behavior.
-            (<a href="http://gcc.gnu.org/viewcvs?view=revision&revision=193554">GCC Issue</a>)</li>
-          <li>Fixed handling NULL return value of {@code setlocale()} in libstdc++/GCC4.7.
-            (<a href="http://b.android.com/46718">Issue 46718</a>)
-          <li>Fixed {@code ld.gold} runtime undefined reference to {@code __exidx_start} and
-            {@code __exidx_start_end}.
-            (<a href="https://android-review.googlesource.com/#/c/52134">Change 52134</a>)</li>
-          <li>Fixed Clang 3.1 internal compiler error when using Eigen library.
-            (<a href="http://b.android.com/41246">Issue 41246</a>)</li>
-          <li>Fixed Clang 3.1 internal compiler error including {@code <chrono>} in C++11
-mode.
-            (<a href="http://b.android.com/39600">Issue 39600</a>)</li>
-          <li>Fixed Clang 3.1 internal compiler error when generating object code for a method
-            call to a uniform initialized {@code rvalue}.
-            (<a href="http://b.android.com/41387">Issue 41387</a>)</li>
-          <li>Fixed Clang 3.1/X86 stack realignment.
-            (<a href="https://android-review.googlesource.com/#/c/52154">Change 52154</a>)</li>
-          <li>Fixed problem with GNU Debugger (GDB) SIGILL when debugging on Android 4.1.2.
-            (<a href="http://b.android.com/40941">Issue 40941</a>)</li>
-          <li>Fixed problem where GDB cannot set {@code source:line} breakpoints when symbols
-contain
-            long, indirect file paths.
-            (<a href="http://b.android.com/42448">Issue 42448</a>)</li>
-          <li>Fixed GDB {@code read_program_header} for MIPS PIE executables.
-            (<a href="https://android-review.googlesource.com/#/c/49592">Change 49592</a>)</li>
-          <li>Fixed {@code STLport} segmentation fault in {@code uncaught_exception()}.
-            (<a href="https://android-review.googlesource.com/#/c/50236">Change 50236</a>)</li>
-          <li>Fixed {@code STLport} bus error in exception handling due to unaligned access of
-            {@code DW_EH_PE_udata2}, {@code DW_EH_PE_udata4}, and {@code DW_EH_PE_udata8}.</li>
-          <li>Fixed Gabi++ infinite recursion problem with {@code nothrow new[]} operator.
-            (<a href="http://b.android.com/52833">Issue 52833</a>)</li>
-          <li>Fixed Gabi++ wrong offset to exception handler pointer.
-            (<a href="https://android-review.googlesource.com/#/c/53446">Change 53446</a>)</li>
-          <li>Removed Gabi++ redundant free on exception object
-            (<a href="https://android-review.googlesource.com/#/c/53447">Change 53447</a>)</li>
-        </ul>
-      </dd>
-
-      <dt>Other bug fixes:</dt>
-      <dd>
-        <ul>
-          <li>Fixed NDK headers:
-            <ul>
-              <li>Removed redundant definitions of {@code size_t}, {@code ssize_t}, and
-                {@code ptrdiff_t}.</li>
-              <li>Fixed MIPS and ARM {@code fenv.h} header.</li>
-              <li>Fixed {@code stddef.h} to not redefine {@code offsetof} since it already exists
-                in the toolchain.</li>
-              <li>Fixed {@code elf.h} to contain {@code Elf32_auxv_t} and {@code Elf64_auxv_t}.
-                (<a href="http://b.android.com/38441">Issue 38441</a>)
-                </li>
-              <li>Fixed the {@code #ifdef} C++ definitions in the
-                {@code OpenSLES_AndroidConfiguration.h} header file.
-                (<a href="http://b.android.com/53163">Issue 53163</a>)
-                </li>
-            </ul>
-          </li>
-          <li>Fixed {@code STLport} to abort after out of memory error instead of silently exiting.
-            </li>
-          <li>Fixed system and Gabi++ headers to be able to compile with API level 8 and lower.</li>
-          <li>Fixed {@code cpufeatures} to not parse {@code /proc/self/auxv}.
-            (<a href="http://b.android.com/43055">Issue 43055</a>)</li>
-          <li>Fixed {@code ld.gold} to not depend on host libstdc++ and on Windows platforms,
-            to not depend on the {@code libgcc_sjlj_1.dll} library.</li>
-          <li>Fixed Clang 3.1 which emits inconsistent register list in {@code .vsave} and fails
-            assembler.
-            (<a href="https://android-review.googlesource.com/#/c/49930">Change 49930</a>)</li>
-          <li>Fixed Clang 3.1 to be able to compile libgabi++ and pass the {@code test-stlport}
-            tests for MIPS build targets.
-            (<a href="https://android-review.googlesource.com/#/c/51961">Change 51961</a>)</li>
-          <li>Fixed Clang 3.1 to only enable exception by default for C++, not for C.</li>
-          <li>Fixed several issues in Clang 3.1 to pass most GNU exception tests.</li>
-          <li>Fixed scripts {@code clang} and {@code clang++} in standalone NDK compiler to detect
-            {@code -cc1} and to not specify {@code -target} when found.</li>
-          <li>Fixed {@code ndk-build} to observe {@code NDK_APP_OUT} set in {@code Application.mk}.
-            </li>
-          <li>Fixed X86 {@code libc.so} and {@code lib.a} which were missing the {@code sigsetjmp}
-            and {@code siglongjmp} functions already declared in {@code setjmp.h}.
-            (<a href="http://b.android.com/19851">Issue 19851</a>)</li>
-          <li>Patched GCC 4.4.3/4.6/4.7 libstdc++ to work with Clang in C++ 11.
-            (<a href="http://clang.llvm.org/cxx_status.html">Clang Issue</a>)</li>
-          <li>Fixed cygwin path in argument passed to {@code HOST_AWK}.</li>
-          <li>Fixed {@code ndk-build} script warning in windows when running from project's JNI
-            directory.
-            (<a href="http://b.android.com/40192">Issue 40192</a>)</li>
-          <li>Fixed problem where the {@code ndk-build} script does not build if makefile has
-            trailing whitespace in the {@code LOCAL_PATH} definition.
-            (<a href="http://b.android.com/42841">Issue 42841</a>)</li>
-        </ul>
-      </dd>
-
-      <dt>Other changes:</dt>
-      <dd>
-        <ul>
-          <li>Enabled threading support in GCC/MIPS toolchain.</li>
-          <li>Updated GCC exception handling helpers {@code __cxa_begin_cleanup} and
-            {@code __cxa_type_match} to have <em>default</em> visibility from the previous
-            <em>hidden</em> visibility in GNU libstdc++. For more information, see
-            {@code CHANGES.HTML}.</li>
-          <li>Updated build scripts so that Gabi++ and STLport static libraries are now built with
-            hidden visibility except for exception handling helpers.</li>
-          <li>Updated build so that {@code STLport} is built for ARM in Thumb mode.</li>
-          <li>Added support for {@code std::set_new_handler} in Gabi++.
-            (<a href="http://b.android.com/52805">Issue 52805</a>)</li>
-          <li>Enabled {@code FUTEX} system call in GNU libstdc++.</li>
-          <li>Updated {@code ndk-build} so that it  no longer copies prebuilt static library to
-            a project's {@code obj/local/<abi>/} directory.
-            (<a href="http://b.android.com/40302">Issue 40302</a>)</li>
-          <li>Removed {@code __ARM_ARCH_5*__} from ARM {@code toolchains/*/setup.mk} script.
-            (<a href="http://b.android.com/21132">Issue 21132</a>)</li>
-          <li>Built additional GNU libstdc++ libraries in thumb for ARM.</li>
-          <li>Enabled MIPS floating-point {@code madd/msub/nmadd/nmsub/recip/rsqrt}
-            instructions with 32-bit FPU.</li>
-          <li>Enabled graphite loop optimizer in GCC 4.6 and 4.7 to allow more optimizations:
-            {@code -fgraphite}, {@code -fgraphite-identity}, {@code -floop-block}, {@code
--floop-flatten},
-            {@code -floop-interchange}, {@code -floop-strip-mine}, {@code -floop-parallelize-all},
-            and {@code -ftree-loop-linear}.
-            (<a href="http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html">info</a>)</li>
-          <li>Enabled {@code polly} for Clang 3.1 on Linux and Max OS X 32-bit hosts which analyzes
-            and optimizes memory access. (<a href="http://polly.llvm.org">info</a>)</li>
-          <li>Enabled {@code -flto} in GCC 4.7, 4.6, Clang 3.2 and Clang 3.1 on linux (Clang LTO
-            via LLVMgold.so). MIPS compiler targets are not supported because {@code ld.gold}
-            is not available.</li>
-          <li>Enabled {@code --plugin} and {@code --plugin-opt} for {@code ld.gold} in GCC 4.6/4.7.
-            </li>
-          <li>Enabled {@code --text-reorder} for {@code ld.gold} in GCC 4.7.</li>
-          <li>Configured GNU libstdc++ with {@code _GLIBCXX_USE_C99_MATH} which undefines the
-            {@code isinf} script in the bionic header. For more information, see
-            {@code CHANGES.html}.</li>
-          <li>Added {@code APP_LDFLAGS} to the build scripts. For more information, see
-            {@code ANDROID-MK.html}.</li>
-          <li>Updated build scripts to allow {@code NDK_LOG=0} to disable the {@code NDK_LOG}.</li>
-          <li>Updated build scripts to allow {@code NDK_HOST_32BIT=0} to disable the host developer
-            environment 32-bit toolchain.</li>
-          <li>Changed the default GCC/X86 flags {@code -march=} and {@code -mtune=} from
-            {@code pentiumpro} and {@code generic} to {@code i686} and {@code atom}.</li>
-          <li>Enhanced toolchain build scripts:
-            <ul>
-              <li>Fixed a race condition in {@code build-gcc.sh} for the {@code mingw} build type
-                which was preventing a significant amount of parallel build processing.</li>
-              <li>Updated {@code build-gabi++.sh} and {@code build-stlport.sh} so they can now run
-                from the NDK package.
-                (<a href="http://b.android.com/52835">Issue 52835</a>)
-                </li>
-              <li>Fixed {@code run-tests.sh} in the {@code MSys} utilities collection.</li>
-              <li>Improved 64-bit host toolchain and Canadian Cross build support.</li>
-              <li>Updated {@code build-mingw64-toolchain.sh} script to more recent version.</li>
-              <li>Added option to build {@code libgnustl_static.a} and {@code stlport_static.a}
-                without hidden visibility.</li>
-            </ul>
-          </li>
-        </ul>
-
-      </dd>
-    </dl>
-  </div>
-</div>
-
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 8d</a> <em>(December 2012)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-      <dd>
-        <ul>
-          <li>Added the GNU Compiler Collection (GCC) 4.7 compiler to the NDK. The GCC 4.6 compiler
-            is still the default, so you must to explicitly enable the new version as follows:
-            <ul>
-              <li>For {@code ndk-build}, export the {@code NDK_TOOLCHAIN_VERSION=4.7} variable
-                <em>or</em> add it to {@code Application.mk}.</li>
-              <li>For standalone builds, add the {@code --toolchain=} option to
-                {@code make-standalone-toolchain.sh}, for example:
-                <pre>--toolchain=arm-linux-androideabi-4.7</pre></li>
-            </ul>
-            <p class="note">
-              <strong>Note:</strong> This feature is experimental. Please try it and
-              <a href="http://code.google.com/p/android/issues/list">report any issues</a>.</p>
-          </li>
-          <li>Added {@code stlport} exception support via gabi++.  Note that the new gabi++
-            depends on {@code dlopen} and related code, meaning that:
-            <ul>
-              <li>You can no longer build a <em>static</em> executable using the {@code -static}
-                option or include {@code libstlport_static.a} using
-                {@code APP_STL := stlport_static}. (You can still use the {@code -static} option
-                with a standalone toolchain.) Compiling a <em>dynamic</em> executable using
-                {@code include $(BUILD_EXECUTABLE)} continues to work because the compiler
-                automatically adds the {@code -ldl} option.</li>
-              <li>If your project links using {@code -nostdlib} and {-Wl,--no-undefined}, you
-                must manually include the {@code -ldl} option.</li>
-            </ul>
-              For more information, see {@code CPLUSPLUS-SUPPORT.html}.
-
-              <p class="note">
-                <strong>Note:</strong> This feature is experimental and works better with the GCC
-                4.6/4.7 compilers than with GCC 4.4.3 or Clang 3.1. Please try it and
-                <a href="http://code.google.com/p/android/issues/list">report any issues</a>.</p>
-          </li>
-          <li>Added a {@code -mstack-protector-guard=} option for x86 to choose between a
-            <em>global</em> default path which is compatible with older Android C library (bionic)
-            and a new <em>tls</em> path (%gs:20) for {@code -fstack-protector},
-            {@code -fstack-protector-all} and {@code -fstack-protector-strong} using the GCC 4.6
-            and higher compilers.
-
-            <p class="note">
-              <strong>Note:</strong> The {@code -mstack-protector-guard} setting itself does not
-              enable any {@code -fstack-protector*} options.</p>
-          </li>
-          <li>Added {@code android_setCpu()} function to
-            {@code sources/android/cpufeatures/cpu-features.c} for use when auto-detection via
-            {@code /proc} is not possible in Android 4.1 and higher.
-            (<a href="http://code.google.com/p/chromium/issues/detail?id=164154">Chromium Issue
-            164154</a>)</li>
-        </ul>
-      </dd>
-
-      <dt>Important bug fixes:</dt>
-      <dd>
-        <ul>
-          <li>Fixed unnecessary rebuild of object files when using the {@code ndk-build} script.
-            (<a href="http://b.android.com/39810">Issue 39810</a>)</li>
-          <li>Fixed a linker failure with the NDK 8c release for Mac OS X 10.6.x that produced the
-            following error:
-            <pre>
-dyld: lazy symbol binding failed: Symbol not found: _memmem
-Referenced from: ...../arm-linux-androideabi/bin/ld
-Expected in: /usr/lib/libSystem.B.dylib</pre>
-            This problem was caused by building on Mac OS X 10.7, which produced binaries that were
-            not compatible with Mac OS 10.6.x and the NDK.
-          </li>
-          <li>Removed the {@code -x c++} options from the Clang++ standalone build script.
-          (<a href="http://b.android.com/39089">Issue 39089</a>)</li>
-          <li>Fixed issues using the {@code NDK_TOOLCHAIN_VERSION=clang3.1} option in Cygwin.
-           (<a href="http://b.android.com/39585">Issue 39585</a>)</li>
-          <li>Fixed the {@code make-standalone-toolchain.sh} script to allow generation of a
-            standalone toolchain using the Cygwin or MinGW environments. The resulting toolchain
-            can be used in Cygwin, MingGW or CMD.exe environments.
-            (<a href="http://b.android.com/39915">Issue 39915</a>,
-            <a href="http://b.android.com/39585">Issue 39585</a>)</li>
-          <li>Added missing {@code SL_IID_ANDROIDBUFFERQUEUESOURCE} option in android-14 builds for
-            ARM and X86.
-            (<a href="http://b.android.com/40625">Issue 40625</a>)</li>
-          <li>Fixed x86 CPU detection for the {@code ANDROID_CPU_X86_FEATURE_MOVBE} feature.
-            (<a href="http://b.android.com/39317">Issue 39317</a>)</li>
-          <li>Fixed an issue preventing the Standard Template Library (STL) from using C++
-            sources that do not have a {@code .cpp} file extension.</li>
-          <li>Fixed GCC 4.6 ARM internal compiler error <em>at reload1.c:1061</em>.
-            (<a href="http://b.android.com/20862">Issue 20862</a>)</li>
-          <li>Fixed GCC 4.4.3 ARM internal compiler error <em>at emit-rtl.c:1954</em>.
-            (<a href="http://b.android.com/22336">Issue 22336</a>)</li>
-          <li>Fixed GCC 4.4.3 ARM internal compiler error <em>at postreload.c:396</em>.
-            (<a href="http://b.android.com/22345">Issue 22345</a>)</li>
-          <li>Fixed problem with GCC 4.6/4.7 skipping lambda functions.
-            (<a href="http://b.android.com/35933">Issue 35933</a>)</li>
-        </ul>
-      </dd>
-
-      <dt>Other bug fixes:</dt>
-      <dd>
-        <ul>
-          <li>NDK header file fixes:
-            <ul>
-              <li>Fixed {@code __WINT_TYPE__} and {@code wint_t} to be the same type.</li>
-              <li>Corrected typo in {@code android/bitmap.h}.
-                (<a href="http://b.android.com/15134">Issue 15134</a>)
-              </li>
-              <li>Corrected typo in {@code errno.h}.</li>
-              <li>Added check for the presence of {@code __STDC_VERSION__} in {@code sys/cdefs.h}.
-                (<a href="http://b.android.com/14627">Issue 14627</a>)
-              </li>
-              <li>Reorganized headers in {@code byteswap.h} and {@code dirent.h}.</li>
-              <li>Fixed {@code limits.h} to include {@code page.h} which provides {@code PAGE_SIZE}
-                settings.
-                (<a href="http://b.android.com/39983">Issue 39983</a>)
-              </li>
-              <li>Fixed return type of {@code glGetAttribLocation()} and
-                {@code glGetUniformLocation()} from {@code int} to {@code GLint}.</li>
-              <li>Fixed {@code __BYTE_ORDER} constant for x86 builds.
-                (<a href="http://b.android.com/39824">Issue 39824</a>)
-              </li>
-            </ul>
-          </li>
-          <li>Fixed {@code ndk-build} script to not overwrite {@code -Os} with {@code -O2} for ARM
-            builds.</li>
-          <li>Fixed build scripts to allow overwriting of {@code HOST_AWK}, {@code HOST_SED}, and
-            {@code HOST_MAKE} settings.</li>
-          <li>Fixed issue for {@code ld.gold} on {@code fsck_msdos} builds linking objects built by
-            the Intel C/C++ compiler (ICC).</li>
-          <li>Fixed ARM EHABI support in Clang to conform to specifications.</li>
-          <li>Fixed GNU Debugger (GDB) to shorten the time spent on walking the target's link map
-            during {@code solib} events.
-            (<a href="http://b.android.com/38402">Issue 38402</a>)</li>
-          <li>Fixed missing {@code libgcc.a} file when linking shared libraries.</li>
-        </ul>
-      </dd>
-
-      <dt>Other changes:</dt>
-      <dd>
-        <ul>
-          <li>Backported 64-bit built-in atomic functions for ARM to GCC 4.6.</li>
-          <li>Added documentation for audio output latency, along with other documentation and
-            fixes.</li>
-          <li>Fixed debug builds with Clang so that non-void functions now raise a {@code SIGILL}
-            signal for paths without a return statement.</li>
-          <li>Updated {@code make-standalone-toolchain.sh} to accept the suffix {@code -clang3.1}
-            which is equivalent to adding {@code --llvm-version=3.1} to the GCC 4.6 toolchain.</li>
-          <li>Updated GCC and Clang bug report URL to:
-            <a
-href="http://source.android.com/source/report-bugs.html">http://source.android.com/source/report-bug
-s.html</a></li>
-          <li>Added ARM ELF support to {@code llvm-objdump}.</li>
-          <li>Suppressed <em>treating c input as c++</em> warning for Clang builds.</li>
-          <li>Updated build so that only the 32-bit version of {@code libiberty.a} is built and
-            placed in {@code lib32/}.</li>
-        </ul>
-      </dd>
-    </dl>
-  </div>
-</div>
-
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 8c</a> <em>(November 2012)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <dl>
-      <dt>Important changes:</dt>
-
-      <dd>
-        <ul>
-          <li>Added the Clang 3.1 compiler to the NDK. The GNU Compiler Collection (GCC) 4.6 is
-          still the default, so you must explicitly enable the Clang compiler option as follows:
-            <ul>
-              <li>For {@code ndk-build}, export {@code NDK_TOOLCHAIN_VERSION=clang3.1} <em>or</em>
-                add this environment variable setting to {@code Application.mk}.</li>
-              <li>For standalone builds, add {@code --llvm-version=3.1} to
-                {@code make-standalone-toolchain.sh} and replace {@code CC} and {@code CXX} in your
-                makefile with {@code <tool-path>/bin/clang} and
-                {@code <tool-path>/bin/clang++}. See {@code STANDALONE-TOOLCHAIN.html} for
-                details.</li>
-            </ul>
-            <p class="note"><strong>Note:</strong> This feature is experimental. Please try it and
-            <a href="http://code.google.com/p/android/issues/list">report any issues</a>.</p></li>
-          <li>Added Gold linker {@code ld.gold} for the Windows toolchain. Gold linker is also the
-            default for ARM and X86 on all hosts. You may override it to use the {@code ld.bfd}
-            linker by adding {@code LOCAL_LDFLAGS += -fuse-ld=bfd} to {@code Android.mk}, or by
-passing
-            {@code -fuse-ld=bfd} to the g++/clang++ command line that does the linking.</li>
-          <li>Added checks for spaces in the NDK path to the {@code ndk-build[.cmd]} and
-            {@code ndk-gdb} scripts, to prevent build errors that are difficult to diagnose.</li>
-          <li>Made the following changes to API level handling:
-            <ul>
-              <li>Modified build logic so that projects that specify {@code android-10} through
-                {@code android-13} in {@code APP_PLATFORM}, {@code project.properties} or
-                {@code default.properties} link against {@code android-9} instead of
-                {@code android-14}.
-              <li>Updated build so that executables using android-16 (Jelly Bean) or higher are
-                compiled with the {@code -fPIE} option for position-independent executables (PIE).
-                A new {@code APP_PIE} option allows you to control this behavior. See {@code
-                APPLICATION-MK.html} for details.
-                <p class="note">
-                  <strong>Note:</strong> All API levels above 14 still link against {@code
-                  platforms/android-14} and no new {@code platforms/android-N} have been added.
-                </p></li>
-              <li>Modified {@code ndk-build} to provide warnings if the adjusted API level is larger
-              than {@code android:minSdkVersion} in the project's {@code AndroidManifest.xml}.</li>
-            </ul>
-          </li>
-          <li>Updated the {@code cpu-features} helper library to include more ARM-specific features.
-          See {@code sources/android/cpufeatures/cpu-features.h} for details.</li>
-          <li>Modified the long double on the X86 platform to be 8 bytes. This data type is now the
-          same size as a double, but is still treated as a distinct type.</li>
-          <li>Updated build for {@code APP_ABI=armeabi-v7a}:
-            <ul>
-              <li>Modified this build type to pass the {@code -march=armv7-a} parameter
-              to the linker. This change ensures that v7-specific libraries and {@code crt*.o} are
-              linked correctly.</li>
-              <li>Added {@code -mfpu=vfpv3-d16} to {@code ndk-build} instead of the
-              {@code -mfpu=vfp} option used in previous releases.</li>
-            </ul>
-          </li>
-        </ul>
-      </dd>
-    </dl>
-
-    <dl>
-      <dt>Important bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Fixed an issue where running {@code make-standalone-toolchain.sh} with root privileges
-            resulted in the stand alone tool chain being inaccessible to some users.
-            (<a href="http://b.android.com/35279">Issue 35279</a>)
-            <ul>
-              <li>All files and executables in the NDK release package are set to have read and
-                execute permissions for all.</li>
-              <li>The ownership/group of {@code libstdc++.a} is now preserved when copied.</li>
-            </ul>
-          </li>
-          <li>Removed redundant {@code \r} from Windows prebuilt {@code echo.exe}. The redundant
-          {@code \r} caused {@code gdb.setup} to fail in the GNU Debugger (GDB) because it
-          incorrectly became part of the path.
-          (<a href="http://b.android.com/36054">Issue 36054</a>)</li>
-          <li>Fixed Windows parallel builds that sometimes failed due to timing issues in the
-          {@code host-mkdir} implementation.
-          (<a href="http://b.android.com/25875">Issue 25875</a>)</li>
-          <li>Fixed GCC 4.4.3 GNU {@code libstdc++} to <em>not</em> merge {@code typeinfo} names by
-          default. For more details, see
-          {@code toolchain repo gcc/gcc-4.4.3/libstdc++-v3/libsupc++/typeinfo}.
-          (<a href="http://b.android.com/22165">Issue 22165</a>)</li>
-          <li>Fixed problem on {@code null} context in GCC 4.6
-          {@code cp/mangle.c::write_unscoped_name}, where GCC may crash when the context is
-          {@code null} and dereferenced in {@code TREE_CODE}.</li>
-          <li>Fixed GCC 4.4.3 crashes on ARM NEON-specific type definitions for floats.
-          (<a href="http://b.android.com/34613">Issue 34613</a>)</li>
-          <li>Fixed the {@code STLport} internal {@code _IteWrapper::operator*()} implementation
-          where a stale stack location holding the dereferenced value was returned and caused
-          runtime crashes.
-          (<a href="http://b.android.com/38630">Issue 38630</a>)</li>
-
-          <li>ARM-specific fixes:
-            <ul>
-              <li>Fixed ARM GCC 4.4.3/4.6 {@code g++} to not warn that the <em>mangling of
-              &lt;va_list&gt; was changed in GCC 4.4</em>. The workaround using the
-              {@code -Wno-psabi} switch to avoid this warning is no longer required.</li>
-              <li>Fixed an issue when a project with {@code .arm} or {@code .neon} suffixes in
-              {@code LOCAL_SRC_FILES} also used {@code APP_STL}. With {@code APP_STL}, the
-              {@code ndk-build} script searches for C++ files in {@code LOCAL_SRC_FILES} before
-              adding STL {@code header/lib} paths to compilation. Modified {@code ndk-build} to
-              filter out {@code .arm} and {@code .neon} suffixes before the search, otherwise items
-              in {@code LOCAL_SRC_FILES} like {@code myfile.cpp.arm.neon} won't be compiled as C++
-              code.</li>
-              <li>Fixed {@code binutils-2.21/ld.bfd} to be capable of linking object from older
-              binutils without {@code tag_FP_arch}, which was producing <em>assertion fail</em>
-              error messages in GNU Binutils.
-              (<a href="http://b.android.com/35209">Issue 35209</a>)
-              </li>
-              <li>Removed <em>Unknown EABI object attribute 44</em> warning when
-              {@code binutils-2.19/ld} links prebuilt object by newer {@code binutils-2.21}</li>
-              <li>Fixed an issue in GNU {@code stdc++} compilation with both {@code -mthumb} and
-              {@code -march=armv7-a}, by modifying {@code make-standalone-toolchain.sh} to populate
-              {@code headers/libs} in sub-directory {@code armv7-a/thumb}.
-              (<a href="http://b.android.com/35616">Issue 35616</a>)
-              </li>
-              <li>Fixed <em>unresolvable R_ARM_THM_CALL relocation</em> error.
-              (<a href="http://b.android.com/35342">Issue 35342</a>)
-              </li>
-              <li>Fixed internal compiler error at {@code reload1.c:3633}, caused by the ARM
-              back-end expecting the wrong operand type when sign-extend from {@code char}.
-              (<a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50099">GCC Issue 50099</a>)</li>
-              <li>Fixed internal compiler error with negative shift amount.
-              (<a href="http://gcc.gnu.org/ml/gcc-patches/2011-10/msg00594.html">GCC Issue</a>)</li>
-            </ul>
-          </li>
-
-          <li>Fixed {@code -fstack-protector} for X86, which is also the default for the
-          {@code ndk-build} x86 ABI target.</li>
-
-          <li>MIPS-specific fixes:
-            <ul>
-              <li>Fixed {@code STLport} endian-ness by setting {@code _STLP_LITTLE_ENDIAN} to 1 when
-              compiling MIPS {@code libstlport_*}.</li>
-              <li>Fixed GCC {@code __builtin_unreachable} issue when compiling LLVM.
-              (<a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54369">GCC Issue 54369</a>)</li>
-              <li>Backported fix for {@code cc1} compile process consuming 100% CPU.
-              (<a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50380">GCC Issue 50380</a>)</li>
-            </ul>
-          </li>
-
-          <li>GNU Debugger-specific fixes:
-            <ul>
-              <li>Disabled Python support in gdb-7.x at build, otherwise the gdb-7.x configure
-              function may pick up whatever Python version is available on the host and build
-              {@code gdb} with a hard-wired dependency on a specific version of Python.
-              (<a href="http://b.android.com/36120">Issue 36120</a>)
-              </li>
-              <li>Fixed {@code ndk-gdb} when {@code APP_ABI} contains {@code all} and matchs none
-              of the known architectures.
-              (<a href="http://b.android.com/35392">Issue 35392</a>)
-              </li>
-              <li>Fixed Windows pathname support, by keeping the {@code :} character if it looks
-              like it could be part of a Windows path starting with a drive letter.
-              (<a href="http://sourceware.org/bugzilla/show_bug.cgi?id=12843">GDB Issue 12843</a>)
-              </li>
-              <li>Fixed adding of hardware breakpoint support for ARM in {@code gdbserver}.
-              (<a href="http://sourceware.org/ml/gdb-patches/2011-09/msg00200.html">GDB Issue</a>)
-              </li>
-              <li>Added fix to only read the current {@code solibs} when the linker is consistent.
-              This change speeds up {@code solib} event handling.
-              (<a href="http://b.android.com/37677">Issue 37677</a>)
-              </li>
-              <li>Added fix to make repeated attempts to find {@code solib} breakpoints. GDB now
-              retries {@code enable_break()} during every call to {@code svr4_current_sos()} until
-              it succeeds.
-              (<a href="https://android-review.googlesource.com/#/c/43563">Change 43563</a>)</li>
-              <li>Fixed an issue where {@code gdb} would not stop on breakpoints placed in
-              {@code dlopen-ed} libraries.
-              (<a href="http://b.android.com/34856">Issue 34856</a>)
-              </li>
-              <li>Fixed {@code SIGILL} in dynamic linker when calling {@code dlopen()}, on system
-              where {@code /system/bin/linker} is stripped of symbols and
-              {@code rtld_db_dlactivity()} is implemented as {@code Thumb}, due to not preserving
-              {@code LSB} of {@code sym_addr}.
-              (<a href="http://b.android.com/37147">Issue 37147</a>)
-              </li>
-            </ul>
-          </li>
-        </ul>
-      </dd>
-    </dl>
-
-    <dl>
-      <dt>Other bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Fixed NDK headers:
-            <ul>
-              <li>Fixed {@code arch-mips/include/asm/*} code that was incorrectly removed from
-              original kernel. (<a href="https://android-review.googlesource.com/#/c/43335">Change
-              43335</a>)</li>
-              <li>Replaced struct member data {@code __unused} with {@code __linux_unused} in
-              {@code linux/sysctl.h} and {@code linux/icmp.h} to avoid conflict with
-              {@code #define __unused} in {@code sys/cdefs.h}.</li>
-              <li>Fixed {@code fenv.h} for enclosed C functions with {@code __BEGIN_DECLS} and
-              {@code __END_DECLS}.</li>
-              <li>Removed unimplemented functions in {@code malloc.h}.</li>
-              <li>Fixed {@code stdint.h} defintion of {@code uint64_t} for ANSI compilers.
-              (<a href="http://b.android.com/1952">Issue 1952</a>)</li>
-              <li>Fixed preprocessor macros in {@code <arch>/include/machine/*}.</li>
-              <li>Replaced {@code link.h} for MIPS with new version supporting all platforms.</li>
-              <li>Removed {@code linux-unistd.h}</li>
-              <li>Move GLibc-specific macros {@code LONG_LONG_MIN}, {@code LONG_LONG_MAX} and
-              {@code ULONG_LONG_MAX} from {@code <pthread.h>} to {@code
-<limits.h>}.</li>
-            </ul>
-          </li>
-          <li>Fixed a buffer overflow in {@code ndk-stack-parser}.</li>
-          <li>Fixed {@code _STLP_USE_EXCEPTIONS}, when not defined, to omit all declarations
-          and uses of {@code __Named_exception}. Compiling and use of {@code __Named_exception}
-          settings only occurs when {@code STLport} is allowed to use exceptions.</li>
-          <li>Fixed building of Linux-only NDK packages without also building Windows code. Use the
-          following settings to perform this type of build:
-          <pre>./build/tools/make-release.sh --force --systems=linux-x86</pre></li>
-          <li>Fixed {@code libc.so} so it does not export {@code atexit()} and {@code __do_handler}.
-          These symbols are exported for ARM builds by the system version of the C library to
-          support legacy native libraries. NDK-generated should never reference them directly.
-          Instead, each shared library or executable should embed its own version of these symbols,
-          provided by {@code crtbegin_*.o}.
-          <p>If your project is linked with the {@code -nostdlib -Wl,--no-undefined} options, you
-          must provide your own {@code __dso_handle} because {@code crtbegin_so.o} is not linked in
-          this case. The content of {@code __dso_handle} does not matter, as shown in the following
-          example code:</p>
-<pre>
-extern "C" {
-  extern void *__dso_handle __attribute__((__visibility__ ("hidden")));
-  void *__dso_handle;
-}
-</pre>
-          </li>
-          <li>Fixed symbol decoder for ARM used in {@code objdump} for {@code plt} entries to
-          generate a more readable form {@code function@plt}.</li>
-          <li>Removed the following symbols, introduced in GCC 4.6 {@code libgcc.a}, from
-          the X86 platform {@code libc.so} library: {@code __aeabi_idiv0}, {@code __aeabi_ldiv0},
-          {@code __aeabi_unwind_cpp_pr1}, and {@code __aeabi_unwind_cpp_pr2}.</li>
-          <li>Removed unused {@code .ctors}, {@code .dtors}, and {@code .eh_frame} in MIPS
-          {@code crt*_so.S}.</li>
-          <li>Updated {@code ndk-gdb} so that it only takes the last line of output for
-          {@code ndk-build} {@code DUMP_XXXX}. This change ensures that if {@code Application.mk} or
-          {@code Android.mk} print something with {@code $(info ...)} syntax, it does not get
-          injected into the result of {@code DUMP_XXXX}.
-          (<a href="https://groups.google.com/d/msg/android-ndk/-/ew0lTWGr1UEJ">More info</a>)</li>
-        </ul>
-      </dd>
-    </dl>
-
-    <dl>
-      <dt>Other changes:</dt>
-
-      <dd>
-        <ul>
-          <li>Removed {@code arch-x86} and {@code arch-mips} headers from
-          {@code platforms/android-[3,4,5,8]}. Those headers were incomplete, since both X86 and
-          MIPS ABIs are only supported at API 9 or higher.</li>
-          <li>Simplified c++ include path in standalone packages, as shown below.
-          (<a href="http://b.android.com/35279">Issue 35279</a>)
-<pre>
-&lt;path&gt;/arm-linux-androideabi/include/c++/4.6.x-google
-  to:
-&lt;path&gt;/include/c++/4.6/
-</pre></li>
-          <li>Fixed {@code ndk-build} to recognize more C++ file extensions by default:
-          {@code .cc .cp .cxx .cpp .CPP .c++ .C}. You may still use {@code LOCAL_CPP_EXTENSION} to
-          overwrite these extension settings.</li>
-          <li>Fixed an issue in {@code samples/san-angeles} that caused a black screen or freeze
-          frame on re-launch.</li>
-          <li>Replaced deprecated APIs in NDK samples.
-          (<a href="http://b.android.com/20017">Issue 20017</a>)
-            <ul>
-              <li>{@code hello-gl2} from android-5 to android-7</li>
-              <li>{@code native-activity} from android-9 to android-10</li>
-              <li>{@code native-audio} from android-9 to android-10</li>
-              <li>{@code native-plasma} from android-9 to android-10</li>
-            </ul>
-          </li>
-          <li>Added new branding for Android executables with a simpler scheme in section
-          {@code .note.android.ident} (defined in {@code crtbegin_static/dynamic.o}) so that
-          debugging tools can act accordingly. The structure member and values are defined as
-          follows:
-<pre>
-static const struct {
-  int32_t namesz;  /* = 8,  sizeof ("Android") */
-  int32_t descsz;  /* = 1 * sizeof(int32_t) */
-  int32_t type;    /* = 1, ABI_NOTETYPE */
-  char name[sizeof "Android"];  /* = "Android" */
-  int32_t android_api; /* = 3, 4, 5, 8, 9, 14 */
-}
-</pre>
-            <p>The previous branding options in section {@code .note.ABI-tag} are deprecated.</p>
-          </li>
-          <li>Added a new script {@code run-tests-all.sh} which calls {@code run-tests.sh} and
-          {@code standalone/run.sh} with various conditions. The script {@code run-tests.sh} runs
-          without the {@code --abi} option, and is enhanced to compile most of the tests for all
-          supported ABIs and run on all attached devices</li>
-        </ul>
-      </dd>
-    </dl>
-
-  </div>
-</div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 8b</a> <em>(July 2012)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <p>The main features of this release are a new GNU Compiler Collection (GCC) 4.6 toolchain and
-GNU Debugger (GDB) 7.3.x which adds debugging support for the Android 4.1 (API Level 16) system
-image.</p>
-
-    <dl>
-      <dt>Important bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Fixed {@code LOCAL_SHORT_COMMANDS} issues on Mac OS, Windows Cygwin environments for
-static libraries. List file generation is faster, and it is not regenerated to avoid repeated
-project rebuilds.</li>
-          <li>Fixed several issues in {@code ndk-gdb}:
-            <ul>
-              <li>Updated tool to pass flags {@code -e}, {@code -d} and {@code -s} to adb more
-consistently.</li>
-              <li>Updated tool to accept device serial names containing spaces.</li>
-              <li>Updated tool to retrieve {@code /system/bin/link} information, so {@code gdb} on
-the host can set a breakpoint in {@code __dl_rtld_db_dlactivity} and be aware of linker activity
-(e.g., rescan {@code solib} symbols when {@code dlopen()} is called).</li>
-            </ul>
-          </li>
-          <li>Fixed {@code ndk-build clean} on Windows, which was failing to remove
-{@code ./libs/*/lib*.so}.</li>
-          <li>Fixed {@code ndk-build.cmd} to return a non-zero {@code ERRORLEVEL} when {@code make}
-fails.</li>
-          <li>Fixed {@code libc.so} to stop incorrectly exporting the {@code __exidx_start} and
-{@code __exidx_end} symbols.</li>
-          <li>Fixed {@code SEGV} when unwinding the stack past {@code __libc_init} for ARM and
-MIPS.</li>
-        </ul>
-      </dd>
-    </dl>
-
-    <dl>
-      <dt>Important changes:</dt>
-
-      <dd>
-        <ul>
-          <li>Added GCC 4.6 toolchain ({@code binutils} 2.21 with {@code gold} and GDB 7.3.x) to
-co-exist with the original GCC 4.4.3 toolchain ({@code binutils} 2.19 and GDB 6.6).
-            <ul>
-              <li>GCC 4.6 is now the default toolchain. You may set {@code
-NDK_TOOLCHAIN_VERSION=4.4.3} in {@code Application.mk} to select the original one.</li>
-              <li>Support for the {@code gold} linker is only available for ARM and x86
-architectures on Linux and Mac OS hosts. This support is disabled by default. Add {@code
-LOCAL_LDLIBS += -fuse-ld=gold} in {@code Android.mk} to enable it.</li>
-              <li>Programs compiled with {@code -fPIE} require the new {@code GDB} for debugging,
-including binaries in Android 4.1 (API Level 16) system images.</li>
-              <li>The {@code binutils} 2.21 {@code ld} tool contains back-ported fixes from
-version 2.22:
-                <ul>
-                  <li>Fixed {@code ld --gc-sections}, which incorrectly retains zombie references to
-external libraries. (<a href="http://sourceware.org/bugzilla/show_bug.cgi?id=13177">more
-info</a>).</li>
-                  <li>Fixed ARM {@code strip} command to preserve the original {@code p_align} and
-{@code p_flags} in {@code GNU_RELRO} section if they are valid. Without this fix, programs
-built with {@code -fPIE} could not be debugged. (<a
-href="http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf.c.diff?cvsroot=src&r1=1.552&r2=1.553">mor
-e info</a>)</li>
-                </ul>
-              </li>
-              <li>Disabled {@code sincos()} optimization for compatibility with older
-                platforms.</li>
-            </ul>
-          </li>
-
-          <li>Updated build options to enable the Never eXecute (NX) bit and {@code relro}/{@code
-bind_now} protections by default:
-            <ul>
-              <li>Added {@code --noexecstack} to assembler and {@code -z noexecstack} to linker
-that provides NX protection against buffer overflow attacks by enabling NX bit on stack and
-heap.</li>
-              <li>Added {@code -z relro} and  {@code -z now} to linker for hardening of internal
-data sections after linking to guard against security vulnerabilities caused by memory corruption.
-(more info: <a href="http://www.akkadia.org/drepper/nonselsec.pdf">1</a>,
-<a href="http://tk-blog.blogspot.com/2009/02/relro-not-so-well-known-memory.html">2</a>)</li>
-
-              <li>These features can be disabled using the following options:
-                <ol>
-                  <li>Disable NX protection by setting the {@code --execstack} option for the
-assembler and {@code -z execstack} for the linker.</li>
-                  <li>Disable hardening of internal data by setting the {@code -z norelro} and
-{@code -z lazy} options for the linker.</li>
-                  <li>Disable these protections in the NDK {@code jni/Android.mk} by setting the
-following options:
-<pre>
-LOCAL_DISABLE_NO_EXECUTE=true  # disable "--noexecstack" and "-z noexecstack"
-DISABLE_RELRO=true             # disable "-z relro" and "-z now"
-</pre>
-                  </li>
-                </ol>
-                <p>See {@code docs/ANDROID-MK.html} for more details.</p>
-              </li>
-            </ul>
-          </li>
-
-          <li>Added branding for Android executables with the {@code .note.ABI-tag} section (in
-{@code crtbegin_static/dynamic.o}) so that debugging tools can act accordingly. The structure
-member and values are defined as follows:
-<pre>
-static const struct {
-  int32_t namesz;  /* = 4,  sizeof ("GNU") */
-  int32_t descsz;  /* = 6 * sizeof(int32_t) */
-  int32_t type;    /* = 1 */
-  char  name[sizeof "GNU"];  /* = "GNU" */
-  int32_t os;      /* = 0 */
-  int32_t major;   /* = 2 */
-  int32_t minor;   /* = 6 */
-  int32_t teeny;   /* = 15 */
-  int32_t os_variant;  /* = 1 */
-  int32_t android_api; /* = 3, 4, 5, 8, 9, 14 */
-}</pre>
-          </li>
-        </ul>
-      </dd>
-    </dl>
-
-    <dl>
-      <dt>Other bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Fixed {@code mips-linux-gnu} relocation truncated to fit {@code R_MIPS_TLS_LDM} issue.
-            (<a href="http://sourceware.org/bugzilla/show_bug.cgi?id=12637">more info</a>)</li>
-          <li>Fixed {@code ld} tool segfaults when using {@code --gc-sections}.
-            (<a href="http://sourceware.org/bugzilla/show_bug.cgi?id=12845">more info</a>)
-          </li>
-          <li>Fixed MIPS {@code GOT_PAGE} counting issue.
-            (<a href="http://sourceware.org/ml/binutils/2011-05/msg00198.html">more info</a>)</li>
-          <li>Fixed follow warning symbol link for {@code mips_elf_count_got_symbols}.</li>
-          <li>Fixed follow warning symbol link for {@code mips_elf_allocate_lazy_stub}.</li>
-          <li>Moved MIPS {@code .dynamic} to the data segment, so that it is writable.</li>
-          <li>Replaced hard-coded values for symbols with correct segment sizes for MIPS.</li>
-          <li>Removed the {@code -mno-shared} option from the defaults in the MIPS toolchain.
-The default for Android toolchain is {@code -fPIC} (or {@code -fpic} if supported). If you do not
-explicitly specify {@code -mshared}, {@code -fpic}, {@code -fPIC}, {@code -fpie}, or {@code -fPIE},
-the MIPS compiler adds {@code -mno-shared} that turns off PIC. Fixed compiler not to add
-{@code -mno-shared} in this case.</li>
-          <li>Fixed wrong package names in samples {@code hello-jni} and {@code two-libs} so that
-the {@code tests} project underneath it can compile.</li>
-        </ul>
-      </dd>
-    </dl>
-
-    <dl>
-      <dt>Other Changes:</dt>
-
-      <dd>
-        <ul>
-          <li>Changed locations of binaries:
-            <ul>
-              <li>Moved {@code gdbserver} from
-{@code toolchain/<arch-os-ver>/prebuilt/gdbserver} to
-{@code prebuilt/android-<arch>/gdbserver/gdbserver}.</li>
-              <li>Renamed x86 toolchain prefix from {@code i686-android-linux-} to
-{@code i686-linux-android-}.</li>
-              <li>Moved {@code sources/cxx-stl/gnu-libstdc++/include} and {@code lib} to
-{@code sources/cxx-stl/gnu-libstdc++/4.6} when compiled with GCC 4.6, or
-{@code sources/cxx-stl/gnu-libstdc++/4.4.3} when compiled with GCC 4.4.3.</li>
-              <li>Moved {@code libbfd.a} and {@code libintl.a} from {@code lib/} to {@code
-lib32/}.</li>
-            </ul>
-          </li>
-
-          <li>Added and improved various scripts in the rebuild and test NDK toolchain:
-            <ul>
-              <li>Added {@code build-mingw64-toolchain.sh} to generate a new Linux-hosted toolchain
-that generates Win32 and Win64 executables.</li>
-              <li>Improved speed of {@code download-toolchain-sources.sh} by using the {@code
-clone} command and only using {@code checkout} for the directories that are needed to build the NDK
-toolchain binaries.</li>
-              <li>Added {@code build-host-gcc.sh} and {@code build-host-gdb.sh} scripts.</li>
-              <li>Added {@code tests/check-release.sh} to check the content of a given NDK
-installation directory, or an existing NDK package.</li>
-              <li>Rewrote the {@code tests/standalone/run.sh} standalone tests .</li>
-            </ul>
-          </li>
-          <li>Removed {@code if_dl.h} header from all platforms and architectures. The {@code
-AF_LINK} and {@code sockaddr_dl} elements it describes are specific to BSD (i.e., they don't exist
-in Linux).</li>
-        </ul>
-      </dd>
-    </dl>
-
-  </div>
-</div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 8</a> <em>(May 2012)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <p>This release of the NDK includes support for MIPS ABI and a few additional fixes.</p>
-
-    <dl>
-      <dt>New features:</dt>
-
-      <dd>
-        <ul>
-          <li>Added support for the MIPS ABI, which allows you to generate machine code that runs on
-            compatible MIPS-based Android devices. Major features for MIPS include MIPS-specific
-            toolchains, system headers, libraries and debugging support. For more details regarding
-            MIPS support, see {@code docs/CPU-MIPS.html} in the NDK package.
-
-              <p>By default, code is generated for ARM-based devices. You can add {@code mips} to
-              your {@code APP_ABI} definition in your {@code Application.mk} file to build
-              for MIPS platforms. For example, the following line instructs {@code ndk-build}
-              to build your code for three distinct ABIs:</p>
-
-              <pre>APP_ABI := armeabi armeabi-v7a <strong>mips</strong></pre>
-
-              <p>Unless you rely on architecture-specific assembly sources, such as ARM assembly
-              code, you should not need to touch your {@code Android.mk} files to build MIPS
-              machine code.</p>
-          </li>
-
-          <li>You can build a standalone MIPS toolchain using the {@code --arch=mips}
-          option when calling <code>make-standalone-toolchain.sh</code>. See
-          {@code docs/STANDALONE-TOOLCHAIN.html} for more details.
-          </li>
-        </ul>
-
-        <p class="note"><strong>Note:</strong> To ensure that your applications are available
-to users only if their devices are capable of running them, Google Play filters applications based
-on the instruction set information included in your application ? no action is needed on your part
-to enable the filtering. Additionally, the Android system itself also checks your application at
-install time and allows the installation to continue only if the application provides a library that
-is compiled for the device's CPU architecture.</p>
-      </dd>
-
-      <dt>Important bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Fixed a typo in GAbi++ implementation where the result of {@code
-          dynamic_cast<D>(b)} of base class object {@code b} to derived class {@code D} is
-          incorrectly adjusted in the opposite direction from the base class.
-          (<a href="http://b.android.com/28721">Issue 28721</a>)
-          </li>
-          <li>Fixed an issue in which {@code make-standalone-toolchain.sh} fails to copy
-          {@code libsupc++.*}.</li>
-        </ul>
-      </dd>
-
-      <dt>Other bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Fixed {@code ndk-build.cmd} to ensure that {@code ndk-build.cmd} works correctly even
-          if the user has redefined the {@code SHELL} environment variable, which may be changed
-          when installing a variety of development tools in Windows environments.
-          </li>
-        </ul>
-      </dd>
-    </dl>
-  </div>
-</div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 7c</a> <em>(April 2012)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <p>This release of the NDK includes an important fix for Tegra2-based devices, and a few
-additional fixes and improvements:</p>
-
-    <dl>
-      <dt>Important bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Fixed GNU STL armeabi-v7a binaries to not crash on non-NEON
-  devices. The files provided with NDK r7b were not configured properly,
-  resulting in crashes on Tegra2-based devices and others when trying to use
-  certain floating-point functions (e.g., {@code cosf}, {@code sinf}, {@code expf}).</li>
-        </ul>
-      </dd>
-
-      <dt>Important changes:</dt>
-
-      <dd>
-        <ul>
-          <li>Added support for custom output directories through the {@code NDK_OUT}
-  environment variable. When defined, this variable is used to store all
-  intermediate generated files, instead of {@code $PROJECT_PATH/obj}. The variable is
-  also recognized by {@code ndk-gdb}. </li>
-          <li>Added support for building modules with hundreds or even thousands of source
-  files by defining {@code LOCAL_SHORT_COMMANDS} to {@code true} in your {@code Android.mk}.
-            <p>This change forces the NDK build system to put most linker or archiver options
-  into list files, as a work-around for command-line length limitations.
-  See {@code docs/ANDROID-MK.html} for details.</p>
-          </li>
-        </ul>
-      </dd>
-
-      <dt>Other bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Fixed {@code android_getCpuCount()} implementation in the {@code cpufeatures}
-helper library. On certain devices, where cores are enabled dynamically by the system, the previous
-implementation would report the total number of <em>active</em> cores the first time the function
-was called, rather than the total number of <em>physically available</em> cores.</li>
-        </ul>
-      </dd>
-    </dl>
-  </div>
-</div>
-
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 7b</a> <em>(February 2012)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <p>This release of the NDK includes fixes for native Windows builds, Cygwin and many other
-      improvements:</p>
-
-    <dl>
-      <dt>Important bug fixes:</dt>
-
-      <dd>
-        <ul>
-          <li>Updated {@code sys/atomics.h} to avoid correctness issues
-            on some multi-core ARM-based devices. Rebuild your unmodified sources with this
-            version of the NDK and this problem should be completely eliminated.
-            For more details, read {@code docs/ANDROID-ATOMICS.html}.</li>
-          <li>Reverted to {@code binutils} 2.19 to fix debugging issues that
-            appeared in NDK r7 (which switched to {@code binutils} 2.20.1).</li>
-          <li>Fixed {@code ndk-build} on 32-bit Linux. A packaging error put a 64-bit version
-            of the {@code awk} executable under {@code prebuilt/linux-x86/bin} in NDK r7.</li>
-          <li>Fixed native Windows build ({@code ndk-build.cmd}). Other build modes were not
-            affected. The fixes include:
-            <ul>
-              <li>Removed an infinite loop / stack overflow bug that happened when trying
-                to call {@code ndk-build.cmd} from a directory that was <em>not</em> the top of
-                your project path (e.g., in any sub-directory of it).</li>
-              <li>Fixed a problem where the auto-generated dependency files were ignored. This
-                meant that updating a header didn't trigger recompilation of sources that included
-                it.</li>
-              <li>Fixed a problem where special characters in files or paths, other than spaces and
-                quotes, were not correctly handled.</li>
-            </ul>
-          </li>
-          <li>Fixed the standalone toolchain to generate proper binaries when using
-            {@code -lstdc++} (i.e., linking against the GNU {@code libstdc++} C++ runtime). You
-            should use {@code -lgnustl_shared} if you want to link against the shared library
-            version or {@code -lstdc++} for the static version.
-
-            <p>See {@code docs/STANDALONE-TOOLCHAIN.html} for more details about this fix.</p>
-          </li>
-          <li>Fixed {@code gnustl_shared} on Cygwin. The linker complained that it couldn't find
-            {@code libsupc++.a} even though the file was at the right location.</li>
-          <li>Fixed Cygwin C++ link when not using any specific C++ runtime through
-            {@code APP_STL}.</li>
-        </ul>
-      </dd>
-    </dl>
-
-    <dl>
-      <dt>Other changes:</dt>
-
-      <dd>
-        <ul>
-          <li>When your application uses the GNU {@code libstdc++} runtime, the compiler will
-            no longer forcibly enable exceptions and RTTI. This change results in smaller code.
-            <p>If you need these features, you must do one of the following:</p>
-            <ul>
-              <li>Enable exceptions and/or RTTI explicitly in your modules or
-                {@code Application.mk}. (recommended)</li>
-              <li>Define {@code APP_GNUSTL_FORCE_CPP_FEATURES} to {@code 'exceptions'},
-                {@code 'rtti'} or both in your {@code Application.mk}. See
-                {@code docs/APPLICATION-MK.html} for more details.</li>
-            </ul>
-          </li>
-          <li>{@code ndk-gdb} now works properly when your application has private services
-            running in independent processes. It debugs the main application process, instead of the
-            first process listed by {@code ps}, which is usually a service process.</li>
-          <li>Fixed a rare bug where NDK r7 would fail to honor the {@code LOCAL_ARM_MODE} value
-            and always compile certain source files (but not all) to 32-bit instructions.</li>
-          <li>{@code STLport}: Refresh the sources to match the Android platform version. This
-            update fixes a few minor bugs:
-            <ul>
-               <li>Fixed instantiation of an incomplete type</li>
-               <li>Fixed minor "==" versus "=" typo</li>
-               <li>Used {@code memmove} instead of {@code memcpy} in {@code string::assign}</li>
-               <li>Added better handling of {@code IsNANorINF}, {@code IsINF}, {@code IsNegNAN},
-                 etc.</li>
-             </ul>
-             <p>For complete details, see the commit log.</p>
-          </li>
-          <li>{@code STLport}: Removed 5 unnecessary static initializers from the library.</li>
-          <li>The GNU libstdc++ libraries for armeabi-v7a were mistakenly compiled for
-            armeabi instead. This change had no impact on correctness, but using the right
-            ABI should provide slightly better performance.</li>
-          <li>The {@code cpu-features} helper library was updated to report three optional
-            x86 CPU features ({@code SSSE3}, {@code MOVBE} and {@code POPCNT}). See
-            {@code docs/CPU-FEATURES.html} for more details.</li>
-          <li>{@code docs/NDK-BUILD.html} was updated to mention {@code NDK_APPLICATION_MK} instead
-            of {@code NDK_APP_APPLICATION_MK} to select a custom {@code Application.mk} file.</li>
-          <li>Cygwin: {@code ndk-build} no longer creates an empty "NUL" file in the current
-            directory when invoked.</li>
-          <li>Cygwin: Added better automatic dependency detection. In the previous version, it
-            didn't work properly in the following cases:
-            <ul>
-              <li>When the Cygwin drive prefix was not {@code /cygdrive}.</li>
-              <li>When using drive-less mounts, for example, when Cygwin would translate
-                {@code /home} to {@code \\server\subdir} instead of {@code C:\Some\Dir}.</li>
-            </ul>
-          </li>
-          <li>Cygwin: {@code ndk-build} does not try to use the native Windows tools under
-            {@code $NDK/prebuilt/windows/bin} with certain versions of Cygwin and/or GNU Make.</li>
-        </ul>
-      </dd>
-    </dl>
-  </div>
-</div>
-
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 7</a> <em>(November 2011)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <p>This release of the NDK includes new features to support the Android 4.0 platform as well
-    as many other additions and improvements:</p>
-
-    <dl>
-      <dt>New features</dt>
-
-      <dd>
-        <ul>
-          <li>Added official NDK APIs for Android 4.0 (API level 14), which adds the following
-          native features to the platform:
-
-            <ul>
-              <li>Added native multimedia API based on the Khronos Group OpenMAX AL? 1.0.1
-              standard. The new <code>&lt;OMXAL/OpenMAXAL.h&gt;</code> and
-              <code>&lt;OMXAL/OpenMAXAL_Android.h&gt;</code> headers allow applications targeting
-              API level 14 to perform multimedia output directly from native code by using a new
-              Android-specific buffer queue interface. For more details, see
-              <code>docs/openmaxal/index.html</code> and <a href=
-              "http://www.khronos.org/openmax/">http://www.khronos.org/openmax/</a>.</li>
-
-              <li>Updated the native audio API based on the Khronos Group OpenSL ES 1.0.1?
-              standard. With API Level 14, you can now decode compressed audio (e.g. MP3, AAC,
-              Vorbis) to PCM. For more details, see <code>docs/opensles/index.html</code> and
-              <a href=
-              "http://www.khronos.org/opensles">http://www.khronos.org/opensles/</a>.</li>
-            </ul>
-          </li>
-
-          <li>Added CCache support. To speed up large rebuilds, define the
-          <code>NDK_CCACHE</code> environment variable to <code>ccache</code> (or the path to
-          your <code>ccache</code> binary). When declared, the NDK build system automatically
-          uses CCache when compiling any source file. For example:
-            <pre>
-export NDK_CCACHE=ccache
-</pre>
-          <p class="note"><strong>Note:</strong> CCache is not included in the NDK release
-          so you must have it installed prior to using it. For more information about CCache, see
-          <a href="http://ccache.samba.org">http://ccache.samba.org</a>.</p>
-          </li>
-
-          <li>Added support for setting <code>APP_ABI</code> to <code>all</code> to indicate that
-          you want to build your NDK modules for all the ABIs supported by your given NDK
-          release. This means that either one of the following two lines in your
-          <code>Application.mk</code> are equivalent with this release:
-            <pre>
-APP_ABI := all
-APP_ABI := armeabi armeabi-v7a x86
-</pre>
-
-            <p>This also works if you define <code>APP_ABI</code> when calling
-            <code>ndk-build</code> from the command-line, which is a quick way to check that your
-            project builds for all supported ABIs without changing the project's
-            <code>Application.mk file</code>. For example:</p>
-            <pre>
-ndk-build APP_ABI=all
-</pre>
-          </li>
-
-          <li>Added a <code>LOCAL_CPP_FEATURES</code> variable in <code>Android.mk</code> that
-          allows you to declare which C++ features (RTTI or Exceptions) your module uses. This
-          ensures that the final linking works correctly if you have prebuilt modules that depend
-          on these features. See <code>docs/ANDROID-MK.html</code> and
-          <code>docs/CPLUSPLUS-SUPPORT.html</code> for more details.</li>
-
-          <li>Shortened paths to source and object files that are used in build commands. When
-          invoking <code>$NDK/ndk-build</code> from your project path, the paths to the source,
-          object, and binary files that are passed to the build commands are significantly
-          shorter now, because they are passed relative to the current directory. This is useful
-          when building projects with a lot of source files, to avoid limits on the maximum
-          command line length supported by your host operating system. The behavior is unchanged
-          if you invoke <code>ndk-build</code> from a sub-directory of your project tree, or if
-          you define <code>NDK_PROJECT_PATH</code> to point to a specific directory.</li>
-        </ul>
-      </dd>
-
-      <dt>Experimental features</dt>
-
-      <dd>
-        You can now build your NDK source files on Windows <em>without</em> Cygwin by calling the
-        <code>ndk-build.cmd</code> script from the command line from your project path. The
-        script takes exactly the same arguments as the original <code>ndk-build</code> script.
-        The Windows NDK package comes with its own prebuilt binaries for GNU Make, Awk and other
-        tools required by the build. You should not need to install anything else to get a
-        working build system.
-
-        <p class="caution"><strong>Important:</strong> <code>ndk-gdb</code> does not work on
-        Windows, so you still need Cygwin to debug.</p>
-
-        <p>This feature is still experimental, so feel free to try it and report issues on the
-        <a href="http://b.android.com">public bug database</a> or <a href=
-        "http://groups.google.com/group/android-ndk">public forum</a>. All samples and unit tests
-        shipped with the NDK succesfully compile with this feature.</p>
-      </dd>
-
-      <dt>Important bug fixes</dt>
-
-      <dd>
-        <ul>
-          <li>Imported shared libraries are now installed by default to the target installation
-          location (<code>libs/&lt;abi&gt;</code>) if <code>APP_MODULES</code> is not defined in
-          your <code>Application.mk</code>. For example, if a top-level module <code>foo</code>
-          imports a module <code>bar</code>, then both <code>libfoo.so</code> and
-          <code>libbar.so</code> are copied to the install location. Previously, only
-          <code>libfoo.so</code> was copied, unless you listed <code>bar</code> in your
-          <code>APP_MODULES</code> too. If you define <code>APP_MODULES</code> explicitly, the
-          behavior is unchanged.</li>
-
-          <li><code>ndk-gdb</code> now works correctly for activities with multiple categories in
-          their MAIN intent filters.</li>
-
-          <li>Static library imports are now properly transitive. For example, if a top-level
-          module <code>foo</code> imports static library <code>bar</code> that imports static
-          library <code>zoo</code>, the <code>libfoo.so</code> will now be linked against both
-          <code>libbar.a</code> and <code>libzoo.a</code>.</li>
-        </ul>
-      </dd>
-
-      <dt>Other changes</dt>
-
-      <dd>
-        <ul>
-          <li><code>docs/NATIVE-ACTIVITY.HTML</code>: Fixed typo. The minimum API level should be
-          9, not 8 for native activities.</li>
-
-          <li><code>docs/STABLE-APIS.html</code>: Added missing documentation listing EGL as a
-          supported stable API, starting from API level 9.</li>
-
-          <li><code>download-toolchain-sources.sh</code>: Updated to download the toolchain
-          sources from <a href="http://android.googlesource.com">android.googlesource.com</a>,
-          which is the new location for the AOSP servers.</li>
-
-          <li>Added a new C++ support runtime named <code>gabi++</code>. More details about it
-          are available in the updated <code>docs/CPLUSPLUS-SUPPORT.html</code>.</li>
-
-          <li>Added a new C++ support runtime named <code>gnustl_shared</code> that corresponds
-          to the shared library version of GNU libstdc++ v3 (GPLv3 license). See more info at
-          <code>docs/CPLUSPLUS-SUPPORT.html</code></li>
-
-          <li>Added support for RTTI in the STLport C++ runtimes (no support for
-          exceptions).</li>
-
-          <li>Added support for multiple file extensions in <code>LOCAL_CPP_EXTENSION</code>. For
-          example, to compile both <code>foo.cpp</code> and <code>bar.cxx</code> as C++ sources,
-          declare the following:
-            <pre>
-LOCAL_CPP_EXTENSION := .cpp .cxx
-</pre>
-          </li>
-
-          <li>Removed many unwanted exported symbols from the link-time shared system libraries
-          provided by the NDK. This ensures that code generated with the standalone toolchain
-          doesn't risk to accidentally depend on a non-stable ABI symbol (e.g. any libgcc.a
-          symbol that changes each time the toolchain used to build the platform is changed)</li>
-
-          <li>Refreshed the EGL and OpenGLES Khronos headers to support more extensions. Note
-          that this does <em>not</em> change the NDK ABIs for the corresponding libraries,
-          because each extension must be probed at runtime by the client application.
-
-            <p>The extensions that are available depend on your actual device and GPU drivers,
-            not the platform version the device runs on. The header changes simply add new
-            constants and types to make it easier to use the extensions when they have been
-            probed with <code>eglGetProcAddress()</code> or <code>glGetProcAddress()</code>. The
-            following list describes the newly supported extensions:</p>
-
-            <dl>
-              <dt>GLES 1.x</dt>
-
-              <dd>
-                <ul>
-                  <li><code>GL_OES_vertex_array_object</code></li>
-
-                  <li><code>GL_OES_EGL_image_external</code></li>
-
-                  <li><code>GL_APPLE_texture_2D_limited_npot</code></li>
-
-                  <li><code>GL_EXT_blend_minmax</code></li>
-
-                  <li><code>GL_EXT_discard_framebuffer</code></li>
-
-                  <li><code>GL_EXT_multi_draw_arrays</code></li>
-
-                  <li><code>GL_EXT_read_format_bgra</code></li>
-
-                  <li><code>GL_EXT_texture_filter_anisotropic</code></li>
-
-                  <li><code>GL_EXT_texture_format_BGRA8888</code></li>
-
-                  <li><code>GL_EXT_texture_lod_bias</code></li>
-
-                  <li><code>GL_IMG_read_format</code></li>
-
-                  <li><code>GL_IMG_texture_compression_pvrtc</code></li>
-
-                  <li><code>GL_IMG_texture_env_enhanced_fixed_function</code></li>
-
-                  <li><code>GL_IMG_user_clip_plane</code></li>
-
-                  <li><code>GL_IMG_multisampled_render_to_texture</code></li>
-
-                  <li><code>GL_NV_fence</code></li>
-
-                  <li><code>GL_QCOM_driver_control</code></li>
-
-                  <li><code>GL_QCOM_extended_get</code></li>
-
-                  <li><code>GL_QCOM_extended_get2</code></li>
-
-                  <li><code>GL_QCOM_perfmon_global_mode</code></li>
-
-                  <li><code>GL_QCOM_writeonly_rendering</code></li>
-
-                  <li><code>GL_QCOM_tiled_rendering</code></li>
-                </ul>
-              </dd>
-
-              <dt>GLES 2.0</dt>
-
-              <dd>
-                <ul>
-                  <li><code>GL_OES_element_index_uint</code></li>
-
-                  <li><code>GL_OES_get_program_binary</code></li>
-
-                  <li><code>GL_OES_mapbuffer</code></li>
-
-                  <li><code>GL_OES_packed_depth_stencil</code></li>
-
-                  <li><code>GL_OES_texture_3D</code></li>
-
-                  <li><code>GL_OES_texture_float</code></li>
-
-                  <li><code>GL_OES_texture_float_linear</code></li>
-
-                  <li><code>GL_OES_texture_half_float_linear</code></li>
-
-                  <li><code>GL_OES_texture_npot</code></li>
-
-                  <li><code>GL_OES_vertex_array_object</code></li>
-
-                  <li><code>GL_OES_EGL_image_external</code></li>
-
-                  <li><code>GL_AMD_program_binary_Z400</code></li>
-
-                  <li><code>GL_EXT_blend_minmax</code></li>
-
-                  <li><code>GL_EXT_discard_framebuffer</code></li>
-
-                  <li><code>GL_EXT_multi_draw_arrays</code></li>
-
-                  <li><code>GL_EXT_read_format_bgra</code></li>
-
-                  <li><code>GL_EXT_texture_format_BGRA8888</code></li>
-
-                  <li><code>GL_EXT_texture_compression_dxt1</code></li>
-
-                  <li><code>GL_IMG_program_binary</code></li>
-
-                  <li><code>GL_IMG_read_format</code></li>
-
-                  <li><code>GL_IMG_shader_binary</code></li>
-
-                  <li><code>GL_IMG_texture_compression_pvrtc</code></li>
-
-                  <li><code>GL_IMG_multisampled_render_to_texture</code></li>
-
-                  <li><code>GL_NV_coverage_sample</code></li>
-
-                  <li><code>GL_NV_depth_nonlinear</code></li>
-
-                  <li><code>GL_QCOM_extended_get</code></li>
-
-                  <li><code>GL_QCOM_extended_get2</code></li>
-
-                  <li><code>GL_QCOM_writeonly_rendering</code></li>
-
-                  <li><code>GL_QCOM_tiled_rendering</code></li>
-                </ul>
-              </dd>
-
-              <dt>EGL</dt>
-
-              <dd>
-                <ul>
-                  <li><code>EGL_ANDROID_recordable</code></li>
-
-                  <li><code>EGL_NV_system_time</code></li>
-                </ul>
-              </dd>
-            </dl>
-          </li>
-        </ul>
-      </dd>
-    </dl>
-  </div>
-</div>
-
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 6b</a> <em>(August 2011)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-      <p>This release of the NDK does not include any new features compared to r6. The r6b release
-      addresses the following issues in the r6 release:</p>
-      <dl>
-        <dt>Important bug fixes</dt>
-        <dd>
-          <ul>
-            <li>Fixed the build when <code>APP_ABI="armeabi x86"</code> is used for
-            multi-architecture builds.</li>
-            <li>Fixed the location of prebuilt STLport binaries in the NDK release package.
-            A bug in the packaging script placed them in the wrong location.</li>
-            <li>Fixed <code>atexit()</code> usage in shared libraries with the x86standalone
-            toolchain.</li>
-            <li>Fixed <code>make-standalone-toolchain.sh --arch=x86</code>. It used to fail
-            to copy the proper GNU libstdc++ binaries to the right location.</li>
-            <li>Fixed the standalone toolchain linker warnings about missing the definition and
-            size for the <code>__dso_handle</code> symbol (ARM only).</li>
-            <li>Fixed the inclusion order of <code>$(SYSROOT)/usr/include</code> for x86 builds.
-            See the <a href="http://b.android.com/18540">bug</a> for
-            more information.</li>
-            <li>Fixed the definitions of <code>ptrdiff_t</code> and <code>size_t</code> in
-            x86-specific systems when they are used with the x86 standalone toolchain.</li>
-          </ul>
-        </dd>
-      </dl>
-  </div>
-</div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 6</a> <em>(July 2011)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-      <p>This release of the NDK includes support for the x86 ABI and other minor changes.
-      For detailed information describing the changes in this release, read the
-      <code>CHANGES.HTML</code> document included in the NDK package.
-      </p>
-      <dl>
-        <dt>General notes:</dt>
-        <dd>
-          <ul>
-            <li>Adds support for the x86 ABI, which allows you to generate machine code
-            that runs on compatible x86-based Android devices. Major features for x86
-            include x86-specific toolchains, system headers, libraries and
-            debugging support. For all of the details regarding x86 support,
-            see <code>docs/CPU-X86.html</code> in the NDK package.
-
-              <p>By default, code is generated for ARM-based devices, but you can add x86 to your
-              <code>APP_ABI</code> definition in your <code>Application.mk</code> file to build
-              for x86 platforms. For example, the following line instructs <code>ndk-build</code>
-              to build your code for three distinct ABIs:</p>
-
-              <pre>APP_ABI := armeabi armeabi-v7a x86</pre>
-
-              <p>Unless you rely on ARM-based assembly sources, you shouldn't need to touch
-              your <code>Android.mk</code> files to build x86 machine code.</p>
-
-            </li>
-
-            <li>You can build a standalone x86 toolchain using the
-<code>--toolchain=x86-4.4.3</code>
-            option when calling <code>make-standalone-toolchain.sh</code>. See
-            <code>docs/STANDALONE-TOOLCHAIN.html</code> for more details.
-            </li>
-            <li>The new <code>ndk-stack</code> tool lets you translate stack traces in
-            <code>logcat</code> that are generated by native code. The tool translates
-            instruction addresses into a readable format that contains things such
-            as the function, source file, and line number corresponding to each stack frame.
-            For more information and a usage example, see <code>docs/NDK-STACK.html</code>.
-            </li>
-          </ul>
-        </dd>
-        <dt>Other changes:</dt>
-        <dd><code>arm-eabi-4.4.0</code>, which had been deprecated since NDK r5, has been
-        removed from the NDK distribution.</dd>
-
-      </dl>
-    </div>
-  </div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 5c</a> <em>(June 2011)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-    <p>This release of the NDK does not include any new features compared to r5b. The r5c release
-    addresses the following problems in the r5b release:</p>
-    <dl>
-      <dt>Important bug fixes:</dt>
-      <dd>
-        <ul>
-          <li><code>ndk-build</code>: Fixed a rare bug that appeared when trying to perform parallel
-          builds of debuggable projects.</li>
-
-          <li>Fixed a typo that prevented <code>LOCAL_WHOLE_STATIC_LIBRARIES</code> to work
-          correctly with the new toolchain and added documentation for this in
-          <code>docs/ANDROID-MK.html</code>.</li>
-
-          <li>Fixed a bug where code linked against <code>gnustl_static</code> crashed when run on
-          platform releases older than API level 8 (Android 2.2).</li>
-
-          <li><code>ndk-gdb</code>: Fixed a bug that caused a segmentation fault when debugging
-Android 3.0
-          or newer devices.</li>
-
-          <li><code>&lt;android/input.h&gt;</code>: Two functions that were introduced in API level
-          9 (Android 2.3) were incorrect and are fixed. While this breaks the source API, the
-          binary interface to the system is unchanged. The incorrect functions were missing a
-          <code>history_index</code> parameter, and the correct definitions are shown below:
-<pre>
-float AMotionEvent_getHistoricalRawX(const AInputEvent* motion_event,
-                                           size_t pointer_index,
-                                           size_t history_index);
-
-float AMotionEvent_getHistoricalRawY(const AInputEvent* motion_event,
-                                           size_t pointer_index,
-                                           size_t history_index);
-</pre>
-          </li>
-
-          <li>Updated the C library ARM binary for API level 9 (Android 2.3) to correctly expose at
-          link time new functions that were added in that API level (for example,
-          <code>pthread_rwlock_init</code>).</li>
-
-        </ul>
-      </dd>
-
-      <dt>Minor improvements and fixes:</dt>
-      <dd>
-        <ul>
-          <li>Object files are now always linked in the order they appear in
-          <code>LOCAL_SRC_FILES</code>. This was not the case previously because the files were
-          grouped by source extensions instead.</li>
-
-          <li>When <code>import-module</code> fails, it now prints the list of directories that
-          were searched. This is useful to check that the <code>NDK_MODULE_PATH</code> definition
-          used by the build system is correct.</li>
-
-          <li>When <code>import-module</code> succeeds, it now prints the directory where the
-          module was found to the log (visible with <code>NDK_LOG=1</code>).</li>
-
-          <li>Increased the build speed of debuggable applications when there is a very large number
-          of include directories in the project.</li>
-
-          <li><code>ndk-gdb</code>: Better detection of <code>adb shell</code> failures and improved
-          error messages.</li>
-
-          <li><code>&lt;pthread.h&gt;</code>: Fixed the definition of
-          <code>PTHREAD_RWLOCK_INITIALIZER</code> for API level 9 (Android 2.3) and higher.</li>
-
-          <li>Fixed an issue where a module could import itself, resulting in an infinite loop in
-          GNU Make.</li>
-
-          <li>Fixed a bug that caused the build to fail if <code>LOCAL_ARM_NEON</code> was set to
-          true (typo in <code>build/core/build-binary.mk</code>).</li>
-
-          <li>Fixed a bug that prevented the compilation of <code>.s</code> assembly files
-          (<code>.S</code> files were okay).</li>
-        </ul>
-      </dd>
-    </dl>
-  </div>
-</div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 5b</a> <em>(January 2011)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-      <p>This release of the NDK does not include any new features compared to r5. The r5b release
-addresses the
-      following problems in the r5 release:
-      </p>
-      <ul>
-    <li>The r5 binaries required glibc 2.11, but the r5b binaries are generated with a special
-    toolchain that targets glibc 2.7 or higher instead. The Linux toolchain binaries now run on
-Ubuntu 8.04 or higher. </li>
-    <li>Fixes a compiler bug in the arm-linux-androideabi-4.4.3 toolchain.
-    The previous binary generated invalid thumb instruction sequences when
-    dealing with signed chars.</li>
-    <li>Adds missing documentation for the
-    "gnustl_static" value for APP_STL, that allows you to link against
-    a static library version of GNU libstdc++. </li> the
-    <li>Fixed the following <code>ndk-build</code> issues:
-      <ul>
-        <li>A bug that created inconsistent dependency files when a
-        compilation error occured on Windows. This prevented a proper build after
-        the error was fixed in the source code.</li>
-        <li>A Cygwin-specific bug where using very short paths for
-        the Android NDK installation or the project path led to the
-        generation of invalid dependency files. This made incremental builds
-        impossible.</li>
-        <li>A typo that prevented the cpufeatures library from working correctly
-        with the new NDK toolchain.</li>
-        <li>Builds in Cygwin are faster by avoiding calls to <code>cygpath -m</code>
-        from GNU Make for every source or object file, which caused problems
-        with very large source trees. In case this doesn't work properly, define
-<code>NDK_USE_CYGPATH=1</code> in your
-        environment to use <code>cygpath -m</code> again.</li>
-        <li>The Cygwin installation now notifies the user of invalid installation paths that
-contain spaces. Previously, an invalid path
-        would output an error that complained about an incorrect version of GNU Make, even if the
-right one was installed.
-      </ul>
-    </li>
-  <li>Fixed a typo that prevented the <code>NDK_MODULE_PATH</code> environment variable from
-working properly when
-  it contained multiple directories separated with a colon. </li>
-  <li>The <code>prebuilt-common.sh</code> script contains fixes to check the compiler for 64-bit
-  generated machine code, instead of relying on the host tag, which
-  allows the 32-bit toolchain to rebuild properly on Snow Leopard. The toolchain rebuild scripts
-now also support
-  using a 32-bit host toolchain.</li>
-  <li>A missing declaration for <code>INET_ADDRSTRLEN</code> was added to
-<code>&lt;netinet/in.h&gt;</code>.</li>
-  <li>Missing declarations for <code>IN6_IS_ADDR_MC_NODELOCAL</code> and
-<code>IN6_IS_ADDR_MC_GLOBAL</code> were added to <code>&lt;netinet/in6.h&gt;</code>.</li>
-  <li>'asm' was replaced with '__asm__' in <code>&lt;asm/byteorder.h&gt;</code> to allow
-compilation with <code>-std=c99</code>.</li>
-  </ul>
-  </div>
-  </div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 5</a> <em>(December 2010)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-      <p>This release of the NDK includes many new APIs, most of which are introduced to
-         support the development of games and similar applications that make extensive use
-         of native code. Using the APIs, developers have direct native access to events, audio,
-         graphics and window management, assets, and storage. Developers can also implement the
-         Android application lifecycle in native code with help from the new
-         {@link android.app.NativeActivity} class. For detailed information describing the changes
-in this
-         release, read the <code>CHANGES.HTML</code> document included in the downloaded NDK
-package.
-      </p>
-      <dl>
-        <dt>General notes:</dt>
-        <dd>
-          <ul>
-            <li>Adds support for native activities, which allows you to implement the
-            Android application lifecycle in native code.</li>
-
-            <li>Adds native support for the following:
-
-              <ul>
-
-                <li>Input subsystem (such as the keyboard and touch screen)</li>
-
-                <li>Access to sensor data (accelerometer, compass, gyroscope, etc).</li>
-
-                <li>Event loop APIs to wait for things such as input and sensor events.</li>
-
-                <li>Window and surface subsystem</li>
-
-                <li>Audio APIs based on the OpenSL ES standard that support playback and recording
-                as well as control over platform audio effects</li>
-
-                <li>Access to assets packaged in an <code>.apk</code> file.</li>
-
-              </ul>
-            </li>
-
-            <li>Includes a new toolchain (based on GCC 4.4.3), which generates better code, and can
-also now
-            be used as a standalone cross-compiler, for people who want to build their stuff with
-            <code>./configure &amp;&amp; make</code>. See
-            docs/STANDALONE-TOOLCHAIN.html for the details. The binaries for GCC 4.4.0 are still
-provided,
-            but the 4.2.1 binaries were removed.</li>
-
-            <li>Adds support for prebuilt static and shared libraries (docs/PREBUILTS.html) and
-module
-            exports and imports to make sharing and reuse of third-party modules much easier
-            (docs/IMPORT-MODULE.html explains why).</li>
-
-            <li>Provides a default C++ STL implementation (based on STLport) as a helper module. It
-can be used either
-            as a static or shared library (details and usage examples are in
-sources/android/stlport/README). Prebuilt
-            binaries for STLport (static or shared) and GNU libstdc++ (static only) are also
-provided if you choose to
-            compile against those libraries instead of the default C++ STL implementation.
-            C++ Exceptions and RTTI are not supported in the default STL implementation. For more
-information, see
-            docs/CPLUSPLUS-SUPPORT.HTML.</li>
-
-            <li>Includes improvements to the <code>cpufeatures</code> helper library that improves
-reporting
-            of the CPU type (some devices previously reported ARMv7 CPU when the device really was
-an ARMv6). We
-            recommend developers that use this library to rebuild their applications then
-            upload to Google Play to benefit from the improvements.</li>
-
-            <li>Adds an EGL library that lets you create and manage OpenGL ES textures and
-              services.</li>
-
-            <li>Adds new sample applications, <code>native-plasma</code> and
-<code>native-activity</code>,
-            to demonstrate how to write a native activity.</li>
-
-            <li>Includes many bugfixes and other small improvements; see docs/CHANGES.html for a
-more
-              detailed list of changes.</li>
-          </ul>
-        </dd>
-      </dl>
-    </div>
-  </div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 4b</a> <em>(June 2010)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-      <dl>
-        <dt>NDK r4b notes:</dt>
-
-        <dd>
-          <p>Includes fixes for several issues in the NDK build and debugging scripts &mdash; if
-          you are using NDK r4, we recommend downloading the NDK r4b build. For detailed
-          information describing the changes in this release, read the CHANGES.TXT document
-          included in the downloaded NDK package.</p>
-        </dd>
-      </dl>
-
-      <dl>
-        <dt>General notes:</dt>
-
-        <dd>
-          <ul>
-            <li>Provides a simplified build system through the new <code>ndk-build</code> build
-            command.</li>
-
-            <li>Adds support for easy native debugging of generated machine code on production
-            devices through the new <code>ndk-gdb</code> command.</li>
-
-            <li>Adds a new Android-specific ABI for ARM-based CPU architectures,
-            <code>armeabi-v7a</code>. The new ABI extends the existing <code>armeabi</code> ABI to
-            include these CPU instruction set extensions:
-
-              <ul>
-                <li>Thumb-2 instructions</li>
-
-                <li>VFP hardware FPU instructions (VFPv3-D16)</li>
-
-                <li>Optional support for ARM Advanced SIMD (NEON) GCC intrinsics and VFPv3-D32.
-                Supported by devices such as Verizon Droid by Motorola, Google Nexus One, and
-                others.</li>
-              </ul>
-            </li>
-
-            <li>Adds a new <code>cpufeatures</code> static library (with sources) that lets your
-            app detect the host device's CPU features at runtime. Specifically, applications can
-            check for ARMv7-A support, as well as VFPv3-D32 and NEON support, then provide separate
-            code paths as needed.</li>
-
-            <li>Adds a sample application, <code>hello-neon</code>, that illustrates how to use the
-            <code>cpufeatures</code> library to check CPU features and then provide an optimized
-            code path using NEON instrinsics, if supported by the CPU.</li>
-
-            <li>Lets you generate machine code for either or both of the instruction sets supported
-            by the NDK. For example, you can build for both ARMv5 and ARMv7-A architectures at the
-            same time and have everything stored to your application's final
-            <code>.apk</code>.</li>
-
-            <li>To ensure that your applications are available to users only if their devices are
-            capable of running them, Google Play now filters applications based on the
-            instruction set information included in your application &mdash; no action is needed on
-            your part to enable the filtering. Additionally, the Android system itself also checks
-            your application at install time and allows the installation to continue only if the
-            application provides a library that is compiled for the device's CPU architecture.</li>
-
-            <li>Adds support for Android 2.2, including a new stable API for accessing the pixel
-            buffers of {@link android.graphics.Bitmap} objects from native code.</li>
-          </ul>
-        </dd>
-      </dl>
-    </div>
-  </div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 3</a> <em>(March 2010)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-      <dl>
-        <dt>General notes:</dt>
-
-        <dd>
-          <ul>
-            <li>Adds OpenGL ES 2.0 native library support.</li>
-
-            <li>Adds a sample application,<code>hello-gl2</code>, that illustrates the use of
-            OpenGL ES 2.0 vertex and fragment shaders.</li>
-
-            <li>The toolchain binaries have been refreshed for this release with GCC 4.4.0, which
-            should generate slightly more compact and efficient machine code than the previous one
-            (4.2.1). The NDK also still provides the 4.2.1 binaries, which you can optionally use
-            to build your machine code.</li>
-          </ul>
-        </dd>
-      </dl>
-    </div>
-  </div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 2</a> <em>(September 2009)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-      <p>Originally released as "Android 1.6 NDK, Release 1".</p>
-
-      <dl>
-        <dt>General notes:</dt>
-
-        <dd>
-          <ul>
-            <li>Adds OpenGL ES 1.1 native library support.</li>
-
-            <li>Adds a sample application, <code>san-angeles</code>, that renders 3D graphics
-            through the native OpenGL ES APIs, while managing activity lifecycle with a {@link
-            android.opengl.GLSurfaceView} object.</li>
-          </ul>
-        </dd>
-      </dl>
-    </div>
-  </div>
-
-<div class="toggle-content closed">
-  <p><a href="#" onclick="return toggleContent(this)">
-    <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
-      alt="">Android NDK, Revision 1</a> <em>(June 2009)</em>
-  </p>
-
-  <div class="toggle-content-toggleme">
-      <p>Originally released as "Android 1.5 NDK, Release 1".</p>
-
-      <dl>
-        <dt>General notes:</dt>
-
-        <dd>
-          <ul>
-            <li>Includes compiler support (GCC) for ARMv5TE instructions, including Thumb-1
-            instructions.</li>
-
-            <li>Includes system headers for stable native APIs, documentation, and sample
-            applications.</li>
-          </ul>
-        </dd>
-      </dl>
-    </div>
-  </div>
-
-
-
-
-
-<!-- ####################### END OF RELEASE NOTES ####################### -->
diff --git a/docs/html/ndk/guides/_book.yaml b/docs/html/ndk/guides/_book.yaml
deleted file mode 100644
index c015d7a..0000000
--- a/docs/html/ndk/guides/_book.yaml
+++ /dev/null
@@ -1,84 +0,0 @@
-toc:
-- title: Getting Started
-  path: /ndk/guides/index.html
-  section:
-  - title: Setup
-    path: /ndk/guides/setup.html
-  - title: Concepts
-    path: /ndk/guides/concepts.html
-
-- title: Building
-  path: /ndk/guides/build.html
-  section:
-  - title: Android.mk
-    path: /ndk/guides/android_mk.html
-  - title: Application.mk
-    path: /ndk/guides/application_mk.html
-  - title: ndk-build
-    path: /ndk/guides/ndk-build.html
-  - title: Standalone Toolchain
-    path: /ndk/guides/standalone_toolchain.html
-
-- title: Architectures and CPUs
-  path: /ndk/guides/arch.html
-  section:
-  - title: ABI Management
-    path: /ndk/guides/abis.html
-  - title: NEON
-    path: /ndk/guides/cpu-arm-neon.html
-  - title: x86
-    path: /ndk/guides/x86.html
-  - title: x86-64
-    path: /ndk/guides/x86-64.html
-  - title: MIPS
-    path: /ndk/guides/mips.html
-  - title: The cpufeatures Library
-    path: /ndk/guides/cpu-features.html
-
-- title: Debugging
-  path: /ndk/guides/debug.html
-  section:
-  - title: ndk-gdb
-    path: /ndk/guides/ndk-gdb.html
-  - title: ndk-stack
-    path: /ndk/guides/ndk-stack.html
-
-- title: Libraries
-  path: /ndk/guides/libs.html
-  section:
-  - title: Prebuilt Libraries
-    path: /ndk/guides/prebuilts.html
-  - title: C++ Support
-    path: /ndk/guides/cpp-support.html
-  - title: Stable APIs
-    path: /ndk/guides/stable_apis.html
-
-- title: Audio
-  path: /ndk/guides/audio/index.html
-  section:
-  - title: Basics
-    path: /ndk/guides/audio/basics.html
-  - title: OpenSL ES for Android
-    path: /ndk/guides/audio/opensl-for-android.html
-  - title: Audio Input Latency
-    path: /ndk/guides/audio/input-latency.html
-  - title: Audio Output Latency
-    path: /ndk/guides/audio/output-latency.html
-  - title: Floating-Point Audio
-    path: /ndk/guides/audio/floating-point.html
-  - title: Sample Rates
-    path: /ndk/guides/audio/sample-rates.html
-  - title: OpenSL ES Programming Notes
-    path: /ndk/guides/audio/opensl-prog-notes.html
-
-- title: Vulkan
-  path: /ndk/guides/graphics/index.html
-  section:
-  - title: Getting Started
-    path: /ndk/guides/graphics/getting-started.html
-  - title: Design Guidelines
-    path: /ndk/guides/graphics/design-notes.html
-  - title: Shader Compilers
-    path: /ndk/guides/graphics/shader-compilers.html
-  - title: Validation Layers
-    path: /ndk/guides/graphics/validation-layer.html
diff --git a/docs/html/ndk/guides/abis.jd b/docs/html/ndk/guides/abis.jd
deleted file mode 100644
index 306cfdb..0000000
--- a/docs/html/ndk/guides/abis.jd
+++ /dev/null
@@ -1,469 +0,0 @@
-page.title=ABI Management
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#sa">Supported ABIs</a></li>
-        <li><a href="#gc">Generating Code for a Specific ABI</a></li>
-        <li><a href="#am">ABI Management on the Android Platform</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>Different Android handsets use different CPUs, which in turn support different instruction sets.
-Each combination of CPU and instruction sets has its own Application Binary Interface, or
-<i>ABI</i>. The ABI defines, with great precision, how an application's machine code is supposed to
-interact with the system at runtime. You must specify an ABI for each CPU architecture you want
-your app to work with.</p>
-
-<p>A typical ABI includes the following information:</p>
-
-<ul>
-<li>The CPU instruction set(s) that the machine code should use.</li>
-<li>The endianness of memory stores and loads at runtime.</li>
-<li>The format of executable binaries, such as programs and shared libraries, and
-the types of content they support.</li>
-<li>Various conventions for passing data between your code and the system.
-These conventions include alignment constraints, as well as how the system uses the stack and
-registers when it calls functions.</li>
-<li>The list of function symbols available to your machine code at runtime,
-generally from very specific sets of libraries.</li>
-</ul>
-
-<p>This page enumerates the ABIs that the NDK supports, and provides information about how each ABI
-works.</p>
-
-<h2 id="sa">Supported ABIs</h2>
-
-<p>Each ABI supports one or more instruction sets. Table 1 provides an at-a-glance overview of
-the instruction sets each ABI supports.</p>
-
-<p class="table-caption" id="abi-table">
-  <strong>Table 1.</strong> ABIs and supported instruction sets.</p>
-
-<table>
-<tr>
-<th>ABI</th>
-<th>Supported Instruction Set(s)</th>
-<th>Notes</th>
-</tr>
-
-<tr>
-<td><a href="#armeabi">{@code armeabi}</a> </td>
-<td><li>ARMV5TE and later</li>
-<li>Thumb-1</li></td>
-<td>No hard float.</td>
-</tr>
-
-<tr>
-<td><a href="#v7a">{@code armeabi-v7a}</a></td>
-<td>
-<li>armeabi</li>
-<li>Thumb-2</li>
-<li>VFPv3-D16</li>
-<li>Other, optional</li></td>
-<td>Incompatible with ARMv5, v6 devices.</td>
-</tr>
-
-<tr>
-<td><a href="#arm64-v8a">{@code arm64-v8a}</a></td>
-<td><li>AArch-64</li></td>
-</tr>
-
-<tr>
-<td>
-<a href="#x86">{@code x86}</a></td>
-<td><li>x86 (IA-32)</li>
-<li>MMX</li>
-<li>SSE/2/3</li>
-<li>SSSE3</li></td>
-<td>No support for MOVBE or SSE4.</td>
-</tr>
-
-<tr>
-<td><a href="#86-64">{@code x86_64}</a> </td>
-<td>
-<li>x86-64</li>
-<li>MMX</li>
-<li>SSE/2/3</li>
-<li>SSSE3</li>
-<li>SSE4.1, 4.2</li>
-<li>POPCNT</li></td>
-</tr>
-
-<tr>
-<td><a href="#mips">{@code mips}</a></td>
-<td><li>MIPS32r1 and later</li></td>
-<td>Uses hard-float, and assumes a CPU:FPU clock ratio of 2:1 for maximum
-compatibility. Provides neither micromips nor MIPS16.</td>
-</tr>
-
-<tr>
-<td><a href="#mips64">{@code mips64}</a></td>
-<td><li>MIPS64r6</li></td><td>
-</td>
-</tr>
-</table>
-
-<p>More detailed information about each ABI appears below.</p>
-
-<h3 id="armeabi">armeabi</h3>
-<p>This ABI is for ARM-based CPUs that support at least
-the ARMv5TE instruction set. Please refer to the following documentation for
-more details:</p>
-
-<ul>
-<li><a href="https://www.scss.tcd.ie/~waldroj/3d1/arm_arm.pdf">ARM Architecture
-Reference Manual</a></li>
-<li><a
-href="http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042e/IHI0042E_aapcs.pdf">
-Procedure Call Standard for the ARM Architecture</a></li>
-<li><a
-href="http://infocenter.arm.com/help/topic/com.arm.doc.dui0101a/DUI0101A_Elf.pdf">
-ARM ELF File Format</a></li>
-<li><a
-href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.subset.swdev.abi/index.html">Application Binary Interface (ABI) for the ARM Architecture</a></li>
-<li><a
-href="http://infocenter.arm.com/help/topic/com.arm.doc.ihi0037c/IHI0037C_bpabi.pdf">
-Base Platform ABI for the ARM Architecture</a></li>
-<li><a
-href="http://infocenter.arm.com/help/topic/com.arm.doc.ihi0039c/IHI0039C_clibabi.pdf">
-C Library ABI for the ARM Architecture</a></li>
-<li><a
-href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0041d/index.html">
-C++ ABI for the ARM Architecture</a></li>
-<li><a
-href="http://infocenter.arm.com/help/topic/com.arm.doc.ihi0043d/IHI0043D_rtabi.pdf">
-Run-time ABI for the ARM Architecture</a></li>
-<li><a href="http://www.sco.com/developers/gabi/2001-04-24/contents.html">ELF
-System V Application Binary Interface</a></li>
-<li><a href="http://mentorembedded.github.com/cxx-abi/abi.html">Generic/Itanium C++
-ABI</a></li>
-</ul>
-
-<p>The AAPCS standard defines EABI as a family of similar
-but distinct ABIs. Also, Android follows the little-endian
-<a href="http://sourcery.mentor.com/sgpp/lite/arm/portal/kbattach142/arm_gnu_linux_ abi.pdf">
-ARM GNU/Linux ABI</a>.</p>
-
-<p>This ABI does not support hardware-assisted floating point
-computations. Instead, all floating-point operations use software helper
-functions from the compiler's {@code libgcc.a} static library.</p>
-
-<p>The armeabi ABI supports ARM’s
-<a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0210c/CACBCAAE.html">
-Thumb (a.k.a. Thumb-1) instruction set</a>. The NDK generates Thumb
-code by default unless you specify different behavior using the
-<code>LOCAL_ARM_MODE</code> variable in your
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a>
-file.</p>
-
-<h3 id="v7a">armeabi-v7a</h3>
-<p>This ABI extends armeabi to include several
-<a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0406c/index.html">
-CPU instruction set extensions</a>. The instruction extensions that this Android-specific
-ABI supports are:</p>
-
-<ul>
-<li>The Thumb-2 instruction set extension, which provides performance comparable to 32-bit ARM
-instructions with similar compactness to Thumb-1.</li>
-<li>The VFP hardware-FPU instructions. More specifically, VFPv3-D16, which
-includes 16 dedicated 64-bit floating point registers, in addition to another
-16 32-bit registers from the ARM core.</li>
-</ul>
-
-<p>Other extensions that the v7-a ARM spec describes, including
-<a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0388f/Beijfcja.html">
-Advanced SIMD</a> (a.k.a. NEON), VFPv3-D32, and ThumbEE, are optional
-to this ABI. Since their presence is not guaranteed, the system should check at runtime
-whether the extensions are available. If they are not, you must use alternative code paths. This
-check is similar to the one that the system typically performs to check or use
-<a href="http://en.wikipedia.org/wiki/MMX_%28instruction_set%29">MMX</a>,
-<a href="http://en.wikipedia.org/wiki/SSE2">SSE2</a>, and other specialized
-instruction sets on x86 CPUs.</p>
-
-<p>For information about how to perform these runtime checks, refer to
-<a href="{@docRoot}ndk/guides/cpu-features.html">The {@code cpufeatures} Library</a>.
-Also, for information about the NDK's support for building
-machine code for NEON, see
-<a href="{@docRoot}ndk/guides/cpu-arm-neon.html">NEON Support</a>.</p>
-
-<p>The {@code armeabi-v7a} ABI uses the {@code -mfloat-abi=softfp} switch to
-enforce the rule that the compiler must pass all double values in core register pairs during
-function calls, instead of dedicated floating-point ones. The system can perform all internal
-computations using the FP registers. Doing so speeds up the computations greatly.</p>
-
-<h3 id="arm64-v8a">arm64-v8a</h3>
-<p>This ABI is for ARMv8-based CPUs that support AArch64. It also includes the NEON and
-VFPv4 instruction sets.</p>
-
-<p>For more information, see the
-<a href="http://www.arm.com/files/downloads/ARMv8_Architecture.pdf">ARMv8
-Technology Preview</a>, and contact ARM for further details.</p>
-
-<h3 id="x86">x86</h3>
-<p>This ABI is for CPUs supporting the instruction set commonly
-referred to as "x86" or "IA-32". Characteristics of this ABI include:</p>
-
-<ul>
-<li>Instructions normally generated by GCC with compiler flags such as the following:
-
-<pre class="no-pretty-print">
--march=i686 -mtune=intel -mssse3 -mfpmath=sse -m32
-</pre>
-
-<p>These flags target the the Pentium Pro instruction set, along with the
-the <a href="http://en.wikipedia.org/wiki/MMX_%28instruction_set%29">MMX</a>,
-<a href="http://en.wikipedia.org/wiki/Streaming_SIMD_Extensions">SSE</a>,
-<a href="http://en.wikipedia.org/wiki/SSE2">SSE2</a>,
-<a href="http://en.wikipedia.org/wiki/SSE3">SSE3</a>, and
-<a href="http://en.wikipedia.org/wiki/SSSE3">SSSE3</a> instruction set extensions.
-The generated code is an optimization balanced across the top Intel 32-bit
-CPUs.</p>
-<p> For more information on compiler flags, particularly related to performance optimization,
-refer to <a href="http://software.intel.com/blogs/2012/09/26/gcc-x86-performance-hints">GCC
-x86 performance hints</a>.</p>
-</li>
-<li>Use of the standard Linux x86 32-bit calling convention, as opposed to the one for SVR. For
-more information, see section 6, "Register Usage", of
-<a href="http://www.agner.org/optimize/calling_conventions.pdf">Calling conventions for different
-C++ compilers and operating systems</a>.</li>
-</ul>
-
-<p>The ABI does not include any other optional IA-32 instruction set
-extensions, such as:</p>
-<ul>
-<li>MOVBE</li>
-<li>Any variant of SSE4.</li>
-</ul>
-<p>You can still use these extensions, as long as you use runtime feature-probing to
-enable them, and provide fallbacks for devices that do not support them.</p>
-<p>The NDK toolchain assumes 16-byte stack alignment before a function call. The default tools and
-options enforce this rule. If you are writing assembly code, you must make sure to maintain stack
-alignment, and ensure that other compilers also obey this rule.</p>
-
-<p>Refer to the following documents for more details:</p>
-<ul>
-<li>
-<a href="https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/i386-and-x86-64-Options.html">
-GCC online documentation: Intel 386 and AMD x86-64 Options</a></li>
-<li><a href="http://www.agner.org/optimize/calling_conventions.pdf">Calling
-conventions for different C++ compilers and operating systems</a></li>
-<li><a
-href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-instruction-set-reference-manual-325383.pdf"
->Intel IA-32 Intel Architecture Software Developer's Manual, Volume 2:
-Instruction Set Reference</a></li>
-<li><a
-href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf">Intel
-IA-32 Intel Architecture Software Developer's Manual, Volume 3: System
-Programming Guide</a></li>
-<li><a href="http://www.sco.com/developers/devspecs/abi386-4.pdf">System V Application Binary
-Interface: Intel386 Processor Architecture Supplement</a></li>
-</ul>
-
-<h3 id="86-64">x86_64</h3>
-<p>This ABI is for CPUs supporting the instruction set commonly referred to as
-"x86-64." It supports instructions that GCC typically generates with the following
-compiler flags:</p>
-<pre class="no-pretty-print">
--march=x86-64 -msse4.2 -mpopcnt -m64 -mtune=intel
-</pre>
-
-<p>These flags target the x86-64 instruction set, according to the GCC
-documentation. along with the
-<a href="http://en.wikipedia.org/wiki/MMX_%28instruction_set%29">MMX</a>,
-<a href="http://en.wikipedia.org/wiki/Streaming_SIMD_Extensions">SSE</a>,
-<a href="http://en.wikipedia.org/wiki/SSE2">SSE2</a>,
-<a href="http://en.wikipedia.org/wiki/SSE3">SSE3</a>,
-<a href="http://en.wikipedia.org/wiki/SSSE3">SSSE3</a>,
-<a href="http://en.wikipedia.org/wiki/SSE4#SSE4.1">SSE4.1</a>,
-<a href="http://en.wikipedia.org/wiki/SSE4#SSE4.2">SSE4.2</a>, and
-<a href="https://software.intel.com/en-us/node/512035">POPCNT</a>
-instruction-set extensions. The generated code is an optimization balanced
-across the top Intel 64-bit CPUs.</p>
-
-<p> For more information on compiler flags, particularly related to performance optimization,
-refer to <a href="http://software.intel.com/blogs/2012/09/26/gcc-x86-performance-hints">GCC
-x86 Performance</a>.</p>
-
-<p>This ABI does not include any other optional x86-64 instruction set
-extensions, such as:</p>
-
-<ul>
-<li>MOVBE</li>
-<li>SHA</li>
-<li>AVX</li>
-<li>AVX2</li>
-</ul>
-
-<p>You can still use these extensions, as long as you use runtime feature probing to
-enable them, and provide fallbacks for devices that do not support them.</p>
-<p>Refer to the following documents for more details:</p>
-
-<ul>
-<li><a href="http://www.agner.org/optimize/calling_conventions.pdf">Calling conventions for
-different C++ compilers and operating systems</a></li>
-<li>
-<a href="http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html?iid=tech_vt_tech+64-32_manuals">
-Intel64 and IA-32 Architectures Software Developer's Manual, Volume 2: Instruction Set
-Reference</a></li>
-<li>
-<a href="http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html?iid=tech_vt_tech+64-32_manuals">
-Intel64 and IA-32 Intel Architecture Software Developer's Manual Volume 3: System Programming</a>
-</li>
-</ul>
-
-<h3 id="mips">mips</h3>
-<p>This ABI is for MIPS-based CPUs that support at least the MIPS32r1 instruction set. It includes
-the following features:</p>
-
-<ul>
-<li>MIPS32 revision 1 ISA</li>
-<li>Little-endian</li>
-<li>O32</li>
-<li>Hard-float</li>
-<li>No DSP application-specific extensions</li>
-</ul>
-
-<p>For more information, please refer to the following documentation:</p>
-
-<ul>
-<li>Architecture for Programmers ("MIPSARCH")</li>
-<li><a href="https://refspecs.linuxbase.org/elf/gabi4+/contents.html">ELF
-System V Application Binary Interface</a></li>
-<li><a href="http://sourcery.mentor.com/public/cxx-abi/abi.html">Itanium/Generic C++
-ABI</a></li>
-</ul>
-
-<p>For more specific details, see
-<a href="http://www.imgtec.com/mips/architectures/mips32/">MIPS32 Architecture</a>.
-Answers to common questions are in the
-<a href="https://sourcery.mentor.com/sgpp/lite/mips/portal/target_arch?@action=faq&amp;target_arch=MIPS">MIPS FAQ</a>.
-</p>
-</li>
-</ul>
-
-<h3 id="mips64">mips64</h3>
-<p>This ABI is for MIPS64 R6. For more information, see
-<a href="http://www.imgtec.com/mips/architectures/mips64/">MIPS64 Architecture</a>.</p>
-
-<h2 id="gc">Generating Code for a Specific ABI</h2>
-<p>By default, the NDK generates machine code for the armeabi ABI. You can
-generate ARMv7-a-compatible machine code, instead, by adding the following line
-to your <a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file.</p>
-<pre class="no-pretty-print">
-APP_ABI := armeabi-v7a
-</pre>
-
-<p>To build machine code for two or more distinct ABIs, using spaces as delimiters. For
-example:</p>
-
-<pre class="no-pretty-print">
-APP_ABI := armeabi armeabi-v7a
-</pre>
-
-<p>This setting tells the NDK to build two versions of your machine code: one
-for each ABI listed on this line. For more information on the values you can specify for the
-{@code APP_ABI} variable, see <a href="{@docRoot}ndk/guides/android_mk.html">Android.mk</a>.
-</p>
-
-<p>When you build multiple machine-code versions, the build system copies the libraries to your
-application project path, and ultimately packages them into your APK, so creating
-a <a href="http://en.wikipedia.org/wiki/Fat_binary"><i>fat binary</i></a>. A fat binary
-is larger than one containing only the machine code for a single system; the tradeoff is
-gaining wider compatibility, but at the expense of a larger APK.</p>
-
-<p>At installation time, the package manager unpacks only the most appropriate
-machine code for the target device. For details, see <a href="#aen">Automatic
-extraction of native code at install time</a>.</p>
-
-
-<h2 id="am">ABI Management on the Android Platform</h2>
-<p>This section provides details about how the Android platform manages native
-code in APKs.</p>
-
-<h3>Native code in app packages</h3>
-<p>Both the Play Store and Package Manager expect to find NDK-generated
-libraries on filepaths inside the APK matching the following pattern:</p>
-
-<pre class="no-pretty-print">
-/lib/&lt;abi&gt;/lib&lt;name&gt;.so
-</pre>
-
-<p>Here, {@code <abi>} is one of the ABI names listed under <a href="#sa">Supported ABIs</a>,
-and {@code <name>} is the name of the library as you defined it for the {@code LOCAL_MODULE}
-variable in the <a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> file. Since
-APK files are just zip files, it is trivial to open them and confirm that the shared native
-libraries are where they belong.</p>
-
-<p>If the system does not find the native shared libraries where it expects them, it cannot use
-them. In such a case, the app itself has to copy the libraries over, and then
-perform <code>dlopen()</code>.</p>
-
-<p>In a fat binary, each library resides under a directory whose name matches a corresponding ABI.
-For example, a fat binary may contain:</p>
-
-<pre class="no-pretty-print">
-/lib/armeabi/libfoo.so
-/lib/armeabi-v7a/libfoo.so
-/lib/arm64-v8a/libfoo.so
-/lib/x86/libfoo.so
-/lib/x86_64/libfoo.so
-/lib/mips/libfoo.so
-/lib/mips64/libfoo.so
-</pre>
-
-<p class="note"><strong>Note:</strong> ARMv7-based Android devices running 4.0.3 or earlier
-install native libraries from the {@code armeabi} directory instead of the {@code armeabi-v7a}
-directory if both directories exist. This is because {@code /lib/armeabi/} comes after
-{@code /lib/armeabi-v7a/} in the APK. This issue is fixed from 4.0.4.</p>
-
-<h3>Android Platform ABI support</h3>
-<p>The Android system knows at runtime which ABI(s) it supports, because build-specific system
-properties indicate:</p>
-
-<ul>
-<li>The primary ABI for the device, corresponding to the machine code used in
-the system image itself.</li>
-<li>An optional, secondary ABI, corresponding to another ABI that the system image also supports.
-</li>
-</ul>
-
-<p>This mechanism ensures that the system extracts the best machine code from
-the package at installation time.</p>
-
-<p>For best performance, you should compile directly for the primary ABI. For example, a
-typical ARMv5TE-based device would only define the primary ABI: {@code armeabi}. By contrast, a
-typical, ARMv7-based device would define the primary ABI as {@code armeabi-v7a} and the secondary
-one as {@code armeabi}, since it can run application native binaries generated for each of them.</p>
-
-<p>Many x86-based devices can also run {@code armeabi-v7a} and {@code armeabi} NDK binaries. For
-such devices, the primary ABI would be {@code x86}, and the second one, {@code armeabi-v7a}.</p>
-
-<p>A typical MIPS-based device only defines a primary abi: {@code mips}.</p>
-
-<h3 id="aen">Automatic extraction of native code at install time</h3>
-
-<p>When installing an application, the package manager service scans the APK, and looks for any
-shared libraries of the form:</p>
-
-<pre class="no-pretty-print">
-lib/&lt;primary-abi&gt;/lib&lt;name&gt;.so
-</pre>
-
-<p>If none is found, and you have defined a secondary ABI, the service scans for shared libraries of
-the form:</p>
-
-<pre class="no-pretty-print">
-lib/&lt;secondary-abi&gt;/lib&lt;name&gt;.so
-</pre>
-
-<p>When it finds the libraries that it's looking for, the package manager
-copies them to <code>/lib/lib&lt;name&gt;.so</code>, under the application's
-{@code data} directory ({@code data/data/<package_name>/lib/}).</p>
-
-<p>If there is no shared-object file at all, the application builds and installs, but crashes at
-runtime.</p>
diff --git a/docs/html/ndk/guides/android_mk.jd b/docs/html/ndk/guides/android_mk.jd
deleted file mode 100644
index 1416d13..0000000
--- a/docs/html/ndk/guides/android_mk.jd
+++ /dev/null
@@ -1,875 +0,0 @@
-page.title=Android.mk
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#over">Overview</a></li>
-        <li><a href="#basics">Basics</a></li>
-        <li><a href="#var">Variables and Macros</a></li>
-        <li><a href="#mdv">Module-Description Variables</a></li>
-      </ol>
-    </div>
-  </div>
-
-
-<p>This page describes the syntax of the {@code Android.mk} build file,
-which glues your C and C++ source files to the Android NDK.</p>
-
-<h2 id="over">Overview</h2>
-<p>The {@code Android.mk} file resides in a subdirectory of your project's {@code jni/} directory,
-and describes your sources and shared libraries to the build system. It is really a tiny GNU
-makefile fragment that the build system parses once or more. The {@code Android.mk} file is useful
-for defining project-wide settings that <a href="{@docRoot}ndk/guides/application_mk.html">{@code
-Application.mk}</a>, the build system, and your
-environment variables leave undefined. It can also override project-wide settings for specific
-<i>modules</i>.</p>
-
-<p>The syntax of the {@code Android.mk} allows you to group your sources into
-<em>modules</em>. A module is either a static library, a shared library, or a standalone
-executable. You can define one or more modules in each {@code Android.mk} file, and
-you can use the same source file in multiple modules. The build system only places shared libraries
-into your application package. In addition, static libraries can generate shared libraries.</p>
-
-<p>In addition to packaging libraries, the build system handles a variety of other details for you.
-For example, you don't need to list header files or explicit dependencies between generated files in
-your {@code Android.mk} file. The NDK build system computes these relationships automatically for
-you. As a result, you should be able to benefit from new toolchain/platform support in future NDK
-releases without having to touch your {@code Android.mk} file.</p>
-
-<p>The syntax of this file is very close to that used in the {@code Android.mk} files distributed with
-the full <a href="https://source.android.com">Android Open Source Project</a>. While the
-build system implementation that uses them is different, their similarity is an
-intentional design decision aimed at making it easier for application
-developers to reuse source code for external libraries.</p>
-
-<h2 id="basics">Basics</h2>
-<p>Before exploring the syntax in detail, it is useful to start by understanding the basics
-of what a {@code Android.mk} file contains. This section uses the {@code Android.mk} file in the
-Hello-JNI sample toward that end, explaining the role that each line in the file plays.</p>
-
-
-<p>An {@code Android.mk} file must begin by defining the {@code LOCAL_PATH} variable:
-
-<pre class="no-pretty-print">
-LOCAL_PATH := $(call my-dir)
-</pre>
-
-<p>This variable indicates the location of the source files in the development tree. Here, the macro
-function {@code my-dir}, provided by the build system, returns the path of the current directory
-(the directory containing the {@code Android.mk} file itself).</p>
-
-<p>The next line declares the {@code CLEAR_VARS} variable, whose value the build system provides.
-
-<pre class="no-pretty-print">
-include $(CLEAR_VARS)
-</pre>
-
-<p>The {@code CLEAR_VARS} variable points to a special GNU Makefile that clears many
-{@code LOCAL_XXX} variables for you, such as {@code LOCAL_MODULE}, {@code LOCAL_SRC_FILES}, and
-{@code LOCAL_STATIC_LIBRARIES}. Note that it does not clear {@code LOCAL_PATH}. This variable must
-retain its value because the system parses all build control files in a single GNU Make execution
-context where all variables are global. You must (re-)declare this variable before describing each
-module.</p>
-
-<p>Next, the {@code LOCAL_MODULE} variable stores the name of the module that you wish to build.
-Use this variable once per module in your application.</p>
-
-<pre class="no-pretty-print">
-LOCAL_MODULE := hello-jni
-</pre>
-
-<p>Each module name must be unique and not contain any spaces. The build system, when it
-generates the final shared-library file, automatically adds the proper prefix and suffix to
-the name that you assign to {@code LOCAL_MODULE}. For example, the example that appears above
-results in generation of a library called {@code libhello-jni.so}.</p>
-
-<p class="note"><strong>Note:</strong> If your module's name already starts with {@code lib}, the
-build system does not prepend an additional {@code lib} prefix; it takes the module name as-is, and
-adds the {@code .so} extension. So a source file originally called, for example, {@code libfoo.c}
-still produces a shared-object file called {@code libfoo.so}. This behavior is to support libraries
-that the Android platform sources generate from {@code Android.mk} files; the names of all such
-libraries start with {@code lib}.</p>
-
-<p>The next line enumerates the source files, with spaces delimiting multiple files:</p>
-
-<pre class="no-pretty-print">
-LOCAL_SRC_FILES := hello-jni.c
-</pre>
-
-<p>The {@code LOCAL_SRC_FILES} variable must contain a list of C and/or C++ source files to build
-into a module.</p>
-
-<p>The last line helps the system tie everything together:</p>
-
-<pre class="no-pretty-print">
-include $(BUILD_SHARED_LIBRARY)
-</pre>
-
-<p>The {@code BUILD_SHARED_LIBRARY} variable points to a GNU Makefile script that collects all the
-information you defined in {@code LOCAL_XXX} variables since the most recent {@code include}. This
-script determines what to build, and how to do it.</p>
-
-<p>There are more complex examples in the samples directories, with commented
-{@code Android.mk} files that you can look at. In addition,
-<a href="{@docRoot}ndk/samples/sample_na.html">Sample: native-activity</a> provides
-a detailed explanation of that sample's {@code Android.mk} file. Finally, <a href="#var">
-Variables and Macros</a> provides further information on the variables from this section.
-
-
-<h2 id="var">Variables and Macros</h2>
-<p>The build system provides many possible variables for use in the the {@code Android.mk} file.
-Many of these variables come with preassigned values. Others, you assign.</p>
-
-<p>In addition to these variables, you can also define your own arbitrary ones. If you do so, keep
-in mind that the NDK build system reserves the following variable names:</p>
-<ul>
-<li>Names that begin with {@code LOCAL_}, such as {@code LOCAL_MODULE}.</li>
-<li>Names that begin with {@code PRIVATE_}, {@code NDK_}, or {@code APP}. The build system uses
-these internally.</li>
-<li>Lower-case names, such as {@code my-dir}. The build system uses these internally, as well.</li>
-</ul>
-<p>If you need to define your own convenience variables in an {@code Android.mk} file, we
-recommend prepending {@code MY_} to their names.
-
-
-<h3 id="npv">NDK-defined variables</h3>
-<p>This section discusses the GNU Make variables that the build system defines before parsing your
-{@code Android.mk} file. Under certain circumstances, the NDK might parse your {@code Android.mk}
-file several times, using a different definition for some of these variables each time.</p>
-
-<h4>CLEAR_VARS</h4>
-<p>This variable points to a build script that undefines nearly all {@code LOCAL_XXX} variables
-listed in the "Developer-defined variables" section below. Use this variable to include
-this script before describing a new module. The syntax for using it is:</p>
-
-<pre class="no-pretty-print">
-include $(CLEAR_VARS)
-</pre>
-
-<h4>BUILD_SHARED_LIBRARY</h4>
-<p>This variable points to a build script that collects all the information about the module
-you provided in your {@code LOCAL_XXX} variables, and determines how to build a target shared
-library from the sources you listed. Note that using this script requires that you have already
-assigned values to {@code LOCAL_MODULE} and {@code LOCAL_SRC_FILES}, at a minimum (for more
-information about these variables, see <a href = "#mdv">Module-Description Variables</a>).</p>
-
-<p>The syntax for using this variable is:</p>
-
-<pre class="no-pretty-print">
-include $(BUILD_SHARED_LIBRARY)
-</pre>
-
-<p>A shared-library variable causes the build system to generate a library file with a {@code .so}
-extension.</p>
-
-<h4>BUILD_STATIC_LIBRARY</h4>
-<p>A variant of {@code BUILD_SHARED_LIBRARY} that is used to build a static library. The build
-system does not copy static libraries into your project/packages, but it can use them to build
-shared libraries (see {@code LOCAL_STATIC_LIBRARIES} and {@code LOCAL_WHOLE_STATIC_LIBRARIES},
-below). The syntax for using this variable is:</p>
-
-<pre class="no-pretty-print">
-include $(BUILD_STATIC_LIBRARY)
-</pre>
-
-<p>A static-library variable causes the build system to generate a library with a {@code .a}
-extension.</p>
-
-<h4>PREBUILT_SHARED_LIBRARY</h4>
-<p>Points to a build script used to specify a prebuilt shared library. Unlike in the case of
-{@code BUILD_SHARED_LIBRARY} and {@code BUILD_STATIC_LIBRARY}, here the value of
-{@code LOCAL_SRC_FILES} cannot be a source file. Instead, it must be a single path to a prebuilt
-shared library, such as {@code foo/libfoo.so}. The syntax for using this variable is:</p>
-
-<pre class="no-pretty-print">
-include $(PREBUILT_SHARED_LIBRARY)
-</pre>
-
-<p>You can also reference a prebuilt library in another module by using the
-{@code LOCAL_PREBUILTS} variable. For more information about using prebuilts, see
-<a href="{@docRoot}ndk/guides/prebuilts.html">Using Prebuilt Libraries</a>.</p>
-
-
-<h4>PREBUILT_STATIC_LIBRARY</h4>
-<p>The same as {@code PREBUILT_SHARED_LIBRARY}, but for a prebuilt static library. For more
-information about using prebuilts, see <a href="{@docRoot}ndk/guides/prebuilts.html">Using Prebuilt
-Libraries</a>.</p>
-
-<h4>TARGET_ARCH</h4>
-<p>The name of the target CPU architecture as the Android Open Source Project specifies it.
-For any ARM-compatible build, use {@code arm}, independent of the CPU architecture revision or
-ABI (see TARGET_ARCH_ABI, below).</p>
-
-<p>The value of this variable is taken from the APP_ABI variable that you define in the
-{@code Android.mk} file, which the system reads ahead of parsing the {@code Android.mk} file.</p>
-
-<h4>TARGET_PLATFORM</h4>
-<p>The Android API level number for the build system to target.
-For example, the Android 5.1 system images correspond to Android API level 22: {@code android-22}.
-For a complete list of platform names and corresponding Android system
-images, see <a href="{@docRoot}ndk/guides/stable_apis.html">Android NDK Native APIs</a>.
-The following example shows the syntax for using this variable:</p>
-
-<pre class="no-pretty-print">
-TARGET_PLATFORM := android-22
-</pre>
-
-<h4 id="taa">TARGET_ARCH_ABI</h4>
-<p>This variable stores the name of the CPU and architecture to target when the build system
-parses this {@code Android.mk} file. You can specify one or more of the following values, using
-a space as a delimiter between multiple targets. Table 1 shows the ABI setting to use for each
-supported CPU and architecture.
-
-<p class="table-caption" id="table1">
-  <strong>Table 1.</strong> ABI settings for different CPUs and architectures.</p>
-<table>
-  <tr>
-    <th scope="col">CPU and architecture</th>
-    <th scope="col">Setting</th>
-  </tr>
-  <tr>
-    <td>ARMv5TE</td>
-    <td>{@code armeabi}</td>
-  </tr>
-  <tr>
-    <td>ARMv7</td>
-    <td>{@code armeabi-v7a}</td>
-  </tr>
-  <tr>
-    <td>ARMv8 AArch64</td>
-    <td>{@code arm64-v8a}</td>
-  </tr>
-  <tr>
-    <td>i686</td>
-    <td>{@code x86}</td>
-  </tr>
-  <tr>
-    <td>x86-64</td>
-    <td>{@code x86_64}</td>
-  </tr>
-  <tr>
-    <td>mips32 (r1)</td>
-    <td>{@code mips}</td>
-  </tr>
-  <tr>
-    <td>mips64 (r6)</td>
-    <td>{@code mips64}</td>
-  </tr>
-  <tr>
-    <td>All</td>
-    <td>{@code all}</td>
-  </tr>
-</table>
-
-<p>The following example shows how to set ARMv8 AArch64 as the target CPU-and-ABI combination:</p>
-
-<pre class="no-pretty-print">
-TARGET_ARCH_ABI := arm64-v8a
-</pre>
-
-<p class="note"><strong>Note: </strong> Up to Android NDK 1.6_r1, this variable is defined as
-{@code arm}.</p>
-
-<p>For more details about architecture ABIs and associated compatibility
-issues, refer to
-<a href="{@docRoot}ndk/guides/abis.html">ABI Management</a>.</p>
-
-<p>New target ABIs in the future will have different values.</p>
-
-<h4>TARGET_ABI</h4>
-<p>A concatenation of target Android API level and ABI, it is especially useful when you want to test against
-a specific target system image for a real device. For example, to specify a 64-bit ARM device
-running on Android API level 22:</p>
-
-<pre class="no-pretty-print">
-TARGET_ABI := android-22-arm64-v8a
-</pre>
-
-<p class="note"><strong>Note:</strong> Up to Android NDK 1.6_r1, the default value was
-{@code android-3-arm}.</p>
-
-<h2 id="mdv">Module-Description Variables</h2>
-<p>The variables in this section describe your module to the build system. Each module description
-should follow this basic flow:
-<ul>
-<ol type = "1">
-<li>Initialize or undefine the variables associated with the module, using the {@code CLEAR_VARS}
-  variable.</li>
-<li>Assign values to the variables used to describe the module.
-<li>Set the NDK build system to use the appropriate build script for the module, using the
-  {@code BUILD_XXX} variable.</li>
-</ol>
-</ul>
-
-<h4>LOCAL_PATH</h4>
-<p>This variable is used to give the path of the current file. You must define
-it at the start of your {@code Android.mk} file. The following example shows how to do so:</p>
-
-<pre class="no-pretty-print">
-LOCAL_PATH := $(call my-dir)
-</pre>
-
-<p>The script to which {@code CLEAR_VARS} points does not clear this variable. Therefore, you only need
-to define it a single time, even if your {@code Android.mk} file describes multiple modules.</p>
-
-<h4>LOCAL_MODULE</h4>
-<p>This variable stores the name of your module. It must be unique among all module names,
-and must not contain any spaces. You must define it before including any scripts (other than
-the one for {@code CLEAR_VARS}). You need not add either the {@code lib} prefix
-or the {@code .so} or {@code .a} file extension; the build system makes these modifications
-automatically. Throughout your {@code Android.mk} and
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> files, refer to
-your module by its unmodified name. For example, the following line results in the generation of a
-shared library module called {@code libfoo.so}:</p>
-
-<pre class="no-pretty-print">
-LOCAL_MODULE := "foo"
-</pre>
-
-<p>If you want the generated module to have a name other than {@code lib} + the value of
-{@code LOCAL_MODULE}, you can use the {@code LOCAL_MODULE_FILENAME} variable to give the
-generated module a name of your own choosing, instead.</p>
-
-<h4>LOCAL_MODULE_FILENAME</h4>
-<p>This optional variable allows you to override the names that the build system
-uses by default for files that it generates. For example, if the name of your {@code LOCAL_MODULE}
-is {@code foo}, you can force the system to call the file it generates {@code libnewfoo}. The
-following example shows how to accomplish this:</p>
-
-<pre class="no-pretty-print">
-LOCAL_MODULE := foo
-LOCAL_MODULE_FILENAME := libnewfoo
-</pre>
-
-<p>For a shared library module, this example would generate a file called {@code libnewfoo.so}.</p>
-
-<p class="note"><strong>Note:</strong> You cannot override filepath or file extension.</p>
-
-<h4>LOCAL_SRC_FILES</h4>
-<p>This variable contains the list of source files that the build system uses to generate the
-module. Only list the files that the build system actually passes to the compiler, since the build
-system automatically computes any associated depencies.</p>
-<p>Note that you can use both relative (to {@code LOCAL_PATH}) and absolute file paths.
-
-<p>We recommend avoiding absolute file paths; relative paths make your {@code Android.mk} file more
-portable.</p>
-
-<p class="note"><strong>Note: </strong> Always use Unix-style forward slashes (/) in build files.
-The build system does not handle Windows-style backslashes (\) properly.</p>
-
-<h4>LOCAL_CPP_EXTENSION</h4>
-<p>You can use this optional variable to indicate a file extension other than {@code .cpp} for your
-C++ source files. For example, the following line changes the extension to {@code .cxx}.
-(The setting must include the dot.)
-
-<pre class="no-pretty-print">
-LOCAL_CPP_EXTENSION := .cxx
-</pre>
-
-<p>From NDK r7, you can use this variable to specify multiple extensions. For instance:</p>
-
-<pre class="no-pretty-print">
-LOCAL_CPP_EXTENSION := .cxx .cpp .cc
-</pre>
-
-<h4>LOCAL_CPP_FEATURES</h4>
-
-<p>You can use this optional variable to indicate that your code relies on specific C++ features.
-It enables the right compiler and linker flags during the build process. For prebuilt binaries,
-this variable also declares which features the binary depends on, thus helping ensure the final
-linking works correctly. We recommend that you use this variable instead of enabling
-{@code -frtti} and {@code -fexceptions} directly in your {@code LOCAL_CPPFLAGS} definition.</p>
-
-<p>Using this variable allows the build system to use the appropriate flags for each module. Using
-{@code LOCAL_CPPFLAGS} causes the compiler to use all specified flags for all modules, regardless
-of actual need.</p>
-
-For example, to indicate that your code uses RTTI (RunTime Type Information), write: </p>
-
-<pre class="no-pretty-print">
-LOCAL_CPP_FEATURES := rtti
-</pre>
-
-<p>To indicate that your code uses C++ exceptions, write:</p>
-
-<pre class="no-pretty-print">
-LOCAL_CPP_FEATURES := exceptions
-</pre>
-
-<p>You can also specify multiple values for this variable. For example:</p>
-
-<pre class="no-pretty-print">
-LOCAL_CPP_FEATURES := rtti features
-</pre>
-
-The order in which you describe the values does not matter.
-
-
-<h4>LOCAL_C_INCLUDES</h4>
-<p>You can use this optional variable to specify a list of paths, relative to the
-NDK {@code root} directory, to add to the include search path when compiling all sources
-(C, C++ and Assembly). For example: </p>
-
-<pre class="no-pretty-print">
-LOCAL_C_INCLUDES := sources/foo
-</pre>
-
-<p>Or even: </p>
-
-<pre class="no-pretty-print">
-LOCAL_C_INCLUDES := $(LOCAL_PATH)/<subdirectory>/foo
-</pre>
-
-<p>Define this variable before setting any corresponding inclusion flags via {@code LOCAL_CFLAGS}
-or {@code LOCAL_CPPFLAGS}.</p>
-
-<p>The build system also uses {@code LOCAL_C_INCLUDES} paths automatically when launching native
-debugging with ndk-gdb.</p>
-
-
-<h4>LOCAL_CFLAGS</h4>
-
-<p>This optional variable sets compiler flags for the build system to pass when building C
-<em>and</em> C++ source files. The ability to do so can be useful for specifying additional macro
-definitions or compile options.</p>
-
-<p>Try not to change the optimization/debugging level in your {@code Android.mk} file.
-The build system can handle this setting automatically for you, using the relevant information
-in the <a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file. Doing it
-this way allows the build system to generate useful data files used during debugging.</p>
-
-<p class="note"><strong>Note: </strong>In android-ndk-1.5_r1, the corresponding flags only applied
-to C source files, not C++ ones. They now match the full Android build system behavior.
-(You can now use {@code LOCAL_CPPFLAGS} to specify flags for C++ sources only.)</p>
-
-<p>It is possible to specify additional include paths by writing:
-
-<pre class="no-pretty-print">
-LOCAL_CFLAGS += -I&lt;path&gt;,
-</pre>
-
-It is better, however, to use {@code LOCAL_C_INCLUDES} for this purpose, since
-doing so also makes it possible to use the paths available for native debugging with ndk-gdb.</p>
-
-
-<h4>LOCAL_CPPFLAGS</h4>
-<p>An optional set of compiler flags that will be passed when building C++
-source files <em>only</em>. They will appear after the LOCAL_CFLAGS on the
-compiler's command-line.</p>
-
-
-<p class="note"><strong>Note: </strong>In android-ndk-1.5_r1, the corresponding flags applied to
-both C and C++ sources. This has been corrected to match the full Android build system.
-To specify flags for both C and C++ sources, use {@code LOCAL_CFLAGS}.</p>
-
-
-<h4>LOCAL_STATIC_LIBRARIES</h4>
-
-<p>This variable stores the list of static libraries modules on which the current module depends.</p>
-
-<p>If the current module is a shared library or an executable, this variable will force
-these libraries to be linked into the resulting binary.</p>
-
-<p>If the current module is a static library, this variable simply indicates that other
-modules depending on the current one will also depend on the listed
-libraries.</p>
-
-<h4>LOCAL_SHARED_LIBRARIES</h4>
-
-<p>This variable is the list of shared libraries <em>modules</em> on which this module depends at
-runtime. This information is necessary at link time, and to embed the corresponding information
-in the generated file.</p>
-
-<h4>LOCAL_WHOLE_STATIC_LIBRARIES</h4>
-<p>This variable is a variant of {@code LOCAL_STATIC_LIBRARIES}, and expresses that the linker
-should treat the associated library modules as <em>whole archives</em>. For more information
-on whole archives, see the GNU linker's
-<a href="http://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_node/ld_3.html">documentation</a> for the
-{@code --whole-archive} flag.</p>
-
-<p>This variable is useful when there are circular dependencies among
-several static libraries. When you use this variable to build a shared library, it will force
-the build system to add all object files from your static libraries to the final binary. The same
-is not true, however, when generating executables.</p>
-
-
-<h4>LOCAL_LDLIBS</h4>
-
-<p>This variable contains the list of additional linker flags for use in building your shared
-library or executable. It enables you to use the {@code -l} prefix to pass the name of specific
-system libraries. For example, the following example tells the linker to generate a module that
-links to {@code /system/lib/libz.so} at load time: </p>
-
-<pre class="no-pretty-print">
-LOCAL_LDLIBS := -lz
-</pre>
-
-<p>For the list of exposed system libraries against which you can link in this NDK release, see
-<a href="stable_apis.html">Android NDK Native APIs</a>.</p>
-
-<p class="note"><strong>Note: </strong> If you define this variable for a static library,
-the build system ignores it, and {@code ndk-build} prints a warning.</p>
-
-<h4>LOCAL_LDFLAGS</h4>
-
-<p>The list of other linker flags for the build system to use when building your shared library
-or executable. For example, the following example uses the {@code ld.bfd} linker on ARM/X86 GCC
-4.6+, on which {@code ld.gold} is the default </p>
-
-<pre class="no-pretty-print">
-LOCAL_LDFLAGS += -fuse-ld=bfd
-</pre>
-
-<p class="note"><strong>Note: </strong>If you define this variable for a static library, the build
-system ignores it, and ndk-build prints a warning.</p>
-
-<h4>LOCAL_ALLOW_UNDEFINED_SYMBOLS</h4>
-
-<p>By default, when the build system encounters an undefined reference encountered while trying to
-build a shared, it will throw an <em>undefined symbol</em> error. This error can help you catch
-catch bugs in your source code.</p>
-
-<p>To disable this check, set this variable to {@code true}. Note that this setting may cause the
-shared library to load at runtime.</p>
-
-<p class="note"><strong>Note: </strong> If you define this variable for a static library,
-the build system ignores it, and ndk-build prints a warning.</p>
-
-<h4>LOCAL_ARM_MODE</h4
->
-<p>By default, the build system generates ARM target binaries in <em>thumb</em> mode, where each
-instruction is 16 bits wide and linked with the STL libraries in the {@code thumb/} directory.
-Defining this variable as {@code arm} forces the build system to generate the module's object
-files in 32-bit {@code arm} mode. The following example shows how to do this:</p>
-
-<pre class="no-pretty-print">
-LOCAL_ARM_MODE := arm
-</pre>
-
-<p>You can also instruct the build system to only build specific sources in {@code arm} mode by
-appending {@code .arm} suffix to the the source filenames. For example, the following example
-tells the build system to always compile {@code bar.c} in ARM mode, but to build
-{@code foo.c} according to the value of {@code LOCAL_ARM_MODE}.</p>
-
-<pre class="no-pretty-print">
-LOCAL_SRC_FILES := foo.c bar.c.arm
-</pre>
-
-<p></p>
-
-<p class="note"><strong>Note: </strong> You can also force the build system to generate ARM binaries
-by setting {@code APP_OPTIM} in your
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file to {@code debug}.
-Specifying {@code debug} forces an ARM build because the toolchain debugger does not handle Thumb
-code properly.</p>
-
-
-<h4>LOCAL_ARM_NEON</h4>
-<p>This variable only matters when you are targeting the {@code armeabi-v7a} ABI. It allows the
-use of ARM Advanced SIMD (NEON) GCC intrinsics in your C and C++ sources, as well as NEON
-instructions in Assembly files.</p>
-
-<p>Note that not all ARMv7-based CPUs support the NEON instruction set extensions. For this reason,
-you must perform runtime detection to be able to safely use this code at runtime. For more
-information, see <a href="{@docRoot}ndk/guides/cpu-arm-neon.html">NEON Support</a> and <a
-href="{@docRoot}ndk/guides/cpu-features.html">The {@code cpufeatures} Library</a>.</p>
-
-<p>Alternatively, you can use the {@code .neon} suffix to specify that the build system only
-compile specific source files with NEON support. In the following example, the build system compiles
-{@code foo.c} with thumb and neon support, {@code bar.c} with thumb support, and
-{@code zoo.c} with support for ARM and NEON:</p>
-
-<pre class="no-pretty-print">
-LOCAL_SRC_FILES = foo.c.neon bar.c zoo.c.arm.neon
-</pre>
-
-
-<p>If you use both suffixes, {@code .arm} must precede {@code .neon}.</p>
-
-<h4>LOCAL_DISABLE_NO_EXECUTE</h4>
-
-<p>Android NDK r4 added support for the "NX bit" security feature. It is
-enabled by default, but you can disable it by setting this variable to {@code true}. We do not
-recommend doing so without a compelling reason.</p>
-
-<p>This feature does not modify the ABI, and is only enabled on kernels
-targeting ARMv6+ CPU devices. Machine code with this feature enabled
-will run unmodified on devices running earlier CPU architectures.</p>
-<p>For more information, see <a href="http://en.wikipedia.org/wiki/NX_bit">Wikipedia: NX bit</a>
-and <a href="http://www.gentoo.org/proj/en/hardened/gnu-stack.xml">The GNU stack kickstart</a>.
-
-<h4>LOCAL_DISABLE_RELRO</h4>
-
-<p>By default, the NDK compiles code with read-only relocations and GOT
-protection. This variable instructs the runtime linker to mark certain regions of memory
-as read-only after relocation, making certain security exploits (such as GOT overwrites)
-more difficult. Note that these protections are only effective on Android API level 16 and higher.
-On lower API levels, the code will still run, but without memory protections.</p>
-
-<p>This variable is turned on by default, but you can disable it by setting its value to
-{@code true}. We do not recommend doing so without a compelling reason.</p>
-
-<p>For more information, see
-<a href="http://isisblogs.poly.edu/2011/06/01/relro-relocation-read-only/">RELRO:
-RELocation Read-Only</a> and <a href="http://www.akkadia.org/drepper/nonselsec.pdf">Security
-enhancements in RedHat Enterprise Linux (section 6)</a>.</p>
-
-<h4>LOCAL_DISABLE_FORMAT_STRING_CHECKS</h4>
-
-<p>By default, the build system compiles code with format string protection. Doing so forces a
-compiler error if a non-constant format string is used in a {@code printf}-style function.</p>
-<p>This protection is on by default, but you can disable it by setting the value of
-this variable to {@code true}. We do not recommend doing so without a compelling reason.</p>
-
-
-<h4>LOCAL_EXPORT_CFLAGS</h4>
-
-<p>This variable records a set of C/C++ compiler flags to add to the {@code LOCAL_CFLAGS} definition
-of any other module that uses this one via the {@code LOCAL_STATIC_LIBRARIES} or
-{@code LOCAL_SHARED_LIBRARIES} variables.</p>
-
-<p>For example, consider the following pair of modules: {@code foo} and {@code bar}, which depends
-on {@code foo}:</p>
-
-<pre class="no-pretty-print">
-include $(CLEAR_VARS)
-LOCAL_MODULE := foo
-LOCAL_SRC_FILES := foo/foo.c
-LOCAL_EXPORT_CFLAGS := -DFOO=1
-include $(BUILD_STATIC_LIBRARY)
-
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := bar
-LOCAL_SRC_FILES := bar.c
-LOCAL_CFLAGS := -DBAR=2
-LOCAL_STATIC_LIBRARIES := foo
-include $(BUILD_SHARED_LIBRARY)
-</pre>
-
-<p>Here, the build system passes the flags {@code -DFOO=1} and {@code -DBAR=2} to the compiler when
-building {@code bar.c}. It also prepends exported flags to your your module's {@code LOCAL_CFLAGS}
-so you can easily override them.</p>
-
-In addition, the relationship among modules is transitive: If {@code zoo} depends on
-{@code bar}, which in turn depends on {@code foo}, then {@code zoo} also inherits all flags
-exported from {@code foo}.</p>
-
-<p>Finally, the build system does not use exported flags when building locally (i.e., building the
-module whose flags it is exporting). Thus, in the example above, it does not pass {@code -DFOO=1}
-to the compiler when building {@code foo/foo.c}. To build locally, use {@code LOCAL_CFLAGS}
-instead.</p>
-
-<h4>LOCAL_EXPORT_CPPFLAGS</h4>
-<p>This variable is the same as {@code LOCAL_EXPORT_CFLAGS}, but for C++ flags only.</p>
-
-<h4>LOCAL_EXPORT_C_INCLUDES</h4>
-<p>This variable is the same as {@code LOCAL_EXPORT_CFLAGS}, but for C include paths. It is useful
-in cases where, for example, {@code bar.c} needs to include headers from module {@code foo}.</p>
-
-<h4>LOCAL_EXPORT_LDFLAGS</h4>
-<p>This variable is the same as {@code LOCAL_EXPORT_CFLAGS}, but for linker flags.</p>
-
-<h4>LOCAL_EXPORT_LDLIBS</h4>
-<p>This variable is the same as {@code LOCAL_EXPORT_CFLAGS}, telling the build system to pass names
-of specific system libraries to the compiler. Prepend {@code -l} to the name of each library you
-specify.</p>
-
-<p>Note that the build system appends imported linker flags to the value of your module's
-{@code LOCAL_LDLIBS} variable. It does this due to the way Unix linkers work.</p>
-
-<p>This variable is typically useful when module {@code foo} is a static library
-and has code that depends on a system library. You can then use {@code LOCAL_EXPORT_LDLIBS} to
-to export the dependency. For example: </p>
-
-<pre class="no-pretty-print">
-include $(CLEAR_VARS)
-LOCAL_MODULE := foo
-LOCAL_SRC_FILES := foo/foo.c
-LOCAL_EXPORT_LDLIBS := -llog
-include $(BUILD_STATIC_LIBRARY)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := bar
-LOCAL_SRC_FILES := bar.c
-LOCAL_STATIC_LIBRARIES := foo
-include $(BUILD_SHARED_LIBRARY)
-</pre>
-
-<p>In this example, the build system puts {@code -llog} at the end of the linker command when it
-builds {@code libbar.so}. Doing so tells the linker that, because {@code libbar.so} depends
-on {@code foo}, it also depends on the system logging library.</p>
-
-<h4>LOCAL_SHORT_COMMANDS</h4>
-<p>Set this variable to {@code true} when your module has a very high
-number of sources and/or dependent static or shared libraries. Doing so forces the
-build system to use {@code @} syntax for archives containing intermediate object files
-or linking libraries.</p>
-
-<p>This feature can be useful on Windows, where the command line accepts a maximum of only
-of 8191 characters, which can be too small for complex projects. It also impacts the compilation of
-individual source files, placing nearly all compiler flags inside list files, too.</p>
-
-<p>Note that any value other than {@code true} will revert to the
-default behaviour. You can also define {@code APP_SHORT_COMMANDS} in your
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file to force this
-behavior for all modules in your project.</p>
-
-<p>We do not recommend enabling this feature by default, since it makes the build slower.</p>
-
-
-<h4>LOCAL_THIN_ARCHIVE</h4>
-
-<p>Set this variable to {@code true} when building static libraries.
-Doing so will generate a <strong>thin archive</strong>, a library file that does not contain
-object files, but instead just file paths to the actual objects that it would normally
-contain.</p>
-<p>This is useful to reduce the size of your build output. The drawback is that
-such libraries <em>cannot</em> be moved to a different location (all paths
-inside them are relative).</p>
-<p>Valid values are {@code true}, {@code false} or empty. A
-default value can be set in your <a href="{@docRoot}ndk/guides/application_mk.html">
-{@code Application.mk}</a> file through the {@code APP_THIN_ARCHIVE}
-
-variable.</p>
-<p class="note"><strong>Note:</strong> This is ignored for non-static library modules, or prebuilt
-static library ones.</p>
-
-<h4>LOCAL_FILTER_ASM</h4>
-<p>Define this variable as a shell command that the build system will use to filter the
-assembly files extracted or generated from the files you specified for {@code LOCAL_SRC_FILES}.</p>
-<p>Defining this variable causes the following things to occur:</p>
-
-<ul>
-<ol type = "1">
-<li>The build system generates a temporary assembly file from any C or C++ source file, instead of compiling them into an object file.</li>
-<li>The build system executes the shell command in {@code LOCAL_FILTER_ASM}
-on any temporary assembly file and on any assembly file
-listed in {@code LOCAL_SRC_FILES}, thus generating another temporary assembly
-file.</li>
-<li>The build system compiles these filtered assembly files into an object file.</li>
-</ol>
-</ul>
-<p>For example:</p>
-
-<pre class="no-pretty-print">
-LOCAL_SRC_FILES  := foo.c bar.S
-LOCAL_FILTER_ASM :=
-
-foo.c --1--&gt; $OBJS_DIR/foo.S.original --2--&gt; $OBJS_DIR/foo.S --3--&gt; $OBJS_DIR/foo.o
-bar.S                                 --2--&gt; $OBJS_DIR/bar.S --3--&gt; $OBJS_DIR/bar.o
-</pre>
-
-<p>"1" corresponds to the compiler, "2" to the filter, and "3" to the assembler. The filter must
-be a standalone shell command that takes the name of the input file as its first argument, and the
-name of the output file as the second one. For example:</p>
-
-<pre class="no-pretty-print">
-myasmfilter $OBJS_DIR/foo.S.original $OBJS_DIR/foo.S
-myasmfilter bar.S $OBJS_DIR/bar.S
-</pre>
-
-<h3 id="npfm">NDK-provided function macros</h2>
-<p>This section explains GNU Make function macros that the NDK provides. Use
-{@code $(call <function>)} to evaluate them; they return textual information.</p>
-
-<h4>my-dir</h4>
-
-<p>This macro returns the path of the last included makefile, which typically is the
-current {@code Android.mk}'s directory. {@code my-dir} is useful for defining
-{@code LOCAL_PATH} at the start of your {@code Android.mk} file. For example:</p>
-
-<pre class="no-pretty-print">
-LOCAL_PATH := $(call my-dir)
-</pre>
-
-<p>Due to the way GNU Make works, what this macro really returns is the
-path of the last makefile that the build system included when parsing the build scripts. For this
-reason, you should not call {@code my-dir} after including another file.</p>
-
-<p>For example, consider the following example: </p>
-
-<pre class="no-pretty-print">
-LOCAL_PATH := $(call my-dir)
-
-# ... declare one module
-
-include $(LOCAL_PATH)/foo/`Android.mk`
-
-LOCAL_PATH := $(call my-dir)
-
-# ... declare another module
-</pre>
-
-<p>The problem here is that the second call to {@code my-dir} defines
-{@code LOCAL_PATH} as {@code $PATH/foo} instead of {@code $PATH}, because that was where its
-most recent include pointed.</p>
-
-<p>You can avoid this problem by putting additional includes after everything
-else in the {@code Android.mk} file. For example:</p>
-
-<pre class="no-pretty-print">
-LOCAL_PATH := $(call my-dir)
-
-# ... declare one module
-
-LOCAL_PATH := $(call my-dir)
-
-# ... declare another module
-
-# extra includes at the end of the Android.mk file
-include $(LOCAL_PATH)/foo/Android.mk
-
-</pre>
-
-<p>If it is not feasible to structure the file in this way, save the value of the first
-{@code my-dir} call into another variable. For example: </p>
-
-<pre class="no-pretty-print">
-MY_LOCAL_PATH := $(call my-dir)
-
-LOCAL_PATH := $(MY_LOCAL_PATH)
-
-# ... declare one module
-
-include $(LOCAL_PATH)/foo/`Android.mk`
-
-LOCAL_PATH := $(MY_LOCAL_PATH)
-
-# ... declare another module
-</pre>
-
-<h4>all-subdir-makefiles</h4>
-
-<p>Returns the list of {@code Android.mk} files located in all subdirectories of
-the current {@code my-dir} path.
-
-<p>You can use this function to provide deep-nested source directory hierarchies to the build
-system. By default, the NDK only looks for files in the directory containing the
-{@code Android.mk} file.</p>
-
-<h4>this-makefile</h4>
-<p>Returns the path of the current makefile (from which the build system called the function).</p>
-
-<h4>parent-makefile</h4>
-<p>Returns the path of the parent makefile in the inclusion tree (the path of the makefile that
-included the current one).</p>
-
-<h4>grand-parent-makefile</h4>
-<p>Returns the path of the grandparent makefile in the inclusion tree (the path of the makefile that
-included the current one).</p>
-
-<h4>import-module</h4>
-<p>A function that allows you to find and include a module's {@code Android.mk} file by the name of
-the module. A typical example is as follows: </p>
-
-<pre class="no-pretty-print">
-$(call import-module,&lt;name&gt;)
-</pre>
-
-<p>In this example, the build system looks for the module tagged {@code <name>} in the list of
-directories referenced that your {@code NDK_MODULE_PATH} environment variable references, and
-includes its {@code Android.mk} file automatically for you.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/application_mk.jd b/docs/html/ndk/guides/application_mk.jd
deleted file mode 100644
index e669f3f..0000000
--- a/docs/html/ndk/guides/application_mk.jd
+++ /dev/null
@@ -1,219 +0,0 @@
-page.title=Application.mk
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#over">Overview</a></li>
-        <li><a href="#var">Variables</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>This document explains the {@code Application.mk} build file, which describes the
-native <em>modules</em> that your app requires. A module can be a static library, a shared library,
-or an executable.</p>
-
-<p>We recommend that you read the <a href="{@docRoot}ndk/guides/concepts.html">Concepts</a> and
-<a href="{@docRoot}ndk/guides/android_mk.html">Android.mk</a> pages before this one. Doing so will
-help maximize your understanding of the material on this page. </p>
-
-<h2 id="over">Overview</h2>
-The {@code Application.mk} file is really a tiny GNU Makefile fragment that defines several
-variables for compilation. It usually resides under {@code $PROJECT/jni/}, where {@code $PROJECT}
-points to your application's project directory. Another alternative is to place it under a
-sub-directory of the top-level {@code $NDK/apps/} directory. For example:</p>
-
-<pre>
-$NDK/apps/&lt;myapp&gt;/Application.mk
-</pre>
-
-<p>Here, {@code <myapp>} is a short name used to describe your app to the NDK build system. It
-doesn't actually go into your generated shared libraries or your final packages.</p>
-
-<h2 id="var">Variables</h2>
-<h4>APP_PROJECT_PATH</h4>
-<p>This variable stores the absolute path to your app's project-root directory. The build system
-uses this information to place stripped-down versions of the generated JNI shared libraries
-into a specific location known to the APK-generating tools.</p>
-
-<p>If you place your {@code Application.mk} file under {@code $NDK/apps/<myapp>/}, you must
-define this variable. If you place it under {@code $PROJECT/jni/}, it is optional.
-
-<h4>APP_OPTIM</h4>
-<p>Define this optional variable as either {@code release} or {@code debug}. You use it to
-alter the optimization level when building your application's modules.</p>
-
-<p>Release mode is the default, and generates highly optimized binaries. Debug mode generates
-unoptimized binaries that are much easier to debug.</p>
-
-<p>Note that you can debug either release or debug binaries. Release binaries, however, provide less
-information during debugging. For example, the build system optimizes out some variables,
-preventing you from inspecting them. Also, code re-ordering can make it more difficult to step
-through the code; stack traces may not be reliable.</p>
-
-<p>Declaring {@code android:debuggable} in your application manifest's {@code <application>}
-tag will cause this variable to default to {@code debug} instead of {@code release}. Override this
-default value by setting {@code APP_OPTIM} to {@code release}.</p>
-
-
-<h4>APP_CFLAGS</h4>
-<p>This variable stores a set of C compiler flags that the build system passes to the compiler
-when compiling any C or C++ source code for any of the modules. You can use this variable to change
-the build of a given module according to the application that needs it, instead of having to modify
-the {@code Android.mk} file itself. </p>
-
-
-<p>All paths in these flags should be relative to the top-level NDK directory. For example, if you
-have the following setup:</p>
-
-<pre>
-sources/foo/Android.mk
-sources/bar/Android.mk
-</pre>
-
-<p>To specify in {@code foo/Android.mk} that you want to add the path to the {@code bar} sources
-during compilation, you should use:
-
-<pre>
-APP_CFLAGS += -Isources/bar
-</pre>
-
-<p>Or, alternatively:</p>
-
-<pre>
-APP_CFLAGS += -I$(LOCAL_PATH)/../bar
-</pre>
-
-<p>{@code -I../bar} will not work since it is equivalent to
-{@code -I$NDK_ROOT/../bar}.</p>
-
-<p class="note"><strong>Note: </strong>This variable only works on C, not C++, sources in
-android-ndk-1.5_r1. In all versions after that one, {@code APP_CFLAGS} matches the full Android
-build system.</p>
-
-<h4>APP_CPPFLAGS</h4>
-<p>This variable contains a set of C++ compiler flags that the build system passes to the compiler
-when building only C++ sources.</p>
-
-<p class="note"><strong>Note: </strong> In android-ndk-1.5_r1, this variable works on both C and
-C++ sources. In all subsequent versions of the NDK, {@code APP_CPPFLAGS} now matches the full
-Android build system. For flags that apply to both C and C++ sources, use {@code APP_CFLAGS}.</p>
-
-<h4>APP_LDFLAGS</h4>
-<p>A set of linker flags that the build system passes when linking the application. This variable
-is only relevant when the build system is building shared libraries and executables. When the
-build system builds static libraries, it ignores these flags.</p>
-
-<h4>APP_BUILD_SCRIPT</h4>
-<p>By default, the NDK build system looks under {@code jni/} for a file named
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a>.</p>
-
-<p>If you want to override this behavior, you can define {@code APP_BUILD_SCRIPT} to point to an
-alternate build script. The build system always interprets a non-absolute path as relative to the
-NDK's top-level directory.</p>
-
-<h4>APP_ABI</h4>
-<p>By default, the NDK build system generates machine code for the
-<a href="{@docRoot}ndk/guides/abis.html">{@code armeabi}</a> ABI. This machine code
-corresponds to an ARMv5TE-based CPU with software floating point operations. You can use
-{@code APP_ABI} to select a different ABI. Table 1 shows the {@code APP_ABI}
-settings for different instruction sets.</p>
-
-<p class="table-caption" id="table1">
-  <strong>Table 1.</strong> {@code APP_ABI} settings for different instruction sets.</p>
-<table>
-  <tr>
-    <th scope="col">Instruction set</th>
-    <th scope="col">Value</th>
-  </tr>
-  <tr>
-    <td>Hardware FPU instructions on ARMv7 based devices</td>
-    <td>{@code APP_ABI := armeabi-v7a}</td>
-  </tr>
-  <tr>
-    <td>ARMv8 AArch64</td>
-    <td>{@code APP_ABI := arm64-v8a}</td>
-  </tr>
-    <tr>
-    <td>IA-32</td>
-    <td>{@code APP_ABI := x86}</td>
-  </tr>
-    <tr>
-    <td>Intel64</td>
-    <td>{@code APP_ABI := x86_64}</td>
-  </tr>
-    <tr>
-    <td>MIPS32</td>
-    <td>{@code APP_ABI := mips}</td>
-  </tr>
-    <tr>
-    <td>MIPS64 (r6)</td>
-    <td>{@code APP_ABI := mips64}</td>
-  </tr>
-    <tr>
-    <td>All supported instruction sets</td>
-    <td>{@code APP_ABI := all}</td>
-  </tr>
-</table>
-
-<p class="note"><strong>Note:</strong> {@code all} is available starting from NDKr7.</p>
-
-<p>You can also specify multiple values by placing them on the same line, delimited by spaces.
-For example:</p>
-
-<pre>
-APP_ABI := armeabi armeabi-v7a x86 mips
-</pre>
-
-<p>For the list of all supported ABIs and details about their usage and limitations, refer to
-<a href="{@docRoot}ndk/guides/abis.html">ABI Management</a>.</p>
-
-<h4>APP_PLATFORM</h4>
-<p>This variable contains the name of the target Android platform. For example, {@code android-3}
-specifies the Android 1.5 system images. For a complete list of platform names and corresponding
-Android system images, see <a href="{@docRoot}ndk/guides/stable_apis.html">Android NDK Native APIs
-</a>.</p>
-
-<h4>APP_STL</h4>
-<p>By default, the NDK build system provides C++ headers for the minimal C++ runtime library
-({@code system/lib/libstdc++.so}) provided by the Android system. In addition, it comes with
-alternative C++ implementations that you can use or link to in your own applications.
-Use {@code APP_STL} to select one of them. For information about the supported runtimes, and the
-features they offer, see <a href="{@docRoot}ndk/guides/cpp-support.html#runtimes">NDK Runtimes and
-Features</a>.
-
-<h4>APP_SHORT_COMMANDS</h4>
-<p>The equivalent of {@code LOCAL_SHORT_COMMANDS} in {@code Application.mk} for your whole project.
-For more information, see the documentation for this variable on
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a>.</p>
-
-<h4>NDK_TOOLCHAIN_VERSION</h4>
-<p>Define this variable as either {@code 4.9} or {@code 4.8} to select a version of the GCC
-compiler. Version 4.9 is the default for 64-bit ABIs, and 4.8 is the default for 32-bit ABIs.
-To select a version of Clang, define this variable as {@code clang3.4}, {@code clang3.5}, or
-{@code clang}. Specifying {@code clang} chooses the most recent version of Clang.</p>
-
-<h4>APP_PIE</h4>
-<p>Starting from Android 4.1 (API level 16), Android's dynamic linker supports position-independent
-executables (PIE). From Android 5.0 (API level 21), executables require PIE.
-
-To use PIE to build your executables, set the {@code -fPIE} flag. This flag makes it harder to
-exploit memory corruption bugs by randomizing code location. By default, {@code ndk-build}
-automatically sets this value to {@code true} if your project targets {@code android-16} or higher.
-You may set it manually to either {@code true} or {@code false}.</p>
-
-<p>This flag applies only to executables. It has no effect when building shared or static
-libraries.</p>
-
-<p class="note"><strong>Note: </strong> PIE executables cannot run on Android releases prior to 4.1.
-<p>This restriction only applies to executables. It has no effect when building shared or static
-libraries.</p>
-
-<h4>APP_THIN_ARCHIVE</h4>
-<p>Sets the default value of {@code LOCAL_THIN_ARCHIVE} in the {@code Android.mk} file for all
-static library modules in this project. For more information, see the documentation for
-{@code LOCAL_THIN_ARCHIVE} on <a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}.</a>
-</p>
diff --git a/docs/html/ndk/guides/arch.jd b/docs/html/ndk/guides/arch.jd
deleted file mode 100644
index 3dafe8f..0000000
--- a/docs/html/ndk/guides/arch.jd
+++ /dev/null
@@ -1,19 +0,0 @@
-page.title=CPUs and Architectures
-@jd:body
-
-<p>When you're working with native code, hardware matters. The NDK lets you ensure you're compiling
-for the right architectures and CPUs by giving you a variety of ABIs from which
-to choose.</p>
-
-<p>This section begins by explaining how to target specific
-<a href="{@docRoot}ndk/guides/abis.html">architectures and CPUs</a>. It then
-provides information you need to know when targeting the
-<a href="{@docRoot}ndk/guides/abis.html">ARM</a>
-family of CPUs and architectures. Next, it provides information about  the other CPUs and
-architectures that it supports: <a href="{@docRoot}ndk/guides/cpu-arm-neon.html">NEON</a>, x86
-(<a href="{@docRoot}ndk/guides/x86.html">32-bit</a> and
-<a href="{@docRoot}ndk/guides/x86-64.html">64-bit</a>), and
-<a href="{@docRoot}ndk/guides/mips.html">MIPS</a>. Finally, it explains how to use the
-<a href="{@docRoot}ndk/guides/cpu-features.html">{@code cpufeatures}</a>
-library, which your app can use to query a given CPU and architecture about the optional
-features they support.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/audio/basics.jd b/docs/html/ndk/guides/audio/basics.jd
deleted file mode 100644
index bdb85fb..0000000
--- a/docs/html/ndk/guides/audio/basics.jd
+++ /dev/null
@@ -1,169 +0,0 @@
-page.title=High-Performance Audio Basics
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#overview">Building Great Audio Apps</a></li>
-        <li><a href="#adding">Adding OpenSL ES to Your App</a></li>
-        <li><a href="#building">Building and Debugging</a></li>
-        <li><a href="#power">Audio Power Consumption</a></li>
-        <li><a href="#samples">Samples</a></li>
-      </ol>
-    </div>
-  </div>
-
-<a href="https://www.youtube.com/watch?v=d3kfEeMZ65c" class="notice-developers-video">
-<div>
-    <h3>Video</h3>
-    <p>Google I/O 2013 - High Performance Audio</p>
-</div>
-</a>
-
-<p>
-The Khronos Group's OpenSL ES™ standard exposes audio features
-similar to those in the {@link android.media.MediaPlayer} and {@link android.media.MediaRecorder}
-APIs in the Android Java framework. OpenSL ES provides a C language interface as well as
-C++ bindings, allowing you to call it from code written in either language.
-</p>
-
-<p>
-This page describes the typical use cases for these high-performance audio APIs, how to add them
-into your app's source code, and how to incorporate them into the build process.
-</p>
-
-<h2 id="overview">Building Great Audio Apps</h2>
-
-<p>
-The OpenSL ES APIs are available to help you develop and improve your app's audio performance.
- Some typical use cases include the following:</p>
-
-<ul>
-  <li>Digital Audio Workstations (DAWs).</li>
-  <li>Synthesizers.</li>
-  <li>Drum machines.</li>
-  <li>Music learning apps.</li>
-  <li>Karaoke apps.</li>
-  <li>DJ mixing.</li>
-  <li>Audio effects.</li>
-  <li>Video/audio conferencing.</li>
-</ul>
-
-<h2 id="adding">Adding OpenSL ES to your App</h2>
-
-<p>
-You can call OpenSL ES from both C and C++ code. To add the core OpenSL ES
-feature set to your app, include the {@code OpenSLES.h} header file:
-
-</p>
-<pre>
-#include &lt;SLES/OpenSLES.h&gt;
-</pre>
-
-<p>
-To add the OpenSL ES <a href="{@docRoot}ndk/guides/audio/opensl-for-android.html#ae">
-Android extensions</a> as well, include the {@code OpenSLES_Android.h} header file:
-</p>
-<pre>
-#include &lt;SLES/OpenSLES_Android.h&gt;
-</pre>
-
-<p>
-When you include the {@code OpenSLES_Android.h} header file, the following headers are included
-automatically:
-</p>
-<pre>
-#include &lt;SLES/OpenSLES_AndroidConfiguration.h&gt;
-#include &lt;SLES/OpenSLES_AndroidMetadata.h&gt;
-</pre>
-
-<p class="note"><strong>Note: </strong>
-These headers are not required, but are shown as an aid in learning the API.
-</p>
-
-<h2 id="building">Building and Debugging</h2>
-
-<p>
-You can incorporate OpenSL ES into your build by specifying it in the
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> file that serves as one of the
-NDK build system's makefiles. Add the following line to
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a>:
-</p>
-
-<pre>
-LOCAL_LDLIBS += -lOpenSLES
-</pre>
-
-<p>
-For robust debugging, we recommend that you examine the {@code SLresult} value that most of
-the OpenSL ES APIs return. You can use
-<a class="external-link" href="http://en.wikipedia.org/wiki/Assertion_(computing)">asserts</a>
-or more advanced error-handling logic for debugging; neither offers
-an inherent advantage for working with OpenSL ES, although one or the other might be more suitable
-for a given use case.
-</p>
-
-<p>
-We use asserts in our <a class="external-link" href="https://github.com/googlesamples/android-ndk">
-examples</a>, because they help catch unrealistic conditions that would indicate a coding error. We
-have used explicit error handling for other conditions more likely to occur in production.
-</p>
-
-<p>
-Many API errors result in a log entry, in addition to a non-zero result code. Such log entries
-can provide additional detail that proves especially useful for relatively complex APIs such as
-<a class="external-link" href="https://www.khronos.org/registry/sles/specs/OpenSL_ES_Specification_1.1.pdf">
-{@code Engine::CreateAudioPlayer}</a>.
-</p>
-
-<p>
-You can view the log either from the command line or from Android Studio. To examine the log from
-the command line, type the following:
-</p>
-
-<pre class="no-pretty-print">
-$ adb logcat
-</pre>
-
-<p>
-To examine the log from Android Studio, either click the <strong>Logcat</strong> tab in the
-<a href="{@docRoot}tools/debugging/debugging-studio.html#runDebug">Debug</a>
-window, or click the <strong>Devices | logcat</strong> tab in the
-<a href="{@docRoot}tools/debugging/debugging-studio.html#systemLogView">Android DDMS</a>
-window.
-</p>
-<h2 id="power">Audio Power Consumption</h2>
-<p>Constantly outputting audio incurs significant power consumption. Ensure that you stop the
- output in the
- <a href="{@docRoot}reference/android/app/Activity.html#onPause()">onPause()</a> method.
- Also consider pausing the silent output after some period of user inactivity.
-</p>
-<h2 id="samples">Samples</h2>
-
-<p>
-Supported and tested example code that you can use as a model for your own code resides both locally
-and on
-<a class="external-link" href="https://github.com/googlesamples/android-audio-high-performance/">
-GitHub</a>. The local examples are located in
-{@code platforms/android-9/samples/native-audio/}, under your NDK root installation directory.
-On GitHub, they are available from the
-<a class="external-link" href="https://github.com/googlesamples/android-ndk">{@code android-ndk}</a>
-repository, in the
-<a class="external-link" href="https://github.com/googlesamples/android-ndk/tree/master/audio-echo">
-{@code audio-echo}</a> and
-<a class="external-link" href="https://github.com/googlesamples/android-ndk/tree/master/native-audio">
-{@code native-audio}</a> directories.
-</p>
-<p>The Android NDK implementation of OpenSL ES differs
-from the reference specification for OpenSL ES 1.0.1 in a number of respects.
-These differences are an important reason as to why sample code that
-you copy directly from the OpenSL ES reference specification may not work in your
-Android app.
-</p>
-<p>
-For more information on differences between the reference specification and the
-Android implementation, see
-<a href="{@docRoot}ndk/guides/audio/opensl-for-android.html">
-OpenSL ES for Android</a>.
diff --git a/docs/html/ndk/guides/audio/floating-point.jd b/docs/html/ndk/guides/audio/floating-point.jd
deleted file mode 100644
index 76efce3..0000000
--- a/docs/html/ndk/guides/audio/floating-point.jd
+++ /dev/null
@@ -1,101 +0,0 @@
-page.title=Floating-Point Audio
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#best">Best Practices for Floating-Point Audio</a></li>
-        <li><a href="#support">Floating-Point Audio in Android SDK</a></li>
-        <li><a href="#more">For More Information</a></li>
-      </ol>
-    </div>
-  </div>
-
-<a href="https://www.youtube.com/watch?v=sIcieUqMml8" class="notice-developers-video">
-<div>
-    <h3>Video</h3>
-    <p>Will it Float? The Glory and Shame of Floating-Point Audio</p>
-</div>
-</a>
-
-<p>Using floating-point numbers to represent audio data can significantly enhance audio
- quality in high-performance audio applications. Floating point offers the following
- advantages:</p>
-
-<ul>
-<li>Wider dynamic range.</li>
-<li>Consistent accuracy across the dynamic range.</li>
-<li>More headroom to avoid clipping during intermediate calculations and transients.</li>
-</ul>
-
-<p>While floating-point can enhance audio quality, it does present certain disadvantages:</p>
-
-<ul>
-<li>Floating-point numbers use more memory.</li>
-<li>Floating-point operations employ unexpected properties, for example, addition is
- not associative.</li>
-<li>Floating-point calculations can sometimes lose arithmetic precision due to rounding or
- numerically unstable algorithms.</li>
-<li>Using floating-point effectively requires greater understanding to achieve accurate
- and reproducible results.</li>
-</ul>
-
-<p>
-  Formerly, floating-point was notorious for being unavailable or slow. This is
-  still true for low-end and embedded processors. But processors on modern
-  mobile devices now have hardware floating-point with performance that is
-  similar (or in some cases even faster) than integer. Modern CPUs also support
-  <a href="http://en.wikipedia.org/wiki/SIMD" class="external-link">SIMD</a>
-  (Single instruction, multiple data), which can improve performance further.
-</p>
-
-<h2 id="best">Best Practices for Floating-Point Audio</h2>
-<p>The following best practices help you avoid problems with floating-point calculations:</p>
-<ul>
-<li>Use double precision floating-point for infrequent calculations,
-such as computing filter coefficients.</li>
-<li>Pay attention to the order of operations.</li>
-<li>Declare explicit variables for intermediate values.</li>
-<li>Use parentheses liberally.</li>
-<li>If you get a NaN or infinity result, use binary search to discover
-where it was introduced.</li>
-</ul>
-
-<h2 id="support">Floating-Point Audio in Android SDK</h2>
-
-<p>For floating-point audio, the audio format encoding
- <code>AudioFormat.ENCODING_PCM_FLOAT</code> is used similarly to
- <code>ENCODING_PCM_16_BIT</code> or <code>ENCODING_PCM_8_BIT</code> for specifying
- AudioTrack data
-formats. The corresponding overloaded method <code>AudioTrack.write()</code>
- takes in a float array to deliver data.</p>
-
-<pre>
-   public int write(float[] audioData,
-        int offsetInFloats,
-        int sizeInFloats,
-        int writeMode)
-</pre>
-
-<h2 id="more">For More Information</h2>
-
-<p>The following Wikipedia pages are helpful in understanding floating-point audio:</p>
-
-<ul>
-<li><a href="http://en.wikipedia.org/wiki/Audio_bit_depth" class="external-link" >Audio bit depth</a></li>
-<li><a href="http://en.wikipedia.org/wiki/Floating_point" class="external-link" >Floating point</a></li>
-<li><a href="http://en.wikipedia.org/wiki/IEEE_floating_point" class="external-link" >IEEE 754 floating-point</a></li>
-<li><a href="http://en.wikipedia.org/wiki/Loss_of_significance" class="external-link" >Loss of significance</a>
- (catastrophic cancellation)</li>
-<li><a href="https://en.wikipedia.org/wiki/Numerical_stability" class="external-link" >Numerical stability</a></li>
-</ul>
-
-<p>The following article provides information on those aspects of floating-point that have a
- direct impact on designers of computer systems:</p>
-<ul>
-<li><a href="http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html" class="external-link" >What every
- computer scientist should know about floating-point arithmetic</a>
-by David Goldberg, Xerox PARC (edited reprint).</li>
-</ul>
diff --git a/docs/html/ndk/guides/audio/index.jd b/docs/html/ndk/guides/audio/index.jd
deleted file mode 100644
index 12d9320..0000000
--- a/docs/html/ndk/guides/audio/index.jd
+++ /dev/null
@@ -1,27 +0,0 @@
-page.title=NDK High-Performance Audio
-@jd:body
-
-<p>The NDK package includes an Android-specific implementation of the
-<a class="external-link" href="https://www.khronos.org/opensles/">OpenSL ES™</a> API
-specification from the <a class="external-link" href="https://www.khronos.org">Khronos Group</a>.
-This library allows you to use C or C++ to implement high-performance, low-latency audio, whether
-you are writing a synthesizer, digital audio workstation, karaoke, game,
- or other real-time app.</p>
-
-<p>This section begins by providing some
-<a href="{@docRoot}ndk/guides/audio/basics.html">basic information</a> about the API, including
-typical use cases and how to incorporate it into your app. It then explains what you need to know
-about the <a href="{@docRoot}ndk/guides/audio/opensl-for-android.html">Android-specific
-implementation</a> of OpenSL ES, focusing on the differences between this implementation and the
-reference specification. Next, you'll learn how to minimze
- <a href="{@docRoot}ndk/guides/audio/input-latency.html">input latency</a>
- when using built-in or external microphones
-and some actions that you can take to minimize
- <a href="{@docRoot}ndk/guides/audio/output-latency.html">output latency</a>.
- It describes the reasons that you should use
- <a href="{@docRoot}ndk/guides/audio/floating-point.html">floating-point</a>
- numbers to represent your audio data, and it provides information that will help you choose the
-optimal <a href="{@docRoot}ndk/guides/audio/sample-rates.html">sample rate</a>. This section
- concludes with some supplemental <a href="{@docRoot}ndk/guides/audio/opensl-prog-notes.html">
- programming notes</a> to ensure proper implementation of OpenSL ES.
- </p>
diff --git a/docs/html/ndk/guides/audio/input-latency.jd b/docs/html/ndk/guides/audio/input-latency.jd
deleted file mode 100644
index f1103fc..0000000
--- a/docs/html/ndk/guides/audio/input-latency.jd
+++ /dev/null
@@ -1,95 +0,0 @@
-page.title=Audio Input Latency
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#check-list">Checklist</a></li>
-        <li><a href="#ways">Ways to Reduce Audio Input Latency</a></li>
-        <li><a href="#avoid">What to Avoid</a></li>
-      </ol>
-    </div>
-  </div>
-
-
-<p>This page provides guidelines to help you reduce audio input latency when recording with a
-built-in microphone or an external headset microphone.</p>
-
-<h2 id="check-list">Checklist</h2>
-
-<p>Here are a few important prerequisites:</p>
-
-<ul>
-  <li>You must use the Android-specific implementation of the
-  <a class="external-link" href="https://www.khronos.org/opensles/">OpenSL ES™</a> API.
-
-  <li>If you haven't already done so, download and install the
-  <a href="{@docRoot}tools/sdk/ndk/index.html">Android NDK</a>.</li>
-
-  <li>Many of the same requirements for low-latency audio output also apply to low-latency input,
-  so read the requirements for low-latency output in
-  <a href="{@docRoot}ndk/guides/audio/output-latency.html">Audio Output Latency</a>.</li>
-</ul>
-
-<h2 id="ways">Ways to Reduce Audio Input Latency</h2>
-
-<p>The following are some methods to help ensure low audio input latency:
-
-<ul>
-  <li>Suggest to your users, if your app relies on low-latency audio, that they use a headset
-(for example, by displaying a <em>Best with headphones</em> screen on first run). Note
-that just using the headset doesn’t guarantee the lowest possible latency. You may need to
-perform other steps to remove any unwanted signal processing from the audio path, such as by
-using the <a href="http://developer.android.com/reference/android/media/MediaRecorder.AudioSource.html#VOICE_RECOGNITION">
-VOICE_RECOGNITION</a> preset when recording.</li>
-
-  <li>It's difficult to test audio input and output latency in isolation. The best solution to
-determine the lowest possible audio input latency is to measure round-trip audio and divide
-by two.</li>
- <li> Be prepared to handle nominal sample rates of 44,100 and 48,000 Hz as reported by
-<a href="{@docRoot}reference/android/media/AudioManager.html#getProperty(java.lang.String)">
-getProperty(String)</a> for
-<a href="{@docRoot}reference/android/media/AudioManager.html#PROPERTY_OUTPUT_SAMPLE_RATE">
-PROPERTY_OUTPUT_SAMPLE_RATE</a>. Other sample rates are possible, but rare.</li>
-
-  <li>Be prepared to handle the buffer size reported by
-<a href="{@docRoot}reference/android/media/AudioManager.html#getProperty(java.lang.String)">
-getProperty(String)</a> for
-<a href="{@docRoot}reference/android/media/AudioManager.html#PROPERTY_OUTPUT_FRAMES_PER_BUFFER">
-PROPERTY_OUTPUT_FRAMES_PER_BUFFER</a>. Typical buffer sizes include 96, 128, 160, 192, 240, 256,
-or 512 frames, but other values are possible.</li>
-</ul>
-
-<h2 id="avoid">What to Avoid</h2>
-
-<p>Be sure to take these things into account to help avoid latency issues:</p>
-
-<ul>
-  <li>Don’t assume that the speakers and microphones used in mobile devices generally have good
-acoustics. Due to their small size, the acoustics are generally poor so signal processing is
-added to improve the sound quality. This signal processing introduces latency.</li>
-
-  <li>Don't assume that your input and output callbacks are synchronized. For simultaneous input
-and output, separate buffer queue completion handlers are used for each side. There is no
-guarantee of the relative order of these callbacks or the synchronization of the audio clocks,
-even when both sides use the same sample rate. Your application should buffer the data with
-proper buffer synchronization.</li>
-
-  <li>Don't assume that the actual sample rate exactly matches the nominal sample rate. For
-example, if the nominal sample rate is 48,000 Hz, it is normal for the audio clock to advance
-at a slightly different rate than the operating system {@code CLOCK_MONOTONIC}. This is because
-the audio and system clocks may derive from different crystals.</li>
-
-  <li>Don't assume that the actual playback sample rate exactly matches the actual capture sample
-rate, especially if the endpoints are on separate paths. For example, if you are capturing from
-the on-device microphone at 48,000 Hz nominal sample rate, and playing on USB audio
-at 48,000 Hz nominal sample rate, the actual sample rates are likely to be slightly different
-from each other.</li>
-</ul>
-
-<p>A consequence of potentially independent audio clocks is the need for asynchronous sample rate
-conversion. A simple (though not ideal for audio quality) technique for asynchronous sample rate
-conversion is to duplicate or drop samples as needed near a zero-crossing point. More
-sophisticated conversions are possible.</p>
diff --git a/docs/html/ndk/guides/audio/opensl-for-android.jd b/docs/html/ndk/guides/audio/opensl-for-android.jd
deleted file mode 100644
index fa5e260..0000000
--- a/docs/html/ndk/guides/audio/opensl-for-android.jd
+++ /dev/null
@@ -1,1211 +0,0 @@
-page.title=OpenSL ES for Android
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#getstarted">Getting Started</a></li>
-        <li><a href="#inherited">Features Inherited from the Reference Specification</a></li>
-        <li><a href="#planning">Planning for Future Versions of OpenSL ES</a></li>
-        <li><a href="#ae">Android Extensions</a></li>
-        <li><a href="#notes">Programming Notes</a></li>
-        <li><a href="#platform-issues">Platform Issues</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>
-This page provides details about how the
-<a href="{@docRoot}tools/sdk/ndk/index.html">NDK</a> implementation of OpenSL
-ES™ differs from the reference specification for OpenSL ES 1.0.1. When using sample code from the
-specification, you may need to modify it to work on Android.
-</p>
-
-<p>
-Unless otherwise noted, all features are available at Android 2.3 (API level 9) and higher.
- Some features are only available for Android 4.0 (API level 14); these are noted.
-</p>
-
-<p class="note"><strong>Note: </strong>
-The Android Compatibility Definition Document (CDD) enumerates the hardware and software
-requirements of a compatible Android device. See
-<a class="external-link" href="https://source.android.com/compatibility/">Android Compatibility</a>
-for more information on the overall compatibility program, and
-<a class="external-link" href="https://static.googleusercontent.com/media/source.android.com/en//compatibility/android-cdd.pdf">
-CDD</a> for the actual CDD document.
-</p>
-
-<p>
-<a class="external-link" href="https://www.khronos.org/opensles/">OpenSL ES</a> provides a C
-language interface that is also accessible using C++. It exposes features similar to the audio
-portions of these Android Java APIs:
-</p>
-
-<ul>
-  <li><a href="{@docRoot}reference/android/media/MediaPlayer.html">
-  android.media.MediaPlayer</a></li>
-  <li><a href="{@docRoot}reference/android/media/MediaRecorder.html">
-  android.media.MediaRecorder</a></li>
-</ul>
-
-<p>
-As with all of the Android Native Development Kit (NDK), the primary purpose of OpenSL ES for
-Android is to facilitate the implementation of shared libraries to be called using the Java Native
-Interface (<a class="external-link" href="https://en.wikipedia.org/wiki/Java_Native_Interface">JNI
-</a>). NDK is not intended for writing pure C/C++ applications. However, OpenSL ES is a
-full-featured API, and we expect that you should be able to accomplish most of your audio needs
-using only this API, without up-calls to code running in the Android runtime.
-</p>
-
-<p class="note"><strong>Note: </strong>
-Though based on OpenSL ES, the Android native audio (high-performance audio) API  is not a
-conforming implementation of any OpenSL ES 1.0.1 profile (game, music, or phone). This is because
-Android does not implement all of the features required by any one of the profiles. Any known cases
-where Android behaves differently than the specification are described in the <a href="#ae">
-Android extensions</a> section below.
-</p>
-
-<h2 id="getstarted">Getting Started</h2>
-
-<p>
-This section provides the information needed to get started using the OpenSL ES APIs.
-</p>
-
-<h3>Example code</h3>
-
-<p>
-We recommend using supported and tested example code that is usable as a model for your own
-code, which is located in the NDK folder {@code platforms/android-9/samples/native-audio/}, as well
-as in the
-<a class="external-link" href="https://github.com/googlesamples/android-ndk/tree/master/audio-echo">audio-echo</a>
-and
-<a class="external-link" href="https://github.com/googlesamples/android-ndk/tree/master/native-audio">native-audio</a>
-folders of the
-<a class="external-link" href="https://github.com/googlesamples/android-ndk">android-ndk</a> GitHub
-repository.
-</p>
-
-<p class="caution"><strong>Caution: </strong>
-The OpenSL ES 1.0.1 specification contains example code in the appendices (see
-<a class="external-link" href="https://www.khronos.org/registry/sles/">Khronos OpenSL ES Registry</a>
-for more details). However, the examples in <em>Appendix B: Sample Code</em> and
-<em>Appendix C: Use Case Sample Code</em> use features that are not supported by Android. Some
-examples also contain typographical errors, or use APIs that are likely to change. Proceed with
-caution when referring to these; though the code may be helpful in understanding the full OpenSL ES
-standard, it should not be used as-is with Android.
-</p>
-
-<h3>Makefile</h3>
-
-<p>
-Modify your {@code Android.mk} file as follows:
-</p>
-<pre>
-LOCAL_LDLIBS += -lOpenSLES
-</pre>
-
-<h3>Audio content</h3>
-
-<p>
-The following are some of the many ways to package audio content for your application:
-</p>
-
-<ul>
-  <li><strong>Resources</strong>: By placing your audio files into the {@code res/raw/} folder,
-  they can be accessed easily by the associated APIs for
-  <a href="{@docRoot}reference/android/content/res/Resources.html">Resources</a>.
-  However, there is no direct native access to resources, so you must write Java
-  programming language code to copy them out before use.</li>
-  <li><strong>Assets</strong>: By placing your audio files into the {@code assets/} folder, they
-  are directly accessible by the Android native asset manager APIs. See the header files {@code
-  android/asset_manager.h} and {@code android/asset_manager_jni.h} for more information on these
-  APIs. The example code located in the NDK folder {@code platforms/android-9/samples/native-audio/}
-  uses these native asset manager APIs in conjunction with the Android file descriptor data
-  locator.</li>
-  <li><strong>Network</strong>: You can use the URI data locator to play audio content directly
-  from the network. However, be sure to read the <a href="#sandp">Security and permissions</a>
-  section below.</li>
-  <li><strong>Local file system</strong>: The URI data locator supports the {@code file:} scheme
-  for local files, provided the files are accessible by the application. Note that the Android
-  security framework restricts file access via the Linux user ID and group ID mechanisms.</li>
-  <li><strong>Recorded</strong>: Your application can record audio data from the microphone input,
-  store this content, and then play it back later. The example code uses this method for the <em>
-  Playback</em> clip.</li>
-  <li><strong>Compiled and linked inline</strong>: You can link your audio content directly into
-  the shared library, and then play it using an audio player with buffer queue data locator. This
-  is most suitable for short PCM format clips. The example code uses this technique for the <em>
-  Hello</em> and <em>Android</em> clips. The PCM data was converted to hex strings using a
-  {@code bin2c} tool (not supplied).</li>
-  <li><strong>Real-time synthesis</strong>: Your application can synthesize PCM data on the fly and
-  then play it using an audio player with buffer queue data locator. This is a relatively advanced
-  technique, and the details of audio synthesis are beyond the scope of this article.</li>
-</ul>
-
-<p class="note"><strong>Note: </strong>
-Finding or creating useful audio content for your application is beyond the scope of this article.
-You can use web search terms such as <em>interactive audio</em>, <em>game audio</em>, <em>sound
-design</em>, and <em>audio programming</em> to locate more information. 
-</p>
-<p class="caution"><strong>Caution:</strong> It is your responsibility
-to ensure that you are legally permitted to play or record content. There may be privacy
-considerations for recording content.
-</p>
-
-<h2 id="inherited">Features Inherited from the Reference Specification</h2>
-
-<p>
-The Android NDK implementation of OpenSL ES inherits much of the feature set from
-the reference specification, with certain limitations.
-</p>
-
-<h3>Global entry points</h3>
-
-<p>
-OpenSL ES for Android supports all of the global entry points in the Android specification.
-These entry points include:
-</p>
-
-<ul>
-<li>{@code slCreateEngine}
-</li>
-<li>{@code slQueryNumSupportedEngineInterfaces}</code>
-</li>
-<li>{@code slQuerySupportedEngineInterfaces}</code>
-</li>
-</ul>
-
-<h3>Objects and interfaces</h3>
-
-<p>
-Table 1 shows the objects and interfaces that the Android NDK implementation of
-OpenSL ES supports. If a <em>Yes</em> appears in the cell, then the feature is available in this
-implementation.
-</p>
-
-<p class="table-caption" id="Objects-and-interfaces">
-  <strong>Table 1.</strong> Android NDK support for objects and interfaces.</p>
-<table>
-  <tr>
-    <th scope="col">Feature</th>
-    <th scope="col">Audio player</th>
-    <th scope="col">Audio recorder</th>
-    <th scope="col">Engine</th>
-    <th scope="col">Output mix</th>
-  </tr>
-  <tr>
-    <td>Bass boost</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>Yes</td>
-  </tr>
-  <tr>
-    <td>Buffer queue</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Dynamic interface management</td>
-    <td>Yes</td>
-    <td>Yes</td>
-    <td>Yes</td>
-    <td>Yes</td>
-  </tr>
-  <tr>
-    <td>Effect send</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Engine</td>
-    <td>No</td>
-    <td>No</td>
-    <td>Yes</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Environmental reverb</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-    <td>Yes</td>
-  </tr>
-  <tr>
-    <td>Equalizer</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>Yes</td>
-  </tr>
-  <tr>
-    <td>Metadata extraction</td>
-    <td>Yes: Decode to PCM</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Mute solo</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Object</td>
-    <td>Yes</td>
-    <td>Yes</td>
-    <td>Yes</td>
-    <td>Yes</td>
-  </tr>
-  <tr>
-    <td>Play</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Playback rate</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Prefetch status</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Preset reverb</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-    <td>Yes</td>
-  </tr>
-  <tr>
-    <td>Record</td>
-    <td>No</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Seek</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Virtualizer</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>Yes</td>
-  </tr>
-  <tr>
-    <td>Volume</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Buffer queue data locator</td>
-    <td>Yes: Source</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>I/O device data locator</td>
-    <td>No</td>
-    <td>Yes: Source</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Output mix locator</td>
-    <td>Yes: Sink</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>URI data locator</td>
-    <td>Yes: Source</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  </table>
-
-<p>
-The next section explains the limitations for some of these features.
-</p>
-
-<h3>Limitations</h3>
-
-<p>
-Certain limitations apply to the features in Table 1. These limitations
-represent differences from the reference specification. The rest of this section provides
-information about these differences.</p>
-
-<h4>Dynamic interface management</h4>
-
-<p>
-OpenSL ES for Android does not support {@code RemoveInterface} or
-{@code ResumeInterface}.
-</p>
-
-<h4>Effect combinations: environment reverb and preset reverb</h4>
-
-<p>
-You cannot have both environmental reverb and preset reverb on the same output mix.
-</p>
-<p>
-The platform might ignore effect requests if it estimates that the
-CPU load would be too high.
-</p>
-
-<h4>Effect send</h4>
-
-<p>
-<code>SetSendLevel()</code> supports a single send level per audio player.
-</p>
-
-<h4>Environmental reverb</h4>
-
-<p>
-Environmental reverb does not support the <code>reflectionsDelay</code>,
-<code>reflectionsLevel</code>, or <code>reverbDelay</code> fields of
-the <code>SLEnvironmentalReverbSettings</code> struct.
-</p>
-
-<h4>MIME data format</h4>
-
-<p>
-You can use the MIME data format only with the URI data locator, and only for an audio
-player. You cannot use this data format for an audio recorder.
-</p>
-<p>
-The Android implementation of OpenSL ES requires you to initialize <code>mimeType</code>
-to either <code>NULL</code> or a valid UTF-8 string. You must also initialize
-<code>containerType</code> to a valid value.
-In the absence of other considerations, such as portability to other
-implementations or content format that an app cannot identify by header,
-we recommend that you
-set <code>mimeType</code> to <code>NULL</code> and <code>containerType</code>
-to <code>SL_CONTAINERTYPE_UNSPECIFIED</code>.
-</p>
-<p>
-OpenSL ES for Android supports the following audio formats, so long as the
-Android platform supports them as well:</p>
-
-<ul>
-<li><a class="external-link" href="https://en.wikipedia.org/wiki/WAV">WAV</a> PCM.</li>
-<li>WAV alaw.</li>
-<li>WAV ulaw.</li>
-<li>MP3 Ogg Vorbis.</li>
-<li>AAC LC.</li>
-<li>HE-AACv1 (AAC+).</li>
-<li>HE-AACv2 (enhanced AAC+).</li>
-<li>AMR.</li>
-<li>FLAC.</li>
-</ul>
-
-<p class="note"><strong>Note: </strong>
-For a list of audio formats that Android supports, see
-<a href="{@docRoot}guide/appendix/media-formats.html">Supported Media Formats</a>.
-</p>
-
-<p>
-The following limitations apply to the handling of these and other formats in this
-implementation of OpenSL ES:
-</p>
-
-<ul>
-<li><a class="external-link" href="https://en.wikipedia.org/wiki/Advanced_Audio_Coding">AAC</a>
-formats must reside within an MP4 or ADTS container.</li>
-<li>OpenSL ES for Android does not support
-<a class="external-link" href="https://source.android.com/devices/audio/midi.html">MIDI</a>.</li>
-<li>WMA is not part of <a class="external-link" href="https://source.android.com/">AOSP</a>, and we
-have not verified its compatibility with OpenSL ES for Android.</li>
-<li>The Android NDK implementation of OpenSL ES does not support direct
-playback of DRM or encrypted content. To play back protected audio content, you must
-decrypt it in your application before playing, with your app enforcing any DRM
-restrictions.</li>
-</ul>
-
-<h4>Object-related methods</h4>
-
-<p>
-OpenSL ES for Android does not support the following methods for manipulating objects:
-</p>
-
-<ul>
-<li>{@code Resume()}</li>
-<li>{@code RegisterCallback()}</li>
-<li>{@code AbortAsyncOperation()}</li>
-<li>{@code SetPriority()}</li>
-<li>{@code GetPriority()}</li>
-<li>{@code SetLossOfControlInterfaces()}</li>
-</ul>
-
-<h4>PCM data format</h4>
-
-<p>
-PCM is the only data format you can use with buffer queues. Supported PCM
-playback configurations have the following characteristics:
-</p>
-
-<ul>
-<li>8-bit unsigned or 16-bit signed.</li>
-<li>Mono or stereo.</li>
-<li>Little-endian byte ordering.</li>
-<li>Sample rates of:
-  <ul>
-    <li>8,000 Hz.</li>
-    <li>11,025 Hz.</li>
-    <li>12,000 Hz.</li>
-    <li>16,000 Hz.</li>
-    <li>22,050 Hz.</li>
-    <li>24,000 Hz.</li>
-    <li>32,000 Hz.</li>
-    <li>44,100 Hz.</li>
-    <li>48,000 Hz.</li>
-  </ul></li>
-</ul>
-
-<p>
-The configurations that OpenSL ES for Android supports for recording are
-device-dependent; usually, 16,000 Hz mono/16-bit signed is available regardless of the device.
-</p>
-<p>
-The value of the <code>samplesPerSec</code> field is in units of milliHz, despite the misleading
-name. To avoid accidentally using the wrong value, we recommend that you initialize this field using
-one of the symbolic constants defined for this purpose, such as {@code SL_SAMPLINGRATE_44_1}.
-</p>
-<p>
-Android 5.0 (API level 21) and above support <a href="#fp">floating-point data</a>.
-</p>
-
-<h4>Playback rate</h4>
-
-<p>
-An OpenSL ES <i>playback rate</i> indicates the speed at which an
-object presents data, expressed in thousandths of normal speed, or <i>per mille</i>. For example,
-a playback rate of 1,000 per mille is 1,000/1,000, or normal speed.
-A <i>rate range</i> is a closed interval that expresses possible rate ranges.
-</p>
-
-<p>
-Support for playback-rate ranges and other capabilities may vary depending
-on the platform version and implementation. Your app can determine these capabilities at runtime by
-using <code>PlaybackRate::GetRateRange()</code> or
-<code>PlaybackRate::GetCapabilitiesOfRate()</code> to query the device.
-</p>
-
-<p>
-A device typically supports the same rate range for a data source in PCM format, and a unity rate
-range of 1000 per mille to 1000 per mille for other formats: that is, the unity rate range is
-effectively a single value.
-</p>
-
-<h4>Record</h4>
-
-<p>
-OpenSL ES for Android does not support the <code>SL_RECORDEVENT_HEADATLIMIT</code>
-or <code>SL_RECORDEVENT_HEADMOVING</code> events.
-</p>
-
-<h4>Seek</h4>
-
-<p>
-The <code>SetLoop()</code> method enables whole-file looping. To enable looping,
-set the <code>startPos</code> parameter to 0, and the value of the <code>endPos</code> parameter
-to <code>SL_TIME_UNKNOWN</code>.
-</p>
-
-<h4>Buffer queue data locator</h4>
-
-<p>
-An audio player or recorder with a data locator for a buffer queue supports PCM data format only.
-</p>
-
-<h4>I/O device data locator</h4>
-
-<p>
-OpenSL ES for Android only supports use of an I/O device data locator when you have
-specified the locator as the data source for <code>Engine::CreateAudioRecorder()</code>.
-Initialize the device data locator using the values contained in the following code snippet.
-</p>
-
-<pre>
-SLDataLocator_IODevice loc_dev =
-  {SL_DATALOCATOR_IODEVICE, SL_IODEVICE_AUDIOINPUT,
-  SL_DEFAULTDEVICEID_AUDIOINPUT, NULL};
-</pre>
-
-<h4>URI data locator</h4>
-
-<p>
-OpenSL ES for Android can only use the URI data locator with MIME data format,
-and only for an audio player. You cannot use this data format for an audio recorder. It supports
-{@code http:} and {@code file:} schemes. It does not support other schemes, such as {@code https:},
-{@code ftp:}, or
-{@code content:}.
-</p>
-
-<p>
-We have not verified support for {@code rtsp:} with audio on the Android platform.
-</p>
-
-<h4>Data structures</h4>
-
-<p>
-Android supports these OpenSL ES 1.0.1 data structures:
-</p>
-<ul>
-  <li>{@code SLDataFormat_MIME}</li>
-  <li>{@code SLDataFormat_PCM}</li>
-  <li>{@code SLDataLocator_BufferQueue}</li>
-  <li>{@code SLDataLocator_IODevice}</li>
-  <li>{@code SLDataLocator_OutputMix}</li>
-  <li>{@code SLDataLocator_URI}</li>
-  <li>{@code SLDataSink}</li>
-  <li>{@code SLDataSource}</li>
-  <li>{@code SLEngineOption}</li>
-  <li>{@code SLEnvironmentalReverbSettings}</li>
-  <li>{@code SLInterfaceID}</li>
-</ul>
-
-<h4>Platform configuration</h4>
-
-<p>
-OpenSL ES for Android is designed for multi-threaded applications and is thread-safe. It supports a
-single engine per application, and up to 32 objects per engine. Available device memory and CPU may
-further restrict the usable number of objects.
-</p>
-
-<p>
-These engine options are recognized, but ignored by {@code slCreateEngine}:
-</p>
-
-<ul>
-  <li>{@code SL_ENGINEOPTION_THREADSAFE}</li>
-  <li>{@code SL_ENGINEOPTION_LOSSOFCONTROL}</li>
-</ul>
-
-<p>
-OpenMAX AL and OpenSL ES may be used together in the same application. In this case, there is
-a single shared engine object internally, and the 32 object limit is shared between OpenMAX AL
-and OpenSL ES. The application should first create both engines, use both engines, and finally
-destroy both engines. The implementation maintains a reference count on the shared engine so that
-it is correctly destroyed during the second destroy operation.
-</p>
-
-<h2 id="planning">Planning for Future Versions of OpenSL ES</h2>
-
-<p>
-The Android high-performance audio APIs are based on
-<a class="external-link" href="https://www.khronos.org/registry/sles/">Khronos Group OpenSL ES
-1.0.1</a>. Khronos has released a revised version 1.1 of the standard. The
-revised version includes new features, clarifications, corrections of typographical errors, and
-some incompatibilities. Most of the expected incompatibilities are relatively minor or are in
-areas of OpenSL ES that are not supported by Android.
-</p>
-
-<p>
-An application
-developed with this version should work on future versions of the Android platform, provided
-that you follow the guidelines that are outlined in the <a href="#binary-compat">Planning for
-binary compatibility</a> section below.
-</p>
-
-<p class="note"><strong>Note: </strong>
-Future source compatibility is not a goal. That is, if you upgrade to a newer version of the NDK,
-you may need to modify your application source code to conform to the new API. We expect that most
-such changes will be minor; see details below.
-</p>
-
-<h3 id="binary-compat">Planning for binary compatibility</h3>
-
-<p>
-We recommend that your application follow these guidelines to improve future binary compatibility:
-</p>
-
-<ul>
-  <li>Use only the documented subset of Android-supported features from OpenSL ES 1.0.1.</li>
-  <li>Do not depend on a particular result code for an unsuccessful operation; be prepared to deal
-  with a different result code.</li>
-  <li>Application callback handlers generally run in a restricted context. They should be written
-  to perform their work quickly, and then return as soon as possible. Do not run complex operations
-  within a callback handler. For example, within a buffer queue completion callback, you can
-  enqueue another buffer, but do not create an audio player.</li>
-  <li>Callback handlers should be prepared to be called more or less frequently, to receive
-  additional event types, and should ignore event types that they do not recognize. Callbacks that
-  are configured with an event mask made of enabled event types should be prepared to be called
-  with multiple event type bits set simultaneously. Use "&" to test for each event bit rather than
-  a switch case.</li>
-  <li>Use prefetch status and callbacks as a general indication of progress, but do not depend on
-  specific hard-coded fill levels or callback sequences. The meaning of the prefetch status fill
-  level, and the behavior for errors that are detected during prefetch, may change.</li>
-</ul>
-
-<p class="note"><strong>Note: </strong>
-See the <a href="#bq-behavior">Buffer queue behavior</a> section below for more details.
-</p>
-
-<h3>Planning for source compatibility</h3>
-
-<p>
-As mentioned, source code incompatibilities are expected in the next version of OpenSL ES from
-Khronos Group. The likely areas of change include:
-</p>
-
-<ul>
-  <li>The buffer queue interface is expected to have significant changes, especially in the areas
-  of {@code BufferQueue::Enqueue}, the parameter list for {@code slBufferQueueCallback}, and the
-  name of field {@code SLBufferQueueState.playIndex}. We recommend that your application code use
-  Android simple buffer queues instead. In the example
-  code that is supplied with the NDK, we have used Android simple buffer queues for playback for
-  this reason. (We also use Android simple buffer queue for recording and decoding to PCM, but that
-  is because standard OpenSL ES 1.0.1 does not support record or decode to a buffer queue data
-  sink.)</li>
-  <li>There will be an addition of {@code const} to the input parameters passed by reference, and
-  to {@code SLchar *} struct fields used as input values. This should not require any changes to
-  your code.</li>
-  <li>There will be a substitution of unsigned types for some parameters that are currently signed.
-  You may need to change a parameter type from {@code SLint32} to {@code SLuint32} or similar, or
-  add a cast.</li>
-  <li>{@code Equalizer::GetPresetName} copies the string to application memory instead of returning
-  a pointer to implementation memory. This will be a significant change, so we recommend that you
-  either avoid calling this method, or isolate your use of it.</li>
-  <li>There will be additional fields in the struct types. For output parameters, these new fields
-  can be ignored, but for input parameters the new fields will need to be initialized. Fortunately,
-  all of these are expected to be in areas that are not supported by Android.</li>
-  <li>Interface <a class="external-link" href="http://en.wikipedia.org/wiki/Globally_unique_identifier">
-  GUIDs</a> will change. Refer to interfaces by symbolic name rather than GUID to avoid a
-  dependency.</li>
-  <li>{@code SLchar} will change from {@code unsigned char} to {@code char}. This primarily affects
-  the URI data locator and MIME data format.</li>
-  <li>{@code SLDataFormat_MIME.mimeType} will be renamed to {@code pMimeType}, and
-  {@code SLDataLocator_URI.URI} will be renamed to {@code pURI}. We recommend that you initialize
-  the {@code SLDataFormat_MIME} and {@code SLDataLocator_URI} data structures using a
-  brace-enclosed, comma-separated list of values, rather than by field name, to isolate your code
-  from this change. This technique is used in the example code.</li>
-  <li>{@code SL_DATAFORMAT_PCM} does not permit the application to specify the representation of
-  the data as signed integer, unsigned integer, or floating-point. The Android implementation
-  assumes that 8-bit data is unsigned integer and 16-bit is signed integer. In addition, the field
-  {@code samplesPerSec} is a misnomer, as the actual units are milliHz. These issues are expected
-  to be addressed in the next OpenSL ES version, which will introduce a new extended PCM data
-  format that permits the application to explicitly specify the representation and corrects the
-  field name. As this will be a new data format, and the current PCM data format will still be
-  available (though deprecated), it should not require any immediate changes to your code.</li>
-</ul>
-
-<h2 id="ae">Android Extensions</h2>
-
-<p>
-OpenSL ES for Android extends the reference OpenSL ES specification to make it compatible with
-Android, and to take advantage of the power and flexibility of the Android platform.
-</p>
-
-<p>
-The definition of the API for the Android extensions resides in <code>OpenSLES_Android.h</code>
-and the header files that it includes. Consult {@code OpenSLES_Android.h}
-for details about these extensions. This file is located under your installation root, in the
-{@code platforms/android-&lt;version&gt;/&lt;abi&gt;/include/SLES} directory. Unless otherwise
-noted, all interfaces are explicit.
-</p>
-
-<p>
-These extensions limit your application's portability to
-other OpenSL ES implementations, because they are Android-specific. You can mitigate this issue by
-avoiding use of the extensions or by using {@code #ifdef} to exclude them at compile time.
-</p>
-
-<p>
-Table 2 shows the Android-specific interfaces and data locators that Android OpenSL ES supports
-for each object type. The <em>Yes</em> values in the cells indicate the interfaces and data
-locators that are available for each object type.
-</p>
-
-<p class="table-caption" id="Android-extensions">
-  <strong>Table 2.</strong> Interfaces and data locators, by object type.</p>
-<table>
-  <tr>
-    <th scope="col">Feature</th>
-    <th scope="col">Audio player</th>
-    <th scope="col">Audio recorder</th>
-    <th scope="col">Engine</th>
-    <th scope="col">Output mix</th>
-  </tr>
-  <tr>
-    <td>Android buffer queue</td>
-    <td>Yes: Source (decode)</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Android configuration</td>
-    <td>Yes</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Android effect</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>Yes</td>
-  </tr>
-  <tr>
-    <td>Android effect capabilities</td>
-    <td>No</td>
-    <td>No</td>
-    <td>Yes</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Android effect send</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Android simple buffer queue</td>
-    <td>Yes: Source (playback) or sink (decode)</td>
-    <td>Yes</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Android buffer queue data locator</td>
-    <td>Yes: Source (decode)</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Android file descriptor data locator</td>
-    <td>Yes: Source</td>
-    <td>No</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-  <tr>
-    <td>Android simple buffer queue data locator</td>
-    <td>Yes: Source (playback) or sink (decode)</td>
-    <td>Yes: Sink</td>
-    <td>No</td>
-    <td>No</td>
-  </tr>
-</table>
-
-<h3 id="configuration-interface">Android configuration interface</h3>
-
-<p>
-The Android configuration interface provides a means to set
-platform-specific parameters for objects. This interface is different from other OpenSL ES
-1.0.1 interfaces in that your app can use it before instantiating the corresponding object; thus,
-you can configure the object before instantiating it. The
-{@code OpenSLES_AndroidConfiguration.h} header file</code>, which resides at
-{@code platforms/android-&lt;version&gt;/&lt;abi&gt;/include/SLES},
-documents the following available configuration keys and values:
-</p>
-
-<ul>
-<li>Stream type for audio players (default <code>SL_ANDROID_STREAM_MEDIA</code>).</li>
-<li>Record profile for audio recorders (default <code>SL_ANDROID_RECORDING_PRESET_GENERIC</code>).
-</li>
-</ul>
-
-<p>
-The following code snippet shows an example of how to set the Android audio stream type on an audio
-player:
-</p>
-
-<pre>
-// CreateAudioPlayer and specify SL_IID_ANDROIDCONFIGURATION
-// in the required interface ID array. Do not realize player yet.
-// ...
-SLAndroidConfigurationItf playerConfig;
-result = (*playerObject)-&gt;GetInterface(playerObject,
-    SL_IID_ANDROIDCONFIGURATION, &amp;playerConfig);
-assert(SL_RESULT_SUCCESS == result);
-SLint32 streamType = SL_ANDROID_STREAM_ALARM;
-result = (*playerConfig)-&gt;SetConfiguration(playerConfig,
-    SL_ANDROID_KEY_STREAM_TYPE, &amp;streamType, sizeof(SLint32));
-assert(SL_RESULT_SUCCESS == result);
-// ...
-// Now realize the player here.
-</pre>
-
-<p>
-You can use similar code to configure the preset for an audio recorder:
-</p>
-<pre>
-// ... obtain the configuration interface as the first four lines above, then:
-SLuint32 presetValue = SL_ANDROID_RECORDING_PRESET_VOICE_RECOGNITION;
-result = (*playerConfig)-&gt;SetConfiguration(playerConfig,
-    RECORDING_PRESET, &amp;presetValue, sizeof(SLuint32));
-</pre>
-
-<h3>Android effects interfaces</h3>
-
-<p>
-Android's effect, effect send, and effect capabilities interfaces provide
-a generic mechanism for an application to query and use device-specific
-audio effects. Device manufacturers should document any available device-specific audio effects
-that they provide.
-</p>
-
-<p>
-Portable applications should use the OpenSL ES 1.0.1 APIs for audio effects instead of the Android
-effect extensions.
-</p>
-
-<h3>Android file descriptor data locator</h3>
-
-<p>
-The Android file descriptor data locator permits you to specify the source for an
-audio player as an open file descriptor with read access. The data format must be MIME.
-</p>
-<p>
-This extension is especially useful in conjunction with the native asset manager, because
-the app reads assets from the APK via a file descriptor.
-</p>
-
-<h3 id="simple">Android simple buffer queue data locator and interface</h3>
-
-<p>
-The Android simple buffer queue data locator and interface are
-identical to those in the OpenSL ES 1.0.1 reference specification, with two exceptions: You
-can also use Android simple buffer queues with both audio players and audio recorders. Also, PCM
-is the only data format you can use with these queues.
-In the reference specification, buffer queues are for audio players only, but they are
-compatible with data formats beyond PCM.
-</p>
-<p>
-For recording, your app should enqueue empty buffers. When a registered callback sends
-notification that the system has finished writing data to the buffer, the app can
-read the buffer.
-</p>
-<p>
-Playback works in the same way. For future source code
-compatibility, however, we suggest that applications use Android simple
-buffer queues instead of OpenSL ES 1.0.1 buffer queues.
-</p>
-
-<h3 id="dynamic-interfaces">Dynamic interfaces at object creation</h3>
-
-<p>
-For convenience, the Android implementation of OpenSL ES 1.0.1
-permits your app to specify dynamic interfaces when it instantiates an object.
-This is an alternative to using <code>DynamicInterfaceManagement::AddInterface()</code>
-to add these interfaces after instantiation.
-</p>
-
-<h3 id="bq-behavior">Buffer queue behavior</h3>
-
-<p>
-The Android implementation does not include the
-reference specification's requirement that the play cursor return to the beginning
-of the currently playing buffer when playback enters the {@code SL_PLAYSTATE_STOPPED}
-state. This implementation can conform to that behavior, or it can leave the location of the play
-cursor unchanged.
-</p>
-
-<p>
-As a result, your app cannot assume that either behavior occurs. Therefore,
-you should explicitly call the <code>BufferQueue::Clear()</code> method after a transition to
-<code>SL_PLAYSTATE_STOPPED</code>. Doing so sets the buffer queue to a known state.
-</p>
-
-<p>
-Similarly, there is no specification governing whether the trigger for a buffer queue callback must
-be a transition to <code>SL_PLAYSTATE_STOPPED</code> or execution of
-<code>BufferQueue::Clear()</code>. Therefore, we recommend that you do not create a dependency on
-one or the other; instead, your app should be able to handle both.
-</p>
-
-<h3>Reporting of extensions</h3>
-<p>
-There are three methods for querying whether the platform supports the Android extensions. These
-methods are:
-</p>
-
-<ul>
-<li><code>Engine::QueryNumSupportedExtensions()</code></li>
-<li><code>Engine::QuerySupportedExtension()</code></li>
-<li><code>Engine::IsExtensionSupported()</code></li>
-</ul>
-
-<p>
-Any of these methods returns <code>ANDROID_SDK_LEVEL_&lt;API-level&gt;</code>,
-where {@code API-level} is the platform API level; for example, {@code ANDROID_SDK_LEVEL_23}.
-A platform API level of 9 or higher means that the platform supports the extensions.
-</p>
-
-
-<h3 id="da">Decode audio to PCM</h3>
-
-<p>
-This section describes a deprecated Android-specific extension to OpenSL ES 1.0.1
-for decoding an encoded stream to PCM without immediate playback.
-The table below gives recommendations for use of this extension and alternatives.
-</p>
-
-<table>
-<tr>
-  <th>API level</th>
-  <th>Alternatives</th>
-</tr>
-<tr>
-  <td>13 and below</td>
-  <td>An open-source codec with a suitable license</td>
-</tr>
-<tr>
-  <td>14 to 15</td>
-  <td>An open-source codec with a suitable license</td>
-</tr>
-<tr>
-  <td>16 to 20</td>
-  <td>
-    The {@link android.media.MediaCodec} class or an open-source codec with a suitable license
-  </td>
-</tr>
-<tr>
-  <td>21 and above</td>
-  <td>
-    NDK MediaCodec in the {@code &lt;media/NdkMedia*.h&gt;} header files, the
-    {@link android.media.MediaCodec} class, or an open-source codec with a suitable license
-  </td>
-</tr>
-</table>
-
-<p class="note"><strong>Note: </strong>
-There is currently no documentation for the NDK version of the {@code MediaCodec} API. However,
-you can refer to the
-<a class="external-link" href="https://github.com/googlesamples/android-ndk/tree/master/native-codec">
-native-codec</a> sample code for an example.
-</p>
-
-<p>
-A standard audio player plays back to an audio device, specifying the output mix as the data sink.
-The Android extension differs in that an audio player instead
-acts as a decoder if the app has specified the data source either as a URI or as an Android
-file descriptor data locator described in MIME data format. In such a case, the data sink is
-an Android simple buffer queue data locator with PCM data format.
-</p>
-
-<p>
-This feature is primarily intended for games to pre-load their audio assets when changing to a
-new game level, which is similar to the functionality that the {@link android.media.SoundPool}
-class provides.
-</p>
-
-<p>
-The application should initially enqueue a set of empty buffers in the Android simple
-buffer queue. After that, the app fills the buffers with PCM data. The Android simple
-buffer queue callback fires after each buffer is filled. The callback handler processes
-the PCM data, re-enqueues the now-empty buffer, and then returns. The application is responsible for
-keeping track of decoded buffers; the callback parameter list does not include
-sufficient information to indicate the buffer that contains data or the buffer that should be
-enqueued next.
-</p>
-
-<p>
-The data source implicitly reports the end of stream (EOS) by delivering a
-<code>SL_PLAYEVENT_HEADATEND</code> event at the end of the stream. After the app has decoded
-all of the data it received, it makes no further calls to the Android simple buffer queue callback.
-</p>
-<p>
-The sink's PCM data format typically matches that of the encoded data source
-with respect to sample rate, channel count, and bit depth. However, you can decode to a different
-sample rate, channel count, or bit depth.
-For information about a provision to detect the actual PCM format, see <a href="#meta">
-Determining the format of decoded PCM data via metadata</a>.
-</p>
-<p>
-OpenSL ES for Android's PCM decoding feature supports pause and initial seek; it does not support
-volume control, effects, looping, or playback rate.
-</p>
-<p>
-Depending on the platform implementation, decoding may require resources
-that cannot be left idle.  Therefore, we recommend that you make sure to provide
-sufficient numbers of empty PCM buffers; otherwise, the decoder starves. This may happen,
-for example, if your app returns from the Android simple buffer queue callback without
-enqueueing another empty buffer.  The result of decoder starvation is
-unspecified, but may include: dropping the decoded
-PCM data, pausing the decoding process, or terminating the decoder outright.
-</p>
-
-<p class="note"><strong>Note: </strong>
-To decode an encoded stream to PCM but not play back immediately, for apps running on
-Android 4.x (API levels 16&ndash;20), we recommend using the {@link android.media.MediaCodec} class.
-For new applications running on Android 5.0 (API level 21) or higher, we recommend using the NDK
-equivalent, {@code &lt;NdkMedia*.h&gt;}. These header files reside in
-the {@code media/} directory under your installation root.
-</p>
-
-<h3>Decode streaming ADTS AAC to PCM</h3>
-
-<p>
-An audio player acts as a streaming decoder if the data source is an
-Android buffer queue data locator with MIME data format, and the data
-sink is an Android simple buffer queue data locator with PCM data format.
-Configure the MIME data format as follows:
-</p>
-
-<ul>
-<li>Container: {@code SL_CONTAINERTYPE_RAW}</li>
-<li>MIME type string: {@code SL_ANDROID_MIME_AACADTS}</li>
-</ul>
-
-<p>
-This feature is primarily intended for streaming media applications that
-deal with AAC audio but need to perform custom audio processing
-prior to playback.  Most applications that need to decode audio to PCM
-should use the method that <a href="#da">Decode audio to PCM</a> describes,
-as that method is simpler and handles more audio formats.  The technique described
-here is a more specialized approach, to be used only if both of these
-conditions apply:
-</p>
-
-<ul>
-<li>The compressed audio source is a stream of AAC frames contained in ADTS headers.
-</li>
-<li>The application manages this stream. The data is <em>not</em> located within
-a network resource whose identifier is a URI or within a local file whose identifier is
-a file descriptor.
-</li>
-</ul>
-
-<p>
-The application should initially enqueue a set of filled buffers in the Android buffer queue.
-Each buffer contains one or more complete ADTS AAC frames.
-The Android buffer queue callback fires after each buffer is emptied.
-The callback handler should refill and re-enqueue the buffer, and then return.
-The application need not keep track of encoded buffers; the callback parameter
-list includes sufficient information to indicate the buffer that should be enqueued next.
-The end of stream is explicitly marked by enqueuing an EOS item.
-After EOS, no more enqueues are permitted.
-</p>
-
-<p>
-We recommend that you make sure to provide full
-ADTS AAC buffers, to avoid starving the decoder. This may happen, for example, if your app
-returns from the Android buffer queue callback without enqueueing another full buffer.
-The result of decoder starvation is unspecified.
-</p>
-
-<p>
-In all respects except for the data source, the streaming decode method is the same as
-the one that <a href="#da">Decode audio to PCM</a> describes.
-</p>
-
-<p>
-Despite the similarity in names, an Android buffer queue is <em>not</em>
-the same as an <a href="#simple">Android simple buffer queue</a>. The streaming decoder
-uses both kinds of buffer queues: an Android buffer queue for the ADTS
-AAC data source, and an Android simple buffer queue for the PCM data
-sink.  For more information about the Android simple buffer queue API, see <a href="#simple">Android
-simple buffer queue data locator and interface</a>.
-For more information about the Android buffer queue API, see the {@code index.html} file in
-the {@code docs/Additional_library_docs/openmaxal/} directory under the installation root.
-</p>
-
-<h3 id="meta">Determining the format of decoded PCM data via metadata</h3>
-
-<p>
-The <code>SLMetadataExtractionItf</code> interface is part of the reference specification.
-However, the metadata keys that indicate the actual format of decoded PCM data are specific to
-Android. The <code>OpenSLES_AndroidMetadata.h</code> header file defines these metadata keys.
-This header file resides under your installation root, in the
-{@code platforms/android-&lt;version&gt;/&lt;abi&gt;/include/SLES} directory.
-</p>
-
-<p>
-The metadata key indices are available immediately after
-the <code>Object::Realize()</code> method finishes executing. However, the associated values are not
-available until after the app decodes the first encoded data.  A good
-practice is to query for the key indices in the main thread after calling the {@code
-Object::Realize} method, and to read the PCM format metadata values in the Android simple
-buffer queue callback handler when calling it for the first time. Consult the
-<a class="external-link" href="https://github.com/googlesamples/android-ndk">example code in the
-NDK package</a> for examples of working with this interface.
-</p>
-
-<p>
-Metadata key names are stable, but the key indices are not documented,
-and are subject to change.  An application should not assume that indices
-are persistent across different execution runs, and should not assume that
-multiple object instances share indices within the same run.
-</p>
-
-<h3 id="fp">Floating-point data</h3>
-
-<p>
-An app running on Android 5.0 (API level 21) and higher can supply data to an AudioPlayer in
-single-precision, floating-point format.
-</p>
-<p>
-In following example code, the {@code Engine::CreateAudioPlayer} method creates an audio player
-that uses floating-point data:
-</p>
-
-<pre>
-#include &lt;SLES/OpenSLES_Android.h&gt;
-...
-SLAndroidDataFormat_PCM_EX pcm;
-pcm.formatType = SL_ANDROID_DATAFORMAT_PCM_EX;
-pcm.numChannels = 2;
-pcm.sampleRate = SL_SAMPLINGRATE_44_1;
-pcm.bitsPerSample = 32;
-pcm.containerSize = 32;
-pcm.channelMask = SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT;
-pcm.endianness = SL_BYTEORDER_LITTLEENDIAN;
-pcm.representation = SL_ANDROID_PCM_REPRESENTATION_FLOAT;
-...
-SLDataSource audiosrc;
-audiosrc.pLocator = ...
-audiosrc.pFormat = &amp;pcm;
-</pre>
-
-<h2 id="notes">Programming Notes</h2>
-<p><a href="{@docRoot}ndk/guides/audio/opensl-prog-notes.html">OpenSL ES Programming Notes</a>
- provides supplemental information to ensure proper implementation of OpenSL ES.</p>
-<p class="note"><strong>Note: </strong>
-For your convenience, we have included a copy of the OpenSL ES 1.0.1 specification with the NDK in
-{@code docs/opensles/OpenSL_ES_Specification_1.0.1.pdf}.
-</p>
-
-<h2 id="platform-issues">Platform Issues</h2>
-
-<p>
-This section describes known issues in the initial platform release that supports these APIs.
-</p>
-
-<h3>Dynamic interface management</h3>
-
-<p>
-{@code DynamicInterfaceManagement::AddInterface} does not work. Instead, specify the interface in
-the array that is passed to Create, as shown in the example code for environmental reverb.
-</p>
-
diff --git a/docs/html/ndk/guides/audio/opensl-prog-notes.jd b/docs/html/ndk/guides/audio/opensl-prog-notes.jd
deleted file mode 100644
index e70aa08..0000000
--- a/docs/html/ndk/guides/audio/opensl-prog-notes.jd
+++ /dev/null
@@ -1,461 +0,0 @@
-page.title=OpenSL ES Programming Notes
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#init">Objects and Interface Initialization</a></li>
-        <li><a href="#prefetch">Audio Player Prefetch</a></li>
-        <li><a href="#destroy">Destroy</a></li>
-        <li><a href="#panning">Stereo Panning</a></li>
-        <li><a href="#callbacks">Callbacks and Threads</a></li>
-        <li><a href="#perform">Performance</a></li>
-        <li><a href="#sandp">Security and Permissions</a></li>
-      </ol>
-    </div>
-</div>
-
-<p>
-The notes in this section supplement the
-<a class="external-link" href="https://www.khronos.org/registry/sles/">OpenSL ES 1.0.1
-specification</a>.
-</p>
-
-<h2 id="init">Objects and Interface Initialization</h2>
-
-<p>
-Two aspects of the OpenSL ES programming model that may be unfamiliar to new developers are the
-distinction between objects and interfaces, and the initialization sequence.
-</p>
-
-<p>
-Briefly, an OpenSL ES object is similar to the object concept in
- programming languages such as Java
-and C++, except an OpenSL ES object is only visible via its associated interfaces.
- This includes
-the initial interface for all objects, called {@code SLObjectItf}.
- There is no handle for an object
-itself, only a handle to the {@code SLObjectItf} interface of the object.
-</p>
-
-<p>
-An OpenSL ES object is first <em>created</em>, which returns an {@code SLObjectItf}, then
-<em>realized</em>. This is similar to the common programming pattern of first constructing an
-object (which should never fail other than for lack of memory or invalid parameters), and then
-completing initialization (which may fail due to lack of resources). The realize step gives the
-implementation a logical place to allocate additional resources if needed.
-</p>
-
-<p>
-As part of the API to create an object, an application specifies an array of desired interfaces
-that it plans to acquire later. Note that this array does not automatically
- acquire the interfaces;
-it merely indicates a future intention to acquire them. Interfaces are distinguished as
-<em>implicit</em> or <em>explicit</em>. An explicit interface must be listed in the array if it
-will be acquired later. An implicit interface need not be listed in the
- object create array, but
-there is no harm in listing it there. OpenSL ES has one more kind of interface called
-<em>dynamic</em>, which does not need to be specified in the object
- create array and can be added
-later after the object is created. The Android implementation provides
- a convenience feature to
-avoid this complexity, which is described in
- <a href="{@docRoot}ndk/guides/audio/opensl-for-android.html#dynamic-interfaces">Dynamic interfaces at object creation</a>.
-</p>
-
-<p>
-After the object is created and realized, the application should acquire interfaces for each
-feature it needs, using {@code GetInterface} on the initial {@code SLObjectItf}.
-</p>
-
-<p>
-Finally, the object is available for use via its interfaces, though note that
- some objects require
-further setup. In particular, an audio player with URI data source needs a bit
- more preparation in
-order to detect connection errors. See the
- <a href="#prefetch">Audio player prefetch</a> section for details.
-</p>
-
-<p>
-After your application is done with the object, you should explicitly destroy it; see the
-<a href="#destroy">Destroy</a> section below.
-</p>
-
-<h2 id="prefetch">Audio Player Prefetch</h2>
-
-<p>
-For an audio player with URI data source, {@code Object::Realize} allocates
- resources but does not
-connect to the data source (<em>prepare</em>) or begin pre-fetching data. These occur once the
-player state is set to either {@code SL_PLAYSTATE_PAUSED} or {@code SL_PLAYSTATE_PLAYING}.
-</p>
-
-<p>
-Some information may still be unknown until relatively late in this sequence. In
-particular, initially {@code Player::GetDuration} returns {@code SL_TIME_UNKNOWN} and
-{@code MuteSolo::GetChannelCount} either returns successfully with channel count zero or the
-error result {@code SL_RESULT_PRECONDITIONS_VIOLATED}. These APIs return the proper values
-once they are known.
-</p>
-
-<p>
-Other properties that are initially unknown include the sample rate and
- actual media content type
-based on examining the content's header (as opposed to the
- application-specified MIME type and
-container type). These are also determined later during
- prepare/prefetch, but there are no APIs to
-retrieve them.
-</p>
-
-<p>
-The prefetch status interface is useful for detecting when all information
- is available, or your
-application can poll periodically. Note that some information, such as the
- duration of a streaming
-MP3, may <em>never</em> be known.
-</p>
-
-<p>
-The prefetch status interface is also useful for detecting errors. Register a callback
- and enable
-at least the {@code SL_PREFETCHEVENT_FILLLEVELCHANGE} and {@code SL_PREFETCHEVENT_STATUSCHANGE}
-events. If both of these events are delivered simultaneously, and
-{@code PrefetchStatus::GetFillLevel} reports a zero level, and
-{@code PrefetchStatus::GetPrefetchStatus} reports {@code SL_PREFETCHSTATUS_UNDERFLOW},
- then this
-indicates a non-recoverable error in the data source. This includes the inability to
- connect to the
-data source because the local filename does not exist or the network URI is invalid.
-</p>
-
-<p>
-The next version of OpenSL ES is expected to add more explicit support for
- handling errors in the
-data source. However, for future binary compatibility, we intend to continue
- to support the current
-method for reporting a non-recoverable error.
-</p>
-
-<p>
-In summary, a recommended code sequence is:
-</p>
-
-<ol>
-  <li>{@code Engine::CreateAudioPlayer}</li>
-  <li>{@code Object:Realize}</li>
-  <li>{@code Object::GetInterface} for {@code SL_IID_PREFETCHSTATUS}</li>
-  <li>{@code PrefetchStatus::SetCallbackEventsMask}</li>
-  <li>{@code PrefetchStatus::SetFillUpdatePeriod}</li>
-  <li>{@code PrefetchStatus::RegisterCallback}</li>
-  <li>{@code Object::GetInterface} for {@code SL_IID_PLAY}</li>
-  <li>{@code Play::SetPlayState} to {@code SL_PLAYSTATE_PAUSED}, or
-  {@code SL_PLAYSTATE_PLAYING}</li>
-</ol>
-
-<p class="note"><strong>Note: </strong>
-Preparation and prefetching occur here; during this time your callback is called with
-periodic status updates.
-</p>
-
-<h2 id="destroy">Destroy</h2>
-
-<p>
-Be sure to destroy all objects when exiting from your application.
- Objects should be destroyed in
-reverse order of their creation, as it is not safe to destroy an object that has any dependent
-objects. For example, destroy in this order: audio players and recorders, output mix, and then
-finally the engine.
-</p>
-
-<p>
-OpenSL ES does not support automatic garbage collection or
-<a class="external-link" href="http://en.wikipedia.org/wiki/Reference_counting">reference
-counting</a> of interfaces. After you call {@code Object::Destroy}, all extant
- interfaces that are
-derived from the associated object become undefined.
-</p>
-
-<p>
-The Android OpenSL ES implementation does not detect the incorrect use of such interfaces.
-Continuing to use such interfaces after the object is destroyed can cause your application to
-crash or behave in unpredictable ways.
-</p>
-
-<p>
-We recommend that you explicitly set both the primary object interface and all associated
-interfaces to NULL as part of your object destruction sequence, which prevents the accidental
-misuse of a stale interface handle.
-</p>
-
-<h2 id="panning">Stereo Panning</h2>
-
-<p>
-When {@code Volume::EnableStereoPosition} is used to enable stereo panning of a mono source,
- there is a 3-dB reduction in total
-<a class="external-link" href="http://en.wikipedia.org/wiki/Sound_power_level">sound power
-level</a>. This is needed to permit the total sound power level to remain constant as
- the source is
-panned from one channel to the other. Therefore, only enable stereo positioning if you need
-it. See the Wikipedia article on
-<a class="external-link" href="http://en.wikipedia.org/wiki/Panning_(audio)">audio panning</a>
- for more information.
-</p>
-
-<h2 id="callbacks">Callbacks and Threads</h2>
-
-<p>
-Callback handlers are generally called synchronously with respect to the event. That is, at the
-moment and location that the event is detected by the implementation. This point is
-asynchronous with respect to the application, so you should use a non-blocking synchronization
-mechanism to control access to any variables shared between the application and the callback
-handler. In the example code, such as for buffer queues, we have either omitted this
-synchronization or used blocking synchronization in the interest of simplicity. However, proper
-non-blocking synchronization is critical for any production code.
-</p>
-
-<p>
-Callback handlers are called from internal non-application threads that are not attached to the
-Android runtime, so they are ineligible to use JNI. Because these internal threads are
-critical to
-the integrity of the OpenSL ES implementation, a callback handler should also not block
- or perform
-excessive work.
-</p>
-
-<p>
-If your callback handler needs to use JNI or execute work that is not proportional to the
-callback, the handler should instead post an event for another thread to process. Examples of
-acceptable callback workload include rendering and enqueuing the next output buffer
-(for an AudioPlayer), processing the just-filled input buffer and enqueueing the next
- empty buffer
-(for an AudioRecorder), or simple APIs such as most of the <em>Get</em> family. See the
-<a href="#perform">Performance</a> section below regarding the workload.
-</p>
-
-<p>
-Note that the converse is safe: an Android application thread that has entered JNI
- is allowed to
-directly call OpenSL ES APIs, including those that block. However, blocking calls are not
-recommended from the main thread, as they may result in
- <em>Application Not Responding</em> (ANR).
-</p>
-
-<p>
-The determination regarding the thread that calls a callback handler is largely left up to the
-implementation. The reason for this flexibility is to permit future optimizations,
- especially on
-multi-core devices.
-</p>
-
-<p>
-The thread on which the callback handler runs is not guaranteed to have the same
- identity across
-different calls. Therefore, do not rely on the {@code pthread_t returned by pthread_self()}
- or the
-{@code pid_t returned by gettid()} to be consistent across calls. For the same reason,
- do not use
-the thread local storage (TLS) APIs such as {@code pthread_setspecific()} and
-{@code pthread_getspecific()} from a callback.
-</p>
-
-<p>
-The implementation guarantees that concurrent callbacks of the same kind, for the
- same object, does
-not occur. However, concurrent callbacks of different kinds for the same object are possible on
-different threads.
-</p>
-
-<h2 id="perform">Performance</h2>
-
-<p>
-As OpenSL ES is a native C API, non-runtime application threads that call OpenSL ES have no
-runtime-related overhead such as garbage collection pauses. With one exception described below,
-there is no additional performance benefit to the use of OpenSL ES other than this.
- In particular,
-the use of OpenSL ES does not guarantee enhancements such as lower audio latency and higher
-scheduling priority over that which the platform generally provides. On the other hand, as the
-Android platform and specific device implementations continue to evolve, an OpenSL ES application
-can expect to benefit from any future system performance improvements.
-</p>
-
-<p>
-One such evolution is support for reduced
-<a href="{@docRoot}ndk/guides/audio/output-latency.html">audio output latency</a>.
-The underpinnings for reduced
-output latency were first included in Android 4.1 (API level 16), and then
-continued progress occurred in Android 4.2 (API level 17). These improvements are available via
-OpenSL ES for device implementations that
- claim feature {@code android.hardware.audio.low_latency}.
-If the device doesn't claim this feature but supports Android 2.3 (API level 9)
-or later, then you can still use the OpenSL ES APIs but the output latency may be higher.
- The lower
-output latency path is used only if the application requests a buffer size and sample rate
- that are
-compatible with the device's native output configuration. These parameters are
- device-specific and
-should be obtained as described below.
-</p>
-
-<p>
-Beginning with Android 4.2 (API level 17), an application can query for the
-platform native or optimal output sample rate and buffer size for the device's primary output
-stream. When combined with the feature test just mentioned, an app can now configure itself
-appropriately for lower latency output on devices that claim support.
-</p>
-
-<p>
-For Android 4.2 (API level 17) and earlier, a buffer count of two or more is
-required for lower latency. Beginning with Android 4.3 (API level 18), a buffer
-count of one is sufficient for lower latency.
-</p>
-
-<p>
-All OpenSL ES interfaces for output effects preclude the lower latency path.
-</p>
-
-<p>
-The recommended sequence is as follows:
-</p>
-
-<ol>
-  <li>Check for API level 9 or higher to confirm the use of OpenSL ES.</li>
-  <li>Check for the {@code android.hardware.audio.low_latency} feature using code such as this:
-    <pre>import android.content.pm.PackageManager;
-...
-PackageManager pm = getContext().getPackageManager();
-boolean claimsFeature = pm.hasSystemFeature(PackageManager.FEATURE_AUDIO_LOW_LATENCY);
-    </pre></li>
-  <li>Check for API level 17 or higher to confirm the use of
-  {@code android.media.AudioManager.getProperty()}.</li>
-  <li>Get the native or optimal output sample rate and buffer size for this device's
-  primary output
-  stream using code such as this:
-    <pre>import android.media.AudioManager;
-...
-AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
-String sampleRate = am.getProperty(AudioManager.PROPERTY_OUTPUT_SAMPLE_RATE));
-String framesPerBuffer = am.getProperty(AudioManager.PROPERTY_OUTPUT_FRAMES_PER_BUFFER));
-    </pre>
-  Note that {@code sampleRate} and {@code framesPerBuffer} are <em>strings</em>. First check for
-  null and then convert to int using {@code Integer.parseInt()}.</li>
-    <li>Now use OpenSL ES to create an AudioPlayer with PCM buffer queue data locator.</li>
-</ol>
-
-<p class="note"><strong>Note: </strong>
-You can use the
-<a class="external-link"
- href="https://play.google.com/store/apps/details?id=com.levien.audiobuffersize">
- Audio Buffer Size</a>
-test app to determine the native buffer size and sample rate for OpenSL ES audio
-applications on your audio device. You can also visit GitHub to view <a class="external-link"
-href="https://github.com/gkasten/high-performance-audio/tree/master/audio-buffer-size">
-audio-buffer-size</a> samples.
-
-<p>
-The number of lower latency audio players is limited. If your application requires more 
-than a few
-audio sources, consider mixing your audio at the application level. Be sure to destroy your audio
-players when your activity is paused, as they are a global resource shared with other apps.
-</p>
-
-<p>
-To avoid audible glitches, the buffer queue callback handler must execute within a small and
-predictable time window. This typically implies no unbounded blocking on mutexes, conditions,
-or I/O operations. Instead consider <em>try locks</em>, locks and waits with timeouts, and
-<a class="external-link"
- href="https://source.android.com/devices/audio/avoiding_pi.html#nonBlockingAlgorithms">
- non-blocking algorithms</a>.
-</p>
-
-<p>
-The computation required to render the next buffer (for AudioPlayer) or consume the previous
-buffer (for AudioRecord) should take approximately the same amount of time for each callback.
-Avoid algorithms that execute in a non-deterministic amount of time or are <em>bursty</em> in
-their computations. A callback computation is bursty if the CPU time spent in any given callback
-is significantly larger than the average. In summary, the ideal is for the CPU execution time of
-the handler to have variance near zero, and for the handler to not block for unbounded times.
-</p>
-
-<p>
-Lower latency audio is possible for these outputs only:
-</p>
-
-<ul>
-  <li>On-device speakers.</li>
-  <li>Wired headphones.</li>
-  <li>Wired headsets.</li>
-  <li>Line out.</li>
-  <li><a class="external-link" href="https://source.android.com/devices/audio/usb.html">
-  USB digital
-  audio</a>.</li>
-</ul>
-
-<p>
-On some devices, speaker latency is higher than other paths due to digital signal processing for
-speaker correction and protection.
-</p>
-
-<p>
-As of API level 21,
-<a href="{@docRoot}ndk/guides/audio/input-latency.html">lower latency audio input</a>
- is supported
-on select devices. To take advantage of
-this feature, first confirm that lower latency output is available as described above. The
-capability for lower latency output is a prerequisite for the lower latency input feature. Then,
-create an AudioRecorder with the same sample rate and buffer size as would be used for output.
-OpenSL ES interfaces for input effects preclude the lower latency path. The record preset
-{@code SL_ANDROID_RECORDING_PRESET_VOICE_RECOGNITION} must be used for lower latency; this preset
-disables device-specific digital signal processing that may add latency to the input path. For
-more information on record presets, see the <a href="#configuration-interface">Android
-configuration interface</a> section above.
-</p>
-
-<p>
-For simultaneous input and output, separate buffer queue completion handlers are used for each
-side. There is no guarantee of the relative order of these callbacks, or the synchronization of
-the audio clocks, even when both sides use the same sample rate. Your application
- should buffer the
-data with proper buffer synchronization.
-</p>
-
-<p>
-One consequence of potentially independent audio clocks is the need for asynchronous sample rate
-conversion. A simple (though not ideal for audio quality) technique for asynchronous sample rate
-conversion is to duplicate or drop samples as needed near a zero-crossing point.
- More sophisticated
-conversions are possible.
-</p>
-
-<h2 id="sandp">Security and Permissions</h2>
-
-<p>
-As far as who can do what, security in Android is done at the process level. Java programming
-language code cannot do anything more than native code, nor can native code do anything more than
-Java programming language code. The only differences between them are the available APIs.
-</p>
-
-<p>
-Applications using OpenSL ES must request the permissions that they would need for similar
-non-native APIs. For example, if your application records audio, then it needs the
-{@code android.permission.RECORD_AUDIO} permission. Applications that use audio effects need
-{@code android.permission.MODIFY_AUDIO_SETTINGS}. Applications that play network URI resources
-need {@code android.permission.NETWORK}. See
-<a href="https://developer.android.com/training/permissions/index.html">Working with System
-Permissions</a> for more information.
-</p>
-
-<p>
-Depending on the platform version and implementation, media content parsers and
- software codecs may
-run within the context of the Android application that calls OpenSL ES (hardware codecs are
-abstracted but are device-dependent). Malformed content designed to exploit parser and codec
-vulnerabilities is a known attack vector. We recommend that you play media only from trustworthy
-sources or that you partition your application such that code that handles media from
-untrustworthy sources runs in a relatively <em>sandboxed</em> environment. For example, you could
-process media from untrustworthy sources in a separate process. Though both processes would still
-run under the same UID, this separation does make an attack more difficult.
-</p>
diff --git a/docs/html/ndk/guides/audio/output-latency.jd b/docs/html/ndk/guides/audio/output-latency.jd
deleted file mode 100644
index 4aa97a6..0000000
--- a/docs/html/ndk/guides/audio/output-latency.jd
+++ /dev/null
@@ -1,310 +0,0 @@
-page.title=Audio Output Latency
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#prereq">Prerequisites</a></li>
-        <li><a href="#low-lat-track">Obtain a Low-Latency Track</a></li>
-        <li><a href="#buffer-size">Use the Optimal Buffer Size When Enqueuing Audio Data</a></li>
-        <li><a href="#warmup-lat">Avoid Warmup Latency</a></li>
-      </ol>
-      <h2>Also read</h2>
-
-      <ol>
-        <li><a href="https://source.android.com/devices/audio/latency_app.html" class="external-link">
-        Audio Latency for App Developers</a></li>
-        <li><a href="https://source.android.com/devices/audio/latency_contrib.html" class="external-link">
-        Contributors to Audio Latency</a></li>
-        <li><a href="https://source.android.com/devices/audio/latency_measure.html" class="external-link">
-        Measuring Audio Latency</a></li>
-        <li><a href="https://source.android.com/devices/audio/warmup.html" class="external-link">
-        Audio Warmup</a></li>
-        <li><a href="https://en.wikipedia.org/wiki/Latency_%28audio%29" class="external-link">
-        Latency (audio)</a></li>
-        <li><a href="https://en.wikipedia.org/wiki/Round-trip_delay_time" class="external-link">
-        Round-trip delay time</a></li>
-      </ol>
-    </div>
-  </div>
-
-<a href="https://www.youtube.com/watch?v=PnDK17zP9BI" class="notice-developers-video">
-<div>
-    <h3>Video</h3>
-    <p>Audio latency: buffer sizes</p>
-</div>
-</a>
-
-<a href="https://www.youtube.com/watch?v=92fgcUNCHic" class="notice-developers-video">
-<div>
-    <h3>Video</h3>
-    <p>Building great multi-media experiences on Android</p>
-</div>
-</a>
-
-<p>This page describes how to develop your audio app for low-latency output and how to avoid
-warmup latency.</p>
-
-<h2 id="prereq">Prerequisites</h2>
-
-<p>Low-latency audio is currently only supported when using Android's implementation of the
-OpenSL ES™ API specification, and the Android NDK:
-</p>
-
-<ol>
-  <li>Download and install the <a href="{@docRoot}tools/sdk/ndk/index.html">Android NDK</a>.</li>
-  <li>Read the <a href="{@docRoot}ndk/guides/audio/opensl-for-android.html">OpenSL ES
-  documentation</a>.
-</ol>
-
-<h2 id="low-lat-track">Obtain a Low-Latency Track</h2>
-
-<p>Latency is the time it takes for a signal to travel through a system.  These are the common
-types of latency related to audio apps:
-
-<ul>
-  <li><strong>Audio output latency</strong> is the time between an audio sample being generated by an
-app and the sample being played through the headphone jack or built-in speaker.</li>
-
-  <li><strong>Audio input latency</strong> is the time between an audio signal being received by a
-device’s audio input, such as the microphone, and that same audio data being available to an
-app.</li>
-
-  <li><strong>Round-trip latency</strong> is the sum of input latency, app processing time, and
-  output latency.</li>
-
-  <li><strong>Touch latency</strong> is the time between a user touching the screen and that
-touch event being received by an app.</li>
-</ul>
-
-<p>It is difficult to test audio output latency in isolation since it requires knowing exactly
-when the first sample is sent into the audio path (although this can be done using a
-<a href="https://source.android.com/devices/audio/testing_circuit.html" class="external-link">
-light testing circuit</a> and an oscilloscope). If you know the round-trip audio latency, you can
-use the rough rule of thumb: <strong>audio output latency is half the round-trip audio latency
-over paths without signal processing</strong>.
-</p>
-
-<p>To obtain the lowest latency, you must supply audio data that matches the device's optimal
-sample rate and buffer size. For more information, see
-<a href="https://source.android.com/devices/audio/latency_design.html" class="external-link">
-Design For Reduced Latency</a>.</p>
-
-<h3>Obtain the optimal sample rate</h3>
-
-<p>In Java, you can obtain the optimal sample rate from AudioManager as shown in the following
-code example:</p>
-
-<pre>
-AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
-String frameRate = am.getProperty(AudioManager.PROPERTY_OUTPUT_SAMPLE_RATE);
-int frameRateInt = Integer.parseInt(frameRate);
-if (frameRateInt == 0) frameRateInt = 44100; // Use a default value if property not found
-</pre>
-
-<p class="note">
-  <strong>Note:</strong> The sample rate refers to the rate of each stream. If your source audio
-  has two channels (stereo), then you will have one stream playing a pair of samples (frame) at
-  <a href="{@docRoot}reference/android/media/AudioManager.html#PROPERTY_OUTPUT_SAMPLE_RATE">
-  PROPERTY_OUTPUT_SAMPLE_RATE</a>.
-</p>
-
-<h3>Use the optimal sample rate when creating your audio player</h3>
-
-<p>Once you have the optimal sample output rate, you can supply it when creating your player
-using OpenSL ES:</p>
-
-<pre>
-// create buffer queue audio player
-void Java_com_example_audio_generatetone_MainActivity_createBufferQueueAudioPlayer
-        (JNIEnv* env, jclass clazz, jint sampleRate, jint framesPerBuffer)
-{
-   ...
-   // specify the audio source format
-   SLDataFormat_PCM format_pcm;
-   format_pcm.numChannels = 2;
-   format_pcm.samplesPerSec = (SLuint32) sampleRate * 1000;
-   ...
-}
-</pre>
-
-<p class="note">
-  <strong>Note:</strong> {@code samplesPerSec} refers to the <em>sample rate per channel in
-  millihertz</em> (1 Hz = 1000 mHz).
-</p>
-
-<h3>Avoid adding output interfaces that involve signal processing</h3>
-
-<p>Only these interfaces are supported by the fast mixer:</p>
-
-<ul>
-  <li>SL_IID_ANDROIDSIMPLEBUFFERQUEUE</li>
-  <li>SL_IID_VOLUME</li>
-  <li>SL_IID_MUTESOLO</li>
-</ul>
-
-<p>These interfaces are not allowed because they involve signal processing and will cause
-your request for a fast-track to be rejected:</p>
-
-<ul>
-  <li>SL_IID_BASSBOOST</li>
-  <li>SL_IID_EFFECTSEND</li>
-  <li>SL_IID_ENVIRONMENTALREVERB</li>
-  <li>SL_IID_EQUALIZER</li>
-  <li>SL_IID_PLAYBACKRATE</li>
-  <li>SL_IID_PRESETREVERB</li>
-  <li>SL_IID_VIRTUALIZER</li>
-  <li>SL_IID_ANDROIDEFFECT</li>
-  <li>SL_IID_ANDROIDEFFECTSEND</li>
-</ul>
-
-<p>When you create your player, make sure you only add <em>fast</em> interfaces, as shown in
-the following example:</p>
-
-<pre>
-const SLInterfaceID interface_ids[2] = { SL_IID_ANDROIDSIMPLEBUFFERQUEUE, SL_IID_VOLUME };
-</pre>
-
-<h3>Verify you're using a low-latency track</h3>
-
-<p>Complete these steps to verify that you have successfully obtained a low-latency track:</p>
-
-<ol>
-  <li>Launch your app and then run the following command:</li>
-
-<pre>
-adb shell ps | grep your_app_name
-</pre>
-
-  <li>Make a note of your app's process ID.</li>
-
-  <li>Now, play some audio from your app. You have approximately three seconds to run the
-following command from the terminal:</li>
-
-<pre>
-adb shell dumpsys media.audio_flinger
-</pre>
-
-  <li>Scan for your process ID. If you see an <em>F</em> in the <em>Name</em> column, it's on a
-low-latency track (the F stands for <em>fast track</em>).</li>
-
-</ol>
-
-<h3>Measure round-trip latency</h3>
-
-<p>You can measure round-trip audio latency by creating an app that generates an audio signal,
-listens for that signal, and measures the time between sending it and receiving it.
-Alternatively, you can install this
-<a href="https://play.google.com/store/apps/details?id=org.drrickorang.loopback" class="external-link">
-latency testing app</a>. This performs a round-trip latency test using the
-<a href="https://source.android.com/devices/audio/latency_measure.html#larsenTest" class="external-link">
-Larsen test</a>. You can also
-<a href="https://github.com/gkasten/drrickorang/tree/master/LoopbackApp" class="external-link">
-view the source code</a> for the latency testing app.</p>
-
-<p>Since the lowest latency is achieved over audio paths with minimal signal processing, you may
-also want to use an
-<a href="https://source.android.com/devices/audio/latency_measure.html#loopback" class="external-link">
-Audio Loopback Dongle</a>, which allows the test to be run over the headset connector.</p>
-
-<p>The lowest possible round-trip audio latency varies greatly depending on device model and
-Android build. You can measure it yourself using the latency testing app and loopback
-dongle. When creating apps for <em>Nexus devices</em>, you can also use the
-<a href="https://source.android.com/devices/audio/latency_measurements.html" class="external-link">
-published measurements</a>.</p>
-
-<p>You can also get a rough idea of audio performance by testing whether the device reports
-support for the
-<a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_AUDIO_LOW_LATENCY">
-low_latency</a> and
-<a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_AUDIO_PRO">
-pro</a> hardware features.</p>
-
-<h3>Review the CDD and audio latency</h3>
-
-<p>The Android Compatibility Definition Document (CDD) enumerates the hardware and software
-requirements of a compatible Android device.
-See <a href="https://source.android.com/compatibility/" class="external-link">
-Android Compatibility</a> for more information on the overall compatibility program, and
-<a href="https://static.googleusercontent.com/media/source.android.com/en//compatibility/android-cdd.pdf" class="external-link">
-CDD</a> for the actual CDD document.</p>
-
-<p>In the CDD, round-trip latency is specified as 20&nbsp;ms or lower (even though musicians
-generally require 10&nbsp;ms). This is because there are important use cases that are enabled by
-20&nbsp;ms.</p>
-
-<p>There is currently no API to determine audio latency over any path on an Android device at
-runtime. You can, however, use the following hardware feature flags to find out whether the
-device makes any guarantees for latency:</p>
-
-<ul>
-  <li><a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_AUDIO_LOW_LATENCY">
-android.hardware.audio.low_latency</a> indicates a continuous output latency of 45&nbsp;ms or
-less.</li>
-
-  <li><a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_AUDIO_PRO">
-android.hardware.audio.pro</a> indicates a continuous round-trip latency of 20&nbsp;ms or
-less.</li>
-</ul>
-
-<p>The criteria for reporting these flags is defined in the CDD in sections <em>5.6 Audio
-Latency</em> and <em>5.10 Professional Audio</em>.</p>
-
-<p>Here’s how to check for these features in Java:</p>
-
-<pre>
-boolean hasLowLatencyFeature =
-    getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUDIO_LOW_LATENCY);
-
-boolean hasProFeature =
-    getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUDIO_PRO);
-</pre>
-
-<p>Regarding the relationship of audio features, the {@code android.hardware.audio.low_latency}
-feature is a prerequisite for {@code android.hardware.audio.pro}. A device can implement
-{@code android.hardware.audio.low_latency} and not {@code android.hardware.audio.pro}, but not
-vice-versa.</p>
-
-<h2 id="buffer-size">Use the Optimal Buffer Size When Enqueuing Audio Data</h2>
-
-<p>You can obtain the optimal buffer size in a similar way to the optimal frame rate, using the
-AudioManager API:</p>
-
-<pre>
-AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
-String framesPerBuffer = am.getProperty(AudioManager.PROPERTY_OUTPUT_FRAMES_PER_BUFFER);
-int framesPerBufferInt = Integer.parseInt(framesPerBuffer);
-if (framesPerBufferInt == 0) framesPerBufferInt = 256; // Use default
-</pre>
-
-<p>The
-<a href="{@docRoot}reference/android/media/AudioManager.html#PROPERTY_OUTPUT_FRAMES_PER_BUFFER">
-PROPERTY_OUTPUT_FRAMES_PER_BUFFER</a> property indicates the number of audio frames
-that the HAL (Hardware Abstraction Layer) buffer can hold. You should construct your audio
-buffers so that they contain an exact multiple of this number. If you use the correct number
-of audio frames, your callbacks occur at regular intervals, which reduces jitter.</p>
-
-<p>It is important to use the API to determine buffer size rather than using a hardcoded value,
- because HAL buffer sizes differ across devices and across Android builds.</p>
-
-<h2 id="warmup-lat">Avoid Warmup Latency</h2>
-
-<p>When you enqueue audio data for the first time, it takes a small, but still significant,
-amount of time for the device audio circuit to warm up. To avoid this warmup latency, you should
-enqueue buffers of audio data containing silence, as shown in the following code example:</p>
-
-<pre>
-#define CHANNELS 1
-static short* silenceBuffer;
-int numSamples = frames * CHANNELS;
-silenceBuffer = malloc(sizeof(*silenceBuffer) * numSamples);
-    for (i = 0; i < numSamples; i++) {
-        silenceBuffer[i] = 0;
-    }
-</pre>
-
-<p>At the point when audio should be produced, you can switch to enqueuing buffers containing
-real audio data.</p>
-
diff --git a/docs/html/ndk/guides/audio/sample-rates.jd b/docs/html/ndk/guides/audio/sample-rates.jd
deleted file mode 100644
index da68597..0000000
--- a/docs/html/ndk/guides/audio/sample-rates.jd
+++ /dev/null
@@ -1,151 +0,0 @@
-page.title=Sample Rates
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#best">Best Practices for Sampling and Resampling</a></li>
-        <li><a href="#info">For More Information</a></li>
-      </ol>
-    </div>
-  </div>
-
-<a class="notice-developers-video" href="https://www.youtube.com/watch?v=6Dl6BdrA-sQ">
-<div>
-    <h3>Video</h3>
-    <p>Sample Rates: Why Can't We All Just Agree?</p>
-</div>
-</a>
-
-<p>As of Android 5.0 (Lollipop), the audio resamplers are now entirely based
-on FIR filters derived from a Kaiser windowed-sinc function. The Kaiser windowed-sinc
-offers the following properties:
-<ul>
-    <li>It is straightforward to calculate for its design parameters (stopband
- ripple, transition bandwidth, cutoff frequency, filter length).</li>
-<li>It is nearly optimal for reduction of stopband energy compared to overall
-energy.</li>
-</ul>
-See P.P. Vaidyanathan, <a class="external-link"
-href="https://drive.google.com/file/d/0B7tBh7YQV0DGak9peDhwaUhqY2c/view">
-<i>Multirate Systems and Filter Banks</i></a>, p. 50 for discussions of the
-Kaiser Window and its optimality and relationship to Prolate Spheroidal
-Windows.</p>
-
-<p>The design parameters are automatically computed based on internal
-quality determination and the sampling ratios desired. Based on the
-design parameters, the windowed-sinc filter is generated.  For music use,
-the resampler for 44.1 to 48 kHz and vice versa is generated at a higher
-quality than for arbitrary frequency conversion.</p>
-
-<p>The audio resamplers provide increased quality, as well as speed
-to achieve that quality. But resamplers can introduce small amounts
-of passband ripple and aliasing harmonic noise, and they can cause some high
-frequency loss in the transition band, so avoid using them unnecessarily.</p>
-
-<h2 id="best">Best Practices for Sampling and Resampling</h2>
-<p>This section describes some best practices to help you avoid problems with sampling rates.</p>
-<h3>Choose the sampling rate to fit the device</h3>
-
-<p>In general, it is best to choose the sampling rate to fit the device,
-typically 44.1 kHz or 48 kHz.  Use of a sample rate greater than
-48 kHz will typically result in decreased quality because a resampler must be
-used to play back the file.</p>
-
-<h3>Use simple resampling ratios (fixed versus interpolated polyphases)</h3>
-
-<p>The resampler operates in one of the following modes:</p>
-<ul>
-    <li>Fixed polyphase mode. The filter coefficients for each polyphase are precomputed.</li>
-    <li>Interpolated polyphase mode. The filter coefficients for each polyphase must
-be interpolated from the nearest two precomputed polyphases.</li>
-</ul>
-<p>The resampler is fastest in fixed polyphase mode, when the ratio of input
-rate over output rate L/M (taking out the greatest common divisor)
-has M less than 256.  For example, for 44,100 to 48,000 conversion, L = 147,
-M = 160.</p>
-
-<p>In fixed polyphase mode, the sampling rate is locked for as
-many samples converted and does not change.  In interpolated polyphase
-mode, the sampling rate is approximate. The drift is generally on the
-order of one sample over a few hours of playback on a 48-kHz device.
-This is not usually a concern because approximation error is much less than
-frequency error of internal quartz oscillators, thermal drift, or jitter
- (typically tens of ppm).</p>
-
-<p>Choose simple-ratio sampling rates such as 24 kHz (1:2) and 32 kHz (2:3) when playing back
- on a 48-kHz device, even though other sampling
-rates and ratios may be permitted through AudioTrack.</p>
-
-<h3>Use upsampling rather than downsampling when changing sample rates</h3>
-
-<p>Sampling rates can be changed on the fly. The granularity of
-such change is based on the internal buffering (typically a few hundred
-samples), not on a sample-by-sample basis. This can be used for effects.</p>
-
-<p>Do not dynamically change sampling rates when
-downsampling. When changing sample rates after an audio track is
-created, differences of around 5 to 10 percent from the original rate may
-trigger a filter recomputation when downsampling (to properly suppress
-aliasing). This can consume computing resources and may cause an audible click
-if the filter is replaced in real time.</p>
-
-<h3>Limit downsampling to no more than 6:1</h3>
-
-<p>Downsampling is typically triggered by hardware device requirements. When the
- Sample Rate converter is used for downsampling,
-try to limit the downsampling ratio to no more than 6:1 for good aliasing
-suppression (for example, no greater downsample than 48,000 to 8,000). The filter
-lengths adjust to match the downsampling ratio, but you sacrifice more
-transition bandwidth at higher downsampling ratios to avoid excessively
-increasing the filter length. There are no similar aliasing concerns for
-upsampling.  Note that some parts of the audio pipeline
-may prevent downsampling greater than 2:1.</p>
-
-<h3 id="latency">If you are concerned about latency, do not resample</h3>
-
-<p>Resampling prevents the track from being placed in the FastMixer
-path, which means that significantly higher latency occurs due to the additional,
- larger buffer in the ordinary Mixer path. Furthermore,
- there is an implicit delay from the filter length of the resampler,
- though this is typically on the order of one millisecond or less,
- which is not as large as the additional buffering for the ordinary Mixer path
- (typically 20 milliseconds).</p>
-
-<h2 id="info">For More Information</h2>
-<p>This section lists some additional resources about sampling and resampling.</p>
-
-<h3>Sample rates</h3>
-
-<p>
-<a href="http://en.wikipedia.org/wiki/Sampling_%28signal_processing%29" class="external-link" >
-Sampling (signal processing)</a> at Wikipedia.</p>
-
-<h3>Resampling</h3>
-
-<p><a href="http://en.wikipedia.org/wiki/Sample_rate_conversion" class="external-link" >
-Sample rate conversion</a> at Wikipedia.</p>
-
-<p><a href="http://source.android.com/devices/audio/src.html" class="external-link" >
-Sample Rate Conversion</a> at source.android.com.</p>
-
-<h3>The high bit-depth and high kHz controversy</h3>
-
-<p><a href="http://people.xiph.org/~xiphmont/demo/neil-young.html" class="external-link" >
-24/192 Music Downloads ... and why they make no sense</a>
-by Christopher "Monty" Montgomery of Xiph.Org.</p>
-
-<p><a href="https://www.youtube.com/watch?v=cIQ9IXSUzuM" class="external-link" >
-D/A and A/D | Digital Show and Tell</a>
-video by Christopher "Monty" Montgomery of Xiph.Org.</p>
-
-<p><a href="http://www.trustmeimascientist.com/2013/02/04/the-science-of-sample-rates-when-higher-is-better-and-when-it-isnt/" class="external-link">
-The Science of Sample Rates (When Higher Is Better - And When It Isn't)</a>.</p>
-
-<p><a href="http://www.image-line.com/support/FLHelp/html/app_audio.htm" class="external-link" >
-Audio Myths &amp; DAW Wars</a></p>
-
-<p><a href="http://forums.stevehoffman.tv/threads/192khz-24bit-vs-96khz-24bit-debate-interesting-revelation.317660/" class="external-link">
-192kHz/24bit vs. 96kHz/24bit "debate"- Interesting revelation</a></p>
diff --git a/docs/html/ndk/guides/build.jd b/docs/html/ndk/guides/build.jd
deleted file mode 100644
index 6286328..0000000
--- a/docs/html/ndk/guides/build.jd
+++ /dev/null
@@ -1,18 +0,0 @@
-page.title=Building Your Project
-@jd:body
-
-<p>One of the NDK's core purposes is allowing you to build C and C++ source code into shared
-libraries that you can use in your app.</p>
-
-<p>This section explains how to build native binaries for use in your Android app. It begins by
-explaining the
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> file, which
-defines properties specific to individual <i>modules</i>, or libraries. Then, it explains the
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file, which defines
-properties for all the modules that you use in your
-app. Next, it tells you how to use the <a href="{@docRoot}ndk/guides/ndk-build.html">
-{@code ndk-build}</a> script, which is what the NDK uses to build your sources. Last, it ventures
-into advanced territory, discussing how to incorporate the NDK into your own
-<a href="{@docRoot}ndk/guides/standalone_toolchain.html">toolchain</a>, if you prefer to
-build that way instead of using
-<a href="{@docRoot}ndk/guides/ndk-build.html">{@code ndk-build}</a>.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/concepts.jd b/docs/html/ndk/guides/concepts.jd
deleted file mode 100755
index 7879219..0000000
--- a/docs/html/ndk/guides/concepts.jd
+++ /dev/null
@@ -1,303 +0,0 @@
-page.title=Concepts
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#bb">Before Beginning</a></li>
-        <li><a href="#intro">Introduction</a></li>
-        <li><a href="#hiw">How It Works</a></li>
-        <li><a href="#naa">Native Activities and Applications</a></li>
-          </ol>
-        </li>
-      </ol>
-    </div>
-  </div>
-
-<h2 id="bb">Before Beginning</h2>
-
-<p>This guide assumes that you are already familiar with concepts inherent in native programming and 
-in <a href="{@docRoot}developer/index.html">Android development</a>.</p>
-
-</ul>
-<h2 id="intro">Introduction</h2>
-
-<p>This section provides a high-level explanation of how the NDK works. The Android NDK is a set of
-tools allowing you to embed C or C++ (“native code”) into your Android apps. The ability to use
-native code in Android apps can be particularly useful to developers who wish to do one or more of
-the following:</p>
-<ul>
-<li>Port their apps between platforms.</li>
-<li>Reuse existing libraries, or provide their own libraries for reuse.
-</li>
-<li>Increase performance in certain cases, particularly computationally intensive ones like games.
-</li>
-</ul>
-<h2 id="hiw">How it Works</h2>
-
-<p>This section introduces the main components used in building a native application for Android,
-and goes on to describe the process of building and packaging.</p>
-<h3 id="mc">Main components</h3>
-
-<p>You should have an understanding of the following components as you build your app:</p>
-<ul>
-<li>ndk-build: The ndk-build script launches the build scripts at the heart of the NDK. These
-scripts:
-<ul>
-<li>Automatically probe your development system and app project file to determine what to build.</li>
-<li>Generate binaries.</li>
-<li>Copy the binaries to your app's project path.</li>
-</ul>
-<p>For more information, see
-<a href="{@docRoot}ndk/guides/ndk-build.html">ndk-build</a>.</p>
-</li>
-</ul>
-
-<ul>
-<li>Java: From your Java source, the Android build process generates {@code .dex}
-(Dalvik EXecutable) files, which are what the Android OS runs in the Dalvik Virtual Machine
-(“DVM”). Even if your app contains no Java source code at all, the build process still generates a
-{@code .dex} executable file within which the native component runs.
-
-<p>When developing Java components, use the {@code native} keyword to indicate methods implemented
-as native code. For example, the following function declaration tells the compiler that the
-implementation is in a native library:</p>
-
-
-
-<pre>
-public native int add(int  x, int  y);
-</pre>
-</li>
-</ul>
-
-<ul>
-<li>Native shared libraries: The NDK builds these libraries, or {@code .so} files, from your native
-source code.
-
-<p class="note"><strong>Note:</strong> If two libraries implement respective methods with the same
-signature, a link error occurs. In C, "signature" means method name only. In C++, "signature" means
-not only method name, but also its argument names and types.</p>
-</li>
-</ul>
-
-<ul>
-<li>Native static libraries: The NDK can also build static libraries, or {@code .a} files, which you
-can link against other libraries.</li>
-</ul>
-
-<ul>
-<li>Java Native Interface (JNI): The JNI is the interface via which the Java and C++ components
-talk to one another. This guide assumes knowledge of the JNI; for information about it, consult the
-<a href="http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html">
-Java Native Interface Specification</a>.</li>
-</ul>
-
-<ul>
-<li>Application Binary Interface (ABI): The ABI defines exactly how your app's machine code is
-expected to interact with the system at runtime. The NDK builds {@code .so} files against these
-definitions. Different ABIs correspond to different architectures: The NDK includes ABI support for
-ARMEABI (default), MIPS, and x86. For more information, see
-<a href="{@docRoot}ndk/guides/abis.html">ABI Management</a>.</li>
-</ul>
-
-<ul>
-<li>Manifest: If you are writing an app with no Java component to it, you must declare the
-{@link android.app.NativeActivity} class in the
-<a href="{@docRoot}guide/topics/manifest/manifest-intro.html">manifest</a>.
-<a href="#naa">Native Activities and Applications</a> provides more detail on how to do this, under
-“Using the {@code native_activity.h} interface.”
-</li>
-</ul>
-
-<p>The following two items are only required for building using the
-<a href="{@docRoot}ndk/guides/ndk-build.html">{@code ndk-build}</a> script,
-and for debugging using the <a href="{@docRoot}ndk/guides/ndk-gdb.html">
-{@code ndk-gdb}</a> script.
-
-<ul>
-<li><a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a>:
-You must create an <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> configuration file inside your {@code jni} folder. The {@code ndk-build}
-script looks at this file, which defines the module and its name, the source files to be compiled,
-build flags and libraries to link.</li>
-</ul>
-
-<ul>
-<li><a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a>: This file
-enumerates and describes the modules that your app requires. This information includes:
-
-<ul>
-<li>ABIs used to compile for specific platforms.</li>
-<li>Toolchains.</li>
-<li>Standard libraries to include (static and dynamic STLport or default system).</li>
-</ul>
-</li>
-</ul>
-
-
-<h3 id="fl">Flow</h3>
-
-<p>The general flow for developing a native app for Android is as follows:</p>
-<ol type="1">
-<li>Design your app, deciding which parts to implement in Java, and which parts to implement as
-native code.
-
-<p class="note"><strong>Note:</strong> While it is possible to completely avoid Java, you are likely
-to find the Android Java framework useful for tasks including controlling the display and UI.</p>
-</li>
-<li>Create an Android app Project as you would for any other Android project.</li>
-<li>If you are writing a native-only app, declare the {@link android.app.NativeActivity} class in
-{@code AndroidManifest.xml}. For more information, see the <a href="#naa">Native Activities and
-Applications</a>.
-</li>
-<li>Create an {@code Android.mk} file describing the native library, including name, flags, linked
-libraries, and source files to be compiled in the "JNI" directory.</li>
-<li>Optionally, you can create an {@code Application.mk} file configuring the target ABIs,
-toolchain, release/debug mode, and STL. For any of these that you do not specify, the following
-default values are used, respectively:
-<ul>
-<li>
-ABI: armeabi
- </li>
-<li>
-Toolchain: GCC 4.8
- </li>
-<li>
-Mode: Release
- </li>
-<li>
-STL: system
-</ul>
-</li>
-<li>Place your native source under the project's {@code jni} directory.</li>
-<li>Use ndk-build to compile the native ({@code .so}, {@code .a}) libraries.</li>
-<li>Build the Java component, producing the executable {@code .dex} file.</li>
-<li>Package everything into an APK file, containing {@code .so}, {@code .dex}, and other files
-needed for your app to run.
-</ol>
-
-
-<h2 id="naa">Native Activities and Applications</h2>
-
-<p>The Android SDK provides a helper class, {@link android.app.NativeActivity}, that allows you to
-write a completely native activity. {@link android.app.NativeActivity} handles the communication
-between the Android framework and your native code, so you do not have to subclass it or call its
-methods. All you need to do is declare your application to be native in your
-{@code AndroidManifest.xml} file, and begin creating your native application.</p>
-
-<p>An Android application using {@link android.app.NativeActivity} still runs in its own virtual
-machine, sandboxed from other applications. You can therefore still access Android framework APIs
-through the JNI. In certain cases, however&ndash;such as for sensors, input events, and
-assets&ndash;the NDK provides native interfaces that you can use instead of having to call
-across the JNI. For more information about such support, see
-<a href="{@docRoot}ndk/guides/stable_apis.html">Android NDK Native APIs</a>.</p>
-
-<p>Regardless of whether or not you are developing a native activity, we recommend that you create
-your projects with the traditional Android build tools. Doing so helps ensure building and packaging
-of Android applications with the correct structure.</p>
-
-<p>The Android NDK provides you with two choices to implement your native activity:</p>
-
-<ul>
-<li>The <a href="{@docRoot}ndk/reference/native__activity_8h.html">{@code native_activity.h}</a>
-header defines the native version of the
-{@link android.app.NativeActivity} class. It contains the callback interface and data structures
-that you need to create your native activity. Because the main thread of your application handles
-the callbacks, your callback implementations must not be blocking. If they block, you might receive
-ANR (Application Not Responding) errors because your main thread is unresponsive until the callback
-returns.</li>
-<li>The {@code android_native_app_glue.h} file defines a static helper library built on top of the
-<a href="{@docRoot}ndk/reference/native__activity_8h.html">{@code native_activity.h}</a> interface.
-It spawns another thread, which handles things such as
-callbacks or input events in an event loop. Moving these events to a separate thread prevents any
-callbacks from blocking your main thread.</li>
-</ul>
-
-<p>The {@code <ndk_root>/sources/android/native_app_glue/android_native_app_glue.c} source is
-also available, allowing you to modify the implementation.</p>
-<p>For more information on how to use this static library, examine the native-activity sample
-application and its documentation. Further reading is also available in the comments in the {@code <ndk_root>/sources/android/native_app_glue/android_native_app_glue.h} file.</p>
-
-<h3 id="na">Using the native_activity.h interface</h3>
-
-<p>To implement a native activity with the
-<a href="{@docRoot}ndk/reference/native__activity_8h.html">{@code native_activity.h}</a>
-interface:</p>
-
-<ol type="1">
-<li>Create a {@code jni/} directory in your project's root directory. This directory stores all of
-your native code.</li>
-<li>Declare your native activity in the {@code AndroidManifest.xml} file.</li>
-
-<p>Because your application has no Java code, set {@code android:hasCode} to {@code false}.</p>
-
-<pre>
-&lt;application android:label="@string/app_name" android:hasCode="false"&gt;
-</pre>
-
-<p>You must set the {@code android:name} attribute of the activity tag to
-{@link android.app.NativeActivity}.</p>
-
-<pre>
-&lt;activity android:name="android.app.NativeActivity"
-            android:label="@string/app_name"&gt;
-</pre>
-<p class="note"><strong>Note:</strong> You can subclass {@link android.app.NativeActivity}. If you
-do, use the name of the subclass instead of {@link android.app.NativeActivity}.</p>
-<p>The {@code android:value} attribute of the {@code meta-data} tag specifies the name of the shared
-library containing the entry point to the application (such as C/C++ {@code main}), omitting the
-{@code lib} prefix and {@code .so} suffix from the library name.</p>
-
-<pre>
-          &lt;meta-data android:name="android.app.lib_name"
-            android:value="native-activity" /&gt;
-            &lt;intent-filter&gt;
-              &lt;action android:name="android.intent.action.MAIN" /&gt;
-              &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
-            &lt;/intent-filter&gt;
-          &lt;/activity&gt;
-        &lt;/application&gt;
-      &lt;/manifest&gt;
-</pre>
-
-<li>Create a file for your native activity, and implement the function named in the
-<a href="{@docRoot}ndk/reference/group___native_activity.html#ga02791d0d490839055169f39fdc905c5e">
-{@code ANativeActivity_onCreate}</a> variable.
-The app calls this function when the native activity starts. This function, analogous
-to {@code main} in C/C++, receives a pointer to an
-<a href="{@docRoot}ndk/reference/struct_a_native_activity.html">{@code ANativeActivity}</a>
-structure, which contains function pointers to the various callback implementations that you need
-to write.
-Set the applicable callback function pointers in {@code ANativeActivity->callbacks} to the
-implementations of your callbacks.</li>
-
-<li>Set the {@code ANativeActivity->instance} field to the address of any instance of specific
-data that you want to use.</li>
-<li>Implement anything else that you want your activity to do upon starting.</li>
-<li>Implement the rest of the callbacks that you set in {@code ANativeActivity->callbacks}. For
-more information on when the callbacks are called, see
-<a href="{@docRoot}training/basics/activity-lifecycle/index.html">Managing the Activity
-Lifecycle</a>.
-</li>
-<li>Develop the rest of your application.</li>
-<li>Create an {@code Android.mk file} in the {@code jni/} directory of your project to describe your
-native module to the build system. For more information, see
-<a href="{@docRoot}ndk/guides/android_mk.html">Android.mk</a>.</li>
-<li>Once you have an <a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a>
-file, compile your native code using the {@code ndk-build} command.</li>
-
-<pre class="no-pretty-print">
-$ cd &lt;path&gt;/&lt;to&gt;/&lt;project&gt;
-$ &lt;ndk&gt;/ndk-build
-</pre>
-
-<li>Build and install your Android project as usual. If your native code is in
-the {@code jni/} directory, the build script automatically packages the {@code .so} file(s) built
-from it into the APK.</li>
-</ol>
-
-</li>
-</ul>
diff --git a/docs/html/ndk/guides/cpp-support.jd b/docs/html/ndk/guides/cpp-support.jd
deleted file mode 100644
index 6e902f5..0000000
--- a/docs/html/ndk/guides/cpp-support.jd
+++ /dev/null
@@ -1,326 +0,0 @@
-page.title=C++ Library Support
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#hr">Helper Runtimes</a></li>
-        <li><a href="#rc">Runtime Characteristics</a></li>
-        <li><a href="#ic">Important Considerations</a></li>
-        <li><a href="#li">Licensing</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>The Android platform provides a very minimal C++ runtime support library ({@code libstdc++}).
-This minimal support does not include, for example:</p>
-
-<ul>
-   <li>Standard C++ Library support (except a few trivial headers).</li>
-   <li>C++ exceptions support</li>
-   <li>RTTI support</li>
-</ul>
-
-<p>The NDK provides headers for use with this default library. In addition, the NDK provides a
-number of helper runtimes that provide additional features. This page provides information about
-these helper runtimes, their characteristics, and how to use them.
-</p>
-
-<h2 id="hr">Helper Runtimes</h2>
-
-<p>Table 1 provides names, brief explanations, and features of runtimes available inthe NDK.</p>
-
-<p class="table-caption" id="runtimes">
-  <strong>Table 1.</strong> NDK Runtimes and Features.</p>
-
-<table>
-<tr>
-<th>Name</th>
-<th>Explanation>
-<th>Features
-</tr>
-
-<tr>
-<td><a href="#system">{@code libstdc++} (default)</a> </td>
-<td>The default minimal system C++ runtime library.</td>
-<td>N/A</td>
-</tr>
-
-<tr>
-<td><a href="#ga">{@code gabi++_static}</a> </td>
-<td>The GAbi++ runtime (static).</td>
-<td>C++ Exceptions and RTTI</td>
-</tr>
-
-<tr>
-<td><a href="#ga">{@code gabi++_shared}</a> </td>
-<td>The GAbi++ runtime (shared).</td>
-<td>C++ Exceptions and RTTI</td>
-</tr>
-
-<tr>
-<td><a href="#stl">{@code stlport_static}</a> </td>
-<td>The STLport runtime (static).</td>
-<td> C++ Exceptions and RTTI; Standard Library</td>
-</tr>
-
-<tr>
-<td><a href="#stl">{@code stlport_shared}</a> </td>
-<td>The STLport runtime (shared).</td>
-<td> C++ Exceptions and RTTI; Standard Library</td>
-</tr>
-
-<tr>
-<td><a href="#gn">{@code gnustl_static}</a> </td>
-<td>The GNU STL (static).</td>
-<td> C++ Exceptions and RTTI; Standard Library</td>
-</tr>
-
-<tr>
-<td><a href="#gn">{@code gnustl_shared}</a> </td>
-<td>The GNU STL (shared).</td>
-<td> C++ Exceptions and RTTI; Standard Library</td>
-</tr>
-
-<tr>
-<td><a href="#cs">{@code c++_static}</a> </td>
-<td>The LLVM libc++ runtime (static).</td>
-<td> C++ Exceptions and RTTI; Standard Library</td>
-</tr>
-
-<tr>
-<td><a href="#cs">{@code c++_shared}</a> </td>
-<td>The LLVM libc++ runtime (shared).</td>
-<td> C++ Exceptions and RTTI; Standard Library</td>
-</tr>
-</table>
-
-<h3>How to set your runtime</h3>
-
-<p>Use the {@code APP_STL} variable in your <a href="{@docRoot}ndk/guides/application_mk.html">
-{@code Application.mk}</a> file to specify the runtime you wish to use. Use the values in
-the "Name" column in Table 1 as your setting. For example:</p>
-
-<pre>
-APP_STL := gnustl_static
-</pre>
-
-<p>You may only select one runtime for your app, and can only do in
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a>.</p>
-
-<p>Even if you do not use the NDK build system, you can still use STLport, libc++ or GNU STL.
-For more information on how to use these runtimes with your own toolchain, see <a href="{@docRoot}ndk/guides/standalone_toolchain.html">Standalone Toolchain</a>.</p>
-
-<h2 id="rc">Runtime Characteristics</h2>
-<h3 id="system">libstdc++ (default system runtime)</h3>
-
-<p>This runtime only provides the following headers, with no support beyond them:</p>
-<ul>
-   <li>{@code cassert}</li>
-   <li>{@code cctype}</li>
-   <li>{@code cerrno}</li>
-   <li>{@code cfloat}</li>
-   <li>{@code climits}</li>
-   <li>{@code cmath}</li>
-   <li>{@code csetjmp}</li>
-   <li>{@code csignal}</li>
-   <li>{@code cstddef}</li>
-   <li>{@code cstdint}</li>
-   <li>{@code cstdio}</li>
-   <li>{@code cstdlib}</li>
-   <li>{@code cstring}</li>
-   <li>{@code ctime}</li>
-   <li>{@code cwchar}</li>
-   <li>{@code new}</li>
-   <li>{@code stl_pair.h}</li>
-   <li>{@code typeinfo}</li>
-   <li>{@code utility}</li>
-</ul>
-
-<h3 id="ga">GAbi++ runtime</h3>
-<p>This runtime provides the same headers as the default runtime, but adds support for RTTI
-(RunTime Type Information) and exception handling.</p>
-
-
-<h3 id="stl">STLport runtime</h3>
-<p>This runtime is an Android port of STLport
-(<a href="http://www.stlport.org">http://www.stlport.org</a>). It provides a complete set of C++
-standard library headers. It also, by embedding its own instance of GAbi++, provides support for
-RTTI and exception handling.</p>
-
-<p>While shared and static versions of this runtime are avilable, we recommend using the shared
-version. For more information, see <a href="#sr">Static runtimes</a>.</p>
-
-<p>The shared library file is named {@code libstlport_shared.so} instead of {@code libstdc++.so}
-as is common on other platforms.</p>
-
-<p>In addition to the static- and shared-library options, you can also force the NDK to
-build the library from sources by adding the following line to your {@code Application.mk}
-file, or setting it in your environment prior to building: </p>
-
-<pre>
-STLPORT_FORCE_REBUILD := true
-</pre>
-
-
-<h3 id="gn">GNU STL runtime</h3>
-<p>This runtime is the GNU Standard C++ Library, ({@code libstdc++-v3}). Its shared library file is
-named {@code libgnustl_shared.so}.</p>
-
-
-<h3 id="cs">libc++ runtime:</h3>
-<p>This runtime is an Android port of <a href="http://libcxx.llvm.org/">LLVM libc++</a>. Its
-shared library file is named {@code libc++_shared.so}.</p>
-
-<p>By default, this runtime compiles with {@code -std=c++11}. As with GNU {@code libstdc++}, you
-need to explicitly turn on exceptions or RTTI support. For information on how to do this, see
-<a href="#xp">C++ Exceptions</a> and <a href="#rt">RTTI</a>.</p>
-
-<p>The NDK provides prebuilt static and shared libraries for {@code libc++}, but you can force the
-NDK to rebuild {@code libc++} from sources by adding the following line to your
-{@code Application.mk} file, or setting it in your environment prior to building: </p>
-
-<pre>
-LIBCXX_FORCE_REBUILD := true
-</pre>
-
-<h4>Atomic support</h4>
-
-<p>If you include {@code <atomic>}, it's likely that you also need {@code libatomic}.
-If you are using {@code ndk-build}, add the following line:</p>
-
-<pre>
-LOCAL_LDLIBS += -latomic
-</pre>
-
-<p>If you are using your own toolchain, use:</p>
-
-<pre>
--latomic
-</pre>
-
-
-<h4>Compatibility</h4>
-
-<p>The NDK's libc++ is not stable. Not all the tests pass, and the test suite is not comprehensive.
-Some known issues are:</p>
-
-<ul>
-    <li>Using {@code c++_shared} on ARM can crash when an exception is thrown.</li>
-    <li>Support for {@code wchar_t} and the locale APIs is limited.</li>
-</ul>
-
-<p>You should also make sure to check the "Known Issues" section of the changelog for the NDK
-release you are using.</p>
-
-<p class="note"><strong>Warning: </strong>Attempting to change to an unsupported locale will
-<strong>not</strong> fail. The operation will succeed, but the locale will not change and the
-following message will appear in {@code logcat}.</p>
-
-<pre>
-newlocale() WARNING: Trying to set locale to en_US.UTF-8 other than "", "C" or "POSIX"
-</pre>
-
-
-<h2 id="ic">Important Considerations</h2>
-
-<h3 id="xp">C++ Exceptions</h3>
-<p>In all versions of the NDK later than NDKr5, the NDK toolchain allows you to use C++ runtimes
-that support exception handling. However, to ensure compatibility with earlier releases, it
-compiles all C++ sources with {@code -fno-exceptions} support by default. You can enable C++
-exceptions either for your entire app, or for individual modules.
-
-<p>To enable exception-handling support for your entire app, add the following line to
-your <a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file.
-To enable exception-handling support for individual modules', add the following line to
-their respective <a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> files.</p>
-
-<pre>
-APP_CPPFLAGS += -fexceptions
-</pre>
-
-<h3 id="rt">RTTI</h3>
-<p>In all versions of the NDK later than NDKr5, the NDK toolchain allows you to use C++ runtimes
-that support RTTI. However, to ensure compatibility with earlier releases, it compiles all C++
-sources with {@code -fno-rtti} by default.
-
-<p>To enable RTTI support for your entire app for your entire application, add the following line to
-your <a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file:
-
-<pre>
-APP_CPPFLAGS += -frtti
-</pre>
-
-To enable RTTI support for individual modules, add the following line to
-their respective <a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> files:
-
-<pre>
-LOCAL_CPP_FEATURES += rtti
-</pre>
-
-Alternatively, you can use:
-
-<pre>
-LOCAL_CPPFLAGS += -frtti
-</pre>
-
-<h3 id="sr">Static runtimes</h3>
-<p>Linking the static library variant of a C++ runtime to more than one binary may result in
-unexpected behavior. For example, you may experience:</p>
-
-<ul>
-<li>Memory allocated in one library, and freed in the other, causing memory leakage or heap
-corruption.</li>
-<li>Exceptions raised in {@code libfoo.so} going uncaught in {@code libbar.so}, causing your app
-to crash.</li>
-<li>Buffering of {@code std::cout} not working properly</li>
-</ul>
-
-<p>In addition, if you link two shared libraries&ndash;or a shared library and an executable&ndash;
-against the same static runtime, the final binary image of each shared library includes a copy of
-the runtime's code. Having multiple instances of runtime code is problematic because of duplication
-of certain global variables that the runtime uses or provides internally.</p>
-
-<p>This problem does not apply to a project comprising a single shared library. For example,
-you can link against {@code stlport_static}, and expect your app to behave correctly. If your
-project requires several shared library modules, we recommend that you use the shared library
-variant of your C++ runtime.</p>
-
-<h3>Shared runtimes</h3>
-<p>If your app targets a version of Android earlier than Android 4.3 (Android API level 18),
-and you use the shared library variant of a given C++ runtime, you must load the shared library
-before any other library that depends on it.</p>
-
-<p>For example, an app may have the following modules:</p>
-
-<ul>
-<li>libfoo.so</li>
-<li>libbar.so which is used by libfoo.so</li>
-<li>libstlport_shared.so, used by both libfoo and libbar</li>
-</ul>
-
-<p>You must load the libraries in reverse dependency order: </p>
-<pre>
-    static {
-      System.loadLibrary("stlport_shared");
-      System.loadLibrary("bar");
-      System.loadLibrary("foo");
-    }
-</pre>
-
-<p class="note"><strong>Note: </strong>Do not use the {@code lib} prefix when calling
-{@code System.loadLibrary()}.</p>
-
-<h2 id="li">Licensing</h2>
-
-<p>STLport is licensed under a BSD-style open-source license. See
-{@code $NDK/sources/cxx-stl/stlport/README} for more details about STLport.</p>
-
-<p>GNU libstdc++ is covered by the GPLv3 license, and <em>not</em> the LGPLv2 or LGPLv3. For
-more information, see <a href="http://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html">
-License</a> on the GCC website.</p>
-
-<p><a href="https://llvm.org/svn/llvm-project/libcxx/trunk/LICENSE.TXT">LLVM {@code libc++}</a>
-is dual-licensed under both the University of Illinois "BSD-Like" license and the MIT license.</p>
diff --git a/docs/html/ndk/guides/cpu-arm-neon.jd b/docs/html/ndk/guides/cpu-arm-neon.jd
deleted file mode 100644
index 1d12937..0000000
--- a/docs/html/ndk/guides/cpu-arm-neon.jd
+++ /dev/null
@@ -1,109 +0,0 @@
-page.title=NEON Support
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#ul">Using {@code LOCAL_ARM_NEON}</a></li>
-        <li><a href="#uns">Using the {@code .neon} Suffix</a></li>
-        <li><a href="#build">Build Requirements</a></li>
-        <li><a href="#rd">Runtime Detection</a></li>
-        <li><a href="#sc">Sample Code</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>The NDK supports the ARM Advanced SIMD, an optional instruction-set extension of the ARMv7 spec.
-NEON provides a set of scalar/vector instructions and registers (shared with the FPU) comparable to
-MMX/SSE/3DNow! in the x86 world. To function, it requires VFPv3-D32 (32 hardware FPU 64-bit
-registers, instead of the minimum of 16).</p>
-
-<p>The NDK supports the compilation of modules or even specific source files with support for NEON.
-As a result, a specific compiler flag enables the use of GCC ARM NEON intrinsics and VFPv3-D32
-at the same time.</p>
-
-<p>Not all ARMv7-based Android devices support NEON, but devices that do may benefit significantly
-from its support for scalar/vector instructions. For x86 devices, the NDK can also translate NEON
-instructions into SSE, although with several restrictions. For more information, see
-<a href="{@docRoot}ndk/guides/x86.html#an">x86 Support for ARM NEON Intrinsics.</a></p>
-
-<h2 id="ul">Using LOCAL_ARM_NEON</h2>
-<p>To have the NDK build all its source files with NEON support, include the following line in
-your module definition:</p>
-
-<pre class="no-pretty-print">
-LOCAL_ARM_NEON := true
-</pre>
-
-<p>It can be especially useful to build all source files with NEON support if you want to build a
-static or shared library that specifically contains NEON code paths.</p>
-
-<h2 id="uns">Using the .neon Suffix</h2>
-<p>When listing source files for your {@code LOCAL_SRC_FILES} variable, you have the option of
-using the {@code .neon} suffix to indicate that you want to build binaries with NEON support.
-For example, the following example builds one file with {@code .neon} support, and another
-without it:</p>
-
-<pre class="no-pretty-print">
-LOCAL_SRC_FILES := foo.c.neon bar.c
-</pre>
-
-<p>You can combine the {@code .neon} suffix with the {@code .arm} suffix, which specifies the 32-bit
-ARM instruction set for non-NEON instructions. In such a definition, {@code arm} must come before
-{@code neon}. For example: {@code foo.c.arm.neon} works, but {@code foo.c.neon.arm} does not.</p>
-
-<h2 id="build">Build Requirements</h2>
-<p>NEON support only works with the {@code armeabi-v7a} and {@code x86} ABIs. If the NDK build
-scripts encounter other ABIs while attempting to build with NEON support, the NDK build scripts
-exit. x86 provides <a href="x86.html">partial NEON support</a> via translation header. It is
-important to use checks like the following in your <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> file:</p>
-
-<pre class="no-pretty-print">
-# define a static library containing our NEON code
-ifeq ($(TARGET_ARCH_ABI),$(filter $(TARGET_ARCH_ABI), armeabi-v7a x86))
-include $(CLEAR_VARS)
-LOCAL_MODULE    := mylib-neon
-LOCAL_SRC_FILES := mylib-neon.c
-LOCAL_ARM_NEON  := true
-include $(BUILD_STATIC_LIBRARY)
-endif # TARGET_ARCH_ABI == armeabi-v7a || x86
-</pre>
-
-<h2 id="rd">Runtime Detection</h2>
-<p>Your app must perform runtime detection to confirm that NEON-capable machine code can be run on
-the target device. This is because not all ARMv7-based Android devices support NEON. The app can
-perform this check using the
-<a href="{@docRoot}ndk/guides/cpu-features.html">{@code cpufeatures}</a> library that comes with
-this NDK.</p>
-
-<p>You should explicitly check that {@code android_getCpuFamily()} returns {@code
-ANDROID_CPU_FAMILY_ARM}, and that {@code android_getCpuFeatures()} returns a value including the
-{@code ANDROID_CPU_ARM_FEATURE_NEON flag} set. For example: </p>
-
-<pre class="no-pretty-print">
-#include &lt;cpu-features.h&gt;
-...
-...
-if (android_getCpuFamily() == ANDROID_CPU_FAMILY_ARM &amp;&amp;
-    (android_getCpuFeatures() &amp; ANDROID_CPU_ARM_FEATURE_NEON) != 0)
-{
-    // use NEON-optimized routines
-    ...
-}
-else
-{
-    // use non-NEON fallback routines instead
-    ...
-}
-
-...
-</pre>
-
-<h2 id="sc">Sample Code</h2>
-<p>The source code for the NDK's hello-neon sample provides an example of how to use the
-{@code cpufeatures} library and NEON intrinsics at the same time. This sample implements a tiny
-benchmark for a FIR filter loop using a C version, and a NEON-optimized one for devices that
-support it.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/cpu-features.jd b/docs/html/ndk/guides/cpu-features.jd
deleted file mode 100644
index 3323efd..0000000
--- a/docs/html/ndk/guides/cpu-features.jd
+++ /dev/null
@@ -1,210 +0,0 @@
-page.title=The cpufeatures Library
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#usage">Usage</a></li>
-        <li><a href="#functions">Functions</a></li>
-        <li><a href="#ch">Change History</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>The NDK provides a small library named {@code cpufeatures} that your app can use at runtime to
-detect the target device's CPU family and the optional features it supports. It is designed to work
-as-is on all official Android platform versions.</p>
-
-<h2 id="usage">Usage</h2>
-<p>The {@code cpufeatures} library is available as an import module. To use it, follow the procedure
-below:</p>
-
-<ol>
-<li>List {@code cpufeatures} in your list of static library dependencies. For example:
-
-<pre class="no-pretty-print">
-LOCAL_STATIC_LIBRARIES := cpufeatures
-</pre>
-</li>
-
-<li>In your source code, include the {@code <cpu-features.h>} header file.</li>
-
-<li>At the end of your <a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> file,
-insert an instruction to import the {@code android/cpufeatures} module. For example:
-
-<pre class="no-pretty-print">
-$(call import-module,android/cpufeatures)
-</pre>
-
-<p>Here is a simple example of an {@code Android.mk} file that imports the {@code cpufeatures}
-library:</p>
-
-<pre class="no-pretty-print">
-&lt;project-path&gt;/jni/Android.mk:
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := &lt;your-module-name&gt;
-LOCAL_SRC_FILES := &lt;your-source-files&gt;
-LOCAL_STATIC_LIBRARIES := cpufeatures
-include $(BUILD_SHARED_LIBRARY)
-
-$(call import-module,android/cpufeatures)
-</pre>
-</li>
-</ol>
-
-<h2 id="functions">Functions</h2>
-<p>The {@code cpufeatures} library provides two functions. The first function returns the family to
-which the device's CPU belongs. Declare it as follows:</p>
-
-<pre class="no-pretty-print">
-AndroidCpuFamily android_getCpuFamily();
-</pre>
-
-<p>The function returns one of the following enums, representing the CPU family/architecture that
-the device supports.</p>
-<ul>
-<li>{@code ANDROID_CPU_FAMILY_ARM}</li>
-<li>{@code ANDROID_CPU_FAMILY_X86}</li>
-<li>{@code ANDROID_CPU_FAMILY_MIPS}</li>
-<li>{@code ANDROID_CPU_FAMILY_ARM64}</li>
-<li>{@code ANDROID_CPU_FAMILY_X86_64}</li>
-<li>{@code ANDROID_CPU_FAMILY_MIPS64}</li>
-</ul>
-
-<p>For a 32-bit executable on a 64-bit system, this function returns only the 32-bit value.</p>
-
-<p>The second function returns the set of optional features that the device's CPU supports. Declare
-it as follows:
-
-<pre class="no-pretty-print">
-uint64_t android_getCpuFeatures();
-</pre>
-
-<p>The return value takes the form of a set of bit flags, each flag representing one
-CPU-family-specific feature. The rest of this section provides information on features for
-the respective families.</p>
-
-<h4>32-bit ARM CPU family</h4>
-
-<p>The following flags are available for the 32-bit ARM CPU family:</p>
-<dl>
-<dt>{@code ANDROID_CPU_ARM_FEATURE_VFPv2}</dt>
-<dd>Indicates that the device's CPU supports the VFPv2 instruction set. Most ARMv6 CPUs support
-this instruction set.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_ARMv7}</dt>
-<dd>Indicates that the device's CPU supports the ARMv7-A instruction set as supported by the
-<a href="{@docRoot}ndk/guides/abis.html#v7a">armeabi-v7a</a> ABI. This instruction set supports both
-Thumb-2 and VFPv3-D16 instructions. This return value also indicates support for the VFPv3 hardware
-FPU instruction-set extension.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_VFPv3}</dt>
-<dd>Indicates that the device's CPU supports the VFPv3 hardware FPU instruction-set extension.
-<p>This value is equivalent to the {@code VFPv3-D16} instruction set, which provides provides only
-16 hardware double-precision FP registers.</p></dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_VFP_D32}</dt>
-<dd> Indicates that the device's CPU supports 32 hardware double-precision FP registers instead of
-16. Even when there are 32 hardware double-precision FP registers, there are still only 32
-single-precision registers mapped to the same register banks.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_NEON}</dt>
-<dd>Indicates that the device's CPU supports the ARM Advanced SIMD (NEON) vector instruction set
-extension. Note that ARM mandates that such CPUs also implement VFPv3-D32, which provides 32
-hardware FP registers (shared with the NEON unit).</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_VFP_FP16}</dt>
-<dd>Indicates that the device's CPU supports instructions to perform floating-point operations on
-16-bit registers. This feature is part of the VFPv4 specification.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_VFP_FMA}</dt>
-<dd>Indicates that the device's CPU supports the fused multiply-accumulate extension for the VFP
-instruction set. Also part of the VFPv4 specification.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_NEON_FMA}</dt>
-<dd>Indicates that the device's CPU supports the fused multiply-accumulate extension for the NEON
-instruction set. Also part of the VFPv4 specification.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_IDIV_ARM}</dt>
-<dd>Indicates that the device's CPU supports integer division in ARM mode. Only available on later-
-model CPUs, such as Cortex-A15.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_IDIV_THUMB2}</dt>
-<dd>Indicates that the device's CPU supports Integer division in Thumb-2 mode. Only available on
-later-model CPUs, such as Cortex-A15.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_iWMMXt}</dt>
-<dd>Indicates that the device's CPU supports an instruction-set extension that adds MMX registers
-and instructions. This feature is only available on a few XScale- based CPUs.</dd>
-
-<dt>{@code ANDROID_CPU_ARM_FEATURE_LDREX_STREX}</dt>
-<dd>Indicates that the device's CPU supports LDREX and STREX instructions available since ARMv6.
-Together, these instructions provide atomic updates on memory with the help of exclusive
-monitor.</dd>
-</dl>
-
-<h4>64-bit ARM CPU family</h4>
-
-<p>The following flags are available for the 64-bit ARM CPU family:</p>
-<dl>
-<dt>{@code ANDROID_CPU_ARM64_FEATURE_FP}</dt>
-<dd>Indicates that the device's CPU has a Floating Point Unit (FPU). All Android ARM64 devices must
-support this feature.</dd>
-<dt>{@code ANDROID_CPU_ARM64_FEATURE_ASIMD}</dt>
-<dd>Indicates that the device's CPU has an Advanced SIMD (ASIMD) unit. All Android ARM64 devices
-must support this feature.</dd>
-<dt>{@code ANDROID_CPU_ARM64_FEATURE_AES}</dt>
-<dd>Indicates that the device's CPU supports {@code AES} instructions.</dd>
-<dt>{@code ANDROID_CPU_ARM64_FEATURE_CRC32}</dt>
-<dd>Indicates that the device's CPU supports {@code CRC32} instructions.</dd>
-<dt>{@code ANDROID_CPU_ARM64_FEATURE_SHA1}</dt>
-<dd>Indicates that the device's CPU supports {@code SHA1} instructions.</dd>
-<dt>{@code ANDROID_CPU_ARM64_FEATURE_SHA2}</dt>
-<dd>Indicates that the device's CPU supports {@code SHA2} instructions.</dd>
-<dt>{@code ANDROID_CPU_ARM64_FEATURE_PMULL}</dt>
-<dd>Indicates that the device's CPU supports 64-bit {@code PMULL} and {@code PMULL2}
-instructions.</dd>
-</dl>
-
-<h4>32-bit x86 CPU family</h4>
-
-<p>The following flags are available for the 32-bit x86 CPU family.<p>
-<dl>
-<dt>{@code ANDROID_CPU_X86_FEATURE_SSSE3}</dt>
-Indicates that the device's CPU supports the SSSE3 instruction extension set.</dd>
-
-<dt>{@code ANDROID_CPU_X86_FEATURE_POPCNT}</dt>
-<dd>Indicates that the device's CPU supports the {@code POPCNT} instruction.</dd>
-
-<dt>{@code ANDROID_CPU_X86_FEATURE_MOVBE}</dt>
-<dd>Indicates that the device's CPU supports the {@code MOVBE} instruction. This instruction is
-specific to some Intel IA-32 CPUs, such as Atom.</dd>
-<dl>
-
-<p>{@code android_getCpuFeatures()} returns {@code 0} for CPU families for which there are no
-listed extensions.</p>
-
-<p>The following function returns the maximum number of CPU cores on the target device: </p>
-
-<pre class="no-pretty-print">
-int  android_getCpuCount(void);
-</pre>
-
-<h4>MIPS CPU family</h4>
-
-<dl>
-<dt>{@code ANDROID_CPU_MIPS_FEATURE_R6}</dt>
-<dd>Indicates that the CPU executes MIPS Release 6 instructions natively, and supports obsoleted R1..R5 instructions only via kernel traps.</dd>
-
-<dt>{@code ANDROID_CPU_MIPS_FEATURE_MSA}</dt>
-<dd>Indicates that the CPU supports MIPS SIMD Architecture instructions.</dd>
-</dl>
-
-<h2 id="ch">Change History</h2>
-<p>For the complete change history of this library, see the comments in
-{@code $NDK/sources/android/cpufeatures/cpu-features.c}, where {@code $NDK} is the root of your
-NDK installation.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/debug.jd b/docs/html/ndk/guides/debug.jd
deleted file mode 100644
index 3c4da3b..0000000
--- a/docs/html/ndk/guides/debug.jd
+++ /dev/null
@@ -1,11 +0,0 @@
-page.title=Debugging Your Project
-@jd:body
-
-<p>After you've built your app, you'll probably need to debug it. This section introduces you to the
-NDK's debugging tools.</p>
-
-<p>It begins by telling you how to use the <a href="{@docRoot}ndk/guides/ndk-gdb.html">
-{@code ndk-gdb}</a> tool to debug your code. It closes with an explanation of the
-<a href="{@docRoot}ndk/guides/ndk-stack.html">{@code ndk-stack}</a> tool, which helps you use the
-<a href="{@docRoot}tools/help/logcat.html">ADB logcat tool</a>
-as you debug.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/graphics/design-notes.jd b/docs/html/ndk/guides/graphics/design-notes.jd
deleted file mode 100644
index 272bd2d..0000000
--- a/docs/html/ndk/guides/graphics/design-notes.jd
+++ /dev/null
@@ -1,121 +0,0 @@
-page.title=Vulkan Design Guidelines
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#apply">Apply Display Rotation During Rendering</a></li>
-        <li><a href="#minimize">Minimize Render Passes Per Frame</a></li>
-        <li><a href="#choose">Choose Appropriate Memory Types</a></li>
-        <li><a href="#group">Group Descriptor Sets by Frequency</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>
-Vulkan is unlike earlier graphics APIs in that drivers do not perform certain
-optimizations, such as pipeline reuse, for apps. Instead, apps using Vulkan must
-implement such optimizations themselves. If they do not, they may exhibit worse
-performance than apps running OpenGL ES.
-</p>
-
-<p>
-When apps implement these optimizations themselves, they have the potential
-to do so more successfully than the driver can, because they have access to
-more specific information for a given use case. As a result, skillfully
-optimizing an app that uses Vulkan can yield better performance than if the
-app were using OpenGL ES.
-</p>
-
-<p>
-This page introduces several optimizations that your Android app can implement
-to gain performance boosts from Vulkan.
-</p>
-
-<h2 id="apply">Apply Display Rotation During Rendering</h2>
-
-<p>
-When the upward-facing direction of an app doesn’t match the orientation of the device’s
-display, the compositor rotates the application’s swapchain images so that it
-does match. It performs this rotation as it displays the images, which results
-in more power consumption&mdash;sometimes significantly more&mdash;than if it were not
-rotating them.
-</p>
-
-<p>
-By contrast, rotating swapchain images while generating them results in
-little, if any, additional power consumption. The
-{@code VkSurfaceCapabilitiesKHR::currentTransform} field indicates the rotation
-that the compositor applies to the window. After an app applies that rotation
-during rendering, the app uses the {@code VkSwapchainCreateInfoKHR::preTransform}
-field to report that the rotation is complete.
-</p>
-
-<h2 id="minimize">Minimize Render Passes Per Frame</h2>
-
-<p>
-On most mobile GPU architectures, beginning and ending a render pass is an
-expensive operation. Your app can improve performance by organizing rendering operations into
-as few render passes as possible.
-</p>
-
-<p>
-Different attachment-load and attachment-store ops offer different levels of
-performance. For example, if you do not need to preserve the contents of an attachment, you
-can use the much faster {@code VK_ATTACHMENT_LOAD_OP_CLEAR} or
-{@code VK_ATTACHMENT_LOAD_OP_DONT_CARE} instead of {@code VK_ATTACHMENT_LOAD_OP_LOAD}. Similarly, if
-you don't need to write the attachment's final values to memory for later use, you can use
-{@code VK_ATTACHMENT_STORE_OP_DONT_CARE} to attain much better performance than
-{@code VK_ATTACHMENT_STORE_OP_STORE}.
-</p>
-
-<p>
-Also, in most render passes, your app doesn’t need to load or store the
-depth/stencil attachment. In such cases, you can avoid having to allocate physical memory for
-the attachment by using the {@code VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT}
-flag when creating the attachment image. This bit provides the same benefits as does
-{@code glFramebufferDiscard} in OpenGL ES.
-</p>
-
-<h2 id="choose">Choose Appropriate Memory Types</h2>
-
-<p>
-When allocating device memory, apps must choose a memory type. Memory type
-determines how an app can use the memory, and also describes caching and
-coherence properties of the memory.  Different devices have different memory
-types available; different memory types exhibit different performance
-characteristics.
-</p>
-
-<p>
-An app can use a simple algorithm to pick the best memory type for a given
-use. This algorithm picks the first memory type in the
-{@code VkPhysicalDeviceMemoryProperties::memoryTypes} array that meets two criteria:
-The memory type must be allowed for the buffer
-or image, and must have the minimum properties that the app requires.
-</p>
-
-<p>
-Mobile systems generally don’t have separate physical memory heaps for the
-CPU and GPU. On such systems, {@code VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT} is not as
-significant as it is on systems that have discrete GPUs with their own, dedicated
-memory. An app should not assume this property is required.
-</p>
-
-<h2 id="group">Group Descriptor Sets by Frequency</h2>
-
-<p>
-If you have resource bindings that change at different frequencies, use
-multiple descriptor sets per pipeline rather than rebinding all resources for
-each draw. For example, you can have one set of descriptors for per-scene
-bindings, another set for per-material bindings, and a third set for
-per-mesh-instance bindings.
-</p>
-
-<p>
-Use immediate constants for the highest-frequency changes, such as changes
-executed with each draw call.
-</p>
-
diff --git a/docs/html/ndk/guides/graphics/getting-started.jd b/docs/html/ndk/guides/graphics/getting-started.jd
deleted file mode 100644
index 145e534..0000000
--- a/docs/html/ndk/guides/graphics/getting-started.jd
+++ /dev/null
@@ -1,201 +0,0 @@
-page.title=Vulkan Setup
-@jd:body
-
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#downloading">Downloading</a></li>
-        <li><a href="#testing">Testing Installation</a></li>
-        <li><a href="#compiling">Compiling Your Project</a></li>
-        <li><a href="#running">Running Your Project</a></li>
-        <li><a href="#using">Using the Dynamic Loader</a></li>
-      </ol>
-
-    </div>
-  </div>
-
-<p>
-This document explains how to get started with the Vulkan graphics library by downloading,
-compiling, and running several sample apps.
-</p>
-
-<p>
-Before beginning, make sure you have the right hardware and platform version prepared. You should
-be using one of the following devices, running at least Android N, Developer Preview 2:
-</p>
-
-<ul>
-   <li>Nexus 6P.</li>
-   <li>Nexus 5X.</li>
-   <li>Nexus Player.</li>
-</ul>
-
-<p>
-You can confirm your Android version by going to the <strong>Settings</strong> menu, and
-selecting <strong>About &lt;device&gt;</strong> > <strong>Android Version</strong>.
-Once you’ve confirmed that you have the right hardware and platform version set up, you can
-download the necessary software.
-</p>
-
-<h2 id="downloading">Downloading</h2>
-
-<p>
-Before getting started, you must download several tools and other software.
-</p>
-
-<ol style="1">
-   <li>If you don’t already have Android Studio,
-   <a href="{@docRoot}studio/index.html">download it.</a></li>
-
-<li><a href="https://github.com/android-ndk/ndk/wiki">Download</a> NDK r12-beta.</li>
-
-<li><a href="{@docRoot}preview/setup-sdk.html">Download and install
-the Android N-Preview SDK.</a></li>
-
-<li>(Optional) Build shaderc in NDK r12-beta by navigating to
-{@code &lt;ndk-root&gt;/sources/third_party/shaderc/},
-and running the following command:
-
-<pre class="no-pretty-print">
-../../../ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=Android.mk \
- APP_STL:=c++_shared APP_ABI=all libshaderc_combined
-</pre>
-
-You can specify {@code APP_STL} as {@code gnustl_static},
-{@code gnustl_shared}, {@code c++_static},
-or {@code c++_shared}.</li>
-
-<li>Open a terminal window, and use git to clone the Android Vulkan samples from the
-repository in which they reside.
-
-<pre class="no-pretty-print">
-$ git clone https://github.com/googlesamples/vulkan-basic-samples.git
-</pre>
-</li>
-
-<li>
-Navigate to the {@code LunarGSamples/} directory, which is in the local repository
-that you checked out in the previous step.
-</li>
-
-<li>Update the gslang source by entering the following command:
-
-<pre class="no-pretty-print">
-$ ./update_external_sources.sh -s -g
-</pre>
-</li>
-
-</ol>
-
-
-<h2 id="testing">Testing Installation</h2>
-
-<p>
-To confirm that Vulkan is set up properly, you can test it with
-the set of Vulkan API samples provided partly for that purpose. Follow these steps to
-build and execute these samples:
-</p>
-
-<ol style="1">
-
-
-<li>(Optional) Build the source by entering the following commands:
-
-<pre class="no-pretty-print">
-$ cd API-samples
-$ cmake -DANDROID=ON -DANDROID_ABI=[armeabi-v7a|arm64-v8a| x86|x86_64|all(default)]
-</pre>
-</li>
-
-<li>
-Import the samples into Android Studio. To do so, choose <strong>File</strong> >
-<strong>Import
-project (Eclipse, ADT, Gradle)</strong> and
-select the {@code LunarGSamples/API-Samples/android} directory.
-
-<p>You may see an error about missing components or missing SDK version.
-Ignore this error message, and follow the installation prompts.</p>
-
-<p>After several minutes, the <em>Project</em> pane should
-resemble the window shown in Figure 1.</p>
-
-<img src="../images/project-pane.png"
-alt="Project pane after importing samples into Android Studio" id="figure1" />
-
-<p class="img-caption">
-<strong>Figure 1.</strong> Project pane displaying samples after they've been imported.
-
-</li>
-</ol>
-
-<h2 id="compiling">Compiling Your Project</h2>
-
-<p>To compile your project, follow these steps:</p>
-
-<ol style="1">
-<li>Select your project in the Android Studio <em>Project</em> panel.</li>
-<li>From the <strong>Build</strong> menu, choose <strong>Make Module &lt;module-name&gt; </strong>.</li>
-<li>Resolve any dependency issues, and then compile. As Figure 2 shows, you can select individual projects to compile by choosing them from the configuration pulldown.</li>
-
-<img src="../images/config-pulldown.png"
-alt="Selecting the "drawcube" project from the config pulldown id="figure2" />
-
-<p class="img-caption">
-<strong>Figure 2.</strong> Selecting an individual project to compile.
-
-</ol>
-
-<p class="note"><strong>Note: </strong>
-<a href="https://github.com/googlesamples/android-vulkan-tutorials">Additional
-tutorial samples</a> illustrate the use of shaders compiled with off-line
-compilation integrated into Android Studio. For simplicity, each tutorial
-is self-contained, and builds according to standard Android Studio
-<a href="{@docRoot}tools/studio/index.html">build procedures.</a>
-</p>
-
-<h2 id="running">Running Your Project</h2>
-
-<p>To run your project, choose an APK to run by choosing <strong>Run</strong> > <strong>Run &lt;project-name&gt;</strong>.</p>
-
-<p>To debug an APK, choose <strong>Run</strong> >
-<strong>Debug &lt;project-name&gt;</strong>.  For each project,
-there’s a Java version and a native (C or C++) version.  Run the
-native version of the app. For example, for drawcube,
-run drawcube-native.</p>
-
-<p>Most of the samples have simple functionality, and most stop
-automatically after running.  The drawcube example is one of
-the more visually interesting examples. When you run it, it
-should display the image in Figure 3</p>.
-
-<img src="../images/drawcube-output.png"
-alt="Successfully running shows a multicolored cube" id="figure3" />
-
-<p class="img-caption">
-<strong>Figure 3.</strong> The successfully compiled program runs and produces a display.
-</p>
-
-<h2 id="using">Using the Dynamic Loader</h2>
-<p>
-The samples use a dynamic loader helper function defined in {@code vulkan_wrapper.h/cpp} to
-retrieve Vulkan API pointers using {@code dlopen()} and {@code dlsym()}. It does this rather
-than statically linking them with {@code vulkan.so}.
-</p>
-
-<p>
-Using this loader allows the code to link against API level 23 and earlier versions of the platform, which don’t include the {@code vulkan.so} shared library, but can run on devices that support Vulkan API.
-</p>
-
-<p>
-The following snippet shows how to use the dynamic loader.
-</p>
-
-<pre>
-#include "vulkan_wrapper.h" // Include Vulkan_wrapper and dynamically load symbols.
-...
-// Before any Vulkan API usage,
-InitVulkan();
-</pre>
diff --git a/docs/html/ndk/guides/graphics/index.jd b/docs/html/ndk/guides/graphics/index.jd
deleted file mode 100644
index cbd4b9c..0000000
--- a/docs/html/ndk/guides/graphics/index.jd
+++ /dev/null
@@ -1,36 +0,0 @@
-page.title=Vulkan Graphics API
-@jd:body
-
-
-<p>The Android platform includes an Android-specific implementation of the
-<a class="external-link" href="https://www.khronos.org/vulkan/">Vulkan</a> API
-specification from the Khronos Group. Vulkan is a
-low-overhead, cross-platform API for high-performance, 3D graphics. It provides tools
-for creating high-quality, real-time graphics in
-applications. Vulkan also provides advantages such as reducing
-CPU overhead and providing support for the
-<a class="external-link" href="https://www.khronos.org/spir">SPIR-V Binary
-Intermediate language</a>.
-</p>
-
-<p>
-This section begins with information on how to
-<a href="{@docRoot}ndk/guides/graphics/getting-started.html">get started</a> using Vulkan in your
-Android app. Next, it provides useful information that you should know about
-<a href="{@docRoot}ndk/guides/graphics/design-notes.html">Vulkan design guidelines</a>
-on the Android platform. From there, it explains how
-to use Vulkan's <a href="{@docRoot}ndk/guides/graphics/shader-compilers.html">shader compilers</a>.
-Last, it teaches you how to use
-<a href="{@docRoot}ndk/guides/graphics/validation-layer.html">validation layers</a>
-to help assure stability in apps using Vulkan.
-</p>
-
-<p>
-For more general information about this cross-platform API specification, see
-Khronos's
-<a class="external-link" href="http://khr.io/vulkanlaunchoverview">
-Vulkan Overview</a>.
-You can also keep up with the latest Vulkan-related developments at the
-Vulkan
-<a class="external-link" href="https://www.khronos.org/#slider_vulkan">news page</a>.
-</p>
diff --git a/docs/html/ndk/guides/graphics/shader-compilers.jd b/docs/html/ndk/guides/graphics/shader-compilers.jd
deleted file mode 100644
index c51c21c..0000000
--- a/docs/html/ndk/guides/graphics/shader-compilers.jd
+++ /dev/null
@@ -1,194 +0,0 @@
-page.title=Vulkan Shader Compilers on Android
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#aot">AOT Compilation</a></li>
-        <li><a href="#runtime">Runtime Compilation</a></li>
-        <li><a href="#integrating">Integrating Into your Project</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>
-A Vulkan app must manage shaders differently from the way an OpenGL ES app does so:
-In OpenGL ES, you provide a shader as a set of strings forming the source text of a
-GLSL shader program. By contrast, the Vulkan API requires you to provide a shader in
-the form of an entry point in a <a href=”https://www.khronos.org/spir”>SPIR-V</a> module.
-</p>
-
-<p>
-The NDK includes a runtime library for compiling GLSL into SPIR-V.
-The runtime library is the same as the one in the
-<a href="https://github.com/google/shaderc">Shaderc</a> open source project, and use the same
-<a href="https://github.com/KhronosGroup/glslang">Glslang GLSL</a> reference compiler as a
-back end. By default, the Shaderc version of the
-compiler assumes you are compiling for Vulkan.  After checking whether your code is valid for
-Vulkan, the compiler automatically enables the {@code KHR_vulkan_glsl} extension. The Shaderc
-version of the compiler also generates Vulkan-compliant SPIR-V code.
-</p>
-
-<p>
-You can choose to compile SPIR-V modules into your Vulkan app during development, a
-practice called <em>ahead-of-time</em>, or <em>AOT</em>, compiling. Alternatively,
-you can have your app compile them from shipped or procedurally generated shader
-source when needed during runtime. This practice is called <em>runtime compiling</em>.
-</p>
-
-<p>
-The rest of this page provides more detail about each practice, and then explains
-how to integrate shader compilation into your Vulkan app.
-</p>
-
-<h2 id=”aot”>AOT Compilation</h2>
-
-<p>
-For AOT compilation, we recommend the <em>glslc</em> command-line compiler from GLSL to SPIR-V.
-This compiler is available from the <a href="https://github.com/google/shaderc">Shaderc</a>
-project.</a>Many of its command-line options are similar to those of GCC and Clang, allowing
-you to integrate glslc into build systems easily.
-</p>
-
-<p>
-The glslc tool compiles a single-source file to a SPIR-V module with a single shader
-entry point.  By default, the output file has the same name as that of the source file,
-but with the {@code .spv} extension appended.
-</p>
-
-<p>
-You use filename extensions to tell the glslc tool which graphics shader stage to compile,
-or whether a compute shader is being compiled. For information on how to use these filename
-extensions, and options you can use with the tool, see
-<a href="https://github.com/google/shaderc/tree/master/glslc#user-content-shader-stage-specification">
-Shader stage specification</a> in the
-<a href="https://github.com/google/shaderc/tree/master/glslc">
-glslc</a> manual.
-</p>
-
-<h2 id="runtime">Runtime Compilation</h2>
-
-<p>
-For JIT compilation of shaders during runtime, the NDK provides the libshaderc library,
-which has both C and C++ APIs.
-</p>
-
-<p>
-C++ applications should use the C++ API. We recommend that apps in other languages
-use the C API, because the C ABI is lower level, and likely to provide better stability.
-</p>
-
-<p>
-The following example shows how to use the C++ API:
-</p>
-
-<pre>
-#include &lt;iostream&gt;
-#include &lt;string&gt;
-#include &lt;vector&gt;
-#include &lt;shaderc/shaderc.hpp&gt;
-
-std::vector&lt;uint32_t&gt; compile_file(const std::string& name,
-                                   shaderc_shader_kind kind,
-                                   const std::string& data) {
-  shaderc::Compiler compiler;
-  shaderc::CompileOptions options;
-
-  // Like -DMY_DEFINE=1
-  options.AddMacroDefinition("MY_DEFINE", "1");
-
-  shaderc::SpvCompilationResult module = compiler.CompileGlslToSpv(
-      data.c_str(), data.size(), kind, name.c_str(), options);
-
-  if (module.GetCompilationStatus() !=
-      shaderc_compilation_status_success) {
-    std::cerr << module.GetErrorMessage();
-  }
-
-  std::vector&lt;uint32_t&gt; result(module.cbegin(), module.cend());
-  return result;
-}
-</pre>
-
-
-
-<h2 id=”integrating”>Integrating into Your Projects</h2>
-
-<p>
-You can integrate the Vulkan shader compiler into your app using either the project's
-{@code Android.mk} file or Gradle.
-</p>
-
-<h3 id=”androidmk”>Android.mk</h3>
-
-<p>
-Perform the following steps to use your project's {@code Android.mk}
-file to integrate the shader compiler.
-</p>
-
-<ol>
-<li>
-Include the following lines in your Android.mk file:
-<pre class="no-pretty-print">
-include $(CLEAR_VARS)
-     ...
-LOCAL_STATIC_LIBRARIES := shaderc
-     ...
-include $(BUILD_SHARED_LIBRARY)
-
-$(call import-module, third_party/shaderc)
-</pre>
-</li>
-
-<li>
-Set APP_STL to one of {@code c++_static}, {@code c++_shared}, {@code gnustl_static},
-or {@code gnustl_shared}.
-</li>
-</ol>
-
-
-
-<h3 id=”gradle”>Gradle</h3>
-
-<ol>
-<li>
-In a terminal window, navigate to
-{@code &lt;ndk_root&gt;/sources/third_party/shaderc/}.
-</li>
-
-<li>
-Run the following command:
-
-<pre class="no-pretty-print">
-$ ../../../ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=Android.mk \
-APP_STL:=&lt;stl_version&gt; APP_ABI=all libshaderc_combined
-</pre>
-
-<p>
-This command places two folders in &lt;ndk_root&gt;/sources/third_party/shaderc/. The directory
-structure is as follows:
-</p>
-
-<pre class="no-pretty-print">
-include/
-  shaderc/
-    shaderc.h
-    shaderc.hpp
-libs/
-  &lt;stl_version&gt;/
-    {all of the abis}
-       libshaderc.a
-</pre>
-</li>
-
-<li>
-Add includes and link lines as you normally would for external libraries.
-</li>
-<p>
-The STL that you use to build your program must match the {@code stl} specified in
-{@code stl_version}.
-Only {@code c++_static}, {@code c++_shared}, {@code gnustl_static}, and
-{@code gnustl_shared} are supported.
-</p>
diff --git a/docs/html/ndk/guides/graphics/validation-layer.jd b/docs/html/ndk/guides/graphics/validation-layer.jd
deleted file mode 100644
index beac1c0..0000000
--- a/docs/html/ndk/guides/graphics/validation-layer.jd
+++ /dev/null
@@ -1,621 +0,0 @@
-page.title=Vulkan Validation Layers on Android
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#gls">Getting Layer Source</a></li>
-        <li><a href="#ias">Android Studio Integration</a>
-        <ol>
-            <li><a href="#asbl">Building Layers</a></li>
-            <li><a href="#asil">Installing Layers</a></li>
-        </ol>
-        </li>
-        <li><a href="#cli">Integrating on the Command Line</a>
-            <ol>
-            <li><a href="#clibl">Building Layers</a></li>
-            <li><a href="#cliil">Installing Layers</a></li>
-            </ol>
-        </li>
-        <li><a href="#verifying">Verifying Layer Build</a></li>
-        <li><a href="#enabling">Enabling Layers</a></li>
-        <li><a href="#debug">Enabling the Debug Callback</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>
-Most explicit graphics APIs do not perform error-checking, because doing so can result in a
-performance penalty. Vulkan provides error-checking in a manner that lets you use this feature at
-development time, but exclude it from the release build of your app, thus avoiding the penalty when
-it matters most. You do this by enabling <em>validation layers</em>. Validation layers intercept
-or hook Vulkan entry points for various debug and validation purposes.
-</p>
-
-<p>
-Each validation layer can contain definitions for one or more of these entry points, and
-intercepts the entry points for which it contains definitions. When a validation
-layer does not define an entry point, the system passes the entry point on to the next
-layer. Ultimately, an entry point not defined in any layer reaches the driver, the
-base level, unvalidated.
-</p>
-
-<p>
-The Android SDK, NDK, and Vulkan samples include Vulkan validation layers for
-use during development. You can hook these validation layers into the graphics stack, allowing
-them to report validation issues.  This instrumentation allows you to catch and fix misuses
-during development.
-</p>
-
-<p>
-This page explains how to:
-<ul>
-   <li>Get source code for validation layers.</li>
-   <li>Build the layers.</li>
-   <li>Incorporate the layers into your app.</li>
-</ul>
-</p>
-
-<h2 id="gls">Getting Layer Source</h2>
-<p>
-This section explains how to build layers from source.
-If you have precompiled layers, you can skip this section, and instead read about how to
-install your layers using <a href="#asil">Android Studio</a> or from the <a href="cliil">
-command line</a>.
-</p>
-<h3 id="ftn">From the NDK (Recommended)</h3>
-
-<p>
-<a href="{@docRoot}ndk/downloads/index.html">NDK Revision 12</a> and later contains source
-code for Android validation layers that is known-good, and ready to build. This code resides under
-the {@code &lt;ndk-root&gt;/sources/third_party/vulkan/src/build-android/generated/gradle-build}
-directory. This version of the layers should be sufficient for most needs. If so, your next task is
-to <a href="#building">build them</a>. Alternatively, you can pull source code from the
-Khronos Group repository.
-</pre>
-</p>
-
-<h3 id="ftr">From the repository</h3>
-
-<p>
-Although we recommend that you use the source code provided with the NDK, you can also pull more
-recent versions of the source code directly from the
-<a class="external-link" href="https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers">
-GitHub repository</a> belonging to the Khronos Group. To do so, perform the following steps.
-</p>
-
-<ol style="1">
-<li>
-Clone the Vulkan directory by entering the following command in your terminal window:
-
-<pre class="no-pretty-print">
-$ git clone git@github.com:KhronosGroup/Vulkan-LoaderAndValidationLayers.git
-</pre>
-
-<p class="note"><strong>Note: </strong>You must have a private SSH key associated with
-GitHub, or this command fails with a {@code Permission denied (publickey)} message.</p>
-</li>
-
-<li>
-Navigate to the directory containing the layer source code, and
-check out the repo's stable Android branch, called {@code android_layers}:
-
-<pre class="no-pretty-print">
-$ cd Vulkan-LoaderAndValidationLayers
-$ git checkout android_layers
-</pre>
-</li>
-
-<li>
-Begin preparation for building by entering the following commands on the command line:
-<ul>
-   <li>For Linux or OS X:
-   <ul>
-      <li>
-      <pre class="no-pretty-print">
-$ cd build-android
-$ ./android-generate</pre>
-      </li>
-   </ul>
-   </li>
-
-   <li>For Windows:
-   <ul>
-      <li>
-<pre class="no-pretty-print">
-&gt; cd build-android
-&gt; android-generate.bat</pre>
-      </li>
-   </ul>
-   </li>
-</ul>
-</li>
-
-<li>
-Continue by following the build instructions for your platform.
-These instructions are in the {@code BUILD.md} file contained in the local instance of the
-repository you cloned.
-</li>
-</ul>
-
-</ol>
-
-<h3 id="ias">Android Studio Integration</h3>
-<p>
-Android Studio builds the validation layers when it builds the rest of the app.
-This flow makes it easier for you to trace through the layers at runtime. Each layer's
-source code corresponds to a single Gradle project, which you can specify directly in your Android
-Studio app. For example, there is a {@code build.gradle} project for threading, and another
-one for parameter validation.
-</p>
-
-<h4 id="asbl">Building layers</h4>
-
-<p>
-To integrate layers directory into Android Studio application, perform these steps:
-</p>
-<li>
-Add layers to your Android Studio application's project by specifying their corresponding
-Gradle projects in {@code settings.gradle}, which is normally a peer to app directory.
-The following example shows how to do this, based on the assumption that you're
-<a href="#ftn">using the {@code build.gradle} files from the NDK</a>.
-
-<pre>
-// configure your path to the source code generated on your machine
-def layerProjRoot = file('/path/to/ndk-root/.../build-android/generated/gradle-build')
-String[] layers = ['threading',
-                   'parameter_validation',
-                   'object_tracker',
-                   'core_validation',
-                   'device_limits',
-                   'image',
-                   'swapchain',
-                   'unique_objects']
-for (layer in layers) {
-    include ":"+ layer
-    project(":" + layer.toString()).projectDir = new File("${layerProjRoot}/${layer}")
-}
-</pre>
-</li>
-
-Your next step is to provide the built layers to the app by installing them.
-
-<h4 id="asil">Installing layers</h4>
-
-<li>
-To install your layers, add the layer Gradle projects to your application's jniLibs dependencies
-in your {@code build.gradle} module. This module normally resides under the {@code app/} directory.
-The following example shows how to do this:
-
-<pre>
-android.sources {
-    main {
-        jni { ... }
-        jniLibs {
-            dependencies {
-                project ":threading"
-                project ":parameter_validation"
-                project ":object_tracker"
-                project ":core_validation"
-                project ":device_limits"
-                project ":image"
-                project ":swapchain"
-                project ":unique_objects"
-            }
-        }
-    }
-} // android.sources
-</pre>
-</li>
-<li>
-Develop, build, and debug as you usually would. When you build, Android Studio automatically
-builds the layers and copies them into your APK.
-</li>
-<li>
-Debug your application. Android Studio allows you to trace through the layer source code.
-</li>
-<li>
-For best performance, remove the layers before you do your release build.
-</li>
-</ol>
-
-
-<h3 id="cli">From the Command Line</h3>
-
-This section explains how to build and install your layers if your project does not use
-Android Studio.
-
-<h4 id="clibl">Building layers</h4>
-
-<p>
-To build validation layers on Linux or OS X, enter these commands on the command line:
-</p>
-<ul>
-<li>
-Using Gradle:
-<pre class="no-pretty-print">
-$ cd generated/gradle-build
-$ # configure SDK and NDK path in local.properties
-$ gradlew assembleAllDebug
-</pre>
-</li>
-<li>
-Using Android makefiles:
-<pre class="no-pretty-print">
-$ ndk-build</pre>
-</li>
-</ul>
-
-<p>
-To build validation layers on Windows, enter these commands on the command line:
-</p>
-<ul>
-<li>
-Using Gradle:
-<pre class="no-pretty-print">
-&gt; cd generated\gradle-build
-&gt; REM configure SDK and NDK path in local.properties
-&gt; gradlew.bat assembleAllDebug
-</pre>
-</li>
-<li>
-Using Android makefiles:
-<pre class="no-pretty-print">
-&gt; ndk-build.cmd
-</pre>
-</li>
-</ul>
-
-
-
-</p>
-</li>
-</ol>
-
-<h4 id="cliil">Installing layers</h4>
-
-<p>
-After building the layers, you must provide them to your app. To do so, you must first
-create a {@code jniLibs} folder in your app's project directory under
-{@code ./src/main/}, and copy the libs to it. The following example shows how to do this.
-</p>
-
-<pre class="no-pretty-print">
-$ mkdir ./src/main/jniLibs
-</pre>
-
-<p>
-The next step depends on whether you are using Gradle or Android makefiles. If you're using
-Gradle, each built layer resides in its own directory. Consolidate the layers into a single
-directory, as the following example shows:
-</p>
-
-<pre class="no-pretty-print">
-$ cp -r .../build-android/generated/gradle-build/threading/build/outputs/native/debug/all/lib/* ./src/main/jniLibs/
-$ cp -r .../build-android/generated/gradle-build/parameter_validation/build/outputs/native/debug/all/lib/* ./src/main/jniLibs/
-$ cp -r .../build-android/generated/gradle-build/object_tracker/build/outputs/native/debug/all/lib/* ./src/main/jniLibs/
-$ cp -r .../build-android/generated/gradle-build/core_validation/build/outputs/native/debug/all/lib/* ./src/main/jniLibs/
-$ cp -r .../build-android/generated/gradle-build/device_limits/build/outputs/native/debug/all/lib/* ./src/main/jniLibs/
-$ cp -r .../build-android/generated/gradle-build/image/build/outputs/native/debug/all/lib/* ./src/main/jniLibs/
-$ cp -r .../build-android/generated/gradle-build/swapchain/build/outputs/native/debug/all/lib/* ./src/main/jniLibs/
-$ cp -r .../build-android/generated/gradle-build/unique_objects/build/outputs/native/debug/all/lib/* ./src/main/jniLibs/
-</pre>
-
-If you're using Android makefiles, the built layers reside in {@code lib} folders,
-with one {@code lib} folder under each architecture’s root directory. Consolidate the
-makefiles under the {@code jniLibs} directory as this example shows:
-</p>
-<pre class="no-pretty-print">
-$ cp -r .../build-android/libs/* ./src/main/jniLibs/
-</pre>
-</li>
-</ol>
-
-<h2 id="verifying">Verifying Layer Build</h2>
-
-<p>
-Regardless of whether you build using Gradle or Android makefiles, the build process produces
-a file structure like the following:
-</p>
-
-<pre class="no-pretty-print">
-src/main/jniLibs/
-  arm64-v8a/
-    libVkLayer_core_validation.so
-    libVkLayer_device_limits.so
-    libVkLayer_image.so
-    libVkLayer_object_tracker.so
-    libVkLayer_parameter_validation.so
-    libVkLayer_swapchain.so
-    libVkLayer_threading.so
-    libVkLayer_unique_objects.so
-  armeabi-v7a/
-    libVkLayer_core_validation.so
-    ...
-</pre>
-
-<p>
-The following example shows how to verify that your APK contains the validation layers
-as expected:
-</p>
-
-<pre class="no-pretty-print">
-$ jar -xvf project.apk
- ...
- inflated: lib/arm64-v8a/libVkLayer_threading.so
- inflated: lib/arm64-v8a/libVkLayer_object_tracker.so
- inflated: lib/arm64-v8a/libVkLayer_swapchain.so
- inflated: lib/arm64-v8a/libVkLayer_unique_objects.so
- inflated: lib/arm64-v8a/libVkLayer_parameter_validation.so
- inflated: lib/arm64-v8a/libVkLayer_image.so
- inflated: lib/arm64-v8a/libVkLayer_core_validation.so
- inflated: lib/arm64-v8a/libVkLayer_device_limits.so
- ...
-</pre>
-
-
-<h2 id="enabling">Enabling Layers</h2>
-
-<p>The Vulkan API allows an app to enable both instance layers and device layers.</p>
-
-<h3>Instance layers</h3>
-
-<p>
-A layer that can intercept Vulkan instance-level entry points is called an instance layer.
-Instance-level entry points are those with {@code VkInstance} or {@code VkPhysicalDevice}
-as the first parameter.
-</p>
-
-<p>
-You can call {@code vkEnumerateInstanceLayerProperties()} to list the available instance layers
-and their properties. The system enables instance layers when {@code vkCreateInstace()} executes.
-</p>
-
-<p>
-The following code snippet shows how an app can use the Vulkan API to programmatically enable and
-query an instance layer:
-</p>
-
-<pre>
-// Get instance layer count using null pointer as last parameter
-uint32_t instance_layer_present_count = 0;
-vkEnumerateInstanceLayerProperties(&instance_layer_present_count, nullptr);
-
-// Enumerate instance layers with valid pointer in last parameter
-VkLayerProperties* layer_props =
-    (VkLayerProperties*)malloc(instance_layer_present_count * sizeof(VkLayerProperties));
-vkEnumerateInstanceLayerProperties(&instance_layer_present_count, layer_props));
-
-// Make sure the desired instance validation layers are available
-// NOTE:  These are not listed in an arbitrary order.  Threading must be
-//        first, and unique_objects must be last.  This is the order they
-//        will be inserted by the loader.
-const char *instance_layers[] = {
-    "VK_LAYER_GOOGLE_threading",
-    "VK_LAYER_LUNARG_parameter_validation",
-    "VK_LAYER_LUNARG_object_tracker",
-    "VK_LAYER_LUNARG_core_validation",
-    "VK_LAYER_LUNARG_device_limits",
-    "VK_LAYER_LUNARG_image",
-    "VK_LAYER_LUNARG_swapchain",
-    "VK_LAYER_GOOGLE_unique_objects"
-};
-
-uint32_t instance_layer_request_count =
-    sizeof(instance_layers) / sizeof(instance_layers[0]);
-for (uint32_t i = 0; i < instance_layer_request_count; i++) {
-    bool found = false;
-    for (uint32_t j = 0; j < instance_layer_present_count; j++) {
-        if (strcmp(instance_layers[i], layer_props[j].layerName) == 0) {
-            found = true;
-        }
-    }
-    if (!found) {
-        error();
-    }
-}
-
-// Pass desired instance layers into vkCreateInstance
-VkInstanceCreateInfo instance_info = {};
-instance_info.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
-instance_info.enabledLayerCount = instance_layer_request_count;
-instance_info.ppEnabledLayerNames = instance_layers;
-...
-</pre>
-
-<h3>Device layers</h3>
-
-<p>
-A layer that can intercept device-level entry points is called a device layer. Device-level entry
-points are those whose first parameter is {@code VkDevice}, {@code VkCommandBuffer},
-or {@code VkQueue}. The list of
-device layers to enable is included in the {@code ppEnabledLayerNames} field of the
-{@code VkDeviceCreateInfo}
-struct that the app passes into {@code vkCreateDevice()}.
-</p>
-
-<p>
-You can call {@code vkEnumerateDeviceLayerProperties} to list the available layers
-and their properties. The system enables device layers when it calls {@code vkCreateDevice()}.
-</p>
-
-<p>
-The following code snippet shows how an app can use the Vulkan API to programmatically enable a
-device layer.
-</p>
-
-<pre>
-
-// Get device layer count using null as last parameter
-uint32_t device_layer_present_count = 0;
-vkEnumerateDeviceLayerProperties(&device_layer_present_count, nullptr);
-
-// Enumerate device layers with valid pointer in last parameter
-VkLayerProperties* layer_props =
-   (VkLayerProperties *)malloc(device_layer_present_count * sizeof(VkLayerProperties));
-vkEnumerateDeviceLayerProperties(physical_device, device_layer_present_count, layer_props));
-
-// Make sure the desired device validation layers are available
-// Ensure threading is first and unique_objects is last!
-const char *device_layers[] = {
-    "VK_LAYER_GOOGLE_threading",
-    "VK_LAYER_LUNARG_parameter_validation",
-    "VK_LAYER_LUNARG_object_tracker",
-    "VK_LAYER_LUNARG_core_validation",
-    "VK_LAYER_LUNARG_device_limits",
-    "VK_LAYER_LUNARG_image",
-    "VK_LAYER_LUNARG_swapchain",
-    "VK_LAYER_GOOGLE_unique_objects"
-};
-
-uint32_t device_layer_request_count =
-   sizeof(device_layers) / sizeof(device_layers[0]);
-for (uint32_t i = 0; i < device_layer_request_count; i++) {
-    bool found = false;
-    for (uint32_t j = 0; j < device_layer_present_count; j++) {
-        if (strcmp(device_layers[i],
-           layer_props[j].layerName) == 0) {
-            found = true;
-        }
-    }
-    if (!found) {
-        error();
-    }
-}
-
-// Pass desired device layers into vkCreateDevice
-VkDeviceCreateInfo device_info = {};
-device_info.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
-device_info.enabledLayerCount = device_layer_request_count;
-device_info.ppEnabledLayerNames = device_layers;
-...
-</pre>
-
-<h2 id="debug">Enabling the Debug Callback</h2>
-
-<p>
-The Debug Report extension {@code VK_EXT_debug_report} allows your application to control
-layer behavior when an event occurs.</p>
-
-<p>
-Before using this extension, you must first make sure that the platform supports it.
-The following example shows how to check for debug extension support and
-register a callback if the extension is supported.
-</p>
-
-<pre>
-// Get the instance extension count
-uint32_t inst_ext_count = 0;
-vkEnumerateInstanceExtensionProperties(nullptr, &inst_ext_count, nullptr);
-
-// Enumerate the instance extensions
-VkExtensionProperties* inst_exts =
-    (VkExtensionProperties *)malloc(inst_ext_count * sizeof(VkExtensionProperties));
-vkEnumerateInstanceExtensionProperties(nullptr, &inst_ext_count, inst_exts);
-
-const char * enabled_inst_exts[16] = {};
-uint32_t enabled_inst_ext_count = 0;
-
-// Make sure the debug report extension is available
-for (uint32_t i = 0; i < inst_ext_count; i++) {
-    if (strcmp(inst_exts[i].extensionName,
-    VK_EXT_DEBUG_REPORT_EXTENSION_NAME) == 0) {
-        enabled_inst_exts[enabled_inst_ext_count++] =
-            VK_EXT_DEBUG_REPORT_EXTENSION_NAME;
-    }
-}
-
-if (enabled_inst_ext_count == 0)
-    return;
-
-// Pass the instance extensions into vkCreateInstance
-VkInstanceCreateInfo instance_info = {};
-instance_info.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
-instance_info.enabledExtensionCount = enabled_inst_ext_count;
-instance_info.ppEnabledExtensionNames = enabled_inst_exts;
-
-PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT;
-PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT;
-
-vkCreateDebugReportCallbackEXT = (PFN_vkCreateDebugReportCallbackEXT)
-    vkGetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT");
-vkDestroyDebugReportCallbackEXT = (PFN_vkDestroyDebugReportCallbackEXT)
-    vkGetInstanceProcAddr(instance, "vkDestroyDebugReportCallbackEXT");
-
-assert(vkCreateDebugReportCallbackEXT);
-assert(vkDestroyDebugReportCallbackEXT);
-
-// Create the debug callback with desired settings
-VkDebugReportCallbackEXT debugReportCallback;
-if (vkCreateDebugReportCallbackEXT) {
-    VkDebugReportCallbackCreateInfoEXT debugReportCallbackCreateInfo;
-    debugReportCallbackCreateInfo.sType =
-        VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT;
-    debugReportCallbackCreateInfo.pNext = NULL;
-    debugReportCallbackCreateInfo.flags = VK_DEBUG_REPORT_ERROR_BIT_EXT |
-                                          VK_DEBUG_REPORT_WARNING_BIT_EXT |
-                                          VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT;
-    debugReportCallbackCreateInfo.pfnCallback = DebugReportCallback;
-    debugReportCallbackCreateInfo.pUserData = NULL;
-
-    vkCreateDebugReportCallbackEXT(instance, &debugReportCallbackCreateInfo,
-                                   nullptr, &debugReportCallback);
-}
-
-// Later, when shutting down Vulkan, call the following
-if (vkDestroyDebugReportCallbackEXT) {
-   vkDestroyDebugReportCallbackEXT(instance, debugReportCallback, nullptr);
-}
-
-</pre>
-
-Once your app has registered and enabled the debug callback, the system routes debugging
-messages to a callback that you register. An example of such a callback appears below:
-</p>
-
-
-<pre>
-#include &lt;android/log.h&gt;
-
-static VKAPI_ATTR VkBool32 VKAPI_CALL DebugReportCallback(
-                                   VkDebugReportFlagsEXT msgFlags,
-                                   VkDebugReportObjectTypeEXT objType,
-                                   uint64_t srcObject, size_t location,
-                                   int32_t msgCode, const char * pLayerPrefix,
-                                   const char * pMsg, void * pUserData )
-{
-   if (msgFlags & VK_DEBUG_REPORT_ERROR_BIT_EXT) {
-       __android_log_print(ANDROID_LOG_ERROR,
-                           "AppName",
-                           "ERROR: [%s] Code %i : %s",
-                           pLayerPrefix, msgCode, pMsg);
-   } else if (msgFlags & VK_DEBUG_REPORT_WARNING_BIT_EXT) {
-       __android_log_print(ANDROID_LOG_WARN,
-                           "AppName",
-                           "WARNING: [%s] Code %i : %s",
-                           pLayerPrefix, msgCode, pMsg);
-   } else if (msgFlags & VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT) {
-       __android_log_print(ANDROID_LOG_WARN,
-                           "AppName",
-                           "PERFORMANCE WARNING: [%s] Code %i : %s",
-                           pLayerPrefix, msgCode, pMsg);
-   } else if (msgFlags & VK_DEBUG_REPORT_INFORMATION_BIT_EXT) {
-       __android_log_print(ANDROID_LOG_INFO,
-                           "AppName", "INFO: [%s] Code %i : %s",
-                           pLayerPrefix, msgCode, pMsg);
-   } else if (msgFlags & VK_DEBUG_REPORT_DEBUG_BIT_EXT) {
-       __android_log_print(ANDROID_LOG_VERBOSE,
-                           "AppName", "DEBUG: [%s] Code %i : %s",
-                           pLayerPrefix, msgCode, pMsg);
-   }
-
-   // Returning false tells the layer not to stop when the event occurs, so
-   // they see the same behavior with and without validation layers enabled.
-   return VK_FALSE;
-}
-</pre>
-
-
-
diff --git a/docs/html/ndk/guides/guides_toc.cs b/docs/html/ndk/guides/guides_toc.cs
deleted file mode 100644
index 09b2a12..0000000
--- a/docs/html/ndk/guides/guides_toc.cs
+++ /dev/null
@@ -1,113 +0,0 @@
-<?cs # Table of contents for Dev Guide.
-
-       For each document available in translation, add an localized title to this TOC.
-       Do not add localized title for docs not available in translation.
-       Below are template spans for adding localized doc titles. Please ensure that
-       localized titles are added in the language order specified below.
-?>
-
-<ul id="nav">
-   <li class="nav-section">
-      <div class="nav-section-header"><a href="<?cs var:toroot ?>ndk/guides/index.html">
-      <span class="en">Getting Started</span></a></div>
-      <ul>
-         <li><a href="<?cs var:toroot ?>ndk/guides/setup.html">Setup</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/concepts.html">Concepts</a></li>
-      </ul>
-   </li>
-
-   <li class="nav-section">
-      <div class="nav-section-header"><a href="<?cs var:toroot ?>ndk/guides/build.html">
-      <span class="en">
-      Building</span></a></div>
-      <ul>
-         <li><a href="<?cs var:toroot ?>ndk/guides/android_mk.html">Android.mk</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/application_mk.html">Application.mk</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/ndk-build.html">ndk-build</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/standalone_toolchain.html">Standalone Toolchain
-         </a></li>
-      </ul>
-   </li>
-
-   <li class="nav-section">
-      <div class="nav-section-header"><a href="<?cs var:toroot ?>ndk/guides/arch.html">
-      <span class="en">Architectures and CPUs</span></a></div>
-      <ul>
-         <li><a href="<?cs var:toroot ?>ndk/guides/abis.html">ABI Management</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/cpu-arm-neon.html">NEON</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/x86.html">x86</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/x86-64.html">x86-64</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/mips.html">MIPS</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/cpu-features.html">The cpufeatures Library</a>
-         </li>
-      </ul>
-   </li>
-
-   <li class="nav-section">
-      <div class="nav-section-header"><a href="<?cs var:toroot ?>ndk/guides/debug.html">
-      <span class="en">Debugging</span></a></div>
-      <ul>
-         <li><a href="<?cs var:toroot ?>ndk/guides/ndk-gdb.html">ndk-gdb</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/guides/ndk-stack.html">ndk-stack</a></li>
-      </ul>
-   </li>
-
-   <li class="nav-section">
-      <div class="nav-section-header"><a href="<?cs var:toroot ?>ndk/guides/libs.html">
-      <span class="en">Libraries</span></a></div>
-      <ul>
-      <li><a href="<?cs var:toroot ?>ndk/guides/prebuilts.html">Prebuilt Libraries</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/cpp-support.html">C++ Support</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/stable_apis.html">Stable APIs</a></li>
-
-      </ul>
-   </li>
-
-   <li class="nav-section">
-      <div class="nav-section-header"><a href="<?cs var:toroot ?>ndk/guides/audio/index.html">
-      <span class="en">Audio</span></a></div>
-      <ul>
-      <li><a href="<?cs var:toroot ?>ndk/guides/audio/basics.html">Basics</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/audio/opensl-for-android.html">OpenSL ES for
-      Android</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/audio/input-latency.html">Audio Input
-      Latency</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/audio/output-latency.html">Audio Output
-      Latency</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/audio/floating-point.html">Floating-Point
-      Audio</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/audio/sample-rates.html">Sample Rates
-      </a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/audio/opensl-prog-notes.html">OpenSL ES Programming Notes
-      </a></li>
-      </ul>
-   </li>
-
-      <li class="nav-section">
-      <div class="nav-section-header">
-      <a href="<?cs var:toroot ?>ndk/guides/graphics/index.html">
-      <span class="en">Vulkan</span></a></div>
-      <ul>
-      <li><a href="<?cs var:toroot ?>ndk/guides/graphics/getting-started.html">
-      Getting Started</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/graphics/design-notes.html">
-      Design Guidelines</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/graphics/shader-compilers.html">
-      Shader Compilers</a></li>
-      <li><a href="<?cs var:toroot ?>ndk/guides/graphics/validation-layer.html">
-      Validation Layers</a></li>
-      </ul>
-      </ul>
-   </li>
-
-
-</ul>
-
-
-<script type="text/javascript">
-<!--
-    buildToggleLists();
-    changeNavLang(getLangPref());
-//-->
-</script>
-
diff --git a/docs/html/ndk/guides/images/NDK_build_string.png b/docs/html/ndk/guides/images/NDK_build_string.png
deleted file mode 100644
index 338378b..0000000
--- a/docs/html/ndk/guides/images/NDK_build_string.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/guides/images/NDK_build_string@2x.png b/docs/html/ndk/guides/images/NDK_build_string@2x.png
deleted file mode 100644
index 5ba3ce3..0000000
--- a/docs/html/ndk/guides/images/NDK_build_string@2x.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/guides/images/config-pulldown.png b/docs/html/ndk/guides/images/config-pulldown.png
deleted file mode 100644
index 5af0870..0000000
--- a/docs/html/ndk/guides/images/config-pulldown.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/guides/images/drawcube-output.png b/docs/html/ndk/guides/images/drawcube-output.png
deleted file mode 100644
index 3b7f775..0000000
--- a/docs/html/ndk/guides/images/drawcube-output.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/guides/images/project-pane.png b/docs/html/ndk/guides/images/project-pane.png
deleted file mode 100644
index f6d624b..0000000
--- a/docs/html/ndk/guides/images/project-pane.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/guides/images/verification_screen.png b/docs/html/ndk/guides/images/verification_screen.png
deleted file mode 100644
index 91858ba..0000000
--- a/docs/html/ndk/guides/images/verification_screen.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/guides/images/verification_screen@2x.png b/docs/html/ndk/guides/images/verification_screen@2x.png
deleted file mode 100644
index 0d666c9..0000000
--- a/docs/html/ndk/guides/images/verification_screen@2x.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/guides/index.jd b/docs/html/ndk/guides/index.jd
deleted file mode 100644
index 465ce13..0000000
--- a/docs/html/ndk/guides/index.jd
+++ /dev/null
@@ -1,25 +0,0 @@
-page.title=Getting Started with the NDK
-@jd:body
-
-<p>The Native Development Kit (NDK) is a set of tools that allow you to leverage C and
-C++ code in your Android apps. You can use it either to build from your own source code, or to take
-advantage of existing prebuilt libraries.</p>
-
-<p>The NDK is not appropriate for most novice Android programmers, and has little value for many
-types of Android apps. It is often not worth the additional complexity it inevitably brings to the
-development process. However, it can be useful in cases in which you need to:</p>
-
-<ul>
-   <li>Squeeze extra performance out of a device for computationally intensive applications like
-   games or physics simulations.</li>
-   <li>Reuse your own or other developers' C or C++ libraries.</li>
-</ul>
-
-<p>This guide gives you the information you need to get up and running with the NDK. It starts by
-explaining the <a href="{@docRoot}ndk/guides/concepts.html">concepts</a> underpinning the NDK, and
-how to <a href="{@docRoot}ndk/guides/setup.html">set it up</a>. Next, it continues with information
-about targeting <a href="{@docRoot}ndk/guides/arch.html">different hardware platforms</a> in your
-builds. Then, it explains how to use
-the NDK to <a href="{@docRoot}ndk/guides/build.html">build</a> and
-<a href="{@docRoot}ndk/guides/debug.html">debug</a> your app. Finally, it discusses how to use your
-own and other prebuilt <a href="{@docRoot}ndk/guides/libs.html">libraries</a>.</p>
diff --git a/docs/html/ndk/guides/libs.jd b/docs/html/ndk/guides/libs.jd
deleted file mode 100644
index ea607de..0000000
--- a/docs/html/ndk/guides/libs.jd
+++ /dev/null
@@ -1,13 +0,0 @@
-page.title=Using Existing Libraries
-@jd:body
-
-<p>This section discusses the use of existing libraries&ndash;both your own, and those that the NDK
-provides.</p>
-
-<p>It begins by telling you how to use your own <a href="{@docRoot}ndk/guides/prebuilts.html">
-prebuilt libraries</a>. Then, it explains the <a href="{@docRoot}ndk/guides/cpp-support.html">
-C++ helper runtimes</a> available with the NDK, and how to use them. Finally, it provides
-information on <a href="{@docRoot}ndk/guides/stable_apis.html">the other libraries</a> that the NDK provides, such
-as <a href="https://www.khronos.org/opengles/">OpenGL ES</a> and
-<a href="https://www.khronos.org/opensles/">OpenSL ES</a>, and the minimum Android API levels
-required to support those libraries.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/mips.jd b/docs/html/ndk/guides/mips.jd
deleted file mode 100755
index d104ffe..0000000
--- a/docs/html/ndk/guides/mips.jd
+++ /dev/null
@@ -1,43 +0,0 @@
-page.title=MIPS Support
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#over">Overview</a></li>
-        <li><a href="#comp">Compatibility</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>The NDK supports the {@code mips} ABI, which allows native code to run on Android-based devices
-that have CPUs supporting the MIPS32 instruction set.</p>
-
-<h2 id="over">Overview</h2>
-<p>To generate MIPS machine code, include {@code mips} in your
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file's
-{@code APP_ABI} definition. For example: </p>
-
-<pre class="no-pretty-print">
-APP_ABI := mips
-</pre>
-
-<p>For more information about defining the {@code APP_ABI} variable, see
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a>.</p>
-
-<p>The build system places generated libraries into {@code $PROJECT/libs/mips/}, where
-{@code $PROJECT} represents your project's root directory, and embeds them in your APK under
-the {@code /lib/mips/} directory.</p>
-
-<p>The Android package manager extracts these libraries when installing your APK on a compatible
-MIPS-based device, placing them under your app's private data directory.</p>
-
-<p>In the Google Play store, the server filters applications so that a consumer sees only the native
-libraries that run on the CPU powering his or her device.</p>
-
-<h2 id="comp">Compatibility</h2>
-<p>MIPS support requires, at minimum, Android 2.3 (Android API level 9). If your project files
-target an older API level, but include MIPS as a targeted platform, the NDK build script
-automatically selects the right set of native platform headers/libraries for you.</p>
diff --git a/docs/html/ndk/guides/ndk-build.jd b/docs/html/ndk/guides/ndk-build.jd
deleted file mode 100755
index e653bf5..0000000
--- a/docs/html/ndk/guides/ndk-build.jd
+++ /dev/null
@@ -1,168 +0,0 @@
-page.title=ndk-build
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#int">Internals</a></li>
-         <li><a href="#ifc">Invoking from the Command Line</a></li>
-         <li><a href="#6432">64-Bit and 32-Bit Toolchains</a></li>
-         <li><a href="#req">Requirements</a></li>
-          </ol>
-        </li>
-      </ol>
-    </div>
-  </div>
-
-<p>The {@code ndk-build} file is a shell script introduced in Android NDK r4. Its purpose
-is to invoke the right NDK build script.
-
-<h2 id="int">Internals</h2>
-
-<p>Running the {@code ndk-build} script is equivalent to running the following command:</p>
-
-<pre class="no-pretty-print">
-$GNUMAKE -f &lt;ndk&gt;/build/core/build-local.mk
-&lt;parameters&gt;
-</pre>
-
-<p><code>$GNUMAKE</code> points to GNU Make 3.81 or later, and
-<code>&lt;ndk&gt;</code> points to your NDK installation directory. You can use
-this information to invoke ndk-build from other shell scripts, or even your own
-make files.</p>
-
-<h2 id="ifc">Invoking from the Command Line</h2>
-<p>The {@code ndk-build} file lives in the top level the NDK installation directory. To run it
-from the command line, invoke it while in or under your application project directory.
-For example: </p>
-
-<pre class="no-pretty-print">
-cd &lt;project&gt;
-$ &lt;ndk&gt;/ndk-build
-</pre>
-
-<p>In this example, <code>&lt;project&gt;</code> points to your
-project’s root directory, and <code>&lt;ndk&gt;</code> is the directory where
-you installed the NDK.</p>
-
-<p><a class="anchor" id="options"></a> </p>
-<h3>Options</h3>
-<p>All parameters to ndk-build are passed directly to the underlying GNU {@code make}
-command that runs the NDK build scripts. Combine <code>ndk-build</code> and
-options in the form <code>ndk-build &lt;option&gt;</code>. For example: </p>
-
-<pre class="no-pretty-print">
-$ ndk-build clean
-</pre>
-
-<p>The following options are available:</p>
-<dl>
-  <dt>{@code clean}</dt>
-  <dd>Remove any previously generated binaries.</dd>
-  <dt>{@code V=1}</dt>
-  <dd>Launch build, and display build commands.<dd>
-  <dt>{@code -B}</dt>
-  <dd>Force a complete rebuild.</dd>
-  <dt>{@code -B V=1}</dt>
-  <dd>Force a complete rebuild, and display build commands.</dd>
-  <dt>{@code NDK_LOG=1}</dd>
-  <dd>Display internal NDK log messages (used for debugging the NDK itself).</dd>
-  <dt>{@code NDK_DEBUG=1}</dt>
-  <dd>Force a debuggable build (see <a href="#dvr">Table 1</a>).</dd>
-  <dt>{@code NDK_DEBUG=0}</dt>
-  <dd>Force a release build (see <a href="#dvr">Table 1</a>).</dd>
-  <dt>{@code NDK_HOST_32BIT=1}</dt>
-  <dd>Always use the toolchain in 32-bit mode (see <a href="#6432">64-bit and 32-bit
-  Toolchains</a>).</dd>
-  <dt>{@code NDK_APPLICATION_MK=<file>}</dt>
-  <dd>Build, using a specific <code>Application.mk</code> file pointed to by the
-  {@code NDK_APPLICATION_MK} variable.</dd>
-  <dt>{@code -C <project>}</dt>
-  <dd>Build the native code for the project path located at {@code <project>}. Useful if you
-  don't want to {@code cd} to it in your terminal.</dd>
-</dl>
-
-<p><a class="anchor" id="dvr"></a> </p>
-<h3>Debuggable versus Release builds</h3>
-<p>Use the <code>NDK_DEBUG</code> option and, in certain cases,
-{@code AndroidManifest.xml} to specify debug or release build,
-optimization-related behavior, and inclusion of symbols. Table 1 shows the
-results of each possible combination of settings.</p>
-<p><em>Table 1.</em> Results of <code>NDK_DEBUG</code> (command line) and
-<code>android:debuggable</code> (manifest) combinations.</p>
-<table>
-<tr>
-<th></th><th>NDK_DEBUG=0 </th><th>NDK_DEBUG=1</th><th>NDK_DEBUG not specified
-</th></tr>
-<tr>
-<td>android:debuggble="true" </td><td>Debug; Symbols; Optimized*1
-</td><td>Debug; Symbols; Not optimized*2 </td><td>(same as NDK_DEBUG=1)
-</td></tr>
-<tr>
-<td>android:debuggable="false"</td><td>Release; Symbols; Optimized
-</td><td>Release; Symbols; Not optimized</td><td>Release; No symbols;
-Optimized*3 </td></tr>
-</table>
-*1: Useful for profiling.<br>
-*2: Default for running <a href="{@docRoot}ndk/guides/ndk-gdb.html">{@code ndk-gdb}</a>.<br>
-*3: Default mode.<br>
-<br>
-<p class="note"><strong>Note:</strong> {@code NDK_DEBUG=0} is the equivalent of
-{@code APP_OPTIM=release}, and complies with the GCC {@code -O2} option. {@code NDK_DEBUG=1} is the
-equivalent of {@code APP_OPTIM=debug} in {@code Application.mk}, and complies with the GCC
-{@code -O0} option. For more information about {@code APP_OPTIM}, see
-<a href="{@docRoot}ndk/guides/application_mk.html">Application.mk</a>.</p>
-<p>The syntax on the command line is, for example: </p>
-
-<pre class="no-pretty-print">
-$ ndk-build NDK_DEBUG=1
-</pre>
-
-<p>If you are using build tools from prior to SDK r8, you must also modify your
-{@code AndroidManifest.xml} file to specify debug mode. The syntax for doing so resembles the
-following:</p>
-
-<pre class="no-pretty-print">&lt;application android:label="@string/app_name"
-android:debuggable="true"&gt;
-</pre>
-
-From SDK r8 onward, you do not need to touch {@code AndroidManifest.xml}. Building a debug package
-(e.g. with ant debug or the corresponding option of the ADT plugin) causes the tool automatically to
-pick the native debug files generated with {@code NDK_DEBUG=1}.
-
-
-<h2 id="6432">64-Bit and 32-Bit Toolchains</h2>
-<p>Some toolchains come with both 64-bit and 32-bit versions. For example,
-directories {@code <ndk>/toolchain/<name>/prebuilt/} and
-{@code <ndk>/prebuilt/} may contain both {@code linux-x86} and
-{@code linux-x86_64} folders for Linux tools in 32-bit and 64-bit modes,
-respectively. The ndk-build script automatically chooses a 64-bit version of
-the toolchain if the host OS supports it. You can force the use of a 32-bit
-toolchain by using {@code NDK_HOST_32BIT=1} either in your environment or
-on the ndk-build command line.</p>
-<p>Note that 64-bit tools utilize host resources better (for instance, they are faster, and handle
-larger programs), and they can still generate 32-bit binaries for Android.</p>
-
-<h2 id="req">Requirements</h2>
-<p>You need GNU Make 3.81 or later to use ndk-build or the NDK in general.
-The build scripts will detect a non-compliant Make tool, and generate an error
-message.</p>
-<p>If you have GNU Make 3.81 installed, but the default <code>make</code>
-command doesn’t launch it, define {@code GNUMAKE} in your environment to point to it
-before launching ndk-build. For example: </p>
-
-<pre class="no-pretty-print">
-$ export GNUMAKE=/usr/local/bin/gmake
-$ ndk-build
-</pre>
-
-<p>You can override other host prebuilt tools in {@code $NDK/prebuilt/<OS>/bin/}
-with the following environment variables: </p>
-
-<pre class="no-pretty-print">
-$ export NDK_HOST_AWK=&lt;path-to-awk&gt;
-$ export NDK_HOST_ECHO=&lt;path-to-echo&gt;
-$ export NDK_HOST_CMP=&lt;path-to-cmp&gt;
-</pre>
diff --git a/docs/html/ndk/guides/ndk-gdb.jd b/docs/html/ndk/guides/ndk-gdb.jd
deleted file mode 100755
index 1a990f0..0000000
--- a/docs/html/ndk/guides/ndk-gdb.jd
+++ /dev/null
@@ -1,231 +0,0 @@
-page.title=ndk-gdb
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#req">Requirements</a></li>
-        <li><a href="#use">Usage</a></li>
-        <li><a href="#thread">Thread Support</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>The NDK includes a helper shell script named {@code ndk-gdb} to easily launch a native debugging
-  session for your NDK-generated machine code.</p>
-
-<h2 id="req">Requirements</h2>
-
-<p>For native debugging to work, you must follow these requirements:</p>
-
-<ul>
-<li>Build your app using the {@code ndk-build} script. The {@code ndk-gdb} script
-does not support using the legacy {@code make APP=<name>} method to build.</p></li>
-<li>Enable app debugging in your {@code AndroidManifest.xml} file by including an
-{@code <application>} element that sets the {@code android:debuggable} attribute to {@code
-true}.</li>
-<li>Build your app to run on Android 2.2 (Android API level 8) or higher.</li>
-<li>Debug on a device or emulator running Android 2.2 or higher.
- For debugging purposes, the target
-API level that you declare in your {@code AndroidManifest.xml} file does not matter.</li>
-<li>Develop your app in a Unix shell. On Windows, use <a href="https://www.cygwin.com/">Cygwin</a>
-or the experimental {@code ndk-gdb-py} <a href="https://www.python.org/">Python</a>
-implementation.</li>
-<li>Use GNU Make 3.81 or higher.</li></ul>
-
-<h2 id="use">Usage</h2>
-  To invoke the {@code ndk-gdb} script, change into the application directory or any directory under
-  it. For example:</p>
-
-<pre class="no-pretty-print">
-cd $PROJECT
-$NDK/ndk-gdb
-</pre>
-
-<p>Here, {@code $PROJECT} points to your project's root directory, and {@code $NDK} points to your
-NDK installation path.</p>
-
-<p>When you invoke {@code ndk-gdb}, it configures the session to look for your source files
-and symbol/debug versions of your generated native libraries. On successfully attaching to your
-application process, {@code ndk-gdb} outputs a long series of error messages, noting that it cannot
-find various system libraries. This is normal, because your host machine does not contain
-symbol/debug versions of these libraries on your target device. You can safely ignore these
-messages.</p>
-
-<p>Next, {@code ndk-gdb} displays a normal GDB prompt.</p>
-
-<p>You interact with {@code ndk-gdb} in the same way as you would with GNU GDB. For example, you can
-use {@code b <location>} to set breakpoints, and {@code c} (for "continue") to
-resume execution. For a comprehensive list of commands, see the
-<a href="http://www.gnu.org/software/gdb/">GDB manual.</a></p>
-
-<p>Note that when you quit the GDB prompt, the application process that you're debugging stops. This
-behavior is a gdb limitation.</p>
-
-<p>{@code ndk-gdb} handles many error conditions, and displays an informative error message if it
-finds a problem. these checks include making sure that the following conditions are satisfied:</p>
-
-<ul>
-<li>Checks that ADB is in your path.</li>
-<li>Checks that your application is declared debuggable in its manifest.</li>
-<li>Checks that, on the device, the installed application with the same package name is also
-debuggable.</li>
-</ul>
-
-<p>By default, {@code ndk-gdb} searches for an already-running application process, and displays an
-error if it doesn't find one. You can, however, use the {@code --start} or
-{@code --launch=<name>} option to automatically start your activity before the debugging
-session. For more information, see <a href="#opt">Options</a>.</p>
-
-
-<h3 id="opt">Options</h3>
-<p>To see a complete list of options, type {@code ndk-gdb --help} on the command line. Table 1
-shows a number of the more commonly used ones, along with brief descriptions.</p>
-
-<p class="table-caption" id="table1">
-  <strong>Table 1.</strong> Common ndk-gdb options and their descriptions.</p>
-
-<table>
-<tr>
-<th>Option</th>
-<th>Description></th>
-<tr>
-
-<tr>
-<td>{@code --verbose}</td>
-<td><p>This option tells the build system to print verbose information about the native-debugging
-session setup. It is necessary only for debugging problems when the debugger can't connect to the
-app, and the error messages that {@code ndk-gdb} displays are not enough.</p></td>
-</tr>
-
-<tr>
-<td>{@code --force}</td>
-<td>By default, {@code ndk-gdb} aborts if it finds that another native debugging session is already
- running on the same device. This option kills the other session, and replaces it with a new one.
- Note that this option does not kill the actual app being debugged, which you must kill
- separately.</td>
-</tr>
-
-<tr>
-<td>{@code --start}</td>
-<td><p>When you start {@code ndk-gdb}, it tries by default to attach to an existing running instance of
-your app on the target device. You can override this default behavior by using {@code --start} to
-explicitly launch the application on the target device before the debugging session.</p></td>
-
-<p>Starting {@code ndk-gdb} with this option specified launches the first launchable activity listed
-in your application manifest. Use {@code --launch=<name>} to start the next launchable
-activity. To dump the list of launchable activities, run {@code --launch-list} from the command
-line.</p>
-</tr>
-
-<tr>
-<td>{@code --launch=<name>}</td>
-<td><p>This option is similar to {@code --start}, except that it allows you to start a specific
- activity from your application. This feature is only useful if your manifest defines multiple
- launchable activities.</p></td>
-</tr>
-
-<tr>
-<td>{@code --launch-list}</td>
-<td><p>This convenience option prints the list of all launchable activity names found in your
- app manifest. {@code --start} uses the first activity name.</p></td>
-</tr>
-
-<tr>
-<td>{@code --project=<path>}</td>
-<td>This option specifies the app project directory. It is useful if you want to launch the
- script without first having to change to the project directory.</p></td>
-</tr>
-
-<tr>
-<td>{@code --port=<port>}</td>
-<td> <p>By default, {@code ndk-gdb} uses local TCP port 5039 to communicate with the app it
- is debugging on the target device. Using a different port allows you to natively debug programs
- running on different devices or emulators connected to the same host machine.</p></td>
-</tr>
-
-<tr>
-<td>{@code --adb=<file>}</td>
-<td><p>This option specifies the <a href="{@docRoot}tools/help/adb.html">adb</a>
-tool executable. It is only necessary if you have not set your path to include that executable.</p>
-</td>
-</tr>
-
-<tr>
-<td>
-<li>{@code -d}</li>
-<li>{@code -e}</li>
-<li>{@code -s <serial>}</li></td>
-<td><p>These flags are similar to the adb commands with the same names. Set these flags if you have
-several devices or emulators connected to your host machine. Their meanings are as follows:</p>
-<dl>
-   <dt>{@code -d}</dt>
-   <dd>Connect to a single physical device.</dd>
-   <dt>{@code -e}</dt>
-   <dd>Connect to a single emulator device.</dd>
-   <dt>{@code -s <serial>}</dt>
-   <dd>Connect to a specific device or emulator. Here, {@code <serial>} is the device's name
-   as listed by the {@code adb devices} command.</dd>
-</dl>
-
-<p>Alternatively, you can define the {@code ADB_SERIAL} environment variable to list a specific
-device, without the need for a specific option.</p></td>
-</tr>
-
-<tr>
-<td>
-<li>{@code --exec=<file>}</li>
-<li>{@code -x <file>}</li>
-</td>
-<td><p>This option tells {@code ndk-gdb} to run the GDB initialization commands found in
-{@code <file>} after connecting to the process it is debugging. This is a useful feature if
-you want to do something repeatedly, such as setting up a list of breakpoints, and then resuming
-execution automatically.</p></td>
-</tr>
-
-<tr>
-<td>{@code --nowait}</td>
-<td><p>Disable pausing the Java code until GDB connects. Passing this option may cause the debugger
- to miss early breakpoints.</p>
-</tr>
-
-<tr>
-<td>{@code --tui}
-{@code -t}</td>
-<td><p>Enable Text User Interface if it is available.</p></td>
-</tr>
-
-<tr>
-<td>{@code --gnumake-flag=<flag>}</td>
-<td><p>This option is an extra flag (or flags) to pass to the
-{@code ndk-build} system when
-querying it for project information. You can use multiple instances of this option in the
-same command.</p></td>
-</tr>
-
-<tr>
-<td>{@code --stdcxx-py-pr={auto|none|gnustdcxx[-GCCVER]|stlport}}</td>
-<td><p>Use specified Python pretty-printers for displaying types in the Standard C++ Library.
- {@code auto} mode works by looking at the {@code .so} files for a {@code libstdc++} library,
- and as such only works for a shared library. When linking statically to a {@code libstdc++} library,
- you must specify the required printers. The default is {@code none}.</p></td>
-</tr>
-</table>
-
-<p class="note"><strong>Note: </strong>The final three options in this table are only for the
-Python version of {@code ndk-gdb}.</p></td>
-
-<h2 id="thread">Thread Support</h2>
-<p>If your app runs on a platform older than Android 2.3 (API level 9), {@code ndk-gdb}
-cannot debug native threads properly. The debugger can only debug the main thread, abd completely
-ignores the execution of other threads.</p>
-
-<p>If you place a breakpoint on a function executed on a non-main thread, the program exits, and
-GDB displays the following message:</p>
-
-<pre class="no-pretty-print">
-Program terminated with signal SIGTRAP, Trace/breakpoint trap.
-      The program no longer exists.
-</pre>
diff --git a/docs/html/ndk/guides/ndk-stack.jd b/docs/html/ndk/guides/ndk-stack.jd
deleted file mode 100644
index 45d433c..0000000
--- a/docs/html/ndk/guides/ndk-stack.jd
+++ /dev/null
@@ -1,86 +0,0 @@
-page.title=ndk-stack
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#use">Usage</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>The {@code ndk-stack} tool allows you to filter stack traces as they appear in the
-output of <a href="{@docRoot}tools/help/logcat.html">{@code adb logcat}</a>. It also replaces any
-address inside a shared library with the corresponding
-{@code <source-file>:<line-number>} values from your source code, making issues easier
-to pinpoint.</p>
-
-<p>For example, it translates something like:</p>
-
-<pre>
-I/DEBUG   (   31): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
-I/DEBUG   (   31): Build fingerprint: 'generic/google_sdk/generic/:2.2/FRF91/43546:eng/test-keys'
-I/DEBUG   (   31): pid: 351, tid: 351  %gt;%gt;%gt; /data/local/ndk-tests/crasher &lt;&lt;&lt;
-I/DEBUG   (   31): signal 11 (SIGSEGV), fault addr 0d9f00d8
-I/DEBUG   (   31):  r0 0000af88  r1 0000a008  r2 baadf00d  r3 0d9f00d8
-I/DEBUG   (   31):  r4 00000004  r5 0000a008  r6 0000af88  r7 00013c44
-I/DEBUG   (   31):  r8 00000000  r9 00000000  10 00000000  fp 00000000
-I/DEBUG   (   31):  ip 0000959c  sp be956cc8  lr 00008403  pc 0000841e  cpsr 60000030
-I/DEBUG   (   31):          #00  pc 0000841e  /data/local/ndk-tests/crasher
-I/DEBUG   (   31):          #01  pc 000083fe  /data/local/ndk-tests/crasher
-I/DEBUG   (   31):          #02  pc 000083f6  /data/local/ndk-tests/crasher
-I/DEBUG   (   31):          #03  pc 000191ac  /system/lib/libc.so
-I/DEBUG   (   31):          #04  pc 000083ea  /data/local/ndk-tests/crasher
-I/DEBUG   (   31):          #05  pc 00008458  /data/local/ndk-tests/crasher
-I/DEBUG   (   31):          #06  pc 0000d362  /system/lib/libc.so
-I/DEBUG   (   31):
-</pre>
-
-<p>into the more readable output: </p>
-
-<pre>
-********** Crash dump: **********
-Build fingerprint: 'generic/google_sdk/generic/:2.2/FRF91/43546:eng/test-keys'
-pid: 351, tid: 351  &gt;&gt;&gt; /data/local/ndk-tests/crasher &lt;&lt;&lt;
-signal 11 (SIGSEGV), fault addr 0d9f00d8
-Stack frame #00  pc 0000841e  /data/local/ndk-tests/crasher : Routine zoo in /tmp/foo/crasher/jni/zoo.c:13
-Stack frame #01  pc 000083fe  /data/local/ndk-tests/crasher : Routine bar in /tmp/foo/crasher/jni/bar.c:5
-Stack frame #02  pc 000083f6  /data/local/ndk-tests/crasher : Routine my_comparison in /tmp/foo/crasher/jni/foo.c:9
-Stack frame #03  pc 000191ac  /system/lib/libc.so
-Stack frame #04  pc 000083ea  /data/local/ndk-tests/crasher : Routine foo in /tmp/foo/crasher/jni/foo.c:14
-Stack frame #05  pc 00008458  /data/local/ndk-tests/crasher : Routine main in /tmp/foo/crasher/jni/main.c:19
-Stack frame #06  pc 0000d362  /system/lib/libc.so
-</pre>
-
-<h2>Usage</h2>
-<p>To use {@code ndk-stack}, you first need a directory containing symbolic versions of your app's
-shared libraries. If you use the NDK build system ({@code ndk-build}), these shared-library
-files reside under {@code $PROJECT_PATH/obj/local/<abi>}, where {@code <abi>} represents
-your device's ABI. By default, the system uses the {@code armeabi} ABI.</p>
-
-<p>There are two ways to use the tool. You can feed the logcat text as direct input to the program.
-For example:</p>
-
-<pre class="no-pretty-print">
-adb logcat | $NDK/ndk-stack -sym $PROJECT_PATH/obj/local/armeabi
-</pre>
-
-<p>You can also use the {@code -dump} option to specify the logcat as an input file. For example:
-</p>
-
-<pre class="no-pretty-print">
-adb logcat &gt; /tmp/foo.txt
-$NDK/ndk-stack -sym $PROJECT_PATH/obj/local/armeabi -dump foo.txt
-</pre>
-
-<p>When it begins parsing the logcat output, the tool looks for an initial line of asterisks.
-For example:</p>
-
-<pre class="no-pretty-print">
-*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
-</pre>
-
-<p class="note"><strong>Note: </strong>When copy/pasting traces, don't forget this line, or
-{@code ndk-stack} won't work correctly.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/prebuilts.jd b/docs/html/ndk/guides/prebuilts.jd
deleted file mode 100644
index 4cb1819..0000000
--- a/docs/html/ndk/guides/prebuilts.jd
+++ /dev/null
@@ -1,145 +0,0 @@
-page.title=Using Prebuilt Libraries
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#dm">Declaring a Prebuilt Library</a></li>
-        <li><a href="#rp">Referencing the Prebuilt Library from Other Modules</a></li>
-        <li><a href="#dp">Debugging Prebuilt Libraries</a></li>
-        <li><a href="#sa">Selecting ABIs for Prebuilt Libraries</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>The NDK supports the use of prebuilt libraries, both static and shared. There are two principal
-use cases for this functionality:</p>
-
-<ul>
-   <li>Distributing your own libraries to third-party NDK developers without distributing your
-    sources.</li>
-   <li>Using a prebuilt version of your own libraries to speed up your build.</li>
-</ul>
-
-<p>This page explains how to use prebuilt libraries.</p>
-
-<h2 id="dm">Declaring a Prebuilt Library</h2>
-<p>You must declare each prebuilt library you use as a <em>single</em> independent module. To do
-  so, perform the following steps:
-
-<ol type="1">
-   <li>Give the module a name. This name does not need to be the same as that of the prebuilt
-    library, itself.</li>
-   <li>In the module's <a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a>
-   file, assign to {@code LOCAL_SRC_FILES} the path to the prebuilt library you are providing.
-   Specify the path relative to the value of your {@code LOCAL_PATH} variable.</p>
-   <p class="note"><strong>Note: </strong> You must make sure to select the version of your prebuilt
-    library appropriate to your target ABI. For more information on ensuring library support for
-    ABIs, see <a href="#sa">Selecting ABIs for Prebuilt Libraries.</a></p></li>
-   <li>Include {@code PREBUILT_SHARED_LIBRARY} or {@code PREBUILT_STATIC_LIBRARY}, depending on
-    whether you are using a shared ({@code .so}) or static ({@code .a}) library.</li>
-</ol>
-
-  <p>Here is a trivial example that assumes the prebuilt library {@code libfoo.so} resides in
-  the same directory as the <a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a>
-  file that describes it.</p>
-
-<pre>
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := foo-prebuilt
-LOCAL_SRC_FILES := libfoo.so
-include $(PREBUILT_SHARED_LIBRARY)
-</pre>
-
-<p>In this example, the name of the module is the same as that of the prebuilt library.</p>
-
-<p>The build system places a copy of your prebuilt shared library into {@code $PROJECT/obj/local},
-and another copy, stripped of debug information, into {@code $PROJECT/libs/<abi>}. Here,
-{@code $PROJECT} is the root directory of your project.</p>
-
-<h2 id="rp">Referencing the Prebuilt Library from Other Modules</h2>
-<p>To reference a prebuilt library from other modules, specify its name as the value
-of the {@code LOCAL_STATIC_LIBRARIES} or {@code LOCAL_SHARED_LIBRARIES} variable in the
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> files associated with those
-other modules.</p>
-
-<p>For example, the description of a module using {@code libfoo.so} might be as follows:</p>
-
-<pre>
-include $(CLEAR_VARS)
-LOCAL_MODULE := foo-user
-LOCAL_SRC_FILES := foo-user.c
-LOCAL_SHARED_LIBRARIES := foo-prebuilt
-include $(BUILD_SHARED_LIBRARY)
-</pre>
-
-<p>Here, {@code LOCAL_MODULE} is the name of the module referring to the prebuilt; {@code
-  LOCAL_SHARED_LIBRARIES} is the name of the prebuilt, itself.</p>
-
-<h2>Exporting Headers for Prebuilt Libraries</h2>
-<p>The code in {@code foo-user.c} depends on specific declarations that normally
-reside in a header file, such as {@code foo.h}, distributed with the prebuilt library.
-For example, {@code foo-user.c} might have a line like the following:</p>
-
-<pre>
-#include &lt;foo.h&gt;
-</pre>
-
-<p>In such a case, you need to provide the header and its include path to the compiler when you
-build the {@code foo-user} module. A simple way to accomplish this task is to use exports in the
-prebuilt module definition. For example, as long as header {@code foo.h} is located under the
-{@code include} directory associated with the prebuilt module, you can declare it as follows:</p>
-
-<pre>
-include $(CLEAR_VARS)
-LOCAL_MODULE := foo-prebuilt
-LOCAL_SRC_FILES := libfoo.so
-LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
-include $(PREBUILT_SHARED_LIBRARY)
-</pre>
-
-<p>The {@code LOCAL_EXPORT_C_INCLUDES} definition here ensures that the build system
-exports the path to the prebuilt library's {@code include} directory, prepending that path onto the
-value of the {@code LOCAL_C_INCLUDES} for the module dependent on it.</p>
-
-<p>This operation allows the build system to find the necessary headers.</p>
-
-<h2 id="dp">Debugging Prebuilt Libraries</h2>
-<p>We recommend that you provide prebuilt shared libraries containing debug symbols. The NDK build
-system always strips the symbols from the version of the library that it installs into
-{@code $PROJECT/libs/<abi>/}, but you can use the debug version for debugging with
-{@code ndk-gdb}.</p>
-
-<h2 id="sa">Selecting ABIs for Prebuilt Libraries</h2>
-<p>You must make sure to select the right version of your prebuilt shared library for your targeted
-ABI. The <a href="{@docRoot}ndk/guides/android_mk.html#taa">
-{@code TARGET_ARCH_ABI}</a> variable in the <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> file can point the build system at the appropriate version of the library.
-</p>
-
-<p>For example, assume that your project contains two versions of library {@code libfoo.so}:</p>
-
-<pre class="no-pretty-print">
-armeabi/libfoo.so
-x86/libfoo.so
-</pre>
-
-<p>The following snippet shows how to use {@code TARGET_ARCH_ABI} so that the build system selects
-  the appropriate version of the library:</p>
-
-<pre>
-include $(CLEAR_VARS)
-LOCAL_MODULE := foo-prebuilt
-LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libfoo.so
-LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
-include $(PREBUILT_SHARED_LIBRARY)
-</pre>
-
-<p>If you have specified {@code armeabi} as the value of {@code TARGET_ARCH_ABI}, the build system
-uses the version of {@code libfoo.so} located in the {@code armeabi} directory. If you have
-specified {@code x86} as the value {@code TARGET_ARCH_ABI}, the build system uses the version in the
-{@code x86} directory.</p>
diff --git a/docs/html/ndk/guides/sample.jd b/docs/html/ndk/guides/sample.jd
deleted file mode 100644
index 18ca0b8..0000000
--- a/docs/html/ndk/guides/sample.jd
+++ /dev/null
@@ -1,11 +0,0 @@
-page.title=Sample Walkthroughs
-@jd:body
-
-<div class="contents">
-<div class="textblock"><p>This section explains several of the sample apps provided with the NDK. It assumes that you already have a working knowledge of programming in Java and native code, and focuses on issues particular to working with the NDK.</p>
-<p>It discusses the following samples:</p>
-<ul>
-<li><a href="./md_2__samples_sample--hellojni.html">hello-jni</a>: A very basic app that illustrates core workings of the NDK.</li>
-<li><a href="./md_2__samples_sample--nativeactivity.html">native-activity</a>: An app that shows the fundamentals of how to construct a purely native app. It places particular emphasis on the android_native_app_glue library.</li>
-<li><a href="./md_2__samples_samples-teapot.html">Teapot</a>: A simple OpenGL demo, showcasing the <code>ndk_helper</code> class. </li>
-</ul>
\ No newline at end of file
diff --git a/docs/html/ndk/guides/setup.jd b/docs/html/ndk/guides/setup.jd
deleted file mode 100644
index 1459bfe..0000000
--- a/docs/html/ndk/guides/setup.jd
+++ /dev/null
@@ -1,94 +0,0 @@
-page.title=Setup
-@jd:body
-
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#install">Installation</a></li>
-        <li><a href="#configure">Configuring Eclipse</a></li>
-        <li><a href="#verify">Verification</a></li>
-          </ol>
-        </li>
-      </ol>
-    </div>
-  </div>
-
-
-<div class="contents">
-<div class="textblock"><p>This document explains how to:</p>
-<ul>
-<li><a href="#install">Get</a> and install the NDK.</li>
-<li><a href="#configure">Configure</a> your system and the Eclipse and the Android Development Tool
-(ADT) for use with it.</li>
-<li><a href="#verify">Verify</a>, using a simple sample, that everything is working as expected.
-</li>
-</ul>
-<p>This document assumes that you are already familiar with Java-based Android development. For more
-information on that topic, see the
-<a href="{@docRoot}">Android developer site</a>.</p>
-
-<h2 id="install">Installation</h2>
-<p>To install and configure the NDK, follow these steps:</p>
-<ol type="1">
-<li>Get and install the <a href="{@docRoot}studio/index.html">Android SDK</a>.</li>
-<li><a href="{@docRoot}ndk/downloads/index.html">Download</a> and
-<a href="{@docRoot}ndk/downloads/index.html#extract">extract</a> the NDK,
-making sure to download the correct version for your development platform. You may place the
-unzipped directory anywhere on your local drive.</li>
-<li>Update your {@code PATH} environment variable with the location of the directory that
-contains the NDK.</li>
-</ol>
-
-
-<h2 id="configure">Configuring Eclipse</h2>
-<p>Eclipse must know where the NDK is in order to use it when building your app. Follow these steps
-to set the location of the NDK.</p>
-<ol type="1">
-<li>Launch Eclipse, which is installed as part of the Android SDK.</li>
-<li>Open <b>Window</b> &gt; <b>Preferences</b>.</li>
-<li>In the pane on the left side of the <i>Preferences</i> window, select <i>Android</i>.
-The <i>Android</i> section expands, revealing a number of subsections.</li>
-<li>Select <b>NDK</b>. In the pane on the right side of the <i>Preferences</i> window, browse to
-the directory that contains the NDK.</li>
-<li>Click <b>OK</b> to return to the <i>Package Explorer</i> display.</li>
-</ol>
-
-<h2 id="verify">Verification</h2>
-<h3>Eclipse</h3>
-<p>To confirm that you have installed the NDK, set it up correctly, and properly configured Eclipse,
-follow these steps:</p>
-<ol type="1">
-<li>Import the hello-jni sample from {@code <ndk>/samples/}, as you would any other Android
-project.</li>
-<li>In the <i>Project Explorer</i> pane, right-click the project name (<i>HelloJni</i>). A
-context menu appears.</li>
-<li>From the context menu, select <b>Android Tools</b> &gt; <b>Add Native Support</b>. The
-<i>Add Android Native Support</i> window appears.</li>
-<li>Accept the default library name (“hello-jni”), and click <b>Finish</b>.</li>
-<li>Build and execute the application.</li>
-</ol>
-<h3>Command line</h3>
-<p>Follow these steps to build from the command line:</p>
-<ol type="1">
-<li>Change to the root directory of your project.</li>
-<li>Execute ndk-build to build the native component of your app. do this by
-typing {@code ndk-build} at the command prompt.</li>
-<li>Build and install your project as you would a regular Android app written in Java. For more
-information, see
-<a href="{@docRoot}tools/building/index.html">Building and Running</a> and
-<a href="{@docRoot}tools/building/building-cmdline.html">Building and Running
-from the Command Line</a>.</li>
-</ol>
-
-<p>If you have successfully installed and configured the NDK, the screen on your target device looks
-as shown in Figure 1.</p>
-
-<img src="./images/verification_screen.png" srcset="./images/verification_screen@2x.png 2x"
-alt="Output: Hello from JNI!" id="figure1" />
-
-<p class="img-caption">
-<strong>Figure 1.</strong> Target-device screen after successful launch.
-</p>
diff --git a/docs/html/ndk/guides/stable_apis.jd b/docs/html/ndk/guides/stable_apis.jd
deleted file mode 100644
index c38e684..0000000
--- a/docs/html/ndk/guides/stable_apis.jd
+++ /dev/null
@@ -1,501 +0,0 @@
-page.title=Android NDK Native APIs
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#purpose">Overview</a></li>
-        <li><a href="#mnu">Major Native API Updates</a><li>
-          <ol>
-        <li><a href="#a3">Android API level 3</a></li>
-        <li><a href="#a4">Android API level 4</a></li>
-        <li><a href="#a5">Android API level 5</a></li>
-        <li><a href="#a8">Android API level 8</a></li>
-        <li><a href="#a9">Android API level 9</a></li>
-        <li><a href="#a14">Android API level 14</a></li>
-        <li><a href="#a18">Android API level 18</a></li>
-          </ol>
-      </ol>
-    </div>
-  </div>
-
-<p>The Android NDK provides a set of native headers and shared library files that has gradually
-increased with successive releases of new Android API levels. This page explains these headers and
-files, and maps them to specific
-<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels"> Android API levels</a>.
-</p>
-
-<h2 id="purpose">Overview</h2>
-<p>There are two basic steps to enable your app to use the libraries that the NDK provides:
-</p>
-
-<ol type ="1">
-<li>Include in your code the headers associated with the libraries you wish to use.</li>
-
-<li>Tell the build system that your native module needs to link against the libraries at load time.
-For example, to link against  {@code /system/lib/libfoo.so}, add the following line to your
-<a href="{@docRoot}ndk/guides/android_mk.html">Android.mk</a> file:</li>
-
-<pre>
-LOCAL_LDLIBS := -lfoo
-</pre>
-
-<p>To list multiple libraries, use a space as a delimiter. For more information about using the
-{@code LOCAL_LDLIBS} variable, see <a href="{@docRoot}ndk/guides/android_mk.html">Android.mk</a>.
-</p>
-
-</ol>
-
-<p>For all API levels, the build system automatically links the standard C libraries, the
-standard C++ libraries, real-time extensions, and {@code pthread}; you do not need
-to include them when defining your {@code LOCAL_LDLIBS} variable. For more information about
-the C and C++ libraries, see <a href="#a3">Android API level 3</a>.</p>
-
-<p>The NDK often provides new headers and libraries for new Android releases. These files reside
-under {@code $NDK/platforms/android-<level>/<abi>/usr/include}. When the NDK does not
-have a specific new group of headers and libraries for an Android API level, it means that
-an app targeting that level should use the most recently released NDK assets. For example,
-there was no new release of NDK headers or libraries for Android API levels 6 and 7. Therefore,
-when developing an app targeting Android API level 7, you should use the headers and libraries
-located under {@code android-5/}.</p>
-
-<p>Table 1 shows the correspondence between NDK-supported API levels and Android releases.</p>
-
-<p class="table-caption" id="table1">
-  <strong>Table 1.</strong> NDK-supported API levels and corresponding Android releases.</p>
-<table>
-  <tr>
-    <th scope="col">NDK-supported API level</th>
-    <th scope="col">Android release</th>
-  </tr>
-  <tr>
-    <td>3</td>
-    <td>1.5</td>
-  </tr>
-    <tr>
-    <td>4</td>
-    <td>1.6</td>
-  </tr>
-    <tr>
-    <td>5</td>
-    <td>2.0</td>
-  </tr>
-  <tr>
-    <td>8</td>
-    <td>2.2</td>
-  </tr>
-    <tr>
-    <td>9</td>
-    <td>2.3 through 3.0.x</td>
-  </tr>
-  <tr>
-    <td>12</td>
-    <td>3.1.x</td>
-  </tr>
-  <tr>
-    <td>13</td>
-    <td>3.2</td>
-  </tr>
-  <tr>
-    <td>14</td>
-    <td>4.0 through 4.0.2</td>
-  </tr>
-  <tr>
-    <td>15</td>
-    <td>4.0.3 and 4.0.4</td>
-  </tr>
-    <tr>
-    <td>16</td>
-    <td>4.1 and 4.1.1</td>
-  </tr>
-    <tr>
-    <td>17</td>
-    <td>4.2 and 4.2.2</td>
-  </tr>
-    <tr>
-    <td>18</td>
-    <td>4.3</td>
-  </tr>
-    <tr>
-    <td>19</td>
-    <td>4.4</td>
-  </tr>
-    <tr>
-    <td>21</td>
-    <td>4.4W and 5.0</td>
-</table>
-
-<p>Each new release of NDK headers and libraries for a given Android API level is cumulative; you
-are nearly always safe if you use the most recently released headers when building your app. For
-example, you can use the NDK headers for Android API level 21 for an app targeting API level 16. By doing so, however, you increase your APK's footprint.</p>
-
-<p>
-For more information about Android API levels, see
-<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">What is API Level?</a>.
-</p>
-
-<h2 id="mnu">Major Native API Updates</h2>
-
-<h3 id="a3">Android API level 3</h3>
-<p>The NDK provides the following APIs for developing native code that runs on Android 1.5 system
-images and above.</p>
-
-<h4>C library</h4>
-<p>The C library headers for Android 1.5 are available through their standard names, such as
-{@code stdlib.h} and {@code stdio.h}. If a header is missing at build time, it's because the
-header is not available on the 1.5 system image.</p>
-
-<h4>C++ library</h4>
-<p>An <em>extremely</em> minimal C++ support API is available. For more
-information on C++ library support, see
-<a href="{@docRoot}ndk/guides/cpp-support.html">C++ Library Support</a>.</p>
-
-<h4>Android-specific log support</h4>
-
-<p>{@code <android/log.h>} contains various definitions that an app can use to send log
-messages to the kernel from native code. For more information about these definitions, see the
-comments in {@code $NDK/platforms/android-3/arch-arm/usr/include/android/log.h}, where {@code $NDK}
-is the root of your NDK installation.</p>
-
-<p>You can write your own wrapper macros to access this functionality. If you wish to perform
-logging, your native module should link to {@code /system/lib/liblog.so}. Implement this
-linking by including the following line in your <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS := -llog
-</pre>
-
-<h4>ZLib compression library</h4>
-<p>You can use the <a href="http://www.zlib.net/manual.html">Zlib compression library</a>
-by including {@code zlib.h} and {@code zconf.h}. You must also link your native
-module against {@code /system/lib/libz.so} by including the following line in your
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS := -lz
-</pre>
-
-<h4>Dynamic linker library</h4>
-<p>You can access the Android dynamic linker's {@code dlopen()}, {@code dlsym()}, and
-{@code dlclose()} functions by including {@code dlfcn.h}. You must also link against
-{@code /system/lib/libdl.so} by including the following line in your
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS := -ldl
-</pre>
-
-<h3 id="a4">Android API level 4</h3>
-<p>The NDK provides the following APIs for developing native code that runs on Android 1.6 system
-images and above.</p>
-
-<h4>OpenGL ES 1.x Library</h4>
-<p>The standard OpenGL ES headers {@code gl.h} and {@code glext.h} contain
-the declarations necessary for performing OpenGL ES 1.x rendering calls from native code.</p>
-
-<p>To use these headers, link your native module to {@code /system/lib/libGLESv1_CM.so} by
-including the following line in your <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> file:</p>
-</p>
-
-<pre>
-LOCAL_LDLIBS := -lGLESv1_CM
-</pre>
-<p>All Android-based devices support OpenGL ES 1.0, because Android provides an Open GL 1.0-capable
-software renderer that can be used on devices without GPUs.</p>
-<p>Only Android devices that have the necessary GPU fully support OpenGL ES 1.1. An app can
-query the OpenGL ES version string and extension string to determine whether the current device
-supports the features it needs. For information on how to perform this query, see the description of
-<a href="http://www.khronos.org/opengles/sdk/1.1/docs/man/glGetString.xml">{@code glGetString()}</a>
-in the OpenGL specification.</p>
-
-<p>Additionally, you must put a
-<a href="http://developer.android.com/guide/topics/manifest/uses-feature-element.html">{@code
-<uses-feature>}</a> tag in your manifest file to indicate the version of
-<a href="http://developer.android.com/guide/topics/graphics/opengl.html#manifest">OpenGL ES</a>
-that your application requires.</p>
-
-<p>The <a href="#egl">EGL APIs</a> are only available starting from API level 9. You can, however,
-use the VM to perform some of the operations that you would get from those APIS. These operations
-include surface creation and flipping. For an example of how to use {@code GLSurfaceView}, see
-<a href="http://android-developers.blogspot.com/2009/04/introducing-glsurfaceview.html">
-Introducing GLSurfaceView</a>.</p>
-
-<p>The san-angeles sample application provides an example of how to perform these operations,
-rendering each frame in native code. This sample is a small Android port of the excellent
-<a href="http://jet.ro/visuals/san-angeles-observation/">San Angeles Observation</a> demo
-program.</p>
-
-<h3 id="a5">Android API level 5</h3>
-<p>The NDK provides the following APIs for developing native code that runs on Android 2.0 system
-images and above.</p>
-
-<h4>OpenGL ES 2.0 library:</h4>
-<p>The standard OpenGL ES 2.0 headers {@code <GLES2/gl2.h>} and {@code <GLES2/gl2ext.h>}
-contain the declarations needed for performing OpenGL ES 2.0 rendering calls from native code.
-These rendering calls provide the ability to use the GLSL language to define and use vertex and
-fragment shaders.</p>
-
-<p>To use OpenGL ES 2.0, link your native module to {@code /system/lib/libGLESv2.so} by
-including the following line in your <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS := -lGLESv2
-</pre>
-
-<p>Not all devices support OpenGL ES 2.0. An app can query the OpenGL
-ES version string and extension string to determine whether the current device
-supports the features it needs. For information on how to perform this query, see the description of
-<a href="https://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetString.xml">
-{@code glGetString()}</a> in the OpenGL specification.</p>
-
-<p>Additionally, you must put a
-<a href="http://developer.android.com/guide/topics/manifest/uses-feature-element.html">{@code
-<uses-feature>}</a> tag in your manifest file to indicate which version of OpenGL ES your
-application requires. For more information about the OpenGL ES settings for
-{@code <uses-feature>}, see
-<a href="http://developer.android.com/guide/topics/graphics/opengl.html#manifest">OpenGL ES</a>.</p>
-
-<p>The hello-gl2 sample application provies a basic example of how to use OpenGL ES 2.0 with the
-NDK.</p>
-
-<p>The <a href="#egl">EGL APIs</a> are only available starting from API level 9. You can, however,
-use the VM to perform some of the operations that you would get from those APIs. These operations
-include surface creation and flipping. For an example of how to use {@code GLSurfaceView}, see
-<a href="http://android-developers.blogspot.com/2009/04/introducing-glsurfaceview.html">
-Introducing GLSurfaceView</a>.</p>
-
-<p class="note"><strong>Note:</strong> The Android emulator does not support OpenGL ES 2.0 hardware
-emulation. Running and testing code that uses this API requires a real device with hardware that can
-support OpenGL ES 2.0.</p>
-
-<h3 id="a8">Android API level 8</h3>
-<p>The NDK provides the following APIs for developing native code that runs on Android 2.2 system
-images and above.</p>
-
-<h4>jnigraphics</h4>
-<p>The {@code jnigraphics} library exposes a C-based interface that allows native code to reliably access
-the pixel buffers of Java bitmap objects. The workflow for using {@code jnigraphics} is as follows:
-</p>
-
-<ol type="1">
-<li>Use {@code AndroidBitmap_getInfo()} to retrieve information from JNI, such as width and height,
-about a given bitmap handle.</li>
-
-<li>Use {@code AndroidBitmap_lockPixels()} to lock the pixel buffer and retrieve a pointer to it.
-Doing so ensures that the pixels do not move until the app calls
-{@code AndroidBitmap_unlockPixels()}.</li>
-
-<li>In native code, modify the pixel buffer as appropriate for its pixel format, width, and other
-characteristics.</li>
-
-<li>Call {@code AndroidBitmap_unlockPixels()} to unlock the buffer.</li>
-</ol>
-
-<p>To use {@code jnigraphics}, include the {@code <bitmap.h>} header in your source code, and
-link against {@code jnigraphics} by including the following line in your
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS += -ljnigraphics
-</pre>
-
-<p>Additional details about this feature are in the comments of the {@code bitmap.h} file.
-
-<h3 id="a9">Android API level 9</h3>
-<p>The NDK provides the following APIs for developing native code that runs on Android 2.3 system
-images and above.</p>
-
-<h4 id="egl"> EGL</h4>
-<p>EGL provides a native platform interface for allocating and managing OpenGLES surfaces.
-For more information about its features, see <a href="http://www.khronos.org/egl">
-EGL Native Platform Interface</a>.</p>
-
-<p>EGL allows you to perform the following operations from native code:</p>
-
-<ul>
-<li>List supported EGL configurations.</li>
-<li>Allocate and release OpenGLES surfaces.</li>
-<li>Swap or flip surfaces.</li>
-</ul>
-
-<p>The following headers provide EGL functionality:</p>
-<ul>
-   <li>{@code EGL/egl.h}: the main EGL API definitions.</li>
-   <li>{@code EGL/eglext.h}: EGL extension-related definitions.</li>
-</ul>
-
-<p>To link against the system's EGL library, add the following line to your
-<a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS += -lEGL
-</pre>
-
-<h4 id="osl">OpenSL ES</h4>
-<p>Android native audio handling is based on the Khronos Group OpenSL ES 1.0.1 API.</p>
-
-<p>The standard OpenSL ES headers {@code OpenSLES.h} and {@code OpenSLES_Platform.h} contain
-the declarations necessary for performing audio input and output from the native side of Android.
-The NDK distribution of the OpenSL ES also provides Android-specific extensions. For information
-about these extensions, see the comments in {@code OpenSLES_Android.h} and
-{@code OpenSLES_AndroidConfiguration.h}.</p>
-
-
-<p>The system library {@code libOpenSLES.so} implements the public native audio functions. Link
-against it by adding the following line to your <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS += -lOpenSLES
-</pre>
-
-<p>For more information about the OpenSL ES API, refer to
-{@code $NDK/docs/Additional_library_docs/opensles/index.html}, where {@code $NDK} is your NDK
-installation root directory.</p>
-
-<h4>Android native application APIs</h4>
-<p>Starting from API level 9, you can write an entire Android app with native code, without using
-any Java.</p>
-
-<p class="note"><strong>Note: </strong>Writing your app in native code is not, in itself, enough
-for your app to run in the VM. Moreover, your app must still access most features of the Android
-platform via JNI.</p>
-
-<p>This release provides the following native headers:</p>
-<ul>
-<li>{@code <native_activity.h>}</li>
-<li>{@code <looper.h>}</li>
-<li>{@code <input.h>}</li>
-<li>{@code <keycodes.h>}</li>
-<li>{@code <sensor.h>}</li>
-<li>{@code <rect.h>}</li>
-<li>{@code <window.h>}</li>
-<li>{@code <native_window.h>}</li>
-<li>{@code <native_window_jni.h>}</li>
-<li>{@code <configuration.h>}</li>
-<li>{@code <asset_manager.h>}</li>
-<li>{@code <storage_manager.h>}</li>
-<li>{@code <obb.h>}</li>
-</ul>
-
-<p>For more information about these headers, see the
-<a href="{@docRoot}ndk/reference/index.html">NDK API Reference documentation</a>, as well as
-the comments in the headers, themselves. Also, for more information about the larger topic of
-writing native apps, see <a href="{@docRoot}ndk/guides/concepts.html#naa">
-Native Activities and Applications</a>.
-
-<p>When you include one or more of these headers, you must also link against the
-{@code libandroid.so} library. To link against {@code libandroid.so}, include the following line in
-your <a href="{@docRoot}ndk/guides/android_mk.html"> {@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS += -landroid
-</pre>
-
-<h3 id="a14">Android API level 14</h3>
-<p>The NDK provides the following APIs for developing native code that runs on Android 4.0 system
-images and above.</p>
-
-<h4>OpenMAX AL</h4>
-<p>Android native multimedia handling is based on Khronos Group OpenMAX AL 1.0.1 API.</p>
-<p>The standard OpenMAX AL headers {@code <OMXAL/OpenMAXAL.h>} and
-{@code <OMXAL/OpenMAXAL_Platform.h>} contain the declarations necessary for performing
-multimedia output from the native side of Android.</p>
-
-<p>The NDK distribution of OpenMAX AL also provides Android-specific extensions. For information
-about these extensions, see the comments in {@code OpenMAXAL_Android.h}.</p>
-
-<p>The system library {@code libOpenMAXAL.so} implements the public native multimedia functions.
-To link against this library, include the following line in your
-<a href="{@docRoot}ndk/guides/android_mk.html"> {@code Android.mk}</a> file:</p>
-
-<pre class="fragment">    LOCAL_LDLIBS += -lOpenMAXAL
-</pre><p>For more information about this topic, see {@code $NDK/docs/openmaxal/index.html},
-where {@code $NDK} is the root directory of your NDK installation.</p>
-
-<h4>OpenSL ES</h4>
-<p>OpenSL ES support for this Android API level adds PCM support. For more information about
-OpenSL ES support in the NDK, see <a href="#osl">OpenSL ES</a>.</p>
-
-<h3 id="a18">Android API level 18</h3>
-<p>The NDK provides the following APIs for developing native code that runs on Android 4.3 system
-images and above.</p>
-
-<h4>OpenGL ES 3.0</h4>
-
-<p>The standard OpenGL ES 3.0 headers {@code gl3.h} and {@code gl3ext.h} contain the declarations
-needed for performing OpenGL ES 3.0 rendering calls from native code. These rendering calls provide
-the ability to use the GLSL language to define and use vertex and fragment shaders.
-
-<p>To use OpenGL ES 3.0, link your native module against {@code /system/lib/libGLESv3.so} by
-including the following line in your <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS := -lGLESv3
-</pre>
-
-<p>Not all devices support OpenGL ES 3.0. An app can query the OpenGL
-ES version string and extension string to determine whether the current device
-supports the features it needs. For information on how to perform this query, see the description of
-<a href="https://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetString.xml">
-{@code glGetString()}</a> in the OpenGL specification.</p>
-
-<p>Additionally, you must put a
-<a href="http://developer.android.com/guide/topics/manifest/uses-feature-element.html">{@code
-<uses-feature>}</a> tag in your manifest file to indicate which version of OpenGL ES your
-application requires. For more information about the OpenGL ES settings for
-{@code <uses-feature>}, see
-<a href="http://developer.android.com/guide/topics/graphics/opengl.html#manifest">OpenGL ES</a>.</p>
-
-<p>The gles3jni sample application provides a basic example of how to use OpenGL ES 3.0 with the
-NDK.</p>
-
-<p class="note"><strong>Note:</strong> The Android emulator does not support OpenGL ES 3.0 hardware
-emulation. Running and testing code that uses this API requires a real device with hardware that can
-support OpenGL ES 3.0.</p>
-
-
-<h3 id="a18">Android API level 21</h3>
-<p>The NDK provides the following APIs for developing native code that runs on Android 4.3 system
-images and above.</p>
-
-<h4>OpenGL ES 3.1</h4>
-
-<p>The standard OpenGL ES 3.1 headers {@code gl31.h} and {@code gl3ext.h} contain the declarations
-needed for performing OpenGL ES 3.1 rendering calls from native code. These rendering calls provide
-the ability to use the GLSL language to define and use vertex and fragment shaders.
-
-<p>To use OpenGL ES 3.1, link your native module against {@code /system/lib/libGLESv3.so} by
-including the following line in your <a href="{@docRoot}ndk/guides/android_mk.html">
-{@code Android.mk}</a> file:</p>
-
-<pre>
-LOCAL_LDLIBS := -lGLESv3
-</pre>
-
-<p>Not all devices support OpenGL ES 3.1. An app can query the OpenGL
-ES version string and extension string to determine whether the current device
-supports the features it needs. For information on how to perform this query, see the description of
-<a href="https://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetString.xml">
-{@code glGetString()}</a> in the OpenGL specification.</p>
-
-<p>Additionally, you must put a
-<a href="http://developer.android.com/guide/topics/manifest/uses-feature-element.html">{@code
-<uses-feature>}</a> tag in your manifest file to indicate which version of OpenGL ES your
-application requires. For more information about the OpenGL ES settings for
-{@code <uses-feature>}, see
-<a href="http://developer.android.com/guide/topics/graphics/opengl.html#manifest">OpenGL ES</a>.</p>
-
-<p>The gles3jni sample application provides a basic example of how to use OpenGL ES 3.1 with the
-NDK.</p>
-
-<p class="note"><strong>Note:</strong> The Android emulator does not support OpenGL ES 3.1 hardware
-emulation. Running and testing code that uses this API requires a real device with hardware that can
-support OpenGL ES 3.1.</p>
-
diff --git a/docs/html/ndk/guides/standalone_toolchain.jd b/docs/html/ndk/guides/standalone_toolchain.jd
deleted file mode 100755
index 7a6f906..0000000
--- a/docs/html/ndk/guides/standalone_toolchain.jd
+++ /dev/null
@@ -1,605 +0,0 @@
-page.title=Standalone Toolchain
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#syt">Selecting Your Toolchain</a></li>
-        <li><a href="#sys">Selecting Your Sysroot</a></li>
-        <li><a href="#itc">Invoking the Compiler</a></li>
-        <li><a href="#wwc">Working with Clang</a></li>
-        <li><a href="#abi">ABI Compatibility</a></li>
-        <li><a href="#war">Warnings and Limitations</a></li>
-      </ol>
-    </div>
-  </div>
-
-<p>You can use the toolchains provided with the Android NDK independently, or as plug-ins
-with an existing IDE. This flexibility
-can be useful if you already have your own build system, and only need the ability to invoke the
-cross-compiler in order to add support to Android for it.</p>
-
-<p>A typical use case is invoking the configure script of an open-source library that expects a
-cross-compiler in the {@code CC} environment variable.</p>
-
-<p class="note"><strong>Note:</strong> This page assumes significant understanding of
-compiling, linking, and low-level architecture. In addition, the techniques it describes are
-unnecessary for most use cases. In most cases, we recommend that you forego using a standalone
-toolchain, and instead stick to the NDK build system.</p>
-
-<h2 id="syt">Selecting Your Toolchain</h2>
-<p>Before anything else, you need to decide which processing architecture your standalone toolchain
-is going to target. Each architecture corresponds to a different toolchain name, as Table 1
-shows.</p>
-
-<p class="table-caption" id="table1">
-  <strong>Table 1.</strong> {@code APP_ABI} settings for different instruction sets.</p>
-<table>
-  <tr>
-    <th scope="col">Architecture</th>
-    <th scope="col">Toolchain name</th>
-  </tr>
-  <tr>
-    <td>ARM-based</td>
-    <td>{@code arm-linux-androideabi-<gcc-version>}</td>
-  </tr>
-  <tr>
-    <td>x86-based</td>
-    <td>{@code x86-<gcc-version>}</td>
-  </tr>
-  <tr>
-    <td>MIPS-based</td>
-    <td>{@code mipsel-linux-android-<gcc-version>}</td>
-  </tr>
-  <tr>
-    <td>ARM64-based</td>
-    <td>{@code aarch64-linux-android-<gcc-version>}</td>
-  </tr>
-  <tr>
-    <td>X86-64-based</td>
-    <td>{@code x86_64-<gcc-version>}</td>
-  </tr>
-  <tr>
-    <td>MIPS64-based</td>
-    <td>{@code mips64el-linux-android--<gcc-version>}</td>
-  </tr>
-</table>
-
-
-
-<h2 id="sys">Selecting Your Sysroot</h2>
-<p>The next thing you need to do is define your <i>sysroot</i> (A sysroot is a directory containing
-the system headers and libraries for your target). To define the sysroot, you must must know the
-Android API level you want to target for native support; available native APIs vary by Android API
-level.</p>
-
-<p>Native APIs for the respective <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">
-Android API levels</a> reside under {@code $NDK/platforms/}; each API-level
-directory, in turn, contains subdirectories for the various CPUs and architectures. The
-following example shows how to define a <em>sysroot</em> for a build targeting Android 5.0
-(API level 21), for ARM architecture:</p>
-
-<pre class="no-pretty-print">
-SYSROOT=$NDK/platforms/android-21/arch-arm
-</pre>
-
-For more detail about the Android API levels and the respective native APIs they support, see
-<a href={@docRoot}ndk/guides/stable_apis.html>Android NDK Native APIs</a>.
-
-<h2 id="itc">Invoking the Compiler</h2>
-
-<p>There are two ways to invoke the compiler. One method is simple, and leaves most of the lifting
-to the build system. The other is more advanced, but provides more flexibility.</p>
-
-<h3 id="sm">Simple method</h3>
-<p>The simplest way to build is by invoking the appropriate compiler directly from the command
-line, using the {@code --sysroot} option to indicate the location of the system files for the
-platform you're targeting. For example:</p>
-
-<pre class="no-pretty-print">
-export CC="$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/ \
-linux-x86/bin/arm-linux-androideabi-gcc-4.8 --sysroot=$SYSROOT"
-$CC -o foo.o -c foo.c
-</pre>
-
-<p>While this method is simple, it lacks in flexibility: It does not allow you to use any C++ STL
-(STLport, libc++, or the GNU libstdc++) with it. It also does not support exceptions or RTTI.</p>
-
-<p>For Clang, you need to perform an additional two steps:</p>
-<ul>
-<ol type="1">
-<li>Add the appropriate {@code -target} for the target architecture, as Table 2 shows.</li>
-
-<p class="table-caption" id="table2">
-  <strong>Table 2.</strong> Architectures and corresponding values for {@code -target}.</p>
-   <table>
-  <tr>
-    <th scope="col">Architecture</th>
-    <th scope="col">Value</th>
-  </tr>
-  <tr>
-    <td>armeabi</td>
-    <td>{@code -target armv5te-none-linux-androideabi}</td>
-  </tr>
-  <tr>
-    <td>armeabi-v7a</td>
-    <td>{@code -target armv7-none-linux-androideabi}</td>
-  </tr>
-  <tr>
-     <td>arm64-v8a</td>
-     <td>{@code -target aarch64-none-linux-android}</td>
-  </tr>
-  <tr>
-    <td>x86</td>
-    <td>{@code -target i686-none-linux-android}</td>
-  </tr>
-  <tr>
-    <td>x86_64</td>
-    <td>{@code -target x86_64-none-linux-android}</td>
-  </tr>
-  <tr>
-    <td>mips</td>
-    <td>{@code -target mipsel-none-linux-android}</td>
-  </tr>
-</table>
-
-<li>Add assembler and linker support by adding the {@code -gcc-toolchain} option, as in the
-following example:</li>
-<pre class="no-pretty-print">
--gcc-toolchain $NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64
-</pre>
-</ol>
-
-Ultimately, a command to compile using Clang might look like this:
-
-<pre class="no-pretty-print">
-export CC="$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/ \
-linux-x86/bin/arm-linux-androideabi-gcc-4.8 --sysroot=$SYSROOT" -target \
-armv7-none-linux-androideabi \
--gcc-toolchain $NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64"
-$CC -o foo.o -c foo.c
-</pre>
-</ul>
-
-<h3>Advanced method</h3>
-<p>The NDK provides the {@code make-standalone-toolchain.sh} shell script to allow you to perform a
-customized toolchain installation from the command line. This approach affords you more flexibility
-than the procedure described in <a href="#sm">Simple method</a>.</p>
-
-<p>The script is located in the {@code $NDK/build/tools/} directory, where {@code $NDK} is the
-installation root for the NDK. An example of the use of this script appears below:</p>
-
-<pre class="no-pretty-print">
-$NDK/build/tools/make-standalone-toolchain.sh \
---arch=arm --platform=android-21 --install-dir=/tmp/my-android-toolchain
-</pre>
-
-<p>This command creates a directory named {@code /tmp/my-android-toolchain/}, containing a copy of
-the {@code android-21/arch-arm} sysroot, and of the toolchain binaries for a 32-bit ARM
-architecture.</p>
-
-<p>Note that the toolchain binaries do not depend on or contain host-specific paths, in other words,
-you can install them in any location, or even move them if you need to.</p>
-
-<p>By default, the build system uses the 32-bit, ARM-based GCC 4.8 toolchain. You can specify a
-different value, however, by specifying {@code --arch=<toolchain>} as an option.
-Table 3 shows the values to use for other toolchains:
-
-<p class="table-caption" id="table3">
-  <strong>Table 3.</strong> Toolchains and corresponding values, using {@code --arch}.</p>
-   <table>
-  <tr>
-    <th scope="col">Toolchain</th>
-    <th scope="col">Value</th>
-  </tr>
-  <tr>
-    <td>mips64 compiler</td>
-    <td>{@code --arch=mips64}</td>
-  </tr>
-  <tr>
-    <td>mips GCC 4.8 compiler</td>
-    <td>{@code --arch=mips}</td>
-  </tr>
-  <tr>
-    <td>x86 GCC 4.8 compiler</td>
-    <td>{@code --arch=x86}</td>
-  </tr>
-  <tr>
-    <td>x86_64 GCC 4.8 compiler</td>
-    <td>{@code --arch=x86_64}</td>
-  </tr>
-  <tr>
-    <td>mips GCC 4.8 compiler</td>
-    <td>{@code --arch=mips}</td>
-  </tr>
-</table>
-
-<p>Alternatively, you can use the {@code --toolchain=<toolchain>} option. Table 4 shows the
-values you can specify for {@code <toolchain>}:</p>
-
-<p class="table-caption" id="table4">
-  <strong>Table 4.</strong> Toolchains and corresponding values, using {@code --toolchain}.</p>
-   <table>
-  <tr>
-    <th scope="col">Toolchain</th>
-    <th scope="col">Value</th>
-  </tr>
-
-  <tr>
-    <td>arm</td>
-    <td>
-       <li>{@code --toolchain=arm-linux-androideabi-4.8}</li>
-       <li>{@code --toolchain=arm-linux-androideabi-4.9}</li>
-       <li>{@code --toolchain=arm-linux-android-clang3.5}</li>
-       <li>{@code --toolchain=arm-linux-android-clang3.6}</li>
-    </td>
-  </tr>
-  <tr>
-    <td>x86</td>
-    <td>
-       <li>{@code --toolchain=x86-linux-android-4.8}</li>
-       <li>{@code --toolchain=x86-linux-android-4.9}</li>
-       <li>{@code --toolchain=x86-linux-android-clang3.5}</li>
-       <li>{@code --toolchain=x86-linux-android-clang3.6}</li>
-    </td>
-  </tr>
-  <tr>
-    <td>mips</td>
-    <td>
-       <li>{@code --toolchain=mips-linux-android-4.8}</li>
-       <li>{@code --toolchain=mips-linux-android-4.9}</li>
-       <li>{@code --toolchain=mips-linux-android-clang3.5}</li>
-       <li>{@code --toolchain=mips-linux-android-clang3.6}</li>
-    </td>
-  </tr>
-
-  <tr>
-    <td>arm64</td>
-    <td>
-       <li>{@code --toolchain=aarch64-linux-android-4.9}</li>
-       <li>{@code --toolchain=aarch64-linux-android-clang3.5}</li>
-       <li>{@code --toolchain=aarch64-linux-android-clang3.6}</li>
-    </td>
-  </tr>
-  <tr>
-    <td>x86_64</td>
-    <td>
-       <li>{@code --toolchain=x86_64-linux-android-4.9}</li>
-       <li>{@code --toolchain=x86_64-linux-android-clang3.5}</li>
-       <li>{@code --toolchain=x86_64-linux-android-clang3.6}</li>
-    </td>
-  </tr>
-  <tr>
-    <td>mips64</td>
-    <td>
-       <li>{@code --toolchain=mips64el-linux-android-4.9}</li>
-       <li>{@code --toolchain=mips64el-linux-android-clang3.5}</li>
-       <li>{@code --toolchain=mips64el-linux-android-clang3.6}</li>
-    </td>
-  </tr>
-</table>
-
-<p class="note"><strong>Note: </strong> Table 4 is not an exhaustive list. Other combinations may
-also be valid, but are unverified.</p>
-
-<p>You can also copy Clang/LLVM 3.6, using one of two methods: You can append {@code -clang3.6} to
-the {@code --toolchain} option, so that the {@code --toolchain} option looks like the following
-example:
-
-<pre class="no-pretty-print">
---toolchain=arm-linux-androideabi-clang3.6
-</pre>
-
-<p>You can also add {@code -llvm-version=3.6} as a separate option on the command
-line.</p>
-
-<p class="note"><strong>Note: </strong>Instead of specifying a specific version, you can also
-use {@code <version>}, which defaults
-to the highest available version of Clang.</p>
-
-<p>By default, the build system builds for a 32-bit host toolchain. You can specify a 64-bit
-host toolchain instead. Table 5 shows the value to use with {@code -system} for different
-platforms.</p>
-
-<p class="table-caption" id="table5">
-  <strong>Table 5.</strong> Host toolchains and corresponding values, using {@code -system}.</p>
-   <table>
-  <tr>
-    <th scope="col">Host toolchain</th>
-    <th scope="col">Value</th>
-  </tr>
-  <tr>
-    <td>64-bit Linux</td>
-    <td>{@code -system=linux-x86_64}</td>
-  </tr>
-  <tr>
-    <td>64-bit MacOSX</td>
-    <td>{@code -system=darwin-x86_64}</td>
-  </tr>
-  <tr>
-    <td>64-bit Windows</td>
-    <td>{@code -system=windows-x86_64}</td>
-  </tr>
-</table>
-
-For more information on specifying a 64- or 32-bit instruction host toolchain, see
-<a href="{@docRoot}ndk/guides/ndk-build.html#6432">64-Bit and 32-Bit Toolchains</a>.
-
-<p>You may specify {@code --stl=stlport} to copy {@code libstlport} instead of the default
-{@code libgnustl}. If you do so, and you wish to link against the shared library, you must
-explicitly use {@code -lstlport_shared}. This requirement is similar to having to use
-{@code -lgnustl_shared} for GNU {@code libstdc++}.</p>
-
-<p>Similarly, you can specify {@code --stl=libc++} to copy the LLVM libc++ headers and libraries.
-To link against the shared library, you must explicitly use -lc++_shared.</p>
-
-<p>You can make these settings directly, as in the following example:</p>
-
-<pre class="no-pretty-print">
-export PATH=/tmp/my-android-toolchain/bin:$PATH
-export CC=arm-linux-androideabi-gcc   # or export CC=clang
-export CXX=arm-linux-androideabi-g++  # or export CXX=clang++
-</pre>
-
-<p>Note that if you omit the {@code -install-dir} option, the {@code make-standalone-toolchain.sh}
-shell script creates a tarball in {@code tmp/ndk/<toolchain-name>.tar.bz2}. This tarball makes
-it easy to archive, as well as to redistribute the binaries.</p>
-
-<p>This standalone toolchain provides an additional benefit, as well, in that it contains a working
-copy of a C++ STL library, with working exceptions and RTTI support.</p>
-
-<p>For more options and details, use {@code --help}.</p>
-
-<h2 id="wwc">Working with Clang</h2>
-<p>You can install Clang binaries in the standalone installation by using the
-{@code --llvm-version=<version>} option. {@code <version>} is a LLVM/Clang version
-number, such as {@code 3.5} or {@code 3.6}. For example:
-
-<pre class="no-pretty-print">
-build/tools/make-standalone-toolchain.sh \
---install-dir=/tmp/mydir \
---toolchain=arm-linux-androideabi-4.8 \
---llvm-version=3.6
-</pre>
-
-<p>Note that Clang binaries are copied along with the GCC ones, because they rely on the same
-assembler, linker, headers, libraries, and C++ STL implementation.</p>
-
-<p>This operation also installs two scripts, named {@code clang} and {@code clang++}, under
-{@code <install-dir>/bin/@}. These scripts invoke the real {@code clang} binary with default
-target architecture flags. In other words, they should work without any modification, and you should
-be able to use them in your own builds by just setting the {@code CC} and {@code CXX} environment
-variables to point to them.</p>
-
-<h4>Invoking Clang</h4>
-<p>In an ARM standalone installation built with {@code llvm-version=3.6}, invoking
-<a href="http://clang.llvm.org/">Clang</a> on a Unix system takes the form of a single line. For
-instance:</p>
-
-<pre class="no-pretty-print">
-`dirname $0`/clang36 -target armv5te-none-linux-androideabi "$@"
-</pre>
-
-<p><code>clang++</code> invokes <code>clang++31</code> in the same way.</p>
-
-<h4>Clang targets with ARM</h4>
-
-<p>When building for ARM, Clang changes the target based on the presence of the
-{@code -march=armv7-a} and/or {@code -mthumb} options:</p>
-
-<p class="table-caption" id="table5">
-  <strong>Table 5.</strong> Specifiable {@code -march} values and their resulting targets.</p>
-   <table>
-  <tr>
-    <th scope="col">{@code -march} value</th>
-    <th scope="col">Resulting target</th>
-  </tr>
-  <tr>
-    <td>{@code -march=armv7-a}</td>
-    <td>{@code armv7-none-linux-androideabi}</td>
-  </tr>
-  <tr>
-    <td>{@code -mthumb}</td>
-    <td>{@code thumb-none-linux-androideabi}</td>
-  </tr>
-  <tr>
-    <td>Both {@code -march=armv7-a} and {@code -mthumb}</td>
-    <td>{@code thumbv7-none-linux-androideabi}</td>
-  </tr>
-</table>
-
-<p>You may also override with your own {@code -target} if you wish.</p>
-
-<p>The {@code -gcc-toolchain} option is unnecessary because, in a standalone package,
-Clang locates {@code as} and {@code ld} in a predefined relative location. <p>
-
-<p>{@code clang} and {@code clang++} should be easy drop-in replacements for {@code gcc} and
-{@code g++} in a makefile. When in doubt, add the following options to verify that they are
-working properly:</p>
-
-<ul>
-<li>{@code -v} to dump commands associated with compiler driver issues</li>
-<li>{@code -###} to dump command line options, including implicitly predefined ones.</li>
-<li>{@code -x c < /dev/null -dM -E} to dump predefined preprocessor definitions</li>
-<li>{@code -save-temps} to compare {@code *.i} or {@code *.ii} preprocessed files.</li>
-</ul>
-
-<p>For more information about Clang, see
-<a href="http://clang.llvm.org/">http://clang.llvm.org/</a>, especially the GCC compatibility
-section.</p>
-
-
-<h2 id="abi">ABI Compatibility</h2>
-<p>The machine code that the ARM toolchain generates should be compatible with the official Android
-{@code armeabi} <a href="{@docRoot}ndk/guides/abis.html">ABI</a> by default.</p>
-
-<p>We recommend use of the {@code -mthumb} compiler flag to force the generation of 16-bit Thumb-1
-instructions (the default being 32-bit ARM instructions).</p>
-
-<p>If you want to target the armeabi-v7a ABI, you must set the following flags: </p>
-
-<pre class="no-pretty-print">
-CFLAGS= -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16
-</pre>
-
-<p>The first flag enables Thumb-2 instructions. The second flag enables hardware-FPU instructions
-while ensuring that the system passes floating-point parameters in core registers, which is critical
-for ABI compatibility.</p>
-
-<p class="note"><strong>Note: </strong>In versions of the NDK prior to r9b, do not use these flags
-separately. You must set all or none of them. Otherwise, unpredictable behavior and crashes may
-result.</p>
-
-<p>To use NEON instructions, you must change the {@code -mfpu} compiler flag:</p>
-
-<pre class="no-pretty-print">
-CFLAGS= -march=armv7-a -mfloat-abi=softfp -mfpu=neon
-</pre>
-
-<p>Note that this setting forces the use of {@code VFPv3-D32}, per the ARM specification.</p>
-
-<p>Also, make sure to provide the following two flags to the linker:</p>
-
-<pre class="no-pretty-print">
-LDFLAGS= -march=armv7-a -Wl,--fix-cortex-a8
-</pre>
-
-<p>The first flag instructs the linker to pick {@code libgcc.a}, {@code libgcov.a}, and
-{@code crt*.o}, which are tailored for armv7-a. The 2nd flag is required as a workaround for a CPU
-bug in some Cortex-A8 implementations.</p>
-
-<p>Since NDK version r9b, all Android native APIs taking or returning double or float values have
-{@code attribute((pcs("aapcs")))} for ARM. This makes it possible to compile user code in
-{@code -mhard-float} (which implies {@code -mfloat-abi=hard}), and still link with the Android
-native APIs that comply with the softfp ABI. For more information on this, see the comments in
-{@code $NDK/tests/device/hard-float/jni/Android.mk}.</p>
-
-<p>If you want to use NEON intrinsics on x86, the build system can translate them to the native x86
-SSE intrinsics using a special C/C++ language header with the same name, {@code arm_neon.h}, as the
-standard ARM NEON intrinsics header.</p>
-
-<p>By default, the x86 ABI supports SIMD up to SSSE3, and the header covers ~93% of (1869 of 2009)
-NEON functions.</p>
-
-<p>You don't have to use any specific compiler flag when targeting the MIPS ABI.</p>
-
-<p>To learn more about ABI support, see <a href="{@docRoot}ndk/guides/x86.html">x86 Support</a>.</p>
-
-<h2 id="war">Warnings and Limitations</h2>
-<h3>Windows support</h3>
-<p>The Windows binaries do not depend on Cygwin. This lack of dependency makes them faster. The
-cost, however, is that they do not understand Cygwin path specifications like
-{@code cygdrive/c/foo/bar}, as opposed to {@code C:/foo/bar}.</p>
-
-<p>The NDK build system ensures that all paths passed to the compiler from Cygwin are automatically
-translated, and manages other complexities, as well. If you have a custom build system,
-you may need to resolve these complexities yourself.</p>
-
-<p>For information on contributing to support for Cygwin/MSys, visit the android-ndk
-<a href="https://groups.google.com/forum/#!forum/android-ndk">forum</a>.</p>
-
-<h3>wchar_t support</h3>
-
-<p>The Android platform did not really support {@code wchar_t} until Android 2.3 (API level 9). This
-fact has several ramifications:</p>
-<ul>
-<li>If you target platform Android 2.3 or higher, the size of {@code wchar_t} is 4 bytes, and most
-{@code wide-char} functions are available in the C library (with the exception of multi-byte
-encoding/decoding functions and {@code wsprintf}/{@code wsscanf}).</li>
-
-<li>If you target any lower API level, the size of {@code wchar_t} is 1 byte, and none of the
-wide-char functions works.</li>
-</ul>
-
-<p>We recommend that you get rid of any dependencies on the {@code wchar_t} type, and switch to
-better representations. The support provided in Android is only there to help you migrate existing
-code.</p>
-
-<h3>Exceptions, RTTI, and STL</h3>
-<p>The toolchain binaries support C++ exceptions and RTTI by default. To disable C++ exceptions
-and RTTI when building sources (to generate lighter-weight machine code, for example), use
-{@code -fno-exceptions} and {@code -fno-rtti}.</p>
-
-<p>To use these features in conjunction with GNU libstdc++, you must explicitly link with libsupc++.
-To do so, use {@code -lsupc++} when linking binaries. For example:</p>
-
-<pre class="no-pretty-print">
-arm-linux-androideabi-g++ .... -lsupc++
-</pre>
-
-<p>You do not need to do this when using the STLport or libc++ library.</p>
-
-<h3>C++ STL support</h3>
-<p>The standalone toolchain includes a copy of a C++ Standard Template Library implementation. This
-implementation is either for GNU libstdc++, STLport, or libc++, depending on what you specify for the
-{@code --stl=<name>} option described previously. To use this implementation of STL, you need
-to link your project with the proper library:</p>
-
-<ul>
-<li>
-Use {@code -lstdc++} to link against the static library version of any implementation. Doing so
-ensures that all required C++ STL code is included into your final binary. This method is ideal if
-you are only generating a single shared library or executable.</p>
-
-<p>This is the method that we recommend.</p>
-</li>
-
-<li>Alternatively, use {@code -lgnustl_shared} to link against the shared library version of GNU
-{@code libstdc++}. If you use this option, you must also make sure to copy
-{@code libgnustl_shared.so} to your device in order for your code to load properly. Table 6 shows
-where this file is for each toolchain type.
-</li>
-
-<p class="note"><strong>Note: </strong>GNU libstdc++ is licensed under the GPLv3 license, with a
-linking exception. If you cannot comply with its requirements, you cannot redistribute the
-shared library in your project.</p>
-
-
-<li>Use {@code -lstlport_shared} to link against the shared library version of STLport. When you do
-so, you need to make sure that you also copy {@code libstlport_shared.so} to your device in order
-for your code to load properly. Table 6 shows where this file is for each toolchain:</li>
-
-<p class="table-caption" id="table6">
-  <strong>Table 6.</strong> Specifiable {@code -march} values and their resulting targets.</p>
-   <table>
-  <tr>
-    <th scope="col">Toolchain</th>
-    <th scope="col">Location</th>
-  </tr>
-  <tr>
-    <td>arm</td>
-    <td>{@code $TOOLCHAIN/arm-linux-androideabi/lib/}</td>
-  </tr>
-  <tr>
-    <td>arm64</td>
-    <td>{@code $TOOLCHAIN/aarch64-linux-android/lib/}</td>
-  </tr>
-  <tr>
-    <td>x86</td>
-    <td>{@code $TOOLCHAIN/i686-linux-android/lib/}</td>
-  </tr>
-  <tr>
-    <td>x86_64</td>
-    <td>{@code $TOOLCHAIN/x86_64-linux-android/lib/}</td>
-  </tr>
-  <tr>
-    <td>mips</td>
-    <td>{@code $TOOLCHAIN/mipsel-linux-android/lib/}</td>
-  </tr>
-  <tr>
-    <td>mips64</td>
-    <td>{@code $TOOLCHAIN/mips64el-linux-android/lib/}</td>
-  </tr>
-</table>
-
-<p class="note"><strong>Note: </strong>If your project contains multiple shared libraries or
-executables, you must link against a shared-library STL implementation. Otherwise, the build
-system does not define certain global uniquely, which can result in unpredictable runtime behavior.
-This behavior may include crashes and failure to properly catch exceptions.</p>
-
-<p>The reason the shared version of the libraries is not simply called {@code libstdc++.so} is that
-this name would conflict at runtime with the system's own minimal C++ runtime. For this reason,
-the build system enforces a new name for the GNU ELF library. The static library does not have
-this problem.</p>
diff --git a/docs/html/ndk/guides/x86-64.jd b/docs/html/ndk/guides/x86-64.jd
deleted file mode 100644
index c2f0d28..0000000
--- a/docs/html/ndk/guides/x86-64.jd
+++ /dev/null
@@ -1,52 +0,0 @@
-page.title=Support for 64-bit x86
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#over">Overview</a></li>
-         <li><a href="#st">Standalone Toolchain</a></li>
-         <li><a href="#comp">Compatibilty</a></li>
-          </ol>
-        </li>
-      </ol>
-    </div>
-  </div>
-
-<p>The Android NDK supports the {@code x86_64} ABI. This ABI allows native code to run on
-Android-based devices using CPUs that support the 64-bit x86 instruction set.</p>
-
-<h2 id="over">Overview</h2>
-<p>To generate 64-bit machine code for x86, add {@code x86_64} to the {@code APP_ABI} definition in
-your {@code Application.mk} file. For example:
-
-<pre>
-APP_ABI := x86_64
-</pre>
-
-For more information on how to specify values for {@code APP_ABI}, see
-<a href="{@docRoot}ndk/guides/application_mk.html">Application.mk</a>.</p>
-
-<p>The build system places libraries generated for the {@code x86_64} ABI into
-{@code $PROJECT/libs/x86_64/} on your host machine, where {@code $PROJECT} is the root directory
-of your project. It also embeds them in your APK, under {@code /lib/x86_64/}.</p>
-
-<p>The Android package manager extracts these libraries when installing your APK on a compatible
-64-bit, x86-powered device, placing them under your app's private data directory.</p>
-
-<p>In the Google Play store, the server filters applications so that a consumer sees only the native
-libraries that run on the CPU powering his or her device.</p>
-
-<h2 id="st">Standalone Toolchain</h2>
-
-<p>You can use the 64-bit x86 toolchain in standalone mode with the NDK. For more
-information about doing so, see <a href="{@docRoot}ndk/guides/standalone_toolchain.html">
-Standalone Toolchain</a>, under the "Advanced method" section.
-
-<h2 id="comp">Compatibility</h2>
-<p>The NDK provides native versions of Android APIs for 64-bit x86 machine code starting from
-Android 5.0 (Android API level 21). If your project files target an older API level, but include
-{@code x86_64} as a targeted platform, the NDK build script automatically selects the right set of
-native platform headers and libraries for you.</p>
diff --git a/docs/html/ndk/guides/x86.jd b/docs/html/ndk/guides/x86.jd
deleted file mode 100644
index 3a01b05..0000000
--- a/docs/html/ndk/guides/x86.jd
+++ /dev/null
@@ -1,215 +0,0 @@
-page.title=x86 Support
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#over">Overview</a></li>
-         <li><a href="#an">ARM NEON Intrinsics Support</a></li>
-         <li><a href="#st">Standalone Toolchain</a></li>
-         <li><a href="#comp">Compatibility</a></li>
-      </ol>
-        </li>
-      </ol>
-    </div>
-  </div>
-
-<p>The NDK includes support for the {@code x86} ABI, which allows native code to run on
-Android-based devices running on CPUs supporting the IA-32 instruction set.</p>
-
-<h2 id="over">Overview</h2>
-<p>To generate x86 machine code, add {@code x86} to the {@code APP_ABI} definition in your
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file. For example:</p>
-
-<pre class="no-pretty-print">
-APP_ABI := armeabi armeabi-v7a x86
-</pre
-
-<p>For more information about defining the {@code APP_ABI} variable, see
-<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a>.</p>
-
-<p>The build system places generated libraries into {@code $PROJECT/libs/x86/}, where
-{@code $PROJECT} represents your project's root directory, and embeds them in your APK under
-{@code /lib/mips/}.</p>
-
-<p>The Android package extracts these libraries when installing your APK on a compatible x86-based
-device, placing them under your app's private data directory.</p>
-
-<p>In the Google Play store, the server filters applications so that a consumer sees only the native
-libraries that run on the CPU powering his or her device.</p>
-
-<h2 id="an">x86 Support for ARM NEON Intrinsics</h2>
-<p>Support for ARM NEON intrinsics is provided in the form of C/C++ language headers with the same
-name as the standard ARM NEON intrinsics header, {@code arm_neon.h}. These headers are available for
-all NDK x86 toolchains. They translate NEON intrinsics to native x86 SSE ones.</p>
-
-<p>Characteristics of this solution include the following:</p>
-<ul>
-<li>Default use of SSE through SSSE3 for porting ARM NEON to Intel SSE, covering ~93%
-(1869 of total 2009) of all NEON functions.</li>
-<li>Redefinition of ARM NEON 128 bit vectors into the equivalent x86 SIMD data.</li>
-<li>Redefinition of some functions from ARM NEON to Intel SSE if a 1:1 correspondence exists.</li>
-<li>Implementation of some ARM NEON functions using Intel SIMD if it will yield a performant result.
-</li>
-<li>Implementation of some of the remaining NEON functions using the serial solution, and issuing
-the corresponding "low performance" compiler warning.</li>
-</ul>
-
-
-<h3>Performance</h3>
-<p>In most cases, you should be able to attain performance similar to what you would get from ARM
-NEON code. Recommendations for best results include:</p>
-
-<ul>
-<li>Use 16-byte data alignment for faster load and store.</li>
-<li>Avoid using constants with NEON functions. Using constants results in a performance penalty due
-to having to load constants. If you must use constants, try to initialize them outside of hotspot
-loops. If possible, replace them with logical and compare operations.</li>
-<li>Try to avoid functions marked as "serially implemented" because they need to store data from
-registers to memory. Instead, process them serially and reload them. You may be able to change the
-data type or algorithm used to vectorize the whole port instead of leaving it as a serial one.</li>
-</ul>
-
-<p>For more information on this topic, see
-<a href="http://software.intel.com/en-us/blogs/2012/12/12/from-arm-neon-to-intel-mmxsse-automatic-porting-solution-tips-and-tricks">
-From ARM NEON to Intel SSE&ndash; the automatic porting solution, tips and tricks</a>.</p>
-
-<h3>Known differences from ARM version</h3>
-<p>In the great majority of cases, x86 implementations produce the same results as ARM
-implementations for NEON. x86 implementations pass
-<a href="https://gitorious.org/arm-neon-tests/arm-neon-tests">NEON tests</a> nearly 100% of the
-time. Still, there are several corner cases in which an x86 implementation produces results
-different from its ARM counterpart. Known incompatibilities are as follows:</p>
-
-<ul>
-<li>{@code VRECPS/VRECPSQ}<br/>
-  If one of the operands is +/- infinity and the second is +/- 0.0:
-  <ul>
-    <li>On ARM CPUs, these instructions
-    <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489h/CIHDIACI.html">
-    return a result element equal to 2.0</a>.</li>
-
-    <li>x86 CPUs return {@code QNaN Indefinite}. For more information about the QNaN floating-point
-    indefinite, see "4.2.2 Floating-Point Data Types" and "4.8.3.7 QNaN Floating-Point Indefinite,"
-    in the
-    <a href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf">Intel® 64 and IA-32 Architectures Software Developer’s Manual</a>.
-    </li>
-
-  </ul>
-</li>
-<li>{@code VRSQRTS/VRSQRTSQ}<br/>
-  If one of the operands is +/- infinity and the second is +/- 0.0:
-  <ul>
-    <li>On ARM CPUs, these instructions
-    <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489h/CIHDIACI.html">
-    return a result element equal to 1.5</a>.</li>
-
-    <li>x86 CPUs return {@code QNaN Indefinite}. For more information about the QNaN floating-point
-    indefinite, see "4.2.2 Floating-Point Data Types" and "4.8.3.7 QNaN Floating-Point Indefinite,"
-    in the
-    <a href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf">Intel® 64 and IA-32 Architectures Software Developer’s Manual</a>.
-    </li>
-  </ul>
-</li>
-
-<li>{@code VMAX/VMAXQ}<br/>
-  If one of the operands is NaN, or both operands are +/- 0.0:
-  <ul>
-    <li>On ARM CPUs, floating-point maximum works as follows:
-      <ul>
-        <li>max(+0.0, -0.0) = +0.0.</li>
-        <li>If any input is a NaN, the corresponding result element is the default NaN.</li>
-      </ul>
-      To learn more about this condition and result, see the
-      <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489h/CIHDEEBE.html">
-      ARM Compiler toolchain Assembler Reference</a>, ignoring the "Superseded" watermark.
-    </li>
-
-    <li>On x86 CPUs, floating-point maximum works as follows:
-      <ul>
-        <li>If one of the source operands is NaN, then return the second source operand.</li>
-        <li>If both source operands are equal to 0, then return the second source operand.</li>
-      </ul>
-      For more information about these conditions and results, see Volume 1 Appendix E chapter
-      E.4.2.3 and Volume 2, p 3-488, of the
-      <a href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf">Intel® 64 and IA-32 Architectures Software Developer’s
-      Manual</a>.
-    </li>
-  </ul>
-</li>
-
-<li>{@code VMIN/VMINQ}<br/>
-  If one of the operands is NaN or both are +/- 0.0:
-  <ul>
-    <li>On ARM CPUs floating-point minimum works as follows:
-      <ul>
-        <li>min(+0.0, -0.0) = -0.0.</li>
-        <li>If any input is a NaN, the corresponding result element is the default NaN.</li>
-      </ul>
-      To learn more about this condition and result, see the
-      <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489h/CIHDEEBE.html">
-      ARM Compiler toolchain Assembler Reference</a>, ignoring the "Superseded" watermark.
-    </li>
-    <li>On x86 CPUs floating-point minimum works as follows:
-      <ul>
-        <li>If one of the source operands is NaN, than return the second source operand.</li>
-        <li>If both source operands are equal to 0, than return the second source operand.</li>
-      </ul>
-      For more information about these conditions and results, see Volume 1 Appendix E chapter
-      E.4.2.3 and Volume 2, p 3-497, of the
-      <a href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf">Intel® 64 and IA-32 Architectures Software Developer’s
-      Manual</a>.
-    </li>
-  </ul>
-</li>
-
-<li>{@code VRECPE/VRECPEQ}<br/>
-  These instructions provide different levels of accuracy on ARM and x86 CPUs. For more information
-  about these differences, see
-  <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka14282.html">
-  How do I use VRECPE/VRECPEQ for reciprocal estimate?</a> on the ARM website, and Volume 2, p.
-  4-281 of the
-  <a href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf">Intel® 64 and IA-32 Architectures Software Developer’s Manual</a>.
-</li>
-
-<li>{@code VRSQRTE/VRSQRTEQ}<br/>
-  <ul>
-    <li>These instructions provide different levels of accuracy on ARM and x86 CPUs. For more
-    information about these differences, see the
-    <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/CIHCHECJ.html">
-    RealView Compilation Tools Assembler Guide</a>, and Volume 2, p. 4-325 of the
-    <a href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf">Intel® 64 and IA-32 Architectures Software Developer’s Manual</a>.
-    </li>
-
-    <li>If one of the operands is negative or -infinity then
-      <ul>
-        <li>On ARM CPUs, these instructions by default return a (positive) NaN. For more information
-        about this result, see the
-        <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489i/CIHIICBB.html">
-        ARM Compiler toolchain Assembler Reference</a>.</li>
-        <li>On x86 CPUs, these instructions return a (negative) QNaN floating-point Indefinite. For
-        more information about this result, see Volume 1, Appendix E, E.4.2.3, of the
-      <a href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf">Intel® 64 and IA-32 Architectures Software Developer’s
-      Manual</a>.</li>
-      </ul>
-    </li>
-  </ul>
-</li>
-</ul>
-
-<h3>Sample code</h3>
-<p>In your project make sure to include the {@code arm_neon.h} header, and define include
-{@code x86} in your definition of {@code APP_ABI}. The build system then ports your code to x86.</p>
-
-<p>For an example of how porting ARM NEON to x86 SSE works, see the hello-neon sample.</p>
-
-<h2 id="st">Standalone Toolchain</h2>
-<p>You can incorporate the {@code x86} ABI into your own toolchain. For more information, see
-<a href="{@docRoot}ndk/guides/standalone_toolchain.html">Standalone Toolchain</a>.</p>
-
-<h2 id="comp">Compatibility</h2>
-<p>x86 support requires, at minimum, Android 2.3 (Android API level 9). If your project files
-target an older API level, but include x86 as a targeted platform, the NDK build script
-automatically selects the right set of native platform headers/libraries for you.</p>
\ No newline at end of file
diff --git a/docs/html/ndk/index.jd b/docs/html/ndk/index.jd
deleted file mode 100644
index fc1c595..0000000
--- a/docs/html/ndk/index.jd
+++ /dev/null
@@ -1,51 +0,0 @@
-page.title=Android NDK
-page.tags="ndk, native, c, c++",
-meta.tags="ndk, native, c++"
-fullpage=true
-section.landing=true
-header.hide=1
-footer.hide=1
-@jd:body
-
-<section class="dac-expand dac-hero dac-dark dac-invert" style="background-repeat:no-repeat;">
-  <div class="wrap">
-    <div class="cols dac-hero-content" style="margin-top:32px">
-      <div class="col-7of16 cdol-push-1of16">
-        <h1 class="dac-hero-title">Android NDK</h1>
-        <p class="dac-hero-description">
-        The Android NDK is a toolset that lets you implement parts of your app using native-code languages such as C and C++. For certain types of apps, this can help you reuse existing code libraries written in those languages.
-        </p>
-
-        <a class="dac-hero-cta" href="/ndk/guides/index.html">
-          <span class="dac-sprite dac-auto-chevron"></span>
-          Get Started
-        </a><br>
-      </div>
-      <div class="col-8of16 col-push-1of16" style="margin-top:48px">
-
-        <span style="color:#00e5ff;font-family:'Roboto Mono', monospace;font-weight:400">public class <span
-        style="color:#eee">MyActivity</span> extends Activity {<br>
-              <span style="color:#ccc">&nbsp;&nbsp;/**<br>
-                &nbsp;&nbsp;* Native method implemented in C/C++<br>
-                &nbsp;&nbsp;*/</span><br>
-                &nbsp;&nbsp;public <span style="color:#1DE9B6;font-weight:700">native</span> void <span style="color:#eee">computeFoo()</span>;<br>
-              }</span>
-      </div>
-    </div>
-  </div>
-</section>
-
-<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>
-</div>
-<section class="dac-section dac-gray dac-small" id="latest"><div class="wrap">
-  <h2 class="norule">Latest</h2>
-  <div class="resource-widget resource-flow-layout col-16"
-       data-query="type:blog+tag:ndk"
-       data-cardSizes="6x6"
-       data-maxResults="9"
-       data-items-per-page="6"
-       data-initial-results="3"></div>
-</div></section>
diff --git a/docs/html/ndk/reference/_book.yaml b/docs/html/ndk/reference/_book.yaml
deleted file mode 100644
index ab8b8f9..0000000
--- a/docs/html/ndk/reference/_book.yaml
+++ /dev/null
@@ -1,60 +0,0 @@
-toc:
-- title: Asset Manager
-  path: /ndk/reference/group___asset.html
-  section:
-  - title: asset_manager.h
-    path: /ndk/reference/asset__manager_8h.html
-  - title: asset_manager_jni.h
-    path: /ndk/reference/asset__manager__jni_8h.html
-
-- title: Bitmap
-  path: /ndk/reference/group___bitmap.html
-  section:
-  - title: bitmap.h
-    path: /ndk/reference/bitmap_8h.html
-
-- title: Configuration
-  path: /ndk/reference/group___configuration.html
-  section:
-  - title: configuration.h
-    path: /ndk/reference/configuration_8h.html
-
-- title: Input
-  path: /ndk/reference/group___input.html
-  section:
-  - title: input.h
-    path: /ndk/reference/input_8h.html
-  - title: keycodes.h
-    path: /ndk/reference/keycodes_8h.html
-
-- title: Looper
-  path: /ndk/reference/group___looper.html
-  section:
-  - title: looper.h
-    path: /ndk/reference/looper_8h.html
-
-- title: Native Activity and Window
-  path: /ndk/reference/group___native_activity.html
-  section:
-  - title: native_activity.h
-    path: /ndk/reference/native__activity_8h.html
-  - title: native_window.h
-    path: /ndk/reference/native__window_8h.html
-  - title: native_window.h
-    path: /ndk/reference/native__window__jni_8h.html
-  - title: rect.h
-    path: /ndk/reference/rect_8h.html
-
-- title: Sensor
-  path: /ndk/reference/group___sensor.html
-  section:
-  - title: sensor.h
-    path: /ndk/reference/sensor_8h.html
-
-- title: Storage Manager
-  path: /ndk/reference/group___storage.html
-  section:
-  - title: storage_manager.h
-    path: /ndk/reference/storage__manager_8h.html
-  - title: obb.h
-    path: /ndk/reference/obb_8h.html
diff --git a/docs/html/ndk/reference/annotated.jd b/docs/html/ndk/reference/annotated.jd
deleted file mode 100644
index 8045f8d..0000000
--- a/docs/html/ndk/reference/annotated.jd
+++ /dev/null
@@ -1,25 +0,0 @@
-page.title=Data Structures
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">Data Structures</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
-<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_heart_rate_event.html" target="_self">AHeartRateEvent</a></td><td class="desc"></td></tr>
-<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_meta_data_event.html" target="_self">AMetaDataEvent</a></td><td class="desc"></td></tr>
-<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_native_activity.html" target="_self">ANativeActivity</a></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_native_activity_callbacks.html" target="_self">ANativeActivityCallbacks</a></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_native_window___buffer.html" target="_self">ANativeWindow_Buffer</a></td><td class="desc"></td></tr>
-<tr id="row_5_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_android_bitmap_info.html" target="_self">AndroidBitmapInfo</a></td><td class="desc"></td></tr>
-<tr id="row_6_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_rect.html" target="_self">ARect</a></td><td class="desc"></td></tr>
-<tr id="row_7_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_sensor_event.html" target="_self">ASensorEvent</a></td><td class="desc"></td></tr>
-<tr id="row_8_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_sensor_vector.html" target="_self">ASensorVector</a></td><td class="desc"></td></tr>
-<tr id="row_9_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="struct_a_uncalibrated_event.html" target="_self">AUncalibratedEvent</a></td><td class="desc"></td></tr>
-</table>
-</div><!-- directory -->
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/asset__manager_8h.jd b/docs/html/ndk/reference/asset__manager_8h.jd
deleted file mode 100644
index 88d8dea..0000000
--- a/docs/html/ndk/reference/asset__manager_8h.jd
+++ /dev/null
@@ -1,75 +0,0 @@
-page.title=asset_manager.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">asset_manager.h File Reference<div class="ingroups"><a class="el" href="group___asset.html">Asset</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga90c459935e76acf809b9ec90d1872771"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a></td></tr>
-<tr class="separator:ga90c459935e76acf809b9ec90d1872771"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga001a6b9c36a06ee977b9f51ed7103cdb"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a></td></tr>
-<tr class="separator:ga001a6b9c36a06ee977b9f51ed7103cdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5630b1f1aa5cd363303018cb2f12f95c"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a></td></tr>
-<tr class="separator:ga5630b1f1aa5cd363303018cb2f12f95c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba5bf76576f07042f965f230086f7c09f4">AASSET_MODE_UNKNOWN</a> = 0, 
-<a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba88e1b2a920963d7596735fe28bf30e2f">AASSET_MODE_RANDOM</a> = 1, 
-<a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55bac76f5fdb953097efc04e534474a7ea74">AASSET_MODE_STREAMING</a> = 2, 
-<a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba40ec098f4afb7c2869fa449d3059f6bb">AASSET_MODE_BUFFER</a> = 3
- }</td></tr>
-<tr class="separator:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gab5b57ff012d6d1024d8bf5d30aedced4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gab5b57ff012d6d1024d8bf5d30aedced4">AAssetManager_openDir</a> (<a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *mgr, const char *dirName)</td></tr>
-<tr class="separator:gab5b57ff012d6d1024d8bf5d30aedced4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0037ce3c10a591fe632f34c1aa62955c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga0037ce3c10a591fe632f34c1aa62955c">AAssetManager_open</a> (<a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *mgr, const char *filename, int mode)</td></tr>
-<tr class="separator:ga0037ce3c10a591fe632f34c1aa62955c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4703b9f7baa3daeba248b6547de6b9b0"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga4703b9f7baa3daeba248b6547de6b9b0">AAssetDir_getNextFileName</a> (<a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *assetDir)</td></tr>
-<tr class="separator:ga4703b9f7baa3daeba248b6547de6b9b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga45db6d19ad5e1c0f9b2e6b4059da14b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga45db6d19ad5e1c0f9b2e6b4059da14b3">AAssetDir_rewind</a> (<a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *assetDir)</td></tr>
-<tr class="separator:ga45db6d19ad5e1c0f9b2e6b4059da14b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gace1c4d0da274d643c5b10ca218cc6088"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gace1c4d0da274d643c5b10ca218cc6088">AAssetDir_close</a> (<a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *assetDir)</td></tr>
-<tr class="separator:gace1c4d0da274d643c5b10ca218cc6088"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaadd86322c1fda5121b6d33745c317fb9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gaadd86322c1fda5121b6d33745c317fb9">AAsset_read</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, void *buf, size_t count)</td></tr>
-<tr class="separator:gaadd86322c1fda5121b6d33745c317fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gacc026a8bedeb1ef80bf12df3b72611a2"><td class="memItemLeft" align="right" valign="top">off_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gacc026a8bedeb1ef80bf12df3b72611a2">AAsset_seek</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, off_t offset, int whence)</td></tr>
-<tr class="separator:gacc026a8bedeb1ef80bf12df3b72611a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga81fbe4368de24a3296ef7a6eba0053c7"><td class="memItemLeft" align="right" valign="top">off64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga81fbe4368de24a3296ef7a6eba0053c7">AAsset_seek64</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, off64_t offset, int whence)</td></tr>
-<tr class="separator:ga81fbe4368de24a3296ef7a6eba0053c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1f241e49f691dafcada23bcb76155122"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga1f241e49f691dafcada23bcb76155122">AAsset_close</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga1f241e49f691dafcada23bcb76155122"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga553a14512a98542306238c3ce70d344f"><td class="memItemLeft" align="right" valign="top">const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga553a14512a98542306238c3ce70d344f">AAsset_getBuffer</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga553a14512a98542306238c3ce70d344f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaad8ec42e28522ebc72d3a5c357f9a600"><td class="memItemLeft" align="right" valign="top">off_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gaad8ec42e28522ebc72d3a5c357f9a600">AAsset_getLength</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:gaad8ec42e28522ebc72d3a5c357f9a600"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga55c8bc459327d5d23089e6a4b453f3f1"><td class="memItemLeft" align="right" valign="top">off64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga55c8bc459327d5d23089e6a4b453f3f1">AAsset_getLength64</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga55c8bc459327d5d23089e6a4b453f3f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae806f55cbc4a93ca245f2adfd63d3eee"><td class="memItemLeft" align="right" valign="top">off_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gae806f55cbc4a93ca245f2adfd63d3eee">AAsset_getRemainingLength</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:gae806f55cbc4a93ca245f2adfd63d3eee"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga21e7221d88dcc44106843192b66755b5"><td class="memItemLeft" align="right" valign="top">off64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga21e7221d88dcc44106843192b66755b5">AAsset_getRemainingLength64</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga21e7221d88dcc44106843192b66755b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1af4ffd050016e99961e24f550981677"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga1af4ffd050016e99961e24f550981677">AAsset_openFileDescriptor</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, off_t *outStart, off_t *outLength)</td></tr>
-<tr class="separator:ga1af4ffd050016e99961e24f550981677"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga123a44a575f85d91a00a8456dab7bd0a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga123a44a575f85d91a00a8456dab7bd0a">AAsset_openFileDescriptor64</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, off64_t *outStart, off64_t *outLength)</td></tr>
-<tr class="separator:ga123a44a575f85d91a00a8456dab7bd0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga20344cb952a77fa1004f592fb1b55124"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga20344cb952a77fa1004f592fb1b55124">AAsset_isAllocated</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga20344cb952a77fa1004f592fb1b55124"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/asset__manager__jni_8h.jd b/docs/html/ndk/reference/asset__manager__jni_8h.jd
deleted file mode 100644
index 8aace05..0000000
--- a/docs/html/ndk/reference/asset__manager__jni_8h.jd
+++ /dev/null
@@ -1,25 +0,0 @@
-page.title=asset_manager_jni.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">asset_manager_jni.h File Reference<div class="ingroups"><a class="el" href="group___asset.html">Asset</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;<a class="el" href="asset__manager_8h.html">android/asset_manager.h</a>&gt;</code><br/>
-<code>#include &lt;jni.h&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gadfd6537af41577735bcaee52120127f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gadfd6537af41577735bcaee52120127f4">AAssetManager_fromJava</a> (JNIEnv *env, jobject assetManager)</td></tr>
-<tr class="separator:gadfd6537af41577735bcaee52120127f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/bc_s.png b/docs/html/ndk/reference/bc_s.png
deleted file mode 100644
index fd162ea..0000000
--- a/docs/html/ndk/reference/bc_s.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/bdwn.png b/docs/html/ndk/reference/bdwn.png
deleted file mode 100644
index 7c943f0..0000000
--- a/docs/html/ndk/reference/bdwn.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/bitmap_8h.jd b/docs/html/ndk/reference/bitmap_8h.jd
deleted file mode 100644
index 518cab1..0000000
--- a/docs/html/ndk/reference/bitmap_8h.jd
+++ /dev/null
@@ -1,61 +0,0 @@
-page.title=bitmap.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#define-members">Macros</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">bitmap.h File Reference<div class="ingroups"><a class="el" href="group___bitmap.html">Bitmap</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br/>
-<code>#include &lt;jni.h&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:gafb665ac9fefad34ac5c035f5d1314080"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#gafb665ac9fefad34ac5c035f5d1314080">ANDROID_BITMAP_RESUT_SUCCESS</a>&#160;&#160;&#160;<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076">ANDROID_BITMAP_RESULT_SUCCESS</a></td></tr>
-<tr class="separator:gafb665ac9fefad34ac5c035f5d1314080"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076">ANDROID_BITMAP_RESULT_SUCCESS</a> = 0, 
-<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7acf7205d1a348d867c63ac2885ce01374">ANDROID_BITMAP_RESULT_BAD_PARAMETER</a> = -1, 
-<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6b099b9533c38729a6c305f2fe93f98d">ANDROID_BITMAP_RESULT_JNI_EXCEPTION</a> = -2, 
-<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a512f5b95b6b57e78d65502c06391f990">ANDROID_BITMAP_RESULT_ALLOCATION_FAILED</a> = -3
- }</td></tr>
-<tr class="separator:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaea286a2d4c61ae2abb02b51500499f13"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#gaea286a2d4c61ae2abb02b51500499f13">AndroidBitmapFormat</a> { <br/>
-&#160;&#160;<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ac6f0378ea5cfefd9abee2596af5a9021">ANDROID_BITMAP_FORMAT_NONE</a> = 0, 
-<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ab92ae96ceea06aa534583beadba84057">ANDROID_BITMAP_FORMAT_RGBA_8888</a> = 1, 
-<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13a11b32e10d6db28fae70ec3590cb9ee91">ANDROID_BITMAP_FORMAT_RGB_565</a> = 4, 
-<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13adc2ede06eafe20439271cb8137dc7528">ANDROID_BITMAP_FORMAT_RGBA_4444</a> = 7, 
-<br/>
-&#160;&#160;<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ad29996be25f8f88c96e016a1da5c4bca">ANDROID_BITMAP_FORMAT_A_8</a> = 8
-<br/>
- }</td></tr>
-<tr class="separator:gaea286a2d4c61ae2abb02b51500499f13"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga80292ee39d8a675928e38849742b54bf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#ga80292ee39d8a675928e38849742b54bf">AndroidBitmap_getInfo</a> (JNIEnv *env, jobject jbitmap, <a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a> *info)</td></tr>
-<tr class="separator:ga80292ee39d8a675928e38849742b54bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2908d42fa4db286c34b7f8c11f29206f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#ga2908d42fa4db286c34b7f8c11f29206f">AndroidBitmap_lockPixels</a> (JNIEnv *env, jobject jbitmap, void **addrPtr)</td></tr>
-<tr class="separator:ga2908d42fa4db286c34b7f8c11f29206f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4aca91f37baddd42d0051dca8179d4ed"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#ga4aca91f37baddd42d0051dca8179d4ed">AndroidBitmap_unlockPixels</a> (JNIEnv *env, jobject jbitmap)</td></tr>
-<tr class="separator:ga4aca91f37baddd42d0051dca8179d4ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/classes.jd b/docs/html/ndk/reference/classes.jd
deleted file mode 100644
index e0ec721..0000000
--- a/docs/html/ndk/reference/classes.jd
+++ /dev/null
@@ -1,20 +0,0 @@
-page.title=Data Structure Index
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">Data Structure Index</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="qindex"><a class="qindex" href="#letter_A">A</a></div>
-<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
-<tr><td rowspan="2" valign="bottom"><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;A&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="struct_a_sensor_event.html">ASensorEvent</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="struct_a_sensor_vector.html">ASensorVector</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="struct_a_rect.html">ARect</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td></td><td></td><td></td><td></td><td></td></tr>
-</table>
-<div class="qindex"><a class="qindex" href="#letter_A">A</a></div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/closed.png b/docs/html/ndk/reference/closed.png
deleted file mode 100644
index e4e2b25..0000000
--- a/docs/html/ndk/reference/closed.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/configuration_8h.jd b/docs/html/ndk/reference/configuration_8h.jd
deleted file mode 100644
index 3f5f07c..0000000
--- a/docs/html/ndk/reference/configuration_8h.jd
+++ /dev/null
@@ -1,222 +0,0 @@
-page.title=configuration.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">configuration.h File Reference<div class="ingroups"><a class="el" href="group___configuration.html">Configuration</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;<a class="el" href="asset__manager_8h.html">android/asset_manager.h</a>&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga6709434d0f99b8367d0df2dfdfbef45a"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a></td></tr>
-<tr class="separator:ga6709434d0f99b8367d0df2dfdfbef45a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga99fb83031ce9923c84392b4e92f956b5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af44cee3290a23999b0358c5638747a5f">ACONFIGURATION_ORIENTATION_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad9bf5c1fb90f9fdb20f984d0574592fe">ACONFIGURATION_ORIENTATION_PORT</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad5746872ff6871379fca93c60bfac8a3">ACONFIGURATION_ORIENTATION_LAND</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab0ca4fce673baf58447bfeb154d9a03f">ACONFIGURATION_ORIENTATION_SQUARE</a> = 0x0003, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aa73bcf45261366840fea743372682fa6">ACONFIGURATION_TOUCHSCREEN_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5adfbeb370edd3b4372c9b0f86f152dde0">ACONFIGURATION_TOUCHSCREEN_NOTOUCH</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a8316a15b06353f883f2aef8bd194f79f">ACONFIGURATION_TOUCHSCREEN_STYLUS</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4bf2a8323ec6d072aa48d5fc2cff645e">ACONFIGURATION_TOUCHSCREEN_FINGER</a> = 0x0003, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae628b2bf594733b7c19ae394616cec6c">ACONFIGURATION_DENSITY_DEFAULT</a> = 0, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a01ddb34b2376422d2323720049eb57f3">ACONFIGURATION_DENSITY_LOW</a> = 120, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a2511479d7cd574c4b293d535e4dc337e">ACONFIGURATION_DENSITY_MEDIUM</a> = 160, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a10e6c3d636f3f6de75de9208913b0d8f">ACONFIGURATION_DENSITY_TV</a> = 213, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5ef4a97dc058235cdfa9fcfe3300c7eb">ACONFIGURATION_DENSITY_HIGH</a> = 240, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a38a03b3b1c64725679605d8d479c85a0">ACONFIGURATION_DENSITY_XHIGH</a> = 320, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad6353daf63778a6ec6f2bd3815d7e6e4">ACONFIGURATION_DENSITY_XXHIGH</a> = 480, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a2bd04af33e868a77bd4d83e7d70368ec">ACONFIGURATION_DENSITY_XXXHIGH</a> = 640, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a966a3855351a97ae865264afd74c1534">ACONFIGURATION_DENSITY_ANY</a> = 0xfffe, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a7c1af92914155c418b99844c6aab33d7">ACONFIGURATION_DENSITY_NONE</a> = 0xffff, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a593f722738682ae4500dab6427670f4a">ACONFIGURATION_KEYBOARD_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a40195a1a2d8e21c74d99606d8a1a9918">ACONFIGURATION_KEYBOARD_NOKEYS</a> = 0x0001, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a263ff8efb4d2c757e557adc0d0cdeedf">ACONFIGURATION_KEYBOARD_QWERTY</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1aaf1a887f146737030cce95c53066ea">ACONFIGURATION_KEYBOARD_12KEY</a> = 0x0003, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a90e914b60d28c081b313f4b7b6600f47">ACONFIGURATION_NAVIGATION_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a3d95e899305aeae366fb7f8d8b6c290a">ACONFIGURATION_NAVIGATION_NONAV</a> = 0x0001, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ace2e3ed21322100712992ca09f4b75b5">ACONFIGURATION_NAVIGATION_DPAD</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad2807d00cb2f5dcb9f456045dd8443a4">ACONFIGURATION_NAVIGATION_TRACKBALL</a> = 0x0003, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a80b53370f65ad283a4fd025f36422bea">ACONFIGURATION_NAVIGATION_WHEEL</a> = 0x0004, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a34d3a830bc2964000052f8486fd76b0c">ACONFIGURATION_KEYSHIDDEN_ANY</a> = 0x0000, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5abfbfc3a10affed059263555b00429ab2">ACONFIGURATION_KEYSHIDDEN_NO</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5e6a5a3f4175644886bde7d0ed4b1ebf">ACONFIGURATION_KEYSHIDDEN_YES</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1a56b72c730e40f22f3b8727e54c376c">ACONFIGURATION_KEYSHIDDEN_SOFT</a> = 0x0003, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a6db7dd6a67196df88117dcdc904e0cb3">ACONFIGURATION_NAVHIDDEN_ANY</a> = 0x0000, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae6ff9883e3e89f8d9ea5c0ebe077c9c5">ACONFIGURATION_NAVHIDDEN_NO</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a79b3a5fe10e948bb79db47b516d46cf5">ACONFIGURATION_NAVHIDDEN_YES</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a9abcd34a6c549e048fc75a545081584e">ACONFIGURATION_SCREENSIZE_ANY</a> = 0x00, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1163af972206a65a5d18bda12fdc511c">ACONFIGURATION_SCREENSIZE_SMALL</a> = 0x01, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a019727e684f25ba921f3479abd62b9f2">ACONFIGURATION_SCREENSIZE_NORMAL</a> = 0x02, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af871d177fdceedb75612cfc1281d2c12">ACONFIGURATION_SCREENSIZE_LARGE</a> = 0x03, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a0ca385ed504fc92f6ff3f0857e916c9c">ACONFIGURATION_SCREENSIZE_XLARGE</a> = 0x04, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a41e55e57da42fd09c378f59c1a63710f">ACONFIGURATION_SCREENLONG_ANY</a> = 0x00, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a428bb8fcd8bc731b67b0773dc62781c5">ACONFIGURATION_SCREENLONG_NO</a> = 0x1, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a91fc014d328507568d225d691b3babfd">ACONFIGURATION_SCREENLONG_YES</a> = 0x2, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a10d0916da7fa88c945a9cda259407d4c">ACONFIGURATION_UI_MODE_TYPE_ANY</a> = 0x00, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae7efe2713b6718311da76c828b5b444e">ACONFIGURATION_UI_MODE_TYPE_NORMAL</a> = 0x01, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae10bb854f461f60cf399852f8f327077">ACONFIGURATION_UI_MODE_TYPE_DESK</a> = 0x02, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5d6575185e41d909469a1dcf5f81bf4f">ACONFIGURATION_UI_MODE_TYPE_CAR</a> = 0x03, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4738dded616f028fbbedcbad764e7969">ACONFIGURATION_UI_MODE_TYPE_TELEVISION</a> = 0x04, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad99004a7a1b2a97d29b639664947f8e3">ACONFIGURATION_UI_MODE_TYPE_APPLIANCE</a> = 0x05, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ac8c3e2207f2356bc6a1dffc6a615d131">ACONFIGURATION_UI_MODE_TYPE_WATCH</a> = 0x06, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a975087bbd4087b57a68ef3cdbfeb77a1">ACONFIGURATION_UI_MODE_NIGHT_ANY</a> = 0x00, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a90ebe564e3a3e384d5b013100f81e4b7">ACONFIGURATION_UI_MODE_NIGHT_NO</a> = 0x1, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a437af4527fac5407de256ec1ef055046">ACONFIGURATION_UI_MODE_NIGHT_YES</a> = 0x2, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aad653f0c960112177fdc387a4a0577fa">ACONFIGURATION_SCREEN_WIDTH_DP_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab66ad42d0cf72fd7e8cd99b92b625432">ACONFIGURATION_SCREEN_HEIGHT_DP_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a227120217d8b6a9d5add3ccc4b283702">ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4687ede31c438dd9f2701cab88de1dbe">ACONFIGURATION_LAYOUTDIR_ANY</a> = 0x00, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a05242d8f2d254b43ff9414ff1aa38a83">ACONFIGURATION_LAYOUTDIR_LTR</a> = 0x01, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af98332983b787ab9355b527079636870">ACONFIGURATION_LAYOUTDIR_RTL</a> = 0x02, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4d40f2aef365c78a52f699b89439db28">ACONFIGURATION_MCC</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ade91a319638eede201579d15f86578a5">ACONFIGURATION_MNC</a> = 0x0002, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a01ecff796bd0690a9a8498c7de03e9b4">ACONFIGURATION_LOCALE</a> = 0x0004, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a255cfb57ac18d460c5614565a84f5561">ACONFIGURATION_TOUCHSCREEN</a> = 0x0008, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a0195de2a57f028a8171c42beff0b0e88">ACONFIGURATION_KEYBOARD</a> = 0x0010, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a54e71234e32ed037e2d47472f80eb416">ACONFIGURATION_KEYBOARD_HIDDEN</a> = 0x0020, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a65e9d31615d2b4adf3738d9a12a1556b">ACONFIGURATION_NAVIGATION</a> = 0x0040, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a591461d864136d482fe06e01fd945786">ACONFIGURATION_ORIENTATION</a> = 0x0080, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ace87b4f25e5fd6fe0f3316d21ecc66a1">ACONFIGURATION_DENSITY</a> = 0x0100, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a76ca1eb0e9346d93da592afbbf9a3b72">ACONFIGURATION_SCREEN_SIZE</a> = 0x0200, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1be62e4fc31cf3d3102c99f7c6b4c71b">ACONFIGURATION_VERSION</a> = 0x0400, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a12d69ffef9135c1c55e1b8b5c2589e7c">ACONFIGURATION_SCREEN_LAYOUT</a> = 0x0800, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a43a324af59372efd08b34431825cf67e">ACONFIGURATION_UI_MODE</a> = 0x1000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5acce415252e0ad95117a05bbe910f06de">ACONFIGURATION_SMALLEST_SCREEN_SIZE</a> = 0x2000, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a65834be1230d1694e5ce8a6f407acab2">ACONFIGURATION_LAYOUTDIR</a> = 0x4000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aa6cda2f222580dbef27f1277d967d58c">ACONFIGURATION_MNC_ZERO</a> = 0xffff
-<br/>
- }</td></tr>
-<tr class="separator:ga99fb83031ce9923c84392b4e92f956b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga9543655922980466eb05c7be94a0a567"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga9543655922980466eb05c7be94a0a567">AConfiguration_new</a> ()</td></tr>
-<tr class="separator:ga9543655922980466eb05c7be94a0a567"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga60fe264b97da84d3370eb9e220159e6d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga60fe264b97da84d3370eb9e220159e6d">AConfiguration_delete</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga60fe264b97da84d3370eb9e220159e6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga75e061fd0b4f761e08e43af36508c4f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga75e061fd0b4f761e08e43af36508c4f3">AConfiguration_fromAssetManager</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *out, <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *am)</td></tr>
-<tr class="separator:ga75e061fd0b4f761e08e43af36508c4f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaabff04218a0a76afb8d3ea551b001565"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaabff04218a0a76afb8d3ea551b001565">AConfiguration_copy</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *dest, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *src)</td></tr>
-<tr class="separator:gaabff04218a0a76afb8d3ea551b001565"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1e78004237a931086d2ae4bd8324bd30"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga1e78004237a931086d2ae4bd8324bd30">AConfiguration_getMcc</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga1e78004237a931086d2ae4bd8324bd30"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae6198b4eaf3e34168f4b13b8b5975d93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gae6198b4eaf3e34168f4b13b8b5975d93">AConfiguration_setMcc</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t mcc)</td></tr>
-<tr class="separator:gae6198b4eaf3e34168f4b13b8b5975d93"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4783776a4fad4501898472375d781fb9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga4783776a4fad4501898472375d781fb9">AConfiguration_getMnc</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga4783776a4fad4501898472375d781fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf060ef69c3636f62e90ae0b520eecb8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaaf060ef69c3636f62e90ae0b520eecb8">AConfiguration_setMnc</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t mnc)</td></tr>
-<tr class="separator:gaaf060ef69c3636f62e90ae0b520eecb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7b004c13448704afb0ea2040d69468c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga7b004c13448704afb0ea2040d69468c1">AConfiguration_getLanguage</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, char *outLanguage)</td></tr>
-<tr class="separator:ga7b004c13448704afb0ea2040d69468c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1f3c6cf6667655f83777acda7387ddff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga1f3c6cf6667655f83777acda7387ddff">AConfiguration_setLanguage</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, const char *language)</td></tr>
-<tr class="separator:ga1f3c6cf6667655f83777acda7387ddff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad2b47f787012a82a67a20e5de5211d46"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gad2b47f787012a82a67a20e5de5211d46">AConfiguration_getCountry</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, char *outCountry)</td></tr>
-<tr class="separator:gad2b47f787012a82a67a20e5de5211d46"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac2f5d414a6466634b1639b5c6f8879ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gac2f5d414a6466634b1639b5c6f8879ac">AConfiguration_setCountry</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, const char *country)</td></tr>
-<tr class="separator:gac2f5d414a6466634b1639b5c6f8879ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa7d8e3e9871dc925fef3e342a92e4e22"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaa7d8e3e9871dc925fef3e342a92e4e22">AConfiguration_getOrientation</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gaa7d8e3e9871dc925fef3e342a92e4e22"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadcaa8540bad4172a74032143bcaade04"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gadcaa8540bad4172a74032143bcaade04">AConfiguration_setOrientation</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t orientation)</td></tr>
-<tr class="separator:gadcaa8540bad4172a74032143bcaade04"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad305e6cf86fa915c24212e71bb2bf027"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gad305e6cf86fa915c24212e71bb2bf027">AConfiguration_getTouchscreen</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gad305e6cf86fa915c24212e71bb2bf027"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0d51dbe710c1afe31ece4dd6a8c188ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga0d51dbe710c1afe31ece4dd6a8c188ff">AConfiguration_setTouchscreen</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t touchscreen)</td></tr>
-<tr class="separator:ga0d51dbe710c1afe31ece4dd6a8c188ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4c994e0555947340582094c3da32a663"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga4c994e0555947340582094c3da32a663">AConfiguration_getDensity</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga4c994e0555947340582094c3da32a663"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9217af9858a7166dcb9a877192779eac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga9217af9858a7166dcb9a877192779eac">AConfiguration_setDensity</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t density)</td></tr>
-<tr class="separator:ga9217af9858a7166dcb9a877192779eac"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafd0f76ccd4fe4bda5172b8e0bc6675e4"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafd0f76ccd4fe4bda5172b8e0bc6675e4">AConfiguration_getKeyboard</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gafd0f76ccd4fe4bda5172b8e0bc6675e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4ab3429c5505c108c09349f1ddef572f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga4ab3429c5505c108c09349f1ddef572f">AConfiguration_setKeyboard</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t keyboard)</td></tr>
-<tr class="separator:ga4ab3429c5505c108c09349f1ddef572f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae3ff1541b63f5b9256f7c0ebae372977"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gae3ff1541b63f5b9256f7c0ebae372977">AConfiguration_getNavigation</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gae3ff1541b63f5b9256f7c0ebae372977"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad21dd14fb823a6a80b66132a05ce8913"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gad21dd14fb823a6a80b66132a05ce8913">AConfiguration_setNavigation</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t navigation)</td></tr>
-<tr class="separator:gad21dd14fb823a6a80b66132a05ce8913"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7a8317ab975f621f3fe62ed1b44f2605"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga7a8317ab975f621f3fe62ed1b44f2605">AConfiguration_getKeysHidden</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga7a8317ab975f621f3fe62ed1b44f2605"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5a80a02aa10cfa17de0795054e927183"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga5a80a02aa10cfa17de0795054e927183">AConfiguration_setKeysHidden</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t keysHidden)</td></tr>
-<tr class="separator:ga5a80a02aa10cfa17de0795054e927183"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafe8d3a9c2f715ea76c8e4a99c2db9eaa"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafe8d3a9c2f715ea76c8e4a99c2db9eaa">AConfiguration_getNavHidden</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gafe8d3a9c2f715ea76c8e4a99c2db9eaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga67e86e0347596421771af841710308d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga67e86e0347596421771af841710308d5">AConfiguration_setNavHidden</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t navHidden)</td></tr>
-<tr class="separator:ga67e86e0347596421771af841710308d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4aa7062198e5aacd9fabb04d0453dd91"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga4aa7062198e5aacd9fabb04d0453dd91">AConfiguration_getSdkVersion</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga4aa7062198e5aacd9fabb04d0453dd91"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga06c66072902ee455011120188ca4810b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga06c66072902ee455011120188ca4810b">AConfiguration_setSdkVersion</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t sdkVersion)</td></tr>
-<tr class="separator:ga06c66072902ee455011120188ca4810b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9d2c1b8731795d8e74be7e23cbc77552"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga9d2c1b8731795d8e74be7e23cbc77552">AConfiguration_getScreenSize</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga9d2c1b8731795d8e74be7e23cbc77552"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7bcf05150933ead34a01061d05ad3245"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga7bcf05150933ead34a01061d05ad3245">AConfiguration_setScreenSize</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t screenSize)</td></tr>
-<tr class="separator:ga7bcf05150933ead34a01061d05ad3245"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab7d1f5aa59e8fa4db0a1b91bb322034c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gab7d1f5aa59e8fa4db0a1b91bb322034c">AConfiguration_getScreenLong</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gab7d1f5aa59e8fa4db0a1b91bb322034c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaed853ab7e2bc915591d05997130bc448"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaed853ab7e2bc915591d05997130bc448">AConfiguration_setScreenLong</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t screenLong)</td></tr>
-<tr class="separator:gaed853ab7e2bc915591d05997130bc448"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1d75777892f38208feb3d2a94a977fcf"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga1d75777892f38208feb3d2a94a977fcf">AConfiguration_getUiModeType</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga1d75777892f38208feb3d2a94a977fcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaec61e3cf91cd79e8b76a35bbcb15789d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaec61e3cf91cd79e8b76a35bbcb15789d">AConfiguration_setUiModeType</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t uiModeType)</td></tr>
-<tr class="separator:gaec61e3cf91cd79e8b76a35bbcb15789d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga447f16a9e4f8400e5e0328900749ff16"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga447f16a9e4f8400e5e0328900749ff16">AConfiguration_getUiModeNight</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga447f16a9e4f8400e5e0328900749ff16"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga08df1e801afbe4a12411e393b8141e42"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga08df1e801afbe4a12411e393b8141e42">AConfiguration_setUiModeNight</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t uiModeNight)</td></tr>
-<tr class="separator:ga08df1e801afbe4a12411e393b8141e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga61e5fe9612c170c33e1c7e9fb92f2219"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga61e5fe9612c170c33e1c7e9fb92f2219">AConfiguration_getScreenWidthDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga61e5fe9612c170c33e1c7e9fb92f2219"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafc51d45679095965fe3ba1abd402f120"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafc51d45679095965fe3ba1abd402f120">AConfiguration_setScreenWidthDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t value)</td></tr>
-<tr class="separator:gafc51d45679095965fe3ba1abd402f120"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9905a4765f8d0d921c476ebce01c7648"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga9905a4765f8d0d921c476ebce01c7648">AConfiguration_getScreenHeightDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga9905a4765f8d0d921c476ebce01c7648"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6ffac3b41415ec8a3031737ccdcd63b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga6ffac3b41415ec8a3031737ccdcd63b8">AConfiguration_setScreenHeightDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t value)</td></tr>
-<tr class="separator:ga6ffac3b41415ec8a3031737ccdcd63b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7fc015e41fad342edba66a003d9848aa"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga7fc015e41fad342edba66a003d9848aa">AConfiguration_getSmallestScreenWidthDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga7fc015e41fad342edba66a003d9848aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6b004c9585671efc5cebd96c1d43c4f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga6b004c9585671efc5cebd96c1d43c4f0">AConfiguration_setSmallestScreenWidthDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t value)</td></tr>
-<tr class="separator:ga6b004c9585671efc5cebd96c1d43c4f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga13dbf2fc9a382c62b391e7de9cf9b468"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga13dbf2fc9a382c62b391e7de9cf9b468">AConfiguration_getLayoutDirection</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga13dbf2fc9a382c62b391e7de9cf9b468"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf47215cf551594f8c2a0594419b47e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaaf47215cf551594f8c2a0594419b47e1">AConfiguration_setLayoutDirection</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t value)</td></tr>
-<tr class="separator:gaaf47215cf551594f8c2a0594419b47e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabfe69b0dccae425a16fe94d084f20402"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gabfe69b0dccae425a16fe94d084f20402">AConfiguration_diff</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config1, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config2)</td></tr>
-<tr class="separator:gabfe69b0dccae425a16fe94d084f20402"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafb27b901a1d7d44ed866608fb8399a18"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafb27b901a1d7d44ed866608fb8399a18">AConfiguration_match</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *base, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *requested)</td></tr>
-<tr class="separator:gafb27b901a1d7d44ed866608fb8399a18"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafd2bb31057c8d57efcea7603458d2a8d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafd2bb31057c8d57efcea7603458d2a8d">AConfiguration_isBetterThan</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *base, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *test, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *requested)</td></tr>
-<tr class="separator:gafd2bb31057c8d57efcea7603458d2a8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/deprecated.jd b/docs/html/ndk/reference/deprecated.jd
deleted file mode 100644
index 0e69db6..0000000
--- a/docs/html/ndk/reference/deprecated.jd
+++ /dev/null
@@ -1,23 +0,0 @@
-page.title=Deprecated List
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">Deprecated List </div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><dl class="reflist">
-<dt><a class="anchor" id="_deprecated000001"></a>Global <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab0ca4fce673baf58447bfeb154d9a03f">ACONFIGURATION_ORIENTATION_SQUARE</a>  </dt>
-<dd>Not currently supported or used.  </dd>
-<dt><a class="anchor" id="_deprecated000002"></a>Global <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a8316a15b06353f883f2aef8bd194f79f">ACONFIGURATION_TOUCHSCREEN_STYLUS</a>  </dt>
-<dd>Not currently supported or used.  </dd>
-<dt><a class="anchor" id="_deprecated000004"></a>Global <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa0377f46a626d411ace179c1c27d0a3f7">AWINDOW_FLAG_BLUR_BEHIND</a>  </dt>
-<dd>Blurring is no longer supported.  </dd>
-<dt><a class="anchor" id="_deprecated000006"></a>Global <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae73488b436aaea163ba2f7051bf93d9d">AWINDOW_FLAG_DITHER</a>  </dt>
-<dd>This flag is no longer used.  </dd>
-<dt><a class="anchor" id="_deprecated000005"></a>Global <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5574a513645e6e7cb4d6a9f4a043d773">AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING</a>  </dt>
-<dd>This flag has no effect. </dd>
-</dl>
-</div></div><!-- contents -->
diff --git a/docs/html/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd b/docs/html/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd
deleted file mode 100644
index 025427a..0000000
--- a/docs/html/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd
+++ /dev/null
@@ -1,49 +0,0 @@
-page.title=android Directory Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">android Directory Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:asset__manager_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asset__manager_8h.html">asset_manager.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:asset__manager__jni_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asset__manager__jni_8h.html">asset_manager_jni.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:bitmap_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bitmap_8h.html">bitmap.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:configuration_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="configuration_8h.html">configuration.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:input_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="input_8h.html">input.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:keycodes_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keycodes_8h.html">keycodes.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:looper_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="looper_8h.html">looper.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:native__activity_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="native__activity_8h.html">native_activity.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:native__window_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="native__window_8h.html">native_window.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:native__window__jni_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="native__window__jni_8h.html">native_window_jni.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:obb_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="obb_8h.html">obb.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:rect_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rect_8h.html">rect.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:sensor_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sensor_8h.html">sensor.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:storage__manager_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage__manager_8h.html">storage_manager.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:window_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="window_8h.html">window.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd b/docs/html/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd
deleted file mode 100644
index e42811e..0000000
--- a/docs/html/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd
+++ /dev/null
@@ -1,21 +0,0 @@
-page.title=include Directory Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">include Directory Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
-Directories</h2></td></tr>
-<tr class="memitem:dir_035c76f7235f5f563d38e3ab90cb9716"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/doxygen-dac.css b/docs/html/ndk/reference/doxygen-dac.css
deleted file mode 100644
index 96b6d84..0000000
--- a/docs/html/ndk/reference/doxygen-dac.css
+++ /dev/null
@@ -1,53 +0,0 @@
-#jd-content td {
-}
-
-#jd-content table {
-    background-color: transparent;
-    width: 100%;
-}
-
-#jd-content tr.heading td {
-    background-color: #999;
-    padding: 0px 12px;
-}
-
-#jd-content tr.heading h2 {
-    font-size: 14px;
-    font-weight: bold;
-    font-family: Roboto, sans-serif;
-    margin: 0px;
-    color: #fff;
-}
-
-#jd-content tr.heading hr, #jd-content td.memSeparator, #jd-content div.headertitle {
-    display: none;
-}
-
-
-#jd-content table td.memItemLeft {
-    text-align: right;
-    width: 20%;
-}
-
-#jd-content table td.memItemRight {
-}
-
-#jd-content div.memproto {
-    font-size: 1.15em;
-    background-color: #e2e2e2;
-    padding: 3px;    
-}
-
-#jd-content div.memproto table {
-    margin: 0px;
-    width: auto;
-}
-
-#jd-content table.memname td {
-    border: none;
-    padding: 2px;
-}
-
-#jd-content div.memdoc {
-    margin: 7px 18px;
-}
diff --git a/docs/html/ndk/reference/doxygen.css b/docs/html/ndk/reference/doxygen.css
deleted file mode 100644
index 94f4bf2..0000000
--- a/docs/html/ndk/reference/doxygen.css
+++ /dev/null
@@ -1,1366 +0,0 @@
-/* The standard CSS for doxygen 1.8.6 */
-
-body, table, div, p, dl {
-	font: 400 14px/22px Roboto,sans-serif;
-}
-
-/* @group Heading Levels */
-
-h1.groupheader {
-	font-size: 150%;
-}
-
-.title {
-	font: 400 14px/28px Roboto,sans-serif;
-	font-size: 150%;
-	font-weight: bold;
-	margin: 10px 2px;
-}
-
-h2.groupheader {
-	border-bottom: 1px solid #A9A9A9;
-	color: #585858;
-	font-size: 150%;
-	font-weight: normal;
-	margin-top: 1.75em;
-	padding-top: 8px;
-	padding-bottom: 4px;
-	width: 100%;
-}
-
-h3.groupheader {
-	font-size: 100%;
-}
-
-h1, h2, h3, h4, h5, h6 {
-	-webkit-transition: text-shadow 0.5s linear;
-	-moz-transition: text-shadow 0.5s linear;
-	-ms-transition: text-shadow 0.5s linear;
-	-o-transition: text-shadow 0.5s linear;
-	transition: text-shadow 0.5s linear;
-	margin-right: 15px;
-}
-
-h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
-	text-shadow: 0 0 15px cyan;
-}
-
-dt {
-	font-weight: bold;
-}
-
-div.multicol {
-	-moz-column-gap: 1em;
-	-webkit-column-gap: 1em;
-	-moz-column-count: 3;
-	-webkit-column-count: 3;
-}
-
-p.startli, p.startdd {
-	margin-top: 2px;
-}
-
-p.starttd {
-	margin-top: 0px;
-}
-
-p.endli {
-	margin-bottom: 0px;
-}
-
-p.enddd {
-	margin-bottom: 4px;
-}
-
-p.endtd {
-	margin-bottom: 2px;
-}
-
-/* @end */
-
-caption {
-	font-weight: bold;
-}
-
-span.legend {
-        font-size: 70%;
-        text-align: center;
-}
-
-h3.version {
-        font-size: 90%;
-        text-align: center;
-}
-
-div.qindex, div.navtab{
-	background-color: #F1F1F1;
-	border: 1px solid #BDBDBD;
-	text-align: center;
-}
-
-div.qindex, div.navpath {
-	width: 100%;
-	line-height: 140%;
-}
-
-div.navtab {
-	margin-right: 15px;
-}
-
-/* @group Link Styling */
-
-a {
-	color: #646464;
-	font-weight: normal;
-	text-decoration: none;
-}
-
-.contents a:visited {
-	color: #747474;
-}
-
-a:hover {
-	text-decoration: underline;
-}
-
-a.qindex {
-	font-weight: bold;
-}
-
-a.qindexHL {
-	font-weight: bold;
-	background-color: #B8B8B8;
-	color: #ffffff;
-	border: 1px double #A8A8A8;
-}
-
-.contents a.qindexHL:visited {
-        color: #ffffff;
-}
-
-a.el {
-	font-weight: bold;
-}
-
-a.elRef {
-}
-
-a.code, a.code:visited, a.line, a.line:visited {
-	color: #4665A2; 
-}
-
-a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
-	color: #4665A2; 
-}
-
-/* @end */
-
-dl.el {
-	margin-left: -1cm;
-}
-
-pre.fragment {
-        border: 1px solid #C4CFE5;
-        background-color: #FBFCFD;
-        padding: 4px 6px;
-        margin: 4px 8px 4px 2px;
-        overflow: auto;
-        word-wrap: break-word;
-        font-size:  9pt;
-        line-height: 125%;
-        font-family: monospace, fixed;
-        font-size: 105%;
-}
-
-div.fragment {
-        padding: 4px 6px;
-        margin: 4px 8px 4px 2px;
-	background-color: #FCFCFC;
-	border: 1px solid #D5D5D5;
-}
-
-div.line {
-	font-family: monospace, fixed;
-        font-size: 13px;
-	min-height: 13px;
-	line-height: 1.0;
-	text-wrap: unrestricted;
-	white-space: -moz-pre-wrap; /* Moz */
-	white-space: -pre-wrap;     /* Opera 4-6 */
-	white-space: -o-pre-wrap;   /* Opera 7 */
-	white-space: pre-wrap;      /* CSS3  */
-	word-wrap: break-word;      /* IE 5.5+ */
-	text-indent: -53px;
-	padding-left: 53px;
-	padding-bottom: 0px;
-	margin: 0px;
-	-webkit-transition-property: background-color, box-shadow;
-	-webkit-transition-duration: 0.5s;
-	-moz-transition-property: background-color, box-shadow;
-	-moz-transition-duration: 0.5s;
-	-ms-transition-property: background-color, box-shadow;
-	-ms-transition-duration: 0.5s;
-	-o-transition-property: background-color, box-shadow;
-	-o-transition-duration: 0.5s;
-	transition-property: background-color, box-shadow;
-	transition-duration: 0.5s;
-}
-
-div.line.glow {
-	background-color: cyan;
-	box-shadow: 0 0 10px cyan;
-}
-
-
-span.lineno {
-	padding-right: 4px;
-	text-align: right;
-	border-right: 2px solid #0F0;
-	background-color: #E8E8E8;
-        white-space: pre;
-}
-span.lineno a {
-	background-color: #D8D8D8;
-}
-
-span.lineno a:hover {
-	background-color: #C8C8C8;
-}
-
-div.ah {
-	background-color: black;
-	font-weight: bold;
-	color: #ffffff;
-	margin-bottom: 3px;
-	margin-top: 3px;
-	padding: 0.2em;
-	border: solid thin #333;
-	border-radius: 0.5em;
-	-webkit-border-radius: .5em;
-	-moz-border-radius: .5em;
-	box-shadow: 2px 2px 3px #999;
-	-webkit-box-shadow: 2px 2px 3px #999;
-	-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
-	background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
-	background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
-}
-
-div.groupHeader {
-	margin-left: 16px;
-	margin-top: 12px;
-	font-weight: bold;
-}
-
-div.groupText {
-	margin-left: 16px;
-	font-style: italic;
-}
-
-body {
-	background-color: white;
-	color: black;
-        margin: 0;
-}
-
-div.contents {
-	margin-top: 10px;
-	margin-left: 12px;
-	margin-right: 8px;
-}
-
-td.indexkey {
-	background-color: #F1F1F1;
-	font-weight: bold;
-	border: 1px solid #D5D5D5;
-	margin: 2px 0px 2px 0;
-	padding: 2px 10px;
-        white-space: nowrap;
-        vertical-align: top;
-}
-
-td.indexvalue {
-	background-color: #F1F1F1;
-	border: 1px solid #D5D5D5;
-	padding: 2px 10px;
-	margin: 2px 0px;
-}
-
-tr.memlist {
-	background-color: #F2F2F2;
-}
-
-p.formulaDsp {
-	text-align: center;
-}
-
-img.formulaDsp {
-	
-}
-
-img.formulaInl {
-	vertical-align: middle;
-}
-
-div.center {
-	text-align: center;
-        margin-top: 0px;
-        margin-bottom: 0px;
-        padding: 0px;
-}
-
-div.center img {
-	border: 0px;
-}
-
-address.footer {
-	text-align: right;
-	padding-right: 12px;
-}
-
-img.footer {
-	border: 0px;
-	vertical-align: middle;
-}
-
-/* @group Code Colorization */
-
-span.keyword {
-	color: #008000
-}
-
-span.keywordtype {
-	color: #604020
-}
-
-span.keywordflow {
-	color: #e08000
-}
-
-span.comment {
-	color: #800000
-}
-
-span.preprocessor {
-	color: #806020
-}
-
-span.stringliteral {
-	color: #002080
-}
-
-span.charliteral {
-	color: #008080
-}
-
-span.vhdldigit { 
-	color: #ff00ff 
-}
-
-span.vhdlchar { 
-	color: #000000 
-}
-
-span.vhdlkeyword { 
-	color: #700070 
-}
-
-span.vhdllogic { 
-	color: #ff0000 
-}
-
-blockquote {
-        background-color: #F9F9F9;
-        border-left: 2px solid #B8B8B8;
-        margin: 0 24px 0 4px;
-        padding: 0 12px 0 16px;
-}
-
-/* @end */
-
-/*
-.search {
-	color: #003399;
-	font-weight: bold;
-}
-
-form.search {
-	margin-bottom: 0px;
-	margin-top: 0px;
-}
-
-input.search {
-	font-size: 75%;
-	color: #000080;
-	font-weight: normal;
-	background-color: #e8eef2;
-}
-*/
-
-td.tiny {
-	font-size: 75%;
-}
-
-.dirtab {
-	padding: 4px;
-	border-collapse: collapse;
-	border: 1px solid #BDBDBD;
-}
-
-th.dirtab {
-	background: #F1F1F1;
-	font-weight: bold;
-}
-
-hr {
-	height: 0px;
-	border: none;
-	border-top: 1px solid #7A7A7A;
-}
-
-hr.footer {
-	height: 1px;
-}
-
-/* @group Member Descriptions */
-
-table.memberdecls {
-	border-spacing: 0px;
-	padding: 0px;
-}
-
-.memberdecls td, .fieldtable tr {
-	-webkit-transition-property: background-color, box-shadow;
-	-webkit-transition-duration: 0.5s;
-	-moz-transition-property: background-color, box-shadow;
-	-moz-transition-duration: 0.5s;
-	-ms-transition-property: background-color, box-shadow;
-	-ms-transition-duration: 0.5s;
-	-o-transition-property: background-color, box-shadow;
-	-o-transition-duration: 0.5s;
-	transition-property: background-color, box-shadow;
-	transition-duration: 0.5s;
-}
-
-.memberdecls td.glow, .fieldtable tr.glow {
-	background-color: cyan;
-	box-shadow: 0 0 15px cyan;
-}
-
-.mdescLeft, .mdescRight,
-.memItemLeft, .memItemRight,
-.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
-	background-color: #FAFAFA;
-	border: none;
-	margin: 4px;
-	padding: 1px 0 0 8px;
-}
-
-.mdescLeft, .mdescRight {
-	padding: 0px 8px 4px 8px;
-	color: #555;
-}
-
-.memSeparator {
-        border-bottom: 1px solid #DEE4F0;
-        line-height: 1px;
-        margin: 0px;
-        padding: 0px;
-}
-
-.memItemLeft, .memTemplItemLeft {
-        white-space: nowrap;
-}
-
-.memItemRight {
-	width: 100%;
-}
-
-.memTemplParams {
-	color: #747474;
-        white-space: nowrap;
-	font-size: 80%;
-}
-
-/* @end */
-
-/* @group Member Details */
-
-/* Styles for detailed member documentation */
-
-.memtemplate {
-	font-size: 80%;
-	color: #747474;
-	font-weight: normal;
-	margin-left: 9px;
-}
-
-.memnav {
-	background-color: #F1F1F1;
-	border: 1px solid #BDBDBD;
-	text-align: center;
-	margin: 2px;
-	margin-right: 15px;
-	padding: 2px;
-}
-
-.mempage {
-	width: 100%;
-}
-
-.memitem {
-	padding: 0;
-	margin-bottom: 10px;
-	margin-right: 5px;
-        -webkit-transition: box-shadow 0.5s linear;
-        -moz-transition: box-shadow 0.5s linear;
-        -ms-transition: box-shadow 0.5s linear;
-        -o-transition: box-shadow 0.5s linear;
-        transition: box-shadow 0.5s linear;
-        display: table !important;
-        width: 100%;
-}
-
-.memitem.glow {
-         box-shadow: 0 0 15px cyan;
-}
-
-.memname {
-        font-weight: bold;
-        margin-left: 6px;
-}
-
-.memname td {
-	vertical-align: bottom;
-}
-
-.memproto, dl.reflist dt {
-        border-top: 1px solid #C0C0C0;
-        border-left: 1px solid #C0C0C0;
-        border-right: 1px solid #C0C0C0;
-        padding: 6px 0px 6px 0px;
-        color: #3D3D3D;
-        font-weight: bold;
-        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
-        background-image:url('nav_f.png');
-        background-repeat:repeat-x;
-        background-color: #EAEAEA;
-        /* opera specific markup */
-        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-        border-top-right-radius: 4px;
-        border-top-left-radius: 4px;
-        /* firefox specific markup */
-        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-        -moz-border-radius-topright: 4px;
-        -moz-border-radius-topleft: 4px;
-        /* webkit specific markup */
-        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-        -webkit-border-top-right-radius: 4px;
-        -webkit-border-top-left-radius: 4px;
-
-}
-
-.memdoc, dl.reflist dd {
-        border-bottom: 1px solid #C0C0C0;      
-        border-left: 1px solid #C0C0C0;      
-        border-right: 1px solid #C0C0C0; 
-        padding: 6px 10px 2px 10px;
-        background-color: #FCFCFC;
-        border-top-width: 0;
-        background-image:url('nav_g.png');
-        background-repeat:repeat-x;
-        background-color: #FFFFFF;
-        /* opera specific markup */
-        border-bottom-left-radius: 4px;
-        border-bottom-right-radius: 4px;
-        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-        /* firefox specific markup */
-        -moz-border-radius-bottomleft: 4px;
-        -moz-border-radius-bottomright: 4px;
-        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-        /* webkit specific markup */
-        -webkit-border-bottom-left-radius: 4px;
-        -webkit-border-bottom-right-radius: 4px;
-        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-}
-
-dl.reflist dt {
-        padding: 5px;
-}
-
-dl.reflist dd {
-        margin: 0px 0px 10px 0px;
-        padding: 5px;
-}
-
-.paramkey {
-	text-align: right;
-}
-
-.paramtype {
-	white-space: nowrap;
-}
-
-.paramname {
-	color: #602020;
-	white-space: nowrap;
-}
-.paramname em {
-	font-style: normal;
-}
-.paramname code {
-        line-height: 14px;
-}
-
-.params, .retval, .exception, .tparams {
-        margin-left: 0px;
-        padding-left: 0px;
-}       
-
-.params .paramname, .retval .paramname {
-        font-weight: bold;
-        vertical-align: top;
-}
-        
-.params .paramtype {
-        font-style: italic;
-        vertical-align: top;
-}       
-        
-.params .paramdir {
-        font-family: "courier new",courier,monospace;
-        vertical-align: top;
-}
-
-table.mlabels {
-	border-spacing: 0px;
-}
-
-td.mlabels-left {
-	width: 100%;
-	padding: 0px;
-}
-
-td.mlabels-right {
-	vertical-align: bottom;
-	padding: 0px;
-	white-space: nowrap;
-}
-
-span.mlabels {
-        margin-left: 8px;
-}
-
-span.mlabel {
-        background-color: #9A9A9A;
-        border-top:1px solid #848484;
-        border-left:1px solid #848484;
-        border-right:1px solid #D5D5D5;
-        border-bottom:1px solid #D5D5D5;
-	text-shadow: none;
-	color: white;
-	margin-right: 4px;
-	padding: 2px 3px;
-	border-radius: 3px;
-	font-size: 7pt;
-	white-space: nowrap;
-	vertical-align: middle;
-}
-
-
-
-/* @end */
-
-/* these are for tree view when not used as main index */
-
-div.directory {
-        margin: 10px 0px;
-        border-top: 1px solid #A8B8D9;
-        border-bottom: 1px solid #A8B8D9;
-        width: 100%;
-}
-
-.directory table {
-        border-collapse:collapse;
-}
-
-.directory td {
-        margin: 0px;
-        padding: 0px;
-	vertical-align: top;
-}
-
-.directory td.entry {
-        white-space: nowrap;
-        padding-right: 6px;
-	padding-top: 3px;
-}
-
-.directory td.entry a {
-        outline:none;
-}
-
-.directory td.entry a img {
-        border: none;
-}
-
-.directory td.desc {
-        width: 100%;
-        padding-left: 6px;
-	padding-right: 6px;
-	padding-top: 3px;
-	border-left: 1px solid rgba(0,0,0,0.05);
-}
-
-.directory tr.even {
-	padding-left: 6px;
-	background-color: #F9F9F9;
-}
-
-.directory img {
-	vertical-align: -30%;
-}
-
-.directory .levels {
-        white-space: nowrap;
-        width: 100%;
-        text-align: right;
-        font-size: 9pt;
-}
-
-.directory .levels span {
-        cursor: pointer;
-        padding-left: 2px;
-        padding-right: 2px;
-	color: #646464;
-}
-
-div.dynheader {
-        margin-top: 8px;
-	-webkit-touch-callout: none;
-	-webkit-user-select: none;
-	-khtml-user-select: none;
-	-moz-user-select: none;
-	-ms-user-select: none;
-	user-select: none;
-}
-
-address {
-	font-style: normal;
-	color: #464646;
-}
-
-table.doxtable {
-	border-collapse:collapse;
-        margin-top: 4px;
-        margin-bottom: 4px;
-}
-
-table.doxtable td, table.doxtable th {
-	border: 1px solid #4A4A4A;
-	padding: 3px 7px 2px;
-}
-
-table.doxtable th {
-	background-color: #5B5B5B;
-	color: #FFFFFF;
-	font-size: 110%;
-	padding-bottom: 4px;
-	padding-top: 5px;
-}
-
-table.fieldtable {
-        /*width: 100%;*/
-        margin-bottom: 10px;
-        border: 1px solid #C0C0C0;
-        border-spacing: 0px;
-        -moz-border-radius: 4px;
-        -webkit-border-radius: 4px;
-        border-radius: 4px;
-        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
-        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
-        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
-}
-
-.fieldtable td, .fieldtable th {
-        padding: 3px 7px 2px;
-}
-
-.fieldtable td.fieldtype, .fieldtable td.fieldname {
-        white-space: nowrap;
-        border-right: 1px solid #C0C0C0;
-        border-bottom: 1px solid #C0C0C0;
-        vertical-align: top;
-}
-
-.fieldtable td.fieldname {
-        padding-top: 3px;
-}
-
-.fieldtable td.fielddoc {
-        border-bottom: 1px solid #C0C0C0;
-        /*width: 100%;*/
-}
-
-.fieldtable td.fielddoc p:first-child {
-        margin-top: 0px;
-}       
-        
-.fieldtable td.fielddoc p:last-child {
-        margin-bottom: 2px;
-}
-
-.fieldtable tr:last-child td {
-        border-bottom: none;
-}
-
-.fieldtable th {
-        background-image:url('nav_f.png');
-        background-repeat:repeat-x;
-        background-color: #EAEAEA;
-        font-size: 90%;
-        color: #3D3D3D;
-        padding-bottom: 4px;
-        padding-top: 5px;
-        text-align:left;
-        -moz-border-radius-topleft: 4px;
-        -moz-border-radius-topright: 4px;
-        -webkit-border-top-left-radius: 4px;
-        -webkit-border-top-right-radius: 4px;
-        border-top-left-radius: 4px;
-        border-top-right-radius: 4px;
-        border-bottom: 1px solid #C0C0C0;
-}
-
-
-.tabsearch {
-	top: 0px;
-	left: 10px;
-	height: 36px;
-	background-image: url('tab_b.png');
-	z-index: 101;
-	overflow: hidden;
-	font-size: 13px;
-}
-
-.navpath ul
-{
-	font-size: 11px;
-	background-image:url('tab_b.png');
-	background-repeat:repeat-x;
-	background-position: 0 -5px;
-	height:30px;
-	line-height:30px;
-	color:#ABABAB;
-	border:solid 1px #D3D3D3;
-	overflow:hidden;
-	margin:0px;
-	padding:0px;
-}
-
-.navpath li
-{
-	list-style-type:none;
-	float:left;
-	padding-left:10px;
-	padding-right:15px;
-	background-image:url('bc_s.png');
-	background-repeat:no-repeat;
-	background-position:right;
-	color:#595959;
-}
-
-.navpath li.navelem a
-{
-	height:32px;
-	display:block;
-	text-decoration: none;
-	outline: none;
-	color: #434343;
-	font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
-	text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
-	text-decoration: none;        
-}
-
-.navpath li.navelem a:hover
-{
-	color:#929292;
-}
-
-.navpath li.footer
-{
-        list-style-type:none;
-        float:right;
-        padding-left:10px;
-        padding-right:15px;
-        background-image:none;
-        background-repeat:no-repeat;
-        background-position:right;
-        color:#595959;
-        font-size: 8pt;
-}
-
-
-div.summary
-{
-	float: right;
-	font-size: 8pt;
-	padding-right: 5px;
-	width: 50%;
-	text-align: right;
-}       
-
-div.summary a
-{
-	white-space: nowrap;
-}
-
-div.ingroups
-{
-	font-size: 8pt;
-	width: 50%;
-	text-align: left;
-}
-
-div.ingroups a
-{
-	white-space: nowrap;
-}
-
-div.header
-{
-        background-image:url('nav_h.png');
-        background-repeat:repeat-x;
-	background-color: #FAFAFA;
-	margin:  0px;
-	border-bottom: 1px solid #D5D5D5;
-}
-
-div.headertitle
-{
-	padding: 5px 5px 5px 10px;
-}
-
-dl
-{
-        padding: 0 0 0 10px;
-}
-
-/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
-dl.section
-{
-	margin-left: 0px;
-	padding-left: 0px;
-}
-
-dl.note
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #D0C000;
-}
-
-dl.warning, dl.attention
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #FF0000;
-}
-
-dl.pre, dl.post, dl.invariant
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #00D000;
-}
-
-dl.deprecated
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #505050;
-}
-
-dl.todo
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #00C0E0;
-}
-
-dl.test
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #3030E0;
-}
-
-dl.bug
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #C08050;
-}
-
-dl.section dd {
-	margin-bottom: 6px;
-}
-
-
-#projectlogo
-{
-	text-align: center;
-	vertical-align: bottom;
-	border-collapse: separate;
-}
- 
-#projectlogo img
-{ 
-	border: 0px none;
-}
- 
-#projectname
-{
-	font: 300% Tahoma, Arial,sans-serif;
-	margin: 0px;
-	padding: 2px 0px;
-}
-    
-#projectbrief
-{
-	font: 120% Tahoma, Arial,sans-serif;
-	margin: 0px;
-	padding: 0px;
-}
-
-#projectnumber
-{
-	font: 50% Tahoma, Arial,sans-serif;
-	margin: 0px;
-	padding: 0px;
-}
-
-#titlearea
-{
-	padding: 0px;
-	margin: 0px;
-	width: 100%;
-	border-bottom: 1px solid #848484;
-}
-
-.image
-{
-        text-align: center;
-}
-
-.dotgraph
-{
-        text-align: center;
-}
-
-.mscgraph
-{
-        text-align: center;
-}
-
-.diagraph
-{
-        text-align: center;
-}
-
-.caption
-{
-	font-weight: bold;
-}
-
-div.zoom
-{
-	border: 1px solid #AFAFAF;
-}
-
-dl.citelist {
-        margin-bottom:50px;
-}
-
-dl.citelist dt {
-        color:#545454;
-        float:left;
-        font-weight:bold;
-        margin-right:10px;
-        padding:5px;
-}
-
-dl.citelist dd {
-        margin:2px 0;
-        padding:5px 0;
-}
-
-div.toc {
-        padding: 14px 25px;
-        background-color: #F7F7F7;
-        border: 1px solid #E3E3E3;
-        border-radius: 7px 7px 7px 7px;
-        float: right;
-        height: auto;
-        margin: 0 20px 10px 10px;
-        width: 200px;
-}
-
-div.toc li {
-        background: url("bdwn.png") no-repeat scroll 0 5px transparent;
-        font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
-        margin-top: 5px;
-        padding-left: 10px;
-        padding-top: 2px;
-}
-
-div.toc h3 {
-        font: bold 12px/1.2 Arial,FreeSans,sans-serif;
-	color: #747474;
-        border-bottom: 0 none;
-        margin: 0;
-}
-
-div.toc ul {
-        list-style: none outside none;
-        border: medium none;
-        padding: 0px;
-}       
-
-div.toc li.level1 {
-        margin-left: 0px;
-}
-
-div.toc li.level2 {
-        margin-left: 15px;
-}
-
-div.toc li.level3 {
-        margin-left: 30px;
-}
-
-div.toc li.level4 {
-        margin-left: 45px;
-}
-
-.inherit_header {
-        font-weight: bold;
-        color: gray;
-        cursor: pointer;
-	-webkit-touch-callout: none;
-	-webkit-user-select: none;
-	-khtml-user-select: none;
-	-moz-user-select: none;
-	-ms-user-select: none;
-	user-select: none;
-}
-
-.inherit_header td {
-        padding: 6px 0px 2px 5px;
-}
-
-.inherit {
-        display: none;
-}
-
-tr.heading h2 {
-        margin-top: 12px;
-        margin-bottom: 4px;
-}
-
-/* tooltip related style info */
-
-.ttc {
-        position: absolute;
-        display: none;
-}
-
-#powerTip {
-	cursor: default;
-	white-space: nowrap;
-	background-color: white;
-	border: 1px solid gray;
-	border-radius: 4px 4px 4px 4px;
-	box-shadow: 1px 1px 7px gray;
-	display: none;
-	font-size: smaller;
-	max-width: 80%;
-	opacity: 0.9;
-	padding: 1ex 1em 1em;
-	position: absolute;
-	z-index: 2147483647;
-}
-
-#powerTip div.ttdoc {
-        color: grey;
-	font-style: italic;
-}
-
-#powerTip div.ttname a {
-        font-weight: bold;
-}
-
-#powerTip div.ttname {
-        font-weight: bold;
-}
-
-#powerTip div.ttdeci {
-        color: #006318;
-}
-
-#powerTip div {
-        margin: 0px;
-        padding: 0px;
-        font: 12px/16px Roboto,sans-serif;
-}
-
-#powerTip:before, #powerTip:after {
-	content: "";
-	position: absolute;
-	margin: 0px;
-}
-
-#powerTip.n:after,  #powerTip.n:before,
-#powerTip.s:after,  #powerTip.s:before,
-#powerTip.w:after,  #powerTip.w:before,
-#powerTip.e:after,  #powerTip.e:before,
-#powerTip.ne:after, #powerTip.ne:before,
-#powerTip.se:after, #powerTip.se:before,
-#powerTip.nw:after, #powerTip.nw:before,
-#powerTip.sw:after, #powerTip.sw:before {
-	border: solid transparent;
-	content: " ";
-	height: 0;
-	width: 0;
-	position: absolute;
-}
-
-#powerTip.n:after,  #powerTip.s:after,
-#powerTip.w:after,  #powerTip.e:after,
-#powerTip.nw:after, #powerTip.ne:after,
-#powerTip.sw:after, #powerTip.se:after {
-	border-color: rgba(255, 255, 255, 0);
-}
-
-#powerTip.n:before,  #powerTip.s:before,
-#powerTip.w:before,  #powerTip.e:before,
-#powerTip.nw:before, #powerTip.ne:before,
-#powerTip.sw:before, #powerTip.se:before {
-	border-color: rgba(128, 128, 128, 0);
-}
-
-#powerTip.n:after,  #powerTip.n:before,
-#powerTip.ne:after, #powerTip.ne:before,
-#powerTip.nw:after, #powerTip.nw:before {
-	top: 100%;
-}
-
-#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
-	border-top-color: #ffffff;
-	border-width: 10px;
-	margin: 0px -10px;
-}
-#powerTip.n:before {
-	border-top-color: #808080;
-	border-width: 11px;
-	margin: 0px -11px;
-}
-#powerTip.n:after, #powerTip.n:before {
-	left: 50%;
-}
-
-#powerTip.nw:after, #powerTip.nw:before {
-	right: 14px;
-}
-
-#powerTip.ne:after, #powerTip.ne:before {
-	left: 14px;
-}
-
-#powerTip.s:after,  #powerTip.s:before,
-#powerTip.se:after, #powerTip.se:before,
-#powerTip.sw:after, #powerTip.sw:before {
-	bottom: 100%;
-}
-
-#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
-	border-bottom-color: #ffffff;
-	border-width: 10px;
-	margin: 0px -10px;
-}
-
-#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
-	border-bottom-color: #808080;
-	border-width: 11px;
-	margin: 0px -11px;
-}
-
-#powerTip.s:after, #powerTip.s:before {
-	left: 50%;
-}
-
-#powerTip.sw:after, #powerTip.sw:before {
-	right: 14px;
-}
-
-#powerTip.se:after, #powerTip.se:before {
-	left: 14px;
-}
-
-#powerTip.e:after, #powerTip.e:before {
-	left: 100%;
-}
-#powerTip.e:after {
-	border-left-color: #ffffff;
-	border-width: 10px;
-	top: 50%;
-	margin-top: -10px;
-}
-#powerTip.e:before {
-	border-left-color: #808080;
-	border-width: 11px;
-	top: 50%;
-	margin-top: -11px;
-}
-
-#powerTip.w:after, #powerTip.w:before {
-	right: 100%;
-}
-#powerTip.w:after {
-	border-right-color: #ffffff;
-	border-width: 10px;
-	top: 50%;
-	margin-top: -10px;
-}
-#powerTip.w:before {
-	border-right-color: #808080;
-	border-width: 11px;
-	top: 50%;
-	margin-top: -11px;
-}
-
-@media print
-{
-  #top { display: none; }
-  #side-nav { display: none; }
-  #nav-path { display: none; }
-  body { overflow:visible; }
-  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
-  .summary { display: none; }
-  .memitem { page-break-inside: avoid; }
-  #doc-content
-  {
-    margin-left:0 !important;
-    height:auto !important;
-    width:auto !important;
-    overflow:inherit;
-    display:inline;
-  }
-}
-
diff --git a/docs/html/ndk/reference/doxygen.png b/docs/html/ndk/reference/doxygen.png
deleted file mode 100644
index da7e8aa..0000000
--- a/docs/html/ndk/reference/doxygen.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/dynsections.js b/docs/html/ndk/reference/dynsections.js
deleted file mode 100644
index ed092c7..0000000
--- a/docs/html/ndk/reference/dynsections.js
+++ /dev/null
@@ -1,97 +0,0 @@
-function toggleVisibility(linkObj)
-{
- var base = $(linkObj).attr('id');
- var summary = $('#'+base+'-summary');
- var content = $('#'+base+'-content');
- var trigger = $('#'+base+'-trigger');
- var src=$(trigger).attr('src');
- if (content.is(':visible')===true) {
-   content.hide();
-   summary.show();
-   $(linkObj).addClass('closed').removeClass('opened');
-   $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
- } else {
-   content.show();
-   summary.hide();
-   $(linkObj).removeClass('closed').addClass('opened');
-   $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
- } 
- return false;
-}
-
-function updateStripes()
-{
-  $('table.directory tr').
-       removeClass('even').filter(':visible:even').addClass('even');
-}
-function toggleLevel(level)
-{
-  $('table.directory tr').each(function(){ 
-    var l = this.id.split('_').length-1;
-    var i = $('#img'+this.id.substring(3));
-    var a = $('#arr'+this.id.substring(3));
-    if (l<level+1) {
-      i.attr('src','ftv2folderopen.png');
-      a.attr('src','ftv2mnode.png');
-      $(this).show();
-    } else if (l==level+1) {
-      i.attr('src','ftv2folderclosed.png');
-      a.attr('src','ftv2pnode.png');
-      $(this).show();
-    } else {
-      $(this).hide();
-    }
-  });
-  updateStripes();
-}
-
-function toggleFolder(id)
-{
-  //The clicked row
-  var currentRow = $('#row_'+id);
-  var currentRowImages = currentRow.find("img");
-
-  //All rows after the clicked row
-  var rows = currentRow.nextAll("tr");
-
-  //Only match elements AFTER this one (can't hide elements before)
-  var childRows = rows.filter(function() {
-    var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
-    return this.id.match(re);
-  });
-
-  //First row is visible we are HIDING
-  if (childRows.filter(':first').is(':visible')===true) {
-    currentRowImages.filter("[id^=arr]").attr('src', 'ftv2pnode.png');
-    currentRowImages.filter("[id^=img]").attr('src', 'ftv2folderclosed.png');
-    rows.filter("[id^=row_"+id+"]").hide();
-  } else { //We are SHOWING
-    //All sub images
-    var childImages = childRows.find("img");
-    var childImg = childImages.filter("[id^=img]");
-    var childArr = childImages.filter("[id^=arr]");
-
-    currentRow.find("[id^=arr]").attr('src', 'ftv2mnode.png'); //open row
-    currentRow.find("[id^=img]").attr('src', 'ftv2folderopen.png'); //open row
-    childImg.attr('src','ftv2folderclosed.png'); //children closed
-    childArr.attr('src','ftv2pnode.png'); //children closed
-    childRows.show(); //show all children
-  }
-  updateStripes();
-}
-
-
-function toggleInherit(id)
-{
-  var rows = $('tr.inherit.'+id);
-  var img = $('tr.inherit_header.'+id+' img');
-  var src = $(img).attr('src');
-  if (rows.filter(':first').is(':visible')===true) {
-    rows.css('display','none');
-    $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
-  } else {
-    rows.css('display','table-row'); // using show() causes jump in firefox
-    $(img).attr('src',src.substring(0,src.length-10)+'open.png');
-  }
-}
-
diff --git a/docs/html/ndk/reference/files.jd b/docs/html/ndk/reference/files.jd
deleted file mode 100644
index 1144d5bb..0000000
--- a/docs/html/ndk/reference/files.jd
+++ /dev/null
@@ -1,30 +0,0 @@
-page.title=File List
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">File List</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
-<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="asset__manager_8h.html" target="_self">asset_manager.h</a></td><td class="desc"></td></tr>
-<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="asset__manager__jni_8h.html" target="_self">asset_manager_jni.h</a></td><td class="desc"></td></tr>
-<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="bitmap_8h.html" target="_self">bitmap.h</a></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="configuration_8h.html" target="_self">configuration.h</a></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="input_8h.html" target="_self">input.h</a></td><td class="desc"></td></tr>
-<tr id="row_5_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="keycodes_8h.html" target="_self">keycodes.h</a></td><td class="desc"></td></tr>
-<tr id="row_6_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="looper_8h.html" target="_self">looper.h</a></td><td class="desc"></td></tr>
-<tr id="row_7_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="native__activity_8h.html" target="_self">native_activity.h</a></td><td class="desc"></td></tr>
-<tr id="row_8_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="native__window_8h.html" target="_self">native_window.h</a></td><td class="desc"></td></tr>
-<tr id="row_9_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="native__window__jni_8h.html" target="_self">native_window_jni.h</a></td><td class="desc"></td></tr>
-<tr id="row_10_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="obb_8h.html" target="_self">obb.h</a></td><td class="desc"></td></tr>
-<tr id="row_11_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rect_8h.html" target="_self">rect.h</a></td><td class="desc"></td></tr>
-<tr id="row_12_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="sensor_8h.html" target="_self">sensor.h</a></td><td class="desc"></td></tr>
-<tr id="row_13_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="storage__manager_8h.html" target="_self">storage_manager.h</a></td><td class="desc"></td></tr>
-<tr id="row_14_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="window_8h.html" target="_self">window.h</a></td><td class="desc"></td></tr>
-</table>
-</div><!-- directory -->
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/ftv2blank.png b/docs/html/ndk/reference/ftv2blank.png
deleted file mode 100644
index 63c605b..0000000
--- a/docs/html/ndk/reference/ftv2blank.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2cl.png b/docs/html/ndk/reference/ftv2cl.png
deleted file mode 100644
index d660c7b..0000000
--- a/docs/html/ndk/reference/ftv2cl.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2doc.png b/docs/html/ndk/reference/ftv2doc.png
deleted file mode 100644
index 7f92e54..0000000
--- a/docs/html/ndk/reference/ftv2doc.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2folderclosed.png b/docs/html/ndk/reference/ftv2folderclosed.png
deleted file mode 100644
index 359f207..0000000
--- a/docs/html/ndk/reference/ftv2folderclosed.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2folderopen.png b/docs/html/ndk/reference/ftv2folderopen.png
deleted file mode 100644
index c5103ed..0000000
--- a/docs/html/ndk/reference/ftv2folderopen.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2lastnode.png b/docs/html/ndk/reference/ftv2lastnode.png
deleted file mode 100644
index 63c605b..0000000
--- a/docs/html/ndk/reference/ftv2lastnode.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2link.png b/docs/html/ndk/reference/ftv2link.png
deleted file mode 100644
index 7f92e54..0000000
--- a/docs/html/ndk/reference/ftv2link.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2mlastnode.png b/docs/html/ndk/reference/ftv2mlastnode.png
deleted file mode 100644
index 9d1437d..0000000
--- a/docs/html/ndk/reference/ftv2mlastnode.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2mnode.png b/docs/html/ndk/reference/ftv2mnode.png
deleted file mode 100644
index 9d1437d..0000000
--- a/docs/html/ndk/reference/ftv2mnode.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2mo.png b/docs/html/ndk/reference/ftv2mo.png
deleted file mode 100644
index e2513ee..0000000
--- a/docs/html/ndk/reference/ftv2mo.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2node.png b/docs/html/ndk/reference/ftv2node.png
deleted file mode 100644
index 63c605b..0000000
--- a/docs/html/ndk/reference/ftv2node.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2ns.png b/docs/html/ndk/reference/ftv2ns.png
deleted file mode 100644
index c61a541..0000000
--- a/docs/html/ndk/reference/ftv2ns.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2plastnode.png b/docs/html/ndk/reference/ftv2plastnode.png
deleted file mode 100644
index a2fffb6..0000000
--- a/docs/html/ndk/reference/ftv2plastnode.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2pnode.png b/docs/html/ndk/reference/ftv2pnode.png
deleted file mode 100644
index a2fffb6..0000000
--- a/docs/html/ndk/reference/ftv2pnode.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2splitbar.png b/docs/html/ndk/reference/ftv2splitbar.png
deleted file mode 100644
index 343046b..0000000
--- a/docs/html/ndk/reference/ftv2splitbar.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/ftv2vertline.png b/docs/html/ndk/reference/ftv2vertline.png
deleted file mode 100644
index 63c605b..0000000
--- a/docs/html/ndk/reference/ftv2vertline.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/functions.jd b/docs/html/ndk/reference/functions.jd
deleted file mode 100644
index fade0d5..0000000
--- a/docs/html/ndk/reference/functions.jd
+++ /dev/null
@@ -1,327 +0,0 @@
-page.title=Data Fields
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div>
-
-<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
-<li>acceleration
-: <a class="el" href="struct_a_sensor_event.html#aab1f50881089166ff5f3d46f7bfcf09c">ASensorEvent</a>
-</li>
-<li>assetManager
-: <a class="el" href="struct_a_native_activity.html#a0f76f065768b8f896ce47a3089fb438d">ANativeActivity</a>
-</li>
-<li>azimuth
-: <a class="el" href="struct_a_sensor_vector.html#a01b03ebfa7d0a95760e743f611fecbc5">ASensorVector</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
-<li>bias
-: <a class="el" href="struct_a_uncalibrated_event.html#a52bd7f09c4decadcfbc0347fda4163d6">AUncalibratedEvent</a>
-</li>
-<li>bits
-: <a class="el" href="struct_a_native_window___buffer.html#a089d8e968fac54a9e45f059b8b78cf9b">ANativeWindow_Buffer</a>
-</li>
-<li>bottom
-: <a class="el" href="struct_a_rect.html#a4479860c72ca8e96ac4fb1cc149dd71b">ARect</a>
-</li>
-<li>bpm
-: <a class="el" href="struct_a_heart_rate_event.html#ab0560092cbaa233e74bb0d543a85965d">AHeartRateEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
-<li>callbacks
-: <a class="el" href="struct_a_native_activity.html#af96995a13e77baf0d71c37d20c79ad51">ANativeActivity</a>
-</li>
-<li>clazz
-: <a class="el" href="struct_a_native_activity.html#ab10b01c3c23c4ddb9d2ddadd71b03c94">ANativeActivity</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
-<li>data
-: <a class="el" href="struct_a_sensor_event.html#a31244897a6c7f657a9aec807dd1e09ae">ASensorEvent</a>
-</li>
-<li>distance
-: <a class="el" href="struct_a_sensor_event.html#a06f14a9abd47b91465f895d5259cdc1b">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
-<li>env
-: <a class="el" href="struct_a_native_activity.html#ae6f0d0cd46e56b7e299b489cb60dd27e">ANativeActivity</a>
-</li>
-<li>externalDataPath
-: <a class="el" href="struct_a_native_activity.html#a2a61553b2f660ea8b57fcc2b495e109f">ANativeActivity</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
-<li>flags
-: <a class="el" href="struct_android_bitmap_info.html#a773b39d480759f67926cb18ae2219281">AndroidBitmapInfo</a>
-, <a class="el" href="struct_a_sensor_event.html#a773b39d480759f67926cb18ae2219281">ASensorEvent</a>
-</li>
-<li>format
-: <a class="el" href="struct_a_native_window___buffer.html#a49d503b84d084937e3ceeda9f0b4659e">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_android_bitmap_info.html#a49d503b84d084937e3ceeda9f0b4659e">AndroidBitmapInfo</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
-<li>heart_rate
-: <a class="el" href="struct_a_sensor_event.html#a2325abb12f65d7cbceec766e6db506d8">ASensorEvent</a>
-</li>
-<li>height
-: <a class="el" href="struct_a_native_window___buffer.html#a5d8006e753a3e76ff637a4e092bbed71">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_android_bitmap_info.html#a6ad4f820ce4e75cda0686fcaad5168be">AndroidBitmapInfo</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
-<li>instance
-: <a class="el" href="struct_a_native_activity.html#ae1b90392cd257d16fd66a85bac1b08cd">ANativeActivity</a>
-</li>
-<li>internalDataPath
-: <a class="el" href="struct_a_native_activity.html#aa52947cdd1476b95e858d83c0f5b0220">ANativeActivity</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
-<li>left
-: <a class="el" href="struct_a_rect.html#a9ee4ce87784b0ebeaadce132ce7d421f">ARect</a>
-</li>
-<li>light
-: <a class="el" href="struct_a_sensor_event.html#aaf8b2537020ae0b7450785724d77a3e0">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
-<li>magnetic
-: <a class="el" href="struct_a_sensor_event.html#a776bc8e3beff52764ef2d6d423563d64">ASensorEvent</a>
-</li>
-<li>meta_data
-: <a class="el" href="struct_a_sensor_event.html#a40a6e69697a42e0f0ad04a09d7f113d3">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
-<li>obbPath
-: <a class="el" href="struct_a_native_activity.html#a0aff284eb9ab311d81f20955258798cf">ANativeActivity</a>
-</li>
-<li>onConfigurationChanged
-: <a class="el" href="struct_a_native_activity_callbacks.html#a2926b45334319089e4e25fbc86d74c3f">ANativeActivityCallbacks</a>
-</li>
-<li>onContentRectChanged
-: <a class="el" href="struct_a_native_activity_callbacks.html#a61d30a43b3c77b6047afe951706f6a1e">ANativeActivityCallbacks</a>
-</li>
-<li>onDestroy
-: <a class="el" href="struct_a_native_activity_callbacks.html#a45598ebed3d15847b4f97acb9e15076e">ANativeActivityCallbacks</a>
-</li>
-<li>onInputQueueCreated
-: <a class="el" href="struct_a_native_activity_callbacks.html#a17b41ec9bb8b0b9e42d1e269a62a4d59">ANativeActivityCallbacks</a>
-</li>
-<li>onInputQueueDestroyed
-: <a class="el" href="struct_a_native_activity_callbacks.html#a82675193f867bc64180016923b0bb129">ANativeActivityCallbacks</a>
-</li>
-<li>onLowMemory
-: <a class="el" href="struct_a_native_activity_callbacks.html#aac61f647cbd971321c692a74a1136f67">ANativeActivityCallbacks</a>
-</li>
-<li>onNativeWindowCreated
-: <a class="el" href="struct_a_native_activity_callbacks.html#ac997f07e53ba58179a2133e86e5cbd31">ANativeActivityCallbacks</a>
-</li>
-<li>onNativeWindowDestroyed
-: <a class="el" href="struct_a_native_activity_callbacks.html#a150442c0611e8ce24a32a7c805e7c9db">ANativeActivityCallbacks</a>
-</li>
-<li>onNativeWindowRedrawNeeded
-: <a class="el" href="struct_a_native_activity_callbacks.html#a3cad4792af363b9a40599d09afeab56c">ANativeActivityCallbacks</a>
-</li>
-<li>onNativeWindowResized
-: <a class="el" href="struct_a_native_activity_callbacks.html#ab7bd120b8816508561126308f699f116">ANativeActivityCallbacks</a>
-</li>
-<li>onPause
-: <a class="el" href="struct_a_native_activity_callbacks.html#aee8a4dcff234b94d0bf0bc85efea42c2">ANativeActivityCallbacks</a>
-</li>
-<li>onResume
-: <a class="el" href="struct_a_native_activity_callbacks.html#ac2c85491a68e6dece3d82782c1254e73">ANativeActivityCallbacks</a>
-</li>
-<li>onSaveInstanceState
-: <a class="el" href="struct_a_native_activity_callbacks.html#a16a270d24a484a376e28bc6c48fc22a1">ANativeActivityCallbacks</a>
-</li>
-<li>onStart
-: <a class="el" href="struct_a_native_activity_callbacks.html#acda344fd29c2018640a85a585317d92c">ANativeActivityCallbacks</a>
-</li>
-<li>onStop
-: <a class="el" href="struct_a_native_activity_callbacks.html#adefa99d16d11d21bb8a83ba426047605">ANativeActivityCallbacks</a>
-</li>
-<li>onWindowFocusChanged
-: <a class="el" href="struct_a_native_activity_callbacks.html#a620ef54556eac0b2b28d7e6d0644ee4a">ANativeActivityCallbacks</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
-<li>pitch
-: <a class="el" href="struct_a_sensor_vector.html#a282e7d4378d4a18a805b8980295ac86c">ASensorVector</a>
-</li>
-<li>pressure
-: <a class="el" href="struct_a_sensor_event.html#ac870e1249bab4a2a68cc4126761d24ef">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
-<li>relative_humidity
-: <a class="el" href="struct_a_sensor_event.html#ad60830bc80efb7e8a11d6fb25518f55b">ASensorEvent</a>
-</li>
-<li>reserved
-: <a class="el" href="struct_a_native_window___buffer.html#a60cc5aad4013157e2e7434d6de450656">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_a_sensor_vector.html#a72aca6ea6d8153b28ea8f139b932ec3e">ASensorVector</a>
-</li>
-<li>reserved0
-: <a class="el" href="struct_a_sensor_event.html#a3b1869501b35bf41f2ff54de072b6c2c">ASensorEvent</a>
-</li>
-<li>reserved1
-: <a class="el" href="struct_a_sensor_event.html#a3c2ed5a26d302c47f7b3f2dd0bbf7f94">ASensorEvent</a>
-</li>
-<li>right
-: <a class="el" href="struct_a_rect.html#a3d3a4d6bf8bc6c866fa737e11590cc4e">ARect</a>
-</li>
-<li>roll
-: <a class="el" href="struct_a_sensor_vector.html#a26fd84d522945b6038221d9e38c7cc39">ASensorVector</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
-<li>sdkVersion
-: <a class="el" href="struct_a_native_activity.html#a40b4b64be7ecfac23751618313eb610d">ANativeActivity</a>
-</li>
-<li>sensor
-: <a class="el" href="struct_a_meta_data_event.html#a470f19badf179fe205462c060e5175b4">AMetaDataEvent</a>
-, <a class="el" href="struct_a_sensor_event.html#a470f19badf179fe205462c060e5175b4">ASensorEvent</a>
-</li>
-<li>status
-: <a class="el" href="struct_a_heart_rate_event.html#a555c2084e8436de01dc76a23590e8824">AHeartRateEvent</a>
-, <a class="el" href="struct_a_sensor_vector.html#a555c2084e8436de01dc76a23590e8824">ASensorVector</a>
-</li>
-<li>step_counter
-: <a class="el" href="struct_a_sensor_event.html#a2e54280490afc977b11157e387841145">ASensorEvent</a>
-</li>
-<li>stride
-: <a class="el" href="struct_a_native_window___buffer.html#a4438e3445d33be6d33b2c0dbe9c2e0d7">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_android_bitmap_info.html#a981556a4e63b7b6d9f94975c7a8930ab">AndroidBitmapInfo</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
-<li>temperature
-: <a class="el" href="struct_a_sensor_event.html#afc1d28cfbce795d6ea954ebe725241f5">ASensorEvent</a>
-</li>
-<li>timestamp
-: <a class="el" href="struct_a_sensor_event.html#a8a591d341723df9496cda98e225b25b4">ASensorEvent</a>
-</li>
-<li>top
-: <a class="el" href="struct_a_rect.html#ad07137116129d873220209ea65f9d3d4">ARect</a>
-</li>
-<li>type
-: <a class="el" href="struct_a_sensor_event.html#a449e574ed6911881dc55507cb5635c2c">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
-<li>u64
-: <a class="el" href="struct_a_sensor_event.html#a89806d4445310e62ed4b68c9e2698b27">ASensorEvent</a>
-</li>
-<li>uncalib
-: <a class="el" href="struct_a_uncalibrated_event.html#a9c22454e765672782b7198d57a92f5fd">AUncalibratedEvent</a>
-</li>
-<li>uncalibrated_gyro
-: <a class="el" href="struct_a_sensor_event.html#a4e35158edcd83e4651d7083ebdb41bae">ASensorEvent</a>
-</li>
-<li>uncalibrated_magnetic
-: <a class="el" href="struct_a_sensor_event.html#a3c746f01a48fbdefaad12c35be0dd715">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
-<li>v
-: <a class="el" href="struct_a_sensor_vector.html#a9a1a1a00f1e45435cc3001b553000a21">ASensorVector</a>
-</li>
-<li>vector
-: <a class="el" href="struct_a_sensor_event.html#aebf12879fa9b61c671584994ddad9610">ASensorEvent</a>
-</li>
-<li>version
-: <a class="el" href="struct_a_sensor_event.html#a67fae7dd1de9edce3656ed214d20377f">ASensorEvent</a>
-</li>
-<li>vm
-: <a class="el" href="struct_a_native_activity.html#a5e163c28566d4563eafeabd7dcab7eeb">ANativeActivity</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
-<li>what
-: <a class="el" href="struct_a_meta_data_event.html#a397e31e246d23c1be3fa82ca4af8b930">AMetaDataEvent</a>
-</li>
-<li>width
-: <a class="el" href="struct_a_native_window___buffer.html#a395d15e7c2b09961c1bfd1da6179b64c">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_android_bitmap_info.html#a325272ddd9a962f05deb905101d25cbd">AndroidBitmapInfo</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_x"></a>- x -</h3><ul>
-<li>x
-: <a class="el" href="struct_a_sensor_vector.html#ad0da36b2558901e21e7a30f6c227a45e">ASensorVector</a>
-</li>
-<li>x_bias
-: <a class="el" href="struct_a_uncalibrated_event.html#a56c4ea73587a9ea20595cca9bcfe9593">AUncalibratedEvent</a>
-</li>
-<li>x_uncalib
-: <a class="el" href="struct_a_uncalibrated_event.html#ac8b7f8daea042eaa2b86f0bf2160c44a">AUncalibratedEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_y"></a>- y -</h3><ul>
-<li>y
-: <a class="el" href="struct_a_sensor_vector.html#aa4f0d3eebc3c443f9be81bf48561a217">ASensorVector</a>
-</li>
-<li>y_bias
-: <a class="el" href="struct_a_uncalibrated_event.html#a130457eaa905b467bc43fedb02cbb16a">AUncalibratedEvent</a>
-</li>
-<li>y_uncalib
-: <a class="el" href="struct_a_uncalibrated_event.html#a43437dd77e26c6b89ab1c91aeb63fd64">AUncalibratedEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_z"></a>- z -</h3><ul>
-<li>z
-: <a class="el" href="struct_a_sensor_vector.html#af73583b1e980b0aa03f9884812e9fd4d">ASensorVector</a>
-</li>
-<li>z_bias
-: <a class="el" href="struct_a_uncalibrated_event.html#a6e265324293107afbfa9e587941a4036">AUncalibratedEvent</a>
-</li>
-<li>z_uncalib
-: <a class="el" href="struct_a_uncalibrated_event.html#ae677be5f98570cc5a1fd7fddcd8a6841">AUncalibratedEvent</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/functions_vars.jd b/docs/html/ndk/reference/functions_vars.jd
deleted file mode 100644
index 129c7ec..0000000
--- a/docs/html/ndk/reference/functions_vars.jd
+++ /dev/null
@@ -1,327 +0,0 @@
-page.title=Data Fields - Variables
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
-<li>acceleration
-: <a class="el" href="struct_a_sensor_event.html#aab1f50881089166ff5f3d46f7bfcf09c">ASensorEvent</a>
-</li>
-<li>assetManager
-: <a class="el" href="struct_a_native_activity.html#a0f76f065768b8f896ce47a3089fb438d">ANativeActivity</a>
-</li>
-<li>azimuth
-: <a class="el" href="struct_a_sensor_vector.html#a01b03ebfa7d0a95760e743f611fecbc5">ASensorVector</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
-<li>bias
-: <a class="el" href="struct_a_uncalibrated_event.html#a52bd7f09c4decadcfbc0347fda4163d6">AUncalibratedEvent</a>
-</li>
-<li>bits
-: <a class="el" href="struct_a_native_window___buffer.html#a089d8e968fac54a9e45f059b8b78cf9b">ANativeWindow_Buffer</a>
-</li>
-<li>bottom
-: <a class="el" href="struct_a_rect.html#a4479860c72ca8e96ac4fb1cc149dd71b">ARect</a>
-</li>
-<li>bpm
-: <a class="el" href="struct_a_heart_rate_event.html#ab0560092cbaa233e74bb0d543a85965d">AHeartRateEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
-<li>callbacks
-: <a class="el" href="struct_a_native_activity.html#af96995a13e77baf0d71c37d20c79ad51">ANativeActivity</a>
-</li>
-<li>clazz
-: <a class="el" href="struct_a_native_activity.html#ab10b01c3c23c4ddb9d2ddadd71b03c94">ANativeActivity</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
-<li>data
-: <a class="el" href="struct_a_sensor_event.html#a31244897a6c7f657a9aec807dd1e09ae">ASensorEvent</a>
-</li>
-<li>distance
-: <a class="el" href="struct_a_sensor_event.html#a06f14a9abd47b91465f895d5259cdc1b">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
-<li>env
-: <a class="el" href="struct_a_native_activity.html#ae6f0d0cd46e56b7e299b489cb60dd27e">ANativeActivity</a>
-</li>
-<li>externalDataPath
-: <a class="el" href="struct_a_native_activity.html#a2a61553b2f660ea8b57fcc2b495e109f">ANativeActivity</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
-<li>flags
-: <a class="el" href="struct_android_bitmap_info.html#a773b39d480759f67926cb18ae2219281">AndroidBitmapInfo</a>
-, <a class="el" href="struct_a_sensor_event.html#a773b39d480759f67926cb18ae2219281">ASensorEvent</a>
-</li>
-<li>format
-: <a class="el" href="struct_a_native_window___buffer.html#a49d503b84d084937e3ceeda9f0b4659e">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_android_bitmap_info.html#a49d503b84d084937e3ceeda9f0b4659e">AndroidBitmapInfo</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
-<li>heart_rate
-: <a class="el" href="struct_a_sensor_event.html#a2325abb12f65d7cbceec766e6db506d8">ASensorEvent</a>
-</li>
-<li>height
-: <a class="el" href="struct_a_native_window___buffer.html#a5d8006e753a3e76ff637a4e092bbed71">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_android_bitmap_info.html#a6ad4f820ce4e75cda0686fcaad5168be">AndroidBitmapInfo</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
-<li>instance
-: <a class="el" href="struct_a_native_activity.html#ae1b90392cd257d16fd66a85bac1b08cd">ANativeActivity</a>
-</li>
-<li>internalDataPath
-: <a class="el" href="struct_a_native_activity.html#aa52947cdd1476b95e858d83c0f5b0220">ANativeActivity</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
-<li>left
-: <a class="el" href="struct_a_rect.html#a9ee4ce87784b0ebeaadce132ce7d421f">ARect</a>
-</li>
-<li>light
-: <a class="el" href="struct_a_sensor_event.html#aaf8b2537020ae0b7450785724d77a3e0">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
-<li>magnetic
-: <a class="el" href="struct_a_sensor_event.html#a776bc8e3beff52764ef2d6d423563d64">ASensorEvent</a>
-</li>
-<li>meta_data
-: <a class="el" href="struct_a_sensor_event.html#a40a6e69697a42e0f0ad04a09d7f113d3">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
-<li>obbPath
-: <a class="el" href="struct_a_native_activity.html#a0aff284eb9ab311d81f20955258798cf">ANativeActivity</a>
-</li>
-<li>onConfigurationChanged
-: <a class="el" href="struct_a_native_activity_callbacks.html#a2926b45334319089e4e25fbc86d74c3f">ANativeActivityCallbacks</a>
-</li>
-<li>onContentRectChanged
-: <a class="el" href="struct_a_native_activity_callbacks.html#a61d30a43b3c77b6047afe951706f6a1e">ANativeActivityCallbacks</a>
-</li>
-<li>onDestroy
-: <a class="el" href="struct_a_native_activity_callbacks.html#a45598ebed3d15847b4f97acb9e15076e">ANativeActivityCallbacks</a>
-</li>
-<li>onInputQueueCreated
-: <a class="el" href="struct_a_native_activity_callbacks.html#a17b41ec9bb8b0b9e42d1e269a62a4d59">ANativeActivityCallbacks</a>
-</li>
-<li>onInputQueueDestroyed
-: <a class="el" href="struct_a_native_activity_callbacks.html#a82675193f867bc64180016923b0bb129">ANativeActivityCallbacks</a>
-</li>
-<li>onLowMemory
-: <a class="el" href="struct_a_native_activity_callbacks.html#aac61f647cbd971321c692a74a1136f67">ANativeActivityCallbacks</a>
-</li>
-<li>onNativeWindowCreated
-: <a class="el" href="struct_a_native_activity_callbacks.html#ac997f07e53ba58179a2133e86e5cbd31">ANativeActivityCallbacks</a>
-</li>
-<li>onNativeWindowDestroyed
-: <a class="el" href="struct_a_native_activity_callbacks.html#a150442c0611e8ce24a32a7c805e7c9db">ANativeActivityCallbacks</a>
-</li>
-<li>onNativeWindowRedrawNeeded
-: <a class="el" href="struct_a_native_activity_callbacks.html#a3cad4792af363b9a40599d09afeab56c">ANativeActivityCallbacks</a>
-</li>
-<li>onNativeWindowResized
-: <a class="el" href="struct_a_native_activity_callbacks.html#ab7bd120b8816508561126308f699f116">ANativeActivityCallbacks</a>
-</li>
-<li>onPause
-: <a class="el" href="struct_a_native_activity_callbacks.html#aee8a4dcff234b94d0bf0bc85efea42c2">ANativeActivityCallbacks</a>
-</li>
-<li>onResume
-: <a class="el" href="struct_a_native_activity_callbacks.html#ac2c85491a68e6dece3d82782c1254e73">ANativeActivityCallbacks</a>
-</li>
-<li>onSaveInstanceState
-: <a class="el" href="struct_a_native_activity_callbacks.html#a16a270d24a484a376e28bc6c48fc22a1">ANativeActivityCallbacks</a>
-</li>
-<li>onStart
-: <a class="el" href="struct_a_native_activity_callbacks.html#acda344fd29c2018640a85a585317d92c">ANativeActivityCallbacks</a>
-</li>
-<li>onStop
-: <a class="el" href="struct_a_native_activity_callbacks.html#adefa99d16d11d21bb8a83ba426047605">ANativeActivityCallbacks</a>
-</li>
-<li>onWindowFocusChanged
-: <a class="el" href="struct_a_native_activity_callbacks.html#a620ef54556eac0b2b28d7e6d0644ee4a">ANativeActivityCallbacks</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
-<li>pitch
-: <a class="el" href="struct_a_sensor_vector.html#a282e7d4378d4a18a805b8980295ac86c">ASensorVector</a>
-</li>
-<li>pressure
-: <a class="el" href="struct_a_sensor_event.html#ac870e1249bab4a2a68cc4126761d24ef">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
-<li>relative_humidity
-: <a class="el" href="struct_a_sensor_event.html#ad60830bc80efb7e8a11d6fb25518f55b">ASensorEvent</a>
-</li>
-<li>reserved
-: <a class="el" href="struct_a_native_window___buffer.html#a60cc5aad4013157e2e7434d6de450656">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_a_sensor_vector.html#a72aca6ea6d8153b28ea8f139b932ec3e">ASensorVector</a>
-</li>
-<li>reserved0
-: <a class="el" href="struct_a_sensor_event.html#a3b1869501b35bf41f2ff54de072b6c2c">ASensorEvent</a>
-</li>
-<li>reserved1
-: <a class="el" href="struct_a_sensor_event.html#a3c2ed5a26d302c47f7b3f2dd0bbf7f94">ASensorEvent</a>
-</li>
-<li>right
-: <a class="el" href="struct_a_rect.html#a3d3a4d6bf8bc6c866fa737e11590cc4e">ARect</a>
-</li>
-<li>roll
-: <a class="el" href="struct_a_sensor_vector.html#a26fd84d522945b6038221d9e38c7cc39">ASensorVector</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
-<li>sdkVersion
-: <a class="el" href="struct_a_native_activity.html#a40b4b64be7ecfac23751618313eb610d">ANativeActivity</a>
-</li>
-<li>sensor
-: <a class="el" href="struct_a_meta_data_event.html#a470f19badf179fe205462c060e5175b4">AMetaDataEvent</a>
-, <a class="el" href="struct_a_sensor_event.html#a470f19badf179fe205462c060e5175b4">ASensorEvent</a>
-</li>
-<li>status
-: <a class="el" href="struct_a_heart_rate_event.html#a555c2084e8436de01dc76a23590e8824">AHeartRateEvent</a>
-, <a class="el" href="struct_a_sensor_vector.html#a555c2084e8436de01dc76a23590e8824">ASensorVector</a>
-</li>
-<li>step_counter
-: <a class="el" href="struct_a_sensor_event.html#a2e54280490afc977b11157e387841145">ASensorEvent</a>
-</li>
-<li>stride
-: <a class="el" href="struct_a_native_window___buffer.html#a4438e3445d33be6d33b2c0dbe9c2e0d7">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_android_bitmap_info.html#a981556a4e63b7b6d9f94975c7a8930ab">AndroidBitmapInfo</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
-<li>temperature
-: <a class="el" href="struct_a_sensor_event.html#afc1d28cfbce795d6ea954ebe725241f5">ASensorEvent</a>
-</li>
-<li>timestamp
-: <a class="el" href="struct_a_sensor_event.html#a8a591d341723df9496cda98e225b25b4">ASensorEvent</a>
-</li>
-<li>top
-: <a class="el" href="struct_a_rect.html#ad07137116129d873220209ea65f9d3d4">ARect</a>
-</li>
-<li>type
-: <a class="el" href="struct_a_sensor_event.html#a449e574ed6911881dc55507cb5635c2c">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
-<li>u64
-: <a class="el" href="struct_a_sensor_event.html#a89806d4445310e62ed4b68c9e2698b27">ASensorEvent</a>
-</li>
-<li>uncalib
-: <a class="el" href="struct_a_uncalibrated_event.html#a9c22454e765672782b7198d57a92f5fd">AUncalibratedEvent</a>
-</li>
-<li>uncalibrated_gyro
-: <a class="el" href="struct_a_sensor_event.html#a4e35158edcd83e4651d7083ebdb41bae">ASensorEvent</a>
-</li>
-<li>uncalibrated_magnetic
-: <a class="el" href="struct_a_sensor_event.html#a3c746f01a48fbdefaad12c35be0dd715">ASensorEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
-<li>v
-: <a class="el" href="struct_a_sensor_vector.html#a9a1a1a00f1e45435cc3001b553000a21">ASensorVector</a>
-</li>
-<li>vector
-: <a class="el" href="struct_a_sensor_event.html#aebf12879fa9b61c671584994ddad9610">ASensorEvent</a>
-</li>
-<li>version
-: <a class="el" href="struct_a_sensor_event.html#a67fae7dd1de9edce3656ed214d20377f">ASensorEvent</a>
-</li>
-<li>vm
-: <a class="el" href="struct_a_native_activity.html#a5e163c28566d4563eafeabd7dcab7eeb">ANativeActivity</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
-<li>what
-: <a class="el" href="struct_a_meta_data_event.html#a397e31e246d23c1be3fa82ca4af8b930">AMetaDataEvent</a>
-</li>
-<li>width
-: <a class="el" href="struct_a_native_window___buffer.html#a395d15e7c2b09961c1bfd1da6179b64c">ANativeWindow_Buffer</a>
-, <a class="el" href="struct_android_bitmap_info.html#a325272ddd9a962f05deb905101d25cbd">AndroidBitmapInfo</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_x"></a>- x -</h3><ul>
-<li>x
-: <a class="el" href="struct_a_sensor_vector.html#ad0da36b2558901e21e7a30f6c227a45e">ASensorVector</a>
-</li>
-<li>x_bias
-: <a class="el" href="struct_a_uncalibrated_event.html#a56c4ea73587a9ea20595cca9bcfe9593">AUncalibratedEvent</a>
-</li>
-<li>x_uncalib
-: <a class="el" href="struct_a_uncalibrated_event.html#ac8b7f8daea042eaa2b86f0bf2160c44a">AUncalibratedEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_y"></a>- y -</h3><ul>
-<li>y
-: <a class="el" href="struct_a_sensor_vector.html#aa4f0d3eebc3c443f9be81bf48561a217">ASensorVector</a>
-</li>
-<li>y_bias
-: <a class="el" href="struct_a_uncalibrated_event.html#a130457eaa905b467bc43fedb02cbb16a">AUncalibratedEvent</a>
-</li>
-<li>y_uncalib
-: <a class="el" href="struct_a_uncalibrated_event.html#a43437dd77e26c6b89ab1c91aeb63fd64">AUncalibratedEvent</a>
-</li>
-</ul>
-
-
-<h3><a class="anchor" id="index_z"></a>- z -</h3><ul>
-<li>z
-: <a class="el" href="struct_a_sensor_vector.html#af73583b1e980b0aa03f9884812e9fd4d">ASensorVector</a>
-</li>
-<li>z_bias
-: <a class="el" href="struct_a_uncalibrated_event.html#a6e265324293107afbfa9e587941a4036">AUncalibratedEvent</a>
-</li>
-<li>z_uncalib
-: <a class="el" href="struct_a_uncalibrated_event.html#ae677be5f98570cc5a1fd7fddcd8a6841">AUncalibratedEvent</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals.jd b/docs/html/ndk/reference/globals.jd
deleted file mode 100644
index cb6dc11..0000000
--- a/docs/html/ndk/reference/globals.jd
+++ /dev/null
@@ -1,2294 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
-<li>AAsset
-: <a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">asset_manager.h</a>
-</li>
-<li>AAsset_close()
-: <a class="el" href="group___asset.html#ga1f241e49f691dafcada23bcb76155122">asset_manager.h</a>
-</li>
-<li>AAsset_getBuffer()
-: <a class="el" href="group___asset.html#ga553a14512a98542306238c3ce70d344f">asset_manager.h</a>
-</li>
-<li>AAsset_getLength()
-: <a class="el" href="group___asset.html#gaad8ec42e28522ebc72d3a5c357f9a600">asset_manager.h</a>
-</li>
-<li>AAsset_getLength64()
-: <a class="el" href="group___asset.html#ga55c8bc459327d5d23089e6a4b453f3f1">asset_manager.h</a>
-</li>
-<li>AAsset_getRemainingLength()
-: <a class="el" href="group___asset.html#gae806f55cbc4a93ca245f2adfd63d3eee">asset_manager.h</a>
-</li>
-<li>AAsset_getRemainingLength64()
-: <a class="el" href="group___asset.html#ga21e7221d88dcc44106843192b66755b5">asset_manager.h</a>
-</li>
-<li>AAsset_isAllocated()
-: <a class="el" href="group___asset.html#ga20344cb952a77fa1004f592fb1b55124">asset_manager.h</a>
-</li>
-<li>AASSET_MODE_BUFFER
-: <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba40ec098f4afb7c2869fa449d3059f6bb">asset_manager.h</a>
-</li>
-<li>AASSET_MODE_RANDOM
-: <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba88e1b2a920963d7596735fe28bf30e2f">asset_manager.h</a>
-</li>
-<li>AASSET_MODE_STREAMING
-: <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55bac76f5fdb953097efc04e534474a7ea74">asset_manager.h</a>
-</li>
-<li>AASSET_MODE_UNKNOWN
-: <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba5bf76576f07042f965f230086f7c09f4">asset_manager.h</a>
-</li>
-<li>AAsset_openFileDescriptor()
-: <a class="el" href="group___asset.html#ga1af4ffd050016e99961e24f550981677">asset_manager.h</a>
-</li>
-<li>AAsset_openFileDescriptor64()
-: <a class="el" href="group___asset.html#ga123a44a575f85d91a00a8456dab7bd0a">asset_manager.h</a>
-</li>
-<li>AAsset_read()
-: <a class="el" href="group___asset.html#gaadd86322c1fda5121b6d33745c317fb9">asset_manager.h</a>
-</li>
-<li>AAsset_seek()
-: <a class="el" href="group___asset.html#gacc026a8bedeb1ef80bf12df3b72611a2">asset_manager.h</a>
-</li>
-<li>AAsset_seek64()
-: <a class="el" href="group___asset.html#ga81fbe4368de24a3296ef7a6eba0053c7">asset_manager.h</a>
-</li>
-<li>AAssetDir
-: <a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">asset_manager.h</a>
-</li>
-<li>AAssetDir_close()
-: <a class="el" href="group___asset.html#gace1c4d0da274d643c5b10ca218cc6088">asset_manager.h</a>
-</li>
-<li>AAssetDir_getNextFileName()
-: <a class="el" href="group___asset.html#ga4703b9f7baa3daeba248b6547de6b9b0">asset_manager.h</a>
-</li>
-<li>AAssetDir_rewind()
-: <a class="el" href="group___asset.html#ga45db6d19ad5e1c0f9b2e6b4059da14b3">asset_manager.h</a>
-</li>
-<li>AAssetManager
-: <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">asset_manager.h</a>
-</li>
-<li>AAssetManager_fromJava()
-: <a class="el" href="group___asset.html#gadfd6537af41577735bcaee52120127f4">asset_manager_jni.h</a>
-</li>
-<li>AAssetManager_open()
-: <a class="el" href="group___asset.html#ga0037ce3c10a591fe632f34c1aa62955c">asset_manager.h</a>
-</li>
-<li>AAssetManager_openDir()
-: <a class="el" href="group___asset.html#gab5b57ff012d6d1024d8bf5d30aedced4">asset_manager.h</a>
-</li>
-<li>AConfiguration
-: <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">configuration.h</a>
-</li>
-<li>AConfiguration_copy()
-: <a class="el" href="group___configuration.html#gaabff04218a0a76afb8d3ea551b001565">configuration.h</a>
-</li>
-<li>AConfiguration_delete()
-: <a class="el" href="group___configuration.html#ga60fe264b97da84d3370eb9e220159e6d">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ace87b4f25e5fd6fe0f3316d21ecc66a1">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a966a3855351a97ae865264afd74c1534">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_DEFAULT
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae628b2bf594733b7c19ae394616cec6c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_HIGH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5ef4a97dc058235cdfa9fcfe3300c7eb">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_LOW
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a01ddb34b2376422d2323720049eb57f3">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_MEDIUM
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a2511479d7cd574c4b293d535e4dc337e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_NONE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a7c1af92914155c418b99844c6aab33d7">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_TV
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a10e6c3d636f3f6de75de9208913b0d8f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_XHIGH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a38a03b3b1c64725679605d8d479c85a0">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_XXHIGH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad6353daf63778a6ec6f2bd3815d7e6e4">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_XXXHIGH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a2bd04af33e868a77bd4d83e7d70368ec">configuration.h</a>
-</li>
-<li>AConfiguration_diff()
-: <a class="el" href="group___configuration.html#gabfe69b0dccae425a16fe94d084f20402">configuration.h</a>
-</li>
-<li>AConfiguration_fromAssetManager()
-: <a class="el" href="group___configuration.html#ga75e061fd0b4f761e08e43af36508c4f3">configuration.h</a>
-</li>
-<li>AConfiguration_getCountry()
-: <a class="el" href="group___configuration.html#gad2b47f787012a82a67a20e5de5211d46">configuration.h</a>
-</li>
-<li>AConfiguration_getDensity()
-: <a class="el" href="group___configuration.html#ga4c994e0555947340582094c3da32a663">configuration.h</a>
-</li>
-<li>AConfiguration_getKeyboard()
-: <a class="el" href="group___configuration.html#gafd0f76ccd4fe4bda5172b8e0bc6675e4">configuration.h</a>
-</li>
-<li>AConfiguration_getKeysHidden()
-: <a class="el" href="group___configuration.html#ga7a8317ab975f621f3fe62ed1b44f2605">configuration.h</a>
-</li>
-<li>AConfiguration_getLanguage()
-: <a class="el" href="group___configuration.html#ga7b004c13448704afb0ea2040d69468c1">configuration.h</a>
-</li>
-<li>AConfiguration_getLayoutDirection()
-: <a class="el" href="group___configuration.html#ga13dbf2fc9a382c62b391e7de9cf9b468">configuration.h</a>
-</li>
-<li>AConfiguration_getMcc()
-: <a class="el" href="group___configuration.html#ga1e78004237a931086d2ae4bd8324bd30">configuration.h</a>
-</li>
-<li>AConfiguration_getMnc()
-: <a class="el" href="group___configuration.html#ga4783776a4fad4501898472375d781fb9">configuration.h</a>
-</li>
-<li>AConfiguration_getNavHidden()
-: <a class="el" href="group___configuration.html#gafe8d3a9c2f715ea76c8e4a99c2db9eaa">configuration.h</a>
-</li>
-<li>AConfiguration_getNavigation()
-: <a class="el" href="group___configuration.html#gae3ff1541b63f5b9256f7c0ebae372977">configuration.h</a>
-</li>
-<li>AConfiguration_getOrientation()
-: <a class="el" href="group___configuration.html#gaa7d8e3e9871dc925fef3e342a92e4e22">configuration.h</a>
-</li>
-<li>AConfiguration_getScreenHeightDp()
-: <a class="el" href="group___configuration.html#ga9905a4765f8d0d921c476ebce01c7648">configuration.h</a>
-</li>
-<li>AConfiguration_getScreenLong()
-: <a class="el" href="group___configuration.html#gab7d1f5aa59e8fa4db0a1b91bb322034c">configuration.h</a>
-</li>
-<li>AConfiguration_getScreenSize()
-: <a class="el" href="group___configuration.html#ga9d2c1b8731795d8e74be7e23cbc77552">configuration.h</a>
-</li>
-<li>AConfiguration_getScreenWidthDp()
-: <a class="el" href="group___configuration.html#ga61e5fe9612c170c33e1c7e9fb92f2219">configuration.h</a>
-</li>
-<li>AConfiguration_getSdkVersion()
-: <a class="el" href="group___configuration.html#ga4aa7062198e5aacd9fabb04d0453dd91">configuration.h</a>
-</li>
-<li>AConfiguration_getSmallestScreenWidthDp()
-: <a class="el" href="group___configuration.html#ga7fc015e41fad342edba66a003d9848aa">configuration.h</a>
-</li>
-<li>AConfiguration_getTouchscreen()
-: <a class="el" href="group___configuration.html#gad305e6cf86fa915c24212e71bb2bf027">configuration.h</a>
-</li>
-<li>AConfiguration_getUiModeNight()
-: <a class="el" href="group___configuration.html#ga447f16a9e4f8400e5e0328900749ff16">configuration.h</a>
-</li>
-<li>AConfiguration_getUiModeType()
-: <a class="el" href="group___configuration.html#ga1d75777892f38208feb3d2a94a977fcf">configuration.h</a>
-</li>
-<li>AConfiguration_isBetterThan()
-: <a class="el" href="group___configuration.html#gafd2bb31057c8d57efcea7603458d2a8d">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a0195de2a57f028a8171c42beff0b0e88">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_12KEY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1aaf1a887f146737030cce95c53066ea">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a593f722738682ae4500dab6427670f4a">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_HIDDEN
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a54e71234e32ed037e2d47472f80eb416">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_NOKEYS
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a40195a1a2d8e21c74d99606d8a1a9918">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_QWERTY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a263ff8efb4d2c757e557adc0d0cdeedf">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYSHIDDEN_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a34d3a830bc2964000052f8486fd76b0c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYSHIDDEN_NO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5abfbfc3a10affed059263555b00429ab2">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYSHIDDEN_SOFT
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1a56b72c730e40f22f3b8727e54c376c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYSHIDDEN_YES
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5e6a5a3f4175644886bde7d0ed4b1ebf">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LAYOUTDIR
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a65834be1230d1694e5ce8a6f407acab2">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LAYOUTDIR_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4687ede31c438dd9f2701cab88de1dbe">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LAYOUTDIR_LTR
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a05242d8f2d254b43ff9414ff1aa38a83">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LAYOUTDIR_RTL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af98332983b787ab9355b527079636870">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LOCALE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a01ecff796bd0690a9a8498c7de03e9b4">configuration.h</a>
-</li>
-<li>AConfiguration_match()
-: <a class="el" href="group___configuration.html#gafb27b901a1d7d44ed866608fb8399a18">configuration.h</a>
-</li>
-<li>ACONFIGURATION_MCC
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4d40f2aef365c78a52f699b89439db28">configuration.h</a>
-</li>
-<li>ACONFIGURATION_MNC
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ade91a319638eede201579d15f86578a5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_MNC_ZERO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aa6cda2f222580dbef27f1277d967d58c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVHIDDEN_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a6db7dd6a67196df88117dcdc904e0cb3">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVHIDDEN_NO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae6ff9883e3e89f8d9ea5c0ebe077c9c5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVHIDDEN_YES
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a79b3a5fe10e948bb79db47b516d46cf5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a65e9d31615d2b4adf3738d9a12a1556b">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a90e914b60d28c081b313f4b7b6600f47">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_DPAD
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ace2e3ed21322100712992ca09f4b75b5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_NONAV
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a3d95e899305aeae366fb7f8d8b6c290a">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_TRACKBALL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad2807d00cb2f5dcb9f456045dd8443a4">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_WHEEL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a80b53370f65ad283a4fd025f36422bea">configuration.h</a>
-</li>
-<li>AConfiguration_new()
-: <a class="el" href="group___configuration.html#ga9543655922980466eb05c7be94a0a567">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a591461d864136d482fe06e01fd945786">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af44cee3290a23999b0358c5638747a5f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION_LAND
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad5746872ff6871379fca93c60bfac8a3">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION_PORT
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad9bf5c1fb90f9fdb20f984d0574592fe">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION_SQUARE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab0ca4fce673baf58447bfeb154d9a03f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREEN_HEIGHT_DP_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab66ad42d0cf72fd7e8cd99b92b625432">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREEN_LAYOUT
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a12d69ffef9135c1c55e1b8b5c2589e7c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREEN_SIZE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a76ca1eb0e9346d93da592afbbf9a3b72">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREEN_WIDTH_DP_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aad653f0c960112177fdc387a4a0577fa">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENLONG_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a41e55e57da42fd09c378f59c1a63710f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENLONG_NO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a428bb8fcd8bc731b67b0773dc62781c5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENLONG_YES
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a91fc014d328507568d225d691b3babfd">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a9abcd34a6c549e048fc75a545081584e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_LARGE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af871d177fdceedb75612cfc1281d2c12">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_NORMAL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a019727e684f25ba921f3479abd62b9f2">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_SMALL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1163af972206a65a5d18bda12fdc511c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_XLARGE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a0ca385ed504fc92f6ff3f0857e916c9c">configuration.h</a>
-</li>
-<li>AConfiguration_setCountry()
-: <a class="el" href="group___configuration.html#gac2f5d414a6466634b1639b5c6f8879ac">configuration.h</a>
-</li>
-<li>AConfiguration_setDensity()
-: <a class="el" href="group___configuration.html#ga9217af9858a7166dcb9a877192779eac">configuration.h</a>
-</li>
-<li>AConfiguration_setKeyboard()
-: <a class="el" href="group___configuration.html#ga4ab3429c5505c108c09349f1ddef572f">configuration.h</a>
-</li>
-<li>AConfiguration_setKeysHidden()
-: <a class="el" href="group___configuration.html#ga5a80a02aa10cfa17de0795054e927183">configuration.h</a>
-</li>
-<li>AConfiguration_setLanguage()
-: <a class="el" href="group___configuration.html#ga1f3c6cf6667655f83777acda7387ddff">configuration.h</a>
-</li>
-<li>AConfiguration_setLayoutDirection()
-: <a class="el" href="group___configuration.html#gaaf47215cf551594f8c2a0594419b47e1">configuration.h</a>
-</li>
-<li>AConfiguration_setMcc()
-: <a class="el" href="group___configuration.html#gae6198b4eaf3e34168f4b13b8b5975d93">configuration.h</a>
-</li>
-<li>AConfiguration_setMnc()
-: <a class="el" href="group___configuration.html#gaaf060ef69c3636f62e90ae0b520eecb8">configuration.h</a>
-</li>
-<li>AConfiguration_setNavHidden()
-: <a class="el" href="group___configuration.html#ga67e86e0347596421771af841710308d5">configuration.h</a>
-</li>
-<li>AConfiguration_setNavigation()
-: <a class="el" href="group___configuration.html#gad21dd14fb823a6a80b66132a05ce8913">configuration.h</a>
-</li>
-<li>AConfiguration_setOrientation()
-: <a class="el" href="group___configuration.html#gadcaa8540bad4172a74032143bcaade04">configuration.h</a>
-</li>
-<li>AConfiguration_setScreenHeightDp()
-: <a class="el" href="group___configuration.html#ga6ffac3b41415ec8a3031737ccdcd63b8">configuration.h</a>
-</li>
-<li>AConfiguration_setScreenLong()
-: <a class="el" href="group___configuration.html#gaed853ab7e2bc915591d05997130bc448">configuration.h</a>
-</li>
-<li>AConfiguration_setScreenSize()
-: <a class="el" href="group___configuration.html#ga7bcf05150933ead34a01061d05ad3245">configuration.h</a>
-</li>
-<li>AConfiguration_setScreenWidthDp()
-: <a class="el" href="group___configuration.html#gafc51d45679095965fe3ba1abd402f120">configuration.h</a>
-</li>
-<li>AConfiguration_setSdkVersion()
-: <a class="el" href="group___configuration.html#ga06c66072902ee455011120188ca4810b">configuration.h</a>
-</li>
-<li>AConfiguration_setSmallestScreenWidthDp()
-: <a class="el" href="group___configuration.html#ga6b004c9585671efc5cebd96c1d43c4f0">configuration.h</a>
-</li>
-<li>AConfiguration_setTouchscreen()
-: <a class="el" href="group___configuration.html#ga0d51dbe710c1afe31ece4dd6a8c188ff">configuration.h</a>
-</li>
-<li>AConfiguration_setUiModeNight()
-: <a class="el" href="group___configuration.html#ga08df1e801afbe4a12411e393b8141e42">configuration.h</a>
-</li>
-<li>AConfiguration_setUiModeType()
-: <a class="el" href="group___configuration.html#gaec61e3cf91cd79e8b76a35bbcb15789d">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SMALLEST_SCREEN_SIZE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5acce415252e0ad95117a05bbe910f06de">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a227120217d8b6a9d5add3ccc4b283702">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a255cfb57ac18d460c5614565a84f5561">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aa73bcf45261366840fea743372682fa6">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN_FINGER
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4bf2a8323ec6d072aa48d5fc2cff645e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN_NOTOUCH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5adfbeb370edd3b4372c9b0f86f152dde0">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN_STYLUS
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a8316a15b06353f883f2aef8bd194f79f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a43a324af59372efd08b34431825cf67e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_NIGHT_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a975087bbd4087b57a68ef3cdbfeb77a1">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_NIGHT_NO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a90ebe564e3a3e384d5b013100f81e4b7">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_NIGHT_YES
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a437af4527fac5407de256ec1ef055046">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a10d0916da7fa88c945a9cda259407d4c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_APPLIANCE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad99004a7a1b2a97d29b639664947f8e3">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_CAR
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5d6575185e41d909469a1dcf5f81bf4f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_DESK
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae10bb854f461f60cf399852f8f327077">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_NORMAL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae7efe2713b6718311da76c828b5b444e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_TELEVISION
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4738dded616f028fbbedcbad764e7969">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_WATCH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ac8c3e2207f2356bc6a1dffc6a615d131">configuration.h</a>
-</li>
-<li>ACONFIGURATION_VERSION
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1be62e4fc31cf3d3102c99f7c6b4c71b">configuration.h</a>
-</li>
-<li>AHeartRateEvent
-: <a class="el" href="group___sensor.html#gae85b6eac76abe74e6e53d78bb3a4858c">sensor.h</a>
-</li>
-<li>AINPUT_EVENT_TYPE_KEY
-: <a class="el" href="group___input.html#gga61dadd085c1777f559549e05962b2c9ea696f0d7635f7a24c17d3f1e4ccdd44ba">input.h</a>
-</li>
-<li>AINPUT_EVENT_TYPE_MOTION
-: <a class="el" href="group___input.html#gga61dadd085c1777f559549e05962b2c9ea2182dfda2cceb5425dcc2823b9b6b56a">input.h</a>
-</li>
-<li>AINPUT_KEYBOARD_TYPE_ALPHABETIC
-: <a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fceaba1f5ab6bc79749ba96a5d2a3af0e574">input.h</a>
-</li>
-<li>AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC
-: <a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fceaf0226d750ea830eb557ae68bd4a1c82a">input.h</a>
-</li>
-<li>AINPUT_KEYBOARD_TYPE_NONE
-: <a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fcea32cb7ce34cdce7095962f0766cc6c3ac">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_ORIENTATION
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaaf9be9c04a41b610d994a3d1d7e90d06d">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_PRESSURE
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa79aca706b12b28d0ab14762902fed31a">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_SIZE
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa46f3a6cf859fb161cd29398d8448c688">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_TOOL_MAJOR
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaaa860f54aa9e5a269dba6a54bbcf3c27c">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_TOOL_MINOR
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa19226f6cf713c1b4d0973a163daf6cf1">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_TOUCH_MAJOR
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa7ead43624c96e165fd8a25e77148aa67">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_TOUCH_MINOR
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa301181a0f20681135c15010b39bb575d">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_X
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa0e5816bc48cdb33f2b488a109596ffe1">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_Y
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaab48108c9450ea1b7cd021be7d8cbc332">input.h</a>
-</li>
-<li>AINPUT_SOURCE_ANY
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ab04317e7dd273ff5c87038df67d9796e">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_BUTTON
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4dacf1bf3d7b3c6e59f907bdffc9b33370e">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_JOYSTICK
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4daaaeffb6442807dd96ec62e9d8a696b57">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_MASK
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4daae438f475d03ea60fd9fb356abd7fa01">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_NAVIGATION
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da078a18d85d078412721c336a879bcc1a">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_NONE
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4dafd6d5e71f09f6452acf017559481444c">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_POINTER
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da7495274e98fb30dee3dfd903b878cf47">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_POSITION
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da682f6982bb55ee809f6acd2deb550167">input.h</a>
-</li>
-<li>AINPUT_SOURCE_DPAD
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ad0fbfeff9f8d57104bff14c70ce5e3ef">input.h</a>
-</li>
-<li>AINPUT_SOURCE_GAMEPAD
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a6417cb50ecd6ade48c708268434a49d3">input.h</a>
-</li>
-<li>AINPUT_SOURCE_JOYSTICK
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25afb28f10dc074e7f7435f5904c513edb5">input.h</a>
-</li>
-<li>AINPUT_SOURCE_KEYBOARD
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a9860918666dd8c0b9d00a8da7af51e6d">input.h</a>
-</li>
-<li>AINPUT_SOURCE_MOUSE
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ae71d3dcbd004bccb6e00fde47097cd86">input.h</a>
-</li>
-<li>AINPUT_SOURCE_STYLUS
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a86d4983c71432b27634ba41a64bffdf9">input.h</a>
-</li>
-<li>AINPUT_SOURCE_TOUCH_NAVIGATION
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a3712c4e4fb8ad7f6ae6e40d48e5c6ee7">input.h</a>
-</li>
-<li>AINPUT_SOURCE_TOUCHPAD
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a7e0715d4b544653ab11893434172a2ef">input.h</a>
-</li>
-<li>AINPUT_SOURCE_TOUCHSCREEN
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a55ea411f927aed8964fa72fec0da444f">input.h</a>
-</li>
-<li>AINPUT_SOURCE_TRACKBALL
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a7e49d9153c86f60f626d7f797f4e78b6">input.h</a>
-</li>
-<li>AINPUT_SOURCE_UNKNOWN
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ae9348bc04cdaa88b5b010f77a4945454">input.h</a>
-</li>
-<li>AInputEvent
-: <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">input.h</a>
-</li>
-<li>AInputEvent_getDeviceId()
-: <a class="el" href="group___input.html#ga9dd3fd81e51dbfde19ab861541242aa1">input.h</a>
-</li>
-<li>AInputEvent_getSource()
-: <a class="el" href="group___input.html#gac90d4b497669dbc709ec9650db4e49be">input.h</a>
-</li>
-<li>AInputEvent_getType()
-: <a class="el" href="group___input.html#ga8292ae06aa8120c52d7380d228600b9c">input.h</a>
-</li>
-<li>AInputQueue
-: <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">input.h</a>
-</li>
-<li>AInputQueue_attachLooper()
-: <a class="el" href="group___input.html#ga900711156bfb58d1a4b158da7874930f">input.h</a>
-</li>
-<li>AInputQueue_detachLooper()
-: <a class="el" href="group___input.html#gaeebe9f83392ac79b31ca40a6fd4dbeff">input.h</a>
-</li>
-<li>AInputQueue_finishEvent()
-: <a class="el" href="group___input.html#ga17e87e0f35d47d729eac31a0dfb1ac33">input.h</a>
-</li>
-<li>AInputQueue_getEvent()
-: <a class="el" href="group___input.html#ga88de12e2b39787ba7d3e4ce2ea46a48c">input.h</a>
-</li>
-<li>AInputQueue_hasEvents()
-: <a class="el" href="group___input.html#ga2b72ad6ab5ef656e8c41163aa7871c96">input.h</a>
-</li>
-<li>AInputQueue_preDispatchEvent()
-: <a class="el" href="group___input.html#gadecd32e6c7aefa4a508b355550d3eaa9">input.h</a>
-</li>
-<li>AKEY_EVENT_ACTION_DOWN
-: <a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635a123c3bd18fd93b53d8aedbe7597f7b49">input.h</a>
-</li>
-<li>AKEY_EVENT_ACTION_MULTIPLE
-: <a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635a08e2d927e155478ee66ec46ebd845ab0">input.h</a>
-</li>
-<li>AKEY_EVENT_ACTION_UP
-: <a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635abf18b7c5384c5de8657a0650f8da57c3">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_CANCELED
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da3198fad5ab75df614bb41f0f602a9e55">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_CANCELED_LONG_PRESS
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2daf09856f03f2fffee9a82cb8e508efb7a">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_EDITOR_ACTION
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dab9dbcf990d1e4405e32f847fdea52013">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_FALLBACK
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da14f574126d2544863fa8042ddd0f48c0">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_FROM_SYSTEM
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dae1e7ec188b2404fadd94cfba89afd5d6">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_KEEP_TOUCH_MODE
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dadc0a063ca412b0ea08474df422bf9b41">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_LONG_PRESS
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da39f9f7bdf2e256db0e2a8a5dfbfb7185">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_SOFT_KEYBOARD
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da7dbb272c7b28be9c084df3446a629f32">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_TRACKING
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da91e70ab527f27a1779f4550d457f1689">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dad4b5eba5b14e4076c69bc7185f2804f8">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_WOKE_HERE
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da6473a1afc0cc39e029c2a217bc57cdba">input.h</a>
-</li>
-<li>AKEY_STATE_DOWN
-: <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04a286ec0a7aff5903a982be0cd6785b62c">input.h</a>
-</li>
-<li>AKEY_STATE_UNKNOWN
-: <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04a9506627d5377c67dbc7fc58804b2cdfd">input.h</a>
-</li>
-<li>AKEY_STATE_UP
-: <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04afa14022f587487c24d401c87e71c8e28">input.h</a>
-</li>
-<li>AKEY_STATE_VIRTUAL
-: <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04ad09fd9fe458ca6c66ead9b9a75c56192">input.h</a>
-</li>
-<li>AKEYCODE_0
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa23f585ea17aeceaad2111c51ab289e79">keycodes.h</a>
-</li>
-<li>AKEYCODE_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabcac88b54f8d764bc4573ecc5b9571b0">keycodes.h</a>
-</li>
-<li>AKEYCODE_11
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa22858c3c30d596ad60f355f75df86e1">keycodes.h</a>
-</li>
-<li>AKEYCODE_12
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa781c31195e55b2dcbdd772560dc61aa5">keycodes.h</a>
-</li>
-<li>AKEYCODE_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2079c6fb75141968b60ed79fe895d6db">keycodes.h</a>
-</li>
-<li>AKEYCODE_3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa40ccc018c0637e4d938e66b789054551">keycodes.h</a>
-</li>
-<li>AKEYCODE_3D_MODE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68d314a5ec06701205cd0097c5c7145c">keycodes.h</a>
-</li>
-<li>AKEYCODE_4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c2d141c3906bd97cfec91443356f7b">keycodes.h</a>
-</li>
-<li>AKEYCODE_5
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0ca99d2be4a3723ba3406944ad623f6e">keycodes.h</a>
-</li>
-<li>AKEYCODE_6
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa72bc6560e24d08ff8f3116dac9179079">keycodes.h</a>
-</li>
-<li>AKEYCODE_7
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa27070499acdb6c527a285b3840ec7bff">keycodes.h</a>
-</li>
-<li>AKEYCODE_8
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa93543b23683b33724ecf77ac5a8c19ab">keycodes.h</a>
-</li>
-<li>AKEYCODE_9
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa31cd4d7c4e59cf7b057b6c248cff516d">keycodes.h</a>
-</li>
-<li>AKEYCODE_A
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa424a091c62d40f5d65908c9730ae9014">keycodes.h</a>
-</li>
-<li>AKEYCODE_ALT_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3dec175158abe8679bedd98ed1bc3e1a">keycodes.h</a>
-</li>
-<li>AKEYCODE_ALT_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd9b6b0846c6999f5df47d29e58ac95d">keycodes.h</a>
-</li>
-<li>AKEYCODE_APOSTROPHE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab5518a8502914ea5f87ef5d29b32b1b1">keycodes.h</a>
-</li>
-<li>AKEYCODE_APP_SWITCH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa53a59a262d6d523bdc2bd30a1e427bad">keycodes.h</a>
-</li>
-<li>AKEYCODE_ASSIST
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d3f036adb654c7752890a283ecbf838">keycodes.h</a>
-</li>
-<li>AKEYCODE_AT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7284f79a266ede479b79726082642e16">keycodes.h</a>
-</li>
-<li>AKEYCODE_AVR_INPUT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa57d42dbd8ea4219f76fb116f234e6504">keycodes.h</a>
-</li>
-<li>AKEYCODE_AVR_POWER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa479d36f9814bd00c8986a252664b938b">keycodes.h</a>
-</li>
-<li>AKEYCODE_B
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa65d3bf8d6a8a6c2f7c1b08394f313758">keycodes.h</a>
-</li>
-<li>AKEYCODE_BACK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeb71c74bf556ba72e9c8f8dcbe5453d0">keycodes.h</a>
-</li>
-<li>AKEYCODE_BACKSLASH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaac90eb064382e3c482ae86abb7b3f701">keycodes.h</a>
-</li>
-<li>AKEYCODE_BOOKMARK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa03ce46d177e020690aa9d26a0fa850ae">keycodes.h</a>
-</li>
-<li>AKEYCODE_BREAK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa047501f9cf9bce00e6048d8759ea3a23">keycodes.h</a>
-</li>
-<li>AKEYCODE_BRIGHTNESS_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7cf1bf3528b6d8a0e86998287fe00650">keycodes.h</a>
-</li>
-<li>AKEYCODE_BRIGHTNESS_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0af6ec416c09d160e364466faa955c36">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa28c72c33ab93d83539d0790b7e48336a">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_10
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7e6f8621909f3461032c33f9c8acaa7">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_11
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab413971c698b6e25d3955667c0142ac1">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_12
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafe4ee1e5446dd12bbb579b412048e79e">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_13
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaabde2ed26594b89d5769eef9f0d1fe6f">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_14
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f08dfd2c30ddedf1d2983680e89041b">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_15
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d8d0fb1a610fdb4e53f0fb675b7d7d0">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_16
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa224370cba99bda2db6a1c82fd2f7fa39">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab8089673fea303c7a299eefd2c327cc3">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa706a5ff492c80b4653e6fe0dcd278ca1">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c425a063bf6976e1ff8ae9f3cfcbe6">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_5
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa47149f963528ec7abe55066abfb7caf5">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_6
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa55057c8cda53a4c539d02ab1a93ca58b">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_7
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac09e0c0cbbf6449bf106e4199600db35">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_8
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaee64b3e0f30ed09e3c9f01b6c8877c3f">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_9
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac8e54092c8be5dc0e114ec35f40e00dc">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_A
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaef2d2ec912aaa9e7215aeab79f7fb086">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_B
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa721765c8f0bbcdb68af06817dbec8e53">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_C
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad622ad5df40d2fdf806abb2adda73b3d">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_L1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa32e159826404c7d76c2a433c24de82a2">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_L2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa36a38421637cfa5ebfd8a0296650cdf4">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_MODE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa19839eebec939407d901a33b75cf2594">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_R1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7c614b3966583b0ad027e45f594ede46">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_R2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa46d487e9fe31855b7b46739bad58fe3e">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_SELECT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa598289bc85f647c237729126ea392a43">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_START
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf3c818d106f4ec793a43749c4c26a8a4">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_THUMBL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68c5d8dcd8fe708ada8f4a4e17feb638">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_THUMBR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9759d817172d268ced1748909a5f5fbe">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_X
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa21174962f95e32cd0345ce657d03ebc7">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_Y
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6654a8b2c700f7783433c86fcdae7919">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_Z
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa06156b68e6de951b44fc662e1b16041f">keycodes.h</a>
-</li>
-<li>AKEYCODE_C
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeed584f454e508ce931bcb33d37adb04">keycodes.h</a>
-</li>
-<li>AKEYCODE_CALCULATOR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa293523c40bb9f1d793cd0b984f636573">keycodes.h</a>
-</li>
-<li>AKEYCODE_CALENDAR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa114be17d1853c77a7406c024d9e4f076">keycodes.h</a>
-</li>
-<li>AKEYCODE_CALL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8b5720ebdd3576c2b536ec9228273d8f">keycodes.h</a>
-</li>
-<li>AKEYCODE_CAMERA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8670880765756933d3d1a10186d39e26">keycodes.h</a>
-</li>
-<li>AKEYCODE_CAPS_LOCK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab9dcb68b35c85d380846c85f323868f1">keycodes.h</a>
-</li>
-<li>AKEYCODE_CAPTIONS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa81ba8d5343362b841b8a62b8679ff994">keycodes.h</a>
-</li>
-<li>AKEYCODE_CHANNEL_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa18f1808c6a819e787c9a9941f78b910f">keycodes.h</a>
-</li>
-<li>AKEYCODE_CHANNEL_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa056914fd17ae539dca44f43745d8e05c">keycodes.h</a>
-</li>
-<li>AKEYCODE_CLEAR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa95bd8c25adeaa570108c7403f08a2901">keycodes.h</a>
-</li>
-<li>AKEYCODE_COMMA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0ca0bfbdc67b2c6f76e8fcaaf782c227">keycodes.h</a>
-</li>
-<li>AKEYCODE_CONTACTS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0aa2cfca11b7cabf82341a9dbec83f10">keycodes.h</a>
-</li>
-<li>AKEYCODE_CTRL_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaaca9d0df6cc18492209eb287e659aeb1">keycodes.h</a>
-</li>
-<li>AKEYCODE_CTRL_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa99b317cf2f1eb6b06d0226e05223e60c">keycodes.h</a>
-</li>
-<li>AKEYCODE_D
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7e4cb3ef66209a2779be2c8239b57b51">keycodes.h</a>
-</li>
-<li>AKEYCODE_DEL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd013221b457d98975dc47e49817e28a">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_CENTER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5e9c93273fd39148f54167133aa5b9ae">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa84b721b13aae56c9f1d3c22b3d81627a">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa668dfb3ed79a37c2c07838c161c1b344">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac6f9d81b6239696a1836695bbfc6a975">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf2fd3133a88f3b6725834032bd74bd9e">keycodes.h</a>
-</li>
-<li>AKEYCODE_DVR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacf2f03b925a02ba6de9fd98737546a60">keycodes.h</a>
-</li>
-<li>AKEYCODE_E
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae218af7ceb207227bb10f0525e68a8d0">keycodes.h</a>
-</li>
-<li>AKEYCODE_EISU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaadd69273b99eb0b848d98b2d6b3ad3234">keycodes.h</a>
-</li>
-<li>AKEYCODE_ENDCALL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaff971957ae3a4e272b21987854e18d9b">keycodes.h</a>
-</li>
-<li>AKEYCODE_ENTER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac784a7bbbfbdab05fab6c6a1f29c98ff">keycodes.h</a>
-</li>
-<li>AKEYCODE_ENVELOPE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaade96efe470f428bb5c4eaea6ffc3681c">keycodes.h</a>
-</li>
-<li>AKEYCODE_EQUALS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0a197df7ec719c95ddcd6836e76c8498">keycodes.h</a>
-</li>
-<li>AKEYCODE_ESCAPE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac52177e5508edacb8e9c6d3a25db4fb6">keycodes.h</a>
-</li>
-<li>AKEYCODE_EXPLORER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaded9ec81ae6dab451665317723b94083">keycodes.h</a>
-</li>
-<li>AKEYCODE_F
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa455f71ecfe59af0fbd901ac0d0a8d53a">keycodes.h</a>
-</li>
-<li>AKEYCODE_F1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3b84f2c503a9e839f3d36e10e3307fcf">keycodes.h</a>
-</li>
-<li>AKEYCODE_F10
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa60660b13acab39282d0558cdcc93474">keycodes.h</a>
-</li>
-<li>AKEYCODE_F11
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa64cc7b1d8e53d90ff57c39d0b5a4dd22">keycodes.h</a>
-</li>
-<li>AKEYCODE_F12
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa491000231e0ba221b6916b1d9d2c9fb7">keycodes.h</a>
-</li>
-<li>AKEYCODE_F2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1360f7ec66aa6421e240dae637262e84">keycodes.h</a>
-</li>
-<li>AKEYCODE_F3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a4ce6105e12a3a9071cae2f40515085">keycodes.h</a>
-</li>
-<li>AKEYCODE_F4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa882050e4d0f917470a5b91fbf6ae9ebf">keycodes.h</a>
-</li>
-<li>AKEYCODE_F5
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab01807c72b46620bb50fcb6abe24d937">keycodes.h</a>
-</li>
-<li>AKEYCODE_F6
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa04a12e81ed80bb42ef5c63cedf0dc60">keycodes.h</a>
-</li>
-<li>AKEYCODE_F7
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9583b8e4b0d994b7e3a193b67cf6020c">keycodes.h</a>
-</li>
-<li>AKEYCODE_F8
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa55ca54d42d8df70de2ce9031db1344c8">keycodes.h</a>
-</li>
-<li>AKEYCODE_F9
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0c8225c0ef98da730933ae914077dbc9">keycodes.h</a>
-</li>
-<li>AKEYCODE_FOCUS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa23be9506f92f6efe14d47306a39a2187">keycodes.h</a>
-</li>
-<li>AKEYCODE_FORWARD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafbf0a16c7746e5dee2fd3adbd50da88a">keycodes.h</a>
-</li>
-<li>AKEYCODE_FORWARD_DEL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9516bc190d37fea27e07ddab0c607b51">keycodes.h</a>
-</li>
-<li>AKEYCODE_FUNCTION
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1764b777aa56605f4029d3c71fe70722">keycodes.h</a>
-</li>
-<li>AKEYCODE_G
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa165067e10464019411f768bba9e533d9">keycodes.h</a>
-</li>
-<li>AKEYCODE_GRAVE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa929561086ae7b519fa962597bc85f171">keycodes.h</a>
-</li>
-<li>AKEYCODE_GUIDE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf33a5fa1f163245360aeed89d64b0233">keycodes.h</a>
-</li>
-<li>AKEYCODE_H
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad89a91a1500cb162f22962781ebfd9dc">keycodes.h</a>
-</li>
-<li>AKEYCODE_HEADSETHOOK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0d3d29515a4815fe8d6d8d3291507a33">keycodes.h</a>
-</li>
-<li>AKEYCODE_HELP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab062b403701292c9e2db96a1f88cc6d9">keycodes.h</a>
-</li>
-<li>AKEYCODE_HENKAN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab0686dd37c57d833d1158b7f1d85ee02">keycodes.h</a>
-</li>
-<li>AKEYCODE_HOME
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa526c2411b7476b7ae579f57a0378b2dd">keycodes.h</a>
-</li>
-<li>AKEYCODE_I
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4d44b5e4a19580540d8d77bf5755d74b">keycodes.h</a>
-</li>
-<li>AKEYCODE_INFO
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17e76263257a5dc654a413c9dc2fd649">keycodes.h</a>
-</li>
-<li>AKEYCODE_INSERT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa62f663d11e91af750a51ddd060b08644">keycodes.h</a>
-</li>
-<li>AKEYCODE_J
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa70c259612ccec117d70afaef947a6a7a">keycodes.h</a>
-</li>
-<li>AKEYCODE_K
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5ce56cf50d3632c275c524bd78d0d932">keycodes.h</a>
-</li>
-<li>AKEYCODE_KANA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa62d090ae5c95a04dacdff79817dad531">keycodes.h</a>
-</li>
-<li>AKEYCODE_KATAKANA_HIRAGANA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3be7db22b3c8aa046a46631e44863c28">keycodes.h</a>
-</li>
-<li>AKEYCODE_L
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab61c534fd0f4e56c4ba13861a2f5982b">keycodes.h</a>
-</li>
-<li>AKEYCODE_LANGUAGE_SWITCH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7b8e87b47c17c5f1e97fcb56faaa26ff">keycodes.h</a>
-</li>
-<li>AKEYCODE_LAST_CHANNEL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa187963dd6f74b96f132f23e01dea35e9">keycodes.h</a>
-</li>
-<li>AKEYCODE_LEFT_BRACKET
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabdeda0d373aa37ef2ded5ffdfc008708">keycodes.h</a>
-</li>
-<li>AKEYCODE_M
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa43b19e5e5234ce90c8e7ef67dd0cabd1">keycodes.h</a>
-</li>
-<li>AKEYCODE_MANNER_MODE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa380279768c5c50d92bef2a88394f967f">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_AUDIO_TRACK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3cdb53cdf8c576e272502da06daa52e1">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_CLOSE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6788c6e1443140b0ec4d004d8293e998">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_EJECT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa317bffd44306b021c401d3a26b82a7f6">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_FAST_FORWARD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa69e648024402af688d490a2041f15bca">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_NEXT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf5a6c3fc963e8163852b9a23e3a198b3">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_PAUSE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f4e0178c2028b3042b0a5948e38e4e4">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_PLAY
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa615cf6202b0ae0ed550f42f6c64b36a1">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_PLAY_PAUSE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa42f8fe71e8d45b5a83d83d80c3da40e1">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_PREVIOUS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa81432c31b00d47f768c29163eb276acb">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_RECORD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17e1eae0b245176aaa024a53411441f9">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_REWIND
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaecd53183b84c23a2ca65670a23674319">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_STOP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac4faa33993d80db1326073ea15a38e7d">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_TOP_MENU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf3ddf83cb2f701911b03c3a738e2e73a">keycodes.h</a>
-</li>
-<li>AKEYCODE_MENU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa707b85e89923b0f760be795972a87d76">keycodes.h</a>
-</li>
-<li>AKEYCODE_META_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaaadfb2d920bbe422c096120d39811c58">keycodes.h</a>
-</li>
-<li>AKEYCODE_META_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68038455e2b0846db51f9957e0df9cb8">keycodes.h</a>
-</li>
-<li>AKEYCODE_MINUS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaca10bd34ad0abecfecace908b8cb92ca">keycodes.h</a>
-</li>
-<li>AKEYCODE_MOVE_END
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5605f49f5271430f5f150efb3cd0398a">keycodes.h</a>
-</li>
-<li>AKEYCODE_MOVE_HOME
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7544f3de2fb5f78bec62af94a32fdc58">keycodes.h</a>
-</li>
-<li>AKEYCODE_MUHENKAN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7321e5c6b3cbab142bd16957653b2ac7">keycodes.h</a>
-</li>
-<li>AKEYCODE_MUSIC
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14508751d70a0404b194d4b6df83ec72">keycodes.h</a>
-</li>
-<li>AKEYCODE_MUTE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f6675d38f50e3556a8531839fd83f02">keycodes.h</a>
-</li>
-<li>AKEYCODE_N
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6c0b26804c89560a9e87c45f7f9fed36">keycodes.h</a>
-</li>
-<li>AKEYCODE_NOTIFICATION
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6115506352a5828532fc6a0b91683331">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUM
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe6e880f65bebbdd5246a4164c4ab37a">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUM_LOCK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad5e349eadd3255c6ad4982dc40ed23ef">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_0
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa343df35e6a0ad0599e19b8ef7174909b">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5c0ec8e42917fa9ac53977db3e6aeb17">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4dfd17c2209908e1ec890e10a3211f89">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa1efe1886a4b472b999215c0e81f7386">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1fdd16681c1441b934f679b94fd0e4f8">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_5
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf5916003e7c737a8cc06e52d2ee76c3b">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_6
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa13b83389e0f5de129227af4b8d3f035d">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_7
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaed9468951ef2887c07c8095c2e7d4c93">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_8
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5f0a300566235720eb93fee9f2196642">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_9
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad0c490e3965df546e2d5a83edf423d95">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_ADD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9d2fefa9a3f6037f48b247e66dd28c35">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_COMMA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa900e3bb0bc4ff70ba786f18ff4db0bd1">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_DIVIDE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaac108b744e8f93af69158d146425236c">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_DOT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6aab6b5914e120b43b3a1a8269e9cee1">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_ENTER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa79432be5f7a44e99ddc3721fd9fd212e">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_EQUALS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c1007a59641499ee5e1508e747c5ed">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_LEFT_PAREN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacc903e9eb495cf6cef7c6bc825f82f54">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_MULTIPLY
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa47ce00b838e7ee0a34066dc2595ac735">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_RIGHT_PAREN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7662e0f2a099239dc69f6a27c7daabf9">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_SUBTRACT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa2bee314dbbea0a349eb301d10256bbe">keycodes.h</a>
-</li>
-<li>AKEYCODE_O
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa249667bc4a59d99be1914535877329fb">keycodes.h</a>
-</li>
-<li>AKEYCODE_P
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac68ef56b78bd0c8626cc68bb6cb9156f">keycodes.h</a>
-</li>
-<li>AKEYCODE_PAGE_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0b7fe1c18f53e6328657858a88826393">keycodes.h</a>
-</li>
-<li>AKEYCODE_PAGE_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4fd0d4ea5b6898f4a40011b97a739a04">keycodes.h</a>
-</li>
-<li>AKEYCODE_PAIRING
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0ecddd3dce52cf60c96c5d430b1f553">keycodes.h</a>
-</li>
-<li>AKEYCODE_PERIOD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9dd68c8ecebd4e274e8c357dcdfe8a04">keycodes.h</a>
-</li>
-<li>AKEYCODE_PICTSYMBOLS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacdc7c004da1594fa156de87befef5f41">keycodes.h</a>
-</li>
-<li>AKEYCODE_PLUS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7f72d867b311e0845aef732dcc66495">keycodes.h</a>
-</li>
-<li>AKEYCODE_POUND
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf448758c44899e41b67f76dfe3be51e9">keycodes.h</a>
-</li>
-<li>AKEYCODE_POWER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabecfbcb9b6f5e85fdfdfa98fbc3326e6">keycodes.h</a>
-</li>
-<li>AKEYCODE_PROG_BLUE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5e82219fdb937fee5a22426c607dd4e0">keycodes.h</a>
-</li>
-<li>AKEYCODE_PROG_GREEN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad50c1e2136e47843a8dabca929f8ead1">keycodes.h</a>
-</li>
-<li>AKEYCODE_PROG_RED
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2d9e3e82e69955f649b586f4518e074c">keycodes.h</a>
-</li>
-<li>AKEYCODE_PROG_YELLOW
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafa813640412bd41a181f0ec3a33dddc4">keycodes.h</a>
-</li>
-<li>AKEYCODE_Q
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa932cf6ea8d87e6d6d97af658dd0fa206">keycodes.h</a>
-</li>
-<li>AKEYCODE_R
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaba25ac2c15a8edbbbff16a9fe6e74532">keycodes.h</a>
-</li>
-<li>AKEYCODE_RIGHT_BRACKET
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa084dfa52626040a08d374f8aec066e6a">keycodes.h</a>
-</li>
-<li>AKEYCODE_RO
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae8b0af04dac5ea56fd55e577fd9e6be4">keycodes.h</a>
-</li>
-<li>AKEYCODE_S
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae1ed25c28a8fce578cddb17ca6888ff6">keycodes.h</a>
-</li>
-<li>AKEYCODE_SCROLL_LOCK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa78ff5c8316235635f76e3c3179e9a7fc">keycodes.h</a>
-</li>
-<li>AKEYCODE_SEARCH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac644fd307fd0ef0d3ed3d2e074c1a4b7">keycodes.h</a>
-</li>
-<li>AKEYCODE_SEMICOLON
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac0a2920161f4f2d97b0b060614b23391">keycodes.h</a>
-</li>
-<li>AKEYCODE_SETTINGS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa2bbd457230c3028df6b91d5bdda9159">keycodes.h</a>
-</li>
-<li>AKEYCODE_SHIFT_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafb9875645596928cec46368e74499dc4">keycodes.h</a>
-</li>
-<li>AKEYCODE_SHIFT_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf9eab1348ae1e8f18ad5bf3c77df4212">keycodes.h</a>
-</li>
-<li>AKEYCODE_SLASH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa54c047be3811d637a33d9b3e39d16e1a">keycodes.h</a>
-</li>
-<li>AKEYCODE_SLEEP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafc077e5a6b447ea060c144f6e65bd207">keycodes.h</a>
-</li>
-<li>AKEYCODE_SOFT_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2dc78d3a93876b77402d2a7f02e4b899">keycodes.h</a>
-</li>
-<li>AKEYCODE_SOFT_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8cadfbfcaaa83fef168de13639adfcae">keycodes.h</a>
-</li>
-<li>AKEYCODE_SPACE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa10389300ac5d70f8d9733564b3cab4e7">keycodes.h</a>
-</li>
-<li>AKEYCODE_STAR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1461fbf54e3dcba96e5d6d0638c18305">keycodes.h</a>
-</li>
-<li>AKEYCODE_STB_INPUT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa988b0372359b2bca7390878fdba9e1b5">keycodes.h</a>
-</li>
-<li>AKEYCODE_STB_POWER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab28aea3a51b11c9f227ce8cd5ff55a3d">keycodes.h</a>
-</li>
-<li>AKEYCODE_SWITCH_CHARSET
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad6a1f88b2cc3b6ff8f1724eb01473ec3">keycodes.h</a>
-</li>
-<li>AKEYCODE_SYM
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6c1c6752d5db5e02da51d8937e5e3c6f">keycodes.h</a>
-</li>
-<li>AKEYCODE_SYSRQ
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14e22c69bcd47ffb4445ee18a4332d84">keycodes.h</a>
-</li>
-<li>AKEYCODE_T
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2feac8b458ef8eb9c0a0dd73766927c2">keycodes.h</a>
-</li>
-<li>AKEYCODE_TAB
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1b1bfda850b2acd0b60e8456e2bfa958">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0776ffae512b4848e53fce762a3a5017">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_ANTENNA_CABLE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe33a80d6d3bf889af25cbd77fdb89f9">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_AUDIO_DESCRIPTION
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa419f0adac43cad104cd6cf83dc5f13f6">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5fca6a9ec1ce246bf3c53d859ac9f5eb">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaccc5900ca5dd399d5ce11dd8ca324678">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_CONTENTS_MENU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4c18feeafff3c41081073c025ee017b8">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_DATA_SERVICE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa954c2251b2cb53f47637802cb66baf06">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa1750b29e396bd1fd237ed4aadacc8f5">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_COMPONENT_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa156e2dba81e7c73624ccf8c2ef8833ae">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_COMPONENT_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8db9b6ee1457267abea03430781bb0ec">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_COMPOSITE_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5c3097f14c6582958ba1d14d70115ccd">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_COMPOSITE_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaada13cbb9d619bc610678ad66325647b9">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_HDMI_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a50de965f50ab3aa42772aac0808445">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_HDMI_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7ec65c008471d771bf879ec012f5c7f">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_HDMI_3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a0f267a2696d15bf16127121b1f1c7f">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_HDMI_4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4437c1d8d2d33058cfa71ec7b2771ec5">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_VGA_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa149b2c8a4817075c0a41e0adf11c8e85">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_MEDIA_CONTEXT_MENU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaadde70071f6a432f367079efa6e1a6fe">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_NETWORK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaec5e46a5afc57953d1772e086307aa42">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_NUMBER_ENTRY
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa630a08e07a3b4c6bcac9a1a72d176055">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_POWER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafda3b0ea1b158831fc443bf4911a3930">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_RADIO_SERVICE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa93dd3fd752701af5a5491e01cc15db72">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_SATELLITE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3707d4396417535a611e4548afe33936">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_SATELLITE_BS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8c52e7d06525c0ee5d943d63a0fa8ea5">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_SATELLITE_CS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4eea1809a9ff679ed7773332d728c6b0">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_SATELLITE_SERVICE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17c0e68066b86610ff168c6367af36eb">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_TELETEXT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d3d7b89756df37f01d6d0f13beff1db">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_TERRESTRIAL_ANALOG
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14f2b6fe8550832ef9e3f9aa53164073">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_TERRESTRIAL_DIGITAL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacad8c149251a78760a5fe4931b9cdf16">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_TIMER_PROGRAMMING
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0293c2a63e4d955080334bef6640840">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_ZOOM_MODE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8e79045045293070c8eb9e408f1335b4">keycodes.h</a>
-</li>
-<li>AKEYCODE_U
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac1a220314f986aae45d7fe3b35501595">keycodes.h</a>
-</li>
-<li>AKEYCODE_UNKNOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa593f8ae18990d627785719284a12a6f">keycodes.h</a>
-</li>
-<li>AKEYCODE_V
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4043bc48fa55cce7825176052d6e199a">keycodes.h</a>
-</li>
-<li>AKEYCODE_VOICE_ASSIST
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa95898663b7f74c93d0b860a43528c744">keycodes.h</a>
-</li>
-<li>AKEYCODE_VOLUME_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a882dae17080d3b5f3329e79db60c66">keycodes.h</a>
-</li>
-<li>AKEYCODE_VOLUME_MUTE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa174a5c7c39753235109696e82870c575">keycodes.h</a>
-</li>
-<li>AKEYCODE_VOLUME_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5b81e325d9efd633eef7535a5b538882">keycodes.h</a>
-</li>
-<li>AKEYCODE_W
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0c80e98547c3daa01f3d9e7f4f00425">keycodes.h</a>
-</li>
-<li>AKEYCODE_WAKEUP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa903c5152d26b3011ae521afa06759429">keycodes.h</a>
-</li>
-<li>AKEYCODE_WINDOW
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe7531c40ff4a31614ff6fd61802ebe8">keycodes.h</a>
-</li>
-<li>AKEYCODE_X
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaec585cebac89004faffbdc28dc6d81c5">keycodes.h</a>
-</li>
-<li>AKEYCODE_Y
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa06fc277ef25acdd89d64c18eed0daa9b">keycodes.h</a>
-</li>
-<li>AKEYCODE_YEN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5ee19d21912056b902e283efa2d9d14b">keycodes.h</a>
-</li>
-<li>AKEYCODE_Z
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7439a09f219a0addc13c758ef7508cce">keycodes.h</a>
-</li>
-<li>AKEYCODE_ZENKAKU_HANKAKU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf782be8df9a8ca5dc86c9bfeabac6f22">keycodes.h</a>
-</li>
-<li>AKEYCODE_ZOOM_IN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacfce9bb78ef8106dce4868f81cca4fb4">keycodes.h</a>
-</li>
-<li>AKEYCODE_ZOOM_OUT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacf035f5234c3df4589f35a50e99e0535">keycodes.h</a>
-</li>
-<li>AKeyEvent_getAction()
-: <a class="el" href="group___input.html#ga36ec0b59f98f86a7ca263ba91279896d">input.h</a>
-</li>
-<li>AKeyEvent_getDownTime()
-: <a class="el" href="group___input.html#gaf475b6f0860bdfca4ceea7bc46eab1a9">input.h</a>
-</li>
-<li>AKeyEvent_getEventTime()
-: <a class="el" href="group___input.html#gae3eac7d68195d1767c947ca267842696">input.h</a>
-</li>
-<li>AKeyEvent_getFlags()
-: <a class="el" href="group___input.html#ga2a18e98efe0c4ccb6f39bb13c555010e">input.h</a>
-</li>
-<li>AKeyEvent_getKeyCode()
-: <a class="el" href="group___input.html#ga6b01ecd60018a5445f4917a861ca9466">input.h</a>
-</li>
-<li>AKeyEvent_getMetaState()
-: <a class="el" href="group___input.html#gabdda62b40b22727af2fb41740bf4787b">input.h</a>
-</li>
-<li>AKeyEvent_getRepeatCount()
-: <a class="el" href="group___input.html#ga5358fe3ebbd4b5b2f88a4ad2eba6f885">input.h</a>
-</li>
-<li>AKeyEvent_getScanCode()
-: <a class="el" href="group___input.html#ga4a0a846b7a195aeb290dfcd2250137d9">input.h</a>
-</li>
-<li>ALooper
-: <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">looper.h</a>
-</li>
-<li>ALooper_acquire()
-: <a class="el" href="group___looper.html#gae1ad7ac48ab01a34bfd25840c92ff07b">looper.h</a>
-</li>
-<li>ALooper_addFd()
-: <a class="el" href="group___looper.html#ga2668285bfadcf21ef4d371568a30be33">looper.h</a>
-</li>
-<li>ALooper_callbackFunc
-: <a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_ERROR
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a14016d8f39373b8ce061276a957960f6">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_HANGUP
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a5e7fb5acdecef18b2c293f6309e5d4ab">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_INPUT
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9ae3d18f8dd1faf6f34468df10667949bc">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_INVALID
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9aefe82c6ce8e02d13aceaebdec15c2aff">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_OUTPUT
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a71273fd07e009057e6e3475d10f8286d">looper.h</a>
-</li>
-<li>ALooper_forThread()
-: <a class="el" href="group___looper.html#ga741ccd90a0eb9209c6bddf2326d89e4a">looper.h</a>
-</li>
-<li>ALOOPER_POLL_CALLBACK
-: <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a64fe936780bfd9927affaf8e8cc81cc2">looper.h</a>
-</li>
-<li>ALOOPER_POLL_ERROR
-: <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409af8ebd4022f6f5d5fea864f6999b7e6b4">looper.h</a>
-</li>
-<li>ALOOPER_POLL_TIMEOUT
-: <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a3fe4eec66dff78a9fa8afca02e8b8443">looper.h</a>
-</li>
-<li>ALOOPER_POLL_WAKE
-: <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a55528f1b28df17cc4b6317cc0d0fde47">looper.h</a>
-</li>
-<li>ALooper_pollAll()
-: <a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">looper.h</a>
-</li>
-<li>ALooper_pollOnce()
-: <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">looper.h</a>
-</li>
-<li>ALooper_prepare()
-: <a class="el" href="group___looper.html#ga1a070b904dd957cc65af9eb5ef6dfa25">looper.h</a>
-</li>
-<li>ALOOPER_PREPARE_ALLOW_NON_CALLBACKS
-: <a class="el" href="group___looper.html#ggaf9bdc3014f3d54c426b6d2df10de4960a1fff26ab5859b0308b58a3f8d58ef1eb">looper.h</a>
-</li>
-<li>ALooper_release()
-: <a class="el" href="group___looper.html#gab723c3c2ac2c66bc695913a194073727">looper.h</a>
-</li>
-<li>ALooper_removeFd()
-: <a class="el" href="group___looper.html#gaf7d68ed05698b251489b4f6c8e54daad">looper.h</a>
-</li>
-<li>ALooper_wake()
-: <a class="el" href="group___looper.html#gab2585652f8ae2e2444979194ebe32aaf">looper.h</a>
-</li>
-<li>AMETA_ALT_LEFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca256c74b768ecee57e3218e81ae6945df">input.h</a>
-</li>
-<li>AMETA_ALT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caba44b1077427e4da1d202e0c8f772881">input.h</a>
-</li>
-<li>AMETA_ALT_RIGHT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca985db074c0f44749ca86b5cc0454056a">input.h</a>
-</li>
-<li>AMETA_CAPS_LOCK_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafc467c98d509b0de28b298801a0c3e37">input.h</a>
-</li>
-<li>AMETA_CTRL_LEFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca752c837afd5ff0fcf75ddee7b6808be6">input.h</a>
-</li>
-<li>AMETA_CTRL_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cabe927318a2a11a46be3e9d78dbd81ef5">input.h</a>
-</li>
-<li>AMETA_CTRL_RIGHT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca0ab007e367ae136b873b3e6636747419">input.h</a>
-</li>
-<li>AMETA_FUNCTION_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca545b31b72b0454c22c170ff534ddfdf1">input.h</a>
-</li>
-<li>AMETA_META_LEFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca6f923de8f2cd72e3ad86149c0747906f">input.h</a>
-</li>
-<li>AMETA_META_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca9c04e7c2ad1f0f41af60402188a29c4a">input.h</a>
-</li>
-<li>AMETA_META_RIGHT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafdf56d1259ae16c97161c443d7949bdf">input.h</a>
-</li>
-<li>AMETA_NONE
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cae0a3cb26517b3f876beb37594494526d">input.h</a>
-</li>
-<li>AMETA_NUM_LOCK_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca15d234534a6870add5594f02b7333dc6">input.h</a>
-</li>
-<li>AMETA_SCROLL_LOCK_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafe8dacdc6566f655a3eab73ea4a9af5a">input.h</a>
-</li>
-<li>AMETA_SHIFT_LEFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caa01fa027cdd8951530437bcbe04c3ed7">input.h</a>
-</li>
-<li>AMETA_SHIFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caa3d5f49c3a55b653a94c798a2c93b197">input.h</a>
-</li>
-<li>AMETA_SHIFT_RIGHT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cac52930581c339216218a6f50c5b57aa1">input.h</a>
-</li>
-<li>AMETA_SYM_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca8af1e90950a728baca807a83e50b22ea">input.h</a>
-</li>
-<li>AMetaDataEvent
-: <a class="el" href="group___sensor.html#ga0378daec23b2d8a70438ef7c3912475f">sensor.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_CANCEL
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a3952b960f5eb8c4f55b42741e286b74e">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_DOWN
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a225e61c48ba334abc1b5811db02edcf1">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_HOVER_ENTER
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a247b2c60ad92f3130ad43c907986ffb3">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_HOVER_EXIT
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600ac00b1eacfbea779863abf3fcf02134aa">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_HOVER_MOVE
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a84bc9fb3c01ff7ca9ee452a510e7de60">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_MASK
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600abf84a22c84d4b7228102b80f3af92a4f">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_MOVE
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a41c56c4e772953fce60c93bc671639a3">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_OUTSIDE
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a7c3c96b74af4c8304b8137ac6d201517">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_POINTER_DOWN
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a1618c641fd3f49fa7483f298d05b3cd2">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_POINTER_INDEX_MASK
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a51384339fbb57c0087f7f50c45d9cff3">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT
-: <a class="el" href="group___input.html#gaeb170c0fbeeed1d999160566f09f169e">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_POINTER_UP
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600af2ef56aa7220eeb2073b9b028737bc1e">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_SCROLL
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a45ba62b1e6fab4e84d5782d7c35ced04">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_UP
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a43798b2b7a6de4616d150b2438b8419e">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_BRAKE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae3a99764f3681dd9e094852bb2489ece">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_DISTANCE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae800909411a1e83173b0eef7aa458d0e">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GAS
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab0223f235a6044815918af2abafcbf16">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_1
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadcc18afd3a7069412617df34db5a27bc">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_10
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da29ba08f4ddc658e0127ee5bc08d185f2">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_11
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafc64a4b307f62bb12b645918aa7edb57">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_12
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae5d32b3e9cec4936ae1e074f320c3063">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_13
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5f19f5bc52e5eaec5ebd4f07aad12180">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_14
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadb866d826ecf25161d7c7f86166e149b">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_15
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da7e86befc8502b8df687284f3c40b2eca">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_16
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daaaa011ba929b18c6da71153638f92336">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_2
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dac4addf06abfa6c76f0578ddde049aad5">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_3
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dac7df57ef5082e10be83f66d7477bce9c">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_4
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da321873d126b7d545665096694cb7d9d9">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_5
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da9b47cef7060197e1b0302a8a718c3085">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_6
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daad7e47a1b5fb66864b6d988374f50a84">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_7
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da222c06f51a60e59504b635dbf89a025b">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_8
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab59a8a373a913e40b146ed762976d6fe">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_9
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da721fa0fbca8b22f1ecc8d3870f4e7443">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_HAT_X
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da04245c76cb9b32dcba920661f11ac9da">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_HAT_Y
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da98c323321d908db459e7cf86a7e8a482">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_HSCROLL
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da92955e6b0f3f82af66a505c854e9edff">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_LTRIGGER
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae4c65c3b1bd2946ff9e18c6041cdb591">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_ORIENTATION
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da114f2b3fc233ccf7a4470787c31457d2">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_PRESSURE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da3b4fd0f17cfdeb6a055babecd2b0ded8">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RTRIGGER
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da116e80c6be166290ca481fefa5de38c1">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RUDDER
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da318a0782f895949407fc192fc4280257">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RX
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da689b612864177d6b57d4181442e3e38e">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RY
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa20188da209300e1f80f6f5bd4058e13">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RZ
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da381948b3321afd390ad164345eb9206b">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_SIZE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da4baba3ccaec881089a864ba6deaf8bd6">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_THROTTLE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da6d1f5d64e607104964eb43d8fae07a4f">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TILT
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafca0a235f69c4b38bfc95e7a7b8d9ab1">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TOOL_MAJOR
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa273d64c392f86ae789fd5e24661ba0a">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TOOL_MINOR
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadebd200b37ffaf36b94e7e478c559142">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TOUCH_MAJOR
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da792b9e01044a2e43e7f80e5559db20c2">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TOUCH_MINOR
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa8b24b0f01f24898a36e5751c8eca63c">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_VSCROLL
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dad11be04b4b81715cad905ee9fa348e99">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_WHEEL
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab0ae83ebd74e672bb35378b92a440b1d">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_X
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5f4b5b009634039a1f361048a5fc6064">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_Y
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da64f7de8558265bd8179d206eb33eff6c">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_Z
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5a689e572da9bc5feafcb6c011368305">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_BACK
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a1841d075a2992ff7fbefa3fd50189b86">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_FORWARD
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a4105edf43f7748c52c859cc5aa7dc438">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_PRIMARY
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8ab388f65477b9dd4c51e6367111168d65">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_SECONDARY
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a08118700ecb4e147528a0e725afc9451">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_TERTIARY
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8ae6e2af1e7065e035e8a10a595827180f">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_BOTTOM
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388ad8b662839787e1c7dd2616f32c02aaeb">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_LEFT
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388afb70c13f16daade25ba8132a5ea3cf52">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_NONE
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a37dd7496968e6defbecc3c8d6ab2734d">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_RIGHT
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a7d45674e03f1876a43d4810508905078">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_TOP
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a915e1ade9b600d11a3c70a17a88de757">input.h</a>
-</li>
-<li>AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED
-: <a class="el" href="group___input.html#ggab04a0655cd1e3bcac5e8f48c18df1a57a200623e1e4eee7797cad30917d289d7a">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_ERASER
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eaf9932f65b5b6b5800fb5873a60dbf0cb">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_FINGER
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eafd789262defb8a268fa80d26b0c30bcc">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_MOUSE
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9ea7be0c750d7d6719e7c948914400ae0de">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_STYLUS
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eaf05dc95a74e560c89cec1f3100185fc7">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_UNKNOWN
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9ea7e1ea0c955ebbac1349866e8995e0208">input.h</a>
-</li>
-<li>AMotionEvent_getAction()
-: <a class="el" href="group___input.html#ga73ea2093cc2343675ac43dd08bef4247">input.h</a>
-</li>
-<li>AMotionEvent_getAxisValue()
-: <a class="el" href="group___input.html#ga9d364cdcebf85237f599b25861f38c21">input.h</a>
-</li>
-<li>AMotionEvent_getButtonState()
-: <a class="el" href="group___input.html#ga1aa7ebb749416491b6f0c55ae87ddf49">input.h</a>
-</li>
-<li>AMotionEvent_getDownTime()
-: <a class="el" href="group___input.html#gad44be7697e68891688cd7bcfaffec209">input.h</a>
-</li>
-<li>AMotionEvent_getEdgeFlags()
-: <a class="el" href="group___input.html#gad7e1f0caa4c27194d4a8756a18432299">input.h</a>
-</li>
-<li>AMotionEvent_getEventTime()
-: <a class="el" href="group___input.html#ga7e13fbf3cff0700b0b620284ebdd3a33">input.h</a>
-</li>
-<li>AMotionEvent_getFlags()
-: <a class="el" href="group___input.html#ga2891d19197c070207098fa48adeb35af">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalAxisValue()
-: <a class="el" href="group___input.html#ga7ca740e1324f3cdb934252dce0c982d0">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalEventTime()
-: <a class="el" href="group___input.html#ga523f1a760754206965b42b08d62f9346">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalOrientation()
-: <a class="el" href="group___input.html#gaab9cb8fa670175ecc73c75eed4e5cd3f">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalPressure()
-: <a class="el" href="group___input.html#gaa8e9352ee5b043b3e1b6e2062d491010">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalRawX()
-: <a class="el" href="group___input.html#ga5d36c2e7420001c86ae2aa1168fe6f83">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalRawY()
-: <a class="el" href="group___input.html#ga6deb0e7690a93aa53e5872c2691b69fe">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalSize()
-: <a class="el" href="group___input.html#ga0a04bb7ec12928db7e62645e7fad3a9e">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalToolMajor()
-: <a class="el" href="group___input.html#ga160a5830e791e8c42ae97f51b92233d2">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalToolMinor()
-: <a class="el" href="group___input.html#gafe01aa7576a6d1bce750fb8482355849">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalTouchMajor()
-: <a class="el" href="group___input.html#gaf437f223668b97f19ebdbad4b9cf4483">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalTouchMinor()
-: <a class="el" href="group___input.html#ga126715d966e989652aa1ae5d38e0e898">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalX()
-: <a class="el" href="group___input.html#ga49a8ca89ff377b5ed2355e8d7220ae07">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalY()
-: <a class="el" href="group___input.html#ga30fc4e5d3ce144955859f8c97b51b73d">input.h</a>
-</li>
-<li>AMotionEvent_getHistorySize()
-: <a class="el" href="group___input.html#ga0aef34c236db6d7a56a50bf590be7bcc">input.h</a>
-</li>
-<li>AMotionEvent_getMetaState()
-: <a class="el" href="group___input.html#ga5644f0d952e3dea57ba9f7ce51dff2bb">input.h</a>
-</li>
-<li>AMotionEvent_getOrientation()
-: <a class="el" href="group___input.html#gad28422998da15b789edcba6b8bc5d615">input.h</a>
-</li>
-<li>AMotionEvent_getPointerCount()
-: <a class="el" href="group___input.html#ga612e68d104adbc6d14d87510e8066bd8">input.h</a>
-</li>
-<li>AMotionEvent_getPointerId()
-: <a class="el" href="group___input.html#ga599e21a79c706807243a8ee31b116138">input.h</a>
-</li>
-<li>AMotionEvent_getPressure()
-: <a class="el" href="group___input.html#ga97fcaa6cd08c9d54b35711e482e06c8d">input.h</a>
-</li>
-<li>AMotionEvent_getRawX()
-: <a class="el" href="group___input.html#gafe45e29ef138cc30592237ce479837f0">input.h</a>
-</li>
-<li>AMotionEvent_getRawY()
-: <a class="el" href="group___input.html#ga5a09c3d742a93270861aa05f24257c23">input.h</a>
-</li>
-<li>AMotionEvent_getSize()
-: <a class="el" href="group___input.html#ga9b1f3c3df46b5269f9e74d2dd70c88a8">input.h</a>
-</li>
-<li>AMotionEvent_getToolMajor()
-: <a class="el" href="group___input.html#gac04099690f278a6a27191c2027b12a77">input.h</a>
-</li>
-<li>AMotionEvent_getToolMinor()
-: <a class="el" href="group___input.html#ga2222d459759ba4a8269647012d2718fb">input.h</a>
-</li>
-<li>AMotionEvent_getToolType()
-: <a class="el" href="group___input.html#ga2babe4e2e79952e004538f8f1878649c">input.h</a>
-</li>
-<li>AMotionEvent_getTouchMajor()
-: <a class="el" href="group___input.html#ga9ac18fe19534e07d80441582f489d471">input.h</a>
-</li>
-<li>AMotionEvent_getTouchMinor()
-: <a class="el" href="group___input.html#ga65f71e257b5fcb29dcbaaf59b3fcb3a7">input.h</a>
-</li>
-<li>AMotionEvent_getX()
-: <a class="el" href="group___input.html#ga22e255a5fa52761cd92ce78af91e9757">input.h</a>
-</li>
-<li>AMotionEvent_getXOffset()
-: <a class="el" href="group___input.html#ga7a94ce622eb78a17737fd8bddbf86e21">input.h</a>
-</li>
-<li>AMotionEvent_getXPrecision()
-: <a class="el" href="group___input.html#ga81a9be07673a01f43fd0241c7b4c254f">input.h</a>
-</li>
-<li>AMotionEvent_getY()
-: <a class="el" href="group___input.html#ga113f58a37e41f2a6c3007d68418edfa6">input.h</a>
-</li>
-<li>AMotionEvent_getYOffset()
-: <a class="el" href="group___input.html#ga7f6bd2c12d912f502c245b6ced6d3704">input.h</a>
-</li>
-<li>AMotionEvent_getYPrecision()
-: <a class="el" href="group___input.html#gae311e6e28bce4be905526f9ea71278ed">input.h</a>
-</li>
-<li>ANativeActivity
-: <a class="el" href="group___native_activity.html#ga8abd07923f37feb1ce724d139cc2609d">native_activity.h</a>
-</li>
-<li>ANativeActivity_createFunc
-: <a class="el" href="group___native_activity.html#ga569a53bcac3fcedb0189b7c412ebcb22">native_activity.h</a>
-</li>
-<li>ANativeActivity_finish()
-: <a class="el" href="group___native_activity.html#ga4d872ae54a239704c06a0517e23cc0ad">native_activity.h</a>
-</li>
-<li>ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY
-: <a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a642e76508cc737bbc1df149756c2a807">native_activity.h</a>
-</li>
-<li>ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS
-: <a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a0f4cbb55fa4c29b963b7b37d13352e6f">native_activity.h</a>
-</li>
-<li>ANativeActivity_hideSoftInput()
-: <a class="el" href="group___native_activity.html#gaf673d6efea7ce517ef46ff2551b25944">native_activity.h</a>
-</li>
-<li>ANativeActivity_onCreate
-: <a class="el" href="group___native_activity.html#ga02791d0d490839055169f39fdc905c5e">native_activity.h</a>
-</li>
-<li>ANativeActivity_setWindowFlags()
-: <a class="el" href="group___native_activity.html#gaa1d091ca4a99b0ce570bab1c8c06f297">native_activity.h</a>
-</li>
-<li>ANativeActivity_setWindowFormat()
-: <a class="el" href="group___native_activity.html#gaec8b12decdf2b9841344e75c4c038c5a">native_activity.h</a>
-</li>
-<li>ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED
-: <a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a324062ac78fab16b40e8de1b1ae173b5">native_activity.h</a>
-</li>
-<li>ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT
-: <a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a9b7250ac0e5a626a81b176462a9df7c9">native_activity.h</a>
-</li>
-<li>ANativeActivity_showSoftInput()
-: <a class="el" href="group___native_activity.html#ga14eaeb6190f266369023b04d8ab9dba7">native_activity.h</a>
-</li>
-<li>ANativeActivityCallbacks
-: <a class="el" href="group___native_activity.html#ga28dca784e5ee939427135c72c0151c38">native_activity.h</a>
-</li>
-<li>ANativeWindow
-: <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">native_window.h</a>
-</li>
-<li>ANativeWindow_acquire()
-: <a class="el" href="group___native_activity.html#ga533876b57909243b238927344a6592db">native_window.h</a>
-</li>
-<li>ANativeWindow_Buffer
-: <a class="el" href="group___native_activity.html#gad0983ca473ce36293baf5e51a14c3357">native_window.h</a>
-</li>
-<li>ANativeWindow_fromSurface()
-: <a class="el" href="group___native_activity.html#ga774d0a87ec496b3940fcddccbc31fd9d">native_window_jni.h</a>
-</li>
-<li>ANativeWindow_getFormat()
-: <a class="el" href="group___native_activity.html#ga9e3a492a8300146b30d864f0ab22bb2e">native_window.h</a>
-</li>
-<li>ANativeWindow_getHeight()
-: <a class="el" href="group___native_activity.html#ga463ba99f6dee3edc1167a54e1ff7de15">native_window.h</a>
-</li>
-<li>ANativeWindow_getWidth()
-: <a class="el" href="group___native_activity.html#ga186f0040c5cb405a63d93889bb9a4ff1">native_window.h</a>
-</li>
-<li>ANativeWindow_lock()
-: <a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">native_window.h</a>
-</li>
-<li>ANativeWindow_release()
-: <a class="el" href="group___native_activity.html#gae944e98865b902bd924663785d7b0258">native_window.h</a>
-</li>
-<li>ANativeWindow_setBuffersGeometry()
-: <a class="el" href="group___native_activity.html#ga7b0652533998d61e1a3b542485889113">native_window.h</a>
-</li>
-<li>ANativeWindow_unlockAndPost()
-: <a class="el" href="group___native_activity.html#ga4dc9b687ead9034fbc11bf2d90f203f9">native_window.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_A_8
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ad29996be25f8f88c96e016a1da5c4bca">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_NONE
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ac6f0378ea5cfefd9abee2596af5a9021">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_RGB_565
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13a11b32e10d6db28fae70ec3590cb9ee91">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_RGBA_4444
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13adc2ede06eafe20439271cb8137dc7528">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_RGBA_8888
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ab92ae96ceea06aa534583beadba84057">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESULT_ALLOCATION_FAILED
-: <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a512f5b95b6b57e78d65502c06391f990">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESULT_BAD_PARAMETER
-: <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7acf7205d1a348d867c63ac2885ce01374">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESULT_JNI_EXCEPTION
-: <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6b099b9533c38729a6c305f2fe93f98d">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESULT_SUCCESS
-: <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESUT_SUCCESS
-: <a class="el" href="group___bitmap.html#gafb665ac9fefad34ac5c035f5d1314080">bitmap.h</a>
-</li>
-<li>AndroidBitmap_getInfo()
-: <a class="el" href="group___bitmap.html#ga80292ee39d8a675928e38849742b54bf">bitmap.h</a>
-</li>
-<li>AndroidBitmap_lockPixels()
-: <a class="el" href="group___bitmap.html#ga2908d42fa4db286c34b7f8c11f29206f">bitmap.h</a>
-</li>
-<li>AndroidBitmap_unlockPixels()
-: <a class="el" href="group___bitmap.html#ga4aca91f37baddd42d0051dca8179d4ed">bitmap.h</a>
-</li>
-<li>AndroidBitmapFormat
-: <a class="el" href="group___bitmap.html#gaea286a2d4c61ae2abb02b51500499f13">bitmap.h</a>
-</li>
-<li>AOBB_STATE_ERROR_ALREADY_MOUNTED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a8b074af151167a965a550b9829fafb37">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_COULD_NOT_MOUNT
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a324da2b8fea5875339d442d1f2d0b45b">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_COULD_NOT_UNMOUNT
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a1f2b51b53fc57b57a9967f6ce0c88dbe">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_INTERNAL
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a50642881107d6673aace1494a5d6fce2">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_NOT_MOUNTED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a3ce8539aa8b531c9de1d16041322d7a8">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_PERMISSION_DENIED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2467a4b6a634680e12c288a7790ff66c">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_MOUNTED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2a9c420e6008c108a7198fd861c042d5">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_UNMOUNTED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a6710bb5b68cfc115eedcde2aafd8a667">storage_manager.h</a>
-</li>
-<li>AObbInfo
-: <a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">obb.h</a>
-</li>
-<li>AObbInfo_delete()
-: <a class="el" href="group___storage.html#gaec5a4428008f545e829486099298031a">obb.h</a>
-</li>
-<li>AObbInfo_getFlags()
-: <a class="el" href="group___storage.html#ga68d916570c756da9fd0d9096358300eb">obb.h</a>
-</li>
-<li>AObbInfo_getPackageName()
-: <a class="el" href="group___storage.html#ga1ec7eee61541fa5a9b578801a35b9cf3">obb.h</a>
-</li>
-<li>AObbInfo_getVersion()
-: <a class="el" href="group___storage.html#gacd8471c6d866cffe4a32f3b5997c782c">obb.h</a>
-</li>
-<li>AOBBINFO_OVERLAY
-: <a class="el" href="group___storage.html#ggae4d5251432e1a9e6803c0240cc492e18a33e2ae83b4c25d33a4335dccf1de1c3a">obb.h</a>
-</li>
-<li>AObbScanner_getObbInfo()
-: <a class="el" href="group___storage.html#ga7beb4f82e3bf9a4b8197917f92ac4d5e">obb.h</a>
-</li>
-<li>ARect
-: <a class="el" href="group___native_activity.html#gaa984a498f0e146ac57c6022a323423cf">rect.h</a>
-</li>
-<li>AREPORTING_MODE_CONTINUOUS
-: <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa8a64337fcb7e338d487dc3edc873df1c">sensor.h</a>
-</li>
-<li>AREPORTING_MODE_ON_CHANGE
-: <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa8542165ae195bf5784cdd9ba66bd2ab5">sensor.h</a>
-</li>
-<li>AREPORTING_MODE_ONE_SHOT
-: <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa002273a1ab874159a38a7e3f6bb6a7bb">sensor.h</a>
-</li>
-<li>AREPORTING_MODE_SPECIAL_TRIGGER
-: <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181faa2d29656b35889c4c23318982e847ae7">sensor.h</a>
-</li>
-<li>ASensor
-: <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">sensor.h</a>
-</li>
-<li>ASensor_getFifoMaxEventCount()
-: <a class="el" href="group___sensor.html#gae9969580eda319926a677a6937c7afb1">sensor.h</a>
-</li>
-<li>ASensor_getFifoReservedEventCount()
-: <a class="el" href="group___sensor.html#gaec7084c6a9d4d85f87c95a70511c5f53">sensor.h</a>
-</li>
-<li>ASensor_getMinDelay()
-: <a class="el" href="group___sensor.html#gacb6e021757c07344b58742611eaf68e7">sensor.h</a>
-</li>
-<li>ASensor_getName()
-: <a class="el" href="group___sensor.html#ga52f4b22990c70df0784b9ccf23314fae">sensor.h</a>
-</li>
-<li>ASensor_getReportingMode()
-: <a class="el" href="group___sensor.html#ga99e56b84cf421788c27998da8eab7e39">sensor.h</a>
-</li>
-<li>ASensor_getResolution()
-: <a class="el" href="group___sensor.html#ga3da2930dd866cf1f76da6bc39e578a46">sensor.h</a>
-</li>
-<li>ASensor_getStringType()
-: <a class="el" href="group___sensor.html#gabee3eb65390fc75a639c59d653af3591">sensor.h</a>
-</li>
-<li>ASensor_getType()
-: <a class="el" href="group___sensor.html#ga93962747ab3c7d2b609f97af26fc0230">sensor.h</a>
-</li>
-<li>ASensor_getVendor()
-: <a class="el" href="group___sensor.html#gafaf467fc71f7adba537a90f166e3320d">sensor.h</a>
-</li>
-<li>ASensor_isWakeUpSensor()
-: <a class="el" href="group___sensor.html#ga0ff4118e400bedac62be6b79e9e0f924">sensor.h</a>
-</li>
-<li>ASENSOR_MAGNETIC_FIELD_EARTH_MAX
-: <a class="el" href="group___sensor.html#gaf8b57b13c6432bc6136aac0ad3813d63">sensor.h</a>
-</li>
-<li>ASENSOR_MAGNETIC_FIELD_EARTH_MIN
-: <a class="el" href="group___sensor.html#ga4423a712e27b6d5a57d138796892886d">sensor.h</a>
-</li>
-<li>ASENSOR_STANDARD_GRAVITY
-: <a class="el" href="group___sensor.html#ga5129cb9e4091fc3474e246d5f950e52b">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_ACCURACY_HIGH
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8a2df5fb4e8b684e6a801a4aff9f50ba13">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_ACCURACY_LOW
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8a5f306f3d45a19573539462e4c813edc0">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_ACCURACY_MEDIUM
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ad7e9379a4f36a42f2659cd7aec214f2d">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_NO_CONTACT
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ae5d0475bd9491c4232a09afc81fa283d">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_UNRELIABLE
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ae8e43df50b7b85ed54f22c40f2cd748e">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_ACCELEROMETER
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167bad72017f34c12971593a8cb14f4f254df">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_GYROSCOPE
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba80e9827f6c3ded009f354dc7078a2c68">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_LIGHT
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba105331b6dea6f08e0d8fe3b736f8c174">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_MAGNETIC_FIELD
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba3b31509a3efebafb413e78f5ec9ae0e8">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_PROXIMITY
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba0c6a2e526ed2e4442b3843976f906932">sensor.h</a>
-</li>
-<li>ASensorEvent
-: <a class="el" href="group___sensor.html#ga6bb167c45f0ef0a94d8f178d227e781f">sensor.h</a>
-</li>
-<li>ASensorEventQueue
-: <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">sensor.h</a>
-</li>
-<li>ASensorEventQueue_disableSensor()
-: <a class="el" href="group___sensor.html#ga03852b813887ec236a34c4aef0df4b68">sensor.h</a>
-</li>
-<li>ASensorEventQueue_enableSensor()
-: <a class="el" href="group___sensor.html#ga48a8379cf9de9b09a71a00f8a3699499">sensor.h</a>
-</li>
-<li>ASensorEventQueue_getEvents()
-: <a class="el" href="group___sensor.html#gab3d4354fd0d3ceb5fa97c129b024a18a">sensor.h</a>
-</li>
-<li>ASensorEventQueue_hasEvents()
-: <a class="el" href="group___sensor.html#ga79c9d6264fe81d4e30800f826db72913">sensor.h</a>
-</li>
-<li>ASensorEventQueue_setEventRate()
-: <a class="el" href="group___sensor.html#gaa6e89b6d69dc3e07f2d7e72e81ec7937">sensor.h</a>
-</li>
-<li>ASensorList
-: <a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">sensor.h</a>
-</li>
-<li>ASensorManager
-: <a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">sensor.h</a>
-</li>
-<li>ASensorManager_createEventQueue()
-: <a class="el" href="group___sensor.html#gac46f8b28bcc7a846dea9d841cab0a67b">sensor.h</a>
-</li>
-<li>ASensorManager_destroyEventQueue()
-: <a class="el" href="group___sensor.html#gaf35624037785cdea1e7fe9e0a73fc5e1">sensor.h</a>
-</li>
-<li>ASensorManager_getDefaultSensor()
-: <a class="el" href="group___sensor.html#gaf4880d87e01f5e2d4a9b8403e4047445">sensor.h</a>
-</li>
-<li>ASensorManager_getDefaultSensorEx()
-: <a class="el" href="group___sensor.html#ga4313457c0e82f4afa77ef13860629633">sensor.h</a>
-</li>
-<li>ASensorManager_getInstance()
-: <a class="el" href="group___sensor.html#gaa438fdaf34783a89d139f0a56d2692cd">sensor.h</a>
-</li>
-<li>ASensorManager_getSensorList()
-: <a class="el" href="group___sensor.html#ga645be938627498ab2b60d94c562204bd">sensor.h</a>
-</li>
-<li>ASensorRef
-: <a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">sensor.h</a>
-</li>
-<li>ASensorVector
-: <a class="el" href="group___sensor.html#ga207e807f9e18271f6a763e57232b409f">sensor.h</a>
-</li>
-<li>AStorageManager
-: <a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">storage_manager.h</a>
-</li>
-<li>AStorageManager_delete()
-: <a class="el" href="group___storage.html#ga184c06dd9cec0f21db138167d6b331ed">storage_manager.h</a>
-</li>
-<li>AStorageManager_getMountedObbPath()
-: <a class="el" href="group___storage.html#gad5c90305d627e0c768da37cb3e9f08c4">storage_manager.h</a>
-</li>
-<li>AStorageManager_isObbMounted()
-: <a class="el" href="group___storage.html#ga7572f2c650fc16cce1b0ab94e913a1ba">storage_manager.h</a>
-</li>
-<li>AStorageManager_mountObb()
-: <a class="el" href="group___storage.html#ga61bebaf43e57b4b7f57e7a24a62e9e3d">storage_manager.h</a>
-</li>
-<li>AStorageManager_new()
-: <a class="el" href="group___storage.html#ga1c21ed9e0848fcfc03547c95eeb48877">storage_manager.h</a>
-</li>
-<li>AStorageManager_obbCallbackFunc
-: <a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">storage_manager.h</a>
-</li>
-<li>AStorageManager_unmountObb()
-: <a class="el" href="group___storage.html#ga4c32c8d2c780016fa36097d833b57809">storage_manager.h</a>
-</li>
-<li>AUncalibratedEvent
-: <a class="el" href="group___sensor.html#ga24acc545b908dd24cadc44c5e0760b3b">sensor.h</a>
-</li>
-<li>AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa67363c129036872bc9dd29557e807508">window.h</a>
-</li>
-<li>AWINDOW_FLAG_ALT_FOCUSABLE_IM
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa961ff4c9c0903cfb8867d961bebe1659">window.h</a>
-</li>
-<li>AWINDOW_FLAG_BLUR_BEHIND
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa0377f46a626d411ace179c1c27d0a3f7">window.h</a>
-</li>
-<li>AWINDOW_FLAG_DIM_BEHIND
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6155e77ae4e12cc56fb3f6f55f56bf6f">window.h</a>
-</li>
-<li>AWINDOW_FLAG_DISMISS_KEYGUARD
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa37c1077a12f1c8c6805b1da6f7bb213a">window.h</a>
-</li>
-<li>AWINDOW_FLAG_DITHER
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae73488b436aaea163ba2f7051bf93d9d">window.h</a>
-</li>
-<li>AWINDOW_FLAG_FORCE_NOT_FULLSCREEN
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa4c21235db629d3937f87ffe98cd6fe5d">window.h</a>
-</li>
-<li>AWINDOW_FLAG_FULLSCREEN
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaca1f1d91313d7c32bb7982d8a5abcd71">window.h</a>
-</li>
-<li>AWINDOW_FLAG_IGNORE_CHEEK_PRESSES
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaa2fe4ee2307bb814a37a043de6d7d326">window.h</a>
-</li>
-<li>AWINDOW_FLAG_KEEP_SCREEN_ON
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8">window.h</a>
-</li>
-<li>AWINDOW_FLAG_LAYOUT_IN_SCREEN
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6978968d7e0dc1a0e12f58ad395a959a">window.h</a>
-</li>
-<li>AWINDOW_FLAG_LAYOUT_INSET_DECOR
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa97b8542941bfe613bcf92357be89b563">window.h</a>
-</li>
-<li>AWINDOW_FLAG_LAYOUT_NO_LIMITS
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffade9722581a203ee0db25d42f4d2bd389">window.h</a>
-</li>
-<li>AWINDOW_FLAG_NOT_FOCUSABLE
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">window.h</a>
-</li>
-<li>AWINDOW_FLAG_NOT_TOUCH_MODAL
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09">window.h</a>
-</li>
-<li>AWINDOW_FLAG_NOT_TOUCHABLE
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae9f1278ffa6fe9c12c2305d4f4de1450">window.h</a>
-</li>
-<li>AWINDOW_FLAG_SCALED
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa80316264eeae9681a56c1a2297bf465a">window.h</a>
-</li>
-<li>AWINDOW_FLAG_SECURE
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa8ff70709a588a05781d7cb178b526cc0">window.h</a>
-</li>
-<li>AWINDOW_FLAG_SHOW_WALLPAPER
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa952ae6ceebe94d3f0d666454548b8824">window.h</a>
-</li>
-<li>AWINDOW_FLAG_SHOW_WHEN_LOCKED
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">window.h</a>
-</li>
-<li>AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5574a513645e6e7cb4d6a9f4a043d773">window.h</a>
-</li>
-<li>AWINDOW_FLAG_TURN_SCREEN_ON
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffac4deee26ac742bbd0bb4c44fda140a01">window.h</a>
-</li>
-<li>AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa35229f75b3309bafdd828cbbf27d05b6">window.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals_defs.jd b/docs/html/ndk/reference/globals_defs.jd
deleted file mode 100644
index 8d04efb..0000000
--- a/docs/html/ndk/reference/globals_defs.jd
+++ /dev/null
@@ -1,24 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-&#160;<ul>
-<li>AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT
-: <a class="el" href="group___input.html#gaeb170c0fbeeed1d999160566f09f169e">input.h</a>
-</li>
-<li>ANDROID_BITMAP_RESUT_SUCCESS
-: <a class="el" href="group___bitmap.html#gafb665ac9fefad34ac5c035f5d1314080">bitmap.h</a>
-</li>
-<li>ASENSOR_MAGNETIC_FIELD_EARTH_MAX
-: <a class="el" href="group___sensor.html#gaf8b57b13c6432bc6136aac0ad3813d63">sensor.h</a>
-</li>
-<li>ASENSOR_MAGNETIC_FIELD_EARTH_MIN
-: <a class="el" href="group___sensor.html#ga4423a712e27b6d5a57d138796892886d">sensor.h</a>
-</li>
-<li>ASENSOR_STANDARD_GRAVITY
-: <a class="el" href="group___sensor.html#ga5129cb9e4091fc3474e246d5f950e52b">sensor.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals_enum.jd b/docs/html/ndk/reference/globals_enum.jd
deleted file mode 100644
index 7fd396e..0000000
--- a/docs/html/ndk/reference/globals_enum.jd
+++ /dev/null
@@ -1,12 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-&#160;<ul>
-<li>AndroidBitmapFormat
-: <a class="el" href="group___bitmap.html#gaea286a2d4c61ae2abb02b51500499f13">bitmap.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals_eval.jd b/docs/html/ndk/reference/globals_eval.jd
deleted file mode 100644
index e1399c7..0000000
--- a/docs/html/ndk/reference/globals_eval.jd
+++ /dev/null
@@ -1,1652 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
-<li>AASSET_MODE_BUFFER
-: <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba40ec098f4afb7c2869fa449d3059f6bb">asset_manager.h</a>
-</li>
-<li>AASSET_MODE_RANDOM
-: <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba88e1b2a920963d7596735fe28bf30e2f">asset_manager.h</a>
-</li>
-<li>AASSET_MODE_STREAMING
-: <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55bac76f5fdb953097efc04e534474a7ea74">asset_manager.h</a>
-</li>
-<li>AASSET_MODE_UNKNOWN
-: <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba5bf76576f07042f965f230086f7c09f4">asset_manager.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ace87b4f25e5fd6fe0f3316d21ecc66a1">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a966a3855351a97ae865264afd74c1534">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_DEFAULT
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae628b2bf594733b7c19ae394616cec6c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_HIGH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5ef4a97dc058235cdfa9fcfe3300c7eb">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_LOW
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a01ddb34b2376422d2323720049eb57f3">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_MEDIUM
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a2511479d7cd574c4b293d535e4dc337e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_NONE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a7c1af92914155c418b99844c6aab33d7">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_TV
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a10e6c3d636f3f6de75de9208913b0d8f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_XHIGH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a38a03b3b1c64725679605d8d479c85a0">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_XXHIGH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad6353daf63778a6ec6f2bd3815d7e6e4">configuration.h</a>
-</li>
-<li>ACONFIGURATION_DENSITY_XXXHIGH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a2bd04af33e868a77bd4d83e7d70368ec">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a0195de2a57f028a8171c42beff0b0e88">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_12KEY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1aaf1a887f146737030cce95c53066ea">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a593f722738682ae4500dab6427670f4a">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_HIDDEN
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a54e71234e32ed037e2d47472f80eb416">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_NOKEYS
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a40195a1a2d8e21c74d99606d8a1a9918">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYBOARD_QWERTY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a263ff8efb4d2c757e557adc0d0cdeedf">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYSHIDDEN_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a34d3a830bc2964000052f8486fd76b0c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYSHIDDEN_NO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5abfbfc3a10affed059263555b00429ab2">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYSHIDDEN_SOFT
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1a56b72c730e40f22f3b8727e54c376c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_KEYSHIDDEN_YES
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5e6a5a3f4175644886bde7d0ed4b1ebf">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LAYOUTDIR
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a65834be1230d1694e5ce8a6f407acab2">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LAYOUTDIR_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4687ede31c438dd9f2701cab88de1dbe">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LAYOUTDIR_LTR
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a05242d8f2d254b43ff9414ff1aa38a83">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LAYOUTDIR_RTL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af98332983b787ab9355b527079636870">configuration.h</a>
-</li>
-<li>ACONFIGURATION_LOCALE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a01ecff796bd0690a9a8498c7de03e9b4">configuration.h</a>
-</li>
-<li>ACONFIGURATION_MCC
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4d40f2aef365c78a52f699b89439db28">configuration.h</a>
-</li>
-<li>ACONFIGURATION_MNC
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ade91a319638eede201579d15f86578a5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_MNC_ZERO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aa6cda2f222580dbef27f1277d967d58c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVHIDDEN_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a6db7dd6a67196df88117dcdc904e0cb3">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVHIDDEN_NO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae6ff9883e3e89f8d9ea5c0ebe077c9c5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVHIDDEN_YES
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a79b3a5fe10e948bb79db47b516d46cf5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a65e9d31615d2b4adf3738d9a12a1556b">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a90e914b60d28c081b313f4b7b6600f47">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_DPAD
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ace2e3ed21322100712992ca09f4b75b5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_NONAV
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a3d95e899305aeae366fb7f8d8b6c290a">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_TRACKBALL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad2807d00cb2f5dcb9f456045dd8443a4">configuration.h</a>
-</li>
-<li>ACONFIGURATION_NAVIGATION_WHEEL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a80b53370f65ad283a4fd025f36422bea">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a591461d864136d482fe06e01fd945786">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af44cee3290a23999b0358c5638747a5f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION_LAND
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad5746872ff6871379fca93c60bfac8a3">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION_PORT
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad9bf5c1fb90f9fdb20f984d0574592fe">configuration.h</a>
-</li>
-<li>ACONFIGURATION_ORIENTATION_SQUARE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab0ca4fce673baf58447bfeb154d9a03f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREEN_HEIGHT_DP_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab66ad42d0cf72fd7e8cd99b92b625432">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREEN_LAYOUT
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a12d69ffef9135c1c55e1b8b5c2589e7c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREEN_SIZE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a76ca1eb0e9346d93da592afbbf9a3b72">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREEN_WIDTH_DP_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aad653f0c960112177fdc387a4a0577fa">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENLONG_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a41e55e57da42fd09c378f59c1a63710f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENLONG_NO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a428bb8fcd8bc731b67b0773dc62781c5">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENLONG_YES
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a91fc014d328507568d225d691b3babfd">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a9abcd34a6c549e048fc75a545081584e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_LARGE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af871d177fdceedb75612cfc1281d2c12">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_NORMAL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a019727e684f25ba921f3479abd62b9f2">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_SMALL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1163af972206a65a5d18bda12fdc511c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SCREENSIZE_XLARGE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a0ca385ed504fc92f6ff3f0857e916c9c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SMALLEST_SCREEN_SIZE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5acce415252e0ad95117a05bbe910f06de">configuration.h</a>
-</li>
-<li>ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a227120217d8b6a9d5add3ccc4b283702">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a255cfb57ac18d460c5614565a84f5561">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aa73bcf45261366840fea743372682fa6">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN_FINGER
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4bf2a8323ec6d072aa48d5fc2cff645e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN_NOTOUCH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5adfbeb370edd3b4372c9b0f86f152dde0">configuration.h</a>
-</li>
-<li>ACONFIGURATION_TOUCHSCREEN_STYLUS
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a8316a15b06353f883f2aef8bd194f79f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a43a324af59372efd08b34431825cf67e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_NIGHT_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a975087bbd4087b57a68ef3cdbfeb77a1">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_NIGHT_NO
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a90ebe564e3a3e384d5b013100f81e4b7">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_NIGHT_YES
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a437af4527fac5407de256ec1ef055046">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_ANY
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a10d0916da7fa88c945a9cda259407d4c">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_APPLIANCE
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad99004a7a1b2a97d29b639664947f8e3">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_CAR
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5d6575185e41d909469a1dcf5f81bf4f">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_DESK
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae10bb854f461f60cf399852f8f327077">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_NORMAL
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae7efe2713b6718311da76c828b5b444e">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_TELEVISION
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4738dded616f028fbbedcbad764e7969">configuration.h</a>
-</li>
-<li>ACONFIGURATION_UI_MODE_TYPE_WATCH
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ac8c3e2207f2356bc6a1dffc6a615d131">configuration.h</a>
-</li>
-<li>ACONFIGURATION_VERSION
-: <a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1be62e4fc31cf3d3102c99f7c6b4c71b">configuration.h</a>
-</li>
-<li>AINPUT_EVENT_TYPE_KEY
-: <a class="el" href="group___input.html#gga61dadd085c1777f559549e05962b2c9ea696f0d7635f7a24c17d3f1e4ccdd44ba">input.h</a>
-</li>
-<li>AINPUT_EVENT_TYPE_MOTION
-: <a class="el" href="group___input.html#gga61dadd085c1777f559549e05962b2c9ea2182dfda2cceb5425dcc2823b9b6b56a">input.h</a>
-</li>
-<li>AINPUT_KEYBOARD_TYPE_ALPHABETIC
-: <a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fceaba1f5ab6bc79749ba96a5d2a3af0e574">input.h</a>
-</li>
-<li>AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC
-: <a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fceaf0226d750ea830eb557ae68bd4a1c82a">input.h</a>
-</li>
-<li>AINPUT_KEYBOARD_TYPE_NONE
-: <a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fcea32cb7ce34cdce7095962f0766cc6c3ac">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_ORIENTATION
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaaf9be9c04a41b610d994a3d1d7e90d06d">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_PRESSURE
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa79aca706b12b28d0ab14762902fed31a">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_SIZE
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa46f3a6cf859fb161cd29398d8448c688">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_TOOL_MAJOR
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaaa860f54aa9e5a269dba6a54bbcf3c27c">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_TOOL_MINOR
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa19226f6cf713c1b4d0973a163daf6cf1">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_TOUCH_MAJOR
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa7ead43624c96e165fd8a25e77148aa67">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_TOUCH_MINOR
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa301181a0f20681135c15010b39bb575d">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_X
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa0e5816bc48cdb33f2b488a109596ffe1">input.h</a>
-</li>
-<li>AINPUT_MOTION_RANGE_Y
-: <a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaab48108c9450ea1b7cd021be7d8cbc332">input.h</a>
-</li>
-<li>AINPUT_SOURCE_ANY
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ab04317e7dd273ff5c87038df67d9796e">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_BUTTON
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4dacf1bf3d7b3c6e59f907bdffc9b33370e">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_JOYSTICK
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4daaaeffb6442807dd96ec62e9d8a696b57">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_MASK
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4daae438f475d03ea60fd9fb356abd7fa01">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_NAVIGATION
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da078a18d85d078412721c336a879bcc1a">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_NONE
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4dafd6d5e71f09f6452acf017559481444c">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_POINTER
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da7495274e98fb30dee3dfd903b878cf47">input.h</a>
-</li>
-<li>AINPUT_SOURCE_CLASS_POSITION
-: <a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da682f6982bb55ee809f6acd2deb550167">input.h</a>
-</li>
-<li>AINPUT_SOURCE_DPAD
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ad0fbfeff9f8d57104bff14c70ce5e3ef">input.h</a>
-</li>
-<li>AINPUT_SOURCE_GAMEPAD
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a6417cb50ecd6ade48c708268434a49d3">input.h</a>
-</li>
-<li>AINPUT_SOURCE_JOYSTICK
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25afb28f10dc074e7f7435f5904c513edb5">input.h</a>
-</li>
-<li>AINPUT_SOURCE_KEYBOARD
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a9860918666dd8c0b9d00a8da7af51e6d">input.h</a>
-</li>
-<li>AINPUT_SOURCE_MOUSE
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ae71d3dcbd004bccb6e00fde47097cd86">input.h</a>
-</li>
-<li>AINPUT_SOURCE_STYLUS
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a86d4983c71432b27634ba41a64bffdf9">input.h</a>
-</li>
-<li>AINPUT_SOURCE_TOUCH_NAVIGATION
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a3712c4e4fb8ad7f6ae6e40d48e5c6ee7">input.h</a>
-</li>
-<li>AINPUT_SOURCE_TOUCHPAD
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a7e0715d4b544653ab11893434172a2ef">input.h</a>
-</li>
-<li>AINPUT_SOURCE_TOUCHSCREEN
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a55ea411f927aed8964fa72fec0da444f">input.h</a>
-</li>
-<li>AINPUT_SOURCE_TRACKBALL
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a7e49d9153c86f60f626d7f797f4e78b6">input.h</a>
-</li>
-<li>AINPUT_SOURCE_UNKNOWN
-: <a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ae9348bc04cdaa88b5b010f77a4945454">input.h</a>
-</li>
-<li>AKEY_EVENT_ACTION_DOWN
-: <a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635a123c3bd18fd93b53d8aedbe7597f7b49">input.h</a>
-</li>
-<li>AKEY_EVENT_ACTION_MULTIPLE
-: <a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635a08e2d927e155478ee66ec46ebd845ab0">input.h</a>
-</li>
-<li>AKEY_EVENT_ACTION_UP
-: <a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635abf18b7c5384c5de8657a0650f8da57c3">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_CANCELED
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da3198fad5ab75df614bb41f0f602a9e55">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_CANCELED_LONG_PRESS
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2daf09856f03f2fffee9a82cb8e508efb7a">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_EDITOR_ACTION
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dab9dbcf990d1e4405e32f847fdea52013">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_FALLBACK
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da14f574126d2544863fa8042ddd0f48c0">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_FROM_SYSTEM
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dae1e7ec188b2404fadd94cfba89afd5d6">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_KEEP_TOUCH_MODE
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dadc0a063ca412b0ea08474df422bf9b41">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_LONG_PRESS
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da39f9f7bdf2e256db0e2a8a5dfbfb7185">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_SOFT_KEYBOARD
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da7dbb272c7b28be9c084df3446a629f32">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_TRACKING
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da91e70ab527f27a1779f4550d457f1689">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dad4b5eba5b14e4076c69bc7185f2804f8">input.h</a>
-</li>
-<li>AKEY_EVENT_FLAG_WOKE_HERE
-: <a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da6473a1afc0cc39e029c2a217bc57cdba">input.h</a>
-</li>
-<li>AKEY_STATE_DOWN
-: <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04a286ec0a7aff5903a982be0cd6785b62c">input.h</a>
-</li>
-<li>AKEY_STATE_UNKNOWN
-: <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04a9506627d5377c67dbc7fc58804b2cdfd">input.h</a>
-</li>
-<li>AKEY_STATE_UP
-: <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04afa14022f587487c24d401c87e71c8e28">input.h</a>
-</li>
-<li>AKEY_STATE_VIRTUAL
-: <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04ad09fd9fe458ca6c66ead9b9a75c56192">input.h</a>
-</li>
-<li>AKEYCODE_0
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa23f585ea17aeceaad2111c51ab289e79">keycodes.h</a>
-</li>
-<li>AKEYCODE_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabcac88b54f8d764bc4573ecc5b9571b0">keycodes.h</a>
-</li>
-<li>AKEYCODE_11
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa22858c3c30d596ad60f355f75df86e1">keycodes.h</a>
-</li>
-<li>AKEYCODE_12
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa781c31195e55b2dcbdd772560dc61aa5">keycodes.h</a>
-</li>
-<li>AKEYCODE_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2079c6fb75141968b60ed79fe895d6db">keycodes.h</a>
-</li>
-<li>AKEYCODE_3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa40ccc018c0637e4d938e66b789054551">keycodes.h</a>
-</li>
-<li>AKEYCODE_3D_MODE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68d314a5ec06701205cd0097c5c7145c">keycodes.h</a>
-</li>
-<li>AKEYCODE_4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c2d141c3906bd97cfec91443356f7b">keycodes.h</a>
-</li>
-<li>AKEYCODE_5
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0ca99d2be4a3723ba3406944ad623f6e">keycodes.h</a>
-</li>
-<li>AKEYCODE_6
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa72bc6560e24d08ff8f3116dac9179079">keycodes.h</a>
-</li>
-<li>AKEYCODE_7
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa27070499acdb6c527a285b3840ec7bff">keycodes.h</a>
-</li>
-<li>AKEYCODE_8
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa93543b23683b33724ecf77ac5a8c19ab">keycodes.h</a>
-</li>
-<li>AKEYCODE_9
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa31cd4d7c4e59cf7b057b6c248cff516d">keycodes.h</a>
-</li>
-<li>AKEYCODE_A
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa424a091c62d40f5d65908c9730ae9014">keycodes.h</a>
-</li>
-<li>AKEYCODE_ALT_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3dec175158abe8679bedd98ed1bc3e1a">keycodes.h</a>
-</li>
-<li>AKEYCODE_ALT_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd9b6b0846c6999f5df47d29e58ac95d">keycodes.h</a>
-</li>
-<li>AKEYCODE_APOSTROPHE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab5518a8502914ea5f87ef5d29b32b1b1">keycodes.h</a>
-</li>
-<li>AKEYCODE_APP_SWITCH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa53a59a262d6d523bdc2bd30a1e427bad">keycodes.h</a>
-</li>
-<li>AKEYCODE_ASSIST
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d3f036adb654c7752890a283ecbf838">keycodes.h</a>
-</li>
-<li>AKEYCODE_AT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7284f79a266ede479b79726082642e16">keycodes.h</a>
-</li>
-<li>AKEYCODE_AVR_INPUT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa57d42dbd8ea4219f76fb116f234e6504">keycodes.h</a>
-</li>
-<li>AKEYCODE_AVR_POWER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa479d36f9814bd00c8986a252664b938b">keycodes.h</a>
-</li>
-<li>AKEYCODE_B
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa65d3bf8d6a8a6c2f7c1b08394f313758">keycodes.h</a>
-</li>
-<li>AKEYCODE_BACK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeb71c74bf556ba72e9c8f8dcbe5453d0">keycodes.h</a>
-</li>
-<li>AKEYCODE_BACKSLASH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaac90eb064382e3c482ae86abb7b3f701">keycodes.h</a>
-</li>
-<li>AKEYCODE_BOOKMARK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa03ce46d177e020690aa9d26a0fa850ae">keycodes.h</a>
-</li>
-<li>AKEYCODE_BREAK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa047501f9cf9bce00e6048d8759ea3a23">keycodes.h</a>
-</li>
-<li>AKEYCODE_BRIGHTNESS_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7cf1bf3528b6d8a0e86998287fe00650">keycodes.h</a>
-</li>
-<li>AKEYCODE_BRIGHTNESS_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0af6ec416c09d160e364466faa955c36">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa28c72c33ab93d83539d0790b7e48336a">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_10
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7e6f8621909f3461032c33f9c8acaa7">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_11
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab413971c698b6e25d3955667c0142ac1">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_12
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafe4ee1e5446dd12bbb579b412048e79e">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_13
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaabde2ed26594b89d5769eef9f0d1fe6f">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_14
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f08dfd2c30ddedf1d2983680e89041b">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_15
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d8d0fb1a610fdb4e53f0fb675b7d7d0">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_16
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa224370cba99bda2db6a1c82fd2f7fa39">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab8089673fea303c7a299eefd2c327cc3">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa706a5ff492c80b4653e6fe0dcd278ca1">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c425a063bf6976e1ff8ae9f3cfcbe6">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_5
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa47149f963528ec7abe55066abfb7caf5">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_6
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa55057c8cda53a4c539d02ab1a93ca58b">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_7
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac09e0c0cbbf6449bf106e4199600db35">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_8
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaee64b3e0f30ed09e3c9f01b6c8877c3f">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_9
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac8e54092c8be5dc0e114ec35f40e00dc">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_A
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaef2d2ec912aaa9e7215aeab79f7fb086">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_B
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa721765c8f0bbcdb68af06817dbec8e53">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_C
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad622ad5df40d2fdf806abb2adda73b3d">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_L1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa32e159826404c7d76c2a433c24de82a2">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_L2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa36a38421637cfa5ebfd8a0296650cdf4">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_MODE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa19839eebec939407d901a33b75cf2594">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_R1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7c614b3966583b0ad027e45f594ede46">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_R2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa46d487e9fe31855b7b46739bad58fe3e">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_SELECT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa598289bc85f647c237729126ea392a43">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_START
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf3c818d106f4ec793a43749c4c26a8a4">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_THUMBL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68c5d8dcd8fe708ada8f4a4e17feb638">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_THUMBR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9759d817172d268ced1748909a5f5fbe">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_X
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa21174962f95e32cd0345ce657d03ebc7">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_Y
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6654a8b2c700f7783433c86fcdae7919">keycodes.h</a>
-</li>
-<li>AKEYCODE_BUTTON_Z
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa06156b68e6de951b44fc662e1b16041f">keycodes.h</a>
-</li>
-<li>AKEYCODE_C
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeed584f454e508ce931bcb33d37adb04">keycodes.h</a>
-</li>
-<li>AKEYCODE_CALCULATOR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa293523c40bb9f1d793cd0b984f636573">keycodes.h</a>
-</li>
-<li>AKEYCODE_CALENDAR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa114be17d1853c77a7406c024d9e4f076">keycodes.h</a>
-</li>
-<li>AKEYCODE_CALL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8b5720ebdd3576c2b536ec9228273d8f">keycodes.h</a>
-</li>
-<li>AKEYCODE_CAMERA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8670880765756933d3d1a10186d39e26">keycodes.h</a>
-</li>
-<li>AKEYCODE_CAPS_LOCK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab9dcb68b35c85d380846c85f323868f1">keycodes.h</a>
-</li>
-<li>AKEYCODE_CAPTIONS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa81ba8d5343362b841b8a62b8679ff994">keycodes.h</a>
-</li>
-<li>AKEYCODE_CHANNEL_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa18f1808c6a819e787c9a9941f78b910f">keycodes.h</a>
-</li>
-<li>AKEYCODE_CHANNEL_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa056914fd17ae539dca44f43745d8e05c">keycodes.h</a>
-</li>
-<li>AKEYCODE_CLEAR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa95bd8c25adeaa570108c7403f08a2901">keycodes.h</a>
-</li>
-<li>AKEYCODE_COMMA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0ca0bfbdc67b2c6f76e8fcaaf782c227">keycodes.h</a>
-</li>
-<li>AKEYCODE_CONTACTS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0aa2cfca11b7cabf82341a9dbec83f10">keycodes.h</a>
-</li>
-<li>AKEYCODE_CTRL_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaaca9d0df6cc18492209eb287e659aeb1">keycodes.h</a>
-</li>
-<li>AKEYCODE_CTRL_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa99b317cf2f1eb6b06d0226e05223e60c">keycodes.h</a>
-</li>
-<li>AKEYCODE_D
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7e4cb3ef66209a2779be2c8239b57b51">keycodes.h</a>
-</li>
-<li>AKEYCODE_DEL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd013221b457d98975dc47e49817e28a">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_CENTER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5e9c93273fd39148f54167133aa5b9ae">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa84b721b13aae56c9f1d3c22b3d81627a">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa668dfb3ed79a37c2c07838c161c1b344">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac6f9d81b6239696a1836695bbfc6a975">keycodes.h</a>
-</li>
-<li>AKEYCODE_DPAD_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf2fd3133a88f3b6725834032bd74bd9e">keycodes.h</a>
-</li>
-<li>AKEYCODE_DVR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacf2f03b925a02ba6de9fd98737546a60">keycodes.h</a>
-</li>
-<li>AKEYCODE_E
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae218af7ceb207227bb10f0525e68a8d0">keycodes.h</a>
-</li>
-<li>AKEYCODE_EISU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaadd69273b99eb0b848d98b2d6b3ad3234">keycodes.h</a>
-</li>
-<li>AKEYCODE_ENDCALL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaff971957ae3a4e272b21987854e18d9b">keycodes.h</a>
-</li>
-<li>AKEYCODE_ENTER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac784a7bbbfbdab05fab6c6a1f29c98ff">keycodes.h</a>
-</li>
-<li>AKEYCODE_ENVELOPE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaade96efe470f428bb5c4eaea6ffc3681c">keycodes.h</a>
-</li>
-<li>AKEYCODE_EQUALS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0a197df7ec719c95ddcd6836e76c8498">keycodes.h</a>
-</li>
-<li>AKEYCODE_ESCAPE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac52177e5508edacb8e9c6d3a25db4fb6">keycodes.h</a>
-</li>
-<li>AKEYCODE_EXPLORER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaded9ec81ae6dab451665317723b94083">keycodes.h</a>
-</li>
-<li>AKEYCODE_F
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa455f71ecfe59af0fbd901ac0d0a8d53a">keycodes.h</a>
-</li>
-<li>AKEYCODE_F1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3b84f2c503a9e839f3d36e10e3307fcf">keycodes.h</a>
-</li>
-<li>AKEYCODE_F10
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa60660b13acab39282d0558cdcc93474">keycodes.h</a>
-</li>
-<li>AKEYCODE_F11
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa64cc7b1d8e53d90ff57c39d0b5a4dd22">keycodes.h</a>
-</li>
-<li>AKEYCODE_F12
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa491000231e0ba221b6916b1d9d2c9fb7">keycodes.h</a>
-</li>
-<li>AKEYCODE_F2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1360f7ec66aa6421e240dae637262e84">keycodes.h</a>
-</li>
-<li>AKEYCODE_F3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a4ce6105e12a3a9071cae2f40515085">keycodes.h</a>
-</li>
-<li>AKEYCODE_F4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa882050e4d0f917470a5b91fbf6ae9ebf">keycodes.h</a>
-</li>
-<li>AKEYCODE_F5
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab01807c72b46620bb50fcb6abe24d937">keycodes.h</a>
-</li>
-<li>AKEYCODE_F6
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa04a12e81ed80bb42ef5c63cedf0dc60">keycodes.h</a>
-</li>
-<li>AKEYCODE_F7
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9583b8e4b0d994b7e3a193b67cf6020c">keycodes.h</a>
-</li>
-<li>AKEYCODE_F8
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa55ca54d42d8df70de2ce9031db1344c8">keycodes.h</a>
-</li>
-<li>AKEYCODE_F9
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0c8225c0ef98da730933ae914077dbc9">keycodes.h</a>
-</li>
-<li>AKEYCODE_FOCUS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa23be9506f92f6efe14d47306a39a2187">keycodes.h</a>
-</li>
-<li>AKEYCODE_FORWARD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafbf0a16c7746e5dee2fd3adbd50da88a">keycodes.h</a>
-</li>
-<li>AKEYCODE_FORWARD_DEL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9516bc190d37fea27e07ddab0c607b51">keycodes.h</a>
-</li>
-<li>AKEYCODE_FUNCTION
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1764b777aa56605f4029d3c71fe70722">keycodes.h</a>
-</li>
-<li>AKEYCODE_G
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa165067e10464019411f768bba9e533d9">keycodes.h</a>
-</li>
-<li>AKEYCODE_GRAVE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa929561086ae7b519fa962597bc85f171">keycodes.h</a>
-</li>
-<li>AKEYCODE_GUIDE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf33a5fa1f163245360aeed89d64b0233">keycodes.h</a>
-</li>
-<li>AKEYCODE_H
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad89a91a1500cb162f22962781ebfd9dc">keycodes.h</a>
-</li>
-<li>AKEYCODE_HEADSETHOOK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0d3d29515a4815fe8d6d8d3291507a33">keycodes.h</a>
-</li>
-<li>AKEYCODE_HELP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab062b403701292c9e2db96a1f88cc6d9">keycodes.h</a>
-</li>
-<li>AKEYCODE_HENKAN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab0686dd37c57d833d1158b7f1d85ee02">keycodes.h</a>
-</li>
-<li>AKEYCODE_HOME
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa526c2411b7476b7ae579f57a0378b2dd">keycodes.h</a>
-</li>
-<li>AKEYCODE_I
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4d44b5e4a19580540d8d77bf5755d74b">keycodes.h</a>
-</li>
-<li>AKEYCODE_INFO
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17e76263257a5dc654a413c9dc2fd649">keycodes.h</a>
-</li>
-<li>AKEYCODE_INSERT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa62f663d11e91af750a51ddd060b08644">keycodes.h</a>
-</li>
-<li>AKEYCODE_J
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa70c259612ccec117d70afaef947a6a7a">keycodes.h</a>
-</li>
-<li>AKEYCODE_K
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5ce56cf50d3632c275c524bd78d0d932">keycodes.h</a>
-</li>
-<li>AKEYCODE_KANA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa62d090ae5c95a04dacdff79817dad531">keycodes.h</a>
-</li>
-<li>AKEYCODE_KATAKANA_HIRAGANA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3be7db22b3c8aa046a46631e44863c28">keycodes.h</a>
-</li>
-<li>AKEYCODE_L
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab61c534fd0f4e56c4ba13861a2f5982b">keycodes.h</a>
-</li>
-<li>AKEYCODE_LANGUAGE_SWITCH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7b8e87b47c17c5f1e97fcb56faaa26ff">keycodes.h</a>
-</li>
-<li>AKEYCODE_LAST_CHANNEL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa187963dd6f74b96f132f23e01dea35e9">keycodes.h</a>
-</li>
-<li>AKEYCODE_LEFT_BRACKET
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabdeda0d373aa37ef2ded5ffdfc008708">keycodes.h</a>
-</li>
-<li>AKEYCODE_M
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa43b19e5e5234ce90c8e7ef67dd0cabd1">keycodes.h</a>
-</li>
-<li>AKEYCODE_MANNER_MODE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa380279768c5c50d92bef2a88394f967f">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_AUDIO_TRACK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3cdb53cdf8c576e272502da06daa52e1">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_CLOSE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6788c6e1443140b0ec4d004d8293e998">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_EJECT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa317bffd44306b021c401d3a26b82a7f6">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_FAST_FORWARD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa69e648024402af688d490a2041f15bca">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_NEXT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf5a6c3fc963e8163852b9a23e3a198b3">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_PAUSE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f4e0178c2028b3042b0a5948e38e4e4">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_PLAY
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa615cf6202b0ae0ed550f42f6c64b36a1">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_PLAY_PAUSE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa42f8fe71e8d45b5a83d83d80c3da40e1">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_PREVIOUS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa81432c31b00d47f768c29163eb276acb">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_RECORD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17e1eae0b245176aaa024a53411441f9">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_REWIND
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaecd53183b84c23a2ca65670a23674319">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_STOP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac4faa33993d80db1326073ea15a38e7d">keycodes.h</a>
-</li>
-<li>AKEYCODE_MEDIA_TOP_MENU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf3ddf83cb2f701911b03c3a738e2e73a">keycodes.h</a>
-</li>
-<li>AKEYCODE_MENU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa707b85e89923b0f760be795972a87d76">keycodes.h</a>
-</li>
-<li>AKEYCODE_META_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaaadfb2d920bbe422c096120d39811c58">keycodes.h</a>
-</li>
-<li>AKEYCODE_META_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68038455e2b0846db51f9957e0df9cb8">keycodes.h</a>
-</li>
-<li>AKEYCODE_MINUS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaca10bd34ad0abecfecace908b8cb92ca">keycodes.h</a>
-</li>
-<li>AKEYCODE_MOVE_END
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5605f49f5271430f5f150efb3cd0398a">keycodes.h</a>
-</li>
-<li>AKEYCODE_MOVE_HOME
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7544f3de2fb5f78bec62af94a32fdc58">keycodes.h</a>
-</li>
-<li>AKEYCODE_MUHENKAN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7321e5c6b3cbab142bd16957653b2ac7">keycodes.h</a>
-</li>
-<li>AKEYCODE_MUSIC
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14508751d70a0404b194d4b6df83ec72">keycodes.h</a>
-</li>
-<li>AKEYCODE_MUTE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f6675d38f50e3556a8531839fd83f02">keycodes.h</a>
-</li>
-<li>AKEYCODE_N
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6c0b26804c89560a9e87c45f7f9fed36">keycodes.h</a>
-</li>
-<li>AKEYCODE_NOTIFICATION
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6115506352a5828532fc6a0b91683331">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUM
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe6e880f65bebbdd5246a4164c4ab37a">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUM_LOCK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad5e349eadd3255c6ad4982dc40ed23ef">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_0
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa343df35e6a0ad0599e19b8ef7174909b">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5c0ec8e42917fa9ac53977db3e6aeb17">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4dfd17c2209908e1ec890e10a3211f89">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa1efe1886a4b472b999215c0e81f7386">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1fdd16681c1441b934f679b94fd0e4f8">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_5
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf5916003e7c737a8cc06e52d2ee76c3b">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_6
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa13b83389e0f5de129227af4b8d3f035d">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_7
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaed9468951ef2887c07c8095c2e7d4c93">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_8
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5f0a300566235720eb93fee9f2196642">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_9
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad0c490e3965df546e2d5a83edf423d95">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_ADD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9d2fefa9a3f6037f48b247e66dd28c35">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_COMMA
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa900e3bb0bc4ff70ba786f18ff4db0bd1">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_DIVIDE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaac108b744e8f93af69158d146425236c">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_DOT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6aab6b5914e120b43b3a1a8269e9cee1">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_ENTER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa79432be5f7a44e99ddc3721fd9fd212e">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_EQUALS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c1007a59641499ee5e1508e747c5ed">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_LEFT_PAREN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacc903e9eb495cf6cef7c6bc825f82f54">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_MULTIPLY
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa47ce00b838e7ee0a34066dc2595ac735">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_RIGHT_PAREN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7662e0f2a099239dc69f6a27c7daabf9">keycodes.h</a>
-</li>
-<li>AKEYCODE_NUMPAD_SUBTRACT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa2bee314dbbea0a349eb301d10256bbe">keycodes.h</a>
-</li>
-<li>AKEYCODE_O
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa249667bc4a59d99be1914535877329fb">keycodes.h</a>
-</li>
-<li>AKEYCODE_P
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac68ef56b78bd0c8626cc68bb6cb9156f">keycodes.h</a>
-</li>
-<li>AKEYCODE_PAGE_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0b7fe1c18f53e6328657858a88826393">keycodes.h</a>
-</li>
-<li>AKEYCODE_PAGE_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4fd0d4ea5b6898f4a40011b97a739a04">keycodes.h</a>
-</li>
-<li>AKEYCODE_PAIRING
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0ecddd3dce52cf60c96c5d430b1f553">keycodes.h</a>
-</li>
-<li>AKEYCODE_PERIOD
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9dd68c8ecebd4e274e8c357dcdfe8a04">keycodes.h</a>
-</li>
-<li>AKEYCODE_PICTSYMBOLS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacdc7c004da1594fa156de87befef5f41">keycodes.h</a>
-</li>
-<li>AKEYCODE_PLUS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7f72d867b311e0845aef732dcc66495">keycodes.h</a>
-</li>
-<li>AKEYCODE_POUND
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf448758c44899e41b67f76dfe3be51e9">keycodes.h</a>
-</li>
-<li>AKEYCODE_POWER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabecfbcb9b6f5e85fdfdfa98fbc3326e6">keycodes.h</a>
-</li>
-<li>AKEYCODE_PROG_BLUE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5e82219fdb937fee5a22426c607dd4e0">keycodes.h</a>
-</li>
-<li>AKEYCODE_PROG_GREEN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad50c1e2136e47843a8dabca929f8ead1">keycodes.h</a>
-</li>
-<li>AKEYCODE_PROG_RED
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2d9e3e82e69955f649b586f4518e074c">keycodes.h</a>
-</li>
-<li>AKEYCODE_PROG_YELLOW
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafa813640412bd41a181f0ec3a33dddc4">keycodes.h</a>
-</li>
-<li>AKEYCODE_Q
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa932cf6ea8d87e6d6d97af658dd0fa206">keycodes.h</a>
-</li>
-<li>AKEYCODE_R
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaba25ac2c15a8edbbbff16a9fe6e74532">keycodes.h</a>
-</li>
-<li>AKEYCODE_RIGHT_BRACKET
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa084dfa52626040a08d374f8aec066e6a">keycodes.h</a>
-</li>
-<li>AKEYCODE_RO
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae8b0af04dac5ea56fd55e577fd9e6be4">keycodes.h</a>
-</li>
-<li>AKEYCODE_S
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae1ed25c28a8fce578cddb17ca6888ff6">keycodes.h</a>
-</li>
-<li>AKEYCODE_SCROLL_LOCK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa78ff5c8316235635f76e3c3179e9a7fc">keycodes.h</a>
-</li>
-<li>AKEYCODE_SEARCH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac644fd307fd0ef0d3ed3d2e074c1a4b7">keycodes.h</a>
-</li>
-<li>AKEYCODE_SEMICOLON
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac0a2920161f4f2d97b0b060614b23391">keycodes.h</a>
-</li>
-<li>AKEYCODE_SETTINGS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa2bbd457230c3028df6b91d5bdda9159">keycodes.h</a>
-</li>
-<li>AKEYCODE_SHIFT_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafb9875645596928cec46368e74499dc4">keycodes.h</a>
-</li>
-<li>AKEYCODE_SHIFT_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf9eab1348ae1e8f18ad5bf3c77df4212">keycodes.h</a>
-</li>
-<li>AKEYCODE_SLASH
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa54c047be3811d637a33d9b3e39d16e1a">keycodes.h</a>
-</li>
-<li>AKEYCODE_SLEEP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafc077e5a6b447ea060c144f6e65bd207">keycodes.h</a>
-</li>
-<li>AKEYCODE_SOFT_LEFT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2dc78d3a93876b77402d2a7f02e4b899">keycodes.h</a>
-</li>
-<li>AKEYCODE_SOFT_RIGHT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8cadfbfcaaa83fef168de13639adfcae">keycodes.h</a>
-</li>
-<li>AKEYCODE_SPACE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa10389300ac5d70f8d9733564b3cab4e7">keycodes.h</a>
-</li>
-<li>AKEYCODE_STAR
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1461fbf54e3dcba96e5d6d0638c18305">keycodes.h</a>
-</li>
-<li>AKEYCODE_STB_INPUT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa988b0372359b2bca7390878fdba9e1b5">keycodes.h</a>
-</li>
-<li>AKEYCODE_STB_POWER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab28aea3a51b11c9f227ce8cd5ff55a3d">keycodes.h</a>
-</li>
-<li>AKEYCODE_SWITCH_CHARSET
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad6a1f88b2cc3b6ff8f1724eb01473ec3">keycodes.h</a>
-</li>
-<li>AKEYCODE_SYM
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6c1c6752d5db5e02da51d8937e5e3c6f">keycodes.h</a>
-</li>
-<li>AKEYCODE_SYSRQ
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14e22c69bcd47ffb4445ee18a4332d84">keycodes.h</a>
-</li>
-<li>AKEYCODE_T
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2feac8b458ef8eb9c0a0dd73766927c2">keycodes.h</a>
-</li>
-<li>AKEYCODE_TAB
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1b1bfda850b2acd0b60e8456e2bfa958">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0776ffae512b4848e53fce762a3a5017">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_ANTENNA_CABLE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe33a80d6d3bf889af25cbd77fdb89f9">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_AUDIO_DESCRIPTION
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa419f0adac43cad104cd6cf83dc5f13f6">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5fca6a9ec1ce246bf3c53d859ac9f5eb">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaccc5900ca5dd399d5ce11dd8ca324678">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_CONTENTS_MENU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4c18feeafff3c41081073c025ee017b8">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_DATA_SERVICE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa954c2251b2cb53f47637802cb66baf06">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa1750b29e396bd1fd237ed4aadacc8f5">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_COMPONENT_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa156e2dba81e7c73624ccf8c2ef8833ae">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_COMPONENT_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8db9b6ee1457267abea03430781bb0ec">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_COMPOSITE_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5c3097f14c6582958ba1d14d70115ccd">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_COMPOSITE_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaada13cbb9d619bc610678ad66325647b9">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_HDMI_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a50de965f50ab3aa42772aac0808445">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_HDMI_2
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7ec65c008471d771bf879ec012f5c7f">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_HDMI_3
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a0f267a2696d15bf16127121b1f1c7f">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_HDMI_4
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4437c1d8d2d33058cfa71ec7b2771ec5">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_INPUT_VGA_1
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa149b2c8a4817075c0a41e0adf11c8e85">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_MEDIA_CONTEXT_MENU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaadde70071f6a432f367079efa6e1a6fe">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_NETWORK
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaec5e46a5afc57953d1772e086307aa42">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_NUMBER_ENTRY
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa630a08e07a3b4c6bcac9a1a72d176055">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_POWER
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafda3b0ea1b158831fc443bf4911a3930">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_RADIO_SERVICE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa93dd3fd752701af5a5491e01cc15db72">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_SATELLITE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3707d4396417535a611e4548afe33936">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_SATELLITE_BS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8c52e7d06525c0ee5d943d63a0fa8ea5">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_SATELLITE_CS
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4eea1809a9ff679ed7773332d728c6b0">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_SATELLITE_SERVICE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17c0e68066b86610ff168c6367af36eb">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_TELETEXT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d3d7b89756df37f01d6d0f13beff1db">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_TERRESTRIAL_ANALOG
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14f2b6fe8550832ef9e3f9aa53164073">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_TERRESTRIAL_DIGITAL
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacad8c149251a78760a5fe4931b9cdf16">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_TIMER_PROGRAMMING
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0293c2a63e4d955080334bef6640840">keycodes.h</a>
-</li>
-<li>AKEYCODE_TV_ZOOM_MODE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8e79045045293070c8eb9e408f1335b4">keycodes.h</a>
-</li>
-<li>AKEYCODE_U
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac1a220314f986aae45d7fe3b35501595">keycodes.h</a>
-</li>
-<li>AKEYCODE_UNKNOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa593f8ae18990d627785719284a12a6f">keycodes.h</a>
-</li>
-<li>AKEYCODE_V
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4043bc48fa55cce7825176052d6e199a">keycodes.h</a>
-</li>
-<li>AKEYCODE_VOICE_ASSIST
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa95898663b7f74c93d0b860a43528c744">keycodes.h</a>
-</li>
-<li>AKEYCODE_VOLUME_DOWN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a882dae17080d3b5f3329e79db60c66">keycodes.h</a>
-</li>
-<li>AKEYCODE_VOLUME_MUTE
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa174a5c7c39753235109696e82870c575">keycodes.h</a>
-</li>
-<li>AKEYCODE_VOLUME_UP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5b81e325d9efd633eef7535a5b538882">keycodes.h</a>
-</li>
-<li>AKEYCODE_W
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0c80e98547c3daa01f3d9e7f4f00425">keycodes.h</a>
-</li>
-<li>AKEYCODE_WAKEUP
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa903c5152d26b3011ae521afa06759429">keycodes.h</a>
-</li>
-<li>AKEYCODE_WINDOW
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe7531c40ff4a31614ff6fd61802ebe8">keycodes.h</a>
-</li>
-<li>AKEYCODE_X
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaec585cebac89004faffbdc28dc6d81c5">keycodes.h</a>
-</li>
-<li>AKEYCODE_Y
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa06fc277ef25acdd89d64c18eed0daa9b">keycodes.h</a>
-</li>
-<li>AKEYCODE_YEN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5ee19d21912056b902e283efa2d9d14b">keycodes.h</a>
-</li>
-<li>AKEYCODE_Z
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7439a09f219a0addc13c758ef7508cce">keycodes.h</a>
-</li>
-<li>AKEYCODE_ZENKAKU_HANKAKU
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf782be8df9a8ca5dc86c9bfeabac6f22">keycodes.h</a>
-</li>
-<li>AKEYCODE_ZOOM_IN
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacfce9bb78ef8106dce4868f81cca4fb4">keycodes.h</a>
-</li>
-<li>AKEYCODE_ZOOM_OUT
-: <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacf035f5234c3df4589f35a50e99e0535">keycodes.h</a>
-</li>
-<li>ALOOPER_EVENT_ERROR
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a14016d8f39373b8ce061276a957960f6">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_HANGUP
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a5e7fb5acdecef18b2c293f6309e5d4ab">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_INPUT
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9ae3d18f8dd1faf6f34468df10667949bc">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_INVALID
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9aefe82c6ce8e02d13aceaebdec15c2aff">looper.h</a>
-</li>
-<li>ALOOPER_EVENT_OUTPUT
-: <a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a71273fd07e009057e6e3475d10f8286d">looper.h</a>
-</li>
-<li>ALOOPER_POLL_CALLBACK
-: <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a64fe936780bfd9927affaf8e8cc81cc2">looper.h</a>
-</li>
-<li>ALOOPER_POLL_ERROR
-: <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409af8ebd4022f6f5d5fea864f6999b7e6b4">looper.h</a>
-</li>
-<li>ALOOPER_POLL_TIMEOUT
-: <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a3fe4eec66dff78a9fa8afca02e8b8443">looper.h</a>
-</li>
-<li>ALOOPER_POLL_WAKE
-: <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a55528f1b28df17cc4b6317cc0d0fde47">looper.h</a>
-</li>
-<li>ALOOPER_PREPARE_ALLOW_NON_CALLBACKS
-: <a class="el" href="group___looper.html#ggaf9bdc3014f3d54c426b6d2df10de4960a1fff26ab5859b0308b58a3f8d58ef1eb">looper.h</a>
-</li>
-<li>AMETA_ALT_LEFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca256c74b768ecee57e3218e81ae6945df">input.h</a>
-</li>
-<li>AMETA_ALT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caba44b1077427e4da1d202e0c8f772881">input.h</a>
-</li>
-<li>AMETA_ALT_RIGHT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca985db074c0f44749ca86b5cc0454056a">input.h</a>
-</li>
-<li>AMETA_CAPS_LOCK_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafc467c98d509b0de28b298801a0c3e37">input.h</a>
-</li>
-<li>AMETA_CTRL_LEFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca752c837afd5ff0fcf75ddee7b6808be6">input.h</a>
-</li>
-<li>AMETA_CTRL_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cabe927318a2a11a46be3e9d78dbd81ef5">input.h</a>
-</li>
-<li>AMETA_CTRL_RIGHT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca0ab007e367ae136b873b3e6636747419">input.h</a>
-</li>
-<li>AMETA_FUNCTION_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca545b31b72b0454c22c170ff534ddfdf1">input.h</a>
-</li>
-<li>AMETA_META_LEFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca6f923de8f2cd72e3ad86149c0747906f">input.h</a>
-</li>
-<li>AMETA_META_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca9c04e7c2ad1f0f41af60402188a29c4a">input.h</a>
-</li>
-<li>AMETA_META_RIGHT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafdf56d1259ae16c97161c443d7949bdf">input.h</a>
-</li>
-<li>AMETA_NONE
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cae0a3cb26517b3f876beb37594494526d">input.h</a>
-</li>
-<li>AMETA_NUM_LOCK_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca15d234534a6870add5594f02b7333dc6">input.h</a>
-</li>
-<li>AMETA_SCROLL_LOCK_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafe8dacdc6566f655a3eab73ea4a9af5a">input.h</a>
-</li>
-<li>AMETA_SHIFT_LEFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caa01fa027cdd8951530437bcbe04c3ed7">input.h</a>
-</li>
-<li>AMETA_SHIFT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caa3d5f49c3a55b653a94c798a2c93b197">input.h</a>
-</li>
-<li>AMETA_SHIFT_RIGHT_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cac52930581c339216218a6f50c5b57aa1">input.h</a>
-</li>
-<li>AMETA_SYM_ON
-: <a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca8af1e90950a728baca807a83e50b22ea">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_CANCEL
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a3952b960f5eb8c4f55b42741e286b74e">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_DOWN
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a225e61c48ba334abc1b5811db02edcf1">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_HOVER_ENTER
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a247b2c60ad92f3130ad43c907986ffb3">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_HOVER_EXIT
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600ac00b1eacfbea779863abf3fcf02134aa">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_HOVER_MOVE
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a84bc9fb3c01ff7ca9ee452a510e7de60">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_MASK
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600abf84a22c84d4b7228102b80f3af92a4f">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_MOVE
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a41c56c4e772953fce60c93bc671639a3">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_OUTSIDE
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a7c3c96b74af4c8304b8137ac6d201517">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_POINTER_DOWN
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a1618c641fd3f49fa7483f298d05b3cd2">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_POINTER_INDEX_MASK
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a51384339fbb57c0087f7f50c45d9cff3">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_POINTER_UP
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600af2ef56aa7220eeb2073b9b028737bc1e">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_SCROLL
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a45ba62b1e6fab4e84d5782d7c35ced04">input.h</a>
-</li>
-<li>AMOTION_EVENT_ACTION_UP
-: <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a43798b2b7a6de4616d150b2438b8419e">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_BRAKE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae3a99764f3681dd9e094852bb2489ece">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_DISTANCE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae800909411a1e83173b0eef7aa458d0e">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GAS
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab0223f235a6044815918af2abafcbf16">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_1
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadcc18afd3a7069412617df34db5a27bc">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_10
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da29ba08f4ddc658e0127ee5bc08d185f2">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_11
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafc64a4b307f62bb12b645918aa7edb57">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_12
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae5d32b3e9cec4936ae1e074f320c3063">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_13
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5f19f5bc52e5eaec5ebd4f07aad12180">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_14
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadb866d826ecf25161d7c7f86166e149b">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_15
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da7e86befc8502b8df687284f3c40b2eca">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_16
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daaaa011ba929b18c6da71153638f92336">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_2
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dac4addf06abfa6c76f0578ddde049aad5">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_3
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dac7df57ef5082e10be83f66d7477bce9c">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_4
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da321873d126b7d545665096694cb7d9d9">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_5
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da9b47cef7060197e1b0302a8a718c3085">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_6
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daad7e47a1b5fb66864b6d988374f50a84">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_7
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da222c06f51a60e59504b635dbf89a025b">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_8
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab59a8a373a913e40b146ed762976d6fe">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_GENERIC_9
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da721fa0fbca8b22f1ecc8d3870f4e7443">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_HAT_X
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da04245c76cb9b32dcba920661f11ac9da">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_HAT_Y
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da98c323321d908db459e7cf86a7e8a482">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_HSCROLL
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da92955e6b0f3f82af66a505c854e9edff">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_LTRIGGER
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae4c65c3b1bd2946ff9e18c6041cdb591">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_ORIENTATION
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da114f2b3fc233ccf7a4470787c31457d2">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_PRESSURE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da3b4fd0f17cfdeb6a055babecd2b0ded8">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RTRIGGER
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da116e80c6be166290ca481fefa5de38c1">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RUDDER
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da318a0782f895949407fc192fc4280257">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RX
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da689b612864177d6b57d4181442e3e38e">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RY
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa20188da209300e1f80f6f5bd4058e13">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_RZ
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da381948b3321afd390ad164345eb9206b">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_SIZE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da4baba3ccaec881089a864ba6deaf8bd6">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_THROTTLE
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da6d1f5d64e607104964eb43d8fae07a4f">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TILT
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafca0a235f69c4b38bfc95e7a7b8d9ab1">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TOOL_MAJOR
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa273d64c392f86ae789fd5e24661ba0a">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TOOL_MINOR
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadebd200b37ffaf36b94e7e478c559142">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TOUCH_MAJOR
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da792b9e01044a2e43e7f80e5559db20c2">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_TOUCH_MINOR
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa8b24b0f01f24898a36e5751c8eca63c">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_VSCROLL
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dad11be04b4b81715cad905ee9fa348e99">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_WHEEL
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab0ae83ebd74e672bb35378b92a440b1d">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_X
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5f4b5b009634039a1f361048a5fc6064">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_Y
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da64f7de8558265bd8179d206eb33eff6c">input.h</a>
-</li>
-<li>AMOTION_EVENT_AXIS_Z
-: <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5a689e572da9bc5feafcb6c011368305">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_BACK
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a1841d075a2992ff7fbefa3fd50189b86">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_FORWARD
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a4105edf43f7748c52c859cc5aa7dc438">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_PRIMARY
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8ab388f65477b9dd4c51e6367111168d65">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_SECONDARY
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a08118700ecb4e147528a0e725afc9451">input.h</a>
-</li>
-<li>AMOTION_EVENT_BUTTON_TERTIARY
-: <a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8ae6e2af1e7065e035e8a10a595827180f">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_BOTTOM
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388ad8b662839787e1c7dd2616f32c02aaeb">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_LEFT
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388afb70c13f16daade25ba8132a5ea3cf52">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_NONE
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a37dd7496968e6defbecc3c8d6ab2734d">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_RIGHT
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a7d45674e03f1876a43d4810508905078">input.h</a>
-</li>
-<li>AMOTION_EVENT_EDGE_FLAG_TOP
-: <a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a915e1ade9b600d11a3c70a17a88de757">input.h</a>
-</li>
-<li>AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED
-: <a class="el" href="group___input.html#ggab04a0655cd1e3bcac5e8f48c18df1a57a200623e1e4eee7797cad30917d289d7a">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_ERASER
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eaf9932f65b5b6b5800fb5873a60dbf0cb">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_FINGER
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eafd789262defb8a268fa80d26b0c30bcc">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_MOUSE
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9ea7be0c750d7d6719e7c948914400ae0de">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_STYLUS
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eaf05dc95a74e560c89cec1f3100185fc7">input.h</a>
-</li>
-<li>AMOTION_EVENT_TOOL_TYPE_UNKNOWN
-: <a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9ea7e1ea0c955ebbac1349866e8995e0208">input.h</a>
-</li>
-<li>ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY
-: <a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a642e76508cc737bbc1df149756c2a807">native_activity.h</a>
-</li>
-<li>ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS
-: <a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a0f4cbb55fa4c29b963b7b37d13352e6f">native_activity.h</a>
-</li>
-<li>ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED
-: <a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a324062ac78fab16b40e8de1b1ae173b5">native_activity.h</a>
-</li>
-<li>ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT
-: <a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a9b7250ac0e5a626a81b176462a9df7c9">native_activity.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_A_8
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ad29996be25f8f88c96e016a1da5c4bca">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_NONE
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ac6f0378ea5cfefd9abee2596af5a9021">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_RGB_565
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13a11b32e10d6db28fae70ec3590cb9ee91">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_RGBA_4444
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13adc2ede06eafe20439271cb8137dc7528">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_FORMAT_RGBA_8888
-: <a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ab92ae96ceea06aa534583beadba84057">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESULT_ALLOCATION_FAILED
-: <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a512f5b95b6b57e78d65502c06391f990">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESULT_BAD_PARAMETER
-: <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7acf7205d1a348d867c63ac2885ce01374">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESULT_JNI_EXCEPTION
-: <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6b099b9533c38729a6c305f2fe93f98d">bitmap.h</a>
-</li>
-<li>ANDROID_BITMAP_RESULT_SUCCESS
-: <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076">bitmap.h</a>
-</li>
-<li>AOBB_STATE_ERROR_ALREADY_MOUNTED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a8b074af151167a965a550b9829fafb37">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_COULD_NOT_MOUNT
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a324da2b8fea5875339d442d1f2d0b45b">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_COULD_NOT_UNMOUNT
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a1f2b51b53fc57b57a9967f6ce0c88dbe">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_INTERNAL
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a50642881107d6673aace1494a5d6fce2">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_NOT_MOUNTED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a3ce8539aa8b531c9de1d16041322d7a8">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_ERROR_PERMISSION_DENIED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2467a4b6a634680e12c288a7790ff66c">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_MOUNTED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2a9c420e6008c108a7198fd861c042d5">storage_manager.h</a>
-</li>
-<li>AOBB_STATE_UNMOUNTED
-: <a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a6710bb5b68cfc115eedcde2aafd8a667">storage_manager.h</a>
-</li>
-<li>AOBBINFO_OVERLAY
-: <a class="el" href="group___storage.html#ggae4d5251432e1a9e6803c0240cc492e18a33e2ae83b4c25d33a4335dccf1de1c3a">obb.h</a>
-</li>
-<li>AREPORTING_MODE_CONTINUOUS
-: <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa8a64337fcb7e338d487dc3edc873df1c">sensor.h</a>
-</li>
-<li>AREPORTING_MODE_ON_CHANGE
-: <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa8542165ae195bf5784cdd9ba66bd2ab5">sensor.h</a>
-</li>
-<li>AREPORTING_MODE_ONE_SHOT
-: <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa002273a1ab874159a38a7e3f6bb6a7bb">sensor.h</a>
-</li>
-<li>AREPORTING_MODE_SPECIAL_TRIGGER
-: <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181faa2d29656b35889c4c23318982e847ae7">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_ACCURACY_HIGH
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8a2df5fb4e8b684e6a801a4aff9f50ba13">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_ACCURACY_LOW
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8a5f306f3d45a19573539462e4c813edc0">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_ACCURACY_MEDIUM
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ad7e9379a4f36a42f2659cd7aec214f2d">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_NO_CONTACT
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ae5d0475bd9491c4232a09afc81fa283d">sensor.h</a>
-</li>
-<li>ASENSOR_STATUS_UNRELIABLE
-: <a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ae8e43df50b7b85ed54f22c40f2cd748e">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_ACCELEROMETER
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167bad72017f34c12971593a8cb14f4f254df">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_GYROSCOPE
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba80e9827f6c3ded009f354dc7078a2c68">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_LIGHT
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba105331b6dea6f08e0d8fe3b736f8c174">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_MAGNETIC_FIELD
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba3b31509a3efebafb413e78f5ec9ae0e8">sensor.h</a>
-</li>
-<li>ASENSOR_TYPE_PROXIMITY
-: <a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba0c6a2e526ed2e4442b3843976f906932">sensor.h</a>
-</li>
-<li>AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa67363c129036872bc9dd29557e807508">window.h</a>
-</li>
-<li>AWINDOW_FLAG_ALT_FOCUSABLE_IM
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa961ff4c9c0903cfb8867d961bebe1659">window.h</a>
-</li>
-<li>AWINDOW_FLAG_BLUR_BEHIND
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa0377f46a626d411ace179c1c27d0a3f7">window.h</a>
-</li>
-<li>AWINDOW_FLAG_DIM_BEHIND
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6155e77ae4e12cc56fb3f6f55f56bf6f">window.h</a>
-</li>
-<li>AWINDOW_FLAG_DISMISS_KEYGUARD
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa37c1077a12f1c8c6805b1da6f7bb213a">window.h</a>
-</li>
-<li>AWINDOW_FLAG_DITHER
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae73488b436aaea163ba2f7051bf93d9d">window.h</a>
-</li>
-<li>AWINDOW_FLAG_FORCE_NOT_FULLSCREEN
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa4c21235db629d3937f87ffe98cd6fe5d">window.h</a>
-</li>
-<li>AWINDOW_FLAG_FULLSCREEN
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaca1f1d91313d7c32bb7982d8a5abcd71">window.h</a>
-</li>
-<li>AWINDOW_FLAG_IGNORE_CHEEK_PRESSES
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaa2fe4ee2307bb814a37a043de6d7d326">window.h</a>
-</li>
-<li>AWINDOW_FLAG_KEEP_SCREEN_ON
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8">window.h</a>
-</li>
-<li>AWINDOW_FLAG_LAYOUT_IN_SCREEN
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6978968d7e0dc1a0e12f58ad395a959a">window.h</a>
-</li>
-<li>AWINDOW_FLAG_LAYOUT_INSET_DECOR
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa97b8542941bfe613bcf92357be89b563">window.h</a>
-</li>
-<li>AWINDOW_FLAG_LAYOUT_NO_LIMITS
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffade9722581a203ee0db25d42f4d2bd389">window.h</a>
-</li>
-<li>AWINDOW_FLAG_NOT_FOCUSABLE
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">window.h</a>
-</li>
-<li>AWINDOW_FLAG_NOT_TOUCH_MODAL
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09">window.h</a>
-</li>
-<li>AWINDOW_FLAG_NOT_TOUCHABLE
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae9f1278ffa6fe9c12c2305d4f4de1450">window.h</a>
-</li>
-<li>AWINDOW_FLAG_SCALED
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa80316264eeae9681a56c1a2297bf465a">window.h</a>
-</li>
-<li>AWINDOW_FLAG_SECURE
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa8ff70709a588a05781d7cb178b526cc0">window.h</a>
-</li>
-<li>AWINDOW_FLAG_SHOW_WALLPAPER
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa952ae6ceebe94d3f0d666454548b8824">window.h</a>
-</li>
-<li>AWINDOW_FLAG_SHOW_WHEN_LOCKED
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">window.h</a>
-</li>
-<li>AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5574a513645e6e7cb4d6a9f4a043d773">window.h</a>
-</li>
-<li>AWINDOW_FLAG_TURN_SCREEN_ON
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffac4deee26ac742bbd0bb4c44fda140a01">window.h</a>
-</li>
-<li>AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH
-: <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa35229f75b3309bafdd828cbbf27d05b6">window.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals_eval_w.jd b/docs/html/ndk/reference/globals_eval_w.jd
deleted file mode 100644
index c996d30..0000000
--- a/docs/html/ndk/reference/globals_eval_w.jd
+++ /dev/null
@@ -1,20 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
-<li>WINDOW_FORMAT_RGB_565
-: <a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310ab26fa9c38f169263b611a8b757bb0259">native_window.h</a>
-</li>
-<li>WINDOW_FORMAT_RGBA_8888
-: <a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a6a165383340acce0b32c555dd2ac2c01">native_window.h</a>
-</li>
-<li>WINDOW_FORMAT_RGBX_8888
-: <a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a5f83a97ccf64fc1554c220476e8aaf30">native_window.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals_func.jd b/docs/html/ndk/reference/globals_func.jd
deleted file mode 100644
index ae48353..0000000
--- a/docs/html/ndk/reference/globals_func.jd
+++ /dev/null
@@ -1,551 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-&#160;
-
-<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
-<li>AAsset_close()
-: <a class="el" href="group___asset.html#ga1f241e49f691dafcada23bcb76155122">asset_manager.h</a>
-</li>
-<li>AAsset_getBuffer()
-: <a class="el" href="group___asset.html#ga553a14512a98542306238c3ce70d344f">asset_manager.h</a>
-</li>
-<li>AAsset_getLength()
-: <a class="el" href="group___asset.html#gaad8ec42e28522ebc72d3a5c357f9a600">asset_manager.h</a>
-</li>
-<li>AAsset_getLength64()
-: <a class="el" href="group___asset.html#ga55c8bc459327d5d23089e6a4b453f3f1">asset_manager.h</a>
-</li>
-<li>AAsset_getRemainingLength()
-: <a class="el" href="group___asset.html#gae806f55cbc4a93ca245f2adfd63d3eee">asset_manager.h</a>
-</li>
-<li>AAsset_getRemainingLength64()
-: <a class="el" href="group___asset.html#ga21e7221d88dcc44106843192b66755b5">asset_manager.h</a>
-</li>
-<li>AAsset_isAllocated()
-: <a class="el" href="group___asset.html#ga20344cb952a77fa1004f592fb1b55124">asset_manager.h</a>
-</li>
-<li>AAsset_openFileDescriptor()
-: <a class="el" href="group___asset.html#ga1af4ffd050016e99961e24f550981677">asset_manager.h</a>
-</li>
-<li>AAsset_openFileDescriptor64()
-: <a class="el" href="group___asset.html#ga123a44a575f85d91a00a8456dab7bd0a">asset_manager.h</a>
-</li>
-<li>AAsset_read()
-: <a class="el" href="group___asset.html#gaadd86322c1fda5121b6d33745c317fb9">asset_manager.h</a>
-</li>
-<li>AAsset_seek()
-: <a class="el" href="group___asset.html#gacc026a8bedeb1ef80bf12df3b72611a2">asset_manager.h</a>
-</li>
-<li>AAsset_seek64()
-: <a class="el" href="group___asset.html#ga81fbe4368de24a3296ef7a6eba0053c7">asset_manager.h</a>
-</li>
-<li>AAssetDir_close()
-: <a class="el" href="group___asset.html#gace1c4d0da274d643c5b10ca218cc6088">asset_manager.h</a>
-</li>
-<li>AAssetDir_getNextFileName()
-: <a class="el" href="group___asset.html#ga4703b9f7baa3daeba248b6547de6b9b0">asset_manager.h</a>
-</li>
-<li>AAssetDir_rewind()
-: <a class="el" href="group___asset.html#ga45db6d19ad5e1c0f9b2e6b4059da14b3">asset_manager.h</a>
-</li>
-<li>AAssetManager_fromJava()
-: <a class="el" href="group___asset.html#gadfd6537af41577735bcaee52120127f4">asset_manager_jni.h</a>
-</li>
-<li>AAssetManager_open()
-: <a class="el" href="group___asset.html#ga0037ce3c10a591fe632f34c1aa62955c">asset_manager.h</a>
-</li>
-<li>AAssetManager_openDir()
-: <a class="el" href="group___asset.html#gab5b57ff012d6d1024d8bf5d30aedced4">asset_manager.h</a>
-</li>
-<li>AConfiguration_copy()
-: <a class="el" href="group___configuration.html#gaabff04218a0a76afb8d3ea551b001565">configuration.h</a>
-</li>
-<li>AConfiguration_delete()
-: <a class="el" href="group___configuration.html#ga60fe264b97da84d3370eb9e220159e6d">configuration.h</a>
-</li>
-<li>AConfiguration_diff()
-: <a class="el" href="group___configuration.html#gabfe69b0dccae425a16fe94d084f20402">configuration.h</a>
-</li>
-<li>AConfiguration_fromAssetManager()
-: <a class="el" href="group___configuration.html#ga75e061fd0b4f761e08e43af36508c4f3">configuration.h</a>
-</li>
-<li>AConfiguration_getCountry()
-: <a class="el" href="group___configuration.html#gad2b47f787012a82a67a20e5de5211d46">configuration.h</a>
-</li>
-<li>AConfiguration_getDensity()
-: <a class="el" href="group___configuration.html#ga4c994e0555947340582094c3da32a663">configuration.h</a>
-</li>
-<li>AConfiguration_getKeyboard()
-: <a class="el" href="group___configuration.html#gafd0f76ccd4fe4bda5172b8e0bc6675e4">configuration.h</a>
-</li>
-<li>AConfiguration_getKeysHidden()
-: <a class="el" href="group___configuration.html#ga7a8317ab975f621f3fe62ed1b44f2605">configuration.h</a>
-</li>
-<li>AConfiguration_getLanguage()
-: <a class="el" href="group___configuration.html#ga7b004c13448704afb0ea2040d69468c1">configuration.h</a>
-</li>
-<li>AConfiguration_getLayoutDirection()
-: <a class="el" href="group___configuration.html#ga13dbf2fc9a382c62b391e7de9cf9b468">configuration.h</a>
-</li>
-<li>AConfiguration_getMcc()
-: <a class="el" href="group___configuration.html#ga1e78004237a931086d2ae4bd8324bd30">configuration.h</a>
-</li>
-<li>AConfiguration_getMnc()
-: <a class="el" href="group___configuration.html#ga4783776a4fad4501898472375d781fb9">configuration.h</a>
-</li>
-<li>AConfiguration_getNavHidden()
-: <a class="el" href="group___configuration.html#gafe8d3a9c2f715ea76c8e4a99c2db9eaa">configuration.h</a>
-</li>
-<li>AConfiguration_getNavigation()
-: <a class="el" href="group___configuration.html#gae3ff1541b63f5b9256f7c0ebae372977">configuration.h</a>
-</li>
-<li>AConfiguration_getOrientation()
-: <a class="el" href="group___configuration.html#gaa7d8e3e9871dc925fef3e342a92e4e22">configuration.h</a>
-</li>
-<li>AConfiguration_getScreenHeightDp()
-: <a class="el" href="group___configuration.html#ga9905a4765f8d0d921c476ebce01c7648">configuration.h</a>
-</li>
-<li>AConfiguration_getScreenLong()
-: <a class="el" href="group___configuration.html#gab7d1f5aa59e8fa4db0a1b91bb322034c">configuration.h</a>
-</li>
-<li>AConfiguration_getScreenSize()
-: <a class="el" href="group___configuration.html#ga9d2c1b8731795d8e74be7e23cbc77552">configuration.h</a>
-</li>
-<li>AConfiguration_getScreenWidthDp()
-: <a class="el" href="group___configuration.html#ga61e5fe9612c170c33e1c7e9fb92f2219">configuration.h</a>
-</li>
-<li>AConfiguration_getSdkVersion()
-: <a class="el" href="group___configuration.html#ga4aa7062198e5aacd9fabb04d0453dd91">configuration.h</a>
-</li>
-<li>AConfiguration_getSmallestScreenWidthDp()
-: <a class="el" href="group___configuration.html#ga7fc015e41fad342edba66a003d9848aa">configuration.h</a>
-</li>
-<li>AConfiguration_getTouchscreen()
-: <a class="el" href="group___configuration.html#gad305e6cf86fa915c24212e71bb2bf027">configuration.h</a>
-</li>
-<li>AConfiguration_getUiModeNight()
-: <a class="el" href="group___configuration.html#ga447f16a9e4f8400e5e0328900749ff16">configuration.h</a>
-</li>
-<li>AConfiguration_getUiModeType()
-: <a class="el" href="group___configuration.html#ga1d75777892f38208feb3d2a94a977fcf">configuration.h</a>
-</li>
-<li>AConfiguration_isBetterThan()
-: <a class="el" href="group___configuration.html#gafd2bb31057c8d57efcea7603458d2a8d">configuration.h</a>
-</li>
-<li>AConfiguration_match()
-: <a class="el" href="group___configuration.html#gafb27b901a1d7d44ed866608fb8399a18">configuration.h</a>
-</li>
-<li>AConfiguration_new()
-: <a class="el" href="group___configuration.html#ga9543655922980466eb05c7be94a0a567">configuration.h</a>
-</li>
-<li>AConfiguration_setCountry()
-: <a class="el" href="group___configuration.html#gac2f5d414a6466634b1639b5c6f8879ac">configuration.h</a>
-</li>
-<li>AConfiguration_setDensity()
-: <a class="el" href="group___configuration.html#ga9217af9858a7166dcb9a877192779eac">configuration.h</a>
-</li>
-<li>AConfiguration_setKeyboard()
-: <a class="el" href="group___configuration.html#ga4ab3429c5505c108c09349f1ddef572f">configuration.h</a>
-</li>
-<li>AConfiguration_setKeysHidden()
-: <a class="el" href="group___configuration.html#ga5a80a02aa10cfa17de0795054e927183">configuration.h</a>
-</li>
-<li>AConfiguration_setLanguage()
-: <a class="el" href="group___configuration.html#ga1f3c6cf6667655f83777acda7387ddff">configuration.h</a>
-</li>
-<li>AConfiguration_setLayoutDirection()
-: <a class="el" href="group___configuration.html#gaaf47215cf551594f8c2a0594419b47e1">configuration.h</a>
-</li>
-<li>AConfiguration_setMcc()
-: <a class="el" href="group___configuration.html#gae6198b4eaf3e34168f4b13b8b5975d93">configuration.h</a>
-</li>
-<li>AConfiguration_setMnc()
-: <a class="el" href="group___configuration.html#gaaf060ef69c3636f62e90ae0b520eecb8">configuration.h</a>
-</li>
-<li>AConfiguration_setNavHidden()
-: <a class="el" href="group___configuration.html#ga67e86e0347596421771af841710308d5">configuration.h</a>
-</li>
-<li>AConfiguration_setNavigation()
-: <a class="el" href="group___configuration.html#gad21dd14fb823a6a80b66132a05ce8913">configuration.h</a>
-</li>
-<li>AConfiguration_setOrientation()
-: <a class="el" href="group___configuration.html#gadcaa8540bad4172a74032143bcaade04">configuration.h</a>
-</li>
-<li>AConfiguration_setScreenHeightDp()
-: <a class="el" href="group___configuration.html#ga6ffac3b41415ec8a3031737ccdcd63b8">configuration.h</a>
-</li>
-<li>AConfiguration_setScreenLong()
-: <a class="el" href="group___configuration.html#gaed853ab7e2bc915591d05997130bc448">configuration.h</a>
-</li>
-<li>AConfiguration_setScreenSize()
-: <a class="el" href="group___configuration.html#ga7bcf05150933ead34a01061d05ad3245">configuration.h</a>
-</li>
-<li>AConfiguration_setScreenWidthDp()
-: <a class="el" href="group___configuration.html#gafc51d45679095965fe3ba1abd402f120">configuration.h</a>
-</li>
-<li>AConfiguration_setSdkVersion()
-: <a class="el" href="group___configuration.html#ga06c66072902ee455011120188ca4810b">configuration.h</a>
-</li>
-<li>AConfiguration_setSmallestScreenWidthDp()
-: <a class="el" href="group___configuration.html#ga6b004c9585671efc5cebd96c1d43c4f0">configuration.h</a>
-</li>
-<li>AConfiguration_setTouchscreen()
-: <a class="el" href="group___configuration.html#ga0d51dbe710c1afe31ece4dd6a8c188ff">configuration.h</a>
-</li>
-<li>AConfiguration_setUiModeNight()
-: <a class="el" href="group___configuration.html#ga08df1e801afbe4a12411e393b8141e42">configuration.h</a>
-</li>
-<li>AConfiguration_setUiModeType()
-: <a class="el" href="group___configuration.html#gaec61e3cf91cd79e8b76a35bbcb15789d">configuration.h</a>
-</li>
-<li>AInputEvent_getDeviceId()
-: <a class="el" href="group___input.html#ga9dd3fd81e51dbfde19ab861541242aa1">input.h</a>
-</li>
-<li>AInputEvent_getSource()
-: <a class="el" href="group___input.html#gac90d4b497669dbc709ec9650db4e49be">input.h</a>
-</li>
-<li>AInputEvent_getType()
-: <a class="el" href="group___input.html#ga8292ae06aa8120c52d7380d228600b9c">input.h</a>
-</li>
-<li>AInputQueue_attachLooper()
-: <a class="el" href="group___input.html#ga900711156bfb58d1a4b158da7874930f">input.h</a>
-</li>
-<li>AInputQueue_detachLooper()
-: <a class="el" href="group___input.html#gaeebe9f83392ac79b31ca40a6fd4dbeff">input.h</a>
-</li>
-<li>AInputQueue_finishEvent()
-: <a class="el" href="group___input.html#ga17e87e0f35d47d729eac31a0dfb1ac33">input.h</a>
-</li>
-<li>AInputQueue_getEvent()
-: <a class="el" href="group___input.html#ga88de12e2b39787ba7d3e4ce2ea46a48c">input.h</a>
-</li>
-<li>AInputQueue_hasEvents()
-: <a class="el" href="group___input.html#ga2b72ad6ab5ef656e8c41163aa7871c96">input.h</a>
-</li>
-<li>AInputQueue_preDispatchEvent()
-: <a class="el" href="group___input.html#gadecd32e6c7aefa4a508b355550d3eaa9">input.h</a>
-</li>
-<li>AKeyEvent_getAction()
-: <a class="el" href="group___input.html#ga36ec0b59f98f86a7ca263ba91279896d">input.h</a>
-</li>
-<li>AKeyEvent_getDownTime()
-: <a class="el" href="group___input.html#gaf475b6f0860bdfca4ceea7bc46eab1a9">input.h</a>
-</li>
-<li>AKeyEvent_getEventTime()
-: <a class="el" href="group___input.html#gae3eac7d68195d1767c947ca267842696">input.h</a>
-</li>
-<li>AKeyEvent_getFlags()
-: <a class="el" href="group___input.html#ga2a18e98efe0c4ccb6f39bb13c555010e">input.h</a>
-</li>
-<li>AKeyEvent_getKeyCode()
-: <a class="el" href="group___input.html#ga6b01ecd60018a5445f4917a861ca9466">input.h</a>
-</li>
-<li>AKeyEvent_getMetaState()
-: <a class="el" href="group___input.html#gabdda62b40b22727af2fb41740bf4787b">input.h</a>
-</li>
-<li>AKeyEvent_getRepeatCount()
-: <a class="el" href="group___input.html#ga5358fe3ebbd4b5b2f88a4ad2eba6f885">input.h</a>
-</li>
-<li>AKeyEvent_getScanCode()
-: <a class="el" href="group___input.html#ga4a0a846b7a195aeb290dfcd2250137d9">input.h</a>
-</li>
-<li>ALooper_acquire()
-: <a class="el" href="group___looper.html#gae1ad7ac48ab01a34bfd25840c92ff07b">looper.h</a>
-</li>
-<li>ALooper_addFd()
-: <a class="el" href="group___looper.html#ga2668285bfadcf21ef4d371568a30be33">looper.h</a>
-</li>
-<li>ALooper_forThread()
-: <a class="el" href="group___looper.html#ga741ccd90a0eb9209c6bddf2326d89e4a">looper.h</a>
-</li>
-<li>ALooper_pollAll()
-: <a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">looper.h</a>
-</li>
-<li>ALooper_pollOnce()
-: <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">looper.h</a>
-</li>
-<li>ALooper_prepare()
-: <a class="el" href="group___looper.html#ga1a070b904dd957cc65af9eb5ef6dfa25">looper.h</a>
-</li>
-<li>ALooper_release()
-: <a class="el" href="group___looper.html#gab723c3c2ac2c66bc695913a194073727">looper.h</a>
-</li>
-<li>ALooper_removeFd()
-: <a class="el" href="group___looper.html#gaf7d68ed05698b251489b4f6c8e54daad">looper.h</a>
-</li>
-<li>ALooper_wake()
-: <a class="el" href="group___looper.html#gab2585652f8ae2e2444979194ebe32aaf">looper.h</a>
-</li>
-<li>AMotionEvent_getAction()
-: <a class="el" href="group___input.html#ga73ea2093cc2343675ac43dd08bef4247">input.h</a>
-</li>
-<li>AMotionEvent_getAxisValue()
-: <a class="el" href="group___input.html#ga9d364cdcebf85237f599b25861f38c21">input.h</a>
-</li>
-<li>AMotionEvent_getButtonState()
-: <a class="el" href="group___input.html#ga1aa7ebb749416491b6f0c55ae87ddf49">input.h</a>
-</li>
-<li>AMotionEvent_getDownTime()
-: <a class="el" href="group___input.html#gad44be7697e68891688cd7bcfaffec209">input.h</a>
-</li>
-<li>AMotionEvent_getEdgeFlags()
-: <a class="el" href="group___input.html#gad7e1f0caa4c27194d4a8756a18432299">input.h</a>
-</li>
-<li>AMotionEvent_getEventTime()
-: <a class="el" href="group___input.html#ga7e13fbf3cff0700b0b620284ebdd3a33">input.h</a>
-</li>
-<li>AMotionEvent_getFlags()
-: <a class="el" href="group___input.html#ga2891d19197c070207098fa48adeb35af">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalAxisValue()
-: <a class="el" href="group___input.html#ga7ca740e1324f3cdb934252dce0c982d0">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalEventTime()
-: <a class="el" href="group___input.html#ga523f1a760754206965b42b08d62f9346">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalOrientation()
-: <a class="el" href="group___input.html#gaab9cb8fa670175ecc73c75eed4e5cd3f">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalPressure()
-: <a class="el" href="group___input.html#gaa8e9352ee5b043b3e1b6e2062d491010">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalRawX()
-: <a class="el" href="group___input.html#ga5d36c2e7420001c86ae2aa1168fe6f83">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalRawY()
-: <a class="el" href="group___input.html#ga6deb0e7690a93aa53e5872c2691b69fe">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalSize()
-: <a class="el" href="group___input.html#ga0a04bb7ec12928db7e62645e7fad3a9e">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalToolMajor()
-: <a class="el" href="group___input.html#ga160a5830e791e8c42ae97f51b92233d2">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalToolMinor()
-: <a class="el" href="group___input.html#gafe01aa7576a6d1bce750fb8482355849">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalTouchMajor()
-: <a class="el" href="group___input.html#gaf437f223668b97f19ebdbad4b9cf4483">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalTouchMinor()
-: <a class="el" href="group___input.html#ga126715d966e989652aa1ae5d38e0e898">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalX()
-: <a class="el" href="group___input.html#ga49a8ca89ff377b5ed2355e8d7220ae07">input.h</a>
-</li>
-<li>AMotionEvent_getHistoricalY()
-: <a class="el" href="group___input.html#ga30fc4e5d3ce144955859f8c97b51b73d">input.h</a>
-</li>
-<li>AMotionEvent_getHistorySize()
-: <a class="el" href="group___input.html#ga0aef34c236db6d7a56a50bf590be7bcc">input.h</a>
-</li>
-<li>AMotionEvent_getMetaState()
-: <a class="el" href="group___input.html#ga5644f0d952e3dea57ba9f7ce51dff2bb">input.h</a>
-</li>
-<li>AMotionEvent_getOrientation()
-: <a class="el" href="group___input.html#gad28422998da15b789edcba6b8bc5d615">input.h</a>
-</li>
-<li>AMotionEvent_getPointerCount()
-: <a class="el" href="group___input.html#ga612e68d104adbc6d14d87510e8066bd8">input.h</a>
-</li>
-<li>AMotionEvent_getPointerId()
-: <a class="el" href="group___input.html#ga599e21a79c706807243a8ee31b116138">input.h</a>
-</li>
-<li>AMotionEvent_getPressure()
-: <a class="el" href="group___input.html#ga97fcaa6cd08c9d54b35711e482e06c8d">input.h</a>
-</li>
-<li>AMotionEvent_getRawX()
-: <a class="el" href="group___input.html#gafe45e29ef138cc30592237ce479837f0">input.h</a>
-</li>
-<li>AMotionEvent_getRawY()
-: <a class="el" href="group___input.html#ga5a09c3d742a93270861aa05f24257c23">input.h</a>
-</li>
-<li>AMotionEvent_getSize()
-: <a class="el" href="group___input.html#ga9b1f3c3df46b5269f9e74d2dd70c88a8">input.h</a>
-</li>
-<li>AMotionEvent_getToolMajor()
-: <a class="el" href="group___input.html#gac04099690f278a6a27191c2027b12a77">input.h</a>
-</li>
-<li>AMotionEvent_getToolMinor()
-: <a class="el" href="group___input.html#ga2222d459759ba4a8269647012d2718fb">input.h</a>
-</li>
-<li>AMotionEvent_getToolType()
-: <a class="el" href="group___input.html#ga2babe4e2e79952e004538f8f1878649c">input.h</a>
-</li>
-<li>AMotionEvent_getTouchMajor()
-: <a class="el" href="group___input.html#ga9ac18fe19534e07d80441582f489d471">input.h</a>
-</li>
-<li>AMotionEvent_getTouchMinor()
-: <a class="el" href="group___input.html#ga65f71e257b5fcb29dcbaaf59b3fcb3a7">input.h</a>
-</li>
-<li>AMotionEvent_getX()
-: <a class="el" href="group___input.html#ga22e255a5fa52761cd92ce78af91e9757">input.h</a>
-</li>
-<li>AMotionEvent_getXOffset()
-: <a class="el" href="group___input.html#ga7a94ce622eb78a17737fd8bddbf86e21">input.h</a>
-</li>
-<li>AMotionEvent_getXPrecision()
-: <a class="el" href="group___input.html#ga81a9be07673a01f43fd0241c7b4c254f">input.h</a>
-</li>
-<li>AMotionEvent_getY()
-: <a class="el" href="group___input.html#ga113f58a37e41f2a6c3007d68418edfa6">input.h</a>
-</li>
-<li>AMotionEvent_getYOffset()
-: <a class="el" href="group___input.html#ga7f6bd2c12d912f502c245b6ced6d3704">input.h</a>
-</li>
-<li>AMotionEvent_getYPrecision()
-: <a class="el" href="group___input.html#gae311e6e28bce4be905526f9ea71278ed">input.h</a>
-</li>
-<li>ANativeActivity_finish()
-: <a class="el" href="group___native_activity.html#ga4d872ae54a239704c06a0517e23cc0ad">native_activity.h</a>
-</li>
-<li>ANativeActivity_hideSoftInput()
-: <a class="el" href="group___native_activity.html#gaf673d6efea7ce517ef46ff2551b25944">native_activity.h</a>
-</li>
-<li>ANativeActivity_setWindowFlags()
-: <a class="el" href="group___native_activity.html#gaa1d091ca4a99b0ce570bab1c8c06f297">native_activity.h</a>
-</li>
-<li>ANativeActivity_setWindowFormat()
-: <a class="el" href="group___native_activity.html#gaec8b12decdf2b9841344e75c4c038c5a">native_activity.h</a>
-</li>
-<li>ANativeActivity_showSoftInput()
-: <a class="el" href="group___native_activity.html#ga14eaeb6190f266369023b04d8ab9dba7">native_activity.h</a>
-</li>
-<li>ANativeWindow_acquire()
-: <a class="el" href="group___native_activity.html#ga533876b57909243b238927344a6592db">native_window.h</a>
-</li>
-<li>ANativeWindow_fromSurface()
-: <a class="el" href="group___native_activity.html#ga774d0a87ec496b3940fcddccbc31fd9d">native_window_jni.h</a>
-</li>
-<li>ANativeWindow_getFormat()
-: <a class="el" href="group___native_activity.html#ga9e3a492a8300146b30d864f0ab22bb2e">native_window.h</a>
-</li>
-<li>ANativeWindow_getHeight()
-: <a class="el" href="group___native_activity.html#ga463ba99f6dee3edc1167a54e1ff7de15">native_window.h</a>
-</li>
-<li>ANativeWindow_getWidth()
-: <a class="el" href="group___native_activity.html#ga186f0040c5cb405a63d93889bb9a4ff1">native_window.h</a>
-</li>
-<li>ANativeWindow_lock()
-: <a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">native_window.h</a>
-</li>
-<li>ANativeWindow_release()
-: <a class="el" href="group___native_activity.html#gae944e98865b902bd924663785d7b0258">native_window.h</a>
-</li>
-<li>ANativeWindow_setBuffersGeometry()
-: <a class="el" href="group___native_activity.html#ga7b0652533998d61e1a3b542485889113">native_window.h</a>
-</li>
-<li>ANativeWindow_unlockAndPost()
-: <a class="el" href="group___native_activity.html#ga4dc9b687ead9034fbc11bf2d90f203f9">native_window.h</a>
-</li>
-<li>AndroidBitmap_getInfo()
-: <a class="el" href="group___bitmap.html#ga80292ee39d8a675928e38849742b54bf">bitmap.h</a>
-</li>
-<li>AndroidBitmap_lockPixels()
-: <a class="el" href="group___bitmap.html#ga2908d42fa4db286c34b7f8c11f29206f">bitmap.h</a>
-</li>
-<li>AndroidBitmap_unlockPixels()
-: <a class="el" href="group___bitmap.html#ga4aca91f37baddd42d0051dca8179d4ed">bitmap.h</a>
-</li>
-<li>AObbInfo_delete()
-: <a class="el" href="group___storage.html#gaec5a4428008f545e829486099298031a">obb.h</a>
-</li>
-<li>AObbInfo_getFlags()
-: <a class="el" href="group___storage.html#ga68d916570c756da9fd0d9096358300eb">obb.h</a>
-</li>
-<li>AObbInfo_getPackageName()
-: <a class="el" href="group___storage.html#ga1ec7eee61541fa5a9b578801a35b9cf3">obb.h</a>
-</li>
-<li>AObbInfo_getVersion()
-: <a class="el" href="group___storage.html#gacd8471c6d866cffe4a32f3b5997c782c">obb.h</a>
-</li>
-<li>AObbScanner_getObbInfo()
-: <a class="el" href="group___storage.html#ga7beb4f82e3bf9a4b8197917f92ac4d5e">obb.h</a>
-</li>
-<li>ASensor_getFifoMaxEventCount()
-: <a class="el" href="group___sensor.html#gae9969580eda319926a677a6937c7afb1">sensor.h</a>
-</li>
-<li>ASensor_getFifoReservedEventCount()
-: <a class="el" href="group___sensor.html#gaec7084c6a9d4d85f87c95a70511c5f53">sensor.h</a>
-</li>
-<li>ASensor_getMinDelay()
-: <a class="el" href="group___sensor.html#gacb6e021757c07344b58742611eaf68e7">sensor.h</a>
-</li>
-<li>ASensor_getName()
-: <a class="el" href="group___sensor.html#ga52f4b22990c70df0784b9ccf23314fae">sensor.h</a>
-</li>
-<li>ASensor_getReportingMode()
-: <a class="el" href="group___sensor.html#ga99e56b84cf421788c27998da8eab7e39">sensor.h</a>
-</li>
-<li>ASensor_getResolution()
-: <a class="el" href="group___sensor.html#ga3da2930dd866cf1f76da6bc39e578a46">sensor.h</a>
-</li>
-<li>ASensor_getStringType()
-: <a class="el" href="group___sensor.html#gabee3eb65390fc75a639c59d653af3591">sensor.h</a>
-</li>
-<li>ASensor_getType()
-: <a class="el" href="group___sensor.html#ga93962747ab3c7d2b609f97af26fc0230">sensor.h</a>
-</li>
-<li>ASensor_getVendor()
-: <a class="el" href="group___sensor.html#gafaf467fc71f7adba537a90f166e3320d">sensor.h</a>
-</li>
-<li>ASensor_isWakeUpSensor()
-: <a class="el" href="group___sensor.html#ga0ff4118e400bedac62be6b79e9e0f924">sensor.h</a>
-</li>
-<li>ASensorEventQueue_disableSensor()
-: <a class="el" href="group___sensor.html#ga03852b813887ec236a34c4aef0df4b68">sensor.h</a>
-</li>
-<li>ASensorEventQueue_enableSensor()
-: <a class="el" href="group___sensor.html#ga48a8379cf9de9b09a71a00f8a3699499">sensor.h</a>
-</li>
-<li>ASensorEventQueue_getEvents()
-: <a class="el" href="group___sensor.html#gab3d4354fd0d3ceb5fa97c129b024a18a">sensor.h</a>
-</li>
-<li>ASensorEventQueue_hasEvents()
-: <a class="el" href="group___sensor.html#ga79c9d6264fe81d4e30800f826db72913">sensor.h</a>
-</li>
-<li>ASensorEventQueue_setEventRate()
-: <a class="el" href="group___sensor.html#gaa6e89b6d69dc3e07f2d7e72e81ec7937">sensor.h</a>
-</li>
-<li>ASensorManager_createEventQueue()
-: <a class="el" href="group___sensor.html#gac46f8b28bcc7a846dea9d841cab0a67b">sensor.h</a>
-</li>
-<li>ASensorManager_destroyEventQueue()
-: <a class="el" href="group___sensor.html#gaf35624037785cdea1e7fe9e0a73fc5e1">sensor.h</a>
-</li>
-<li>ASensorManager_getDefaultSensor()
-: <a class="el" href="group___sensor.html#gaf4880d87e01f5e2d4a9b8403e4047445">sensor.h</a>
-</li>
-<li>ASensorManager_getDefaultSensorEx()
-: <a class="el" href="group___sensor.html#ga4313457c0e82f4afa77ef13860629633">sensor.h</a>
-</li>
-<li>ASensorManager_getInstance()
-: <a class="el" href="group___sensor.html#gaa438fdaf34783a89d139f0a56d2692cd">sensor.h</a>
-</li>
-<li>ASensorManager_getSensorList()
-: <a class="el" href="group___sensor.html#ga645be938627498ab2b60d94c562204bd">sensor.h</a>
-</li>
-<li>AStorageManager_delete()
-: <a class="el" href="group___storage.html#ga184c06dd9cec0f21db138167d6b331ed">storage_manager.h</a>
-</li>
-<li>AStorageManager_getMountedObbPath()
-: <a class="el" href="group___storage.html#gad5c90305d627e0c768da37cb3e9f08c4">storage_manager.h</a>
-</li>
-<li>AStorageManager_isObbMounted()
-: <a class="el" href="group___storage.html#ga7572f2c650fc16cce1b0ab94e913a1ba">storage_manager.h</a>
-</li>
-<li>AStorageManager_mountObb()
-: <a class="el" href="group___storage.html#ga61bebaf43e57b4b7f57e7a24a62e9e3d">storage_manager.h</a>
-</li>
-<li>AStorageManager_new()
-: <a class="el" href="group___storage.html#ga1c21ed9e0848fcfc03547c95eeb48877">storage_manager.h</a>
-</li>
-<li>AStorageManager_unmountObb()
-: <a class="el" href="group___storage.html#ga4c32c8d2c780016fa36097d833b57809">storage_manager.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals_type.jd b/docs/html/ndk/reference/globals_type.jd
deleted file mode 100644
index 99fa859..0000000
--- a/docs/html/ndk/reference/globals_type.jd
+++ /dev/null
@@ -1,90 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-&#160;<ul>
-<li>AAsset
-: <a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">asset_manager.h</a>
-</li>
-<li>AAssetDir
-: <a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">asset_manager.h</a>
-</li>
-<li>AAssetManager
-: <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">asset_manager.h</a>
-</li>
-<li>AConfiguration
-: <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">configuration.h</a>
-</li>
-<li>AHeartRateEvent
-: <a class="el" href="group___sensor.html#gae85b6eac76abe74e6e53d78bb3a4858c">sensor.h</a>
-</li>
-<li>AInputEvent
-: <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">input.h</a>
-</li>
-<li>AInputQueue
-: <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">input.h</a>
-</li>
-<li>ALooper
-: <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">looper.h</a>
-</li>
-<li>ALooper_callbackFunc
-: <a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">looper.h</a>
-</li>
-<li>AMetaDataEvent
-: <a class="el" href="group___sensor.html#ga0378daec23b2d8a70438ef7c3912475f">sensor.h</a>
-</li>
-<li>ANativeActivity
-: <a class="el" href="group___native_activity.html#ga8abd07923f37feb1ce724d139cc2609d">native_activity.h</a>
-</li>
-<li>ANativeActivity_createFunc
-: <a class="el" href="group___native_activity.html#ga569a53bcac3fcedb0189b7c412ebcb22">native_activity.h</a>
-</li>
-<li>ANativeActivityCallbacks
-: <a class="el" href="group___native_activity.html#ga28dca784e5ee939427135c72c0151c38">native_activity.h</a>
-</li>
-<li>ANativeWindow
-: <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">native_window.h</a>
-</li>
-<li>ANativeWindow_Buffer
-: <a class="el" href="group___native_activity.html#gad0983ca473ce36293baf5e51a14c3357">native_window.h</a>
-</li>
-<li>AObbInfo
-: <a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">obb.h</a>
-</li>
-<li>ARect
-: <a class="el" href="group___native_activity.html#gaa984a498f0e146ac57c6022a323423cf">rect.h</a>
-</li>
-<li>ASensor
-: <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">sensor.h</a>
-</li>
-<li>ASensorEvent
-: <a class="el" href="group___sensor.html#ga6bb167c45f0ef0a94d8f178d227e781f">sensor.h</a>
-</li>
-<li>ASensorEventQueue
-: <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">sensor.h</a>
-</li>
-<li>ASensorList
-: <a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">sensor.h</a>
-</li>
-<li>ASensorManager
-: <a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">sensor.h</a>
-</li>
-<li>ASensorRef
-: <a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">sensor.h</a>
-</li>
-<li>ASensorVector
-: <a class="el" href="group___sensor.html#ga207e807f9e18271f6a763e57232b409f">sensor.h</a>
-</li>
-<li>AStorageManager
-: <a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">storage_manager.h</a>
-</li>
-<li>AStorageManager_obbCallbackFunc
-: <a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">storage_manager.h</a>
-</li>
-<li>AUncalibratedEvent
-: <a class="el" href="group___sensor.html#ga24acc545b908dd24cadc44c5e0760b3b">sensor.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals_vars.jd b/docs/html/ndk/reference/globals_vars.jd
deleted file mode 100644
index e6bd2a4..0000000
--- a/docs/html/ndk/reference/globals_vars.jd
+++ /dev/null
@@ -1,12 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-&#160;<ul>
-<li>ANativeActivity_onCreate
-: <a class="el" href="group___native_activity.html#ga02791d0d490839055169f39fdc905c5e">native_activity.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/globals_w.jd b/docs/html/ndk/reference/globals_w.jd
deleted file mode 100644
index b72e8c2..0000000
--- a/docs/html/ndk/reference/globals_w.jd
+++ /dev/null
@@ -1,20 +0,0 @@
-page.title=Globals
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="contents">
-<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
-
-<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
-<li>WINDOW_FORMAT_RGB_565
-: <a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310ab26fa9c38f169263b611a8b757bb0259">native_window.h</a>
-</li>
-<li>WINDOW_FORMAT_RGBA_8888
-: <a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a6a165383340acce0b32c555dd2ac2c01">native_window.h</a>
-</li>
-<li>WINDOW_FORMAT_RGBX_8888
-: <a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a5f83a97ccf64fc1554c220476e8aaf30">native_window.h</a>
-</li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/group___asset.jd b/docs/html/ndk/reference/group___asset.jd
deleted file mode 100644
index c2f9067..0000000
--- a/docs/html/ndk/reference/group___asset.jd
+++ /dev/null
@@ -1,591 +0,0 @@
-page.title=Asset
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#files">Files</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Asset</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:asset__manager_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asset__manager_8h.html">asset_manager.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:asset__manager__jni_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asset__manager__jni_8h.html">asset_manager_jni.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga90c459935e76acf809b9ec90d1872771"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a></td></tr>
-<tr class="separator:ga90c459935e76acf809b9ec90d1872771"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga001a6b9c36a06ee977b9f51ed7103cdb"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a></td></tr>
-<tr class="separator:ga001a6b9c36a06ee977b9f51ed7103cdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5630b1f1aa5cd363303018cb2f12f95c"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a></td></tr>
-<tr class="separator:ga5630b1f1aa5cd363303018cb2f12f95c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba5bf76576f07042f965f230086f7c09f4">AASSET_MODE_UNKNOWN</a> = 0, 
-<a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba88e1b2a920963d7596735fe28bf30e2f">AASSET_MODE_RANDOM</a> = 1, 
-<a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55bac76f5fdb953097efc04e534474a7ea74">AASSET_MODE_STREAMING</a> = 2, 
-<a class="el" href="group___asset.html#gga06fc87d81c62e9abb8790b6e5713c55ba40ec098f4afb7c2869fa449d3059f6bb">AASSET_MODE_BUFFER</a> = 3
- }</td></tr>
-<tr class="separator:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gab5b57ff012d6d1024d8bf5d30aedced4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gab5b57ff012d6d1024d8bf5d30aedced4">AAssetManager_openDir</a> (<a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *mgr, const char *dirName)</td></tr>
-<tr class="separator:gab5b57ff012d6d1024d8bf5d30aedced4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0037ce3c10a591fe632f34c1aa62955c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga0037ce3c10a591fe632f34c1aa62955c">AAssetManager_open</a> (<a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *mgr, const char *filename, int mode)</td></tr>
-<tr class="separator:ga0037ce3c10a591fe632f34c1aa62955c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4703b9f7baa3daeba248b6547de6b9b0"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga4703b9f7baa3daeba248b6547de6b9b0">AAssetDir_getNextFileName</a> (<a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *assetDir)</td></tr>
-<tr class="separator:ga4703b9f7baa3daeba248b6547de6b9b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga45db6d19ad5e1c0f9b2e6b4059da14b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga45db6d19ad5e1c0f9b2e6b4059da14b3">AAssetDir_rewind</a> (<a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *assetDir)</td></tr>
-<tr class="separator:ga45db6d19ad5e1c0f9b2e6b4059da14b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gace1c4d0da274d643c5b10ca218cc6088"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gace1c4d0da274d643c5b10ca218cc6088">AAssetDir_close</a> (<a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *assetDir)</td></tr>
-<tr class="separator:gace1c4d0da274d643c5b10ca218cc6088"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaadd86322c1fda5121b6d33745c317fb9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gaadd86322c1fda5121b6d33745c317fb9">AAsset_read</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, void *buf, size_t count)</td></tr>
-<tr class="separator:gaadd86322c1fda5121b6d33745c317fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gacc026a8bedeb1ef80bf12df3b72611a2"><td class="memItemLeft" align="right" valign="top">off_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gacc026a8bedeb1ef80bf12df3b72611a2">AAsset_seek</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, off_t offset, int whence)</td></tr>
-<tr class="separator:gacc026a8bedeb1ef80bf12df3b72611a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga81fbe4368de24a3296ef7a6eba0053c7"><td class="memItemLeft" align="right" valign="top">off64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga81fbe4368de24a3296ef7a6eba0053c7">AAsset_seek64</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, off64_t offset, int whence)</td></tr>
-<tr class="separator:ga81fbe4368de24a3296ef7a6eba0053c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1f241e49f691dafcada23bcb76155122"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga1f241e49f691dafcada23bcb76155122">AAsset_close</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga1f241e49f691dafcada23bcb76155122"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga553a14512a98542306238c3ce70d344f"><td class="memItemLeft" align="right" valign="top">const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga553a14512a98542306238c3ce70d344f">AAsset_getBuffer</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga553a14512a98542306238c3ce70d344f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaad8ec42e28522ebc72d3a5c357f9a600"><td class="memItemLeft" align="right" valign="top">off_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gaad8ec42e28522ebc72d3a5c357f9a600">AAsset_getLength</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:gaad8ec42e28522ebc72d3a5c357f9a600"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga55c8bc459327d5d23089e6a4b453f3f1"><td class="memItemLeft" align="right" valign="top">off64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga55c8bc459327d5d23089e6a4b453f3f1">AAsset_getLength64</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga55c8bc459327d5d23089e6a4b453f3f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae806f55cbc4a93ca245f2adfd63d3eee"><td class="memItemLeft" align="right" valign="top">off_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gae806f55cbc4a93ca245f2adfd63d3eee">AAsset_getRemainingLength</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:gae806f55cbc4a93ca245f2adfd63d3eee"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga21e7221d88dcc44106843192b66755b5"><td class="memItemLeft" align="right" valign="top">off64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga21e7221d88dcc44106843192b66755b5">AAsset_getRemainingLength64</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga21e7221d88dcc44106843192b66755b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1af4ffd050016e99961e24f550981677"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga1af4ffd050016e99961e24f550981677">AAsset_openFileDescriptor</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, off_t *outStart, off_t *outLength)</td></tr>
-<tr class="separator:ga1af4ffd050016e99961e24f550981677"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga123a44a575f85d91a00a8456dab7bd0a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga123a44a575f85d91a00a8456dab7bd0a">AAsset_openFileDescriptor64</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset, off64_t *outStart, off64_t *outLength)</td></tr>
-<tr class="separator:ga123a44a575f85d91a00a8456dab7bd0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga20344cb952a77fa1004f592fb1b55124"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#ga20344cb952a77fa1004f592fb1b55124">AAsset_isAllocated</a> (<a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *asset)</td></tr>
-<tr class="separator:ga20344cb952a77fa1004f592fb1b55124"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadfd6537af41577735bcaee52120127f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___asset.html#gadfd6537af41577735bcaee52120127f4">AAssetManager_fromJava</a> (JNIEnv *env, jobject assetManager)</td></tr>
-<tr class="separator:gadfd6537af41577735bcaee52120127f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="ga5630b1f1aa5cd363303018cb2f12f95c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> <a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> provides access to a read-only asset.</p>
-<p><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> objects are NOT thread-safe, and should not be shared across threads. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga001a6b9c36a06ee977b9f51ed7103cdb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> <a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> provides access to a chunk of the asset hierarchy as if it were a single directory. The contents are populated by the <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a>.</p>
-<p>The list of files will be sorted in ascending order by ASCII value. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga90c459935e76acf809b9ec90d1872771"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> provides access to an application's raw assets by creating <a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> objects.</p>
-<p>AAssetManager is a wrapper to the low-level native implementation of the java <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a>, a pointer can be obtained using <a class="el" href="group___asset.html#gadfd6537af41577735bcaee52120127f4">AAssetManager_fromJava()</a>.</p>
-<p>The asset hierarchy may be examined like a filesystem, using <a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> objects to peruse a single directory.</p>
-<p>A native <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> pointer may be shared across multiple threads. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="ga06fc87d81c62e9abb8790b6e5713c55b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Available access modes for opening assets with <a class="el" href="group___asset.html#ga0037ce3c10a591fe632f34c1aa62955c">AAssetManager_open</a> </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba5bf76576f07042f965f230086f7c09f4"></a>AASSET_MODE_UNKNOWN</em>&#160;</td><td class="fielddoc">
-<p>No specific information about how data will be accessed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba88e1b2a920963d7596735fe28bf30e2f"></a>AASSET_MODE_RANDOM</em>&#160;</td><td class="fielddoc">
-<p>Read chunks, and seek forward and backward. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bac76f5fdb953097efc04e534474a7ea74"></a>AASSET_MODE_STREAMING</em>&#160;</td><td class="fielddoc">
-<p>Read sequentially, with an occasional forward seek. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba40ec098f4afb7c2869fa449d3059f6bb"></a>AASSET_MODE_BUFFER</em>&#160;</td><td class="fielddoc">
-<p>Caller plans to ask for a read-only buffer with all data. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga1f241e49f691dafcada23bcb76155122"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AAsset_close </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Close the asset, freeing all associated resources. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga553a14512a98542306238c3ce70d344f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const void* AAsset_getBuffer </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get a pointer to a buffer holding the entire contents of the assset.</p>
-<p>Returns NULL on failure. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaad8ec42e28522ebc72d3a5c357f9a600"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">off_t AAsset_getLength </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Report the total size of the asset data. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga55c8bc459327d5d23089e6a4b453f3f1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">off64_t AAsset_getLength64 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Report the total size of the asset data. Reports the size using a 64-bit number insted of 32-bit as AAsset_getLength. </p>
-
-</div>
-</div>
-<a class="anchor" id="gae806f55cbc4a93ca245f2adfd63d3eee"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">off_t AAsset_getRemainingLength </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Report the total amount of asset data that can be read from the current position. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga21e7221d88dcc44106843192b66755b5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">off64_t AAsset_getRemainingLength64 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Report the total amount of asset data that can be read from the current position.</p>
-<p>Uses a 64-bit number instead of a 32-bit number as AAsset_getRemainingLength does. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga20344cb952a77fa1004f592fb1b55124"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int AAsset_isAllocated </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns whether this asset's internal buffer is allocated in ordinary RAM (i.e. not mmapped). </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1af4ffd050016e99961e24f550981677"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int AAsset_openFileDescriptor </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">off_t *&#160;</td>
-          <td class="paramname"><em>outStart</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">off_t *&#160;</td>
-          <td class="paramname"><em>outLength</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Open a new file descriptor that can be used to read the asset data. If the start or length cannot be represented by a 32-bit number, it will be truncated. If the file is large, use AAsset_openFileDescriptor64 instead.</p>
-<p>Returns &lt; 0 if direct fd access is not possible (for example, if the asset is compressed). </p>
-
-</div>
-</div>
-<a class="anchor" id="ga123a44a575f85d91a00a8456dab7bd0a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int AAsset_openFileDescriptor64 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">off64_t *&#160;</td>
-          <td class="paramname"><em>outStart</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">off64_t *&#160;</td>
-          <td class="paramname"><em>outLength</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Open a new file descriptor that can be used to read the asset data.</p>
-<p>Uses a 64-bit number for the offset and length instead of 32-bit instead of as AAsset_openFileDescriptor does.</p>
-<p>Returns &lt; 0 if direct fd access is not possible (for example, if the asset is compressed). </p>
-
-</div>
-</div>
-<a class="anchor" id="gaadd86322c1fda5121b6d33745c317fb9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int AAsset_read </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>buf</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>count</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Attempt to read 'count' bytes of data from the current offset.</p>
-<p>Returns the number of bytes read, zero on EOF, or &lt; 0 on error. </p>
-
-</div>
-</div>
-<a class="anchor" id="gacc026a8bedeb1ef80bf12df3b72611a2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">off_t AAsset_seek </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">off_t&#160;</td>
-          <td class="paramname"><em>offset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>whence</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Seek to the specified offset within the asset data. 'whence' uses the same constants as lseek()/fseek().</p>
-<p>Returns the new position on success, or (off_t) -1 on error. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga81fbe4368de24a3296ef7a6eba0053c7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">off64_t AAsset_seek64 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a> *&#160;</td>
-          <td class="paramname"><em>asset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">off64_t&#160;</td>
-          <td class="paramname"><em>offset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>whence</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Seek to the specified offset within the asset data. 'whence' uses the same constants as lseek()/fseek().</p>
-<p>Uses 64-bit data type for large files as opposed to the 32-bit type used by AAsset_seek.</p>
-<p>Returns the new position on success, or (off64_t) -1 on error. </p>
-
-</div>
-</div>
-<a class="anchor" id="gace1c4d0da274d643c5b10ca218cc6088"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AAssetDir_close </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *&#160;</td>
-          <td class="paramname"><em>assetDir</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Close an opened AAssetDir, freeing any related resources. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4703b9f7baa3daeba248b6547de6b9b0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* AAssetDir_getNextFileName </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *&#160;</td>
-          <td class="paramname"><em>assetDir</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Iterate over the files in an asset directory. A NULL string is returned when all the file names have been returned.</p>
-<p>The returned file name is suitable for passing to <a class="el" href="group___asset.html#ga0037ce3c10a591fe632f34c1aa62955c">AAssetManager_open()</a>.</p>
-<p>The string returned here is owned by the AssetDir implementation and is not guaranteed to remain valid if any other calls are made on this AAssetDir instance. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga45db6d19ad5e1c0f9b2e6b4059da14b3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AAssetDir_rewind </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a> *&#160;</td>
-          <td class="paramname"><em>assetDir</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Reset the iteration state of <a class="el" href="group___asset.html#ga4703b9f7baa3daeba248b6547de6b9b0">AAssetDir_getNextFileName()</a> to the beginning. </p>
-
-</div>
-</div>
-<a class="anchor" id="gadfd6537af41577735bcaee52120127f4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a>* AAssetManager_fromJava </td>
-          <td>(</td>
-          <td class="paramtype">JNIEnv *&#160;</td>
-          <td class="paramname"><em>env</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">jobject&#160;</td>
-          <td class="paramname"><em>assetManager</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Given a Dalvik AssetManager object, obtain the corresponding native AAssetManager object. Note that the caller is responsible for obtaining and holding a VM reference to the jobject to prevent its being garbage collected while the native object is in use. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga0037ce3c10a591fe632f34c1aa62955c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___asset.html#ga5630b1f1aa5cd363303018cb2f12f95c">AAsset</a>* AAssetManager_open </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *&#160;</td>
-          <td class="paramname"><em>mgr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>filename</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>mode</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Open an asset.</p>
-<p>The object returned here should be freed by calling <a class="el" href="group___asset.html#ga1f241e49f691dafcada23bcb76155122">AAsset_close()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gab5b57ff012d6d1024d8bf5d30aedced4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___asset.html#ga001a6b9c36a06ee977b9f51ed7103cdb">AAssetDir</a>* AAssetManager_openDir </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *&#160;</td>
-          <td class="paramname"><em>mgr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>dirName</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Open the named directory within the asset hierarchy. The directory can then be inspected with the AAssetDir functions. To open the top-level directory, pass in "" as the dirName.</p>
-<p>The object returned here should be freed by calling <a class="el" href="group___asset.html#gace1c4d0da274d643c5b10ca218cc6088">AAssetDir_close()</a>. </p>
-
-</div>
-</div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/group___bitmap.jd b/docs/html/ndk/reference/group___bitmap.jd
deleted file mode 100644
index 2f2b199..0000000
--- a/docs/html/ndk/reference/group___bitmap.jd
+++ /dev/null
@@ -1,230 +0,0 @@
-page.title=Bitmap
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#files">Files</a> &#124;
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#define-members">Macros</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Bitmap</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:bitmap_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bitmap_8h.html">bitmap.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:gafb665ac9fefad34ac5c035f5d1314080"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#gafb665ac9fefad34ac5c035f5d1314080">ANDROID_BITMAP_RESUT_SUCCESS</a>&#160;&#160;&#160;<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076">ANDROID_BITMAP_RESULT_SUCCESS</a></td></tr>
-<tr class="separator:gafb665ac9fefad34ac5c035f5d1314080"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076">ANDROID_BITMAP_RESULT_SUCCESS</a> = 0, 
-<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7acf7205d1a348d867c63ac2885ce01374">ANDROID_BITMAP_RESULT_BAD_PARAMETER</a> = -1, 
-<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6b099b9533c38729a6c305f2fe93f98d">ANDROID_BITMAP_RESULT_JNI_EXCEPTION</a> = -2, 
-<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a512f5b95b6b57e78d65502c06391f990">ANDROID_BITMAP_RESULT_ALLOCATION_FAILED</a> = -3
- }</td></tr>
-<tr class="separator:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaea286a2d4c61ae2abb02b51500499f13"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#gaea286a2d4c61ae2abb02b51500499f13">AndroidBitmapFormat</a> { <br/>
-&#160;&#160;<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ac6f0378ea5cfefd9abee2596af5a9021">ANDROID_BITMAP_FORMAT_NONE</a> = 0, 
-<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ab92ae96ceea06aa534583beadba84057">ANDROID_BITMAP_FORMAT_RGBA_8888</a> = 1, 
-<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13a11b32e10d6db28fae70ec3590cb9ee91">ANDROID_BITMAP_FORMAT_RGB_565</a> = 4, 
-<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13adc2ede06eafe20439271cb8137dc7528">ANDROID_BITMAP_FORMAT_RGBA_4444</a> = 7, 
-<br/>
-&#160;&#160;<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ad29996be25f8f88c96e016a1da5c4bca">ANDROID_BITMAP_FORMAT_A_8</a> = 8
-<br/>
- }</td></tr>
-<tr class="separator:gaea286a2d4c61ae2abb02b51500499f13"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga80292ee39d8a675928e38849742b54bf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#ga80292ee39d8a675928e38849742b54bf">AndroidBitmap_getInfo</a> (JNIEnv *env, jobject jbitmap, <a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a> *info)</td></tr>
-<tr class="separator:ga80292ee39d8a675928e38849742b54bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2908d42fa4db286c34b7f8c11f29206f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#ga2908d42fa4db286c34b7f8c11f29206f">AndroidBitmap_lockPixels</a> (JNIEnv *env, jobject jbitmap, void **addrPtr)</td></tr>
-<tr class="separator:ga2908d42fa4db286c34b7f8c11f29206f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4aca91f37baddd42d0051dca8179d4ed"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#ga4aca91f37baddd42d0051dca8179d4ed">AndroidBitmap_unlockPixels</a> (JNIEnv *env, jobject jbitmap)</td></tr>
-<tr class="separator:ga4aca91f37baddd42d0051dca8179d4ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="gafb665ac9fefad34ac5c035f5d1314080"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define ANDROID_BITMAP_RESUT_SUCCESS&#160;&#160;&#160;<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076">ANDROID_BITMAP_RESULT_SUCCESS</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Backward compatibility: this macro used to be misspelled. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="gadf764cbdea00d65edcd07bb9953ad2b7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>AndroidBitmap functions result code. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076"></a>ANDROID_BITMAP_RESULT_SUCCESS</em>&#160;</td><td class="fielddoc">
-<p>Operation was successful. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7acf7205d1a348d867c63ac2885ce01374"></a>ANDROID_BITMAP_RESULT_BAD_PARAMETER</em>&#160;</td><td class="fielddoc">
-<p>Bad parameter. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7a6b099b9533c38729a6c305f2fe93f98d"></a>ANDROID_BITMAP_RESULT_JNI_EXCEPTION</em>&#160;</td><td class="fielddoc">
-<p>JNI exception occured. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7a512f5b95b6b57e78d65502c06391f990"></a>ANDROID_BITMAP_RESULT_ALLOCATION_FAILED</em>&#160;</td><td class="fielddoc">
-<p>Allocation failed. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gaea286a2d4c61ae2abb02b51500499f13"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="group___bitmap.html#gaea286a2d4c61ae2abb02b51500499f13">AndroidBitmapFormat</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Bitmap pixel format. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaea286a2d4c61ae2abb02b51500499f13ac6f0378ea5cfefd9abee2596af5a9021"></a>ANDROID_BITMAP_FORMAT_NONE</em>&#160;</td><td class="fielddoc">
-<p>No format. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaea286a2d4c61ae2abb02b51500499f13ab92ae96ceea06aa534583beadba84057"></a>ANDROID_BITMAP_FORMAT_RGBA_8888</em>&#160;</td><td class="fielddoc">
-<p>Red: 8 bits, Green: 8 bits, Blue: 8 bits, Alpha: 8 bits. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaea286a2d4c61ae2abb02b51500499f13a11b32e10d6db28fae70ec3590cb9ee91"></a>ANDROID_BITMAP_FORMAT_RGB_565</em>&#160;</td><td class="fielddoc">
-<p>Red: 5 bits, Green: 6 bits, Blue: 5 bits. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaea286a2d4c61ae2abb02b51500499f13adc2ede06eafe20439271cb8137dc7528"></a>ANDROID_BITMAP_FORMAT_RGBA_4444</em>&#160;</td><td class="fielddoc">
-<p>Red: 4 bits, Green: 4 bits, Blue: 4 bits, Alpha: 4 bits. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaea286a2d4c61ae2abb02b51500499f13ad29996be25f8f88c96e016a1da5c4bca"></a>ANDROID_BITMAP_FORMAT_A_8</em>&#160;</td><td class="fielddoc">
-<p>Deprecated. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga80292ee39d8a675928e38849742b54bf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int AndroidBitmap_getInfo </td>
-          <td>(</td>
-          <td class="paramtype">JNIEnv *&#160;</td>
-          <td class="paramname"><em>env</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">jobject&#160;</td>
-          <td class="paramname"><em>jbitmap</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a> *&#160;</td>
-          <td class="paramname"><em>info</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Given a java bitmap object, fill out the <a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a> struct for it. If the call fails, the info parameter will be ignored. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2908d42fa4db286c34b7f8c11f29206f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int AndroidBitmap_lockPixels </td>
-          <td>(</td>
-          <td class="paramtype">JNIEnv *&#160;</td>
-          <td class="paramname"><em>env</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">jobject&#160;</td>
-          <td class="paramname"><em>jbitmap</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void **&#160;</td>
-          <td class="paramname"><em>addrPtr</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Given a java bitmap object, attempt to lock the pixel address. Locking will ensure that the memory for the pixels will not move until the unlockPixels call, and ensure that, if the pixels had been previously purged, they will have been restored.</p>
-<p>If this call succeeds, it must be balanced by a call to AndroidBitmap_unlockPixels, after which time the address of the pixels should no longer be used.</p>
-<p>If this succeeds, *addrPtr will be set to the pixel address. If the call fails, addrPtr will be ignored. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4aca91f37baddd42d0051dca8179d4ed"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int AndroidBitmap_unlockPixels </td>
-          <td>(</td>
-          <td class="paramtype">JNIEnv *&#160;</td>
-          <td class="paramname"><em>env</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">jobject&#160;</td>
-          <td class="paramname"><em>jbitmap</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Call this to balance a successful call to AndroidBitmap_lockPixels. </p>
-
-</div>
-</div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/group___configuration.jd b/docs/html/ndk/reference/group___configuration.jd
deleted file mode 100644
index 708722e..0000000
--- a/docs/html/ndk/reference/group___configuration.jd
+++ /dev/null
@@ -1,1557 +0,0 @@
-page.title=Configuration
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#files">Files</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Configuration</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:configuration_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="configuration_8h.html">configuration.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga6709434d0f99b8367d0df2dfdfbef45a"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a></td></tr>
-<tr class="separator:ga6709434d0f99b8367d0df2dfdfbef45a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga99fb83031ce9923c84392b4e92f956b5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af44cee3290a23999b0358c5638747a5f">ACONFIGURATION_ORIENTATION_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad9bf5c1fb90f9fdb20f984d0574592fe">ACONFIGURATION_ORIENTATION_PORT</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad5746872ff6871379fca93c60bfac8a3">ACONFIGURATION_ORIENTATION_LAND</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab0ca4fce673baf58447bfeb154d9a03f">ACONFIGURATION_ORIENTATION_SQUARE</a> = 0x0003, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aa73bcf45261366840fea743372682fa6">ACONFIGURATION_TOUCHSCREEN_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5adfbeb370edd3b4372c9b0f86f152dde0">ACONFIGURATION_TOUCHSCREEN_NOTOUCH</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a8316a15b06353f883f2aef8bd194f79f">ACONFIGURATION_TOUCHSCREEN_STYLUS</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4bf2a8323ec6d072aa48d5fc2cff645e">ACONFIGURATION_TOUCHSCREEN_FINGER</a> = 0x0003, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae628b2bf594733b7c19ae394616cec6c">ACONFIGURATION_DENSITY_DEFAULT</a> = 0, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a01ddb34b2376422d2323720049eb57f3">ACONFIGURATION_DENSITY_LOW</a> = 120, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a2511479d7cd574c4b293d535e4dc337e">ACONFIGURATION_DENSITY_MEDIUM</a> = 160, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a10e6c3d636f3f6de75de9208913b0d8f">ACONFIGURATION_DENSITY_TV</a> = 213, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5ef4a97dc058235cdfa9fcfe3300c7eb">ACONFIGURATION_DENSITY_HIGH</a> = 240, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a38a03b3b1c64725679605d8d479c85a0">ACONFIGURATION_DENSITY_XHIGH</a> = 320, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad6353daf63778a6ec6f2bd3815d7e6e4">ACONFIGURATION_DENSITY_XXHIGH</a> = 480, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a2bd04af33e868a77bd4d83e7d70368ec">ACONFIGURATION_DENSITY_XXXHIGH</a> = 640, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a966a3855351a97ae865264afd74c1534">ACONFIGURATION_DENSITY_ANY</a> = 0xfffe, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a7c1af92914155c418b99844c6aab33d7">ACONFIGURATION_DENSITY_NONE</a> = 0xffff, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a593f722738682ae4500dab6427670f4a">ACONFIGURATION_KEYBOARD_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a40195a1a2d8e21c74d99606d8a1a9918">ACONFIGURATION_KEYBOARD_NOKEYS</a> = 0x0001, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a263ff8efb4d2c757e557adc0d0cdeedf">ACONFIGURATION_KEYBOARD_QWERTY</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1aaf1a887f146737030cce95c53066ea">ACONFIGURATION_KEYBOARD_12KEY</a> = 0x0003, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a90e914b60d28c081b313f4b7b6600f47">ACONFIGURATION_NAVIGATION_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a3d95e899305aeae366fb7f8d8b6c290a">ACONFIGURATION_NAVIGATION_NONAV</a> = 0x0001, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ace2e3ed21322100712992ca09f4b75b5">ACONFIGURATION_NAVIGATION_DPAD</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad2807d00cb2f5dcb9f456045dd8443a4">ACONFIGURATION_NAVIGATION_TRACKBALL</a> = 0x0003, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a80b53370f65ad283a4fd025f36422bea">ACONFIGURATION_NAVIGATION_WHEEL</a> = 0x0004, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a34d3a830bc2964000052f8486fd76b0c">ACONFIGURATION_KEYSHIDDEN_ANY</a> = 0x0000, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5abfbfc3a10affed059263555b00429ab2">ACONFIGURATION_KEYSHIDDEN_NO</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5e6a5a3f4175644886bde7d0ed4b1ebf">ACONFIGURATION_KEYSHIDDEN_YES</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1a56b72c730e40f22f3b8727e54c376c">ACONFIGURATION_KEYSHIDDEN_SOFT</a> = 0x0003, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a6db7dd6a67196df88117dcdc904e0cb3">ACONFIGURATION_NAVHIDDEN_ANY</a> = 0x0000, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae6ff9883e3e89f8d9ea5c0ebe077c9c5">ACONFIGURATION_NAVHIDDEN_NO</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a79b3a5fe10e948bb79db47b516d46cf5">ACONFIGURATION_NAVHIDDEN_YES</a> = 0x0002, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a9abcd34a6c549e048fc75a545081584e">ACONFIGURATION_SCREENSIZE_ANY</a> = 0x00, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1163af972206a65a5d18bda12fdc511c">ACONFIGURATION_SCREENSIZE_SMALL</a> = 0x01, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a019727e684f25ba921f3479abd62b9f2">ACONFIGURATION_SCREENSIZE_NORMAL</a> = 0x02, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af871d177fdceedb75612cfc1281d2c12">ACONFIGURATION_SCREENSIZE_LARGE</a> = 0x03, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a0ca385ed504fc92f6ff3f0857e916c9c">ACONFIGURATION_SCREENSIZE_XLARGE</a> = 0x04, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a41e55e57da42fd09c378f59c1a63710f">ACONFIGURATION_SCREENLONG_ANY</a> = 0x00, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a428bb8fcd8bc731b67b0773dc62781c5">ACONFIGURATION_SCREENLONG_NO</a> = 0x1, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a91fc014d328507568d225d691b3babfd">ACONFIGURATION_SCREENLONG_YES</a> = 0x2, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a10d0916da7fa88c945a9cda259407d4c">ACONFIGURATION_UI_MODE_TYPE_ANY</a> = 0x00, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae7efe2713b6718311da76c828b5b444e">ACONFIGURATION_UI_MODE_TYPE_NORMAL</a> = 0x01, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ae10bb854f461f60cf399852f8f327077">ACONFIGURATION_UI_MODE_TYPE_DESK</a> = 0x02, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a5d6575185e41d909469a1dcf5f81bf4f">ACONFIGURATION_UI_MODE_TYPE_CAR</a> = 0x03, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4738dded616f028fbbedcbad764e7969">ACONFIGURATION_UI_MODE_TYPE_TELEVISION</a> = 0x04, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ad99004a7a1b2a97d29b639664947f8e3">ACONFIGURATION_UI_MODE_TYPE_APPLIANCE</a> = 0x05, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ac8c3e2207f2356bc6a1dffc6a615d131">ACONFIGURATION_UI_MODE_TYPE_WATCH</a> = 0x06, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a975087bbd4087b57a68ef3cdbfeb77a1">ACONFIGURATION_UI_MODE_NIGHT_ANY</a> = 0x00, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a90ebe564e3a3e384d5b013100f81e4b7">ACONFIGURATION_UI_MODE_NIGHT_NO</a> = 0x1, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a437af4527fac5407de256ec1ef055046">ACONFIGURATION_UI_MODE_NIGHT_YES</a> = 0x2, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aad653f0c960112177fdc387a4a0577fa">ACONFIGURATION_SCREEN_WIDTH_DP_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ab66ad42d0cf72fd7e8cd99b92b625432">ACONFIGURATION_SCREEN_HEIGHT_DP_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a227120217d8b6a9d5add3ccc4b283702">ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY</a> = 0x0000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4687ede31c438dd9f2701cab88de1dbe">ACONFIGURATION_LAYOUTDIR_ANY</a> = 0x00, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a05242d8f2d254b43ff9414ff1aa38a83">ACONFIGURATION_LAYOUTDIR_LTR</a> = 0x01, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5af98332983b787ab9355b527079636870">ACONFIGURATION_LAYOUTDIR_RTL</a> = 0x02, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a4d40f2aef365c78a52f699b89439db28">ACONFIGURATION_MCC</a> = 0x0001, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ade91a319638eede201579d15f86578a5">ACONFIGURATION_MNC</a> = 0x0002, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a01ecff796bd0690a9a8498c7de03e9b4">ACONFIGURATION_LOCALE</a> = 0x0004, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a255cfb57ac18d460c5614565a84f5561">ACONFIGURATION_TOUCHSCREEN</a> = 0x0008, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a0195de2a57f028a8171c42beff0b0e88">ACONFIGURATION_KEYBOARD</a> = 0x0010, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a54e71234e32ed037e2d47472f80eb416">ACONFIGURATION_KEYBOARD_HIDDEN</a> = 0x0020, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a65e9d31615d2b4adf3738d9a12a1556b">ACONFIGURATION_NAVIGATION</a> = 0x0040, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a591461d864136d482fe06e01fd945786">ACONFIGURATION_ORIENTATION</a> = 0x0080, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5ace87b4f25e5fd6fe0f3316d21ecc66a1">ACONFIGURATION_DENSITY</a> = 0x0100, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a76ca1eb0e9346d93da592afbbf9a3b72">ACONFIGURATION_SCREEN_SIZE</a> = 0x0200, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a1be62e4fc31cf3d3102c99f7c6b4c71b">ACONFIGURATION_VERSION</a> = 0x0400, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a12d69ffef9135c1c55e1b8b5c2589e7c">ACONFIGURATION_SCREEN_LAYOUT</a> = 0x0800, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a43a324af59372efd08b34431825cf67e">ACONFIGURATION_UI_MODE</a> = 0x1000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5acce415252e0ad95117a05bbe910f06de">ACONFIGURATION_SMALLEST_SCREEN_SIZE</a> = 0x2000, 
-<br/>
-&#160;&#160;<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5a65834be1230d1694e5ce8a6f407acab2">ACONFIGURATION_LAYOUTDIR</a> = 0x4000, 
-<a class="el" href="group___configuration.html#gga99fb83031ce9923c84392b4e92f956b5aa6cda2f222580dbef27f1277d967d58c">ACONFIGURATION_MNC_ZERO</a> = 0xffff
-<br/>
- }</td></tr>
-<tr class="separator:ga99fb83031ce9923c84392b4e92f956b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga9543655922980466eb05c7be94a0a567"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga9543655922980466eb05c7be94a0a567">AConfiguration_new</a> ()</td></tr>
-<tr class="separator:ga9543655922980466eb05c7be94a0a567"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga60fe264b97da84d3370eb9e220159e6d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga60fe264b97da84d3370eb9e220159e6d">AConfiguration_delete</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga60fe264b97da84d3370eb9e220159e6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga75e061fd0b4f761e08e43af36508c4f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga75e061fd0b4f761e08e43af36508c4f3">AConfiguration_fromAssetManager</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *out, <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *am)</td></tr>
-<tr class="separator:ga75e061fd0b4f761e08e43af36508c4f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaabff04218a0a76afb8d3ea551b001565"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaabff04218a0a76afb8d3ea551b001565">AConfiguration_copy</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *dest, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *src)</td></tr>
-<tr class="separator:gaabff04218a0a76afb8d3ea551b001565"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1e78004237a931086d2ae4bd8324bd30"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga1e78004237a931086d2ae4bd8324bd30">AConfiguration_getMcc</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga1e78004237a931086d2ae4bd8324bd30"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae6198b4eaf3e34168f4b13b8b5975d93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gae6198b4eaf3e34168f4b13b8b5975d93">AConfiguration_setMcc</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t mcc)</td></tr>
-<tr class="separator:gae6198b4eaf3e34168f4b13b8b5975d93"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4783776a4fad4501898472375d781fb9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga4783776a4fad4501898472375d781fb9">AConfiguration_getMnc</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga4783776a4fad4501898472375d781fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf060ef69c3636f62e90ae0b520eecb8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaaf060ef69c3636f62e90ae0b520eecb8">AConfiguration_setMnc</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t mnc)</td></tr>
-<tr class="separator:gaaf060ef69c3636f62e90ae0b520eecb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7b004c13448704afb0ea2040d69468c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga7b004c13448704afb0ea2040d69468c1">AConfiguration_getLanguage</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, char *outLanguage)</td></tr>
-<tr class="separator:ga7b004c13448704afb0ea2040d69468c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1f3c6cf6667655f83777acda7387ddff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga1f3c6cf6667655f83777acda7387ddff">AConfiguration_setLanguage</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, const char *language)</td></tr>
-<tr class="separator:ga1f3c6cf6667655f83777acda7387ddff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad2b47f787012a82a67a20e5de5211d46"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gad2b47f787012a82a67a20e5de5211d46">AConfiguration_getCountry</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, char *outCountry)</td></tr>
-<tr class="separator:gad2b47f787012a82a67a20e5de5211d46"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac2f5d414a6466634b1639b5c6f8879ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gac2f5d414a6466634b1639b5c6f8879ac">AConfiguration_setCountry</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, const char *country)</td></tr>
-<tr class="separator:gac2f5d414a6466634b1639b5c6f8879ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa7d8e3e9871dc925fef3e342a92e4e22"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaa7d8e3e9871dc925fef3e342a92e4e22">AConfiguration_getOrientation</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gaa7d8e3e9871dc925fef3e342a92e4e22"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadcaa8540bad4172a74032143bcaade04"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gadcaa8540bad4172a74032143bcaade04">AConfiguration_setOrientation</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t orientation)</td></tr>
-<tr class="separator:gadcaa8540bad4172a74032143bcaade04"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad305e6cf86fa915c24212e71bb2bf027"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gad305e6cf86fa915c24212e71bb2bf027">AConfiguration_getTouchscreen</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gad305e6cf86fa915c24212e71bb2bf027"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0d51dbe710c1afe31ece4dd6a8c188ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga0d51dbe710c1afe31ece4dd6a8c188ff">AConfiguration_setTouchscreen</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t touchscreen)</td></tr>
-<tr class="separator:ga0d51dbe710c1afe31ece4dd6a8c188ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4c994e0555947340582094c3da32a663"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga4c994e0555947340582094c3da32a663">AConfiguration_getDensity</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga4c994e0555947340582094c3da32a663"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9217af9858a7166dcb9a877192779eac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga9217af9858a7166dcb9a877192779eac">AConfiguration_setDensity</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t density)</td></tr>
-<tr class="separator:ga9217af9858a7166dcb9a877192779eac"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafd0f76ccd4fe4bda5172b8e0bc6675e4"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafd0f76ccd4fe4bda5172b8e0bc6675e4">AConfiguration_getKeyboard</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gafd0f76ccd4fe4bda5172b8e0bc6675e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4ab3429c5505c108c09349f1ddef572f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga4ab3429c5505c108c09349f1ddef572f">AConfiguration_setKeyboard</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t keyboard)</td></tr>
-<tr class="separator:ga4ab3429c5505c108c09349f1ddef572f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae3ff1541b63f5b9256f7c0ebae372977"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gae3ff1541b63f5b9256f7c0ebae372977">AConfiguration_getNavigation</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gae3ff1541b63f5b9256f7c0ebae372977"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad21dd14fb823a6a80b66132a05ce8913"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gad21dd14fb823a6a80b66132a05ce8913">AConfiguration_setNavigation</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t navigation)</td></tr>
-<tr class="separator:gad21dd14fb823a6a80b66132a05ce8913"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7a8317ab975f621f3fe62ed1b44f2605"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga7a8317ab975f621f3fe62ed1b44f2605">AConfiguration_getKeysHidden</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga7a8317ab975f621f3fe62ed1b44f2605"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5a80a02aa10cfa17de0795054e927183"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga5a80a02aa10cfa17de0795054e927183">AConfiguration_setKeysHidden</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t keysHidden)</td></tr>
-<tr class="separator:ga5a80a02aa10cfa17de0795054e927183"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafe8d3a9c2f715ea76c8e4a99c2db9eaa"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafe8d3a9c2f715ea76c8e4a99c2db9eaa">AConfiguration_getNavHidden</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gafe8d3a9c2f715ea76c8e4a99c2db9eaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga67e86e0347596421771af841710308d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga67e86e0347596421771af841710308d5">AConfiguration_setNavHidden</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t navHidden)</td></tr>
-<tr class="separator:ga67e86e0347596421771af841710308d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4aa7062198e5aacd9fabb04d0453dd91"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga4aa7062198e5aacd9fabb04d0453dd91">AConfiguration_getSdkVersion</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga4aa7062198e5aacd9fabb04d0453dd91"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga06c66072902ee455011120188ca4810b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga06c66072902ee455011120188ca4810b">AConfiguration_setSdkVersion</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t sdkVersion)</td></tr>
-<tr class="separator:ga06c66072902ee455011120188ca4810b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9d2c1b8731795d8e74be7e23cbc77552"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga9d2c1b8731795d8e74be7e23cbc77552">AConfiguration_getScreenSize</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga9d2c1b8731795d8e74be7e23cbc77552"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7bcf05150933ead34a01061d05ad3245"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga7bcf05150933ead34a01061d05ad3245">AConfiguration_setScreenSize</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t screenSize)</td></tr>
-<tr class="separator:ga7bcf05150933ead34a01061d05ad3245"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab7d1f5aa59e8fa4db0a1b91bb322034c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gab7d1f5aa59e8fa4db0a1b91bb322034c">AConfiguration_getScreenLong</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:gab7d1f5aa59e8fa4db0a1b91bb322034c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaed853ab7e2bc915591d05997130bc448"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaed853ab7e2bc915591d05997130bc448">AConfiguration_setScreenLong</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t screenLong)</td></tr>
-<tr class="separator:gaed853ab7e2bc915591d05997130bc448"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1d75777892f38208feb3d2a94a977fcf"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga1d75777892f38208feb3d2a94a977fcf">AConfiguration_getUiModeType</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga1d75777892f38208feb3d2a94a977fcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaec61e3cf91cd79e8b76a35bbcb15789d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaec61e3cf91cd79e8b76a35bbcb15789d">AConfiguration_setUiModeType</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t uiModeType)</td></tr>
-<tr class="separator:gaec61e3cf91cd79e8b76a35bbcb15789d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga447f16a9e4f8400e5e0328900749ff16"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga447f16a9e4f8400e5e0328900749ff16">AConfiguration_getUiModeNight</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga447f16a9e4f8400e5e0328900749ff16"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga08df1e801afbe4a12411e393b8141e42"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga08df1e801afbe4a12411e393b8141e42">AConfiguration_setUiModeNight</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t uiModeNight)</td></tr>
-<tr class="separator:ga08df1e801afbe4a12411e393b8141e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga61e5fe9612c170c33e1c7e9fb92f2219"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga61e5fe9612c170c33e1c7e9fb92f2219">AConfiguration_getScreenWidthDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga61e5fe9612c170c33e1c7e9fb92f2219"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafc51d45679095965fe3ba1abd402f120"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafc51d45679095965fe3ba1abd402f120">AConfiguration_setScreenWidthDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t value)</td></tr>
-<tr class="separator:gafc51d45679095965fe3ba1abd402f120"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9905a4765f8d0d921c476ebce01c7648"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga9905a4765f8d0d921c476ebce01c7648">AConfiguration_getScreenHeightDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga9905a4765f8d0d921c476ebce01c7648"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6ffac3b41415ec8a3031737ccdcd63b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga6ffac3b41415ec8a3031737ccdcd63b8">AConfiguration_setScreenHeightDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t value)</td></tr>
-<tr class="separator:ga6ffac3b41415ec8a3031737ccdcd63b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7fc015e41fad342edba66a003d9848aa"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga7fc015e41fad342edba66a003d9848aa">AConfiguration_getSmallestScreenWidthDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga7fc015e41fad342edba66a003d9848aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6b004c9585671efc5cebd96c1d43c4f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga6b004c9585671efc5cebd96c1d43c4f0">AConfiguration_setSmallestScreenWidthDp</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t value)</td></tr>
-<tr class="separator:ga6b004c9585671efc5cebd96c1d43c4f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga13dbf2fc9a382c62b391e7de9cf9b468"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#ga13dbf2fc9a382c62b391e7de9cf9b468">AConfiguration_getLayoutDirection</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config)</td></tr>
-<tr class="separator:ga13dbf2fc9a382c62b391e7de9cf9b468"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf47215cf551594f8c2a0594419b47e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gaaf47215cf551594f8c2a0594419b47e1">AConfiguration_setLayoutDirection</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config, int32_t value)</td></tr>
-<tr class="separator:gaaf47215cf551594f8c2a0594419b47e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabfe69b0dccae425a16fe94d084f20402"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gabfe69b0dccae425a16fe94d084f20402">AConfiguration_diff</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config1, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *config2)</td></tr>
-<tr class="separator:gabfe69b0dccae425a16fe94d084f20402"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafb27b901a1d7d44ed866608fb8399a18"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafb27b901a1d7d44ed866608fb8399a18">AConfiguration_match</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *base, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *requested)</td></tr>
-<tr class="separator:gafb27b901a1d7d44ed866608fb8399a18"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafd2bb31057c8d57efcea7603458d2a8d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___configuration.html#gafd2bb31057c8d57efcea7603458d2a8d">AConfiguration_isBetterThan</a> (<a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *base, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *test, <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *requested)</td></tr>
-<tr class="separator:gafd2bb31057c8d57efcea7603458d2a8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="ga6709434d0f99b8367d0df2dfdfbef45a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> is an opaque type used to get and set various subsystem configurations.</p>
-<p>A <a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> pointer can be obtained using:</p>
-<ul>
-<li><a class="el" href="group___configuration.html#ga9543655922980466eb05c7be94a0a567">AConfiguration_new()</a></li>
-<li><a class="el" href="group___configuration.html#ga75e061fd0b4f761e08e43af36508c4f3">AConfiguration_fromAssetManager()</a> </li>
-</ul>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="ga99fb83031ce9923c84392b4e92f956b5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Define flags and constants for various subsystem configurations. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5af44cee3290a23999b0358c5638747a5f"></a>ACONFIGURATION_ORIENTATION_ANY</em>&#160;</td><td class="fielddoc">
-<p>Orientation: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ad9bf5c1fb90f9fdb20f984d0574592fe"></a>ACONFIGURATION_ORIENTATION_PORT</em>&#160;</td><td class="fielddoc">
-<p>Orientation: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#OrientationQualifier">port</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ad5746872ff6871379fca93c60bfac8a3"></a>ACONFIGURATION_ORIENTATION_LAND</em>&#160;</td><td class="fielddoc">
-<p>Orientation: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#OrientationQualifier">land</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ab0ca4fce673baf58447bfeb154d9a03f"></a>ACONFIGURATION_ORIENTATION_SQUARE</em>&#160;</td><td class="fielddoc">
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Not currently supported or used. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5aa73bcf45261366840fea743372682fa6"></a>ACONFIGURATION_TOUCHSCREEN_ANY</em>&#160;</td><td class="fielddoc">
-<p>Touchscreen: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5adfbeb370edd3b4372c9b0f86f152dde0"></a>ACONFIGURATION_TOUCHSCREEN_NOTOUCH</em>&#160;</td><td class="fielddoc">
-<p>Touchscreen: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#TouchscreenQualifier">notouch</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a8316a15b06353f883f2aef8bd194f79f"></a>ACONFIGURATION_TOUCHSCREEN_STYLUS</em>&#160;</td><td class="fielddoc">
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>Not currently supported or used. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a4bf2a8323ec6d072aa48d5fc2cff645e"></a>ACONFIGURATION_TOUCHSCREEN_FINGER</em>&#160;</td><td class="fielddoc">
-<p>Touchscreen: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#TouchscreenQualifier">finger</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ae628b2bf594733b7c19ae394616cec6c"></a>ACONFIGURATION_DENSITY_DEFAULT</em>&#160;</td><td class="fielddoc">
-<p>Density: default density. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a01ddb34b2376422d2323720049eb57f3"></a>ACONFIGURATION_DENSITY_LOW</em>&#160;</td><td class="fielddoc">
-<p>Density: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#DensityQualifier">ldpi</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a2511479d7cd574c4b293d535e4dc337e"></a>ACONFIGURATION_DENSITY_MEDIUM</em>&#160;</td><td class="fielddoc">
-<p>Density: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#DensityQualifier">mdpi</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a10e6c3d636f3f6de75de9208913b0d8f"></a>ACONFIGURATION_DENSITY_TV</em>&#160;</td><td class="fielddoc">
-<p>Density: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#DensityQualifier">tvdpi</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a5ef4a97dc058235cdfa9fcfe3300c7eb"></a>ACONFIGURATION_DENSITY_HIGH</em>&#160;</td><td class="fielddoc">
-<p>Density: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#DensityQualifier">hdpi</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a38a03b3b1c64725679605d8d479c85a0"></a>ACONFIGURATION_DENSITY_XHIGH</em>&#160;</td><td class="fielddoc">
-<p>Density: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#DensityQualifier">xhdpi</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ad6353daf63778a6ec6f2bd3815d7e6e4"></a>ACONFIGURATION_DENSITY_XXHIGH</em>&#160;</td><td class="fielddoc">
-<p>Density: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#DensityQualifier">xxhdpi</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a2bd04af33e868a77bd4d83e7d70368ec"></a>ACONFIGURATION_DENSITY_XXXHIGH</em>&#160;</td><td class="fielddoc">
-<p>Density: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#DensityQualifier">xxxhdpi</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a966a3855351a97ae865264afd74c1534"></a>ACONFIGURATION_DENSITY_ANY</em>&#160;</td><td class="fielddoc">
-<p>Density: any density. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a7c1af92914155c418b99844c6aab33d7"></a>ACONFIGURATION_DENSITY_NONE</em>&#160;</td><td class="fielddoc">
-<p>Density: no density specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a593f722738682ae4500dab6427670f4a"></a>ACONFIGURATION_KEYBOARD_ANY</em>&#160;</td><td class="fielddoc">
-<p>Keyboard: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a40195a1a2d8e21c74d99606d8a1a9918"></a>ACONFIGURATION_KEYBOARD_NOKEYS</em>&#160;</td><td class="fielddoc">
-<p>Keyboard: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ImeQualifier">nokeys</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a263ff8efb4d2c757e557adc0d0cdeedf"></a>ACONFIGURATION_KEYBOARD_QWERTY</em>&#160;</td><td class="fielddoc">
-<p>Keyboard: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ImeQualifier">qwerty</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a1aaf1a887f146737030cce95c53066ea"></a>ACONFIGURATION_KEYBOARD_12KEY</em>&#160;</td><td class="fielddoc">
-<p>Keyboard: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ImeQualifier">12key</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a90e914b60d28c081b313f4b7b6600f47"></a>ACONFIGURATION_NAVIGATION_ANY</em>&#160;</td><td class="fielddoc">
-<p>Navigation: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a3d95e899305aeae366fb7f8d8b6c290a"></a>ACONFIGURATION_NAVIGATION_NONAV</em>&#160;</td><td class="fielddoc">
-<p>Navigation: value corresponding to the <a href="@@dacRoot/guide/topics/resources/providing-resources.html#NavigationQualifier">nonav</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ace2e3ed21322100712992ca09f4b75b5"></a>ACONFIGURATION_NAVIGATION_DPAD</em>&#160;</td><td class="fielddoc">
-<p>Navigation: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#NavigationQualifier">dpad</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ad2807d00cb2f5dcb9f456045dd8443a4"></a>ACONFIGURATION_NAVIGATION_TRACKBALL</em>&#160;</td><td class="fielddoc">
-<p>Navigation: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#NavigationQualifier">trackball</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a80b53370f65ad283a4fd025f36422bea"></a>ACONFIGURATION_NAVIGATION_WHEEL</em>&#160;</td><td class="fielddoc">
-<p>Navigation: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#NavigationQualifier">wheel</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a34d3a830bc2964000052f8486fd76b0c"></a>ACONFIGURATION_KEYSHIDDEN_ANY</em>&#160;</td><td class="fielddoc">
-<p>Keyboard availability: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5abfbfc3a10affed059263555b00429ab2"></a>ACONFIGURATION_KEYSHIDDEN_NO</em>&#160;</td><td class="fielddoc">
-<p>Keyboard availability: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#KeyboardAvailQualifier">keysexposed</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a5e6a5a3f4175644886bde7d0ed4b1ebf"></a>ACONFIGURATION_KEYSHIDDEN_YES</em>&#160;</td><td class="fielddoc">
-<p>Keyboard availability: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#KeyboardAvailQualifier">keyshidden</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a1a56b72c730e40f22f3b8727e54c376c"></a>ACONFIGURATION_KEYSHIDDEN_SOFT</em>&#160;</td><td class="fielddoc">
-<p>Keyboard availability: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#KeyboardAvailQualifier">keyssoft</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a6db7dd6a67196df88117dcdc904e0cb3"></a>ACONFIGURATION_NAVHIDDEN_ANY</em>&#160;</td><td class="fielddoc">
-<p>Navigation availability: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ae6ff9883e3e89f8d9ea5c0ebe077c9c5"></a>ACONFIGURATION_NAVHIDDEN_NO</em>&#160;</td><td class="fielddoc">
-<p>Navigation availability: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#NavAvailQualifier">navexposed</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a79b3a5fe10e948bb79db47b516d46cf5"></a>ACONFIGURATION_NAVHIDDEN_YES</em>&#160;</td><td class="fielddoc">
-<p>Navigation availability: value corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#NavAvailQualifier">navhidden</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a9abcd34a6c549e048fc75a545081584e"></a>ACONFIGURATION_SCREENSIZE_ANY</em>&#160;</td><td class="fielddoc">
-<p>Screen size: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a1163af972206a65a5d18bda12fdc511c"></a>ACONFIGURATION_SCREENSIZE_SMALL</em>&#160;</td><td class="fielddoc">
-<p>Screen size: value indicating the screen is at least approximately 320x426 dp units, corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ScreenSizeQualifier">small</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a019727e684f25ba921f3479abd62b9f2"></a>ACONFIGURATION_SCREENSIZE_NORMAL</em>&#160;</td><td class="fielddoc">
-<p>Screen size: value indicating the screen is at least approximately 320x470 dp units, corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ScreenSizeQualifier">normal</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5af871d177fdceedb75612cfc1281d2c12"></a>ACONFIGURATION_SCREENSIZE_LARGE</em>&#160;</td><td class="fielddoc">
-<p>Screen size: value indicating the screen is at least approximately 480x640 dp units, corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ScreenSizeQualifier">large</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a0ca385ed504fc92f6ff3f0857e916c9c"></a>ACONFIGURATION_SCREENSIZE_XLARGE</em>&#160;</td><td class="fielddoc">
-<p>Screen size: value indicating the screen is at least approximately 720x960 dp units, corresponding to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ScreenSizeQualifier">xlarge</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a41e55e57da42fd09c378f59c1a63710f"></a>ACONFIGURATION_SCREENLONG_ANY</em>&#160;</td><td class="fielddoc">
-<p>Screen layout: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a428bb8fcd8bc731b67b0773dc62781c5"></a>ACONFIGURATION_SCREENLONG_NO</em>&#160;</td><td class="fielddoc">
-<p>Screen layout: value that corresponds to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ScreenAspectQualifier">notlong</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a91fc014d328507568d225d691b3babfd"></a>ACONFIGURATION_SCREENLONG_YES</em>&#160;</td><td class="fielddoc">
-<p>Screen layout: value that corresponds to the <a href="@dacRoot/guide/topics/resources/providing-resources.html#ScreenAspectQualifier">long</a> resource qualifier. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a10d0916da7fa88c945a9cda259407d4c"></a>ACONFIGURATION_UI_MODE_TYPE_ANY</em>&#160;</td><td class="fielddoc">
-<p>UI mode: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ae7efe2713b6718311da76c828b5b444e"></a>ACONFIGURATION_UI_MODE_TYPE_NORMAL</em>&#160;</td><td class="fielddoc">
-<p>UI mode: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#UiModeQualifier">no UI mode type</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ae10bb854f461f60cf399852f8f327077"></a>ACONFIGURATION_UI_MODE_TYPE_DESK</em>&#160;</td><td class="fielddoc">
-<p>UI mode: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#UiModeQualifier">desk</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a5d6575185e41d909469a1dcf5f81bf4f"></a>ACONFIGURATION_UI_MODE_TYPE_CAR</em>&#160;</td><td class="fielddoc">
-<p>UI mode: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#UiModeQualifier">car</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a4738dded616f028fbbedcbad764e7969"></a>ACONFIGURATION_UI_MODE_TYPE_TELEVISION</em>&#160;</td><td class="fielddoc">
-<p>UI mode: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#UiModeQualifier">television</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ad99004a7a1b2a97d29b639664947f8e3"></a>ACONFIGURATION_UI_MODE_TYPE_APPLIANCE</em>&#160;</td><td class="fielddoc">
-<p>UI mode: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#UiModeQualifier">appliance</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ac8c3e2207f2356bc6a1dffc6a615d131"></a>ACONFIGURATION_UI_MODE_TYPE_WATCH</em>&#160;</td><td class="fielddoc">
-<p>UI mode: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#UiModeQualifier">watch</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a975087bbd4087b57a68ef3cdbfeb77a1"></a>ACONFIGURATION_UI_MODE_NIGHT_ANY</em>&#160;</td><td class="fielddoc">
-<p>UI night mode: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a90ebe564e3a3e384d5b013100f81e4b7"></a>ACONFIGURATION_UI_MODE_NIGHT_NO</em>&#160;</td><td class="fielddoc">
-<p>UI night mode: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#NightQualifier">notnight</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a437af4527fac5407de256ec1ef055046"></a>ACONFIGURATION_UI_MODE_NIGHT_YES</em>&#160;</td><td class="fielddoc">
-<p>UI night mode: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#NightQualifier">night</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5aad653f0c960112177fdc387a4a0577fa"></a>ACONFIGURATION_SCREEN_WIDTH_DP_ANY</em>&#160;</td><td class="fielddoc">
-<p>Screen width DPI: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ab66ad42d0cf72fd7e8cd99b92b625432"></a>ACONFIGURATION_SCREEN_HEIGHT_DP_ANY</em>&#160;</td><td class="fielddoc">
-<p>Screen height DPI: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a227120217d8b6a9d5add3ccc4b283702"></a>ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY</em>&#160;</td><td class="fielddoc">
-<p>Smallest screen width DPI: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a4687ede31c438dd9f2701cab88de1dbe"></a>ACONFIGURATION_LAYOUTDIR_ANY</em>&#160;</td><td class="fielddoc">
-<p>Layout direction: not specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a05242d8f2d254b43ff9414ff1aa38a83"></a>ACONFIGURATION_LAYOUTDIR_LTR</em>&#160;</td><td class="fielddoc">
-<p>Layout direction: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#LayoutDirectionQualifier">ldltr</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5af98332983b787ab9355b527079636870"></a>ACONFIGURATION_LAYOUTDIR_RTL</em>&#160;</td><td class="fielddoc">
-<p>Layout direction: value that corresponds to <a href="@dacRoot/guide/topics/resources/providing-resources.html#LayoutDirectionQualifier">ldrtl</a> resource qualifier specified. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a4d40f2aef365c78a52f699b89439db28"></a>ACONFIGURATION_MCC</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#MccQualifier">mcc</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ade91a319638eede201579d15f86578a5"></a>ACONFIGURATION_MNC</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#MccQualifier">mnc</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a01ecff796bd0690a9a8498c7de03e9b4"></a>ACONFIGURATION_LOCALE</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="{@docRoot}guide/topics/resources/providing-resources.html#LocaleQualifier">locale</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a255cfb57ac18d460c5614565a84f5561"></a>ACONFIGURATION_TOUCHSCREEN</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#TouchscreenQualifier">touchscreen</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a0195de2a57f028a8171c42beff0b0e88"></a>ACONFIGURATION_KEYBOARD</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#ImeQualifier">keyboard</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a54e71234e32ed037e2d47472f80eb416"></a>ACONFIGURATION_KEYBOARD_HIDDEN</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#KeyboardAvailQualifier">keyboardHidden</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a65e9d31615d2b4adf3738d9a12a1556b"></a>ACONFIGURATION_NAVIGATION</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#NavigationQualifier">navigation</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a591461d864136d482fe06e01fd945786"></a>ACONFIGURATION_ORIENTATION</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#OrientationQualifier">orientation</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5ace87b4f25e5fd6fe0f3316d21ecc66a1"></a>ACONFIGURATION_DENSITY</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#DensityQualifier">density</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a76ca1eb0e9346d93da592afbbf9a3b72"></a>ACONFIGURATION_SCREEN_SIZE</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#ScreenSizeQualifier">screen size</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a1be62e4fc31cf3d3102c99f7c6b4c71b"></a>ACONFIGURATION_VERSION</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#VersionQualifier">platform version</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a12d69ffef9135c1c55e1b8b5c2589e7c"></a>ACONFIGURATION_SCREEN_LAYOUT</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for screen layout configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a43a324af59372efd08b34431825cf67e"></a>ACONFIGURATION_UI_MODE</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#UiModeQualifier">ui mode</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5acce415252e0ad95117a05bbe910f06de"></a>ACONFIGURATION_SMALLEST_SCREEN_SIZE</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#SmallestScreenWidthQualifier">smallest screen width</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a65834be1230d1694e5ce8a6f407acab2"></a>ACONFIGURATION_LAYOUTDIR</em>&#160;</td><td class="fielddoc">
-<p>Bit mask for <a href="@dacRoot/guide/topics/resources/providing-resources.html#LayoutDirectionQualifier">layout direction</a> configuration. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5aa6cda2f222580dbef27f1277d967d58c"></a>ACONFIGURATION_MNC_ZERO</em>&#160;</td><td class="fielddoc">
-<p>Constant used to to represent MNC (Mobile Network Code) zero. 0 cannot be used, since it is used to represent an undefined MNC. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="gaabff04218a0a76afb8d3ea551b001565"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_copy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>dest</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>src</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Copy the contents of 'src' to 'dest'. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga60fe264b97da84d3370eb9e220159e6d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_delete </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Free an AConfiguration that was previously created with <a class="el" href="group___configuration.html#ga9543655922980466eb05c7be94a0a567">AConfiguration_new()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gabfe69b0dccae425a16fe94d084f20402"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_diff </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config2</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Perform a diff between two configurations. Returns a bit mask of ACONFIGURATION_* constants, each bit set meaning that configuration element is different between them. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga75e061fd0b4f761e08e43af36508c4f3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_fromAssetManager </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>out</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *&#160;</td>
-          <td class="paramname"><em>am</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Create and return a new AConfiguration based on the current configuration in use in the given <a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gad2b47f787012a82a67a20e5de5211d46"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_getCountry </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>outCountry</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current country code set in the configuration. The output will be filled with an array of two characters. They are not 0-terminated. If a country is not set, they will be 0. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4c994e0555947340582094c3da32a663"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getDensity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_DENSITY_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="gafd0f76ccd4fe4bda5172b8e0bc6675e4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getKeyboard </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_KEYBOARD_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7a8317ab975f621f3fe62ed1b44f2605"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getKeysHidden </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_KEYSHIDDEN_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7b004c13448704afb0ea2040d69468c1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_getLanguage </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>outLanguage</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current language code set in the configuration. The output will be filled with an array of two characters. They are not 0-terminated. If a language is not set, they will be 0. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga13dbf2fc9a382c62b391e7de9cf9b468"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getLayoutDirection </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the configuration's layout direction, or ACONFIGURATION_LAYOUTDIR_ANY if not set. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1e78004237a931086d2ae4bd8324bd30"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getMcc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current MCC set in the configuration. 0 if not set. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4783776a4fad4501898472375d781fb9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getMnc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current MNC set in the configuration. 0 if not set. </p>
-
-</div>
-</div>
-<a class="anchor" id="gafe8d3a9c2f715ea76c8e4a99c2db9eaa"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getNavHidden </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_NAVHIDDEN_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="gae3ff1541b63f5b9256f7c0ebae372977"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getNavigation </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_NAVIGATION_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaa7d8e3e9871dc925fef3e342a92e4e22"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getOrientation </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_ORIENTATION_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9905a4765f8d0d921c476ebce01c7648"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getScreenHeightDp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current configuration screen height in dp units, or ACONFIGURATION_SCREEN_HEIGHT_DP_ANY if not set. </p>
-
-</div>
-</div>
-<a class="anchor" id="gab7d1f5aa59e8fa4db0a1b91bb322034c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getScreenLong </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_SCREENLONG_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9d2c1b8731795d8e74be7e23cbc77552"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getScreenSize </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_SCREENSIZE_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga61e5fe9612c170c33e1c7e9fb92f2219"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getScreenWidthDp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current configuration screen width in dp units, or ACONFIGURATION_SCREEN_WIDTH_DP_ANY if not set. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4aa7062198e5aacd9fabb04d0453dd91"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getSdkVersion </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current SDK (API) version set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7fc015e41fad342edba66a003d9848aa"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getSmallestScreenWidthDp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the configuration's smallest screen width in dp units, or ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY if not set. </p>
-
-</div>
-</div>
-<a class="anchor" id="gad305e6cf86fa915c24212e71bb2bf027"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getTouchscreen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_TOUCHSCREEN_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga447f16a9e4f8400e5e0328900749ff16"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getUiModeNight </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_UI_MODE_NIGHT_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1d75777892f38208feb3d2a94a977fcf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_getUiModeType </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current ACONFIGURATION_UI_MODE_TYPE_* set in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="gafd2bb31057c8d57efcea7603458d2a8d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_isBetterThan </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>base</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>test</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>requested</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Determine whether the configuration in 'test' is better than the existing configuration in 'base'. If 'requested' is non-NULL, this decision is based on the overall configuration given there. If it is NULL, this decision is simply based on which configuration is more specific. Returns non-0 if 'test' is better than 'base'.</p>
-<p>This assumes you have already filtered the configurations with <a class="el" href="group___configuration.html#gafb27b901a1d7d44ed866608fb8399a18">AConfiguration_match()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gafb27b901a1d7d44ed866608fb8399a18"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AConfiguration_match </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>base</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>requested</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Determine whether 'base' is a valid configuration for use within the environment 'requested'. Returns 0 if there are any values in 'base' that conflict with 'requested'. Returns 1 if it does not conflict. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9543655922980466eb05c7be94a0a567"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a>* AConfiguration_new </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Create a new AConfiguration, initialized with no values set. </p>
-
-</div>
-</div>
-<a class="anchor" id="gac2f5d414a6466634b1639b5c6f8879ac"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setCountry </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>country</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current country code in the configuration, from the first two characters in the string. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9217af9858a7166dcb9a877192779eac"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setDensity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>density</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current density in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4ab3429c5505c108c09349f1ddef572f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setKeyboard </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>keyboard</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current keyboard in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga5a80a02aa10cfa17de0795054e927183"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setKeysHidden </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>keysHidden</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current keys hidden in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1f3c6cf6667655f83777acda7387ddff"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setLanguage </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>language</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current language code in the configuration, from the first two characters in the string. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaaf47215cf551594f8c2a0594419b47e1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setLayoutDirection </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>value</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the configuration's layout direction. </p>
-
-</div>
-</div>
-<a class="anchor" id="gae6198b4eaf3e34168f4b13b8b5975d93"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setMcc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>mcc</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current MCC in the configuration. 0 to clear. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaaf060ef69c3636f62e90ae0b520eecb8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setMnc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>mnc</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current MNC in the configuration. 0 to clear. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga67e86e0347596421771af841710308d5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setNavHidden </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>navHidden</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current nav hidden in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="gad21dd14fb823a6a80b66132a05ce8913"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setNavigation </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>navigation</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current navigation in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="gadcaa8540bad4172a74032143bcaade04"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setOrientation </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>orientation</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current orientation in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga6ffac3b41415ec8a3031737ccdcd63b8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setScreenHeightDp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>value</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the configuration's current screen width in dp units. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaed853ab7e2bc915591d05997130bc448"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setScreenLong </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>screenLong</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current screen long in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7bcf05150933ead34a01061d05ad3245"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setScreenSize </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>screenSize</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current screen size in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="gafc51d45679095965fe3ba1abd402f120"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setScreenWidthDp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>value</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the configuration's current screen width in dp units. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga06c66072902ee455011120188ca4810b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setSdkVersion </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>sdkVersion</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current SDK version in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga6b004c9585671efc5cebd96c1d43c4f0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setSmallestScreenWidthDp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>value</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the configuration's smallest screen width in dp units. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga0d51dbe710c1afe31ece4dd6a8c188ff"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setTouchscreen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>touchscreen</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current touchscreen in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga08df1e801afbe4a12411e393b8141e42"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setUiModeNight </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>uiModeNight</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current UI mode night in the configuration. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaec61e3cf91cd79e8b76a35bbcb15789d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AConfiguration_setUiModeType </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___configuration.html#ga6709434d0f99b8367d0df2dfdfbef45a">AConfiguration</a> *&#160;</td>
-          <td class="paramname"><em>config</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>uiModeType</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Set the current UI mode type in the configuration. </p>
-
-</div>
-</div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/group___input.jd b/docs/html/ndk/reference/group___input.jd
deleted file mode 100644
index 55db956..0000000
--- a/docs/html/ndk/reference/group___input.jd
+++ /dev/null
@@ -1,3682 +0,0 @@
-page.title=Input
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#files">Files</a> &#124;
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Input</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:input_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="input_8h.html">input.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:keycodes_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keycodes_8h.html">keycodes.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:gaeb170c0fbeeed1d999160566f09f169e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaeb170c0fbeeed1d999160566f09f169e">AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT</a>&#160;&#160;&#160;8</td></tr>
-<tr class="separator:gaeb170c0fbeeed1d999160566f09f169e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:gac35dbbc035371e799d8badabc981e8fa"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a></td></tr>
-<tr class="separator:gac35dbbc035371e799d8badabc981e8fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga21d8182651f4b61ae558560023e8339c"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a></td></tr>
-<tr class="separator:ga21d8182651f4b61ae558560023e8339c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gabc6126af1d45847bc59afa0aa3216b04"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04a9506627d5377c67dbc7fc58804b2cdfd">AKEY_STATE_UNKNOWN</a> = -1, 
-<a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04afa14022f587487c24d401c87e71c8e28">AKEY_STATE_UP</a> = 0, 
-<a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04a286ec0a7aff5903a982be0cd6785b62c">AKEY_STATE_DOWN</a> = 1, 
-<a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04ad09fd9fe458ca6c66ead9b9a75c56192">AKEY_STATE_VIRTUAL</a> = 2
- }</td></tr>
-<tr class="separator:gabc6126af1d45847bc59afa0aa3216b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadc29c2ff13d900c2f185ee95427fb06c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cae0a3cb26517b3f876beb37594494526d">AMETA_NONE</a> = 0, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caba44b1077427e4da1d202e0c8f772881">AMETA_ALT_ON</a> = 0x02, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca256c74b768ecee57e3218e81ae6945df">AMETA_ALT_LEFT_ON</a> = 0x10, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca985db074c0f44749ca86b5cc0454056a">AMETA_ALT_RIGHT_ON</a> = 0x20, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caa3d5f49c3a55b653a94c798a2c93b197">AMETA_SHIFT_ON</a> = 0x01, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caa01fa027cdd8951530437bcbe04c3ed7">AMETA_SHIFT_LEFT_ON</a> = 0x40, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cac52930581c339216218a6f50c5b57aa1">AMETA_SHIFT_RIGHT_ON</a> = 0x80, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca8af1e90950a728baca807a83e50b22ea">AMETA_SYM_ON</a> = 0x04, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca545b31b72b0454c22c170ff534ddfdf1">AMETA_FUNCTION_ON</a> = 0x08, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cabe927318a2a11a46be3e9d78dbd81ef5">AMETA_CTRL_ON</a> = 0x1000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca752c837afd5ff0fcf75ddee7b6808be6">AMETA_CTRL_LEFT_ON</a> = 0x2000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca0ab007e367ae136b873b3e6636747419">AMETA_CTRL_RIGHT_ON</a> = 0x4000, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca9c04e7c2ad1f0f41af60402188a29c4a">AMETA_META_ON</a> = 0x10000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca6f923de8f2cd72e3ad86149c0747906f">AMETA_META_LEFT_ON</a> = 0x20000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafdf56d1259ae16c97161c443d7949bdf">AMETA_META_RIGHT_ON</a> = 0x40000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafc467c98d509b0de28b298801a0c3e37">AMETA_CAPS_LOCK_ON</a> = 0x100000, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca15d234534a6870add5594f02b7333dc6">AMETA_NUM_LOCK_ON</a> = 0x200000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafe8dacdc6566f655a3eab73ea4a9af5a">AMETA_SCROLL_LOCK_ON</a> = 0x400000
-<br/>
- }</td></tr>
-<tr class="separator:gadc29c2ff13d900c2f185ee95427fb06c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga61dadd085c1777f559549e05962b2c9e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#gga61dadd085c1777f559549e05962b2c9ea696f0d7635f7a24c17d3f1e4ccdd44ba">AINPUT_EVENT_TYPE_KEY</a> = 1, 
-<a class="el" href="group___input.html#gga61dadd085c1777f559549e05962b2c9ea2182dfda2cceb5425dcc2823b9b6b56a">AINPUT_EVENT_TYPE_MOTION</a> = 2
- }</td></tr>
-<tr class="separator:ga61dadd085c1777f559549e05962b2c9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga726ca809ffd3d67ab4b8476646f26635"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635a123c3bd18fd93b53d8aedbe7597f7b49">AKEY_EVENT_ACTION_DOWN</a> = 0, 
-<a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635abf18b7c5384c5de8657a0650f8da57c3">AKEY_EVENT_ACTION_UP</a> = 1, 
-<a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635a08e2d927e155478ee66ec46ebd845ab0">AKEY_EVENT_ACTION_MULTIPLE</a> = 2
- }</td></tr>
-<tr class="separator:ga726ca809ffd3d67ab4b8476646f26635"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0411cd49bb5b71852cecd93bcbf0ca2d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da6473a1afc0cc39e029c2a217bc57cdba">AKEY_EVENT_FLAG_WOKE_HERE</a> = 0x1, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da7dbb272c7b28be9c084df3446a629f32">AKEY_EVENT_FLAG_SOFT_KEYBOARD</a> = 0x2, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dadc0a063ca412b0ea08474df422bf9b41">AKEY_EVENT_FLAG_KEEP_TOUCH_MODE</a> = 0x4, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dae1e7ec188b2404fadd94cfba89afd5d6">AKEY_EVENT_FLAG_FROM_SYSTEM</a> = 0x8, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dab9dbcf990d1e4405e32f847fdea52013">AKEY_EVENT_FLAG_EDITOR_ACTION</a> = 0x10, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da3198fad5ab75df614bb41f0f602a9e55">AKEY_EVENT_FLAG_CANCELED</a> = 0x20, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dad4b5eba5b14e4076c69bc7185f2804f8">AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY</a> = 0x40, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da39f9f7bdf2e256db0e2a8a5dfbfb7185">AKEY_EVENT_FLAG_LONG_PRESS</a> = 0x80, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2daf09856f03f2fffee9a82cb8e508efb7a">AKEY_EVENT_FLAG_CANCELED_LONG_PRESS</a> = 0x100, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da91e70ab527f27a1779f4550d457f1689">AKEY_EVENT_FLAG_TRACKING</a> = 0x200, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da14f574126d2544863fa8042ddd0f48c0">AKEY_EVENT_FLAG_FALLBACK</a> = 0x400
-<br/>
- }</td></tr>
-<tr class="separator:ga0411cd49bb5b71852cecd93bcbf0ca2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabed82baf7f470b522273a3e37c24c600"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600abf84a22c84d4b7228102b80f3af92a4f">AMOTION_EVENT_ACTION_MASK</a> = 0xff, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a51384339fbb57c0087f7f50c45d9cff3">AMOTION_EVENT_ACTION_POINTER_INDEX_MASK</a> = 0xff00, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a225e61c48ba334abc1b5811db02edcf1">AMOTION_EVENT_ACTION_DOWN</a> = 0, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a43798b2b7a6de4616d150b2438b8419e">AMOTION_EVENT_ACTION_UP</a> = 1, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a41c56c4e772953fce60c93bc671639a3">AMOTION_EVENT_ACTION_MOVE</a> = 2, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a3952b960f5eb8c4f55b42741e286b74e">AMOTION_EVENT_ACTION_CANCEL</a> = 3, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a7c3c96b74af4c8304b8137ac6d201517">AMOTION_EVENT_ACTION_OUTSIDE</a> = 4, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a1618c641fd3f49fa7483f298d05b3cd2">AMOTION_EVENT_ACTION_POINTER_DOWN</a> = 5, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600af2ef56aa7220eeb2073b9b028737bc1e">AMOTION_EVENT_ACTION_POINTER_UP</a> = 6, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a84bc9fb3c01ff7ca9ee452a510e7de60">AMOTION_EVENT_ACTION_HOVER_MOVE</a> = 7, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a45ba62b1e6fab4e84d5782d7c35ced04">AMOTION_EVENT_ACTION_SCROLL</a> = 8, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a247b2c60ad92f3130ad43c907986ffb3">AMOTION_EVENT_ACTION_HOVER_ENTER</a> = 9, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600ac00b1eacfbea779863abf3fcf02134aa">AMOTION_EVENT_ACTION_HOVER_EXIT</a> = 10
-<br/>
- }</td></tr>
-<tr class="separator:gabed82baf7f470b522273a3e37c24c600"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab04a0655cd1e3bcac5e8f48c18df1a57"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#ggab04a0655cd1e3bcac5e8f48c18df1a57a200623e1e4eee7797cad30917d289d7a">AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED</a> = 0x1
- }</td></tr>
-<tr class="separator:gab04a0655cd1e3bcac5e8f48c18df1a57"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga385c44f6fb256e5716a2302a5b940388"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a37dd7496968e6defbecc3c8d6ab2734d">AMOTION_EVENT_EDGE_FLAG_NONE</a> = 0, 
-<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a915e1ade9b600d11a3c70a17a88de757">AMOTION_EVENT_EDGE_FLAG_TOP</a> = 0x01, 
-<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388ad8b662839787e1c7dd2616f32c02aaeb">AMOTION_EVENT_EDGE_FLAG_BOTTOM</a> = 0x02, 
-<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388afb70c13f16daade25ba8132a5ea3cf52">AMOTION_EVENT_EDGE_FLAG_LEFT</a> = 0x04, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a7d45674e03f1876a43d4810508905078">AMOTION_EVENT_EDGE_FLAG_RIGHT</a> = 0x08
-<br/>
- }</td></tr>
-<tr class="separator:ga385c44f6fb256e5716a2302a5b940388"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabc5c98fcc1211af2b80116dd6e0a035d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5f4b5b009634039a1f361048a5fc6064">AMOTION_EVENT_AXIS_X</a> = 0, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da64f7de8558265bd8179d206eb33eff6c">AMOTION_EVENT_AXIS_Y</a> = 1, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da3b4fd0f17cfdeb6a055babecd2b0ded8">AMOTION_EVENT_AXIS_PRESSURE</a> = 2, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da4baba3ccaec881089a864ba6deaf8bd6">AMOTION_EVENT_AXIS_SIZE</a> = 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da792b9e01044a2e43e7f80e5559db20c2">AMOTION_EVENT_AXIS_TOUCH_MAJOR</a> = 4, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa8b24b0f01f24898a36e5751c8eca63c">AMOTION_EVENT_AXIS_TOUCH_MINOR</a> = 5, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa273d64c392f86ae789fd5e24661ba0a">AMOTION_EVENT_AXIS_TOOL_MAJOR</a> = 6, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadebd200b37ffaf36b94e7e478c559142">AMOTION_EVENT_AXIS_TOOL_MINOR</a> = 7, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da114f2b3fc233ccf7a4470787c31457d2">AMOTION_EVENT_AXIS_ORIENTATION</a> = 8, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dad11be04b4b81715cad905ee9fa348e99">AMOTION_EVENT_AXIS_VSCROLL</a> = 9, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da92955e6b0f3f82af66a505c854e9edff">AMOTION_EVENT_AXIS_HSCROLL</a> = 10, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5a689e572da9bc5feafcb6c011368305">AMOTION_EVENT_AXIS_Z</a> = 11, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da689b612864177d6b57d4181442e3e38e">AMOTION_EVENT_AXIS_RX</a> = 12, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa20188da209300e1f80f6f5bd4058e13">AMOTION_EVENT_AXIS_RY</a> = 13, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da381948b3321afd390ad164345eb9206b">AMOTION_EVENT_AXIS_RZ</a> = 14, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da04245c76cb9b32dcba920661f11ac9da">AMOTION_EVENT_AXIS_HAT_X</a> = 15, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da98c323321d908db459e7cf86a7e8a482">AMOTION_EVENT_AXIS_HAT_Y</a> = 16, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae4c65c3b1bd2946ff9e18c6041cdb591">AMOTION_EVENT_AXIS_LTRIGGER</a> = 17, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da116e80c6be166290ca481fefa5de38c1">AMOTION_EVENT_AXIS_RTRIGGER</a> = 18, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da6d1f5d64e607104964eb43d8fae07a4f">AMOTION_EVENT_AXIS_THROTTLE</a> = 19, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da318a0782f895949407fc192fc4280257">AMOTION_EVENT_AXIS_RUDDER</a> = 20, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab0ae83ebd74e672bb35378b92a440b1d">AMOTION_EVENT_AXIS_WHEEL</a> = 21, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab0223f235a6044815918af2abafcbf16">AMOTION_EVENT_AXIS_GAS</a> = 22, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae3a99764f3681dd9e094852bb2489ece">AMOTION_EVENT_AXIS_BRAKE</a> = 23, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae800909411a1e83173b0eef7aa458d0e">AMOTION_EVENT_AXIS_DISTANCE</a> = 24, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafca0a235f69c4b38bfc95e7a7b8d9ab1">AMOTION_EVENT_AXIS_TILT</a> = 25, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadcc18afd3a7069412617df34db5a27bc">AMOTION_EVENT_AXIS_GENERIC_1</a> = 32, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dac4addf06abfa6c76f0578ddde049aad5">AMOTION_EVENT_AXIS_GENERIC_2</a> = 33, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dac7df57ef5082e10be83f66d7477bce9c">AMOTION_EVENT_AXIS_GENERIC_3</a> = 34, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da321873d126b7d545665096694cb7d9d9">AMOTION_EVENT_AXIS_GENERIC_4</a> = 35, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da9b47cef7060197e1b0302a8a718c3085">AMOTION_EVENT_AXIS_GENERIC_5</a> = 36, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daad7e47a1b5fb66864b6d988374f50a84">AMOTION_EVENT_AXIS_GENERIC_6</a> = 37, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da222c06f51a60e59504b635dbf89a025b">AMOTION_EVENT_AXIS_GENERIC_7</a> = 38, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab59a8a373a913e40b146ed762976d6fe">AMOTION_EVENT_AXIS_GENERIC_8</a> = 39, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da721fa0fbca8b22f1ecc8d3870f4e7443">AMOTION_EVENT_AXIS_GENERIC_9</a> = 40, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da29ba08f4ddc658e0127ee5bc08d185f2">AMOTION_EVENT_AXIS_GENERIC_10</a> = 41, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafc64a4b307f62bb12b645918aa7edb57">AMOTION_EVENT_AXIS_GENERIC_11</a> = 42, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae5d32b3e9cec4936ae1e074f320c3063">AMOTION_EVENT_AXIS_GENERIC_12</a> = 43, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5f19f5bc52e5eaec5ebd4f07aad12180">AMOTION_EVENT_AXIS_GENERIC_13</a> = 44, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadb866d826ecf25161d7c7f86166e149b">AMOTION_EVENT_AXIS_GENERIC_14</a> = 45, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da7e86befc8502b8df687284f3c40b2eca">AMOTION_EVENT_AXIS_GENERIC_15</a> = 46, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daaaa011ba929b18c6da71153638f92336">AMOTION_EVENT_AXIS_GENERIC_16</a> = 47
-<br/>
- }</td></tr>
-<tr class="separator:gabc5c98fcc1211af2b80116dd6e0a035d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac36f475ca5b446f4fde4c9b90bec77c8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8ab388f65477b9dd4c51e6367111168d65">AMOTION_EVENT_BUTTON_PRIMARY</a> = 1 &lt;&lt; 0, 
-<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a08118700ecb4e147528a0e725afc9451">AMOTION_EVENT_BUTTON_SECONDARY</a> = 1 &lt;&lt; 1, 
-<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8ae6e2af1e7065e035e8a10a595827180f">AMOTION_EVENT_BUTTON_TERTIARY</a> = 1 &lt;&lt; 2, 
-<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a1841d075a2992ff7fbefa3fd50189b86">AMOTION_EVENT_BUTTON_BACK</a> = 1 &lt;&lt; 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a4105edf43f7748c52c859cc5aa7dc438">AMOTION_EVENT_BUTTON_FORWARD</a> = 1 &lt;&lt; 4
-<br/>
- }</td></tr>
-<tr class="separator:gac36f475ca5b446f4fde4c9b90bec77c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga05589fbab0657f08285ebdfe93f5ec9e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9ea7e1ea0c955ebbac1349866e8995e0208">AMOTION_EVENT_TOOL_TYPE_UNKNOWN</a> = 0, 
-<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eafd789262defb8a268fa80d26b0c30bcc">AMOTION_EVENT_TOOL_TYPE_FINGER</a> = 1, 
-<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eaf05dc95a74e560c89cec1f3100185fc7">AMOTION_EVENT_TOOL_TYPE_STYLUS</a> = 2, 
-<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9ea7be0c750d7d6719e7c948914400ae0de">AMOTION_EVENT_TOOL_TYPE_MOUSE</a> = 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eaf9932f65b5b6b5800fb5873a60dbf0cb">AMOTION_EVENT_TOOL_TYPE_ERASER</a> = 4
-<br/>
- }</td></tr>
-<tr class="separator:ga05589fbab0657f08285ebdfe93f5ec9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga16af7b253440dadd46a80a4b9fddba4d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4daae438f475d03ea60fd9fb356abd7fa01">AINPUT_SOURCE_CLASS_MASK</a> = 0x000000ff, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4dafd6d5e71f09f6452acf017559481444c">AINPUT_SOURCE_CLASS_NONE</a> = 0x00000000, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4dacf1bf3d7b3c6e59f907bdffc9b33370e">AINPUT_SOURCE_CLASS_BUTTON</a> = 0x00000001, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da7495274e98fb30dee3dfd903b878cf47">AINPUT_SOURCE_CLASS_POINTER</a> = 0x00000002, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da078a18d85d078412721c336a879bcc1a">AINPUT_SOURCE_CLASS_NAVIGATION</a> = 0x00000004, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da682f6982bb55ee809f6acd2deb550167">AINPUT_SOURCE_CLASS_POSITION</a> = 0x00000008, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4daaaeffb6442807dd96ec62e9d8a696b57">AINPUT_SOURCE_CLASS_JOYSTICK</a> = 0x00000010
-<br/>
- }</td></tr>
-<tr class="separator:ga16af7b253440dadd46a80a4b9fddba4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaba01db17f4a2bfbc3db60dc172972a25"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ae9348bc04cdaa88b5b010f77a4945454">AINPUT_SOURCE_UNKNOWN</a> = 0x00000000, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a9860918666dd8c0b9d00a8da7af51e6d">AINPUT_SOURCE_KEYBOARD</a> = 0x00000100 | AINPUT_SOURCE_CLASS_BUTTON, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ad0fbfeff9f8d57104bff14c70ce5e3ef">AINPUT_SOURCE_DPAD</a> = 0x00000200 | AINPUT_SOURCE_CLASS_BUTTON, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a6417cb50ecd6ade48c708268434a49d3">AINPUT_SOURCE_GAMEPAD</a> = 0x00000400 | AINPUT_SOURCE_CLASS_BUTTON, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a55ea411f927aed8964fa72fec0da444f">AINPUT_SOURCE_TOUCHSCREEN</a> = 0x00001000 | AINPUT_SOURCE_CLASS_POINTER, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ae71d3dcbd004bccb6e00fde47097cd86">AINPUT_SOURCE_MOUSE</a> = 0x00002000 | AINPUT_SOURCE_CLASS_POINTER, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a86d4983c71432b27634ba41a64bffdf9">AINPUT_SOURCE_STYLUS</a> = 0x00004000 | AINPUT_SOURCE_CLASS_POINTER, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a7e49d9153c86f60f626d7f797f4e78b6">AINPUT_SOURCE_TRACKBALL</a> = 0x00010000 | AINPUT_SOURCE_CLASS_NAVIGATION, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a7e0715d4b544653ab11893434172a2ef">AINPUT_SOURCE_TOUCHPAD</a> = 0x00100000 | AINPUT_SOURCE_CLASS_POSITION, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a3712c4e4fb8ad7f6ae6e40d48e5c6ee7">AINPUT_SOURCE_TOUCH_NAVIGATION</a> = 0x00200000 | AINPUT_SOURCE_CLASS_NONE, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25afb28f10dc074e7f7435f5904c513edb5">AINPUT_SOURCE_JOYSTICK</a> = 0x01000000 | AINPUT_SOURCE_CLASS_JOYSTICK, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ab04317e7dd273ff5c87038df67d9796e">AINPUT_SOURCE_ANY</a> = 0xffffff00
-<br/>
- }</td></tr>
-<tr class="separator:gaba01db17f4a2bfbc3db60dc172972a25"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf105ae5beaca1dee30ae54530691fce"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fcea32cb7ce34cdce7095962f0766cc6c3ac">AINPUT_KEYBOARD_TYPE_NONE</a> = 0, 
-<a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fceaf0226d750ea830eb557ae68bd4a1c82a">AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC</a> = 1, 
-<a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fceaba1f5ab6bc79749ba96a5d2a3af0e574">AINPUT_KEYBOARD_TYPE_ALPHABETIC</a> = 2
- }</td></tr>
-<tr class="separator:gaaf105ae5beaca1dee30ae54530691fce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga80155586fa275b28773c9b203f52caba"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa0e5816bc48cdb33f2b488a109596ffe1">AINPUT_MOTION_RANGE_X</a> = AMOTION_EVENT_AXIS_X, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaab48108c9450ea1b7cd021be7d8cbc332">AINPUT_MOTION_RANGE_Y</a> = AMOTION_EVENT_AXIS_Y, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa79aca706b12b28d0ab14762902fed31a">AINPUT_MOTION_RANGE_PRESSURE</a> = AMOTION_EVENT_AXIS_PRESSURE, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa46f3a6cf859fb161cd29398d8448c688">AINPUT_MOTION_RANGE_SIZE</a> = AMOTION_EVENT_AXIS_SIZE, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa7ead43624c96e165fd8a25e77148aa67">AINPUT_MOTION_RANGE_TOUCH_MAJOR</a> = AMOTION_EVENT_AXIS_TOUCH_MAJOR, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa301181a0f20681135c15010b39bb575d">AINPUT_MOTION_RANGE_TOUCH_MINOR</a> = AMOTION_EVENT_AXIS_TOUCH_MINOR, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaaa860f54aa9e5a269dba6a54bbcf3c27c">AINPUT_MOTION_RANGE_TOOL_MAJOR</a> = AMOTION_EVENT_AXIS_TOOL_MAJOR, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa19226f6cf713c1b4d0973a163daf6cf1">AINPUT_MOTION_RANGE_TOOL_MINOR</a> = AMOTION_EVENT_AXIS_TOOL_MINOR, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaaf9be9c04a41b610d994a3d1d7e90d06d">AINPUT_MOTION_RANGE_ORIENTATION</a> = AMOTION_EVENT_AXIS_ORIENTATION
-<br/>
- }</td></tr>
-<tr class="separator:ga80155586fa275b28773c9b203f52caba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6b7b47dd702d9e331586d485013fd1ea"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa593f8ae18990d627785719284a12a6f">AKEYCODE_UNKNOWN</a> = 0, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2dc78d3a93876b77402d2a7f02e4b899">AKEYCODE_SOFT_LEFT</a> = 1, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8cadfbfcaaa83fef168de13639adfcae">AKEYCODE_SOFT_RIGHT</a> = 2, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa526c2411b7476b7ae579f57a0378b2dd">AKEYCODE_HOME</a> = 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeb71c74bf556ba72e9c8f8dcbe5453d0">AKEYCODE_BACK</a> = 4, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8b5720ebdd3576c2b536ec9228273d8f">AKEYCODE_CALL</a> = 5, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaff971957ae3a4e272b21987854e18d9b">AKEYCODE_ENDCALL</a> = 6, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa23f585ea17aeceaad2111c51ab289e79">AKEYCODE_0</a> = 7, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabcac88b54f8d764bc4573ecc5b9571b0">AKEYCODE_1</a> = 8, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2079c6fb75141968b60ed79fe895d6db">AKEYCODE_2</a> = 9, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa40ccc018c0637e4d938e66b789054551">AKEYCODE_3</a> = 10, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c2d141c3906bd97cfec91443356f7b">AKEYCODE_4</a> = 11, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0ca99d2be4a3723ba3406944ad623f6e">AKEYCODE_5</a> = 12, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa72bc6560e24d08ff8f3116dac9179079">AKEYCODE_6</a> = 13, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa27070499acdb6c527a285b3840ec7bff">AKEYCODE_7</a> = 14, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa93543b23683b33724ecf77ac5a8c19ab">AKEYCODE_8</a> = 15, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa31cd4d7c4e59cf7b057b6c248cff516d">AKEYCODE_9</a> = 16, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1461fbf54e3dcba96e5d6d0638c18305">AKEYCODE_STAR</a> = 17, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf448758c44899e41b67f76dfe3be51e9">AKEYCODE_POUND</a> = 18, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf2fd3133a88f3b6725834032bd74bd9e">AKEYCODE_DPAD_UP</a> = 19, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa84b721b13aae56c9f1d3c22b3d81627a">AKEYCODE_DPAD_DOWN</a> = 20, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa668dfb3ed79a37c2c07838c161c1b344">AKEYCODE_DPAD_LEFT</a> = 21, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac6f9d81b6239696a1836695bbfc6a975">AKEYCODE_DPAD_RIGHT</a> = 22, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5e9c93273fd39148f54167133aa5b9ae">AKEYCODE_DPAD_CENTER</a> = 23, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5b81e325d9efd633eef7535a5b538882">AKEYCODE_VOLUME_UP</a> = 24, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a882dae17080d3b5f3329e79db60c66">AKEYCODE_VOLUME_DOWN</a> = 25, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabecfbcb9b6f5e85fdfdfa98fbc3326e6">AKEYCODE_POWER</a> = 26, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8670880765756933d3d1a10186d39e26">AKEYCODE_CAMERA</a> = 27, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa95bd8c25adeaa570108c7403f08a2901">AKEYCODE_CLEAR</a> = 28, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa424a091c62d40f5d65908c9730ae9014">AKEYCODE_A</a> = 29, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa65d3bf8d6a8a6c2f7c1b08394f313758">AKEYCODE_B</a> = 30, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeed584f454e508ce931bcb33d37adb04">AKEYCODE_C</a> = 31, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7e4cb3ef66209a2779be2c8239b57b51">AKEYCODE_D</a> = 32, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae218af7ceb207227bb10f0525e68a8d0">AKEYCODE_E</a> = 33, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa455f71ecfe59af0fbd901ac0d0a8d53a">AKEYCODE_F</a> = 34, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa165067e10464019411f768bba9e533d9">AKEYCODE_G</a> = 35, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad89a91a1500cb162f22962781ebfd9dc">AKEYCODE_H</a> = 36, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4d44b5e4a19580540d8d77bf5755d74b">AKEYCODE_I</a> = 37, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa70c259612ccec117d70afaef947a6a7a">AKEYCODE_J</a> = 38, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5ce56cf50d3632c275c524bd78d0d932">AKEYCODE_K</a> = 39, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab61c534fd0f4e56c4ba13861a2f5982b">AKEYCODE_L</a> = 40, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa43b19e5e5234ce90c8e7ef67dd0cabd1">AKEYCODE_M</a> = 41, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6c0b26804c89560a9e87c45f7f9fed36">AKEYCODE_N</a> = 42, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa249667bc4a59d99be1914535877329fb">AKEYCODE_O</a> = 43, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac68ef56b78bd0c8626cc68bb6cb9156f">AKEYCODE_P</a> = 44, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa932cf6ea8d87e6d6d97af658dd0fa206">AKEYCODE_Q</a> = 45, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaba25ac2c15a8edbbbff16a9fe6e74532">AKEYCODE_R</a> = 46, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae1ed25c28a8fce578cddb17ca6888ff6">AKEYCODE_S</a> = 47, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2feac8b458ef8eb9c0a0dd73766927c2">AKEYCODE_T</a> = 48, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac1a220314f986aae45d7fe3b35501595">AKEYCODE_U</a> = 49, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4043bc48fa55cce7825176052d6e199a">AKEYCODE_V</a> = 50, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0c80e98547c3daa01f3d9e7f4f00425">AKEYCODE_W</a> = 51, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaec585cebac89004faffbdc28dc6d81c5">AKEYCODE_X</a> = 52, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa06fc277ef25acdd89d64c18eed0daa9b">AKEYCODE_Y</a> = 53, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7439a09f219a0addc13c758ef7508cce">AKEYCODE_Z</a> = 54, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0ca0bfbdc67b2c6f76e8fcaaf782c227">AKEYCODE_COMMA</a> = 55, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9dd68c8ecebd4e274e8c357dcdfe8a04">AKEYCODE_PERIOD</a> = 56, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3dec175158abe8679bedd98ed1bc3e1a">AKEYCODE_ALT_LEFT</a> = 57, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd9b6b0846c6999f5df47d29e58ac95d">AKEYCODE_ALT_RIGHT</a> = 58, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafb9875645596928cec46368e74499dc4">AKEYCODE_SHIFT_LEFT</a> = 59, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf9eab1348ae1e8f18ad5bf3c77df4212">AKEYCODE_SHIFT_RIGHT</a> = 60, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1b1bfda850b2acd0b60e8456e2bfa958">AKEYCODE_TAB</a> = 61, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa10389300ac5d70f8d9733564b3cab4e7">AKEYCODE_SPACE</a> = 62, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6c1c6752d5db5e02da51d8937e5e3c6f">AKEYCODE_SYM</a> = 63, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaded9ec81ae6dab451665317723b94083">AKEYCODE_EXPLORER</a> = 64, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaade96efe470f428bb5c4eaea6ffc3681c">AKEYCODE_ENVELOPE</a> = 65, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac784a7bbbfbdab05fab6c6a1f29c98ff">AKEYCODE_ENTER</a> = 66, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd013221b457d98975dc47e49817e28a">AKEYCODE_DEL</a> = 67, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa929561086ae7b519fa962597bc85f171">AKEYCODE_GRAVE</a> = 68, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaca10bd34ad0abecfecace908b8cb92ca">AKEYCODE_MINUS</a> = 69, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0a197df7ec719c95ddcd6836e76c8498">AKEYCODE_EQUALS</a> = 70, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabdeda0d373aa37ef2ded5ffdfc008708">AKEYCODE_LEFT_BRACKET</a> = 71, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa084dfa52626040a08d374f8aec066e6a">AKEYCODE_RIGHT_BRACKET</a> = 72, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaac90eb064382e3c482ae86abb7b3f701">AKEYCODE_BACKSLASH</a> = 73, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac0a2920161f4f2d97b0b060614b23391">AKEYCODE_SEMICOLON</a> = 74, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab5518a8502914ea5f87ef5d29b32b1b1">AKEYCODE_APOSTROPHE</a> = 75, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa54c047be3811d637a33d9b3e39d16e1a">AKEYCODE_SLASH</a> = 76, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7284f79a266ede479b79726082642e16">AKEYCODE_AT</a> = 77, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe6e880f65bebbdd5246a4164c4ab37a">AKEYCODE_NUM</a> = 78, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0d3d29515a4815fe8d6d8d3291507a33">AKEYCODE_HEADSETHOOK</a> = 79, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa23be9506f92f6efe14d47306a39a2187">AKEYCODE_FOCUS</a> = 80, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7f72d867b311e0845aef732dcc66495">AKEYCODE_PLUS</a> = 81, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa707b85e89923b0f760be795972a87d76">AKEYCODE_MENU</a> = 82, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6115506352a5828532fc6a0b91683331">AKEYCODE_NOTIFICATION</a> = 83, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac644fd307fd0ef0d3ed3d2e074c1a4b7">AKEYCODE_SEARCH</a> = 84, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa42f8fe71e8d45b5a83d83d80c3da40e1">AKEYCODE_MEDIA_PLAY_PAUSE</a> = 85, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac4faa33993d80db1326073ea15a38e7d">AKEYCODE_MEDIA_STOP</a> = 86, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf5a6c3fc963e8163852b9a23e3a198b3">AKEYCODE_MEDIA_NEXT</a> = 87, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa81432c31b00d47f768c29163eb276acb">AKEYCODE_MEDIA_PREVIOUS</a> = 88, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaecd53183b84c23a2ca65670a23674319">AKEYCODE_MEDIA_REWIND</a> = 89, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa69e648024402af688d490a2041f15bca">AKEYCODE_MEDIA_FAST_FORWARD</a> = 90, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f6675d38f50e3556a8531839fd83f02">AKEYCODE_MUTE</a> = 91, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4fd0d4ea5b6898f4a40011b97a739a04">AKEYCODE_PAGE_UP</a> = 92, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0b7fe1c18f53e6328657858a88826393">AKEYCODE_PAGE_DOWN</a> = 93, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacdc7c004da1594fa156de87befef5f41">AKEYCODE_PICTSYMBOLS</a> = 94, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad6a1f88b2cc3b6ff8f1724eb01473ec3">AKEYCODE_SWITCH_CHARSET</a> = 95, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaef2d2ec912aaa9e7215aeab79f7fb086">AKEYCODE_BUTTON_A</a> = 96, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa721765c8f0bbcdb68af06817dbec8e53">AKEYCODE_BUTTON_B</a> = 97, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad622ad5df40d2fdf806abb2adda73b3d">AKEYCODE_BUTTON_C</a> = 98, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa21174962f95e32cd0345ce657d03ebc7">AKEYCODE_BUTTON_X</a> = 99, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6654a8b2c700f7783433c86fcdae7919">AKEYCODE_BUTTON_Y</a> = 100, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa06156b68e6de951b44fc662e1b16041f">AKEYCODE_BUTTON_Z</a> = 101, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa32e159826404c7d76c2a433c24de82a2">AKEYCODE_BUTTON_L1</a> = 102, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7c614b3966583b0ad027e45f594ede46">AKEYCODE_BUTTON_R1</a> = 103, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa36a38421637cfa5ebfd8a0296650cdf4">AKEYCODE_BUTTON_L2</a> = 104, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa46d487e9fe31855b7b46739bad58fe3e">AKEYCODE_BUTTON_R2</a> = 105, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68c5d8dcd8fe708ada8f4a4e17feb638">AKEYCODE_BUTTON_THUMBL</a> = 106, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9759d817172d268ced1748909a5f5fbe">AKEYCODE_BUTTON_THUMBR</a> = 107, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf3c818d106f4ec793a43749c4c26a8a4">AKEYCODE_BUTTON_START</a> = 108, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa598289bc85f647c237729126ea392a43">AKEYCODE_BUTTON_SELECT</a> = 109, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa19839eebec939407d901a33b75cf2594">AKEYCODE_BUTTON_MODE</a> = 110, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac52177e5508edacb8e9c6d3a25db4fb6">AKEYCODE_ESCAPE</a> = 111, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9516bc190d37fea27e07ddab0c607b51">AKEYCODE_FORWARD_DEL</a> = 112, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaaca9d0df6cc18492209eb287e659aeb1">AKEYCODE_CTRL_LEFT</a> = 113, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa99b317cf2f1eb6b06d0226e05223e60c">AKEYCODE_CTRL_RIGHT</a> = 114, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab9dcb68b35c85d380846c85f323868f1">AKEYCODE_CAPS_LOCK</a> = 115, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa78ff5c8316235635f76e3c3179e9a7fc">AKEYCODE_SCROLL_LOCK</a> = 116, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaaadfb2d920bbe422c096120d39811c58">AKEYCODE_META_LEFT</a> = 117, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68038455e2b0846db51f9957e0df9cb8">AKEYCODE_META_RIGHT</a> = 118, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1764b777aa56605f4029d3c71fe70722">AKEYCODE_FUNCTION</a> = 119, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14e22c69bcd47ffb4445ee18a4332d84">AKEYCODE_SYSRQ</a> = 120, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa047501f9cf9bce00e6048d8759ea3a23">AKEYCODE_BREAK</a> = 121, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7544f3de2fb5f78bec62af94a32fdc58">AKEYCODE_MOVE_HOME</a> = 122, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5605f49f5271430f5f150efb3cd0398a">AKEYCODE_MOVE_END</a> = 123, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa62f663d11e91af750a51ddd060b08644">AKEYCODE_INSERT</a> = 124, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafbf0a16c7746e5dee2fd3adbd50da88a">AKEYCODE_FORWARD</a> = 125, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa615cf6202b0ae0ed550f42f6c64b36a1">AKEYCODE_MEDIA_PLAY</a> = 126, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f4e0178c2028b3042b0a5948e38e4e4">AKEYCODE_MEDIA_PAUSE</a> = 127, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6788c6e1443140b0ec4d004d8293e998">AKEYCODE_MEDIA_CLOSE</a> = 128, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa317bffd44306b021c401d3a26b82a7f6">AKEYCODE_MEDIA_EJECT</a> = 129, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17e1eae0b245176aaa024a53411441f9">AKEYCODE_MEDIA_RECORD</a> = 130, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3b84f2c503a9e839f3d36e10e3307fcf">AKEYCODE_F1</a> = 131, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1360f7ec66aa6421e240dae637262e84">AKEYCODE_F2</a> = 132, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a4ce6105e12a3a9071cae2f40515085">AKEYCODE_F3</a> = 133, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa882050e4d0f917470a5b91fbf6ae9ebf">AKEYCODE_F4</a> = 134, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab01807c72b46620bb50fcb6abe24d937">AKEYCODE_F5</a> = 135, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa04a12e81ed80bb42ef5c63cedf0dc60">AKEYCODE_F6</a> = 136, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9583b8e4b0d994b7e3a193b67cf6020c">AKEYCODE_F7</a> = 137, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa55ca54d42d8df70de2ce9031db1344c8">AKEYCODE_F8</a> = 138, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0c8225c0ef98da730933ae914077dbc9">AKEYCODE_F9</a> = 139, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa60660b13acab39282d0558cdcc93474">AKEYCODE_F10</a> = 140, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa64cc7b1d8e53d90ff57c39d0b5a4dd22">AKEYCODE_F11</a> = 141, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa491000231e0ba221b6916b1d9d2c9fb7">AKEYCODE_F12</a> = 142, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad5e349eadd3255c6ad4982dc40ed23ef">AKEYCODE_NUM_LOCK</a> = 143, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa343df35e6a0ad0599e19b8ef7174909b">AKEYCODE_NUMPAD_0</a> = 144, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5c0ec8e42917fa9ac53977db3e6aeb17">AKEYCODE_NUMPAD_1</a> = 145, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4dfd17c2209908e1ec890e10a3211f89">AKEYCODE_NUMPAD_2</a> = 146, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa1efe1886a4b472b999215c0e81f7386">AKEYCODE_NUMPAD_3</a> = 147, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1fdd16681c1441b934f679b94fd0e4f8">AKEYCODE_NUMPAD_4</a> = 148, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf5916003e7c737a8cc06e52d2ee76c3b">AKEYCODE_NUMPAD_5</a> = 149, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa13b83389e0f5de129227af4b8d3f035d">AKEYCODE_NUMPAD_6</a> = 150, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaed9468951ef2887c07c8095c2e7d4c93">AKEYCODE_NUMPAD_7</a> = 151, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5f0a300566235720eb93fee9f2196642">AKEYCODE_NUMPAD_8</a> = 152, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad0c490e3965df546e2d5a83edf423d95">AKEYCODE_NUMPAD_9</a> = 153, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaac108b744e8f93af69158d146425236c">AKEYCODE_NUMPAD_DIVIDE</a> = 154, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa47ce00b838e7ee0a34066dc2595ac735">AKEYCODE_NUMPAD_MULTIPLY</a> = 155, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa2bee314dbbea0a349eb301d10256bbe">AKEYCODE_NUMPAD_SUBTRACT</a> = 156, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9d2fefa9a3f6037f48b247e66dd28c35">AKEYCODE_NUMPAD_ADD</a> = 157, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6aab6b5914e120b43b3a1a8269e9cee1">AKEYCODE_NUMPAD_DOT</a> = 158, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa900e3bb0bc4ff70ba786f18ff4db0bd1">AKEYCODE_NUMPAD_COMMA</a> = 159, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa79432be5f7a44e99ddc3721fd9fd212e">AKEYCODE_NUMPAD_ENTER</a> = 160, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c1007a59641499ee5e1508e747c5ed">AKEYCODE_NUMPAD_EQUALS</a> = 161, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacc903e9eb495cf6cef7c6bc825f82f54">AKEYCODE_NUMPAD_LEFT_PAREN</a> = 162, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7662e0f2a099239dc69f6a27c7daabf9">AKEYCODE_NUMPAD_RIGHT_PAREN</a> = 163, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa174a5c7c39753235109696e82870c575">AKEYCODE_VOLUME_MUTE</a> = 164, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17e76263257a5dc654a413c9dc2fd649">AKEYCODE_INFO</a> = 165, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa056914fd17ae539dca44f43745d8e05c">AKEYCODE_CHANNEL_UP</a> = 166, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa18f1808c6a819e787c9a9941f78b910f">AKEYCODE_CHANNEL_DOWN</a> = 167, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacfce9bb78ef8106dce4868f81cca4fb4">AKEYCODE_ZOOM_IN</a> = 168, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacf035f5234c3df4589f35a50e99e0535">AKEYCODE_ZOOM_OUT</a> = 169, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0776ffae512b4848e53fce762a3a5017">AKEYCODE_TV</a> = 170, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe7531c40ff4a31614ff6fd61802ebe8">AKEYCODE_WINDOW</a> = 171, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf33a5fa1f163245360aeed89d64b0233">AKEYCODE_GUIDE</a> = 172, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacf2f03b925a02ba6de9fd98737546a60">AKEYCODE_DVR</a> = 173, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa03ce46d177e020690aa9d26a0fa850ae">AKEYCODE_BOOKMARK</a> = 174, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa81ba8d5343362b841b8a62b8679ff994">AKEYCODE_CAPTIONS</a> = 175, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa2bbd457230c3028df6b91d5bdda9159">AKEYCODE_SETTINGS</a> = 176, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafda3b0ea1b158831fc443bf4911a3930">AKEYCODE_TV_POWER</a> = 177, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa1750b29e396bd1fd237ed4aadacc8f5">AKEYCODE_TV_INPUT</a> = 178, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab28aea3a51b11c9f227ce8cd5ff55a3d">AKEYCODE_STB_POWER</a> = 179, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa988b0372359b2bca7390878fdba9e1b5">AKEYCODE_STB_INPUT</a> = 180, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa479d36f9814bd00c8986a252664b938b">AKEYCODE_AVR_POWER</a> = 181, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa57d42dbd8ea4219f76fb116f234e6504">AKEYCODE_AVR_INPUT</a> = 182, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2d9e3e82e69955f649b586f4518e074c">AKEYCODE_PROG_RED</a> = 183, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad50c1e2136e47843a8dabca929f8ead1">AKEYCODE_PROG_GREEN</a> = 184, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafa813640412bd41a181f0ec3a33dddc4">AKEYCODE_PROG_YELLOW</a> = 185, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5e82219fdb937fee5a22426c607dd4e0">AKEYCODE_PROG_BLUE</a> = 186, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa53a59a262d6d523bdc2bd30a1e427bad">AKEYCODE_APP_SWITCH</a> = 187, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa28c72c33ab93d83539d0790b7e48336a">AKEYCODE_BUTTON_1</a> = 188, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab8089673fea303c7a299eefd2c327cc3">AKEYCODE_BUTTON_2</a> = 189, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa706a5ff492c80b4653e6fe0dcd278ca1">AKEYCODE_BUTTON_3</a> = 190, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c425a063bf6976e1ff8ae9f3cfcbe6">AKEYCODE_BUTTON_4</a> = 191, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa47149f963528ec7abe55066abfb7caf5">AKEYCODE_BUTTON_5</a> = 192, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa55057c8cda53a4c539d02ab1a93ca58b">AKEYCODE_BUTTON_6</a> = 193, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac09e0c0cbbf6449bf106e4199600db35">AKEYCODE_BUTTON_7</a> = 194, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaee64b3e0f30ed09e3c9f01b6c8877c3f">AKEYCODE_BUTTON_8</a> = 195, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac8e54092c8be5dc0e114ec35f40e00dc">AKEYCODE_BUTTON_9</a> = 196, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7e6f8621909f3461032c33f9c8acaa7">AKEYCODE_BUTTON_10</a> = 197, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab413971c698b6e25d3955667c0142ac1">AKEYCODE_BUTTON_11</a> = 198, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafe4ee1e5446dd12bbb579b412048e79e">AKEYCODE_BUTTON_12</a> = 199, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaabde2ed26594b89d5769eef9f0d1fe6f">AKEYCODE_BUTTON_13</a> = 200, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f08dfd2c30ddedf1d2983680e89041b">AKEYCODE_BUTTON_14</a> = 201, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d8d0fb1a610fdb4e53f0fb675b7d7d0">AKEYCODE_BUTTON_15</a> = 202, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa224370cba99bda2db6a1c82fd2f7fa39">AKEYCODE_BUTTON_16</a> = 203, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7b8e87b47c17c5f1e97fcb56faaa26ff">AKEYCODE_LANGUAGE_SWITCH</a> = 204, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa380279768c5c50d92bef2a88394f967f">AKEYCODE_MANNER_MODE</a> = 205, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68d314a5ec06701205cd0097c5c7145c">AKEYCODE_3D_MODE</a> = 206, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0aa2cfca11b7cabf82341a9dbec83f10">AKEYCODE_CONTACTS</a> = 207, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa114be17d1853c77a7406c024d9e4f076">AKEYCODE_CALENDAR</a> = 208, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14508751d70a0404b194d4b6df83ec72">AKEYCODE_MUSIC</a> = 209, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa293523c40bb9f1d793cd0b984f636573">AKEYCODE_CALCULATOR</a> = 210, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf782be8df9a8ca5dc86c9bfeabac6f22">AKEYCODE_ZENKAKU_HANKAKU</a> = 211, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaadd69273b99eb0b848d98b2d6b3ad3234">AKEYCODE_EISU</a> = 212, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7321e5c6b3cbab142bd16957653b2ac7">AKEYCODE_MUHENKAN</a> = 213, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab0686dd37c57d833d1158b7f1d85ee02">AKEYCODE_HENKAN</a> = 214, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3be7db22b3c8aa046a46631e44863c28">AKEYCODE_KATAKANA_HIRAGANA</a> = 215, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5ee19d21912056b902e283efa2d9d14b">AKEYCODE_YEN</a> = 216, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae8b0af04dac5ea56fd55e577fd9e6be4">AKEYCODE_RO</a> = 217, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa62d090ae5c95a04dacdff79817dad531">AKEYCODE_KANA</a> = 218, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d3f036adb654c7752890a283ecbf838">AKEYCODE_ASSIST</a> = 219, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7cf1bf3528b6d8a0e86998287fe00650">AKEYCODE_BRIGHTNESS_DOWN</a> = 220, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0af6ec416c09d160e364466faa955c36">AKEYCODE_BRIGHTNESS_UP</a> = 221, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3cdb53cdf8c576e272502da06daa52e1">AKEYCODE_MEDIA_AUDIO_TRACK</a> = 222, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafc077e5a6b447ea060c144f6e65bd207">AKEYCODE_SLEEP</a> = 223, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa903c5152d26b3011ae521afa06759429">AKEYCODE_WAKEUP</a> = 224, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0ecddd3dce52cf60c96c5d430b1f553">AKEYCODE_PAIRING</a> = 225, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf3ddf83cb2f701911b03c3a738e2e73a">AKEYCODE_MEDIA_TOP_MENU</a> = 226, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa22858c3c30d596ad60f355f75df86e1">AKEYCODE_11</a> = 227, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa781c31195e55b2dcbdd772560dc61aa5">AKEYCODE_12</a> = 228, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa187963dd6f74b96f132f23e01dea35e9">AKEYCODE_LAST_CHANNEL</a> = 229, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa954c2251b2cb53f47637802cb66baf06">AKEYCODE_TV_DATA_SERVICE</a> = 230, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa95898663b7f74c93d0b860a43528c744">AKEYCODE_VOICE_ASSIST</a> = 231, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa93dd3fd752701af5a5491e01cc15db72">AKEYCODE_TV_RADIO_SERVICE</a> = 232, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d3d7b89756df37f01d6d0f13beff1db">AKEYCODE_TV_TELETEXT</a> = 233, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa630a08e07a3b4c6bcac9a1a72d176055">AKEYCODE_TV_NUMBER_ENTRY</a> = 234, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14f2b6fe8550832ef9e3f9aa53164073">AKEYCODE_TV_TERRESTRIAL_ANALOG</a> = 235, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacad8c149251a78760a5fe4931b9cdf16">AKEYCODE_TV_TERRESTRIAL_DIGITAL</a> = 236, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3707d4396417535a611e4548afe33936">AKEYCODE_TV_SATELLITE</a> = 237, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8c52e7d06525c0ee5d943d63a0fa8ea5">AKEYCODE_TV_SATELLITE_BS</a> = 238, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4eea1809a9ff679ed7773332d728c6b0">AKEYCODE_TV_SATELLITE_CS</a> = 239, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17c0e68066b86610ff168c6367af36eb">AKEYCODE_TV_SATELLITE_SERVICE</a> = 240, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaec5e46a5afc57953d1772e086307aa42">AKEYCODE_TV_NETWORK</a> = 241, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe33a80d6d3bf889af25cbd77fdb89f9">AKEYCODE_TV_ANTENNA_CABLE</a> = 242, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a50de965f50ab3aa42772aac0808445">AKEYCODE_TV_INPUT_HDMI_1</a> = 243, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7ec65c008471d771bf879ec012f5c7f">AKEYCODE_TV_INPUT_HDMI_2</a> = 244, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a0f267a2696d15bf16127121b1f1c7f">AKEYCODE_TV_INPUT_HDMI_3</a> = 245, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4437c1d8d2d33058cfa71ec7b2771ec5">AKEYCODE_TV_INPUT_HDMI_4</a> = 246, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5c3097f14c6582958ba1d14d70115ccd">AKEYCODE_TV_INPUT_COMPOSITE_1</a> = 247, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaada13cbb9d619bc610678ad66325647b9">AKEYCODE_TV_INPUT_COMPOSITE_2</a> = 248, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa156e2dba81e7c73624ccf8c2ef8833ae">AKEYCODE_TV_INPUT_COMPONENT_1</a> = 249, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8db9b6ee1457267abea03430781bb0ec">AKEYCODE_TV_INPUT_COMPONENT_2</a> = 250, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa149b2c8a4817075c0a41e0adf11c8e85">AKEYCODE_TV_INPUT_VGA_1</a> = 251, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa419f0adac43cad104cd6cf83dc5f13f6">AKEYCODE_TV_AUDIO_DESCRIPTION</a> = 252, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaccc5900ca5dd399d5ce11dd8ca324678">AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP</a> = 253, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5fca6a9ec1ce246bf3c53d859ac9f5eb">AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN</a> = 254, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8e79045045293070c8eb9e408f1335b4">AKEYCODE_TV_ZOOM_MODE</a> = 255, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4c18feeafff3c41081073c025ee017b8">AKEYCODE_TV_CONTENTS_MENU</a> = 256, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaadde70071f6a432f367079efa6e1a6fe">AKEYCODE_TV_MEDIA_CONTEXT_MENU</a> = 257, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0293c2a63e4d955080334bef6640840">AKEYCODE_TV_TIMER_PROGRAMMING</a> = 258, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab062b403701292c9e2db96a1f88cc6d9">AKEYCODE_HELP</a> = 259
-<br/>
- }</td></tr>
-<tr class="separator:ga6b7b47dd702d9e331586d485013fd1ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga8292ae06aa8120c52d7380d228600b9c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga8292ae06aa8120c52d7380d228600b9c">AInputEvent_getType</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event)</td></tr>
-<tr class="separator:ga8292ae06aa8120c52d7380d228600b9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9dd3fd81e51dbfde19ab861541242aa1"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga9dd3fd81e51dbfde19ab861541242aa1">AInputEvent_getDeviceId</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event)</td></tr>
-<tr class="separator:ga9dd3fd81e51dbfde19ab861541242aa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac90d4b497669dbc709ec9650db4e49be"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gac90d4b497669dbc709ec9650db4e49be">AInputEvent_getSource</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event)</td></tr>
-<tr class="separator:gac90d4b497669dbc709ec9650db4e49be"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga36ec0b59f98f86a7ca263ba91279896d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga36ec0b59f98f86a7ca263ba91279896d">AKeyEvent_getAction</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga36ec0b59f98f86a7ca263ba91279896d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2a18e98efe0c4ccb6f39bb13c555010e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2a18e98efe0c4ccb6f39bb13c555010e">AKeyEvent_getFlags</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga2a18e98efe0c4ccb6f39bb13c555010e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6b01ecd60018a5445f4917a861ca9466"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga6b01ecd60018a5445f4917a861ca9466">AKeyEvent_getKeyCode</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga6b01ecd60018a5445f4917a861ca9466"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4a0a846b7a195aeb290dfcd2250137d9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga4a0a846b7a195aeb290dfcd2250137d9">AKeyEvent_getScanCode</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga4a0a846b7a195aeb290dfcd2250137d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabdda62b40b22727af2fb41740bf4787b"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gabdda62b40b22727af2fb41740bf4787b">AKeyEvent_getMetaState</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:gabdda62b40b22727af2fb41740bf4787b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5358fe3ebbd4b5b2f88a4ad2eba6f885"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga5358fe3ebbd4b5b2f88a4ad2eba6f885">AKeyEvent_getRepeatCount</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga5358fe3ebbd4b5b2f88a4ad2eba6f885"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf475b6f0860bdfca4ceea7bc46eab1a9"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaf475b6f0860bdfca4ceea7bc46eab1a9">AKeyEvent_getDownTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:gaf475b6f0860bdfca4ceea7bc46eab1a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae3eac7d68195d1767c947ca267842696"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gae3eac7d68195d1767c947ca267842696">AKeyEvent_getEventTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:gae3eac7d68195d1767c947ca267842696"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga73ea2093cc2343675ac43dd08bef4247"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga73ea2093cc2343675ac43dd08bef4247">AMotionEvent_getAction</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga73ea2093cc2343675ac43dd08bef4247"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2891d19197c070207098fa48adeb35af"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2891d19197c070207098fa48adeb35af">AMotionEvent_getFlags</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga2891d19197c070207098fa48adeb35af"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5644f0d952e3dea57ba9f7ce51dff2bb"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga5644f0d952e3dea57ba9f7ce51dff2bb">AMotionEvent_getMetaState</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga5644f0d952e3dea57ba9f7ce51dff2bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1aa7ebb749416491b6f0c55ae87ddf49"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga1aa7ebb749416491b6f0c55ae87ddf49">AMotionEvent_getButtonState</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga1aa7ebb749416491b6f0c55ae87ddf49"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad7e1f0caa4c27194d4a8756a18432299"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gad7e1f0caa4c27194d4a8756a18432299">AMotionEvent_getEdgeFlags</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:gad7e1f0caa4c27194d4a8756a18432299"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad44be7697e68891688cd7bcfaffec209"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gad44be7697e68891688cd7bcfaffec209">AMotionEvent_getDownTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:gad44be7697e68891688cd7bcfaffec209"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7e13fbf3cff0700b0b620284ebdd3a33"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga7e13fbf3cff0700b0b620284ebdd3a33">AMotionEvent_getEventTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga7e13fbf3cff0700b0b620284ebdd3a33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7a94ce622eb78a17737fd8bddbf86e21"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga7a94ce622eb78a17737fd8bddbf86e21">AMotionEvent_getXOffset</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga7a94ce622eb78a17737fd8bddbf86e21"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7f6bd2c12d912f502c245b6ced6d3704"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga7f6bd2c12d912f502c245b6ced6d3704">AMotionEvent_getYOffset</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga7f6bd2c12d912f502c245b6ced6d3704"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga81a9be07673a01f43fd0241c7b4c254f"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga81a9be07673a01f43fd0241c7b4c254f">AMotionEvent_getXPrecision</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga81a9be07673a01f43fd0241c7b4c254f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae311e6e28bce4be905526f9ea71278ed"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gae311e6e28bce4be905526f9ea71278ed">AMotionEvent_getYPrecision</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:gae311e6e28bce4be905526f9ea71278ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga612e68d104adbc6d14d87510e8066bd8"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga612e68d104adbc6d14d87510e8066bd8">AMotionEvent_getPointerCount</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga612e68d104adbc6d14d87510e8066bd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga599e21a79c706807243a8ee31b116138"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga599e21a79c706807243a8ee31b116138">AMotionEvent_getPointerId</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga599e21a79c706807243a8ee31b116138"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2babe4e2e79952e004538f8f1878649c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2babe4e2e79952e004538f8f1878649c">AMotionEvent_getToolType</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga2babe4e2e79952e004538f8f1878649c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafe45e29ef138cc30592237ce479837f0"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gafe45e29ef138cc30592237ce479837f0">AMotionEvent_getRawX</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:gafe45e29ef138cc30592237ce479837f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5a09c3d742a93270861aa05f24257c23"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga5a09c3d742a93270861aa05f24257c23">AMotionEvent_getRawY</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga5a09c3d742a93270861aa05f24257c23"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga22e255a5fa52761cd92ce78af91e9757"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga22e255a5fa52761cd92ce78af91e9757">AMotionEvent_getX</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga22e255a5fa52761cd92ce78af91e9757"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga113f58a37e41f2a6c3007d68418edfa6"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga113f58a37e41f2a6c3007d68418edfa6">AMotionEvent_getY</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga113f58a37e41f2a6c3007d68418edfa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga97fcaa6cd08c9d54b35711e482e06c8d"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga97fcaa6cd08c9d54b35711e482e06c8d">AMotionEvent_getPressure</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga97fcaa6cd08c9d54b35711e482e06c8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9b1f3c3df46b5269f9e74d2dd70c88a8"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga9b1f3c3df46b5269f9e74d2dd70c88a8">AMotionEvent_getSize</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga9b1f3c3df46b5269f9e74d2dd70c88a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9ac18fe19534e07d80441582f489d471"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga9ac18fe19534e07d80441582f489d471">AMotionEvent_getTouchMajor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga9ac18fe19534e07d80441582f489d471"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga65f71e257b5fcb29dcbaaf59b3fcb3a7"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga65f71e257b5fcb29dcbaaf59b3fcb3a7">AMotionEvent_getTouchMinor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga65f71e257b5fcb29dcbaaf59b3fcb3a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac04099690f278a6a27191c2027b12a77"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gac04099690f278a6a27191c2027b12a77">AMotionEvent_getToolMajor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:gac04099690f278a6a27191c2027b12a77"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2222d459759ba4a8269647012d2718fb"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2222d459759ba4a8269647012d2718fb">AMotionEvent_getToolMinor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga2222d459759ba4a8269647012d2718fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad28422998da15b789edcba6b8bc5d615"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gad28422998da15b789edcba6b8bc5d615">AMotionEvent_getOrientation</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:gad28422998da15b789edcba6b8bc5d615"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9d364cdcebf85237f599b25861f38c21"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga9d364cdcebf85237f599b25861f38c21">AMotionEvent_getAxisValue</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, int32_t axis, size_t pointer_index)</td></tr>
-<tr class="separator:ga9d364cdcebf85237f599b25861f38c21"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0aef34c236db6d7a56a50bf590be7bcc"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga0aef34c236db6d7a56a50bf590be7bcc">AMotionEvent_getHistorySize</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga0aef34c236db6d7a56a50bf590be7bcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga523f1a760754206965b42b08d62f9346"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga523f1a760754206965b42b08d62f9346">AMotionEvent_getHistoricalEventTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t history_index)</td></tr>
-<tr class="separator:ga523f1a760754206965b42b08d62f9346"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5d36c2e7420001c86ae2aa1168fe6f83"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga5d36c2e7420001c86ae2aa1168fe6f83">AMotionEvent_getHistoricalRawX</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga5d36c2e7420001c86ae2aa1168fe6f83"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6deb0e7690a93aa53e5872c2691b69fe"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga6deb0e7690a93aa53e5872c2691b69fe">AMotionEvent_getHistoricalRawY</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga6deb0e7690a93aa53e5872c2691b69fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga49a8ca89ff377b5ed2355e8d7220ae07"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga49a8ca89ff377b5ed2355e8d7220ae07">AMotionEvent_getHistoricalX</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga49a8ca89ff377b5ed2355e8d7220ae07"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga30fc4e5d3ce144955859f8c97b51b73d"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga30fc4e5d3ce144955859f8c97b51b73d">AMotionEvent_getHistoricalY</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga30fc4e5d3ce144955859f8c97b51b73d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa8e9352ee5b043b3e1b6e2062d491010"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaa8e9352ee5b043b3e1b6e2062d491010">AMotionEvent_getHistoricalPressure</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:gaa8e9352ee5b043b3e1b6e2062d491010"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0a04bb7ec12928db7e62645e7fad3a9e"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga0a04bb7ec12928db7e62645e7fad3a9e">AMotionEvent_getHistoricalSize</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga0a04bb7ec12928db7e62645e7fad3a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf437f223668b97f19ebdbad4b9cf4483"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaf437f223668b97f19ebdbad4b9cf4483">AMotionEvent_getHistoricalTouchMajor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:gaf437f223668b97f19ebdbad4b9cf4483"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga126715d966e989652aa1ae5d38e0e898"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga126715d966e989652aa1ae5d38e0e898">AMotionEvent_getHistoricalTouchMinor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga126715d966e989652aa1ae5d38e0e898"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga160a5830e791e8c42ae97f51b92233d2"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga160a5830e791e8c42ae97f51b92233d2">AMotionEvent_getHistoricalToolMajor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga160a5830e791e8c42ae97f51b92233d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafe01aa7576a6d1bce750fb8482355849"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gafe01aa7576a6d1bce750fb8482355849">AMotionEvent_getHistoricalToolMinor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:gafe01aa7576a6d1bce750fb8482355849"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaab9cb8fa670175ecc73c75eed4e5cd3f"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaab9cb8fa670175ecc73c75eed4e5cd3f">AMotionEvent_getHistoricalOrientation</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:gaab9cb8fa670175ecc73c75eed4e5cd3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7ca740e1324f3cdb934252dce0c982d0"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga7ca740e1324f3cdb934252dce0c982d0">AMotionEvent_getHistoricalAxisValue</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, int32_t axis, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga7ca740e1324f3cdb934252dce0c982d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga900711156bfb58d1a4b158da7874930f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga900711156bfb58d1a4b158da7874930f">AInputQueue_attachLooper</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue, <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper, int ident, <a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a> callback, void *data)</td></tr>
-<tr class="separator:ga900711156bfb58d1a4b158da7874930f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaeebe9f83392ac79b31ca40a6fd4dbeff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaeebe9f83392ac79b31ca40a6fd4dbeff">AInputQueue_detachLooper</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue)</td></tr>
-<tr class="separator:gaeebe9f83392ac79b31ca40a6fd4dbeff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2b72ad6ab5ef656e8c41163aa7871c96"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2b72ad6ab5ef656e8c41163aa7871c96">AInputQueue_hasEvents</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue)</td></tr>
-<tr class="separator:ga2b72ad6ab5ef656e8c41163aa7871c96"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga88de12e2b39787ba7d3e4ce2ea46a48c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga88de12e2b39787ba7d3e4ce2ea46a48c">AInputQueue_getEvent</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue, <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> **outEvent)</td></tr>
-<tr class="separator:ga88de12e2b39787ba7d3e4ce2ea46a48c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadecd32e6c7aefa4a508b355550d3eaa9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gadecd32e6c7aefa4a508b355550d3eaa9">AInputQueue_preDispatchEvent</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue, <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event)</td></tr>
-<tr class="separator:gadecd32e6c7aefa4a508b355550d3eaa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga17e87e0f35d47d729eac31a0dfb1ac33"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga17e87e0f35d47d729eac31a0dfb1ac33">AInputQueue_finishEvent</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue, <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event, int handled)</td></tr>
-<tr class="separator:ga17e87e0f35d47d729eac31a0dfb1ac33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="gaeb170c0fbeeed1d999160566f09f169e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT&#160;&#160;&#160;8</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Bit shift for the action bits holding the pointer index as defined by AMOTION_EVENT_ACTION_POINTER_INDEX_MASK. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="gac35dbbc035371e799d8badabc981e8fa"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Input events.</p>
-<p>Input events are opaque structures. Use the provided accessors functions to read their properties. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga21d8182651f4b61ae558560023e8339c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Input queue</p>
-<p>An input queue is the facility through which you retrieve input events. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="ga385c44f6fb256e5716a2302a5b940388"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Motion event edge touch flags. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga385c44f6fb256e5716a2302a5b940388a37dd7496968e6defbecc3c8d6ab2734d"></a>AMOTION_EVENT_EDGE_FLAG_NONE</em>&#160;</td><td class="fielddoc">
-<p>No edges intersected. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga385c44f6fb256e5716a2302a5b940388a915e1ade9b600d11a3c70a17a88de757"></a>AMOTION_EVENT_EDGE_FLAG_TOP</em>&#160;</td><td class="fielddoc">
-<p>Flag indicating the motion event intersected the top edge of the screen. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga385c44f6fb256e5716a2302a5b940388ad8b662839787e1c7dd2616f32c02aaeb"></a>AMOTION_EVENT_EDGE_FLAG_BOTTOM</em>&#160;</td><td class="fielddoc">
-<p>Flag indicating the motion event intersected the bottom edge of the screen. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga385c44f6fb256e5716a2302a5b940388afb70c13f16daade25ba8132a5ea3cf52"></a>AMOTION_EVENT_EDGE_FLAG_LEFT</em>&#160;</td><td class="fielddoc">
-<p>Flag indicating the motion event intersected the left edge of the screen. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga385c44f6fb256e5716a2302a5b940388a7d45674e03f1876a43d4810508905078"></a>AMOTION_EVENT_EDGE_FLAG_RIGHT</em>&#160;</td><td class="fielddoc">
-<p>Flag indicating the motion event intersected the right edge of the screen. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gabc5c98fcc1211af2b80116dd6e0a035d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Constants that identify each individual axis of a motion event. <a class="anchor" id="AMOTION_EVENT_AXIS"></a></p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da5f4b5b009634039a1f361048a5fc6064"></a>AMOTION_EVENT_AXIS_X</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: X axis of a motion event.</p>
-<ul>
-<li>For a touch screen, reports the absolute X screen position of the center of the touch contact area. The units are display pixels.</li>
-<li>For a touch pad, reports the absolute X surface position of the center of the touch contact area. The units are device-dependent.</li>
-<li>For a mouse, reports the absolute X screen position of the mouse pointer. The units are display pixels.</li>
-<li>For a trackball, reports the relative horizontal displacement of the trackball. The value is normalized to a range from -1.0 (left) to 1.0 (right).</li>
-<li>For a joystick, reports the absolute X position of the joystick. The value is normalized to a range from -1.0 (left) to 1.0 (right). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da64f7de8558265bd8179d206eb33eff6c"></a>AMOTION_EVENT_AXIS_Y</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Y axis of a motion event.</p>
-<ul>
-<li>For a touch screen, reports the absolute Y screen position of the center of the touch contact area. The units are display pixels.</li>
-<li>For a touch pad, reports the absolute Y surface position of the center of the touch contact area. The units are device-dependent.</li>
-<li>For a mouse, reports the absolute Y screen position of the mouse pointer. The units are display pixels.</li>
-<li>For a trackball, reports the relative vertical displacement of the trackball. The value is normalized to a range from -1.0 (up) to 1.0 (down).</li>
-<li>For a joystick, reports the absolute Y position of the joystick. The value is normalized to a range from -1.0 (up or far) to 1.0 (down or near). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da3b4fd0f17cfdeb6a055babecd2b0ded8"></a>AMOTION_EVENT_AXIS_PRESSURE</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Pressure axis of a motion event.</p>
-<ul>
-<li>For a touch screen or touch pad, reports the approximate pressure applied to the surface by a finger or other tool. The value is normalized to a range from 0 (no pressure at all) to 1 (normal pressure), although values higher than 1 may be generated depending on the calibration of the input device.</li>
-<li>For a trackball, the value is set to 1 if the trackball button is pressed or 0 otherwise.</li>
-<li>For a mouse, the value is set to 1 if the primary mouse button is pressed or 0 otherwise. </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da4baba3ccaec881089a864ba6deaf8bd6"></a>AMOTION_EVENT_AXIS_SIZE</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Size axis of a motion event.</p>
-<ul>
-<li>For a touch screen or touch pad, reports the approximate size of the contact area in relation to the maximum detectable size for the device. The value is normalized to a range from 0 (smallest detectable size) to 1 (largest detectable size), although it is not a linear scale. This value is of limited use. To obtain calibrated size information, see <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da792b9e01044a2e43e7f80e5559db20c2">AMOTION_EVENT_AXIS_TOUCH_MAJOR</a> or <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa273d64c392f86ae789fd5e24661ba0a">AMOTION_EVENT_AXIS_TOOL_MAJOR</a>. </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da792b9e01044a2e43e7f80e5559db20c2"></a>AMOTION_EVENT_AXIS_TOUCH_MAJOR</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: TouchMajor axis of a motion event.</p>
-<ul>
-<li>For a touch screen, reports the length of the major axis of an ellipse that represents the touch area at the point of contact. The units are display pixels.</li>
-<li>For a touch pad, reports the length of the major axis of an ellipse that represents the touch area at the point of contact. The units are device-dependent. </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035daa8b24b0f01f24898a36e5751c8eca63c"></a>AMOTION_EVENT_AXIS_TOUCH_MINOR</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: TouchMinor axis of a motion event.</p>
-<ul>
-<li>For a touch screen, reports the length of the minor axis of an ellipse that represents the touch area at the point of contact. The units are display pixels.</li>
-<li>For a touch pad, reports the length of the minor axis of an ellipse that represents the touch area at the point of contact. The units are device-dependent.</li>
-</ul>
-<p>When the touch is circular, the major and minor axis lengths will be equal to one another. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035daa273d64c392f86ae789fd5e24661ba0a"></a>AMOTION_EVENT_AXIS_TOOL_MAJOR</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: ToolMajor axis of a motion event.</p>
-<ul>
-<li>For a touch screen, reports the length of the major axis of an ellipse that represents the size of the approaching finger or tool used to make contact.</li>
-<li>For a touch pad, reports the length of the major axis of an ellipse that represents the size of the approaching finger or tool used to make contact. The units are device-dependent.</li>
-</ul>
-<p>When the touch is circular, the major and minor axis lengths will be equal to one another.</p>
-<p>The tool size may be larger than the touch size since the tool may not be fully in contact with the touch sensor. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dadebd200b37ffaf36b94e7e478c559142"></a>AMOTION_EVENT_AXIS_TOOL_MINOR</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: ToolMinor axis of a motion event.</p>
-<ul>
-<li>For a touch screen, reports the length of the minor axis of an ellipse that represents the size of the approaching finger or tool used to make contact.</li>
-<li>For a touch pad, reports the length of the minor axis of an ellipse that represents the size of the approaching finger or tool used to make contact. The units are device-dependent.</li>
-</ul>
-<p>When the touch is circular, the major and minor axis lengths will be equal to one another.</p>
-<p>The tool size may be larger than the touch size since the tool may not be fully in contact with the touch sensor. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da114f2b3fc233ccf7a4470787c31457d2"></a>AMOTION_EVENT_AXIS_ORIENTATION</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Orientation axis of a motion event.</p>
-<ul>
-<li>For a touch screen or touch pad, reports the orientation of the finger or tool in radians relative to the vertical plane of the device. An angle of 0 radians indicates that the major axis of contact is oriented upwards, is perfectly circular or is of unknown orientation. A positive angle indicates that the major axis of contact is oriented to the right. A negative angle indicates that the major axis of contact is oriented to the left. The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians (finger pointing fully right).</li>
-<li>For a stylus, the orientation indicates the direction in which the stylus is pointing in relation to the vertical axis of the current orientation of the screen. The range is from -PI radians to PI radians, where 0 is pointing up, -PI/2 radians is pointing left, -PI or PI radians is pointing down, and PI/2 radians is pointing right. See also <a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafca0a235f69c4b38bfc95e7a7b8d9ab1">AMOTION_EVENT_AXIS_TILT</a>. </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dad11be04b4b81715cad905ee9fa348e99"></a>AMOTION_EVENT_AXIS_VSCROLL</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Vertical Scroll axis of a motion event.</p>
-<ul>
-<li>For a mouse, reports the relative movement of the vertical scroll wheel. The value is normalized to a range from -1.0 (down) to 1.0 (up).</li>
-</ul>
-<p>This axis should be used to scroll views vertically. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da92955e6b0f3f82af66a505c854e9edff"></a>AMOTION_EVENT_AXIS_HSCROLL</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Horizontal Scroll axis of a motion event.</p>
-<ul>
-<li>For a mouse, reports the relative movement of the horizontal scroll wheel. The value is normalized to a range from -1.0 (left) to 1.0 (right).</li>
-</ul>
-<p>This axis should be used to scroll views horizontally. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da5a689e572da9bc5feafcb6c011368305"></a>AMOTION_EVENT_AXIS_Z</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Z axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute Z position of the joystick. The value is normalized to a range from -1.0 (high) to 1.0 (low). <em>On game pads with two analog joysticks, this axis is often reinterpreted to report the absolute X position of the second joystick instead.</em> </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da689b612864177d6b57d4181442e3e38e"></a>AMOTION_EVENT_AXIS_RX</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: X Rotation axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute rotation angle about the X axis. The value is normalized to a range from -1.0 (counter-clockwise) to 1.0 (clockwise). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035daa20188da209300e1f80f6f5bd4058e13"></a>AMOTION_EVENT_AXIS_RY</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Y Rotation axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute rotation angle about the Y axis. The value is normalized to a range from -1.0 (counter-clockwise) to 1.0 (clockwise). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da381948b3321afd390ad164345eb9206b"></a>AMOTION_EVENT_AXIS_RZ</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Z Rotation axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute rotation angle about the Z axis. The value is normalized to a range from -1.0 (counter-clockwise) to 1.0 (clockwise). On game pads with two analog joysticks, this axis is often reinterpreted to report the absolute Y position of the second joystick instead. </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da04245c76cb9b32dcba920661f11ac9da"></a>AMOTION_EVENT_AXIS_HAT_X</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Hat X axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute X position of the directional hat control. The value is normalized to a range from -1.0 (left) to 1.0 (right). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da98c323321d908db459e7cf86a7e8a482"></a>AMOTION_EVENT_AXIS_HAT_Y</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Hat Y axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute Y position of the directional hat control. The value is normalized to a range from -1.0 (up) to 1.0 (down). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dae4c65c3b1bd2946ff9e18c6041cdb591"></a>AMOTION_EVENT_AXIS_LTRIGGER</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Left Trigger axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute position of the left trigger control. The value is normalized to a range from 0.0 (released) to 1.0 (fully pressed). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da116e80c6be166290ca481fefa5de38c1"></a>AMOTION_EVENT_AXIS_RTRIGGER</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Right Trigger axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute position of the right trigger control. The value is normalized to a range from 0.0 (released) to 1.0 (fully pressed). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da6d1f5d64e607104964eb43d8fae07a4f"></a>AMOTION_EVENT_AXIS_THROTTLE</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Throttle axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute position of the throttle control. The value is normalized to a range from 0.0 (fully open) to 1.0 (fully closed). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da318a0782f895949407fc192fc4280257"></a>AMOTION_EVENT_AXIS_RUDDER</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Rudder axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute position of the rudder control. The value is normalized to a range from -1.0 (turn left) to 1.0 (turn right). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dab0ae83ebd74e672bb35378b92a440b1d"></a>AMOTION_EVENT_AXIS_WHEEL</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Wheel axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute position of the steering wheel control. The value is normalized to a range from -1.0 (turn left) to 1.0 (turn right). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dab0223f235a6044815918af2abafcbf16"></a>AMOTION_EVENT_AXIS_GAS</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Gas axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute position of the gas (accelerator) control. The value is normalized to a range from 0.0 (no acceleration) to 1.0 (maximum acceleration). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dae3a99764f3681dd9e094852bb2489ece"></a>AMOTION_EVENT_AXIS_BRAKE</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Brake axis of a motion event.</p>
-<ul>
-<li>For a joystick, reports the absolute position of the brake control. The value is normalized to a range from 0.0 (no braking) to 1.0 (maximum braking). </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dae800909411a1e83173b0eef7aa458d0e"></a>AMOTION_EVENT_AXIS_DISTANCE</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Distance axis of a motion event.</p>
-<ul>
-<li>For a stylus, reports the distance of the stylus from the screen. A value of 0.0 indicates direct contact and larger values indicate increasing distance from the surface. </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dafca0a235f69c4b38bfc95e7a7b8d9ab1"></a>AMOTION_EVENT_AXIS_TILT</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Tilt axis of a motion event.</p>
-<ul>
-<li>For a stylus, reports the tilt angle of the stylus in radians where 0 radians indicates that the stylus is being held perpendicular to the surface, and PI/2 radians indicates that the stylus is being held flat against the surface. </li>
-</ul>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dadcc18afd3a7069412617df34db5a27bc"></a>AMOTION_EVENT_AXIS_GENERIC_1</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 1 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dac4addf06abfa6c76f0578ddde049aad5"></a>AMOTION_EVENT_AXIS_GENERIC_2</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 2 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dac7df57ef5082e10be83f66d7477bce9c"></a>AMOTION_EVENT_AXIS_GENERIC_3</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 3 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da321873d126b7d545665096694cb7d9d9"></a>AMOTION_EVENT_AXIS_GENERIC_4</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 4 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da9b47cef7060197e1b0302a8a718c3085"></a>AMOTION_EVENT_AXIS_GENERIC_5</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 5 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035daad7e47a1b5fb66864b6d988374f50a84"></a>AMOTION_EVENT_AXIS_GENERIC_6</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 6 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da222c06f51a60e59504b635dbf89a025b"></a>AMOTION_EVENT_AXIS_GENERIC_7</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 7 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dab59a8a373a913e40b146ed762976d6fe"></a>AMOTION_EVENT_AXIS_GENERIC_8</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 8 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da721fa0fbca8b22f1ecc8d3870f4e7443"></a>AMOTION_EVENT_AXIS_GENERIC_9</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 9 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da29ba08f4ddc658e0127ee5bc08d185f2"></a>AMOTION_EVENT_AXIS_GENERIC_10</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 10 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dafc64a4b307f62bb12b645918aa7edb57"></a>AMOTION_EVENT_AXIS_GENERIC_11</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 11 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dae5d32b3e9cec4936ae1e074f320c3063"></a>AMOTION_EVENT_AXIS_GENERIC_12</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 12 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da5f19f5bc52e5eaec5ebd4f07aad12180"></a>AMOTION_EVENT_AXIS_GENERIC_13</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 13 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035dadb866d826ecf25161d7c7f86166e149b"></a>AMOTION_EVENT_AXIS_GENERIC_14</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 14 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035da7e86befc8502b8df687284f3c40b2eca"></a>AMOTION_EVENT_AXIS_GENERIC_15</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 15 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc5c98fcc1211af2b80116dd6e0a035daaaa011ba929b18c6da71153638f92336"></a>AMOTION_EVENT_AXIS_GENERIC_16</em>&#160;</td><td class="fielddoc">
-<p>Axis constant: Generic 16 axis of a motion event. The interpretation of a generic axis is device-specific. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gac36f475ca5b446f4fde4c9b90bec77c8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Constants that identify buttons that are associated with motion events. Refer to the documentation on the MotionEvent class for descriptions of each button. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggac36f475ca5b446f4fde4c9b90bec77c8ab388f65477b9dd4c51e6367111168d65"></a>AMOTION_EVENT_BUTTON_PRIMARY</em>&#160;</td><td class="fielddoc">
-<p>primary </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggac36f475ca5b446f4fde4c9b90bec77c8a08118700ecb4e147528a0e725afc9451"></a>AMOTION_EVENT_BUTTON_SECONDARY</em>&#160;</td><td class="fielddoc">
-<p>secondary </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggac36f475ca5b446f4fde4c9b90bec77c8ae6e2af1e7065e035e8a10a595827180f"></a>AMOTION_EVENT_BUTTON_TERTIARY</em>&#160;</td><td class="fielddoc">
-<p>tertiary </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggac36f475ca5b446f4fde4c9b90bec77c8a1841d075a2992ff7fbefa3fd50189b86"></a>AMOTION_EVENT_BUTTON_BACK</em>&#160;</td><td class="fielddoc">
-<p>back </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggac36f475ca5b446f4fde4c9b90bec77c8a4105edf43f7748c52c859cc5aa7dc438"></a>AMOTION_EVENT_BUTTON_FORWARD</em>&#160;</td><td class="fielddoc">
-<p>forward </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga05589fbab0657f08285ebdfe93f5ec9e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Constants that identify tool types. Refer to the documentation on the MotionEvent class for descriptions of each tool type. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9ea7e1ea0c955ebbac1349866e8995e0208"></a>AMOTION_EVENT_TOOL_TYPE_UNKNOWN</em>&#160;</td><td class="fielddoc">
-<p>unknown </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9eafd789262defb8a268fa80d26b0c30bcc"></a>AMOTION_EVENT_TOOL_TYPE_FINGER</em>&#160;</td><td class="fielddoc">
-<p>finger </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9eaf05dc95a74e560c89cec1f3100185fc7"></a>AMOTION_EVENT_TOOL_TYPE_STYLUS</em>&#160;</td><td class="fielddoc">
-<p>stylus </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9ea7be0c750d7d6719e7c948914400ae0de"></a>AMOTION_EVENT_TOOL_TYPE_MOUSE</em>&#160;</td><td class="fielddoc">
-<p>mouse </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga05589fbab0657f08285ebdfe93f5ec9eaf9932f65b5b6b5800fb5873a60dbf0cb"></a>AMOTION_EVENT_TOOL_TYPE_ERASER</em>&#160;</td><td class="fielddoc">
-<p>eraser </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga16af7b253440dadd46a80a4b9fddba4d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Input source masks.</p>
-<p>Refer to the documentation on android.view.InputDevice for more details about input sources and their correct interpretation. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga16af7b253440dadd46a80a4b9fddba4daae438f475d03ea60fd9fb356abd7fa01"></a>AINPUT_SOURCE_CLASS_MASK</em>&#160;</td><td class="fielddoc">
-<p>mask </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga16af7b253440dadd46a80a4b9fddba4dafd6d5e71f09f6452acf017559481444c"></a>AINPUT_SOURCE_CLASS_NONE</em>&#160;</td><td class="fielddoc">
-<p>none </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga16af7b253440dadd46a80a4b9fddba4dacf1bf3d7b3c6e59f907bdffc9b33370e"></a>AINPUT_SOURCE_CLASS_BUTTON</em>&#160;</td><td class="fielddoc">
-<p>button </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga16af7b253440dadd46a80a4b9fddba4da7495274e98fb30dee3dfd903b878cf47"></a>AINPUT_SOURCE_CLASS_POINTER</em>&#160;</td><td class="fielddoc">
-<p>pointer </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga16af7b253440dadd46a80a4b9fddba4da078a18d85d078412721c336a879bcc1a"></a>AINPUT_SOURCE_CLASS_NAVIGATION</em>&#160;</td><td class="fielddoc">
-<p>navigation </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga16af7b253440dadd46a80a4b9fddba4da682f6982bb55ee809f6acd2deb550167"></a>AINPUT_SOURCE_CLASS_POSITION</em>&#160;</td><td class="fielddoc">
-<p>position </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga16af7b253440dadd46a80a4b9fddba4daaaeffb6442807dd96ec62e9d8a696b57"></a>AINPUT_SOURCE_CLASS_JOYSTICK</em>&#160;</td><td class="fielddoc">
-<p>joystick </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gaba01db17f4a2bfbc3db60dc172972a25"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Input sources. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25ae9348bc04cdaa88b5b010f77a4945454"></a>AINPUT_SOURCE_UNKNOWN</em>&#160;</td><td class="fielddoc">
-<p>unknown </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25a9860918666dd8c0b9d00a8da7af51e6d"></a>AINPUT_SOURCE_KEYBOARD</em>&#160;</td><td class="fielddoc">
-<p>keyboard </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25ad0fbfeff9f8d57104bff14c70ce5e3ef"></a>AINPUT_SOURCE_DPAD</em>&#160;</td><td class="fielddoc">
-<p>dpad </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25a6417cb50ecd6ade48c708268434a49d3"></a>AINPUT_SOURCE_GAMEPAD</em>&#160;</td><td class="fielddoc">
-<p>gamepad </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25a55ea411f927aed8964fa72fec0da444f"></a>AINPUT_SOURCE_TOUCHSCREEN</em>&#160;</td><td class="fielddoc">
-<p>touchscreen </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25ae71d3dcbd004bccb6e00fde47097cd86"></a>AINPUT_SOURCE_MOUSE</em>&#160;</td><td class="fielddoc">
-<p>mouse </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25a86d4983c71432b27634ba41a64bffdf9"></a>AINPUT_SOURCE_STYLUS</em>&#160;</td><td class="fielddoc">
-<p>stylus </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25a7e49d9153c86f60f626d7f797f4e78b6"></a>AINPUT_SOURCE_TRACKBALL</em>&#160;</td><td class="fielddoc">
-<p>trackball </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25a7e0715d4b544653ab11893434172a2ef"></a>AINPUT_SOURCE_TOUCHPAD</em>&#160;</td><td class="fielddoc">
-<p>touchpad </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25a3712c4e4fb8ad7f6ae6e40d48e5c6ee7"></a>AINPUT_SOURCE_TOUCH_NAVIGATION</em>&#160;</td><td class="fielddoc">
-<p>navigation </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25afb28f10dc074e7f7435f5904c513edb5"></a>AINPUT_SOURCE_JOYSTICK</em>&#160;</td><td class="fielddoc">
-<p>joystick </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaba01db17f4a2bfbc3db60dc172972a25ab04317e7dd273ff5c87038df67d9796e"></a>AINPUT_SOURCE_ANY</em>&#160;</td><td class="fielddoc">
-<p>any </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gaaf105ae5beaca1dee30ae54530691fce"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Keyboard types.</p>
-<p>Refer to the documentation on android.view.InputDevice for more details. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaaf105ae5beaca1dee30ae54530691fcea32cb7ce34cdce7095962f0766cc6c3ac"></a>AINPUT_KEYBOARD_TYPE_NONE</em>&#160;</td><td class="fielddoc">
-<p>none </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaaf105ae5beaca1dee30ae54530691fceaf0226d750ea830eb557ae68bd4a1c82a"></a>AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC</em>&#160;</td><td class="fielddoc">
-<p>non alphabetic </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaaf105ae5beaca1dee30ae54530691fceaba1f5ab6bc79749ba96a5d2a3af0e574"></a>AINPUT_KEYBOARD_TYPE_ALPHABETIC</em>&#160;</td><td class="fielddoc">
-<p>alphabetic </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga80155586fa275b28773c9b203f52caba"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Constants used to retrieve information about the range of motion for a particular coordinate of a motion event.</p>
-<p>Refer to the documentation on android.view.InputDevice for more details about input sources and their correct interpretation.</p>
-<dl class="deprecated"><dt><b>Deprecated:</b></dt><dd>These constants are deprecated. Use <a class="el" href="#AMOTION_EVENT_AXIS">AMOTION_EVENT_AXIS_*</a> constants instead. </dd></dl>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaa0e5816bc48cdb33f2b488a109596ffe1"></a>AINPUT_MOTION_RANGE_X</em>&#160;</td><td class="fielddoc">
-<p>x </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaab48108c9450ea1b7cd021be7d8cbc332"></a>AINPUT_MOTION_RANGE_Y</em>&#160;</td><td class="fielddoc">
-<p>y </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaa79aca706b12b28d0ab14762902fed31a"></a>AINPUT_MOTION_RANGE_PRESSURE</em>&#160;</td><td class="fielddoc">
-<p>pressure </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaa46f3a6cf859fb161cd29398d8448c688"></a>AINPUT_MOTION_RANGE_SIZE</em>&#160;</td><td class="fielddoc">
-<p>size </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaa7ead43624c96e165fd8a25e77148aa67"></a>AINPUT_MOTION_RANGE_TOUCH_MAJOR</em>&#160;</td><td class="fielddoc">
-<p>touch major </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaa301181a0f20681135c15010b39bb575d"></a>AINPUT_MOTION_RANGE_TOUCH_MINOR</em>&#160;</td><td class="fielddoc">
-<p>touch minor </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaaa860f54aa9e5a269dba6a54bbcf3c27c"></a>AINPUT_MOTION_RANGE_TOOL_MAJOR</em>&#160;</td><td class="fielddoc">
-<p>tool major </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaa19226f6cf713c1b4d0973a163daf6cf1"></a>AINPUT_MOTION_RANGE_TOOL_MINOR</em>&#160;</td><td class="fielddoc">
-<p>tool minor </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga80155586fa275b28773c9b203f52cabaaf9be9c04a41b610d994a3d1d7e90d06d"></a>AINPUT_MOTION_RANGE_ORIENTATION</em>&#160;</td><td class="fielddoc">
-<p>orientation </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga6b7b47dd702d9e331586d485013fd1ea"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Key codes. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaa593f8ae18990d627785719284a12a6f"></a>AKEYCODE_UNKNOWN</em>&#160;</td><td class="fielddoc">
-<p>Unknown key code. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa2dc78d3a93876b77402d2a7f02e4b899"></a>AKEYCODE_SOFT_LEFT</em>&#160;</td><td class="fielddoc">
-<p>Soft Left key. Usually situated below the display on phones and used as a multi-function feature key for selecting a software defined function shown on the bottom left of the display. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa8cadfbfcaaa83fef168de13639adfcae"></a>AKEYCODE_SOFT_RIGHT</em>&#160;</td><td class="fielddoc">
-<p>Soft Right key. Usually situated below the display on phones and used as a multi-function feature key for selecting a software defined function shown on the bottom right of the display. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa526c2411b7476b7ae579f57a0378b2dd"></a>AKEYCODE_HOME</em>&#160;</td><td class="fielddoc">
-<p>Home key. This key is handled by the framework and is never delivered to applications. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaeb71c74bf556ba72e9c8f8dcbe5453d0"></a>AKEYCODE_BACK</em>&#160;</td><td class="fielddoc">
-<p>Back key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa8b5720ebdd3576c2b536ec9228273d8f"></a>AKEYCODE_CALL</em>&#160;</td><td class="fielddoc">
-<p>Call key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaff971957ae3a4e272b21987854e18d9b"></a>AKEYCODE_ENDCALL</em>&#160;</td><td class="fielddoc">
-<p>End Call key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa23f585ea17aeceaad2111c51ab289e79"></a>AKEYCODE_0</em>&#160;</td><td class="fielddoc">
-<p>'0' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaabcac88b54f8d764bc4573ecc5b9571b0"></a>AKEYCODE_1</em>&#160;</td><td class="fielddoc">
-<p>'1' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa2079c6fb75141968b60ed79fe895d6db"></a>AKEYCODE_2</em>&#160;</td><td class="fielddoc">
-<p>'2' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa40ccc018c0637e4d938e66b789054551"></a>AKEYCODE_3</em>&#160;</td><td class="fielddoc">
-<p>'3' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa73c2d141c3906bd97cfec91443356f7b"></a>AKEYCODE_4</em>&#160;</td><td class="fielddoc">
-<p>'4' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0ca99d2be4a3723ba3406944ad623f6e"></a>AKEYCODE_5</em>&#160;</td><td class="fielddoc">
-<p>'5' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa72bc6560e24d08ff8f3116dac9179079"></a>AKEYCODE_6</em>&#160;</td><td class="fielddoc">
-<p>'6' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa27070499acdb6c527a285b3840ec7bff"></a>AKEYCODE_7</em>&#160;</td><td class="fielddoc">
-<p>'7' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa93543b23683b33724ecf77ac5a8c19ab"></a>AKEYCODE_8</em>&#160;</td><td class="fielddoc">
-<p>'8' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa31cd4d7c4e59cf7b057b6c248cff516d"></a>AKEYCODE_9</em>&#160;</td><td class="fielddoc">
-<p>'9' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa1461fbf54e3dcba96e5d6d0638c18305"></a>AKEYCODE_STAR</em>&#160;</td><td class="fielddoc">
-<p>'*' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf448758c44899e41b67f76dfe3be51e9"></a>AKEYCODE_POUND</em>&#160;</td><td class="fielddoc">
-<p>'#' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf2fd3133a88f3b6725834032bd74bd9e"></a>AKEYCODE_DPAD_UP</em>&#160;</td><td class="fielddoc">
-<p>Directional Pad Up key. May also be synthesized from trackball motions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa84b721b13aae56c9f1d3c22b3d81627a"></a>AKEYCODE_DPAD_DOWN</em>&#160;</td><td class="fielddoc">
-<p>Directional Pad Down key. May also be synthesized from trackball motions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa668dfb3ed79a37c2c07838c161c1b344"></a>AKEYCODE_DPAD_LEFT</em>&#160;</td><td class="fielddoc">
-<p>Directional Pad Left key. May also be synthesized from trackball motions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac6f9d81b6239696a1836695bbfc6a975"></a>AKEYCODE_DPAD_RIGHT</em>&#160;</td><td class="fielddoc">
-<p>Directional Pad Right key. May also be synthesized from trackball motions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5e9c93273fd39148f54167133aa5b9ae"></a>AKEYCODE_DPAD_CENTER</em>&#160;</td><td class="fielddoc">
-<p>Directional Pad Center key. May also be synthesized from trackball motions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5b81e325d9efd633eef7535a5b538882"></a>AKEYCODE_VOLUME_UP</em>&#160;</td><td class="fielddoc">
-<p>Volume Up key. Adjusts the speaker volume up. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6a882dae17080d3b5f3329e79db60c66"></a>AKEYCODE_VOLUME_DOWN</em>&#160;</td><td class="fielddoc">
-<p>Volume Down key. Adjusts the speaker volume down. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaabecfbcb9b6f5e85fdfdfa98fbc3326e6"></a>AKEYCODE_POWER</em>&#160;</td><td class="fielddoc">
-<p>Power key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa8670880765756933d3d1a10186d39e26"></a>AKEYCODE_CAMERA</em>&#160;</td><td class="fielddoc">
-<p>Camera key. Used to launch a camera application or take pictures. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa95bd8c25adeaa570108c7403f08a2901"></a>AKEYCODE_CLEAR</em>&#160;</td><td class="fielddoc">
-<p>Clear key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa424a091c62d40f5d65908c9730ae9014"></a>AKEYCODE_A</em>&#160;</td><td class="fielddoc">
-<p>'A' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa65d3bf8d6a8a6c2f7c1b08394f313758"></a>AKEYCODE_B</em>&#160;</td><td class="fielddoc">
-<p>'B' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaeed584f454e508ce931bcb33d37adb04"></a>AKEYCODE_C</em>&#160;</td><td class="fielddoc">
-<p>'C' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7e4cb3ef66209a2779be2c8239b57b51"></a>AKEYCODE_D</em>&#160;</td><td class="fielddoc">
-<p>'D' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaae218af7ceb207227bb10f0525e68a8d0"></a>AKEYCODE_E</em>&#160;</td><td class="fielddoc">
-<p>'E' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa455f71ecfe59af0fbd901ac0d0a8d53a"></a>AKEYCODE_F</em>&#160;</td><td class="fielddoc">
-<p>'F' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa165067e10464019411f768bba9e533d9"></a>AKEYCODE_G</em>&#160;</td><td class="fielddoc">
-<p>'G' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaad89a91a1500cb162f22962781ebfd9dc"></a>AKEYCODE_H</em>&#160;</td><td class="fielddoc">
-<p>'H' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa4d44b5e4a19580540d8d77bf5755d74b"></a>AKEYCODE_I</em>&#160;</td><td class="fielddoc">
-<p>'I' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa70c259612ccec117d70afaef947a6a7a"></a>AKEYCODE_J</em>&#160;</td><td class="fielddoc">
-<p>'J' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5ce56cf50d3632c275c524bd78d0d932"></a>AKEYCODE_K</em>&#160;</td><td class="fielddoc">
-<p>'K' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab61c534fd0f4e56c4ba13861a2f5982b"></a>AKEYCODE_L</em>&#160;</td><td class="fielddoc">
-<p>'L' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa43b19e5e5234ce90c8e7ef67dd0cabd1"></a>AKEYCODE_M</em>&#160;</td><td class="fielddoc">
-<p>'M' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6c0b26804c89560a9e87c45f7f9fed36"></a>AKEYCODE_N</em>&#160;</td><td class="fielddoc">
-<p>'N' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa249667bc4a59d99be1914535877329fb"></a>AKEYCODE_O</em>&#160;</td><td class="fielddoc">
-<p>'O' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac68ef56b78bd0c8626cc68bb6cb9156f"></a>AKEYCODE_P</em>&#160;</td><td class="fielddoc">
-<p>'P' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa932cf6ea8d87e6d6d97af658dd0fa206"></a>AKEYCODE_Q</em>&#160;</td><td class="fielddoc">
-<p>'Q' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaba25ac2c15a8edbbbff16a9fe6e74532"></a>AKEYCODE_R</em>&#160;</td><td class="fielddoc">
-<p>'R' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaae1ed25c28a8fce578cddb17ca6888ff6"></a>AKEYCODE_S</em>&#160;</td><td class="fielddoc">
-<p>'S' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa2feac8b458ef8eb9c0a0dd73766927c2"></a>AKEYCODE_T</em>&#160;</td><td class="fielddoc">
-<p>'T' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac1a220314f986aae45d7fe3b35501595"></a>AKEYCODE_U</em>&#160;</td><td class="fielddoc">
-<p>'U' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa4043bc48fa55cce7825176052d6e199a"></a>AKEYCODE_V</em>&#160;</td><td class="fielddoc">
-<p>'V' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf0c80e98547c3daa01f3d9e7f4f00425"></a>AKEYCODE_W</em>&#160;</td><td class="fielddoc">
-<p>'W' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaec585cebac89004faffbdc28dc6d81c5"></a>AKEYCODE_X</em>&#160;</td><td class="fielddoc">
-<p>'X' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa06fc277ef25acdd89d64c18eed0daa9b"></a>AKEYCODE_Y</em>&#160;</td><td class="fielddoc">
-<p>'Y' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7439a09f219a0addc13c758ef7508cce"></a>AKEYCODE_Z</em>&#160;</td><td class="fielddoc">
-<p>'Z' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0ca0bfbdc67b2c6f76e8fcaaf782c227"></a>AKEYCODE_COMMA</em>&#160;</td><td class="fielddoc">
-<p>',' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa9dd68c8ecebd4e274e8c357dcdfe8a04"></a>AKEYCODE_PERIOD</em>&#160;</td><td class="fielddoc">
-<p>'.' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa3dec175158abe8679bedd98ed1bc3e1a"></a>AKEYCODE_ALT_LEFT</em>&#160;</td><td class="fielddoc">
-<p>Left Alt modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaacd9b6b0846c6999f5df47d29e58ac95d"></a>AKEYCODE_ALT_RIGHT</em>&#160;</td><td class="fielddoc">
-<p>Right Alt modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaafb9875645596928cec46368e74499dc4"></a>AKEYCODE_SHIFT_LEFT</em>&#160;</td><td class="fielddoc">
-<p>Left Shift modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf9eab1348ae1e8f18ad5bf3c77df4212"></a>AKEYCODE_SHIFT_RIGHT</em>&#160;</td><td class="fielddoc">
-<p>Right Shift modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa1b1bfda850b2acd0b60e8456e2bfa958"></a>AKEYCODE_TAB</em>&#160;</td><td class="fielddoc">
-<p>Tab key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa10389300ac5d70f8d9733564b3cab4e7"></a>AKEYCODE_SPACE</em>&#160;</td><td class="fielddoc">
-<p>Space key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6c1c6752d5db5e02da51d8937e5e3c6f"></a>AKEYCODE_SYM</em>&#160;</td><td class="fielddoc">
-<p>Symbol modifier key. Used to enter alternate symbols. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaded9ec81ae6dab451665317723b94083"></a>AKEYCODE_EXPLORER</em>&#160;</td><td class="fielddoc">
-<p>Explorer special function key. Used to launch a browser application. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaade96efe470f428bb5c4eaea6ffc3681c"></a>AKEYCODE_ENVELOPE</em>&#160;</td><td class="fielddoc">
-<p>Envelope special function key. Used to launch a mail application. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac784a7bbbfbdab05fab6c6a1f29c98ff"></a>AKEYCODE_ENTER</em>&#160;</td><td class="fielddoc">
-<p>Enter key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaacd013221b457d98975dc47e49817e28a"></a>AKEYCODE_DEL</em>&#160;</td><td class="fielddoc">
-<p>Backspace key. Deletes characters before the insertion point, unlike <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9516bc190d37fea27e07ddab0c607b51">AKEYCODE_FORWARD_DEL</a>. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa929561086ae7b519fa962597bc85f171"></a>AKEYCODE_GRAVE</em>&#160;</td><td class="fielddoc">
-<p>'`' (backtick) key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaca10bd34ad0abecfecace908b8cb92ca"></a>AKEYCODE_MINUS</em>&#160;</td><td class="fielddoc">
-<p>'-'. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0a197df7ec719c95ddcd6836e76c8498"></a>AKEYCODE_EQUALS</em>&#160;</td><td class="fielddoc">
-<p>'=' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaabdeda0d373aa37ef2ded5ffdfc008708"></a>AKEYCODE_LEFT_BRACKET</em>&#160;</td><td class="fielddoc">
-<p>'[' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa084dfa52626040a08d374f8aec066e6a"></a>AKEYCODE_RIGHT_BRACKET</em>&#160;</td><td class="fielddoc">
-<p>']' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaac90eb064382e3c482ae86abb7b3f701"></a>AKEYCODE_BACKSLASH</em>&#160;</td><td class="fielddoc">
-<p>'\' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac0a2920161f4f2d97b0b060614b23391"></a>AKEYCODE_SEMICOLON</em>&#160;</td><td class="fielddoc">
-<p>';' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab5518a8502914ea5f87ef5d29b32b1b1"></a>AKEYCODE_APOSTROPHE</em>&#160;</td><td class="fielddoc">
-<p>''' (apostrophe) key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa54c047be3811d637a33d9b3e39d16e1a"></a>AKEYCODE_SLASH</em>&#160;</td><td class="fielddoc">
-<p>'/' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7284f79a266ede479b79726082642e16"></a>AKEYCODE_AT</em>&#160;</td><td class="fielddoc">
-<p>'@' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaabe6e880f65bebbdd5246a4164c4ab37a"></a>AKEYCODE_NUM</em>&#160;</td><td class="fielddoc">
-<p>Number modifier key. Used to enter numeric symbols. This key is not <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad5e349eadd3255c6ad4982dc40ed23ef">AKEYCODE_NUM_LOCK</a>; it is more like <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3dec175158abe8679bedd98ed1bc3e1a">AKEYCODE_ALT_LEFT</a>. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0d3d29515a4815fe8d6d8d3291507a33"></a>AKEYCODE_HEADSETHOOK</em>&#160;</td><td class="fielddoc">
-<p>Headset Hook key. Used to hang up calls and stop media. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa23be9506f92f6efe14d47306a39a2187"></a>AKEYCODE_FOCUS</em>&#160;</td><td class="fielddoc">
-<p>Camera Focus key. Used to focus the camera. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab7f72d867b311e0845aef732dcc66495"></a>AKEYCODE_PLUS</em>&#160;</td><td class="fielddoc">
-<p>'+' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa707b85e89923b0f760be795972a87d76"></a>AKEYCODE_MENU</em>&#160;</td><td class="fielddoc">
-<p>Menu key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6115506352a5828532fc6a0b91683331"></a>AKEYCODE_NOTIFICATION</em>&#160;</td><td class="fielddoc">
-<p>Notification key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac644fd307fd0ef0d3ed3d2e074c1a4b7"></a>AKEYCODE_SEARCH</em>&#160;</td><td class="fielddoc">
-<p>Search key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa42f8fe71e8d45b5a83d83d80c3da40e1"></a>AKEYCODE_MEDIA_PLAY_PAUSE</em>&#160;</td><td class="fielddoc">
-<p>Play/Pause media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac4faa33993d80db1326073ea15a38e7d"></a>AKEYCODE_MEDIA_STOP</em>&#160;</td><td class="fielddoc">
-<p>Stop media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf5a6c3fc963e8163852b9a23e3a198b3"></a>AKEYCODE_MEDIA_NEXT</em>&#160;</td><td class="fielddoc">
-<p>Play Next media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa81432c31b00d47f768c29163eb276acb"></a>AKEYCODE_MEDIA_PREVIOUS</em>&#160;</td><td class="fielddoc">
-<p>Play Previous media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaecd53183b84c23a2ca65670a23674319"></a>AKEYCODE_MEDIA_REWIND</em>&#160;</td><td class="fielddoc">
-<p>Rewind media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa69e648024402af688d490a2041f15bca"></a>AKEYCODE_MEDIA_FAST_FORWARD</em>&#160;</td><td class="fielddoc">
-<p>Fast Forward media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa1f6675d38f50e3556a8531839fd83f02"></a>AKEYCODE_MUTE</em>&#160;</td><td class="fielddoc">
-<p>Mute key. Mutes the microphone, unlike <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa174a5c7c39753235109696e82870c575">AKEYCODE_VOLUME_MUTE</a>. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa4fd0d4ea5b6898f4a40011b97a739a04"></a>AKEYCODE_PAGE_UP</em>&#160;</td><td class="fielddoc">
-<p>Page Up key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0b7fe1c18f53e6328657858a88826393"></a>AKEYCODE_PAGE_DOWN</em>&#160;</td><td class="fielddoc">
-<p>Page Down key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaacdc7c004da1594fa156de87befef5f41"></a>AKEYCODE_PICTSYMBOLS</em>&#160;</td><td class="fielddoc">
-<p>Picture Symbols modifier key. Used to switch symbol sets (Emoji, Kao-moji). </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaad6a1f88b2cc3b6ff8f1724eb01473ec3"></a>AKEYCODE_SWITCH_CHARSET</em>&#160;</td><td class="fielddoc">
-<p>Switch Charset modifier key. Used to switch character sets (Kanji, Katakana). </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaef2d2ec912aaa9e7215aeab79f7fb086"></a>AKEYCODE_BUTTON_A</em>&#160;</td><td class="fielddoc">
-<p>A Button key. On a game controller, the A button should be either the button labeled A or the first button on the bottom row of controller buttons. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa721765c8f0bbcdb68af06817dbec8e53"></a>AKEYCODE_BUTTON_B</em>&#160;</td><td class="fielddoc">
-<p>B Button key. On a game controller, the B button should be either the button labeled B or the second button on the bottom row of controller buttons. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaad622ad5df40d2fdf806abb2adda73b3d"></a>AKEYCODE_BUTTON_C</em>&#160;</td><td class="fielddoc">
-<p>C Button key. On a game controller, the C button should be either the button labeled C or the third button on the bottom row of controller buttons. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa21174962f95e32cd0345ce657d03ebc7"></a>AKEYCODE_BUTTON_X</em>&#160;</td><td class="fielddoc">
-<p>X Button key. On a game controller, the X button should be either the button labeled X or the first button on the upper row of controller buttons. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6654a8b2c700f7783433c86fcdae7919"></a>AKEYCODE_BUTTON_Y</em>&#160;</td><td class="fielddoc">
-<p>Y Button key. On a game controller, the Y button should be either the button labeled Y or the second button on the upper row of controller buttons. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa06156b68e6de951b44fc662e1b16041f"></a>AKEYCODE_BUTTON_Z</em>&#160;</td><td class="fielddoc">
-<p>Z Button key. On a game controller, the Z button should be either the button labeled Z or the third button on the upper row of controller buttons. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa32e159826404c7d76c2a433c24de82a2"></a>AKEYCODE_BUTTON_L1</em>&#160;</td><td class="fielddoc">
-<p>L1 Button key. On a game controller, the L1 button should be either the button labeled L1 (or L) or the top left trigger button. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7c614b3966583b0ad027e45f594ede46"></a>AKEYCODE_BUTTON_R1</em>&#160;</td><td class="fielddoc">
-<p>R1 Button key. On a game controller, the R1 button should be either the button labeled R1 (or R) or the top right trigger button. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa36a38421637cfa5ebfd8a0296650cdf4"></a>AKEYCODE_BUTTON_L2</em>&#160;</td><td class="fielddoc">
-<p>L2 Button key. On a game controller, the L2 button should be either the button labeled L2 or the bottom left trigger button. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa46d487e9fe31855b7b46739bad58fe3e"></a>AKEYCODE_BUTTON_R2</em>&#160;</td><td class="fielddoc">
-<p>R2 Button key. On a game controller, the R2 button should be either the button labeled R2 or the bottom right trigger button. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa68c5d8dcd8fe708ada8f4a4e17feb638"></a>AKEYCODE_BUTTON_THUMBL</em>&#160;</td><td class="fielddoc">
-<p>Left Thumb Button key. On a game controller, the left thumb button indicates that the left (or only) joystick is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa9759d817172d268ced1748909a5f5fbe"></a>AKEYCODE_BUTTON_THUMBR</em>&#160;</td><td class="fielddoc">
-<p>Right Thumb Button key. On a game controller, the right thumb button indicates that the right joystick is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf3c818d106f4ec793a43749c4c26a8a4"></a>AKEYCODE_BUTTON_START</em>&#160;</td><td class="fielddoc">
-<p>Start Button key. On a game controller, the button labeled Start. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa598289bc85f647c237729126ea392a43"></a>AKEYCODE_BUTTON_SELECT</em>&#160;</td><td class="fielddoc">
-<p>Select Button key. On a game controller, the button labeled Select. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa19839eebec939407d901a33b75cf2594"></a>AKEYCODE_BUTTON_MODE</em>&#160;</td><td class="fielddoc">
-<p>Mode Button key. On a game controller, the button labeled Mode. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac52177e5508edacb8e9c6d3a25db4fb6"></a>AKEYCODE_ESCAPE</em>&#160;</td><td class="fielddoc">
-<p>Escape key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa9516bc190d37fea27e07ddab0c607b51"></a>AKEYCODE_FORWARD_DEL</em>&#160;</td><td class="fielddoc">
-<p>Forward Delete key. Deletes characters ahead of the insertion point, unlike <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd013221b457d98975dc47e49817e28a">AKEYCODE_DEL</a>. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaaca9d0df6cc18492209eb287e659aeb1"></a>AKEYCODE_CTRL_LEFT</em>&#160;</td><td class="fielddoc">
-<p>Left Control modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa99b317cf2f1eb6b06d0226e05223e60c"></a>AKEYCODE_CTRL_RIGHT</em>&#160;</td><td class="fielddoc">
-<p>Right Control modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab9dcb68b35c85d380846c85f323868f1"></a>AKEYCODE_CAPS_LOCK</em>&#160;</td><td class="fielddoc">
-<p>Caps Lock key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa78ff5c8316235635f76e3c3179e9a7fc"></a>AKEYCODE_SCROLL_LOCK</em>&#160;</td><td class="fielddoc">
-<p>Scroll Lock key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaaadfb2d920bbe422c096120d39811c58"></a>AKEYCODE_META_LEFT</em>&#160;</td><td class="fielddoc">
-<p>Left Meta modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa68038455e2b0846db51f9957e0df9cb8"></a>AKEYCODE_META_RIGHT</em>&#160;</td><td class="fielddoc">
-<p>Right Meta modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa1764b777aa56605f4029d3c71fe70722"></a>AKEYCODE_FUNCTION</em>&#160;</td><td class="fielddoc">
-<p>Function modifier key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa14e22c69bcd47ffb4445ee18a4332d84"></a>AKEYCODE_SYSRQ</em>&#160;</td><td class="fielddoc">
-<p>System Request / Print Screen key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa047501f9cf9bce00e6048d8759ea3a23"></a>AKEYCODE_BREAK</em>&#160;</td><td class="fielddoc">
-<p>Break / Pause key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7544f3de2fb5f78bec62af94a32fdc58"></a>AKEYCODE_MOVE_HOME</em>&#160;</td><td class="fielddoc">
-<p>Home Movement key. Used for scrolling or moving the cursor around to the start of a line or to the top of a list. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5605f49f5271430f5f150efb3cd0398a"></a>AKEYCODE_MOVE_END</em>&#160;</td><td class="fielddoc">
-<p>End Movement key. Used for scrolling or moving the cursor around to the end of a line or to the bottom of a list. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa62f663d11e91af750a51ddd060b08644"></a>AKEYCODE_INSERT</em>&#160;</td><td class="fielddoc">
-<p>Insert key. Toggles insert / overwrite edit mode. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaafbf0a16c7746e5dee2fd3adbd50da88a"></a>AKEYCODE_FORWARD</em>&#160;</td><td class="fielddoc">
-<p>Forward key. Navigates forward in the history stack. Complement of <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeb71c74bf556ba72e9c8f8dcbe5453d0">AKEYCODE_BACK</a>. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa615cf6202b0ae0ed550f42f6c64b36a1"></a>AKEYCODE_MEDIA_PLAY</em>&#160;</td><td class="fielddoc">
-<p>Play media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa1f4e0178c2028b3042b0a5948e38e4e4"></a>AKEYCODE_MEDIA_PAUSE</em>&#160;</td><td class="fielddoc">
-<p>Pause media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6788c6e1443140b0ec4d004d8293e998"></a>AKEYCODE_MEDIA_CLOSE</em>&#160;</td><td class="fielddoc">
-<p>Close media key. May be used to close a CD tray, for example. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa317bffd44306b021c401d3a26b82a7f6"></a>AKEYCODE_MEDIA_EJECT</em>&#160;</td><td class="fielddoc">
-<p>Eject media key. May be used to eject a CD tray, for example. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa17e1eae0b245176aaa024a53411441f9"></a>AKEYCODE_MEDIA_RECORD</em>&#160;</td><td class="fielddoc">
-<p>Record media key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa3b84f2c503a9e839f3d36e10e3307fcf"></a>AKEYCODE_F1</em>&#160;</td><td class="fielddoc">
-<p>F1 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa1360f7ec66aa6421e240dae637262e84"></a>AKEYCODE_F2</em>&#160;</td><td class="fielddoc">
-<p>F2 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6a4ce6105e12a3a9071cae2f40515085"></a>AKEYCODE_F3</em>&#160;</td><td class="fielddoc">
-<p>F3 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa882050e4d0f917470a5b91fbf6ae9ebf"></a>AKEYCODE_F4</em>&#160;</td><td class="fielddoc">
-<p>F4 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab01807c72b46620bb50fcb6abe24d937"></a>AKEYCODE_F5</em>&#160;</td><td class="fielddoc">
-<p>F5 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaa04a12e81ed80bb42ef5c63cedf0dc60"></a>AKEYCODE_F6</em>&#160;</td><td class="fielddoc">
-<p>F6 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa9583b8e4b0d994b7e3a193b67cf6020c"></a>AKEYCODE_F7</em>&#160;</td><td class="fielddoc">
-<p>F7 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa55ca54d42d8df70de2ce9031db1344c8"></a>AKEYCODE_F8</em>&#160;</td><td class="fielddoc">
-<p>F8 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0c8225c0ef98da730933ae914077dbc9"></a>AKEYCODE_F9</em>&#160;</td><td class="fielddoc">
-<p>F9 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaa60660b13acab39282d0558cdcc93474"></a>AKEYCODE_F10</em>&#160;</td><td class="fielddoc">
-<p>F10 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa64cc7b1d8e53d90ff57c39d0b5a4dd22"></a>AKEYCODE_F11</em>&#160;</td><td class="fielddoc">
-<p>F11 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa491000231e0ba221b6916b1d9d2c9fb7"></a>AKEYCODE_F12</em>&#160;</td><td class="fielddoc">
-<p>F12 key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaad5e349eadd3255c6ad4982dc40ed23ef"></a>AKEYCODE_NUM_LOCK</em>&#160;</td><td class="fielddoc">
-<p>Num Lock key. This is the Num Lock key; it is different from <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe6e880f65bebbdd5246a4164c4ab37a">AKEYCODE_NUM</a>. This key alters the behavior of other keys on the numeric keypad. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa343df35e6a0ad0599e19b8ef7174909b"></a>AKEYCODE_NUMPAD_0</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '0' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5c0ec8e42917fa9ac53977db3e6aeb17"></a>AKEYCODE_NUMPAD_1</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '1' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa4dfd17c2209908e1ec890e10a3211f89"></a>AKEYCODE_NUMPAD_2</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '2' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaa1efe1886a4b472b999215c0e81f7386"></a>AKEYCODE_NUMPAD_3</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '3' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa1fdd16681c1441b934f679b94fd0e4f8"></a>AKEYCODE_NUMPAD_4</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '4' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf5916003e7c737a8cc06e52d2ee76c3b"></a>AKEYCODE_NUMPAD_5</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '5' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa13b83389e0f5de129227af4b8d3f035d"></a>AKEYCODE_NUMPAD_6</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '6' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaed9468951ef2887c07c8095c2e7d4c93"></a>AKEYCODE_NUMPAD_7</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '7' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5f0a300566235720eb93fee9f2196642"></a>AKEYCODE_NUMPAD_8</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '8' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaad0c490e3965df546e2d5a83edf423d95"></a>AKEYCODE_NUMPAD_9</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '9' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaac108b744e8f93af69158d146425236c"></a>AKEYCODE_NUMPAD_DIVIDE</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '/' key (for division). </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa47ce00b838e7ee0a34066dc2595ac735"></a>AKEYCODE_NUMPAD_MULTIPLY</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '*' key (for multiplication). </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaa2bee314dbbea0a349eb301d10256bbe"></a>AKEYCODE_NUMPAD_SUBTRACT</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '-' key (for subtraction). </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa9d2fefa9a3f6037f48b247e66dd28c35"></a>AKEYCODE_NUMPAD_ADD</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '+' key (for addition). </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6aab6b5914e120b43b3a1a8269e9cee1"></a>AKEYCODE_NUMPAD_DOT</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '.' key (for decimals or digit grouping). </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa900e3bb0bc4ff70ba786f18ff4db0bd1"></a>AKEYCODE_NUMPAD_COMMA</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad ',' key (for decimals or digit grouping). </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa79432be5f7a44e99ddc3721fd9fd212e"></a>AKEYCODE_NUMPAD_ENTER</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad Enter key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa73c1007a59641499ee5e1508e747c5ed"></a>AKEYCODE_NUMPAD_EQUALS</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '=' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaacc903e9eb495cf6cef7c6bc825f82f54"></a>AKEYCODE_NUMPAD_LEFT_PAREN</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad '(' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7662e0f2a099239dc69f6a27c7daabf9"></a>AKEYCODE_NUMPAD_RIGHT_PAREN</em>&#160;</td><td class="fielddoc">
-<p>Numeric keypad ')' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa174a5c7c39753235109696e82870c575"></a>AKEYCODE_VOLUME_MUTE</em>&#160;</td><td class="fielddoc">
-<p>Volume Mute key. Mutes the speaker, unlike <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f6675d38f50e3556a8531839fd83f02">AKEYCODE_MUTE</a>. This key should normally be implemented as a toggle such that the first press mutes the speaker and the second press restores the original volume. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa17e76263257a5dc654a413c9dc2fd649"></a>AKEYCODE_INFO</em>&#160;</td><td class="fielddoc">
-<p>Info key. Common on TV remotes to show additional information related to what is currently being viewed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa056914fd17ae539dca44f43745d8e05c"></a>AKEYCODE_CHANNEL_UP</em>&#160;</td><td class="fielddoc">
-<p>Channel up key. On TV remotes, increments the television channel. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa18f1808c6a819e787c9a9941f78b910f"></a>AKEYCODE_CHANNEL_DOWN</em>&#160;</td><td class="fielddoc">
-<p>Channel down key. On TV remotes, decrements the television channel. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaacfce9bb78ef8106dce4868f81cca4fb4"></a>AKEYCODE_ZOOM_IN</em>&#160;</td><td class="fielddoc">
-<p>Zoom in key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaacf035f5234c3df4589f35a50e99e0535"></a>AKEYCODE_ZOOM_OUT</em>&#160;</td><td class="fielddoc">
-<p>Zoom out key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0776ffae512b4848e53fce762a3a5017"></a>AKEYCODE_TV</em>&#160;</td><td class="fielddoc">
-<p>TV key. On TV remotes, switches to viewing live TV. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaabe7531c40ff4a31614ff6fd61802ebe8"></a>AKEYCODE_WINDOW</em>&#160;</td><td class="fielddoc">
-<p>Window key. On TV remotes, toggles picture-in-picture mode or other windowing functions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf33a5fa1f163245360aeed89d64b0233"></a>AKEYCODE_GUIDE</em>&#160;</td><td class="fielddoc">
-<p>Guide key. On TV remotes, shows a programming guide. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaacf2f03b925a02ba6de9fd98737546a60"></a>AKEYCODE_DVR</em>&#160;</td><td class="fielddoc">
-<p>DVR key. On some TV remotes, switches to a DVR mode for recorded shows. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa03ce46d177e020690aa9d26a0fa850ae"></a>AKEYCODE_BOOKMARK</em>&#160;</td><td class="fielddoc">
-<p>Bookmark key. On some TV remotes, bookmarks content or web pages. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa81ba8d5343362b841b8a62b8679ff994"></a>AKEYCODE_CAPTIONS</em>&#160;</td><td class="fielddoc">
-<p>Toggle captions key. Switches the mode for closed-captioning text, for example during television shows. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaa2bbd457230c3028df6b91d5bdda9159"></a>AKEYCODE_SETTINGS</em>&#160;</td><td class="fielddoc">
-<p>Settings key. Starts the system settings activity. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaafda3b0ea1b158831fc443bf4911a3930"></a>AKEYCODE_TV_POWER</em>&#160;</td><td class="fielddoc">
-<p>TV power key. On TV remotes, toggles the power on a television screen. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaa1750b29e396bd1fd237ed4aadacc8f5"></a>AKEYCODE_TV_INPUT</em>&#160;</td><td class="fielddoc">
-<p>TV input key. On TV remotes, switches the input on a television screen. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab28aea3a51b11c9f227ce8cd5ff55a3d"></a>AKEYCODE_STB_POWER</em>&#160;</td><td class="fielddoc">
-<p>Set-top-box power key. On TV remotes, toggles the power on an external Set-top-box. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa988b0372359b2bca7390878fdba9e1b5"></a>AKEYCODE_STB_INPUT</em>&#160;</td><td class="fielddoc">
-<p>Set-top-box input key. On TV remotes, switches the input mode on an external Set-top-box. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa479d36f9814bd00c8986a252664b938b"></a>AKEYCODE_AVR_POWER</em>&#160;</td><td class="fielddoc">
-<p>A/V Receiver power key. On TV remotes, toggles the power on an external A/V Receiver. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa57d42dbd8ea4219f76fb116f234e6504"></a>AKEYCODE_AVR_INPUT</em>&#160;</td><td class="fielddoc">
-<p>A/V Receiver input key. On TV remotes, switches the input mode on an external A/V Receiver. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa2d9e3e82e69955f649b586f4518e074c"></a>AKEYCODE_PROG_RED</em>&#160;</td><td class="fielddoc">
-<p>Red "programmable" key. On TV remotes, acts as a contextual/programmable key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaad50c1e2136e47843a8dabca929f8ead1"></a>AKEYCODE_PROG_GREEN</em>&#160;</td><td class="fielddoc">
-<p>Green "programmable" key. On TV remotes, actsas a contextual/programmable key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaafa813640412bd41a181f0ec3a33dddc4"></a>AKEYCODE_PROG_YELLOW</em>&#160;</td><td class="fielddoc">
-<p>Yellow "programmable" key. On TV remotes, acts as a contextual/programmable key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5e82219fdb937fee5a22426c607dd4e0"></a>AKEYCODE_PROG_BLUE</em>&#160;</td><td class="fielddoc">
-<p>Blue "programmable" key. On TV remotes, acts as a contextual/programmable key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa53a59a262d6d523bdc2bd30a1e427bad"></a>AKEYCODE_APP_SWITCH</em>&#160;</td><td class="fielddoc">
-<p>App switch key. Should bring up the application switcher dialog. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa28c72c33ab93d83539d0790b7e48336a"></a>AKEYCODE_BUTTON_1</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #1. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab8089673fea303c7a299eefd2c327cc3"></a>AKEYCODE_BUTTON_2</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #2. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa706a5ff492c80b4653e6fe0dcd278ca1"></a>AKEYCODE_BUTTON_3</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #3. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa73c425a063bf6976e1ff8ae9f3cfcbe6"></a>AKEYCODE_BUTTON_4</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #4. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa47149f963528ec7abe55066abfb7caf5"></a>AKEYCODE_BUTTON_5</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #5. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa55057c8cda53a4c539d02ab1a93ca58b"></a>AKEYCODE_BUTTON_6</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #6. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac09e0c0cbbf6449bf106e4199600db35"></a>AKEYCODE_BUTTON_7</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #7. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaee64b3e0f30ed09e3c9f01b6c8877c3f"></a>AKEYCODE_BUTTON_8</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #8. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaac8e54092c8be5dc0e114ec35f40e00dc"></a>AKEYCODE_BUTTON_9</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #9. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab7e6f8621909f3461032c33f9c8acaa7"></a>AKEYCODE_BUTTON_10</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #10. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab413971c698b6e25d3955667c0142ac1"></a>AKEYCODE_BUTTON_11</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #11. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaafe4ee1e5446dd12bbb579b412048e79e"></a>AKEYCODE_BUTTON_12</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #12. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaabde2ed26594b89d5769eef9f0d1fe6f"></a>AKEYCODE_BUTTON_13</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #13. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa1f08dfd2c30ddedf1d2983680e89041b"></a>AKEYCODE_BUTTON_14</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #14. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7d8d0fb1a610fdb4e53f0fb675b7d7d0"></a>AKEYCODE_BUTTON_15</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #15. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa224370cba99bda2db6a1c82fd2f7fa39"></a>AKEYCODE_BUTTON_16</em>&#160;</td><td class="fielddoc">
-<p>Generic Game Pad Button #16. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7b8e87b47c17c5f1e97fcb56faaa26ff"></a>AKEYCODE_LANGUAGE_SWITCH</em>&#160;</td><td class="fielddoc">
-<p>Language Switch key. Toggles the current input language such as switching between English and Japanese on a QWERTY keyboard. On some devices, the same function may be performed by pressing Shift+Spacebar. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa380279768c5c50d92bef2a88394f967f"></a>AKEYCODE_MANNER_MODE</em>&#160;</td><td class="fielddoc">
-<p>Manner Mode key. Toggles silent or vibrate mode on and off to make the device behave more politely in certain settings such as on a crowded train. On some devices, the key may only operate when long-pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa68d314a5ec06701205cd0097c5c7145c"></a>AKEYCODE_3D_MODE</em>&#160;</td><td class="fielddoc">
-<p>3D Mode key. Toggles the display between 2D and 3D mode. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0aa2cfca11b7cabf82341a9dbec83f10"></a>AKEYCODE_CONTACTS</em>&#160;</td><td class="fielddoc">
-<p>Contacts special function key. Used to launch an address book application. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa114be17d1853c77a7406c024d9e4f076"></a>AKEYCODE_CALENDAR</em>&#160;</td><td class="fielddoc">
-<p>Calendar special function key. Used to launch a calendar application. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa14508751d70a0404b194d4b6df83ec72"></a>AKEYCODE_MUSIC</em>&#160;</td><td class="fielddoc">
-<p>Music special function key. Used to launch a music player application. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa293523c40bb9f1d793cd0b984f636573"></a>AKEYCODE_CALCULATOR</em>&#160;</td><td class="fielddoc">
-<p>Calculator special function key. Used to launch a calculator application. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf782be8df9a8ca5dc86c9bfeabac6f22"></a>AKEYCODE_ZENKAKU_HANKAKU</em>&#160;</td><td class="fielddoc">
-<p>Japanese full-width / half-width key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaadd69273b99eb0b848d98b2d6b3ad3234"></a>AKEYCODE_EISU</em>&#160;</td><td class="fielddoc">
-<p>Japanese alphanumeric key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7321e5c6b3cbab142bd16957653b2ac7"></a>AKEYCODE_MUHENKAN</em>&#160;</td><td class="fielddoc">
-<p>Japanese non-conversion key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab0686dd37c57d833d1158b7f1d85ee02"></a>AKEYCODE_HENKAN</em>&#160;</td><td class="fielddoc">
-<p>Japanese conversion key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa3be7db22b3c8aa046a46631e44863c28"></a>AKEYCODE_KATAKANA_HIRAGANA</em>&#160;</td><td class="fielddoc">
-<p>Japanese katakana / hiragana key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5ee19d21912056b902e283efa2d9d14b"></a>AKEYCODE_YEN</em>&#160;</td><td class="fielddoc">
-<p>Japanese Yen key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaae8b0af04dac5ea56fd55e577fd9e6be4"></a>AKEYCODE_RO</em>&#160;</td><td class="fielddoc">
-<p>Japanese Ro key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa62d090ae5c95a04dacdff79817dad531"></a>AKEYCODE_KANA</em>&#160;</td><td class="fielddoc">
-<p>Japanese kana key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7d3f036adb654c7752890a283ecbf838"></a>AKEYCODE_ASSIST</em>&#160;</td><td class="fielddoc">
-<p>Assist key. Launches the global assist activity. Not delivered to applications. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7cf1bf3528b6d8a0e86998287fe00650"></a>AKEYCODE_BRIGHTNESS_DOWN</em>&#160;</td><td class="fielddoc">
-<p>Brightness Down key. Adjusts the screen brightness down. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa0af6ec416c09d160e364466faa955c36"></a>AKEYCODE_BRIGHTNESS_UP</em>&#160;</td><td class="fielddoc">
-<p>Brightness Up key. Adjusts the screen brightness up. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa3cdb53cdf8c576e272502da06daa52e1"></a>AKEYCODE_MEDIA_AUDIO_TRACK</em>&#160;</td><td class="fielddoc">
-<p>Audio Track key. Switches the audio tracks. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaafc077e5a6b447ea060c144f6e65bd207"></a>AKEYCODE_SLEEP</em>&#160;</td><td class="fielddoc">
-<p>Sleep key. Puts the device to sleep. Behaves somewhat like <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabecfbcb9b6f5e85fdfdfa98fbc3326e6">AKEYCODE_POWER</a> but it has no effect if the device is already asleep. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa903c5152d26b3011ae521afa06759429"></a>AKEYCODE_WAKEUP</em>&#160;</td><td class="fielddoc">
-<p>Wakeup key. Wakes up the device. Behaves somewhat like <a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabecfbcb9b6f5e85fdfdfa98fbc3326e6">AKEYCODE_POWER</a> but it has no effect if the device is already awake. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf0ecddd3dce52cf60c96c5d430b1f553"></a>AKEYCODE_PAIRING</em>&#160;</td><td class="fielddoc">
-<p>Pairing key. Initiates peripheral pairing mode. Useful for pairing remote control devices or game controllers, especially if no other input mode is available. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf3ddf83cb2f701911b03c3a738e2e73a"></a>AKEYCODE_MEDIA_TOP_MENU</em>&#160;</td><td class="fielddoc">
-<p>Media Top Menu key. Goes to the top of media menu. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaa22858c3c30d596ad60f355f75df86e1"></a>AKEYCODE_11</em>&#160;</td><td class="fielddoc">
-<p>'11' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa781c31195e55b2dcbdd772560dc61aa5"></a>AKEYCODE_12</em>&#160;</td><td class="fielddoc">
-<p>'12' key. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa187963dd6f74b96f132f23e01dea35e9"></a>AKEYCODE_LAST_CHANNEL</em>&#160;</td><td class="fielddoc">
-<p>Last Channel key. Goes to the last viewed channel. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa954c2251b2cb53f47637802cb66baf06"></a>AKEYCODE_TV_DATA_SERVICE</em>&#160;</td><td class="fielddoc">
-<p>TV data service key. Displays data services like weather, sports. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa95898663b7f74c93d0b860a43528c744"></a>AKEYCODE_VOICE_ASSIST</em>&#160;</td><td class="fielddoc">
-<p>Voice Assist key. Launches the global voice assist activity. Not delivered to applications. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa93dd3fd752701af5a5491e01cc15db72"></a>AKEYCODE_TV_RADIO_SERVICE</em>&#160;</td><td class="fielddoc">
-<p>Radio key. Toggles TV service / Radio service. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa7d3d7b89756df37f01d6d0f13beff1db"></a>AKEYCODE_TV_TELETEXT</em>&#160;</td><td class="fielddoc">
-<p>Teletext key. Displays Teletext service. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa630a08e07a3b4c6bcac9a1a72d176055"></a>AKEYCODE_TV_NUMBER_ENTRY</em>&#160;</td><td class="fielddoc">
-<p>Number entry key. Initiates to enter multi-digit channel nubmber when each digit key is assigned for selecting separate channel. Corresponds to Number Entry Mode (0x1D) of CEC User Control Code. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa14f2b6fe8550832ef9e3f9aa53164073"></a>AKEYCODE_TV_TERRESTRIAL_ANALOG</em>&#160;</td><td class="fielddoc">
-<p>Analog Terrestrial key. Switches to analog terrestrial broadcast service. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaacad8c149251a78760a5fe4931b9cdf16"></a>AKEYCODE_TV_TERRESTRIAL_DIGITAL</em>&#160;</td><td class="fielddoc">
-<p>Digital Terrestrial key. Switches to digital terrestrial broadcast service. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa3707d4396417535a611e4548afe33936"></a>AKEYCODE_TV_SATELLITE</em>&#160;</td><td class="fielddoc">
-<p>Satellite key. Switches to digital satellite broadcast service. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa8c52e7d06525c0ee5d943d63a0fa8ea5"></a>AKEYCODE_TV_SATELLITE_BS</em>&#160;</td><td class="fielddoc">
-<p>BS key. Switches to BS digital satellite broadcasting service available in Japan. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa4eea1809a9ff679ed7773332d728c6b0"></a>AKEYCODE_TV_SATELLITE_CS</em>&#160;</td><td class="fielddoc">
-<p>CS key. Switches to CS digital satellite broadcasting service available in Japan. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa17c0e68066b86610ff168c6367af36eb"></a>AKEYCODE_TV_SATELLITE_SERVICE</em>&#160;</td><td class="fielddoc">
-<p>BS/CS key. Toggles between BS and CS digital satellite services. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaec5e46a5afc57953d1772e086307aa42"></a>AKEYCODE_TV_NETWORK</em>&#160;</td><td class="fielddoc">
-<p>Toggle Network key. Toggles selecting broacast services. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaabe33a80d6d3bf889af25cbd77fdb89f9"></a>AKEYCODE_TV_ANTENNA_CABLE</em>&#160;</td><td class="fielddoc">
-<p>Antenna/Cable key. Toggles broadcast input source between antenna and cable. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6a50de965f50ab3aa42772aac0808445"></a>AKEYCODE_TV_INPUT_HDMI_1</em>&#160;</td><td class="fielddoc">
-<p>HDMI #1 key. Switches to HDMI input #1. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab7ec65c008471d771bf879ec012f5c7f"></a>AKEYCODE_TV_INPUT_HDMI_2</em>&#160;</td><td class="fielddoc">
-<p>HDMI #2 key. Switches to HDMI input #2. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa6a0f267a2696d15bf16127121b1f1c7f"></a>AKEYCODE_TV_INPUT_HDMI_3</em>&#160;</td><td class="fielddoc">
-<p>HDMI #3 key. Switches to HDMI input #3. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa4437c1d8d2d33058cfa71ec7b2771ec5"></a>AKEYCODE_TV_INPUT_HDMI_4</em>&#160;</td><td class="fielddoc">
-<p>HDMI #4 key. Switches to HDMI input #4. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5c3097f14c6582958ba1d14d70115ccd"></a>AKEYCODE_TV_INPUT_COMPOSITE_1</em>&#160;</td><td class="fielddoc">
-<p>Composite #1 key. Switches to composite video input #1. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaada13cbb9d619bc610678ad66325647b9"></a>AKEYCODE_TV_INPUT_COMPOSITE_2</em>&#160;</td><td class="fielddoc">
-<p>Composite #2 key. Switches to composite video input #2. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa156e2dba81e7c73624ccf8c2ef8833ae"></a>AKEYCODE_TV_INPUT_COMPONENT_1</em>&#160;</td><td class="fielddoc">
-<p>Component #1 key. Switches to component video input #1. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa8db9b6ee1457267abea03430781bb0ec"></a>AKEYCODE_TV_INPUT_COMPONENT_2</em>&#160;</td><td class="fielddoc">
-<p>Component #2 key. Switches to component video input #2. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa149b2c8a4817075c0a41e0adf11c8e85"></a>AKEYCODE_TV_INPUT_VGA_1</em>&#160;</td><td class="fielddoc">
-<p>VGA #1 key. Switches to VGA (analog RGB) input #1. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa419f0adac43cad104cd6cf83dc5f13f6"></a>AKEYCODE_TV_AUDIO_DESCRIPTION</em>&#160;</td><td class="fielddoc">
-<p>Audio description key. Toggles audio description off / on. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaccc5900ca5dd399d5ce11dd8ca324678"></a>AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP</em>&#160;</td><td class="fielddoc">
-<p>Audio description mixing volume up key. Louden audio description volume as compared with normal audio volume. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa5fca6a9ec1ce246bf3c53d859ac9f5eb"></a>AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN</em>&#160;</td><td class="fielddoc">
-<p>Audio description mixing volume down key. Lessen audio description volume as compared with normal audio volume. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa8e79045045293070c8eb9e408f1335b4"></a>AKEYCODE_TV_ZOOM_MODE</em>&#160;</td><td class="fielddoc">
-<p>Zoom mode key. Changes Zoom mode (Normal, Full, Zoom, Wide-zoom, etc.) </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaa4c18feeafff3c41081073c025ee017b8"></a>AKEYCODE_TV_CONTENTS_MENU</em>&#160;</td><td class="fielddoc">
-<p>Contents menu key. Goes to the title list. Corresponds to Contents Menu (0x0B) of CEC User Control Code </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaadde70071f6a432f367079efa6e1a6fe"></a>AKEYCODE_TV_MEDIA_CONTEXT_MENU</em>&#160;</td><td class="fielddoc">
-<p>Media context menu key. Goes to the context menu of media contents. Corresponds to Media Context-sensitive Menu (0x11) of CEC User Control Code. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaaf0293c2a63e4d955080334bef6640840"></a>AKEYCODE_TV_TIMER_PROGRAMMING</em>&#160;</td><td class="fielddoc">
-<p>Timer programming key. Goes to the timer recording menu. Corresponds to Timer Programming (0x54) of CEC User Control Code. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga6b7b47dd702d9e331586d485013fd1eaab062b403701292c9e2db96a1f88cc6d9"></a>AKEYCODE_HELP</em>&#160;</td><td class="fielddoc">
-<p>Help key. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gabc6126af1d45847bc59afa0aa3216b04"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Key states (may be returned by queries about the current state of a particular key code, scan code or switch). </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggabc6126af1d45847bc59afa0aa3216b04a9506627d5377c67dbc7fc58804b2cdfd"></a>AKEY_STATE_UNKNOWN</em>&#160;</td><td class="fielddoc">
-<p>The key state is unknown or the requested key itself is not supported. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc6126af1d45847bc59afa0aa3216b04afa14022f587487c24d401c87e71c8e28"></a>AKEY_STATE_UP</em>&#160;</td><td class="fielddoc">
-<p>The key is up. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc6126af1d45847bc59afa0aa3216b04a286ec0a7aff5903a982be0cd6785b62c"></a>AKEY_STATE_DOWN</em>&#160;</td><td class="fielddoc">
-<p>The key is down. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabc6126af1d45847bc59afa0aa3216b04ad09fd9fe458ca6c66ead9b9a75c56192"></a>AKEY_STATE_VIRTUAL</em>&#160;</td><td class="fielddoc">
-<p>The key is down but is a virtual key press that is being emulated by the system. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gadc29c2ff13d900c2f185ee95427fb06c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Meta key / modifer state. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06cae0a3cb26517b3f876beb37594494526d"></a>AMETA_NONE</em>&#160;</td><td class="fielddoc">
-<p>No meta keys are pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06caba44b1077427e4da1d202e0c8f772881"></a>AMETA_ALT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether one of the ALT meta keys is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca256c74b768ecee57e3218e81ae6945df"></a>AMETA_ALT_LEFT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the left ALT meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca985db074c0f44749ca86b5cc0454056a"></a>AMETA_ALT_RIGHT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the right ALT meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06caa3d5f49c3a55b653a94c798a2c93b197"></a>AMETA_SHIFT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether one of the SHIFT meta keys is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06caa01fa027cdd8951530437bcbe04c3ed7"></a>AMETA_SHIFT_LEFT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the left SHIFT meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06cac52930581c339216218a6f50c5b57aa1"></a>AMETA_SHIFT_RIGHT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the right SHIFT meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca8af1e90950a728baca807a83e50b22ea"></a>AMETA_SYM_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the SYM meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca545b31b72b0454c22c170ff534ddfdf1"></a>AMETA_FUNCTION_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the FUNCTION meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06cabe927318a2a11a46be3e9d78dbd81ef5"></a>AMETA_CTRL_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether one of the CTRL meta keys is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca752c837afd5ff0fcf75ddee7b6808be6"></a>AMETA_CTRL_LEFT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the left CTRL meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca0ab007e367ae136b873b3e6636747419"></a>AMETA_CTRL_RIGHT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the right CTRL meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca9c04e7c2ad1f0f41af60402188a29c4a"></a>AMETA_META_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether one of the META meta keys is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca6f923de8f2cd72e3ad86149c0747906f"></a>AMETA_META_LEFT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the left META meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06cafdf56d1259ae16c97161c443d7949bdf"></a>AMETA_META_RIGHT_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the right META meta key is pressed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06cafc467c98d509b0de28b298801a0c3e37"></a>AMETA_CAPS_LOCK_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the CAPS LOCK meta key is on. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca15d234534a6870add5594f02b7333dc6"></a>AMETA_NUM_LOCK_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the NUM LOCK meta key is on. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06cafe8dacdc6566f655a3eab73ea4a9af5a"></a>AMETA_SCROLL_LOCK_ON</em>&#160;</td><td class="fielddoc">
-<p>This mask is used to check whether the SCROLL LOCK meta key is on. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga61dadd085c1777f559549e05962b2c9e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Input event types. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga61dadd085c1777f559549e05962b2c9ea696f0d7635f7a24c17d3f1e4ccdd44ba"></a>AINPUT_EVENT_TYPE_KEY</em>&#160;</td><td class="fielddoc">
-<p>Indicates that the input event is a key event. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga61dadd085c1777f559549e05962b2c9ea2182dfda2cceb5425dcc2823b9b6b56a"></a>AINPUT_EVENT_TYPE_MOTION</em>&#160;</td><td class="fielddoc">
-<p>Indicates that the input event is a motion event. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga726ca809ffd3d67ab4b8476646f26635"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Key event actions. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga726ca809ffd3d67ab4b8476646f26635a123c3bd18fd93b53d8aedbe7597f7b49"></a>AKEY_EVENT_ACTION_DOWN</em>&#160;</td><td class="fielddoc">
-<p>The key has been pressed down. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga726ca809ffd3d67ab4b8476646f26635abf18b7c5384c5de8657a0650f8da57c3"></a>AKEY_EVENT_ACTION_UP</em>&#160;</td><td class="fielddoc">
-<p>The key has been released. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga726ca809ffd3d67ab4b8476646f26635a08e2d927e155478ee66ec46ebd845ab0"></a>AKEY_EVENT_ACTION_MULTIPLE</em>&#160;</td><td class="fielddoc">
-<p>Multiple duplicate key events have occurred in a row, or a complex string is being delivered. The repeat_count property of the key event contains the number of times the given key code should be executed. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga0411cd49bb5b71852cecd93bcbf0ca2d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Key event flags. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2da6473a1afc0cc39e029c2a217bc57cdba"></a>AKEY_EVENT_FLAG_WOKE_HERE</em>&#160;</td><td class="fielddoc">
-<p>This mask is set if the device woke because of this key event. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2da7dbb272c7b28be9c084df3446a629f32"></a>AKEY_EVENT_FLAG_SOFT_KEYBOARD</em>&#160;</td><td class="fielddoc">
-<p>This mask is set if the key event was generated by a software keyboard. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2dadc0a063ca412b0ea08474df422bf9b41"></a>AKEY_EVENT_FLAG_KEEP_TOUCH_MODE</em>&#160;</td><td class="fielddoc">
-<p>This mask is set if we don't want the key event to cause us to leave touch mode. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2dae1e7ec188b2404fadd94cfba89afd5d6"></a>AKEY_EVENT_FLAG_FROM_SYSTEM</em>&#160;</td><td class="fielddoc">
-<p>This mask is set if an event was known to come from a trusted part of the system. That is, the event is known to come from the user, and could not have been spoofed by a third party component. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2dab9dbcf990d1e4405e32f847fdea52013"></a>AKEY_EVENT_FLAG_EDITOR_ACTION</em>&#160;</td><td class="fielddoc">
-<p>This mask is used for compatibility, to identify enter keys that are coming from an IME whose enter key has been auto-labelled "next" or "done". This allows TextView to dispatch these as normal enter keys for old applications, but still do the appropriate action when receiving them. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2da3198fad5ab75df614bb41f0f602a9e55"></a>AKEY_EVENT_FLAG_CANCELED</em>&#160;</td><td class="fielddoc">
-<p>When associated with up key events, this indicates that the key press has been canceled. Typically this is used with virtual touch screen keys, where the user can slide from the virtual key area on to the display: in that case, the application will receive a canceled up event and should not perform the action normally associated with the key. Note that for this to work, the application can not perform an action for a key until it receives an up or the long press timeout has expired. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2dad4b5eba5b14e4076c69bc7185f2804f8"></a>AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY</em>&#160;</td><td class="fielddoc">
-<p>This key event was generated by a virtual (on-screen) hard key area. Typically this is an area of the touchscreen, outside of the regular display, dedicated to "hardware" buttons. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2da39f9f7bdf2e256db0e2a8a5dfbfb7185"></a>AKEY_EVENT_FLAG_LONG_PRESS</em>&#160;</td><td class="fielddoc">
-<p>This flag is set for the first key repeat that occurs after the long press timeout. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2daf09856f03f2fffee9a82cb8e508efb7a"></a>AKEY_EVENT_FLAG_CANCELED_LONG_PRESS</em>&#160;</td><td class="fielddoc">
-<p>Set when a key event has AKEY_EVENT_FLAG_CANCELED set because a long press action was executed while it was down. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2da91e70ab527f27a1779f4550d457f1689"></a>AKEY_EVENT_FLAG_TRACKING</em>&#160;</td><td class="fielddoc">
-<p>Set for AKEY_EVENT_ACTION_UP when this event's key code is still being tracked from its initial down. That is, somebody requested that tracking started on the key down and a long press has not caused the tracking to be canceled. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga0411cd49bb5b71852cecd93bcbf0ca2da14f574126d2544863fa8042ddd0f48c0"></a>AKEY_EVENT_FLAG_FALLBACK</em>&#160;</td><td class="fielddoc">
-<p>Set when a key event has been synthesized to implement default behavior for an event that the application did not handle. Fallback key events are generated by unhandled trackball motions (to emulate a directional keypad) and by certain unhandled key presses that are declared in the key map (such as special function numeric keypad keys when numlock is off). </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gabed82baf7f470b522273a3e37c24c600"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Motion event actions </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600abf84a22c84d4b7228102b80f3af92a4f"></a>AMOTION_EVENT_ACTION_MASK</em>&#160;</td><td class="fielddoc">
-<p>Bit mask of the parts of the action code that are the action itself. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a51384339fbb57c0087f7f50c45d9cff3"></a>AMOTION_EVENT_ACTION_POINTER_INDEX_MASK</em>&#160;</td><td class="fielddoc">
-<p>Bits in the action code that represent a pointer index, used with AMOTION_EVENT_ACTION_POINTER_DOWN and AMOTION_EVENT_ACTION_POINTER_UP. Shifting down by AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT provides the actual pointer index where the data for the pointer going up or down can be found. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a225e61c48ba334abc1b5811db02edcf1"></a>AMOTION_EVENT_ACTION_DOWN</em>&#160;</td><td class="fielddoc">
-<p>A pressed gesture has started, the motion contains the initial starting location. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a43798b2b7a6de4616d150b2438b8419e"></a>AMOTION_EVENT_ACTION_UP</em>&#160;</td><td class="fielddoc">
-<p>A pressed gesture has finished, the motion contains the final release location as well as any intermediate points since the last down or move event. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a41c56c4e772953fce60c93bc671639a3"></a>AMOTION_EVENT_ACTION_MOVE</em>&#160;</td><td class="fielddoc">
-<p>A change has happened during a press gesture (between AMOTION_EVENT_ACTION_DOWN and AMOTION_EVENT_ACTION_UP). The motion contains the most recent point, as well as any intermediate points since the last down or move event. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a3952b960f5eb8c4f55b42741e286b74e"></a>AMOTION_EVENT_ACTION_CANCEL</em>&#160;</td><td class="fielddoc">
-<p>The current gesture has been aborted. You will not receive any more points in it. You should treat this as an up event, but not perform any action that you normally would. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a7c3c96b74af4c8304b8137ac6d201517"></a>AMOTION_EVENT_ACTION_OUTSIDE</em>&#160;</td><td class="fielddoc">
-<p>A movement has happened outside of the normal bounds of the UI element. This does not provide a full gesture, but only the initial location of the movement/touch. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a1618c641fd3f49fa7483f298d05b3cd2"></a>AMOTION_EVENT_ACTION_POINTER_DOWN</em>&#160;</td><td class="fielddoc">
-<p>A non-primary pointer has gone down. The bits in AMOTION_EVENT_ACTION_POINTER_INDEX_MASK indicate which pointer changed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600af2ef56aa7220eeb2073b9b028737bc1e"></a>AMOTION_EVENT_ACTION_POINTER_UP</em>&#160;</td><td class="fielddoc">
-<p>A non-primary pointer has gone up. The bits in AMOTION_EVENT_ACTION_POINTER_INDEX_MASK indicate which pointer changed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a84bc9fb3c01ff7ca9ee452a510e7de60"></a>AMOTION_EVENT_ACTION_HOVER_MOVE</em>&#160;</td><td class="fielddoc">
-<p>A change happened but the pointer is not down (unlike AMOTION_EVENT_ACTION_MOVE). The motion contains the most recent point, as well as any intermediate points since the last hover move event. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a45ba62b1e6fab4e84d5782d7c35ced04"></a>AMOTION_EVENT_ACTION_SCROLL</em>&#160;</td><td class="fielddoc">
-<p>The motion event contains relative vertical and/or horizontal scroll offsets. Use getAxisValue to retrieve the information from AMOTION_EVENT_AXIS_VSCROLL and AMOTION_EVENT_AXIS_HSCROLL. The pointer may or may not be down when this event is dispatched. This action is always delivered to the winder under the pointer, which may not be the window currently touched. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600a247b2c60ad92f3130ad43c907986ffb3"></a>AMOTION_EVENT_ACTION_HOVER_ENTER</em>&#160;</td><td class="fielddoc">
-<p>The pointer is not down but has entered the boundaries of a window or view. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggabed82baf7f470b522273a3e37c24c600ac00b1eacfbea779863abf3fcf02134aa"></a>AMOTION_EVENT_ACTION_HOVER_EXIT</em>&#160;</td><td class="fielddoc">
-<p>The pointer is not down but has exited the boundaries of a window or view. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gab04a0655cd1e3bcac5e8f48c18df1a57"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Motion event flags. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggab04a0655cd1e3bcac5e8f48c18df1a57a200623e1e4eee7797cad30917d289d7a"></a>AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED</em>&#160;</td><td class="fielddoc">
-<p>This flag indicates that the window that received this motion event is partly or wholly obscured by another visible window above it. This flag is set to true even if the event did not directly pass through the obscured area. A security sensitive application can check this flag to identify situations in which a malicious application may have covered up part of its content for the purpose of misleading the user or hijacking touches. An appropriate response might be to drop the suspect touches or to take additional precautions to confirm the user's actual intent. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga9dd3fd81e51dbfde19ab861541242aa1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AInputEvent_getDeviceId </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the id for the device that an input event came from.</p>
-<p>Input events can be generated by multiple different input devices. Use the input device id to obtain information about the input device that was responsible for generating a particular event.</p>
-<p>An input device id of 0 indicates that the event didn't come from a physical device; other numbers are arbitrary and you shouldn't depend on the values. Use the provided input device query API to obtain information about input devices. </p>
-
-</div>
-</div>
-<a class="anchor" id="gac90d4b497669dbc709ec9650db4e49be"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AInputEvent_getSource </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the input event source. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga8292ae06aa8120c52d7380d228600b9c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AInputEvent_getType </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Input event accessors.</p>
-<p>Note that most functions can only be used on input events that are of a given type. Calling these functions on input events of other types will yield undefined behavior.Get the input event type. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga900711156bfb58d1a4b158da7874930f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AInputQueue_attachLooper </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td>
-          <td class="paramname"><em>looper</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>ident</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a>&#160;</td>
-          <td class="paramname"><em>callback</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>data</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Add this input queue to a looper for processing. See <a class="el" href="group___looper.html#ga2668285bfadcf21ef4d371568a30be33">ALooper_addFd()</a> for information on the ident, callback, and data params. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaeebe9f83392ac79b31ca40a6fd4dbeff"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AInputQueue_detachLooper </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Remove the input queue from the looper it is currently attached to. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga17e87e0f35d47d729eac31a0dfb1ac33"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AInputQueue_finishEvent </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>handled</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Report that dispatching has finished with the given event. This must be called after receiving an event with AInputQueue_get_event(). </p>
-
-</div>
-</div>
-<a class="anchor" id="ga88de12e2b39787ba7d3e4ce2ea46a48c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AInputQueue_getEvent </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> **&#160;</td>
-          <td class="paramname"><em>outEvent</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the next available event from the queue. Returns a negative value if no events are available or an error has occurred. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2b72ad6ab5ef656e8c41163aa7871c96"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AInputQueue_hasEvents </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns true if there are one or more events available in the input queue. Returns 1 if the queue has events; 0 if it does not have events; and a negative value if there is an error. </p>
-
-</div>
-</div>
-<a class="anchor" id="gadecd32e6c7aefa4a508b355550d3eaa9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AInputQueue_preDispatchEvent </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>event</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Sends the key for standard pre-dispatching &ndash; that is, possibly deliver it to the current IME to be consumed before the app. Returns 0 if it was not pre-dispatched, meaning you can process it right now. If non-zero is returned, you must abandon the current event processing and allow the event to appear again in the event queue (if it does not get consumed during pre-dispatching). </p>
-
-</div>
-</div>
-<a class="anchor" id="ga36ec0b59f98f86a7ca263ba91279896d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AKeyEvent_getAction </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>key_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the key event action. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaf475b6f0860bdfca4ceea7bc46eab1a9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int64_t AKeyEvent_getDownTime </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>key_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the time of the most recent key down event, in the java.lang.System.nanoTime() time base. If this is a down event, this will be the same as eventTime. Note that when chording keys, this value is the down time of the most recently pressed key, which may not be the same physical key of this event. </p>
-
-</div>
-</div>
-<a class="anchor" id="gae3eac7d68195d1767c947ca267842696"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int64_t AKeyEvent_getEventTime </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>key_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the time this event occurred, in the java.lang.System.nanoTime() time base. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2a18e98efe0c4ccb6f39bb13c555010e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AKeyEvent_getFlags </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>key_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the key event flags. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga6b01ecd60018a5445f4917a861ca9466"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AKeyEvent_getKeyCode </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>key_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the key code of the key event. This is the physical key that was pressed, not the Unicode character. </p>
-
-</div>
-</div>
-<a class="anchor" id="gabdda62b40b22727af2fb41740bf4787b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AKeyEvent_getMetaState </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>key_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the meta key state. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga5358fe3ebbd4b5b2f88a4ad2eba6f885"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AKeyEvent_getRepeatCount </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>key_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the repeat count of the event. For both key up an key down events, this is the number of times the key has repeated with the first down starting at 0 and counting up from there. For multiple key events, this is the number of down/up pairs that have occurred. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4a0a846b7a195aeb290dfcd2250137d9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AKeyEvent_getScanCode </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>key_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the hardware key id of this key event. These values are not reliable and vary from device to device. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga73ea2093cc2343675ac43dd08bef4247"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AMotionEvent_getAction </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the combined motion event action code and pointer index. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9d364cdcebf85237f599b25861f38c21"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getAxisValue </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>axis</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the value of the request axis for the given pointer index. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1aa7ebb749416491b6f0c55ae87ddf49"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AMotionEvent_getButtonState </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the button state of all buttons that are pressed. </p>
-
-</div>
-</div>
-<a class="anchor" id="gad44be7697e68891688cd7bcfaffec209"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int64_t AMotionEvent_getDownTime </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the time when the user originally pressed down to start a stream of position events, in the java.lang.System.nanoTime() time base. </p>
-
-</div>
-</div>
-<a class="anchor" id="gad7e1f0caa4c27194d4a8756a18432299"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AMotionEvent_getEdgeFlags </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get a bitfield indicating which edges, if any, were touched by this motion event. For touch events, clients can use this to determine if the user's finger was touching the edge of the display. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7e13fbf3cff0700b0b620284ebdd3a33"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int64_t AMotionEvent_getEventTime </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the time when this specific event was generated, in the java.lang.System.nanoTime() time base. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2891d19197c070207098fa48adeb35af"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AMotionEvent_getFlags </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the motion event flags. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7ca740e1324f3cdb934252dce0c982d0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalAxisValue </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>axis</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical value of the request axis for the given pointer index that occurred between this event and the previous motion event. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga523f1a760754206965b42b08d62f9346"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int64_t AMotionEvent_getHistoricalEventTime </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the time that a historical movement occurred between this event and the previous event, in the java.lang.System.nanoTime() time base. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaab9cb8fa670175ecc73c75eed4e5cd3f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalOrientation </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical orientation of the touch area and tool area in radians clockwise from vertical for the given pointer index that occurred between this event and the previous motion event. An angle of 0 degrees indicates that the major axis of contact is oriented upwards, is perfectly circular or is of unknown orientation. A positive angle indicates that the major axis of contact is oriented to the right. A negative angle indicates that the major axis of contact is oriented to the left. The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians (finger pointing fully right). </p>
-
-</div>
-</div>
-<a class="anchor" id="gaa8e9352ee5b043b3e1b6e2062d491010"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalPressure </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical pressure of this event for the given pointer index that occurred between this event and the previous motion event. The pressure generally ranges from 0 (no pressure at all) to 1 (normal pressure), although values higher than 1 may be generated depending on the calibration of the input device. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga5d36c2e7420001c86ae2aa1168fe6f83"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalRawX </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical raw X coordinate of this event for the given pointer index that occurred between this event and the previous motion event. For touch events on the screen, this is the original location of the event on the screen, before it had been adjusted for the containing window and views. Whole numbers are pixels; the value may have a fraction for input devices that are sub-pixel precise. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga6deb0e7690a93aa53e5872c2691b69fe"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalRawY </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical raw Y coordinate of this event for the given pointer index that occurred between this event and the previous motion event. For touch events on the screen, this is the original location of the event on the screen, before it had been adjusted for the containing window and views. Whole numbers are pixels; the value may have a fraction for input devices that are sub-pixel precise. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga0a04bb7ec12928db7e62645e7fad3a9e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalSize </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current scaled value of the approximate size for the given pointer index that occurred between this event and the previous motion event. This represents some approximation of the area of the screen being pressed; the actual value in pixels corresponding to the touch is normalized with the device specific range of values and scaled to a value between 0 and 1. The value of size can be used to determine fat touch events. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga160a5830e791e8c42ae97f51b92233d2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalToolMajor </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical length of the major axis of an ellipse that describes the size of the approaching tool for the given pointer index that occurred between this event and the previous motion event. The tool area represents the estimated size of the finger or pen that is touching the device independent of its actual touch area at the point of contact. </p>
-
-</div>
-</div>
-<a class="anchor" id="gafe01aa7576a6d1bce750fb8482355849"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalToolMinor </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical length of the minor axis of an ellipse that describes the size of the approaching tool for the given pointer index that occurred between this event and the previous motion event. The tool area represents the estimated size of the finger or pen that is touching the device independent of its actual touch area at the point of contact. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaf437f223668b97f19ebdbad4b9cf4483"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalTouchMajor </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical length of the major axis of an ellipse that describes the touch area at the point of contact for the given pointer index that occurred between this event and the previous motion event. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga126715d966e989652aa1ae5d38e0e898"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalTouchMinor </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical length of the minor axis of an ellipse that describes the touch area at the point of contact for the given pointer index that occurred between this event and the previous motion event. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga49a8ca89ff377b5ed2355e8d7220ae07"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalX </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical X coordinate of this event for the given pointer index that occurred between this event and the previous motion event. Whole numbers are pixels; the value may have a fraction for input devices that are sub-pixel precise. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga30fc4e5d3ce144955859f8c97b51b73d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getHistoricalY </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>history_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the historical Y coordinate of this event for the given pointer index that occurred between this event and the previous motion event. Whole numbers are pixels; the value may have a fraction for input devices that are sub-pixel precise. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga0aef34c236db6d7a56a50bf590be7bcc"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">size_t AMotionEvent_getHistorySize </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the number of historical points in this event. These are movements that have occurred between this event and the previous event. This only applies to AMOTION_EVENT_ACTION_MOVE events &ndash; all other actions will have a size of 0. Historical samples are indexed from oldest to newest. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga5644f0d952e3dea57ba9f7ce51dff2bb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AMotionEvent_getMetaState </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the state of any meta / modifier keys that were in effect when the event was generated. </p>
-
-</div>
-</div>
-<a class="anchor" id="gad28422998da15b789edcba6b8bc5d615"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getOrientation </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current orientation of the touch area and tool area in radians clockwise from vertical for the given pointer index. An angle of 0 degrees indicates that the major axis of contact is oriented upwards, is perfectly circular or is of unknown orientation. A positive angle indicates that the major axis of contact is oriented to the right. A negative angle indicates that the major axis of contact is oriented to the left. The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians (finger pointing fully right). </p>
-
-</div>
-</div>
-<a class="anchor" id="ga612e68d104adbc6d14d87510e8066bd8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">size_t AMotionEvent_getPointerCount </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the number of pointers of data contained in this event. Always &gt;= 1. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga599e21a79c706807243a8ee31b116138"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AMotionEvent_getPointerId </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the pointer identifier associated with a particular pointer data index in this event. The identifier tells you the actual pointer number associated with the data, accounting for individual pointers going up and down since the start of the current gesture. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga97fcaa6cd08c9d54b35711e482e06c8d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getPressure </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current pressure of this event for the given pointer index. The pressure generally ranges from 0 (no pressure at all) to 1 (normal pressure), although values higher than 1 may be generated depending on the calibration of the input device. </p>
-
-</div>
-</div>
-<a class="anchor" id="gafe45e29ef138cc30592237ce479837f0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getRawX </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the original raw X coordinate of this event. For touch events on the screen, this is the original location of the event on the screen, before it had been adjusted for the containing window and views. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga5a09c3d742a93270861aa05f24257c23"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getRawY </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the original raw X coordinate of this event. For touch events on the screen, this is the original location of the event on the screen, before it had been adjusted for the containing window and views. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9b1f3c3df46b5269f9e74d2dd70c88a8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getSize </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current scaled value of the approximate size for the given pointer index. This represents some approximation of the area of the screen being pressed; the actual value in pixels corresponding to the touch is normalized with the device specific range of values and scaled to a value between 0 and 1. The value of size can be used to determine fat touch events. </p>
-
-</div>
-</div>
-<a class="anchor" id="gac04099690f278a6a27191c2027b12a77"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getToolMajor </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current length of the major axis of an ellipse that describes the size of the approaching tool for the given pointer index. The tool area represents the estimated size of the finger or pen that is touching the device independent of its actual touch area at the point of contact. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2222d459759ba4a8269647012d2718fb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getToolMinor </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current length of the minor axis of an ellipse that describes the size of the approaching tool for the given pointer index. The tool area represents the estimated size of the finger or pen that is touching the device independent of its actual touch area at the point of contact. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2babe4e2e79952e004538f8f1878649c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AMotionEvent_getToolType </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the tool type of a pointer for the given pointer index. The tool type indicates the type of tool used to make contact such as a finger or stylus, if known. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9ac18fe19534e07d80441582f489d471"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getTouchMajor </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current length of the major axis of an ellipse that describes the touch area at the point of contact for the given pointer index. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga65f71e257b5fcb29dcbaaf59b3fcb3a7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getTouchMinor </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current length of the minor axis of an ellipse that describes the touch area at the point of contact for the given pointer index. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga22e255a5fa52761cd92ce78af91e9757"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getX </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current X coordinate of this event for the given pointer index. Whole numbers are pixels; the value may have a fraction for input devices that are sub-pixel precise. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7a94ce622eb78a17737fd8bddbf86e21"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getXOffset </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the X coordinate offset. For touch events on the screen, this is the delta that was added to the raw screen coordinates to adjust for the absolute position of the containing windows and views. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga81a9be07673a01f43fd0241c7b4c254f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getXPrecision </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the precision of the X coordinates being reported. You can multiply this number with an X coordinate sample to find the actual hardware value of the X coordinate. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga113f58a37e41f2a6c3007d68418edfa6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getY </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>pointer_index</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the current Y coordinate of this event for the given pointer index. Whole numbers are pixels; the value may have a fraction for input devices that are sub-pixel precise. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7f6bd2c12d912f502c245b6ced6d3704"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getYOffset </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the Y coordinate offset. For touch events on the screen, this is the delta that was added to the raw screen coordinates to adjust for the absolute position of the containing windows and views. </p>
-
-</div>
-</div>
-<a class="anchor" id="gae311e6e28bce4be905526f9ea71278ed"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float AMotionEvent_getYPrecision </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *&#160;</td>
-          <td class="paramname"><em>motion_event</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the precision of the Y coordinates being reported. You can multiply this number with a Y coordinate sample to find the actual hardware value of the Y coordinate. </p>
-
-</div>
-</div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/group___looper.jd b/docs/html/ndk/reference/group___looper.jd
deleted file mode 100644
index bc845f8..0000000
--- a/docs/html/ndk/reference/group___looper.jd
+++ /dev/null
@@ -1,442 +0,0 @@
-page.title=Looper
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#files">Files</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Looper</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:looper_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="looper_8h.html">looper.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:gadb10521a80138b777ba1bc2ca74d4af5"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a></td></tr>
-<tr class="separator:gadb10521a80138b777ba1bc2ca74d4af5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga410b184b4e48302c439e36c8ce0a7a89"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a> )(int fd, int events, void *data)</td></tr>
-<tr class="separator:ga410b184b4e48302c439e36c8ce0a7a89"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gaf9bdc3014f3d54c426b6d2df10de4960"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___looper.html#ggaf9bdc3014f3d54c426b6d2df10de4960a1fff26ab5859b0308b58a3f8d58ef1eb">ALOOPER_PREPARE_ALLOW_NON_CALLBACKS</a> = 1&lt;&lt;0
- }</td></tr>
-<tr class="separator:gaf9bdc3014f3d54c426b6d2df10de4960"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadb49720dc49f7d4e4cf9adbf2948e409"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a55528f1b28df17cc4b6317cc0d0fde47">ALOOPER_POLL_WAKE</a> = -1, 
-<a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a64fe936780bfd9927affaf8e8cc81cc2">ALOOPER_POLL_CALLBACK</a> = -2, 
-<a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a3fe4eec66dff78a9fa8afca02e8b8443">ALOOPER_POLL_TIMEOUT</a> = -3, 
-<a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409af8ebd4022f6f5d5fea864f6999b7e6b4">ALOOPER_POLL_ERROR</a> = -4
- }</td></tr>
-<tr class="separator:gadb49720dc49f7d4e4cf9adbf2948e409"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaae05225933a42f81e7c4a9fb286596f9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9ae3d18f8dd1faf6f34468df10667949bc">ALOOPER_EVENT_INPUT</a> = 1 &lt;&lt; 0, 
-<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a71273fd07e009057e6e3475d10f8286d">ALOOPER_EVENT_OUTPUT</a> = 1 &lt;&lt; 1, 
-<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a14016d8f39373b8ce061276a957960f6">ALOOPER_EVENT_ERROR</a> = 1 &lt;&lt; 2, 
-<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a5e7fb5acdecef18b2c293f6309e5d4ab">ALOOPER_EVENT_HANGUP</a> = 1 &lt;&lt; 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9aefe82c6ce8e02d13aceaebdec15c2aff">ALOOPER_EVENT_INVALID</a> = 1 &lt;&lt; 4
-<br/>
- }</td></tr>
-<tr class="separator:gaae05225933a42f81e7c4a9fb286596f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga741ccd90a0eb9209c6bddf2326d89e4a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga741ccd90a0eb9209c6bddf2326d89e4a">ALooper_forThread</a> ()</td></tr>
-<tr class="separator:ga741ccd90a0eb9209c6bddf2326d89e4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1a070b904dd957cc65af9eb5ef6dfa25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga1a070b904dd957cc65af9eb5ef6dfa25">ALooper_prepare</a> (int opts)</td></tr>
-<tr class="separator:ga1a070b904dd957cc65af9eb5ef6dfa25"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae1ad7ac48ab01a34bfd25840c92ff07b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gae1ad7ac48ab01a34bfd25840c92ff07b">ALooper_acquire</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper)</td></tr>
-<tr class="separator:gae1ad7ac48ab01a34bfd25840c92ff07b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab723c3c2ac2c66bc695913a194073727"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gab723c3c2ac2c66bc695913a194073727">ALooper_release</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper)</td></tr>
-<tr class="separator:gab723c3c2ac2c66bc695913a194073727"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2a9044602b76fef7f47c7e11a801561c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce</a> (int timeoutMillis, int *outFd, int *outEvents, void **outData)</td></tr>
-<tr class="separator:ga2a9044602b76fef7f47c7e11a801561c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa7cd0636edc4ed227aadc585360ebefa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">ALooper_pollAll</a> (int timeoutMillis, int *outFd, int *outEvents, void **outData)</td></tr>
-<tr class="separator:gaa7cd0636edc4ed227aadc585360ebefa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab2585652f8ae2e2444979194ebe32aaf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gab2585652f8ae2e2444979194ebe32aaf">ALooper_wake</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper)</td></tr>
-<tr class="separator:gab2585652f8ae2e2444979194ebe32aaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2668285bfadcf21ef4d371568a30be33"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga2668285bfadcf21ef4d371568a30be33">ALooper_addFd</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper, int fd, int ident, int events, <a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a> callback, void *data)</td></tr>
-<tr class="separator:ga2668285bfadcf21ef4d371568a30be33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf7d68ed05698b251489b4f6c8e54daad"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gaf7d68ed05698b251489b4f6c8e54daad">ALooper_removeFd</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper, int fd)</td></tr>
-<tr class="separator:gaf7d68ed05698b251489b4f6c8e54daad"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="gadb10521a80138b777ba1bc2ca74d4af5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>ALooper</p>
-<p>A looper is the state tracking an event loop for a thread. Loopers do not define event structures or other such things; rather they are a lower-level facility to attach one or more discrete objects listening for an event. An "event" here is simply data available on a file descriptor: each attached object has an associated file descriptor, and waiting for "events" means (internally) polling on all of these file descriptors until one or more of them have data available.</p>
-<p>A thread can have only one ALooper associated with it. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga410b184b4e48302c439e36c8ce0a7a89"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef int(* ALooper_callbackFunc)(int fd, int events, void *data)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>For callback-based event loops, this is the prototype of the function that is called when a file descriptor event occurs. It is given the file descriptor it is associated with, a bitmask of the poll events that were triggered (typically ALOOPER_EVENT_INPUT), and the data pointer that was originally supplied.</p>
-<p>Implementations should return 1 to continue receiving callbacks, or 0 to have this file descriptor and callback unregistered from the looper. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="gaf9bdc3014f3d54c426b6d2df10de4960"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Option for for <a class="el" href="group___looper.html#ga1a070b904dd957cc65af9eb5ef6dfa25">ALooper_prepare()</a>. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaf9bdc3014f3d54c426b6d2df10de4960a1fff26ab5859b0308b58a3f8d58ef1eb"></a>ALOOPER_PREPARE_ALLOW_NON_CALLBACKS</em>&#160;</td><td class="fielddoc">
-<p>This looper will accept calls to <a class="el" href="group___looper.html#ga2668285bfadcf21ef4d371568a30be33">ALooper_addFd()</a> that do not have a callback (that is provide NULL for the callback). In this case the caller of <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce()</a> or <a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">ALooper_pollAll()</a> MUST check the return from these functions to discover when data is available on such fds and process it. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gadb49720dc49f7d4e4cf9adbf2948e409"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Result from <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce()</a> and <a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">ALooper_pollAll()</a>. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggadb49720dc49f7d4e4cf9adbf2948e409a55528f1b28df17cc4b6317cc0d0fde47"></a>ALOOPER_POLL_WAKE</em>&#160;</td><td class="fielddoc">
-<p>The poll was awoken using wake() before the timeout expired and no callbacks were executed and no other file descriptors were ready. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadb49720dc49f7d4e4cf9adbf2948e409a64fe936780bfd9927affaf8e8cc81cc2"></a>ALOOPER_POLL_CALLBACK</em>&#160;</td><td class="fielddoc">
-<p>Result from <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce()</a> and <a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">ALooper_pollAll()</a>: One or more callbacks were executed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadb49720dc49f7d4e4cf9adbf2948e409a3fe4eec66dff78a9fa8afca02e8b8443"></a>ALOOPER_POLL_TIMEOUT</em>&#160;</td><td class="fielddoc">
-<p>Result from <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce()</a> and <a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">ALooper_pollAll()</a>: The timeout expired. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggadb49720dc49f7d4e4cf9adbf2948e409af8ebd4022f6f5d5fea864f6999b7e6b4"></a>ALOOPER_POLL_ERROR</em>&#160;</td><td class="fielddoc">
-<p>Result from <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce()</a> and <a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">ALooper_pollAll()</a>: An error occurred. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gaae05225933a42f81e7c4a9fb286596f9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Flags for file descriptor events that a looper can monitor.</p>
-<p>These flag bits can be combined to monitor multiple events at once. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaae05225933a42f81e7c4a9fb286596f9ae3d18f8dd1faf6f34468df10667949bc"></a>ALOOPER_EVENT_INPUT</em>&#160;</td><td class="fielddoc">
-<p>The file descriptor is available for read operations. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaae05225933a42f81e7c4a9fb286596f9a71273fd07e009057e6e3475d10f8286d"></a>ALOOPER_EVENT_OUTPUT</em>&#160;</td><td class="fielddoc">
-<p>The file descriptor is available for write operations. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaae05225933a42f81e7c4a9fb286596f9a14016d8f39373b8ce061276a957960f6"></a>ALOOPER_EVENT_ERROR</em>&#160;</td><td class="fielddoc">
-<p>The file descriptor has encountered an error condition.</p>
-<p>The looper always sends notifications about errors; it is not necessary to specify this event flag in the requested event set. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaae05225933a42f81e7c4a9fb286596f9a5e7fb5acdecef18b2c293f6309e5d4ab"></a>ALOOPER_EVENT_HANGUP</em>&#160;</td><td class="fielddoc">
-<p>The file descriptor was hung up. For example, indicates that the remote end of a pipe or socket was closed.</p>
-<p>The looper always sends notifications about hangups; it is not necessary to specify this event flag in the requested event set. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaae05225933a42f81e7c4a9fb286596f9aefe82c6ce8e02d13aceaebdec15c2aff"></a>ALOOPER_EVENT_INVALID</em>&#160;</td><td class="fielddoc">
-<p>The file descriptor is invalid. For example, the file descriptor was closed prematurely.</p>
-<p>The looper always sends notifications about invalid file descriptors; it is not necessary to specify this event flag in the requested event set. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="gae1ad7ac48ab01a34bfd25840c92ff07b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ALooper_acquire </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td>
-          <td class="paramname"><em>looper</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Acquire a reference on the given ALooper object. This prevents the object from being deleted until the reference is removed. This is only needed to safely hand an ALooper from one thread to another. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2668285bfadcf21ef4d371568a30be33"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ALooper_addFd </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td>
-          <td class="paramname"><em>looper</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fd</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>ident</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>events</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a>&#160;</td>
-          <td class="paramname"><em>callback</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>data</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Adds a new file descriptor to be polled by the looper. If the same file descriptor was previously added, it is replaced.</p>
-<p>"fd" is the file descriptor to be added. "ident" is an identifier for this event, which is returned from <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce()</a>. The identifier must be &gt;= 0, or ALOOPER_POLL_CALLBACK if providing a non-NULL callback. "events" are the poll events to wake up on. Typically this is ALOOPER_EVENT_INPUT. "callback" is the function to call when there is an event on the file descriptor. "data" is a private data pointer to supply to the callback.</p>
-<p>There are two main uses of this function:</p>
-<p>(1) If "callback" is non-NULL, then this function will be called when there is data on the file descriptor. It should execute any events it has pending, appropriately reading from the file descriptor. The 'ident' is ignored in this case.</p>
-<p>(2) If "callback" is NULL, the 'ident' will be returned by ALooper_pollOnce when its file descriptor has data available, requiring the caller to take care of processing it.</p>
-<p>Returns 1 if the file descriptor was added or -1 if an error occurred.</p>
-<p>This method can be called on any thread. This method may block briefly if it needs to wake the poll. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga741ccd90a0eb9209c6bddf2326d89e4a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a>* ALooper_forThread </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the looper associated with the calling thread, or NULL if there is not one. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaa7cd0636edc4ed227aadc585360ebefa"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ALooper_pollAll </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>timeoutMillis</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>outFd</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>outEvents</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void **&#160;</td>
-          <td class="paramname"><em>outData</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Like <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce()</a>, but performs all pending callbacks until all data has been consumed or a file descriptor is available with no callback. This function will never return ALOOPER_POLL_CALLBACK. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga2a9044602b76fef7f47c7e11a801561c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ALooper_pollOnce </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>timeoutMillis</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>outFd</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>outEvents</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void **&#160;</td>
-          <td class="paramname"><em>outData</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Waits for events to be available, with optional timeout in milliseconds. Invokes callbacks for all file descriptors on which an event occurred.</p>
-<p>If the timeout is zero, returns immediately without blocking. If the timeout is negative, waits indefinitely until an event appears.</p>
-<p>Returns ALOOPER_POLL_WAKE if the poll was awoken using wake() before the timeout expired and no callbacks were invoked and no other file descriptors were ready.</p>
-<p>Returns ALOOPER_POLL_CALLBACK if one or more callbacks were invoked.</p>
-<p>Returns ALOOPER_POLL_TIMEOUT if there was no data before the given timeout expired.</p>
-<p>Returns ALOOPER_POLL_ERROR if an error occurred.</p>
-<p>Returns a value &gt;= 0 containing an identifier (the same identifier <code>ident</code> passed to <a class="el" href="group___looper.html#ga2668285bfadcf21ef4d371568a30be33">ALooper_addFd()</a>) if its file descriptor has data and it has no callback function (requiring the caller here to handle it). In this (and only this) case outFd, outEvents and outData will contain the poll events and data associated with the fd, otherwise they will be set to NULL.</p>
-<p>This method does not return until it has finished invoking the appropriate callbacks for all file descriptors that were signalled. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1a070b904dd957cc65af9eb5ef6dfa25"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a>* ALooper_prepare </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>opts</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Prepares a looper associated with the calling thread, and returns it. If the thread already has a looper, it is returned. Otherwise, a new one is created, associated with the thread, and returned.</p>
-<p>The opts may be ALOOPER_PREPARE_ALLOW_NON_CALLBACKS or 0. </p>
-
-</div>
-</div>
-<a class="anchor" id="gab723c3c2ac2c66bc695913a194073727"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ALooper_release </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td>
-          <td class="paramname"><em>looper</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Remove a reference that was previously acquired with <a class="el" href="group___looper.html#gae1ad7ac48ab01a34bfd25840c92ff07b">ALooper_acquire()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaf7d68ed05698b251489b4f6c8e54daad"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ALooper_removeFd </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td>
-          <td class="paramname"><em>looper</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>fd</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Removes a previously added file descriptor from the looper.</p>
-<p>When this method returns, it is safe to close the file descriptor since the looper will no longer have a reference to it. However, it is possible for the callback to already be running or for it to run one last time if the file descriptor was already signalled. Calling code is responsible for ensuring that this case is safely handled. For example, if the callback takes care of removing itself during its own execution either by returning 0 or by calling this method, then it can be guaranteed to not be invoked again at any later time unless registered anew.</p>
-<p>Returns 1 if the file descriptor was removed, 0 if none was previously registered or -1 if an error occurred.</p>
-<p>This method can be called on any thread. This method may block briefly if it needs to wake the poll. </p>
-
-</div>
-</div>
-<a class="anchor" id="gab2585652f8ae2e2444979194ebe32aaf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ALooper_wake </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td>
-          <td class="paramname"><em>looper</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Wakes the poll asynchronously.</p>
-<p>This method can be called on any thread. This method returns immediately. </p>
-
-</div>
-</div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/group___native_activity.jd b/docs/html/ndk/reference/group___native_activity.jd
deleted file mode 100644
index d0b2178..0000000
--- a/docs/html/ndk/reference/group___native_activity.jd
+++ /dev/null
@@ -1,731 +0,0 @@
-page.title=Native Activity
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#files">Files</a> &#124;
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a> &#124;
-<a href="#var-members">Variables</a>  </div>
-  <div class="headertitle">
-<div class="title">Native Activity</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:native__activity_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="native__activity_8h.html">native_activity.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:native__window_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="native__window_8h.html">native_window.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:native__window__jni_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="native__window__jni_8h.html">native_window_jni.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:rect_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rect_8h.html">rect.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:window_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="window_8h.html">window.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_rect.html">ARect</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga8abd07923f37feb1ce724d139cc2609d"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_native_activity.html">ANativeActivity</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga8abd07923f37feb1ce724d139cc2609d">ANativeActivity</a></td></tr>
-<tr class="separator:ga8abd07923f37feb1ce724d139cc2609d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga28dca784e5ee939427135c72c0151c38"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
-<a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga28dca784e5ee939427135c72c0151c38">ANativeActivityCallbacks</a></td></tr>
-<tr class="separator:ga28dca784e5ee939427135c72c0151c38"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga569a53bcac3fcedb0189b7c412ebcb22"><td class="memItemLeft" align="right" valign="top">typedef void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga569a53bcac3fcedb0189b7c412ebcb22">ANativeActivity_createFunc</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, void *savedState, size_t savedStateSize)</td></tr>
-<tr class="separator:ga569a53bcac3fcedb0189b7c412ebcb22"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga66956d540c2e3709e12156d195e64726"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a></td></tr>
-<tr class="separator:ga66956d540c2e3709e12156d195e64726"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad0983ca473ce36293baf5e51a14c3357"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gad0983ca473ce36293baf5e51a14c3357">ANativeWindow_Buffer</a></td></tr>
-<tr class="separator:gad0983ca473ce36293baf5e51a14c3357"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa984a498f0e146ac57c6022a323423cf"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_rect.html">ARect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaa984a498f0e146ac57c6022a323423cf">ARect</a></td></tr>
-<tr class="separator:gaa984a498f0e146ac57c6022a323423cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga39fca1837c5ce7715cbf571669660c13"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a9b7250ac0e5a626a81b176462a9df7c9">ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT</a> = 0x0001, 
-<a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a324062ac78fab16b40e8de1b1ae173b5">ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED</a> = 0x0002
- }</td></tr>
-<tr class="separator:ga39fca1837c5ce7715cbf571669660c13"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf8fd5f0e57d456151c951e0f3715fc4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a642e76508cc737bbc1df149756c2a807">ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY</a> = 0x0001, 
-<a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a0f4cbb55fa4c29b963b7b37d13352e6f">ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS</a> = 0x0002
- }</td></tr>
-<tr class="separator:gaaf8fd5f0e57d456151c951e0f3715fc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga94798fdadfbf49a7c658ace669a1d310"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a6a165383340acce0b32c555dd2ac2c01">WINDOW_FORMAT_RGBA_8888</a> = 1, 
-<a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a5f83a97ccf64fc1554c220476e8aaf30">WINDOW_FORMAT_RGBX_8888</a> = 2, 
-<a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310ab26fa9c38f169263b611a8b757bb0259">WINDOW_FORMAT_RGB_565</a> = 4
- }</td></tr>
-<tr class="separator:ga94798fdadfbf49a7c658ace669a1d310"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf715e26dfffd1f8de1c18449e2770cff"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa67363c129036872bc9dd29557e807508">AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON</a> = 0x00000001, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6155e77ae4e12cc56fb3f6f55f56bf6f">AWINDOW_FLAG_DIM_BEHIND</a> = 0x00000002, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa0377f46a626d411ace179c1c27d0a3f7">AWINDOW_FLAG_BLUR_BEHIND</a> = 0x00000004, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">AWINDOW_FLAG_NOT_FOCUSABLE</a> = 0x00000008, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae9f1278ffa6fe9c12c2305d4f4de1450">AWINDOW_FLAG_NOT_TOUCHABLE</a> = 0x00000010, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09">AWINDOW_FLAG_NOT_TOUCH_MODAL</a> = 0x00000020, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5574a513645e6e7cb4d6a9f4a043d773">AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING</a> = 0x00000040, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8">AWINDOW_FLAG_KEEP_SCREEN_ON</a> = 0x00000080, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6978968d7e0dc1a0e12f58ad395a959a">AWINDOW_FLAG_LAYOUT_IN_SCREEN</a> = 0x00000100, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffade9722581a203ee0db25d42f4d2bd389">AWINDOW_FLAG_LAYOUT_NO_LIMITS</a> = 0x00000200, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaca1f1d91313d7c32bb7982d8a5abcd71">AWINDOW_FLAG_FULLSCREEN</a> = 0x00000400, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa4c21235db629d3937f87ffe98cd6fe5d">AWINDOW_FLAG_FORCE_NOT_FULLSCREEN</a> = 0x00000800, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae73488b436aaea163ba2f7051bf93d9d">AWINDOW_FLAG_DITHER</a> = 0x00001000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa8ff70709a588a05781d7cb178b526cc0">AWINDOW_FLAG_SECURE</a> = 0x00002000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa80316264eeae9681a56c1a2297bf465a">AWINDOW_FLAG_SCALED</a> = 0x00004000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaa2fe4ee2307bb814a37a043de6d7d326">AWINDOW_FLAG_IGNORE_CHEEK_PRESSES</a> = 0x00008000, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa97b8542941bfe613bcf92357be89b563">AWINDOW_FLAG_LAYOUT_INSET_DECOR</a> = 0x00010000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa961ff4c9c0903cfb8867d961bebe1659">AWINDOW_FLAG_ALT_FOCUSABLE_IM</a> = 0x00020000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa35229f75b3309bafdd828cbbf27d05b6">AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH</a> = 0x00040000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">AWINDOW_FLAG_SHOW_WHEN_LOCKED</a> = 0x00080000, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa952ae6ceebe94d3f0d666454548b8824">AWINDOW_FLAG_SHOW_WALLPAPER</a> = 0x00100000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffac4deee26ac742bbd0bb4c44fda140a01">AWINDOW_FLAG_TURN_SCREEN_ON</a> = 0x00200000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa37c1077a12f1c8c6805b1da6f7bb213a">AWINDOW_FLAG_DISMISS_KEYGUARD</a> = 0x00400000
-<br/>
- }</td></tr>
-<tr class="separator:gaf715e26dfffd1f8de1c18449e2770cff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga4d872ae54a239704c06a0517e23cc0ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga4d872ae54a239704c06a0517e23cc0ad">ANativeActivity_finish</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:ga4d872ae54a239704c06a0517e23cc0ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaec8b12decdf2b9841344e75c4c038c5a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaec8b12decdf2b9841344e75c4c038c5a">ANativeActivity_setWindowFormat</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, int32_t format)</td></tr>
-<tr class="separator:gaec8b12decdf2b9841344e75c4c038c5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa1d091ca4a99b0ce570bab1c8c06f297"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaa1d091ca4a99b0ce570bab1c8c06f297">ANativeActivity_setWindowFlags</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, uint32_t addFlags, uint32_t removeFlags)</td></tr>
-<tr class="separator:gaa1d091ca4a99b0ce570bab1c8c06f297"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga14eaeb6190f266369023b04d8ab9dba7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga14eaeb6190f266369023b04d8ab9dba7">ANativeActivity_showSoftInput</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, uint32_t flags)</td></tr>
-<tr class="separator:ga14eaeb6190f266369023b04d8ab9dba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf673d6efea7ce517ef46ff2551b25944"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaf673d6efea7ce517ef46ff2551b25944">ANativeActivity_hideSoftInput</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, uint32_t flags)</td></tr>
-<tr class="separator:gaf673d6efea7ce517ef46ff2551b25944"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga533876b57909243b238927344a6592db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga533876b57909243b238927344a6592db">ANativeWindow_acquire</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga533876b57909243b238927344a6592db"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae944e98865b902bd924663785d7b0258"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gae944e98865b902bd924663785d7b0258">ANativeWindow_release</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:gae944e98865b902bd924663785d7b0258"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga186f0040c5cb405a63d93889bb9a4ff1"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga186f0040c5cb405a63d93889bb9a4ff1">ANativeWindow_getWidth</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga186f0040c5cb405a63d93889bb9a4ff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga463ba99f6dee3edc1167a54e1ff7de15"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga463ba99f6dee3edc1167a54e1ff7de15">ANativeWindow_getHeight</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga463ba99f6dee3edc1167a54e1ff7de15"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9e3a492a8300146b30d864f0ab22bb2e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga9e3a492a8300146b30d864f0ab22bb2e">ANativeWindow_getFormat</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga9e3a492a8300146b30d864f0ab22bb2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7b0652533998d61e1a3b542485889113"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga7b0652533998d61e1a3b542485889113">ANativeWindow_setBuffersGeometry</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window, int32_t width, int32_t height, int32_t format)</td></tr>
-<tr class="separator:ga7b0652533998d61e1a3b542485889113"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0b0e3b7d442dee83e1a1b42e5b0caee6"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">ANativeWindow_lock</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window, <a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a> *outBuffer, <a class="el" href="struct_a_rect.html">ARect</a> *inOutDirtyBounds)</td></tr>
-<tr class="separator:ga0b0e3b7d442dee83e1a1b42e5b0caee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4dc9b687ead9034fbc11bf2d90f203f9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga4dc9b687ead9034fbc11bf2d90f203f9">ANativeWindow_unlockAndPost</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga4dc9b687ead9034fbc11bf2d90f203f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga774d0a87ec496b3940fcddccbc31fd9d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga774d0a87ec496b3940fcddccbc31fd9d">ANativeWindow_fromSurface</a> (JNIEnv *env, jobject surface)</td></tr>
-<tr class="separator:ga774d0a87ec496b3940fcddccbc31fd9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
-Variables</h2></td></tr>
-<tr class="memitem:ga02791d0d490839055169f39fdc905c5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___native_activity.html#ga569a53bcac3fcedb0189b7c412ebcb22">ANativeActivity_createFunc</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga02791d0d490839055169f39fdc905c5e">ANativeActivity_onCreate</a></td></tr>
-<tr class="separator:ga02791d0d490839055169f39fdc905c5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="ga8abd07923f37feb1ce724d139cc2609d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_native_activity.html">ANativeActivity</a>  <a class="el" href="struct_a_native_activity.html">ANativeActivity</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>This structure defines the native side of an android.app.NativeActivity. It is created by the framework, and handed to the application's native code as it is being launched. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga569a53bcac3fcedb0189b7c412ebcb22"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef void ANativeActivity_createFunc(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, void *savedState, size_t savedStateSize)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>This is the function that must be in the native code to instantiate the application's native activity. It is called with the activity instance (see above); if the code is being instantiated from a previously saved instance, the savedState will be non-NULL and point to the saved data. You must make any copy of this data you need &ndash; it will be released after you return from this function. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga28dca784e5ee939427135c72c0151c38"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a>  <a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>These are the callbacks the framework makes into a native application. All of these callbacks happen on the main thread of the application. By default, all callbacks are NULL; set to a pointer to your own function to have it called. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga66956d540c2e3709e12156d195e64726"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> is opaque type that provides access to a native window.</p>
-<p>A pointer can be obtained using <a class="el" href="group___native_activity.html#ga774d0a87ec496b3940fcddccbc31fd9d">ANativeWindow_fromSurface()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gad0983ca473ce36293baf5e51a14c3357"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a>  <a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> is a struct that represents a windows buffer.</p>
-<p>A pointer can be obtained using <a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">ANativeWindow_lock()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaa984a498f0e146ac57c6022a323423cf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_rect.html">ARect</a>  <a class="el" href="struct_a_rect.html">ARect</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="struct_a_rect.html">ARect</a> is a struct that represents a rectangular window area.</p>
-<p>It is used with <a class="el" href="struct_a_native_activity_callbacks.html#a61d30a43b3c77b6047afe951706f6a1e">ANativeActivityCallbacks::onContentRectChanged</a> event callback and <a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">ANativeWindow_lock()</a> function. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="ga39fca1837c5ce7715cbf571669660c13"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Flags for ANativeActivity_showSoftInput; see the Java InputMethodManager API for documentation. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga39fca1837c5ce7715cbf571669660c13a9b7250ac0e5a626a81b176462a9df7c9"></a>ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT</em>&#160;</td><td class="fielddoc">
-<p>Implicit request to show the input window, not as the result of a direct request by the user. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga39fca1837c5ce7715cbf571669660c13a324062ac78fab16b40e8de1b1ae173b5"></a>ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED</em>&#160;</td><td class="fielddoc">
-<p>The user has forced the input method open (such as by long-pressing menu) so it should not be closed until they explicitly do so. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gaaf8fd5f0e57d456151c951e0f3715fc4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Flags for ANativeActivity_hideSoftInput; see the Java InputMethodManager API for documentation. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaaf8fd5f0e57d456151c951e0f3715fc4a642e76508cc737bbc1df149756c2a807"></a>ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY</em>&#160;</td><td class="fielddoc">
-<p>The soft input window should only be hidden if it was not explicitly shown by the user. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaaf8fd5f0e57d456151c951e0f3715fc4a0f4cbb55fa4c29b963b7b37d13352e6f"></a>ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS</em>&#160;</td><td class="fielddoc">
-<p>The soft input window should normally be hidden, unless it was originally shown with <a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a324062ac78fab16b40e8de1b1ae173b5">ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED</a>. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga94798fdadfbf49a7c658ace669a1d310"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Pixel formats that a window can use. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga94798fdadfbf49a7c658ace669a1d310a6a165383340acce0b32c555dd2ac2c01"></a>WINDOW_FORMAT_RGBA_8888</em>&#160;</td><td class="fielddoc">
-<p>Red: 8 bits, Green: 8 bits, Blue: 8 bits, Alpha: 8 bits. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga94798fdadfbf49a7c658ace669a1d310a5f83a97ccf64fc1554c220476e8aaf30"></a>WINDOW_FORMAT_RGBX_8888</em>&#160;</td><td class="fielddoc">
-<p>Red: 8 bits, Green: 8 bits, Blue: 8 bits, Unused: 8 bits. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga94798fdadfbf49a7c658ace669a1d310ab26fa9c38f169263b611a8b757bb0259"></a>WINDOW_FORMAT_RGB_565</em>&#160;</td><td class="fielddoc">
-<p>Red: 5 bits, Green: 6 bits, Blue: 5 bits. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gaf715e26dfffd1f8de1c18449e2770cff"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Window flags, as per the Java API at android.view.WindowManager.LayoutParams. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa67363c129036872bc9dd29557e807508"></a>AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON</em>&#160;</td><td class="fielddoc">
-<p>As long as this window is visible to the user, allow the lock screen to activate while the screen is on. This can be used independently, or in combination with <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8">AWINDOW_FLAG_KEEP_SCREEN_ON</a> and/or <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">AWINDOW_FLAG_SHOW_WHEN_LOCKED</a> </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa6155e77ae4e12cc56fb3f6f55f56bf6f"></a>AWINDOW_FLAG_DIM_BEHIND</em>&#160;</td><td class="fielddoc">
-<p>Everything behind this window will be dimmed. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa0377f46a626d411ace179c1c27d0a3f7"></a>AWINDOW_FLAG_BLUR_BEHIND</em>&#160;</td><td class="fielddoc">
-<p>Blur everything behind this window. </p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd>Blurring is no longer supported. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f"></a>AWINDOW_FLAG_NOT_FOCUSABLE</em>&#160;</td><td class="fielddoc">
-<p>This window won't ever get key input focus, so the user can not send key or other button events to it. Those will instead go to whatever focusable window is behind it. This flag will also enable <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09">AWINDOW_FLAG_NOT_TOUCH_MODAL</a> whether or not that is explicitly set.</p>
-<p>Setting this flag also implies that the window will not need to interact with a soft input method, so it will be Z-ordered and positioned independently of any active input method (typically this means it gets Z-ordered on top of the input method, so it can use the full screen for its content and cover the input method if needed. You can use <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa961ff4c9c0903cfb8867d961bebe1659">AWINDOW_FLAG_ALT_FOCUSABLE_IM</a> to modify this behavior. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffae9f1278ffa6fe9c12c2305d4f4de1450"></a>AWINDOW_FLAG_NOT_TOUCHABLE</em>&#160;</td><td class="fielddoc">
-<p>this window can never receive touch events. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09"></a>AWINDOW_FLAG_NOT_TOUCH_MODAL</em>&#160;</td><td class="fielddoc">
-<p>Even when this window is focusable (its <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">AWINDOW_FLAG_NOT_FOCUSABLE</a> is not set), allow any pointer events outside of the window to be sent to the windows behind it. Otherwise it will consume all pointer events itself, regardless of whether they are inside of the window. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa5574a513645e6e7cb4d6a9f4a043d773"></a>AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING</em>&#160;</td><td class="fielddoc">
-<p>When set, if the device is asleep when the touch screen is pressed, you will receive this first touch event. Usually the first touch event is consumed by the system since the user can not see what they are pressing on.</p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated:</a></b></dt><dd>This flag has no effect. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8"></a>AWINDOW_FLAG_KEEP_SCREEN_ON</em>&#160;</td><td class="fielddoc">
-<p>As long as this window is visible to the user, keep the device's screen turned on and bright. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa6978968d7e0dc1a0e12f58ad395a959a"></a>AWINDOW_FLAG_LAYOUT_IN_SCREEN</em>&#160;</td><td class="fielddoc">
-<p>Place the window within the entire screen, ignoring decorations around the border (such as the status bar). The window must correctly position its contents to take the screen decoration into account. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffade9722581a203ee0db25d42f4d2bd389"></a>AWINDOW_FLAG_LAYOUT_NO_LIMITS</em>&#160;</td><td class="fielddoc">
-<p>allow window to extend outside of the screen. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffaca1f1d91313d7c32bb7982d8a5abcd71"></a>AWINDOW_FLAG_FULLSCREEN</em>&#160;</td><td class="fielddoc">
-<p>Hide all screen decorations (such as the status bar) while this window is displayed. This allows the window to use the entire display space for itself &ndash; the status bar will be hidden when an app window with this flag set is on the top layer. A fullscreen window will ignore a value of <a class="el" href="">AWINDOW_SOFT_INPUT_ADJUST_RESIZE</a>; the window will stay fullscreen and will not resize. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa4c21235db629d3937f87ffe98cd6fe5d"></a>AWINDOW_FLAG_FORCE_NOT_FULLSCREEN</em>&#160;</td><td class="fielddoc">
-<p>Override <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaca1f1d91313d7c32bb7982d8a5abcd71">AWINDOW_FLAG_FULLSCREEN</a> and force the screen decorations (such as the status bar) to be shown. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffae73488b436aaea163ba2f7051bf93d9d"></a>AWINDOW_FLAG_DITHER</em>&#160;</td><td class="fielddoc">
-<p>Turn on dithering when compositing this window to the screen. </p>
-<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated:</a></b></dt><dd>This flag is no longer used. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa8ff70709a588a05781d7cb178b526cc0"></a>AWINDOW_FLAG_SECURE</em>&#160;</td><td class="fielddoc">
-<p>Treat the content of the window as secure, preventing it from appearing in screenshots or from being viewed on non-secure displays. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa80316264eeae9681a56c1a2297bf465a"></a>AWINDOW_FLAG_SCALED</em>&#160;</td><td class="fielddoc">
-<p>A special mode where the layout parameters are used to perform scaling of the surface when it is composited to the screen. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffaa2fe4ee2307bb814a37a043de6d7d326"></a>AWINDOW_FLAG_IGNORE_CHEEK_PRESSES</em>&#160;</td><td class="fielddoc">
-<p>Intended for windows that will often be used when the user is holding the screen against their face, it will aggressively filter the event stream to prevent unintended presses in this situation that may not be desired for a particular window, when such an event stream is detected, the application will receive a <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a3952b960f5eb8c4f55b42741e286b74e">AMOTION_EVENT_ACTION_CANCEL</a> to indicate this so applications can handle this accordingly by taking no action on the event until the finger is released. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa97b8542941bfe613bcf92357be89b563"></a>AWINDOW_FLAG_LAYOUT_INSET_DECOR</em>&#160;</td><td class="fielddoc">
-<p>A special option only for use in combination with <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6978968d7e0dc1a0e12f58ad395a959a">AWINDOW_FLAG_LAYOUT_IN_SCREEN</a>. When requesting layout in the screen your window may appear on top of or behind screen decorations such as the status bar. By also including this flag, the window manager will report the inset rectangle needed to ensure your content is not covered by screen decorations. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa961ff4c9c0903cfb8867d961bebe1659"></a>AWINDOW_FLAG_ALT_FOCUSABLE_IM</em>&#160;</td><td class="fielddoc">
-<p>Invert the state of <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">AWINDOW_FLAG_NOT_FOCUSABLE</a> with respect to how this window interacts with the current method. That is, if FLAG_NOT_FOCUSABLE is set and this flag is set, then the window will behave as if it needs to interact with the input method and thus be placed behind/away from it; if <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">AWINDOW_FLAG_NOT_FOCUSABLE</a> is not set and this flag is set, then the window will behave as if it doesn't need to interact with the input method and can be placed to use more space and cover the input method. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa35229f75b3309bafdd828cbbf27d05b6"></a>AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH</em>&#160;</td><td class="fielddoc">
-<p>If you have set <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09">AWINDOW_FLAG_NOT_TOUCH_MODAL</a>, you can set this flag to receive a single special MotionEvent with the action <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a7c3c96b74af4c8304b8137ac6d201517">AMOTION_EVENT_ACTION_OUTSIDE</a> for touches that occur outside of your window. Note that you will not receive the full down/move/up gesture, only the location of the first down as an <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a7c3c96b74af4c8304b8137ac6d201517">AMOTION_EVENT_ACTION_OUTSIDE</a>. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b"></a>AWINDOW_FLAG_SHOW_WHEN_LOCKED</em>&#160;</td><td class="fielddoc">
-<p>Special flag to let windows be shown when the screen is locked. This will let application windows take precedence over key guard or any other lock screens. Can be used with <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8">AWINDOW_FLAG_KEEP_SCREEN_ON</a> to turn screen on and display windows directly before showing the key guard window. Can be used with <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa37c1077a12f1c8c6805b1da6f7bb213a">AWINDOW_FLAG_DISMISS_KEYGUARD</a> to automatically fully dismisss non-secure keyguards. This flag only applies to the top-most full-screen window. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa952ae6ceebe94d3f0d666454548b8824"></a>AWINDOW_FLAG_SHOW_WALLPAPER</em>&#160;</td><td class="fielddoc">
-<p>Ask that the system wallpaper be shown behind your window. The window surface must be translucent to be able to actually see the wallpaper behind it; this flag just ensures that the wallpaper surface will be there if this window actually has translucent regions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffac4deee26ac742bbd0bb4c44fda140a01"></a>AWINDOW_FLAG_TURN_SCREEN_ON</em>&#160;</td><td class="fielddoc">
-<p>When set as a window is being added or made visible, once the window has been shown then the system will poke the power manager's user activity (as if the user had woken up the device) to turn the screen on. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa37c1077a12f1c8c6805b1da6f7bb213a"></a>AWINDOW_FLAG_DISMISS_KEYGUARD</em>&#160;</td><td class="fielddoc">
-<p>When set the window will cause the keyguard to be dismissed, only if it is not a secure lock keyguard. Because such a keyguard is not needed for security, it will never re-appear if the user navigates to another window (in contrast to <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">AWINDOW_FLAG_SHOW_WHEN_LOCKED</a>, which will only temporarily hide both secure and non-secure keyguards but ensure they reappear when the user moves to another UI that doesn't hide them). If the keyguard is currently active and is secure (requires an unlock pattern) than the user will still need to confirm it before seeing this window, unless <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">AWINDOW_FLAG_SHOW_WHEN_LOCKED</a> has also been set. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ga4d872ae54a239704c06a0517e23cc0ad"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ANativeActivity_finish </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *&#160;</td>
-          <td class="paramname"><em>activity</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Finish the given activity. Its finish() method will be called, causing it to be stopped and destroyed. Note that this method can be called from <em>any</em> thread; it will send a message to the main thread of the process where the Java finish call will take place. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaf673d6efea7ce517ef46ff2551b25944"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ANativeActivity_hideSoftInput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *&#160;</td>
-          <td class="paramname"><em>activity</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>flags</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Hide the IME while in the given activity. Calls InputMethodManager.hideSoftInput() for the given activity. Note that this method can be called from <em>any</em> thread; it will send a message to the main thread of the process where the Java finish call will take place. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaa1d091ca4a99b0ce570bab1c8c06f297"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ANativeActivity_setWindowFlags </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *&#160;</td>
-          <td class="paramname"><em>activity</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>addFlags</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>removeFlags</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Change the window flags of the given activity. Calls getWindow().setFlags() of the given activity. Note that this method can be called from <em>any</em> thread; it will send a message to the main thread of the process where the Java finish call will take place. See <a class="el" href="window_8h.html">window.h</a> for flag constants. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaec8b12decdf2b9841344e75c4c038c5a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ANativeActivity_setWindowFormat </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *&#160;</td>
-          <td class="paramname"><em>activity</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>format</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Change the window format of the given activity. Calls getWindow().setFormat() of the given activity. Note that this method can be called from <em>any</em> thread; it will send a message to the main thread of the process where the Java finish call will take place. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga14eaeb6190f266369023b04d8ab9dba7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ANativeActivity_showSoftInput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *&#160;</td>
-          <td class="paramname"><em>activity</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&#160;</td>
-          <td class="paramname"><em>flags</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Show the IME while in the given activity. Calls InputMethodManager.showSoftInput() for the given activity. Note that this method can be called from <em>any</em> thread; it will send a message to the main thread of the process where the Java finish call will take place. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga533876b57909243b238927344a6592db"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ANativeWindow_acquire </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
-          <td class="paramname"><em>window</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Acquire a reference on the given ANativeWindow object. This prevents the object from being deleted until the reference is removed. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga774d0a87ec496b3940fcddccbc31fd9d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a>* ANativeWindow_fromSurface </td>
-          <td>(</td>
-          <td class="paramtype">JNIEnv *&#160;</td>
-          <td class="paramname"><em>env</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">jobject&#160;</td>
-          <td class="paramname"><em>surface</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the ANativeWindow associated with a Java Surface object, for interacting with it through native code. This acquires a reference on the ANativeWindow that is returned; be sure to use <a class="el" href="group___native_activity.html#gae944e98865b902bd924663785d7b0258">ANativeWindow_release()</a> when done with it so that it doesn't leak. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga9e3a492a8300146b30d864f0ab22bb2e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t ANativeWindow_getFormat </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
-          <td class="paramname"><em>window</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current pixel format of the window surface. Returns a negative value on error. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga463ba99f6dee3edc1167a54e1ff7de15"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t ANativeWindow_getHeight </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
-          <td class="paramname"><em>window</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current height in pixels of the window surface. Returns a negative value on error. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga186f0040c5cb405a63d93889bb9a4ff1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t ANativeWindow_getWidth </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
-          <td class="paramname"><em>window</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return the current width in pixels of the window surface. Returns a negative value on error. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga0b0e3b7d442dee83e1a1b42e5b0caee6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t ANativeWindow_lock </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
-          <td class="paramname"><em>window</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a> *&#160;</td>
-          <td class="paramname"><em>outBuffer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="struct_a_rect.html">ARect</a> *&#160;</td>
-          <td class="paramname"><em>inOutDirtyBounds</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Lock the window's next drawing surface for writing. inOutDirtyBounds is used as an in/out parameter, upon entering the function, it contains the dirty region, that is, the region the caller intends to redraw. When the function returns, inOutDirtyBounds is updated with the actual area the caller needs to redraw &ndash; this region is often extended by ANativeWindow_lock. </p>
-
-</div>
-</div>
-<a class="anchor" id="gae944e98865b902bd924663785d7b0258"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ANativeWindow_release </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
-          <td class="paramname"><em>window</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Remove a reference that was previously acquired with <a class="el" href="group___native_activity.html#ga533876b57909243b238927344a6592db">ANativeWindow_acquire()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7b0652533998d61e1a3b542485889113"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t ANativeWindow_setBuffersGeometry </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
-          <td class="paramname"><em>window</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>width</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>height</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>format</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Change the format and size of the window buffers.</p>
-<p>The width and height control the number of pixels in the buffers, not the dimensions of the window on screen. If these are different than the window's physical size, then it buffer will be scaled to match that size when compositing it to the screen.</p>
-<p>For all of these parameters, if 0 is supplied then the window's base value will come back in force.</p>
-<p>width and height must be either both zero or both non-zero. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4dc9b687ead9034fbc11bf2d90f203f9"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t ANativeWindow_unlockAndPost </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
-          <td class="paramname"><em>window</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Unlock the window's drawing surface after previously locking it, posting the new buffer to the display. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Variable Documentation</h2>
-<a class="anchor" id="ga02791d0d490839055169f39fdc905c5e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___native_activity.html#ga569a53bcac3fcedb0189b7c412ebcb22">ANativeActivity_createFunc</a> ANativeActivity_onCreate</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The name of the function that NativeInstance looks for when launching its native code. This is the default function that is used, you can specify "android.app.func_name" string meta-data in your manifest to use a different function. </p>
-
-</div>
-</div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/group___sensor.jd b/docs/html/ndk/reference/group___sensor.jd
deleted file mode 100644
index 41a0aec..0000000
--- a/docs/html/ndk/reference/group___sensor.jd
+++ /dev/null
@@ -1,925 +0,0 @@
-page.title=Sensor
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#files">Files</a> &#124;
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Sensor</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:sensor_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sensor_8h.html">sensor.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_vector.html">ASensorVector</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html">ASensorEvent</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:ga5129cb9e4091fc3474e246d5f950e52b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga5129cb9e4091fc3474e246d5f950e52b">ASENSOR_STANDARD_GRAVITY</a>&#160;&#160;&#160;(9.80665f)</td></tr>
-<tr class="separator:ga5129cb9e4091fc3474e246d5f950e52b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf8b57b13c6432bc6136aac0ad3813d63"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaf8b57b13c6432bc6136aac0ad3813d63">ASENSOR_MAGNETIC_FIELD_EARTH_MAX</a>&#160;&#160;&#160;(60.0f)</td></tr>
-<tr class="separator:gaf8b57b13c6432bc6136aac0ad3813d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4423a712e27b6d5a57d138796892886d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga4423a712e27b6d5a57d138796892886d">ASENSOR_MAGNETIC_FIELD_EARTH_MIN</a>&#160;&#160;&#160;(30.0f)</td></tr>
-<tr class="separator:ga4423a712e27b6d5a57d138796892886d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga207e807f9e18271f6a763e57232b409f"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_sensor_vector.html">ASensorVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga207e807f9e18271f6a763e57232b409f">ASensorVector</a></td></tr>
-<tr class="separator:ga207e807f9e18271f6a763e57232b409f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0378daec23b2d8a70438ef7c3912475f"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga0378daec23b2d8a70438ef7c3912475f">AMetaDataEvent</a></td></tr>
-<tr class="separator:ga0378daec23b2d8a70438ef7c3912475f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga24acc545b908dd24cadc44c5e0760b3b"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga24acc545b908dd24cadc44c5e0760b3b">AUncalibratedEvent</a></td></tr>
-<tr class="separator:ga24acc545b908dd24cadc44c5e0760b3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae85b6eac76abe74e6e53d78bb3a4858c"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gae85b6eac76abe74e6e53d78bb3a4858c">AHeartRateEvent</a></td></tr>
-<tr class="separator:gae85b6eac76abe74e6e53d78bb3a4858c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6bb167c45f0ef0a94d8f178d227e781f"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_sensor_event.html">ASensorEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga6bb167c45f0ef0a94d8f178d227e781f">ASensorEvent</a></td></tr>
-<tr class="separator:ga6bb167c45f0ef0a94d8f178d227e781f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaef620baab9b276ab8f914ae77babc349"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a></td></tr>
-<tr class="separator:gaef620baab9b276ab8f914ae77babc349"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa9448106d6d463f4cc5dded7c914e7ae"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a></td></tr>
-<tr class="separator:gaa9448106d6d463f4cc5dded7c914e7ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga93b28b7ce5e9b6d2ebc5b574cd5f4710"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a></td></tr>
-<tr class="separator:ga93b28b7ce5e9b6d2ebc5b574cd5f4710"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafec8dd682458c750a5f0f913a0f162ce"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">ASensorRef</a></td></tr>
-<tr class="separator:gafec8dd682458c750a5f0f913a0f162ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga26ff51817e8b320a631b3bf4ed378d58"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">ASensorRef</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a></td></tr>
-<tr class="separator:ga26ff51817e8b320a631b3bf4ed378d58"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga7ff5f2dff38e7639981794c43dc9167b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167bad72017f34c12971593a8cb14f4f254df">ASENSOR_TYPE_ACCELEROMETER</a> = 1, 
-<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba3b31509a3efebafb413e78f5ec9ae0e8">ASENSOR_TYPE_MAGNETIC_FIELD</a> = 2, 
-<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba80e9827f6c3ded009f354dc7078a2c68">ASENSOR_TYPE_GYROSCOPE</a> = 4, 
-<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba105331b6dea6f08e0d8fe3b736f8c174">ASENSOR_TYPE_LIGHT</a> = 5, 
-<br/>
-&#160;&#160;<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba0c6a2e526ed2e4442b3843976f906932">ASENSOR_TYPE_PROXIMITY</a> = 8
-<br/>
- }</td></tr>
-<tr class="separator:ga7ff5f2dff38e7639981794c43dc9167b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaabfcbcb5ac86a1edac4035264bc7d2b8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ae5d0475bd9491c4232a09afc81fa283d">ASENSOR_STATUS_NO_CONTACT</a> = -1, 
-<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ae8e43df50b7b85ed54f22c40f2cd748e">ASENSOR_STATUS_UNRELIABLE</a> = 0, 
-<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8a5f306f3d45a19573539462e4c813edc0">ASENSOR_STATUS_ACCURACY_LOW</a> = 1, 
-<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ad7e9379a4f36a42f2659cd7aec214f2d">ASENSOR_STATUS_ACCURACY_MEDIUM</a> = 2, 
-<br/>
-&#160;&#160;<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8a2df5fb4e8b684e6a801a4aff9f50ba13">ASENSOR_STATUS_ACCURACY_HIGH</a> = 3
-<br/>
- }</td></tr>
-<tr class="separator:gaabfcbcb5ac86a1edac4035264bc7d2b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5d76b81b0ad4c19007a781d4edb8181f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa8a64337fcb7e338d487dc3edc873df1c">AREPORTING_MODE_CONTINUOUS</a> = 0, 
-<a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa8542165ae195bf5784cdd9ba66bd2ab5">AREPORTING_MODE_ON_CHANGE</a> = 1, 
-<a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa002273a1ab874159a38a7e3f6bb6a7bb">AREPORTING_MODE_ONE_SHOT</a> = 2, 
-<a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181faa2d29656b35889c4c23318982e847ae7">AREPORTING_MODE_SPECIAL_TRIGGER</a> = 3
- }</td></tr>
-<tr class="separator:ga5d76b81b0ad4c19007a781d4edb8181f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gaa438fdaf34783a89d139f0a56d2692cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaa438fdaf34783a89d139f0a56d2692cd">ASensorManager_getInstance</a> ()</td></tr>
-<tr class="separator:gaa438fdaf34783a89d139f0a56d2692cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga645be938627498ab2b60d94c562204bd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga645be938627498ab2b60d94c562204bd">ASensorManager_getSensorList</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, <a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a> *list)</td></tr>
-<tr class="separator:ga645be938627498ab2b60d94c562204bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf4880d87e01f5e2d4a9b8403e4047445"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaf4880d87e01f5e2d4a9b8403e4047445">ASensorManager_getDefaultSensor</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, int type)</td></tr>
-<tr class="separator:gaf4880d87e01f5e2d4a9b8403e4047445"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4313457c0e82f4afa77ef13860629633"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga4313457c0e82f4afa77ef13860629633">ASensorManager_getDefaultSensorEx</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, int type, bool wakeUp)</td></tr>
-<tr class="separator:ga4313457c0e82f4afa77ef13860629633"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac46f8b28bcc7a846dea9d841cab0a67b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gac46f8b28bcc7a846dea9d841cab0a67b">ASensorManager_createEventQueue</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper, int ident, <a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a> callback, void *data)</td></tr>
-<tr class="separator:gac46f8b28bcc7a846dea9d841cab0a67b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf35624037785cdea1e7fe9e0a73fc5e1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaf35624037785cdea1e7fe9e0a73fc5e1">ASensorManager_destroyEventQueue</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue)</td></tr>
-<tr class="separator:gaf35624037785cdea1e7fe9e0a73fc5e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga48a8379cf9de9b09a71a00f8a3699499"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga48a8379cf9de9b09a71a00f8a3699499">ASensorEventQueue_enableSensor</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue, <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga48a8379cf9de9b09a71a00f8a3699499"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga03852b813887ec236a34c4aef0df4b68"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga03852b813887ec236a34c4aef0df4b68">ASensorEventQueue_disableSensor</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue, <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga03852b813887ec236a34c4aef0df4b68"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa6e89b6d69dc3e07f2d7e72e81ec7937"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaa6e89b6d69dc3e07f2d7e72e81ec7937">ASensorEventQueue_setEventRate</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue, <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor, int32_t usec)</td></tr>
-<tr class="separator:gaa6e89b6d69dc3e07f2d7e72e81ec7937"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga79c9d6264fe81d4e30800f826db72913"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga79c9d6264fe81d4e30800f826db72913">ASensorEventQueue_hasEvents</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue)</td></tr>
-<tr class="separator:ga79c9d6264fe81d4e30800f826db72913"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab3d4354fd0d3ceb5fa97c129b024a18a"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gab3d4354fd0d3ceb5fa97c129b024a18a">ASensorEventQueue_getEvents</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue, <a class="el" href="struct_a_sensor_event.html">ASensorEvent</a> *events, size_t count)</td></tr>
-<tr class="separator:gab3d4354fd0d3ceb5fa97c129b024a18a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga52f4b22990c70df0784b9ccf23314fae"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga52f4b22990c70df0784b9ccf23314fae">ASensor_getName</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga52f4b22990c70df0784b9ccf23314fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafaf467fc71f7adba537a90f166e3320d"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gafaf467fc71f7adba537a90f166e3320d">ASensor_getVendor</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gafaf467fc71f7adba537a90f166e3320d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga93962747ab3c7d2b609f97af26fc0230"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga93962747ab3c7d2b609f97af26fc0230">ASensor_getType</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga93962747ab3c7d2b609f97af26fc0230"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga3da2930dd866cf1f76da6bc39e578a46"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga3da2930dd866cf1f76da6bc39e578a46">ASensor_getResolution</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga3da2930dd866cf1f76da6bc39e578a46"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gacb6e021757c07344b58742611eaf68e7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gacb6e021757c07344b58742611eaf68e7">ASensor_getMinDelay</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gacb6e021757c07344b58742611eaf68e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae9969580eda319926a677a6937c7afb1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gae9969580eda319926a677a6937c7afb1">ASensor_getFifoMaxEventCount</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gae9969580eda319926a677a6937c7afb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaec7084c6a9d4d85f87c95a70511c5f53"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaec7084c6a9d4d85f87c95a70511c5f53">ASensor_getFifoReservedEventCount</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gaec7084c6a9d4d85f87c95a70511c5f53"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabee3eb65390fc75a639c59d653af3591"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gabee3eb65390fc75a639c59d653af3591">ASensor_getStringType</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gabee3eb65390fc75a639c59d653af3591"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga99e56b84cf421788c27998da8eab7e39"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga99e56b84cf421788c27998da8eab7e39">ASensor_getReportingMode</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga99e56b84cf421788c27998da8eab7e39"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0ff4118e400bedac62be6b79e9e0f924"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga0ff4118e400bedac62be6b79e9e0f924">ASensor_isWakeUpSensor</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga0ff4118e400bedac62be6b79e9e0f924"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Macro Definition Documentation</h2>
-<a class="anchor" id="gaf8b57b13c6432bc6136aac0ad3813d63"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define ASENSOR_MAGNETIC_FIELD_EARTH_MAX&#160;&#160;&#160;(60.0f)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Maximum magnetic field on Earth's surface in uT </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4423a712e27b6d5a57d138796892886d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define ASENSOR_MAGNETIC_FIELD_EARTH_MIN&#160;&#160;&#160;(30.0f)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Minimum magnetic field on Earth's surface in uT </p>
-
-</div>
-</div>
-<a class="anchor" id="ga5129cb9e4091fc3474e246d5f950e52b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define ASENSOR_STANDARD_GRAVITY&#160;&#160;&#160;(9.80665f)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Earth's gravity in m/s^2 </p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="gae85b6eac76abe74e6e53d78bb3a4858c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a>  <a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ga0378daec23b2d8a70438ef7c3912475f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a>  <a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ga93b28b7ce5e9b6d2ebc5b574cd5f4710"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> is an opaque type that provides information about an hardware sensors.</p>
-<p>A <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> pointer can be obtained using <a class="el" href="group___sensor.html#gaf4880d87e01f5e2d4a9b8403e4047445">ASensorManager_getDefaultSensor()</a>, <a class="el" href="group___sensor.html#ga4313457c0e82f4afa77ef13860629633">ASensorManager_getDefaultSensorEx()</a> or from a <a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a>.</p>
-<p>This file provides a set of functions to access properties of a <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a>:</p>
-<ul>
-<li><a class="el" href="group___sensor.html#ga52f4b22990c70df0784b9ccf23314fae">ASensor_getName()</a></li>
-<li><a class="el" href="group___sensor.html#gafaf467fc71f7adba537a90f166e3320d">ASensor_getVendor()</a></li>
-<li><a class="el" href="group___sensor.html#ga93962747ab3c7d2b609f97af26fc0230">ASensor_getType()</a></li>
-<li><a class="el" href="group___sensor.html#ga3da2930dd866cf1f76da6bc39e578a46">ASensor_getResolution()</a></li>
-<li><a class="el" href="group___sensor.html#gacb6e021757c07344b58742611eaf68e7">ASensor_getMinDelay()</a></li>
-<li><a class="el" href="group___sensor.html#gae9969580eda319926a677a6937c7afb1">ASensor_getFifoMaxEventCount()</a></li>
-<li><a class="el" href="group___sensor.html#gaec7084c6a9d4d85f87c95a70511c5f53">ASensor_getFifoReservedEventCount()</a></li>
-<li><a class="el" href="group___sensor.html#gabee3eb65390fc75a639c59d653af3591">ASensor_getStringType()</a></li>
-<li><a class="el" href="group___sensor.html#ga99e56b84cf421788c27998da8eab7e39">ASensor_getReportingMode()</a></li>
-<li><a class="el" href="group___sensor.html#ga0ff4118e400bedac62be6b79e9e0f924">ASensor_isWakeUpSensor()</a> </li>
-</ul>
-
-</div>
-</div>
-<a class="anchor" id="ga6bb167c45f0ef0a94d8f178d227e781f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_sensor_event.html">ASensorEvent</a>  <a class="el" href="struct_a_sensor_event.html">ASensorEvent</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="gaa9448106d6d463f4cc5dded7c914e7ae"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> is an opaque type that provides access to <a class="el" href="struct_a_sensor_event.html">ASensorEvent</a> from hardware sensors.</p>
-<p>A new <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> can be obtained using <a class="el" href="group___sensor.html#gac46f8b28bcc7a846dea9d841cab0a67b">ASensorManager_createEventQueue()</a>.</p>
-<p>This file provides a set of functions to enable and disable sensors, check and get events, and set event rates on a <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a>.</p>
-<ul>
-<li><a class="el" href="group___sensor.html#ga48a8379cf9de9b09a71a00f8a3699499">ASensorEventQueue_enableSensor()</a></li>
-<li><a class="el" href="group___sensor.html#ga03852b813887ec236a34c4aef0df4b68">ASensorEventQueue_disableSensor()</a></li>
-<li><a class="el" href="group___sensor.html#ga79c9d6264fe81d4e30800f826db72913">ASensorEventQueue_hasEvents()</a></li>
-<li><a class="el" href="group___sensor.html#gab3d4354fd0d3ceb5fa97c129b024a18a">ASensorEventQueue_getEvents()</a></li>
-<li><a class="el" href="group___sensor.html#gaa6e89b6d69dc3e07f2d7e72e81ec7937">ASensorEventQueue_setEventRate()</a> </li>
-</ul>
-
-</div>
-</div>
-<a class="anchor" id="ga26ff51817e8b320a631b3bf4ed378d58"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">ASensorRef</a> const* <a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a> is an array of reference to <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a>.</p>
-<p>A <a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a> can be initialized using <a class="el" href="group___sensor.html#ga645be938627498ab2b60d94c562204bd">ASensorManager_getSensorList()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaef620baab9b276ab8f914ae77babc349"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> <a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> is an opaque type to manage sensors and events queues.</p>
-<p><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> is a singleton that can be obtained using <a class="el" href="group___sensor.html#gaa438fdaf34783a89d139f0a56d2692cd">ASensorManager_getInstance()</a>.</p>
-<p>This file provides a set of functions that uses <a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> to access and list hardware sensors, and create and destroy event queues:</p>
-<ul>
-<li><a class="el" href="group___sensor.html#ga645be938627498ab2b60d94c562204bd">ASensorManager_getSensorList()</a></li>
-<li><a class="el" href="group___sensor.html#gaf4880d87e01f5e2d4a9b8403e4047445">ASensorManager_getDefaultSensor()</a></li>
-<li><a class="el" href="group___sensor.html#ga4313457c0e82f4afa77ef13860629633">ASensorManager_getDefaultSensorEx()</a></li>
-<li><a class="el" href="group___sensor.html#gac46f8b28bcc7a846dea9d841cab0a67b">ASensorManager_createEventQueue()</a></li>
-<li><a class="el" href="group___sensor.html#gaf35624037785cdea1e7fe9e0a73fc5e1">ASensorManager_destroyEventQueue()</a> </li>
-</ul>
-
-</div>
-</div>
-<a class="anchor" id="gafec8dd682458c750a5f0f913a0f162ce"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const* <a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">ASensorRef</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">ASensorRef</a> is a type for constant pointers to <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a>.</p>
-<p>This is used to define entry in <a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a> arrays. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga207e807f9e18271f6a763e57232b409f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_sensor_vector.html">ASensorVector</a>  <a class="el" href="struct_a_sensor_vector.html">ASensorVector</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>A sensor event. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga24acc545b908dd24cadc44c5e0760b3b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a>  <a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="ga7ff5f2dff38e7639981794c43dc9167b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Structures and functions to receive and process sensor events in native code. Sensor types. (keep in sync with hardware/sensor.h) </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga7ff5f2dff38e7639981794c43dc9167bad72017f34c12971593a8cb14f4f254df"></a>ASENSOR_TYPE_ACCELEROMETER</em>&#160;</td><td class="fielddoc">
-<p><a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167bad72017f34c12971593a8cb14f4f254df">ASENSOR_TYPE_ACCELEROMETER</a> reporting-mode: continuous</p>
-<p>All values are in SI units (m/s^2) and measure the acceleration of the device minus the force of gravity. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga7ff5f2dff38e7639981794c43dc9167ba3b31509a3efebafb413e78f5ec9ae0e8"></a>ASENSOR_TYPE_MAGNETIC_FIELD</em>&#160;</td><td class="fielddoc">
-<p><a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba3b31509a3efebafb413e78f5ec9ae0e8">ASENSOR_TYPE_MAGNETIC_FIELD</a> reporting-mode: continuous</p>
-<p>All values are in micro-Tesla (uT) and measure the geomagnetic field in the X, Y and Z axis. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga7ff5f2dff38e7639981794c43dc9167ba80e9827f6c3ded009f354dc7078a2c68"></a>ASENSOR_TYPE_GYROSCOPE</em>&#160;</td><td class="fielddoc">
-<p><a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba80e9827f6c3ded009f354dc7078a2c68">ASENSOR_TYPE_GYROSCOPE</a> reporting-mode: continuous</p>
-<p>All values are in radians/second and measure the rate of rotation around the X, Y and Z axis. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga7ff5f2dff38e7639981794c43dc9167ba105331b6dea6f08e0d8fe3b736f8c174"></a>ASENSOR_TYPE_LIGHT</em>&#160;</td><td class="fielddoc">
-<p><a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba105331b6dea6f08e0d8fe3b736f8c174">ASENSOR_TYPE_LIGHT</a> reporting-mode: on-change</p>
-<p>The light sensor value is returned in SI lux units. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga7ff5f2dff38e7639981794c43dc9167ba0c6a2e526ed2e4442b3843976f906932"></a>ASENSOR_TYPE_PROXIMITY</em>&#160;</td><td class="fielddoc">
-<p><a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba0c6a2e526ed2e4442b3843976f906932">ASENSOR_TYPE_PROXIMITY</a> reporting-mode: on-change</p>
-<p>The proximity sensor which turns the screen off and back on during calls is the wake-up proximity sensor. Implement wake-up proximity sensor before implementing a non wake-up proximity sensor. For the wake-up proximity sensor set the flag SENSOR_FLAG_WAKE_UP. The value corresponds to the distance to the nearest object in centimeters. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gaabfcbcb5ac86a1edac4035264bc7d2b8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Sensor accuracy measure. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaabfcbcb5ac86a1edac4035264bc7d2b8ae5d0475bd9491c4232a09afc81fa283d"></a>ASENSOR_STATUS_NO_CONTACT</em>&#160;</td><td class="fielddoc">
-<p>no contact </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaabfcbcb5ac86a1edac4035264bc7d2b8ae8e43df50b7b85ed54f22c40f2cd748e"></a>ASENSOR_STATUS_UNRELIABLE</em>&#160;</td><td class="fielddoc">
-<p>unreliable </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaabfcbcb5ac86a1edac4035264bc7d2b8a5f306f3d45a19573539462e4c813edc0"></a>ASENSOR_STATUS_ACCURACY_LOW</em>&#160;</td><td class="fielddoc">
-<p>low accuracy </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaabfcbcb5ac86a1edac4035264bc7d2b8ad7e9379a4f36a42f2659cd7aec214f2d"></a>ASENSOR_STATUS_ACCURACY_MEDIUM</em>&#160;</td><td class="fielddoc">
-<p>medium accuracy </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggaabfcbcb5ac86a1edac4035264bc7d2b8a2df5fb4e8b684e6a801a4aff9f50ba13"></a>ASENSOR_STATUS_ACCURACY_HIGH</em>&#160;</td><td class="fielddoc">
-<p>high accuracy </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="ga5d76b81b0ad4c19007a781d4edb8181f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Sensor Reporting Modes. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga5d76b81b0ad4c19007a781d4edb8181fa8a64337fcb7e338d487dc3edc873df1c"></a>AREPORTING_MODE_CONTINUOUS</em>&#160;</td><td class="fielddoc">
-<p>continuous reporting </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga5d76b81b0ad4c19007a781d4edb8181fa8542165ae195bf5784cdd9ba66bd2ab5"></a>AREPORTING_MODE_ON_CHANGE</em>&#160;</td><td class="fielddoc">
-<p>reporting on change </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga5d76b81b0ad4c19007a781d4edb8181fa002273a1ab874159a38a7e3f6bb6a7bb"></a>AREPORTING_MODE_ONE_SHOT</em>&#160;</td><td class="fielddoc">
-<p>on shot reporting </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="gga5d76b81b0ad4c19007a781d4edb8181faa2d29656b35889c4c23318982e847ae7"></a>AREPORTING_MODE_SPECIAL_TRIGGER</em>&#160;</td><td class="fielddoc">
-<p>special trigger reporting </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="gae9969580eda319926a677a6937c7afb1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensor_getFifoMaxEventCount </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the maximum size of batches for this sensor. Batches will often be smaller, as the hardware fifo might be used for other sensors. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaec7084c6a9d4d85f87c95a70511c5f53"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensor_getFifoReservedEventCount </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the hardware batch fifo size reserved to this sensor. </p>
-
-</div>
-</div>
-<a class="anchor" id="gacb6e021757c07344b58742611eaf68e7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensor_getMinDelay </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the minimum delay allowed between events in microseconds. A value of zero means that this sensor doesn't report events at a constant rate, but rather only when a new data is available. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga52f4b22990c70df0784b9ccf23314fae"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* ASensor_getName </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns this sensor's name (non localized) </p>
-
-</div>
-</div>
-<a class="anchor" id="ga99e56b84cf421788c27998da8eab7e39"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensor_getReportingMode </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the reporting mode for this sensor. One of AREPORTING_MODE_* constants. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga3da2930dd866cf1f76da6bc39e578a46"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float ASensor_getResolution </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns this sensors's resolution </p>
-
-</div>
-</div>
-<a class="anchor" id="gabee3eb65390fc75a639c59d653af3591"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* ASensor_getStringType </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns this sensor's string type. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga93962747ab3c7d2b609f97af26fc0230"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensor_getType </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Return this sensor's type </p>
-
-</div>
-</div>
-<a class="anchor" id="gafaf467fc71f7adba537a90f166e3320d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* ASensor_getVendor </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns this sensor's vendor's name (non localized) </p>
-
-</div>
-</div>
-<a class="anchor" id="ga0ff4118e400bedac62be6b79e9e0f924"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ASensor_isWakeUpSensor </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns true if this is a wake up sensor, false otherwise. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga03852b813887ec236a34c4aef0df4b68"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensorEventQueue_disableSensor </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Disable the selected sensor. Returns a negative error code on failure. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga48a8379cf9de9b09a71a00f8a3699499"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensorEventQueue_enableSensor </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Enable the selected sensor. Returns a negative error code on failure. </p>
-
-</div>
-</div>
-<a class="anchor" id="gab3d4354fd0d3ceb5fa97c129b024a18a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ssize_t ASensorEventQueue_getEvents </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="struct_a_sensor_event.html">ASensorEvent</a> *&#160;</td>
-          <td class="paramname"><em>events</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t&#160;</td>
-          <td class="paramname"><em>count</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the next available events from the queue. Returns a negative value if no events are available or an error has occurred, otherwise the number of events returned.</p>
-<p>Examples: <a class="el" href="struct_a_sensor_event.html">ASensorEvent</a> event; ssize_t numEvent = ASensorEventQueue_getEvents(queue, &amp;event, 1);</p>
-<p><a class="el" href="struct_a_sensor_event.html">ASensorEvent</a> eventBuffer[8]; ssize_t numEvent = ASensorEventQueue_getEvents(queue, eventBuffer, 8); </p>
-
-</div>
-</div>
-<a class="anchor" id="ga79c9d6264fe81d4e30800f826db72913"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensorEventQueue_hasEvents </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns true if there are one or more events available in the sensor queue. Returns 1 if the queue has events; 0 if it does not have events; and a negative value if there is an error. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaa6e89b6d69dc3e07f2d7e72e81ec7937"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensorEventQueue_setEventRate </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td>
-          <td class="paramname"><em>sensor</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int32_t&#160;</td>
-          <td class="paramname"><em>usec</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Sets the delivery rate of events in microseconds for the given sensor. Note that this is a hint only, generally event will arrive at a higher rate. It is an error to set a rate inferior to the value returned by <a class="el" href="group___sensor.html#gacb6e021757c07344b58742611eaf68e7">ASensor_getMinDelay()</a>. Returns a negative error code on failure. </p>
-
-</div>
-</div>
-<a class="anchor" id="gac46f8b28bcc7a846dea9d841cab0a67b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a>* ASensorManager_createEventQueue </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *&#160;</td>
-          <td class="paramname"><em>manager</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td>
-          <td class="paramname"><em>looper</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>ident</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a>&#160;</td>
-          <td class="paramname"><em>callback</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>data</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Creates a new sensor event queue and associate it with a looper.</p>
-<p>"ident" is a identifier for the events that will be returned when calling <a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce()</a>. The identifier must be &gt;= 0, or ALOOPER_POLL_CALLBACK if providing a non-NULL callback. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaf35624037785cdea1e7fe9e0a73fc5e1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensorManager_destroyEventQueue </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *&#160;</td>
-          <td class="paramname"><em>manager</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *&#160;</td>
-          <td class="paramname"><em>queue</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Destroys the event queue and free all resources associated to it. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaf4880d87e01f5e2d4a9b8403e4047445"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const* ASensorManager_getDefaultSensor </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *&#160;</td>
-          <td class="paramname"><em>manager</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>type</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the default sensor for the given type, or NULL if no sensor of that type exists. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4313457c0e82f4afa77ef13860629633"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const* ASensorManager_getDefaultSensorEx </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *&#160;</td>
-          <td class="paramname"><em>manager</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>type</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&#160;</td>
-          <td class="paramname"><em>wakeUp</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the default sensor with the given type and wakeUp properties or NULL if no sensor of this type and wakeUp properties exists. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaa438fdaf34783a89d139f0a56d2692cd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a>* ASensorManager_getInstance </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get a reference to the sensor manager. ASensorManager is a singleton.</p>
-<p>Example: </p>
-<pre class="fragment">ASensorManager* sensorManager = ASensorManager_getInstance();</pre> 
-</div>
-</div>
-<a class="anchor" id="ga645be938627498ab2b60d94c562204bd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ASensorManager_getSensorList </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *&#160;</td>
-          <td class="paramname"><em>manager</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a> *&#160;</td>
-          <td class="paramname"><em>list</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Returns the list of available sensors. </p>
-
-</div>
-</div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/group___storage.jd b/docs/html/ndk/reference/group___storage.jd
deleted file mode 100644
index e29303a..0000000
--- a/docs/html/ndk/reference/group___storage.jd
+++ /dev/null
@@ -1,450 +0,0 @@
-page.title=Storage
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#files">Files</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">Storage</div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
-Files</h2></td></tr>
-<tr class="memitem:obb_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="obb_8h.html">obb.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:storage__manager_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage__manager_8h.html">storage_manager.h</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:gaa5037fe4c0d785a50fc62ac2de9844c3"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a></td></tr>
-<tr class="separator:gaa5037fe4c0d785a50fc62ac2de9844c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga419f40803228bca62e32beb911ab28e2"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a></td></tr>
-<tr class="separator:ga419f40803228bca62e32beb911ab28e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf077d06586fa4c0212baa2fe458b9617"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc</a> )(const char *filename, const int32_t state, void *data)</td></tr>
-<tr class="separator:gaf077d06586fa4c0212baa2fe458b9617"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gae4d5251432e1a9e6803c0240cc492e18"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___storage.html#ggae4d5251432e1a9e6803c0240cc492e18a33e2ae83b4c25d33a4335dccf1de1c3a">AOBBINFO_OVERLAY</a> = 0x0001
- }</td></tr>
-<tr class="separator:gae4d5251432e1a9e6803c0240cc492e18"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae8a3b6a5d0d3244ed73924ab2421a0d0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2a9c420e6008c108a7198fd861c042d5">AOBB_STATE_MOUNTED</a> = 1, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a6710bb5b68cfc115eedcde2aafd8a667">AOBB_STATE_UNMOUNTED</a> = 2, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a50642881107d6673aace1494a5d6fce2">AOBB_STATE_ERROR_INTERNAL</a> = 20, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a324da2b8fea5875339d442d1f2d0b45b">AOBB_STATE_ERROR_COULD_NOT_MOUNT</a> = 21, 
-<br/>
-&#160;&#160;<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a1f2b51b53fc57b57a9967f6ce0c88dbe">AOBB_STATE_ERROR_COULD_NOT_UNMOUNT</a> = 22, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a3ce8539aa8b531c9de1d16041322d7a8">AOBB_STATE_ERROR_NOT_MOUNTED</a> = 23, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a8b074af151167a965a550b9829fafb37">AOBB_STATE_ERROR_ALREADY_MOUNTED</a> = 24, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2467a4b6a634680e12c288a7790ff66c">AOBB_STATE_ERROR_PERMISSION_DENIED</a> = 25
-<br/>
- }</td></tr>
-<tr class="separator:gae8a3b6a5d0d3244ed73924ab2421a0d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga7beb4f82e3bf9a4b8197917f92ac4d5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga7beb4f82e3bf9a4b8197917f92ac4d5e">AObbScanner_getObbInfo</a> (const char *filename)</td></tr>
-<tr class="separator:ga7beb4f82e3bf9a4b8197917f92ac4d5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaec5a4428008f545e829486099298031a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gaec5a4428008f545e829486099298031a">AObbInfo_delete</a> (<a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *obbInfo)</td></tr>
-<tr class="separator:gaec5a4428008f545e829486099298031a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1ec7eee61541fa5a9b578801a35b9cf3"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga1ec7eee61541fa5a9b578801a35b9cf3">AObbInfo_getPackageName</a> (<a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *obbInfo)</td></tr>
-<tr class="separator:ga1ec7eee61541fa5a9b578801a35b9cf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gacd8471c6d866cffe4a32f3b5997c782c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gacd8471c6d866cffe4a32f3b5997c782c">AObbInfo_getVersion</a> (<a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *obbInfo)</td></tr>
-<tr class="separator:gacd8471c6d866cffe4a32f3b5997c782c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga68d916570c756da9fd0d9096358300eb"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga68d916570c756da9fd0d9096358300eb">AObbInfo_getFlags</a> (<a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *obbInfo)</td></tr>
-<tr class="separator:ga68d916570c756da9fd0d9096358300eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1c21ed9e0848fcfc03547c95eeb48877"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga1c21ed9e0848fcfc03547c95eeb48877">AStorageManager_new</a> ()</td></tr>
-<tr class="separator:ga1c21ed9e0848fcfc03547c95eeb48877"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga184c06dd9cec0f21db138167d6b331ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga184c06dd9cec0f21db138167d6b331ed">AStorageManager_delete</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr)</td></tr>
-<tr class="separator:ga184c06dd9cec0f21db138167d6b331ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga61bebaf43e57b4b7f57e7a24a62e9e3d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga61bebaf43e57b4b7f57e7a24a62e9e3d">AStorageManager_mountObb</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr, const char *filename, const char *key, <a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc</a> cb, void *data)</td></tr>
-<tr class="separator:ga61bebaf43e57b4b7f57e7a24a62e9e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4c32c8d2c780016fa36097d833b57809"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga4c32c8d2c780016fa36097d833b57809">AStorageManager_unmountObb</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr, const char *filename, const int force, <a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc</a> cb, void *data)</td></tr>
-<tr class="separator:ga4c32c8d2c780016fa36097d833b57809"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7572f2c650fc16cce1b0ab94e913a1ba"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga7572f2c650fc16cce1b0ab94e913a1ba">AStorageManager_isObbMounted</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr, const char *filename)</td></tr>
-<tr class="separator:ga7572f2c650fc16cce1b0ab94e913a1ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad5c90305d627e0c768da37cb3e9f08c4"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gad5c90305d627e0c768da37cb3e9f08c4">AStorageManager_getMountedObbPath</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr, const char *filename)</td></tr>
-<tr class="separator:gad5c90305d627e0c768da37cb3e9f08c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a class="anchor" id="gaa5037fe4c0d785a50fc62ac2de9844c3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> <a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> is an opaque type representing information for obb storage. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga419f40803228bca62e32beb911ab28e2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef struct <a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> <a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> manages application OBB storage, a pointer can be obtained with <a class="el" href="group___storage.html#ga1c21ed9e0848fcfc03547c95eeb48877">AStorageManager_new()</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="gaf077d06586fa4c0212baa2fe458b9617"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef void(* AStorageManager_obbCallbackFunc)(const char *filename, const int32_t state, void *data)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Callback function for asynchronous calls made on OBB files.</p>
-<p>"state" is one of the following constants:</p>
-<ul>
-<li><a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2a9c420e6008c108a7198fd861c042d5">AOBB_STATE_MOUNTED</a></li>
-<li><a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a6710bb5b68cfc115eedcde2aafd8a667">AOBB_STATE_UNMOUNTED</a></li>
-<li><a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a50642881107d6673aace1494a5d6fce2">AOBB_STATE_ERROR_INTERNAL</a></li>
-<li><a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a324da2b8fea5875339d442d1f2d0b45b">AOBB_STATE_ERROR_COULD_NOT_MOUNT</a></li>
-<li><a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a1f2b51b53fc57b57a9967f6ce0c88dbe">AOBB_STATE_ERROR_COULD_NOT_UNMOUNT</a></li>
-<li><a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a3ce8539aa8b531c9de1d16041322d7a8">AOBB_STATE_ERROR_NOT_MOUNTED</a></li>
-<li><a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a8b074af151167a965a550b9829fafb37">AOBB_STATE_ERROR_ALREADY_MOUNTED</a></li>
-<li><a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2467a4b6a634680e12c288a7790ff66c">AOBB_STATE_ERROR_PERMISSION_DENIED</a> </li>
-</ul>
-
-</div>
-</div>
-<h2 class="groupheader">Enumeration Type Documentation</h2>
-<a class="anchor" id="gae4d5251432e1a9e6803c0240cc492e18"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Flag for an obb file, returned by <a class="el" href="group___storage.html#ga68d916570c756da9fd0d9096358300eb">AObbInfo_getFlags()</a>. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggae4d5251432e1a9e6803c0240cc492e18a33e2ae83b4c25d33a4335dccf1de1c3a"></a>AOBBINFO_OVERLAY</em>&#160;</td><td class="fielddoc">
-<p>overlay </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<a class="anchor" id="gae8a3b6a5d0d3244ed73924ab2421a0d0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">anonymous enum</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The different states of a OBB storage passed to <a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc()</a>. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggae8a3b6a5d0d3244ed73924ab2421a0d0a2a9c420e6008c108a7198fd861c042d5"></a>AOBB_STATE_MOUNTED</em>&#160;</td><td class="fielddoc">
-<p>The OBB container is now mounted and ready for use. Can be returned as the status for callbacks made during asynchronous OBB actions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggae8a3b6a5d0d3244ed73924ab2421a0d0a6710bb5b68cfc115eedcde2aafd8a667"></a>AOBB_STATE_UNMOUNTED</em>&#160;</td><td class="fielddoc">
-<p>The OBB container is now unmounted and not usable. Can be returned as the status for callbacks made during asynchronous OBB actions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggae8a3b6a5d0d3244ed73924ab2421a0d0a50642881107d6673aace1494a5d6fce2"></a>AOBB_STATE_ERROR_INTERNAL</em>&#160;</td><td class="fielddoc">
-<p>There was an internal system error encountered while trying to mount the OBB. Can be returned as the status for callbacks made during asynchronous OBB actions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggae8a3b6a5d0d3244ed73924ab2421a0d0a324da2b8fea5875339d442d1f2d0b45b"></a>AOBB_STATE_ERROR_COULD_NOT_MOUNT</em>&#160;</td><td class="fielddoc">
-<p>The OBB could not be mounted by the system. Can be returned as the status for callbacks made during asynchronous OBB actions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggae8a3b6a5d0d3244ed73924ab2421a0d0a1f2b51b53fc57b57a9967f6ce0c88dbe"></a>AOBB_STATE_ERROR_COULD_NOT_UNMOUNT</em>&#160;</td><td class="fielddoc">
-<p>The OBB could not be unmounted. This most likely indicates that a file is in use on the OBB. Can be returned as the status for callbacks made during asynchronous OBB actions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggae8a3b6a5d0d3244ed73924ab2421a0d0a3ce8539aa8b531c9de1d16041322d7a8"></a>AOBB_STATE_ERROR_NOT_MOUNTED</em>&#160;</td><td class="fielddoc">
-<p>A call was made to unmount the OBB when it was not mounted. Can be returned as the status for callbacks made during asynchronous OBB actions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggae8a3b6a5d0d3244ed73924ab2421a0d0a8b074af151167a965a550b9829fafb37"></a>AOBB_STATE_ERROR_ALREADY_MOUNTED</em>&#160;</td><td class="fielddoc">
-<p>The OBB has already been mounted. Can be returned as the status for callbacks made during asynchronous OBB actions. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="ggae8a3b6a5d0d3244ed73924ab2421a0d0a2467a4b6a634680e12c288a7790ff66c"></a>AOBB_STATE_ERROR_PERMISSION_DENIED</em>&#160;</td><td class="fielddoc">
-<p>The current application does not have permission to use this OBB. This could be because the OBB indicates it's owned by a different package. Can be returned as the status for callbacks made during asynchronous OBB actions. </p>
-</td></tr>
-</table>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="gaec5a4428008f545e829486099298031a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AObbInfo_delete </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *&#160;</td>
-          <td class="paramname"><em>obbInfo</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Destroy the AObbInfo object. You must call this when finished with the object. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga68d916570c756da9fd0d9096358300eb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AObbInfo_getFlags </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *&#160;</td>
-          <td class="paramname"><em>obbInfo</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the flags of an OBB file. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1ec7eee61541fa5a9b578801a35b9cf3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* AObbInfo_getPackageName </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *&#160;</td>
-          <td class="paramname"><em>obbInfo</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the package name for the OBB. </p>
-
-</div>
-</div>
-<a class="anchor" id="gacd8471c6d866cffe4a32f3b5997c782c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t AObbInfo_getVersion </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *&#160;</td>
-          <td class="paramname"><em>obbInfo</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the version of an OBB file. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7beb4f82e3bf9a4b8197917f92ac4d5e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a>* AObbScanner_getObbInfo </td>
-          <td>(</td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>filename</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Scan an OBB and get information about it. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga184c06dd9cec0f21db138167d6b331ed"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AStorageManager_delete </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *&#160;</td>
-          <td class="paramname"><em>mgr</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Release AStorageManager instance. </p>
-
-</div>
-</div>
-<a class="anchor" id="gad5c90305d627e0c768da37cb3e9f08c4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* AStorageManager_getMountedObbPath </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *&#160;</td>
-          <td class="paramname"><em>mgr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>filename</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Get the mounted path for an OBB. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga7572f2c650fc16cce1b0ab94e913a1ba"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int AStorageManager_isObbMounted </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *&#160;</td>
-          <td class="paramname"><em>mgr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>filename</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Check whether an OBB is mounted. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga61bebaf43e57b4b7f57e7a24a62e9e3d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AStorageManager_mountObb </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *&#160;</td>
-          <td class="paramname"><em>mgr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>filename</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc</a>&#160;</td>
-          <td class="paramname"><em>cb</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>data</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Attempts to mount an OBB file. This is an asynchronous operation. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga1c21ed9e0848fcfc03547c95eeb48877"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a>* AStorageManager_new </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Obtains a new instance of AStorageManager. </p>
-
-</div>
-</div>
-<a class="anchor" id="ga4c32c8d2c780016fa36097d833b57809"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void AStorageManager_unmountObb </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *&#160;</td>
-          <td class="paramname"><em>mgr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>filename</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const int&#160;</td>
-          <td class="paramname"><em>force</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc</a>&#160;</td>
-          <td class="paramname"><em>cb</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void *&#160;</td>
-          <td class="paramname"><em>data</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Attempts to unmount an OBB file. This is an asynchronous operation. </p>
-
-</div>
-</div>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/index.jd b/docs/html/ndk/reference/index.jd
deleted file mode 100644
index 94bcb7a..0000000
--- a/docs/html/ndk/reference/index.jd
+++ /dev/null
@@ -1,17 +0,0 @@
-page.title=API Reference
-@jd:body
-
-<p>The API reference for the NDK includes documentation for the base set of
-native headers that the NDK provides for Android. These headers, and their associated libraries,
-expose a variety of features otherwise only accessible via the Android framework.
-A few of these features are as follows:</p>
-
-<ul>
-   <li>Using hardware sensors.</li>
-   <li>Accessing storage.</li>
-   <li>Handling user input.</li>
-   <li>Setting configuration information, such as screen orientation.</li>
-</ul>
-
-<p>The API reference provides detailed information on these and other functionalities provided
-in the NDK.</p>
diff --git a/docs/html/ndk/reference/input_8h.jd b/docs/html/ndk/reference/input_8h.jd
deleted file mode 100644
index 855a346..0000000
--- a/docs/html/ndk/reference/input_8h.jd
+++ /dev/null
@@ -1,374 +0,0 @@
-page.title=input.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">input.h File Reference<div class="ingroups"><a class="el" href="group___input.html">Input</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br/>
-<code>#include &lt;sys/types.h&gt;</code><br/>
-<code>#include &lt;<a class="el" href="keycodes_8h.html">android/keycodes.h</a>&gt;</code><br/>
-<code>#include &lt;<a class="el" href="looper_8h.html">android/looper.h</a>&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:gaeb170c0fbeeed1d999160566f09f169e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaeb170c0fbeeed1d999160566f09f169e">AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT</a>&#160;&#160;&#160;8</td></tr>
-<tr class="separator:gaeb170c0fbeeed1d999160566f09f169e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:gac35dbbc035371e799d8badabc981e8fa"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a></td></tr>
-<tr class="separator:gac35dbbc035371e799d8badabc981e8fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga21d8182651f4b61ae558560023e8339c"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a></td></tr>
-<tr class="separator:ga21d8182651f4b61ae558560023e8339c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gabc6126af1d45847bc59afa0aa3216b04"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04a9506627d5377c67dbc7fc58804b2cdfd">AKEY_STATE_UNKNOWN</a> = -1, 
-<a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04afa14022f587487c24d401c87e71c8e28">AKEY_STATE_UP</a> = 0, 
-<a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04a286ec0a7aff5903a982be0cd6785b62c">AKEY_STATE_DOWN</a> = 1, 
-<a class="el" href="group___input.html#ggabc6126af1d45847bc59afa0aa3216b04ad09fd9fe458ca6c66ead9b9a75c56192">AKEY_STATE_VIRTUAL</a> = 2
- }</td></tr>
-<tr class="separator:gabc6126af1d45847bc59afa0aa3216b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadc29c2ff13d900c2f185ee95427fb06c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cae0a3cb26517b3f876beb37594494526d">AMETA_NONE</a> = 0, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caba44b1077427e4da1d202e0c8f772881">AMETA_ALT_ON</a> = 0x02, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca256c74b768ecee57e3218e81ae6945df">AMETA_ALT_LEFT_ON</a> = 0x10, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca985db074c0f44749ca86b5cc0454056a">AMETA_ALT_RIGHT_ON</a> = 0x20, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caa3d5f49c3a55b653a94c798a2c93b197">AMETA_SHIFT_ON</a> = 0x01, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06caa01fa027cdd8951530437bcbe04c3ed7">AMETA_SHIFT_LEFT_ON</a> = 0x40, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cac52930581c339216218a6f50c5b57aa1">AMETA_SHIFT_RIGHT_ON</a> = 0x80, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca8af1e90950a728baca807a83e50b22ea">AMETA_SYM_ON</a> = 0x04, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca545b31b72b0454c22c170ff534ddfdf1">AMETA_FUNCTION_ON</a> = 0x08, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cabe927318a2a11a46be3e9d78dbd81ef5">AMETA_CTRL_ON</a> = 0x1000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca752c837afd5ff0fcf75ddee7b6808be6">AMETA_CTRL_LEFT_ON</a> = 0x2000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca0ab007e367ae136b873b3e6636747419">AMETA_CTRL_RIGHT_ON</a> = 0x4000, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca9c04e7c2ad1f0f41af60402188a29c4a">AMETA_META_ON</a> = 0x10000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca6f923de8f2cd72e3ad86149c0747906f">AMETA_META_LEFT_ON</a> = 0x20000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafdf56d1259ae16c97161c443d7949bdf">AMETA_META_RIGHT_ON</a> = 0x40000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafc467c98d509b0de28b298801a0c3e37">AMETA_CAPS_LOCK_ON</a> = 0x100000, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06ca15d234534a6870add5594f02b7333dc6">AMETA_NUM_LOCK_ON</a> = 0x200000, 
-<a class="el" href="group___input.html#ggadc29c2ff13d900c2f185ee95427fb06cafe8dacdc6566f655a3eab73ea4a9af5a">AMETA_SCROLL_LOCK_ON</a> = 0x400000
-<br/>
- }</td></tr>
-<tr class="separator:gadc29c2ff13d900c2f185ee95427fb06c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga61dadd085c1777f559549e05962b2c9e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#gga61dadd085c1777f559549e05962b2c9ea696f0d7635f7a24c17d3f1e4ccdd44ba">AINPUT_EVENT_TYPE_KEY</a> = 1, 
-<a class="el" href="group___input.html#gga61dadd085c1777f559549e05962b2c9ea2182dfda2cceb5425dcc2823b9b6b56a">AINPUT_EVENT_TYPE_MOTION</a> = 2
- }</td></tr>
-<tr class="separator:ga61dadd085c1777f559549e05962b2c9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga726ca809ffd3d67ab4b8476646f26635"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635a123c3bd18fd93b53d8aedbe7597f7b49">AKEY_EVENT_ACTION_DOWN</a> = 0, 
-<a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635abf18b7c5384c5de8657a0650f8da57c3">AKEY_EVENT_ACTION_UP</a> = 1, 
-<a class="el" href="group___input.html#gga726ca809ffd3d67ab4b8476646f26635a08e2d927e155478ee66ec46ebd845ab0">AKEY_EVENT_ACTION_MULTIPLE</a> = 2
- }</td></tr>
-<tr class="separator:ga726ca809ffd3d67ab4b8476646f26635"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0411cd49bb5b71852cecd93bcbf0ca2d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da6473a1afc0cc39e029c2a217bc57cdba">AKEY_EVENT_FLAG_WOKE_HERE</a> = 0x1, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da7dbb272c7b28be9c084df3446a629f32">AKEY_EVENT_FLAG_SOFT_KEYBOARD</a> = 0x2, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dadc0a063ca412b0ea08474df422bf9b41">AKEY_EVENT_FLAG_KEEP_TOUCH_MODE</a> = 0x4, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dae1e7ec188b2404fadd94cfba89afd5d6">AKEY_EVENT_FLAG_FROM_SYSTEM</a> = 0x8, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dab9dbcf990d1e4405e32f847fdea52013">AKEY_EVENT_FLAG_EDITOR_ACTION</a> = 0x10, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da3198fad5ab75df614bb41f0f602a9e55">AKEY_EVENT_FLAG_CANCELED</a> = 0x20, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2dad4b5eba5b14e4076c69bc7185f2804f8">AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY</a> = 0x40, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da39f9f7bdf2e256db0e2a8a5dfbfb7185">AKEY_EVENT_FLAG_LONG_PRESS</a> = 0x80, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2daf09856f03f2fffee9a82cb8e508efb7a">AKEY_EVENT_FLAG_CANCELED_LONG_PRESS</a> = 0x100, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da91e70ab527f27a1779f4550d457f1689">AKEY_EVENT_FLAG_TRACKING</a> = 0x200, 
-<a class="el" href="group___input.html#gga0411cd49bb5b71852cecd93bcbf0ca2da14f574126d2544863fa8042ddd0f48c0">AKEY_EVENT_FLAG_FALLBACK</a> = 0x400
-<br/>
- }</td></tr>
-<tr class="separator:ga0411cd49bb5b71852cecd93bcbf0ca2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabed82baf7f470b522273a3e37c24c600"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600abf84a22c84d4b7228102b80f3af92a4f">AMOTION_EVENT_ACTION_MASK</a> = 0xff, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a51384339fbb57c0087f7f50c45d9cff3">AMOTION_EVENT_ACTION_POINTER_INDEX_MASK</a> = 0xff00, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a225e61c48ba334abc1b5811db02edcf1">AMOTION_EVENT_ACTION_DOWN</a> = 0, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a43798b2b7a6de4616d150b2438b8419e">AMOTION_EVENT_ACTION_UP</a> = 1, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a41c56c4e772953fce60c93bc671639a3">AMOTION_EVENT_ACTION_MOVE</a> = 2, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a3952b960f5eb8c4f55b42741e286b74e">AMOTION_EVENT_ACTION_CANCEL</a> = 3, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a7c3c96b74af4c8304b8137ac6d201517">AMOTION_EVENT_ACTION_OUTSIDE</a> = 4, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a1618c641fd3f49fa7483f298d05b3cd2">AMOTION_EVENT_ACTION_POINTER_DOWN</a> = 5, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600af2ef56aa7220eeb2073b9b028737bc1e">AMOTION_EVENT_ACTION_POINTER_UP</a> = 6, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a84bc9fb3c01ff7ca9ee452a510e7de60">AMOTION_EVENT_ACTION_HOVER_MOVE</a> = 7, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a45ba62b1e6fab4e84d5782d7c35ced04">AMOTION_EVENT_ACTION_SCROLL</a> = 8, 
-<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a247b2c60ad92f3130ad43c907986ffb3">AMOTION_EVENT_ACTION_HOVER_ENTER</a> = 9, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600ac00b1eacfbea779863abf3fcf02134aa">AMOTION_EVENT_ACTION_HOVER_EXIT</a> = 10
-<br/>
- }</td></tr>
-<tr class="separator:gabed82baf7f470b522273a3e37c24c600"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab04a0655cd1e3bcac5e8f48c18df1a57"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#ggab04a0655cd1e3bcac5e8f48c18df1a57a200623e1e4eee7797cad30917d289d7a">AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED</a> = 0x1
- }</td></tr>
-<tr class="separator:gab04a0655cd1e3bcac5e8f48c18df1a57"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga385c44f6fb256e5716a2302a5b940388"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a37dd7496968e6defbecc3c8d6ab2734d">AMOTION_EVENT_EDGE_FLAG_NONE</a> = 0, 
-<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a915e1ade9b600d11a3c70a17a88de757">AMOTION_EVENT_EDGE_FLAG_TOP</a> = 0x01, 
-<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388ad8b662839787e1c7dd2616f32c02aaeb">AMOTION_EVENT_EDGE_FLAG_BOTTOM</a> = 0x02, 
-<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388afb70c13f16daade25ba8132a5ea3cf52">AMOTION_EVENT_EDGE_FLAG_LEFT</a> = 0x04, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga385c44f6fb256e5716a2302a5b940388a7d45674e03f1876a43d4810508905078">AMOTION_EVENT_EDGE_FLAG_RIGHT</a> = 0x08
-<br/>
- }</td></tr>
-<tr class="separator:ga385c44f6fb256e5716a2302a5b940388"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabc5c98fcc1211af2b80116dd6e0a035d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5f4b5b009634039a1f361048a5fc6064">AMOTION_EVENT_AXIS_X</a> = 0, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da64f7de8558265bd8179d206eb33eff6c">AMOTION_EVENT_AXIS_Y</a> = 1, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da3b4fd0f17cfdeb6a055babecd2b0ded8">AMOTION_EVENT_AXIS_PRESSURE</a> = 2, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da4baba3ccaec881089a864ba6deaf8bd6">AMOTION_EVENT_AXIS_SIZE</a> = 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da792b9e01044a2e43e7f80e5559db20c2">AMOTION_EVENT_AXIS_TOUCH_MAJOR</a> = 4, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa8b24b0f01f24898a36e5751c8eca63c">AMOTION_EVENT_AXIS_TOUCH_MINOR</a> = 5, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa273d64c392f86ae789fd5e24661ba0a">AMOTION_EVENT_AXIS_TOOL_MAJOR</a> = 6, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadebd200b37ffaf36b94e7e478c559142">AMOTION_EVENT_AXIS_TOOL_MINOR</a> = 7, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da114f2b3fc233ccf7a4470787c31457d2">AMOTION_EVENT_AXIS_ORIENTATION</a> = 8, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dad11be04b4b81715cad905ee9fa348e99">AMOTION_EVENT_AXIS_VSCROLL</a> = 9, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da92955e6b0f3f82af66a505c854e9edff">AMOTION_EVENT_AXIS_HSCROLL</a> = 10, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5a689e572da9bc5feafcb6c011368305">AMOTION_EVENT_AXIS_Z</a> = 11, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da689b612864177d6b57d4181442e3e38e">AMOTION_EVENT_AXIS_RX</a> = 12, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daa20188da209300e1f80f6f5bd4058e13">AMOTION_EVENT_AXIS_RY</a> = 13, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da381948b3321afd390ad164345eb9206b">AMOTION_EVENT_AXIS_RZ</a> = 14, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da04245c76cb9b32dcba920661f11ac9da">AMOTION_EVENT_AXIS_HAT_X</a> = 15, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da98c323321d908db459e7cf86a7e8a482">AMOTION_EVENT_AXIS_HAT_Y</a> = 16, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae4c65c3b1bd2946ff9e18c6041cdb591">AMOTION_EVENT_AXIS_LTRIGGER</a> = 17, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da116e80c6be166290ca481fefa5de38c1">AMOTION_EVENT_AXIS_RTRIGGER</a> = 18, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da6d1f5d64e607104964eb43d8fae07a4f">AMOTION_EVENT_AXIS_THROTTLE</a> = 19, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da318a0782f895949407fc192fc4280257">AMOTION_EVENT_AXIS_RUDDER</a> = 20, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab0ae83ebd74e672bb35378b92a440b1d">AMOTION_EVENT_AXIS_WHEEL</a> = 21, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab0223f235a6044815918af2abafcbf16">AMOTION_EVENT_AXIS_GAS</a> = 22, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae3a99764f3681dd9e094852bb2489ece">AMOTION_EVENT_AXIS_BRAKE</a> = 23, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae800909411a1e83173b0eef7aa458d0e">AMOTION_EVENT_AXIS_DISTANCE</a> = 24, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafca0a235f69c4b38bfc95e7a7b8d9ab1">AMOTION_EVENT_AXIS_TILT</a> = 25, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadcc18afd3a7069412617df34db5a27bc">AMOTION_EVENT_AXIS_GENERIC_1</a> = 32, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dac4addf06abfa6c76f0578ddde049aad5">AMOTION_EVENT_AXIS_GENERIC_2</a> = 33, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dac7df57ef5082e10be83f66d7477bce9c">AMOTION_EVENT_AXIS_GENERIC_3</a> = 34, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da321873d126b7d545665096694cb7d9d9">AMOTION_EVENT_AXIS_GENERIC_4</a> = 35, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da9b47cef7060197e1b0302a8a718c3085">AMOTION_EVENT_AXIS_GENERIC_5</a> = 36, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daad7e47a1b5fb66864b6d988374f50a84">AMOTION_EVENT_AXIS_GENERIC_6</a> = 37, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da222c06f51a60e59504b635dbf89a025b">AMOTION_EVENT_AXIS_GENERIC_7</a> = 38, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dab59a8a373a913e40b146ed762976d6fe">AMOTION_EVENT_AXIS_GENERIC_8</a> = 39, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da721fa0fbca8b22f1ecc8d3870f4e7443">AMOTION_EVENT_AXIS_GENERIC_9</a> = 40, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da29ba08f4ddc658e0127ee5bc08d185f2">AMOTION_EVENT_AXIS_GENERIC_10</a> = 41, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dafc64a4b307f62bb12b645918aa7edb57">AMOTION_EVENT_AXIS_GENERIC_11</a> = 42, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dae5d32b3e9cec4936ae1e074f320c3063">AMOTION_EVENT_AXIS_GENERIC_12</a> = 43, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da5f19f5bc52e5eaec5ebd4f07aad12180">AMOTION_EVENT_AXIS_GENERIC_13</a> = 44, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035dadb866d826ecf25161d7c7f86166e149b">AMOTION_EVENT_AXIS_GENERIC_14</a> = 45, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035da7e86befc8502b8df687284f3c40b2eca">AMOTION_EVENT_AXIS_GENERIC_15</a> = 46, 
-<a class="el" href="group___input.html#ggabc5c98fcc1211af2b80116dd6e0a035daaaa011ba929b18c6da71153638f92336">AMOTION_EVENT_AXIS_GENERIC_16</a> = 47
-<br/>
- }</td></tr>
-<tr class="separator:gabc5c98fcc1211af2b80116dd6e0a035d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac36f475ca5b446f4fde4c9b90bec77c8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8ab388f65477b9dd4c51e6367111168d65">AMOTION_EVENT_BUTTON_PRIMARY</a> = 1 &lt;&lt; 0, 
-<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a08118700ecb4e147528a0e725afc9451">AMOTION_EVENT_BUTTON_SECONDARY</a> = 1 &lt;&lt; 1, 
-<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8ae6e2af1e7065e035e8a10a595827180f">AMOTION_EVENT_BUTTON_TERTIARY</a> = 1 &lt;&lt; 2, 
-<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a1841d075a2992ff7fbefa3fd50189b86">AMOTION_EVENT_BUTTON_BACK</a> = 1 &lt;&lt; 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggac36f475ca5b446f4fde4c9b90bec77c8a4105edf43f7748c52c859cc5aa7dc438">AMOTION_EVENT_BUTTON_FORWARD</a> = 1 &lt;&lt; 4
-<br/>
- }</td></tr>
-<tr class="separator:gac36f475ca5b446f4fde4c9b90bec77c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga05589fbab0657f08285ebdfe93f5ec9e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9ea7e1ea0c955ebbac1349866e8995e0208">AMOTION_EVENT_TOOL_TYPE_UNKNOWN</a> = 0, 
-<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eafd789262defb8a268fa80d26b0c30bcc">AMOTION_EVENT_TOOL_TYPE_FINGER</a> = 1, 
-<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eaf05dc95a74e560c89cec1f3100185fc7">AMOTION_EVENT_TOOL_TYPE_STYLUS</a> = 2, 
-<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9ea7be0c750d7d6719e7c948914400ae0de">AMOTION_EVENT_TOOL_TYPE_MOUSE</a> = 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga05589fbab0657f08285ebdfe93f5ec9eaf9932f65b5b6b5800fb5873a60dbf0cb">AMOTION_EVENT_TOOL_TYPE_ERASER</a> = 4
-<br/>
- }</td></tr>
-<tr class="separator:ga05589fbab0657f08285ebdfe93f5ec9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga16af7b253440dadd46a80a4b9fddba4d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4daae438f475d03ea60fd9fb356abd7fa01">AINPUT_SOURCE_CLASS_MASK</a> = 0x000000ff, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4dafd6d5e71f09f6452acf017559481444c">AINPUT_SOURCE_CLASS_NONE</a> = 0x00000000, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4dacf1bf3d7b3c6e59f907bdffc9b33370e">AINPUT_SOURCE_CLASS_BUTTON</a> = 0x00000001, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da7495274e98fb30dee3dfd903b878cf47">AINPUT_SOURCE_CLASS_POINTER</a> = 0x00000002, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da078a18d85d078412721c336a879bcc1a">AINPUT_SOURCE_CLASS_NAVIGATION</a> = 0x00000004, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4da682f6982bb55ee809f6acd2deb550167">AINPUT_SOURCE_CLASS_POSITION</a> = 0x00000008, 
-<a class="el" href="group___input.html#gga16af7b253440dadd46a80a4b9fddba4daaaeffb6442807dd96ec62e9d8a696b57">AINPUT_SOURCE_CLASS_JOYSTICK</a> = 0x00000010
-<br/>
- }</td></tr>
-<tr class="separator:ga16af7b253440dadd46a80a4b9fddba4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaba01db17f4a2bfbc3db60dc172972a25"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ae9348bc04cdaa88b5b010f77a4945454">AINPUT_SOURCE_UNKNOWN</a> = 0x00000000, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a9860918666dd8c0b9d00a8da7af51e6d">AINPUT_SOURCE_KEYBOARD</a> = 0x00000100 | AINPUT_SOURCE_CLASS_BUTTON, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ad0fbfeff9f8d57104bff14c70ce5e3ef">AINPUT_SOURCE_DPAD</a> = 0x00000200 | AINPUT_SOURCE_CLASS_BUTTON, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a6417cb50ecd6ade48c708268434a49d3">AINPUT_SOURCE_GAMEPAD</a> = 0x00000400 | AINPUT_SOURCE_CLASS_BUTTON, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a55ea411f927aed8964fa72fec0da444f">AINPUT_SOURCE_TOUCHSCREEN</a> = 0x00001000 | AINPUT_SOURCE_CLASS_POINTER, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ae71d3dcbd004bccb6e00fde47097cd86">AINPUT_SOURCE_MOUSE</a> = 0x00002000 | AINPUT_SOURCE_CLASS_POINTER, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a86d4983c71432b27634ba41a64bffdf9">AINPUT_SOURCE_STYLUS</a> = 0x00004000 | AINPUT_SOURCE_CLASS_POINTER, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a7e49d9153c86f60f626d7f797f4e78b6">AINPUT_SOURCE_TRACKBALL</a> = 0x00010000 | AINPUT_SOURCE_CLASS_NAVIGATION, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a7e0715d4b544653ab11893434172a2ef">AINPUT_SOURCE_TOUCHPAD</a> = 0x00100000 | AINPUT_SOURCE_CLASS_POSITION, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25a3712c4e4fb8ad7f6ae6e40d48e5c6ee7">AINPUT_SOURCE_TOUCH_NAVIGATION</a> = 0x00200000 | AINPUT_SOURCE_CLASS_NONE, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25afb28f10dc074e7f7435f5904c513edb5">AINPUT_SOURCE_JOYSTICK</a> = 0x01000000 | AINPUT_SOURCE_CLASS_JOYSTICK, 
-<a class="el" href="group___input.html#ggaba01db17f4a2bfbc3db60dc172972a25ab04317e7dd273ff5c87038df67d9796e">AINPUT_SOURCE_ANY</a> = 0xffffff00
-<br/>
- }</td></tr>
-<tr class="separator:gaba01db17f4a2bfbc3db60dc172972a25"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf105ae5beaca1dee30ae54530691fce"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fcea32cb7ce34cdce7095962f0766cc6c3ac">AINPUT_KEYBOARD_TYPE_NONE</a> = 0, 
-<a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fceaf0226d750ea830eb557ae68bd4a1c82a">AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC</a> = 1, 
-<a class="el" href="group___input.html#ggaaf105ae5beaca1dee30ae54530691fceaba1f5ab6bc79749ba96a5d2a3af0e574">AINPUT_KEYBOARD_TYPE_ALPHABETIC</a> = 2
- }</td></tr>
-<tr class="separator:gaaf105ae5beaca1dee30ae54530691fce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga80155586fa275b28773c9b203f52caba"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa0e5816bc48cdb33f2b488a109596ffe1">AINPUT_MOTION_RANGE_X</a> = AMOTION_EVENT_AXIS_X, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaab48108c9450ea1b7cd021be7d8cbc332">AINPUT_MOTION_RANGE_Y</a> = AMOTION_EVENT_AXIS_Y, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa79aca706b12b28d0ab14762902fed31a">AINPUT_MOTION_RANGE_PRESSURE</a> = AMOTION_EVENT_AXIS_PRESSURE, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa46f3a6cf859fb161cd29398d8448c688">AINPUT_MOTION_RANGE_SIZE</a> = AMOTION_EVENT_AXIS_SIZE, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa7ead43624c96e165fd8a25e77148aa67">AINPUT_MOTION_RANGE_TOUCH_MAJOR</a> = AMOTION_EVENT_AXIS_TOUCH_MAJOR, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa301181a0f20681135c15010b39bb575d">AINPUT_MOTION_RANGE_TOUCH_MINOR</a> = AMOTION_EVENT_AXIS_TOUCH_MINOR, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaaa860f54aa9e5a269dba6a54bbcf3c27c">AINPUT_MOTION_RANGE_TOOL_MAJOR</a> = AMOTION_EVENT_AXIS_TOOL_MAJOR, 
-<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaa19226f6cf713c1b4d0973a163daf6cf1">AINPUT_MOTION_RANGE_TOOL_MINOR</a> = AMOTION_EVENT_AXIS_TOOL_MINOR, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga80155586fa275b28773c9b203f52cabaaf9be9c04a41b610d994a3d1d7e90d06d">AINPUT_MOTION_RANGE_ORIENTATION</a> = AMOTION_EVENT_AXIS_ORIENTATION
-<br/>
- }</td></tr>
-<tr class="separator:ga80155586fa275b28773c9b203f52caba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga8292ae06aa8120c52d7380d228600b9c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga8292ae06aa8120c52d7380d228600b9c">AInputEvent_getType</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event)</td></tr>
-<tr class="separator:ga8292ae06aa8120c52d7380d228600b9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9dd3fd81e51dbfde19ab861541242aa1"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga9dd3fd81e51dbfde19ab861541242aa1">AInputEvent_getDeviceId</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event)</td></tr>
-<tr class="separator:ga9dd3fd81e51dbfde19ab861541242aa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac90d4b497669dbc709ec9650db4e49be"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gac90d4b497669dbc709ec9650db4e49be">AInputEvent_getSource</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event)</td></tr>
-<tr class="separator:gac90d4b497669dbc709ec9650db4e49be"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga36ec0b59f98f86a7ca263ba91279896d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga36ec0b59f98f86a7ca263ba91279896d">AKeyEvent_getAction</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga36ec0b59f98f86a7ca263ba91279896d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2a18e98efe0c4ccb6f39bb13c555010e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2a18e98efe0c4ccb6f39bb13c555010e">AKeyEvent_getFlags</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga2a18e98efe0c4ccb6f39bb13c555010e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6b01ecd60018a5445f4917a861ca9466"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga6b01ecd60018a5445f4917a861ca9466">AKeyEvent_getKeyCode</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga6b01ecd60018a5445f4917a861ca9466"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4a0a846b7a195aeb290dfcd2250137d9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga4a0a846b7a195aeb290dfcd2250137d9">AKeyEvent_getScanCode</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga4a0a846b7a195aeb290dfcd2250137d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabdda62b40b22727af2fb41740bf4787b"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gabdda62b40b22727af2fb41740bf4787b">AKeyEvent_getMetaState</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:gabdda62b40b22727af2fb41740bf4787b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5358fe3ebbd4b5b2f88a4ad2eba6f885"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga5358fe3ebbd4b5b2f88a4ad2eba6f885">AKeyEvent_getRepeatCount</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:ga5358fe3ebbd4b5b2f88a4ad2eba6f885"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf475b6f0860bdfca4ceea7bc46eab1a9"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaf475b6f0860bdfca4ceea7bc46eab1a9">AKeyEvent_getDownTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:gaf475b6f0860bdfca4ceea7bc46eab1a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae3eac7d68195d1767c947ca267842696"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gae3eac7d68195d1767c947ca267842696">AKeyEvent_getEventTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *key_event)</td></tr>
-<tr class="separator:gae3eac7d68195d1767c947ca267842696"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga73ea2093cc2343675ac43dd08bef4247"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga73ea2093cc2343675ac43dd08bef4247">AMotionEvent_getAction</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga73ea2093cc2343675ac43dd08bef4247"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2891d19197c070207098fa48adeb35af"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2891d19197c070207098fa48adeb35af">AMotionEvent_getFlags</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga2891d19197c070207098fa48adeb35af"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5644f0d952e3dea57ba9f7ce51dff2bb"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga5644f0d952e3dea57ba9f7ce51dff2bb">AMotionEvent_getMetaState</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga5644f0d952e3dea57ba9f7ce51dff2bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1aa7ebb749416491b6f0c55ae87ddf49"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga1aa7ebb749416491b6f0c55ae87ddf49">AMotionEvent_getButtonState</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga1aa7ebb749416491b6f0c55ae87ddf49"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad7e1f0caa4c27194d4a8756a18432299"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gad7e1f0caa4c27194d4a8756a18432299">AMotionEvent_getEdgeFlags</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:gad7e1f0caa4c27194d4a8756a18432299"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad44be7697e68891688cd7bcfaffec209"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gad44be7697e68891688cd7bcfaffec209">AMotionEvent_getDownTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:gad44be7697e68891688cd7bcfaffec209"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7e13fbf3cff0700b0b620284ebdd3a33"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga7e13fbf3cff0700b0b620284ebdd3a33">AMotionEvent_getEventTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga7e13fbf3cff0700b0b620284ebdd3a33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7a94ce622eb78a17737fd8bddbf86e21"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga7a94ce622eb78a17737fd8bddbf86e21">AMotionEvent_getXOffset</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga7a94ce622eb78a17737fd8bddbf86e21"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7f6bd2c12d912f502c245b6ced6d3704"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga7f6bd2c12d912f502c245b6ced6d3704">AMotionEvent_getYOffset</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga7f6bd2c12d912f502c245b6ced6d3704"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga81a9be07673a01f43fd0241c7b4c254f"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga81a9be07673a01f43fd0241c7b4c254f">AMotionEvent_getXPrecision</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga81a9be07673a01f43fd0241c7b4c254f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae311e6e28bce4be905526f9ea71278ed"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gae311e6e28bce4be905526f9ea71278ed">AMotionEvent_getYPrecision</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:gae311e6e28bce4be905526f9ea71278ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga612e68d104adbc6d14d87510e8066bd8"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga612e68d104adbc6d14d87510e8066bd8">AMotionEvent_getPointerCount</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga612e68d104adbc6d14d87510e8066bd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga599e21a79c706807243a8ee31b116138"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga599e21a79c706807243a8ee31b116138">AMotionEvent_getPointerId</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga599e21a79c706807243a8ee31b116138"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2babe4e2e79952e004538f8f1878649c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2babe4e2e79952e004538f8f1878649c">AMotionEvent_getToolType</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga2babe4e2e79952e004538f8f1878649c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafe45e29ef138cc30592237ce479837f0"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gafe45e29ef138cc30592237ce479837f0">AMotionEvent_getRawX</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:gafe45e29ef138cc30592237ce479837f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5a09c3d742a93270861aa05f24257c23"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga5a09c3d742a93270861aa05f24257c23">AMotionEvent_getRawY</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga5a09c3d742a93270861aa05f24257c23"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga22e255a5fa52761cd92ce78af91e9757"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga22e255a5fa52761cd92ce78af91e9757">AMotionEvent_getX</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga22e255a5fa52761cd92ce78af91e9757"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga113f58a37e41f2a6c3007d68418edfa6"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga113f58a37e41f2a6c3007d68418edfa6">AMotionEvent_getY</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga113f58a37e41f2a6c3007d68418edfa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga97fcaa6cd08c9d54b35711e482e06c8d"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga97fcaa6cd08c9d54b35711e482e06c8d">AMotionEvent_getPressure</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga97fcaa6cd08c9d54b35711e482e06c8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9b1f3c3df46b5269f9e74d2dd70c88a8"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga9b1f3c3df46b5269f9e74d2dd70c88a8">AMotionEvent_getSize</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga9b1f3c3df46b5269f9e74d2dd70c88a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9ac18fe19534e07d80441582f489d471"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga9ac18fe19534e07d80441582f489d471">AMotionEvent_getTouchMajor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga9ac18fe19534e07d80441582f489d471"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga65f71e257b5fcb29dcbaaf59b3fcb3a7"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga65f71e257b5fcb29dcbaaf59b3fcb3a7">AMotionEvent_getTouchMinor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga65f71e257b5fcb29dcbaaf59b3fcb3a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac04099690f278a6a27191c2027b12a77"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gac04099690f278a6a27191c2027b12a77">AMotionEvent_getToolMajor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:gac04099690f278a6a27191c2027b12a77"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2222d459759ba4a8269647012d2718fb"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2222d459759ba4a8269647012d2718fb">AMotionEvent_getToolMinor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:ga2222d459759ba4a8269647012d2718fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad28422998da15b789edcba6b8bc5d615"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gad28422998da15b789edcba6b8bc5d615">AMotionEvent_getOrientation</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index)</td></tr>
-<tr class="separator:gad28422998da15b789edcba6b8bc5d615"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9d364cdcebf85237f599b25861f38c21"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga9d364cdcebf85237f599b25861f38c21">AMotionEvent_getAxisValue</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, int32_t axis, size_t pointer_index)</td></tr>
-<tr class="separator:ga9d364cdcebf85237f599b25861f38c21"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0aef34c236db6d7a56a50bf590be7bcc"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga0aef34c236db6d7a56a50bf590be7bcc">AMotionEvent_getHistorySize</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event)</td></tr>
-<tr class="separator:ga0aef34c236db6d7a56a50bf590be7bcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga523f1a760754206965b42b08d62f9346"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga523f1a760754206965b42b08d62f9346">AMotionEvent_getHistoricalEventTime</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t history_index)</td></tr>
-<tr class="separator:ga523f1a760754206965b42b08d62f9346"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5d36c2e7420001c86ae2aa1168fe6f83"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga5d36c2e7420001c86ae2aa1168fe6f83">AMotionEvent_getHistoricalRawX</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga5d36c2e7420001c86ae2aa1168fe6f83"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6deb0e7690a93aa53e5872c2691b69fe"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga6deb0e7690a93aa53e5872c2691b69fe">AMotionEvent_getHistoricalRawY</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga6deb0e7690a93aa53e5872c2691b69fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga49a8ca89ff377b5ed2355e8d7220ae07"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga49a8ca89ff377b5ed2355e8d7220ae07">AMotionEvent_getHistoricalX</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga49a8ca89ff377b5ed2355e8d7220ae07"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga30fc4e5d3ce144955859f8c97b51b73d"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga30fc4e5d3ce144955859f8c97b51b73d">AMotionEvent_getHistoricalY</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga30fc4e5d3ce144955859f8c97b51b73d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa8e9352ee5b043b3e1b6e2062d491010"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaa8e9352ee5b043b3e1b6e2062d491010">AMotionEvent_getHistoricalPressure</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:gaa8e9352ee5b043b3e1b6e2062d491010"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0a04bb7ec12928db7e62645e7fad3a9e"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga0a04bb7ec12928db7e62645e7fad3a9e">AMotionEvent_getHistoricalSize</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga0a04bb7ec12928db7e62645e7fad3a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf437f223668b97f19ebdbad4b9cf4483"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaf437f223668b97f19ebdbad4b9cf4483">AMotionEvent_getHistoricalTouchMajor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:gaf437f223668b97f19ebdbad4b9cf4483"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga126715d966e989652aa1ae5d38e0e898"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga126715d966e989652aa1ae5d38e0e898">AMotionEvent_getHistoricalTouchMinor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga126715d966e989652aa1ae5d38e0e898"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga160a5830e791e8c42ae97f51b92233d2"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga160a5830e791e8c42ae97f51b92233d2">AMotionEvent_getHistoricalToolMajor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga160a5830e791e8c42ae97f51b92233d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafe01aa7576a6d1bce750fb8482355849"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gafe01aa7576a6d1bce750fb8482355849">AMotionEvent_getHistoricalToolMinor</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:gafe01aa7576a6d1bce750fb8482355849"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaab9cb8fa670175ecc73c75eed4e5cd3f"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaab9cb8fa670175ecc73c75eed4e5cd3f">AMotionEvent_getHistoricalOrientation</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:gaab9cb8fa670175ecc73c75eed4e5cd3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7ca740e1324f3cdb934252dce0c982d0"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga7ca740e1324f3cdb934252dce0c982d0">AMotionEvent_getHistoricalAxisValue</a> (const <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *motion_event, int32_t axis, size_t pointer_index, size_t history_index)</td></tr>
-<tr class="separator:ga7ca740e1324f3cdb934252dce0c982d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga900711156bfb58d1a4b158da7874930f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga900711156bfb58d1a4b158da7874930f">AInputQueue_attachLooper</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue, <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper, int ident, <a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a> callback, void *data)</td></tr>
-<tr class="separator:ga900711156bfb58d1a4b158da7874930f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaeebe9f83392ac79b31ca40a6fd4dbeff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gaeebe9f83392ac79b31ca40a6fd4dbeff">AInputQueue_detachLooper</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue)</td></tr>
-<tr class="separator:gaeebe9f83392ac79b31ca40a6fd4dbeff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2b72ad6ab5ef656e8c41163aa7871c96"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga2b72ad6ab5ef656e8c41163aa7871c96">AInputQueue_hasEvents</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue)</td></tr>
-<tr class="separator:ga2b72ad6ab5ef656e8c41163aa7871c96"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga88de12e2b39787ba7d3e4ce2ea46a48c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga88de12e2b39787ba7d3e4ce2ea46a48c">AInputQueue_getEvent</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue, <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> **outEvent)</td></tr>
-<tr class="separator:ga88de12e2b39787ba7d3e4ce2ea46a48c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadecd32e6c7aefa4a508b355550d3eaa9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#gadecd32e6c7aefa4a508b355550d3eaa9">AInputQueue_preDispatchEvent</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue, <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event)</td></tr>
-<tr class="separator:gadecd32e6c7aefa4a508b355550d3eaa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga17e87e0f35d47d729eac31a0dfb1ac33"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___input.html#ga17e87e0f35d47d729eac31a0dfb1ac33">AInputQueue_finishEvent</a> (<a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue, <a class="el" href="group___input.html#gac35dbbc035371e799d8badabc981e8fa">AInputEvent</a> *event, int handled)</td></tr>
-<tr class="separator:ga17e87e0f35d47d729eac31a0dfb1ac33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/keycodes_8h.jd b/docs/html/ndk/reference/keycodes_8h.jd
deleted file mode 100644
index 338a361..0000000
--- a/docs/html/ndk/reference/keycodes_8h.jd
+++ /dev/null
@@ -1,350 +0,0 @@
-page.title=keycodes.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#enum-members">Enumerations</a>  </div>
-  <div class="headertitle">
-<div class="title">keycodes.h File Reference<div class="ingroups"><a class="el" href="group___input.html">Input</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;sys/types.h&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga6b7b47dd702d9e331586d485013fd1ea"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa593f8ae18990d627785719284a12a6f">AKEYCODE_UNKNOWN</a> = 0, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2dc78d3a93876b77402d2a7f02e4b899">AKEYCODE_SOFT_LEFT</a> = 1, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8cadfbfcaaa83fef168de13639adfcae">AKEYCODE_SOFT_RIGHT</a> = 2, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa526c2411b7476b7ae579f57a0378b2dd">AKEYCODE_HOME</a> = 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeb71c74bf556ba72e9c8f8dcbe5453d0">AKEYCODE_BACK</a> = 4, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8b5720ebdd3576c2b536ec9228273d8f">AKEYCODE_CALL</a> = 5, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaff971957ae3a4e272b21987854e18d9b">AKEYCODE_ENDCALL</a> = 6, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa23f585ea17aeceaad2111c51ab289e79">AKEYCODE_0</a> = 7, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabcac88b54f8d764bc4573ecc5b9571b0">AKEYCODE_1</a> = 8, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2079c6fb75141968b60ed79fe895d6db">AKEYCODE_2</a> = 9, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa40ccc018c0637e4d938e66b789054551">AKEYCODE_3</a> = 10, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c2d141c3906bd97cfec91443356f7b">AKEYCODE_4</a> = 11, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0ca99d2be4a3723ba3406944ad623f6e">AKEYCODE_5</a> = 12, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa72bc6560e24d08ff8f3116dac9179079">AKEYCODE_6</a> = 13, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa27070499acdb6c527a285b3840ec7bff">AKEYCODE_7</a> = 14, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa93543b23683b33724ecf77ac5a8c19ab">AKEYCODE_8</a> = 15, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa31cd4d7c4e59cf7b057b6c248cff516d">AKEYCODE_9</a> = 16, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1461fbf54e3dcba96e5d6d0638c18305">AKEYCODE_STAR</a> = 17, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf448758c44899e41b67f76dfe3be51e9">AKEYCODE_POUND</a> = 18, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf2fd3133a88f3b6725834032bd74bd9e">AKEYCODE_DPAD_UP</a> = 19, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa84b721b13aae56c9f1d3c22b3d81627a">AKEYCODE_DPAD_DOWN</a> = 20, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa668dfb3ed79a37c2c07838c161c1b344">AKEYCODE_DPAD_LEFT</a> = 21, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac6f9d81b6239696a1836695bbfc6a975">AKEYCODE_DPAD_RIGHT</a> = 22, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5e9c93273fd39148f54167133aa5b9ae">AKEYCODE_DPAD_CENTER</a> = 23, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5b81e325d9efd633eef7535a5b538882">AKEYCODE_VOLUME_UP</a> = 24, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a882dae17080d3b5f3329e79db60c66">AKEYCODE_VOLUME_DOWN</a> = 25, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabecfbcb9b6f5e85fdfdfa98fbc3326e6">AKEYCODE_POWER</a> = 26, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8670880765756933d3d1a10186d39e26">AKEYCODE_CAMERA</a> = 27, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa95bd8c25adeaa570108c7403f08a2901">AKEYCODE_CLEAR</a> = 28, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa424a091c62d40f5d65908c9730ae9014">AKEYCODE_A</a> = 29, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa65d3bf8d6a8a6c2f7c1b08394f313758">AKEYCODE_B</a> = 30, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaeed584f454e508ce931bcb33d37adb04">AKEYCODE_C</a> = 31, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7e4cb3ef66209a2779be2c8239b57b51">AKEYCODE_D</a> = 32, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae218af7ceb207227bb10f0525e68a8d0">AKEYCODE_E</a> = 33, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa455f71ecfe59af0fbd901ac0d0a8d53a">AKEYCODE_F</a> = 34, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa165067e10464019411f768bba9e533d9">AKEYCODE_G</a> = 35, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad89a91a1500cb162f22962781ebfd9dc">AKEYCODE_H</a> = 36, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4d44b5e4a19580540d8d77bf5755d74b">AKEYCODE_I</a> = 37, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa70c259612ccec117d70afaef947a6a7a">AKEYCODE_J</a> = 38, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5ce56cf50d3632c275c524bd78d0d932">AKEYCODE_K</a> = 39, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab61c534fd0f4e56c4ba13861a2f5982b">AKEYCODE_L</a> = 40, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa43b19e5e5234ce90c8e7ef67dd0cabd1">AKEYCODE_M</a> = 41, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6c0b26804c89560a9e87c45f7f9fed36">AKEYCODE_N</a> = 42, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa249667bc4a59d99be1914535877329fb">AKEYCODE_O</a> = 43, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac68ef56b78bd0c8626cc68bb6cb9156f">AKEYCODE_P</a> = 44, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa932cf6ea8d87e6d6d97af658dd0fa206">AKEYCODE_Q</a> = 45, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaba25ac2c15a8edbbbff16a9fe6e74532">AKEYCODE_R</a> = 46, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae1ed25c28a8fce578cddb17ca6888ff6">AKEYCODE_S</a> = 47, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2feac8b458ef8eb9c0a0dd73766927c2">AKEYCODE_T</a> = 48, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac1a220314f986aae45d7fe3b35501595">AKEYCODE_U</a> = 49, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4043bc48fa55cce7825176052d6e199a">AKEYCODE_V</a> = 50, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0c80e98547c3daa01f3d9e7f4f00425">AKEYCODE_W</a> = 51, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaec585cebac89004faffbdc28dc6d81c5">AKEYCODE_X</a> = 52, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa06fc277ef25acdd89d64c18eed0daa9b">AKEYCODE_Y</a> = 53, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7439a09f219a0addc13c758ef7508cce">AKEYCODE_Z</a> = 54, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0ca0bfbdc67b2c6f76e8fcaaf782c227">AKEYCODE_COMMA</a> = 55, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9dd68c8ecebd4e274e8c357dcdfe8a04">AKEYCODE_PERIOD</a> = 56, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3dec175158abe8679bedd98ed1bc3e1a">AKEYCODE_ALT_LEFT</a> = 57, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd9b6b0846c6999f5df47d29e58ac95d">AKEYCODE_ALT_RIGHT</a> = 58, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafb9875645596928cec46368e74499dc4">AKEYCODE_SHIFT_LEFT</a> = 59, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf9eab1348ae1e8f18ad5bf3c77df4212">AKEYCODE_SHIFT_RIGHT</a> = 60, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1b1bfda850b2acd0b60e8456e2bfa958">AKEYCODE_TAB</a> = 61, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa10389300ac5d70f8d9733564b3cab4e7">AKEYCODE_SPACE</a> = 62, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6c1c6752d5db5e02da51d8937e5e3c6f">AKEYCODE_SYM</a> = 63, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaded9ec81ae6dab451665317723b94083">AKEYCODE_EXPLORER</a> = 64, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaade96efe470f428bb5c4eaea6ffc3681c">AKEYCODE_ENVELOPE</a> = 65, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac784a7bbbfbdab05fab6c6a1f29c98ff">AKEYCODE_ENTER</a> = 66, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacd013221b457d98975dc47e49817e28a">AKEYCODE_DEL</a> = 67, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa929561086ae7b519fa962597bc85f171">AKEYCODE_GRAVE</a> = 68, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaca10bd34ad0abecfecace908b8cb92ca">AKEYCODE_MINUS</a> = 69, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0a197df7ec719c95ddcd6836e76c8498">AKEYCODE_EQUALS</a> = 70, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabdeda0d373aa37ef2ded5ffdfc008708">AKEYCODE_LEFT_BRACKET</a> = 71, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa084dfa52626040a08d374f8aec066e6a">AKEYCODE_RIGHT_BRACKET</a> = 72, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaac90eb064382e3c482ae86abb7b3f701">AKEYCODE_BACKSLASH</a> = 73, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac0a2920161f4f2d97b0b060614b23391">AKEYCODE_SEMICOLON</a> = 74, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab5518a8502914ea5f87ef5d29b32b1b1">AKEYCODE_APOSTROPHE</a> = 75, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa54c047be3811d637a33d9b3e39d16e1a">AKEYCODE_SLASH</a> = 76, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7284f79a266ede479b79726082642e16">AKEYCODE_AT</a> = 77, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe6e880f65bebbdd5246a4164c4ab37a">AKEYCODE_NUM</a> = 78, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0d3d29515a4815fe8d6d8d3291507a33">AKEYCODE_HEADSETHOOK</a> = 79, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa23be9506f92f6efe14d47306a39a2187">AKEYCODE_FOCUS</a> = 80, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7f72d867b311e0845aef732dcc66495">AKEYCODE_PLUS</a> = 81, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa707b85e89923b0f760be795972a87d76">AKEYCODE_MENU</a> = 82, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6115506352a5828532fc6a0b91683331">AKEYCODE_NOTIFICATION</a> = 83, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac644fd307fd0ef0d3ed3d2e074c1a4b7">AKEYCODE_SEARCH</a> = 84, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa42f8fe71e8d45b5a83d83d80c3da40e1">AKEYCODE_MEDIA_PLAY_PAUSE</a> = 85, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac4faa33993d80db1326073ea15a38e7d">AKEYCODE_MEDIA_STOP</a> = 86, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf5a6c3fc963e8163852b9a23e3a198b3">AKEYCODE_MEDIA_NEXT</a> = 87, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa81432c31b00d47f768c29163eb276acb">AKEYCODE_MEDIA_PREVIOUS</a> = 88, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaecd53183b84c23a2ca65670a23674319">AKEYCODE_MEDIA_REWIND</a> = 89, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa69e648024402af688d490a2041f15bca">AKEYCODE_MEDIA_FAST_FORWARD</a> = 90, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f6675d38f50e3556a8531839fd83f02">AKEYCODE_MUTE</a> = 91, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4fd0d4ea5b6898f4a40011b97a739a04">AKEYCODE_PAGE_UP</a> = 92, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0b7fe1c18f53e6328657858a88826393">AKEYCODE_PAGE_DOWN</a> = 93, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacdc7c004da1594fa156de87befef5f41">AKEYCODE_PICTSYMBOLS</a> = 94, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad6a1f88b2cc3b6ff8f1724eb01473ec3">AKEYCODE_SWITCH_CHARSET</a> = 95, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaef2d2ec912aaa9e7215aeab79f7fb086">AKEYCODE_BUTTON_A</a> = 96, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa721765c8f0bbcdb68af06817dbec8e53">AKEYCODE_BUTTON_B</a> = 97, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad622ad5df40d2fdf806abb2adda73b3d">AKEYCODE_BUTTON_C</a> = 98, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa21174962f95e32cd0345ce657d03ebc7">AKEYCODE_BUTTON_X</a> = 99, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6654a8b2c700f7783433c86fcdae7919">AKEYCODE_BUTTON_Y</a> = 100, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa06156b68e6de951b44fc662e1b16041f">AKEYCODE_BUTTON_Z</a> = 101, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa32e159826404c7d76c2a433c24de82a2">AKEYCODE_BUTTON_L1</a> = 102, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7c614b3966583b0ad027e45f594ede46">AKEYCODE_BUTTON_R1</a> = 103, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa36a38421637cfa5ebfd8a0296650cdf4">AKEYCODE_BUTTON_L2</a> = 104, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa46d487e9fe31855b7b46739bad58fe3e">AKEYCODE_BUTTON_R2</a> = 105, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68c5d8dcd8fe708ada8f4a4e17feb638">AKEYCODE_BUTTON_THUMBL</a> = 106, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9759d817172d268ced1748909a5f5fbe">AKEYCODE_BUTTON_THUMBR</a> = 107, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf3c818d106f4ec793a43749c4c26a8a4">AKEYCODE_BUTTON_START</a> = 108, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa598289bc85f647c237729126ea392a43">AKEYCODE_BUTTON_SELECT</a> = 109, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa19839eebec939407d901a33b75cf2594">AKEYCODE_BUTTON_MODE</a> = 110, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac52177e5508edacb8e9c6d3a25db4fb6">AKEYCODE_ESCAPE</a> = 111, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9516bc190d37fea27e07ddab0c607b51">AKEYCODE_FORWARD_DEL</a> = 112, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaaca9d0df6cc18492209eb287e659aeb1">AKEYCODE_CTRL_LEFT</a> = 113, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa99b317cf2f1eb6b06d0226e05223e60c">AKEYCODE_CTRL_RIGHT</a> = 114, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab9dcb68b35c85d380846c85f323868f1">AKEYCODE_CAPS_LOCK</a> = 115, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa78ff5c8316235635f76e3c3179e9a7fc">AKEYCODE_SCROLL_LOCK</a> = 116, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaaadfb2d920bbe422c096120d39811c58">AKEYCODE_META_LEFT</a> = 117, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68038455e2b0846db51f9957e0df9cb8">AKEYCODE_META_RIGHT</a> = 118, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1764b777aa56605f4029d3c71fe70722">AKEYCODE_FUNCTION</a> = 119, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14e22c69bcd47ffb4445ee18a4332d84">AKEYCODE_SYSRQ</a> = 120, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa047501f9cf9bce00e6048d8759ea3a23">AKEYCODE_BREAK</a> = 121, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7544f3de2fb5f78bec62af94a32fdc58">AKEYCODE_MOVE_HOME</a> = 122, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5605f49f5271430f5f150efb3cd0398a">AKEYCODE_MOVE_END</a> = 123, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa62f663d11e91af750a51ddd060b08644">AKEYCODE_INSERT</a> = 124, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafbf0a16c7746e5dee2fd3adbd50da88a">AKEYCODE_FORWARD</a> = 125, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa615cf6202b0ae0ed550f42f6c64b36a1">AKEYCODE_MEDIA_PLAY</a> = 126, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f4e0178c2028b3042b0a5948e38e4e4">AKEYCODE_MEDIA_PAUSE</a> = 127, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6788c6e1443140b0ec4d004d8293e998">AKEYCODE_MEDIA_CLOSE</a> = 128, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa317bffd44306b021c401d3a26b82a7f6">AKEYCODE_MEDIA_EJECT</a> = 129, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17e1eae0b245176aaa024a53411441f9">AKEYCODE_MEDIA_RECORD</a> = 130, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3b84f2c503a9e839f3d36e10e3307fcf">AKEYCODE_F1</a> = 131, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1360f7ec66aa6421e240dae637262e84">AKEYCODE_F2</a> = 132, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a4ce6105e12a3a9071cae2f40515085">AKEYCODE_F3</a> = 133, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa882050e4d0f917470a5b91fbf6ae9ebf">AKEYCODE_F4</a> = 134, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab01807c72b46620bb50fcb6abe24d937">AKEYCODE_F5</a> = 135, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa04a12e81ed80bb42ef5c63cedf0dc60">AKEYCODE_F6</a> = 136, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9583b8e4b0d994b7e3a193b67cf6020c">AKEYCODE_F7</a> = 137, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa55ca54d42d8df70de2ce9031db1344c8">AKEYCODE_F8</a> = 138, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0c8225c0ef98da730933ae914077dbc9">AKEYCODE_F9</a> = 139, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa60660b13acab39282d0558cdcc93474">AKEYCODE_F10</a> = 140, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa64cc7b1d8e53d90ff57c39d0b5a4dd22">AKEYCODE_F11</a> = 141, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa491000231e0ba221b6916b1d9d2c9fb7">AKEYCODE_F12</a> = 142, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad5e349eadd3255c6ad4982dc40ed23ef">AKEYCODE_NUM_LOCK</a> = 143, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa343df35e6a0ad0599e19b8ef7174909b">AKEYCODE_NUMPAD_0</a> = 144, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5c0ec8e42917fa9ac53977db3e6aeb17">AKEYCODE_NUMPAD_1</a> = 145, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4dfd17c2209908e1ec890e10a3211f89">AKEYCODE_NUMPAD_2</a> = 146, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa1efe1886a4b472b999215c0e81f7386">AKEYCODE_NUMPAD_3</a> = 147, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1fdd16681c1441b934f679b94fd0e4f8">AKEYCODE_NUMPAD_4</a> = 148, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf5916003e7c737a8cc06e52d2ee76c3b">AKEYCODE_NUMPAD_5</a> = 149, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa13b83389e0f5de129227af4b8d3f035d">AKEYCODE_NUMPAD_6</a> = 150, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaed9468951ef2887c07c8095c2e7d4c93">AKEYCODE_NUMPAD_7</a> = 151, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5f0a300566235720eb93fee9f2196642">AKEYCODE_NUMPAD_8</a> = 152, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad0c490e3965df546e2d5a83edf423d95">AKEYCODE_NUMPAD_9</a> = 153, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaac108b744e8f93af69158d146425236c">AKEYCODE_NUMPAD_DIVIDE</a> = 154, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa47ce00b838e7ee0a34066dc2595ac735">AKEYCODE_NUMPAD_MULTIPLY</a> = 155, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa2bee314dbbea0a349eb301d10256bbe">AKEYCODE_NUMPAD_SUBTRACT</a> = 156, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa9d2fefa9a3f6037f48b247e66dd28c35">AKEYCODE_NUMPAD_ADD</a> = 157, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6aab6b5914e120b43b3a1a8269e9cee1">AKEYCODE_NUMPAD_DOT</a> = 158, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa900e3bb0bc4ff70ba786f18ff4db0bd1">AKEYCODE_NUMPAD_COMMA</a> = 159, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa79432be5f7a44e99ddc3721fd9fd212e">AKEYCODE_NUMPAD_ENTER</a> = 160, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c1007a59641499ee5e1508e747c5ed">AKEYCODE_NUMPAD_EQUALS</a> = 161, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacc903e9eb495cf6cef7c6bc825f82f54">AKEYCODE_NUMPAD_LEFT_PAREN</a> = 162, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7662e0f2a099239dc69f6a27c7daabf9">AKEYCODE_NUMPAD_RIGHT_PAREN</a> = 163, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa174a5c7c39753235109696e82870c575">AKEYCODE_VOLUME_MUTE</a> = 164, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17e76263257a5dc654a413c9dc2fd649">AKEYCODE_INFO</a> = 165, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa056914fd17ae539dca44f43745d8e05c">AKEYCODE_CHANNEL_UP</a> = 166, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa18f1808c6a819e787c9a9941f78b910f">AKEYCODE_CHANNEL_DOWN</a> = 167, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacfce9bb78ef8106dce4868f81cca4fb4">AKEYCODE_ZOOM_IN</a> = 168, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacf035f5234c3df4589f35a50e99e0535">AKEYCODE_ZOOM_OUT</a> = 169, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0776ffae512b4848e53fce762a3a5017">AKEYCODE_TV</a> = 170, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe7531c40ff4a31614ff6fd61802ebe8">AKEYCODE_WINDOW</a> = 171, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf33a5fa1f163245360aeed89d64b0233">AKEYCODE_GUIDE</a> = 172, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacf2f03b925a02ba6de9fd98737546a60">AKEYCODE_DVR</a> = 173, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa03ce46d177e020690aa9d26a0fa850ae">AKEYCODE_BOOKMARK</a> = 174, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa81ba8d5343362b841b8a62b8679ff994">AKEYCODE_CAPTIONS</a> = 175, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa2bbd457230c3028df6b91d5bdda9159">AKEYCODE_SETTINGS</a> = 176, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafda3b0ea1b158831fc443bf4911a3930">AKEYCODE_TV_POWER</a> = 177, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa1750b29e396bd1fd237ed4aadacc8f5">AKEYCODE_TV_INPUT</a> = 178, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab28aea3a51b11c9f227ce8cd5ff55a3d">AKEYCODE_STB_POWER</a> = 179, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa988b0372359b2bca7390878fdba9e1b5">AKEYCODE_STB_INPUT</a> = 180, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa479d36f9814bd00c8986a252664b938b">AKEYCODE_AVR_POWER</a> = 181, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa57d42dbd8ea4219f76fb116f234e6504">AKEYCODE_AVR_INPUT</a> = 182, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa2d9e3e82e69955f649b586f4518e074c">AKEYCODE_PROG_RED</a> = 183, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaad50c1e2136e47843a8dabca929f8ead1">AKEYCODE_PROG_GREEN</a> = 184, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafa813640412bd41a181f0ec3a33dddc4">AKEYCODE_PROG_YELLOW</a> = 185, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5e82219fdb937fee5a22426c607dd4e0">AKEYCODE_PROG_BLUE</a> = 186, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa53a59a262d6d523bdc2bd30a1e427bad">AKEYCODE_APP_SWITCH</a> = 187, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa28c72c33ab93d83539d0790b7e48336a">AKEYCODE_BUTTON_1</a> = 188, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab8089673fea303c7a299eefd2c327cc3">AKEYCODE_BUTTON_2</a> = 189, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa706a5ff492c80b4653e6fe0dcd278ca1">AKEYCODE_BUTTON_3</a> = 190, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa73c425a063bf6976e1ff8ae9f3cfcbe6">AKEYCODE_BUTTON_4</a> = 191, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa47149f963528ec7abe55066abfb7caf5">AKEYCODE_BUTTON_5</a> = 192, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa55057c8cda53a4c539d02ab1a93ca58b">AKEYCODE_BUTTON_6</a> = 193, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac09e0c0cbbf6449bf106e4199600db35">AKEYCODE_BUTTON_7</a> = 194, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaee64b3e0f30ed09e3c9f01b6c8877c3f">AKEYCODE_BUTTON_8</a> = 195, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaac8e54092c8be5dc0e114ec35f40e00dc">AKEYCODE_BUTTON_9</a> = 196, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7e6f8621909f3461032c33f9c8acaa7">AKEYCODE_BUTTON_10</a> = 197, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab413971c698b6e25d3955667c0142ac1">AKEYCODE_BUTTON_11</a> = 198, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafe4ee1e5446dd12bbb579b412048e79e">AKEYCODE_BUTTON_12</a> = 199, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaabde2ed26594b89d5769eef9f0d1fe6f">AKEYCODE_BUTTON_13</a> = 200, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa1f08dfd2c30ddedf1d2983680e89041b">AKEYCODE_BUTTON_14</a> = 201, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d8d0fb1a610fdb4e53f0fb675b7d7d0">AKEYCODE_BUTTON_15</a> = 202, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa224370cba99bda2db6a1c82fd2f7fa39">AKEYCODE_BUTTON_16</a> = 203, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7b8e87b47c17c5f1e97fcb56faaa26ff">AKEYCODE_LANGUAGE_SWITCH</a> = 204, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa380279768c5c50d92bef2a88394f967f">AKEYCODE_MANNER_MODE</a> = 205, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa68d314a5ec06701205cd0097c5c7145c">AKEYCODE_3D_MODE</a> = 206, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0aa2cfca11b7cabf82341a9dbec83f10">AKEYCODE_CONTACTS</a> = 207, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa114be17d1853c77a7406c024d9e4f076">AKEYCODE_CALENDAR</a> = 208, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14508751d70a0404b194d4b6df83ec72">AKEYCODE_MUSIC</a> = 209, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa293523c40bb9f1d793cd0b984f636573">AKEYCODE_CALCULATOR</a> = 210, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf782be8df9a8ca5dc86c9bfeabac6f22">AKEYCODE_ZENKAKU_HANKAKU</a> = 211, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaadd69273b99eb0b848d98b2d6b3ad3234">AKEYCODE_EISU</a> = 212, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7321e5c6b3cbab142bd16957653b2ac7">AKEYCODE_MUHENKAN</a> = 213, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab0686dd37c57d833d1158b7f1d85ee02">AKEYCODE_HENKAN</a> = 214, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3be7db22b3c8aa046a46631e44863c28">AKEYCODE_KATAKANA_HIRAGANA</a> = 215, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5ee19d21912056b902e283efa2d9d14b">AKEYCODE_YEN</a> = 216, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaae8b0af04dac5ea56fd55e577fd9e6be4">AKEYCODE_RO</a> = 217, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa62d090ae5c95a04dacdff79817dad531">AKEYCODE_KANA</a> = 218, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d3f036adb654c7752890a283ecbf838">AKEYCODE_ASSIST</a> = 219, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7cf1bf3528b6d8a0e86998287fe00650">AKEYCODE_BRIGHTNESS_DOWN</a> = 220, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa0af6ec416c09d160e364466faa955c36">AKEYCODE_BRIGHTNESS_UP</a> = 221, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3cdb53cdf8c576e272502da06daa52e1">AKEYCODE_MEDIA_AUDIO_TRACK</a> = 222, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaafc077e5a6b447ea060c144f6e65bd207">AKEYCODE_SLEEP</a> = 223, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa903c5152d26b3011ae521afa06759429">AKEYCODE_WAKEUP</a> = 224, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0ecddd3dce52cf60c96c5d430b1f553">AKEYCODE_PAIRING</a> = 225, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf3ddf83cb2f701911b03c3a738e2e73a">AKEYCODE_MEDIA_TOP_MENU</a> = 226, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaa22858c3c30d596ad60f355f75df86e1">AKEYCODE_11</a> = 227, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa781c31195e55b2dcbdd772560dc61aa5">AKEYCODE_12</a> = 228, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa187963dd6f74b96f132f23e01dea35e9">AKEYCODE_LAST_CHANNEL</a> = 229, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa954c2251b2cb53f47637802cb66baf06">AKEYCODE_TV_DATA_SERVICE</a> = 230, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa95898663b7f74c93d0b860a43528c744">AKEYCODE_VOICE_ASSIST</a> = 231, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa93dd3fd752701af5a5491e01cc15db72">AKEYCODE_TV_RADIO_SERVICE</a> = 232, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa7d3d7b89756df37f01d6d0f13beff1db">AKEYCODE_TV_TELETEXT</a> = 233, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa630a08e07a3b4c6bcac9a1a72d176055">AKEYCODE_TV_NUMBER_ENTRY</a> = 234, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa14f2b6fe8550832ef9e3f9aa53164073">AKEYCODE_TV_TERRESTRIAL_ANALOG</a> = 235, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaacad8c149251a78760a5fe4931b9cdf16">AKEYCODE_TV_TERRESTRIAL_DIGITAL</a> = 236, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa3707d4396417535a611e4548afe33936">AKEYCODE_TV_SATELLITE</a> = 237, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8c52e7d06525c0ee5d943d63a0fa8ea5">AKEYCODE_TV_SATELLITE_BS</a> = 238, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4eea1809a9ff679ed7773332d728c6b0">AKEYCODE_TV_SATELLITE_CS</a> = 239, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa17c0e68066b86610ff168c6367af36eb">AKEYCODE_TV_SATELLITE_SERVICE</a> = 240, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaec5e46a5afc57953d1772e086307aa42">AKEYCODE_TV_NETWORK</a> = 241, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaabe33a80d6d3bf889af25cbd77fdb89f9">AKEYCODE_TV_ANTENNA_CABLE</a> = 242, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a50de965f50ab3aa42772aac0808445">AKEYCODE_TV_INPUT_HDMI_1</a> = 243, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab7ec65c008471d771bf879ec012f5c7f">AKEYCODE_TV_INPUT_HDMI_2</a> = 244, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa6a0f267a2696d15bf16127121b1f1c7f">AKEYCODE_TV_INPUT_HDMI_3</a> = 245, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4437c1d8d2d33058cfa71ec7b2771ec5">AKEYCODE_TV_INPUT_HDMI_4</a> = 246, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5c3097f14c6582958ba1d14d70115ccd">AKEYCODE_TV_INPUT_COMPOSITE_1</a> = 247, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaada13cbb9d619bc610678ad66325647b9">AKEYCODE_TV_INPUT_COMPOSITE_2</a> = 248, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa156e2dba81e7c73624ccf8c2ef8833ae">AKEYCODE_TV_INPUT_COMPONENT_1</a> = 249, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8db9b6ee1457267abea03430781bb0ec">AKEYCODE_TV_INPUT_COMPONENT_2</a> = 250, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa149b2c8a4817075c0a41e0adf11c8e85">AKEYCODE_TV_INPUT_VGA_1</a> = 251, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa419f0adac43cad104cd6cf83dc5f13f6">AKEYCODE_TV_AUDIO_DESCRIPTION</a> = 252, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaccc5900ca5dd399d5ce11dd8ca324678">AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP</a> = 253, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa5fca6a9ec1ce246bf3c53d859ac9f5eb">AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN</a> = 254, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa8e79045045293070c8eb9e408f1335b4">AKEYCODE_TV_ZOOM_MODE</a> = 255, 
-<br/>
-&#160;&#160;<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaa4c18feeafff3c41081073c025ee017b8">AKEYCODE_TV_CONTENTS_MENU</a> = 256, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaadde70071f6a432f367079efa6e1a6fe">AKEYCODE_TV_MEDIA_CONTEXT_MENU</a> = 257, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaaf0293c2a63e4d955080334bef6640840">AKEYCODE_TV_TIMER_PROGRAMMING</a> = 258, 
-<a class="el" href="group___input.html#gga6b7b47dd702d9e331586d485013fd1eaab062b403701292c9e2db96a1f88cc6d9">AKEYCODE_HELP</a> = 259
-<br/>
- }</td></tr>
-<tr class="separator:ga6b7b47dd702d9e331586d485013fd1ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/looper_8h.jd b/docs/html/ndk/reference/looper_8h.jd
deleted file mode 100644
index 9171631..0000000
--- a/docs/html/ndk/reference/looper_8h.jd
+++ /dev/null
@@ -1,70 +0,0 @@
-page.title=looper.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">looper.h File Reference<div class="ingroups"><a class="el" href="group___looper.html">Looper</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:gadb10521a80138b777ba1bc2ca74d4af5"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a></td></tr>
-<tr class="separator:gadb10521a80138b777ba1bc2ca74d4af5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga410b184b4e48302c439e36c8ce0a7a89"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a> )(int fd, int events, void *data)</td></tr>
-<tr class="separator:ga410b184b4e48302c439e36c8ce0a7a89"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gaf9bdc3014f3d54c426b6d2df10de4960"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___looper.html#ggaf9bdc3014f3d54c426b6d2df10de4960a1fff26ab5859b0308b58a3f8d58ef1eb">ALOOPER_PREPARE_ALLOW_NON_CALLBACKS</a> = 1&lt;&lt;0
- }</td></tr>
-<tr class="separator:gaf9bdc3014f3d54c426b6d2df10de4960"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadb49720dc49f7d4e4cf9adbf2948e409"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a55528f1b28df17cc4b6317cc0d0fde47">ALOOPER_POLL_WAKE</a> = -1, 
-<a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a64fe936780bfd9927affaf8e8cc81cc2">ALOOPER_POLL_CALLBACK</a> = -2, 
-<a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409a3fe4eec66dff78a9fa8afca02e8b8443">ALOOPER_POLL_TIMEOUT</a> = -3, 
-<a class="el" href="group___looper.html#ggadb49720dc49f7d4e4cf9adbf2948e409af8ebd4022f6f5d5fea864f6999b7e6b4">ALOOPER_POLL_ERROR</a> = -4
- }</td></tr>
-<tr class="separator:gadb49720dc49f7d4e4cf9adbf2948e409"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaae05225933a42f81e7c4a9fb286596f9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9ae3d18f8dd1faf6f34468df10667949bc">ALOOPER_EVENT_INPUT</a> = 1 &lt;&lt; 0, 
-<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a71273fd07e009057e6e3475d10f8286d">ALOOPER_EVENT_OUTPUT</a> = 1 &lt;&lt; 1, 
-<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a14016d8f39373b8ce061276a957960f6">ALOOPER_EVENT_ERROR</a> = 1 &lt;&lt; 2, 
-<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9a5e7fb5acdecef18b2c293f6309e5d4ab">ALOOPER_EVENT_HANGUP</a> = 1 &lt;&lt; 3, 
-<br/>
-&#160;&#160;<a class="el" href="group___looper.html#ggaae05225933a42f81e7c4a9fb286596f9aefe82c6ce8e02d13aceaebdec15c2aff">ALOOPER_EVENT_INVALID</a> = 1 &lt;&lt; 4
-<br/>
- }</td></tr>
-<tr class="separator:gaae05225933a42f81e7c4a9fb286596f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga741ccd90a0eb9209c6bddf2326d89e4a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga741ccd90a0eb9209c6bddf2326d89e4a">ALooper_forThread</a> ()</td></tr>
-<tr class="separator:ga741ccd90a0eb9209c6bddf2326d89e4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1a070b904dd957cc65af9eb5ef6dfa25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga1a070b904dd957cc65af9eb5ef6dfa25">ALooper_prepare</a> (int opts)</td></tr>
-<tr class="separator:ga1a070b904dd957cc65af9eb5ef6dfa25"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae1ad7ac48ab01a34bfd25840c92ff07b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gae1ad7ac48ab01a34bfd25840c92ff07b">ALooper_acquire</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper)</td></tr>
-<tr class="separator:gae1ad7ac48ab01a34bfd25840c92ff07b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab723c3c2ac2c66bc695913a194073727"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gab723c3c2ac2c66bc695913a194073727">ALooper_release</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper)</td></tr>
-<tr class="separator:gab723c3c2ac2c66bc695913a194073727"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2a9044602b76fef7f47c7e11a801561c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga2a9044602b76fef7f47c7e11a801561c">ALooper_pollOnce</a> (int timeoutMillis, int *outFd, int *outEvents, void **outData)</td></tr>
-<tr class="separator:ga2a9044602b76fef7f47c7e11a801561c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa7cd0636edc4ed227aadc585360ebefa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gaa7cd0636edc4ed227aadc585360ebefa">ALooper_pollAll</a> (int timeoutMillis, int *outFd, int *outEvents, void **outData)</td></tr>
-<tr class="separator:gaa7cd0636edc4ed227aadc585360ebefa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab2585652f8ae2e2444979194ebe32aaf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gab2585652f8ae2e2444979194ebe32aaf">ALooper_wake</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper)</td></tr>
-<tr class="separator:gab2585652f8ae2e2444979194ebe32aaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2668285bfadcf21ef4d371568a30be33"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#ga2668285bfadcf21ef4d371568a30be33">ALooper_addFd</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper, int fd, int ident, int events, <a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a> callback, void *data)</td></tr>
-<tr class="separator:ga2668285bfadcf21ef4d371568a30be33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf7d68ed05698b251489b4f6c8e54daad"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___looper.html#gaf7d68ed05698b251489b4f6c8e54daad">ALooper_removeFd</a> (<a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper, int fd)</td></tr>
-<tr class="separator:gaf7d68ed05698b251489b4f6c8e54daad"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/modules.jd b/docs/html/ndk/reference/modules.jd
deleted file mode 100644
index 2da7307..0000000
--- a/docs/html/ndk/reference/modules.jd
+++ /dev/null
@@ -1,23 +0,0 @@
-page.title=Modules
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">Modules</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here is a list of all modules:</div><div class="directory">
-<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group___asset.html" target="_self">Asset</a></td><td class="desc"></td></tr>
-<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group___bitmap.html" target="_self">Bitmap</a></td><td class="desc"></td></tr>
-<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group___configuration.html" target="_self">Configuration</a></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group___input.html" target="_self">Input</a></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group___looper.html" target="_self">Looper</a></td><td class="desc"></td></tr>
-<tr id="row_5_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group___native_activity.html" target="_self">Native Activity</a></td><td class="desc"></td></tr>
-<tr id="row_6_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="group___storage.html" target="_self">Storage</a></td><td class="desc"></td></tr>
-<tr id="row_7_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="group___sensor.html" target="_self">Sensor</a></td><td class="desc"></td></tr>
-</table>
-</div><!-- directory -->
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/native__activity_8h.jd b/docs/html/ndk/reference/native__activity_8h.jd
deleted file mode 100644
index 147ffdb..0000000
--- a/docs/html/ndk/reference/native__activity_8h.jd
+++ /dev/null
@@ -1,74 +0,0 @@
-page.title=native_activity.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a> &#124;
-<a href="#var-members">Variables</a>  </div>
-  <div class="headertitle">
-<div class="title">native_activity.h File Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br/>
-<code>#include &lt;sys/types.h&gt;</code><br/>
-<code>#include &lt;jni.h&gt;</code><br/>
-<code>#include &lt;<a class="el" href="asset__manager_8h.html">android/asset_manager.h</a>&gt;</code><br/>
-<code>#include &lt;<a class="el" href="input_8h.html">android/input.h</a>&gt;</code><br/>
-<code>#include &lt;<a class="el" href="native__window_8h.html">android/native_window.h</a>&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga8abd07923f37feb1ce724d139cc2609d"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_native_activity.html">ANativeActivity</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga8abd07923f37feb1ce724d139cc2609d">ANativeActivity</a></td></tr>
-<tr class="separator:ga8abd07923f37feb1ce724d139cc2609d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga28dca784e5ee939427135c72c0151c38"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
-<a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga28dca784e5ee939427135c72c0151c38">ANativeActivityCallbacks</a></td></tr>
-<tr class="separator:ga28dca784e5ee939427135c72c0151c38"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga569a53bcac3fcedb0189b7c412ebcb22"><td class="memItemLeft" align="right" valign="top">typedef void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga569a53bcac3fcedb0189b7c412ebcb22">ANativeActivity_createFunc</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, void *savedState, size_t savedStateSize)</td></tr>
-<tr class="separator:ga569a53bcac3fcedb0189b7c412ebcb22"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga39fca1837c5ce7715cbf571669660c13"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a9b7250ac0e5a626a81b176462a9df7c9">ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT</a> = 0x0001, 
-<a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a324062ac78fab16b40e8de1b1ae173b5">ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED</a> = 0x0002
- }</td></tr>
-<tr class="separator:ga39fca1837c5ce7715cbf571669660c13"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf8fd5f0e57d456151c951e0f3715fc4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a642e76508cc737bbc1df149756c2a807">ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY</a> = 0x0001, 
-<a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a0f4cbb55fa4c29b963b7b37d13352e6f">ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS</a> = 0x0002
- }</td></tr>
-<tr class="separator:gaaf8fd5f0e57d456151c951e0f3715fc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga4d872ae54a239704c06a0517e23cc0ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga4d872ae54a239704c06a0517e23cc0ad">ANativeActivity_finish</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:ga4d872ae54a239704c06a0517e23cc0ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaec8b12decdf2b9841344e75c4c038c5a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaec8b12decdf2b9841344e75c4c038c5a">ANativeActivity_setWindowFormat</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, int32_t format)</td></tr>
-<tr class="separator:gaec8b12decdf2b9841344e75c4c038c5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa1d091ca4a99b0ce570bab1c8c06f297"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaa1d091ca4a99b0ce570bab1c8c06f297">ANativeActivity_setWindowFlags</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, uint32_t addFlags, uint32_t removeFlags)</td></tr>
-<tr class="separator:gaa1d091ca4a99b0ce570bab1c8c06f297"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga14eaeb6190f266369023b04d8ab9dba7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga14eaeb6190f266369023b04d8ab9dba7">ANativeActivity_showSoftInput</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, uint32_t flags)</td></tr>
-<tr class="separator:ga14eaeb6190f266369023b04d8ab9dba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf673d6efea7ce517ef46ff2551b25944"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaf673d6efea7ce517ef46ff2551b25944">ANativeActivity_hideSoftInput</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, uint32_t flags)</td></tr>
-<tr class="separator:gaf673d6efea7ce517ef46ff2551b25944"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
-Variables</h2></td></tr>
-<tr class="memitem:ga02791d0d490839055169f39fdc905c5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___native_activity.html#ga569a53bcac3fcedb0189b7c412ebcb22">ANativeActivity_createFunc</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga02791d0d490839055169f39fdc905c5e">ANativeActivity_onCreate</a></td></tr>
-<tr class="separator:ga02791d0d490839055169f39fdc905c5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/native__window_8h.jd b/docs/html/ndk/reference/native__window_8h.jd
deleted file mode 100644
index 75f9469..0000000
--- a/docs/html/ndk/reference/native__window_8h.jd
+++ /dev/null
@@ -1,61 +0,0 @@
-page.title=native_window.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">native_window.h File Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;<a class="el" href="rect_8h.html">android/rect.h</a>&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga66956d540c2e3709e12156d195e64726"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a></td></tr>
-<tr class="separator:ga66956d540c2e3709e12156d195e64726"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad0983ca473ce36293baf5e51a14c3357"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gad0983ca473ce36293baf5e51a14c3357">ANativeWindow_Buffer</a></td></tr>
-<tr class="separator:gad0983ca473ce36293baf5e51a14c3357"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga94798fdadfbf49a7c658ace669a1d310"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a6a165383340acce0b32c555dd2ac2c01">WINDOW_FORMAT_RGBA_8888</a> = 1, 
-<a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a5f83a97ccf64fc1554c220476e8aaf30">WINDOW_FORMAT_RGBX_8888</a> = 2, 
-<a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310ab26fa9c38f169263b611a8b757bb0259">WINDOW_FORMAT_RGB_565</a> = 4
- }</td></tr>
-<tr class="separator:ga94798fdadfbf49a7c658ace669a1d310"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga533876b57909243b238927344a6592db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga533876b57909243b238927344a6592db">ANativeWindow_acquire</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga533876b57909243b238927344a6592db"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae944e98865b902bd924663785d7b0258"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gae944e98865b902bd924663785d7b0258">ANativeWindow_release</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:gae944e98865b902bd924663785d7b0258"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga186f0040c5cb405a63d93889bb9a4ff1"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga186f0040c5cb405a63d93889bb9a4ff1">ANativeWindow_getWidth</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga186f0040c5cb405a63d93889bb9a4ff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga463ba99f6dee3edc1167a54e1ff7de15"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga463ba99f6dee3edc1167a54e1ff7de15">ANativeWindow_getHeight</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga463ba99f6dee3edc1167a54e1ff7de15"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9e3a492a8300146b30d864f0ab22bb2e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga9e3a492a8300146b30d864f0ab22bb2e">ANativeWindow_getFormat</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga9e3a492a8300146b30d864f0ab22bb2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7b0652533998d61e1a3b542485889113"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga7b0652533998d61e1a3b542485889113">ANativeWindow_setBuffersGeometry</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window, int32_t width, int32_t height, int32_t format)</td></tr>
-<tr class="separator:ga7b0652533998d61e1a3b542485889113"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0b0e3b7d442dee83e1a1b42e5b0caee6"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">ANativeWindow_lock</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window, <a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a> *outBuffer, <a class="el" href="struct_a_rect.html">ARect</a> *inOutDirtyBounds)</td></tr>
-<tr class="separator:ga0b0e3b7d442dee83e1a1b42e5b0caee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4dc9b687ead9034fbc11bf2d90f203f9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga4dc9b687ead9034fbc11bf2d90f203f9">ANativeWindow_unlockAndPost</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ga4dc9b687ead9034fbc11bf2d90f203f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/native__window__jni_8h.jd b/docs/html/ndk/reference/native__window__jni_8h.jd
deleted file mode 100644
index bffbc03..0000000
--- a/docs/html/ndk/reference/native__window__jni_8h.jd
+++ /dev/null
@@ -1,25 +0,0 @@
-page.title=native_window_jni.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">native_window_jni.h File Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;<a class="el" href="native__window_8h.html">android/native_window.h</a>&gt;</code><br/>
-<code>#include &lt;jni.h&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga774d0a87ec496b3940fcddccbc31fd9d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga774d0a87ec496b3940fcddccbc31fd9d">ANativeWindow_fromSurface</a> (JNIEnv *env, jobject surface)</td></tr>
-<tr class="separator:ga774d0a87ec496b3940fcddccbc31fd9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/nav_f.png b/docs/html/ndk/reference/nav_f.png
deleted file mode 100644
index 5ceae87..0000000
--- a/docs/html/ndk/reference/nav_f.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/nav_g.png b/docs/html/ndk/reference/nav_g.png
deleted file mode 100644
index 2093a23..0000000
--- a/docs/html/ndk/reference/nav_g.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/nav_h.png b/docs/html/ndk/reference/nav_h.png
deleted file mode 100644
index e619809c..0000000
--- a/docs/html/ndk/reference/nav_h.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/obb_8h.jd b/docs/html/ndk/reference/obb_8h.jd
deleted file mode 100644
index a856d4ee..0000000
--- a/docs/html/ndk/reference/obb_8h.jd
+++ /dev/null
@@ -1,45 +0,0 @@
-page.title=obb.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">obb.h File Reference<div class="ingroups"><a class="el" href="group___storage.html">Storage</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;sys/types.h&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:gaa5037fe4c0d785a50fc62ac2de9844c3"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a></td></tr>
-<tr class="separator:gaa5037fe4c0d785a50fc62ac2de9844c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gae4d5251432e1a9e6803c0240cc492e18"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___storage.html#ggae4d5251432e1a9e6803c0240cc492e18a33e2ae83b4c25d33a4335dccf1de1c3a">AOBBINFO_OVERLAY</a> = 0x0001
- }</td></tr>
-<tr class="separator:gae4d5251432e1a9e6803c0240cc492e18"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga7beb4f82e3bf9a4b8197917f92ac4d5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga7beb4f82e3bf9a4b8197917f92ac4d5e">AObbScanner_getObbInfo</a> (const char *filename)</td></tr>
-<tr class="separator:ga7beb4f82e3bf9a4b8197917f92ac4d5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaec5a4428008f545e829486099298031a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gaec5a4428008f545e829486099298031a">AObbInfo_delete</a> (<a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *obbInfo)</td></tr>
-<tr class="separator:gaec5a4428008f545e829486099298031a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1ec7eee61541fa5a9b578801a35b9cf3"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga1ec7eee61541fa5a9b578801a35b9cf3">AObbInfo_getPackageName</a> (<a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *obbInfo)</td></tr>
-<tr class="separator:ga1ec7eee61541fa5a9b578801a35b9cf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gacd8471c6d866cffe4a32f3b5997c782c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gacd8471c6d866cffe4a32f3b5997c782c">AObbInfo_getVersion</a> (<a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *obbInfo)</td></tr>
-<tr class="separator:gacd8471c6d866cffe4a32f3b5997c782c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga68d916570c756da9fd0d9096358300eb"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga68d916570c756da9fd0d9096358300eb">AObbInfo_getFlags</a> (<a class="el" href="group___storage.html#gaa5037fe4c0d785a50fc62ac2de9844c3">AObbInfo</a> *obbInfo)</td></tr>
-<tr class="separator:ga68d916570c756da9fd0d9096358300eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/open.png b/docs/html/ndk/reference/open.png
deleted file mode 100644
index 7e740cc..0000000
--- a/docs/html/ndk/reference/open.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/pages.jd b/docs/html/ndk/reference/pages.jd
deleted file mode 100644
index 2d7ece8..0000000
--- a/docs/html/ndk/reference/pages.jd
+++ /dev/null
@@ -1,16 +0,0 @@
-page.title=Related Pages
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">Related Pages</div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
-<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="deprecated.html" target="_self">Deprecated List</a></td><td class="desc"></td></tr>
-</table>
-</div><!-- directory -->
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/rect_8h.jd b/docs/html/ndk/reference/rect_8h.jd
deleted file mode 100644
index 85787b5..0000000
--- a/docs/html/ndk/reference/rect_8h.jd
+++ /dev/null
@@ -1,30 +0,0 @@
-page.title=rect.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#typedef-members">Typedefs</a>  </div>
-  <div class="headertitle">
-<div class="title">rect.h File Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_rect.html">ARect</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:gaa984a498f0e146ac57c6022a323423cf"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_rect.html">ARect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaa984a498f0e146ac57c6022a323423cf">ARect</a></td></tr>
-<tr class="separator:gaa984a498f0e146ac57c6022a323423cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/reference_toc.cs b/docs/html/ndk/reference/reference_toc.cs
deleted file mode 100644
index d4e2d6d..0000000
--- a/docs/html/ndk/reference/reference_toc.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-<?cs # Table of contents for Dev Guide.
-
-       For each document available in translation, add an localized title to this TOC.
-       Do not add localized title for docs not available in translation.
-       Below are template spans for adding localized doc titles. Please ensure that
-       localized titles are added in the language order specified below.
-?>
-
-<ul id="nav">
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="/ndk/reference/group___asset.html"><span class="en">Asset Manager</span></a></div>
-    <ul>
-      <li><a href="/ndk/reference/asset__manager_8h.html">asset_manager.h</a></li>
-      <li><a href="/ndk/reference/asset__manager__jni_8h.html">asset_manager_jni.h</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="/ndk/reference/group___bitmap.html"><span class="en">
-    Bitmap</span></a></div>
-    <ul>
-      <li><a href="/ndk/reference/bitmap_8h.html">bitmap.h</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="/ndk/reference/group___configuration.html"><span class="en">
-    Configuration</span></a></div>
-    <ul>
-      <li><a href="/ndk/reference/configuration_8h.html">configuration.h</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="/ndk/reference/group___input.html"><span class="en">
-    Input</span></a></div>
-    <ul>
-      <li><a href="/ndk/reference/input_8h.html">input.h</a></li>
-      <li><a href="/ndk/reference/keycodes_8h.html">keycodes.h</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="/ndk/reference/group___looper.html"><span class="en">
-    Looper</span></a></div>
-    <ul>
-      <li><a href="/ndk/reference/looper_8h.html">looper.h</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="/ndk/reference/group___native_activity.html"><span class="en">
-    Native Activity and Window</span></a></div>
-    <ul>
-      <li><a href="/ndk/reference/native__activity_8h.html">native_activity.h</a></li>
-      <li><a href="/ndk/reference/native__window_8h.html">native_window.h</a></li>
-      <li><a href="/ndk/reference/native__window__jni_8h.html">native_window.h</a></li>
-      <li><a href="/ndk/reference/rect_8h.html">rect.h</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="/ndk/reference/group___sensor.html"><span class="en">
-    Sensor</span></a></div>
-    <ul>
-      <li><a href="/ndk/reference/sensor_8h.html">sensor.h</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header"><a href="/ndk/reference/group___storage.html"><span class="en">
-    Storage Manager</span></a></div>
-    <ul>
-      <li><a href="/ndk/reference/storage__manager_8h.html">storage_manager.h</a></li>
-      <li><a href="/ndk/reference/obb_8h.html">obb.h</a></li>
-    </ul>
-  </li>
-</ul>
-
-<script type="text/javascript">
-<!--
-    buildToggleLists();
-    changeNavLang(getLangPref());
-//-->
-</script>
\ No newline at end of file
diff --git a/docs/html/ndk/reference/sensor_8h.jd b/docs/html/ndk/reference/sensor_8h.jd
deleted file mode 100644
index a537f4f..0000000
--- a/docs/html/ndk/reference/sensor_8h.jd
+++ /dev/null
@@ -1,143 +0,0 @@
-page.title=sensor.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#nested-classes">Data Structures</a> &#124;
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">sensor.h File Reference<div class="ingroups"><a class="el" href="group___sensor.html">Sensor</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;sys/types.h&gt;</code><br/>
-<code>#include &lt;<a class="el" href="looper_8h.html">android/looper.h</a>&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Data Structures</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_vector.html">ASensorVector</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html">ASensorEvent</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:ga5129cb9e4091fc3474e246d5f950e52b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga5129cb9e4091fc3474e246d5f950e52b">ASENSOR_STANDARD_GRAVITY</a>&#160;&#160;&#160;(9.80665f)</td></tr>
-<tr class="separator:ga5129cb9e4091fc3474e246d5f950e52b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf8b57b13c6432bc6136aac0ad3813d63"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaf8b57b13c6432bc6136aac0ad3813d63">ASENSOR_MAGNETIC_FIELD_EARTH_MAX</a>&#160;&#160;&#160;(60.0f)</td></tr>
-<tr class="separator:gaf8b57b13c6432bc6136aac0ad3813d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4423a712e27b6d5a57d138796892886d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga4423a712e27b6d5a57d138796892886d">ASENSOR_MAGNETIC_FIELD_EARTH_MIN</a>&#160;&#160;&#160;(30.0f)</td></tr>
-<tr class="separator:ga4423a712e27b6d5a57d138796892886d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga207e807f9e18271f6a763e57232b409f"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_sensor_vector.html">ASensorVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga207e807f9e18271f6a763e57232b409f">ASensorVector</a></td></tr>
-<tr class="separator:ga207e807f9e18271f6a763e57232b409f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0378daec23b2d8a70438ef7c3912475f"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga0378daec23b2d8a70438ef7c3912475f">AMetaDataEvent</a></td></tr>
-<tr class="separator:ga0378daec23b2d8a70438ef7c3912475f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga24acc545b908dd24cadc44c5e0760b3b"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga24acc545b908dd24cadc44c5e0760b3b">AUncalibratedEvent</a></td></tr>
-<tr class="separator:ga24acc545b908dd24cadc44c5e0760b3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae85b6eac76abe74e6e53d78bb3a4858c"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gae85b6eac76abe74e6e53d78bb3a4858c">AHeartRateEvent</a></td></tr>
-<tr class="separator:gae85b6eac76abe74e6e53d78bb3a4858c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6bb167c45f0ef0a94d8f178d227e781f"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_sensor_event.html">ASensorEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga6bb167c45f0ef0a94d8f178d227e781f">ASensorEvent</a></td></tr>
-<tr class="separator:ga6bb167c45f0ef0a94d8f178d227e781f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaef620baab9b276ab8f914ae77babc349"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a></td></tr>
-<tr class="separator:gaef620baab9b276ab8f914ae77babc349"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa9448106d6d463f4cc5dded7c914e7ae"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a></td></tr>
-<tr class="separator:gaa9448106d6d463f4cc5dded7c914e7ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga93b28b7ce5e9b6d2ebc5b574cd5f4710"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a></td></tr>
-<tr class="separator:ga93b28b7ce5e9b6d2ebc5b574cd5f4710"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafec8dd682458c750a5f0f913a0f162ce"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">ASensorRef</a></td></tr>
-<tr class="separator:gafec8dd682458c750a5f0f913a0f162ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga26ff51817e8b320a631b3bf4ed378d58"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group___sensor.html#gafec8dd682458c750a5f0f913a0f162ce">ASensorRef</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a></td></tr>
-<tr class="separator:ga26ff51817e8b320a631b3bf4ed378d58"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:ga7ff5f2dff38e7639981794c43dc9167b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167bad72017f34c12971593a8cb14f4f254df">ASENSOR_TYPE_ACCELEROMETER</a> = 1, 
-<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba3b31509a3efebafb413e78f5ec9ae0e8">ASENSOR_TYPE_MAGNETIC_FIELD</a> = 2, 
-<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba80e9827f6c3ded009f354dc7078a2c68">ASENSOR_TYPE_GYROSCOPE</a> = 4, 
-<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba105331b6dea6f08e0d8fe3b736f8c174">ASENSOR_TYPE_LIGHT</a> = 5, 
-<br/>
-&#160;&#160;<a class="el" href="group___sensor.html#gga7ff5f2dff38e7639981794c43dc9167ba0c6a2e526ed2e4442b3843976f906932">ASENSOR_TYPE_PROXIMITY</a> = 8
-<br/>
- }</td></tr>
-<tr class="separator:ga7ff5f2dff38e7639981794c43dc9167b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaabfcbcb5ac86a1edac4035264bc7d2b8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ae5d0475bd9491c4232a09afc81fa283d">ASENSOR_STATUS_NO_CONTACT</a> = -1, 
-<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ae8e43df50b7b85ed54f22c40f2cd748e">ASENSOR_STATUS_UNRELIABLE</a> = 0, 
-<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8a5f306f3d45a19573539462e4c813edc0">ASENSOR_STATUS_ACCURACY_LOW</a> = 1, 
-<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8ad7e9379a4f36a42f2659cd7aec214f2d">ASENSOR_STATUS_ACCURACY_MEDIUM</a> = 2, 
-<br/>
-&#160;&#160;<a class="el" href="group___sensor.html#ggaabfcbcb5ac86a1edac4035264bc7d2b8a2df5fb4e8b684e6a801a4aff9f50ba13">ASENSOR_STATUS_ACCURACY_HIGH</a> = 3
-<br/>
- }</td></tr>
-<tr class="separator:gaabfcbcb5ac86a1edac4035264bc7d2b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5d76b81b0ad4c19007a781d4edb8181f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa8a64337fcb7e338d487dc3edc873df1c">AREPORTING_MODE_CONTINUOUS</a> = 0, 
-<a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa8542165ae195bf5784cdd9ba66bd2ab5">AREPORTING_MODE_ON_CHANGE</a> = 1, 
-<a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181fa002273a1ab874159a38a7e3f6bb6a7bb">AREPORTING_MODE_ONE_SHOT</a> = 2, 
-<a class="el" href="group___sensor.html#gga5d76b81b0ad4c19007a781d4edb8181faa2d29656b35889c4c23318982e847ae7">AREPORTING_MODE_SPECIAL_TRIGGER</a> = 3
- }</td></tr>
-<tr class="separator:ga5d76b81b0ad4c19007a781d4edb8181f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gaa438fdaf34783a89d139f0a56d2692cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaa438fdaf34783a89d139f0a56d2692cd">ASensorManager_getInstance</a> ()</td></tr>
-<tr class="separator:gaa438fdaf34783a89d139f0a56d2692cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga645be938627498ab2b60d94c562204bd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga645be938627498ab2b60d94c562204bd">ASensorManager_getSensorList</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, <a class="el" href="group___sensor.html#ga26ff51817e8b320a631b3bf4ed378d58">ASensorList</a> *list)</td></tr>
-<tr class="separator:ga645be938627498ab2b60d94c562204bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf4880d87e01f5e2d4a9b8403e4047445"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaf4880d87e01f5e2d4a9b8403e4047445">ASensorManager_getDefaultSensor</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, int type)</td></tr>
-<tr class="separator:gaf4880d87e01f5e2d4a9b8403e4047445"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4313457c0e82f4afa77ef13860629633"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga4313457c0e82f4afa77ef13860629633">ASensorManager_getDefaultSensorEx</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, int type, bool wakeUp)</td></tr>
-<tr class="separator:ga4313457c0e82f4afa77ef13860629633"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac46f8b28bcc7a846dea9d841cab0a67b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gac46f8b28bcc7a846dea9d841cab0a67b">ASensorManager_createEventQueue</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, <a class="el" href="group___looper.html#gadb10521a80138b777ba1bc2ca74d4af5">ALooper</a> *looper, int ident, <a class="el" href="group___looper.html#ga410b184b4e48302c439e36c8ce0a7a89">ALooper_callbackFunc</a> callback, void *data)</td></tr>
-<tr class="separator:gac46f8b28bcc7a846dea9d841cab0a67b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf35624037785cdea1e7fe9e0a73fc5e1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaf35624037785cdea1e7fe9e0a73fc5e1">ASensorManager_destroyEventQueue</a> (<a class="el" href="group___sensor.html#gaef620baab9b276ab8f914ae77babc349">ASensorManager</a> *manager, <a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue)</td></tr>
-<tr class="separator:gaf35624037785cdea1e7fe9e0a73fc5e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga48a8379cf9de9b09a71a00f8a3699499"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga48a8379cf9de9b09a71a00f8a3699499">ASensorEventQueue_enableSensor</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue, <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga48a8379cf9de9b09a71a00f8a3699499"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga03852b813887ec236a34c4aef0df4b68"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga03852b813887ec236a34c4aef0df4b68">ASensorEventQueue_disableSensor</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue, <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga03852b813887ec236a34c4aef0df4b68"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa6e89b6d69dc3e07f2d7e72e81ec7937"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaa6e89b6d69dc3e07f2d7e72e81ec7937">ASensorEventQueue_setEventRate</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue, <a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor, int32_t usec)</td></tr>
-<tr class="separator:gaa6e89b6d69dc3e07f2d7e72e81ec7937"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga79c9d6264fe81d4e30800f826db72913"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga79c9d6264fe81d4e30800f826db72913">ASensorEventQueue_hasEvents</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue)</td></tr>
-<tr class="separator:ga79c9d6264fe81d4e30800f826db72913"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab3d4354fd0d3ceb5fa97c129b024a18a"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gab3d4354fd0d3ceb5fa97c129b024a18a">ASensorEventQueue_getEvents</a> (<a class="el" href="group___sensor.html#gaa9448106d6d463f4cc5dded7c914e7ae">ASensorEventQueue</a> *queue, <a class="el" href="struct_a_sensor_event.html">ASensorEvent</a> *events, size_t count)</td></tr>
-<tr class="separator:gab3d4354fd0d3ceb5fa97c129b024a18a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga52f4b22990c70df0784b9ccf23314fae"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga52f4b22990c70df0784b9ccf23314fae">ASensor_getName</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga52f4b22990c70df0784b9ccf23314fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafaf467fc71f7adba537a90f166e3320d"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gafaf467fc71f7adba537a90f166e3320d">ASensor_getVendor</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gafaf467fc71f7adba537a90f166e3320d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga93962747ab3c7d2b609f97af26fc0230"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga93962747ab3c7d2b609f97af26fc0230">ASensor_getType</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga93962747ab3c7d2b609f97af26fc0230"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga3da2930dd866cf1f76da6bc39e578a46"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga3da2930dd866cf1f76da6bc39e578a46">ASensor_getResolution</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga3da2930dd866cf1f76da6bc39e578a46"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gacb6e021757c07344b58742611eaf68e7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gacb6e021757c07344b58742611eaf68e7">ASensor_getMinDelay</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gacb6e021757c07344b58742611eaf68e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae9969580eda319926a677a6937c7afb1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gae9969580eda319926a677a6937c7afb1">ASensor_getFifoMaxEventCount</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gae9969580eda319926a677a6937c7afb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaec7084c6a9d4d85f87c95a70511c5f53"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gaec7084c6a9d4d85f87c95a70511c5f53">ASensor_getFifoReservedEventCount</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gaec7084c6a9d4d85f87c95a70511c5f53"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabee3eb65390fc75a639c59d653af3591"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#gabee3eb65390fc75a639c59d653af3591">ASensor_getStringType</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:gabee3eb65390fc75a639c59d653af3591"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga99e56b84cf421788c27998da8eab7e39"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga99e56b84cf421788c27998da8eab7e39">ASensor_getReportingMode</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga99e56b84cf421788c27998da8eab7e39"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0ff4118e400bedac62be6b79e9e0f924"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sensor.html#ga0ff4118e400bedac62be6b79e9e0f924">ASensor_isWakeUpSensor</a> (<a class="el" href="group___sensor.html#ga93b28b7ce5e9b6d2ebc5b574cd5f4710">ASensor</a> const *sensor)</td></tr>
-<tr class="separator:ga0ff4118e400bedac62be6b79e9e0f924"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/storage__manager_8h.jd b/docs/html/ndk/reference/storage__manager_8h.jd
deleted file mode 100644
index 6048d84..0000000
--- a/docs/html/ndk/reference/storage__manager_8h.jd
+++ /dev/null
@@ -1,59 +0,0 @@
-page.title=storage_manager.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#enum-members">Enumerations</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">storage_manager.h File Reference<div class="ingroups"><a class="el" href="group___storage.html">Storage</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br/>
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:ga419f40803228bca62e32beb911ab28e2"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a></td></tr>
-<tr class="separator:ga419f40803228bca62e32beb911ab28e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf077d06586fa4c0212baa2fe458b9617"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc</a> )(const char *filename, const int32_t state, void *data)</td></tr>
-<tr class="separator:gaf077d06586fa4c0212baa2fe458b9617"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gae8a3b6a5d0d3244ed73924ab2421a0d0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2a9c420e6008c108a7198fd861c042d5">AOBB_STATE_MOUNTED</a> = 1, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a6710bb5b68cfc115eedcde2aafd8a667">AOBB_STATE_UNMOUNTED</a> = 2, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a50642881107d6673aace1494a5d6fce2">AOBB_STATE_ERROR_INTERNAL</a> = 20, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a324da2b8fea5875339d442d1f2d0b45b">AOBB_STATE_ERROR_COULD_NOT_MOUNT</a> = 21, 
-<br/>
-&#160;&#160;<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a1f2b51b53fc57b57a9967f6ce0c88dbe">AOBB_STATE_ERROR_COULD_NOT_UNMOUNT</a> = 22, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a3ce8539aa8b531c9de1d16041322d7a8">AOBB_STATE_ERROR_NOT_MOUNTED</a> = 23, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a8b074af151167a965a550b9829fafb37">AOBB_STATE_ERROR_ALREADY_MOUNTED</a> = 24, 
-<a class="el" href="group___storage.html#ggae8a3b6a5d0d3244ed73924ab2421a0d0a2467a4b6a634680e12c288a7790ff66c">AOBB_STATE_ERROR_PERMISSION_DENIED</a> = 25
-<br/>
- }</td></tr>
-<tr class="separator:gae8a3b6a5d0d3244ed73924ab2421a0d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga1c21ed9e0848fcfc03547c95eeb48877"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga1c21ed9e0848fcfc03547c95eeb48877">AStorageManager_new</a> ()</td></tr>
-<tr class="separator:ga1c21ed9e0848fcfc03547c95eeb48877"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga184c06dd9cec0f21db138167d6b331ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga184c06dd9cec0f21db138167d6b331ed">AStorageManager_delete</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr)</td></tr>
-<tr class="separator:ga184c06dd9cec0f21db138167d6b331ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga61bebaf43e57b4b7f57e7a24a62e9e3d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga61bebaf43e57b4b7f57e7a24a62e9e3d">AStorageManager_mountObb</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr, const char *filename, const char *key, <a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc</a> cb, void *data)</td></tr>
-<tr class="separator:ga61bebaf43e57b4b7f57e7a24a62e9e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4c32c8d2c780016fa36097d833b57809"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga4c32c8d2c780016fa36097d833b57809">AStorageManager_unmountObb</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr, const char *filename, const int force, <a class="el" href="group___storage.html#gaf077d06586fa4c0212baa2fe458b9617">AStorageManager_obbCallbackFunc</a> cb, void *data)</td></tr>
-<tr class="separator:ga4c32c8d2c780016fa36097d833b57809"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7572f2c650fc16cce1b0ab94e913a1ba"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#ga7572f2c650fc16cce1b0ab94e913a1ba">AStorageManager_isObbMounted</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr, const char *filename)</td></tr>
-<tr class="separator:ga7572f2c650fc16cce1b0ab94e913a1ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad5c90305d627e0c768da37cb3e9f08c4"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___storage.html#gad5c90305d627e0c768da37cb3e9f08c4">AStorageManager_getMountedObbPath</a> (<a class="el" href="group___storage.html#ga419f40803228bca62e32beb911ab28e2">AStorageManager</a> *mgr, const char *filename)</td></tr>
-<tr class="separator:gad5c90305d627e0c768da37cb3e9f08c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_heart_rate_event.jd b/docs/html/ndk/reference/struct_a_heart_rate_event.jd
deleted file mode 100644
index 1cd2a2d..0000000
--- a/docs/html/ndk/reference/struct_a_heart_rate_event.jd
+++ /dev/null
@@ -1,51 +0,0 @@
-page.title=AHeartRateEvent Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">AHeartRateEvent Struct Reference<div class="ingroups"><a class="el" href="group___sensor.html">Sensor</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;sensor.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:ab0560092cbaa233e74bb0d543a85965d"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_heart_rate_event.html#ab0560092cbaa233e74bb0d543a85965d">bpm</a></td></tr>
-<tr class="separator:ab0560092cbaa233e74bb0d543a85965d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a555c2084e8436de01dc76a23590e8824"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_heart_rate_event.html#a555c2084e8436de01dc76a23590e8824">status</a></td></tr>
-<tr class="separator:a555c2084e8436de01dc76a23590e8824"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="ab0560092cbaa233e74bb0d543a85965d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float bpm</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a555c2084e8436de01dc76a23590e8824"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int8_t status</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="sensor_8h.html">sensor.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_meta_data_event.jd b/docs/html/ndk/reference/struct_a_meta_data_event.jd
deleted file mode 100644
index 352b5ba..0000000
--- a/docs/html/ndk/reference/struct_a_meta_data_event.jd
+++ /dev/null
@@ -1,51 +0,0 @@
-page.title=AMetaDataEvent Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">AMetaDataEvent Struct Reference<div class="ingroups"><a class="el" href="group___sensor.html">Sensor</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;sensor.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a397e31e246d23c1be3fa82ca4af8b930"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_meta_data_event.html#a397e31e246d23c1be3fa82ca4af8b930">what</a></td></tr>
-<tr class="separator:a397e31e246d23c1be3fa82ca4af8b930"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a470f19badf179fe205462c060e5175b4"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_meta_data_event.html#a470f19badf179fe205462c060e5175b4">sensor</a></td></tr>
-<tr class="separator:a470f19badf179fe205462c060e5175b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a470f19badf179fe205462c060e5175b4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t sensor</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a397e31e246d23c1be3fa82ca4af8b930"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t what</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="sensor_8h.html">sensor.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_native_activity.jd b/docs/html/ndk/reference/struct_a_native_activity.jd
deleted file mode 100644
index 6d8124b..0000000
--- a/docs/html/ndk/reference/struct_a_native_activity.jd
+++ /dev/null
@@ -1,177 +0,0 @@
-page.title=ANativeActivity Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">ANativeActivity Struct Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;native_activity.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:af96995a13e77baf0d71c37d20c79ad51"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#af96995a13e77baf0d71c37d20c79ad51">callbacks</a></td></tr>
-<tr class="separator:af96995a13e77baf0d71c37d20c79ad51"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5e163c28566d4563eafeabd7dcab7eeb"><td class="memItemLeft" align="right" valign="top">JavaVM *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#a5e163c28566d4563eafeabd7dcab7eeb">vm</a></td></tr>
-<tr class="separator:a5e163c28566d4563eafeabd7dcab7eeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae6f0d0cd46e56b7e299b489cb60dd27e"><td class="memItemLeft" align="right" valign="top">JNIEnv *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#ae6f0d0cd46e56b7e299b489cb60dd27e">env</a></td></tr>
-<tr class="separator:ae6f0d0cd46e56b7e299b489cb60dd27e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab10b01c3c23c4ddb9d2ddadd71b03c94"><td class="memItemLeft" align="right" valign="top">jobject&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#ab10b01c3c23c4ddb9d2ddadd71b03c94">clazz</a></td></tr>
-<tr class="separator:ab10b01c3c23c4ddb9d2ddadd71b03c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa52947cdd1476b95e858d83c0f5b0220"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#aa52947cdd1476b95e858d83c0f5b0220">internalDataPath</a></td></tr>
-<tr class="separator:aa52947cdd1476b95e858d83c0f5b0220"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2a61553b2f660ea8b57fcc2b495e109f"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#a2a61553b2f660ea8b57fcc2b495e109f">externalDataPath</a></td></tr>
-<tr class="separator:a2a61553b2f660ea8b57fcc2b495e109f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a40b4b64be7ecfac23751618313eb610d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#a40b4b64be7ecfac23751618313eb610d">sdkVersion</a></td></tr>
-<tr class="separator:a40b4b64be7ecfac23751618313eb610d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae1b90392cd257d16fd66a85bac1b08cd"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#ae1b90392cd257d16fd66a85bac1b08cd">instance</a></td></tr>
-<tr class="separator:ae1b90392cd257d16fd66a85bac1b08cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0f76f065768b8f896ce47a3089fb438d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#a0f76f065768b8f896ce47a3089fb438d">assetManager</a></td></tr>
-<tr class="separator:a0f76f065768b8f896ce47a3089fb438d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0aff284eb9ab311d81f20955258798cf"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html#a0aff284eb9ab311d81f20955258798cf">obbPath</a></td></tr>
-<tr class="separator:a0aff284eb9ab311d81f20955258798cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>This structure defines the native side of an android.app.NativeActivity. It is created by the framework, and handed to the application's native code as it is being launched. </p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a0f76f065768b8f896ce47a3089fb438d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="group___asset.html#ga90c459935e76acf809b9ec90d1872771">AAssetManager</a>* assetManager</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Pointer to the Asset Manager instance for the application. The application uses this to access binary assets bundled inside its own .apk file. </p>
-
-</div>
-</div>
-<a class="anchor" id="af96995a13e77baf0d71c37d20c79ad51"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct <a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a>* callbacks</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Pointer to the callback function table of the native application. You can set the functions here to your own callbacks. The callbacks pointer itself here should not be changed; it is allocated and managed for you by the framework. </p>
-
-</div>
-</div>
-<a class="anchor" id="ab10b01c3c23c4ddb9d2ddadd71b03c94"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">jobject clazz</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The NativeActivity object handle.</p>
-<p>IMPORTANT NOTE: This member is mis-named. It should really be named 'activity' instead of 'clazz', since it's a reference to the NativeActivity instance created by the system for you.</p>
-<p>We unfortunately cannot change this without breaking NDK source-compatibility. </p>
-
-</div>
-</div>
-<a class="anchor" id="ae6f0d0cd46e56b7e299b489cb60dd27e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">JNIEnv* env</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>JNI context for the main thread of the app. Note that this field can ONLY be used from the main thread of the process; that is, the thread that calls into the <a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a>. </p>
-
-</div>
-</div>
-<a class="anchor" id="a2a61553b2f660ea8b57fcc2b495e109f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* externalDataPath</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Path to this application's external (removable/mountable) data directory. </p>
-
-</div>
-</div>
-<a class="anchor" id="ae1b90392cd257d16fd66a85bac1b08cd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void* instance</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>This is the native instance of the application. It is not used by the framework, but can be set by the application to its own instance state. </p>
-
-</div>
-</div>
-<a class="anchor" id="aa52947cdd1476b95e858d83c0f5b0220"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* internalDataPath</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Path to this application's internal data directory. </p>
-
-</div>
-</div>
-<a class="anchor" id="a0aff284eb9ab311d81f20955258798cf"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* obbPath</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Available starting with Honeycomb: path to the directory containing the application's OBB files (if any). If the app doesn't have any OBB files, this directory may not exist. </p>
-
-</div>
-</div>
-<a class="anchor" id="a40b4b64be7ecfac23751618313eb610d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t sdkVersion</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The platform's SDK version code. </p>
-
-</div>
-</div>
-<a class="anchor" id="a5e163c28566d4563eafeabd7dcab7eeb"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">JavaVM* vm</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The global handle on the process's Java VM. </p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="native__activity_8h.html">native_activity.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_native_activity_callbacks.jd b/docs/html/ndk/reference/struct_a_native_activity_callbacks.jd
deleted file mode 100644
index 45b8e5e..0000000
--- a/docs/html/ndk/reference/struct_a_native_activity_callbacks.jd
+++ /dev/null
@@ -1,265 +0,0 @@
-page.title=ANativeActivityCallbacks Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">ANativeActivityCallbacks Struct Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;native_activity.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:acda344fd29c2018640a85a585317d92c"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#acda344fd29c2018640a85a585317d92c">onStart</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:acda344fd29c2018640a85a585317d92c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac2c85491a68e6dece3d82782c1254e73"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#ac2c85491a68e6dece3d82782c1254e73">onResume</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:ac2c85491a68e6dece3d82782c1254e73"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a16a270d24a484a376e28bc6c48fc22a1"><td class="memItemLeft" align="right" valign="top">void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a16a270d24a484a376e28bc6c48fc22a1">onSaveInstanceState</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, size_t *outSize)</td></tr>
-<tr class="separator:a16a270d24a484a376e28bc6c48fc22a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aee8a4dcff234b94d0bf0bc85efea42c2"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#aee8a4dcff234b94d0bf0bc85efea42c2">onPause</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:aee8a4dcff234b94d0bf0bc85efea42c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adefa99d16d11d21bb8a83ba426047605"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#adefa99d16d11d21bb8a83ba426047605">onStop</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:adefa99d16d11d21bb8a83ba426047605"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a45598ebed3d15847b4f97acb9e15076e"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a45598ebed3d15847b4f97acb9e15076e">onDestroy</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:a45598ebed3d15847b4f97acb9e15076e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a620ef54556eac0b2b28d7e6d0644ee4a"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a620ef54556eac0b2b28d7e6d0644ee4a">onWindowFocusChanged</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, int hasFocus)</td></tr>
-<tr class="separator:a620ef54556eac0b2b28d7e6d0644ee4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac997f07e53ba58179a2133e86e5cbd31"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#ac997f07e53ba58179a2133e86e5cbd31">onNativeWindowCreated</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ac997f07e53ba58179a2133e86e5cbd31"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab7bd120b8816508561126308f699f116"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#ab7bd120b8816508561126308f699f116">onNativeWindowResized</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:ab7bd120b8816508561126308f699f116"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3cad4792af363b9a40599d09afeab56c"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a3cad4792af363b9a40599d09afeab56c">onNativeWindowRedrawNeeded</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:a3cad4792af363b9a40599d09afeab56c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a150442c0611e8ce24a32a7c805e7c9db"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a150442c0611e8ce24a32a7c805e7c9db">onNativeWindowDestroyed</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
-<tr class="separator:a150442c0611e8ce24a32a7c805e7c9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a17b41ec9bb8b0b9e42d1e269a62a4d59"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a17b41ec9bb8b0b9e42d1e269a62a4d59">onInputQueueCreated</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue)</td></tr>
-<tr class="separator:a17b41ec9bb8b0b9e42d1e269a62a4d59"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a82675193f867bc64180016923b0bb129"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a82675193f867bc64180016923b0bb129">onInputQueueDestroyed</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue)</td></tr>
-<tr class="separator:a82675193f867bc64180016923b0bb129"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a61d30a43b3c77b6047afe951706f6a1e"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a61d30a43b3c77b6047afe951706f6a1e">onContentRectChanged</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, const <a class="el" href="struct_a_rect.html">ARect</a> *rect)</td></tr>
-<tr class="separator:a61d30a43b3c77b6047afe951706f6a1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2926b45334319089e4e25fbc86d74c3f"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#a2926b45334319089e4e25fbc86d74c3f">onConfigurationChanged</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:a2926b45334319089e4e25fbc86d74c3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aac61f647cbd971321c692a74a1136f67"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html#aac61f647cbd971321c692a74a1136f67">onLowMemory</a> )(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
-<tr class="separator:aac61f647cbd971321c692a74a1136f67"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>These are the callbacks the framework makes into a native application. All of these callbacks happen on the main thread of the application. By default, all callbacks are NULL; set to a pointer to your own function to have it called. </p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a2926b45334319089e4e25fbc86d74c3f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onConfigurationChanged)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The current device AConfiguration has changed. The new configuration can be retrieved from assetManager. </p>
-
-</div>
-</div>
-<a class="anchor" id="a61d30a43b3c77b6047afe951706f6a1e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onContentRectChanged)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, const <a class="el" href="struct_a_rect.html">ARect</a> *rect)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The rectangle in the window in which content should be placed has changed. </p>
-
-</div>
-</div>
-<a class="anchor" id="a45598ebed3d15847b4f97acb9e15076e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onDestroy)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>NativeActivity is being destroyed. See Java documentation for Activity.onDestroy() for more information. </p>
-
-</div>
-</div>
-<a class="anchor" id="a17b41ec9bb8b0b9e42d1e269a62a4d59"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onInputQueueCreated)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The input queue for this native activity's window has been created. You can use the given input queue to start retrieving input events. </p>
-
-</div>
-</div>
-<a class="anchor" id="a82675193f867bc64180016923b0bb129"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onInputQueueDestroyed)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___input.html#ga21d8182651f4b61ae558560023e8339c">AInputQueue</a> *queue)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The input queue for this native activity's window is being destroyed. You should no longer try to reference this object upon returning from this function. </p>
-
-</div>
-</div>
-<a class="anchor" id="aac61f647cbd971321c692a74a1136f67"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onLowMemory)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The system is running low on memory. Use this callback to release resources you do not need, to help the system avoid killing more important processes. </p>
-
-</div>
-</div>
-<a class="anchor" id="ac997f07e53ba58179a2133e86e5cbd31"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onNativeWindowCreated)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The drawing window for this native activity has been created. You can use the given native window object to start drawing. </p>
-
-</div>
-</div>
-<a class="anchor" id="a150442c0611e8ce24a32a7c805e7c9db"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onNativeWindowDestroyed)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The drawing window for this native activity is going to be destroyed. You MUST ensure that you do not touch the window object after returning from this function: in the common case of drawing to the window from another thread, that means the implementation of this callback must properly synchronize with the other thread to stop its drawing before returning from here. </p>
-
-</div>
-</div>
-<a class="anchor" id="a3cad4792af363b9a40599d09afeab56c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onNativeWindowRedrawNeeded)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The drawing window for this native activity needs to be redrawn. To avoid transient artifacts during screen changes (such resizing after rotation), applications should not return from this function until they have finished drawing their window in its current state. </p>
-
-</div>
-</div>
-<a class="anchor" id="ab7bd120b8816508561126308f699f116"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onNativeWindowResized)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The drawing window for this native activity has been resized. You should retrieve the new size from the window and ensure that your rendering in it now matches. </p>
-
-</div>
-</div>
-<a class="anchor" id="aee8a4dcff234b94d0bf0bc85efea42c2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onPause)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>NativeActivity has paused. See Java documentation for Activity.onPause() for more information. </p>
-
-</div>
-</div>
-<a class="anchor" id="ac2c85491a68e6dece3d82782c1254e73"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onResume)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>NativeActivity has resumed. See Java documentation for Activity.onResume() for more information. </p>
-
-</div>
-</div>
-<a class="anchor" id="a16a270d24a484a376e28bc6c48fc22a1"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void*(* onSaveInstanceState)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, size_t *outSize)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Framework is asking NativeActivity to save its current instance state. See Java documentation for Activity.onSaveInstanceState() for more information. The returned pointer needs to be created with malloc(); the framework will call free() on it for you. You also must fill in outSize with the number of bytes in the allocation. Note that the saved state will be persisted, so it can not contain any active entities (pointers to memory, file descriptors, etc). </p>
-
-</div>
-</div>
-<a class="anchor" id="acda344fd29c2018640a85a585317d92c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onStart)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>NativeActivity has started. See Java documentation for Activity.onStart() for more information. </p>
-
-</div>
-</div>
-<a class="anchor" id="adefa99d16d11d21bb8a83ba426047605"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onStop)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>NativeActivity has stopped. See Java documentation for Activity.onStop() for more information. </p>
-
-</div>
-</div>
-<a class="anchor" id="a620ef54556eac0b2b28d7e6d0644ee4a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void(* onWindowFocusChanged)(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, int hasFocus)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Focus has changed in this NativeActivity's window. This is often used, for example, to pause a game when it loses input focus. </p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="native__activity_8h.html">native_activity.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_native_window___buffer.jd b/docs/html/ndk/reference/struct_a_native_window___buffer.jd
deleted file mode 100644
index a2008fd..0000000
--- a/docs/html/ndk/reference/struct_a_native_window___buffer.jd
+++ /dev/null
@@ -1,110 +0,0 @@
-page.title=ANativeWindow_Buffer Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">ANativeWindow_Buffer Struct Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;native_window.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a395d15e7c2b09961c1bfd1da6179b64c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_window___buffer.html#a395d15e7c2b09961c1bfd1da6179b64c">width</a></td></tr>
-<tr class="separator:a395d15e7c2b09961c1bfd1da6179b64c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5d8006e753a3e76ff637a4e092bbed71"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_window___buffer.html#a5d8006e753a3e76ff637a4e092bbed71">height</a></td></tr>
-<tr class="separator:a5d8006e753a3e76ff637a4e092bbed71"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4438e3445d33be6d33b2c0dbe9c2e0d7"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_window___buffer.html#a4438e3445d33be6d33b2c0dbe9c2e0d7">stride</a></td></tr>
-<tr class="separator:a4438e3445d33be6d33b2c0dbe9c2e0d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a49d503b84d084937e3ceeda9f0b4659e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_window___buffer.html#a49d503b84d084937e3ceeda9f0b4659e">format</a></td></tr>
-<tr class="separator:a49d503b84d084937e3ceeda9f0b4659e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a089d8e968fac54a9e45f059b8b78cf9b"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_window___buffer.html#a089d8e968fac54a9e45f059b8b78cf9b">bits</a></td></tr>
-<tr class="separator:a089d8e968fac54a9e45f059b8b78cf9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a60cc5aad4013157e2e7434d6de450656"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_window___buffer.html#a60cc5aad4013157e2e7434d6de450656">reserved</a> [6]</td></tr>
-<tr class="separator:a60cc5aad4013157e2e7434d6de450656"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> is a struct that represents a windows buffer.</p>
-<p>A pointer can be obtained using <a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">ANativeWindow_lock()</a>. </p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a089d8e968fac54a9e45f059b8b78cf9b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void* bits</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a49d503b84d084937e3ceeda9f0b4659e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t format</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a5d8006e753a3e76ff637a4e092bbed71"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t height</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a60cc5aad4013157e2e7434d6de450656"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32_t reserved[6]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a4438e3445d33be6d33b2c0dbe9c2e0d7"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t stride</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a395d15e7c2b09961c1bfd1da6179b64c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t width</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="native__window_8h.html">native_window.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_rect.jd b/docs/html/ndk/reference/struct_a_rect.jd
deleted file mode 100644
index 4b9bb67..0000000
--- a/docs/html/ndk/reference/struct_a_rect.jd
+++ /dev/null
@@ -1,86 +0,0 @@
-page.title=ARect Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">ARect Struct Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;rect.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a9ee4ce87784b0ebeaadce132ce7d421f"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_rect.html#a9ee4ce87784b0ebeaadce132ce7d421f">left</a></td></tr>
-<tr class="separator:a9ee4ce87784b0ebeaadce132ce7d421f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad07137116129d873220209ea65f9d3d4"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_rect.html#ad07137116129d873220209ea65f9d3d4">top</a></td></tr>
-<tr class="separator:ad07137116129d873220209ea65f9d3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3d3a4d6bf8bc6c866fa737e11590cc4e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_rect.html#a3d3a4d6bf8bc6c866fa737e11590cc4e">right</a></td></tr>
-<tr class="separator:a3d3a4d6bf8bc6c866fa737e11590cc4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4479860c72ca8e96ac4fb1cc149dd71b"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_rect.html#a4479860c72ca8e96ac4fb1cc149dd71b">bottom</a></td></tr>
-<tr class="separator:a4479860c72ca8e96ac4fb1cc149dd71b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p><a class="el" href="struct_a_rect.html">ARect</a> is a struct that represents a rectangular window area.</p>
-<p>It is used with <a class="el" href="struct_a_native_activity_callbacks.html#a61d30a43b3c77b6047afe951706f6a1e">ANativeActivityCallbacks::onContentRectChanged</a> event callback and <a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">ANativeWindow_lock()</a> function. </p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a4479860c72ca8e96ac4fb1cc149dd71b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t bottom</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>bottom position </p>
-
-</div>
-</div>
-<a class="anchor" id="a9ee4ce87784b0ebeaadce132ce7d421f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t left</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>left position </p>
-
-</div>
-</div>
-<a class="anchor" id="a3d3a4d6bf8bc6c866fa737e11590cc4e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t right</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>left position </p>
-
-</div>
-</div>
-<a class="anchor" id="ad07137116129d873220209ea65f9d3d4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t top</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>top position </p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="rect_8h.html">rect.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_sensor_event.jd b/docs/html/ndk/reference/struct_a_sensor_event.jd
deleted file mode 100644
index 3c6e49d..0000000
--- a/docs/html/ndk/reference/struct_a_sensor_event.jd
+++ /dev/null
@@ -1,364 +0,0 @@
-page.title=ASensorEvent Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">ASensorEvent Struct Reference<div class="ingroups"><a class="el" href="group___sensor.html">Sensor</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;sensor.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a67fae7dd1de9edce3656ed214d20377f"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html#a67fae7dd1de9edce3656ed214d20377f">version</a></td></tr>
-<tr class="separator:a67fae7dd1de9edce3656ed214d20377f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a470f19badf179fe205462c060e5175b4"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html#a470f19badf179fe205462c060e5175b4">sensor</a></td></tr>
-<tr class="separator:a470f19badf179fe205462c060e5175b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a449e574ed6911881dc55507cb5635c2c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html#a449e574ed6911881dc55507cb5635c2c">type</a></td></tr>
-<tr class="separator:a449e574ed6911881dc55507cb5635c2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3b1869501b35bf41f2ff54de072b6c2c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html#a3b1869501b35bf41f2ff54de072b6c2c">reserved0</a></td></tr>
-<tr class="separator:a3b1869501b35bf41f2ff54de072b6c2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8a591d341723df9496cda98e225b25b4"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html#a8a591d341723df9496cda98e225b25b4">timestamp</a></td></tr>
-<tr class="separator:a8a591d341723df9496cda98e225b25b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5a4f7ed8edd7821e9e0932df3a29792d"><td class="memItemLeft" >union {</td></tr>
-<tr class="memitem:af302fa16ee998a27548f088d0d9bb64f"><td class="memItemLeft" >&#160;&#160;&#160;union {</td></tr>
-<tr class="memitem:a31244897a6c7f657a9aec807dd1e09ae"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a31244897a6c7f657a9aec807dd1e09ae">data</a> [16]</td></tr>
-<tr class="separator:a31244897a6c7f657a9aec807dd1e09ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aebf12879fa9b61c671584994ddad9610"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html">ASensorVector</a>&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#aebf12879fa9b61c671584994ddad9610">vector</a></td></tr>
-<tr class="separator:aebf12879fa9b61c671584994ddad9610"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aab1f50881089166ff5f3d46f7bfcf09c"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html">ASensorVector</a>&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#aab1f50881089166ff5f3d46f7bfcf09c">acceleration</a></td></tr>
-<tr class="separator:aab1f50881089166ff5f3d46f7bfcf09c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a776bc8e3beff52764ef2d6d423563d64"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html">ASensorVector</a>&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a776bc8e3beff52764ef2d6d423563d64">magnetic</a></td></tr>
-<tr class="separator:a776bc8e3beff52764ef2d6d423563d64"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afc1d28cfbce795d6ea954ebe725241f5"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#afc1d28cfbce795d6ea954ebe725241f5">temperature</a></td></tr>
-<tr class="separator:afc1d28cfbce795d6ea954ebe725241f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a06f14a9abd47b91465f895d5259cdc1b"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a06f14a9abd47b91465f895d5259cdc1b">distance</a></td></tr>
-<tr class="separator:a06f14a9abd47b91465f895d5259cdc1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaf8b2537020ae0b7450785724d77a3e0"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#aaf8b2537020ae0b7450785724d77a3e0">light</a></td></tr>
-<tr class="separator:aaf8b2537020ae0b7450785724d77a3e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac870e1249bab4a2a68cc4126761d24ef"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#ac870e1249bab4a2a68cc4126761d24ef">pressure</a></td></tr>
-<tr class="separator:ac870e1249bab4a2a68cc4126761d24ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad60830bc80efb7e8a11d6fb25518f55b"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#ad60830bc80efb7e8a11d6fb25518f55b">relative_humidity</a></td></tr>
-<tr class="separator:ad60830bc80efb7e8a11d6fb25518f55b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4e35158edcd83e4651d7083ebdb41bae"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a>&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a4e35158edcd83e4651d7083ebdb41bae">uncalibrated_gyro</a></td></tr>
-<tr class="separator:a4e35158edcd83e4651d7083ebdb41bae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3c746f01a48fbdefaad12c35be0dd715"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a>&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a3c746f01a48fbdefaad12c35be0dd715">uncalibrated_magnetic</a></td></tr>
-<tr class="separator:a3c746f01a48fbdefaad12c35be0dd715"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a40a6e69697a42e0f0ad04a09d7f113d3"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a>&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a40a6e69697a42e0f0ad04a09d7f113d3">meta_data</a></td></tr>
-<tr class="separator:a40a6e69697a42e0f0ad04a09d7f113d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2325abb12f65d7cbceec766e6db506d8"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a>&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a2325abb12f65d7cbceec766e6db506d8">heart_rate</a></td></tr>
-<tr class="separator:a2325abb12f65d7cbceec766e6db506d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af302fa16ee998a27548f088d0d9bb64f"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:af302fa16ee998a27548f088d0d9bb64f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a89806d4445310e62ed4b68c9e2698b27"><td class="memItemLeft" >&#160;&#160;&#160;union {</td></tr>
-<tr class="memitem:a1bc800e1b28e4acd0ee4e971619a598f"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;uint64_t&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a1bc800e1b28e4acd0ee4e971619a598f">data</a> [8]</td></tr>
-<tr class="separator:a1bc800e1b28e4acd0ee4e971619a598f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2e54280490afc977b11157e387841145"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;uint64_t&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a2e54280490afc977b11157e387841145">step_counter</a></td></tr>
-<tr class="separator:a2e54280490afc977b11157e387841145"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a89806d4445310e62ed4b68c9e2698b27"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;&#160;&#160;<a class="el" href="struct_a_sensor_event.html#a89806d4445310e62ed4b68c9e2698b27">u64</a></td></tr>
-<tr class="separator:a89806d4445310e62ed4b68c9e2698b27"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5a4f7ed8edd7821e9e0932df3a29792d"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a5a4f7ed8edd7821e9e0932df3a29792d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a773b39d480759f67926cb18ae2219281"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html#a773b39d480759f67926cb18ae2219281">flags</a></td></tr>
-<tr class="separator:a773b39d480759f67926cb18ae2219281"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3c2ed5a26d302c47f7b3f2dd0bbf7f94"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_event.html#a3c2ed5a26d302c47f7b3f2dd0bbf7f94">reserved1</a> [3]</td></tr>
-<tr class="separator:a3c2ed5a26d302c47f7b3f2dd0bbf7f94"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a5a4f7ed8edd7821e9e0932df3a29792d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">union { ... } </td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aab1f50881089166ff5f3d46f7bfcf09c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="struct_a_sensor_vector.html">ASensorVector</a> acceleration</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a31244897a6c7f657a9aec807dd1e09ae"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float data[16]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a1bc800e1b28e4acd0ee4e971619a598f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint64_t data[8]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a06f14a9abd47b91465f895d5259cdc1b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float distance</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a773b39d480759f67926cb18ae2219281"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32_t flags</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a2325abb12f65d7cbceec766e6db506d8"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="struct_a_heart_rate_event.html">AHeartRateEvent</a> heart_rate</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aaf8b2537020ae0b7450785724d77a3e0"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float light</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a776bc8e3beff52764ef2d6d423563d64"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="struct_a_sensor_vector.html">ASensorVector</a> magnetic</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a40a6e69697a42e0f0ad04a09d7f113d3"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="struct_a_meta_data_event.html">AMetaDataEvent</a> meta_data</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac870e1249bab4a2a68cc4126761d24ef"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float pressure</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ad60830bc80efb7e8a11d6fb25518f55b"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float relative_humidity</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a3b1869501b35bf41f2ff54de072b6c2c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t reserved0</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a3c2ed5a26d302c47f7b3f2dd0bbf7f94"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t reserved1[3]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a470f19badf179fe205462c060e5175b4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t sensor</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a2e54280490afc977b11157e387841145"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint64_t step_counter</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="afc1d28cfbce795d6ea954ebe725241f5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float temperature</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a8a591d341723df9496cda98e225b25b4"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int64_t timestamp</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a449e574ed6911881dc55507cb5635c2c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t type</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a89806d4445310e62ed4b68c9e2698b27"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">union { ... }   u64</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a4e35158edcd83e4651d7083ebdb41bae"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a> uncalibrated_gyro</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a3c746f01a48fbdefaad12c35be0dd715"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="struct_a_uncalibrated_event.html">AUncalibratedEvent</a> uncalibrated_magnetic</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aebf12879fa9b61c671584994ddad9610"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="struct_a_sensor_vector.html">ASensorVector</a> vector</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a67fae7dd1de9edce3656ed214d20377f"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t version</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="sensor_8h.html">sensor.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_sensor_vector.jd b/docs/html/ndk/reference/struct_a_sensor_vector.jd
deleted file mode 100644
index 397ad6d..0000000
--- a/docs/html/ndk/reference/struct_a_sensor_vector.jd
+++ /dev/null
@@ -1,172 +0,0 @@
-page.title=ASensorVector Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">ASensorVector Struct Reference<div class="ingroups"><a class="el" href="group___sensor.html">Sensor</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;sensor.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a1c2115c78d0380b0ecfbf9e94adcf821"><td class="memItemLeft" >union {</td></tr>
-<tr class="memitem:a9a1a1a00f1e45435cc3001b553000a21"><td class="memItemLeft" >&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html#a9a1a1a00f1e45435cc3001b553000a21">v</a> [3]</td></tr>
-<tr class="separator:a9a1a1a00f1e45435cc3001b553000a21"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ada5f2f99413a51a46caa8ef7f44c7a88"><td class="memItemLeft" >&#160;&#160;&#160;struct {</td></tr>
-<tr class="memitem:ad0da36b2558901e21e7a30f6c227a45e"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html#ad0da36b2558901e21e7a30f6c227a45e">x</a></td></tr>
-<tr class="separator:ad0da36b2558901e21e7a30f6c227a45e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa4f0d3eebc3c443f9be81bf48561a217"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html#aa4f0d3eebc3c443f9be81bf48561a217">y</a></td></tr>
-<tr class="separator:aa4f0d3eebc3c443f9be81bf48561a217"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af73583b1e980b0aa03f9884812e9fd4d"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html#af73583b1e980b0aa03f9884812e9fd4d">z</a></td></tr>
-<tr class="separator:af73583b1e980b0aa03f9884812e9fd4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ada5f2f99413a51a46caa8ef7f44c7a88"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:ada5f2f99413a51a46caa8ef7f44c7a88"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa217775a0b49338072ee12500155bdbf"><td class="memItemLeft" >&#160;&#160;&#160;struct {</td></tr>
-<tr class="memitem:a01b03ebfa7d0a95760e743f611fecbc5"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html#a01b03ebfa7d0a95760e743f611fecbc5">azimuth</a></td></tr>
-<tr class="separator:a01b03ebfa7d0a95760e743f611fecbc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a282e7d4378d4a18a805b8980295ac86c"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html#a282e7d4378d4a18a805b8980295ac86c">pitch</a></td></tr>
-<tr class="separator:a282e7d4378d4a18a805b8980295ac86c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a26fd84d522945b6038221d9e38c7cc39"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_sensor_vector.html#a26fd84d522945b6038221d9e38c7cc39">roll</a></td></tr>
-<tr class="separator:a26fd84d522945b6038221d9e38c7cc39"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa217775a0b49338072ee12500155bdbf"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:aa217775a0b49338072ee12500155bdbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1c2115c78d0380b0ecfbf9e94adcf821"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a1c2115c78d0380b0ecfbf9e94adcf821"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a555c2084e8436de01dc76a23590e8824"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_vector.html#a555c2084e8436de01dc76a23590e8824">status</a></td></tr>
-<tr class="separator:a555c2084e8436de01dc76a23590e8824"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a72aca6ea6d8153b28ea8f139b932ec3e"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_sensor_vector.html#a72aca6ea6d8153b28ea8f139b932ec3e">reserved</a> [3]</td></tr>
-<tr class="separator:a72aca6ea6d8153b28ea8f139b932ec3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>A sensor event. </p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a1c2115c78d0380b0ecfbf9e94adcf821"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">union { ... } </td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a01b03ebfa7d0a95760e743f611fecbc5"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float azimuth</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a282e7d4378d4a18a805b8980295ac86c"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float pitch</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a72aca6ea6d8153b28ea8f139b932ec3e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint8_t reserved[3]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a26fd84d522945b6038221d9e38c7cc39"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float roll</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a555c2084e8436de01dc76a23590e8824"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int8_t status</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a9a1a1a00f1e45435cc3001b553000a21"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float v[3]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ad0da36b2558901e21e7a30f6c227a45e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float x</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aa4f0d3eebc3c443f9be81bf48561a217"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float y</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="af73583b1e980b0aa03f9884812e9fd4d"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float z</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="sensor_8h.html">sensor.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_a_uncalibrated_event.jd b/docs/html/ndk/reference/struct_a_uncalibrated_event.jd
deleted file mode 100644
index 985b0b9..0000000
--- a/docs/html/ndk/reference/struct_a_uncalibrated_event.jd
+++ /dev/null
@@ -1,171 +0,0 @@
-page.title=AUncalibratedEvent Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">AUncalibratedEvent Struct Reference<div class="ingroups"><a class="el" href="group___sensor.html">Sensor</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;sensor.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a7b163a0b99971787ece3a65e6000fdf2"><td class="memItemLeft" >union {</td></tr>
-<tr class="memitem:a9c22454e765672782b7198d57a92f5fd"><td class="memItemLeft" >&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html#a9c22454e765672782b7198d57a92f5fd">uncalib</a> [3]</td></tr>
-<tr class="separator:a9c22454e765672782b7198d57a92f5fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8b528c70566cf887c975d6c5a9cdcbb1"><td class="memItemLeft" >&#160;&#160;&#160;struct {</td></tr>
-<tr class="memitem:ac8b7f8daea042eaa2b86f0bf2160c44a"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html#ac8b7f8daea042eaa2b86f0bf2160c44a">x_uncalib</a></td></tr>
-<tr class="separator:ac8b7f8daea042eaa2b86f0bf2160c44a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a43437dd77e26c6b89ab1c91aeb63fd64"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html#a43437dd77e26c6b89ab1c91aeb63fd64">y_uncalib</a></td></tr>
-<tr class="separator:a43437dd77e26c6b89ab1c91aeb63fd64"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae677be5f98570cc5a1fd7fddcd8a6841"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html#ae677be5f98570cc5a1fd7fddcd8a6841">z_uncalib</a></td></tr>
-<tr class="separator:ae677be5f98570cc5a1fd7fddcd8a6841"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8b528c70566cf887c975d6c5a9cdcbb1"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a8b528c70566cf887c975d6c5a9cdcbb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7b163a0b99971787ece3a65e6000fdf2"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a7b163a0b99971787ece3a65e6000fdf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac376d6a49d888be08124578ee9b9fc15"><td class="memItemLeft" >union {</td></tr>
-<tr class="memitem:a52bd7f09c4decadcfbc0347fda4163d6"><td class="memItemLeft" >&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html#a52bd7f09c4decadcfbc0347fda4163d6">bias</a> [3]</td></tr>
-<tr class="separator:a52bd7f09c4decadcfbc0347fda4163d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4710797e0d0109a279359bfb8d4e2327"><td class="memItemLeft" >&#160;&#160;&#160;struct {</td></tr>
-<tr class="memitem:a56c4ea73587a9ea20595cca9bcfe9593"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html#a56c4ea73587a9ea20595cca9bcfe9593">x_bias</a></td></tr>
-<tr class="separator:a56c4ea73587a9ea20595cca9bcfe9593"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a130457eaa905b467bc43fedb02cbb16a"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html#a130457eaa905b467bc43fedb02cbb16a">y_bias</a></td></tr>
-<tr class="separator:a130457eaa905b467bc43fedb02cbb16a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6e265324293107afbfa9e587941a4036"><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;float&#160;&#160;&#160;<a class="el" href="struct_a_uncalibrated_event.html#a6e265324293107afbfa9e587941a4036">z_bias</a></td></tr>
-<tr class="separator:a6e265324293107afbfa9e587941a4036"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4710797e0d0109a279359bfb8d4e2327"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a4710797e0d0109a279359bfb8d4e2327"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac376d6a49d888be08124578ee9b9fc15"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:ac376d6a49d888be08124578ee9b9fc15"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a7b163a0b99971787ece3a65e6000fdf2"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">union { ... } </td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac376d6a49d888be08124578ee9b9fc15"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">union { ... } </td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a52bd7f09c4decadcfbc0347fda4163d6"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float bias[3]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a9c22454e765672782b7198d57a92f5fd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float uncalib[3]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a56c4ea73587a9ea20595cca9bcfe9593"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float x_bias</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac8b7f8daea042eaa2b86f0bf2160c44a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float x_uncalib</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a130457eaa905b467bc43fedb02cbb16a"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float y_bias</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a43437dd77e26c6b89ab1c91aeb63fd64"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float y_uncalib</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a6e265324293107afbfa9e587941a4036"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float z_bias</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ae677be5f98570cc5a1fd7fddcd8a6841"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">float z_uncalib</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="sensor_8h.html">sensor.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/struct_android_bitmap_info.jd b/docs/html/ndk/reference/struct_android_bitmap_info.jd
deleted file mode 100644
index f995b56..0000000
--- a/docs/html/ndk/reference/struct_android_bitmap_info.jd
+++ /dev/null
@@ -1,100 +0,0 @@
-page.title=AndroidBitmapInfo Struct Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">AndroidBitmapInfo Struct Reference<div class="ingroups"><a class="el" href="group___bitmap.html">Bitmap</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;bitmap.h&gt;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Data Fields</h2></td></tr>
-<tr class="memitem:a325272ddd9a962f05deb905101d25cbd"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_android_bitmap_info.html#a325272ddd9a962f05deb905101d25cbd">width</a></td></tr>
-<tr class="separator:a325272ddd9a962f05deb905101d25cbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6ad4f820ce4e75cda0686fcaad5168be"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_android_bitmap_info.html#a6ad4f820ce4e75cda0686fcaad5168be">height</a></td></tr>
-<tr class="separator:a6ad4f820ce4e75cda0686fcaad5168be"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a981556a4e63b7b6d9f94975c7a8930ab"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_android_bitmap_info.html#a981556a4e63b7b6d9f94975c7a8930ab">stride</a></td></tr>
-<tr class="separator:a981556a4e63b7b6d9f94975c7a8930ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a49d503b84d084937e3ceeda9f0b4659e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_android_bitmap_info.html#a49d503b84d084937e3ceeda9f0b4659e">format</a></td></tr>
-<tr class="separator:a49d503b84d084937e3ceeda9f0b4659e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a773b39d480759f67926cb18ae2219281"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_android_bitmap_info.html#a773b39d480759f67926cb18ae2219281">flags</a></td></tr>
-<tr class="separator:a773b39d480759f67926cb18ae2219281"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Bitmap info, see <a class="el" href="group___bitmap.html#ga80292ee39d8a675928e38849742b54bf">AndroidBitmap_getInfo()</a>. </p>
-</div><h2 class="groupheader">Field Documentation</h2>
-<a class="anchor" id="a773b39d480759f67926cb18ae2219281"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32_t flags</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Unused. </p>
-
-</div>
-</div>
-<a class="anchor" id="a49d503b84d084937e3ceeda9f0b4659e"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32_t format</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The bitmap pixel format. See <a class="el" href="group___bitmap.html#gaea286a2d4c61ae2abb02b51500499f13">AndroidBitmapFormat</a> </p>
-
-</div>
-</div>
-<a class="anchor" id="a6ad4f820ce4e75cda0686fcaad5168be"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32_t height</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The bitmap height in pixels. </p>
-
-</div>
-</div>
-<a class="anchor" id="a981556a4e63b7b6d9f94975c7a8930ab"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32_t stride</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The number of byte per row. </p>
-
-</div>
-</div>
-<a class="anchor" id="a325272ddd9a962f05deb905101d25cbd"></a>
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32_t width</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The bitmap width in pixels. </p>
-
-</div>
-</div>
-<hr/>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="bitmap_8h.html">bitmap.h</a></li>
-</ul>
-</div><!-- contents -->
diff --git a/docs/html/ndk/reference/sync_off.png b/docs/html/ndk/reference/sync_off.png
deleted file mode 100644
index b856624..0000000
--- a/docs/html/ndk/reference/sync_off.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/sync_on.png b/docs/html/ndk/reference/sync_on.png
deleted file mode 100644
index e5044af..0000000
--- a/docs/html/ndk/reference/sync_on.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/tab_a.png b/docs/html/ndk/reference/tab_a.png
deleted file mode 100644
index 170a784..0000000
--- a/docs/html/ndk/reference/tab_a.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/tab_b.png b/docs/html/ndk/reference/tab_b.png
deleted file mode 100644
index 7774499..0000000
--- a/docs/html/ndk/reference/tab_b.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/tab_h.png b/docs/html/ndk/reference/tab_h.png
deleted file mode 100644
index e1dddef..0000000
--- a/docs/html/ndk/reference/tab_h.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/tab_s.png b/docs/html/ndk/reference/tab_s.png
deleted file mode 100644
index 3dc07b0..0000000
--- a/docs/html/ndk/reference/tab_s.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/ndk/reference/tabs.css b/docs/html/ndk/reference/tabs.css
deleted file mode 100644
index 71145bb..0000000
--- a/docs/html/ndk/reference/tabs.css
+++ /dev/null
@@ -1,60 +0,0 @@
-.tabs, .tabs2, .tabs3 {
-    background-image: url('tab_b.png');
-    width: 100%;
-    z-index: 101;
-    font-size: 13px;
-    font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
-}
-
-.tabs2 {
-    font-size: 10px;
-}
-.tabs3 {
-    font-size: 9px;
-}
-
-.tablist {
-    margin: 0;
-    padding: 0;
-    display: table;
-}
-
-.tablist li {
-    float: left;
-    display: table-cell;
-    background-image: url('tab_b.png');
-    line-height: 36px;
-    list-style: none;
-}
-
-.tablist a {
-    display: block;
-    padding: 0 20px;
-    font-weight: bold;
-    background-image:url('tab_s.png');
-    background-repeat:no-repeat;
-    background-position:right;
-    color: #434343;
-    text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
-    text-decoration: none;
-    outline: none;
-}
-
-.tabs3 .tablist a {
-    padding: 0 10px;
-}
-
-.tablist a:hover {
-    background-image: url('tab_h.png');
-    background-repeat:repeat-x;
-    color: #fff;
-    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
-    text-decoration: none;
-}
-
-.tablist li.current a {
-    background-image: url('tab_a.png');
-    background-repeat:repeat-x;
-    color: #fff;
-    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
-}
diff --git a/docs/html/ndk/reference/window_8h.jd b/docs/html/ndk/reference/window_8h.jd
deleted file mode 100644
index 39e01dc..0000000
--- a/docs/html/ndk/reference/window_8h.jd
+++ /dev/null
@@ -1,53 +0,0 @@
-page.title=window.h File Reference
-page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
-@jd:body
-<!-- Generated by Doxygen 1.8.6 -->
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_035c76f7235f5f563d38e3ab90cb9716.html">android</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#enum-members">Enumerations</a>  </div>
-  <div class="headertitle">
-<div class="title">window.h File Reference<div class="ingroups"><a class="el" href="group___native_activity.html">Native Activity</a></div></div>  </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
-Enumerations</h2></td></tr>
-<tr class="memitem:gaf715e26dfffd1f8de1c18449e2770cff"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa67363c129036872bc9dd29557e807508">AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON</a> = 0x00000001, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6155e77ae4e12cc56fb3f6f55f56bf6f">AWINDOW_FLAG_DIM_BEHIND</a> = 0x00000002, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa0377f46a626d411ace179c1c27d0a3f7">AWINDOW_FLAG_BLUR_BEHIND</a> = 0x00000004, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">AWINDOW_FLAG_NOT_FOCUSABLE</a> = 0x00000008, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae9f1278ffa6fe9c12c2305d4f4de1450">AWINDOW_FLAG_NOT_TOUCHABLE</a> = 0x00000010, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09">AWINDOW_FLAG_NOT_TOUCH_MODAL</a> = 0x00000020, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5574a513645e6e7cb4d6a9f4a043d773">AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING</a> = 0x00000040, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8">AWINDOW_FLAG_KEEP_SCREEN_ON</a> = 0x00000080, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6978968d7e0dc1a0e12f58ad395a959a">AWINDOW_FLAG_LAYOUT_IN_SCREEN</a> = 0x00000100, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffade9722581a203ee0db25d42f4d2bd389">AWINDOW_FLAG_LAYOUT_NO_LIMITS</a> = 0x00000200, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaca1f1d91313d7c32bb7982d8a5abcd71">AWINDOW_FLAG_FULLSCREEN</a> = 0x00000400, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa4c21235db629d3937f87ffe98cd6fe5d">AWINDOW_FLAG_FORCE_NOT_FULLSCREEN</a> = 0x00000800, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae73488b436aaea163ba2f7051bf93d9d">AWINDOW_FLAG_DITHER</a> = 0x00001000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa8ff70709a588a05781d7cb178b526cc0">AWINDOW_FLAG_SECURE</a> = 0x00002000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa80316264eeae9681a56c1a2297bf465a">AWINDOW_FLAG_SCALED</a> = 0x00004000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaa2fe4ee2307bb814a37a043de6d7d326">AWINDOW_FLAG_IGNORE_CHEEK_PRESSES</a> = 0x00008000, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa97b8542941bfe613bcf92357be89b563">AWINDOW_FLAG_LAYOUT_INSET_DECOR</a> = 0x00010000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa961ff4c9c0903cfb8867d961bebe1659">AWINDOW_FLAG_ALT_FOCUSABLE_IM</a> = 0x00020000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa35229f75b3309bafdd828cbbf27d05b6">AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH</a> = 0x00040000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">AWINDOW_FLAG_SHOW_WHEN_LOCKED</a> = 0x00080000, 
-<br/>
-&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa952ae6ceebe94d3f0d666454548b8824">AWINDOW_FLAG_SHOW_WALLPAPER</a> = 0x00100000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffac4deee26ac742bbd0bb4c44fda140a01">AWINDOW_FLAG_TURN_SCREEN_ON</a> = 0x00200000, 
-<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa37c1077a12f1c8c6805b1da6f7bb213a">AWINDOW_FLAG_DISMISS_KEYGUARD</a> = 0x00400000
-<br/>
- }</td></tr>
-<tr class="separator:gaf715e26dfffd1f8de1c18449e2770cff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-</div><!-- contents -->
diff --git a/docs/html/ndk/samples/_book.yaml b/docs/html/ndk/samples/_book.yaml
deleted file mode 100644
index 3665f5a..0000000
--- a/docs/html/ndk/samples/_book.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-toc:
-- title: Overview
-  path: /ndk/samples/index.html
-
-- title: Walkthroughs
-  path: /ndk/samples/walkthroughs.html
-  section:
-  - title: hello-jni
-    path: /ndk/samples/sample_hellojni.html
-  - title: native-activity
-    path: /ndk/samples/sample_na.html
-  - title: Teapot
-    path: /ndk/samples/sample_teapot.html
diff --git a/docs/html/ndk/samples/index.jd b/docs/html/ndk/samples/index.jd
deleted file mode 100644
index d2e6dc3..0000000
--- a/docs/html/ndk/samples/index.jd
+++ /dev/null
@@ -1,33 +0,0 @@
-page.title=Samples: Overview
-@jd:body
-
-<p>Welcome to the NDK samples area. Here, you can download a variety of sample
-apps to help deepen your understanding the NDK.
-
-
-<p>From this page, you can download samples that provide a look at the NDK in action. A few of the
-topics covered are:</p>
-
-<ul>
-   <li>Managing your native app's activity lifecycle.</li>
-   <li>Using native OpenGL on an Android device.</li>
-   <li>Implementing native audio.</li>
-   <li>Exporting modules.</li>
-</ul>
-
-<p class="note"><strong>Note: </strong>These samples are also contained in the NDK installation
-package; if you have already downloaded the NDK, you have them. They reside in
-{@code $NDK/samples/}, where {@code $NDK} is the NDK installation root.</p>
-
- <div id="sdk-terms-form">
-      <p><a href="https://github.com/googlesamples/android-ndk/tree/android-mk" class="button">
-      Browse NDK samples</a></p>
- </div>
-
-<p>Vulkan samples are located separately from those for the rest of the NDK. To explore them,
-access the link below.</p>
-
- <div id="Vulkan-terms-form">
-      <p><a href="https://github.com/LunarG/VulkanSamples" class="button">
-      Browse Vulkan samples</a></p>
- </div>
\ No newline at end of file
diff --git a/docs/html/ndk/samples/sample_hellojni.jd b/docs/html/ndk/samples/sample_hellojni.jd
deleted file mode 100644
index fa61b28..0000000
--- a/docs/html/ndk/samples/sample_hellojni.jd
+++ /dev/null
@@ -1,123 +0,0 @@
-page.title=Sample: hello-jni
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#an">Android.mk</a></li>
-        <li><a href="#ap">Application.mk</a></li>
-        <li><a href="#ji">Java-side Implementation</a></li>
-        <li><a href="#ci">C-side Implementation</a></li>
-          </ol>
-        </li>
-      </ol>
-    </div>
-  </div>
-
-<p>This sample guides you through HelloJNI, a minimal
-application built with the NDK. This sample is in the {@code samples/hello-jni/} directory
-under the root directory of your NDK installation.</p> 
-
-<h2 id="an">Android.mk</h2>
-
-<p>The following two lines provide the name of the native source file, along
-with the name of the shared library to build. The full name of the built
-library is {@code libhello-jni.so}, once the build system adds the
-{@code lib} prefix and the {@code .so} extension.</p>
-
-<pre class="no-pretty-print">
-LOCAL_SRC_FILES := hello-jni.c
-LOCAL_MODULE    := hello-jni
-</pre>
-
-<p>For more information about what the {@code Android.mk} file does, and how to use it, see
-<a href="{@docRoot}ndk/guides/android_mk.html">Android.mk</a>.</p>
-
-<h2 id="ap">Application.mk</h2>
-<p>This line tells the build system the CPU and architecture against which to build. In this
-example, the build system builds for all supported architectures.</p>
-
-<pre class="no-pretty-print">
-APP_ABI := all
-</pre>
-
-<p>For more information about the {@code Application.mk} file, and how to use it, see
-<a href="{@docRoot}ndk/guides/application_mk.html">Application.mk</a>.</p>
-
-<h2 id="ji">Java-side Implementation</h2>
-<p>The {@code helloJNI.java} file is located in {@code hellojni/src/com/example/hellojni/}. It calls
-a function to retrieve a string from the native side, then displays it on the screen.</p>
-
-<p>The source code contains three lines of particular interest to the NDK user.
-They are presented here in the order in which they are used, rather than by
-line order.</p>
-
-<p>This function call loads the {@code .so} file upon application startup.</p>
-
-<pre class="no-pretty-print">
-System.loadLibrary("hello-jni");
-</pre>
-
-<p>The {@code native} keyword in this method declaration tells the
-virtual machine that the function is in the shared library (that is, implemented on the native
-side).</p>
-
-<pre class="no-pretty-print">
-public native String stringFromJNI();
-</pre>
-
-<p>The Android framework calls the function loaded and declared in the
-previous steps, displaying the string on the screen.</p>
-
-<pre class="no-pretty-print">
-tv.setText( stringFromJNI() );
-</pre>
-
-<h2 id="ci">C-side Implementation</h2>
-<p>The {@code hello-jni.c} file is located in {@code hello-jni/jni/}. It contains a function that
-returns a string that <a href="#ji">the Java side requested</a>). The function declaration is as
-follows:</p>
-
-<pre>
-jstring
-Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
-                                                  jobject thiz )
-</pre>
-
-<p>This declaration corresponds to the native function declared in the
-Java source code. The return type, {@code jstring}, is a data type defined
-in the
-<a href="http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html">Java Native
-Interface Specification</a>. It is not actually a string, but a
-pointer to a Java string.</p>
-
-<p>After {@code jstring} comes the function name, which is based on the
-Java function name and and the path to the file containing it. Construct it
-according to the following rules:</p>
-
-<ul>
-<li>Prepend {@code Java_} to it.</li>
-<li>Describe the filepath relative to the top-level source directory.</li>
-<li>Use underscores in place of forward slashes.</li>
-<li>Omit the {@code .java} file extension.</li>
-<li>After the last underscore, append the function name.</li>
-</ul>
-
-<p>Following these rules, this example uses the function name
-{@code Java_com_example_hellojni_HelloJni_stringFromJNI}. This name refers to a Java
-function called {@code stringFromJNI()}, which resides in
-{@code hellojni/src/com/example/hellojni/HelloJni.java}.</p>
-
-<p>{@code JNIEnv*} is the pointer to the VM, and
-{@code jobject} is a pointer to the implicit {@code this} object passed from
-the Java side.</p>
-
-<p>The following line calls the VM API {@code (*env)}, and passes it a return value:
-that is, the string that the function on the Java side had requested.</p>
-
-<pre class="no-pretty-print">
-return (*env)-&gt;NewStringUTF(env, "Hello from JNI !
-Compiled with ABI " ABI ".");
-</pre>
diff --git a/docs/html/ndk/samples/sample_na.jd b/docs/html/ndk/samples/sample_na.jd
deleted file mode 100644
index 0966dd8..0000000
--- a/docs/html/ndk/samples/sample_na.jd
+++ /dev/null
@@ -1,259 +0,0 @@
-page.title=Sample: native-activity
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#am">AndroidManifest.xml</a></li>
-        <li><a href="#anm">Android.mk</a></li>
-        <li><a href="#apm">Application.mk</a></li>
-        <li><a href="#mac">main.c</a></li>
-          </ol>
-        </li>
-      </ol>
-    </div>
-  </div>
-
-<p>The native-activity sample resides under the NDK installation root, in
-{@code samples/native-activity}. It is a very simple example of a purely native
-application, with no Java source code. In the absence of any Java source, the
-Java compiler still creates an executable stub for the virtual machine to run.
-The stub serves as a wrapper for the actual, native program, which is located in the {@code .so}
-file.</p>
-
-<p>The app itself simply renders a color onto the entire screen, and 
-then changes the color partly in response to movement that it detects.</p>
-
-<h2 id="am">AndroidManifest.xml</h2>
-
-<p>An app with only native code must not specify an Android API level lower than 9, which introduced
-the <a href="{@docRoot}ndk/guides/concepts.html#naa">{@code NativeActivity}</a> framework class.</p>
-
-<pre class="no-pretty-print">
-&lt;uses-sdk android:minSdkVersion="9" /&gt;
-</pre>
-
-<p>The following line declares {@code android:hasCode} as {@code false}, as this app has only
-native code&ndash;no Java.
-</p>
-
-<pre class="no-pretty-print">
-&lt;application android:label="@string/app_name"
-android:hasCode="false"&gt;
-</pre>
-
-<p>The next line declares the {@code NativeActivity} class.</p>
-
-<pre class="no-pretty-print">
-&lt;activity android:name="android.app.NativeActivity"
-</pre>
-
-<p>Finally, the manifest specifies {@code android:value} as the name of the shared library to be
-built, minus the initial {@code lib} and the {@code .so} extension. This value must be the same as
-the name of {@code LOCAL_MODULE} in {@code Android.mk}.</p>
-
-<pre class="no-pretty-print">
-&lt;meta-data android:name="android.app.lib_name"
-        android:value="native-activity" /&gt;
-</pre>
-
-<h2 id="anm">Android.mk</h2>
-<p>This file begins by providing the name of the shared library to generate.</p>
-
-<pre class="no-pretty-print">
-LOCAL_MODULE    := native-activity
-</pre>
-
-<p>Next, it declares the name of the native source-code file.</p>
-
-<pre class="no-pretty-print">
-LOCAL_SRC_FILES := main.c
-</pre>
-
-<p>Next, it lists the external libraries for the build system to use in building the binary. The
-{@code -l} (link-against) option precedes each library name.</p>
-
-<ul>
-<li>{@code log} is a logging library.</li>
-<li>{@code android} encompasses the standard Android support APIs for NDK. For more information about
-the APIs that Android and the NDK support, see  <a href="stable_apis.html">Android NDK Native
-APIs</a>.</li>
-<li>{@code EGL} corresponds to the platform-specific portion of the graphics API.</li>
-<li>{@code GLESv1_CM} corresponds to OpenGL ES, the version of OpenGL for Android. This library
-depends on EGL.</li>
-</ul>
-
-<p>For each library:</p>
-
-<ul>
-<li>The actual file name starts with {@code lib}, and ends with the
-{@code .so} extension. For example, the actual file name for the
-{@code log} library is {@code liblog.so}.</li>
-<li>The library resides in the following directory, NDK root:
-{@code <ndk>/platforms/android-<sdk_version>/arch-<abi>/usr/lib/}.</li>
-</ul>
-
-<pre class="no-pretty-print">
-LOCAL_LDLIBS    := -llog -landroid -lEGL -lGLESv1_CM
-</pre>
-
-<p>The next line provides the name of the static library, {@code android_native_app_glue}, which the
-application uses to manage {@code NativeActivity} lifecycle events and touch input.</p>
-
-<pre class="no-pretty-print">
-LOCAL_STATIC_LIBRARIES := android_native_app_glue
-</pre>
-
-<p>The final line tells the build system to build this static library.
-The {@code ndk-build} script places the built library
-({@code libandroid_native_app_glue.a}) into the {@code obj} directory
-generated during the build process. For more information about the {@code android_native_app_glue}
-library, see its {@code android_native_app_glue.h} header and corresponding {@code .c}source file.
-</p>
-
-
-<pre class="no-pretty-print">
-$(call import-module,android/native_app_glue)
-</pre>
-
-<p>For more information about the {@code Android.mk} file, see
-<a href="{@docRoot}ndk/guides/android_mk.html">Android.mk</a>.</p>
-
-
-<h2 id="apm">Application.mk</h2>
-
-<p>This line defines the minimum level of Android API Level support.</p>
-
-<pre class="no-pretty-print">
-APP_PLATFORM := android-10
-</pre>
-
-<p>Because there is no ABI definition, the build system defaults to building only for
-{@code armeabi}.</p>
-
-<h2 id="mac">main.c</h2>
-<p>This file essentially contains the entire progam.</p>
-
-<p>The following includes correspond to the libraries, both shared and static,
-enumerated in {@code Android.mk}.</p>
-
-<pre class="no-pretty-print">
-#include &lt;EGL/egl.h&gt;
-#include &lt;GLES/gl.h&gt;
-
-
-#include &lt;android/sensor.h&gt;
-#include &lt;android/log.h&gt;
-#include &lt;android_native_app_glue&gt;
-</pre>
-
-<p>The {@code android_native_app_glue} library calls the following function,
-passing it a predefined state structure. It also serves as a wrapper that
-simplifies handling of {@code NativeActivity} callbacks.</p>
-
-<pre class="no-pretty-print">
-void android_main(struct android_app* state) {
-</pre>
-
-<p>Next, the program handles events queued by the glue library. The event
-handler follows the state structure.</p>
-
-<pre class="no-pretty-print">
-struct engine engine;
-
-
-
-// Suppress link-time optimization that removes unreferenced code
-// to make sure glue isn't stripped.
-app_dummy();
-
-
-memset(&amp;engine, 0, sizeof(engine));
-state-&gt;userData = &amp;engine;
-state-&gt;onAppCmd = engine_handle_cmd;
-state-&gt;onInputEvent = engine_handle_input;
-engine.app = state;
-</pre>
-
-<p>The application prepares to start monitoring the sensors, using the
-APIs in {@code sensor.h}.</p>
-
-<pre class="no-pretty-print">
-    engine.sensorManager = ASensorManager_getInstance();
-    engine.accelerometerSensor =
-                    ASensorManager_getDefaultSensor(engine.sensorManager,
-                        ASENSOR_TYPE_ACCELEROMETER);
-    engine.sensorEventQueue =
-                    ASensorManager_createEventQueue(engine.sensorManager,
-                        state-&gt;looper, LOOPER_ID_USER, NULL, NULL);
-</pre>
-
-<p>Next, a loop begins, in which the application polls the system for
-messages (sensor events). It sends messages to
-{@code android_native_app_glue}, which checks to see whether they match
-any {@code onAppCmd} events defined in {@code android_main}. When a
-match occurs, the message is sent to the handler for execution.</p>
-
-<pre class="no-pretty-print">
-while (1) {
-        // Read all pending events.
-        int ident;
-        int events;
-        struct android_poll_source* source;
-
-
-        // If not animating, we will block forever waiting for events.
-        // If animating, we loop until all events are read, then continue
-        // to draw the next frame of animation.
-        while ((ident=ALooper_pollAll(engine.animating ? 0 : -1, NULL,
-                &amp;events,
-                (void**)&amp;source)) &gt;= 0) {
-
-
-            // Process this event.
-            if (source != NULL) {
-                source-&gt;process(state, source);
-            }
-
-
-            // If a sensor has data, process it now.
-            if (ident == LOOPER_ID_USER) {
-                if (engine.accelerometerSensor != NULL) {
-                    ASensorEvent event;
-                    while (ASensorEventQueue_getEvents(engine.sensorEventQueue,
-                            &amp;event, 1) &gt; 0) {
-                        LOGI("accelerometer: x=%f y=%f z=%f",
-                                event.acceleration.x, event.acceleration.y,
-                                event.acceleration.z);
-                    }
-                }
-            }
-
-
-        // Check if we are exiting.
-        if (state-&gt;destroyRequested != 0) {
-            engine_term_display(&amp;engine);
-            return;
-        }
-    }
-</pre>
-
-<p>Once the queue is empty, and the program exits the polling loop, the
-program calls OpenGL to draw the screen.</p>
-<pre class="no-pretty-print">
-    if (engine.animating) {
-        // Done with events; draw next animation frame.
-        engine.state.angle += .01f;
-        if (engine.state.angle &gt; 1) {
-            engine.state.angle = 0;
-        }
-
-
-        // Drawing is throttled to the screen update rate, so there
-        // is no need to do timing here.
-        engine_draw_frame(&amp;engine);
-    }
-}
-</pre>
diff --git a/docs/html/ndk/samples/sample_teapot.jd b/docs/html/ndk/samples/sample_teapot.jd
deleted file mode 100644
index 97708a7..0000000
--- a/docs/html/ndk/samples/sample_teapot.jd
+++ /dev/null
@@ -1,360 +0,0 @@
-page.title=Sample: Teapot
-@jd:body
-
-<div id="qv-wrapper">
-    <div id="qv">
-      <h2>On this page</h2>
-
-      <ol>
-        <li><a href="#am">AndroidManifest.xml</a></li>
-        <li><a href="#ap">Application.mk</a></li>
-        <li><a href="#ji">Java-side Implementation</a></li>
-        <li><a href="#ni">Native-side Implementation</a></li>
-          </ol>
-        </li>
-      </ol>
-    </div>
-  </div>
-
-<p>The Teapot sample is located under in the {@code samples/Teapot/} directory, under the NDK
-installation's root directory. This sample uses the OpenGL library to render the iconic
-<a href="http://math.hws.edu/bridgeman/courses/324/s06/doc/opengl.html#basic">Utah
-teapot</a>. In particular, it showcases the {@code ndk_helper} helper class,
-a collection of native helper functions required for implementing games and 
-similar applications as native applications. This class provides:</p>
-
-<ul>
-<li>An abstraction layer, {@code GLContext}, that handles certain NDK-specific behaviors.</li>
-<li>Helper functions that are useful but not present in the NDK, such as tap detection.</li>
-<li>Wrappers for JNI calls for platform features such as texture loading.</li>
-</ul>
-
-<h2 id="am">AndroidManifest.xml</h2>
-<p>The activity declaration here is not {@link android.app.NativeActivity} itself, but
-a subclass of it: {@code TeapotNativeActivity}.</p>
-
-<pre class="no-pretty-print">
-    &lt;activity android:name="com.sample.teapot.TeapotNativeActivity"
-            android:label="@string/app_name"
-            android:configChanges="orientation|keyboardHidden"&gt;
-</pre>
-
-<p>Ultimately, the name of the shared-object file that the build system builds is
-{@code libTeapotNativeActivity.so}. The build system adds the {@code lib} prefix and the {@code .so}
-extension; neither is part of the value that the manifest originally assigns to
-{@code android:value}.</p>
-
-<pre class="no-pretty-print">
-        &lt;meta-data android:name="android.app.lib_name"
-                android:value="TeapotNativeActivity" /&gt;
-</pre>
-
-<h2 id="ap">Application.mk</h2>
-<p>An app that uses the {@link android.app.NativeActivity} framework class must not specify an
-Android API level lower than 9, which introduced that class. For more information about the
-{@link android.app.NativeActivity} class, see
-<a href="{@docRoot}ndk/guides/concepts.html#naa">Native Activities and Applications</a>.
-</p>
-
-<pre class="no-pretty-print">
-APP_PLATFORM := android-9
-</pre>
-
-<p>The next line tells the build system to build for all supported architectures.</p>
-<pre class="no-pretty-print">
-APP_ABI := all
-</pre>
-
-<p>Next, the file tells the build system which
-<a href="{@docRoot}ndk/guides/cpp-support.html">C++ runtime support library</a> to use. </p>
-
-<pre class="no-pretty-print">
-APP_STL := stlport_static
-</pre>
-
-<h2 id="ji">Java-side Implementation</h2>
-<p>The {@code TeapotNativeActivity.java} file is located in
-{@code samples/Teapot/src/com/sample/teapot}, under the NDK installation root directory. It handles
-activity lifecycle events, and also enables the app to display text on the screen. The following
-block of code is most important from the perspective of the native-side implementation: The native
-code calls it to display a popup window for displaying text.</p>
-
-<pre class="no-pretty-print">
-
-void setImmersiveSticky() {
-    View decorView = getWindow().getDecorView();
-    decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN
-            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
-            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
-            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
-            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
-            | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
-}
-</pre>
-
-<h2 id="ni">Native-side Implementation</h2>
-
-<p>This section explores the part of the Teapot app implemented in C++.</p>
-
-<h3>TeapotRenderer.h</h3>
-
-<p>These function calls perform the actual rendering of the teapot. It uses
-{@code ndk_helper} for matrix calculation and to reposition the camera
-based on where the user taps.</p>
-
-<pre class="no-pretty-print">
-ndk_helper::Mat4 mat_projection_;
-ndk_helper::Mat4 mat_view_;
-ndk_helper::Mat4 mat_model_;
-
-
-ndk_helper::TapCamera* camera_;
-</pre>
-
-<h3>TeapotNativeActivity.cpp</h3>
-
-<p>The following lines include {@code ndk_helper} in the native source file, and define the
-helper-class name.</p>
-
-<pre class="no-pretty-print">
-
-#include "NDKHelper.h"
-
-//-------------------------------------------------------------------------
-//Preprocessor
-//-------------------------------------------------------------------------
-#define HELPER_CLASS_NAME "com/sample/helper/NDKHelper" //Class name of helper
-function
-</pre>
-
-<p>The first use of the {@code ndk_helper} class is to handle the
-EGL-related lifecycle, associating EGL context states (created/lost) with
-Android lifecycle events. The {@code ndk_helper} class enables the application to preserve context
-information so that the system can restore a destroyed activity. This ability is useful, for
-example, when the target machine is rotated (causing an activity to be
-destroyed, then immediately restored in the new orientation), or when the lock
-screen appears.</p>
-
-<pre class="no-pretty-print">
-ndk_helper::GLContext* gl_context_; // handles EGL-related lifecycle.
-</pre>
-
-<p>Next, {@code ndk_helper} provides touch control.</p>
-
-<pre class="no-pretty-print">
-ndk_helper::DoubletapDetector doubletap_detector_;
-ndk_helper::PinchDetector pinch_detector_;
-ndk_helper::DragDetector drag_detector_;
-ndk_helper::PerfMonitor monitor_;
-</pre>
-
-<p>It also provides camera control (openGL view frustum).</p>
-
-<pre class="no-pretty-print">
-ndk_helper::TapCamera tap_camera_;
-</pre>
-
-<p>The app then prepares to use the device's sensors, using the native APIs provided in the NDK.</p>
-
-<pre class="no-pretty-print">
-ASensorManager* sensor_manager_;
-const ASensor* accelerometer_sensor_;
-ASensorEventQueue* sensor_event_queue_;
-</pre>
-
-<p>The app calls the following functions in response to various Android
-lifecycle events and EGL context state changes, using various functionalities
-provided by {@code ndk_helper} via the {@code Engine} class.</p>
-
-<pre class="no-pretty-print">
-
-void LoadResources();
-void UnloadResources();
-void DrawFrame();
-void TermDisplay();
-void TrimMemory();
-bool IsReady();
-</pre>
-
-<p>Then, the following function calls back to the Java side to update the UI display.</p>
-
-<pre class="no-pretty-print">
-void Engine::ShowUI()
-{
-    JNIEnv *jni;
-    app_-&gt;activity-&gt;vm-&gt;AttachCurrentThread( &amp;jni, NULL );
-
-
-    //Default class retrieval
-    jclass clazz = jni-&gt;GetObjectClass( app_-&gt;activity-&gt;clazz );
-    jmethodID methodID = jni-&gt;GetMethodID( clazz, "showUI", "()V" );
-    jni-&gt;CallVoidMethod( app_-&gt;activity-&gt;clazz, methodID );
-
-
-    app_-&gt;activity-&gt;vm-&gt;DetachCurrentThread();
-    return;
-}
-</pre>
-
-<p>Next, this function calls back to the Java side to draw a text box
-superimposed on the screen rendered on the native side, and showing frame
-count.</p>
-
-<pre class="no-pretty-print">
-void Engine::UpdateFPS( float fFPS )
-{
-    JNIEnv *jni;
-    app_-&gt;activity-&gt;vm-&gt;AttachCurrentThread( &amp;jni, NULL );
-
-
-    //Default class retrieval
-    jclass clazz = jni-&gt;GetObjectClass( app_-&gt;activity-&gt;clazz );
-    jmethodID methodID = jni-&gt;GetMethodID( clazz, "updateFPS", "(F)V" );
-    jni-&gt;CallVoidMethod( app_-&gt;activity-&gt;clazz, methodID, fFPS );
-
-
-    app_-&gt;activity-&gt;vm-&gt;DetachCurrentThread();
-    return;
-}
-</pre>
-
-<p>The application gets the system clock and supplies it to the renderer
-for time-based animation based on real-time clock. This information is used, for example, in
-calculating momentum, where speed declines as a function of time.</p>
-
-<pre class="no-pretty-print">
-renderer_.Update( monitor_.GetCurrentTime() );
-</pre>
-
-<p>The application now checks whether the context information that {@code GLcontext} holds is still
-valid. If not, {@code ndk-helper} swaps the buffer, reinstantiating the GL context.</p>
-
-<pre class="no-pretty-print">
-if( EGL_SUCCESS != gl_context_-&gt;Swap() )  // swaps
-buffer.
-</pre>
-
-<p>The program passes touch-motion events to the gesture detector defined
-in the {@code ndk_helper} class. The gesture detector tracks multitouch
-gestures, such as pinch-and-drag, and sends a notification when triggered by
-any of these events.</p>
-
-<pre class="no-pretty-print">
-    if( AInputEvent_getType( event ) == AINPUT_EVENT_TYPE_MOTION )
-    {
-        ndk_helper::GESTURE_STATE doubleTapState =
-            eng->doubletap_detector_.Detect( event );
-        ndk_helper::GESTURE_STATE dragState = eng->drag_detector_.Detect( event );
-        ndk_helper::GESTURE_STATE pinchState = eng->pinch_detector_.Detect( event );
-
-        //Double tap detector has a priority over other detectors
-        if( doubleTapState == ndk_helper::GESTURE_STATE_ACTION )
-        {
-            //Detect double tap
-            eng->tap_camera_.Reset( true );
-        }
-        else
-        {
-            //Handle drag state
-            if( dragState & ndk_helper::GESTURE_STATE_START )
-            {
-                //Otherwise, start dragging
-                ndk_helper::Vec2 v;
-                eng->drag_detector_.GetPointer( v );
-                eng->TransformPosition( v );
-                eng->tap_camera_.BeginDrag( v );
-            }
-           // ...else other possible drag states...
-
-            //Handle pinch state
-            if( pinchState & ndk_helper::GESTURE_STATE_START )
-            {
-                //Start new pinch
-                ndk_helper::Vec2 v1;
-                ndk_helper::Vec2 v2;
-                eng->pinch_detector_.GetPointers( v1, v2 );
-                eng->TransformPosition( v1 );
-                eng->TransformPosition( v2 );
-                eng->tap_camera_.BeginPinch( v1, v2 );
-            }
-            // ...else other possible pinch states...
-        }
-        return 1;
-    }
-</pre>
-
-<p>The {@code ndk_helper} class also provides access to a vector-math library
-({@code vecmath.h}), using it here to transform touch coordinates.</p>
-
-<pre class="no-pretty-print">
-void Engine::TransformPosition( ndk_helper::Vec2& vec )
-{
-    vec = ndk_helper::Vec2( 2.0f, 2.0f ) * vec
-            / ndk_helper::Vec2( gl_context_->GetScreenWidth(),
-            gl_context_->GetScreenHeight() ) - ndk_helper::Vec2( 1.f, 1.f );
-}
-</pre>
-</ul>
-
-<p>The {@code HandleCmd()} method handles commands posted from the
-android_native_app_glue library. For more information about what the messages
-mean, refer to the comments in the {@code android_native_app_glue.h} and
-{@code .c} source files.</p>
-
-<pre class="no-pretty-print">
-void Engine::HandleCmd( struct android_app* app,
-        int32_t cmd )
-{
-    Engine* eng = (Engine*) app->userData;
-    switch( cmd )
-    {
-    case APP_CMD_SAVE_STATE:
-        break;
-    case APP_CMD_INIT_WINDOW:
-        // The window is being shown, get it ready.
-        if( app->window != NULL )
-        {
-            eng->InitDisplay();
-            eng->DrawFrame();
-        }
-        break;
-    case APP_CMD_TERM_WINDOW:
-        // The window is being hidden or closed, clean it up.
-        eng->TermDisplay();
-        eng->has_focus_ = false;
-        break;
-    case APP_CMD_STOP:
-        break;
-    case APP_CMD_GAINED_FOCUS:
-        eng->ResumeSensors();
-        //Start animation
-        eng->has_focus_ = true;
-        break;
-    case APP_CMD_LOST_FOCUS:
-        eng->SuspendSensors();
-        // Also stop animating.
-        eng->has_focus_ = false;
-        eng->DrawFrame();
-        break;
-    case APP_CMD_LOW_MEMORY:
-        //Free up GL resources
-        eng->TrimMemory();
-        break;
-    }
-}
-</pre>
-
-<p>The {@code ndk_helper} class posts {@code APP_CMD_INIT_WINDOW} when {@code android_app_glue}
-receives an {@code onNativeWindowCreated()} callback from the system.
-Applications can normally perform window initializations, such as EGL
-initialization. They do this outside of the activity lifecycle, since the
-activity is not yet ready.</p>
-
-<pre class="no-pretty-print">
-    //Init helper functions
-    ndk_helper::JNIHelper::Init( state->activity, HELPER_CLASS_NAME );
-
-    state->userData = &g_engine;
-    state->onAppCmd = Engine::HandleCmd;
-    state->onInputEvent = Engine::HandleInput;
-</pre>
diff --git a/docs/html/ndk/samples/samples_toc.cs b/docs/html/ndk/samples/samples_toc.cs
deleted file mode 100644
index 92266b1..0000000
--- a/docs/html/ndk/samples/samples_toc.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-<?cs # Table of contents for Dev Guide.
-
-       For each document available in translation, add an localized title to this TOC.
-       Do not add localized title for docs not available in translation.
-       Below are template spans for adding localized doc titles. Please ensure that
-       localized titles are added in the language order specified below.
-?>
-
-<ul id="nav">
-
-   <li class="nav-section">
-      <div class="nav-section-header empty"><a href="<?cs var:toroot ?>ndk/samples/index.html">
-      <span class="en">Overview</span></a></div>
-   </li>
-
-   <li class="nav-section">
-      <div class="nav-section-header">
-      <a href="<?cs var:toroot ?>ndk/samples/walkthroughs.html">
-      <span class="en">Walkthroughs</span></a></div>
-      <ul>
-         <li><a href="<?cs var:toroot ?>ndk/samples/sample_hellojni.html">hello-jni</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/samples/sample_na.html">native-activity</a></li>
-         <li><a href="<?cs var:toroot ?>ndk/samples/sample_teapot.html">Teapot</a></li>
-      </ul>
-   </li>
-</ul>
-
-
-<script type="text/javascript">
-<!--
-    buildToggleLists();
-    changeNavLang(getLangPref());
-//-->
-</script>
-
diff --git a/docs/html/ndk/samples/walkthroughs.jd b/docs/html/ndk/samples/walkthroughs.jd
deleted file mode 100644
index 88ceb56..0000000
--- a/docs/html/ndk/samples/walkthroughs.jd
+++ /dev/null
@@ -1,13 +0,0 @@
-page.title=Samples: Walkthroughs
-@jd:body
-
-<p>This section provides detailed walkthroughs of several key samples. The samples are as
-follows:</p>
-
-<li><a href="{@docRoot}ndk/samples/sample_hellojni.html">hello-jni</a>: A very basic app that
-illustrates core workings of the NDK.</li>
-<li><a href="{@docRoot}ndk/samples/sample_na.html">native-activity</a>: An app that shows the
-fundamentals of constructing a purely native app. It places particular emphasis on the
-{@code android_native_app_glue library}.</li>
-<li><a href="<a href="{@docRoot}ndk/samples/sample_teapot.html">Teapot</a>: A simple OpenGL demo,
-showcasing the <code>ndk_helper</code> class.</li>
diff --git a/docs/html/preview/_book.yaml b/docs/html/preview/_book.yaml
index 0d4b81b..ad67249 100644
--- a/docs/html/preview/_book.yaml
+++ b/docs/html/preview/_book.yaml
@@ -220,6 +220,8 @@
       value: TV 录制
     - name: zh-tw-lang
       value: 電視錄製
+  - title: Key Attestation
+    path: /preview/features/key-attestation.html
   - title: Network Security Configuration
     path: /preview/features/security-config.html
     path_attributes:
diff --git a/docs/html/preview/api-overview.jd b/docs/html/preview/api-overview.jd
index d457d5c..3373fc4 100644
--- a/docs/html/preview/api-overview.jd
+++ b/docs/html/preview/api-overview.jd
@@ -18,6 +18,7 @@
         <li><a href="#quick_path_to_app_install">Quick Path to App Install</a></li>
         <li><a href="#doze_on_the_go">Doze on the Go</a></li>
         <li><a href="#background_optimizations">Background Optimizations</a></li>
+        <li><a href="#surfaceview">SurfaceView</a></li>
         <li><a href="#data_saver">Data Saver</a></li>
         <li><a href="#vulkan">Vulkan API</a></li>
         <li><a href="#tile_api">Quick Settings Tile API</a></li>
@@ -37,6 +38,7 @@
         <li><a href="#apk_signature_v2">APK Signature Scheme v2</a></li>
         <li><a href="#scoped_directory_access">Scoped Directory Access</a></li>
         <li><a href="#keyboard_shortcuts_helper">Keyboard Shortcuts Helper</a></li>
+        <li><a href="#custom_pointer_api">Custom Pointer API</a></li>
         <li><a href="#sustained_performance_api">Sustained Performance API</a></li>
         <li><a href="#vr">VR Support</a></li>
         <li><a href="#print_svc">Print Service Enhancements</a></li>
@@ -285,6 +287,32 @@
   Optimizations</a> documentation for details.
 </p>
 
+<h2 id="surfaceview">SurfaceView</h2>
+<p>
+Android N brings synchronous movement to the {@link android.view.SurfaceView}
+class, which provides better battery performance
+than {@link android.view.TextureView} in certain cases: When rendering video or
+3D content, apps with scrolling and animated video position use less power with
+{@link android.view.SurfaceView} than with {@link android.view.TextureView}.
+</p>
+
+The {@link android.view.SurfaceView} class enables more battery-efficient compositing on
+screen, because it is composited in dedicated hardware, separately from app
+window content. As a result, it makes fewer intermediate
+copies than {@link android.view.TextureView}.
+</p>
+
+<p>
+A {@link android.view.SurfaceView} object's content position is now updated synchronously
+with the containing app content. One result of this change is that simple
+translations or scales of a video playing in a {@link android.view.SurfaceView}
+no longer produce black bars alongside the view as it moves.
+</p>
+
+<p>
+Starting with Android N, we strongly recommend that you save power by using
+{@link android.view.SurfaceView} instead of {@link android.view.TextureView}.
+</p>
 
 <h2 id="data_saver">Data Saver</h2>
 
@@ -701,48 +729,37 @@
 For more information, see <a href="{@docRoot}preview/features/direct-boot.html">Direct Boot</a>.</p>
 </p>
 
-
 <h2 id="key_attestation">Key Attestation</h2>
 
-<p>Hardware-backed keystores provide a much safer method to create, store,
-and use cryptographic keys on Android devices. They protect keys from the
-Linux kernel, potential Android vulnerabilities, and extraction
-from rooted devices.</p>
+<p>
+  Android N introduces <em>key attestation</em>, a new security tool that helps
+  you make sure that the key pairs stored within a device's <a class=
+  "external-link" href=
+  "https://source.android.com/security/keystore/"><em>hardware-backed
+  keystore</em></a> properly protect the sensitive information that your app
+  uses. By using this tool, you gain additional confidence that your app
+  interacts with keys that reside in secure hardware, even if the device
+  running your app is rooted. If you use keys from the hardware-backed keystore
+  in your apps, you should use this tool, particularly if you use the keys to
+  verify sensitive information within your app.
+</p>
 
-<p>To make it easier and more secure to use hardware-backed keystores,
-Android N introduces Key Attestation. Apps and off-devices can use Key
-Attestation to strongly determine whether an RSA or EC key pair is
-hardware-backed, what the properties of the key pair are, and what
-  constraints are applied to its usage and validity. </p>
+<p>
+  Key attestation allows you to verify that an RSA or EC key pair has been
+  created and stored in a device’s hardware-backed keystore within the device’s
+  trusted execution environment (TEE). The tool also allows you to use an
+  off-device service, such as your app's back-end server, to determine and
+  strongly verify the uses and validity of the key pair. These features provide
+  an additional level of security that protects the key pair, even if someone
+  roots the device or compromises the security of the Android platform running
+  on the device.
+</p>
 
-<p>Apps and off-device services can request information about a key pair
-through an X.509 attestation certificate which must be signed by a valid
-attestation key. The attestation key is an ECDSA signing key which is
-injected into the device’s hardware-backed keystore at the factory.
-Therefore, an attestation certificate signed by a valid attestation
-key confirms the existence of a hardware-backed keystore, along with
-  details of key pairs in that keystore.</p>
-
-<p>To ensure that the device is using a secure, official Android factory
-image, Key Attestation requires that the device <a
-class="external-link"
-href="https://source.android.com/security/verifiedboot/verified-boot.html#bootloader_requirements">bootloader</a>
-provide the following information to the <a class="external-link"
-href="https://source.android.com/security/trusty/index.html">Trusted
-Execution Environment (TEE)</a>:</p>
-
-<ul>
-<li>The OS version and patch level installed on the device</li>
-<li>The <a href="https://source.android.com/security/verifiedboot/index.html"
-class="external-link" >Verified Boot</a> public key and lock status</li>
-  </ul>
-
-<p>For more information about the hardware-backed keystore feature,
-see the guide for <a href="https://source.android.com/security/keystore/"
-class="external-link">Hardware-backed Keystore</a>.</p>
-
-<p>In addition to Key Attestation, Android N also introduces
-  fingerprint-bound keys that are not revoked on fingerprint enrollment.</p>
+<p>
+  For more information, see the
+  <a href="{@docRoot}preview/features/key-attestation.html">Key Attestation</a>
+  developer documentation.
+</p>
 
 <h2 id="network_security_config">Network Security Config</h2>
 
@@ -854,18 +871,46 @@
 <h2 id="keyboard_shortcuts_helper">Keyboard Shortcuts Helper</h2>
 
 <p>
-In Android N, the user can press "Alt + /" to trigger a <em>Keyboard Shortcuts</em>
-screen that displays all shortcuts available both from the system and from
-the app in focus. These are retrieved automatically from the app’s menu if
-available, but developers can provide their own fine-tuned shortcuts lists
-for the screen. You can do this by overriding the new
-<code>Activity.onProvideKeyboardShortcuts()</code> method, described in the downloadable
-<a href="{@docRoot}preview/setup-sdk.html#docs-dl">API Reference</a>.
+  In Android N, the user can press <strong>Meta + /</strong> to trigger a
+  <em>Keyboard Shortcuts</em> screen that displays all shortcuts available both
+  from the system and from the app in focus. The system retrieves these
+  shortcuts automatically from the app’s menu if the shortcuts exist. You can
+  also provide your own fine-tuned shortcuts lists for the screen. You can do
+  this by overriding the new <code>Activity.onProvideKeyboardShortcuts()</code>
+  method, described in the downloadable <a href=
+  "{@docRoot}preview/setup-sdk.html#docs-dl">API Reference</a>.
+</p>
+
+<p class="note">
+  <strong>Note:</strong> The <strong>Meta</strong> key is not present on all
+  keyboards: on a Macintosh keyboard, it is the <strong>Command</strong> key,
+  on the Windows keyboard, it is the <strong>Windows</strong> key, and on the
+  Pixel C and the Chrome OS keyboards, it is the <strong>Search</strong> key.
 </p>
 
 <p>
-To trigger the Keyboard Shortcuts Helper from anywhere in your app,
-call {@code Activity.requestKeyboardShortcutsHelper()} for the relevant activity.
+  To trigger Keyboard Shortcuts Helper from anywhere in your app, call
+  {@code Activity.requestKeyboardShortcutsHelper()} for the relevant activity.
+</p>
+
+<h2 id="custom_pointer_api">
+  Custom Pointer API
+</h2>
+
+<p>
+  Android N introduces the Custom Pointer API, which lets you customize the
+  appearance, visibility, and behavior of the pointer. This capability is
+  especially useful when a user is using a mouse or touchpad to interact with
+  UI objects. The default pointer uses a standard icon. This API also includes
+  advanced functionality such as changing the pointer icon's appearance based
+  on specific mouse or touchpad movements.
+</p>
+
+<p>
+  To set a pointer icon, override the <code>onResolvePointerIcon()</code>
+  method of the <code>View</code> class. This method uses a
+  <code>PointerIcon</code> object to draw the icon that corresponds to a
+  specific motion event.
 </p>
 
 <h2 id="sustained_performance_api">Sustained Performance API</h2>
diff --git a/docs/html/preview/behavior-changes.jd b/docs/html/preview/behavior-changes.jd
index 66dce7a..3a37295 100644
--- a/docs/html/preview/behavior-changes.jd
+++ b/docs/html/preview/behavior-changes.jd
@@ -33,10 +33,18 @@
   <li><a href="#other">Other Important Points</a></li>
 </ol>
 
+<h2>API Differences</h2>
+<ol>
+  <li><a href="{@docRoot}sdk/api_diff/n-preview-4-incr/changes.html">
+    Preview 3 to API 24</a></li>
+  <li><a href="{@docRoot}sdk/api_diff/24/changes.html">
+    API 23 to API 24</a></li>
+</ol>
+
 <h2>See Also</h2>
 <ol>
   <li><a href="{@docRoot}preview/api-overview.html">
-    Android N API Overview</a></li>
+    Android N for Developers</a></li>
 </ol>
 
 </div>
@@ -370,70 +378,290 @@
 <h2 id="ndk">NDK Apps Linking to Platform Libraries</h2>
 
 <p>
-  Android N includes namespace changes to prevent loading of non-public APIs.
-  If you use the NDK, you should only be using public APIs from the Android
-  platform. Using non-public APIs in the next official release of Android
-  can cause your app to crash.
+  Starting in Android N, the system prevents apps from dynamically linking
+  against non-NDK libraries, which may cause your app to crash. This change in
+  behavior aims to create a consistent app experience across platform updates
+  and different devices. Even though your code might not be linking against
+  private libraries, it's possible that a third-party static library in your
+  app could be doing so. Therefore, all developers should check to make sure
+  that their apps do not crash on devices running Android N. If your app uses
+  native code, you should only be using <a href=
+  "{@docRoot}ndk/guides/stable_apis.html">public NDK APIs</a>.
 </p>
 
 <p>
-  In order to alert you to use of non-public APIs, apps running on an Android N
-  device generate an error in logcat output when an app calls a non-public API.
-  This error is also displayed on the device screen as a message to help
-  raise awareness of this situation. You should review your app code to
-  remove use of non-public platform APIs and thoroughly test your apps using
-  a preview device or emulator.
-</p>
-
-<p>
-  If your app depends on platform libraries, see the NDK documentation for
-  typical fixes for replacing common private APIs with public API equivalents.
-  You may also be linking to platform libraries without realizing it,
-  especially if your app uses a library that is part of the platform (such as
-  <code>libpng</code>), but is not part of the NDK. In that case, ensure that
-  your APK contains all the .so files you intended to link against.
-</p>
-
-<p class="caution">
-  <strong>Caution:</strong> Some third-party libraries may link to non-public
-  APIs. If your app uses these libraries, your app may crash when running
-  on the next official release of Android.
-</p>
-
-<p>
-  Apps should not depend on or use native libraries that are not included in
-  the NDK, because they may change, or be removed from one Android release to
-  another. The switch from OpenSSL to BoringSSL is an example of such a change.
-  Also, different devices may offer different levels of compatibility, because
-  there are no compatibility requirements for platform libraries not included
-  in the NDK. If you must access non-NDK libraries on older devices, make the
-  loading dependent on the Android API level.
-</p>
-
-<p>
-  To help you diagnose these types problems here are some example Java and NDK
-  errors you might encounter when attempting to build your app with Android N:
-</p>
-
-<p>Example Java error:</p>
-<pre class="no-pretty-print">
-java.lang.UnsatisfiedLinkError: dlopen failed: library "/system/lib/libcutils.so"
-    is not accessible for the namespace "classloader-namespace"
-</pre>
-
-<p>Example NDK error:</p>
-<pre class="no-pretty-print">
-dlopen failed: cannot locate symbol "__system_property_get" referenced by ...
-</pre>
-
-
-<p>
-  Here are some typical fixes for apps encountering these types of errors:
+  There are three ways your app might be trying to access private platform
+  APIs:
 </p>
 
 <ul>
-  <li>Use of getJavaVM and getJNIEnv from libandroid_runtime.so can be replaced
-  with standard JNI functions:
+  <li>Your app directly accesses private platform libraries. You should update
+  your app to include its own copy of those libraries or use the <a href=
+  "{@docRoot}ndk/guides/stable_apis.html">public NDK APIs</a>.
+  </li>
+
+  <li>Your app uses a third-party library that accesses private platform
+  libraries. Even if you are certain your app doesn't access private libraries
+  directly, you should still test your app for this scenario.
+  </li>
+
+  <li>Your app references a library that is not included in its APK. For
+  example, this could happen if you tried to use your own copy of OpenSSL but
+  forgot to bundle it with your app's APK. The app may run normally on versions
+  of Android platform that includes <code>libcrypto.so</code>. However, the app
+  could crash on later versions of Android that do not include this library
+  (such as, Android 6.0 and later). To fix this, ensure that you bundle all
+  your non-NDK libraries with your APK.
+  </li>
+</ul>
+
+<p>
+  Apps should not use native libraries that are not included in the NDK because
+  they may change or be removed between different versions of Android. The
+  switch from OpenSSL to BoringSSL is an example of such a change. Also,
+  because there are no compatibility requirements for platform libraries not
+  included in the NDK, different devices may offer different levels of
+  compatibility.
+</p>
+
+<p>
+  In order to reduce the impact that this restriction may have on currently
+  released apps, a set of libraries that see significant use—such as
+  <code>libandroid_runtime.so</code>, <code>libcutils.so</code>,
+  <code>libcrypto.so</code>, and <code>libssl.so</code>—are temporarily
+  accessible on N for apps targeting API level 23 or lower. If your app loads
+  one of these libraries, logcat generates a warning and a toast appears on the
+  target device to notify you. If you see these warnings, you should update
+  your app to either include its own copy of those libraries or only use the
+  public NDK APIs. Future releases of the Android platform may restrict the use
+  of private libraries altogether and cause your app to crash.
+</p>
+
+<p>
+  All apps generate a runtime error when they call an API that is neither
+  public nor temporarily accessible. The result is that
+  <code>System.loadLibrary</code> and <code>dlopen(3)</code> both return
+  <code>NULL</code>, and may cause your app to crash. You should review your
+  app code to remove use of private platform APIs and thoroughly test your apps
+  using a preview device or emulator. If you are unsure whether your app uses
+  private libraries, you can <a href="#ndk-errors">check logcat</a> to identify
+  the runtime error.
+</p>
+
+<p>
+  The following table describes the behavior you should expect to see from an
+  app depending on its use of private native libraries and its target API
+  level (<code>android:targetSdkVersion</code>).
+</p>
+
+<table id="ndk-table">
+  <col width="15%">
+  <col width="15%">
+  <col width="15%">
+  <col width="20%">
+  <col width="20%">
+  <col width="20%">
+  <tr>
+    <th scope="col">
+      Libraries
+    </th>
+    <th scope="col">
+      Target API level
+    </th>
+    <th scope="col">
+      Runtime access via dynamic linker
+    </th>
+    <th scope="col">
+      N Developer Preview behavior
+    </th>
+    <th scope="col">
+      Final N Release behavior
+    </th>
+    <th scope="col">
+      Future Android platform behavior
+    </th>
+  </tr>
+
+<tr>
+  <td>
+    NDK Public
+  </td>
+
+  <td>
+    Any
+  </td>
+
+  <td style="background-color:#DCEDC8">
+    Accessible
+  </td>
+
+  <td style="background-color:#DCEDC8">
+    Works as expected
+  </td>
+
+  <td style="background-color:#DCEDC8">
+    Works as expected
+  </td>
+
+  <td style="background-color:#DCEDC8">
+    Works as expected
+  </td>
+</tr>
+
+<tr>
+  <td>
+    Private (temporarily accessible private libraries)
+  </td>
+
+  <td>
+    23 or lower
+  </td>
+
+  <td style="background-color:#FFF9C4">
+    Temporarily accessible
+  </td>
+
+  <td style="background-color:#FFF9C4">
+      Works as expected, but you receive a logcat warning and a message on the
+      target device.
+  </td>
+
+  <td style="background-color:#FFF9C4">
+    Works as expected, but you receive a logcat warning.
+  </td>
+
+  <td style="background-color:#ffcdd2">
+    Runtime error
+  </td>
+</tr>
+
+<tr>
+  <td>
+    Private (temporarily accessible private libraries)
+  </td>
+
+  <td>
+    24 or higher
+  </td>
+
+  <td style="background-color:#ffcdd2">
+    Restricted
+  </td>
+
+  <td style="background-color:#ffcdd2">
+    Runtime error
+  </td>
+
+  <td style="background-color:#ffcdd2">
+    Runtime error
+  </td>
+
+  <td style="background-color:#ffcdd2">
+    Runtime error
+  </td>
+</tr>
+
+<tr>
+  <td>
+    Private (other)
+  </td>
+
+  <td>
+    Any
+  </td>
+
+  <td style="background-color:#ffcdd2">
+    Restricted
+  </td>
+
+  <td style="background-color:#ffcdd2">
+    Runtime error
+  </td>
+
+  <td style="background-color:#ffcdd2">
+    Runtime error
+  </td>
+
+  <td style="background-color:#ffcdd2">
+    Runtime error
+  </td>
+</tr>
+</table>
+
+<h3 id="ndk-errors">
+  Check if your app uses private libraries
+</h3>
+
+<p>
+  To help you identify issues loading private libraries, logcat may generate a
+  warning or runtime error. For example, if your app targets API level 23 or
+  lower, and tries to access a private library on a device running Android N,
+  you may see a warning similar to the following:
+</p>
+
+<pre class="no-pretty-print">
+03-21 17:07:51.502 31234 31234 W linker  : library "libandroid_runtime.so"
+("/system/lib/libandroid_runtime.so") needed or dlopened by
+"/data/app/com.popular-app.android-2/lib/arm/libapplib.so" is not accessible
+for the namespace "classloader-namespace" - the access is temporarily granted
+as a workaround for http://b/26394120
+</pre>
+
+<p>
+  These logcat warnings tell you which which library is trying to access a
+  private platform API, but will not cause your app to crash. If the app
+  targets API level 24 or higher, however, logcat generates the following
+  runtime error and your app may crash:
+</p>
+
+<pre class="no-pretty-print">
+java.lang.UnsatisfiedLinkError: dlopen failed: library "libcutils.so"
+("/system/lib/libcutils.so") needed or dlopened by
+"/system/lib/libnativeloader.so" is not accessible for the namespace
+"classloader-namespace"
+  at java.lang.Runtime.loadLibrary0(Runtime.java:977)
+  at java.lang.System.loadLibrary(System.java:1602)
+</pre>
+
+<p>
+  You may also see these logcat outputs if your app uses third-party libraries
+  that dynamically link to private platform APIs. The readelf tool in the
+  Android NDK allows you to generate a list of all dynamically linked shared
+  libraries of a given <code>.so</code> file by running the following command:
+</p>
+
+<pre class="no-pretty-print">
+aarch64-linux-android-readelf -dW libMyLibrary.so
+</pre>
+
+<h3 id="ndk-update">
+  Update your app
+</h3>
+
+<p>
+  Here are some steps you can take to fix these types of errors and make
+  sure your app doesn't crash on future platform updates:
+</p>
+
+<ul>
+  <li>
+    If your app uses private platform libraries, you should update it to include
+    its own copy of those libraries or use the <a href=
+    "{@docRoot}ndk/guides/stable_apis.html">public NDK APIs</a>.
+  </li>
+
+  <li>
+    If your app uses a third-party library that accesses private symbols, contact
+    the library author to update the library.
+  </li>
+
+  <li>
+    Make sure you package all your non-NDK libraries with your APK.
+  </li>
+
+  <li>Use standard JNI functions instead of <code>getJavaVM</code> and
+  <code>getJNIEnv</code> from <code>libandroid_runtime.so</code>:
+
 <pre class="no-pretty-print">
 AndroidRuntime::getJavaVM -&gt; GetJavaVM from &lt;jni.h&gt;
 AndroidRuntime::getJNIEnv -&gt; JavaVM::GetEnv or
@@ -441,18 +669,24 @@
 </pre>
   </li>
 
-  <li>Use of {@code property_get} symbol from {@code libcutils.so} can be
-    replaced with the public {@code alternative __system_property_get}.
-   To do this, use {@code __system_property_get} with the following include:
+  <li>Use {@code __system_property_get} instead of the private {@code property_get}
+  symbol from {@code libcutils.so}. To do this, use {@code __system_property_get}
+  with the following include:
+
 <pre>
 #include &lt;sys/system_properties.h&gt;
 </pre>
+    <p class="note">
+      <strong>Note:</strong> The availability and contents of system properties is
+      not tested through CTS. A better fix would be to avoid using these
+      properties altogether.
+    </p>
   </li>
 
-  <li>Use of {@code SSL_ctrl} symbol from {@code libcrypto.so} should be
-  replaced with an app local version. For example, you should statically link
-  {@code libcyrpto.a} in your {@code .so} file or include your own dynamically
-  {@code libcrypto.so} from BoringSSL or OpenSSL in your app.
+  <li>Use a local version of the {@code SSL_ctrl} symbol from {@code
+  libcrypto.so}. For example, you should statically link {@code libcyrpto.a} in
+  your {@code .so} file, or include a dynamically linked version of {@code
+  libcrypto.so} from BoringSSL/OpenSSL and package it in your APK.
   </li>
 </ul>
 
@@ -503,7 +737,17 @@
 
   <li>The Work Mode setting controls access to work apps. When work mode is off the
   system launcher indicates work apps are unavailable by greying them out. Enabling
-  work mode again restores normal behavior.
+  work mode again restores normal behavior.</li>
+
+  <li>When installing a PKCS #12 file containing a client certificate chain and
+  the corresponding private key from Settings UI, the CA certificate in the
+  chain is no longer installed to the trusted credentials storage. This does
+  not affect the result of {@link android.security.KeyChain#getCertificateChain
+  KeyChain.getCertificateChain()} when apps attempt to retrieve the client
+  certificate chain later. If required, the CA certificate should be installed
+  to the trusted credentials storage via Settings UI separately, with a
+  DER-encoded format under a .crt or .cer file extension.
+  </li>
 </ul>
 
 <p>
@@ -612,5 +856,15 @@
 {@link android.content.pm.PackageInstaller#uninstall PackageInstaller.uninstall()}.
 </li>
 
+  <li>The JCA provider called <em>Crypto</em> is deprecated, because its only
+  algorithm, SHA1PRNG, is cryptographically weak. Apps can no longer use
+  SHA1PRNG to (insecurely) derive keys, because this provider is no longer
+  available. For more information, see the blog
+  post <a href=
+  "http://android-developers.blogspot.com/2016/06/security-crypto-provider-deprecated-in.html"
+  class="external-link">Security "Crypto" provider deprecated in Android
+  N</a>.
+  </li>
+
 </ul>
 
diff --git a/docs/html/preview/download-ota.jd b/docs/html/preview/download-ota.jd
index 2058501..18f3e8d 100644
--- a/docs/html/preview/download-ota.jd
+++ b/docs/html/preview/download-ota.jd
@@ -203,72 +203,72 @@
   <tr id="bullhead">
     <td>Nexus 5X <br>"bullhead"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >bullhead-ota-npd35k-b8cfbd80.zip</a><br>
-      MD5: 15fe2eba9b01737374196bdf0a792fe9<br>
-      SHA-1: 5014b2bba77f9e1a680ac3f90729621c85a14283
+      >bullhead-ota-npd56n-dd5c12ee.zip</a><br>
+      MD5: af9a82e9a78925ca9c1c7f5f6fb851ec<br>
+      SHA-1: e4aabd5634b7ebdeffa877cd9e49244c0be326e4
     </td>
   </tr>
 
   <tr id="shamu">
     <td>Nexus 6 <br>"shamu"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >shamu-ota-npd35k-078e6fa5.zip</a><br>
-      MD5: e8b12f7721c53af9a450f7058928a5fc<br>
-      SHA-1: b7a9b756f84a1d2e482ff9c16749d65f6e51425a
+      >shamu-ota-npd56n-2818fd62.zip</a><br>
+      MD5: d8df396b187a8667889260e5464bd676<br>
+      SHA-1: c03c8ef8be587a574565855d4faa526254794e03
     </td>
   </tr>
 
   <tr id="angler">
     <td>Nexus 6P <br>"angler"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >angler-ota-npd35k-88457699.zip</a><br>
-      MD5: 3fac09fef759dde26e57cb80b20b6477<br>
-      SHA-1: 27d6caa786577d8a38b2da5bf94b33b4524a1a1c
+      >angler-ota-npd56n-d2f2611c.zip</a><br>
+      MD5: c3c206892d414d4fc7da892ff840eada<br>
+      SHA-1: 2bdc79409ace5e163ef014ae51977d0a71b83df5
     </td>
   </tr>
 
   <tr id="volantis">
     <td>Nexus 9 <br>"volantis"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >volantis-ota-npd35k-51dbae76.zip</a><br>
-      MD5: 58312c4a5971818ef5c77a3f446003da<br>
-      SHA-1: aad9005be33d3e2bab480509a6ab74c3c3b9d921
+      >volantis-ota-npd56n-42228a60.zip</a><br>
+      MD5: c80cf483d8b3c014fc7b27f80957a158<br>
+      SHA-1: f437829320f47ea3aa5f8b70ce2f0bb3d30b3f4f
     </td>
   </tr>
 
   <tr id="volantisg">
     <td>Nexus 9G <br>"volantisg"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >volantisg-ota-npd35k-834f047f.zip</a><br>
-      MD5: 92b7d1fa252f7394e70f957c72d4aac8<br>
-      SHA-1: b6c057c84d90893630e303cbb60530e20ddb8361
+      >volantisg-ota-npd56n-9b4dbaac.zip</a><br>
+      MD5: 9e55ac1650e4f07a662bafa7f082e91c<br>
+      SHA-1: b9982be56c2817d122664869a1fbe9b13e9c72f7
     </td>
   </tr>
 
   <tr id="fugu">
     <td>Nexus Player <br>"fugu"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >fugu-ota-npd35k-6ac91298.zip</a><br>
-      MD5: 1461622ad53ea842b2722fa7b49b8172<br>
-      SHA-1: 409c061668ab270774877d7f3eae44fa48d2b931
+      >fugu-ota-npd56n-b305968a.zip</a><br>
+      MD5: dfc980acad6772d8473ccaa9cbbb681a<br>
+      SHA-1: d7bf8192649dea970afda165d181b4eea07abd7d
     </td>
   </tr>
 
   <tr id="ryu">
     <td>Pixel C <br>"ryu"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >ryu-ota-npd35k-a0b2347f.zip</a><br>
-      MD5: c60117f3640cc6db12386fd632289c7d<br>
-      SHA-1: 87349c767c69efb4172c90ce1d88cf578c3d28b3
+      >ryu-ota-npd56n-5bf2fd66.zip</a><br>
+      MD5: 1699e4bacfbef16a75ae6cf3f2e3d886<br>
+      SHA-1: e20f3a8e43fcdd6acef21da80894afc8f9474e33
     </td>
   </tr>
 
   <tr id="seed">
     <td>General Mobile 4G (Android One) <br>"seed"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >seed_l8150-ota-npd35k-09897a1d.zip</a><br>
-      MD5: a55cf94f7cce0393ec6c0b35041766b7<br>
-      SHA-1: 6f33742290eb46f2561891f38ca2e754b4e50c6a
+      >seed_l8150-ota-npd56n-a322696c.zip</a><br>
+      MD5: afc0e363ad2fd7418423e189a339a8e9<br>
+      SHA-1: fc4d818878df51894eac29932dd0e9f6511329c6
     </td>
   </tr>
 
diff --git a/docs/html/preview/download.jd b/docs/html/preview/download.jd
index b5405c7..ad82211 100644
--- a/docs/html/preview/download.jd
+++ b/docs/html/preview/download.jd
@@ -302,72 +302,72 @@
   <tr id="bullhead">
     <td>Nexus 5X <br>"bullhead"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >bullhead-npd35k-factory-5ba40535.tgz</a><br>
-      MD5: b6c5d79a21815ee21db41822dcf61e9f<br>
-      SHA-1: 5ba4053577007d15c96472206e3a79bc80ab194c
+      >bullhead-npd56n-factory-996cac57.tgz</a><br>
+      MD5: 5aadba91f60de00d58dc6198ef5cc3ba<br>
+      SHA-1: 996cac575d83bde573315290da8f52cecc4127d2
     </td>
   </tr>
 
   <tr id="shamu">
     <td>Nexus 6 <br>"shamu"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >shamu-npd35k-factory-a33bf20c.tgz</a><br>
-      MD5: e1cf9c57cfb11bebe7f1f5bfbf05d7ab<br>
-      SHA-1: a33bf20c719206bcf08d1edd8da6c0ff9d50f69c
+      >shamu-npd56n-factory-7936bf75.tgz</a><br>
+      MD5: b7ed0db569f3bc2d6655fe8d8cea0e13<br>
+      SHA-1: 7936bf75e6bfb771bd14485211a319b246311b96
     </td>
   </tr>
 
   <tr id="angler">
     <td>Nexus 6P <br>"angler"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >angler-npd35k-factory-81c341d5.tgz</a><br>
-      MD5: e93de7949433339856124c3729c15ebb<br>
-      SHA-1: 81c341d57ef2cd139569b055d5d59e9e592a7abd
+      >angler-npd56n-factory-1ce5ccad.tgz</a><br>
+      MD5: f296eccaed4e2526d6435df8cf0e8df1<br>
+      SHA-1: 1ce5ccad8a3eae143e0ecd9c7afbb1be2f1d41cc
     </td>
   </tr>
 
   <tr id="volantis">
     <td>Nexus 9 <br>"volantis"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >volantis-npd35k-factory-2b50e19d.tgz</a><br>
-      MD5: 565be87ebb2d5937e2abe1a42645864b<br>
-      SHA-1: 2b50e19dae2667b27f911e3c61ed64860caf43e1
+      >volantis-npd56n-factory-8b9f997e.tgz</a><br>
+      MD5: 111c2fe5777dd6aae71fb8ef35dda9d3<br>
+      SHA-1: 8b9f997ea39fdaf505527536bd346948ae1bae30
     </td>
   </tr>
 
   <tr id="volantisg">
     <td>Nexus 9G <br>"volantisg"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >volantisg-npd35k-factory-2e89ebe6.tgz</a><br>
-      MD5: a8464e15c6683fe2afa378a63e205fda<br>
-      SHA-1: 2e89ebe67a46b2f3beb050746c13341cd11fa678
+      >volantisg-npd56n-factory-ef05106a.tgz</a><br>
+      MD5: 3a6f4d47b385966347bd26b7a922cd6e<br>
+      SHA-1: ef05106a9e3becea5673ea67d6c0cc21a2ec09d4
     </td>
   </tr>
 
   <tr id="fugu">
     <td>Nexus Player <br>"fugu"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >fugu-npd35k-factory-1de74874.tgz</a><br>
-      MD5: c0dbb7db671f61b2785da5001cedefcb<br>
-      SHA-1: 1de74874f8d83e14d642f13b5a2130fc2aa55873
+      >fugu-npd56n-factory-a51674a1.tgz</a><br>
+      MD5: b75dc745a64848ea24124db8fa9252ed<br>
+      SHA-1: a51674a1303b17fec0405d513f9c0fe9f225780f
     </td>
   </tr>
 
   <tr id="ryu">
     <td>Pixel C <br>"ryu"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >ryu-npd35k-factory-b4eed85d.tgz</a><br>
-      MD5: bdcb6f770e753668b5fadff2a6678e0d<br>
-      SHA-1: b4eed85de0d42c200348a8629084f78e24f72ac2
+      >ryu-npd56n-factory-e36c49b1.tgz</a><br>
+      MD5: 0a2d660b09e19614a5b3573487b88066<br>
+      SHA-1: e36c49b184843cdfe10278aebc04ce50b6d670b6
     </td>
   </tr>
 
   <tr id="seed">
     <td>General Mobile 4G (Android One) <br>"seed"</td>
     <td><a href="#top" onclick="onDownload(this)"
-      >seed_l8150-npd35k-factory-5ab1212b.tgz</a><br>
-      MD5: 7d34a9774fdd6e025d485ce6cfc23c4c<br>
-      SHA-1: 5ab1212bc9417269d391aacf1e672fff24b4ecc5
+      >seed_l8150-npd56n-factory-dd5d4fd2.tgz</a><br>
+      MD5: 3420581b969af777753141dacc7f73b9<br>
+      SHA-1: dd5d4fd203f9c5dad658434c0ff370c411b78835
     </td>
   </tr>
 
diff --git a/docs/html/preview/features/direct-boot.jd b/docs/html/preview/features/direct-boot.jd
index 3d442d0..8351f4b 100644
--- a/docs/html/preview/features/direct-boot.jd
+++ b/docs/html/preview/features/direct-boot.jd
@@ -108,18 +108,25 @@
 
 <h2 id="notification">Getting Notified of User Unlock</h2>
 
-<p>Once the user unlocks the device after restart, your app can switch to
+<p>When the user unlocks the device after restart, your app can switch to
 accessing credential encrypted storage and use regular system services that
 depend on user credentials.</p>
 
 <p>To get notified when the user unlocks the device after a reboot,
 register a {@link android.content.BroadcastReceiver} from a running component
-to listen for the <code>ACTION_USER_UNLOCKED</code> message. Or, you can
-receive the existing {@link android.content.Intent#ACTION_BOOT_COMPLETED
-ACTION_BOOT_COMPLETED} message, which now indicates the device has booted and
-the user has unlocked the device.</p>
+to listen for unlock notification messages. When the user unlocks the device
+after boot:
+</p>
+<ul>
+<li>If your app has foreground processes that need immediate notification,
+listen for the {@code ACTION_USER_UNLOCKED} message.</li>
+<li>If your app only uses background processes that can act on a delayed
+notification, listen for the
+{@link android.content.Intent#ACTION_BOOT_COMPLETED ACTION_BOOT_COMPLETED}
+message.</li>
+</ul>
 
-<p>You can directly query if the user has unlocked the device by calling
+<p>If the user has unlocked the device, you can find out by calling
 <code>UserManager.isUserUnlocked()</code>.</p>
 
 <h2 id="migrating">Migrating Existing Data</h2>
diff --git a/docs/html/preview/features/key-attestation.jd b/docs/html/preview/features/key-attestation.jd
new file mode 100644
index 0000000..98b8340
--- /dev/null
+++ b/docs/html/preview/features/key-attestation.jd
@@ -0,0 +1,845 @@
+page.title=Key Attestation
+page.metaDescription=New support in Android N for verifying security properties of hardware-backed keys.
+page.keywords="android N", "security", "TEE", "hardware-backed", "keystore", "certificate", "key attestation"
+
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>In this document</h2>
+      <ol>
+        <li><a href="#verifying">Retrieving and Verifying a Hardware-backed Key Pair</a></li>
+        <li><a href="#certificate_schema">Certificate Extension Data Schema</a></li>
+      </ol>
+  </div>
+</div>
+
+<p>
+  Key Attestation gives you more confidence that the keys you use in your app
+  are stored in a device's hardware-backed keystore. The following sections
+  describe how to verify the properties of hardware-backed keys and how to
+  interpret the schema of the attestation certificate's extension data.
+</p>
+
+<h2 id="verifying">
+  Retrieving and Verifying a Hardware-backed Key Pair
+</h2>
+
+<p>
+  During key attestation, you specify the alias of a key pair. The attestation
+  tool, in return, provides a certificate chain, which you can use to verify
+  the properties of that key pair.
+</p>
+
+<p>
+  The root certificate within this chain is signed using an attestation key,
+  which the device manufacturer injects into the device’s hardware-backed
+  keystore at the factory.
+</p>
+
+<p class="note">
+  <strong>Note:</strong> On devices that ship with Android N and Google Play
+  services, the root certificate is issued by Google. You should verify that
+  this root certificate appears within Google’s list of root certificates.
+</p>
+
+<p>
+  To implement key attestation, complete the following steps:
+</p>
+
+<ol>
+  <li>
+    Use a {@link java.security.KeyStore KeyStore} object's
+    {@link java.security.KeyStore#getCertificateChain getCertificateChain()}
+    method to get a reference to the chain of X.509 certificates associated with
+    the hardware-backed keystore.
+  </li>
+
+  <li>
+    <p>
+      Check each certificate’s validity using a
+      {@link java.security.cert.CRL CRL} object's
+      {@link java.security.cert.CRL#isRevoked isRevoked()} method.
+    </p>
+
+    <p class="caution">
+      <strong>Caution:</strong> Although you can complete this process within
+      your app directly, it’s safer to check the certificates’ revocation lists
+      on a separate server that you trust.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Create an <code>Attestation</code> object, passing in the first element of
+      the certificate chain as an argument:</p>
+
+<pre>
+// "certificates" contains the certificate chain associated with a specific key
+// pair in the device's hardware-backed keystore.
+X509Certificate attestationCert = (X509Certificate) certificates[0];
+Attestation hardwareKeyAttestation = new Attestation(attestationCert);
+</pre>
+
+    <p>
+      An attestation object extracts the extension data within this certificate
+      and stores this information in a more accessible format. For more details
+      about the schema of the extension data, see <a href=
+      "#certificate_schema">Certificate Extension Data Schema</a>.
+    </p>
+  </li>
+
+  <li>
+    <p>
+      Use the accessor methods within the <code>Attestation</code> class to
+      retrieve the extension data from the certificate. These methods use the
+      same names and structure hierarchy as in the certificate extension data
+      schema.
+    </p>
+
+    <p>
+      For example, to view the verified boot key for the device’s TEE, use the
+      following method sequence:
+    </p>
+
+<pre>
+// "hardwareKeyAttestation" contains the first element of the attestation
+// certificate chain.
+AuthorizationList teeAuthList = hardwareKeyAttestation.getTeeEnforced();
+RootOfTrust teeRootOfTrust = teeAuthList.getRootOfTrust();
+byte[] teeVerifiedBootKey = teeRootOfTrust.getVerifiedBootKey();
+</pre>
+
+  </li>
+
+  <li>
+    <p>
+      Compare the extension data from the <code>Attestation</code> object with
+      the set of values that you expect the hardware-backed key to contain.
+    </p>
+
+    <p class="caution">
+      <strong>Caution:</strong> Although you can complete this process within
+      your app directly, it’s safer to check the certificate’s extension data
+      on a separate server that you trust.
+    </p>
+  </li>
+</ol>
+
+<h2 id="certificate_schema">
+  Certificate Extension Data Schema
+</h2>
+
+<p>
+  Key attestation verifies the extension data that appears in the first
+  certificate within the chain in a device’s hardware-backed keystore. The
+  certificate stores the information according to the following ASN.1 schema:
+</p>
+
+<pre class="no-pretty-print">
+KeyDescription ::= SEQUENCE {
+    attestationVersion  INTEGER,
+    attestationSecurityLevel  SecurityLevel,
+    keymasterVersion  INTEGER,
+    keymasterSecurityLevel  SecurityLevel,
+    attestationChallenge  OCTET_STRING,
+    <var>reserved  OCTET_STRING</var>,
+    softwareEnforced  AuthorizationList,
+    teeEnforced  AuthorizationList,
+}
+
+SecurityLevel ::= ENUMERATED {
+    Software  (0),
+    TrustedEnvironment  (1),
+}
+
+AuthorizationList ::= SEQUENCE {
+    purpose  [1] EXPLICIT SET OF INTEGER OPTIONAL,
+    algorithm  [2] EXPLICIT INTEGER OPTIONAL,
+    keySize  [3] EXPLICIT INTEGER OPTIONAL,
+    digest  [5] EXPLICIT SET OF INTEGER OPTIONAL,
+    padding  [6] EXPLICIT SET OF INTEGER OPTIONAL,
+    ecCurve  [10] EXPLICIT INTEGER OPTIONAL,
+    rsaPublicExponent  [200] EXPLICIT INTEGER OPTIONAL,
+    activeDateTime  [400] EXPLICIT INTEGER OPTIONAL,
+    originationExpireDateTime  [401] EXPLICIT INTEGER OPTIONAL,
+    usageExpireDateTime  [402] EXPLICIT INTEGER OPTIONAL,
+    noAuthRequired  [503] EXPLICIT NULL OPTIONAL,
+    userAuthType  [504] EXPLICIT INTEGER OPTIONAL,
+    authTimeout  [505] EXPLICIT INTEGER OPTIONAL,
+    allowWhileOnBody  [506] EXPLICIT NULL OPTIONAL,
+    allApplications  [600] EXPLICIT NULL OPTIONAL,
+    applicationId  [601] EXPLICIT OCTET_STRING OPTIONAL,
+    creationDateTime  [701] EXPLICIT INTEGER OPTIONAL,
+    origin  [702] EXPLICIT INTEGER OPTIONAL,
+    rollbackResistant  [703] EXPLICIT NULL OPTIONAL,
+    rootOfTrust  [704] EXPLICIT RootOfTrust OPTIONAL,
+    osVersion  [705] EXPLICIT INTEGER OPTIONAL,
+    osPatchLevel  [706] EXPLICIT INTEGER OPTIONAL,
+    attestationChallenge  [708] EXPLICIT INTEGER OPTIONAL,
+    attestationApplicationId  [709] EXPLICIT OCTET_STRING OPTIONAL,
+}
+
+RootOfTrust ::= SEQUENCE {
+    verifiedBootKey  OCTET_STRING,
+    deviceLocked  BOOLEAN,
+    verifiedBootState  VerifiedBootState,
+}
+
+VerifiedBootState ::= ENUMERATED {
+    Verified  (0),
+    SelfSigned  (1),
+    Unverified  (2),
+    Failed  (3),
+}
+</pre>
+
+<p>
+  The following list presents a description of each element within the schema:
+</p>
+
+<h3 id="certificate_schema_keydescription">
+  KeyDescription
+</h3>
+
+<p>
+  This sequence of values presents general information about the key pair being
+  verified through key attestation and provides easy access to additional
+  details.
+</p>
+
+<dl>
+  <dt>
+    <code>attestationVersion</code>
+  </dt>
+
+  <dd>
+    The version of the key attestation feature. Should be set to 1.
+  </dd>
+
+  <dt>
+    <code>attestationSecurity</code>
+  </dt>
+
+  <dd>
+    <p>
+      The <a href="#certificate_schema_securitylevel">security
+      level</a> of the attestation.
+    </p>
+
+    <p class="note">
+      <strong>Note:</strong> Although it is possible to attest keys that are
+      stored in the Android system&mdash;that is, if the
+      <code>attestationSecurity</code> value is set to Software&mdash;you
+      cannot trust these attestations if the Android system becomes compromised.
+    </p>
+  </dd>
+
+  <dt>
+    <code>keymasterVersion</code>
+  </dt>
+
+  <dd>
+    The version of the Keymaster hardware abstraction layer (HAL). Use 0 to
+    represent version 0.2 or 0.3, 1 to represent version 1.0, and 2 to represent
+    version 2.0.
+  </dd>
+
+  <dt>
+    <code>keymasterSecurity</code>
+  </dt>
+
+  <dd>
+    The <a href="#certificate_schema_securitylevel">security
+    level</a> of the Keymaster implementation.
+  </dd>
+
+  <dt>
+    <code>attestationChallenge</code>
+  </dt>
+
+  <dd>
+    The challenge string associated with a key pair that is verified using key
+    attestation.
+  </dd>
+
+  <dt>
+    <code><var>reserved</var></code>
+  </dt>
+
+  <dd>
+    Only system apps use this value. In all other apps, this value is empty.
+  </dd>
+
+  <dt>
+    <code>softwareEnforced</code>
+  </dt>
+
+  <dd>
+    Optional. The Keymaster <a href=
+    "#certificate_schema_authorizationlist">authorization
+    list</a> that is enforced by the Android system, not by the device’s TEE.
+  </dd>
+
+  <dt>
+    <code>teeEnforced</code>
+  </dt>
+
+  <dd>
+    Optional. The Keymaster <a href=
+    "#certificate_schema_authorizationlist">authorization
+    list</a> that is enforced by the device’s TEE.
+  </dd>
+</dl>
+
+<h3 id="certificate_schema_securitylevel">
+  SecurityLevel
+</h3>
+
+<p>
+  This data structure indicates the extent to which a software feature, such as
+  a key pair, is protected based on its location within the device.
+</p>
+
+<p>
+  Because the data structure is an enumeration, it takes on exactly one of the
+  following values:
+</p>
+
+<dl>
+  <dt>
+    Software
+  </dt>
+
+  <dd>
+    The logic for creating and managing the feature is implemented in the
+    Android system. For the purposes of creating and storing key pairs, this
+    location is less secure than the TEE but is more secure than your app's
+    process space.
+  </dd>
+
+  <dt>
+    TrustedEnvironment
+  </dt>
+
+  <dd>
+    The logic for creating and managing the feature is implemented in secure
+    hardware, such as a TEE. For the purposes of creating and storing key pairs,
+    this location is more secure because secure hardware is highly resistant to
+    remote compromise.
+  </dd>
+</dl>
+
+<h3 id="certificate_schema_authorizationlist">
+  AuthorizationList
+</h3>
+
+<p>
+  This data structure contains the key pair’s properties themselves, as defined
+  in the Keymaster hardware abstraction layer (HAL). You compare these values
+  to the device’s current state or to a set of expected values to verify that a
+  key pair is still valid for use in your app.
+</p>
+
+<p>
+  Each field name corresponds to a similarly-named Keymaster tag. For example,
+  the <code>keySize</code> field in an authorization list corresponds to the
+  <code>KM_TAG_KEY_SIZE</code> Keymaster tag.
+</p>
+
+<p>
+  Each field in the following list is optional:
+</p>
+
+<dl>
+  <dt>
+    <code>purpose</code>
+  </dt>
+
+  <dd>
+    Corresponds to the <code><a href=
+    "https://source.android.com/security/keystore/implementer-ref.html#km_tag_purpose">
+    KM_TAG_PURPOSE</a></code> Keymaster tag, which uses a tag ID value of 1.
+  </dd>
+
+  <dt>
+    <code>algorithm</code>
+  </dt>
+
+  <dd>
+    <p>
+      Corresponds to the <code><a href=
+      "https://source.android.com/security/keystore/implementer-ref.html#km_tag_algorithm">
+      KM_TAG_ALGORITHM</a></code> Keymaster tag, which uses a tag ID value of
+      2.
+    </p>
+
+    <p>
+      When an <code>AuthorizationList</code> object is associated with key
+      attestation, this value is always <code>KM_ALGORITHM_RSA</code> or
+      <code>KM_ALGORITHM_EC</code>.
+    </p>
+  </dd>
+
+  <dt>
+    <code>keySize</code>
+  </dt>
+
+  <dd>
+    Corresponds to the <code><a href=
+    "https://source.android.com/security/keystore/implementer-ref.html#km_tag_key_size">
+    KM_TAG_KEY_SIZE</a></code> Keymaster tag, which uses a tag ID value of 3.
+  </dd>
+
+  <dt>
+    <code>digest</code>
+  </dt>
+
+  <dd>
+    Corresponds to the <code><a href=
+    "https://source.android.com/security/keystore/implementer-ref.html#km_tag_digest">
+    KM_TAG_DIGEST</a></code> Keymaster tag, which uses a tag ID value of 5.
+  </dd>
+
+  <dt>
+    <code>padding</code>
+  </dt>
+
+  <dd>
+    Corresponds to the <code><a href=
+    "https://source.android.com/security/keystore/implementer-ref.html#km_tag_padding">
+    KM_TAG_PADDING</a></code> Keymaster tag, which uses a tag ID value of 6.
+  </dd>
+
+  <dt>
+    <code>ecCurve</code>
+  </dt>
+
+  <dd>
+    <p>
+      Corresponds to the <code>KM_TAG_EC_CURVE</code> Keymaster tag, which uses
+      a tag ID value of 10.
+    </p>
+
+    <p>
+      The set of parameters used to generate an elliptic curve (EC) key pair,
+      which uses ECDSA for signing and verification, within the Android system
+      keystore.
+    </p>
+  </dd>
+
+  <dt>
+    <code>rsaPublicExponent</code>
+  </dt>
+
+  <dd>
+    Corresponds to the <code><a href=
+    "https://source.android.com/security/keystore/implementer-ref.html#km_tag_rsa_public_exponent">
+    KM_TAG_RSA_PUBLIC_EXPONENT</a></code> Keymaster tag, which uses a tag ID
+    value of 200.
+  </dd>
+
+  <dt>
+    <code>activeDateTime</code>
+  </dt>
+
+  <dd>
+    Corresponds to the <code><a href=
+    "https://source.android.com/security/keystore/implementer-ref.html#km_tag_active_datetime">
+    KM_TAG_ACTIVE_DATETIME</a></code> Keymaster tag, which uses a tag ID value
+    of 400.
+  </dd>
+
+  <dt>
+    <code>originationExpireDateTime</code>
+  </dt>
+
+  <dd>
+    Corresponds to the <code><a href=
+    "https://source.android.com/security/keystore/implementer-ref.html#km_tag_origination_expire_datetime">
+    KM_TAG_ORIGINATION_EXPIRE_DATETIME</a></code> Keymaster tag, which uses a
+    tag ID value of 401.
+  </dd>
+
+  <dt>
+    <code>usageExpireDateTime</code>
+  </dt>
+
+  <dd>
+    Corresponds to the <code><a href=
+    "https://source.android.com/security/keystore/implementer-ref.html#km_tag_usage_expire_datetime">
+    KM_TAG_USAGE_EXPIRE_DATETIME</a></code> Keymaster tag, which uses a tag ID
+    value of 402.
+  </dd>
+
+  <dt>
+    <code>noAuthRequired</code>
+  </dt>
+
+  <dd>
+    <p>
+      Corresponds to the <code><a href=
+      "https://source.android.com/security/keystore/implementer-ref.html#km_tag_no_auth_required">
+      KM_TAG_NO_AUTH_REQUIRED</a></code> Keymaster tag, which uses a tag ID
+      value of 503.
+    </p>
+
+    <p>
+      When an <code>AuthorizationList</code> object is associated with key
+      attestation, this value is always true.
+    </p>
+  </dd>
+
+  <dt>
+    <code>userAuthType</code>
+  </dt>
+
+  <dd>
+    Corresponds to the <code><a href=
+    "https://source.android.com/security/keystore/implementer-ref.html#km_tag_user_auth_type">
+    KM_TAG_USER_AUTH_TYPE</a></code> Keymaster tag, which uses a tag ID value
+    of 504.
+  </dd>
+
+  <dt>
+    <code>authTimeout</code>
+  </dt>
+
+  <dd>
+    Corresponds to the <code><a href=
+    "https://source.android.com/security/keystore/implementer-ref.html#km_tag_auth_timeout">
+    KM_TAG_AUTH_TIMEOUT</a></code> Keymaster tag, which uses a tag ID value of
+    505.
+  </dd>
+
+  <dt>
+    <code>allowWhileOnBody</code>
+  </dt>
+
+  <dd>
+    <p>
+      Corresponds to the <code>KM_TAG_ALLOW_WHILE_ON_BODY</code> Keymaster tag,
+      which uses a tag ID value of 506.
+    </p>
+
+    <p>
+      Allows the key to be used after its authentication timeout period if the
+      user is still wearing the device on their body. Note that a secure
+      on-body sensor determines whether the device is being worn on the user’s
+      body.
+    </p>
+
+    <p>
+      When an <code>AuthorizationList</code> object is associated with key
+      attestation, this value is always true.
+    </p>
+  </dd>
+
+  <dt>
+    <code>allApplications</code>
+  </dt>
+
+  <dd>
+    <p>
+      Corresponds to the <code>KM_TAG_ALL_APPLICATIONS</code> Keymaster tag,
+      which uses a tag ID value of 600.
+    </p>
+
+    <p>
+      Indicates whether all apps on a device can access the key pair.
+    </p>
+
+    <p>
+      When an <code>AuthorizationList</code> object is associated with key
+      attestation, this value is always true.
+    </p>
+  </dd>
+
+  <dt>
+    <code>applicationId</code>
+  </dt>
+
+  <dd>
+    Corresponds to the <code><a href=
+    "https://source.android.com/security/keystore/implementer-ref.html#km_tag_application_id">
+    KM_TAG_APPLICATION_ID</a></code> Keymaster tag, which uses a tag ID value
+    of 601.
+  </dd>
+
+  <dt>
+    <code>creationDateTime</code>
+  </dt>
+
+  <dd>
+    Corresponds to the <code><a href=
+    "https://source.android.com/security/keystore/implementer-ref.html#km_tag_creation_datetime">
+    KM_TAG_CREATION_DATETIME</a></code> Keymaster tag, which uses a tag ID
+    value of 701.
+  </dd>
+
+  <dt>
+    <code>origin</code>
+  </dt>
+
+  <dd>
+    <p>
+      Corresponds to the <code><a href=
+      "https://source.android.com/security/keystore/implementer-ref.html#km_tag_origin">
+      KM_TAG_ORIGIN</a></code> Keymaster tag, which uses a tag ID value of 702.
+    </p>
+
+    <p>
+      When an <code>AuthorizationList</code> object is associated with key
+      attestation, this value is usually set to
+      <code>KM_ORIGIN_GENERATED</code>. If the attestation uses Keymaster
+      version 0.2 or 0.3, however, the origin may be set to
+      <code>KM_ORIGIN_UNKNOWN</code> instead.
+    </p>
+  </dd>
+
+  <dt>
+    <code>rollbackResistant</code>
+  </dt>
+
+  <dd>
+    Corresponds to the <code><a href=
+    "https://source.android.com/security/keystore/implementer-ref.html#km_tag_rollback_resistant">
+    KM_TAG_ROLLBACK_RESISTANT</a></code> Keymaster tag, which uses a tag ID
+    value of 703.
+  </dd>
+
+  <dt>
+    <code>rootOfTrust</code>
+  </dt>
+
+  <dd>
+    <p>
+      Corresponds to the <code><a href=
+      "https://source.android.com/security/keystore/implementer-ref.html#km_tag_root_of_trust">
+      KM_TAG_ROOT_OF_TRUST</a></code> Keymaster tag, which uses a tag ID value
+      of 704.
+    </p>
+
+    <p>
+      For more details, see the section describing the <code><a href=
+      "#certificate_schema_rootoftrust">RootOfTrust</a></code>
+      data structure.
+    </p>
+  </dd>
+
+  <dt>
+    <code>osVersion</code>
+  </dt>
+
+  <dd>
+    <p>
+      Corresponds to the <code>KM_TAG_OS_VERSION</code> Keymaster tag, which
+      uses a tag ID value of 705.
+    </p>
+
+    <p>
+      The version of the Android operating system associated with the
+      Keymaster, specified as a six-digit integer. For example, version 6.0.1
+      is represented as 060001.
+    </p>
+
+    <p>
+      Only Keymaster version 1.0 or higher includes this value in the
+      authorization list.
+    </p>
+  </dd>
+
+  <dt>
+    <code>osPatchLevel</code>
+  </dt>
+
+  <dd>
+    <p>
+      Corresponds to the <code>KM_TAG_PATCHLEVEL</code> Keymaster tag, which
+      uses a tag ID value of 706.
+    </p>
+
+    <p>
+      The month and year associated with the security patch that is being used
+      within the Keymaster, specified as a six-digit integer. For example, the
+      June 2016 patch is represented as 201606.
+    </p>
+
+    <p>
+      Only Keymaster version 1.0 or higher includes this value in the
+      authorization list.
+    </p>
+  </dd>
+
+  <dt>
+    <code>attestationChallenge</code>
+  </dt>
+
+  <dd>
+    <p>
+      Corresponds to the <code>KM_TAG_ATTESTATION_CHALLENGE</code> Keymaster
+      tag, which uses a tag ID value of 708.
+    </p>
+
+    <p>
+      The challenge string associated with the key pair that is defined in the
+      Keymaster.
+    </p>
+  </dd>
+
+  <dt>
+    <code>attestationApplicationId</code>
+  </dt>
+
+  <dd>
+    <p>
+      Corresponds to the <code>KM_TAG_ATTESTATION_APPLICATION_ID</code>
+      Keymaster tag, which uses a tag ID value of 709.
+    </p>
+
+    <p>
+      The unique ID of the attestation certificate that signed the key pair
+      that is in the Keymaster.
+    </p>
+  </dd>
+</dl>
+
+<h3 id="certificate_schema_rootoftrust">
+  RootOfTrust
+</h3>
+
+<p>
+  This collection of values defines key information about the device’s status.
+</p>
+
+<p>
+  Each field in the following list is required:
+</p>
+
+<dl>
+  <dt>
+    <code>verifiedBootKey</code>
+  </dt>
+
+  <dd>
+    <p>
+      A secure hash of the key that verifies the system image. It is recommended
+      that you use the SHA-256 algorithm for this hash.
+    </p>
+  </dd>
+
+  <dt>
+    <code>deviceLocked</code>
+  </dt>
+
+  <dd>
+    True if the device’s bootloader is locked, which enables Verified Boot
+    checking and prevents an unsigned device image from being flashed onto the
+    device. For more information about this feature, see the <a class=
+    "external-link" href=
+    "https://source.android.com/security/verifiedboot/verified-boot.html">Verifying
+    Boot</a> documentation.
+  </dd>
+
+  <dt>
+    <code>verifiedBootState</code>
+  </dt>
+
+  <dd>
+    The <a href="#certificate_schema_verifiedbootstate">boot
+    state</a> of the device, according to the Verified Boot feature.
+  </dd>
+
+  <dt>
+    <code>osVersion</code>
+  </dt>
+
+  <dd>
+    The current version of the Android operating system on the device,
+    specified as a six-digit integer. For example, version 6.0.1 is represented
+    as 060001.
+  </dd>
+
+  <dt>
+    <code>patchMonthYear</code>
+  </dt>
+
+  <dd>
+    The month and year associated with the security patch that is currently
+    installed on the device, specified as a six-digit integer. For example, the
+    June 2016 patch is represented as 201606.
+  </dd>
+</dl>
+
+<h3 id="certificate_schema_verifiedbootstate">
+  VerifiedBootState
+</h3>
+
+<p>
+  This data structure provides the device’s current boot state, which
+  represents the level of protection provided to the user and to apps after the
+  device finishes booting. For more information about this feature, see the
+  <a class="external-link" href=
+  "https://source.android.com/security/verifiedboot/verified-boot.html#boot_state">
+  Boot State</a> section within the Verifying Boot documentation.
+</p>
+
+<p>
+  This data structure is an enumeration, so it takes on exactly one of the
+  following values:
+</p>
+
+<dl>
+  <dt>
+    Verified
+  </dt>
+
+  <dd>
+    <p>
+      Indicates a full chain of trust, which includes the bootloader, the boot
+      partition, and all verified partitions.
+    </p>
+
+    <p>
+      When the device is in this boot state, the <code>verifiedBootKey</code> is
+      the hash of the device-embedded certificate, which the device manufacturer
+      adds to the device's ROM at the factory.
+    </p>
+  </dd>
+
+  <dt>
+    SelfSigned
+  </dt>
+
+  <dd>
+    <p>
+      Indicates that the device-embedded certificate has verified the device’s
+      boot partition and that the signature is valid.
+    </p>
+
+    <p>
+      When the device is in this boot state, the <code>verifiedBootKey</code> is
+      the hash of a user-installed certificate, which signs a boot partition
+      that the user adds to the device in place of the original,
+      manufacturer-provided boot partition.
+    </p>
+  </dd>
+
+  <dt>
+    Unverified
+  </dt>
+
+  <dd>
+    Indicates that the user can modify the device freely. Therefore, the user is
+    responsible for verifying the device’s integrity.
+  </dd>
+
+  <dt>
+    Failed
+  </dt>
+
+  <dd>
+    Indicates that the device has failed verification. The attestation
+    certificate should never use this value for <code>VerifiedBootState</code>.
+  </dd>
+</dl>
diff --git a/docs/html/preview/features/multi-window.jd b/docs/html/preview/features/multi-window.jd
index a4f389a..ca5bd0d 100644
--- a/docs/html/preview/features/multi-window.jd
+++ b/docs/html/preview/features/multi-window.jd
@@ -471,7 +471,7 @@
   </dd>
 
   <dt>
-    <code>Activity.requestDropPermissions()</code>
+    <code>Activity.requestDragAndDropPermissions()</code>
   </dt>
 
   <dd>
diff --git a/docs/html/preview/features/picture-in-picture.jd b/docs/html/preview/features/picture-in-picture.jd
index c089feb..03a1768 100644
--- a/docs/html/preview/features/picture-in-picture.jd
+++ b/docs/html/preview/features/picture-in-picture.jd
@@ -220,7 +220,11 @@
 
 <p>When an activity is in PIP mode, by default it doesn't get input focus. To
 receive input events while in PIP mode, use
-<code>MediaSession.setMediaButtonReceiver()</code>.</p>
+{@link android.media.session.MediaSession#setCallback
+MediaSession.setCallback()}. For more information on using
+{@link android.media.session.MediaSession#setCallback setCallback()} see
+<a href="{@docRoot}training/tv/playback/now-playing.html">Displaying
+a Now Playing Card</a>.</p>
 
 <p>When your app is in PIP mode, video playback in the PIP window can cause
 audio interference with another app, such as a music player app or voice search
@@ -228,4 +232,4 @@
 and handle audio focus change notifications, as described in
 <a href="{@docRoot}training/managing-audio/audio-focus.html">Managing Audio
 Focus</a>. If you receive notification of audio focus loss when in PIP mode,
-pause or stop video playback.</p>
\ No newline at end of file
+pause or stop video playback.</p>
diff --git a/docs/html/preview/index.jd b/docs/html/preview/index.jd
index 918de48..241a98e 100644
--- a/docs/html/preview/index.jd
+++ b/docs/html/preview/index.jd
@@ -24,6 +24,7 @@
       <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">
+          <strong>Android N final SDK is now available!</strong>
           Get ready for Android N!
           <strong>Test your apps</strong> on Nexus and other devices. Support new system
           behaviors to <strong>save power and memory</strong>.
@@ -114,7 +115,24 @@
     data-initial-results="3"></div>
 </div></section>
 
-<section class="dac-section dac-gray"><div class="wrap">
+
+<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:preview/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">Resources</h1>
   <div class="dac-section-subtitle">
     Essential information to help you get your apps ready for Android N.
diff --git a/docs/html/preview/overview.jd b/docs/html/preview/overview.jd
index 1b45c1a..faf48b8 100644
--- a/docs/html/preview/overview.jd
+++ b/docs/html/preview/overview.jd
@@ -5,25 +5,26 @@
 page.tags="preview", "developer", "android"
 
 @jd:body
+
 <!--
 <div class="cols" style=
-"background-color:#f2daf5; padding: 5px 0;margin-bottom:1em; text-align:center;">
+"background-color:#B2DFDB; padding: 5px 0;margin-bottom:1em; text-align:center;">
 <h3>
-    Developer Preview 3 is now available
+    Developer Preview X is now available
   </h3>
-  <p>Includes final SDK and near-final system images</p>
+  <p>This release includes the ...</p>
    <div style="margin:auto 1em">
  <ul class="dac-section-links">
     <li class="dac-section-link">
-      <a href="{@docRoot}preview/support.html#preview3-notes">
+      <a href="{@docRoot}preview/support.html#dp4">
       <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">
+      <a href="{@docRoot}preview/download.html">
       <span class="dac-sprite dac-auto-chevron"></span>
-      Get the Update</a>
+      Test the Update</a>
     </li>
 
     <li class="dac-section-link">
@@ -137,13 +138,14 @@
 -->
 
 <h2 id="timeline">Timeline and updates</h2>
-<img src="{@docRoot}images/n-preview-updates_2x.png">
 
 <p>
   The N Developer Preview runs from 9 March 2016 until the final Android N
   public release to AOSP and OEMs, planned for Q3 2016.
 </p>
 
+<img src="{@docRoot}images/n-preview-updates_2x.png">
+
 <p>
   At key development milestones, we’ll deliver updates for your development and
   testing environment. In general you can expect an update each month (4 to 6
@@ -154,7 +156,7 @@
   <li><strong><a href="{@docRoot}preview/support.html#dp1">Preview 1</a></strong> (initial release, alpha)</li>
   <li><strong><a href="{@docRoot}preview/support.html#dp2">Preview 2</a></strong> (incremental update, alpha)</li>
   <li><strong><a href="{@docRoot}preview/support.html#dp3">Preview 3</a></strong> (incremental update, beta)</li>
-  <li><strong>Preview 4</strong> (final APIs and official SDK, Play publishing)</li>
+  <li><strong><a href="{@docRoot}preview/support.html#dp4">Preview 4</a></strong> (final APIs and official SDK, Play publishing)</li>
   <li><strong>Preview 5</strong> (near-final system images for final testing)</li>
   <li><strong>Final release</strong> to AOSP and ecosystem</li>
 </ul>
diff --git a/docs/html/preview/setup-sdk.jd b/docs/html/preview/setup-sdk.jd
index 3b479e2..3e95f3e 100644
--- a/docs/html/preview/setup-sdk.jd
+++ b/docs/html/preview/setup-sdk.jd
@@ -76,14 +76,16 @@
 
 <h3 id="docs-dl">Get the N Preview reference documentation</h3>
 
-<p>
-  Detailed information about the Android N APIs is available in the N Preview
-  reference documentation, which you can download from the following table.
-  This package contains an abridged, offline version of the Android developer
-  web site, and includes an updated API reference for the Android N APIs and an
-  API difference report.
+<p>Beginning with the Preview 4 release, the API reference for the
+N platform (API level 24) is now available online at <a href=
+  "{@docRoot}reference/">developer.android.com/reference/</a>.
 </p>
 
+<p>If you'd like an offline copy of the API reference, you can download it
+from the following table. The download also includes an incremental diff report
+for API changes between the Preview 3 and Preview 4 release, which is not
+available online.</p>
+
 <table>
   <tr>
     <th scope="col">Documentation</th>
@@ -91,11 +93,11 @@
   </tr>
   <tr>
     <td style="white-space: nowrap">
-    <a href="{@docRoot}shareables/preview/n-preview-3-docs.zip"
-      >n-preview-3-docs.zip</a></td>
+    <a href="{@docRoot}shareables/preview/n-preview-4-docs.zip"
+      >n-preview-4-docs.zip</a></td>
     <td width="100%">
-      MD5: 19bcfd057a1f9dd01ffbb3d8ff7b8d81<br>
-      SHA-1: 9224bd4445cd7f653c4c294d362ccb195a2101e7 
+      MD5: f853e3ba0707083336dfa780b8fed9a7<br>
+      SHA-1: 36fcbc497cc2e63b1bc1d629c304b0ba43a88946
     </td>
   </tr>
 </table>
@@ -131,9 +133,11 @@
 
 <h2 id="create-update">Update or Create a Project</h2>
 
-<p>
-  To use the Android N APIs, your project must be configured appropriately.
-</p>
+<p>Now that the N platform API level is "24" instead
+of "N", you can configure your projects normally with this API level (and even
+publish your apps compiled with API 24 on Google Play). Just be sure that you've
+updated your project to use <strong>Android SDK Build Tools 24.0.0</strong> and
+<strong>Android SDK Platform-Tools 24.0.0</strong>.</p>
 
 <p>If you plan to use Java 8 language features, you should also read
 <a href="{@docRoot}preview/j8-jack.html">Java 8 Language Features</a>
@@ -150,18 +154,20 @@
 
 <pre>
 android {
-  compileSdkVersion <strong>'android-N'</strong>
-  buildToolsVersion <strong>'24.0.0-rc3'</strong>
+  compileSdkVersion <strong>24</strong>
+  buildToolsVersion <strong>'24.0.0'</strong>
   ...
 
   defaultConfig {
-     minSdkVersion <strong>'N'</strong>
-     targetSdkVersion <strong>'N'</strong>
+     targetSdkVersion <strong>24</strong>
      ...
   }
   ...
 }</pre>
 
+<p>Now that the API level 24 is final, you can compile against it and keep your
+<code>minSdkVersion</code> to whatever version is appropriate for your app.</p>
+
 
 <h3 id="create">Create a new project</h3>
 
@@ -170,12 +176,12 @@
 
 <ol>
   <li>Click <strong>File > New Project</strong>. and follow the steps until
-  you reach the Target Android Devices page.
+  you reach the <strong>Target Android Devices</strong> page.
   </li>
-  <li>On this page, select <strong>Phone and Tablet</strong> option.</li>
+  <li>On this page, select the <strong>Phone and Tablet</strong> check box.</li>
   <li>Under <strong>Phone and Tablet</strong> option, in the <strong>Minimum
     SDK</strong> option list, select
-    <strong>N: Android API 23, N Preview (Preview)</strong>.</li>
+    <strong>API 24: Android 6.X (N Preview)</strong>.</li>
 </ol>
 
 
diff --git a/docs/html/preview/support.jd b/docs/html/preview/support.jd
index c7da1a5..ef8a652 100644
--- a/docs/html/preview/support.jd
+++ b/docs/html/preview/support.jd
@@ -17,6 +17,7 @@
       <li><a href="#general">General advisories</a></li>
       <li><a href="#new">New in DP4</a></li>
       <li><a href="#ki">Known issues</a></li>
+      <li><a href="#upgrade-notes">Notes on publishing apps that target API 24</a></li>
     </ul>
   </li>
   <li><a href="#dp3">Developer Preview 3</a></li>
@@ -56,7 +57,7 @@
     <div class="col-6of12">
       <p>
         <em>Date: June 2016<br>
-        Build: TODO<br>
+        Build: NPD56N<br>
         Emulator support: x86 &amp; ARM (32/64-bit)<br>
         Google Play services: 8.4</em>
       </p>
@@ -75,8 +76,7 @@
 
 <ul>
   <li>This release may have various <strong>stability issues</strong> on
-  supported devices. Users may encounter system instability, such as kernel
-  panics and crashes.
+  supported devices.
   </li>
 
   <li>Some apps <strong>may not function as expected</strong> on the new
@@ -84,64 +84,209 @@
   </li>
 
   <li>Developer Preview 4 is <strong>Compatibility Test Suite (CTS)
-  approved</strong> on these devices: <strong>TODO: Need list.</strong>. Apps
-  that depend on CTS approved builds should work normally on these devices
-  (Android Pay for example).
+  approved</strong> on these devices: Nexus 5X, Nexus 6, Nexus 6P, and
+  Pixel C. Apps that depend on CTS approved builds should work normally
+  on these devices (Android Pay for example).
   </li>
 
   <li>Developer Preview 4 is <strong>available on all supported
-  devices:</strong> Nexus 5X, Nexus 6, Nexus 6P, Nexus 9, Nexus Player, Pixel
-  C, General Mobile 4G (Android One), as well as Sony Xperia Z3 (D6603 and
-  D6653 models). <strong>TODO: Confirm this list.</strong>
+  devices:</strong> Nexus 5X, Nexus 6, Nexus 6P, Nexus 9, Nexus Player,
+  Pixel C, General Mobile 4G (Android One), as well as Sony Xperia Z3
+  (D6603 and D6653 models).
   </li>
 </ul>
 
 
 <h3 id="new">New in DP4</h3>
-<!-- TODO -->
 
-<h4 id="">New feature</h4>
+<h4>Android N final APIs</h4>
 
-<p>Description of new feature.</p>
+<p>
+  Developer Preview 4 includes the <strong>final APIs</strong> for the upcoming
+  Android N platform. The new API level is 24.
+</p>
+
+<h4>Play publishing</h4>
+
+<p>
+  You can now publish apps that use <strong>API level 24</strong> to Google
+  Play, in alpha, beta, and production release channels.
+</p>
+
+<h4>Android Studio and tools updates</h4>
+
+<p>
+  Along with Developer Preview 4 we’re providing the <strong>final API 24
+  SDK</strong> to be used with Android Studio 2.1.2 and higher. In addition,
+  we’re releasing updated Developer Preview 4 system images for the emulator to
+  help test your apps.
+</p>
+
+<p>
+  As new updates roll out for Android Studio, you should see minor improvements in
+  the new project wizards and AVD manager as we add enhanced support for API 24.
+  These are primarily cosmetic changes and should not stop you from getting
+  your app ready for an update in the Play store.
+</p>
 
 <h4 id="api-changes">Feature and API changes</h4>
 
-<dl>
-  <dt>
-    <a href="{@docRoot}preview/features/multi-window.html">Multi-Window</a>
-  </dt>
-
-  <dd>
-    The <code>android:minimalHeight</code> and <code>android:minimalWidth</code>
-    attributes have been renamed to <code>android:minHeight</code> and
-    <code>android:minWidth</code>.
-  </dd>
-</dl>
-
-<h4 id="dp4-fixes">Fixes for issues reported by developers</h4>
-
-<p>
-  A number of issues reported by developers have been fixed, including:
-</p>
-
 <ul>
-  <li><strong>TODO</strong>
-</ul>
+  <li>In previous versions of Android, an app activates with all of its locale
+  resources loaded before locale negotiation begins. Starting in Android N DP4,
+  the system negotiates resource locales individually for each resource object
+  before the app activates.
+  </li>
 
-<p>For the full list of fixed issues, see <a href="https://goo.gl/6uCKtf">the
-issue tracker</a>.</p>
+  <li>As announced at Developer Preview 3, we’ve deferred the Launcher
+  Shortcuts feature to a later release of Android. In Developer Preview 4,
+  we’ve removed the Launcher Shortcuts APIs.
+  </li>
+
+  <li>We’ve changed the BLE Scanning behavior starting in DP4. We’ll prevent
+  applications from starting and stopping scans more than 5 times in 30
+  seconds. For long running scans, we’ll convert them into opportunistic scans.
+  </li>
+
+  <li>The <a href=
+  "{@docRoot}preview/features/multi-window.html">Multi-Window</a>
+  <code>android:minimalHeight</code> and <code>android:minimalWidth</code>
+  attributes have been renamed to <code>android:minHeight</code> and
+  <code>android:minWidth</code>.
+  </li>
+</ul>
 
 <h3 id="ki">Known Issues</h3>
 
-<!--
-
-<h4>Product area</h4>
+<h4>Stability</h4>
 
 <ul>
-  <li>Description of bug</li>
+  <li>Users may encounter system instability (such as kernel panics and
+  crashes).
+  </li>
 </ul>
 
--->
+<h4>Launcher</h4>
+
+<ul>
+  <li>The default launcher’s <strong>All Apps</strong> tray may become
+  unresponsive after cycling the screen off and on. Returning to the
+  homescreen and relaunching the <strong>All Apps</strong> tray may resolve
+  this issue.
+  </li>
+</ul>
+
+<h4>Setup Wizard</h4>
+
+<ul>
+  <li>Crash on selecting "Not now" in "Set up email" screen.
+  </li>
+</ul>
+
+<h4>Media</h4>
+
+<ul>
+  <li>Media playback may be unreliable on Nexus 9 and Nexus Player, including
+  issues playing HD video.
+  </li>
+
+  <li>Occasional freeze when running the YouTube app with other apps in
+  multi-window mode on Pixel C devices. In some cases hard reboot is required.
+  </li>
+
+  <li>Apps may have issues playing some Widevine DRM-protected content on Nexus
+  9 devices.
+  </li>
+
+  <li>Issues handling VP8 video on Nexus 9 devices.
+  </li>
+</ul>
+
+<h4>External storage</h4>
+
+<ul>
+  <li>Apps may become unstable when the user moves them from internal storage
+  to adoptable external storage (this can include SD card or devices attached
+  over USB).
+  </li>
+</ul>
+
+<h4>Screen zoom and multiple APKs in Google Play</h4>
+
+<ul>
+  <li>On devices running Android N, Google Play services 9.0.83 incorrectly
+  reports the current screen density rather than the stable screen density.
+  When screen zoom is enabled on these devices, this can cause Google Play to
+  select a version of a multi-APK app that’s designed for smaller screens. This
+  issue is fixed in the next version of Google Play services and will be
+  included in a later Developer Preview release.
+  </li>
+</ul>
+
+<h4>Vulkan support and multiple APKs in Google Play</h4>
+
+<ul>
+  <li>On devices running Android N, Google Play services 9.0.83 currently
+  reports Vulkan support but not Vulkan version. This can cause Google Play to
+  select a version of a multi-APK app that’s designed for lower Vulkan support
+  on devices with higher version support. Currently, the Google Play Store does
+  not accept uploads of apps which use Vulkan version targeting. This support
+  will be added to the Google Play Store in the future and fixed in the next
+  version of Google Play services (to be included in a later Developer Preview
+  release). Any N devices using the version of Google Play services 9.0.83 will
+  continue to receive versions of apps targeting basic Vulkan support.
+  </li>
+</ul>
+
+<h4>Accessibility</h4>
+<ul>
+  <li>Switch access doesn't allow user to navigate web pages in Chrome.
+  </li>
+
+  <li>Accessibility issues for talkback users with notification dismissal, and
+  wifi selection screen.
+  </li>
+</ul>
+
+<h4>Android for Work</h4>
+
+<ul>
+  <li>Currently, CA certificates provisioned through {@link
+  android.app.admin.DevicePolicyManager} are not
+  available to profiles other than the primary user/profile due to a preload
+  issue. For example, this could prevent a user from connecting to a trusted
+  server when in a Work profile. This issue will be resolved in the next
+  Developer Preview.
+  </li>
+
+  <li>After reboot with work mode off, solving work challenge does not switch
+  on work mode.
+  </li>
+
+  <li>Users receiving a video call in Hangouts have to unlock work challenge
+    first.
+  </li>
+
+  <li>Accessing Settings &gt; Security &gt; Device Security crash observed when
+  separating primary and work challenge.
+  </li>
+
+  <li>If {@link android.os.UserManager#DISALLOW_CONFIG_VPN} is set before
+  calling {@link android.app.admin.DevicePolicyManager#setAlwaysOnVpnPackage
+  DevicePolicyManager.setAlwaysOnVpnPackage()}, then setting always on VPN does
+  not work. That is, after rebooting the device with the {@link
+  android.os.UserManager#DISALLOW_CONFIG_VPN} restriction set, VPN is not
+  autostarted.
+  </li>
+</ul>
+
+<h4 id="">Android Auto</h4>
+
+<p>
+  The version of Google Maps included in Developer Preview 4 (9.30) crashes
+  when used with Android Auto. This issue will be fixed in the next update to
+  Google Maps (9.31), expected in the coming weeks.
+</p>
 
 
 <!-- TBA, if any
@@ -164,8 +309,63 @@
 -->
 
 
+<h4 id="dp4-fixes">Fixes for issues reported by developers</h4>
 
+<p>
+  A number of issues reported by developers have been fixed, including:
+</p>
 
+<ul>
+  <li>The active network state ({@link android.net.NetworkInfo#getState
+  NetworkInfo.getState()} and {@link android.net.NetworkInfo#getDetailedState
+  NetworkInfo.getDetailedState()}) might return incorrect values during some
+  restricted background scenarios
+  </li>
+
+  <li>Data Saver restricts the foreground MMS mobile network request
+    (<a href="https://code.google.com/p/android/issues/detail?id=208478">bug
+    208478</a>)
+  </li>
+
+  <li>Quick settings tiles and notifications sometimes unresponsive
+  </li>
+
+  <li>Unable to dismiss Clock notifications
+  </li>
+
+  <li>Duplication of bluetooth icon and other status icons
+  </li>
+
+  <li>Additional bluetooth connectivity fixes
+  </li>
+
+</ul>
+
+<p>For the full list of fixed issues, see <a href="https://goo.gl/6uCKtf">the
+issue tracker</a>.</p>
+
+<h3 id="upgrade-notes">Notes on publishing apps that target API 24</h3>
+
+<p>
+  Before publishing apps that target API 24 in Google Play, keep these points
+  in mind:
+</p>
+
+<ul>
+  <li>If your app’s current <code>targetSdkVersion</code> is 22 or lower and
+  you want to target API 24, you’ll need to support <a href=
+  "{@docRoot}about/versions/marshmallow/android-6.0-changes.html">behaviors
+  introduced with Android 6.0 (Marshmallow)</a>, such as <a href=
+  "{@docRoot}training/permissions/requesting.html">runtime permissions</a>, in
+  addition to Android N behaviors.
+  </li>
+
+  <li>Once you publish an app with <code>targetSdkVersion</code> set to 23 or
+  higher, you can't later publish a version of the app with a higher
+  <code>versionCode</code> that targets 22 or lower. This restriction applies
+  in alpha and beta channels as well as production channel.
+  </li>
+</ul>
 
 <!-- DP3 Release Notes Archive -->
 
@@ -220,7 +420,7 @@
 
 <h3 id="dp3-new">New in DP3</h3>
 
-<h4 id="">VR Mode for Android</h4>
+<h4>VR Mode for Android</h4>
 
 <p>
   Android N adds platform support and optimizations for a new VR Mode to let
@@ -236,7 +436,7 @@
   "https://developers.google.com/vr/android/">Google VR SDK for Android</a>.
 </p>
 
-<h4 id="">Sustained performance mode</h4>
+<h4>Sustained performance mode</h4>
 
 <p>
   Android N includes optional support for <a href=
@@ -266,7 +466,7 @@
   filing a bug</a>.
 </p>
 
-<h4 id="">Keyboard Shortcuts helper</h4>
+<h4>Keyboard Shortcuts helper</h4>
 
 <p>
   Android N lets users press <code>Meta+/</code> to trigger a <strong>Keyboard
@@ -277,7 +477,7 @@
   Shortcuts helper</a> for details.
 </p>
 
-<h4 id="">FrameMetrics API</h4>
+<h4>FrameMetrics API</h4>
 
 <p>
   DP3 introduces a new <a href=
@@ -605,14 +805,14 @@
   </li>
 </ul>
 
-<h4 id="">Notifications</h4>
+<h4>Notifications</h4>
 
 <ul>
   <li>MessagingStyle does not show notifications with "null" (self) sender.
   </li>
 </ul>
 
-<h4 id="">Developer Tools</h4>
+<h4>Developer Tools</h4>
 
 <ul>
   <li>
diff --git a/docs/html/sdk/api_diff/24/changes.html b/docs/html/sdk/api_diff/24/changes.html
new file mode 100644
index 0000000..997fbaa
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<!-- on Mon Jun 13 13:31:04 PDT 2016 -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+API Differences between 23 and 24
+</TITLE>
+<link href="../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</head>
+<frameset cols="242,**" framespacing="1" frameborder="yes" border="1" bordercolor="#e9e9e9"> 
+<frameset rows="174,**" framespacing="1" frameborder="yes"  border="1" bordercolor="#e9e9e9">
+    <frame src="changes/jdiff_topleftframe.html" scrolling="no" name="topleftframe" frameborder="1">
+    <frame src="changes/alldiffs_index_all.html" scrolling="auto" name="bottomleftframe" frameborder="1">
+  </frameset>
+  <frame src="changes/changes-summary.html" scrolling="auto" name="rightframe" frameborder="1">
+</frameset>
+<noframes>
+<h2>
+Frame Alert
+</h2>
+
+<p>
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
+<br>
+Link to <a href="changes/changes-summary.html" target="_top">Non-frame version.</A>
+</noframes>
+</html>
diff --git a/docs/html/sdk/api_diff/24/changes/alldiffs_index_additions.html b/docs/html/sdk/api_diff/24/changes/alldiffs_index_additions.html
new file mode 100644
index 0000000..0555e60
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/alldiffs_index_additions.html
@@ -0,0 +1,6096 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+All Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for All Differences" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="alldiffs_index_all.html" xclass="hiddenlink">All Differences</a>
+  <br>
+<A HREF="alldiffs_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="alldiffs_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<!-- Constructor AbsSavedState -->
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.AbsSavedState.html#android.view.AbsSavedState.ctor_added(android.os.Parcel, java.lang.ClassLoader)" class="hiddenlink" target="rightframe"><b>AbsSavedState</b>
+(<code>Parcel, ClassLoader</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field accessibilityActionSetProgress -->
+<nobr><A HREF="android.R.id.html#android.R.id.accessibilityActionSetProgress" class="hiddenlink" target="rightframe">accessibilityActionSetProgress</A>
+</nobr><br>
+<!-- Class AccessibilityService.GestureResultCallback -->
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.GestureResultCallback" class="hiddenlink" target="rightframe"><b>AccessibilityService.GestureResultCallback</b></A><br>
+<!-- Class AccessibilityService.MagnificationController -->
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.MagnificationController" class="hiddenlink" target="rightframe"><b>AccessibilityService.MagnificationController</b></A><br>
+<!-- Class AccessibilityService.MagnificationController.OnMagnificationChangedListener -->
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.MagnificationController.OnMagnificationChangedListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityService.MagnificationController.OnMagnificationChangedListener</i></b></A><br>
+<!-- Class AccessibilityService.SoftKeyboardController -->
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.SoftKeyboardController" class="hiddenlink" target="rightframe"><b>AccessibilityService.SoftKeyboardController</b></A><br>
+<!-- Class AccessibilityService.SoftKeyboardController.OnShowModeChangedListener -->
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.SoftKeyboardController.OnShowModeChangedListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityService.SoftKeyboardController.OnShowModeChangedListener</i></b></A><br>
+<!-- Method accumulateAndGet -->
+<i>accumulateAndGet</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicInteger.html#java.util.concurrent.atomic.AtomicInteger.accumulateAndGet_added(int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicInteger
+</A></nobr><br>
+<!-- Method accumulateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html#java.util.concurrent.atomic.AtomicIntegerArray.accumulateAndGet_added(int, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerArray
+</A></nobr><br>
+<!-- Method accumulateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html#java.util.concurrent.atomic.AtomicIntegerFieldUpdater.accumulateAndGet_added(T, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerFieldUpdater
+</A></nobr><br>
+<!-- Method accumulateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLong.html#java.util.concurrent.atomic.AtomicLong.accumulateAndGet_added(long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLong
+</A></nobr><br>
+<!-- Method accumulateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongArray.html#java.util.concurrent.atomic.AtomicLongArray.accumulateAndGet_added(int, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongArray
+</A></nobr><br>
+<!-- Method accumulateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html#java.util.concurrent.atomic.AtomicLongFieldUpdater.accumulateAndGet_added(T, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongFieldUpdater
+</A></nobr><br>
+<!-- Method accumulateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReference.html#java.util.concurrent.atomic.AtomicReference.accumulateAndGet_added(V, java.util.function.BinaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>V, BinaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReference
+</A></nobr><br>
+<!-- Method accumulateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html#java.util.concurrent.atomic.AtomicReferenceArray.accumulateAndGet_added(int, E, java.util.function.BinaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, E, BinaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceArray
+</A></nobr><br>
+<!-- Method accumulateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html#java.util.concurrent.atomic.AtomicReferenceFieldUpdater.accumulateAndGet_added(T, V, java.util.function.BinaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, V, BinaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceFieldUpdater
+</A></nobr><br>
+<!-- Method acquiredBy -->
+<nobr><A HREF="java.nio.channels.FileLock.html#java.nio.channels.FileLock.acquiredBy_added()" class="hiddenlink" target="rightframe"><b>acquiredBy</b>
+()</A></nobr><br>
+<!-- Field ACTION_APPLICATION_PREFERENCES -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_APPLICATION_PREFERENCES" class="hiddenlink" target="rightframe">ACTION_APPLICATION_PREFERENCES</A>
+</nobr><br>
+<!-- Field ACTION_ARGUMENT_PROGRESS_VALUE -->
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.ACTION_ARGUMENT_PROGRESS_VALUE" class="hiddenlink" target="rightframe">ACTION_ARGUMENT_PROGRESS_VALUE</A>
+</nobr><br>
+<!-- Field ACTION_DEFAULT_SMS_PACKAGE_CHANGED -->
+<nobr><A HREF="android.provider.Telephony.Sms.Intents.html#android.provider.Telephony.Sms.Intents.ACTION_DEFAULT_SMS_PACKAGE_CHANGED" class="hiddenlink" target="rightframe">ACTION_DEFAULT_SMS_PACKAGE_CHANGED</A>
+</nobr><br>
+<!-- Field ACTION_EXTERNAL_PROVIDER_CHANGE -->
+<nobr><A HREF="android.provider.Telephony.Sms.Intents.html#android.provider.Telephony.Sms.Intents.ACTION_EXTERNAL_PROVIDER_CHANGE" class="hiddenlink" target="rightframe">ACTION_EXTERNAL_PROVIDER_CHANGE</A>
+</nobr><br>
+<!-- Field ACTION_HARD_KEYBOARD_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_HARD_KEYBOARD_SETTINGS" class="hiddenlink" target="rightframe">ACTION_HARD_KEYBOARD_SETTINGS</A>
+</nobr><br>
+<!-- Field ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS" class="hiddenlink" target="rightframe">ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS</A>
+</nobr><br>
+<!-- Field ACTION_LOCKED_BOOT_COMPLETED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_LOCKED_BOOT_COMPLETED" class="hiddenlink" target="rightframe">ACTION_LOCKED_BOOT_COMPLETED</A>
+</nobr><br>
+<!-- Field ACTION_MANAGE_DEFAULT_APPS_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS" class="hiddenlink" target="rightframe">ACTION_MANAGE_DEFAULT_APPS_SETTINGS</A>
+</nobr><br>
+<!-- Field ACTION_MANAGED_PROFILE_AVAILABLE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_MANAGED_PROFILE_AVAILABLE" class="hiddenlink" target="rightframe">ACTION_MANAGED_PROFILE_AVAILABLE</A>
+</nobr><br>
+<!-- Field ACTION_MANAGED_PROFILE_UNAVAILABLE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE" class="hiddenlink" target="rightframe">ACTION_MANAGED_PROFILE_UNAVAILABLE</A>
+</nobr><br>
+<!-- Field ACTION_MANAGED_PROFILE_UNLOCKED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_MANAGED_PROFILE_UNLOCKED" class="hiddenlink" target="rightframe">ACTION_MANAGED_PROFILE_UNLOCKED</A>
+</nobr><br>
+<!-- Field ACTION_PACKAGES_SUSPENDED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGES_SUSPENDED" class="hiddenlink" target="rightframe">ACTION_PACKAGES_SUSPENDED</A>
+</nobr><br>
+<!-- Field ACTION_PACKAGES_UNSUSPENDED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGES_UNSUSPENDED" class="hiddenlink" target="rightframe">ACTION_PACKAGES_UNSUSPENDED</A>
+</nobr><br>
+<!-- Field ACTION_PREPARE -->
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.ACTION_PREPARE" class="hiddenlink" target="rightframe">ACTION_PREPARE</A>
+</nobr><br>
+<!-- Field ACTION_PREPARE_FROM_MEDIA_ID -->
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.ACTION_PREPARE_FROM_MEDIA_ID" class="hiddenlink" target="rightframe">ACTION_PREPARE_FROM_MEDIA_ID</A>
+</nobr><br>
+<!-- Field ACTION_PREPARE_FROM_SEARCH -->
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.ACTION_PREPARE_FROM_SEARCH" class="hiddenlink" target="rightframe">ACTION_PREPARE_FROM_SEARCH</A>
+</nobr><br>
+<!-- Field ACTION_PREPARE_FROM_URI -->
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.ACTION_PREPARE_FROM_URI" class="hiddenlink" target="rightframe">ACTION_PREPARE_FROM_URI</A>
+</nobr><br>
+<!-- Field ACTION_QUICK_VIEW -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_QUICK_VIEW" class="hiddenlink" target="rightframe">ACTION_QUICK_VIEW</A>
+</nobr><br>
+<!-- Field ACTION_RESTRICT_BACKGROUND_CHANGED -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED" class="hiddenlink" target="rightframe">ACTION_RESTRICT_BACKGROUND_CHANGED</A>
+</nobr><br>
+<!-- Field ACTION_SET_NEW_PARENT_PROFILE_PASSWORD -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.ACTION_SET_NEW_PARENT_PROFILE_PASSWORD" class="hiddenlink" target="rightframe">ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</A>
+</nobr><br>
+<!-- Field ACTION_SET_PROGRESS -->
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.html#android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.ACTION_SET_PROGRESS" class="hiddenlink" target="rightframe">ACTION_SET_PROGRESS</A>
+</nobr><br>
+<!-- Field ACTION_SETUP_INPUTS -->
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.ACTION_SETUP_INPUTS" class="hiddenlink" target="rightframe">ACTION_SETUP_INPUTS</A>
+</nobr><br>
+<!-- Field ACTION_SHOW_APP_INFO -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_SHOW_APP_INFO" class="hiddenlink" target="rightframe">ACTION_SHOW_APP_INFO</A>
+</nobr><br>
+<!-- Field ACTION_SHOW_MISSED_CALLS_NOTIFICATION -->
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.ACTION_SHOW_MISSED_CALLS_NOTIFICATION" class="hiddenlink" target="rightframe">ACTION_SHOW_MISSED_CALLS_NOTIFICATION</A>
+</nobr><br>
+<!-- Field ACTION_SYNC_VOICEMAIL -->
+<nobr><A HREF="android.provider.VoicemailContract.html#android.provider.VoicemailContract.ACTION_SYNC_VOICEMAIL" class="hiddenlink" target="rightframe">ACTION_SYNC_VOICEMAIL</A>
+</nobr><br>
+<!-- Field ACTION_USER_UNLOCKED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_USER_UNLOCKED" class="hiddenlink" target="rightframe">ACTION_USER_UNLOCKED</A>
+</nobr><br>
+<!-- Field ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS -->
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS" class="hiddenlink" target="rightframe">ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS</A>
+</nobr><br>
+<!-- Field ACTION_VPN_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_VPN_SETTINGS" class="hiddenlink" target="rightframe">ACTION_VPN_SETTINGS</A>
+</nobr><br>
+<!-- Field ACTION_VR_LISTENER_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_VR_LISTENER_SETTINGS" class="hiddenlink" target="rightframe">ACTION_VR_LISTENER_SETTINGS</A>
+</nobr><br>
+<!-- Field ACTION_WEBVIEW_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_WEBVIEW_SETTINGS" class="hiddenlink" target="rightframe">ACTION_WEBVIEW_SETTINGS</A>
+</nobr><br>
+<!-- Class ActivityInfo.WindowLayout -->
+<A HREF="pkg_android.content.pm.html#ActivityInfo.WindowLayout" class="hiddenlink" target="rightframe"><b>ActivityInfo.WindowLayout</b></A><br>
+<!-- Method addAutomaticZenRule -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.addAutomaticZenRule_added(android.app.AutomaticZenRule)" class="hiddenlink" target="rightframe"><b>addAutomaticZenRule</b>
+(<code>AutomaticZenRule</code>)</A></nobr><br>
+<!-- Method addCompletedDownload -->
+<nobr><A HREF="android.app.DownloadManager.html#android.app.DownloadManager.addCompletedDownload_added(java.lang.String, java.lang.String, boolean, java.lang.String, java.lang.String, long, boolean, android.net.Uri, android.net.Uri)" class="hiddenlink" target="rightframe"><b>addCompletedDownload</b>
+(<code>String, String, boolean, String, String, long, boolean, Uri, Uri</code>)</A></nobr><br>
+<!-- Method addExact -->
+<i>addExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.addExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method addExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.addExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method addExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.addExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method addExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.addExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method addLinks -->
+<i>addLinks</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.util.Linkify.html#android.text.util.Linkify.addLinks_added(android.text.Spannable, java.util.regex.Pattern, java.lang.String, java.lang.String[], android.text.util.Linkify.MatchFilter, android.text.util.Linkify.TransformFilter)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Spannable, Pattern, String, String[], MatchFilter, TransformFilter</code>)</b>&nbsp;in&nbsp;android.text.util.Linkify
+</A></nobr><br>
+<!-- Method addLinks -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.util.Linkify.html#android.text.util.Linkify.addLinks_added(android.widget.TextView, java.util.regex.Pattern, java.lang.String, java.lang.String[], android.text.util.Linkify.MatchFilter, android.text.util.Linkify.TransformFilter)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>TextView, Pattern, String, String[], MatchFilter, TransformFilter</code>)</b>&nbsp;in&nbsp;android.text.util.Linkify
+</A></nobr><br>
+<!-- Method addNmeaListener -->
+<i>addNmeaListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.addNmeaListener_added(android.location.OnNmeaMessageListener)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnNmeaMessageListener</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method addNmeaListener -->
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.addNmeaListener_added(android.location.OnNmeaMessageListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnNmeaMessageListener, Handler</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method addOnFrameMetricsAvailableListener -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.addOnFrameMetricsAvailableListener_added(android.view.Window.OnFrameMetricsAvailableListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>addOnFrameMetricsAvailableListener</b>
+(<code>OnFrameMetricsAvailableListener, Handler</code>)</A></nobr><br>
+<!-- Method addOnRoutingChangedListener -->
+<i>addOnRoutingChangedListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.addOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnRoutingChangedListener, Handler</code>)</b>&nbsp;in&nbsp;android.media.AudioRecord
+</A></nobr><br>
+<!-- Method addOnRoutingChangedListener -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.addOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnRoutingChangedListener, Handler</code>)</b>&nbsp;in&nbsp;android.media.AudioTrack
+</A></nobr><br>
+<!-- Method addTriggerContentUri -->
+<nobr><A HREF="android.app.job.JobInfo.Builder.html#android.app.job.JobInfo.Builder.addTriggerContentUri_added(android.app.job.JobInfo.TriggerContentUri)" class="hiddenlink" target="rightframe"><b>addTriggerContentUri</b>
+(<code>TriggerContentUri</code>)</A></nobr><br>
+<!-- Class AlarmManager.OnAlarmListener -->
+<A HREF="pkg_android.app.html#AlarmManager.OnAlarmListener" class="hiddenlink" target="rightframe"><b><i>AlarmManager.OnAlarmListener</i></b></A><br>
+<!-- Class AlgorithmConstraints -->
+<A HREF="pkg_java.security.html#AlgorithmConstraints" class="hiddenlink" target="rightframe"><b><i>AlgorithmConstraints</i></b></A><br>
+<!-- Class AlreadyBoundException -->
+<A HREF="pkg_java.nio.channels.html#AlreadyBoundException" class="hiddenlink" target="rightframe"><b>AlreadyBoundException</b></A><br>
+<!-- Package android.icu.lang -->
+<A HREF="changes-summary.html#android.icu.lang" class="hiddenlink" target="rightframe"><b>android.icu.lang</b></A><br>
+<!-- Package android.icu.math -->
+<A HREF="changes-summary.html#android.icu.math" class="hiddenlink" target="rightframe"><b>android.icu.math</b></A><br>
+<!-- Package android.icu.text -->
+<A HREF="changes-summary.html#android.icu.text" class="hiddenlink" target="rightframe"><b>android.icu.text</b></A><br>
+<!-- Package android.icu.util -->
+<A HREF="changes-summary.html#android.icu.util" class="hiddenlink" target="rightframe"><b>android.icu.util</b></A><br>
+<!-- Package android.os.health -->
+<A HREF="changes-summary.html#android.os.health" class="hiddenlink" target="rightframe"><b>android.os.health</b></A><br>
+<!-- Package android.service.quicksettings -->
+<A HREF="changes-summary.html#android.service.quicksettings" class="hiddenlink" target="rightframe"><b>android.service.quicksettings</b></A><br>
+<!-- Package android.service.vr -->
+<A HREF="changes-summary.html#android.service.vr" class="hiddenlink" target="rightframe"><b>android.service.vr</b></A><br>
+<!-- Field APPTYPE_CSIM -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_CSIM" class="hiddenlink" target="rightframe">APPTYPE_CSIM</A>
+</nobr><br>
+<!-- Field APPTYPE_ISIM -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_ISIM" class="hiddenlink" target="rightframe">APPTYPE_ISIM</A>
+</nobr><br>
+<!-- Field APPTYPE_RUIM -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_RUIM" class="hiddenlink" target="rightframe">APPTYPE_RUIM</A>
+</nobr><br>
+<!-- Field APPTYPE_SIM -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_SIM" class="hiddenlink" target="rightframe">APPTYPE_SIM</A>
+</nobr><br>
+<!-- Field APPTYPE_USIM -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_USIM" class="hiddenlink" target="rightframe">APPTYPE_USIM</A>
+</nobr><br>
+<!-- Method areNotificationsEnabled -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.areNotificationsEnabled_added()" class="hiddenlink" target="rightframe"><b>areNotificationsEnabled</b>
+()</A></nobr><br>
+<!-- Method asPredicate -->
+<nobr><A HREF="java.util.regex.Pattern.html#java.util.regex.Pattern.asPredicate_added()" class="hiddenlink" target="rightframe"><b>asPredicate</b>
+()</A></nobr><br>
+<!-- Class AudioManager.AudioRecordingCallback -->
+<A HREF="pkg_android.media.html#AudioManager.AudioRecordingCallback" class="hiddenlink" target="rightframe"><b>AudioManager.AudioRecordingCallback</b></A><br>
+<!-- Class AudioRecordingConfiguration -->
+<A HREF="pkg_android.media.html#AudioRecordingConfiguration" class="hiddenlink" target="rightframe"><b>AudioRecordingConfiguration</b></A><br>
+<!-- Class AudioRouting -->
+<A HREF="pkg_android.media.html#AudioRouting" class="hiddenlink" target="rightframe"><b><i>AudioRouting</i></b></A><br>
+<!-- Class AudioRouting.OnRoutingChangedListener -->
+<A HREF="pkg_android.media.html#AudioRouting.OnRoutingChangedListener" class="hiddenlink" target="rightframe"><b><i>AudioRouting.OnRoutingChangedListener</i></b></A><br>
+<!-- Field AUTHTYPE_EAP_AKA -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.AUTHTYPE_EAP_AKA" class="hiddenlink" target="rightframe">AUTHTYPE_EAP_AKA</A>
+</nobr><br>
+<!-- Field AUTHTYPE_EAP_SIM -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.AUTHTYPE_EAP_SIM" class="hiddenlink" target="rightframe">AUTHTYPE_EAP_SIM</A>
+</nobr><br>
+<!-- Constructor AutoCompleteTextView -->
+<nobr><A HREF="android.widget.AutoCompleteTextView.html#android.widget.AutoCompleteTextView.ctor_added(android.content.Context, android.util.AttributeSet, int, int, android.content.res.Resources.Theme)" class="hiddenlink" target="rightframe"><b>AutoCompleteTextView</b>
+(<code>Context, AttributeSet, int, int, Theme</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class AutomaticZenRule -->
+<A HREF="pkg_android.app.html#AutomaticZenRule" class="hiddenlink" target="rightframe"><b>AutomaticZenRule</b></A><br>
+<!-- Field AXIS_RELATIVE_X -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.AXIS_RELATIVE_X" class="hiddenlink" target="rightframe">AXIS_RELATIVE_X</A>
+</nobr><br>
+<!-- Field AXIS_RELATIVE_Y -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.AXIS_RELATIVE_Y" class="hiddenlink" target="rightframe">AXIS_RELATIVE_Y</A>
+</nobr><br>
+<!-- Field BACKUP_ID -->
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.ContactsContract.RawContactsColumns.html#android.provider.ContactsContract.RawContactsColumns.BACKUP_ID" class="hiddenlink" target="rightframe">BACKUP_ID</A>
+</nobr><br>
+<!-- Field backupInForeground -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.backupInForeground" class="hiddenlink" target="rightframe">backupInForeground</A>
+</nobr><br>
+<!-- Method bind -->
+<i>bind</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.DatagramChannel.html#java.nio.channels.DatagramChannel.bind_added(java.net.SocketAddress)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketAddress</code>)</b>&nbsp;in&nbsp;java.nio.channels.DatagramChannel
+</A></nobr><br>
+<!-- Method bind -->
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.ServerSocketChannel.html#java.nio.channels.ServerSocketChannel.bind_added(java.net.SocketAddress, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketAddress, int</code>)</b>&nbsp;in&nbsp;java.nio.channels.ServerSocketChannel
+</A></nobr><br>
+<!-- Method bind -->
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.ServerSocketChannel.html#java.nio.channels.ServerSocketChannel.bind_added(java.net.SocketAddress)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketAddress</code>)</b>&nbsp;in&nbsp;java.nio.channels.ServerSocketChannel
+</A></nobr><br>
+<!-- Method bind -->
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.bind_added(java.net.SocketAddress)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketAddress</code>)</b>&nbsp;in&nbsp;java.nio.channels.SocketChannel
+</A></nobr><br>
+<!-- Field BIND_CONDITION_PROVIDER_SERVICE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_CONDITION_PROVIDER_SERVICE" class="hiddenlink" target="rightframe">BIND_CONDITION_PROVIDER_SERVICE</A>
+</nobr><br>
+<!-- Field BIND_EXTERNAL_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_EXTERNAL_SERVICE" class="hiddenlink" target="rightframe">BIND_EXTERNAL_SERVICE</A>
+</nobr><br>
+<!-- Field BIND_QUICK_SETTINGS_TILE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_QUICK_SETTINGS_TILE" class="hiddenlink" target="rightframe">BIND_QUICK_SETTINGS_TILE</A>
+</nobr><br>
+<!-- Field BIND_SCREENING_SERVICE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_SCREENING_SERVICE" class="hiddenlink" target="rightframe">BIND_SCREENING_SERVICE</A>
+</nobr><br>
+<!-- Field BIND_VR_LISTENER_SERVICE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_VR_LISTENER_SERVICE" class="hiddenlink" target="rightframe">BIND_VR_LISTENER_SERVICE</A>
+</nobr><br>
+<!-- Field bitmap -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.bitmap" class="hiddenlink" target="rightframe">bitmap</A>
+</nobr><br>
+<!-- Field BLOCKED_TYPE -->
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.BLOCKED_TYPE" class="hiddenlink" target="rightframe">BLOCKED_TYPE</A>
+</nobr><br>
+<!-- Class BlockedNumberContract -->
+<A HREF="pkg_android.provider.html#BlockedNumberContract" class="hiddenlink" target="rightframe"><b>BlockedNumberContract</b></A><br>
+<!-- Class BlockedNumberContract.BlockedNumbers -->
+<A HREF="pkg_android.provider.html#BlockedNumberContract.BlockedNumbers" class="hiddenlink" target="rightframe"><b>BlockedNumberContract.BlockedNumbers</b></A><br>
+<!-- Field BOOT_COUNT -->
+<nobr><A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.BOOT_COUNT" class="hiddenlink" target="rightframe">BOOT_COUNT</A>
+</nobr><br>
+<!-- Field BUGREPORT_FAILURE_FAILED_COMPLETING -->
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING" class="hiddenlink" target="rightframe">BUGREPORT_FAILURE_FAILED_COMPLETING</A>
+</nobr><br>
+<!-- Field BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE -->
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE" class="hiddenlink" target="rightframe">BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</A>
+</nobr><br>
+<!-- Method buildRecordedProgramUri -->
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.buildRecordedProgramUri_added(long)" class="hiddenlink" target="rightframe"><b>buildRecordedProgramUri</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Field buttonGravity -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.buttonGravity" class="hiddenlink" target="rightframe">buttonGravity</A>
+</nobr><br>
+<!-- Field BYTES -->
+<i>BYTES</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Byte.html#java.lang.Byte.BYTES" class="hiddenlink" target="rightframe">java.lang.Byte</A>
+</nobr><br>
+<!-- Field BYTES -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Character.html#java.lang.Character.BYTES" class="hiddenlink" target="rightframe">java.lang.Character</A>
+</nobr><br>
+<!-- Field BYTES -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Double.html#java.lang.Double.BYTES" class="hiddenlink" target="rightframe">java.lang.Double</A>
+</nobr><br>
+<!-- Field BYTES -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Float.html#java.lang.Float.BYTES" class="hiddenlink" target="rightframe">java.lang.Float</A>
+</nobr><br>
+<!-- Field BYTES -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Integer.html#java.lang.Integer.BYTES" class="hiddenlink" target="rightframe">java.lang.Integer</A>
+</nobr><br>
+<!-- Field BYTES -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Long.html#java.lang.Long.BYTES" class="hiddenlink" target="rightframe">java.lang.Long</A>
+</nobr><br>
+<!-- Field BYTES -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Short.html#java.lang.Short.BYTES" class="hiddenlink" target="rightframe">java.lang.Short</A>
+</nobr><br>
+<!-- Class CallScreeningService -->
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.telecom.html#CallScreeningService" class="hiddenlink" target="rightframe"><b>CallScreeningService</b></A><br>
+<!-- Class CallScreeningService.CallResponse -->
+<A HREF="pkg_android.telecom.html#CallScreeningService.CallResponse" class="hiddenlink" target="rightframe"><b>CallScreeningService.CallResponse</b></A><br>
+<!-- Class CallScreeningService.CallResponse.Builder -->
+<A HREF="pkg_android.telecom.html#CallScreeningService.CallResponse.Builder" class="hiddenlink" target="rightframe"><b>CallScreeningService.CallResponse.Builder</b></A><br>
+<!-- Method cancel -->
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.cancel_added(android.app.AlarmManager.OnAlarmListener)" class="hiddenlink" target="rightframe"><b>cancel</b>
+(<code>OnAlarmListener</code>)</A></nobr><br>
+<!-- Method cancelDragAndDrop -->
+<nobr><A HREF="android.view.View.html#android.view.View.cancelDragAndDrop_added()" class="hiddenlink" target="rightframe"><b>cancelDragAndDrop</b>
+()</A></nobr><br>
+<!-- Field canControlMagnification -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.canControlMagnification" class="hiddenlink" target="rightframe">canControlMagnification</A>
+</nobr><br>
+<!-- Field canPerformGestures -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.canPerformGestures" class="hiddenlink" target="rightframe">canPerformGestures</A>
+</nobr><br>
+<!-- Method canRecord -->
+<i>canRecord</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.canRecord_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.media.tv.TvInputInfo
+</A></nobr><br>
+<!-- Field canRecord -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.canRecord" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field CAPABILITY_CAN_CONTROL_MAGNIFICATION -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.CAPABILITY_CAN_CONTROL_MAGNIFICATION" class="hiddenlink" target="rightframe">CAPABILITY_CAN_CONTROL_MAGNIFICATION</A>
+</nobr><br>
+<!-- Field CAPABILITY_CAN_PERFORM_GESTURES -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.CAPABILITY_CAN_PERFORM_GESTURES" class="hiddenlink" target="rightframe">CAPABILITY_CAN_PERFORM_GESTURES</A>
+</nobr><br>
+<!-- Field CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION -->
+<nobr><A HREF="android.telecom.Connection.html#android.telecom.Connection.CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION" class="hiddenlink" target="rightframe">CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION</A>
+</nobr><br>
+<!-- Field CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO -->
+<i>CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.telecom.Call.Details.html#android.telecom.Call.Details.CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO" class="hiddenlink" target="rightframe">android.telecom.Call.Details</A>
+</nobr><br>
+<!-- Field CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.telecom.Connection.html#android.telecom.Connection.CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO" class="hiddenlink" target="rightframe">android.telecom.Connection</A>
+</nobr><br>
+<!-- Field CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE -->
+<nobr><A HREF="android.telecom.PhoneAccount.html#android.telecom.PhoneAccount.CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE" class="hiddenlink" target="rightframe">CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE</A>
+</nobr><br>
+<!-- Class CertificateRevokedException -->
+<A HREF="pkg_java.security.cert.html#CertificateRevokedException" class="hiddenlink" target="rightframe"><b>CertificateRevokedException</b></A><br>
+<!-- Class CertPathChecker -->
+<A HREF="pkg_java.security.cert.html#CertPathChecker" class="hiddenlink" target="rightframe"><b><i>CertPathChecker</i></b></A><br>
+<!-- Constructor CertPathValidatorException -->
+<nobr><A HREF="java.security.cert.CertPathValidatorException.html#java.security.cert.CertPathValidatorException.ctor_added(java.lang.String, java.lang.Throwable, java.security.cert.CertPath, int, java.security.cert.CertPathValidatorException.Reason)" class="hiddenlink" target="rightframe"><b>CertPathValidatorException</b>
+(<code>String, Throwable, CertPath, int, Reason</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class CertPathValidatorException.BasicReason -->
+<A HREF="pkg_java.security.cert.html#CertPathValidatorException.BasicReason" class="hiddenlink" target="rightframe"><b>CertPathValidatorException.BasicReason</b></A><br>
+<!-- Class CertPathValidatorException.Reason -->
+<A HREF="pkg_java.security.cert.html#CertPathValidatorException.Reason" class="hiddenlink" target="rightframe"><b><i>CertPathValidatorException.Reason</i></b></A><br>
+<!-- Class Character.UnicodeScript -->
+<A HREF="pkg_java.lang.html#Character.UnicodeScript" class="hiddenlink" target="rightframe"><b>Character.UnicodeScript</b></A><br>
+<!-- Method chars -->
+<i>chars</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.CharSequence.html#java.lang.CharSequence.chars_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.lang.CharSequence
+</A></nobr><br>
+<!-- Method chars -->
+&nbsp;&nbsp;<nobr><A HREF="java.nio.CharBuffer.html#java.nio.CharBuffer.chars_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.nio.CharBuffer
+</A></nobr><br>
+<!-- Method check -->
+<nobr><A HREF="java.security.cert.PKIXCertPathChecker.html#java.security.cert.PKIXCertPathChecker.check_added(java.security.cert.Certificate)" class="hiddenlink" target="rightframe"><b>check</b>
+(<code>Certificate</code>)</A></nobr><br>
+<!-- Method clear -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.clear_added(int)" class="hiddenlink" target="rightframe"><b>clear</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method clearProfileOwner -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.clearProfileOwner_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>clearProfileOwner</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method close -->
+<i>close</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContentProviderClient.html#android.content.ContentProviderClient.close_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContentProviderClient
+</A></nobr><br>
+<!-- Method close -->
+&nbsp;&nbsp;<nobr><A HREF="android.drm.DrmManagerClient.html#android.drm.DrmManagerClient.close_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.drm.DrmManagerClient
+</A></nobr><br>
+<!-- Method close -->
+&nbsp;&nbsp;<nobr><A HREF="java.net.URLClassLoader.html#java.net.URLClassLoader.close_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.net.URLClassLoader
+</A></nobr><br>
+<!-- Method closeConnection -->
+<i>closeConnection</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.BaseInputConnection.html#android.view.inputmethod.BaseInputConnection.closeConnection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.BaseInputConnection
+</A></nobr><br>
+<!-- Method closeConnection -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnection.html#android.view.inputmethod.InputConnection.closeConnection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnection
+</A></nobr><br>
+<!-- Method closeConnection -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnectionWrapper.html#android.view.inputmethod.InputConnectionWrapper.closeConnection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnectionWrapper
+</A></nobr><br>
+<!-- Field closed -->
+<nobr><A HREF="java.util.zip.InflaterInputStream.html#java.util.zip.InflaterInputStream.closed" class="hiddenlink" target="rightframe">closed</A>
+</nobr><br>
+<!-- Method codePoints -->
+<nobr><A HREF="java.lang.CharSequence.html#java.lang.CharSequence.codePoints_added()" class="hiddenlink" target="rightframe"><b>codePoints</b>
+()</A></nobr><br>
+<!-- Field collapseIcon -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.collapseIcon" class="hiddenlink" target="rightframe">collapseIcon</A>
+</nobr><br>
+<!-- Field COLOR_RANGE_FULL -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_RANGE_FULL" class="hiddenlink" target="rightframe">COLOR_RANGE_FULL</A>
+</nobr><br>
+<!-- Field COLOR_RANGE_LIMITED -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_RANGE_LIMITED" class="hiddenlink" target="rightframe">COLOR_RANGE_LIMITED</A>
+</nobr><br>
+<!-- Field COLOR_STANDARD_BT2020 -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_STANDARD_BT2020" class="hiddenlink" target="rightframe">COLOR_STANDARD_BT2020</A>
+</nobr><br>
+<!-- Field COLOR_STANDARD_BT601_NTSC -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_STANDARD_BT601_NTSC" class="hiddenlink" target="rightframe">COLOR_STANDARD_BT601_NTSC</A>
+</nobr><br>
+<!-- Field COLOR_STANDARD_BT601_PAL -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_STANDARD_BT601_PAL" class="hiddenlink" target="rightframe">COLOR_STANDARD_BT601_PAL</A>
+</nobr><br>
+<!-- Field COLOR_STANDARD_BT709 -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_STANDARD_BT709" class="hiddenlink" target="rightframe">COLOR_STANDARD_BT709</A>
+</nobr><br>
+<!-- Field COLOR_TRANSFER_HLG -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_TRANSFER_HLG" class="hiddenlink" target="rightframe">COLOR_TRANSFER_HLG</A>
+</nobr><br>
+<!-- Field COLOR_TRANSFER_LINEAR -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_TRANSFER_LINEAR" class="hiddenlink" target="rightframe">COLOR_TRANSFER_LINEAR</A>
+</nobr><br>
+<!-- Field COLOR_TRANSFER_SDR_VIDEO -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_TRANSFER_SDR_VIDEO" class="hiddenlink" target="rightframe">COLOR_TRANSFER_SDR_VIDEO</A>
+</nobr><br>
+<!-- Field COLOR_TRANSFER_ST2084 -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_TRANSFER_ST2084" class="hiddenlink" target="rightframe">COLOR_TRANSFER_ST2084</A>
+</nobr><br>
+<!-- Field COLUMN_CAPACITY_BYTES -->
+<nobr><A HREF="android.provider.DocumentsContract.Root.html#android.provider.DocumentsContract.Root.COLUMN_CAPACITY_BYTES" class="hiddenlink" target="rightframe">COLUMN_CAPACITY_BYTES</A>
+</nobr><br>
+<!-- Field COLUMN_EPISODE_DISPLAY_NUMBER -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_EPISODE_DISPLAY_NUMBER" class="hiddenlink" target="rightframe">COLUMN_EPISODE_DISPLAY_NUMBER</A>
+</nobr><br>
+<!-- Field COLUMN_RECORDING_PROHIBITED -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_RECORDING_PROHIBITED" class="hiddenlink" target="rightframe">COLUMN_RECORDING_PROHIBITED</A>
+</nobr><br>
+<!-- Field COLUMN_SEASON_DISPLAY_NUMBER -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_SEASON_DISPLAY_NUMBER" class="hiddenlink" target="rightframe">COLUMN_SEASON_DISPLAY_NUMBER</A>
+</nobr><br>
+<!-- Field COLUMN_SEASON_TITLE -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_SEASON_TITLE" class="hiddenlink" target="rightframe">COLUMN_SEASON_TITLE</A>
+</nobr><br>
+<!-- Method commitNow -->
+<nobr><A HREF="android.app.FragmentTransaction.html#android.app.FragmentTransaction.commitNow_added()" class="hiddenlink" target="rightframe"><b>commitNow</b>
+()</A></nobr><br>
+<!-- Method commitNowAllowingStateLoss -->
+<nobr><A HREF="android.app.FragmentTransaction.html#android.app.FragmentTransaction.commitNowAllowingStateLoss_added()" class="hiddenlink" target="rightframe"><b>commitNowAllowingStateLoss</b>
+()</A></nobr><br>
+<!-- Method commonPool -->
+<nobr><A HREF="java.util.concurrent.ForkJoinPool.html#java.util.concurrent.ForkJoinPool.commonPool_added()" class="hiddenlink" target="rightframe"><b>commonPool</b>
+()</A></nobr><br>
+<!-- Method compareAndSetForkJoinTaskTag -->
+<nobr><A HREF="java.util.concurrent.ForkJoinTask.html#java.util.concurrent.ForkJoinTask.compareAndSetForkJoinTaskTag_added(short, short)" class="hiddenlink" target="rightframe"><b>compareAndSetForkJoinTaskTag</b>
+(<code>short, short</code>)</A></nobr><br>
+<!-- Method comparing -->
+<i>comparing</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparing_added(java.util.function.Function<? super T, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Function&lt;? super T, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+<!-- Method comparing -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparing_added(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Function&lt;? super T, ? extends U&gt;, Comparator&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+<!-- Method comparingByKey -->
+<i>comparingByKey</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.Entry.html#java.util.Map.Entry.comparingByKey_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Map.Entry
+</A></nobr><br>
+<!-- Method comparingByKey -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.Entry.html#java.util.Map.Entry.comparingByKey_added(java.util.Comparator<? super K>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super K&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map.Entry
+</A></nobr><br>
+<!-- Method comparingByValue -->
+<i>comparingByValue</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.Entry.html#java.util.Map.Entry.comparingByValue_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Map.Entry
+</A></nobr><br>
+<!-- Method comparingByValue -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.Entry.html#java.util.Map.Entry.comparingByValue_added(java.util.Comparator<? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map.Entry
+</A></nobr><br>
+<!-- Method comparingDouble -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparingDouble_added(java.util.function.ToDoubleFunction<? super T>)" class="hiddenlink" target="rightframe"><b>comparingDouble</b>
+(<code>ToDoubleFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<!-- Method comparingInt -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparingInt_added(java.util.function.ToIntFunction<? super T>)" class="hiddenlink" target="rightframe"><b>comparingInt</b>
+(<code>ToIntFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<!-- Method comparingLong -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparingLong_added(java.util.function.ToLongFunction<? super T>)" class="hiddenlink" target="rightframe"><b>comparingLong</b>
+(<code>ToLongFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<!-- Class CompletableFuture -->
+<A HREF="pkg_java.util.concurrent.html#CompletableFuture" class="hiddenlink" target="rightframe"><b>CompletableFuture</b></A><br>
+<!-- Class CompletableFuture.AsynchronousCompletionTask -->
+<A HREF="pkg_java.util.concurrent.html#CompletableFuture.AsynchronousCompletionTask" class="hiddenlink" target="rightframe"><b><i>CompletableFuture.AsynchronousCompletionTask</i></b></A><br>
+<!-- Class CompletionException -->
+<A HREF="pkg_java.util.concurrent.html#CompletionException" class="hiddenlink" target="rightframe"><b>CompletionException</b></A><br>
+<!-- Class CompletionStage -->
+<A HREF="pkg_java.util.concurrent.html#CompletionStage" class="hiddenlink" target="rightframe"><b><i>CompletionStage</i></b></A><br>
+<!-- Method compute -->
+<i>compute</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method compute -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method compute -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method compute -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<!-- Method computeIfAbsent -->
+<i>computeIfAbsent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, Function&lt;? super K, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method computeIfAbsent -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, Function&lt;? super K, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method computeIfAbsent -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, Function&lt;? super K, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method computeIfAbsent -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, Function&lt;? super K, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<!-- Method computeIfPresent -->
+<i>computeIfPresent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method computeIfPresent -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method computeIfPresent -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method computeIfPresent -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<!-- Class ConcurrentHashMap.CollectionView -->
+<A HREF="pkg_java.util.concurrent.html#ConcurrentHashMap.CollectionView" class="hiddenlink" target="rightframe"><b>ConcurrentHashMap.CollectionView</b></A><br>
+<!-- Class ConcurrentHashMap.KeySetView -->
+<A HREF="pkg_java.util.concurrent.html#ConcurrentHashMap.KeySetView" class="hiddenlink" target="rightframe"><b>ConcurrentHashMap.KeySetView</b></A><br>
+<!-- Class Condition -->
+<A HREF="pkg_android.service.notification.html#Condition" class="hiddenlink" target="rightframe"><b>Condition</b></A><br>
+<!-- Class ConditionProviderService -->
+<A HREF="pkg_android.service.notification.html#ConditionProviderService" class="hiddenlink" target="rightframe"><b>ConditionProviderService</b></A><br>
+<!-- Field CONTACT_ID -->
+<nobr><A HREF="android.provider.ContactsContract.PhoneLookupColumns.html#android.provider.ContactsContract.PhoneLookupColumns.CONTACT_ID" class="hiddenlink" target="rightframe">CONTACT_ID</A>
+</nobr><br>
+<!-- Field CONTACT_METADATA_SYNC_ENABLED -->
+<nobr><A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.CONTACT_METADATA_SYNC_ENABLED" class="hiddenlink" target="rightframe">CONTACT_METADATA_SYNC_ENABLED</A>
+</nobr><br>
+<!-- Method contains -->
+<nobr><A HREF="android.media.tv.TvContentRating.html#android.media.tv.TvContentRating.contains_added(android.media.tv.TvContentRating)" class="hiddenlink" target="rightframe"><b>contains</b>
+(<code>TvContentRating</code>)</A></nobr><br>
+<!-- Field contentInsetEndWithActions -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentInsetEndWithActions" class="hiddenlink" target="rightframe">contentInsetEndWithActions</A>
+</nobr><br>
+<!-- Field contentInsetStartWithNavigation -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentInsetStartWithNavigation" class="hiddenlink" target="rightframe">contentInsetStartWithNavigation</A>
+</nobr><br>
+<!-- Field contextPopupMenuStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.contextPopupMenuStyle" class="hiddenlink" target="rightframe">contextPopupMenuStyle</A>
+</nobr><br>
+<!-- Field CONTROL_POST_RAW_SENSITIVITY_BOOST -->
+<i>CONTROL_POST_RAW_SENSITIVITY_BOOST</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.hardware.camera2.CaptureRequest.html#android.hardware.camera2.CaptureRequest.CONTROL_POST_RAW_SENSITIVITY_BOOST" class="hiddenlink" target="rightframe">android.hardware.camera2.CaptureRequest</A>
+</nobr><br>
+<!-- Field CONTROL_POST_RAW_SENSITIVITY_BOOST -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.hardware.camera2.CaptureResult.html#android.hardware.camera2.CaptureResult.CONTROL_POST_RAW_SENSITIVITY_BOOST" class="hiddenlink" target="rightframe">android.hardware.camera2.CaptureResult</A>
+</nobr><br>
+<!-- Field CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE -->
+<nobr><A HREF="android.hardware.camera2.CameraCharacteristics.html#android.hardware.camera2.CameraCharacteristics.CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE" class="hiddenlink" target="rightframe">CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE</A>
+</nobr><br>
+<!-- Method copyDocument -->
+<i>copyDocument</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.copyDocument_added(android.content.ContentResolver, android.net.Uri, android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, Uri, Uri</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsContract
+</A></nobr><br>
+<!-- Method copyDocument -->
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.copyDocument_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsProvider
+</A></nobr><br>
+<!-- Field countDown -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.countDown" class="hiddenlink" target="rightframe">countDown</A>
+</nobr><br>
+<!-- Class CountedCompleter -->
+<A HREF="pkg_java.util.concurrent.html#CountedCompleter" class="hiddenlink" target="rightframe"><b>CountedCompleter</b></A><br>
+<!-- Class CpuUsageInfo -->
+<A HREF="pkg_android.os.html#CpuUsageInfo" class="hiddenlink" target="rightframe"><b>CpuUsageInfo</b></A><br>
+<!-- Method createAllocations -->
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.createAllocations_added(android.renderscript.RenderScript, android.renderscript.Type, int, int)" class="hiddenlink" target="rightframe"><b>createAllocations</b>
+(<code>RenderScript, Type, int, int</code>)</A></nobr><br>
+<!-- Method createAndManageUser -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.createAndManageUser_added(android.content.ComponentName, java.lang.String, android.content.ComponentName, android.os.PersistableBundle, int)" class="hiddenlink" target="rightframe"><b>createAndManageUser</b>
+(<code>ComponentName, String, ComponentName, PersistableBundle, int</code>)</A></nobr><br>
+<!-- Method createBigContentView -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.createBigContentView_added()" class="hiddenlink" target="rightframe"><b>createBigContentView</b>
+()</A></nobr><br>
+<!-- Method createCaptureSessionByOutputConfigurations -->
+<nobr><A HREF="android.hardware.camera2.CameraDevice.html#android.hardware.camera2.CameraDevice.createCaptureSessionByOutputConfigurations_added(java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler)" class="hiddenlink" target="rightframe"><b>createCaptureSessionByOutputConfigurations</b>
+(<code>List&lt;OutputConfiguration&gt;, StateCallback, Handler</code>)</A></nobr><br>
+<!-- Method createContentView -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.createContentView_added()" class="hiddenlink" target="rightframe"><b>createContentView</b>
+()</A></nobr><br>
+<!-- Method createDeviceProtectedStorageContext -->
+<i>createDeviceProtectedStorageContext</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.createDeviceProtectedStorageContext_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method createDeviceProtectedStorageContext -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.createDeviceProtectedStorageContext_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method createDeviceProtectedStorageContext -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.createDeviceProtectedStorageContext_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Method createForSubscriptionId -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.createForSubscriptionId_added(int)" class="hiddenlink" target="rightframe"><b>createForSubscriptionId</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method createHeadsUpContentView -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.createHeadsUpContentView_added()" class="hiddenlink" target="rightframe"><b>createHeadsUpContentView</b>
+()</A></nobr><br>
+<!-- Method createManageBlockedNumbersIntent -->
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.createManageBlockedNumbersIntent_added()" class="hiddenlink" target="rightframe"><b>createManageBlockedNumbersIntent</b>
+()</A></nobr><br>
+<!-- Method createReprocessableCaptureSessionByConfigurations -->
+<nobr><A HREF="android.hardware.camera2.CameraDevice.html#android.hardware.camera2.CameraDevice.createReprocessableCaptureSessionByConfigurations_added(android.hardware.camera2.params.InputConfiguration, java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler)" class="hiddenlink" target="rightframe"><b>createReprocessableCaptureSessionByConfigurations</b>
+(<code>InputConfiguration, List&lt;OutputConfiguration&gt;, StateCallback, Handler</code>)</A></nobr><br>
+<!-- Method createUserCreationIntent -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.createUserCreationIntent_added(java.lang.String, java.lang.String, java.lang.String, android.os.PersistableBundle)" class="hiddenlink" target="rightframe"><b>createUserCreationIntent</b>
+(<code>String, String, String, PersistableBundle</code>)</A></nobr><br>
+<!-- Field CREATOR -->
+<i>CREATOR</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.bluetooth.BluetoothGattCharacteristic.html#android.bluetooth.BluetoothGattCharacteristic.CREATOR" class="hiddenlink" target="rightframe">android.bluetooth.BluetoothGattCharacteristic</A>
+</nobr><br>
+<!-- Field CREATOR -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.bluetooth.BluetoothGattDescriptor.html#android.bluetooth.BluetoothGattDescriptor.CREATOR" class="hiddenlink" target="rightframe">android.bluetooth.BluetoothGattDescriptor</A>
+</nobr><br>
+<!-- Field CREATOR -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.bluetooth.BluetoothGattService.html#android.bluetooth.BluetoothGattService.CREATOR" class="hiddenlink" target="rightframe">android.bluetooth.BluetoothGattService</A>
+</nobr><br>
+<!-- Field CREATOR -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioFormat.html#android.media.AudioFormat.CREATOR" class="hiddenlink" target="rightframe">android.media.AudioFormat</A>
+</nobr><br>
+<!-- Field CREATOR -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.net.NetworkInfo.html#android.net.NetworkInfo.CREATOR" class="hiddenlink" target="rightframe">android.net.NetworkInfo</A>
+</nobr><br>
+<!-- Class CRLReason -->
+<A HREF="pkg_java.security.cert.html#CRLReason" class="hiddenlink" target="rightframe"><b>CRLReason</b></A><br>
+<!-- Field CRYPTO_MODE_AES_CBC -->
+<nobr><A HREF="android.media.MediaCodec.html#android.media.MediaCodec.CRYPTO_MODE_AES_CBC" class="hiddenlink" target="rightframe">CRYPTO_MODE_AES_CBC</A>
+</nobr><br>
+<!-- Class CryptoPrimitive -->
+<A HREF="pkg_java.security.html#CryptoPrimitive" class="hiddenlink" target="rightframe"><b>CryptoPrimitive</b></A><br>
+<!-- Class CustomPrinterIconCallback -->
+<A HREF="pkg_android.printservice.html#CustomPrinterIconCallback" class="hiddenlink" target="rightframe"><b>CustomPrinterIconCallback</b></A><br>
+<!-- Field DATA_CHANNEL_STATE_BAD_CONFIGURATION -->
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_BAD_CONFIGURATION" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_BAD_CONFIGURATION</A>
+</nobr><br>
+<!-- Field DATA_CHANNEL_STATE_COMMUNICATION_ERROR -->
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_COMMUNICATION_ERROR" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_COMMUNICATION_ERROR</A>
+</nobr><br>
+<!-- Field DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED -->
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED</A>
+</nobr><br>
+<!-- Field DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR -->
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR</A>
+</nobr><br>
+<!-- Field DATA_CHANNEL_STATE_SERVER_ERROR -->
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_SERVER_ERROR" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_SERVER_ERROR</A>
+</nobr><br>
+<!-- Field DATA_ID -->
+<nobr><A HREF="android.provider.ContactsContract.PhoneLookupColumns.html#android.provider.ContactsContract.PhoneLookupColumns.DATA_ID" class="hiddenlink" target="rightframe">DATA_ID</A>
+</nobr><br>
+<!-- Constructor DatePickerDialog -->
+<i>DatePickerDialog</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.DatePickerDialog.html#android.app.DatePickerDialog.ctor_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>DatePickerDialog</b>
+(<code>Context</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor DatePickerDialog -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.DatePickerDialog.html#android.app.DatePickerDialog.ctor_added(android.content.Context, int)" class="hiddenlink" target="rightframe"><b>DatePickerDialog</b>
+(<code>Context, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class DeadSystemException -->
+<A HREF="pkg_android.os.html#DeadSystemException" class="hiddenlink" target="rightframe"><b>DeadSystemException</b></A><br>
+<!-- Field DECOR_CAPTION_SHADE_AUTO -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.DECOR_CAPTION_SHADE_AUTO" class="hiddenlink" target="rightframe">DECOR_CAPTION_SHADE_AUTO</A>
+</nobr><br>
+<!-- Field DECOR_CAPTION_SHADE_DARK -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.DECOR_CAPTION_SHADE_DARK" class="hiddenlink" target="rightframe">DECOR_CAPTION_SHADE_DARK</A>
+</nobr><br>
+<!-- Field DECOR_CAPTION_SHADE_LIGHT -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.DECOR_CAPTION_SHADE_LIGHT" class="hiddenlink" target="rightframe">DECOR_CAPTION_SHADE_LIGHT</A>
+</nobr><br>
+<!-- Method decrementExact -->
+<i>decrementExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.decrementExact_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method decrementExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.decrementExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Field defaultHeight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.defaultHeight" class="hiddenlink" target="rightframe">defaultHeight</A>
+</nobr><br>
+<!-- Field defaultToDeviceProtectedStorage -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.defaultToDeviceProtectedStorage" class="hiddenlink" target="rightframe">defaultToDeviceProtectedStorage</A>
+</nobr><br>
+<!-- Field defaultWidth -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.defaultWidth" class="hiddenlink" target="rightframe">defaultWidth</A>
+</nobr><br>
+<!-- Method deleteSharedPreferences -->
+<i>deleteSharedPreferences</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.deleteSharedPreferences_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method deleteSharedPreferences -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.deleteSharedPreferences_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method deleteSharedPreferences -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.deleteSharedPreferences_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Method deleteSurroundingTextInCodePoints -->
+<i>deleteSurroundingTextInCodePoints</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.BaseInputConnection.html#android.view.inputmethod.BaseInputConnection.deleteSurroundingTextInCodePoints_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.BaseInputConnection
+</A></nobr><br>
+<!-- Method deleteSurroundingTextInCodePoints -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnection.html#android.view.inputmethod.InputConnection.deleteSurroundingTextInCodePoints_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnection
+</A></nobr><br>
+<!-- Method deleteSurroundingTextInCodePoints -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnectionWrapper.html#android.view.inputmethod.InputConnectionWrapper.deleteSurroundingTextInCodePoints_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnectionWrapper
+</A></nobr><br>
+<!-- Field DENSITY_DEVICE_STABLE -->
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_DEVICE_STABLE" class="hiddenlink" target="rightframe">DENSITY_DEVICE_STABLE</A>
+</nobr><br>
+<!-- Method describeContents -->
+<i>describeContents</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattCharacteristic.html#android.bluetooth.BluetoothGattCharacteristic.describeContents_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattCharacteristic
+</A></nobr><br>
+<!-- Method describeContents -->
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattDescriptor.html#android.bluetooth.BluetoothGattDescriptor.describeContents_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattDescriptor
+</A></nobr><br>
+<!-- Method describeContents -->
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattService.html#android.bluetooth.BluetoothGattService.describeContents_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattService
+</A></nobr><br>
+<!-- Method describeContents -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioFormat.html#android.media.AudioFormat.describeContents_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.media.AudioFormat
+</A></nobr><br>
+<!-- Field DEVICE_TYPE_BLUETOOTH -->
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.DEVICE_TYPE_BLUETOOTH" class="hiddenlink" target="rightframe">DEVICE_TYPE_BLUETOOTH</A>
+</nobr><br>
+<!-- Field DEVICE_TYPE_SPEAKER -->
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.DEVICE_TYPE_SPEAKER" class="hiddenlink" target="rightframe">DEVICE_TYPE_SPEAKER</A>
+</nobr><br>
+<!-- Field DEVICE_TYPE_TV -->
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.DEVICE_TYPE_TV" class="hiddenlink" target="rightframe">DEVICE_TYPE_TV</A>
+</nobr><br>
+<!-- Field DEVICE_TYPE_UNKNOWN -->
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.DEVICE_TYPE_UNKNOWN" class="hiddenlink" target="rightframe">DEVICE_TYPE_UNKNOWN</A>
+</nobr><br>
+<!-- Field deviceProtectedDataDir -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.deviceProtectedDataDir" class="hiddenlink" target="rightframe">deviceProtectedDataDir</A>
+</nobr><br>
+<!-- Field directBootAware -->
+<i>directBootAware</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.directBootAware" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field directBootAware -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ComponentInfo.html#android.content.pm.ComponentInfo.directBootAware" class="hiddenlink" target="rightframe">android.content.pm.ComponentInfo</A>
+</nobr><br>
+<!-- Method disableSelf -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.disableSelf_added()" class="hiddenlink" target="rightframe"><b>disableSelf</b>
+()</A></nobr><br>
+<!-- Field DISALLOW_DATA_ROAMING -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.DISALLOW_DATA_ROAMING" class="hiddenlink" target="rightframe">DISALLOW_DATA_ROAMING</A>
+</nobr><br>
+<!-- Field DISALLOW_SET_USER_ICON -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.DISALLOW_SET_USER_ICON" class="hiddenlink" target="rightframe">DISALLOW_SET_USER_ICON</A>
+</nobr><br>
+<!-- Field DISALLOW_SET_WALLPAPER -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.DISALLOW_SET_WALLPAPER" class="hiddenlink" target="rightframe">DISALLOW_SET_WALLPAPER</A>
+</nobr><br>
+<!-- Method dismissKeyboardShortcutsHelper -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.dismissKeyboardShortcutsHelper_added()" class="hiddenlink" target="rightframe"><b>dismissKeyboardShortcutsHelper</b>
+()</A></nobr><br>
+<!-- Method dispatchFinishTemporaryDetach -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchFinishTemporaryDetach_added()" class="hiddenlink" target="rightframe"><b>dispatchFinishTemporaryDetach</b>
+()</A></nobr><br>
+<!-- Method dispatchGesture -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.dispatchGesture_added(android.accessibilityservice.GestureDescription, android.accessibilityservice.AccessibilityService.GestureResultCallback, android.os.Handler)" class="hiddenlink" target="rightframe"><b>dispatchGesture</b>
+(<code>GestureDescription, GestureResultCallback, Handler</code>)</A></nobr><br>
+<!-- Method dispatchKeyEventFromInputMethod -->
+<nobr><A HREF="android.view.inputmethod.InputMethodManager.html#android.view.inputmethod.InputMethodManager.dispatchKeyEventFromInputMethod_added(android.view.View, android.view.KeyEvent)" class="hiddenlink" target="rightframe"><b>dispatchKeyEventFromInputMethod</b>
+(<code>View, KeyEvent</code>)</A></nobr><br>
+<!-- Method dispatchMultiWindowModeChanged -->
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.dispatchMultiWindowModeChanged_added(boolean)" class="hiddenlink" target="rightframe"><b>dispatchMultiWindowModeChanged</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method dispatchPictureInPictureModeChanged -->
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.dispatchPictureInPictureModeChanged_added(boolean)" class="hiddenlink" target="rightframe"><b>dispatchPictureInPictureModeChanged</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method dispatchStartTemporaryDetach -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchStartTemporaryDetach_added()" class="hiddenlink" target="rightframe"><b>dispatchStartTemporaryDetach</b>
+()</A></nobr><br>
+<!-- Class Display.HdrCapabilities -->
+<A HREF="pkg_android.view.html#Display.HdrCapabilities" class="hiddenlink" target="rightframe"><b>Display.HdrCapabilities</b></A><br>
+<!-- Field DolbyVisionLevelFhd24 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelFhd24" class="hiddenlink" target="rightframe">DolbyVisionLevelFhd24</A>
+</nobr><br>
+<!-- Field DolbyVisionLevelFhd30 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelFhd30" class="hiddenlink" target="rightframe">DolbyVisionLevelFhd30</A>
+</nobr><br>
+<!-- Field DolbyVisionLevelFhd60 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelFhd60" class="hiddenlink" target="rightframe">DolbyVisionLevelFhd60</A>
+</nobr><br>
+<!-- Field DolbyVisionLevelHd24 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelHd24" class="hiddenlink" target="rightframe">DolbyVisionLevelHd24</A>
+</nobr><br>
+<!-- Field DolbyVisionLevelHd30 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelHd30" class="hiddenlink" target="rightframe">DolbyVisionLevelHd30</A>
+</nobr><br>
+<!-- Field DolbyVisionLevelUhd24 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd24" class="hiddenlink" target="rightframe">DolbyVisionLevelUhd24</A>
+</nobr><br>
+<!-- Field DolbyVisionLevelUhd30 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd30" class="hiddenlink" target="rightframe">DolbyVisionLevelUhd30</A>
+</nobr><br>
+<!-- Field DolbyVisionLevelUhd48 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd48" class="hiddenlink" target="rightframe">DolbyVisionLevelUhd48</A>
+</nobr><br>
+<!-- Field DolbyVisionLevelUhd60 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd60" class="hiddenlink" target="rightframe">DolbyVisionLevelUhd60</A>
+</nobr><br>
+<!-- Field DolbyVisionProfileDvavPen -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvavPen" class="hiddenlink" target="rightframe">DolbyVisionProfileDvavPen</A>
+</nobr><br>
+<!-- Field DolbyVisionProfileDvavPer -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvavPer" class="hiddenlink" target="rightframe">DolbyVisionProfileDvavPer</A>
+</nobr><br>
+<!-- Field DolbyVisionProfileDvheDen -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDen" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDen</A>
+</nobr><br>
+<!-- Field DolbyVisionProfileDvheDer -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDer" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDer</A>
+</nobr><br>
+<!-- Field DolbyVisionProfileDvheDtb -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDtb" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDtb</A>
+</nobr><br>
+<!-- Field DolbyVisionProfileDvheDth -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDth" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDth</A>
+</nobr><br>
+<!-- Field DolbyVisionProfileDvheDtr -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDtr" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDtr</A>
+</nobr><br>
+<!-- Field DolbyVisionProfileDvheStn -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheStn" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheStn</A>
+</nobr><br>
+<!-- Class DoubleAccumulator -->
+<A HREF="pkg_java.util.concurrent.atomic.html#DoubleAccumulator" class="hiddenlink" target="rightframe"><b>DoubleAccumulator</b></A><br>
+<!-- Class DoubleAdder -->
+<A HREF="pkg_java.util.concurrent.atomic.html#DoubleAdder" class="hiddenlink" target="rightframe"><b>DoubleAdder</b></A><br>
+<!-- Method doubles -->
+<i>doubles</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.doubles_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method doubles -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.doubles_added(double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double, double</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method doubles -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.doubles_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method doubles -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.doubles_added(long, double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, double, double</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Class DoubleSummaryStatistics -->
+<A HREF="pkg_java.util.html#DoubleSummaryStatistics" class="hiddenlink" target="rightframe"><b>DoubleSummaryStatistics</b></A><br>
+<!-- Field DRAG_FLAG_GLOBAL -->
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL</A>
+</nobr><br>
+<!-- Field DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION -->
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION</A>
+</nobr><br>
+<!-- Field DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION -->
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION</A>
+</nobr><br>
+<!-- Field DRAG_FLAG_GLOBAL_URI_READ -->
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL_URI_READ" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL_URI_READ</A>
+</nobr><br>
+<!-- Field DRAG_FLAG_GLOBAL_URI_WRITE -->
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL_URI_WRITE" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL_URI_WRITE</A>
+</nobr><br>
+<!-- Field DRAG_FLAG_OPAQUE -->
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_OPAQUE" class="hiddenlink" target="rightframe">DRAG_FLAG_OPAQUE</A>
+</nobr><br>
+<!-- Class DragAndDropPermissions -->
+<A HREF="pkg_android.view.html#DragAndDropPermissions" class="hiddenlink" target="rightframe"><b>DragAndDropPermissions</b></A><br>
+<!-- Class DrmInitData -->
+<A HREF="pkg_android.media.html#DrmInitData" class="hiddenlink" target="rightframe"><b>DrmInitData</b></A><br>
+<!-- Class DrmInitData.SchemeInitData -->
+<A HREF="pkg_android.media.html#DrmInitData.SchemeInitData" class="hiddenlink" target="rightframe"><b>DrmInitData.SchemeInitData</b></A><br>
+<!-- Field DURATION_INFINITE -->
+<nobr><A HREF="android.animation.Animator.html#android.animation.Animator.DURATION_INFINITE" class="hiddenlink" target="rightframe">DURATION_INFINITE</A>
+</nobr><br>
+<!-- Field enableVrMode -->
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.enableVrMode" class="hiddenlink" target="rightframe">enableVrMode</A>
+</nobr><br>
+<!-- Field ENCODING_IEC61937 -->
+<nobr><A HREF="android.media.AudioFormat.html#android.media.AudioFormat.ENCODING_IEC61937" class="hiddenlink" target="rightframe">ENCODING_IEC61937</A>
+</nobr><br>
+<!-- Field ENCRYPTION_STATUS_ACTIVE_PER_USER -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE_PER_USER" class="hiddenlink" target="rightframe">ENCRYPTION_STATUS_ACTIVE_PER_USER</A>
+</nobr><br>
+<!-- Field endX -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.endX" class="hiddenlink" target="rightframe">endX</A>
+</nobr><br>
+<!-- Field endY -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.endY" class="hiddenlink" target="rightframe">endY</A>
+</nobr><br>
+<!-- Method engineGetRevocationChecker -->
+<i>engineGetRevocationChecker</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.cert.CertPathBuilderSpi.html#java.security.cert.CertPathBuilderSpi.engineGetRevocationChecker_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.security.cert.CertPathBuilderSpi
+</A></nobr><br>
+<!-- Method engineGetRevocationChecker -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.cert.CertPathValidatorSpi.html#java.security.cert.CertPathValidatorSpi.engineGetRevocationChecker_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.security.cert.CertPathValidatorSpi
+</A></nobr><br>
+<!-- Method enterPictureInPictureMode -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.enterPictureInPictureMode_added()" class="hiddenlink" target="rightframe"><b>enterPictureInPictureMode</b>
+()</A></nobr><br>
+<!-- Field ENTERPRISE_CONTENT_FILTER_URI -->
+<i>ENTERPRISE_CONTENT_FILTER_URI</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Callable.html#android.provider.ContactsContract.CommonDataKinds.Callable.ENTERPRISE_CONTENT_FILTER_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Callable</A>
+</nobr><br>
+<!-- Field ENTERPRISE_CONTENT_FILTER_URI -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Email.html#android.provider.ContactsContract.CommonDataKinds.Email.ENTERPRISE_CONTENT_FILTER_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Email</A>
+</nobr><br>
+<!-- Field ENTERPRISE_CONTENT_FILTER_URI -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Phone.html#android.provider.ContactsContract.CommonDataKinds.Phone.ENTERPRISE_CONTENT_FILTER_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Phone</A>
+</nobr><br>
+<!-- Field ENTERPRISE_CONTENT_FILTER_URI -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.Contacts.html#android.provider.ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.Contacts</A>
+</nobr><br>
+<!-- Field ENTERPRISE_CONTENT_URI -->
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.ENTERPRISE_CONTENT_URI" class="hiddenlink" target="rightframe">ENTERPRISE_CONTENT_URI</A>
+</nobr><br>
+<!-- Field ENTERPRISE_DEFAULT -->
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.ENTERPRISE_DEFAULT" class="hiddenlink" target="rightframe">ENTERPRISE_DEFAULT</A>
+</nobr><br>
+<!-- Field ENTERPRISE_LOCAL_INVISIBLE -->
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.ENTERPRISE_LOCAL_INVISIBLE" class="hiddenlink" target="rightframe">ENTERPRISE_LOCAL_INVISIBLE</A>
+</nobr><br>
+<!-- Method entrySet -->
+<nobr><A HREF="java.util.SortedMap.html#java.util.SortedMap.entrySet_added()" class="hiddenlink" target="rightframe"><b>entrySet</b>
+()</A></nobr><br>
+<!-- Constructor Error -->
+<nobr><A HREF="java.lang.Error.html#java.lang.Error.ctor_added(java.lang.String, java.lang.Throwable, boolean, boolean)" class="hiddenlink" target="rightframe"><b>Error</b>
+(<code>String, Throwable, boolean, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field ERROR_DEAD_OBJECT -->
+<i>ERROR_DEAD_OBJECT</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioRecord.html#android.media.AudioRecord.ERROR_DEAD_OBJECT" class="hiddenlink" target="rightframe">android.media.AudioRecord</A>
+</nobr><br>
+<!-- Field ERROR_DEAD_OBJECT -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioTrack.html#android.media.AudioTrack.ERROR_DEAD_OBJECT" class="hiddenlink" target="rightframe">android.media.AudioTrack</A>
+</nobr><br>
+<!-- Field ERROR_UNSUPPORTED_OPERATION -->
+<nobr><A HREF="android.media.MediaCodec.CryptoException.html#android.media.MediaCodec.CryptoException.ERROR_UNSUPPORTED_OPERATION" class="hiddenlink" target="rightframe">ERROR_UNSUPPORTED_OPERATION</A>
+</nobr><br>
+<!-- Constructor Exception -->
+<nobr><A HREF="java.lang.Exception.html#java.lang.Exception.ctor_added(java.lang.String, java.lang.Throwable, boolean, boolean)" class="hiddenlink" target="rightframe"><b>Exception</b>
+(<code>String, Throwable, boolean, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor ExifInterface -->
+<i>ExifInterface</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.ctor_added(java.io.FileDescriptor)" class="hiddenlink" target="rightframe"><b>ExifInterface</b>
+(<code>FileDescriptor</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor ExifInterface -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.ctor_added(java.io.InputStream)" class="hiddenlink" target="rightframe"><b>ExifInterface</b>
+(<code>InputStream</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class ExtendedSSLSession -->
+<A HREF="pkg_javax.net.ssl.html#ExtendedSSLSession" class="hiddenlink" target="rightframe"><b>ExtendedSSLSession</b></A><br>
+<!-- Class Extension -->
+<A HREF="pkg_java.security.cert.html#Extension" class="hiddenlink" target="rightframe"><b><i>Extension</i></b></A><br>
+<!-- Field externalService -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.externalService" class="hiddenlink" target="rightframe">externalService</A>
+</nobr><br>
+<!-- Field EXTRA_CALL_SUBJECT_CHARACTER_ENCODING -->
+<nobr><A HREF="android.telecom.PhoneAccount.html#android.telecom.PhoneAccount.EXTRA_CALL_SUBJECT_CHARACTER_ENCODING" class="hiddenlink" target="rightframe">EXTRA_CALL_SUBJECT_CHARACTER_ENCODING</A>
+</nobr><br>
+<!-- Field EXTRA_CALL_SUBJECT_MAX_LENGTH -->
+<nobr><A HREF="android.telecom.PhoneAccount.html#android.telecom.PhoneAccount.EXTRA_CALL_SUBJECT_MAX_LENGTH" class="hiddenlink" target="rightframe">EXTRA_CALL_SUBJECT_MAX_LENGTH</A>
+</nobr><br>
+<!-- Field EXTRA_CAPTIVE_PORTAL_URL -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.EXTRA_CAPTIVE_PORTAL_URL" class="hiddenlink" target="rightframe">EXTRA_CAPTIVE_PORTAL_URL</A>
+</nobr><br>
+<!-- Field EXTRA_CHOOSER_TARGETS -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHOOSER_TARGETS" class="hiddenlink" target="rightframe">EXTRA_CHOOSER_TARGETS</A>
+</nobr><br>
+<!-- Field EXTRA_CHRONOMETER_COUNT_DOWN -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_CHRONOMETER_COUNT_DOWN" class="hiddenlink" target="rightframe">EXTRA_CHRONOMETER_COUNT_DOWN</A>
+</nobr><br>
+<!-- Field EXTRA_CONVERSATION_TITLE -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_CONVERSATION_TITLE" class="hiddenlink" target="rightframe">EXTRA_CONVERSATION_TITLE</A>
+</nobr><br>
+<!-- Field EXTRA_EXCLUDE_COMPONENTS -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_EXCLUDE_COMPONENTS" class="hiddenlink" target="rightframe">EXTRA_EXCLUDE_COMPONENTS</A>
+</nobr><br>
+<!-- Field EXTRA_INDEX -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_INDEX" class="hiddenlink" target="rightframe">EXTRA_INDEX</A>
+</nobr><br>
+<!-- Field EXTRA_IS_DEFAULT_SMS_APP -->
+<nobr><A HREF="android.provider.Telephony.Sms.Intents.html#android.provider.Telephony.Sms.Intents.EXTRA_IS_DEFAULT_SMS_APP" class="hiddenlink" target="rightframe">EXTRA_IS_DEFAULT_SMS_APP</A>
+</nobr><br>
+<!-- Field EXTRA_MESSAGES -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_MESSAGES" class="hiddenlink" target="rightframe">EXTRA_MESSAGES</A>
+</nobr><br>
+<!-- Field EXTRA_NOTIFICATION_COUNT -->
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.EXTRA_NOTIFICATION_COUNT" class="hiddenlink" target="rightframe">EXTRA_NOTIFICATION_COUNT</A>
+</nobr><br>
+<!-- Field EXTRA_NOTIFICATION_PHONE_NUMBER -->
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.EXTRA_NOTIFICATION_PHONE_NUMBER" class="hiddenlink" target="rightframe">EXTRA_NOTIFICATION_PHONE_NUMBER</A>
+</nobr><br>
+<!-- Field EXTRA_OFFLINE -->
+<nobr><A HREF="android.service.media.MediaBrowserService.BrowserRoot.html#android.service.media.MediaBrowserService.BrowserRoot.EXTRA_OFFLINE" class="hiddenlink" target="rightframe">EXTRA_OFFLINE</A>
+</nobr><br>
+<!-- Field EXTRA_ORIENTATION -->
+<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.EXTRA_ORIENTATION" class="hiddenlink" target="rightframe">EXTRA_ORIENTATION</A>
+</nobr><br>
+<!-- Field EXTRA_PACKAGE_NAME -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_PACKAGE_NAME" class="hiddenlink" target="rightframe">EXTRA_PACKAGE_NAME</A>
+</nobr><br>
+<!-- Field EXTRA_PAGE -->
+<nobr><A HREF="android.media.browse.MediaBrowser.html#android.media.browse.MediaBrowser.EXTRA_PAGE" class="hiddenlink" target="rightframe">EXTRA_PAGE</A>
+</nobr><br>
+<!-- Field EXTRA_PAGE_SIZE -->
+<nobr><A HREF="android.media.browse.MediaBrowser.html#android.media.browse.MediaBrowser.EXTRA_PAGE_SIZE" class="hiddenlink" target="rightframe">EXTRA_PAGE_SIZE</A>
+</nobr><br>
+<!-- Field EXTRA_PROVISIONING_LOGO_URI -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI" class="hiddenlink" target="rightframe">EXTRA_PROVISIONING_LOGO_URI</A>
+</nobr><br>
+<!-- Field EXTRA_PROVISIONING_MAIN_COLOR -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR" class="hiddenlink" target="rightframe">EXTRA_PROVISIONING_MAIN_COLOR</A>
+</nobr><br>
+<!-- Field EXTRA_QUIET_MODE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_QUIET_MODE" class="hiddenlink" target="rightframe">EXTRA_QUIET_MODE</A>
+</nobr><br>
+<!-- Field EXTRA_RECENT -->
+<nobr><A HREF="android.service.media.MediaBrowserService.BrowserRoot.html#android.service.media.MediaBrowserService.BrowserRoot.EXTRA_RECENT" class="hiddenlink" target="rightframe">EXTRA_RECENT</A>
+</nobr><br>
+<!-- Field EXTRA_RECIPIENT_CONTACT_CHAT_ID -->
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.EXTRA_RECIPIENT_CONTACT_CHAT_ID" class="hiddenlink" target="rightframe">EXTRA_RECIPIENT_CONTACT_CHAT_ID</A>
+</nobr><br>
+<!-- Field EXTRA_RECIPIENT_CONTACT_NAME -->
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.EXTRA_RECIPIENT_CONTACT_NAME" class="hiddenlink" target="rightframe">EXTRA_RECIPIENT_CONTACT_NAME</A>
+</nobr><br>
+<!-- Field EXTRA_RECIPIENT_CONTACT_URI -->
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.EXTRA_RECIPIENT_CONTACT_URI" class="hiddenlink" target="rightframe">EXTRA_RECIPIENT_CONTACT_URI</A>
+</nobr><br>
+<!-- Field EXTRA_REMOTE_INPUT_HISTORY -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_REMOTE_INPUT_HISTORY" class="hiddenlink" target="rightframe">EXTRA_REMOTE_INPUT_HISTORY</A>
+</nobr><br>
+<!-- Field EXTRA_SELF_DISPLAY_NAME -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_SELF_DISPLAY_NAME" class="hiddenlink" target="rightframe">EXTRA_SELF_DISPLAY_NAME</A>
+</nobr><br>
+<!-- Field EXTRA_SUGGESTED -->
+<nobr><A HREF="android.service.media.MediaBrowserService.BrowserRoot.html#android.service.media.MediaBrowserService.BrowserRoot.EXTRA_SUGGESTED" class="hiddenlink" target="rightframe">EXTRA_SUGGESTED</A>
+</nobr><br>
+<!-- Field FEATURE_ETHERNET -->
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_ETHERNET" class="hiddenlink" target="rightframe">FEATURE_ETHERNET</A>
+</nobr><br>
+<!-- Field FEATURE_FREEFORM_WINDOW_MANAGEMENT -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_FREEFORM_WINDOW_MANAGEMENT" class="hiddenlink" target="rightframe">FEATURE_FREEFORM_WINDOW_MANAGEMENT</A>
+</nobr><br>
+<!-- Field FEATURE_IntraRefresh -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecCapabilities.html#android.media.MediaCodecInfo.CodecCapabilities.FEATURE_IntraRefresh" class="hiddenlink" target="rightframe">FEATURE_IntraRefresh</A>
+</nobr><br>
+<!-- Field FEATURE_NFC_HOST_CARD_EMULATION_NFCF -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_NFC_HOST_CARD_EMULATION_NFCF" class="hiddenlink" target="rightframe">FEATURE_NFC_HOST_CARD_EMULATION_NFCF</A>
+</nobr><br>
+<!-- Field FEATURE_PICTURE_IN_PICTURE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_PICTURE_IN_PICTURE" class="hiddenlink" target="rightframe">FEATURE_PICTURE_IN_PICTURE</A>
+</nobr><br>
+<!-- Field FEATURE_VR_MODE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_VR_MODE" class="hiddenlink" target="rightframe">FEATURE_VR_MODE</A>
+</nobr><br>
+<!-- Field FEATURE_VR_MODE_HIGH_PERFORMANCE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_VR_MODE_HIGH_PERFORMANCE" class="hiddenlink" target="rightframe">FEATURE_VR_MODE_HIGH_PERFORMANCE</A>
+</nobr><br>
+<!-- Field FEATURE_VULKAN_HARDWARE_LEVEL -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_VULKAN_HARDWARE_LEVEL" class="hiddenlink" target="rightframe">FEATURE_VULKAN_HARDWARE_LEVEL</A>
+</nobr><br>
+<!-- Field FEATURE_VULKAN_HARDWARE_VERSION -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_VULKAN_HARDWARE_VERSION" class="hiddenlink" target="rightframe">FEATURE_VULKAN_HARDWARE_VERSION</A>
+</nobr><br>
+<!-- Class FileUriExposedException -->
+<A HREF="pkg_android.os.html#FileUriExposedException" class="hiddenlink" target="rightframe"><b>FileUriExposedException</b></A><br>
+<!-- Field fillType -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.fillType" class="hiddenlink" target="rightframe">fillType</A>
+</nobr><br>
+<!-- Field FLAG_ACTIVITY_LAUNCH_ADJACENT -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT" class="hiddenlink" target="rightframe">FLAG_ACTIVITY_LAUNCH_ADJACENT</A>
+</nobr><br>
+<!-- Field FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES -->
+<nobr><A HREF="android.app.UiAutomation.html#android.app.UiAutomation.FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES" class="hiddenlink" target="rightframe">FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES</A>
+</nobr><br>
+<!-- Field FLAG_ENABLE_VR_MODE -->
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.FLAG_ENABLE_VR_MODE" class="hiddenlink" target="rightframe">FLAG_ENABLE_VR_MODE</A>
+</nobr><br>
+<!-- Field FLAG_EXTERNAL_SERVICE -->
+<nobr><A HREF="android.content.pm.ServiceInfo.html#android.content.pm.ServiceInfo.FLAG_EXTERNAL_SERVICE" class="hiddenlink" target="rightframe">FLAG_EXTERNAL_SERVICE</A>
+</nobr><br>
+<!-- Field FLAG_LOCK -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.FLAG_LOCK" class="hiddenlink" target="rightframe">FLAG_LOCK</A>
+</nobr><br>
+<!-- Field FLAG_LOW_LATENCY -->
+<nobr><A HREF="android.media.AudioAttributes.html#android.media.AudioAttributes.FLAG_LOW_LATENCY" class="hiddenlink" target="rightframe">FLAG_LOW_LATENCY</A>
+</nobr><br>
+<!-- Field FLAG_SUPPORTS_COPY -->
+<nobr><A HREF="android.provider.DocumentsContract.Document.html#android.provider.DocumentsContract.Document.FLAG_SUPPORTS_COPY" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_COPY</A>
+</nobr><br>
+<!-- Field FLAG_SUPPORTS_MOVE -->
+<nobr><A HREF="android.provider.DocumentsContract.Document.html#android.provider.DocumentsContract.Document.FLAG_SUPPORTS_MOVE" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_MOVE</A>
+</nobr><br>
+<!-- Field FLAG_SUPPORTS_REMOVE -->
+<nobr><A HREF="android.provider.DocumentsContract.Document.html#android.provider.DocumentsContract.Document.FLAG_SUPPORTS_REMOVE" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_REMOVE</A>
+</nobr><br>
+<!-- Field FLAG_SUSPENDED -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUSPENDED" class="hiddenlink" target="rightframe">FLAG_SUSPENDED</A>
+</nobr><br>
+<!-- Field FLAG_SYSTEM -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.FLAG_SYSTEM" class="hiddenlink" target="rightframe">FLAG_SYSTEM</A>
+</nobr><br>
+<!-- Field FLAG_VIRTUAL_DOCUMENT -->
+<nobr><A HREF="android.provider.DocumentsContract.Document.html#android.provider.DocumentsContract.Document.FLAG_VIRTUAL_DOCUMENT" class="hiddenlink" target="rightframe">FLAG_VIRTUAL_DOCUMENT</A>
+</nobr><br>
+<!-- Class FloatProperty -->
+<A HREF="pkg_android.util.html#FloatProperty" class="hiddenlink" target="rightframe"><b>FloatProperty</b></A><br>
+<!-- Method floorDiv -->
+<i>floorDiv</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.floorDiv_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method floorDiv -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.floorDiv_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method floorDiv -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.floorDiv_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method floorDiv -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.floorDiv_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method floorMod -->
+<i>floorMod</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.floorMod_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method floorMod -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.floorMod_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method floorMod -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.floorMod_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method floorMod -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.floorMod_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method forceHasOverlappingRendering -->
+<i>forceHasOverlappingRendering</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.forceHasOverlappingRendering_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+<!-- Field forceHasOverlappingRendering -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.forceHasOverlappingRendering" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Method forEach -->
+<i>forEach</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Iterable.html#java.lang.Iterable.forEach_added(java.util.function.Consumer<? super T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super T&gt;</code>)</b>&nbsp;in&nbsp;java.lang.Iterable
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.Provider.html#java.security.Provider.forEach_added(java.util.function.BiConsumer<? super java.lang.Object, ? super java.lang.Object>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;Object, Object&gt;</code>)</b>&nbsp;in&nbsp;java.security.Provider
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.forEach_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.HashMap.html#java.util.HashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.HashMap
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.IdentityHashMap.html#java.util.IdentityHashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.IdentityHashMap
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeMap.html#java.util.TreeMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.TreeMap
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.forEach_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.WeakHashMap.html#java.util.WeakHashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.WeakHashMap
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEach_added(long, java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEach_added(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.Consumer<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;? super K, ? super V, ? extends U&gt;, Consumer&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.CopyOnWriteArrayList.html#java.util.concurrent.CopyOnWriteArrayList.forEach_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.CopyOnWriteArrayList
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.CopyOnWriteArraySet.html#java.util.concurrent.CopyOnWriteArraySet.forEach_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.CopyOnWriteArraySet
+</A></nobr><br>
+<!-- Method forEachEntry -->
+<i>forEachEntry</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachEntry_added(long, java.util.function.Consumer<? super java.util.Map.Entry<K, V>>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Consumer&lt;Entry&lt;K, V&gt;&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method forEachEntry -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachEntry_added(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.Consumer<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;Entry&lt;K, V&gt;, ? extends U&gt;, Consumer&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method forEachKey -->
+<i>forEachKey</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachKey_added(long, java.util.function.Consumer<? super K>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Consumer&lt;? super K&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method forEachKey -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachKey_added(long, java.util.function.Function<? super K, ? extends U>, java.util.function.Consumer<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;? super K, ? extends U&gt;, Consumer&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method forEachRemaining -->
+<nobr><A HREF="java.util.Iterator.html#java.util.Iterator.forEachRemaining_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe"><b>forEachRemaining</b>
+(<code>Consumer&lt;? super E&gt;</code>)</A></nobr><br>
+<!-- Method forEachValue -->
+<i>forEachValue</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachValue_added(long, java.util.function.Consumer<? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Consumer&lt;? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method forEachValue -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachValue_added(long, java.util.function.Function<? super V, ? extends U>, java.util.function.Consumer<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;? super V, ? extends U&gt;, Consumer&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Field FORMAT_DEFINED -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.FORMAT_DEFINED" class="hiddenlink" target="rightframe">FORMAT_DEFINED</A>
+</nobr><br>
+<!-- Field FORMAT_DNG -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.FORMAT_DNG" class="hiddenlink" target="rightframe">FORMAT_DNG</A>
+</nobr><br>
+<!-- Class FragmentManagerNonConfig -->
+<A HREF="pkg_android.app.html#FragmentManagerNonConfig" class="hiddenlink" target="rightframe"><b>FragmentManagerNonConfig</b></A><br>
+<!-- Class FrameMetrics -->
+<A HREF="pkg_android.view.html#FrameMetrics" class="hiddenlink" target="rightframe"><b>FrameMetrics</b></A><br>
+<!-- Field FROM_HTML_MODE_COMPACT -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_MODE_COMPACT" class="hiddenlink" target="rightframe">FROM_HTML_MODE_COMPACT</A>
+</nobr><br>
+<!-- Field FROM_HTML_MODE_LEGACY -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_MODE_LEGACY" class="hiddenlink" target="rightframe">FROM_HTML_MODE_LEGACY</A>
+</nobr><br>
+<!-- Field FROM_HTML_OPTION_USE_CSS_COLORS -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_OPTION_USE_CSS_COLORS" class="hiddenlink" target="rightframe">FROM_HTML_OPTION_USE_CSS_COLORS</A>
+</nobr><br>
+<!-- Field FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE</A>
+</nobr><br>
+<!-- Field FROM_HTML_SEPARATOR_LINE_BREAK_DIV -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_DIV" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_DIV</A>
+</nobr><br>
+<!-- Field FROM_HTML_SEPARATOR_LINE_BREAK_HEADING -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_HEADING" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_HEADING</A>
+</nobr><br>
+<!-- Field FROM_HTML_SEPARATOR_LINE_BREAK_LIST -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_LIST" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_LIST</A>
+</nobr><br>
+<!-- Field FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM</A>
+</nobr><br>
+<!-- Field FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH</A>
+</nobr><br>
+<!-- Method fromHtml -->
+<i>fromHtml</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.fromHtml_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+<!-- Method fromHtml -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.fromHtml_added(java.lang.String, int, android.text.Html.ImageGetter, android.text.Html.TagHandler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int, ImageGetter, TagHandler</code>)</b>&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+<!-- Class FunctionalInterface -->
+<A HREF="pkg_java.lang.html#FunctionalInterface" class="hiddenlink" target="rightframe"><b>FunctionalInterface</b></A><br>
+<!-- Class GestureDescription -->
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.accessibilityservice.html#GestureDescription" class="hiddenlink" target="rightframe"><b>GestureDescription</b></A><br>
+<!-- Class GestureDescription.Builder -->
+<A HREF="pkg_android.accessibilityservice.html#GestureDescription.Builder" class="hiddenlink" target="rightframe"><b>GestureDescription.Builder</b></A><br>
+<!-- Class GestureDescription.StrokeDescription -->
+<A HREF="pkg_android.accessibilityservice.html#GestureDescription.StrokeDescription" class="hiddenlink" target="rightframe"><b>GestureDescription.StrokeDescription</b></A><br>
+<!-- Method getActiveRecordingConfigurations -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.getActiveRecordingConfigurations_added()" class="hiddenlink" target="rightframe"><b>getActiveRecordingConfigurations</b>
+()</A></nobr><br>
+<!-- Method getAlgorithmConstraints -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getAlgorithmConstraints_added()" class="hiddenlink" target="rightframe"><b>getAlgorithmConstraints</b>
+()</A></nobr><br>
+<!-- Method getAllConferences -->
+<nobr><A HREF="android.telecom.ConnectionService.html#android.telecom.ConnectionService.getAllConferences_added()" class="hiddenlink" target="rightframe"><b>getAllConferences</b>
+()</A></nobr><br>
+<!-- Method getAllowGeneratedReplies -->
+<nobr><A HREF="android.app.Notification.Action.html#android.app.Notification.Action.getAllowGeneratedReplies_added()" class="hiddenlink" target="rightframe"><b>getAllowGeneratedReplies</b>
+()</A></nobr><br>
+<!-- Method getAlwaysOnVpnPackage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getAlwaysOnVpnPackage_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getAlwaysOnVpnPackage</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getAnchor -->
+<nobr><A HREF="android.view.accessibility.AccessibilityWindowInfo.html#android.view.accessibility.AccessibilityWindowInfo.getAnchor_added()" class="hiddenlink" target="rightframe"><b>getAnchor</b>
+()</A></nobr><br>
+<!-- Method getAndAccumulate -->
+<i>getAndAccumulate</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicInteger.html#java.util.concurrent.atomic.AtomicInteger.getAndAccumulate_added(int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicInteger
+</A></nobr><br>
+<!-- Method getAndAccumulate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html#java.util.concurrent.atomic.AtomicIntegerArray.getAndAccumulate_added(int, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerArray
+</A></nobr><br>
+<!-- Method getAndAccumulate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html#java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndAccumulate_added(T, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerFieldUpdater
+</A></nobr><br>
+<!-- Method getAndAccumulate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLong.html#java.util.concurrent.atomic.AtomicLong.getAndAccumulate_added(long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLong
+</A></nobr><br>
+<!-- Method getAndAccumulate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongArray.html#java.util.concurrent.atomic.AtomicLongArray.getAndAccumulate_added(int, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongArray
+</A></nobr><br>
+<!-- Method getAndAccumulate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html#java.util.concurrent.atomic.AtomicLongFieldUpdater.getAndAccumulate_added(T, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongFieldUpdater
+</A></nobr><br>
+<!-- Method getAndAccumulate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReference.html#java.util.concurrent.atomic.AtomicReference.getAndAccumulate_added(V, java.util.function.BinaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>V, BinaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReference
+</A></nobr><br>
+<!-- Method getAndAccumulate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html#java.util.concurrent.atomic.AtomicReferenceArray.getAndAccumulate_added(int, E, java.util.function.BinaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, E, BinaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceArray
+</A></nobr><br>
+<!-- Method getAndAccumulate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html#java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndAccumulate_added(T, V, java.util.function.BinaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, V, BinaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceFieldUpdater
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+<i>getAndUpdate</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicInteger.html#java.util.concurrent.atomic.AtomicInteger.getAndUpdate_added(java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicInteger
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html#java.util.concurrent.atomic.AtomicIntegerArray.getAndUpdate_added(int, java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerArray
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html#java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndUpdate_added(T, java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerFieldUpdater
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLong.html#java.util.concurrent.atomic.AtomicLong.getAndUpdate_added(java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLong
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongArray.html#java.util.concurrent.atomic.AtomicLongArray.getAndUpdate_added(int, java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongArray
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html#java.util.concurrent.atomic.AtomicLongFieldUpdater.getAndUpdate_added(T, java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongFieldUpdater
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReference.html#java.util.concurrent.atomic.AtomicReference.getAndUpdate_added(java.util.function.UnaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReference
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html#java.util.concurrent.atomic.AtomicReferenceArray.getAndUpdate_added(int, java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceArray
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html#java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndUpdate_added(T, java.util.function.UnaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, UnaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceFieldUpdater
+</A></nobr><br>
+<!-- Method getAnnotationsByType -->
+<i>getAnnotationsByType</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Package.html#java.lang.Package.getAnnotationsByType_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.Package
+</A></nobr><br>
+<!-- Method getAnnotationsByType -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AnnotatedElement.html#java.lang.reflect.AnnotatedElement.getAnnotationsByType_added(java.lang.Class<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.AnnotatedElement
+</A></nobr><br>
+<!-- Method getApplicationRestrictionsManagingPackage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getApplicationRestrictionsManagingPackage_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getApplicationRestrictionsManagingPackage</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getArfcn -->
+<nobr><A HREF="android.telephony.CellIdentityGsm.html#android.telephony.CellIdentityGsm.getArfcn_added()" class="hiddenlink" target="rightframe"><b>getArfcn</b>
+()</A></nobr><br>
+<!-- Method getAttestationChallenge -->
+<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.html#android.security.keystore.KeyGenParameterSpec.getAttestationChallenge_added()" class="hiddenlink" target="rightframe"><b>getAttestationChallenge</b>
+()</A></nobr><br>
+<!-- Method getAutomaticZenRule -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.getAutomaticZenRule_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getAutomaticZenRule</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method getAutomaticZenRules -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.getAutomaticZenRules_added()" class="hiddenlink" target="rightframe"><b>getAutomaticZenRules</b>
+()</A></nobr><br>
+<!-- Method getBrowserRootHints -->
+<nobr><A HREF="android.service.media.MediaBrowserService.html#android.service.media.MediaBrowserService.getBrowserRootHints_added()" class="hiddenlink" target="rightframe"><b>getBrowserRootHints</b>
+()</A></nobr><br>
+<!-- Method getBsic -->
+<nobr><A HREF="android.telephony.CellIdentityGsm.html#android.telephony.CellIdentityGsm.getBsic_added()" class="hiddenlink" target="rightframe"><b>getBsic</b>
+()</A></nobr><br>
+<!-- Method getBufferCapacityInFrames -->
+<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.getBufferCapacityInFrames_added()" class="hiddenlink" target="rightframe"><b>getBufferCapacityInFrames</b>
+()</A></nobr><br>
+<!-- Method getBuiltInDrawable -->
+<i>getBuiltInDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getBuiltInDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<!-- Method getBuiltInDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getBuiltInDrawable_added(int, int, boolean, float, float, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, boolean, float, float, int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<!-- Method getByteBuffer -->
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.getByteBuffer_added()" class="hiddenlink" target="rightframe"><b>getByteBuffer</b>
+()</A></nobr><br>
+<!-- Method getCaCertificates -->
+<nobr><A HREF="android.net.wifi.WifiEnterpriseConfig.html#android.net.wifi.WifiEnterpriseConfig.getCaCertificates_added()" class="hiddenlink" target="rightframe"><b>getCaCertificates</b>
+()</A></nobr><br>
+<!-- Method getColor -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getColor_added()" class="hiddenlink" target="rightframe"><b>getColor</b>
+()</A></nobr><br>
+<!-- Method getColors -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getColors_added()" class="hiddenlink" target="rightframe"><b>getColors</b>
+()</A></nobr><br>
+<!-- Method getCommonPoolParallelism -->
+<nobr><A HREF="java.util.concurrent.ForkJoinPool.html#java.util.concurrent.ForkJoinPool.getCommonPoolParallelism_added()" class="hiddenlink" target="rightframe"><b>getCommonPoolParallelism</b>
+()</A></nobr><br>
+<!-- Method getCompressedSizeLong -->
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getCompressedSizeLong_added()" class="hiddenlink" target="rightframe"><b>getCompressedSizeLong</b>
+()</A></nobr><br>
+<!-- Method getConnectionProperties -->
+<nobr><A HREF="android.telecom.RemoteConference.html#android.telecom.RemoteConference.getConnectionProperties_added()" class="hiddenlink" target="rightframe"><b>getConnectionProperties</b>
+()</A></nobr><br>
+<!-- Method getContentInsetEndWithActions -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getContentInsetEndWithActions_added()" class="hiddenlink" target="rightframe"><b>getContentInsetEndWithActions</b>
+()</A></nobr><br>
+<!-- Method getContentInsetStartWithNavigation -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getContentInsetStartWithNavigation_added()" class="hiddenlink" target="rightframe"><b>getContentInsetStartWithNavigation</b>
+()</A></nobr><br>
+<!-- Method getContentLengthLong -->
+<nobr><A HREF="java.net.URLConnection.html#java.net.URLConnection.getContentLengthLong_added()" class="hiddenlink" target="rightframe"><b>getContentLengthLong</b>
+()</A></nobr><br>
+<!-- Method getContextualShaper -->
+<i>getContextualShaper</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.getContextualShaper_added(java.util.Set<java.awt.font.NumericShaper.Range>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Set&lt;Range&gt;</code>)</b>&nbsp;in&nbsp;java.awt.font.NumericShaper
+</A></nobr><br>
+<!-- Method getContextualShaper -->
+&nbsp;&nbsp;<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.getContextualShaper_added(java.util.Set<java.awt.font.NumericShaper.Range>, java.awt.font.NumericShaper.Range)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Set&lt;Range&gt;, Range</code>)</b>&nbsp;in&nbsp;java.awt.font.NumericShaper
+</A></nobr><br>
+<!-- Method getCornerRadii -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getCornerRadii_added()" class="hiddenlink" target="rightframe"><b>getCornerRadii</b>
+()</A></nobr><br>
+<!-- Method getCornerRadius -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getCornerRadius_added()" class="hiddenlink" target="rightframe"><b>getCornerRadius</b>
+()</A></nobr><br>
+<!-- Method getCrossProfileContactsSearchDisabled -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getCrossProfileContactsSearchDisabled_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getCrossProfileContactsSearchDisabled</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getCurrentContentInsetEnd -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getCurrentContentInsetEnd_added()" class="hiddenlink" target="rightframe"><b>getCurrentContentInsetEnd</b>
+()</A></nobr><br>
+<!-- Method getCurrentContentInsetLeft -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getCurrentContentInsetLeft_added()" class="hiddenlink" target="rightframe"><b>getCurrentContentInsetLeft</b>
+()</A></nobr><br>
+<!-- Method getCurrentContentInsetRight -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getCurrentContentInsetRight_added()" class="hiddenlink" target="rightframe"><b>getCurrentContentInsetRight</b>
+()</A></nobr><br>
+<!-- Method getCurrentContentInsetStart -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getCurrentContentInsetStart_added()" class="hiddenlink" target="rightframe"><b>getCurrentContentInsetStart</b>
+()</A></nobr><br>
+<!-- Method getDataDir -->
+<i>getDataDir</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.getDataDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method getDataDir -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.getDataDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method getDataDir -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.getDataDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Method getDataNetworkType -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getDataNetworkType_added()" class="hiddenlink" target="rightframe"><b>getDataNetworkType</b>
+()</A></nobr><br>
+<!-- Method getDeclaredAnnotation -->
+<i>getDeclaredAnnotation</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Package.html#java.lang.Package.getDeclaredAnnotation_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.Package
+</A></nobr><br>
+<!-- Method getDeclaredAnnotation -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AnnotatedElement.html#java.lang.reflect.AnnotatedElement.getDeclaredAnnotation_added(java.lang.Class<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.AnnotatedElement
+</A></nobr><br>
+<!-- Method getDeclaredAnnotationsByType -->
+<i>getDeclaredAnnotationsByType</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Package.html#java.lang.Package.getDeclaredAnnotationsByType_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.Package
+</A></nobr><br>
+<!-- Method getDeclaredAnnotationsByType -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AnnotatedElement.html#java.lang.reflect.AnnotatedElement.getDeclaredAnnotationsByType_added(java.lang.Class<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.AnnotatedElement
+</A></nobr><br>
+<!-- Method getDefault -->
+<nobr><A HREF="java.util.Locale.html#java.util.Locale.getDefault_added(java.util.Locale.Category)" class="hiddenlink" target="rightframe"><b>getDefault</b>
+(<code>Category</code>)</A></nobr><br>
+<!-- Method getDefaultDataSubscriptionId -->
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.getDefaultDataSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultDataSubscriptionId</b>
+()</A></nobr><br>
+<!-- Method getDefaultSharedPreferencesName -->
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.getDefaultSharedPreferencesName_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>getDefaultSharedPreferencesName</b>
+(<code>Context</code>)</A></nobr><br>
+<!-- Method getDefaultSmsSubscriptionId -->
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.getDefaultSmsSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultSmsSubscriptionId</b>
+()</A></nobr><br>
+<!-- Method getDefaultSubscriptionId -->
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.getDefaultSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultSubscriptionId</b>
+()</A></nobr><br>
+<!-- Method getDefaultVoiceSubscriptionId -->
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.getDefaultVoiceSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultVoiceSubscriptionId</b>
+()</A></nobr><br>
+<!-- Method getDeviceOwnerLockScreenInfo -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getDeviceOwnerLockScreenInfo_added()" class="hiddenlink" target="rightframe"><b>getDeviceOwnerLockScreenInfo</b>
+()</A></nobr><br>
+<!-- Method getDeviceType -->
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.getDeviceType_added()" class="hiddenlink" target="rightframe"><b>getDeviceType</b>
+()</A></nobr><br>
+<!-- Method getDisabledActionModeMenuItems -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDisabledActionModeMenuItems_added()" class="hiddenlink" target="rightframe"><b>getDisabledActionModeMenuItems</b>
+()</A></nobr><br>
+<!-- Method getDismissalId -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getDismissalId_added()" class="hiddenlink" target="rightframe"><b>getDismissalId</b>
+()</A></nobr><br>
+<!-- Method getDocumentStreamTypes -->
+<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.getDocumentStreamTypes_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>getDocumentStreamTypes</b>
+(<code>String, String</code>)</A></nobr><br>
+<!-- Method getDrawingOrder -->
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.getDrawingOrder_added()" class="hiddenlink" target="rightframe"><b>getDrawingOrder</b>
+()</A></nobr><br>
+<!-- Method getDrmInitData -->
+<nobr><A HREF="android.media.MediaExtractor.html#android.media.MediaExtractor.getDrmInitData_added()" class="hiddenlink" target="rightframe"><b>getDrmInitData</b>
+()</A></nobr><br>
+<!-- Method getDynamicSensorList -->
+<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.getDynamicSensorList_added(int)" class="hiddenlink" target="rightframe"><b>getDynamicSensorList</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getEarfcn -->
+<nobr><A HREF="android.telephony.CellIdentityLte.html#android.telephony.CellIdentityLte.getEarfcn_added()" class="hiddenlink" target="rightframe"><b>getEarfcn</b>
+()</A></nobr><br>
+<!-- Method getEndpointIdentificationAlgorithm -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getEndpointIdentificationAlgorithm_added()" class="hiddenlink" target="rightframe"><b>getEndpointIdentificationAlgorithm</b>
+()</A></nobr><br>
+<!-- Method getEnterTransition -->
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.getEnterTransition_added()" class="hiddenlink" target="rightframe"><b>getEnterTransition</b>
+()</A></nobr><br>
+<!-- Method getEventsSupported -->
+<nobr><A HREF="android.mtp.MtpDeviceInfo.html#android.mtp.MtpDeviceInfo.getEventsSupported_added()" class="hiddenlink" target="rightframe"><b>getEventsSupported</b>
+()</A></nobr><br>
+<!-- Method getExclusiveCores -->
+<nobr><A HREF="android.os.Process.html#android.os.Process.getExclusiveCores_added()" class="hiddenlink" target="rightframe"><b>getExclusiveCores</b>
+()</A></nobr><br>
+<!-- Method getExitTransition -->
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.getExitTransition_added()" class="hiddenlink" target="rightframe"><b>getExitTransition</b>
+()</A></nobr><br>
+<!-- Method getExtras -->
+<i>getExtras</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ClipDescription.html#android.content.ClipDescription.getExtras_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ClipDescription
+</A></nobr><br>
+<!-- Method getExtras -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.getExtras_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.media.tv.TvInputInfo
+</A></nobr><br>
+<!-- Method getExtras -->
+&nbsp;&nbsp;<nobr><A HREF="android.telecom.PhoneAccount.html#android.telecom.PhoneAccount.getExtras_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.telecom.PhoneAccount
+</A></nobr><br>
+<!-- Method getFlexMillis -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getFlexMillis_added()" class="hiddenlink" target="rightframe"><b>getFlexMillis</b>
+()</A></nobr><br>
+<!-- Method getForkJoinTaskTag -->
+<nobr><A HREF="java.util.concurrent.ForkJoinTask.html#java.util.concurrent.ForkJoinTask.getForkJoinTaskTag_added()" class="hiddenlink" target="rightframe"><b>getForkJoinTaskTag</b>
+()</A></nobr><br>
+<!-- Method getGradientCenterX -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getGradientCenterX_added()" class="hiddenlink" target="rightframe"><b>getGradientCenterX</b>
+()</A></nobr><br>
+<!-- Method getGradientCenterY -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getGradientCenterY_added()" class="hiddenlink" target="rightframe"><b>getGradientCenterY</b>
+()</A></nobr><br>
+<!-- Method getGradientType -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getGradientType_added()" class="hiddenlink" target="rightframe"><b>getGradientType</b>
+()</A></nobr><br>
+<!-- Method getGravity -->
+<nobr><A HREF="android.widget.LinearLayout.html#android.widget.LinearLayout.getGravity_added()" class="hiddenlink" target="rightframe"><b>getGravity</b>
+()</A></nobr><br>
+<!-- Method getHandler -->
+<i>getHandler</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.BaseInputConnection.html#android.view.inputmethod.BaseInputConnection.getHandler_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.BaseInputConnection
+</A></nobr><br>
+<!-- Method getHandler -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnection.html#android.view.inputmethod.InputConnection.getHandler_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnection
+</A></nobr><br>
+<!-- Method getHandler -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnectionWrapper.html#android.view.inputmethod.InputConnectionWrapper.getHandler_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnectionWrapper
+</A></nobr><br>
+<!-- Method getHandshakeSession -->
+<i>getHandshakeSession</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.net.ssl.SSLEngine.html#javax.net.ssl.SSLEngine.getHandshakeSession_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.net.ssl.SSLEngine
+</A></nobr><br>
+<!-- Method getHandshakeSession -->
+&nbsp;&nbsp;<nobr><A HREF="javax.net.ssl.SSLSocket.html#javax.net.ssl.SSLSocket.getHandshakeSession_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.net.ssl.SSLSocket
+</A></nobr><br>
+<!-- Method getHasOverlappingRendering -->
+<nobr><A HREF="android.view.View.html#android.view.View.getHasOverlappingRendering_added()" class="hiddenlink" target="rightframe"><b>getHasOverlappingRendering</b>
+()</A></nobr><br>
+<!-- Method getHdrCapabilities -->
+<nobr><A HREF="android.view.Display.html#android.view.Display.getHdrCapabilities_added()" class="hiddenlink" target="rightframe"><b>getHdrCapabilities</b>
+()</A></nobr><br>
+<!-- Method getHeaderFieldLong -->
+<nobr><A HREF="java.net.URLConnection.html#java.net.URLConnection.getHeaderFieldLong_added(java.lang.String, long)" class="hiddenlink" target="rightframe"><b>getHeaderFieldLong</b>
+(<code>String, long</code>)</A></nobr><br>
+<!-- Method getHintAmbientBigPicture -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getHintAmbientBigPicture_added()" class="hiddenlink" target="rightframe"><b>getHintAmbientBigPicture</b>
+()</A></nobr><br>
+<!-- Method getHintContentIntentLaunchesActivity -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getHintContentIntentLaunchesActivity_added()" class="hiddenlink" target="rightframe"><b>getHintContentIntentLaunchesActivity</b>
+()</A></nobr><br>
+<!-- Method getHintLaunchesActivity -->
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.getHintLaunchesActivity_added()" class="hiddenlink" target="rightframe"><b>getHintLaunchesActivity</b>
+()</A></nobr><br>
+<!-- Method getIccAuthentication -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getIccAuthentication_added(int, int, java.lang.String)" class="hiddenlink" target="rightframe"><b>getIccAuthentication</b>
+(<code>int, int, String</code>)</A></nobr><br>
+<!-- Method getId -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.getId_added()" class="hiddenlink" target="rightframe"><b>getId</b>
+()</A></nobr><br>
+<!-- Method getImagePixDepthLong -->
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getImagePixDepthLong_added()" class="hiddenlink" target="rightframe"><b>getImagePixDepthLong</b>
+()</A></nobr><br>
+<!-- Method getImagePixHeightLong -->
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getImagePixHeightLong_added()" class="hiddenlink" target="rightframe"><b>getImagePixHeightLong</b>
+()</A></nobr><br>
+<!-- Method getImagePixWidthLong -->
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getImagePixWidthLong_added()" class="hiddenlink" target="rightframe"><b>getImagePixWidthLong</b>
+()</A></nobr><br>
+<!-- Method getImeHintLocales -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getImeHintLocales_added()" class="hiddenlink" target="rightframe"><b>getImeHintLocales</b>
+()</A></nobr><br>
+<!-- Method getImportance -->
+<i>getImportance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.getImportance_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.app.NotificationManager
+</A></nobr><br>
+<!-- Method getImportance -->
+&nbsp;&nbsp;<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.getImportance_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.service.notification.NotificationListenerService.Ranking
+</A></nobr><br>
+<!-- Method getImportanceExplanation -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.getImportanceExplanation_added()" class="hiddenlink" target="rightframe"><b>getImportanceExplanation</b>
+()</A></nobr><br>
+<!-- Method getLanguageTag -->
+<i>getLanguageTag</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.getLanguageTag_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputMethodSubtype
+</A></nobr><br>
+<!-- Method getLanguageTag -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.textservice.SpellCheckerSubtype.html#android.view.textservice.SpellCheckerSubtype.getLanguageTag_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.textservice.SpellCheckerSubtype
+</A></nobr><br>
+<!-- Method getLaunchBounds -->
+<nobr><A HREF="android.app.ActivityOptions.html#android.app.ActivityOptions.getLaunchBounds_added()" class="hiddenlink" target="rightframe"><b>getLaunchBounds</b>
+()</A></nobr><br>
+<!-- Method getLeftStripDrawable -->
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.getLeftStripDrawable_added()" class="hiddenlink" target="rightframe"><b>getLeftStripDrawable</b>
+()</A></nobr><br>
+<!-- Method getLocaleObject -->
+<nobr><A HREF="android.text.style.SuggestionSpan.html#android.text.style.SuggestionSpan.getLocaleObject_added()" class="hiddenlink" target="rightframe"><b>getLocaleObject</b>
+()</A></nobr><br>
+<!-- Method getLocales -->
+<i>getLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.getLocales_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.res.Configuration
+</A></nobr><br>
+<!-- Method getLocales -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.getLocales_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.text.style.LocaleSpan
+</A></nobr><br>
+<!-- Method getLongSupportMessage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getLongSupportMessage_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getLongSupportMessage</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getMagnificationController -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.getMagnificationController_added()" class="hiddenlink" target="rightframe"><b>getMagnificationController</b>
+()</A></nobr><br>
+<!-- Method getMaxAvailableHeight -->
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.getMaxAvailableHeight_added(android.view.View, int, boolean)" class="hiddenlink" target="rightframe"><b>getMaxAvailableHeight</b>
+(<code>View, int, boolean</code>)</A></nobr><br>
+<!-- Method getMinFlexMillis -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinFlexMillis_added()" class="hiddenlink" target="rightframe"><b>getMinFlexMillis</b>
+()</A></nobr><br>
+<!-- Method getMinPeriodMillis -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinPeriodMillis_added()" class="hiddenlink" target="rightframe"><b>getMinPeriodMillis</b>
+()</A></nobr><br>
+<!-- Method getNumericCode -->
+<nobr><A HREF="java.util.Currency.html#java.util.Currency.getNumericCode_added()" class="hiddenlink" target="rightframe"><b>getNumericCode</b>
+()</A></nobr><br>
+<!-- Method getOperationsSupported -->
+<nobr><A HREF="android.mtp.MtpDeviceInfo.html#android.mtp.MtpDeviceInfo.getOperationsSupported_added()" class="hiddenlink" target="rightframe"><b>getOperationsSupported</b>
+()</A></nobr><br>
+<!-- Method getOrDefault -->
+<i>getOrDefault</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.getOrDefault_added(java.lang.Object, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, V</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method getOrDefault -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.getOrDefault_added(java.lang.Object, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, V</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method getOrDefault -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.getOrDefault_added(java.lang.Object, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, V</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method getOrDefault -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.getOrDefault_added(java.lang.Object, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, V</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<!-- Method getOrganizationColor -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getOrganizationColor_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getOrganizationColor</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getOrganizationName -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getOrganizationName_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getOrganizationName</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getOverrideGroupKey -->
+<i>getOverrideGroupKey</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.getOverrideGroupKey_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.service.notification.NotificationListenerService.Ranking
+</A></nobr><br>
+<!-- Method getOverrideGroupKey -->
+&nbsp;&nbsp;<nobr><A HREF="android.service.notification.StatusBarNotification.html#android.service.notification.StatusBarNotification.getOverrideGroupKey_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.service.notification.StatusBarNotification
+</A></nobr><br>
+<!-- Method getPackageGids -->
+<i>getPackageGids</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.getPackageGids_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method getPackageGids -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.getPackageGids_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Method getPackageUid -->
+<i>getPackageUid</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.getPackageUid_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method getPackageUid -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.getPackageUid_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Method getParentLogger -->
+<nobr><A HREF="javax.sql.CommonDataSource.html#javax.sql.CommonDataSource.getParentLogger_added()" class="hiddenlink" target="rightframe"><b>getParentLogger</b>
+()</A></nobr><br>
+<!-- Method getParentProfileInstance -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getParentProfileInstance_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getParentProfileInstance</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getPartialObject -->
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.getPartialObject_added(int, long, long, byte[])" class="hiddenlink" target="rightframe"><b>getPartialObject</b>
+(<code>int, long, long, byte[]</code>)</A></nobr><br>
+<!-- Method getPartialObject64 -->
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.getPartialObject64_added(int, long, long, byte[])" class="hiddenlink" target="rightframe"><b>getPartialObject64</b>
+(<code>int, long, long, byte[]</code>)</A></nobr><br>
+<!-- Method getPendingJob -->
+<nobr><A HREF="android.app.job.JobScheduler.html#android.app.job.JobScheduler.getPendingJob_added(int)" class="hiddenlink" target="rightframe"><b>getPendingJob</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getPersistedStringSet -->
+<nobr><A HREF="android.preference.Preference.html#android.preference.Preference.getPersistedStringSet_added(java.util.Set<java.lang.String>)" class="hiddenlink" target="rightframe"><b>getPersistedStringSet</b>
+(<code>Set&lt;String&gt;</code>)</A></nobr><br>
+<!-- Method getPointerIcon -->
+<nobr><A HREF="android.view.View.html#android.view.View.getPointerIcon_added()" class="hiddenlink" target="rightframe"><b>getPointerIcon</b>
+()</A></nobr><br>
+<!-- Method getPrimaryStorageVolume -->
+<nobr><A HREF="android.os.storage.StorageManager.html#android.os.storage.StorageManager.getPrimaryStorageVolume_added()" class="hiddenlink" target="rightframe"><b>getPrimaryStorageVolume</b>
+()</A></nobr><br>
+<!-- Method getRadius -->
+<nobr><A HREF="android.graphics.Outline.html#android.graphics.Outline.getRadius_added()" class="hiddenlink" target="rightframe"><b>getRadius</b>
+()</A></nobr><br>
+<!-- Method getRangeSet -->
+<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.getRangeSet_added()" class="hiddenlink" target="rightframe"><b>getRangeSet</b>
+()</A></nobr><br>
+<!-- Method getReason -->
+<nobr><A HREF="java.security.cert.CertPathValidatorException.html#java.security.cert.CertPathValidatorException.getReason_added()" class="hiddenlink" target="rightframe"><b>getReason</b>
+()</A></nobr><br>
+<!-- Method getRect -->
+<nobr><A HREF="android.graphics.Outline.html#android.graphics.Outline.getRect_added(android.graphics.Rect)" class="hiddenlink" target="rightframe"><b>getRect</b>
+(<code>Rect</code>)</A></nobr><br>
+<!-- Method getRemoteAddress -->
+<i>getRemoteAddress</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.DatagramChannel.html#java.nio.channels.DatagramChannel.getRemoteAddress_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.nio.channels.DatagramChannel
+</A></nobr><br>
+<!-- Method getRemoteAddress -->
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.getRemoteAddress_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.nio.channels.SocketChannel
+</A></nobr><br>
+<!-- Method getRestrictBackgroundStatus -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.getRestrictBackgroundStatus_added()" class="hiddenlink" target="rightframe"><b>getRestrictBackgroundStatus</b>
+()</A></nobr><br>
+<!-- Method getRevocationChecker -->
+<i>getRevocationChecker</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.cert.CertPathBuilder.html#java.security.cert.CertPathBuilder.getRevocationChecker_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.security.cert.CertPathBuilder
+</A></nobr><br>
+<!-- Method getRevocationChecker -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.cert.CertPathValidator.html#java.security.cert.CertPathValidator.getRevocationChecker_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.security.cert.CertPathValidator
+</A></nobr><br>
+<!-- Method getRevocationReason -->
+<nobr><A HREF="java.security.cert.X509CRLEntry.html#java.security.cert.X509CRLEntry.getRevocationReason_added()" class="hiddenlink" target="rightframe"><b>getRevocationReason</b>
+()</A></nobr><br>
+<!-- Method getRightStripDrawable -->
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.getRightStripDrawable_added()" class="hiddenlink" target="rightframe"><b>getRightStripDrawable</b>
+()</A></nobr><br>
+<!-- Method getRoaming -->
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.getRoaming_added()" class="hiddenlink" target="rightframe"><b>getRoaming</b>
+()</A></nobr><br>
+<!-- Method getSequenceNumberLong -->
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getSequenceNumberLong_added()" class="hiddenlink" target="rightframe"><b>getSequenceNumberLong</b>
+()</A></nobr><br>
+<!-- Method getServerNames -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getServerNames_added()" class="hiddenlink" target="rightframe"><b>getServerNames</b>
+()</A></nobr><br>
+<!-- Method getShape -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getShape_added()" class="hiddenlink" target="rightframe"><b>getShape</b>
+()</A></nobr><br>
+<!-- Method getShaper -->
+<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.getShaper_added(java.awt.font.NumericShaper.Range)" class="hiddenlink" target="rightframe"><b>getShaper</b>
+(<code>Range</code>)</A></nobr><br>
+<!-- Method getShortSupportMessage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getShortSupportMessage_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getShortSupportMessage</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getSNIMatchers -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getSNIMatchers_added()" class="hiddenlink" target="rightframe"><b>getSNIMatchers</b>
+()</A></nobr><br>
+<!-- Method getSoftKeyboardController -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.getSoftKeyboardController_added()" class="hiddenlink" target="rightframe"><b>getSoftKeyboardController</b>
+()</A></nobr><br>
+<!-- Method getSSLParameters -->
+<nobr><A HREF="javax.net.ssl.SSLServerSocket.html#javax.net.ssl.SSLServerSocket.getSSLParameters_added()" class="hiddenlink" target="rightframe"><b>getSSLParameters</b>
+()</A></nobr><br>
+<!-- Method getStartElapsedRealtime -->
+<nobr><A HREF="android.os.Process.html#android.os.Process.getStartElapsedRealtime_added()" class="hiddenlink" target="rightframe"><b>getStartElapsedRealtime</b>
+()</A></nobr><br>
+<!-- Method getStartUptimeMillis -->
+<nobr><A HREF="android.os.Process.html#android.os.Process.getStartUptimeMillis_added()" class="hiddenlink" target="rightframe"><b>getStartUptimeMillis</b>
+()</A></nobr><br>
+<!-- Method getStorageVolume -->
+<nobr><A HREF="android.os.storage.StorageManager.html#android.os.storage.StorageManager.getStorageVolume_added(java.io.File)" class="hiddenlink" target="rightframe"><b>getStorageVolume</b>
+(<code>File</code>)</A></nobr><br>
+<!-- Method getStorageVolumes -->
+<nobr><A HREF="android.os.storage.StorageManager.html#android.os.storage.StorageManager.getStorageVolumes_added()" class="hiddenlink" target="rightframe"><b>getStorageVolumes</b>
+()</A></nobr><br>
+<!-- Method getStride -->
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.getStride_added()" class="hiddenlink" target="rightframe"><b>getStride</b>
+()</A></nobr><br>
+<!-- Method getSuppressedVisualEffects -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.getSuppressedVisualEffects_added()" class="hiddenlink" target="rightframe"><b>getSuppressedVisualEffects</b>
+()</A></nobr><br>
+<!-- Method getTag -->
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.getTag_added()" class="hiddenlink" target="rightframe"><b>getTag</b>
+()</A></nobr><br>
+<!-- Method getTextLocales -->
+<i>getTextLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.getTextLocales_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.Paint
+</A></nobr><br>
+<!-- Method getTextLocales -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getTextLocales_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<!-- Method getThumbCompressedSizeLong -->
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getThumbCompressedSizeLong_added()" class="hiddenlink" target="rightframe"><b>getThumbCompressedSizeLong</b>
+()</A></nobr><br>
+<!-- Method getThumbnailRange -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.getThumbnailRange_added()" class="hiddenlink" target="rightframe"><b>getThumbnailRange</b>
+()</A></nobr><br>
+<!-- Method getThumbPixHeightLong -->
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getThumbPixHeightLong_added()" class="hiddenlink" target="rightframe"><b>getThumbPixHeightLong</b>
+()</A></nobr><br>
+<!-- Method getThumbPixWidthLong -->
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getThumbPixWidthLong_added()" class="hiddenlink" target="rightframe"><b>getThumbPixWidthLong</b>
+()</A></nobr><br>
+<!-- Method getTickMark -->
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.getTickMark_added()" class="hiddenlink" target="rightframe"><b>getTickMark</b>
+()</A></nobr><br>
+<!-- Method getTickMarkTintList -->
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.getTickMarkTintList_added()" class="hiddenlink" target="rightframe"><b>getTickMarkTintList</b>
+()</A></nobr><br>
+<!-- Method getTickMarkTintMode -->
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.getTickMarkTintMode_added()" class="hiddenlink" target="rightframe"><b>getTickMarkTintMode</b>
+()</A></nobr><br>
+<!-- Method getTimestamp -->
+<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.getTimestamp_added(android.media.AudioTimestamp, int)" class="hiddenlink" target="rightframe"><b>getTimestamp</b>
+(<code>AudioTimestamp, int</code>)</A></nobr><br>
+<!-- Method getTimeStamp -->
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.getTimeStamp_added()" class="hiddenlink" target="rightframe"><b>getTimeStamp</b>
+()</A></nobr><br>
+<!-- Method getTitle -->
+<nobr><A HREF="android.view.accessibility.AccessibilityWindowInfo.html#android.view.accessibility.AccessibilityWindowInfo.getTitle_added()" class="hiddenlink" target="rightframe"><b>getTitle</b>
+()</A></nobr><br>
+<!-- Method getTitleMarginBottom -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getTitleMarginBottom_added()" class="hiddenlink" target="rightframe"><b>getTitleMarginBottom</b>
+()</A></nobr><br>
+<!-- Method getTitleMarginEnd -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getTitleMarginEnd_added()" class="hiddenlink" target="rightframe"><b>getTitleMarginEnd</b>
+()</A></nobr><br>
+<!-- Method getTitleMarginStart -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getTitleMarginStart_added()" class="hiddenlink" target="rightframe"><b>getTitleMarginStart</b>
+()</A></nobr><br>
+<!-- Method getTitleMarginTop -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getTitleMarginTop_added()" class="hiddenlink" target="rightframe"><b>getTitleMarginTop</b>
+()</A></nobr><br>
+<!-- Method getTotalDuration -->
+<nobr><A HREF="android.animation.Animator.html#android.animation.Animator.getTotalDuration_added()" class="hiddenlink" target="rightframe"><b>getTotalDuration</b>
+()</A></nobr><br>
+<!-- Method getTriggerContentMaxDelay -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getTriggerContentMaxDelay_added()" class="hiddenlink" target="rightframe"><b>getTriggerContentMaxDelay</b>
+()</A></nobr><br>
+<!-- Method getTriggerContentUpdateDelay -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getTriggerContentUpdateDelay_added()" class="hiddenlink" target="rightframe"><b>getTriggerContentUpdateDelay</b>
+()</A></nobr><br>
+<!-- Method getTriggerContentUris -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getTriggerContentUris_added()" class="hiddenlink" target="rightframe"><b>getTriggerContentUris</b>
+()</A></nobr><br>
+<!-- Method getTriggeredContentAuthorities -->
+<nobr><A HREF="android.app.job.JobParameters.html#android.app.job.JobParameters.getTriggeredContentAuthorities_added()" class="hiddenlink" target="rightframe"><b>getTriggeredContentAuthorities</b>
+()</A></nobr><br>
+<!-- Method getTriggeredContentUris -->
+<nobr><A HREF="android.app.job.JobParameters.html#android.app.job.JobParameters.getTriggeredContentUris_added()" class="hiddenlink" target="rightframe"><b>getTriggeredContentUris</b>
+()</A></nobr><br>
+<!-- Method getTunerCount -->
+<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.getTunerCount_added()" class="hiddenlink" target="rightframe"><b>getTunerCount</b>
+()</A></nobr><br>
+<!-- Method getUarfcn -->
+<nobr><A HREF="android.telephony.CellIdentityWcdma.html#android.telephony.CellIdentityWcdma.getUarfcn_added()" class="hiddenlink" target="rightframe"><b>getUarfcn</b>
+()</A></nobr><br>
+<!-- Method getUiAutomation -->
+<nobr><A HREF="android.app.Instrumentation.html#android.app.Instrumentation.getUiAutomation_added(int)" class="hiddenlink" target="rightframe"><b>getUiAutomation</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getUnderrunCount -->
+<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.getUnderrunCount_added()" class="hiddenlink" target="rightframe"><b>getUnderrunCount</b>
+()</A></nobr><br>
+<!-- Method getUseCipherSuitesOrder -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getUseCipherSuitesOrder_added()" class="hiddenlink" target="rightframe"><b>getUseCipherSuitesOrder</b>
+()</A></nobr><br>
+<!-- Method getUseLevel -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getUseLevel_added()" class="hiddenlink" target="rightframe"><b>getUseLevel</b>
+()</A></nobr><br>
+<!-- Method getUserHandleForUid -->
+<nobr><A HREF="android.os.UserHandle.html#android.os.UserHandle.getUserHandleForUid_added(int)" class="hiddenlink" target="rightframe"><b>getUserHandleForUid</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getUserRestrictions -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getUserRestrictions_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getUserRestrictions</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getVideoActiveFormatDescription -->
+<nobr><A HREF="android.media.tv.TvTrackInfo.html#android.media.tv.TvTrackInfo.getVideoActiveFormatDescription_added()" class="hiddenlink" target="rightframe"><b>getVideoActiveFormatDescription</b>
+()</A></nobr><br>
+<!-- Method getVoicemailRingtoneUri -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoicemailRingtoneUri_added(android.telecom.PhoneAccountHandle)" class="hiddenlink" target="rightframe"><b>getVoicemailRingtoneUri</b>
+(<code>PhoneAccountHandle</code>)</A></nobr><br>
+<!-- Method getVoiceNetworkType -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoiceNetworkType_added()" class="hiddenlink" target="rightframe"><b>getVoiceNetworkType</b>
+()</A></nobr><br>
+<!-- Method getWallpaperFile -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getWallpaperFile_added(int)" class="hiddenlink" target="rightframe"><b>getWallpaperFile</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getWallpaperId -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getWallpaperId_added(int)" class="hiddenlink" target="rightframe"><b>getWallpaperId</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getWeeksInWeekYear -->
+<nobr><A HREF="java.util.Calendar.html#java.util.Calendar.getWeeksInWeekYear_added()" class="hiddenlink" target="rightframe"><b>getWeeksInWeekYear</b>
+()</A></nobr><br>
+<!-- Method getWeekYear -->
+<nobr><A HREF="java.util.Calendar.html#java.util.Calendar.getWeekYear_added()" class="hiddenlink" target="rightframe"><b>getWeekYear</b>
+()</A></nobr><br>
+<!-- Method getWifiMacAddress -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getWifiMacAddress_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getWifiMacAddress</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Field GL_ALL_BARRIER_BITS -->
+<nobr><A HREF="android.opengl.GLES31.html#android.opengl.GLES31.GL_ALL_BARRIER_BITS" class="hiddenlink" target="rightframe">GL_ALL_BARRIER_BITS</A>
+</nobr><br>
+<!-- Field GL_ELEMENT_ARRAY_BARRIER_BIT -->
+<nobr><A HREF="android.opengl.GLES31.html#android.opengl.GLES31.GL_ELEMENT_ARRAY_BARRIER_BIT" class="hiddenlink" target="rightframe">GL_ELEMENT_ARRAY_BARRIER_BIT</A>
+</nobr><br>
+<!-- Field GL_SHADER_IMAGE_ACCESS_BARRIER_BIT -->
+<nobr><A HREF="android.opengl.GLES31.html#android.opengl.GLES31.GL_SHADER_IMAGE_ACCESS_BARRIER_BIT" class="hiddenlink" target="rightframe">GL_SHADER_IMAGE_ACCESS_BARRIER_BIT</A>
+</nobr><br>
+<!-- Field GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT -->
+<nobr><A HREF="android.opengl.GLES31.html#android.opengl.GLES31.GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT" class="hiddenlink" target="rightframe">GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT</A>
+</nobr><br>
+<!-- Class GLES32 -->
+<A HREF="pkg_android.opengl.html#GLES32" class="hiddenlink" target="rightframe"><b>GLES32</b></A><br>
+<!-- Class GLES32.DebugProc -->
+<A HREF="pkg_android.opengl.html#GLES32.DebugProc" class="hiddenlink" target="rightframe"><b><i>GLES32.DebugProc</i></b></A><br>
+<!-- Method glGetTransformFeedbackVarying -->
+<nobr><A HREF="android.opengl.GLES30.html#android.opengl.GLES30.glGetTransformFeedbackVarying_added(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.ByteBuffer)" class="hiddenlink" target="rightframe"><b>glGetTransformFeedbackVarying</b>
+(<code>int, int, int, IntBuffer, IntBuffer, IntBuffer, ByteBuffer</code>)</A></nobr><br>
+<!-- Field GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN" class="hiddenlink" target="rightframe">GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN</A>
+</nobr><br>
+<!-- Method glReadPixels -->
+<nobr><A HREF="android.opengl.GLES30.html#android.opengl.GLES30.glReadPixels_added(int, int, int, int, int, int, int)" class="hiddenlink" target="rightframe"><b>glReadPixels</b>
+(<code>int, int, int, int, int, int, int</code>)</A></nobr><br>
+<!-- Class GnssClock -->
+<A HREF="pkg_android.location.html#GnssClock" class="hiddenlink" target="rightframe"><b>GnssClock</b></A><br>
+<!-- Class GnssMeasurement -->
+<A HREF="pkg_android.location.html#GnssMeasurement" class="hiddenlink" target="rightframe"><b>GnssMeasurement</b></A><br>
+<!-- Class GnssMeasurementsEvent -->
+<A HREF="pkg_android.location.html#GnssMeasurementsEvent" class="hiddenlink" target="rightframe"><b>GnssMeasurementsEvent</b></A><br>
+<!-- Class GnssMeasurementsEvent.Callback -->
+<A HREF="pkg_android.location.html#GnssMeasurementsEvent.Callback" class="hiddenlink" target="rightframe"><b>GnssMeasurementsEvent.Callback</b></A><br>
+<!-- Class GnssNavigationMessage -->
+<A HREF="pkg_android.location.html#GnssNavigationMessage" class="hiddenlink" target="rightframe"><b>GnssNavigationMessage</b></A><br>
+<!-- Class GnssNavigationMessage.Callback -->
+<A HREF="pkg_android.location.html#GnssNavigationMessage.Callback" class="hiddenlink" target="rightframe"><b>GnssNavigationMessage.Callback</b></A><br>
+<!-- Class GnssStatus -->
+<A HREF="pkg_android.location.html#GnssStatus" class="hiddenlink" target="rightframe"><b>GnssStatus</b></A><br>
+<!-- Class GnssStatus.Callback -->
+<A HREF="pkg_android.location.html#GnssStatus.Callback" class="hiddenlink" target="rightframe"><b>GnssStatus.Callback</b></A><br>
+<!-- Field HARDWARE_PROPERTIES_SERVICE -->
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.Context.html#android.content.Context.HARDWARE_PROPERTIES_SERVICE" class="hiddenlink" target="rightframe">HARDWARE_PROPERTIES_SERVICE</A>
+</nobr><br>
+<!-- Class HardwarePropertiesManager -->
+<A HREF="pkg_android.os.html#HardwarePropertiesManager" class="hiddenlink" target="rightframe"><b>HardwarePropertiesManager</b></A><br>
+<!-- Method hashCode -->
+<i>hashCode</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Boolean.html#java.lang.Boolean.hashCode_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;java.lang.Boolean
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Byte.html#java.lang.Byte.hashCode_added(byte)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>byte</code>)</b>&nbsp;in&nbsp;java.lang.Byte
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Character.html#java.lang.Character.hashCode_added(char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char</code>)</b>&nbsp;in&nbsp;java.lang.Character
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.hashCode_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.hashCode_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Integer.html#java.lang.Integer.hashCode_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.Integer
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Long.html#java.lang.Long.hashCode_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Long
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Short.html#java.lang.Short.hashCode_added(short)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>short</code>)</b>&nbsp;in&nbsp;java.lang.Short
+</A></nobr><br>
+<!-- Method hasSystemFeature -->
+<i>hasSystemFeature</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.hasSystemFeature_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method hasSystemFeature -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.hasSystemFeature_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Field HEVC -->
+<nobr><A HREF="android.media.MediaRecorder.VideoEncoder.html#android.media.MediaRecorder.VideoEncoder.HEVC" class="hiddenlink" target="rightframe">HEVC</A>
+</nobr><br>
+<!-- Field HEVCProfileMain10HDR10 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.HEVCProfileMain10HDR10" class="hiddenlink" target="rightframe">HEVCProfileMain10HDR10</A>
+</nobr><br>
+<!-- Field HINT_HOST_DISABLE_CALL_EFFECTS -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.HINT_HOST_DISABLE_CALL_EFFECTS" class="hiddenlink" target="rightframe">HINT_HOST_DISABLE_CALL_EFFECTS</A>
+</nobr><br>
+<!-- Field HINT_HOST_DISABLE_NOTIFICATION_EFFECTS -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.HINT_HOST_DISABLE_NOTIFICATION_EFFECTS" class="hiddenlink" target="rightframe">HINT_HOST_DISABLE_NOTIFICATION_EFFECTS</A>
+</nobr><br>
+<!-- Field hintLocales -->
+<nobr><A HREF="android.view.inputmethod.EditorInfo.html#android.view.inputmethod.EditorInfo.hintLocales" class="hiddenlink" target="rightframe">hintLocales</A>
+</nobr><br>
+<!-- Class HostNfcFService -->
+<A HREF="pkg_android.nfc.cardemulation.html#HostNfcFService" class="hiddenlink" target="rightframe"><b>HostNfcFService</b></A><br>
+<!-- Field hotSpotX -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.hotSpotX" class="hiddenlink" target="rightframe">hotSpotX</A>
+</nobr><br>
+<!-- Field hotSpotY -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.hotSpotY" class="hiddenlink" target="rightframe">hotSpotY</A>
+</nobr><br>
+<!-- Field icon_frame -->
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.id.html#android.R.id.icon_frame" class="hiddenlink" target="rightframe">icon_frame</A>
+</nobr><br>
+<!-- Method ignore -->
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.ignore_added(android.nfc.Tag, int, android.nfc.NfcAdapter.OnTagRemovedListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>ignore</b>
+(<code>Tag, int, OnTagRemovedListener, Handler</code>)</A></nobr><br>
+<!-- Field IMPORTANCE_DEFAULT -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_DEFAULT" class="hiddenlink" target="rightframe">IMPORTANCE_DEFAULT</A>
+</nobr><br>
+<!-- Field IMPORTANCE_HIGH -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_HIGH" class="hiddenlink" target="rightframe">IMPORTANCE_HIGH</A>
+</nobr><br>
+<!-- Field IMPORTANCE_LOW -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_LOW" class="hiddenlink" target="rightframe">IMPORTANCE_LOW</A>
+</nobr><br>
+<!-- Field IMPORTANCE_MAX -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_MAX" class="hiddenlink" target="rightframe">IMPORTANCE_MAX</A>
+</nobr><br>
+<!-- Field IMPORTANCE_MIN -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_MIN" class="hiddenlink" target="rightframe">IMPORTANCE_MIN</A>
+</nobr><br>
+<!-- Field IMPORTANCE_NONE -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_NONE" class="hiddenlink" target="rightframe">IMPORTANCE_NONE</A>
+</nobr><br>
+<!-- Field IMPORTANCE_UNSPECIFIED -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_UNSPECIFIED" class="hiddenlink" target="rightframe">IMPORTANCE_UNSPECIFIED</A>
+</nobr><br>
+<!-- Method importFile -->
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.importFile_added(int, android.os.ParcelFileDescriptor)" class="hiddenlink" target="rightframe"><b>importFile</b>
+(<code>int, ParcelFileDescriptor</code>)</A></nobr><br>
+<!-- Method incrementExact -->
+<i>incrementExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.incrementExact_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method incrementExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.incrementExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Field INFO_SUPPORTED_HARDWARE_LEVEL_3 -->
+<nobr><A HREF="android.hardware.camera2.CameraMetadata.html#android.hardware.camera2.CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_3" class="hiddenlink" target="rightframe">INFO_SUPPORTED_HARDWARE_LEVEL_3</A>
+</nobr><br>
+<!-- Field INSET_UNDEFINED -->
+<nobr><A HREF="android.graphics.drawable.LayerDrawable.html#android.graphics.drawable.LayerDrawable.INSET_UNDEFINED" class="hiddenlink" target="rightframe">INSET_UNDEFINED</A>
+</nobr><br>
+<!-- Method installKeyPair -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.installKeyPair_added(android.content.ComponentName, java.security.PrivateKey, java.security.cert.Certificate[], java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>installKeyPair</b>
+(<code>ComponentName, PrivateKey, Certificate[], String, boolean</code>)</A></nobr><br>
+<!-- Constructor InternalError -->
+<i>InternalError</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.InternalError.html#java.lang.InternalError.ctor_added(java.lang.String, java.lang.Throwable)" class="hiddenlink" target="rightframe"><b>InternalError</b>
+(<code>String, Throwable</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor InternalError -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.InternalError.html#java.lang.InternalError.ctor_added(java.lang.Throwable)" class="hiddenlink" target="rightframe"><b>InternalError</b>
+(<code>Throwable</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class IntProperty -->
+<A HREF="pkg_android.util.html#IntProperty" class="hiddenlink" target="rightframe"><b>IntProperty</b></A><br>
+<!-- Method ints -->
+<i>ints</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.ints_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method ints -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.ints_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method ints -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.ints_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method ints -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.ints_added(long, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, int, int</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Class IntSummaryStatistics -->
+<A HREF="pkg_java.util.html#IntSummaryStatistics" class="hiddenlink" target="rightframe"><b>IntSummaryStatistics</b></A><br>
+<!-- Field INVALID_SUBSCRIPTION_ID -->
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">INVALID_SUBSCRIPTION_ID</A>
+</nobr><br>
+<!-- Method isAdditionalInfoSupported -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.isAdditionalInfoSupported_added()" class="hiddenlink" target="rightframe"><b>isAdditionalInfoSupported</b>
+()</A></nobr><br>
+<!-- Method isApplicationUid -->
+<nobr><A HREF="android.os.Process.html#android.os.Process.isApplicationUid_added(int)" class="hiddenlink" target="rightframe"><b>isApplicationUid</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method isAppProvidedWebUri -->
+<nobr><A HREF="android.app.assist.AssistContent.html#android.app.assist.AssistContent.isAppProvidedWebUri_added()" class="hiddenlink" target="rightframe"><b>isAppProvidedWebUri</b>
+()</A></nobr><br>
+<!-- Method isCallerApplicationRestrictionsManagingPackage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage_added()" class="hiddenlink" target="rightframe"><b>isCallerApplicationRestrictionsManagingPackage</b>
+()</A></nobr><br>
+<!-- Method isCanonical -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.isCanonical_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>isCanonical</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method isChannelUri -->
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.isChannelUri_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isChannelUri</b>
+(<code>Uri</code>)</A></nobr><br>
+<!-- Method isChannelUriForPassthroughInput -->
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.isChannelUriForPassthroughInput_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isChannelUriForPassthroughInput</b>
+(<code>Uri</code>)</A></nobr><br>
+<!-- Method isChannelUriForTunerInput -->
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.isChannelUriForTunerInput_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isChannelUriForTunerInput</b>
+(<code>Uri</code>)</A></nobr><br>
+<!-- Method isCleartextTrafficPermitted -->
+<nobr><A HREF="android.security.NetworkSecurityPolicy.html#android.security.NetworkSecurityPolicy.isCleartextTrafficPermitted_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>isCleartextTrafficPermitted</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method isCountDown -->
+<nobr><A HREF="android.widget.Chronometer.html#android.widget.Chronometer.isCountDown_added()" class="hiddenlink" target="rightframe"><b>isCountDown</b>
+()</A></nobr><br>
+<!-- Method isDefault -->
+<nobr><A HREF="java.lang.reflect.Method.html#java.lang.reflect.Method.isDefault_added()" class="hiddenlink" target="rightframe"><b>isDefault</b>
+()</A></nobr><br>
+<!-- Method isDeviceProtectedStorage -->
+<i>isDeviceProtectedStorage</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.isDeviceProtectedStorage_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method isDeviceProtectedStorage -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.isDeviceProtectedStorage_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method isDeviceProtectedStorage -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.isDeviceProtectedStorage_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Method isDynamicSensor -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.isDynamicSensor_added()" class="hiddenlink" target="rightframe"><b>isDynamicSensor</b>
+()</A></nobr><br>
+<!-- Method isDynamicSensorDiscoverySupported -->
+<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.isDynamicSensorDiscoverySupported_added()" class="hiddenlink" target="rightframe"><b>isDynamicSensorDiscoverySupported</b>
+()</A></nobr><br>
+<!-- Method isEncrypted -->
+<nobr><A HREF="android.os.storage.StorageManager.html#android.os.storage.StorageManager.isEncrypted_added(java.io.File)" class="hiddenlink" target="rightframe"><b>isEncrypted</b>
+(<code>File</code>)</A></nobr><br>
+<!-- Method isEnterpriseDirectoryId -->
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.isEnterpriseDirectoryId_added(long)" class="hiddenlink" target="rightframe"><b>isEnterpriseDirectoryId</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Method isEventSupported -->
+<nobr><A HREF="android.mtp.MtpDeviceInfo.html#android.mtp.MtpDeviceInfo.isEventSupported_added(int)" class="hiddenlink" target="rightframe"><b>isEventSupported</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method isFinite -->
+<i>isFinite</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.isFinite_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+<!-- Method isFinite -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.isFinite_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+<!-- Method isGroup -->
+<nobr><A HREF="android.service.notification.StatusBarNotification.html#android.service.notification.StatusBarNotification.isGroup_added()" class="hiddenlink" target="rightframe"><b>isGroup</b>
+()</A></nobr><br>
+<!-- Method isHidden -->
+<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.isHidden_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>isHidden</b>
+(<code>Context</code>)</A></nobr><br>
+<!-- Method isHttpOnly -->
+<nobr><A HREF="java.net.HttpCookie.html#java.net.HttpCookie.isHttpOnly_added()" class="hiddenlink" target="rightframe"><b>isHttpOnly</b>
+()</A></nobr><br>
+<!-- Method isImportantForAccessibility -->
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.isImportantForAccessibility_added()" class="hiddenlink" target="rightframe"><b>isImportantForAccessibility</b>
+()</A></nobr><br>
+<!-- Method isInMultiWindowMode -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.isInMultiWindowMode_added()" class="hiddenlink" target="rightframe"><b>isInMultiWindowMode</b>
+()</A></nobr><br>
+<!-- Method isInPictureInPictureMode -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.isInPictureInPictureMode_added()" class="hiddenlink" target="rightframe"><b>isInPictureInPictureMode</b>
+()</A></nobr><br>
+<!-- Method isInvalidatedByBiometricEnrollment -->
+<i>isInvalidatedByBiometricEnrollment</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.html#android.security.keystore.KeyGenParameterSpec.isInvalidatedByBiometricEnrollment_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyGenParameterSpec
+</A></nobr><br>
+<!-- Method isInvalidatedByBiometricEnrollment -->
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyInfo.html#android.security.keystore.KeyInfo.isInvalidatedByBiometricEnrollment_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyInfo
+</A></nobr><br>
+<!-- Method isInvalidatedByBiometricEnrollment -->
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyProtection.html#android.security.keystore.KeyProtection.isInvalidatedByBiometricEnrollment_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyProtection
+</A></nobr><br>
+<!-- Method isLocalVoiceInteractionSupported -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.isLocalVoiceInteractionSupported_added()" class="hiddenlink" target="rightframe"><b>isLocalVoiceInteractionSupported</b>
+()</A></nobr><br>
+<!-- Method isManagedProfile -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isManagedProfile_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>isManagedProfile</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method isNull -->
+<nobr><A HREF="java.util.Objects.html#java.util.Objects.isNull_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>isNull</b>
+(<code>Object</code>)</A></nobr><br>
+<!-- Method isOperationSupported -->
+<nobr><A HREF="android.mtp.MtpDeviceInfo.html#android.mtp.MtpDeviceInfo.isOperationSupported_added(int)" class="hiddenlink" target="rightframe"><b>isOperationSupported</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method isPackageSuspended -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isPackageSuspended_added(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe"><b>isPackageSuspended</b>
+(<code>ComponentName, String</code>)</A></nobr><br>
+<!-- Method isProgramUri -->
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.isProgramUri_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isProgramUri</b>
+(<code>Uri</code>)</A></nobr><br>
+<!-- Method isProvisioningAllowed -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isProvisioningAllowed_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>isProvisioningAllowed</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method isQuietModeEnabled -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.isQuietModeEnabled_added(android.os.UserHandle)" class="hiddenlink" target="rightframe"><b>isQuietModeEnabled</b>
+(<code>UserHandle</code>)</A></nobr><br>
+<!-- Method isRedirect -->
+<nobr><A HREF="android.webkit.WebResourceRequest.html#android.webkit.WebResourceRequest.isRedirect_added()" class="hiddenlink" target="rightframe"><b>isRedirect</b>
+()</A></nobr><br>
+<!-- Method isRemoteDirectoryId -->
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.isRemoteDirectoryId_added(long)" class="hiddenlink" target="rightframe"><b>isRemoteDirectoryId</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Method isSecurityLoggingEnabled -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isSecurityLoggingEnabled_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>isSecurityLoggingEnabled</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method isSetWallpaperAllowed -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.isSetWallpaperAllowed_added()" class="hiddenlink" target="rightframe"><b>isSetWallpaperAllowed</b>
+()</A></nobr><br>
+<!-- Method isStorageDefault -->
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.isStorageDefault_added()" class="hiddenlink" target="rightframe"><b>isStorageDefault</b>
+()</A></nobr><br>
+<!-- Method isStorageDeviceProtected -->
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.isStorageDeviceProtected_added()" class="hiddenlink" target="rightframe"><b>isStorageDeviceProtected</b>
+()</A></nobr><br>
+<!-- Method isSustainedPerformanceModeSupported -->
+<nobr><A HREF="android.os.PowerManager.html#android.os.PowerManager.isSustainedPerformanceModeSupported_added()" class="hiddenlink" target="rightframe"><b>isSustainedPerformanceModeSupported</b>
+()</A></nobr><br>
+<!-- Method isTemporarilyDetached -->
+<nobr><A HREF="android.view.View.html#android.view.View.isTemporarilyDetached_added()" class="hiddenlink" target="rightframe"><b>isTemporarilyDetached</b>
+()</A></nobr><br>
+<!-- Method isTreeUri -->
+<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.isTreeUri_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isTreeUri</b>
+(<code>Uri</code>)</A></nobr><br>
+<!-- Method isUserAuthenticationValidWhileOnBody -->
+<i>isUserAuthenticationValidWhileOnBody</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.html#android.security.keystore.KeyGenParameterSpec.isUserAuthenticationValidWhileOnBody_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyGenParameterSpec
+</A></nobr><br>
+<!-- Method isUserAuthenticationValidWhileOnBody -->
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyInfo.html#android.security.keystore.KeyInfo.isUserAuthenticationValidWhileOnBody_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyInfo
+</A></nobr><br>
+<!-- Method isUserAuthenticationValidWhileOnBody -->
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyProtection.html#android.security.keystore.KeyProtection.isUserAuthenticationValidWhileOnBody_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyProtection
+</A></nobr><br>
+<!-- Method isUserUnlocked -->
+<i>isUserUnlocked</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.isUserUnlocked_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.os.UserManager
+</A></nobr><br>
+<!-- Method isUserUnlocked -->
+&nbsp;&nbsp;<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.isUserUnlocked_added(android.os.UserHandle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UserHandle</code>)</b>&nbsp;in&nbsp;android.os.UserManager
+</A></nobr><br>
+<!-- Method isVoicemailVibrationEnabled -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.isVoicemailVibrationEnabled_added(android.telecom.PhoneAccountHandle)" class="hiddenlink" target="rightframe"><b>isVoicemailVibrationEnabled</b>
+(<code>PhoneAccountHandle</code>)</A></nobr><br>
+<!-- Method isWeekDateSupported -->
+<i>isWeekDateSupported</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Calendar.html#java.util.Calendar.isWeekDateSupported_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Calendar
+</A></nobr><br>
+<!-- Method isWeekDateSupported -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.GregorianCalendar.html#java.util.GregorianCalendar.isWeekDateSupported_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.GregorianCalendar
+</A></nobr><br>
+<!-- Package java.util.function -->
+<A NAME="J"></A>
+<A HREF="changes-summary.html#java.util.function" class="hiddenlink" target="rightframe"><b>java.util.function</b></A><br>
+<!-- Package java.util.stream -->
+<A HREF="changes-summary.html#java.util.stream" class="hiddenlink" target="rightframe"><b>java.util.stream</b></A><br>
+<!-- Class JobInfo.TriggerContentUri -->
+<A HREF="pkg_android.app.job.html#JobInfo.TriggerContentUri" class="hiddenlink" target="rightframe"><b>JobInfo.TriggerContentUri</b></A><br>
+<!-- Field KEY_ALLOW_ADDING_APNS_BOOL -->
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL" class="hiddenlink" target="rightframe">KEY_ALLOW_ADDING_APNS_BOOL</A>
+</nobr><br>
+<!-- Field KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL" class="hiddenlink" target="rightframe">KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL</A>
+</nobr><br>
+<!-- Field KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL" class="hiddenlink" target="rightframe">KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL</A>
+</nobr><br>
+<!-- Field KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL" class="hiddenlink" target="rightframe">KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_IMS_GBA_REQUIRED_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_IMS_GBA_REQUIRED_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_IMS_GBA_REQUIRED_BOOL</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL</A>
+</nobr><br>
+<!-- Field KEY_CDMA_DTMF_TONE_DELAY_INT -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CDMA_DTMF_TONE_DELAY_INT" class="hiddenlink" target="rightframe">KEY_CDMA_DTMF_TONE_DELAY_INT</A>
+</nobr><br>
+<!-- Field KEY_CI_ACTION_ON_SYS_UPDATE_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_BOOL" class="hiddenlink" target="rightframe">KEY_CI_ACTION_ON_SYS_UPDATE_BOOL</A>
+</nobr><br>
+<!-- Field KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING" class="hiddenlink" target="rightframe">KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING</A>
+</nobr><br>
+<!-- Field KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING" class="hiddenlink" target="rightframe">KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING</A>
+</nobr><br>
+<!-- Field KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING" class="hiddenlink" target="rightframe">KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING</A>
+</nobr><br>
+<!-- Field KEY_COLOR_RANGE -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_COLOR_RANGE" class="hiddenlink" target="rightframe">KEY_COLOR_RANGE</A>
+</nobr><br>
+<!-- Field KEY_COLOR_STANDARD -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_COLOR_STANDARD" class="hiddenlink" target="rightframe">KEY_COLOR_STANDARD</A>
+</nobr><br>
+<!-- Field KEY_COLOR_TRANSFER -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_COLOR_TRANSFER" class="hiddenlink" target="rightframe">KEY_COLOR_TRANSFER</A>
+</nobr><br>
+<!-- Field KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT" class="hiddenlink" target="rightframe">KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT</A>
+</nobr><br>
+<!-- Field KEY_EDITABLE_ENHANCED_4G_LTE_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_EDITABLE_ENHANCED_4G_LTE_BOOL" class="hiddenlink" target="rightframe">KEY_EDITABLE_ENHANCED_4G_LTE_BOOL</A>
+</nobr><br>
+<!-- Field KEY_GSM_DTMF_TONE_DELAY_INT -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_GSM_DTMF_TONE_DELAY_INT" class="hiddenlink" target="rightframe">KEY_GSM_DTMF_TONE_DELAY_INT</A>
+</nobr><br>
+<!-- Field KEY_HDR_STATIC_INFO -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_HDR_STATIC_INFO" class="hiddenlink" target="rightframe">KEY_HDR_STATIC_INFO</A>
+</nobr><br>
+<!-- Field KEY_HIDE_IMS_APN_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_HIDE_IMS_APN_BOOL" class="hiddenlink" target="rightframe">KEY_HIDE_IMS_APN_BOOL</A>
+</nobr><br>
+<!-- Field KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL" class="hiddenlink" target="rightframe">KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL</A>
+</nobr><br>
+<!-- Field KEY_IMS_DTMF_TONE_DELAY_INT -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_IMS_DTMF_TONE_DELAY_INT" class="hiddenlink" target="rightframe">KEY_IMS_DTMF_TONE_DELAY_INT</A>
+</nobr><br>
+<!-- Field KEY_INTRA_REFRESH_PERIOD -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_INTRA_REFRESH_PERIOD" class="hiddenlink" target="rightframe">KEY_INTRA_REFRESH_PERIOD</A>
+</nobr><br>
+<!-- Field KEY_PCM_ENCODING -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_PCM_ENCODING" class="hiddenlink" target="rightframe">KEY_PCM_ENCODING</A>
+</nobr><br>
+<!-- Field KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL" class="hiddenlink" target="rightframe">KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL</A>
+</nobr><br>
+<!-- Field KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL" class="hiddenlink" target="rightframe">KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL</A>
+</nobr><br>
+<!-- Field KEY_SUPPORT_CONFERENCE_CALL_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_SUPPORT_CONFERENCE_CALL_BOOL" class="hiddenlink" target="rightframe">KEY_SUPPORT_CONFERENCE_CALL_BOOL</A>
+</nobr><br>
+<!-- Field KEY_TRACK_ID -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_TRACK_ID" class="hiddenlink" target="rightframe">KEY_TRACK_ID</A>
+</nobr><br>
+<!-- Field KEY_USE_RCS_PRESENCE_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL" class="hiddenlink" target="rightframe">KEY_USE_RCS_PRESENCE_BOOL</A>
+</nobr><br>
+<!-- Field KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL" class="hiddenlink" target="rightframe">KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL</A>
+</nobr><br>
+<!-- Field KEY_VVM_PREFETCH_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_VVM_PREFETCH_BOOL" class="hiddenlink" target="rightframe">KEY_VVM_PREFETCH_BOOL</A>
+</nobr><br>
+<!-- Class KeyboardShortcutGroup -->
+<A HREF="pkg_android.view.html#KeyboardShortcutGroup" class="hiddenlink" target="rightframe"><b>KeyboardShortcutGroup</b></A><br>
+<!-- Class KeyboardShortcutInfo -->
+<A HREF="pkg_android.view.html#KeyboardShortcutInfo" class="hiddenlink" target="rightframe"><b>KeyboardShortcutInfo</b></A><br>
+<!-- Field KEYCODE_COPY -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_COPY" class="hiddenlink" target="rightframe">KEYCODE_COPY</A>
+</nobr><br>
+<!-- Field KEYCODE_CUT -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_CUT" class="hiddenlink" target="rightframe">KEYCODE_CUT</A>
+</nobr><br>
+<!-- Field KEYCODE_DPAD_DOWN_LEFT -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_DPAD_DOWN_LEFT" class="hiddenlink" target="rightframe">KEYCODE_DPAD_DOWN_LEFT</A>
+</nobr><br>
+<!-- Field KEYCODE_DPAD_DOWN_RIGHT -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_DPAD_DOWN_RIGHT" class="hiddenlink" target="rightframe">KEYCODE_DPAD_DOWN_RIGHT</A>
+</nobr><br>
+<!-- Field KEYCODE_DPAD_UP_LEFT -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_DPAD_UP_LEFT" class="hiddenlink" target="rightframe">KEYCODE_DPAD_UP_LEFT</A>
+</nobr><br>
+<!-- Field KEYCODE_DPAD_UP_RIGHT -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_DPAD_UP_RIGHT" class="hiddenlink" target="rightframe">KEYCODE_DPAD_UP_RIGHT</A>
+</nobr><br>
+<!-- Field KEYCODE_PASTE -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_PASTE" class="hiddenlink" target="rightframe">KEYCODE_PASTE</A>
+</nobr><br>
+<!-- Field KEYCODE_SOFT_SLEEP -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_SOFT_SLEEP" class="hiddenlink" target="rightframe">KEYCODE_SOFT_SLEEP</A>
+</nobr><br>
+<!-- Field KEYCODE_STEM_1 -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_STEM_1" class="hiddenlink" target="rightframe">KEYCODE_STEM_1</A>
+</nobr><br>
+<!-- Field KEYCODE_STEM_2 -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_STEM_2" class="hiddenlink" target="rightframe">KEYCODE_STEM_2</A>
+</nobr><br>
+<!-- Field KEYCODE_STEM_3 -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_STEM_3" class="hiddenlink" target="rightframe">KEYCODE_STEM_3</A>
+</nobr><br>
+<!-- Field KEYCODE_STEM_PRIMARY -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_STEM_PRIMARY" class="hiddenlink" target="rightframe">KEYCODE_STEM_PRIMARY</A>
+</nobr><br>
+<!-- Field KEYGUARD_DISABLE_REMOTE_INPUT -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_REMOTE_INPUT" class="hiddenlink" target="rightframe">KEYGUARD_DISABLE_REMOTE_INPUT</A>
+</nobr><br>
+<!-- Method keySet -->
+<i>keySet</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.SortedMap.html#java.util.SortedMap.keySet_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.SortedMap
+</A></nobr><br>
+<!-- Method keySet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.keySet_added(V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>V</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Field languageTag -->
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.languageTag" class="hiddenlink" target="rightframe">languageTag</A>
+</nobr><br>
+<!-- Field LAST_MODIFIED -->
+<i>LAST_MODIFIED</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.LAST_MODIFIED" class="hiddenlink" target="rightframe">android.provider.CallLog.Calls</A>
+</nobr><br>
+<!-- Field LAST_MODIFIED -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.VoicemailContract.Voicemails.html#android.provider.VoicemailContract.Voicemails.LAST_MODIFIED" class="hiddenlink" target="rightframe">android.provider.VoicemailContract.Voicemails</A>
+</nobr><br>
+<!-- Field level -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.level" class="hiddenlink" target="rightframe">level</A>
+</nobr><br>
+<!-- Method lines -->
+<nobr><A HREF="java.io.BufferedReader.html#java.io.BufferedReader.lines_added()" class="hiddenlink" target="rightframe"><b>lines</b>
+()</A></nobr><br>
+<!-- Field list_container -->
+<nobr><A HREF="android.R.id.html#android.R.id.list_container" class="hiddenlink" target="rightframe">list_container</A>
+</nobr><br>
+<!-- Field listMenuViewStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.listMenuViewStyle" class="hiddenlink" target="rightframe">listMenuViewStyle</A>
+</nobr><br>
+<!-- Method loadCustomLabel -->
+<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.loadCustomLabel_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>loadCustomLabel</b>
+(<code>Context</code>)</A></nobr><br>
+<!-- Class Locale.Category -->
+<A HREF="pkg_java.util.html#Locale.Category" class="hiddenlink" target="rightframe"><b>Locale.Category</b></A><br>
+<!-- Class LocaleList -->
+<A HREF="pkg_android.os.html#LocaleList" class="hiddenlink" target="rightframe"><b>LocaleList</b></A><br>
+<!-- Constructor LocaleSpan -->
+<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.ctor_added(android.os.LocaleList)" class="hiddenlink" target="rightframe"><b>LocaleSpan</b>
+(<code>LocaleList</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Method logicalAnd -->
+<nobr><A HREF="java.lang.Boolean.html#java.lang.Boolean.logicalAnd_added(boolean, boolean)" class="hiddenlink" target="rightframe"><b>logicalAnd</b>
+(<code>boolean, boolean</code>)</A></nobr><br>
+<!-- Method logicalOr -->
+<nobr><A HREF="java.lang.Boolean.html#java.lang.Boolean.logicalOr_added(boolean, boolean)" class="hiddenlink" target="rightframe"><b>logicalOr</b>
+(<code>boolean, boolean</code>)</A></nobr><br>
+<!-- Method logicalXor -->
+<nobr><A HREF="java.lang.Boolean.html#java.lang.Boolean.logicalXor_added(boolean, boolean)" class="hiddenlink" target="rightframe"><b>logicalXor</b>
+(<code>boolean, boolean</code>)</A></nobr><br>
+<!-- Class LongAccumulator -->
+<A HREF="pkg_java.util.concurrent.atomic.html#LongAccumulator" class="hiddenlink" target="rightframe"><b>LongAccumulator</b></A><br>
+<!-- Class LongAdder -->
+<A HREF="pkg_java.util.concurrent.atomic.html#LongAdder" class="hiddenlink" target="rightframe"><b>LongAdder</b></A><br>
+<!-- Method longs -->
+<i>longs</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.longs_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method longs -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.longs_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method longs -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.longs_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method longs -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.longs_added(long, long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long, long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Class LongSummaryStatistics -->
+<A HREF="pkg_java.util.html#LongSummaryStatistics" class="hiddenlink" target="rightframe"><b>LongSummaryStatistics</b></A><br>
+<!-- Method luminance -->
+<nobr><A HREF="android.graphics.Color.html#android.graphics.Color.luminance_added(int)" class="hiddenlink" target="rightframe"><b>luminance</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method mappingCount -->
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.mappingCount_added()" class="hiddenlink" target="rightframe"><b>mappingCount</b>
+()</A></nobr><br>
+<!-- Field MATCH_DIRECT_BOOT_AWARE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE" class="hiddenlink" target="rightframe">MATCH_DIRECT_BOOT_AWARE</A>
+</nobr><br>
+<!-- Field MATCH_DIRECT_BOOT_UNAWARE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE" class="hiddenlink" target="rightframe">MATCH_DIRECT_BOOT_UNAWARE</A>
+</nobr><br>
+<!-- Field MATCH_DISABLED_COMPONENTS -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_DISABLED_COMPONENTS" class="hiddenlink" target="rightframe">MATCH_DISABLED_COMPONENTS</A>
+</nobr><br>
+<!-- Field MATCH_DISABLED_UNTIL_USED_COMPONENTS -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS" class="hiddenlink" target="rightframe">MATCH_DISABLED_UNTIL_USED_COMPONENTS</A>
+</nobr><br>
+<!-- Field MATCH_SYSTEM_ONLY -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_SYSTEM_ONLY" class="hiddenlink" target="rightframe">MATCH_SYSTEM_ONLY</A>
+</nobr><br>
+<!-- Field MATCH_UNINSTALLED_PACKAGES -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_UNINSTALLED_PACKAGES" class="hiddenlink" target="rightframe">MATCH_UNINSTALLED_PACKAGES</A>
+</nobr><br>
+<!-- Method max -->
+<i>max</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.max_added(double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double, double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+<!-- Method max -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.max_added(float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float, float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+<!-- Method max -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Integer.html#java.lang.Integer.max_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Integer
+</A></nobr><br>
+<!-- Method max -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Long.html#java.lang.Long.max_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Long
+</A></nobr><br>
+<!-- Field maxButtonHeight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.maxButtonHeight" class="hiddenlink" target="rightframe">maxButtonHeight</A>
+</nobr><br>
+<!-- Class MediaCodec.CryptoInfo.Pattern -->
+<A HREF="pkg_android.media.html#MediaCodec.CryptoInfo.Pattern" class="hiddenlink" target="rightframe"><b>MediaCodec.CryptoInfo.Pattern</b></A><br>
+<!-- Field MENU_ITEM_NONE -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.MENU_ITEM_NONE" class="hiddenlink" target="rightframe">MENU_ITEM_NONE</A>
+</nobr><br>
+<!-- Field MENU_ITEM_PROCESS_TEXT -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.MENU_ITEM_PROCESS_TEXT" class="hiddenlink" target="rightframe">MENU_ITEM_PROCESS_TEXT</A>
+</nobr><br>
+<!-- Field MENU_ITEM_SHARE -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.MENU_ITEM_SHARE" class="hiddenlink" target="rightframe">MENU_ITEM_SHARE</A>
+</nobr><br>
+<!-- Field MENU_ITEM_WEB_SEARCH -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.MENU_ITEM_WEB_SEARCH" class="hiddenlink" target="rightframe">MENU_ITEM_WEB_SEARCH</A>
+</nobr><br>
+<!-- Method merge -->
+<i>merge</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method merge -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method merge -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method merge -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<!-- Field METADATA_ACCOUNT_TYPE -->
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.METADATA_ACCOUNT_TYPE" class="hiddenlink" target="rightframe">METADATA_ACCOUNT_TYPE</A>
+</nobr><br>
+<!-- Field METADATA_DIRTY -->
+<nobr><A HREF="android.provider.ContactsContract.RawContactsColumns.html#android.provider.ContactsContract.RawContactsColumns.METADATA_DIRTY" class="hiddenlink" target="rightframe">METADATA_DIRTY</A>
+</nobr><br>
+<!-- Field METADATA_IN_CALL_SERVICE_RINGING -->
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.METADATA_IN_CALL_SERVICE_RINGING" class="hiddenlink" target="rightframe">METADATA_IN_CALL_SERVICE_RINGING</A>
+</nobr><br>
+<!-- Field METADATA_MIMETYPE -->
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.METADATA_MIMETYPE" class="hiddenlink" target="rightframe">METADATA_MIMETYPE</A>
+</nobr><br>
+<!-- Field MIMETYPE_VIDEO_DOLBY_VISION -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.MIMETYPE_VIDEO_DOLBY_VISION" class="hiddenlink" target="rightframe">MIMETYPE_VIDEO_DOLBY_VISION</A>
+</nobr><br>
+<!-- Method min -->
+<i>min</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.min_added(double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double, double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+<!-- Method min -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.min_added(float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float, float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+<!-- Method min -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Integer.html#java.lang.Integer.min_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Integer
+</A></nobr><br>
+<!-- Method min -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Long.html#java.lang.Long.min_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Long
+</A></nobr><br>
+<!-- Field minSdkVersion -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.minSdkVersion" class="hiddenlink" target="rightframe">minSdkVersion</A>
+</nobr><br>
+<!-- Field MODE_NO_LOCALIZED_COLLATORS -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.MODE_NO_LOCALIZED_COLLATORS" class="hiddenlink" target="rightframe">MODE_NO_LOCALIZED_COLLATORS</A>
+</nobr><br>
+<!-- Method moveDatabaseFrom -->
+<i>moveDatabaseFrom</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.moveDatabaseFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method moveDatabaseFrom -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.moveDatabaseFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method moveDatabaseFrom -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.moveDatabaseFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Method moveDocument -->
+<i>moveDocument</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.moveDocument_added(android.content.ContentResolver, android.net.Uri, android.net.Uri, android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, Uri, Uri, Uri</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsContract
+</A></nobr><br>
+<!-- Method moveDocument -->
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.moveDocument_added(java.lang.String, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String, String</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsProvider
+</A></nobr><br>
+<!-- Method moveSharedPreferencesFrom -->
+<i>moveSharedPreferencesFrom</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.moveSharedPreferencesFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method moveSharedPreferencesFrom -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.moveSharedPreferencesFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method moveSharedPreferencesFrom -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.moveSharedPreferencesFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Field MPEG2LevelHP -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG2LevelHP" class="hiddenlink" target="rightframe">MPEG2LevelHP</A>
+</nobr><br>
+<!-- Field MPEG4Level3b -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level3b" class="hiddenlink" target="rightframe">MPEG4Level3b</A>
+</nobr><br>
+<!-- Field MPEG4Level6 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level6" class="hiddenlink" target="rightframe">MPEG4Level6</A>
+</nobr><br>
+<!-- Class MtpEvent -->
+<A HREF="pkg_android.mtp.html#MtpEvent" class="hiddenlink" target="rightframe"><b>MtpEvent</b></A><br>
+<!-- Class MtpObjectInfo.Builder -->
+<A HREF="pkg_android.mtp.html#MtpObjectInfo.Builder" class="hiddenlink" target="rightframe"><b>MtpObjectInfo.Builder</b></A><br>
+<!-- Method multiplyExact -->
+<i>multiplyExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.multiplyExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method multiplyExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.multiplyExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method multiplyExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.multiplyExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method multiplyExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.multiplyExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Field N -->
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.N" class="hiddenlink" target="rightframe">N</A>
+</nobr><br>
+<!-- Method naturalOrder -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.naturalOrder_added()" class="hiddenlink" target="rightframe"><b>naturalOrder</b>
+()</A></nobr><br>
+<!-- Method negateExact -->
+<i>negateExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.negateExact_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method negateExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.negateExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Field NETWORK_TYPE_NOT_ROAMING -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.NETWORK_TYPE_NOT_ROAMING" class="hiddenlink" target="rightframe">NETWORK_TYPE_NOT_ROAMING</A>
+</nobr><br>
+<!-- Class NetworkChannel -->
+<A HREF="pkg_java.nio.channels.html#NetworkChannel" class="hiddenlink" target="rightframe"><b><i>NetworkChannel</i></b></A><br>
+<!-- Field networkSecurityConfig -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.networkSecurityConfig" class="hiddenlink" target="rightframe">networkSecurityConfig</A>
+</nobr><br>
+<!-- Class NetworkStatsManager.UsageCallback -->
+<A HREF="pkg_android.app.usage.html#NetworkStatsManager.UsageCallback" class="hiddenlink" target="rightframe"><b>NetworkStatsManager.UsageCallback</b></A><br>
+<!-- Method newKeySet -->
+<i>newKeySet</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.newKeySet_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method newKeySet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.newKeySet_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method newWorkStealingPool -->
+<i>newWorkStealingPool</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.Executors.html#java.util.concurrent.Executors.newWorkStealingPool_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.Executors
+</A></nobr><br>
+<!-- Method newWorkStealingPool -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.Executors.html#java.util.concurrent.Executors.newWorkStealingPool_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.util.concurrent.Executors
+</A></nobr><br>
+<!-- Method nextDown -->
+<i>nextDown</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.nextDown_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method nextDown -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.nextDown_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method nextDown -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.nextDown_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method nextDown -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.nextDown_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Class NfcAdapter.OnTagRemovedListener -->
+<A HREF="pkg_android.nfc.html#NfcAdapter.OnTagRemovedListener" class="hiddenlink" target="rightframe"><b><i>NfcAdapter.OnTagRemovedListener</i></b></A><br>
+<!-- Class NfcFCardEmulation -->
+<A HREF="pkg_android.nfc.cardemulation.html#NfcFCardEmulation" class="hiddenlink" target="rightframe"><b>NfcFCardEmulation</b></A><br>
+<!-- Method nonNull -->
+<nobr><A HREF="java.util.Objects.html#java.util.Objects.nonNull_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>nonNull</b>
+(<code>Object</code>)</A></nobr><br>
+<!-- Class Notification.DecoratedCustomViewStyle -->
+<A HREF="pkg_android.app.html#Notification.DecoratedCustomViewStyle" class="hiddenlink" target="rightframe"><b>Notification.DecoratedCustomViewStyle</b></A><br>
+<!-- Class Notification.DecoratedMediaCustomViewStyle -->
+<A HREF="pkg_android.app.html#Notification.DecoratedMediaCustomViewStyle" class="hiddenlink" target="rightframe"><b>Notification.DecoratedMediaCustomViewStyle</b></A><br>
+<!-- Class Notification.MessagingStyle -->
+<A HREF="pkg_android.app.html#Notification.MessagingStyle" class="hiddenlink" target="rightframe"><b>Notification.MessagingStyle</b></A><br>
+<!-- Class Notification.MessagingStyle.Message -->
+<A HREF="pkg_android.app.html#Notification.MessagingStyle.Message" class="hiddenlink" target="rightframe"><b>Notification.MessagingStyle.Message</b></A><br>
+<!-- Constructor NotificationManager.Policy -->
+<nobr><A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.ctor_added(int, int, int, int)" class="hiddenlink" target="rightframe"><b>NotificationManager.Policy</b>
+(<code>int, int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS" class="hiddenlink" target="rightframe">NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS</A>
+</nobr><br>
+<!-- Field NOTIFY_SYNC_TO_NETWORK -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.NOTIFY_SYNC_TO_NETWORK" class="hiddenlink" target="rightframe">NOTIFY_SYNC_TO_NETWORK</A>
+</nobr><br>
+<!-- Method notifyChange -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.notifyChange_added(android.net.Uri, android.database.ContentObserver, int)" class="hiddenlink" target="rightframe"><b>notifyChange</b>
+(<code>Uri, ContentObserver, int</code>)</A></nobr><br>
+<!-- Method notifyChildrenChanged -->
+<nobr><A HREF="android.service.media.MediaBrowserService.html#android.service.media.MediaBrowserService.notifyChildrenChanged_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>notifyChildrenChanged</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<!-- Method nullsFirst -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.nullsFirst_added(java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe"><b>nullsFirst</b>
+(<code>Comparator&lt;? super T&gt;</code>)</A></nobr><br>
+<!-- Method nullsLast -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.nullsLast_added(java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe"><b>nullsLast</b>
+(<code>Comparator&lt;? super T&gt;</code>)</A></nobr><br>
+<!-- Field numberPickerStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.numberPickerStyle" class="hiddenlink" target="rightframe">numberPickerStyle</A>
+</nobr><br>
+<!-- Class NumericShaper.Range -->
+<A HREF="pkg_java.awt.font.html#NumericShaper.Range" class="hiddenlink" target="rightframe"><b>NumericShaper.Range</b></A><br>
+<!-- Method observesDaylightTime -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.util.TimeZone.html#java.util.TimeZone.observesDaylightTime_added()" class="hiddenlink" target="rightframe"><b>observesDaylightTime</b>
+()</A></nobr><br>
+<!-- Field offset -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.offset" class="hiddenlink" target="rightframe">offset</A>
+</nobr><br>
+<!-- Method onAppPrivateCommand -->
+<nobr><A HREF="android.media.tv.TvInputService.Session.html#android.media.tv.TvInputService.Session.onAppPrivateCommand_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onAppPrivateCommand</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<!-- Method onAttachFragment -->
+<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onAttachFragment_added(android.app.Fragment)" class="hiddenlink" target="rightframe"><b>onAttachFragment</b>
+(<code>Fragment</code>)</A></nobr><br>
+<!-- Method onAudioAvailable -->
+<nobr><A HREF="android.speech.tts.UtteranceProgressListener.html#android.speech.tts.UtteranceProgressListener.onAudioAvailable_added(java.lang.String, byte[])" class="hiddenlink" target="rightframe"><b>onAudioAvailable</b>
+(<code>String, byte[]</code>)</A></nobr><br>
+<!-- Method onBeginSynthesis -->
+<nobr><A HREF="android.speech.tts.UtteranceProgressListener.html#android.speech.tts.UtteranceProgressListener.onBeginSynthesis_added(java.lang.String, int, int, int)" class="hiddenlink" target="rightframe"><b>onBeginSynthesis</b>
+(<code>String, int, int, int</code>)</A></nobr><br>
+<!-- Method onBugreportFailed -->
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onBugreportFailed_added(android.content.Context, android.content.Intent, int)" class="hiddenlink" target="rightframe"><b>onBugreportFailed</b>
+(<code>Context, Intent, int</code>)</A></nobr><br>
+<!-- Method onBugreportShared -->
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onBugreportShared_added(android.content.Context, android.content.Intent, java.lang.String)" class="hiddenlink" target="rightframe"><b>onBugreportShared</b>
+(<code>Context, Intent, String</code>)</A></nobr><br>
+<!-- Method onBugreportSharingDeclined -->
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onBugreportSharingDeclined_added(android.content.Context, android.content.Intent)" class="hiddenlink" target="rightframe"><b>onBugreportSharingDeclined</b>
+(<code>Context, Intent</code>)</A></nobr><br>
+<!-- Method onCaptureBufferLost -->
+<nobr><A HREF="android.hardware.camera2.CameraCaptureSession.CaptureCallback.html#android.hardware.camera2.CameraCaptureSession.CaptureCallback.onCaptureBufferLost_added(android.hardware.camera2.CameraCaptureSession, android.hardware.camera2.CaptureRequest, android.view.Surface, long)" class="hiddenlink" target="rightframe"><b>onCaptureBufferLost</b>
+(<code>CameraCaptureSession, CaptureRequest, Surface, long</code>)</A></nobr><br>
+<!-- Method onChildrenLoaded -->
+<nobr><A HREF="android.media.browse.MediaBrowser.SubscriptionCallback.html#android.media.browse.MediaBrowser.SubscriptionCallback.onChildrenLoaded_added(java.lang.String, java.util.List<android.media.browse.MediaBrowser.MediaItem>, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onChildrenLoaded</b>
+(<code>String, List&lt;MediaItem&gt;, Bundle</code>)</A></nobr><br>
+<!-- Method onCreateRecordingSession -->
+<nobr><A HREF="android.media.tv.TvInputService.html#android.media.tv.TvInputService.onCreateRecordingSession_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>onCreateRecordingSession</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method onError -->
+<nobr><A HREF="android.media.browse.MediaBrowser.SubscriptionCallback.html#android.media.browse.MediaBrowser.SubscriptionCallback.onError_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onError</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<!-- Method onHandleAssistSecondary -->
+<nobr><A HREF="android.service.voice.VoiceInteractionSession.html#android.service.voice.VoiceInteractionSession.onHandleAssistSecondary_added(android.os.Bundle, android.app.assist.AssistStructure, android.app.assist.AssistContent, int, int)" class="hiddenlink" target="rightframe"><b>onHandleAssistSecondary</b>
+(<code>Bundle, AssistStructure, AssistContent, int, int</code>)</A></nobr><br>
+<!-- Method onInputUpdated -->
+<nobr><A HREF="android.media.tv.TvInputManager.TvInputCallback.html#android.media.tv.TvInputManager.TvInputCallback.onInputUpdated_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>onInputUpdated</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method onListenerDisconnected -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.onListenerDisconnected_added()" class="hiddenlink" target="rightframe"><b>onListenerDisconnected</b>
+()</A></nobr><br>
+<!-- Method onLoadChildren -->
+<nobr><A HREF="android.service.media.MediaBrowserService.html#android.service.media.MediaBrowserService.onLoadChildren_added(java.lang.String, android.service.media.MediaBrowserService.Result<java.util.List<android.media.browse.MediaBrowser.MediaItem>>, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onLoadChildren</b>
+(<code>String, Result&lt;List&lt;MediaItem&gt;&gt;, Bundle</code>)</A></nobr><br>
+<!-- Method onLocalVoiceInteractionStarted -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onLocalVoiceInteractionStarted_added()" class="hiddenlink" target="rightframe"><b>onLocalVoiceInteractionStarted</b>
+()</A></nobr><br>
+<!-- Method onLocalVoiceInteractionStopped -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onLocalVoiceInteractionStopped_added()" class="hiddenlink" target="rightframe"><b>onLocalVoiceInteractionStopped</b>
+()</A></nobr><br>
+<!-- Method onMultiWindowModeChanged -->
+<i>onMultiWindowModeChanged</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onMultiWindowModeChanged_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+<!-- Method onMultiWindowModeChanged -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onMultiWindowModeChanged_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Fragment
+</A></nobr><br>
+<!-- Class OnNmeaMessageListener -->
+<A HREF="pkg_android.location.html#OnNmeaMessageListener" class="hiddenlink" target="rightframe"><b><i>OnNmeaMessageListener</i></b></A><br>
+<!-- Method onPackagesSuspended -->
+<nobr><A HREF="android.content.pm.LauncherApps.Callback.html#android.content.pm.LauncherApps.Callback.onPackagesSuspended_added(java.lang.String[], android.os.UserHandle)" class="hiddenlink" target="rightframe"><b>onPackagesSuspended</b>
+(<code>String[], UserHandle</code>)</A></nobr><br>
+<!-- Method onPackagesUnsuspended -->
+<nobr><A HREF="android.content.pm.LauncherApps.Callback.html#android.content.pm.LauncherApps.Callback.onPackagesUnsuspended_added(java.lang.String[], android.os.UserHandle)" class="hiddenlink" target="rightframe"><b>onPackagesUnsuspended</b>
+(<code>String[], UserHandle</code>)</A></nobr><br>
+<!-- Method onPictureInPictureModeChanged -->
+<i>onPictureInPictureModeChanged</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onPictureInPictureModeChanged_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+<!-- Method onPictureInPictureModeChanged -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onPictureInPictureModeChanged_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Fragment
+</A></nobr><br>
+<!-- Method onPrepare -->
+<nobr><A HREF="android.media.session.MediaSession.Callback.html#android.media.session.MediaSession.Callback.onPrepare_added()" class="hiddenlink" target="rightframe"><b>onPrepare</b>
+()</A></nobr><br>
+<!-- Method onPrepareFromMediaId -->
+<nobr><A HREF="android.media.session.MediaSession.Callback.html#android.media.session.MediaSession.Callback.onPrepareFromMediaId_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onPrepareFromMediaId</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<!-- Method onPrepareFromSearch -->
+<nobr><A HREF="android.media.session.MediaSession.Callback.html#android.media.session.MediaSession.Callback.onPrepareFromSearch_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onPrepareFromSearch</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<!-- Method onPrepareFromUri -->
+<nobr><A HREF="android.media.session.MediaSession.Callback.html#android.media.session.MediaSession.Callback.onPrepareFromUri_added(android.net.Uri, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onPrepareFromUri</b>
+(<code>Uri, Bundle</code>)</A></nobr><br>
+<!-- Method onProvideKeyboardShortcuts -->
+<nobr><A HREF="android.view.Window.Callback.html#android.view.Window.Callback.onProvideKeyboardShortcuts_added(java.util.List<android.view.KeyboardShortcutGroup>, android.view.Menu, int)" class="hiddenlink" target="rightframe"><b>onProvideKeyboardShortcuts</b>
+(<code>List&lt;KeyboardShortcutGroup&gt;, Menu, int</code>)</A></nobr><br>
+<!-- Method onQuotaExceeded -->
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.onQuotaExceeded_added(long, long)" class="hiddenlink" target="rightframe"><b>onQuotaExceeded</b>
+(<code>long, long</code>)</A></nobr><br>
+<!-- Method onReceiveTextSms -->
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.onReceiveTextSms_added(android.service.carrier.MessagePdu, java.lang.String, int, int, android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Integer>)" class="hiddenlink" target="rightframe"><b>onReceiveTextSms</b>
+(<code>MessagePdu, String, int, int, ResultCallback&lt;Integer&gt;</code>)</A></nobr><br>
+<!-- Method onReject -->
+<nobr><A HREF="android.telecom.Connection.html#android.telecom.Connection.onReject_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>onReject</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method onRequestCustomPrinterIcon -->
+<nobr><A HREF="android.printservice.PrinterDiscoverySession.html#android.printservice.PrinterDiscoverySession.onRequestCustomPrinterIcon_added(android.print.PrinterId, android.os.CancellationSignal, android.printservice.CustomPrinterIconCallback)" class="hiddenlink" target="rightframe"><b>onRequestCustomPrinterIcon</b>
+(<code>PrinterId, CancellationSignal, CustomPrinterIconCallback</code>)</A></nobr><br>
+<!-- Method onResolvePointerIcon -->
+<nobr><A HREF="android.view.View.html#android.view.View.onResolvePointerIcon_added(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe"><b>onResolvePointerIcon</b>
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<!-- Method onRoutingChanged -->
+<i>onRoutingChanged</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.OnRoutingChangedListener.html#android.media.AudioRecord.OnRoutingChangedListener.onRoutingChanged_added(android.media.AudioRouting)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AudioRouting</code>)</b>&nbsp;in&nbsp;android.media.AudioRecord.OnRoutingChangedListener
+</A></nobr><br>
+<!-- Method onRoutingChanged -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.OnRoutingChangedListener.html#android.media.AudioTrack.OnRoutingChangedListener.onRoutingChanged_added(android.media.AudioRouting)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AudioRouting</code>)</b>&nbsp;in&nbsp;android.media.AudioTrack.OnRoutingChangedListener
+</A></nobr><br>
+<!-- Method onSecurityLogsAvailable -->
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onSecurityLogsAvailable_added(android.content.Context, android.content.Intent)" class="hiddenlink" target="rightframe"><b>onSecurityLogsAvailable</b>
+(<code>Context, Intent</code>)</A></nobr><br>
+<!-- Method onSilenceRinger -->
+<nobr><A HREF="android.telecom.InCallService.html#android.telecom.InCallService.onSilenceRinger_added()" class="hiddenlink" target="rightframe"><b>onSilenceRinger</b>
+()</A></nobr><br>
+<!-- Method onStartIntentSenderFromFragment -->
+<nobr><A HREF="android.app.FragmentHostCallback.html#android.app.FragmentHostCallback.onStartIntentSenderFromFragment_added(android.app.Fragment, android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onStartIntentSenderFromFragment</b>
+(<code>Fragment, IntentSender, int, Intent, int, int, int, Bundle</code>)</A></nobr><br>
+<!-- Method onTimeShiftPlay -->
+<nobr><A HREF="android.media.tv.TvInputService.Session.html#android.media.tv.TvInputService.Session.onTimeShiftPlay_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>onTimeShiftPlay</b>
+(<code>Uri</code>)</A></nobr><br>
+<!-- Method onTune -->
+<nobr><A HREF="android.media.tv.TvInputService.Session.html#android.media.tv.TvInputService.Session.onTune_added(android.net.Uri, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onTune</b>
+(<code>Uri, Bundle</code>)</A></nobr><br>
+<!-- Method onTvInputInfoUpdated -->
+<nobr><A HREF="android.media.tv.TvInputManager.TvInputCallback.html#android.media.tv.TvInputManager.TvInputCallback.onTvInputInfoUpdated_added(android.media.tv.TvInputInfo)" class="hiddenlink" target="rightframe"><b>onTvInputInfoUpdated</b>
+(<code>TvInputInfo</code>)</A></nobr><br>
+<!-- Method onVisibilityAggregated -->
+<nobr><A HREF="android.view.View.html#android.view.View.onVisibilityAggregated_added(boolean)" class="hiddenlink" target="rightframe"><b>onVisibilityAggregated</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method open -->
+<nobr><A HREF="java.nio.channels.DatagramChannel.html#java.nio.channels.DatagramChannel.open_added(java.net.ProtocolFamily)" class="hiddenlink" target="rightframe"><b>open</b>
+(<code>ProtocolFamily</code>)</A></nobr><br>
+<!-- Method openDatagramChannel -->
+<nobr><A HREF="java.nio.channels.spi.SelectorProvider.html#java.nio.channels.spi.SelectorProvider.openDatagramChannel_added(java.net.ProtocolFamily)" class="hiddenlink" target="rightframe"><b>openDatagramChannel</b>
+(<code>ProtocolFamily</code>)</A></nobr><br>
+<!-- Method openTypedDocument -->
+<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.openTypedDocument_added(java.lang.String, java.lang.String, android.os.Bundle, android.os.CancellationSignal)" class="hiddenlink" target="rightframe"><b>openTypedDocument</b>
+(<code>String, String, Bundle, CancellationSignal</code>)</A></nobr><br>
+<!-- Field OPERATION_CLOSE_SESSION -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_CLOSE_SESSION" class="hiddenlink" target="rightframe">OPERATION_CLOSE_SESSION</A>
+</nobr><br>
+<!-- Field OPERATION_COPY_OBJECT -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_COPY_OBJECT" class="hiddenlink" target="rightframe">OPERATION_COPY_OBJECT</A>
+</nobr><br>
+<!-- Field OPERATION_DELETE_OBJECT -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_DELETE_OBJECT" class="hiddenlink" target="rightframe">OPERATION_DELETE_OBJECT</A>
+</nobr><br>
+<!-- Field OPERATION_FORMAT_STORE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_FORMAT_STORE" class="hiddenlink" target="rightframe">OPERATION_FORMAT_STORE</A>
+</nobr><br>
+<!-- Field OPERATION_GET_DEVICE_INFO -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_DEVICE_INFO" class="hiddenlink" target="rightframe">OPERATION_GET_DEVICE_INFO</A>
+</nobr><br>
+<!-- Field OPERATION_GET_DEVICE_PROP_DESC -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_DEVICE_PROP_DESC" class="hiddenlink" target="rightframe">OPERATION_GET_DEVICE_PROP_DESC</A>
+</nobr><br>
+<!-- Field OPERATION_GET_DEVICE_PROP_VALUE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_DEVICE_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_GET_DEVICE_PROP_VALUE</A>
+</nobr><br>
+<!-- Field OPERATION_GET_NUM_OBJECTS -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_NUM_OBJECTS" class="hiddenlink" target="rightframe">OPERATION_GET_NUM_OBJECTS</A>
+</nobr><br>
+<!-- Field OPERATION_GET_OBJECT -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT</A>
+</nobr><br>
+<!-- Field OPERATION_GET_OBJECT_HANDLES -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_HANDLES" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_HANDLES</A>
+</nobr><br>
+<!-- Field OPERATION_GET_OBJECT_INFO -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_INFO" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_INFO</A>
+</nobr><br>
+<!-- Field OPERATION_GET_OBJECT_PROP_DESC -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_PROP_DESC" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_PROP_DESC</A>
+</nobr><br>
+<!-- Field OPERATION_GET_OBJECT_PROP_VALUE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_PROP_VALUE</A>
+</nobr><br>
+<!-- Field OPERATION_GET_OBJECT_PROPS_SUPPORTED -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_PROPS_SUPPORTED" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_PROPS_SUPPORTED</A>
+</nobr><br>
+<!-- Field OPERATION_GET_OBJECT_REFERENCES -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_REFERENCES" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_REFERENCES</A>
+</nobr><br>
+<!-- Field OPERATION_GET_PARTIAL_OBJECT -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_PARTIAL_OBJECT" class="hiddenlink" target="rightframe">OPERATION_GET_PARTIAL_OBJECT</A>
+</nobr><br>
+<!-- Field OPERATION_GET_PARTIAL_OBJECT_64 -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_PARTIAL_OBJECT_64" class="hiddenlink" target="rightframe">OPERATION_GET_PARTIAL_OBJECT_64</A>
+</nobr><br>
+<!-- Field OPERATION_GET_STORAGE_I_DS -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_STORAGE_I_DS" class="hiddenlink" target="rightframe">OPERATION_GET_STORAGE_I_DS</A>
+</nobr><br>
+<!-- Field OPERATION_GET_STORAGE_INFO -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_STORAGE_INFO" class="hiddenlink" target="rightframe">OPERATION_GET_STORAGE_INFO</A>
+</nobr><br>
+<!-- Field OPERATION_GET_THUMB -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_THUMB" class="hiddenlink" target="rightframe">OPERATION_GET_THUMB</A>
+</nobr><br>
+<!-- Field OPERATION_INITIATE_CAPTURE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_INITIATE_CAPTURE" class="hiddenlink" target="rightframe">OPERATION_INITIATE_CAPTURE</A>
+</nobr><br>
+<!-- Field OPERATION_INITIATE_OPEN_CAPTURE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_INITIATE_OPEN_CAPTURE" class="hiddenlink" target="rightframe">OPERATION_INITIATE_OPEN_CAPTURE</A>
+</nobr><br>
+<!-- Field OPERATION_MOVE_OBJECT -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_MOVE_OBJECT" class="hiddenlink" target="rightframe">OPERATION_MOVE_OBJECT</A>
+</nobr><br>
+<!-- Field OPERATION_OPEN_SESSION -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_OPEN_SESSION" class="hiddenlink" target="rightframe">OPERATION_OPEN_SESSION</A>
+</nobr><br>
+<!-- Field OPERATION_POWER_DOWN -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_POWER_DOWN" class="hiddenlink" target="rightframe">OPERATION_POWER_DOWN</A>
+</nobr><br>
+<!-- Field OPERATION_RESET_DEVICE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_RESET_DEVICE" class="hiddenlink" target="rightframe">OPERATION_RESET_DEVICE</A>
+</nobr><br>
+<!-- Field OPERATION_RESET_DEVICE_PROP_VALUE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_RESET_DEVICE_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_RESET_DEVICE_PROP_VALUE</A>
+</nobr><br>
+<!-- Field OPERATION_SELF_TEST -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SELF_TEST" class="hiddenlink" target="rightframe">OPERATION_SELF_TEST</A>
+</nobr><br>
+<!-- Field OPERATION_SEND_OBJECT -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SEND_OBJECT" class="hiddenlink" target="rightframe">OPERATION_SEND_OBJECT</A>
+</nobr><br>
+<!-- Field OPERATION_SEND_OBJECT_INFO -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SEND_OBJECT_INFO" class="hiddenlink" target="rightframe">OPERATION_SEND_OBJECT_INFO</A>
+</nobr><br>
+<!-- Field OPERATION_SET_DEVICE_PROP_VALUE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SET_DEVICE_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_SET_DEVICE_PROP_VALUE</A>
+</nobr><br>
+<!-- Field OPERATION_SET_OBJECT_PROP_VALUE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SET_OBJECT_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_SET_OBJECT_PROP_VALUE</A>
+</nobr><br>
+<!-- Field OPERATION_SET_OBJECT_PROTECTION -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SET_OBJECT_PROTECTION" class="hiddenlink" target="rightframe">OPERATION_SET_OBJECT_PROTECTION</A>
+</nobr><br>
+<!-- Field OPERATION_SET_OBJECT_REFERENCES -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SET_OBJECT_REFERENCES" class="hiddenlink" target="rightframe">OPERATION_SET_OBJECT_REFERENCES</A>
+</nobr><br>
+<!-- Field OPERATION_SKIP -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SKIP" class="hiddenlink" target="rightframe">OPERATION_SKIP</A>
+</nobr><br>
+<!-- Field OPERATION_TERMINATE_OPEN_CAPTURE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_TERMINATE_OPEN_CAPTURE" class="hiddenlink" target="rightframe">OPERATION_TERMINATE_OPEN_CAPTURE</A>
+</nobr><br>
+<!-- Class Optional -->
+<A HREF="pkg_java.util.html#Optional" class="hiddenlink" target="rightframe"><b>Optional</b></A><br>
+<!-- Class OptionalDouble -->
+<A HREF="pkg_java.util.html#OptionalDouble" class="hiddenlink" target="rightframe"><b>OptionalDouble</b></A><br>
+<!-- Class OptionalInt -->
+<A HREF="pkg_java.util.html#OptionalInt" class="hiddenlink" target="rightframe"><b>OptionalInt</b></A><br>
+<!-- Class OptionalLong -->
+<A HREF="pkg_java.util.html#OptionalLong" class="hiddenlink" target="rightframe"><b>OptionalLong</b></A><br>
+<!-- Class OutputConfiguration -->
+<A HREF="pkg_android.hardware.camera2.params.html#OutputConfiguration" class="hiddenlink" target="rightframe"><b>OutputConfiguration</b></A><br>
+<!-- Method parallelPrefix -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>parallelPrefix</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(T[], int, int, java.util.function.BinaryOperator<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int, BinaryOperator&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelPrefix -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(T[], java.util.function.BinaryOperator<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], BinaryOperator&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelPrefix -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(double[], int, int, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], int, int, DoubleBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelPrefix -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(double[], java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], DoubleBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelPrefix -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(int[], int, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], int, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelPrefix -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(int[], java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelPrefix -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(long[], int, int, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], int, int, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelPrefix -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(long[], java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSetAll -->
+<i>parallelSetAll</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSetAll_added(T[], java.util.function.IntFunction<? extends T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], IntFunction&lt;? extends T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSetAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSetAll_added(double[], java.util.function.IntToDoubleFunction)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], IntToDoubleFunction</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSetAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSetAll_added(int[], java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSetAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSetAll_added(long[], java.util.function.IntToLongFunction)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], IntToLongFunction</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+<i>parallelSort</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(T[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(T[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(T[], int, int, java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int, Comparator&lt;? super T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(T[], java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], Comparator&lt;? super T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(byte[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>byte[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(byte[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>byte[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(double[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(double[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(float[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(float[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(int[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(int[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(long[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(long[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(short[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>short[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(short[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>short[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelStream -->
+<nobr><A HREF="java.util.Collection.html#java.util.Collection.parallelStream_added()" class="hiddenlink" target="rightframe"><b>parallelStream</b>
+()</A></nobr><br>
+<!-- Method pause -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.pause_added()" class="hiddenlink" target="rightframe"><b>pause</b>
+()</A></nobr><br>
+<!-- Method penaltyDeathOnFileUriExposure -->
+<nobr><A HREF="android.os.StrictMode.VmPolicy.Builder.html#android.os.StrictMode.VmPolicy.Builder.penaltyDeathOnFileUriExposure_added()" class="hiddenlink" target="rightframe"><b>penaltyDeathOnFileUriExposure</b>
+()</A></nobr><br>
+<!-- Method performContextClick -->
+<nobr><A HREF="android.view.View.html#android.view.View.performContextClick_added(float, float)" class="hiddenlink" target="rightframe"><b>performContextClick</b>
+(<code>float, float</code>)</A></nobr><br>
+<!-- Method performLongClick -->
+<nobr><A HREF="android.view.View.html#android.view.View.performLongClick_added(float, float)" class="hiddenlink" target="rightframe"><b>performLongClick</b>
+(<code>float, float</code>)</A></nobr><br>
+<!-- Method persistStringSet -->
+<nobr><A HREF="android.preference.Preference.html#android.preference.Preference.persistStringSet_added(java.util.Set<java.lang.String>)" class="hiddenlink" target="rightframe"><b>persistStringSet</b>
+(<code>Set&lt;String&gt;</code>)</A></nobr><br>
+<!-- Field PHONETIC_NAME_STYLE -->
+<i>PHONETIC_NAME_STYLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Organization.html#android.provider.ContactsContract.CommonDataKinds.Organization.PHONETIC_NAME_STYLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Organization</A>
+</nobr><br>
+<!-- Field PHONETIC_NAME_STYLE -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.StructuredName.html#android.provider.ContactsContract.CommonDataKinds.StructuredName.PHONETIC_NAME_STYLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.StructuredName</A>
+</nobr><br>
+<!-- Class PixelCopy -->
+<A HREF="pkg_android.view.html#PixelCopy" class="hiddenlink" target="rightframe"><b>PixelCopy</b></A><br>
+<!-- Class PixelCopy.OnPixelCopyFinishedListener -->
+<A HREF="pkg_android.view.html#PixelCopy.OnPixelCopyFinishedListener" class="hiddenlink" target="rightframe"><b><i>PixelCopy.OnPixelCopyFinishedListener</i></b></A><br>
+<!-- Class PKIXReason -->
+<A HREF="pkg_java.security.cert.html#PKIXReason" class="hiddenlink" target="rightframe"><b>PKIXReason</b></A><br>
+<!-- Class PKIXRevocationChecker -->
+<A HREF="pkg_java.security.cert.html#PKIXRevocationChecker" class="hiddenlink" target="rightframe"><b>PKIXRevocationChecker</b></A><br>
+<!-- Class PKIXRevocationChecker.Option -->
+<A HREF="pkg_java.security.cert.html#PKIXRevocationChecker.Option" class="hiddenlink" target="rightframe"><b>PKIXRevocationChecker.Option</b></A><br>
+<!-- Class PointerIcon -->
+<A HREF="pkg_android.view.html#PointerIcon" class="hiddenlink" target="rightframe"><b>PointerIcon</b></A><br>
+<!-- Field pointerIcon -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.pointerIcon" class="hiddenlink" target="rightframe">pointerIcon</A>
+</nobr><br>
+<!-- Field popupEnterTransition -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.popupEnterTransition" class="hiddenlink" target="rightframe">popupEnterTransition</A>
+</nobr><br>
+<!-- Field popupExitTransition -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.popupExitTransition" class="hiddenlink" target="rightframe">popupExitTransition</A>
+</nobr><br>
+<!-- Field POST_DIAL_DIGITS -->
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.POST_DIAL_DIGITS" class="hiddenlink" target="rightframe">POST_DIAL_DIGITS</A>
+</nobr><br>
+<!-- Field preferenceFragmentStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.preferenceFragmentStyle" class="hiddenlink" target="rightframe">preferenceFragmentStyle</A>
+</nobr><br>
+<!-- Method prepare -->
+<nobr><A HREF="android.media.session.MediaController.TransportControls.html#android.media.session.MediaController.TransportControls.prepare_added()" class="hiddenlink" target="rightframe"><b>prepare</b>
+()</A></nobr><br>
+<!-- Method prepareFromMediaId -->
+<nobr><A HREF="android.media.session.MediaController.TransportControls.html#android.media.session.MediaController.TransportControls.prepareFromMediaId_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>prepareFromMediaId</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<!-- Method prepareFromSearch -->
+<nobr><A HREF="android.media.session.MediaController.TransportControls.html#android.media.session.MediaController.TransportControls.prepareFromSearch_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>prepareFromSearch</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<!-- Method prepareFromUri -->
+<nobr><A HREF="android.media.session.MediaController.TransportControls.html#android.media.session.MediaController.TransportControls.prepareFromUri_added(android.net.Uri, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>prepareFromUri</b>
+(<code>Uri, Bundle</code>)</A></nobr><br>
+<!-- Class PrimitiveIterator -->
+<A HREF="pkg_java.util.html#PrimitiveIterator" class="hiddenlink" target="rightframe"><b><i>PrimitiveIterator</i></b></A><br>
+<!-- Class PrimitiveIterator.OfDouble -->
+<A HREF="pkg_java.util.html#PrimitiveIterator.OfDouble" class="hiddenlink" target="rightframe"><b><i>PrimitiveIterator.OfDouble</i></b></A><br>
+<!-- Class PrimitiveIterator.OfInt -->
+<A HREF="pkg_java.util.html#PrimitiveIterator.OfInt" class="hiddenlink" target="rightframe"><b><i>PrimitiveIterator.OfInt</i></b></A><br>
+<!-- Class PrimitiveIterator.OfLong -->
+<A HREF="pkg_java.util.html#PrimitiveIterator.OfLong" class="hiddenlink" target="rightframe"><b><i>PrimitiveIterator.OfLong</i></b></A><br>
+<!-- Constructor PriorityQueue -->
+<nobr><A HREF="java.util.PriorityQueue.html#java.util.PriorityQueue.ctor_added(java.util.Comparator<? super E>)" class="hiddenlink" target="rightframe"><b>PriorityQueue</b>
+(<code>Comparator&lt;? super E&gt;</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field PROPERTY_ENTERPRISE_CALL -->
+<nobr><A HREF="android.telecom.Call.Details.html#android.telecom.Call.Details.PROPERTY_ENTERPRISE_CALL" class="hiddenlink" target="rightframe">PROPERTY_ENTERPRISE_CALL</A>
+</nobr><br>
+<!-- Field PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED" class="hiddenlink" target="rightframe">PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED</A>
+</nobr><br>
+<!-- Field PROTECTION_FLAG_SETUP -->
+<nobr><A HREF="android.content.pm.PermissionInfo.html#android.content.pm.PermissionInfo.PROTECTION_FLAG_SETUP" class="hiddenlink" target="rightframe">PROTECTION_FLAG_SETUP</A>
+</nobr><br>
+<!-- Class ProtocolFamily -->
+<A HREF="pkg_java.net.html#ProtocolFamily" class="hiddenlink" target="rightframe"><b><i>ProtocolFamily</i></b></A><br>
+<!-- Method putIfAbsent -->
+<i>putIfAbsent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.putIfAbsent_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method putIfAbsent -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.putIfAbsent_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method queryDetailsForUidTag -->
+<A NAME="Q"></A>
+<br><font size="+2">Q</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.queryDetailsForUidTag_added(int, java.lang.String, long, long, int, int)" class="hiddenlink" target="rightframe"><b>queryDetailsForUidTag</b>
+(<code>int, String, long, long, int, int</code>)</A></nobr><br>
+<!-- Method quietlyComplete -->
+<nobr><A HREF="java.util.concurrent.ForkJoinTask.html#java.util.concurrent.ForkJoinTask.quietlyComplete_added()" class="hiddenlink" target="rightframe"><b>quietlyComplete</b>
+()</A></nobr><br>
+<!-- Field QUOTA_OCCUPIED -->
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.QUOTA_OCCUPIED" class="hiddenlink" target="rightframe">QUOTA_OCCUPIED</A>
+</nobr><br>
+<!-- Field QUOTA_TOTAL -->
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.QUOTA_TOTAL" class="hiddenlink" target="rightframe">QUOTA_TOTAL</A>
+</nobr><br>
+<!-- Field QUOTA_UNAVAILABLE -->
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.QUOTA_UNAVAILABLE" class="hiddenlink" target="rightframe">QUOTA_UNAVAILABLE</A>
+</nobr><br>
+<!-- Field RAW_PRIVATE -->
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.graphics.ImageFormat.html#android.graphics.ImageFormat.RAW_PRIVATE" class="hiddenlink" target="rightframe">RAW_PRIVATE</A>
+</nobr><br>
+<!-- Method readEvent -->
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.readEvent_added(android.os.CancellationSignal)" class="hiddenlink" target="rightframe"><b>readEvent</b>
+(<code>CancellationSignal</code>)</A></nobr><br>
+<!-- Method reboot -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.reboot_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>reboot</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Field RECEIVE_OPTIONS_DEFAULT -->
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_DEFAULT" class="hiddenlink" target="rightframe">RECEIVE_OPTIONS_DEFAULT</A>
+</nobr><br>
+<!-- Field RECEIVE_OPTIONS_DROP -->
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_DROP" class="hiddenlink" target="rightframe">RECEIVE_OPTIONS_DROP</A>
+</nobr><br>
+<!-- Field RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE -->
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE" class="hiddenlink" target="rightframe">RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE</A>
+</nobr><br>
+<!-- Field RECORDING_ERROR_INSUFFICIENT_SPACE -->
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.RECORDING_ERROR_INSUFFICIENT_SPACE" class="hiddenlink" target="rightframe">RECORDING_ERROR_INSUFFICIENT_SPACE</A>
+</nobr><br>
+<!-- Field RECORDING_ERROR_RESOURCE_BUSY -->
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.RECORDING_ERROR_RESOURCE_BUSY" class="hiddenlink" target="rightframe">RECORDING_ERROR_RESOURCE_BUSY</A>
+</nobr><br>
+<!-- Field RECORDING_ERROR_UNKNOWN -->
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.RECORDING_ERROR_UNKNOWN" class="hiddenlink" target="rightframe">RECORDING_ERROR_UNKNOWN</A>
+</nobr><br>
+<!-- Method recoverBuilder -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.recoverBuilder_added(android.content.Context, android.app.Notification)" class="hiddenlink" target="rightframe"><b>recoverBuilder</b>
+(<code>Context, Notification</code>)</A></nobr><br>
+<!-- Method reduce -->
+<i>reduce</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.Script.html#android.renderscript.Script.reduce_added(int, android.renderscript.Allocation[], android.renderscript.Allocation, android.renderscript.Script.LaunchOptions)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Allocation[], Allocation, LaunchOptions</code>)</b>&nbsp;in&nbsp;android.renderscript.Script
+</A></nobr><br>
+<!-- Method reduce -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduce_added(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;? super K, ? super V, ? extends U&gt;, BiFunction&lt;? super U, ? super U, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method reduceEntries -->
+<i>reduceEntries</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntries_added(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;Entry&lt;K, V&gt;, ? extends U&gt;, BiFunction&lt;? super U, ? super U, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method reduceEntries -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntries_added(long, java.util.function.BiFunction<java.util.Map.Entry<K, V>, java.util.Map.Entry<K, V>, ? extends java.util.Map.Entry<K, V>>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;Entry&lt;K, V&gt;, Entry&lt;K, V&gt;, Entry&lt;K, V&gt;&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method reduceEntriesToDouble -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntriesToDouble_added(long, java.util.function.ToDoubleFunction<java.util.Map.Entry<K, V>>, double, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceEntriesToDouble</b>
+(<code>long, ToDoubleFunction&lt;Entry&lt;K, V&gt;&gt;, double, DoubleBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceEntriesToInt -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntriesToInt_added(long, java.util.function.ToIntFunction<java.util.Map.Entry<K, V>>, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceEntriesToInt</b>
+(<code>long, ToIntFunction&lt;Entry&lt;K, V&gt;&gt;, int, IntBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceEntriesToLong -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntriesToLong_added(long, java.util.function.ToLongFunction<java.util.Map.Entry<K, V>>, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceEntriesToLong</b>
+(<code>long, ToLongFunction&lt;Entry&lt;K, V&gt;&gt;, long, LongBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceKeys -->
+<i>reduceKeys</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeys_added(long, java.util.function.BiFunction<? super K, ? super K, ? extends K>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;? super K, ? super K, ? extends K&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method reduceKeys -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeys_added(long, java.util.function.Function<? super K, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;? super K, ? extends U&gt;, BiFunction&lt;? super U, ? super U, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method reduceKeysToDouble -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeysToDouble_added(long, java.util.function.ToDoubleFunction<? super K>, double, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceKeysToDouble</b>
+(<code>long, ToDoubleFunction&lt;? super K&gt;, double, DoubleBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceKeysToInt -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeysToInt_added(long, java.util.function.ToIntFunction<? super K>, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceKeysToInt</b>
+(<code>long, ToIntFunction&lt;? super K&gt;, int, IntBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceKeysToLong -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeysToLong_added(long, java.util.function.ToLongFunction<? super K>, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceKeysToLong</b>
+(<code>long, ToLongFunction&lt;? super K&gt;, long, LongBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceToDouble -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceToDouble_added(long, java.util.function.ToDoubleBiFunction<? super K, ? super V>, double, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceToDouble</b>
+(<code>long, ToDoubleBiFunction&lt;? super K, ? super V&gt;, double, DoubleBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceToInt -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceToInt_added(long, java.util.function.ToIntBiFunction<? super K, ? super V>, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceToInt</b>
+(<code>long, ToIntBiFunction&lt;? super K, ? super V&gt;, int, IntBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceToLong -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceToLong_added(long, java.util.function.ToLongBiFunction<? super K, ? super V>, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceToLong</b>
+(<code>long, ToLongBiFunction&lt;? super K, ? super V&gt;, long, LongBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceValues -->
+<i>reduceValues</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValues_added(long, java.util.function.Function<? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;? super V, ? extends U&gt;, BiFunction&lt;? super U, ? super U, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method reduceValues -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValues_added(long, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method reduceValuesToDouble -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValuesToDouble_added(long, java.util.function.ToDoubleFunction<? super V>, double, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceValuesToDouble</b>
+(<code>long, ToDoubleFunction&lt;? super V&gt;, double, DoubleBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceValuesToInt -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValuesToInt_added(long, java.util.function.ToIntFunction<? super V>, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceValuesToInt</b>
+(<code>long, ToIntFunction&lt;? super V&gt;, int, IntBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceValuesToLong -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValuesToLong_added(long, java.util.function.ToLongFunction<? super V>, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceValuesToLong</b>
+(<code>long, ToLongFunction&lt;? super V&gt;, long, LongBinaryOperator</code>)</A></nobr><br>
+<!-- Method registerAsParallelCapable -->
+<nobr><A HREF="java.lang.ClassLoader.html#java.lang.ClassLoader.registerAsParallelCapable_added()" class="hiddenlink" target="rightframe"><b>registerAsParallelCapable</b>
+()</A></nobr><br>
+<!-- Method registerAudioRecordingCallback -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.registerAudioRecordingCallback_added(android.media.AudioManager.AudioRecordingCallback, android.os.Handler)" class="hiddenlink" target="rightframe"><b>registerAudioRecordingCallback</b>
+(<code>AudioRecordingCallback, Handler</code>)</A></nobr><br>
+<!-- Method registerDefaultNetworkCallback -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.registerDefaultNetworkCallback_added(android.net.ConnectivityManager.NetworkCallback)" class="hiddenlink" target="rightframe"><b>registerDefaultNetworkCallback</b>
+(<code>NetworkCallback</code>)</A></nobr><br>
+<!-- Method registerDynamicSensorCallback -->
+<i>registerDynamicSensorCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.registerDynamicSensorCallback_added(android.hardware.SensorManager.DynamicSensorCallback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DynamicSensorCallback</code>)</b>&nbsp;in&nbsp;android.hardware.SensorManager
+</A></nobr><br>
+<!-- Method registerDynamicSensorCallback -->
+&nbsp;&nbsp;<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.registerDynamicSensorCallback_added(android.hardware.SensorManager.DynamicSensorCallback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DynamicSensorCallback, Handler</code>)</b>&nbsp;in&nbsp;android.hardware.SensorManager
+</A></nobr><br>
+<!-- Method registerGnssMeasurementsCallback -->
+<i>registerGnssMeasurementsCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssMeasurementsCallback_added(android.location.GnssMeasurementsEvent.Callback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method registerGnssMeasurementsCallback -->
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssMeasurementsCallback_added(android.location.GnssMeasurementsEvent.Callback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback, Handler</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method registerGnssNavigationMessageCallback -->
+<i>registerGnssNavigationMessageCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssNavigationMessageCallback_added(android.location.GnssNavigationMessage.Callback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method registerGnssNavigationMessageCallback -->
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssNavigationMessageCallback_added(android.location.GnssNavigationMessage.Callback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback, Handler</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method registerGnssStatusCallback -->
+<i>registerGnssStatusCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssStatusCallback_added(android.location.GnssStatus.Callback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method registerGnssStatusCallback -->
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssStatusCallback_added(android.location.GnssStatus.Callback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback, Handler</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method registerUsageCallback -->
+<i>registerUsageCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String, long, UsageCallback</code>)</b>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<!-- Method registerUsageCallback -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String, long, UsageCallback, Handler</code>)</b>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<!-- Field REJECTED_TYPE -->
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.REJECTED_TYPE" class="hiddenlink" target="rightframe">REJECTED_TYPE</A>
+</nobr><br>
+<!-- Method remove -->
+<i>remove</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.remove_added(java.lang.Object, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, Object</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method remove -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.remove_added(java.lang.Object, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, Object</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method removeAutomaticZenRule -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.removeAutomaticZenRule_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>removeAutomaticZenRule</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method removeDocument -->
+<i>removeDocument</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.removeDocument_added(android.content.ContentResolver, android.net.Uri, android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, Uri, Uri</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsContract
+</A></nobr><br>
+<!-- Method removeDocument -->
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.removeDocument_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsProvider
+</A></nobr><br>
+<!-- Method removeIf -->
+<i>removeIf</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.removeIf_added(java.util.function.Predicate<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Predicate&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+<!-- Method removeIf -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Collection.html#java.util.Collection.removeIf_added(java.util.function.Predicate<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Predicate&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Collection
+</A></nobr><br>
+<!-- Method removeIf -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.removeIf_added(java.util.function.Predicate<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Predicate&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+<!-- Method removeIf -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.CopyOnWriteArraySet.html#java.util.concurrent.CopyOnWriteArraySet.removeIf_added(java.util.function.Predicate<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Predicate&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.CopyOnWriteArraySet
+</A></nobr><br>
+<!-- Method removeKeyPair -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.removeKeyPair_added(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe"><b>removeKeyPair</b>
+(<code>ComponentName, String</code>)</A></nobr><br>
+<!-- Method removeNmeaListener -->
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.removeNmeaListener_added(android.location.OnNmeaMessageListener)" class="hiddenlink" target="rightframe"><b>removeNmeaListener</b>
+(<code>OnNmeaMessageListener</code>)</A></nobr><br>
+<!-- Method removeOnFrameMetricsAvailableListener -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.removeOnFrameMetricsAvailableListener_added(android.view.Window.OnFrameMetricsAvailableListener)" class="hiddenlink" target="rightframe"><b>removeOnFrameMetricsAvailableListener</b>
+(<code>OnFrameMetricsAvailableListener</code>)</A></nobr><br>
+<!-- Method removeOnRoutingChangedListener -->
+<i>removeOnRoutingChangedListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.removeOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnRoutingChangedListener</code>)</b>&nbsp;in&nbsp;android.media.AudioRecord
+</A></nobr><br>
+<!-- Method removeOnRoutingChangedListener -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.removeOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnRoutingChangedListener</code>)</b>&nbsp;in&nbsp;android.media.AudioTrack
+</A></nobr><br>
+<!-- Method removeSplit -->
+<nobr><A HREF="android.content.pm.PackageInstaller.Session.html#android.content.pm.PackageInstaller.Session.removeSplit_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>removeSplit</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Class Repeatable -->
+<A HREF="pkg_java.lang.annotation.html#Repeatable" class="hiddenlink" target="rightframe"><b>Repeatable</b></A><br>
+<!-- Method replace -->
+<i>replace</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.HashMap.html#java.util.HashMap.replace_added(K, V, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, V</code>)</b>&nbsp;in&nbsp;java.util.HashMap
+</A></nobr><br>
+<!-- Method replace -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.replace_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method replace -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.replace_added(K, V, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, V</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method replace -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.replace_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method replace -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.replace_added(K, V, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, V</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method replace -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeMap.html#java.util.TreeMap.replace_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.TreeMap
+</A></nobr><br>
+<!-- Method replace -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeMap.html#java.util.TreeMap.replace_added(K, V, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, V</code>)</b>&nbsp;in&nbsp;java.util.TreeMap
+</A></nobr><br>
+<!-- Method replaceAll -->
+<i>replaceAll</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.replaceAll_added(java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.HashMap.html#java.util.HashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.HashMap
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.IdentityHashMap.html#java.util.IdentityHashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.IdentityHashMap
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.List.html#java.util.List.replaceAll_added(java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.List
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeMap.html#java.util.TreeMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.TreeMap
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.replaceAll_added(java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.WeakHashMap.html#java.util.WeakHashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.WeakHashMap
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<!-- Method requestBugreport -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.requestBugreport_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>requestBugreport</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method requestDragAndDropPermissions -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.requestDragAndDropPermissions_added(android.view.DragEvent)" class="hiddenlink" target="rightframe"><b>requestDragAndDropPermissions</b>
+(<code>DragEvent</code>)</A></nobr><br>
+<!-- Method requestRebind -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.requestRebind_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>requestRebind</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method requestShowKeyboardShortcuts -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.requestShowKeyboardShortcuts_added()" class="hiddenlink" target="rightframe"><b>requestShowKeyboardShortcuts</b>
+()</A></nobr><br>
+<!-- Method requestUnbind -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.requestUnbind_added()" class="hiddenlink" target="rightframe"><b>requestUnbind</b>
+()</A></nobr><br>
+<!-- Method requireNonNull -->
+<nobr><A HREF="java.util.Objects.html#java.util.Objects.requireNonNull_added(T, java.util.function.Supplier<java.lang.String>)" class="hiddenlink" target="rightframe"><b>requireNonNull</b>
+(<code>T, Supplier&lt;String&gt;</code>)</A></nobr><br>
+<!-- Field resizeableActivity -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.resizeableActivity" class="hiddenlink" target="rightframe">resizeableActivity</A>
+</nobr><br>
+<!-- Constructor Resources.NotFoundException -->
+<nobr><A HREF="android.content.res.Resources.NotFoundException.html#android.content.res.Resources.NotFoundException.ctor_added(java.lang.String, java.lang.Exception)" class="hiddenlink" target="rightframe"><b>Resources.NotFoundException</b>
+(<code>String, Exception</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Method restoreAllState -->
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.restoreAllState_added(android.os.Parcelable, android.app.FragmentManagerNonConfig)" class="hiddenlink" target="rightframe"><b>restoreAllState</b>
+(<code>Parcelable, FragmentManagerNonConfig</code>)</A></nobr><br>
+<!-- Field RESTRICT_BACKGROUND_STATUS_DISABLED -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_DISABLED" class="hiddenlink" target="rightframe">RESTRICT_BACKGROUND_STATUS_DISABLED</A>
+</nobr><br>
+<!-- Field RESTRICT_BACKGROUND_STATUS_ENABLED -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_ENABLED" class="hiddenlink" target="rightframe">RESTRICT_BACKGROUND_STATUS_ENABLED</A>
+</nobr><br>
+<!-- Field RESTRICT_BACKGROUND_STATUS_WHITELISTED -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_WHITELISTED" class="hiddenlink" target="rightframe">RESTRICT_BACKGROUND_STATUS_WHITELISTED</A>
+</nobr><br>
+<!-- Method resume -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.resume_added()" class="hiddenlink" target="rightframe"><b>resume</b>
+()</A></nobr><br>
+<!-- Method retainNestedNonConfig -->
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.retainNestedNonConfig_added()" class="hiddenlink" target="rightframe"><b>retainNestedNonConfig</b>
+()</A></nobr><br>
+<!-- Method retrievePreRebootSecurityLogs -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.retrievePreRebootSecurityLogs_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>retrievePreRebootSecurityLogs</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method retrieveSecurityLogs -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.retrieveSecurityLogs_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>retrieveSecurityLogs</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method reversed -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.reversed_added()" class="hiddenlink" target="rightframe"><b>reversed</b>
+()</A></nobr><br>
+<!-- Method reverseOrder -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.reverseOrder_added()" class="hiddenlink" target="rightframe"><b>reverseOrder</b>
+()</A></nobr><br>
+<!-- Field ROAMING_ALL -->
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.ROAMING_ALL" class="hiddenlink" target="rightframe">ROAMING_ALL</A>
+</nobr><br>
+<!-- Field ROAMING_NO -->
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.ROAMING_NO" class="hiddenlink" target="rightframe">ROAMING_NO</A>
+</nobr><br>
+<!-- Field ROAMING_YES -->
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.ROAMING_YES" class="hiddenlink" target="rightframe">ROAMING_YES</A>
+</nobr><br>
+<!-- Constructor RuntimeException -->
+<nobr><A HREF="java.lang.RuntimeException.html#java.lang.RuntimeException.ctor_added(java.lang.String, java.lang.Throwable, boolean, boolean)" class="hiddenlink" target="rightframe"><b>RuntimeException</b>
+(<code>String, Throwable, boolean, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field SAMPLE_RATE_UNSPECIFIED -->
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.AudioFormat.html#android.media.AudioFormat.SAMPLE_RATE_UNSPECIFIED" class="hiddenlink" target="rightframe">SAMPLE_RATE_UNSPECIFIED</A>
+</nobr><br>
+<!-- Method search -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.search_added(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>)" class="hiddenlink" target="rightframe"><b>search</b>
+(<code>long, BiFunction&lt;? super K, ? super V, ? extends U&gt;</code>)</A></nobr><br>
+<!-- Method searchEntries -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.searchEntries_added(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>)" class="hiddenlink" target="rightframe"><b>searchEntries</b>
+(<code>long, Function&lt;Entry&lt;K, V&gt;, ? extends U&gt;</code>)</A></nobr><br>
+<!-- Method searchKeys -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.searchKeys_added(long, java.util.function.Function<? super K, ? extends U>)" class="hiddenlink" target="rightframe"><b>searchKeys</b>
+(<code>long, Function&lt;? super K, ? extends U&gt;</code>)</A></nobr><br>
+<!-- Method searchValues -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.searchValues_added(long, java.util.function.Function<? super V, ? extends U>)" class="hiddenlink" target="rightframe"><b>searchValues</b>
+(<code>long, Function&lt;? super V, ? extends U&gt;</code>)</A></nobr><br>
+<!-- Class SecurityLog -->
+<A HREF="pkg_android.app.admin.html#SecurityLog" class="hiddenlink" target="rightframe"><b>SecurityLog</b></A><br>
+<!-- Class SecurityLog.SecurityEvent -->
+<A HREF="pkg_android.app.admin.html#SecurityLog.SecurityEvent" class="hiddenlink" target="rightframe"><b>SecurityLog.SecurityEvent</b></A><br>
+<!-- Class SeekableByteChannel -->
+<A HREF="pkg_java.nio.channels.html#SeekableByteChannel" class="hiddenlink" target="rightframe"><b><i>SeekableByteChannel</i></b></A><br>
+<!-- Method sendAppPrivateCommand -->
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.sendAppPrivateCommand_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>sendAppPrivateCommand</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<!-- Method sendObject -->
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.sendObject_added(int, long, android.os.ParcelFileDescriptor)" class="hiddenlink" target="rightframe"><b>sendObject</b>
+(<code>int, long, ParcelFileDescriptor</code>)</A></nobr><br>
+<!-- Method sendObjectInfo -->
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.sendObjectInfo_added(android.mtp.MtpObjectInfo)" class="hiddenlink" target="rightframe"><b>sendObjectInfo</b>
+(<code>MtpObjectInfo</code>)</A></nobr><br>
+<!-- Field SENSOR_DYNAMIC_BLACK_LEVEL -->
+<nobr><A HREF="android.hardware.camera2.CaptureResult.html#android.hardware.camera2.CaptureResult.SENSOR_DYNAMIC_BLACK_LEVEL" class="hiddenlink" target="rightframe">SENSOR_DYNAMIC_BLACK_LEVEL</A>
+</nobr><br>
+<!-- Field SENSOR_DYNAMIC_WHITE_LEVEL -->
+<nobr><A HREF="android.hardware.camera2.CaptureResult.html#android.hardware.camera2.CaptureResult.SENSOR_DYNAMIC_WHITE_LEVEL" class="hiddenlink" target="rightframe">SENSOR_DYNAMIC_WHITE_LEVEL</A>
+</nobr><br>
+<!-- Field SENSOR_OPTICAL_BLACK_REGIONS -->
+<nobr><A HREF="android.hardware.camera2.CameraCharacteristics.html#android.hardware.camera2.CameraCharacteristics.SENSOR_OPTICAL_BLACK_REGIONS" class="hiddenlink" target="rightframe">SENSOR_OPTICAL_BLACK_REGIONS</A>
+</nobr><br>
+<!-- Class SensorAdditionalInfo -->
+<A HREF="pkg_android.hardware.html#SensorAdditionalInfo" class="hiddenlink" target="rightframe"><b>SensorAdditionalInfo</b></A><br>
+<!-- Class SensorEventCallback -->
+<A HREF="pkg_android.hardware.html#SensorEventCallback" class="hiddenlink" target="rightframe"><b>SensorEventCallback</b></A><br>
+<!-- Class SensorManager.DynamicSensorCallback -->
+<A HREF="pkg_android.hardware.html#SensorManager.DynamicSensorCallback" class="hiddenlink" target="rightframe"><b>SensorManager.DynamicSensorCallback</b></A><br>
+<!-- Class ServiceWorkerClient -->
+<A HREF="pkg_android.webkit.html#ServiceWorkerClient" class="hiddenlink" target="rightframe"><b>ServiceWorkerClient</b></A><br>
+<!-- Class ServiceWorkerController -->
+<A HREF="pkg_android.webkit.html#ServiceWorkerController" class="hiddenlink" target="rightframe"><b>ServiceWorkerController</b></A><br>
+<!-- Class ServiceWorkerWebSettings -->
+<A HREF="pkg_android.webkit.html#ServiceWorkerWebSettings" class="hiddenlink" target="rightframe"><b>ServiceWorkerWebSettings</b></A><br>
+<!-- Method set -->
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.set_added(int, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>set</b>
+(<code>int, long, String, OnAlarmListener, Handler</code>)</A></nobr><br>
+<!-- Method setActions -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setActions_added(android.app.Notification.Action...)" class="hiddenlink" target="rightframe"><b>setActions</b>
+()</A></nobr><br>
+<!-- Method setAlgorithmConstraints -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setAlgorithmConstraints_added(java.security.AlgorithmConstraints)" class="hiddenlink" target="rightframe"><b>setAlgorithmConstraints</b>
+(<code>AlgorithmConstraints</code>)</A></nobr><br>
+<!-- Method setAll -->
+<i>setAll</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.setAll_added(T[], java.util.function.IntFunction<? extends T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], IntFunction&lt;? extends T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method setAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.setAll_added(double[], java.util.function.IntToDoubleFunction)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], IntToDoubleFunction</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method setAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.setAll_added(int[], java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method setAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.setAll_added(long[], java.util.function.IntToLongFunction)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], IntToLongFunction</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method setAllowGeneratedReplies -->
+<nobr><A HREF="android.app.Notification.Action.Builder.html#android.app.Notification.Action.Builder.setAllowGeneratedReplies_added(boolean)" class="hiddenlink" target="rightframe"><b>setAllowGeneratedReplies</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAlwaysOnVpnPackage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setAlwaysOnVpnPackage_added(android.content.ComponentName, java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>setAlwaysOnVpnPackage</b>
+(<code>ComponentName, String, boolean</code>)</A></nobr><br>
+<!-- Method setApplicationRestrictionsManagingPackage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setApplicationRestrictionsManagingPackage_added(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe"><b>setApplicationRestrictionsManagingPackage</b>
+(<code>ComponentName, String</code>)</A></nobr><br>
+<!-- Method setAttestationChallenge -->
+<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html#android.security.keystore.KeyGenParameterSpec.Builder.setAttestationChallenge_added(byte[])" class="hiddenlink" target="rightframe"><b>setAttestationChallenge</b>
+(<code>byte[]</code>)</A></nobr><br>
+<!-- Method setBitmap -->
+<i>setBitmap</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setBitmap_added(android.graphics.Bitmap, android.graphics.Rect, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Bitmap, Rect, boolean</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<!-- Method setBitmap -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setBitmap_added(android.graphics.Bitmap, android.graphics.Rect, boolean, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Bitmap, Rect, boolean, int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<!-- Method setBufferSizeInFrames -->
+<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.setBufferSizeInFrames_added(int)" class="hiddenlink" target="rightframe"><b>setBufferSizeInFrames</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setCaCertificates -->
+<nobr><A HREF="android.net.wifi.WifiEnterpriseConfig.html#android.net.wifi.WifiEnterpriseConfig.setCaCertificates_added(java.security.cert.X509Certificate[])" class="hiddenlink" target="rightframe"><b>setCaCertificates</b>
+(<code>X509Certificate[]</code>)</A></nobr><br>
+<!-- Method setChronometerCountDown -->
+<i>setChronometerCountDown</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setChronometerCountDown_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Notification.Builder
+</A></nobr><br>
+<!-- Method setChronometerCountDown -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setChronometerCountDown_added(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, boolean</code>)</b>&nbsp;in&nbsp;android.widget.RemoteViews
+</A></nobr><br>
+<!-- Method setContentInsetEndWithActions -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setContentInsetEndWithActions_added(int)" class="hiddenlink" target="rightframe"><b>setContentInsetEndWithActions</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setContentInsetStartWithNavigation -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setContentInsetStartWithNavigation_added(int)" class="hiddenlink" target="rightframe"><b>setContentInsetStartWithNavigation</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setCountDown -->
+<nobr><A HREF="android.widget.Chronometer.html#android.widget.Chronometer.setCountDown_added(boolean)" class="hiddenlink" target="rightframe"><b>setCountDown</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setCrossProfileContactsSearchDisabled -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setCrossProfileContactsSearchDisabled_added(android.content.ComponentName, boolean)" class="hiddenlink" target="rightframe"><b>setCrossProfileContactsSearchDisabled</b>
+(<code>ComponentName, boolean</code>)</A></nobr><br>
+<!-- Method setCustomBigContentView -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setCustomBigContentView_added(android.widget.RemoteViews)" class="hiddenlink" target="rightframe"><b>setCustomBigContentView</b>
+(<code>RemoteViews</code>)</A></nobr><br>
+<!-- Method setCustomContentView -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setCustomContentView_added(android.widget.RemoteViews)" class="hiddenlink" target="rightframe"><b>setCustomContentView</b>
+(<code>RemoteViews</code>)</A></nobr><br>
+<!-- Method setCustomHeadsUpContentView -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setCustomHeadsUpContentView_added(android.widget.RemoteViews)" class="hiddenlink" target="rightframe"><b>setCustomHeadsUpContentView</b>
+(<code>RemoteViews</code>)</A></nobr><br>
+<!-- Method setDataSource -->
+<i>setDataSource</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaExtractor.html#android.media.MediaExtractor.setDataSource_added(android.content.res.AssetFileDescriptor)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AssetFileDescriptor</code>)</b>&nbsp;in&nbsp;android.media.MediaExtractor
+</A></nobr><br>
+<!-- Method setDataSource -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setDataSource_added(android.content.res.AssetFileDescriptor)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AssetFileDescriptor</code>)</b>&nbsp;in&nbsp;android.media.MediaPlayer
+</A></nobr><br>
+<!-- Method setDecorCaptionShade -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.setDecorCaptionShade_added(int)" class="hiddenlink" target="rightframe"><b>setDecorCaptionShade</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setDefault -->
+<nobr><A HREF="java.util.Locale.html#java.util.Locale.setDefault_added(java.util.Locale.Category, java.util.Locale)" class="hiddenlink" target="rightframe"><b>setDefault</b>
+(<code>Category, Locale</code>)</A></nobr><br>
+<!-- Method setDeviceOwnerLockScreenInfo -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setDeviceOwnerLockScreenInfo_added(android.content.ComponentName, java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setDeviceOwnerLockScreenInfo</b>
+(<code>ComponentName, CharSequence</code>)</A></nobr><br>
+<!-- Method setDisabledActionModeMenuItems -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDisabledActionModeMenuItems_added(int)" class="hiddenlink" target="rightframe"><b>setDisabledActionModeMenuItems</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setDismissalId -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setDismissalId_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setDismissalId</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setDrawingOrder -->
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setDrawingOrder_added(int)" class="hiddenlink" target="rightframe"><b>setDrawingOrder</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setEndpointIdentificationAlgorithm -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setEndpointIdentificationAlgorithm_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setEndpointIdentificationAlgorithm</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setExact -->
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.setExact_added(int, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>setExact</b>
+(<code>int, long, String, OnAlarmListener, Handler</code>)</A></nobr><br>
+<!-- Method setExtras -->
+<i>setExtras</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ClipDescription.html#android.content.ClipDescription.setExtras_added(android.os.PersistableBundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>PersistableBundle</code>)</b>&nbsp;in&nbsp;android.content.ClipDescription
+</A></nobr><br>
+<!-- Method setExtras -->
+&nbsp;&nbsp;<nobr><A HREF="android.telecom.PhoneAccount.Builder.html#android.telecom.PhoneAccount.Builder.setExtras_added(android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Bundle</code>)</b>&nbsp;in&nbsp;android.telecom.PhoneAccount.Builder
+</A></nobr><br>
+<!-- Method setForkJoinTaskTag -->
+<nobr><A HREF="java.util.concurrent.ForkJoinTask.html#java.util.concurrent.ForkJoinTask.setForkJoinTaskTag_added(short)" class="hiddenlink" target="rightframe"><b>setForkJoinTaskTag</b>
+(<code>short</code>)</A></nobr><br>
+<!-- Method setHasCustomPrinterIcon -->
+<nobr><A HREF="android.print.PrinterInfo.Builder.html#android.print.PrinterInfo.Builder.setHasCustomPrinterIcon_added(boolean)" class="hiddenlink" target="rightframe"><b>setHasCustomPrinterIcon</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setHintAmbientBigPicture -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setHintAmbientBigPicture_added(boolean)" class="hiddenlink" target="rightframe"><b>setHintAmbientBigPicture</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setHintContentIntentLaunchesActivity -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setHintContentIntentLaunchesActivity_added(boolean)" class="hiddenlink" target="rightframe"><b>setHintContentIntentLaunchesActivity</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setHintLaunchesActivity -->
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.setHintLaunchesActivity_added(boolean)" class="hiddenlink" target="rightframe"><b>setHintLaunchesActivity</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setHttpOnly -->
+<nobr><A HREF="java.net.HttpCookie.html#java.net.HttpCookie.setHttpOnly_added(boolean)" class="hiddenlink" target="rightframe"><b>setHttpOnly</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setIconResourceId -->
+<nobr><A HREF="android.print.PrinterInfo.Builder.html#android.print.PrinterInfo.Builder.setIconResourceId_added(int)" class="hiddenlink" target="rightframe"><b>setIconResourceId</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setImeHintLocales -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setImeHintLocales_added(android.os.LocaleList)" class="hiddenlink" target="rightframe"><b>setImeHintLocales</b>
+(<code>LocaleList</code>)</A></nobr><br>
+<!-- Method setImportantForAccessibility -->
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setImportantForAccessibility_added(boolean)" class="hiddenlink" target="rightframe"><b>setImportantForAccessibility</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setInfoIntent -->
+<nobr><A HREF="android.print.PrinterInfo.Builder.html#android.print.PrinterInfo.Builder.setInfoIntent_added(android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>setInfoIntent</b>
+(<code>PendingIntent</code>)</A></nobr><br>
+<!-- Method setInvalidatedByBiometricEnrollment -->
+<i>setInvalidatedByBiometricEnrollment</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html#android.security.keystore.KeyGenParameterSpec.Builder.setInvalidatedByBiometricEnrollment_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.security.keystore.KeyGenParameterSpec.Builder
+</A></nobr><br>
+<!-- Method setInvalidatedByBiometricEnrollment -->
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyProtection.Builder.html#android.security.keystore.KeyProtection.Builder.setInvalidatedByBiometricEnrollment_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.security.keystore.KeyProtection.Builder
+</A></nobr><br>
+<!-- Method setLanguageTag -->
+<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.html#android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.setLanguageTag_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setLanguageTag</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setLaunchBounds -->
+<nobr><A HREF="android.app.ActivityOptions.html#android.app.ActivityOptions.setLaunchBounds_added(android.graphics.Rect)" class="hiddenlink" target="rightframe"><b>setLaunchBounds</b>
+(<code>Rect</code>)</A></nobr><br>
+<!-- Method setLocales -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.setLocales_added(android.os.LocaleList)" class="hiddenlink" target="rightframe"><b>setLocales</b>
+(<code>LocaleList</code>)</A></nobr><br>
+<!-- Method setLongSupportMessage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setLongSupportMessage_added(android.content.ComponentName, java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setLongSupportMessage</b>
+(<code>ComponentName, CharSequence</code>)</A></nobr><br>
+<!-- Method setOnDateSetListener -->
+<nobr><A HREF="android.app.DatePickerDialog.html#android.app.DatePickerDialog.setOnDateSetListener_added(android.app.DatePickerDialog.OnDateSetListener)" class="hiddenlink" target="rightframe"><b>setOnDateSetListener</b>
+(<code>OnDateSetListener</code>)</A></nobr><br>
+<!-- Method setOption -->
+<i>setOption</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.DatagramChannel.html#java.nio.channels.DatagramChannel.setOption_added(java.net.SocketOption<T>, T)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketOption&lt;T&gt;, T</code>)</b>&nbsp;in&nbsp;java.nio.channels.DatagramChannel
+</A></nobr><br>
+<!-- Method setOption -->
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.ServerSocketChannel.html#java.nio.channels.ServerSocketChannel.setOption_added(java.net.SocketOption<T>, T)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketOption&lt;T&gt;, T</code>)</b>&nbsp;in&nbsp;java.nio.channels.ServerSocketChannel
+</A></nobr><br>
+<!-- Method setOption -->
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.setOption_added(java.net.SocketOption<T>, T)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketOption&lt;T&gt;, T</code>)</b>&nbsp;in&nbsp;java.nio.channels.SocketChannel
+</A></nobr><br>
+<!-- Method setOrganizationColor -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setOrganizationColor_added(android.content.ComponentName, int)" class="hiddenlink" target="rightframe"><b>setOrganizationColor</b>
+(<code>ComponentName, int</code>)</A></nobr><br>
+<!-- Method setOrganizationName -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setOrganizationName_added(android.content.ComponentName, java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setOrganizationName</b>
+(<code>ComponentName, CharSequence</code>)</A></nobr><br>
+<!-- Method setOriginatingUid -->
+<nobr><A HREF="android.content.pm.PackageInstaller.SessionParams.html#android.content.pm.PackageInstaller.SessionParams.setOriginatingUid_added(int)" class="hiddenlink" target="rightframe"><b>setOriginatingUid</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setOverrideGroupKey -->
+<nobr><A HREF="android.service.notification.StatusBarNotification.html#android.service.notification.StatusBarNotification.setOverrideGroupKey_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setOverrideGroupKey</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setPackagesSuspended -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setPackagesSuspended_added(android.content.ComponentName, java.lang.String[], boolean)" class="hiddenlink" target="rightframe"><b>setPackagesSuspended</b>
+(<code>ComponentName, String[], boolean</code>)</A></nobr><br>
+<!-- Method setPattern -->
+<nobr><A HREF="android.media.MediaCodec.CryptoInfo.html#android.media.MediaCodec.CryptoInfo.setPattern_added(android.media.MediaCodec.CryptoInfo.Pattern)" class="hiddenlink" target="rightframe"><b>setPattern</b>
+(<code>Pattern</code>)</A></nobr><br>
+<!-- Method setPeriodic -->
+<nobr><A HREF="android.app.job.JobInfo.Builder.html#android.app.job.JobInfo.Builder.setPeriodic_added(long, long)" class="hiddenlink" target="rightframe"><b>setPeriodic</b>
+(<code>long, long</code>)</A></nobr><br>
+<!-- Method setPointerIcon -->
+<nobr><A HREF="android.view.View.html#android.view.View.setPointerIcon_added(android.view.PointerIcon)" class="hiddenlink" target="rightframe"><b>setPointerIcon</b>
+(<code>PointerIcon</code>)</A></nobr><br>
+<!-- Method setProgress -->
+<i>setProgress</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.printservice.PrintJob.html#android.printservice.PrintJob.setProgress_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;android.printservice.PrintJob
+</A></nobr><br>
+<!-- Method setProgress -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.ProgressBar.html#android.widget.ProgressBar.setProgress_added(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, boolean</code>)</b>&nbsp;in&nbsp;android.widget.ProgressBar
+</A></nobr><br>
+<!-- Method setRemoteInputHistory -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setRemoteInputHistory_added(java.lang.CharSequence[])" class="hiddenlink" target="rightframe"><b>setRemoteInputHistory</b>
+(<code>CharSequence[]</code>)</A></nobr><br>
+<!-- Method setRequiresCharging -->
+<i>setRequiresCharging</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.DownloadManager.Request.html#android.app.DownloadManager.Request.setRequiresCharging_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.DownloadManager.Request
+</A></nobr><br>
+<!-- Method setRequiresCharging -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.SyncRequest.Builder.html#android.content.SyncRequest.Builder.setRequiresCharging_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.content.SyncRequest.Builder
+</A></nobr><br>
+<!-- Method setRequiresDeviceIdle -->
+<nobr><A HREF="android.app.DownloadManager.Request.html#android.app.DownloadManager.Request.setRequiresDeviceIdle_added(boolean)" class="hiddenlink" target="rightframe"><b>setRequiresDeviceIdle</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setResizingCaptionDrawable -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.setResizingCaptionDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>setResizingCaptionDrawable</b>
+(<code>Drawable</code>)</A></nobr><br>
+<!-- Method setResource -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setResource_added(int, int)" class="hiddenlink" target="rightframe"><b>setResource</b>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method setRestrictedCaptionAreaListener -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.setRestrictedCaptionAreaListener_added(android.view.Window.OnRestrictedCaptionAreaChangedListener)" class="hiddenlink" target="rightframe"><b>setRestrictedCaptionAreaListener</b>
+(<code>OnRestrictedCaptionAreaChangedListener</code>)</A></nobr><br>
+<!-- Method setSecurityLoggingEnabled -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setSecurityLoggingEnabled_added(android.content.ComponentName, boolean)" class="hiddenlink" target="rightframe"><b>setSecurityLoggingEnabled</b>
+(<code>ComponentName, boolean</code>)</A></nobr><br>
+<!-- Method setServerNames -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setServerNames_added(java.util.List<javax.net.ssl.SNIServerName>)" class="hiddenlink" target="rightframe"><b>setServerNames</b>
+(<code>List&lt;SNIServerName&gt;</code>)</A></nobr><br>
+<!-- Method setShortSupportMessage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setShortSupportMessage_added(android.content.ComponentName, java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setShortSupportMessage</b>
+(<code>ComponentName, CharSequence</code>)</A></nobr><br>
+<!-- Method setSNIMatchers -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setSNIMatchers_added(java.util.Collection<javax.net.ssl.SNIMatcher>)" class="hiddenlink" target="rightframe"><b>setSNIMatchers</b>
+(<code>Collection&lt;SNIMatcher&gt;</code>)</A></nobr><br>
+<!-- Method setSSLParameters -->
+<nobr><A HREF="javax.net.ssl.SSLServerSocket.html#javax.net.ssl.SSLServerSocket.setSSLParameters_added(javax.net.ssl.SSLParameters)" class="hiddenlink" target="rightframe"><b>setSSLParameters</b>
+(<code>SSLParameters</code>)</A></nobr><br>
+<!-- Method setStatus -->
+<i>setStatus</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.printservice.PrintJob.html#android.printservice.PrintJob.setStatus_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.printservice.PrintJob
+</A></nobr><br>
+<!-- Method setStatus -->
+&nbsp;&nbsp;<nobr><A HREF="android.printservice.PrintJob.html#android.printservice.PrintJob.setStatus_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence</code>)</b>&nbsp;in&nbsp;android.printservice.PrintJob
+</A></nobr><br>
+<!-- Method setStorageDefault -->
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.setStorageDefault_added()" class="hiddenlink" target="rightframe"><b>setStorageDefault</b>
+()</A></nobr><br>
+<!-- Method setStorageDeviceProtected -->
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.setStorageDeviceProtected_added()" class="hiddenlink" target="rightframe"><b>setStorageDeviceProtected</b>
+()</A></nobr><br>
+<!-- Method setStream -->
+<i>setStream</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setStream_added(java.io.InputStream, android.graphics.Rect, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>InputStream, Rect, boolean</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<!-- Method setStream -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setStream_added(java.io.InputStream, android.graphics.Rect, boolean, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>InputStream, Rect, boolean, int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<!-- Method setSustainedPerformanceMode -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.setSustainedPerformanceMode_added(boolean)" class="hiddenlink" target="rightframe"><b>setSustainedPerformanceMode</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setTextLocales -->
+<i>setTextLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.setTextLocales_added(android.os.LocaleList)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>LocaleList</code>)</b>&nbsp;in&nbsp;android.graphics.Paint
+</A></nobr><br>
+<!-- Method setTextLocales -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setTextLocales_added(android.os.LocaleList)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>LocaleList</code>)</b>&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<!-- Method setTickMark -->
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.setTickMark_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>setTickMark</b>
+(<code>Drawable</code>)</A></nobr><br>
+<!-- Method setTickMarkTintList -->
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.setTickMarkTintList_added(android.content.res.ColorStateList)" class="hiddenlink" target="rightframe"><b>setTickMarkTintList</b>
+(<code>ColorStateList</code>)</A></nobr><br>
+<!-- Method setTickMarkTintMode -->
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.setTickMarkTintMode_added(android.graphics.PorterDuff.Mode)" class="hiddenlink" target="rightframe"><b>setTickMarkTintMode</b>
+(<code>Mode</code>)</A></nobr><br>
+<!-- Method setTitleMargin -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMargin_added(int, int, int, int)" class="hiddenlink" target="rightframe"><b>setTitleMargin</b>
+(<code>int, int, int, int</code>)</A></nobr><br>
+<!-- Method setTitleMarginBottom -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMarginBottom_added(int)" class="hiddenlink" target="rightframe"><b>setTitleMarginBottom</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setTitleMarginEnd -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMarginEnd_added(int)" class="hiddenlink" target="rightframe"><b>setTitleMarginEnd</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setTitleMarginStart -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMarginStart_added(int)" class="hiddenlink" target="rightframe"><b>setTitleMarginStart</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setTitleMarginTop -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMarginTop_added(int)" class="hiddenlink" target="rightframe"><b>setTitleMarginTop</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setTriggerContentMaxDelay -->
+<nobr><A HREF="android.app.job.JobInfo.Builder.html#android.app.job.JobInfo.Builder.setTriggerContentMaxDelay_added(long)" class="hiddenlink" target="rightframe"><b>setTriggerContentMaxDelay</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Method setTriggerContentUpdateDelay -->
+<nobr><A HREF="android.app.job.JobInfo.Builder.html#android.app.job.JobInfo.Builder.setTriggerContentUpdateDelay_added(long)" class="hiddenlink" target="rightframe"><b>setTriggerContentUpdateDelay</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Method setUseCipherSuitesOrder -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setUseCipherSuitesOrder_added(boolean)" class="hiddenlink" target="rightframe"><b>setUseCipherSuitesOrder</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setUserAuthenticationValidWhileOnBody -->
+<i>setUserAuthenticationValidWhileOnBody</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html#android.security.keystore.KeyGenParameterSpec.Builder.setUserAuthenticationValidWhileOnBody_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.security.keystore.KeyGenParameterSpec.Builder
+</A></nobr><br>
+<!-- Method setUserAuthenticationValidWhileOnBody -->
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyProtection.Builder.html#android.security.keystore.KeyProtection.Builder.setUserAuthenticationValidWhileOnBody_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.security.keystore.KeyProtection.Builder
+</A></nobr><br>
+<!-- Method setVideoActiveFormatDescription -->
+<nobr><A HREF="android.media.tv.TvTrackInfo.Builder.html#android.media.tv.TvTrackInfo.Builder.setVideoActiveFormatDescription_added(byte)" class="hiddenlink" target="rightframe"><b>setVideoActiveFormatDescription</b>
+(<code>byte</code>)</A></nobr><br>
+<!-- Method setVrModeEnabled -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setVrModeEnabled_added(boolean, android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>setVrModeEnabled</b>
+(<code>boolean, ComponentName</code>)</A></nobr><br>
+<!-- Method setWeekDate -->
+<nobr><A HREF="java.util.Calendar.html#java.util.Calendar.setWeekDate_added(int, int, int)" class="hiddenlink" target="rightframe"><b>setWeekDate</b>
+(<code>int, int, int</code>)</A></nobr><br>
+<!-- Method setWindow -->
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.setWindow_added(int, long, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>setWindow</b>
+(<code>int, long, long, String, OnAlarmListener, Handler</code>)</A></nobr><br>
+<!-- Method setZOrderMediaOverlay -->
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.setZOrderMediaOverlay_added(boolean)" class="hiddenlink" target="rightframe"><b>setZOrderMediaOverlay</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setZOrderOnTop -->
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.setZOrderOnTop_added(boolean)" class="hiddenlink" target="rightframe"><b>setZOrderOnTop</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method shape -->
+<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.shape_added(char[], int, int, java.awt.font.NumericShaper.Range)" class="hiddenlink" target="rightframe"><b>shape</b>
+(<code>char[], int, int, Range</code>)</A></nobr><br>
+<!-- Method shouldOverrideUrlLoading -->
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.shouldOverrideUrlLoading_added(android.webkit.WebView, android.webkit.WebResourceRequest)" class="hiddenlink" target="rightframe"><b>shouldOverrideUrlLoading</b>
+(<code>WebView, WebResourceRequest</code>)</A></nobr><br>
+<!-- Field SHOW_MODE_AUTO -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.SHOW_MODE_AUTO" class="hiddenlink" target="rightframe">SHOW_MODE_AUTO</A>
+</nobr><br>
+<!-- Field SHOW_MODE_HIDDEN -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.SHOW_MODE_HIDDEN" class="hiddenlink" target="rightframe">SHOW_MODE_HIDDEN</A>
+</nobr><br>
+<!-- Field SHOW_SOURCE_ACTIVITY -->
+<nobr><A HREF="android.service.voice.VoiceInteractionSession.html#android.service.voice.VoiceInteractionSession.SHOW_SOURCE_ACTIVITY" class="hiddenlink" target="rightframe">SHOW_SOURCE_ACTIVITY</A>
+</nobr><br>
+<!-- Method showContextMenu -->
+<nobr><A HREF="android.view.View.html#android.view.View.showContextMenu_added(float, float)" class="hiddenlink" target="rightframe"><b>showContextMenu</b>
+(<code>float, float</code>)</A></nobr><br>
+<!-- Method showContextMenuForChild -->
+<i>showContextMenuForChild</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.showContextMenuForChild_added(android.view.View, float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, float, float</code>)</b>&nbsp;in&nbsp;android.view.ViewGroup
+</A></nobr><br>
+<!-- Method showContextMenuForChild -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewParent.html#android.view.ViewParent.showContextMenuForChild_added(android.view.View, float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, float, float</code>)</b>&nbsp;in&nbsp;android.view.ViewParent
+</A></nobr><br>
+<!-- Method shutdownInput -->
+<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.shutdownInput_added()" class="hiddenlink" target="rightframe"><b>shutdownInput</b>
+()</A></nobr><br>
+<!-- Method shutdownOutput -->
+<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.shutdownOutput_added()" class="hiddenlink" target="rightframe"><b>shutdownOutput</b>
+()</A></nobr><br>
+<!-- Field SKIP_SETUP_WIZARD -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.SKIP_SETUP_WIZARD" class="hiddenlink" target="rightframe">SKIP_SETUP_WIZARD</A>
+</nobr><br>
+<!-- Class SNIHostName -->
+<A HREF="pkg_javax.net.ssl.html#SNIHostName" class="hiddenlink" target="rightframe"><b>SNIHostName</b></A><br>
+<!-- Class SNIMatcher -->
+<A HREF="pkg_javax.net.ssl.html#SNIMatcher" class="hiddenlink" target="rightframe"><b>SNIMatcher</b></A><br>
+<!-- Class SNIServerName -->
+<A HREF="pkg_javax.net.ssl.html#SNIServerName" class="hiddenlink" target="rightframe"><b>SNIServerName</b></A><br>
+<!-- Class SocketOption -->
+<A HREF="pkg_java.net.html#SocketOption" class="hiddenlink" target="rightframe"><b><i>SocketOption</i></b></A><br>
+<!-- Method sort -->
+<i>sort</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.sort_added(java.util.Comparator<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+<!-- Method sort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.List.html#java.util.List.sort_added(java.util.Comparator<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.List
+</A></nobr><br>
+<!-- Method sort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.sort_added(java.util.Comparator<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+<!-- Method splitAsStream -->
+<nobr><A HREF="java.util.regex.Pattern.html#java.util.regex.Pattern.splitAsStream_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>splitAsStream</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<!-- Class Spliterator -->
+<A HREF="pkg_java.util.html#Spliterator" class="hiddenlink" target="rightframe"><b><i>Spliterator</i></b></A><br>
+<!-- Method spliterator -->
+<i>spliterator</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Iterable.html#java.lang.Iterable.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.lang.Iterable
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayDeque.html#java.util.ArrayDeque.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.ArrayDeque
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(double[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(double[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(int[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(int[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(long[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(long[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(T[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(T[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.HashSet.html#java.util.HashSet.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.HashSet
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.LinkedList.html#java.util.LinkedList.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.LinkedList
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.PriorityQueue.html#java.util.PriorityQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.PriorityQueue
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeSet.html#java.util.TreeSet.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.TreeSet
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ArrayBlockingQueue.html#java.util.concurrent.ArrayBlockingQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ArrayBlockingQueue
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentLinkedDeque.html#java.util.concurrent.ConcurrentLinkedDeque.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentLinkedDeque
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentLinkedQueue.html#java.util.concurrent.ConcurrentLinkedQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentLinkedQueue
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListSet.html#java.util.concurrent.ConcurrentSkipListSet.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListSet
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.CopyOnWriteArraySet.html#java.util.concurrent.CopyOnWriteArraySet.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.CopyOnWriteArraySet
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.LinkedBlockingDeque.html#java.util.concurrent.LinkedBlockingDeque.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.LinkedBlockingDeque
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.LinkedBlockingQueue.html#java.util.concurrent.LinkedBlockingQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.LinkedBlockingQueue
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.LinkedTransferQueue.html#java.util.concurrent.LinkedTransferQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.LinkedTransferQueue
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.PriorityBlockingQueue.html#java.util.concurrent.PriorityBlockingQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.PriorityBlockingQueue
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.SynchronousQueue.html#java.util.concurrent.SynchronousQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.SynchronousQueue
+</A></nobr><br>
+<!-- Class Spliterator.OfDouble -->
+<A HREF="pkg_java.util.html#Spliterator.OfDouble" class="hiddenlink" target="rightframe"><b><i>Spliterator.OfDouble</i></b></A><br>
+<!-- Class Spliterator.OfInt -->
+<A HREF="pkg_java.util.html#Spliterator.OfInt" class="hiddenlink" target="rightframe"><b><i>Spliterator.OfInt</i></b></A><br>
+<!-- Class Spliterator.OfLong -->
+<A HREF="pkg_java.util.html#Spliterator.OfLong" class="hiddenlink" target="rightframe"><b><i>Spliterator.OfLong</i></b></A><br>
+<!-- Class Spliterator.OfPrimitive -->
+<A HREF="pkg_java.util.html#Spliterator.OfPrimitive" class="hiddenlink" target="rightframe"><b><i>Spliterator.OfPrimitive</i></b></A><br>
+<!-- Class Spliterators -->
+<A HREF="pkg_java.util.html#Spliterators" class="hiddenlink" target="rightframe"><b>Spliterators</b></A><br>
+<!-- Class Spliterators.AbstractDoubleSpliterator -->
+<A HREF="pkg_java.util.html#Spliterators.AbstractDoubleSpliterator" class="hiddenlink" target="rightframe"><b>Spliterators.AbstractDoubleSpliterator</b></A><br>
+<!-- Class Spliterators.AbstractIntSpliterator -->
+<A HREF="pkg_java.util.html#Spliterators.AbstractIntSpliterator" class="hiddenlink" target="rightframe"><b>Spliterators.AbstractIntSpliterator</b></A><br>
+<!-- Class Spliterators.AbstractLongSpliterator -->
+<A HREF="pkg_java.util.html#Spliterators.AbstractLongSpliterator" class="hiddenlink" target="rightframe"><b>Spliterators.AbstractLongSpliterator</b></A><br>
+<!-- Class Spliterators.AbstractSpliterator -->
+<A HREF="pkg_java.util.html#Spliterators.AbstractSpliterator" class="hiddenlink" target="rightframe"><b>Spliterators.AbstractSpliterator</b></A><br>
+<!-- Class SplittableRandom -->
+<A HREF="pkg_java.util.html#SplittableRandom" class="hiddenlink" target="rightframe"><b>SplittableRandom</b></A><br>
+<!-- Class StampedLock -->
+<A HREF="pkg_java.util.concurrent.locks.html#StampedLock" class="hiddenlink" target="rightframe"><b>StampedLock</b></A><br>
+<!-- Class StandardConstants -->
+<A HREF="pkg_javax.net.ssl.html#StandardConstants" class="hiddenlink" target="rightframe"><b>StandardConstants</b></A><br>
+<!-- Class StandardProtocolFamily -->
+<A HREF="pkg_java.net.html#StandardProtocolFamily" class="hiddenlink" target="rightframe"><b>StandardProtocolFamily</b></A><br>
+<!-- Class StandardSocketOptions -->
+<A HREF="pkg_java.net.html#StandardSocketOptions" class="hiddenlink" target="rightframe"><b>StandardSocketOptions</b></A><br>
+<!-- Method startDragAndDrop -->
+<nobr><A HREF="android.view.View.html#android.view.View.startDragAndDrop_added(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)" class="hiddenlink" target="rightframe"><b>startDragAndDrop</b>
+(<code>ClipData, DragShadowBuilder, Object, int</code>)</A></nobr><br>
+<!-- Method startIntentSenderForResult -->
+<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.startIntentSenderForResult_added(android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>startIntentSenderForResult</b>
+(<code>IntentSender, int, Intent, int, int, int, Bundle</code>)</A></nobr><br>
+<!-- Method startLocalVoiceInteraction -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.startLocalVoiceInteraction_added(android.os.Bundle)" class="hiddenlink" target="rightframe"><b>startLocalVoiceInteraction</b>
+(<code>Bundle</code>)</A></nobr><br>
+<!-- Field startX -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.startX" class="hiddenlink" target="rightframe">startX</A>
+</nobr><br>
+<!-- Field startY -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.startY" class="hiddenlink" target="rightframe">startY</A>
+</nobr><br>
+<!-- Field STOP_FOREGROUND_DETACH -->
+<nobr><A HREF="android.app.Service.html#android.app.Service.STOP_FOREGROUND_DETACH" class="hiddenlink" target="rightframe">STOP_FOREGROUND_DETACH</A>
+</nobr><br>
+<!-- Field STOP_FOREGROUND_REMOVE -->
+<nobr><A HREF="android.app.Service.html#android.app.Service.STOP_FOREGROUND_REMOVE" class="hiddenlink" target="rightframe">STOP_FOREGROUND_REMOVE</A>
+</nobr><br>
+<!-- Method stopForeground -->
+<nobr><A HREF="android.app.Service.html#android.app.Service.stopForeground_added(int)" class="hiddenlink" target="rightframe"><b>stopForeground</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method stopLocalVoiceInteraction -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.stopLocalVoiceInteraction_added()" class="hiddenlink" target="rightframe"><b>stopLocalVoiceInteraction</b>
+()</A></nobr><br>
+<!-- Class StorageVolume -->
+<A HREF="pkg_android.os.storage.html#StorageVolume" class="hiddenlink" target="rightframe"><b>StorageVolume</b></A><br>
+<!-- Method stream -->
+<i>stream</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(double[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(double[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(int[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(int[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(long[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(long[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(T[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(T[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.BitSet.html#java.util.BitSet.stream_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.BitSet
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Collection.html#java.util.Collection.stream_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Collection
+</A></nobr><br>
+<!-- Field STRING_TYPE_HEART_BEAT -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.STRING_TYPE_HEART_BEAT" class="hiddenlink" target="rightframe">STRING_TYPE_HEART_BEAT</A>
+</nobr><br>
+<!-- Field STRING_TYPE_MOTION_DETECT -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.STRING_TYPE_MOTION_DETECT" class="hiddenlink" target="rightframe">STRING_TYPE_MOTION_DETECT</A>
+</nobr><br>
+<!-- Field STRING_TYPE_POSE_6DOF -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.STRING_TYPE_POSE_6DOF" class="hiddenlink" target="rightframe">STRING_TYPE_POSE_6DOF</A>
+</nobr><br>
+<!-- Field STRING_TYPE_STATIONARY_DETECT -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.STRING_TYPE_STATIONARY_DETECT" class="hiddenlink" target="rightframe">STRING_TYPE_STATIONARY_DETECT</A>
+</nobr><br>
+<!-- Class StringJoiner -->
+<A HREF="pkg_java.util.html#StringJoiner" class="hiddenlink" target="rightframe"><b>StringJoiner</b></A><br>
+<!-- Class Striped64 -->
+<A HREF="pkg_java.util.concurrent.atomic.html#Striped64" class="hiddenlink" target="rightframe"><b>Striped64</b></A><br>
+<!-- Field subMenuArrow -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.subMenuArrow" class="hiddenlink" target="rightframe">subMenuArrow</A>
+</nobr><br>
+<!-- Method subscribe -->
+<nobr><A HREF="android.media.browse.MediaBrowser.html#android.media.browse.MediaBrowser.subscribe_added(java.lang.String, android.os.Bundle, android.media.browse.MediaBrowser.SubscriptionCallback)" class="hiddenlink" target="rightframe"><b>subscribe</b>
+(<code>String, Bundle, SubscriptionCallback</code>)</A></nobr><br>
+<!-- Method subtractExact -->
+<i>subtractExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.subtractExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method subtractExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.subtractExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method subtractExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.subtractExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method subtractExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.subtractExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method sum -->
+<i>sum</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.sum_added(double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double, double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+<!-- Method sum -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.sum_added(float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float, float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+<!-- Method sum -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Integer.html#java.lang.Integer.sum_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Integer
+</A></nobr><br>
+<!-- Method sum -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Long.html#java.lang.Long.sum_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Long
+</A></nobr><br>
+<!-- Field supportsLocalInteraction -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.supportsLocalInteraction" class="hiddenlink" target="rightframe">supportsLocalInteraction</A>
+</nobr><br>
+<!-- Method supportsMultipleUsers -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.supportsMultipleUsers_added()" class="hiddenlink" target="rightframe"><b>supportsMultipleUsers</b>
+()</A></nobr><br>
+<!-- Field supportsPictureInPicture -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.supportsPictureInPicture" class="hiddenlink" target="rightframe">supportsPictureInPicture</A>
+</nobr><br>
+<!-- Field SUPPRESSED_EFFECT_SCREEN_OFF -->
+<i>SUPPRESSED_EFFECT_SCREEN_OFF</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_OFF" class="hiddenlink" target="rightframe">android.app.NotificationManager.Policy</A>
+</nobr><br>
+<!-- Field SUPPRESSED_EFFECT_SCREEN_OFF -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.SUPPRESSED_EFFECT_SCREEN_OFF" class="hiddenlink" target="rightframe">android.service.notification.NotificationListenerService</A>
+</nobr><br>
+<!-- Field SUPPRESSED_EFFECT_SCREEN_ON -->
+<i>SUPPRESSED_EFFECT_SCREEN_ON</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON" class="hiddenlink" target="rightframe">android.app.NotificationManager.Policy</A>
+</nobr><br>
+<!-- Field SUPPRESSED_EFFECT_SCREEN_ON -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.SUPPRESSED_EFFECT_SCREEN_ON" class="hiddenlink" target="rightframe">android.service.notification.NotificationListenerService</A>
+</nobr><br>
+<!-- Method suppressedEffectsToString -->
+<nobr><A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.suppressedEffectsToString_added(int)" class="hiddenlink" target="rightframe"><b>suppressedEffectsToString</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Field suppressedVisualEffects -->
+<nobr><A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.suppressedVisualEffects" class="hiddenlink" target="rightframe">suppressedVisualEffects</A>
+</nobr><br>
+<!-- Method surfaceRedrawNeeded -->
+<nobr><A HREF="android.opengl.GLSurfaceView.html#android.opengl.GLSurfaceView.surfaceRedrawNeeded_added(android.view.SurfaceHolder)" class="hiddenlink" target="rightframe"><b>surfaceRedrawNeeded</b>
+(<code>SurfaceHolder</code>)</A></nobr><br>
+<!-- Field switch_widget -->
+<nobr><A HREF="android.R.id.html#android.R.id.switch_widget" class="hiddenlink" target="rightframe">switch_widget</A>
+</nobr><br>
+<!-- Field SYNC_EXTRAS_REQUIRE_CHARGING -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_EXTRAS_REQUIRE_CHARGING" class="hiddenlink" target="rightframe">SYNC_EXTRAS_REQUIRE_CHARGING</A>
+</nobr><br>
+<!-- Field SYSTEM_HEALTH_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.SYSTEM_HEALTH_SERVICE" class="hiddenlink" target="rightframe">SYSTEM_HEALTH_SERVICE</A>
+</nobr><br>
+<!-- Field TAG_APERTURE_VALUE -->
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_APERTURE_VALUE" class="hiddenlink" target="rightframe">TAG_APERTURE_VALUE</A>
+</nobr><br>
+<!-- Field TAG_ARTIST -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_ARTIST" class="hiddenlink" target="rightframe">TAG_ARTIST</A>
+</nobr><br>
+<!-- Field TAG_BITS_PER_SAMPLE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_BITS_PER_SAMPLE" class="hiddenlink" target="rightframe">TAG_BITS_PER_SAMPLE</A>
+</nobr><br>
+<!-- Field TAG_BRIGHTNESS_VALUE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_BRIGHTNESS_VALUE" class="hiddenlink" target="rightframe">TAG_BRIGHTNESS_VALUE</A>
+</nobr><br>
+<!-- Field TAG_CFA_PATTERN -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_CFA_PATTERN" class="hiddenlink" target="rightframe">TAG_CFA_PATTERN</A>
+</nobr><br>
+<!-- Field TAG_COLOR_SPACE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COLOR_SPACE" class="hiddenlink" target="rightframe">TAG_COLOR_SPACE</A>
+</nobr><br>
+<!-- Field TAG_COMPONENTS_CONFIGURATION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COMPONENTS_CONFIGURATION" class="hiddenlink" target="rightframe">TAG_COMPONENTS_CONFIGURATION</A>
+</nobr><br>
+<!-- Field TAG_COMPRESSED_BITS_PER_PIXEL -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COMPRESSED_BITS_PER_PIXEL" class="hiddenlink" target="rightframe">TAG_COMPRESSED_BITS_PER_PIXEL</A>
+</nobr><br>
+<!-- Field TAG_COMPRESSION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COMPRESSION" class="hiddenlink" target="rightframe">TAG_COMPRESSION</A>
+</nobr><br>
+<!-- Field TAG_CONTRAST -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_CONTRAST" class="hiddenlink" target="rightframe">TAG_CONTRAST</A>
+</nobr><br>
+<!-- Field TAG_COPYRIGHT -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COPYRIGHT" class="hiddenlink" target="rightframe">TAG_COPYRIGHT</A>
+</nobr><br>
+<!-- Field TAG_CUSTOM_RENDERED -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_CUSTOM_RENDERED" class="hiddenlink" target="rightframe">TAG_CUSTOM_RENDERED</A>
+</nobr><br>
+<!-- Field TAG_DATETIME_ORIGINAL -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_DATETIME_ORIGINAL" class="hiddenlink" target="rightframe">TAG_DATETIME_ORIGINAL</A>
+</nobr><br>
+<!-- Field TAG_DEVICE_SETTING_DESCRIPTION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_DEVICE_SETTING_DESCRIPTION" class="hiddenlink" target="rightframe">TAG_DEVICE_SETTING_DESCRIPTION</A>
+</nobr><br>
+<!-- Field TAG_DIGITAL_ZOOM_RATIO -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_DIGITAL_ZOOM_RATIO" class="hiddenlink" target="rightframe">TAG_DIGITAL_ZOOM_RATIO</A>
+</nobr><br>
+<!-- Field TAG_EXIF_VERSION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXIF_VERSION" class="hiddenlink" target="rightframe">TAG_EXIF_VERSION</A>
+</nobr><br>
+<!-- Field TAG_EXPOSURE_BIAS_VALUE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXPOSURE_BIAS_VALUE" class="hiddenlink" target="rightframe">TAG_EXPOSURE_BIAS_VALUE</A>
+</nobr><br>
+<!-- Field TAG_EXPOSURE_INDEX -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXPOSURE_INDEX" class="hiddenlink" target="rightframe">TAG_EXPOSURE_INDEX</A>
+</nobr><br>
+<!-- Field TAG_EXPOSURE_MODE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXPOSURE_MODE" class="hiddenlink" target="rightframe">TAG_EXPOSURE_MODE</A>
+</nobr><br>
+<!-- Field TAG_EXPOSURE_PROGRAM -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXPOSURE_PROGRAM" class="hiddenlink" target="rightframe">TAG_EXPOSURE_PROGRAM</A>
+</nobr><br>
+<!-- Field TAG_F_NUMBER -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_F_NUMBER" class="hiddenlink" target="rightframe">TAG_F_NUMBER</A>
+</nobr><br>
+<!-- Field TAG_FILE_SOURCE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FILE_SOURCE" class="hiddenlink" target="rightframe">TAG_FILE_SOURCE</A>
+</nobr><br>
+<!-- Field TAG_FLASH_ENERGY -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FLASH_ENERGY" class="hiddenlink" target="rightframe">TAG_FLASH_ENERGY</A>
+</nobr><br>
+<!-- Field TAG_FLASHPIX_VERSION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FLASHPIX_VERSION" class="hiddenlink" target="rightframe">TAG_FLASHPIX_VERSION</A>
+</nobr><br>
+<!-- Field TAG_FOCAL_LENGTH_IN_35MM_FILM -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_LENGTH_IN_35MM_FILM" class="hiddenlink" target="rightframe">TAG_FOCAL_LENGTH_IN_35MM_FILM</A>
+</nobr><br>
+<!-- Field TAG_FOCAL_PLANE_RESOLUTION_UNIT -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_PLANE_RESOLUTION_UNIT" class="hiddenlink" target="rightframe">TAG_FOCAL_PLANE_RESOLUTION_UNIT</A>
+</nobr><br>
+<!-- Field TAG_FOCAL_PLANE_X_RESOLUTION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_PLANE_X_RESOLUTION" class="hiddenlink" target="rightframe">TAG_FOCAL_PLANE_X_RESOLUTION</A>
+</nobr><br>
+<!-- Field TAG_FOCAL_PLANE_Y_RESOLUTION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_PLANE_Y_RESOLUTION" class="hiddenlink" target="rightframe">TAG_FOCAL_PLANE_Y_RESOLUTION</A>
+</nobr><br>
+<!-- Field TAG_GAIN_CONTROL -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GAIN_CONTROL" class="hiddenlink" target="rightframe">TAG_GAIN_CONTROL</A>
+</nobr><br>
+<!-- Field TAG_GPS_AREA_INFORMATION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_AREA_INFORMATION" class="hiddenlink" target="rightframe">TAG_GPS_AREA_INFORMATION</A>
+</nobr><br>
+<!-- Field TAG_GPS_DEST_BEARING -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_BEARING" class="hiddenlink" target="rightframe">TAG_GPS_DEST_BEARING</A>
+</nobr><br>
+<!-- Field TAG_GPS_DEST_BEARING_REF -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_BEARING_REF" class="hiddenlink" target="rightframe">TAG_GPS_DEST_BEARING_REF</A>
+</nobr><br>
+<!-- Field TAG_GPS_DEST_DISTANCE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_DISTANCE" class="hiddenlink" target="rightframe">TAG_GPS_DEST_DISTANCE</A>
+</nobr><br>
+<!-- Field TAG_GPS_DEST_DISTANCE_REF -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_DISTANCE_REF" class="hiddenlink" target="rightframe">TAG_GPS_DEST_DISTANCE_REF</A>
+</nobr><br>
+<!-- Field TAG_GPS_DEST_LATITUDE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_LATITUDE" class="hiddenlink" target="rightframe">TAG_GPS_DEST_LATITUDE</A>
+</nobr><br>
+<!-- Field TAG_GPS_DEST_LATITUDE_REF -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_LATITUDE_REF" class="hiddenlink" target="rightframe">TAG_GPS_DEST_LATITUDE_REF</A>
+</nobr><br>
+<!-- Field TAG_GPS_DEST_LONGITUDE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_LONGITUDE" class="hiddenlink" target="rightframe">TAG_GPS_DEST_LONGITUDE</A>
+</nobr><br>
+<!-- Field TAG_GPS_DEST_LONGITUDE_REF -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_LONGITUDE_REF" class="hiddenlink" target="rightframe">TAG_GPS_DEST_LONGITUDE_REF</A>
+</nobr><br>
+<!-- Field TAG_GPS_DIFFERENTIAL -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DIFFERENTIAL" class="hiddenlink" target="rightframe">TAG_GPS_DIFFERENTIAL</A>
+</nobr><br>
+<!-- Field TAG_GPS_DOP -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DOP" class="hiddenlink" target="rightframe">TAG_GPS_DOP</A>
+</nobr><br>
+<!-- Field TAG_GPS_IMG_DIRECTION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_IMG_DIRECTION" class="hiddenlink" target="rightframe">TAG_GPS_IMG_DIRECTION</A>
+</nobr><br>
+<!-- Field TAG_GPS_IMG_DIRECTION_REF -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_IMG_DIRECTION_REF" class="hiddenlink" target="rightframe">TAG_GPS_IMG_DIRECTION_REF</A>
+</nobr><br>
+<!-- Field TAG_GPS_MAP_DATUM -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_MAP_DATUM" class="hiddenlink" target="rightframe">TAG_GPS_MAP_DATUM</A>
+</nobr><br>
+<!-- Field TAG_GPS_MEASURE_MODE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_MEASURE_MODE" class="hiddenlink" target="rightframe">TAG_GPS_MEASURE_MODE</A>
+</nobr><br>
+<!-- Field TAG_GPS_SATELLITES -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_SATELLITES" class="hiddenlink" target="rightframe">TAG_GPS_SATELLITES</A>
+</nobr><br>
+<!-- Field TAG_GPS_SPEED -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_SPEED" class="hiddenlink" target="rightframe">TAG_GPS_SPEED</A>
+</nobr><br>
+<!-- Field TAG_GPS_SPEED_REF -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_SPEED_REF" class="hiddenlink" target="rightframe">TAG_GPS_SPEED_REF</A>
+</nobr><br>
+<!-- Field TAG_GPS_STATUS -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_STATUS" class="hiddenlink" target="rightframe">TAG_GPS_STATUS</A>
+</nobr><br>
+<!-- Field TAG_GPS_TRACK -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_TRACK" class="hiddenlink" target="rightframe">TAG_GPS_TRACK</A>
+</nobr><br>
+<!-- Field TAG_GPS_TRACK_REF -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_TRACK_REF" class="hiddenlink" target="rightframe">TAG_GPS_TRACK_REF</A>
+</nobr><br>
+<!-- Field TAG_GPS_VERSION_ID -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_VERSION_ID" class="hiddenlink" target="rightframe">TAG_GPS_VERSION_ID</A>
+</nobr><br>
+<!-- Field TAG_IMAGE_DESCRIPTION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_IMAGE_DESCRIPTION" class="hiddenlink" target="rightframe">TAG_IMAGE_DESCRIPTION</A>
+</nobr><br>
+<!-- Field TAG_IMAGE_UNIQUE_ID -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_IMAGE_UNIQUE_ID" class="hiddenlink" target="rightframe">TAG_IMAGE_UNIQUE_ID</A>
+</nobr><br>
+<!-- Field TAG_INTEROPERABILITY_INDEX -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_INTEROPERABILITY_INDEX" class="hiddenlink" target="rightframe">TAG_INTEROPERABILITY_INDEX</A>
+</nobr><br>
+<!-- Field TAG_ISO_SPEED_RATINGS -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_ISO_SPEED_RATINGS" class="hiddenlink" target="rightframe">TAG_ISO_SPEED_RATINGS</A>
+</nobr><br>
+<!-- Field TAG_JPEG_INTERCHANGE_FORMAT -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_JPEG_INTERCHANGE_FORMAT" class="hiddenlink" target="rightframe">TAG_JPEG_INTERCHANGE_FORMAT</A>
+</nobr><br>
+<!-- Field TAG_JPEG_INTERCHANGE_FORMAT_LENGTH -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_JPEG_INTERCHANGE_FORMAT_LENGTH" class="hiddenlink" target="rightframe">TAG_JPEG_INTERCHANGE_FORMAT_LENGTH</A>
+</nobr><br>
+<!-- Field TAG_LIGHT_SOURCE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_LIGHT_SOURCE" class="hiddenlink" target="rightframe">TAG_LIGHT_SOURCE</A>
+</nobr><br>
+<!-- Field TAG_MAKER_NOTE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_MAKER_NOTE" class="hiddenlink" target="rightframe">TAG_MAKER_NOTE</A>
+</nobr><br>
+<!-- Field TAG_MAX_APERTURE_VALUE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_MAX_APERTURE_VALUE" class="hiddenlink" target="rightframe">TAG_MAX_APERTURE_VALUE</A>
+</nobr><br>
+<!-- Field TAG_METERING_MODE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_METERING_MODE" class="hiddenlink" target="rightframe">TAG_METERING_MODE</A>
+</nobr><br>
+<!-- Field TAG_NONE -->
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.TAG_NONE" class="hiddenlink" target="rightframe">TAG_NONE</A>
+</nobr><br>
+<!-- Field TAG_OECF -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_OECF" class="hiddenlink" target="rightframe">TAG_OECF</A>
+</nobr><br>
+<!-- Field TAG_PHOTOMETRIC_INTERPRETATION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PHOTOMETRIC_INTERPRETATION" class="hiddenlink" target="rightframe">TAG_PHOTOMETRIC_INTERPRETATION</A>
+</nobr><br>
+<!-- Field TAG_PIXEL_X_DIMENSION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PIXEL_X_DIMENSION" class="hiddenlink" target="rightframe">TAG_PIXEL_X_DIMENSION</A>
+</nobr><br>
+<!-- Field TAG_PIXEL_Y_DIMENSION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PIXEL_Y_DIMENSION" class="hiddenlink" target="rightframe">TAG_PIXEL_Y_DIMENSION</A>
+</nobr><br>
+<!-- Field TAG_PLANAR_CONFIGURATION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PLANAR_CONFIGURATION" class="hiddenlink" target="rightframe">TAG_PLANAR_CONFIGURATION</A>
+</nobr><br>
+<!-- Field TAG_PRIMARY_CHROMATICITIES -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PRIMARY_CHROMATICITIES" class="hiddenlink" target="rightframe">TAG_PRIMARY_CHROMATICITIES</A>
+</nobr><br>
+<!-- Field TAG_REFERENCE_BLACK_WHITE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_REFERENCE_BLACK_WHITE" class="hiddenlink" target="rightframe">TAG_REFERENCE_BLACK_WHITE</A>
+</nobr><br>
+<!-- Field TAG_RELATED_SOUND_FILE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_RELATED_SOUND_FILE" class="hiddenlink" target="rightframe">TAG_RELATED_SOUND_FILE</A>
+</nobr><br>
+<!-- Field TAG_RESOLUTION_UNIT -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_RESOLUTION_UNIT" class="hiddenlink" target="rightframe">TAG_RESOLUTION_UNIT</A>
+</nobr><br>
+<!-- Field TAG_ROWS_PER_STRIP -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_ROWS_PER_STRIP" class="hiddenlink" target="rightframe">TAG_ROWS_PER_STRIP</A>
+</nobr><br>
+<!-- Field TAG_SAMPLES_PER_PIXEL -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SAMPLES_PER_PIXEL" class="hiddenlink" target="rightframe">TAG_SAMPLES_PER_PIXEL</A>
+</nobr><br>
+<!-- Field TAG_SATURATION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SATURATION" class="hiddenlink" target="rightframe">TAG_SATURATION</A>
+</nobr><br>
+<!-- Field TAG_SCENE_CAPTURE_TYPE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SCENE_CAPTURE_TYPE" class="hiddenlink" target="rightframe">TAG_SCENE_CAPTURE_TYPE</A>
+</nobr><br>
+<!-- Field TAG_SCENE_TYPE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SCENE_TYPE" class="hiddenlink" target="rightframe">TAG_SCENE_TYPE</A>
+</nobr><br>
+<!-- Field TAG_SENSING_METHOD -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SENSING_METHOD" class="hiddenlink" target="rightframe">TAG_SENSING_METHOD</A>
+</nobr><br>
+<!-- Field TAG_SHARPNESS -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SHARPNESS" class="hiddenlink" target="rightframe">TAG_SHARPNESS</A>
+</nobr><br>
+<!-- Field TAG_SHUTTER_SPEED_VALUE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SHUTTER_SPEED_VALUE" class="hiddenlink" target="rightframe">TAG_SHUTTER_SPEED_VALUE</A>
+</nobr><br>
+<!-- Field TAG_SOFTWARE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SOFTWARE" class="hiddenlink" target="rightframe">TAG_SOFTWARE</A>
+</nobr><br>
+<!-- Field TAG_SPATIAL_FREQUENCY_RESPONSE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SPATIAL_FREQUENCY_RESPONSE" class="hiddenlink" target="rightframe">TAG_SPATIAL_FREQUENCY_RESPONSE</A>
+</nobr><br>
+<!-- Field TAG_SPECTRAL_SENSITIVITY -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SPECTRAL_SENSITIVITY" class="hiddenlink" target="rightframe">TAG_SPECTRAL_SENSITIVITY</A>
+</nobr><br>
+<!-- Field TAG_STRIP_BYTE_COUNTS -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_STRIP_BYTE_COUNTS" class="hiddenlink" target="rightframe">TAG_STRIP_BYTE_COUNTS</A>
+</nobr><br>
+<!-- Field TAG_STRIP_OFFSETS -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_STRIP_OFFSETS" class="hiddenlink" target="rightframe">TAG_STRIP_OFFSETS</A>
+</nobr><br>
+<!-- Field TAG_SUBJECT_AREA -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBJECT_AREA" class="hiddenlink" target="rightframe">TAG_SUBJECT_AREA</A>
+</nobr><br>
+<!-- Field TAG_SUBJECT_DISTANCE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBJECT_DISTANCE" class="hiddenlink" target="rightframe">TAG_SUBJECT_DISTANCE</A>
+</nobr><br>
+<!-- Field TAG_SUBJECT_DISTANCE_RANGE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBJECT_DISTANCE_RANGE" class="hiddenlink" target="rightframe">TAG_SUBJECT_DISTANCE_RANGE</A>
+</nobr><br>
+<!-- Field TAG_SUBJECT_LOCATION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBJECT_LOCATION" class="hiddenlink" target="rightframe">TAG_SUBJECT_LOCATION</A>
+</nobr><br>
+<!-- Field TAG_SUBSEC_TIME_DIGITIZED -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBSEC_TIME_DIGITIZED" class="hiddenlink" target="rightframe">TAG_SUBSEC_TIME_DIGITIZED</A>
+</nobr><br>
+<!-- Field TAG_SUBSEC_TIME_ORIGINAL -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBSEC_TIME_ORIGINAL" class="hiddenlink" target="rightframe">TAG_SUBSEC_TIME_ORIGINAL</A>
+</nobr><br>
+<!-- Field TAG_THUMBNAIL_IMAGE_LENGTH -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_THUMBNAIL_IMAGE_LENGTH" class="hiddenlink" target="rightframe">TAG_THUMBNAIL_IMAGE_LENGTH</A>
+</nobr><br>
+<!-- Field TAG_THUMBNAIL_IMAGE_WIDTH -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_THUMBNAIL_IMAGE_WIDTH" class="hiddenlink" target="rightframe">TAG_THUMBNAIL_IMAGE_WIDTH</A>
+</nobr><br>
+<!-- Field TAG_TRANSFER_FUNCTION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_TRANSFER_FUNCTION" class="hiddenlink" target="rightframe">TAG_TRANSFER_FUNCTION</A>
+</nobr><br>
+<!-- Field TAG_USER_COMMENT -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_USER_COMMENT" class="hiddenlink" target="rightframe">TAG_USER_COMMENT</A>
+</nobr><br>
+<!-- Field TAG_WHITE_POINT -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_WHITE_POINT" class="hiddenlink" target="rightframe">TAG_WHITE_POINT</A>
+</nobr><br>
+<!-- Field TAG_X_RESOLUTION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_X_RESOLUTION" class="hiddenlink" target="rightframe">TAG_X_RESOLUTION</A>
+</nobr><br>
+<!-- Field TAG_Y_CB_CR_COEFFICIENTS -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_Y_CB_CR_COEFFICIENTS" class="hiddenlink" target="rightframe">TAG_Y_CB_CR_COEFFICIENTS</A>
+</nobr><br>
+<!-- Field TAG_Y_CB_CR_POSITIONING -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_Y_CB_CR_POSITIONING" class="hiddenlink" target="rightframe">TAG_Y_CB_CR_POSITIONING</A>
+</nobr><br>
+<!-- Field TAG_Y_CB_CR_SUB_SAMPLING -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_Y_CB_CR_SUB_SAMPLING" class="hiddenlink" target="rightframe">TAG_Y_CB_CR_SUB_SAMPLING</A>
+</nobr><br>
+<!-- Field TAG_Y_RESOLUTION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_Y_RESOLUTION" class="hiddenlink" target="rightframe">TAG_Y_RESOLUTION</A>
+</nobr><br>
+<!-- Method tagDatagramSocket -->
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.tagDatagramSocket_added(java.net.DatagramSocket)" class="hiddenlink" target="rightframe"><b>tagDatagramSocket</b>
+(<code>DatagramSocket</code>)</A></nobr><br>
+<!-- Field TextAppearance_Material_Widget_Button_Borderless_Colored -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Material_Widget_Button_Borderless_Colored" class="hiddenlink" target="rightframe">TextAppearance_Material_Widget_Button_Borderless_Colored</A>
+</nobr><br>
+<!-- Field TextAppearance_Material_Widget_Button_Colored -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Material_Widget_Button_Colored" class="hiddenlink" target="rightframe">TextAppearance_Material_Widget_Button_Colored</A>
+</nobr><br>
+<!-- Field textAppearancePopupMenuHeader -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAppearancePopupMenuHeader" class="hiddenlink" target="rightframe">textAppearancePopupMenuHeader</A>
+</nobr><br>
+<!-- Field Theme_Material_Light_DialogWhenLarge_DarkActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_Material_Light_DialogWhenLarge_DarkActionBar" class="hiddenlink" target="rightframe">Theme_Material_Light_DialogWhenLarge_DarkActionBar</A>
+</nobr><br>
+<!-- Method thenComparing -->
+<i>thenComparing</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparing_added(java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+<!-- Method thenComparing -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparing_added(java.util.function.Function<? super T, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Function&lt;? super T, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+<!-- Method thenComparing -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparing_added(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Function&lt;? super T, ? extends U&gt;, Comparator&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+<!-- Method thenComparingDouble -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparingDouble_added(java.util.function.ToDoubleFunction<? super T>)" class="hiddenlink" target="rightframe"><b>thenComparingDouble</b>
+(<code>ToDoubleFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<!-- Method thenComparingInt -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparingInt_added(java.util.function.ToIntFunction<? super T>)" class="hiddenlink" target="rightframe"><b>thenComparingInt</b>
+(<code>ToIntFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<!-- Method thenComparingLong -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparingLong_added(java.util.function.ToLongFunction<? super T>)" class="hiddenlink" target="rightframe"><b>thenComparingLong</b>
+(<code>ToLongFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<!-- Field tickMark -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMark" class="hiddenlink" target="rightframe">tickMark</A>
+</nobr><br>
+<!-- Field tickMarkTint -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMarkTint" class="hiddenlink" target="rightframe">tickMarkTint</A>
+</nobr><br>
+<!-- Field tickMarkTintMode -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMarkTintMode" class="hiddenlink" target="rightframe">tickMarkTintMode</A>
+</nobr><br>
+<!-- Field TIMEBASE_BOOTTIME -->
+<nobr><A HREF="android.media.AudioTimestamp.html#android.media.AudioTimestamp.TIMEBASE_BOOTTIME" class="hiddenlink" target="rightframe">TIMEBASE_BOOTTIME</A>
+</nobr><br>
+<!-- Field TIMEBASE_MONOTONIC -->
+<nobr><A HREF="android.media.AudioTimestamp.html#android.media.AudioTimestamp.TIMEBASE_MONOTONIC" class="hiddenlink" target="rightframe">TIMEBASE_MONOTONIC</A>
+</nobr><br>
+<!-- Method timeShiftPlay -->
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.timeShiftPlay_added(java.lang.String, android.net.Uri)" class="hiddenlink" target="rightframe"><b>timeShiftPlay</b>
+(<code>String, Uri</code>)</A></nobr><br>
+<!-- Field titleMargin -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMargin" class="hiddenlink" target="rightframe">titleMargin</A>
+</nobr><br>
+<!-- Field titleMarginBottom -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginBottom" class="hiddenlink" target="rightframe">titleMarginBottom</A>
+</nobr><br>
+<!-- Field titleMarginEnd -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginEnd" class="hiddenlink" target="rightframe">titleMarginEnd</A>
+</nobr><br>
+<!-- Field titleMarginStart -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginStart" class="hiddenlink" target="rightframe">titleMarginStart</A>
+</nobr><br>
+<!-- Field titleMarginTop -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginTop" class="hiddenlink" target="rightframe">titleMarginTop</A>
+</nobr><br>
+<!-- Field TO_HTML_PARAGRAPH_LINES_CONSECUTIVE -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.TO_HTML_PARAGRAPH_LINES_CONSECUTIVE" class="hiddenlink" target="rightframe">TO_HTML_PARAGRAPH_LINES_CONSECUTIVE</A>
+</nobr><br>
+<!-- Field TO_HTML_PARAGRAPH_LINES_INDIVIDUAL -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.TO_HTML_PARAGRAPH_LINES_INDIVIDUAL" class="hiddenlink" target="rightframe">TO_HTML_PARAGRAPH_LINES_INDIVIDUAL</A>
+</nobr><br>
+<!-- Method toHtml -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.toHtml_added(android.text.Spanned, int)" class="hiddenlink" target="rightframe"><b>toHtml</b>
+(<code>Spanned, int</code>)</A></nobr><br>
+<!-- Method toIntExact -->
+<i>toIntExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.toIntExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method toIntExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.toIntExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method tune -->
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.tune_added(java.lang.String, android.net.Uri, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>tune</b>
+(<code>String, Uri, Bundle</code>)</A></nobr><br>
+<!-- Field tunerCount -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tunerCount" class="hiddenlink" target="rightframe">tunerCount</A>
+</nobr><br>
+<!-- Class TvContract.RecordedPrograms -->
+<A HREF="pkg_android.media.tv.html#TvContract.RecordedPrograms" class="hiddenlink" target="rightframe"><b>TvContract.RecordedPrograms</b></A><br>
+<!-- Class TvInputInfo.Builder -->
+<A HREF="pkg_android.media.tv.html#TvInputInfo.Builder" class="hiddenlink" target="rightframe"><b>TvInputInfo.Builder</b></A><br>
+<!-- Class TvInputService.RecordingSession -->
+<A HREF="pkg_android.media.tv.html#TvInputService.RecordingSession" class="hiddenlink" target="rightframe"><b>TvInputService.RecordingSession</b></A><br>
+<!-- Class TvRecordingClient -->
+<A HREF="pkg_android.media.tv.html#TvRecordingClient" class="hiddenlink" target="rightframe"><b>TvRecordingClient</b></A><br>
+<!-- Class TvRecordingClient.RecordingCallback -->
+<A HREF="pkg_android.media.tv.html#TvRecordingClient.RecordingCallback" class="hiddenlink" target="rightframe"><b>TvRecordingClient.RecordingCallback</b></A><br>
+<!-- Field TYPE_BUS -->
+<nobr><A HREF="android.media.AudioDeviceInfo.html#android.media.AudioDeviceInfo.TYPE_BUS" class="hiddenlink" target="rightframe">TYPE_BUS</A>
+</nobr><br>
+<!-- Field TYPE_DEVICE_PRIVATE_BASE -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_DEVICE_PRIVATE_BASE" class="hiddenlink" target="rightframe">TYPE_DEVICE_PRIVATE_BASE</A>
+</nobr><br>
+<!-- Field TYPE_HEART_BEAT -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_HEART_BEAT" class="hiddenlink" target="rightframe">TYPE_HEART_BEAT</A>
+</nobr><br>
+<!-- Field TYPE_MOTION_DETECT -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_MOTION_DETECT" class="hiddenlink" target="rightframe">TYPE_MOTION_DETECT</A>
+</nobr><br>
+<!-- Field TYPE_POSE_6DOF -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_POSE_6DOF" class="hiddenlink" target="rightframe">TYPE_POSE_6DOF</A>
+</nobr><br>
+<!-- Field TYPE_SPLIT_SCREEN_DIVIDER -->
+<nobr><A HREF="android.view.accessibility.AccessibilityWindowInfo.html#android.view.accessibility.AccessibilityWindowInfo.TYPE_SPLIT_SCREEN_DIVIDER" class="hiddenlink" target="rightframe">TYPE_SPLIT_SCREEN_DIVIDER</A>
+</nobr><br>
+<!-- Field TYPE_STATIONARY_DETECT -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_STATIONARY_DETECT" class="hiddenlink" target="rightframe">TYPE_STATIONARY_DETECT</A>
+</nobr><br>
+<!-- Field UNAUTH_TLS -->
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.net.wifi.WifiEnterpriseConfig.Eap.html#android.net.wifi.WifiEnterpriseConfig.Eap.UNAUTH_TLS" class="hiddenlink" target="rightframe">UNAUTH_TLS</A>
+</nobr><br>
+<!-- Class UncheckedIOException -->
+<A HREF="pkg_java.io.html#UncheckedIOException" class="hiddenlink" target="rightframe"><b>UncheckedIOException</b></A><br>
+<!-- Field UNICODE_CHARACTER_CLASS -->
+<nobr><A HREF="java.util.regex.Pattern.html#java.util.regex.Pattern.UNICODE_CHARACTER_CLASS" class="hiddenlink" target="rightframe">UNICODE_CHARACTER_CLASS</A>
+</nobr><br>
+<!-- Field UNPROCESSED -->
+<nobr><A HREF="android.media.MediaRecorder.AudioSource.html#android.media.MediaRecorder.AudioSource.UNPROCESSED" class="hiddenlink" target="rightframe">UNPROCESSED</A>
+</nobr><br>
+<!-- Method unregisterAudioRecordingCallback -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.unregisterAudioRecordingCallback_added(android.media.AudioManager.AudioRecordingCallback)" class="hiddenlink" target="rightframe"><b>unregisterAudioRecordingCallback</b>
+(<code>AudioRecordingCallback</code>)</A></nobr><br>
+<!-- Method unregisterDynamicSensorCallback -->
+<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.unregisterDynamicSensorCallback_added(android.hardware.SensorManager.DynamicSensorCallback)" class="hiddenlink" target="rightframe"><b>unregisterDynamicSensorCallback</b>
+(<code>DynamicSensorCallback</code>)</A></nobr><br>
+<!-- Method unregisterGnssMeasurementsCallback -->
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.unregisterGnssMeasurementsCallback_added(android.location.GnssMeasurementsEvent.Callback)" class="hiddenlink" target="rightframe"><b>unregisterGnssMeasurementsCallback</b>
+(<code>Callback</code>)</A></nobr><br>
+<!-- Method unregisterGnssNavigationMessageCallback -->
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.unregisterGnssNavigationMessageCallback_added(android.location.GnssNavigationMessage.Callback)" class="hiddenlink" target="rightframe"><b>unregisterGnssNavigationMessageCallback</b>
+(<code>Callback</code>)</A></nobr><br>
+<!-- Method unregisterGnssStatusCallback -->
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.unregisterGnssStatusCallback_added(android.location.GnssStatus.Callback)" class="hiddenlink" target="rightframe"><b>unregisterGnssStatusCallback</b>
+(<code>Callback</code>)</A></nobr><br>
+<!-- Method unregisterUsageCallback -->
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.unregisterUsageCallback_added(android.app.usage.NetworkStatsManager.UsageCallback)" class="hiddenlink" target="rightframe"><b>unregisterUsageCallback</b>
+(<code>UsageCallback</code>)</A></nobr><br>
+<!-- Field UNSPECIFIED_GRAVITY -->
+<nobr><A HREF="android.widget.FrameLayout.LayoutParams.html#android.widget.FrameLayout.LayoutParams.UNSPECIFIED_GRAVITY" class="hiddenlink" target="rightframe">UNSPECIFIED_GRAVITY</A>
+</nobr><br>
+<!-- Method unsubscribe -->
+<nobr><A HREF="android.media.browse.MediaBrowser.html#android.media.browse.MediaBrowser.unsubscribe_added(java.lang.String, android.media.browse.MediaBrowser.SubscriptionCallback)" class="hiddenlink" target="rightframe"><b>unsubscribe</b>
+(<code>String, SubscriptionCallback</code>)</A></nobr><br>
+<!-- Method untagDatagramSocket -->
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.untagDatagramSocket_added(java.net.DatagramSocket)" class="hiddenlink" target="rightframe"><b>untagDatagramSocket</b>
+(<code>DatagramSocket</code>)</A></nobr><br>
+<!-- Method updateAndGet -->
+<i>updateAndGet</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicInteger.html#java.util.concurrent.atomic.AtomicInteger.updateAndGet_added(java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicInteger
+</A></nobr><br>
+<!-- Method updateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html#java.util.concurrent.atomic.AtomicIntegerArray.updateAndGet_added(int, java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerArray
+</A></nobr><br>
+<!-- Method updateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html#java.util.concurrent.atomic.AtomicIntegerFieldUpdater.updateAndGet_added(T, java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerFieldUpdater
+</A></nobr><br>
+<!-- Method updateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLong.html#java.util.concurrent.atomic.AtomicLong.updateAndGet_added(java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLong
+</A></nobr><br>
+<!-- Method updateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongArray.html#java.util.concurrent.atomic.AtomicLongArray.updateAndGet_added(int, java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongArray
+</A></nobr><br>
+<!-- Method updateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html#java.util.concurrent.atomic.AtomicLongFieldUpdater.updateAndGet_added(T, java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongFieldUpdater
+</A></nobr><br>
+<!-- Method updateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReference.html#java.util.concurrent.atomic.AtomicReference.updateAndGet_added(java.util.function.UnaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReference
+</A></nobr><br>
+<!-- Method updateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html#java.util.concurrent.atomic.AtomicReferenceArray.updateAndGet_added(int, java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceArray
+</A></nobr><br>
+<!-- Method updateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html#java.util.concurrent.atomic.AtomicReferenceFieldUpdater.updateAndGet_added(T, java.util.function.UnaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, UnaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceFieldUpdater
+</A></nobr><br>
+<!-- Method updateAutomaticZenRule -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.updateAutomaticZenRule_added(java.lang.String, android.app.AutomaticZenRule)" class="hiddenlink" target="rightframe"><b>updateAutomaticZenRule</b>
+(<code>String, AutomaticZenRule</code>)</A></nobr><br>
+<!-- Method updateDragShadow -->
+<nobr><A HREF="android.view.View.html#android.view.View.updateDragShadow_added(android.view.View.DragShadowBuilder)" class="hiddenlink" target="rightframe"><b>updateDragShadow</b>
+(<code>DragShadowBuilder</code>)</A></nobr><br>
+<!-- Method updateTvInputInfo -->
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.updateTvInputInfo_added(android.media.tv.TvInputInfo)" class="hiddenlink" target="rightframe"><b>updateTvInputInfo</b>
+(<code>TvInputInfo</code>)</A></nobr><br>
+<!-- Field use32bitAbi -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.use32bitAbi" class="hiddenlink" target="rightframe">use32bitAbi</A>
+</nobr><br>
+<!-- Field USER_CREATION_FAILED_NO_MORE_USERS -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.USER_CREATION_FAILED_NO_MORE_USERS" class="hiddenlink" target="rightframe">USER_CREATION_FAILED_NO_MORE_USERS</A>
+</nobr><br>
+<!-- Field USER_CREATION_FAILED_NOT_PERMITTED -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.USER_CREATION_FAILED_NOT_PERMITTED" class="hiddenlink" target="rightframe">USER_CREATION_FAILED_NOT_PERMITTED</A>
+</nobr><br>
+<!-- Method validateSql -->
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.validateSql_added(java.lang.String, android.os.CancellationSignal)" class="hiddenlink" target="rightframe"><b>validateSql</b>
+(<code>String, CancellationSignal</code>)</A></nobr><br>
+<!-- Method values -->
+<nobr><A HREF="java.util.SortedMap.html#java.util.SortedMap.values_added()" class="hiddenlink" target="rightframe"><b>values</b>
+()</A></nobr><br>
+<!-- Method verify -->
+<nobr><A HREF="java.security.cert.X509Certificate.html#java.security.cert.X509Certificate.verify_added(java.security.PublicKey, java.security.Provider)" class="hiddenlink" target="rightframe"><b>verify</b>
+(<code>PublicKey, Provider</code>)</A></nobr><br>
+<!-- Field version -->
+<i>version</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.version" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field version -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.FeatureInfo.html#android.content.pm.FeatureInfo.version" class="hiddenlink" target="rightframe">android.content.pm.FeatureInfo</A>
+</nobr><br>
+<!-- Field VIA_NUMBER -->
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.VIA_NUMBER" class="hiddenlink" target="rightframe">VIA_NUMBER</A>
+</nobr><br>
+<!-- Constructor View.BaseSavedState -->
+<nobr><A HREF="android.view.View.BaseSavedState.html#android.view.View.BaseSavedState.ctor_added(android.os.Parcel, java.lang.ClassLoader)" class="hiddenlink" target="rightframe"><b>View.BaseSavedState</b>
+(<code>Parcel, ClassLoader</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor VirtualMachineError -->
+<i>VirtualMachineError</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.VirtualMachineError.html#java.lang.VirtualMachineError.ctor_added(java.lang.String, java.lang.Throwable)" class="hiddenlink" target="rightframe"><b>VirtualMachineError</b>
+(<code>String, Throwable</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor VirtualMachineError -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.VirtualMachineError.html#java.lang.VirtualMachineError.ctor_added(java.lang.Throwable)" class="hiddenlink" target="rightframe"><b>VirtualMachineError</b>
+(<code>Throwable</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field VP9Level1 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level1" class="hiddenlink" target="rightframe">VP9Level1</A>
+</nobr><br>
+<!-- Field VP9Level11 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level11" class="hiddenlink" target="rightframe">VP9Level11</A>
+</nobr><br>
+<!-- Field VP9Level2 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level2" class="hiddenlink" target="rightframe">VP9Level2</A>
+</nobr><br>
+<!-- Field VP9Level21 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level21" class="hiddenlink" target="rightframe">VP9Level21</A>
+</nobr><br>
+<!-- Field VP9Level3 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level3" class="hiddenlink" target="rightframe">VP9Level3</A>
+</nobr><br>
+<!-- Field VP9Level31 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level31" class="hiddenlink" target="rightframe">VP9Level31</A>
+</nobr><br>
+<!-- Field VP9Level4 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level4" class="hiddenlink" target="rightframe">VP9Level4</A>
+</nobr><br>
+<!-- Field VP9Level41 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level41" class="hiddenlink" target="rightframe">VP9Level41</A>
+</nobr><br>
+<!-- Field VP9Level5 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level5" class="hiddenlink" target="rightframe">VP9Level5</A>
+</nobr><br>
+<!-- Field VP9Level51 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level51" class="hiddenlink" target="rightframe">VP9Level51</A>
+</nobr><br>
+<!-- Field VP9Level52 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level52" class="hiddenlink" target="rightframe">VP9Level52</A>
+</nobr><br>
+<!-- Field VP9Level6 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level6" class="hiddenlink" target="rightframe">VP9Level6</A>
+</nobr><br>
+<!-- Field VP9Level61 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level61" class="hiddenlink" target="rightframe">VP9Level61</A>
+</nobr><br>
+<!-- Field VP9Level62 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level62" class="hiddenlink" target="rightframe">VP9Level62</A>
+</nobr><br>
+<!-- Field VP9Profile0 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile0" class="hiddenlink" target="rightframe">VP9Profile0</A>
+</nobr><br>
+<!-- Field VP9Profile1 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile1" class="hiddenlink" target="rightframe">VP9Profile1</A>
+</nobr><br>
+<!-- Field VP9Profile2 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile2" class="hiddenlink" target="rightframe">VP9Profile2</A>
+</nobr><br>
+<!-- Field VP9Profile2HDR -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile2HDR" class="hiddenlink" target="rightframe">VP9Profile2HDR</A>
+</nobr><br>
+<!-- Field VP9Profile3 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile3" class="hiddenlink" target="rightframe">VP9Profile3</A>
+</nobr><br>
+<!-- Field VP9Profile3HDR -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile3HDR" class="hiddenlink" target="rightframe">VP9Profile3HDR</A>
+</nobr><br>
+<!-- Field Widget_Material_CompoundButton_Switch -->
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_CompoundButton_Switch" class="hiddenlink" target="rightframe">Widget_Material_CompoundButton_Switch</A>
+</nobr><br>
+<!-- Field Widget_Material_Light_CompoundButton_Switch -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_Light_CompoundButton_Switch" class="hiddenlink" target="rightframe">Widget_Material_Light_CompoundButton_Switch</A>
+</nobr><br>
+<!-- Field Widget_Material_Light_NumberPicker -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_Light_NumberPicker" class="hiddenlink" target="rightframe">Widget_Material_Light_NumberPicker</A>
+</nobr><br>
+<!-- Field Widget_Material_NumberPicker -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_NumberPicker" class="hiddenlink" target="rightframe">Widget_Material_NumberPicker</A>
+</nobr><br>
+<!-- Field Widget_Material_SeekBar_Discrete -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_SeekBar_Discrete" class="hiddenlink" target="rightframe">Widget_Material_SeekBar_Discrete</A>
+</nobr><br>
+<!-- Class Window.OnFrameMetricsAvailableListener -->
+<A HREF="pkg_android.view.html#Window.OnFrameMetricsAvailableListener" class="hiddenlink" target="rightframe"><b><i>Window.OnFrameMetricsAvailableListener</i></b></A><br>
+<!-- Class Window.OnRestrictedCaptionAreaChangedListener -->
+<A HREF="pkg_android.view.html#Window.OnRestrictedCaptionAreaChangedListener" class="hiddenlink" target="rightframe"><b><i>Window.OnRestrictedCaptionAreaChangedListener</i></b></A><br>
+<!-- Field windowBackgroundFallback -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.windowBackgroundFallback" class="hiddenlink" target="rightframe">windowBackgroundFallback</A>
+</nobr><br>
+<!-- Field windowLayout -->
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.windowLayout" class="hiddenlink" target="rightframe">windowLayout</A>
+</nobr><br>
+<!-- Method writeToParcel -->
+<i>writeToParcel</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattCharacteristic.html#android.bluetooth.BluetoothGattCharacteristic.writeToParcel_added(android.os.Parcel, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcel, int</code>)</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattCharacteristic
+</A></nobr><br>
+<!-- Method writeToParcel -->
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattDescriptor.html#android.bluetooth.BluetoothGattDescriptor.writeToParcel_added(android.os.Parcel, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcel, int</code>)</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattDescriptor
+</A></nobr><br>
+<!-- Method writeToParcel -->
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattService.html#android.bluetooth.BluetoothGattService.writeToParcel_added(android.os.Parcel, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcel, int</code>)</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattService
+</A></nobr><br>
+<!-- Method writeToParcel -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioFormat.html#android.media.AudioFormat.writeToParcel_added(android.os.Parcel, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcel, int</code>)</b>&nbsp;in&nbsp;android.media.AudioFormat
+</A></nobr><br>
+<!-- Class X509ExtendedTrustManager -->
+<A NAME="X"></A>
+<br><font size="+2">X</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_javax.net.ssl.html#X509ExtendedTrustManager" class="hiddenlink" target="rightframe"><b>X509ExtendedTrustManager</b></A><br>
+<!-- Constructor ZipFile -->
+<A NAME="Z"></A>
+<br><font size="+2">Z</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>ZipFile</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.zip.ZipFile.html#java.util.zip.ZipFile.ctor_added(java.io.File, int, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipFile</b>
+(<code>File, int, Charset</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor ZipFile -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.zip.ZipFile.html#java.util.zip.ZipFile.ctor_added(java.io.File, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipFile</b>
+(<code>File, Charset</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor ZipFile -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.zip.ZipFile.html#java.util.zip.ZipFile.ctor_added(java.lang.String, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipFile</b>
+(<code>String, Charset</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor ZipInputStream -->
+<nobr><A HREF="java.util.zip.ZipInputStream.html#java.util.zip.ZipInputStream.ctor_added(java.io.InputStream, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipInputStream</b>
+(<code>InputStream, Charset</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor ZipOutputStream -->
+<nobr><A HREF="java.util.zip.ZipOutputStream.html#java.util.zip.ZipOutputStream.ctor_added(java.io.OutputStream, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipOutputStream</b>
+(<code>OutputStream, Charset</code>)</A></nobr>&nbsp;constructor<br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/alldiffs_index_all.html b/docs/html/sdk/api_diff/24/changes/alldiffs_index_all.html
new file mode 100644
index 0000000..b50d62f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/alldiffs_index_all.html
@@ -0,0 +1,7792 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+All Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for All Differences" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>All Differences</b>
+  <br>
+<A HREF="alldiffs_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="alldiffs_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="alldiffs_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<!-- Class AbsSavedState -->
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>AbsSavedState</i><br>
+&nbsp;&nbsp;<A HREF="android.view.AbsSavedState.html" class="hiddenlink" target="rightframe">android.view</A><br>
+<!-- Constructor AbsSavedState -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.AbsSavedState.html#android.view.AbsSavedState.ctor_added(android.os.Parcel, java.lang.ClassLoader)" class="hiddenlink" target="rightframe"><b>AbsSavedState</b>
+(<code>Parcel, ClassLoader</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class AbsSeekBar -->
+<A HREF="android.widget.AbsSeekBar.html" class="hiddenlink" target="rightframe">AbsSeekBar</A><br>
+<!-- Class AbstractStringBuilder -->
+<A HREF="java.lang.AbstractStringBuilder.html" class="hiddenlink" target="rightframe">AbstractStringBuilder</A><br>
+<!-- Field accessibilityActionSetProgress -->
+<nobr><A HREF="android.R.id.html#android.R.id.accessibilityActionSetProgress" class="hiddenlink" target="rightframe">accessibilityActionSetProgress</A>
+</nobr><br>
+<!-- Class AccessibilityNodeInfo -->
+<A HREF="android.view.accessibility.AccessibilityNodeInfo.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfo</A><br>
+<!-- Class AccessibilityNodeInfo.AccessibilityAction -->
+<A HREF="android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfo.AccessibilityAction</A><br>
+<!-- Class AccessibilityService -->
+<A HREF="android.accessibilityservice.AccessibilityService.html" class="hiddenlink" target="rightframe">AccessibilityService</A><br>
+<!-- Class AccessibilityService.GestureResultCallback -->
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.GestureResultCallback" class="hiddenlink" target="rightframe"><b>AccessibilityService.GestureResultCallback</b></A><br>
+<!-- Class AccessibilityService.MagnificationController -->
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.MagnificationController" class="hiddenlink" target="rightframe"><b>AccessibilityService.MagnificationController</b></A><br>
+<!-- Class AccessibilityService.MagnificationController.OnMagnificationChangedListener -->
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.MagnificationController.OnMagnificationChangedListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityService.MagnificationController.OnMagnificationChangedListener</i></b></A><br>
+<!-- Class AccessibilityService.SoftKeyboardController -->
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.SoftKeyboardController" class="hiddenlink" target="rightframe"><b>AccessibilityService.SoftKeyboardController</b></A><br>
+<!-- Class AccessibilityService.SoftKeyboardController.OnShowModeChangedListener -->
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.SoftKeyboardController.OnShowModeChangedListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityService.SoftKeyboardController.OnShowModeChangedListener</i></b></A><br>
+<!-- Class AccessibilityServiceInfo -->
+<A HREF="android.accessibilityservice.AccessibilityServiceInfo.html" class="hiddenlink" target="rightframe">AccessibilityServiceInfo</A><br>
+<!-- Class AccessibilityWindowInfo -->
+<A HREF="android.view.accessibility.AccessibilityWindowInfo.html" class="hiddenlink" target="rightframe">AccessibilityWindowInfo</A><br>
+<!-- Class AccessibleObject -->
+<A HREF="java.lang.reflect.AccessibleObject.html" class="hiddenlink" target="rightframe">AccessibleObject</A><br>
+<!-- Method accumulateAndGet -->
+<i>accumulateAndGet</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicInteger.html#java.util.concurrent.atomic.AtomicInteger.accumulateAndGet_added(int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicInteger
+</A></nobr><br>
+<!-- Method accumulateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html#java.util.concurrent.atomic.AtomicIntegerArray.accumulateAndGet_added(int, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerArray
+</A></nobr><br>
+<!-- Method accumulateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html#java.util.concurrent.atomic.AtomicIntegerFieldUpdater.accumulateAndGet_added(T, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerFieldUpdater
+</A></nobr><br>
+<!-- Method accumulateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLong.html#java.util.concurrent.atomic.AtomicLong.accumulateAndGet_added(long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLong
+</A></nobr><br>
+<!-- Method accumulateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongArray.html#java.util.concurrent.atomic.AtomicLongArray.accumulateAndGet_added(int, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongArray
+</A></nobr><br>
+<!-- Method accumulateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html#java.util.concurrent.atomic.AtomicLongFieldUpdater.accumulateAndGet_added(T, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongFieldUpdater
+</A></nobr><br>
+<!-- Method accumulateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReference.html#java.util.concurrent.atomic.AtomicReference.accumulateAndGet_added(V, java.util.function.BinaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>V, BinaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReference
+</A></nobr><br>
+<!-- Method accumulateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html#java.util.concurrent.atomic.AtomicReferenceArray.accumulateAndGet_added(int, E, java.util.function.BinaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, E, BinaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceArray
+</A></nobr><br>
+<!-- Method accumulateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html#java.util.concurrent.atomic.AtomicReferenceFieldUpdater.accumulateAndGet_added(T, V, java.util.function.BinaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, V, BinaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceFieldUpdater
+</A></nobr><br>
+<!-- Method acquiredBy -->
+<nobr><A HREF="java.nio.channels.FileLock.html#java.nio.channels.FileLock.acquiredBy_added()" class="hiddenlink" target="rightframe"><b>acquiredBy</b>
+()</A></nobr><br>
+<!-- Field ACTION_APPLICATION_PREFERENCES -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_APPLICATION_PREFERENCES" class="hiddenlink" target="rightframe">ACTION_APPLICATION_PREFERENCES</A>
+</nobr><br>
+<!-- Field ACTION_ARGUMENT_PROGRESS_VALUE -->
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.ACTION_ARGUMENT_PROGRESS_VALUE" class="hiddenlink" target="rightframe">ACTION_ARGUMENT_PROGRESS_VALUE</A>
+</nobr><br>
+<!-- Field ACTION_DEFAULT_SMS_PACKAGE_CHANGED -->
+<nobr><A HREF="android.provider.Telephony.Sms.Intents.html#android.provider.Telephony.Sms.Intents.ACTION_DEFAULT_SMS_PACKAGE_CHANGED" class="hiddenlink" target="rightframe">ACTION_DEFAULT_SMS_PACKAGE_CHANGED</A>
+</nobr><br>
+<!-- Field ACTION_EXTERNAL_PROVIDER_CHANGE -->
+<nobr><A HREF="android.provider.Telephony.Sms.Intents.html#android.provider.Telephony.Sms.Intents.ACTION_EXTERNAL_PROVIDER_CHANGE" class="hiddenlink" target="rightframe">ACTION_EXTERNAL_PROVIDER_CHANGE</A>
+</nobr><br>
+<!-- Field ACTION_HARD_KEYBOARD_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_HARD_KEYBOARD_SETTINGS" class="hiddenlink" target="rightframe">ACTION_HARD_KEYBOARD_SETTINGS</A>
+</nobr><br>
+<!-- Field ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS" class="hiddenlink" target="rightframe">ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS</A>
+</nobr><br>
+<!-- Field ACTION_LOCKED_BOOT_COMPLETED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_LOCKED_BOOT_COMPLETED" class="hiddenlink" target="rightframe">ACTION_LOCKED_BOOT_COMPLETED</A>
+</nobr><br>
+<!-- Field ACTION_MANAGE_DEFAULT_APPS_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS" class="hiddenlink" target="rightframe">ACTION_MANAGE_DEFAULT_APPS_SETTINGS</A>
+</nobr><br>
+<!-- Field ACTION_MANAGED_PROFILE_AVAILABLE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_MANAGED_PROFILE_AVAILABLE" class="hiddenlink" target="rightframe">ACTION_MANAGED_PROFILE_AVAILABLE</A>
+</nobr><br>
+<!-- Field ACTION_MANAGED_PROFILE_UNAVAILABLE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE" class="hiddenlink" target="rightframe">ACTION_MANAGED_PROFILE_UNAVAILABLE</A>
+</nobr><br>
+<!-- Field ACTION_MANAGED_PROFILE_UNLOCKED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_MANAGED_PROFILE_UNLOCKED" class="hiddenlink" target="rightframe">ACTION_MANAGED_PROFILE_UNLOCKED</A>
+</nobr><br>
+<!-- Field ACTION_NEW_PICTURE -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.ACTION_NEW_PICTURE" class="hiddenlink" target="rightframe">ACTION_NEW_PICTURE</A>
+</nobr><br>
+<!-- Field ACTION_NEW_VIDEO -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.ACTION_NEW_VIDEO" class="hiddenlink" target="rightframe">ACTION_NEW_VIDEO</A>
+</nobr><br>
+<!-- Field ACTION_PACKAGES_SUSPENDED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGES_SUSPENDED" class="hiddenlink" target="rightframe">ACTION_PACKAGES_SUSPENDED</A>
+</nobr><br>
+<!-- Field ACTION_PACKAGES_UNSUSPENDED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGES_UNSUSPENDED" class="hiddenlink" target="rightframe">ACTION_PACKAGES_UNSUSPENDED</A>
+</nobr><br>
+<!-- Field ACTION_PREPARE -->
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.ACTION_PREPARE" class="hiddenlink" target="rightframe">ACTION_PREPARE</A>
+</nobr><br>
+<!-- Field ACTION_PREPARE_FROM_MEDIA_ID -->
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.ACTION_PREPARE_FROM_MEDIA_ID" class="hiddenlink" target="rightframe">ACTION_PREPARE_FROM_MEDIA_ID</A>
+</nobr><br>
+<!-- Field ACTION_PREPARE_FROM_SEARCH -->
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.ACTION_PREPARE_FROM_SEARCH" class="hiddenlink" target="rightframe">ACTION_PREPARE_FROM_SEARCH</A>
+</nobr><br>
+<!-- Field ACTION_PREPARE_FROM_URI -->
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.ACTION_PREPARE_FROM_URI" class="hiddenlink" target="rightframe">ACTION_PREPARE_FROM_URI</A>
+</nobr><br>
+<!-- Field ACTION_QUICK_VIEW -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_QUICK_VIEW" class="hiddenlink" target="rightframe">ACTION_QUICK_VIEW</A>
+</nobr><br>
+<!-- Field ACTION_RESTRICT_BACKGROUND_CHANGED -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED" class="hiddenlink" target="rightframe">ACTION_RESTRICT_BACKGROUND_CHANGED</A>
+</nobr><br>
+<!-- Field ACTION_SET_NEW_PARENT_PROFILE_PASSWORD -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.ACTION_SET_NEW_PARENT_PROFILE_PASSWORD" class="hiddenlink" target="rightframe">ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</A>
+</nobr><br>
+<!-- Field ACTION_SET_PROGRESS -->
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.html#android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.ACTION_SET_PROGRESS" class="hiddenlink" target="rightframe">ACTION_SET_PROGRESS</A>
+</nobr><br>
+<!-- Field ACTION_SETUP_INPUTS -->
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.ACTION_SETUP_INPUTS" class="hiddenlink" target="rightframe">ACTION_SETUP_INPUTS</A>
+</nobr><br>
+<!-- Field ACTION_SHOW_APP_INFO -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_SHOW_APP_INFO" class="hiddenlink" target="rightframe">ACTION_SHOW_APP_INFO</A>
+</nobr><br>
+<!-- Field ACTION_SHOW_MISSED_CALLS_NOTIFICATION -->
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.ACTION_SHOW_MISSED_CALLS_NOTIFICATION" class="hiddenlink" target="rightframe">ACTION_SHOW_MISSED_CALLS_NOTIFICATION</A>
+</nobr><br>
+<!-- Field ACTION_SYNC_VOICEMAIL -->
+<nobr><A HREF="android.provider.VoicemailContract.html#android.provider.VoicemailContract.ACTION_SYNC_VOICEMAIL" class="hiddenlink" target="rightframe">ACTION_SYNC_VOICEMAIL</A>
+</nobr><br>
+<!-- Field ACTION_USER_UNLOCKED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_USER_UNLOCKED" class="hiddenlink" target="rightframe">ACTION_USER_UNLOCKED</A>
+</nobr><br>
+<!-- Field ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS -->
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS" class="hiddenlink" target="rightframe">ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS</A>
+</nobr><br>
+<!-- Field ACTION_VPN_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_VPN_SETTINGS" class="hiddenlink" target="rightframe">ACTION_VPN_SETTINGS</A>
+</nobr><br>
+<!-- Field ACTION_VR_LISTENER_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_VR_LISTENER_SETTINGS" class="hiddenlink" target="rightframe">ACTION_VR_LISTENER_SETTINGS</A>
+</nobr><br>
+<!-- Field ACTION_WEBVIEW_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_WEBVIEW_SETTINGS" class="hiddenlink" target="rightframe">ACTION_WEBVIEW_SETTINGS</A>
+</nobr><br>
+<!-- Class Activity -->
+<A HREF="android.app.Activity.html" class="hiddenlink" target="rightframe">Activity</A><br>
+<!-- Class ActivityInfo -->
+<A HREF="android.content.pm.ActivityInfo.html" class="hiddenlink" target="rightframe">ActivityInfo</A><br>
+<!-- Class ActivityInfo.WindowLayout -->
+<A HREF="pkg_android.content.pm.html#ActivityInfo.WindowLayout" class="hiddenlink" target="rightframe"><b>ActivityInfo.WindowLayout</b></A><br>
+<!-- Class ActivityInstrumentationTestCase2 -->
+<A HREF="android.test.ActivityInstrumentationTestCase2.html" class="hiddenlink" target="rightframe">ActivityInstrumentationTestCase2</A><br>
+<!-- Class ActivityOptions -->
+<A HREF="android.app.ActivityOptions.html" class="hiddenlink" target="rightframe">ActivityOptions</A><br>
+<!-- Class ActivityTestCase -->
+<A HREF="android.test.ActivityTestCase.html" class="hiddenlink" target="rightframe">ActivityTestCase</A><br>
+<!-- Class ActivityUnitTestCase -->
+<A HREF="android.test.ActivityUnitTestCase.html" class="hiddenlink" target="rightframe">ActivityUnitTestCase</A><br>
+<!-- Method addAutomaticZenRule -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.addAutomaticZenRule_added(android.app.AutomaticZenRule)" class="hiddenlink" target="rightframe"><b>addAutomaticZenRule</b>
+(<code>AutomaticZenRule</code>)</A></nobr><br>
+<!-- Method addCompletedDownload -->
+<nobr><A HREF="android.app.DownloadManager.html#android.app.DownloadManager.addCompletedDownload_added(java.lang.String, java.lang.String, boolean, java.lang.String, java.lang.String, long, boolean, android.net.Uri, android.net.Uri)" class="hiddenlink" target="rightframe"><b>addCompletedDownload</b>
+(<code>String, String, boolean, String, String, long, boolean, Uri, Uri</code>)</A></nobr><br>
+<!-- Method addExact -->
+<i>addExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.addExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method addExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.addExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method addExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.addExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method addExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.addExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method addGpsStatusListener -->
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.addGpsStatusListener_changed(android.location.GpsStatus.Listener)" class="hiddenlink" target="rightframe">addGpsStatusListener
+(<code>Listener</code>)</A></nobr><br>
+<!-- Method addHandler -->
+<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.addHandler_changed(java.util.logging.Handler)" class="hiddenlink" target="rightframe">addHandler
+(<code>Handler</code>)</A></nobr><br>
+<!-- Method addLinks -->
+<i>addLinks</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.util.Linkify.html#android.text.util.Linkify.addLinks_added(android.text.Spannable, java.util.regex.Pattern, java.lang.String, java.lang.String[], android.text.util.Linkify.MatchFilter, android.text.util.Linkify.TransformFilter)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Spannable, Pattern, String, String[], MatchFilter, TransformFilter</code>)</b>&nbsp;in&nbsp;android.text.util.Linkify
+</A></nobr><br>
+<!-- Method addLinks -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.util.Linkify.html#android.text.util.Linkify.addLinks_added(android.widget.TextView, java.util.regex.Pattern, java.lang.String, java.lang.String[], android.text.util.Linkify.MatchFilter, android.text.util.Linkify.TransformFilter)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>TextView, Pattern, String, String[], MatchFilter, TransformFilter</code>)</b>&nbsp;in&nbsp;android.text.util.Linkify
+</A></nobr><br>
+<!-- Method addNmeaListener -->
+<i>addNmeaListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.addNmeaListener_added(android.location.OnNmeaMessageListener)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnNmeaMessageListener</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method addNmeaListener -->
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.addNmeaListener_added(android.location.OnNmeaMessageListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnNmeaMessageListener, Handler</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method addNmeaListener -->
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.addNmeaListener_changed(android.location.GpsStatus.NmeaListener)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>NmeaListener</code>)&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method addOnFrameMetricsAvailableListener -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.addOnFrameMetricsAvailableListener_added(android.view.Window.OnFrameMetricsAvailableListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>addOnFrameMetricsAvailableListener</b>
+(<code>OnFrameMetricsAvailableListener, Handler</code>)</A></nobr><br>
+<!-- Method addOnRoutingChangedListener -->
+<i>addOnRoutingChangedListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.addOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnRoutingChangedListener, Handler</code>)</b>&nbsp;in&nbsp;android.media.AudioRecord
+</A></nobr><br>
+<!-- Method addOnRoutingChangedListener -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.addOnRoutingChangedListener_changed(android.media.AudioRecord.OnRoutingChangedListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>OnRoutingChangedListener, Handler</code>)&nbsp;in&nbsp;android.media.AudioRecord
+</A></nobr><br>
+<!-- Method addOnRoutingChangedListener -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.addOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnRoutingChangedListener, Handler</code>)</b>&nbsp;in&nbsp;android.media.AudioTrack
+</A></nobr><br>
+<!-- Method addOnRoutingChangedListener -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.addOnRoutingChangedListener_changed(android.media.AudioTrack.OnRoutingChangedListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>OnRoutingChangedListener, Handler</code>)&nbsp;in&nbsp;android.media.AudioTrack
+</A></nobr><br>
+<!-- Method addPropertyChangeListener -->
+<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.addPropertyChangeListener_changed(java.beans.PropertyChangeListener)" class="hiddenlink" target="rightframe">addPropertyChangeListener
+(<code>PropertyChangeListener</code>)</A></nobr><br>
+<!-- Method addTriggerContentUri -->
+<nobr><A HREF="android.app.job.JobInfo.Builder.html#android.app.job.JobInfo.Builder.addTriggerContentUri_added(android.app.job.JobInfo.TriggerContentUri)" class="hiddenlink" target="rightframe"><b>addTriggerContentUri</b>
+(<code>TriggerContentUri</code>)</A></nobr><br>
+<!-- Class AlarmManager -->
+<A HREF="android.app.AlarmManager.html" class="hiddenlink" target="rightframe">AlarmManager</A><br>
+<!-- Class AlarmManager.OnAlarmListener -->
+<A HREF="pkg_android.app.html#AlarmManager.OnAlarmListener" class="hiddenlink" target="rightframe"><b><i>AlarmManager.OnAlarmListener</i></b></A><br>
+<!-- Class AlgorithmConstraints -->
+<A HREF="pkg_java.security.html#AlgorithmConstraints" class="hiddenlink" target="rightframe"><b><i>AlgorithmConstraints</i></b></A><br>
+<!-- Class Allocation -->
+<A HREF="android.renderscript.Allocation.html" class="hiddenlink" target="rightframe">Allocation</A><br>
+<!-- Class AlreadyBoundException -->
+<A HREF="pkg_java.nio.channels.html#AlreadyBoundException" class="hiddenlink" target="rightframe"><b>AlreadyBoundException</b></A><br>
+<!-- Package android -->
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<!-- Package android.accessibilityservice -->
+<A HREF="pkg_android.accessibilityservice.html" class="hiddenlink" target="rightframe">android.accessibilityservice</A><br>
+<!-- Package android.animation -->
+<A HREF="pkg_android.animation.html" class="hiddenlink" target="rightframe">android.animation</A><br>
+<!-- Package android.app -->
+<A HREF="pkg_android.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Package android.app.admin -->
+<A HREF="pkg_android.app.admin.html" class="hiddenlink" target="rightframe">android.app.admin</A><br>
+<!-- Package android.app.assist -->
+<A HREF="pkg_android.app.assist.html" class="hiddenlink" target="rightframe">android.app.assist</A><br>
+<!-- Package android.app.backup -->
+<A HREF="pkg_android.app.backup.html" class="hiddenlink" target="rightframe">android.app.backup</A><br>
+<!-- Package android.app.job -->
+<A HREF="pkg_android.app.job.html" class="hiddenlink" target="rightframe">android.app.job</A><br>
+<!-- Package android.app.usage -->
+<A HREF="pkg_android.app.usage.html" class="hiddenlink" target="rightframe">android.app.usage</A><br>
+<!-- Package android.bluetooth -->
+<A HREF="pkg_android.bluetooth.html" class="hiddenlink" target="rightframe">android.bluetooth</A><br>
+<!-- Package android.content -->
+<A HREF="pkg_android.content.html" class="hiddenlink" target="rightframe">android.content</A><br>
+<!-- Package android.content.pm -->
+<A HREF="pkg_android.content.pm.html" class="hiddenlink" target="rightframe">android.content.pm</A><br>
+<!-- Package android.content.res -->
+<A HREF="pkg_android.content.res.html" class="hiddenlink" target="rightframe">android.content.res</A><br>
+<!-- Package android.database -->
+<A HREF="pkg_android.database.html" class="hiddenlink" target="rightframe">android.database</A><br>
+<!-- Package android.database.sqlite -->
+<A HREF="pkg_android.database.sqlite.html" class="hiddenlink" target="rightframe">android.database.sqlite</A><br>
+<!-- Package android.drm -->
+<A HREF="pkg_android.drm.html" class="hiddenlink" target="rightframe">android.drm</A><br>
+<!-- Package android.graphics -->
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<!-- Package android.graphics.drawable -->
+<A HREF="pkg_android.graphics.drawable.html" class="hiddenlink" target="rightframe">android.graphics.drawable</A><br>
+<!-- Package android.hardware -->
+<A HREF="pkg_android.hardware.html" class="hiddenlink" target="rightframe">android.hardware</A><br>
+<!-- Package android.hardware.camera2 -->
+<A HREF="pkg_android.hardware.camera2.html" class="hiddenlink" target="rightframe">android.hardware.camera2</A><br>
+<!-- Package android.hardware.camera2.params -->
+<A HREF="pkg_android.hardware.camera2.params.html" class="hiddenlink" target="rightframe">android.hardware.camera2.params</A><br>
+<!-- Package android.icu.lang -->
+<A HREF="changes-summary.html#android.icu.lang" class="hiddenlink" target="rightframe"><b>android.icu.lang</b></A><br>
+<!-- Package android.icu.math -->
+<A HREF="changes-summary.html#android.icu.math" class="hiddenlink" target="rightframe"><b>android.icu.math</b></A><br>
+<!-- Package android.icu.text -->
+<A HREF="changes-summary.html#android.icu.text" class="hiddenlink" target="rightframe"><b>android.icu.text</b></A><br>
+<!-- Package android.icu.util -->
+<A HREF="changes-summary.html#android.icu.util" class="hiddenlink" target="rightframe"><b>android.icu.util</b></A><br>
+<!-- Package android.location -->
+<A HREF="pkg_android.location.html" class="hiddenlink" target="rightframe">android.location</A><br>
+<!-- Package android.media -->
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<!-- Package android.media.browse -->
+<A HREF="pkg_android.media.browse.html" class="hiddenlink" target="rightframe">android.media.browse</A><br>
+<!-- Package android.media.session -->
+<A HREF="pkg_android.media.session.html" class="hiddenlink" target="rightframe">android.media.session</A><br>
+<!-- Package android.media.tv -->
+<A HREF="pkg_android.media.tv.html" class="hiddenlink" target="rightframe">android.media.tv</A><br>
+<!-- Package android.mtp -->
+<A HREF="pkg_android.mtp.html" class="hiddenlink" target="rightframe">android.mtp</A><br>
+<!-- Package android.net -->
+<A HREF="pkg_android.net.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<!-- Package android.net.wifi -->
+<A HREF="pkg_android.net.wifi.html" class="hiddenlink" target="rightframe">android.net.wifi</A><br>
+<!-- Package android.nfc -->
+<A HREF="pkg_android.nfc.html" class="hiddenlink" target="rightframe">android.nfc</A><br>
+<!-- Package android.nfc.cardemulation -->
+<A HREF="pkg_android.nfc.cardemulation.html" class="hiddenlink" target="rightframe">android.nfc.cardemulation</A><br>
+<!-- Package android.opengl -->
+<A HREF="pkg_android.opengl.html" class="hiddenlink" target="rightframe">android.opengl</A><br>
+<!-- Package android.os -->
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<!-- Package android.os.health -->
+<A HREF="changes-summary.html#android.os.health" class="hiddenlink" target="rightframe"><b>android.os.health</b></A><br>
+<!-- Package android.os.storage -->
+<A HREF="pkg_android.os.storage.html" class="hiddenlink" target="rightframe">android.os.storage</A><br>
+<!-- Package android.preference -->
+<A HREF="pkg_android.preference.html" class="hiddenlink" target="rightframe">android.preference</A><br>
+<!-- Package android.print -->
+<A HREF="pkg_android.print.html" class="hiddenlink" target="rightframe">android.print</A><br>
+<!-- Package android.printservice -->
+<A HREF="pkg_android.printservice.html" class="hiddenlink" target="rightframe">android.printservice</A><br>
+<!-- Package android.provider -->
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<!-- Package android.renderscript -->
+<A HREF="pkg_android.renderscript.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<!-- Package android.security -->
+<A HREF="pkg_android.security.html" class="hiddenlink" target="rightframe">android.security</A><br>
+<!-- Package android.security.keystore -->
+<A HREF="pkg_android.security.keystore.html" class="hiddenlink" target="rightframe">android.security.keystore</A><br>
+<!-- Package android.service.carrier -->
+<A HREF="pkg_android.service.carrier.html" class="hiddenlink" target="rightframe">android.service.carrier</A><br>
+<!-- Package android.service.media -->
+<A HREF="pkg_android.service.media.html" class="hiddenlink" target="rightframe">android.service.media</A><br>
+<!-- Package android.service.notification -->
+<A HREF="pkg_android.service.notification.html" class="hiddenlink" target="rightframe">android.service.notification</A><br>
+<!-- Package android.service.quicksettings -->
+<A HREF="changes-summary.html#android.service.quicksettings" class="hiddenlink" target="rightframe"><b>android.service.quicksettings</b></A><br>
+<!-- Package android.service.voice -->
+<A HREF="pkg_android.service.voice.html" class="hiddenlink" target="rightframe">android.service.voice</A><br>
+<!-- Package android.service.vr -->
+<A HREF="changes-summary.html#android.service.vr" class="hiddenlink" target="rightframe"><b>android.service.vr</b></A><br>
+<!-- Package android.speech.tts -->
+<A HREF="pkg_android.speech.tts.html" class="hiddenlink" target="rightframe">android.speech.tts</A><br>
+<!-- Package android.telecom -->
+<A HREF="pkg_android.telecom.html" class="hiddenlink" target="rightframe">android.telecom</A><br>
+<!-- Package android.telephony -->
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<!-- Package android.test -->
+<A HREF="pkg_android.test.html" class="hiddenlink" target="rightframe">android.test</A><br>
+<!-- Package android.test.mock -->
+<A HREF="pkg_android.test.mock.html" class="hiddenlink" target="rightframe">android.test.mock</A><br>
+<!-- Package android.test.suitebuilder.annotation -->
+<A HREF="pkg_android.test.suitebuilder.annotation.html" class="hiddenlink" target="rightframe">android.test.suitebuilder.annotation</A><br>
+<!-- Package android.text -->
+<A HREF="pkg_android.text.html" class="hiddenlink" target="rightframe">android.text</A><br>
+<!-- Package android.text.style -->
+<A HREF="pkg_android.text.style.html" class="hiddenlink" target="rightframe">android.text.style</A><br>
+<!-- Package android.text.util -->
+<A HREF="pkg_android.text.util.html" class="hiddenlink" target="rightframe">android.text.util</A><br>
+<!-- Package android.util -->
+<A HREF="pkg_android.util.html" class="hiddenlink" target="rightframe">android.util</A><br>
+<!-- Package android.view -->
+<A HREF="pkg_android.view.html" class="hiddenlink" target="rightframe">android.view</A><br>
+<!-- Package android.view.accessibility -->
+<A HREF="pkg_android.view.accessibility.html" class="hiddenlink" target="rightframe">android.view.accessibility</A><br>
+<!-- Package android.view.inputmethod -->
+<A HREF="pkg_android.view.inputmethod.html" class="hiddenlink" target="rightframe">android.view.inputmethod</A><br>
+<!-- Package android.view.textservice -->
+<A HREF="pkg_android.view.textservice.html" class="hiddenlink" target="rightframe">android.view.textservice</A><br>
+<!-- Package android.webkit -->
+<A HREF="pkg_android.webkit.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<!-- Package android.widget -->
+<A HREF="pkg_android.widget.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<!-- Class AndroidTestCase -->
+<A HREF="android.test.AndroidTestCase.html" class="hiddenlink" target="rightframe">AndroidTestCase</A><br>
+<!-- Class AndroidTestRunner -->
+<A HREF="android.test.AndroidTestRunner.html" class="hiddenlink" target="rightframe">AndroidTestRunner</A><br>
+<!-- Class Animator -->
+<A HREF="android.animation.Animator.html" class="hiddenlink" target="rightframe">Animator</A><br>
+<!-- Class AnnotatedElement -->
+<A HREF="java.lang.reflect.AnnotatedElement.html" class="hiddenlink" target="rightframe"><i>AnnotatedElement</i></A><br>
+<!-- Class ApplicationInfo -->
+<A HREF="android.content.pm.ApplicationInfo.html" class="hiddenlink" target="rightframe">ApplicationInfo</A><br>
+<!-- Class ApplicationTestCase -->
+<A HREF="android.test.ApplicationTestCase.html" class="hiddenlink" target="rightframe">ApplicationTestCase</A><br>
+<!-- Field APPTYPE_CSIM -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_CSIM" class="hiddenlink" target="rightframe">APPTYPE_CSIM</A>
+</nobr><br>
+<!-- Field APPTYPE_ISIM -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_ISIM" class="hiddenlink" target="rightframe">APPTYPE_ISIM</A>
+</nobr><br>
+<!-- Field APPTYPE_RUIM -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_RUIM" class="hiddenlink" target="rightframe">APPTYPE_RUIM</A>
+</nobr><br>
+<!-- Field APPTYPE_SIM -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_SIM" class="hiddenlink" target="rightframe">APPTYPE_SIM</A>
+</nobr><br>
+<!-- Field APPTYPE_USIM -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_USIM" class="hiddenlink" target="rightframe">APPTYPE_USIM</A>
+</nobr><br>
+<!-- Method areNotificationsEnabled -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.areNotificationsEnabled_added()" class="hiddenlink" target="rightframe"><b>areNotificationsEnabled</b>
+()</A></nobr><br>
+<!-- Class ArrayBlockingQueue -->
+<A HREF="java.util.concurrent.ArrayBlockingQueue.html" class="hiddenlink" target="rightframe">ArrayBlockingQueue</A><br>
+<!-- Class ArrayDeque -->
+<A HREF="java.util.ArrayDeque.html" class="hiddenlink" target="rightframe">ArrayDeque</A><br>
+<!-- Class ArrayList -->
+<A HREF="java.util.ArrayList.html" class="hiddenlink" target="rightframe">ArrayList</A><br>
+<!-- Class Arrays -->
+<A HREF="java.util.Arrays.html" class="hiddenlink" target="rightframe">Arrays</A><br>
+<!-- Method asPredicate -->
+<nobr><A HREF="java.util.regex.Pattern.html#java.util.regex.Pattern.asPredicate_added()" class="hiddenlink" target="rightframe"><b>asPredicate</b>
+()</A></nobr><br>
+<!-- Class AssistContent -->
+<A HREF="android.app.assist.AssistContent.html" class="hiddenlink" target="rightframe">AssistContent</A><br>
+<!-- Class AtomicInteger -->
+<A HREF="java.util.concurrent.atomic.AtomicInteger.html" class="hiddenlink" target="rightframe">AtomicInteger</A><br>
+<!-- Class AtomicIntegerArray -->
+<A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html" class="hiddenlink" target="rightframe">AtomicIntegerArray</A><br>
+<!-- Class AtomicIntegerFieldUpdater -->
+<A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html" class="hiddenlink" target="rightframe">AtomicIntegerFieldUpdater</A><br>
+<!-- Class AtomicLong -->
+<A HREF="java.util.concurrent.atomic.AtomicLong.html" class="hiddenlink" target="rightframe">AtomicLong</A><br>
+<!-- Class AtomicLongArray -->
+<A HREF="java.util.concurrent.atomic.AtomicLongArray.html" class="hiddenlink" target="rightframe">AtomicLongArray</A><br>
+<!-- Class AtomicLongFieldUpdater -->
+<A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html" class="hiddenlink" target="rightframe">AtomicLongFieldUpdater</A><br>
+<!-- Class AtomicReference -->
+<A HREF="java.util.concurrent.atomic.AtomicReference.html" class="hiddenlink" target="rightframe">AtomicReference</A><br>
+<!-- Class AtomicReferenceArray -->
+<A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html" class="hiddenlink" target="rightframe">AtomicReferenceArray</A><br>
+<!-- Class AtomicReferenceFieldUpdater -->
+<A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html" class="hiddenlink" target="rightframe">AtomicReferenceFieldUpdater</A><br>
+<!-- Class AudioAttributes -->
+<A HREF="android.media.AudioAttributes.html" class="hiddenlink" target="rightframe">AudioAttributes</A><br>
+<!-- Class AudioDeviceInfo -->
+<A HREF="android.media.AudioDeviceInfo.html" class="hiddenlink" target="rightframe">AudioDeviceInfo</A><br>
+<!-- Class AudioFormat -->
+<A HREF="android.media.AudioFormat.html" class="hiddenlink" target="rightframe">AudioFormat</A><br>
+<!-- Class AudioManager -->
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<!-- Class AudioManager.AudioRecordingCallback -->
+<A HREF="pkg_android.media.html#AudioManager.AudioRecordingCallback" class="hiddenlink" target="rightframe"><b>AudioManager.AudioRecordingCallback</b></A><br>
+<!-- Class AudioRecord -->
+<A HREF="android.media.AudioRecord.html" class="hiddenlink" target="rightframe">AudioRecord</A><br>
+<!-- Class AudioRecord.OnRoutingChangedListener -->
+<A HREF="android.media.AudioRecord.OnRoutingChangedListener.html" class="hiddenlink" target="rightframe"><i>AudioRecord.OnRoutingChangedListener</i></A><br>
+<!-- Class AudioRecordingConfiguration -->
+<A HREF="pkg_android.media.html#AudioRecordingConfiguration" class="hiddenlink" target="rightframe"><b>AudioRecordingConfiguration</b></A><br>
+<!-- Class AudioRouting -->
+<A HREF="pkg_android.media.html#AudioRouting" class="hiddenlink" target="rightframe"><b><i>AudioRouting</i></b></A><br>
+<!-- Class AudioRouting.OnRoutingChangedListener -->
+<A HREF="pkg_android.media.html#AudioRouting.OnRoutingChangedListener" class="hiddenlink" target="rightframe"><b><i>AudioRouting.OnRoutingChangedListener</i></b></A><br>
+<!-- Class AudioTimestamp -->
+<A HREF="android.media.AudioTimestamp.html" class="hiddenlink" target="rightframe">AudioTimestamp</A><br>
+<!-- Class AudioTrack -->
+<A HREF="android.media.AudioTrack.html" class="hiddenlink" target="rightframe">AudioTrack</A><br>
+<!-- Class AudioTrack.OnRoutingChangedListener -->
+<A HREF="android.media.AudioTrack.OnRoutingChangedListener.html" class="hiddenlink" target="rightframe"><i>AudioTrack.OnRoutingChangedListener</i></A><br>
+<!-- Field AUTHTYPE_EAP_AKA -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.AUTHTYPE_EAP_AKA" class="hiddenlink" target="rightframe">AUTHTYPE_EAP_AKA</A>
+</nobr><br>
+<!-- Field AUTHTYPE_EAP_SIM -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.AUTHTYPE_EAP_SIM" class="hiddenlink" target="rightframe">AUTHTYPE_EAP_SIM</A>
+</nobr><br>
+<!-- Class AutoCompleteTextView -->
+<i>AutoCompleteTextView</i><br>
+&nbsp;&nbsp;<A HREF="android.widget.AutoCompleteTextView.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<!-- Constructor AutoCompleteTextView -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AutoCompleteTextView.html#android.widget.AutoCompleteTextView.ctor_added(android.content.Context, android.util.AttributeSet, int, int, android.content.res.Resources.Theme)" class="hiddenlink" target="rightframe"><b>AutoCompleteTextView</b>
+(<code>Context, AttributeSet, int, int, Theme</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class AutomaticZenRule -->
+<A HREF="pkg_android.app.html#AutomaticZenRule" class="hiddenlink" target="rightframe"><b>AutomaticZenRule</b></A><br>
+<!-- Class AvoidXfermode -->
+<A HREF="pkg_android.graphics.html#AvoidXfermode" class="hiddenlink" target="rightframe"><strike>AvoidXfermode</strike></A><br>
+<!-- Class AvoidXfermode.Mode -->
+<A HREF="pkg_android.graphics.html#AvoidXfermode.Mode" class="hiddenlink" target="rightframe"><strike>AvoidXfermode.Mode</strike></A><br>
+<!-- Field AXIS_RELATIVE_X -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.AXIS_RELATIVE_X" class="hiddenlink" target="rightframe">AXIS_RELATIVE_X</A>
+</nobr><br>
+<!-- Field AXIS_RELATIVE_Y -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.AXIS_RELATIVE_Y" class="hiddenlink" target="rightframe">AXIS_RELATIVE_Y</A>
+</nobr><br>
+<!-- Field BACKUP_ID -->
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.ContactsContract.RawContactsColumns.html#android.provider.ContactsContract.RawContactsColumns.BACKUP_ID" class="hiddenlink" target="rightframe">BACKUP_ID</A>
+</nobr><br>
+<!-- Class BackupAgent -->
+<A HREF="android.app.backup.BackupAgent.html" class="hiddenlink" target="rightframe">BackupAgent</A><br>
+<!-- Field backupInForeground -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.backupInForeground" class="hiddenlink" target="rightframe">backupInForeground</A>
+</nobr><br>
+<!-- Class BaseInputConnection -->
+<A HREF="android.view.inputmethod.BaseInputConnection.html" class="hiddenlink" target="rightframe">BaseInputConnection</A><br>
+<!-- Class BatchUpdateException -->
+<A HREF="java.sql.BatchUpdateException.html" class="hiddenlink" target="rightframe">BatchUpdateException</A><br>
+<!-- Field bigContentView -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.bigContentView" class="hiddenlink" target="rightframe">bigContentView</A>
+</nobr><br>
+<!-- Method bind -->
+<i>bind</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.DatagramChannel.html#java.nio.channels.DatagramChannel.bind_added(java.net.SocketAddress)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketAddress</code>)</b>&nbsp;in&nbsp;java.nio.channels.DatagramChannel
+</A></nobr><br>
+<!-- Method bind -->
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.ServerSocketChannel.html#java.nio.channels.ServerSocketChannel.bind_added(java.net.SocketAddress, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketAddress, int</code>)</b>&nbsp;in&nbsp;java.nio.channels.ServerSocketChannel
+</A></nobr><br>
+<!-- Method bind -->
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.ServerSocketChannel.html#java.nio.channels.ServerSocketChannel.bind_added(java.net.SocketAddress)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketAddress</code>)</b>&nbsp;in&nbsp;java.nio.channels.ServerSocketChannel
+</A></nobr><br>
+<!-- Method bind -->
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.bind_added(java.net.SocketAddress)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketAddress</code>)</b>&nbsp;in&nbsp;java.nio.channels.SocketChannel
+</A></nobr><br>
+<!-- Field BIND_CONDITION_PROVIDER_SERVICE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_CONDITION_PROVIDER_SERVICE" class="hiddenlink" target="rightframe">BIND_CONDITION_PROVIDER_SERVICE</A>
+</nobr><br>
+<!-- Field BIND_EXTERNAL_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_EXTERNAL_SERVICE" class="hiddenlink" target="rightframe">BIND_EXTERNAL_SERVICE</A>
+</nobr><br>
+<!-- Field BIND_QUICK_SETTINGS_TILE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_QUICK_SETTINGS_TILE" class="hiddenlink" target="rightframe">BIND_QUICK_SETTINGS_TILE</A>
+</nobr><br>
+<!-- Field BIND_SCREENING_SERVICE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_SCREENING_SERVICE" class="hiddenlink" target="rightframe">BIND_SCREENING_SERVICE</A>
+</nobr><br>
+<!-- Field BIND_VR_LISTENER_SERVICE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_VR_LISTENER_SERVICE" class="hiddenlink" target="rightframe">BIND_VR_LISTENER_SERVICE</A>
+</nobr><br>
+<!-- Field bitmap -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.bitmap" class="hiddenlink" target="rightframe">bitmap</A>
+</nobr><br>
+<!-- Class BitmapFactory.Options -->
+<A HREF="android.graphics.BitmapFactory.Options.html" class="hiddenlink" target="rightframe">BitmapFactory.Options</A><br>
+<!-- Class BitSet -->
+<A HREF="java.util.BitSet.html" class="hiddenlink" target="rightframe">BitSet</A><br>
+<!-- Field BLOCKED_TYPE -->
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.BLOCKED_TYPE" class="hiddenlink" target="rightframe">BLOCKED_TYPE</A>
+</nobr><br>
+<!-- Class BlockedNumberContract -->
+<A HREF="pkg_android.provider.html#BlockedNumberContract" class="hiddenlink" target="rightframe"><b>BlockedNumberContract</b></A><br>
+<!-- Class BlockedNumberContract.BlockedNumbers -->
+<A HREF="pkg_android.provider.html#BlockedNumberContract.BlockedNumbers" class="hiddenlink" target="rightframe"><b>BlockedNumberContract.BlockedNumbers</b></A><br>
+<!-- Class BluetoothGattCharacteristic -->
+<A HREF="android.bluetooth.BluetoothGattCharacteristic.html" class="hiddenlink" target="rightframe">BluetoothGattCharacteristic</A><br>
+<!-- Class BluetoothGattDescriptor -->
+<A HREF="android.bluetooth.BluetoothGattDescriptor.html" class="hiddenlink" target="rightframe">BluetoothGattDescriptor</A><br>
+<!-- Class BluetoothGattService -->
+<A HREF="android.bluetooth.BluetoothGattService.html" class="hiddenlink" target="rightframe">BluetoothGattService</A><br>
+<!-- Class Boolean -->
+<A HREF="java.lang.Boolean.html" class="hiddenlink" target="rightframe">Boolean</A><br>
+<!-- Field BOOT_COUNT -->
+<nobr><A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.BOOT_COUNT" class="hiddenlink" target="rightframe">BOOT_COUNT</A>
+</nobr><br>
+<!-- Class BufferedReader -->
+<A HREF="java.io.BufferedReader.html" class="hiddenlink" target="rightframe">BufferedReader</A><br>
+<!-- Field BUGREPORT_FAILURE_FAILED_COMPLETING -->
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING" class="hiddenlink" target="rightframe">BUGREPORT_FAILURE_FAILED_COMPLETING</A>
+</nobr><br>
+<!-- Field BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE -->
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE" class="hiddenlink" target="rightframe">BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</A>
+</nobr><br>
+<!-- Class Build.VERSION_CODES -->
+<A HREF="android.os.Build.VERSION_CODES.html" class="hiddenlink" target="rightframe">Build.VERSION_CODES</A><br>
+<!-- Method buildRecordedProgramUri -->
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.buildRecordedProgramUri_added(long)" class="hiddenlink" target="rightframe"><b>buildRecordedProgramUri</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Field buttonGravity -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.buttonGravity" class="hiddenlink" target="rightframe">buttonGravity</A>
+</nobr><br>
+<!-- Class Byte -->
+<A HREF="java.lang.Byte.html" class="hiddenlink" target="rightframe">Byte</A><br>
+<!-- Field BYTES -->
+<i>BYTES</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Byte.html#java.lang.Byte.BYTES" class="hiddenlink" target="rightframe">java.lang.Byte</A>
+</nobr><br>
+<!-- Field BYTES -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Character.html#java.lang.Character.BYTES" class="hiddenlink" target="rightframe">java.lang.Character</A>
+</nobr><br>
+<!-- Field BYTES -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Double.html#java.lang.Double.BYTES" class="hiddenlink" target="rightframe">java.lang.Double</A>
+</nobr><br>
+<!-- Field BYTES -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Float.html#java.lang.Float.BYTES" class="hiddenlink" target="rightframe">java.lang.Float</A>
+</nobr><br>
+<!-- Field BYTES -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Integer.html#java.lang.Integer.BYTES" class="hiddenlink" target="rightframe">java.lang.Integer</A>
+</nobr><br>
+<!-- Field BYTES -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Long.html#java.lang.Long.BYTES" class="hiddenlink" target="rightframe">java.lang.Long</A>
+</nobr><br>
+<!-- Field BYTES -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Short.html#java.lang.Short.BYTES" class="hiddenlink" target="rightframe">java.lang.Short</A>
+</nobr><br>
+<!-- Class Calendar -->
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.Calendar.html" class="hiddenlink" target="rightframe">Calendar</A><br>
+<!-- Class CalendarView -->
+<A HREF="android.widget.CalendarView.html" class="hiddenlink" target="rightframe">CalendarView</A><br>
+<!-- Class Call.Details -->
+<A HREF="android.telecom.Call.Details.html" class="hiddenlink" target="rightframe">Call.Details</A><br>
+<!-- Class CallLog.Calls -->
+<A HREF="android.provider.CallLog.Calls.html" class="hiddenlink" target="rightframe">CallLog.Calls</A><br>
+<!-- Class CallScreeningService -->
+<A HREF="pkg_android.telecom.html#CallScreeningService" class="hiddenlink" target="rightframe"><b>CallScreeningService</b></A><br>
+<!-- Class CallScreeningService.CallResponse -->
+<A HREF="pkg_android.telecom.html#CallScreeningService.CallResponse" class="hiddenlink" target="rightframe"><b>CallScreeningService.CallResponse</b></A><br>
+<!-- Class CallScreeningService.CallResponse.Builder -->
+<A HREF="pkg_android.telecom.html#CallScreeningService.CallResponse.Builder" class="hiddenlink" target="rightframe"><b>CallScreeningService.CallResponse.Builder</b></A><br>
+<!-- Class Camera -->
+<A HREF="android.hardware.Camera.html" class="hiddenlink" target="rightframe">Camera</A><br>
+<!-- Class CameraCaptureSession.CaptureCallback -->
+<A HREF="android.hardware.camera2.CameraCaptureSession.CaptureCallback.html" class="hiddenlink" target="rightframe">CameraCaptureSession.CaptureCallback</A><br>
+<!-- Class CameraCharacteristics -->
+<A HREF="android.hardware.camera2.CameraCharacteristics.html" class="hiddenlink" target="rightframe">CameraCharacteristics</A><br>
+<!-- Class CameraDevice -->
+<A HREF="android.hardware.camera2.CameraDevice.html" class="hiddenlink" target="rightframe">CameraDevice</A><br>
+<!-- Class CameraMetadata -->
+<A HREF="android.hardware.camera2.CameraMetadata.html" class="hiddenlink" target="rightframe">CameraMetadata</A><br>
+<!-- Method cancel -->
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.cancel_added(android.app.AlarmManager.OnAlarmListener)" class="hiddenlink" target="rightframe"><b>cancel</b>
+(<code>OnAlarmListener</code>)</A></nobr><br>
+<!-- Method cancelDragAndDrop -->
+<nobr><A HREF="android.view.View.html#android.view.View.cancelDragAndDrop_added()" class="hiddenlink" target="rightframe"><b>cancelDragAndDrop</b>
+()</A></nobr><br>
+<!-- Field canControlMagnification -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.canControlMagnification" class="hiddenlink" target="rightframe">canControlMagnification</A>
+</nobr><br>
+<!-- Field canPerformGestures -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.canPerformGestures" class="hiddenlink" target="rightframe">canPerformGestures</A>
+</nobr><br>
+<!-- Method canRecord -->
+<i>canRecord</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.canRecord_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.media.tv.TvInputInfo
+</A></nobr><br>
+<!-- Field canRecord -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.canRecord" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field CAPABILITY_CAN_CONTROL_MAGNIFICATION -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.CAPABILITY_CAN_CONTROL_MAGNIFICATION" class="hiddenlink" target="rightframe">CAPABILITY_CAN_CONTROL_MAGNIFICATION</A>
+</nobr><br>
+<!-- Field CAPABILITY_CAN_PERFORM_GESTURES -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.CAPABILITY_CAN_PERFORM_GESTURES" class="hiddenlink" target="rightframe">CAPABILITY_CAN_PERFORM_GESTURES</A>
+</nobr><br>
+<!-- Field CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION -->
+<nobr><A HREF="android.telecom.Connection.html#android.telecom.Connection.CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION" class="hiddenlink" target="rightframe">CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION</A>
+</nobr><br>
+<!-- Field CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO -->
+<i>CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.telecom.Call.Details.html#android.telecom.Call.Details.CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO" class="hiddenlink" target="rightframe">android.telecom.Call.Details</A>
+</nobr><br>
+<!-- Field CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.telecom.Connection.html#android.telecom.Connection.CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO" class="hiddenlink" target="rightframe">android.telecom.Connection</A>
+</nobr><br>
+<!-- Field CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE -->
+<nobr><A HREF="android.telecom.PhoneAccount.html#android.telecom.PhoneAccount.CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE" class="hiddenlink" target="rightframe">CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE</A>
+</nobr><br>
+<!-- Class CaptureRequest -->
+<A HREF="android.hardware.camera2.CaptureRequest.html" class="hiddenlink" target="rightframe">CaptureRequest</A><br>
+<!-- Class CaptureResult -->
+<A HREF="android.hardware.camera2.CaptureResult.html" class="hiddenlink" target="rightframe">CaptureResult</A><br>
+<!-- Class CarrierConfigManager -->
+<A HREF="android.telephony.CarrierConfigManager.html" class="hiddenlink" target="rightframe">CarrierConfigManager</A><br>
+<!-- Class CarrierMessagingService -->
+<A HREF="android.service.carrier.CarrierMessagingService.html" class="hiddenlink" target="rightframe">CarrierMessagingService</A><br>
+<!-- Class CellIdentityGsm -->
+<A HREF="android.telephony.CellIdentityGsm.html" class="hiddenlink" target="rightframe">CellIdentityGsm</A><br>
+<!-- Class CellIdentityLte -->
+<A HREF="android.telephony.CellIdentityLte.html" class="hiddenlink" target="rightframe">CellIdentityLte</A><br>
+<!-- Class CellIdentityWcdma -->
+<A HREF="android.telephony.CellIdentityWcdma.html" class="hiddenlink" target="rightframe">CellIdentityWcdma</A><br>
+<!-- Class CertificateRevokedException -->
+<A HREF="pkg_java.security.cert.html#CertificateRevokedException" class="hiddenlink" target="rightframe"><b>CertificateRevokedException</b></A><br>
+<!-- Class CertPathBuilder -->
+<A HREF="java.security.cert.CertPathBuilder.html" class="hiddenlink" target="rightframe">CertPathBuilder</A><br>
+<!-- Class CertPathBuilderSpi -->
+<A HREF="java.security.cert.CertPathBuilderSpi.html" class="hiddenlink" target="rightframe">CertPathBuilderSpi</A><br>
+<!-- Class CertPathChecker -->
+<A HREF="pkg_java.security.cert.html#CertPathChecker" class="hiddenlink" target="rightframe"><b><i>CertPathChecker</i></b></A><br>
+<!-- Class CertPathValidator -->
+<A HREF="java.security.cert.CertPathValidator.html" class="hiddenlink" target="rightframe">CertPathValidator</A><br>
+<!-- Class CertPathValidatorException -->
+<i>CertPathValidatorException</i><br>
+&nbsp;&nbsp;<A HREF="java.security.cert.CertPathValidatorException.html" class="hiddenlink" target="rightframe">java.security.cert</A><br>
+<!-- Constructor CertPathValidatorException -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.cert.CertPathValidatorException.html#java.security.cert.CertPathValidatorException.ctor_added(java.lang.String, java.lang.Throwable, java.security.cert.CertPath, int, java.security.cert.CertPathValidatorException.Reason)" class="hiddenlink" target="rightframe"><b>CertPathValidatorException</b>
+(<code>String, Throwable, CertPath, int, Reason</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class CertPathValidatorException.BasicReason -->
+<A HREF="pkg_java.security.cert.html#CertPathValidatorException.BasicReason" class="hiddenlink" target="rightframe"><b>CertPathValidatorException.BasicReason</b></A><br>
+<!-- Class CertPathValidatorException.Reason -->
+<A HREF="pkg_java.security.cert.html#CertPathValidatorException.Reason" class="hiddenlink" target="rightframe"><b><i>CertPathValidatorException.Reason</i></b></A><br>
+<!-- Class CertPathValidatorSpi -->
+<A HREF="java.security.cert.CertPathValidatorSpi.html" class="hiddenlink" target="rightframe">CertPathValidatorSpi</A><br>
+<!-- Class Character -->
+<A HREF="java.lang.Character.html" class="hiddenlink" target="rightframe">Character</A><br>
+<!-- Class Character.UnicodeBlock -->
+<A HREF="java.lang.Character.UnicodeBlock.html" class="hiddenlink" target="rightframe">Character.UnicodeBlock</A><br>
+<!-- Class Character.UnicodeScript -->
+<A HREF="pkg_java.lang.html#Character.UnicodeScript" class="hiddenlink" target="rightframe"><b>Character.UnicodeScript</b></A><br>
+<!-- Class CharBuffer -->
+<A HREF="java.nio.CharBuffer.html" class="hiddenlink" target="rightframe">CharBuffer</A><br>
+<!-- Method chars -->
+<i>chars</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.CharSequence.html#java.lang.CharSequence.chars_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.lang.CharSequence
+</A></nobr><br>
+<!-- Method chars -->
+&nbsp;&nbsp;<nobr><A HREF="java.nio.CharBuffer.html#java.nio.CharBuffer.chars_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.nio.CharBuffer
+</A></nobr><br>
+<!-- Class CharSequence -->
+<A HREF="java.lang.CharSequence.html" class="hiddenlink" target="rightframe"><i>CharSequence</i></A><br>
+<!-- Method check -->
+<nobr><A HREF="java.security.cert.PKIXCertPathChecker.html#java.security.cert.PKIXCertPathChecker.check_added(java.security.cert.Certificate)" class="hiddenlink" target="rightframe"><b>check</b>
+(<code>Certificate</code>)</A></nobr><br>
+<!-- Method checkAccess -->
+<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.checkAccess_changed()" class="hiddenlink" target="rightframe">checkAccess
+()</A></nobr><br>
+<!-- Class Chronometer -->
+<A HREF="android.widget.Chronometer.html" class="hiddenlink" target="rightframe">Chronometer</A><br>
+<!-- Class Class -->
+<A HREF="java.lang.Class.html" class="hiddenlink" target="rightframe">Class</A><br>
+<!-- Class ClassLoader -->
+<A HREF="java.lang.ClassLoader.html" class="hiddenlink" target="rightframe">ClassLoader</A><br>
+<!-- Method clear -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.clear_added(int)" class="hiddenlink" target="rightframe"><b>clear</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method clearCache -->
+<i>clearCache</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.clearCache_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<!-- Method clearCache -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.clearCache_changed(java.lang.ClassLoader)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>ClassLoader</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<!-- Method clearProfileOwner -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.clearProfileOwner_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>clearProfileOwner</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Class ClipDescription -->
+<A HREF="android.content.ClipDescription.html" class="hiddenlink" target="rightframe">ClipDescription</A><br>
+<!-- Method close -->
+<i>close</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContentProviderClient.html#android.content.ContentProviderClient.close_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContentProviderClient
+</A></nobr><br>
+<!-- Method close -->
+&nbsp;&nbsp;<nobr><A HREF="android.drm.DrmManagerClient.html#android.drm.DrmManagerClient.close_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.drm.DrmManagerClient
+</A></nobr><br>
+<!-- Method close -->
+&nbsp;&nbsp;<nobr><A HREF="java.net.URLClassLoader.html#java.net.URLClassLoader.close_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.net.URLClassLoader
+</A></nobr><br>
+<!-- Method close -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.close_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.logging.Handler
+</A></nobr><br>
+<!-- Method close -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.MemoryHandler.html#java.util.logging.MemoryHandler.close_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.logging.MemoryHandler
+</A></nobr><br>
+<!-- Method close -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.StreamHandler.html#java.util.logging.StreamHandler.close_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.logging.StreamHandler
+</A></nobr><br>
+<!-- Method closeConnection -->
+<i>closeConnection</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.BaseInputConnection.html#android.view.inputmethod.BaseInputConnection.closeConnection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.BaseInputConnection
+</A></nobr><br>
+<!-- Method closeConnection -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnection.html#android.view.inputmethod.InputConnection.closeConnection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnection
+</A></nobr><br>
+<!-- Method closeConnection -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnectionWrapper.html#android.view.inputmethod.InputConnectionWrapper.closeConnection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnectionWrapper
+</A></nobr><br>
+<!-- Field closed -->
+<nobr><A HREF="java.util.zip.InflaterInputStream.html#java.util.zip.InflaterInputStream.closed" class="hiddenlink" target="rightframe">closed</A>
+</nobr><br>
+<!-- Method codePoints -->
+<nobr><A HREF="java.lang.CharSequence.html#java.lang.CharSequence.codePoints_added()" class="hiddenlink" target="rightframe"><b>codePoints</b>
+()</A></nobr><br>
+<!-- Class CoderResult -->
+<A HREF="java.nio.charset.CoderResult.html" class="hiddenlink" target="rightframe">CoderResult</A><br>
+<!-- Field collapseIcon -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.collapseIcon" class="hiddenlink" target="rightframe">collapseIcon</A>
+</nobr><br>
+<!-- Class Collection -->
+<A HREF="java.util.Collection.html" class="hiddenlink" target="rightframe"><i>Collection</i></A><br>
+<!-- Class Collections -->
+<A HREF="java.util.Collections.html" class="hiddenlink" target="rightframe">Collections</A><br>
+<!-- Class Color -->
+<A HREF="android.graphics.Color.html" class="hiddenlink" target="rightframe">Color</A><br>
+<!-- Field COLOR_RANGE_FULL -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_RANGE_FULL" class="hiddenlink" target="rightframe">COLOR_RANGE_FULL</A>
+</nobr><br>
+<!-- Field COLOR_RANGE_LIMITED -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_RANGE_LIMITED" class="hiddenlink" target="rightframe">COLOR_RANGE_LIMITED</A>
+</nobr><br>
+<!-- Field COLOR_STANDARD_BT2020 -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_STANDARD_BT2020" class="hiddenlink" target="rightframe">COLOR_STANDARD_BT2020</A>
+</nobr><br>
+<!-- Field COLOR_STANDARD_BT601_NTSC -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_STANDARD_BT601_NTSC" class="hiddenlink" target="rightframe">COLOR_STANDARD_BT601_NTSC</A>
+</nobr><br>
+<!-- Field COLOR_STANDARD_BT601_PAL -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_STANDARD_BT601_PAL" class="hiddenlink" target="rightframe">COLOR_STANDARD_BT601_PAL</A>
+</nobr><br>
+<!-- Field COLOR_STANDARD_BT709 -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_STANDARD_BT709" class="hiddenlink" target="rightframe">COLOR_STANDARD_BT709</A>
+</nobr><br>
+<!-- Field COLOR_TRANSFER_HLG -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_TRANSFER_HLG" class="hiddenlink" target="rightframe">COLOR_TRANSFER_HLG</A>
+</nobr><br>
+<!-- Field COLOR_TRANSFER_LINEAR -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_TRANSFER_LINEAR" class="hiddenlink" target="rightframe">COLOR_TRANSFER_LINEAR</A>
+</nobr><br>
+<!-- Field COLOR_TRANSFER_SDR_VIDEO -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_TRANSFER_SDR_VIDEO" class="hiddenlink" target="rightframe">COLOR_TRANSFER_SDR_VIDEO</A>
+</nobr><br>
+<!-- Field COLOR_TRANSFER_ST2084 -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_TRANSFER_ST2084" class="hiddenlink" target="rightframe">COLOR_TRANSFER_ST2084</A>
+</nobr><br>
+<!-- Field COLUMN_CAPACITY_BYTES -->
+<nobr><A HREF="android.provider.DocumentsContract.Root.html#android.provider.DocumentsContract.Root.COLUMN_CAPACITY_BYTES" class="hiddenlink" target="rightframe">COLUMN_CAPACITY_BYTES</A>
+</nobr><br>
+<!-- Field COLUMN_EPISODE_DISPLAY_NUMBER -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_EPISODE_DISPLAY_NUMBER" class="hiddenlink" target="rightframe">COLUMN_EPISODE_DISPLAY_NUMBER</A>
+</nobr><br>
+<!-- Field COLUMN_EPISODE_NUMBER -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_EPISODE_NUMBER" class="hiddenlink" target="rightframe">COLUMN_EPISODE_NUMBER</A>
+</nobr><br>
+<!-- Field COLUMN_LOCAL_FILENAME -->
+<nobr><A HREF="android.app.DownloadManager.html#android.app.DownloadManager.COLUMN_LOCAL_FILENAME" class="hiddenlink" target="rightframe">COLUMN_LOCAL_FILENAME</A>
+</nobr><br>
+<!-- Field COLUMN_RECORDING_PROHIBITED -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_RECORDING_PROHIBITED" class="hiddenlink" target="rightframe">COLUMN_RECORDING_PROHIBITED</A>
+</nobr><br>
+<!-- Field COLUMN_SEASON_DISPLAY_NUMBER -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_SEASON_DISPLAY_NUMBER" class="hiddenlink" target="rightframe">COLUMN_SEASON_DISPLAY_NUMBER</A>
+</nobr><br>
+<!-- Field COLUMN_SEASON_NUMBER -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_SEASON_NUMBER" class="hiddenlink" target="rightframe">COLUMN_SEASON_NUMBER</A>
+</nobr><br>
+<!-- Field COLUMN_SEASON_TITLE -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_SEASON_TITLE" class="hiddenlink" target="rightframe">COLUMN_SEASON_TITLE</A>
+</nobr><br>
+<!-- Method commitNow -->
+<nobr><A HREF="android.app.FragmentTransaction.html#android.app.FragmentTransaction.commitNow_added()" class="hiddenlink" target="rightframe"><b>commitNow</b>
+()</A></nobr><br>
+<!-- Method commitNowAllowingStateLoss -->
+<nobr><A HREF="android.app.FragmentTransaction.html#android.app.FragmentTransaction.commitNowAllowingStateLoss_added()" class="hiddenlink" target="rightframe"><b>commitNowAllowingStateLoss</b>
+()</A></nobr><br>
+<!-- Class CommonDataSource -->
+<A HREF="javax.sql.CommonDataSource.html" class="hiddenlink" target="rightframe"><i>CommonDataSource</i></A><br>
+<!-- Method commonPool -->
+<nobr><A HREF="java.util.concurrent.ForkJoinPool.html#java.util.concurrent.ForkJoinPool.commonPool_added()" class="hiddenlink" target="rightframe"><b>commonPool</b>
+()</A></nobr><br>
+<!-- Class Comparator -->
+<A HREF="java.util.Comparator.html" class="hiddenlink" target="rightframe"><i>Comparator</i></A><br>
+<!-- Method compareAndSetForkJoinTaskTag -->
+<nobr><A HREF="java.util.concurrent.ForkJoinTask.html#java.util.concurrent.ForkJoinTask.compareAndSetForkJoinTaskTag_added(short, short)" class="hiddenlink" target="rightframe"><b>compareAndSetForkJoinTaskTag</b>
+(<code>short, short</code>)</A></nobr><br>
+<!-- Method comparing -->
+<i>comparing</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparing_added(java.util.function.Function<? super T, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Function&lt;? super T, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+<!-- Method comparing -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparing_added(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Function&lt;? super T, ? extends U&gt;, Comparator&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+<!-- Method comparingByKey -->
+<i>comparingByKey</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.Entry.html#java.util.Map.Entry.comparingByKey_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Map.Entry
+</A></nobr><br>
+<!-- Method comparingByKey -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.Entry.html#java.util.Map.Entry.comparingByKey_added(java.util.Comparator<? super K>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super K&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map.Entry
+</A></nobr><br>
+<!-- Method comparingByValue -->
+<i>comparingByValue</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.Entry.html#java.util.Map.Entry.comparingByValue_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Map.Entry
+</A></nobr><br>
+<!-- Method comparingByValue -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.Entry.html#java.util.Map.Entry.comparingByValue_added(java.util.Comparator<? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map.Entry
+</A></nobr><br>
+<!-- Method comparingDouble -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparingDouble_added(java.util.function.ToDoubleFunction<? super T>)" class="hiddenlink" target="rightframe"><b>comparingDouble</b>
+(<code>ToDoubleFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<!-- Method comparingInt -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparingInt_added(java.util.function.ToIntFunction<? super T>)" class="hiddenlink" target="rightframe"><b>comparingInt</b>
+(<code>ToIntFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<!-- Method comparingLong -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparingLong_added(java.util.function.ToLongFunction<? super T>)" class="hiddenlink" target="rightframe"><b>comparingLong</b>
+(<code>ToLongFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<!-- Class CompletableFuture -->
+<A HREF="pkg_java.util.concurrent.html#CompletableFuture" class="hiddenlink" target="rightframe"><b>CompletableFuture</b></A><br>
+<!-- Class CompletableFuture.AsynchronousCompletionTask -->
+<A HREF="pkg_java.util.concurrent.html#CompletableFuture.AsynchronousCompletionTask" class="hiddenlink" target="rightframe"><b><i>CompletableFuture.AsynchronousCompletionTask</i></b></A><br>
+<!-- Class CompletionException -->
+<A HREF="pkg_java.util.concurrent.html#CompletionException" class="hiddenlink" target="rightframe"><b>CompletionException</b></A><br>
+<!-- Class CompletionStage -->
+<A HREF="pkg_java.util.concurrent.html#CompletionStage" class="hiddenlink" target="rightframe"><b><i>CompletionStage</i></b></A><br>
+<!-- Class ComponentInfo -->
+<A HREF="android.content.pm.ComponentInfo.html" class="hiddenlink" target="rightframe">ComponentInfo</A><br>
+<!-- Method compute -->
+<i>compute</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method compute -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method compute -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method compute -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<!-- Method computeIfAbsent -->
+<i>computeIfAbsent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, Function&lt;? super K, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method computeIfAbsent -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, Function&lt;? super K, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method computeIfAbsent -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, Function&lt;? super K, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method computeIfAbsent -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, Function&lt;? super K, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<!-- Method computeIfPresent -->
+<i>computeIfPresent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method computeIfPresent -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method computeIfPresent -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method computeIfPresent -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<!-- Class ConcurrentHashMap -->
+<A HREF="java.util.concurrent.ConcurrentHashMap.html" class="hiddenlink" target="rightframe">ConcurrentHashMap</A><br>
+<!-- Class ConcurrentHashMap.CollectionView -->
+<A HREF="pkg_java.util.concurrent.html#ConcurrentHashMap.CollectionView" class="hiddenlink" target="rightframe"><b>ConcurrentHashMap.CollectionView</b></A><br>
+<!-- Class ConcurrentHashMap.KeySetView -->
+<A HREF="pkg_java.util.concurrent.html#ConcurrentHashMap.KeySetView" class="hiddenlink" target="rightframe"><b>ConcurrentHashMap.KeySetView</b></A><br>
+<!-- Class ConcurrentLinkedDeque -->
+<A HREF="java.util.concurrent.ConcurrentLinkedDeque.html" class="hiddenlink" target="rightframe">ConcurrentLinkedDeque</A><br>
+<!-- Class ConcurrentLinkedQueue -->
+<A HREF="java.util.concurrent.ConcurrentLinkedQueue.html" class="hiddenlink" target="rightframe">ConcurrentLinkedQueue</A><br>
+<!-- Class ConcurrentSkipListMap -->
+<A HREF="java.util.concurrent.ConcurrentSkipListMap.html" class="hiddenlink" target="rightframe">ConcurrentSkipListMap</A><br>
+<!-- Class ConcurrentSkipListSet -->
+<A HREF="java.util.concurrent.ConcurrentSkipListSet.html" class="hiddenlink" target="rightframe">ConcurrentSkipListSet</A><br>
+<!-- Class Condition -->
+<A HREF="pkg_android.service.notification.html#Condition" class="hiddenlink" target="rightframe"><b>Condition</b></A><br>
+<!-- Class ConditionProviderService -->
+<A HREF="pkg_android.service.notification.html#ConditionProviderService" class="hiddenlink" target="rightframe"><b>ConditionProviderService</b></A><br>
+<!-- Class Configuration -->
+<A HREF="android.content.res.Configuration.html" class="hiddenlink" target="rightframe">Configuration</A><br>
+<!-- Class Connection -->
+<A HREF="android.telecom.Connection.html" class="hiddenlink" target="rightframe">Connection</A><br>
+<!-- Class ConnectionEvent -->
+<A HREF="javax.sql.ConnectionEvent.html" class="hiddenlink" target="rightframe">ConnectionEvent</A><br>
+<!-- Class ConnectionService -->
+<A HREF="android.telecom.ConnectionService.html" class="hiddenlink" target="rightframe">ConnectionService</A><br>
+<!-- Class ConnectivityManager -->
+<A HREF="android.net.ConnectivityManager.html" class="hiddenlink" target="rightframe">ConnectivityManager</A><br>
+<!-- Class Constructor -->
+<A HREF="java.lang.reflect.Constructor.html" class="hiddenlink" target="rightframe">Constructor</A><br>
+<!-- Field CONTACT_ID -->
+<nobr><A HREF="android.provider.ContactsContract.PhoneLookupColumns.html#android.provider.ContactsContract.PhoneLookupColumns.CONTACT_ID" class="hiddenlink" target="rightframe">CONTACT_ID</A>
+</nobr><br>
+<!-- Field CONTACT_METADATA_SYNC_ENABLED -->
+<nobr><A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.CONTACT_METADATA_SYNC_ENABLED" class="hiddenlink" target="rightframe">CONTACT_METADATA_SYNC_ENABLED</A>
+</nobr><br>
+<!-- Class ContactsContract.CommonDataKinds.Callable -->
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Callable.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Callable</A><br>
+<!-- Class ContactsContract.CommonDataKinds.Email -->
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Email.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Email</A><br>
+<!-- Class ContactsContract.CommonDataKinds.Organization -->
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Organization.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Organization</A><br>
+<!-- Class ContactsContract.CommonDataKinds.Phone -->
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Phone.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Phone</A><br>
+<!-- Class ContactsContract.CommonDataKinds.StructuredName -->
+<A HREF="android.provider.ContactsContract.CommonDataKinds.StructuredName.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.StructuredName</A><br>
+<!-- Class ContactsContract.Contacts -->
+<A HREF="android.provider.ContactsContract.Contacts.html" class="hiddenlink" target="rightframe">ContactsContract.Contacts</A><br>
+<!-- Class ContactsContract.Directory -->
+<A HREF="android.provider.ContactsContract.Directory.html" class="hiddenlink" target="rightframe">ContactsContract.Directory</A><br>
+<!-- Class ContactsContract.Intents -->
+<A HREF="android.provider.ContactsContract.Intents.html" class="hiddenlink" target="rightframe">ContactsContract.Intents</A><br>
+<!-- Class ContactsContract.PhoneLookupColumns -->
+<A HREF="android.provider.ContactsContract.PhoneLookupColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.PhoneLookupColumns</i></A><br>
+<!-- Class ContactsContract.RawContactsColumns -->
+<A HREF="android.provider.ContactsContract.RawContactsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.RawContactsColumns</i></A><br>
+<!-- Method contains -->
+<nobr><A HREF="android.media.tv.TvContentRating.html#android.media.tv.TvContentRating.contains_added(android.media.tv.TvContentRating)" class="hiddenlink" target="rightframe"><b>contains</b>
+(<code>TvContentRating</code>)</A></nobr><br>
+<!-- Field contentInsetEndWithActions -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentInsetEndWithActions" class="hiddenlink" target="rightframe">contentInsetEndWithActions</A>
+</nobr><br>
+<!-- Field contentInsetStartWithNavigation -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentInsetStartWithNavigation" class="hiddenlink" target="rightframe">contentInsetStartWithNavigation</A>
+</nobr><br>
+<!-- Class ContentProviderClient -->
+<A HREF="android.content.ContentProviderClient.html" class="hiddenlink" target="rightframe">ContentProviderClient</A><br>
+<!-- Class ContentResolver -->
+<A HREF="android.content.ContentResolver.html" class="hiddenlink" target="rightframe">ContentResolver</A><br>
+<!-- Field contentView -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.contentView" class="hiddenlink" target="rightframe">contentView</A>
+</nobr><br>
+<!-- Class Context -->
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<!-- Field contextPopupMenuStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.contextPopupMenuStyle" class="hiddenlink" target="rightframe">contextPopupMenuStyle</A>
+</nobr><br>
+<!-- Class ContextWrapper -->
+<A HREF="android.content.ContextWrapper.html" class="hiddenlink" target="rightframe">ContextWrapper</A><br>
+<!-- Field CONTROL_POST_RAW_SENSITIVITY_BOOST -->
+<i>CONTROL_POST_RAW_SENSITIVITY_BOOST</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.hardware.camera2.CaptureRequest.html#android.hardware.camera2.CaptureRequest.CONTROL_POST_RAW_SENSITIVITY_BOOST" class="hiddenlink" target="rightframe">android.hardware.camera2.CaptureRequest</A>
+</nobr><br>
+<!-- Field CONTROL_POST_RAW_SENSITIVITY_BOOST -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.hardware.camera2.CaptureResult.html#android.hardware.camera2.CaptureResult.CONTROL_POST_RAW_SENSITIVITY_BOOST" class="hiddenlink" target="rightframe">android.hardware.camera2.CaptureResult</A>
+</nobr><br>
+<!-- Field CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE -->
+<nobr><A HREF="android.hardware.camera2.CameraCharacteristics.html#android.hardware.camera2.CameraCharacteristics.CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE" class="hiddenlink" target="rightframe">CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE</A>
+</nobr><br>
+<!-- Method copyDocument -->
+<i>copyDocument</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.copyDocument_added(android.content.ContentResolver, android.net.Uri, android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, Uri, Uri</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsContract
+</A></nobr><br>
+<!-- Method copyDocument -->
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.copyDocument_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsProvider
+</A></nobr><br>
+<!-- Class CopyOnWriteArrayList -->
+<A HREF="java.util.concurrent.CopyOnWriteArrayList.html" class="hiddenlink" target="rightframe">CopyOnWriteArrayList</A><br>
+<!-- Class CopyOnWriteArraySet -->
+<A HREF="java.util.concurrent.CopyOnWriteArraySet.html" class="hiddenlink" target="rightframe">CopyOnWriteArraySet</A><br>
+<!-- Field countDown -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.countDown" class="hiddenlink" target="rightframe">countDown</A>
+</nobr><br>
+<!-- Class CountedCompleter -->
+<A HREF="pkg_java.util.concurrent.html#CountedCompleter" class="hiddenlink" target="rightframe"><b>CountedCompleter</b></A><br>
+<!-- Class CpuUsageInfo -->
+<A HREF="pkg_android.os.html#CpuUsageInfo" class="hiddenlink" target="rightframe"><b>CpuUsageInfo</b></A><br>
+<!-- Method createAllocations -->
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.createAllocations_added(android.renderscript.RenderScript, android.renderscript.Type, int, int)" class="hiddenlink" target="rightframe"><b>createAllocations</b>
+(<code>RenderScript, Type, int, int</code>)</A></nobr><br>
+<!-- Method createAndInitializeUser -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.createAndInitializeUser_removed(android.content.ComponentName, java.lang.String, java.lang.String, android.content.ComponentName, android.os.Bundle)" class="hiddenlink" target="rightframe"><strike>createAndInitializeUser</strike>
+(<code>ComponentName, String, String, ComponentName, Bundle</code>)</A></nobr><br>
+<!-- Method createAndManageUser -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.createAndManageUser_added(android.content.ComponentName, java.lang.String, android.content.ComponentName, android.os.PersistableBundle, int)" class="hiddenlink" target="rightframe"><b>createAndManageUser</b>
+(<code>ComponentName, String, ComponentName, PersistableBundle, int</code>)</A></nobr><br>
+<!-- Method createBigContentView -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.createBigContentView_added()" class="hiddenlink" target="rightframe"><b>createBigContentView</b>
+()</A></nobr><br>
+<!-- Method createCaptureSessionByOutputConfigurations -->
+<nobr><A HREF="android.hardware.camera2.CameraDevice.html#android.hardware.camera2.CameraDevice.createCaptureSessionByOutputConfigurations_added(java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler)" class="hiddenlink" target="rightframe"><b>createCaptureSessionByOutputConfigurations</b>
+(<code>List&lt;OutputConfiguration&gt;, StateCallback, Handler</code>)</A></nobr><br>
+<!-- Method createContentView -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.createContentView_added()" class="hiddenlink" target="rightframe"><b>createContentView</b>
+()</A></nobr><br>
+<!-- Method createDeviceProtectedStorageContext -->
+<i>createDeviceProtectedStorageContext</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.createDeviceProtectedStorageContext_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method createDeviceProtectedStorageContext -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.createDeviceProtectedStorageContext_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method createDeviceProtectedStorageContext -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.createDeviceProtectedStorageContext_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Method createForSubscriptionId -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.createForSubscriptionId_added(int)" class="hiddenlink" target="rightframe"><b>createForSubscriptionId</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method createHeadsUpContentView -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.createHeadsUpContentView_added()" class="hiddenlink" target="rightframe"><b>createHeadsUpContentView</b>
+()</A></nobr><br>
+<!-- Method createManageBlockedNumbersIntent -->
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.createManageBlockedNumbersIntent_added()" class="hiddenlink" target="rightframe"><b>createManageBlockedNumbersIntent</b>
+()</A></nobr><br>
+<!-- Method createReprocessableCaptureSessionByConfigurations -->
+<nobr><A HREF="android.hardware.camera2.CameraDevice.html#android.hardware.camera2.CameraDevice.createReprocessableCaptureSessionByConfigurations_added(android.hardware.camera2.params.InputConfiguration, java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler)" class="hiddenlink" target="rightframe"><b>createReprocessableCaptureSessionByConfigurations</b>
+(<code>InputConfiguration, List&lt;OutputConfiguration&gt;, StateCallback, Handler</code>)</A></nobr><br>
+<!-- Method createUser -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.createUser_removed(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe"><strike>createUser</strike>
+(<code>ComponentName, String</code>)</A></nobr><br>
+<!-- Method createUserCreationIntent -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.createUserCreationIntent_added(java.lang.String, java.lang.String, java.lang.String, android.os.PersistableBundle)" class="hiddenlink" target="rightframe"><b>createUserCreationIntent</b>
+(<code>String, String, String, PersistableBundle</code>)</A></nobr><br>
+<!-- Field CREATOR -->
+<i>CREATOR</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.bluetooth.BluetoothGattCharacteristic.html#android.bluetooth.BluetoothGattCharacteristic.CREATOR" class="hiddenlink" target="rightframe">android.bluetooth.BluetoothGattCharacteristic</A>
+</nobr><br>
+<!-- Field CREATOR -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.bluetooth.BluetoothGattDescriptor.html#android.bluetooth.BluetoothGattDescriptor.CREATOR" class="hiddenlink" target="rightframe">android.bluetooth.BluetoothGattDescriptor</A>
+</nobr><br>
+<!-- Field CREATOR -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.bluetooth.BluetoothGattService.html#android.bluetooth.BluetoothGattService.CREATOR" class="hiddenlink" target="rightframe">android.bluetooth.BluetoothGattService</A>
+</nobr><br>
+<!-- Field CREATOR -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioFormat.html#android.media.AudioFormat.CREATOR" class="hiddenlink" target="rightframe">android.media.AudioFormat</A>
+</nobr><br>
+<!-- Field CREATOR -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.net.NetworkInfo.html#android.net.NetworkInfo.CREATOR" class="hiddenlink" target="rightframe">android.net.NetworkInfo</A>
+</nobr><br>
+<!-- Class CRLReason -->
+<A HREF="pkg_java.security.cert.html#CRLReason" class="hiddenlink" target="rightframe"><b>CRLReason</b></A><br>
+<!-- Field CRYPTO_MODE_AES_CBC -->
+<nobr><A HREF="android.media.MediaCodec.html#android.media.MediaCodec.CRYPTO_MODE_AES_CBC" class="hiddenlink" target="rightframe">CRYPTO_MODE_AES_CBC</A>
+</nobr><br>
+<!-- Class CryptoPrimitive -->
+<A HREF="pkg_java.security.html#CryptoPrimitive" class="hiddenlink" target="rightframe"><b>CryptoPrimitive</b></A><br>
+<!-- Class Currency -->
+<A HREF="java.util.Currency.html" class="hiddenlink" target="rightframe">Currency</A><br>
+<!-- Class CursorJoiner -->
+<A HREF="android.database.CursorJoiner.html" class="hiddenlink" target="rightframe">CursorJoiner</A><br>
+<!-- Class CustomPrinterIconCallback -->
+<A HREF="pkg_android.printservice.html#CustomPrinterIconCallback" class="hiddenlink" target="rightframe"><b>CustomPrinterIconCallback</b></A><br>
+<!-- Field DATA_CHANNEL_STATE_BAD_CONFIGURATION -->
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_BAD_CONFIGURATION" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_BAD_CONFIGURATION</A>
+</nobr><br>
+<!-- Field DATA_CHANNEL_STATE_COMMUNICATION_ERROR -->
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_COMMUNICATION_ERROR" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_COMMUNICATION_ERROR</A>
+</nobr><br>
+<!-- Field DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED -->
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED</A>
+</nobr><br>
+<!-- Field DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR -->
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR</A>
+</nobr><br>
+<!-- Field DATA_CHANNEL_STATE_SERVER_ERROR -->
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_SERVER_ERROR" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_SERVER_ERROR</A>
+</nobr><br>
+<!-- Field DATA_ID -->
+<nobr><A HREF="android.provider.ContactsContract.PhoneLookupColumns.html#android.provider.ContactsContract.PhoneLookupColumns.DATA_ID" class="hiddenlink" target="rightframe">DATA_ID</A>
+</nobr><br>
+<!-- Class DatagramChannel -->
+<A HREF="java.nio.channels.DatagramChannel.html" class="hiddenlink" target="rightframe">DatagramChannel</A><br>
+<!-- Class DataTruncation -->
+<A HREF="java.sql.DataTruncation.html" class="hiddenlink" target="rightframe">DataTruncation</A><br>
+<!-- Class DatePicker -->
+<A HREF="android.widget.DatePicker.html" class="hiddenlink" target="rightframe">DatePicker</A><br>
+<!-- Class DatePickerDialog -->
+<i>DatePickerDialog</i><br>
+&nbsp;&nbsp;<A HREF="android.app.DatePickerDialog.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor DatePickerDialog -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.DatePickerDialog.html#android.app.DatePickerDialog.ctor_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>DatePickerDialog</b>
+(<code>Context</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor DatePickerDialog -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.DatePickerDialog.html#android.app.DatePickerDialog.ctor_added(android.content.Context, int)" class="hiddenlink" target="rightframe"><b>DatePickerDialog</b>
+(<code>Context, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class DeadSystemException -->
+<A HREF="pkg_android.os.html#DeadSystemException" class="hiddenlink" target="rightframe"><b>DeadSystemException</b></A><br>
+<!-- Class DecimalFormatSymbols -->
+<A HREF="java.text.DecimalFormatSymbols.html" class="hiddenlink" target="rightframe">DecimalFormatSymbols</A><br>
+<!-- Field DECOR_CAPTION_SHADE_AUTO -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.DECOR_CAPTION_SHADE_AUTO" class="hiddenlink" target="rightframe">DECOR_CAPTION_SHADE_AUTO</A>
+</nobr><br>
+<!-- Field DECOR_CAPTION_SHADE_DARK -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.DECOR_CAPTION_SHADE_DARK" class="hiddenlink" target="rightframe">DECOR_CAPTION_SHADE_DARK</A>
+</nobr><br>
+<!-- Field DECOR_CAPTION_SHADE_LIGHT -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.DECOR_CAPTION_SHADE_LIGHT" class="hiddenlink" target="rightframe">DECOR_CAPTION_SHADE_LIGHT</A>
+</nobr><br>
+<!-- Method decrementExact -->
+<i>decrementExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.decrementExact_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method decrementExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.decrementExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method defaulted -->
+<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.defaulted_changed(java.lang.String)" class="hiddenlink" target="rightframe">defaulted
+(<code>String</code>)</A></nobr><br>
+<!-- Field defaultHeight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.defaultHeight" class="hiddenlink" target="rightframe">defaultHeight</A>
+</nobr><br>
+<!-- Method defaultReadObject -->
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.defaultReadObject_changed()" class="hiddenlink" target="rightframe">defaultReadObject
+()</A></nobr><br>
+<!-- Field defaultToDeviceProtectedStorage -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.defaultToDeviceProtectedStorage" class="hiddenlink" target="rightframe">defaultToDeviceProtectedStorage</A>
+</nobr><br>
+<!-- Field defaultWidth -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.defaultWidth" class="hiddenlink" target="rightframe">defaultWidth</A>
+</nobr><br>
+<!-- Method deleteSharedPreferences -->
+<i>deleteSharedPreferences</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.deleteSharedPreferences_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method deleteSharedPreferences -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.deleteSharedPreferences_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method deleteSharedPreferences -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.deleteSharedPreferences_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Method deleteSurroundingTextInCodePoints -->
+<i>deleteSurroundingTextInCodePoints</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.BaseInputConnection.html#android.view.inputmethod.BaseInputConnection.deleteSurroundingTextInCodePoints_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.BaseInputConnection
+</A></nobr><br>
+<!-- Method deleteSurroundingTextInCodePoints -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnection.html#android.view.inputmethod.InputConnection.deleteSurroundingTextInCodePoints_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnection
+</A></nobr><br>
+<!-- Method deleteSurroundingTextInCodePoints -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnectionWrapper.html#android.view.inputmethod.InputConnectionWrapper.deleteSurroundingTextInCodePoints_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnectionWrapper
+</A></nobr><br>
+<!-- Field DENSITY_DEVICE_STABLE -->
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_DEVICE_STABLE" class="hiddenlink" target="rightframe">DENSITY_DEVICE_STABLE</A>
+</nobr><br>
+<!-- Method describeContents -->
+<i>describeContents</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattCharacteristic.html#android.bluetooth.BluetoothGattCharacteristic.describeContents_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattCharacteristic
+</A></nobr><br>
+<!-- Method describeContents -->
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattDescriptor.html#android.bluetooth.BluetoothGattDescriptor.describeContents_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattDescriptor
+</A></nobr><br>
+<!-- Method describeContents -->
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattService.html#android.bluetooth.BluetoothGattService.describeContents_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattService
+</A></nobr><br>
+<!-- Method describeContents -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioFormat.html#android.media.AudioFormat.describeContents_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.media.AudioFormat
+</A></nobr><br>
+<!-- Field DEVICE_TYPE_BLUETOOTH -->
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.DEVICE_TYPE_BLUETOOTH" class="hiddenlink" target="rightframe">DEVICE_TYPE_BLUETOOTH</A>
+</nobr><br>
+<!-- Field DEVICE_TYPE_SPEAKER -->
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.DEVICE_TYPE_SPEAKER" class="hiddenlink" target="rightframe">DEVICE_TYPE_SPEAKER</A>
+</nobr><br>
+<!-- Field DEVICE_TYPE_TV -->
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.DEVICE_TYPE_TV" class="hiddenlink" target="rightframe">DEVICE_TYPE_TV</A>
+</nobr><br>
+<!-- Field DEVICE_TYPE_UNKNOWN -->
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.DEVICE_TYPE_UNKNOWN" class="hiddenlink" target="rightframe">DEVICE_TYPE_UNKNOWN</A>
+</nobr><br>
+<!-- Class DeviceAdminReceiver -->
+<A HREF="android.app.admin.DeviceAdminReceiver.html" class="hiddenlink" target="rightframe">DeviceAdminReceiver</A><br>
+<!-- Class DevicePolicyManager -->
+<A HREF="android.app.admin.DevicePolicyManager.html" class="hiddenlink" target="rightframe">DevicePolicyManager</A><br>
+<!-- Field deviceProtectedDataDir -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.deviceProtectedDataDir" class="hiddenlink" target="rightframe">deviceProtectedDataDir</A>
+</nobr><br>
+<!-- Field directBootAware -->
+<i>directBootAware</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.directBootAware" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field directBootAware -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ComponentInfo.html#android.content.pm.ComponentInfo.directBootAware" class="hiddenlink" target="rightframe">android.content.pm.ComponentInfo</A>
+</nobr><br>
+<!-- Method disableSelf -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.disableSelf_added()" class="hiddenlink" target="rightframe"><b>disableSelf</b>
+()</A></nobr><br>
+<!-- Field DISALLOW_DATA_ROAMING -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.DISALLOW_DATA_ROAMING" class="hiddenlink" target="rightframe">DISALLOW_DATA_ROAMING</A>
+</nobr><br>
+<!-- Field DISALLOW_SET_USER_ICON -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.DISALLOW_SET_USER_ICON" class="hiddenlink" target="rightframe">DISALLOW_SET_USER_ICON</A>
+</nobr><br>
+<!-- Field DISALLOW_SET_WALLPAPER -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.DISALLOW_SET_WALLPAPER" class="hiddenlink" target="rightframe">DISALLOW_SET_WALLPAPER</A>
+</nobr><br>
+<!-- Method dismissKeyboardShortcutsHelper -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.dismissKeyboardShortcutsHelper_added()" class="hiddenlink" target="rightframe"><b>dismissKeyboardShortcutsHelper</b>
+()</A></nobr><br>
+<!-- Method dispatchFinishTemporaryDetach -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchFinishTemporaryDetach_added()" class="hiddenlink" target="rightframe"><b>dispatchFinishTemporaryDetach</b>
+()</A></nobr><br>
+<!-- Method dispatchGesture -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.dispatchGesture_added(android.accessibilityservice.GestureDescription, android.accessibilityservice.AccessibilityService.GestureResultCallback, android.os.Handler)" class="hiddenlink" target="rightframe"><b>dispatchGesture</b>
+(<code>GestureDescription, GestureResultCallback, Handler</code>)</A></nobr><br>
+<!-- Method dispatchKeyEventFromInputMethod -->
+<nobr><A HREF="android.view.inputmethod.InputMethodManager.html#android.view.inputmethod.InputMethodManager.dispatchKeyEventFromInputMethod_added(android.view.View, android.view.KeyEvent)" class="hiddenlink" target="rightframe"><b>dispatchKeyEventFromInputMethod</b>
+(<code>View, KeyEvent</code>)</A></nobr><br>
+<!-- Method dispatchMultiWindowModeChanged -->
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.dispatchMultiWindowModeChanged_added(boolean)" class="hiddenlink" target="rightframe"><b>dispatchMultiWindowModeChanged</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method dispatchPictureInPictureModeChanged -->
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.dispatchPictureInPictureModeChanged_added(boolean)" class="hiddenlink" target="rightframe"><b>dispatchPictureInPictureModeChanged</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method dispatchStartTemporaryDetach -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchStartTemporaryDetach_added()" class="hiddenlink" target="rightframe"><b>dispatchStartTemporaryDetach</b>
+()</A></nobr><br>
+<!-- Class Display -->
+<A HREF="android.view.Display.html" class="hiddenlink" target="rightframe">Display</A><br>
+<!-- Class Display.HdrCapabilities -->
+<A HREF="pkg_android.view.html#Display.HdrCapabilities" class="hiddenlink" target="rightframe"><b>Display.HdrCapabilities</b></A><br>
+<!-- Class DisplayMetrics -->
+<A HREF="android.util.DisplayMetrics.html" class="hiddenlink" target="rightframe">DisplayMetrics</A><br>
+<!-- Class DocumentsContract -->
+<A HREF="android.provider.DocumentsContract.html" class="hiddenlink" target="rightframe">DocumentsContract</A><br>
+<!-- Class DocumentsContract.Document -->
+<A HREF="android.provider.DocumentsContract.Document.html" class="hiddenlink" target="rightframe">DocumentsContract.Document</A><br>
+<!-- Class DocumentsContract.Root -->
+<A HREF="android.provider.DocumentsContract.Root.html" class="hiddenlink" target="rightframe">DocumentsContract.Root</A><br>
+<!-- Class DocumentsProvider -->
+<A HREF="android.provider.DocumentsProvider.html" class="hiddenlink" target="rightframe">DocumentsProvider</A><br>
+<!-- Field DolbyVisionLevelFhd24 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelFhd24" class="hiddenlink" target="rightframe">DolbyVisionLevelFhd24</A>
+</nobr><br>
+<!-- Field DolbyVisionLevelFhd30 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelFhd30" class="hiddenlink" target="rightframe">DolbyVisionLevelFhd30</A>
+</nobr><br>
+<!-- Field DolbyVisionLevelFhd60 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelFhd60" class="hiddenlink" target="rightframe">DolbyVisionLevelFhd60</A>
+</nobr><br>
+<!-- Field DolbyVisionLevelHd24 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelHd24" class="hiddenlink" target="rightframe">DolbyVisionLevelHd24</A>
+</nobr><br>
+<!-- Field DolbyVisionLevelHd30 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelHd30" class="hiddenlink" target="rightframe">DolbyVisionLevelHd30</A>
+</nobr><br>
+<!-- Field DolbyVisionLevelUhd24 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd24" class="hiddenlink" target="rightframe">DolbyVisionLevelUhd24</A>
+</nobr><br>
+<!-- Field DolbyVisionLevelUhd30 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd30" class="hiddenlink" target="rightframe">DolbyVisionLevelUhd30</A>
+</nobr><br>
+<!-- Field DolbyVisionLevelUhd48 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd48" class="hiddenlink" target="rightframe">DolbyVisionLevelUhd48</A>
+</nobr><br>
+<!-- Field DolbyVisionLevelUhd60 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd60" class="hiddenlink" target="rightframe">DolbyVisionLevelUhd60</A>
+</nobr><br>
+<!-- Field DolbyVisionProfileDvavPen -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvavPen" class="hiddenlink" target="rightframe">DolbyVisionProfileDvavPen</A>
+</nobr><br>
+<!-- Field DolbyVisionProfileDvavPer -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvavPer" class="hiddenlink" target="rightframe">DolbyVisionProfileDvavPer</A>
+</nobr><br>
+<!-- Field DolbyVisionProfileDvheDen -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDen" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDen</A>
+</nobr><br>
+<!-- Field DolbyVisionProfileDvheDer -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDer" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDer</A>
+</nobr><br>
+<!-- Field DolbyVisionProfileDvheDtb -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDtb" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDtb</A>
+</nobr><br>
+<!-- Field DolbyVisionProfileDvheDth -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDth" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDth</A>
+</nobr><br>
+<!-- Field DolbyVisionProfileDvheDtr -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDtr" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDtr</A>
+</nobr><br>
+<!-- Field DolbyVisionProfileDvheStn -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheStn" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheStn</A>
+</nobr><br>
+<!-- Class Double -->
+<A HREF="java.lang.Double.html" class="hiddenlink" target="rightframe">Double</A><br>
+<!-- Class DoubleAccumulator -->
+<A HREF="pkg_java.util.concurrent.atomic.html#DoubleAccumulator" class="hiddenlink" target="rightframe"><b>DoubleAccumulator</b></A><br>
+<!-- Class DoubleAdder -->
+<A HREF="pkg_java.util.concurrent.atomic.html#DoubleAdder" class="hiddenlink" target="rightframe"><b>DoubleAdder</b></A><br>
+<!-- Method doubles -->
+<i>doubles</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.doubles_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method doubles -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.doubles_added(double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double, double</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method doubles -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.doubles_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method doubles -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.doubles_added(long, double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, double, double</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Class DoubleSummaryStatistics -->
+<A HREF="pkg_java.util.html#DoubleSummaryStatistics" class="hiddenlink" target="rightframe"><b>DoubleSummaryStatistics</b></A><br>
+<!-- Class DownloadManager -->
+<A HREF="android.app.DownloadManager.html" class="hiddenlink" target="rightframe">DownloadManager</A><br>
+<!-- Class DownloadManager.Request -->
+<A HREF="android.app.DownloadManager.Request.html" class="hiddenlink" target="rightframe">DownloadManager.Request</A><br>
+<!-- Field DRAG_FLAG_GLOBAL -->
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL</A>
+</nobr><br>
+<!-- Field DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION -->
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION</A>
+</nobr><br>
+<!-- Field DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION -->
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION</A>
+</nobr><br>
+<!-- Field DRAG_FLAG_GLOBAL_URI_READ -->
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL_URI_READ" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL_URI_READ</A>
+</nobr><br>
+<!-- Field DRAG_FLAG_GLOBAL_URI_WRITE -->
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL_URI_WRITE" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL_URI_WRITE</A>
+</nobr><br>
+<!-- Field DRAG_FLAG_OPAQUE -->
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_OPAQUE" class="hiddenlink" target="rightframe">DRAG_FLAG_OPAQUE</A>
+</nobr><br>
+<!-- Class DragAndDropPermissions -->
+<A HREF="pkg_android.view.html#DragAndDropPermissions" class="hiddenlink" target="rightframe"><b>DragAndDropPermissions</b></A><br>
+<!-- Class DrmInitData -->
+<A HREF="pkg_android.media.html#DrmInitData" class="hiddenlink" target="rightframe"><b>DrmInitData</b></A><br>
+<!-- Class DrmInitData.SchemeInitData -->
+<A HREF="pkg_android.media.html#DrmInitData.SchemeInitData" class="hiddenlink" target="rightframe"><b>DrmInitData.SchemeInitData</b></A><br>
+<!-- Class DrmManagerClient -->
+<A HREF="android.drm.DrmManagerClient.html" class="hiddenlink" target="rightframe">DrmManagerClient</A><br>
+<!-- Field DURATION_INFINITE -->
+<nobr><A HREF="android.animation.Animator.html#android.animation.Animator.DURATION_INFINITE" class="hiddenlink" target="rightframe">DURATION_INFINITE</A>
+</nobr><br>
+<!-- Class EditorInfo -->
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.inputmethod.EditorInfo.html" class="hiddenlink" target="rightframe">EditorInfo</A><br>
+<!-- Method enableReplaceObject -->
+<nobr><A HREF="java.io.ObjectOutputStream.html#java.io.ObjectOutputStream.enableReplaceObject_changed(boolean)" class="hiddenlink" target="rightframe">enableReplaceObject
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method enableResolveObject -->
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.enableResolveObject_changed(boolean)" class="hiddenlink" target="rightframe">enableResolveObject
+(<code>boolean</code>)</A></nobr><br>
+<!-- Field enableVrMode -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.enableVrMode" class="hiddenlink" target="rightframe">enableVrMode</A>
+</nobr><br>
+<!-- Field ENCODING_IEC61937 -->
+<nobr><A HREF="android.media.AudioFormat.html#android.media.AudioFormat.ENCODING_IEC61937" class="hiddenlink" target="rightframe">ENCODING_IEC61937</A>
+</nobr><br>
+<!-- Field ENCRYPTION_STATUS_ACTIVE_PER_USER -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE_PER_USER" class="hiddenlink" target="rightframe">ENCRYPTION_STATUS_ACTIVE_PER_USER</A>
+</nobr><br>
+<!-- Field endX -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.endX" class="hiddenlink" target="rightframe">endX</A>
+</nobr><br>
+<!-- Field endY -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.endY" class="hiddenlink" target="rightframe">endY</A>
+</nobr><br>
+<!-- Method engineGetRevocationChecker -->
+<i>engineGetRevocationChecker</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.cert.CertPathBuilderSpi.html#java.security.cert.CertPathBuilderSpi.engineGetRevocationChecker_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.security.cert.CertPathBuilderSpi
+</A></nobr><br>
+<!-- Method engineGetRevocationChecker -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.cert.CertPathValidatorSpi.html#java.security.cert.CertPathValidatorSpi.engineGetRevocationChecker_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.security.cert.CertPathValidatorSpi
+</A></nobr><br>
+<!-- Method enterPictureInPictureMode -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.enterPictureInPictureMode_added()" class="hiddenlink" target="rightframe"><b>enterPictureInPictureMode</b>
+()</A></nobr><br>
+<!-- Field ENTERPRISE_CONTENT_FILTER_URI -->
+<i>ENTERPRISE_CONTENT_FILTER_URI</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Callable.html#android.provider.ContactsContract.CommonDataKinds.Callable.ENTERPRISE_CONTENT_FILTER_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Callable</A>
+</nobr><br>
+<!-- Field ENTERPRISE_CONTENT_FILTER_URI -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Email.html#android.provider.ContactsContract.CommonDataKinds.Email.ENTERPRISE_CONTENT_FILTER_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Email</A>
+</nobr><br>
+<!-- Field ENTERPRISE_CONTENT_FILTER_URI -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Phone.html#android.provider.ContactsContract.CommonDataKinds.Phone.ENTERPRISE_CONTENT_FILTER_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Phone</A>
+</nobr><br>
+<!-- Field ENTERPRISE_CONTENT_FILTER_URI -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.Contacts.html#android.provider.ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.Contacts</A>
+</nobr><br>
+<!-- Field ENTERPRISE_CONTENT_URI -->
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.ENTERPRISE_CONTENT_URI" class="hiddenlink" target="rightframe">ENTERPRISE_CONTENT_URI</A>
+</nobr><br>
+<!-- Field ENTERPRISE_DEFAULT -->
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.ENTERPRISE_DEFAULT" class="hiddenlink" target="rightframe">ENTERPRISE_DEFAULT</A>
+</nobr><br>
+<!-- Field ENTERPRISE_LOCAL_INVISIBLE -->
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.ENTERPRISE_LOCAL_INVISIBLE" class="hiddenlink" target="rightframe">ENTERPRISE_LOCAL_INVISIBLE</A>
+</nobr><br>
+<!-- Method entrySet -->
+<nobr><A HREF="java.util.SortedMap.html#java.util.SortedMap.entrySet_added()" class="hiddenlink" target="rightframe"><b>entrySet</b>
+()</A></nobr><br>
+<!-- Class EnumMap -->
+<A HREF="java.util.EnumMap.html" class="hiddenlink" target="rightframe">EnumMap</A><br>
+<!-- Method equals -->
+<nobr><A HREF="java.security.acl.Permission.html#java.security.acl.Permission.equals_removed(java.lang.Object)" class="hiddenlink" target="rightframe"><strike>equals</strike>
+(<code>Object</code>)</A></nobr><br>
+<!-- Class Error -->
+<i>Error</i><br>
+&nbsp;&nbsp;<A HREF="java.lang.Error.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<!-- Constructor Error -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Error.html#java.lang.Error.ctor_added(java.lang.String, java.lang.Throwable, boolean, boolean)" class="hiddenlink" target="rightframe"><b>Error</b>
+(<code>String, Throwable, boolean, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field ERROR_DEAD_OBJECT -->
+<i>ERROR_DEAD_OBJECT</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioRecord.html#android.media.AudioRecord.ERROR_DEAD_OBJECT" class="hiddenlink" target="rightframe">android.media.AudioRecord</A>
+</nobr><br>
+<!-- Field ERROR_DEAD_OBJECT -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioTrack.html#android.media.AudioTrack.ERROR_DEAD_OBJECT" class="hiddenlink" target="rightframe">android.media.AudioTrack</A>
+</nobr><br>
+<!-- Field ERROR_UNSUPPORTED_OPERATION -->
+<nobr><A HREF="android.media.MediaCodec.CryptoException.html#android.media.MediaCodec.CryptoException.ERROR_UNSUPPORTED_OPERATION" class="hiddenlink" target="rightframe">ERROR_UNSUPPORTED_OPERATION</A>
+</nobr><br>
+<!-- Class EventListenerProxy -->
+<i>EventListenerProxy</i><br>
+&nbsp;&nbsp;<A HREF="java.util.EventListenerProxy.html" class="hiddenlink" target="rightframe">java.util</A><br>
+<!-- Constructor EventListenerProxy -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.EventListenerProxy.html#java.util.EventListenerProxy.ctor_changed(T)" class="hiddenlink" target="rightframe">EventListenerProxy
+(<code>T</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Exception -->
+<i>Exception</i><br>
+&nbsp;&nbsp;<A HREF="java.lang.Exception.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<!-- Constructor Exception -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Exception.html#java.lang.Exception.ctor_added(java.lang.String, java.lang.Throwable, boolean, boolean)" class="hiddenlink" target="rightframe"><b>Exception</b>
+(<code>String, Throwable, boolean, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Executors -->
+<A HREF="java.util.concurrent.Executors.html" class="hiddenlink" target="rightframe">Executors</A><br>
+<!-- Class ExifInterface -->
+<i>ExifInterface</i><br>
+&nbsp;&nbsp;<A HREF="android.media.ExifInterface.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<!-- Constructor ExifInterface -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.ctor_added(java.io.FileDescriptor)" class="hiddenlink" target="rightframe"><b>ExifInterface</b>
+(<code>FileDescriptor</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor ExifInterface -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.ctor_added(java.io.InputStream)" class="hiddenlink" target="rightframe"><b>ExifInterface</b>
+(<code>InputStream</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class ExtendedSSLSession -->
+<A HREF="pkg_javax.net.ssl.html#ExtendedSSLSession" class="hiddenlink" target="rightframe"><b>ExtendedSSLSession</b></A><br>
+<!-- Class Extension -->
+<A HREF="pkg_java.security.cert.html#Extension" class="hiddenlink" target="rightframe"><b><i>Extension</i></b></A><br>
+<!-- Field externalService -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.externalService" class="hiddenlink" target="rightframe">externalService</A>
+</nobr><br>
+<!-- Field EXTRA_CALL_SUBJECT_CHARACTER_ENCODING -->
+<nobr><A HREF="android.telecom.PhoneAccount.html#android.telecom.PhoneAccount.EXTRA_CALL_SUBJECT_CHARACTER_ENCODING" class="hiddenlink" target="rightframe">EXTRA_CALL_SUBJECT_CHARACTER_ENCODING</A>
+</nobr><br>
+<!-- Field EXTRA_CALL_SUBJECT_MAX_LENGTH -->
+<nobr><A HREF="android.telecom.PhoneAccount.html#android.telecom.PhoneAccount.EXTRA_CALL_SUBJECT_MAX_LENGTH" class="hiddenlink" target="rightframe">EXTRA_CALL_SUBJECT_MAX_LENGTH</A>
+</nobr><br>
+<!-- Field EXTRA_CAPTIVE_PORTAL_URL -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.EXTRA_CAPTIVE_PORTAL_URL" class="hiddenlink" target="rightframe">EXTRA_CAPTIVE_PORTAL_URL</A>
+</nobr><br>
+<!-- Field EXTRA_CHOOSER_TARGETS -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHOOSER_TARGETS" class="hiddenlink" target="rightframe">EXTRA_CHOOSER_TARGETS</A>
+</nobr><br>
+<!-- Field EXTRA_CHRONOMETER_COUNT_DOWN -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_CHRONOMETER_COUNT_DOWN" class="hiddenlink" target="rightframe">EXTRA_CHRONOMETER_COUNT_DOWN</A>
+</nobr><br>
+<!-- Field EXTRA_CONVERSATION_TITLE -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_CONVERSATION_TITLE" class="hiddenlink" target="rightframe">EXTRA_CONVERSATION_TITLE</A>
+</nobr><br>
+<!-- Field EXTRA_EXCLUDE_COMPONENTS -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_EXCLUDE_COMPONENTS" class="hiddenlink" target="rightframe">EXTRA_EXCLUDE_COMPONENTS</A>
+</nobr><br>
+<!-- Field EXTRA_INDEX -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_INDEX" class="hiddenlink" target="rightframe">EXTRA_INDEX</A>
+</nobr><br>
+<!-- Field EXTRA_IS_DEFAULT_SMS_APP -->
+<nobr><A HREF="android.provider.Telephony.Sms.Intents.html#android.provider.Telephony.Sms.Intents.EXTRA_IS_DEFAULT_SMS_APP" class="hiddenlink" target="rightframe">EXTRA_IS_DEFAULT_SMS_APP</A>
+</nobr><br>
+<!-- Field EXTRA_MESSAGES -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_MESSAGES" class="hiddenlink" target="rightframe">EXTRA_MESSAGES</A>
+</nobr><br>
+<!-- Field EXTRA_NOTIFICATION_COUNT -->
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.EXTRA_NOTIFICATION_COUNT" class="hiddenlink" target="rightframe">EXTRA_NOTIFICATION_COUNT</A>
+</nobr><br>
+<!-- Field EXTRA_NOTIFICATION_PHONE_NUMBER -->
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.EXTRA_NOTIFICATION_PHONE_NUMBER" class="hiddenlink" target="rightframe">EXTRA_NOTIFICATION_PHONE_NUMBER</A>
+</nobr><br>
+<!-- Field EXTRA_OFFLINE -->
+<nobr><A HREF="android.service.media.MediaBrowserService.BrowserRoot.html#android.service.media.MediaBrowserService.BrowserRoot.EXTRA_OFFLINE" class="hiddenlink" target="rightframe">EXTRA_OFFLINE</A>
+</nobr><br>
+<!-- Field EXTRA_ORIENTATION -->
+<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.EXTRA_ORIENTATION" class="hiddenlink" target="rightframe">EXTRA_ORIENTATION</A>
+</nobr><br>
+<!-- Field EXTRA_PACKAGE_NAME -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_PACKAGE_NAME" class="hiddenlink" target="rightframe">EXTRA_PACKAGE_NAME</A>
+</nobr><br>
+<!-- Field EXTRA_PAGE -->
+<nobr><A HREF="android.media.browse.MediaBrowser.html#android.media.browse.MediaBrowser.EXTRA_PAGE" class="hiddenlink" target="rightframe">EXTRA_PAGE</A>
+</nobr><br>
+<!-- Field EXTRA_PAGE_SIZE -->
+<nobr><A HREF="android.media.browse.MediaBrowser.html#android.media.browse.MediaBrowser.EXTRA_PAGE_SIZE" class="hiddenlink" target="rightframe">EXTRA_PAGE_SIZE</A>
+</nobr><br>
+<!-- Field EXTRA_PROVISIONING_LOGO_URI -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI" class="hiddenlink" target="rightframe">EXTRA_PROVISIONING_LOGO_URI</A>
+</nobr><br>
+<!-- Field EXTRA_PROVISIONING_MAIN_COLOR -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR" class="hiddenlink" target="rightframe">EXTRA_PROVISIONING_MAIN_COLOR</A>
+</nobr><br>
+<!-- Field EXTRA_QUIET_MODE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_QUIET_MODE" class="hiddenlink" target="rightframe">EXTRA_QUIET_MODE</A>
+</nobr><br>
+<!-- Field EXTRA_RECENT -->
+<nobr><A HREF="android.service.media.MediaBrowserService.BrowserRoot.html#android.service.media.MediaBrowserService.BrowserRoot.EXTRA_RECENT" class="hiddenlink" target="rightframe">EXTRA_RECENT</A>
+</nobr><br>
+<!-- Field EXTRA_RECIPIENT_CONTACT_CHAT_ID -->
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.EXTRA_RECIPIENT_CONTACT_CHAT_ID" class="hiddenlink" target="rightframe">EXTRA_RECIPIENT_CONTACT_CHAT_ID</A>
+</nobr><br>
+<!-- Field EXTRA_RECIPIENT_CONTACT_NAME -->
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.EXTRA_RECIPIENT_CONTACT_NAME" class="hiddenlink" target="rightframe">EXTRA_RECIPIENT_CONTACT_NAME</A>
+</nobr><br>
+<!-- Field EXTRA_RECIPIENT_CONTACT_URI -->
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.EXTRA_RECIPIENT_CONTACT_URI" class="hiddenlink" target="rightframe">EXTRA_RECIPIENT_CONTACT_URI</A>
+</nobr><br>
+<!-- Field EXTRA_REMOTE_INPUT_HISTORY -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_REMOTE_INPUT_HISTORY" class="hiddenlink" target="rightframe">EXTRA_REMOTE_INPUT_HISTORY</A>
+</nobr><br>
+<!-- Field EXTRA_SELF_DISPLAY_NAME -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_SELF_DISPLAY_NAME" class="hiddenlink" target="rightframe">EXTRA_SELF_DISPLAY_NAME</A>
+</nobr><br>
+<!-- Field EXTRA_SUGGESTED -->
+<nobr><A HREF="android.service.media.MediaBrowserService.BrowserRoot.html#android.service.media.MediaBrowserService.BrowserRoot.EXTRA_SUGGESTED" class="hiddenlink" target="rightframe">EXTRA_SUGGESTED</A>
+</nobr><br>
+<!-- Field FEATURE_ETHERNET -->
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_ETHERNET" class="hiddenlink" target="rightframe">FEATURE_ETHERNET</A>
+</nobr><br>
+<!-- Field FEATURE_FREEFORM_WINDOW_MANAGEMENT -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_FREEFORM_WINDOW_MANAGEMENT" class="hiddenlink" target="rightframe">FEATURE_FREEFORM_WINDOW_MANAGEMENT</A>
+</nobr><br>
+<!-- Field FEATURE_INDETERMINATE_PROGRESS -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.FEATURE_INDETERMINATE_PROGRESS" class="hiddenlink" target="rightframe">FEATURE_INDETERMINATE_PROGRESS</A>
+</nobr><br>
+<!-- Field FEATURE_IntraRefresh -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecCapabilities.html#android.media.MediaCodecInfo.CodecCapabilities.FEATURE_IntraRefresh" class="hiddenlink" target="rightframe">FEATURE_IntraRefresh</A>
+</nobr><br>
+<!-- Field FEATURE_NFC_HOST_CARD_EMULATION_NFCF -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_NFC_HOST_CARD_EMULATION_NFCF" class="hiddenlink" target="rightframe">FEATURE_NFC_HOST_CARD_EMULATION_NFCF</A>
+</nobr><br>
+<!-- Field FEATURE_PICTURE_IN_PICTURE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_PICTURE_IN_PICTURE" class="hiddenlink" target="rightframe">FEATURE_PICTURE_IN_PICTURE</A>
+</nobr><br>
+<!-- Field FEATURE_PROGRESS -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.FEATURE_PROGRESS" class="hiddenlink" target="rightframe">FEATURE_PROGRESS</A>
+</nobr><br>
+<!-- Field FEATURE_VR_MODE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_VR_MODE" class="hiddenlink" target="rightframe">FEATURE_VR_MODE</A>
+</nobr><br>
+<!-- Field FEATURE_VR_MODE_HIGH_PERFORMANCE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_VR_MODE_HIGH_PERFORMANCE" class="hiddenlink" target="rightframe">FEATURE_VR_MODE_HIGH_PERFORMANCE</A>
+</nobr><br>
+<!-- Field FEATURE_VULKAN_HARDWARE_LEVEL -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_VULKAN_HARDWARE_LEVEL" class="hiddenlink" target="rightframe">FEATURE_VULKAN_HARDWARE_LEVEL</A>
+</nobr><br>
+<!-- Field FEATURE_VULKAN_HARDWARE_VERSION -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_VULKAN_HARDWARE_VERSION" class="hiddenlink" target="rightframe">FEATURE_VULKAN_HARDWARE_VERSION</A>
+</nobr><br>
+<!-- Class FeatureInfo -->
+<A HREF="android.content.pm.FeatureInfo.html" class="hiddenlink" target="rightframe">FeatureInfo</A><br>
+<!-- Class Field -->
+<A HREF="java.lang.reflect.Field.html" class="hiddenlink" target="rightframe">Field</A><br>
+<!-- Class FileChannel -->
+<A HREF="java.nio.channels.FileChannel.html" class="hiddenlink" target="rightframe">FileChannel</A><br>
+<!-- Class FileLock -->
+<A HREF="java.nio.channels.FileLock.html" class="hiddenlink" target="rightframe">FileLock</A><br>
+<!-- Class FileUriExposedException -->
+<A HREF="pkg_android.os.html#FileUriExposedException" class="hiddenlink" target="rightframe"><b>FileUriExposedException</b></A><br>
+<!-- Field fillType -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.fillType" class="hiddenlink" target="rightframe">fillType</A>
+</nobr><br>
+<!-- Field FLAG_ACTIVITY_LAUNCH_ADJACENT -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT" class="hiddenlink" target="rightframe">FLAG_ACTIVITY_LAUNCH_ADJACENT</A>
+</nobr><br>
+<!-- Field FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES -->
+<nobr><A HREF="android.app.UiAutomation.html#android.app.UiAutomation.FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES" class="hiddenlink" target="rightframe">FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES</A>
+</nobr><br>
+<!-- Field FLAG_ENABLE_VR_MODE -->
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.FLAG_ENABLE_VR_MODE" class="hiddenlink" target="rightframe">FLAG_ENABLE_VR_MODE</A>
+</nobr><br>
+<!-- Field FLAG_EXTERNAL_SERVICE -->
+<nobr><A HREF="android.content.pm.ServiceInfo.html#android.content.pm.ServiceInfo.FLAG_EXTERNAL_SERVICE" class="hiddenlink" target="rightframe">FLAG_EXTERNAL_SERVICE</A>
+</nobr><br>
+<!-- Field FLAG_LOCK -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.FLAG_LOCK" class="hiddenlink" target="rightframe">FLAG_LOCK</A>
+</nobr><br>
+<!-- Field FLAG_LOW_LATENCY -->
+<nobr><A HREF="android.media.AudioAttributes.html#android.media.AudioAttributes.FLAG_LOW_LATENCY" class="hiddenlink" target="rightframe">FLAG_LOW_LATENCY</A>
+</nobr><br>
+<!-- Field FLAG_SUPPORTS_COPY -->
+<nobr><A HREF="android.provider.DocumentsContract.Document.html#android.provider.DocumentsContract.Document.FLAG_SUPPORTS_COPY" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_COPY</A>
+</nobr><br>
+<!-- Field FLAG_SUPPORTS_MOVE -->
+<nobr><A HREF="android.provider.DocumentsContract.Document.html#android.provider.DocumentsContract.Document.FLAG_SUPPORTS_MOVE" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_MOVE</A>
+</nobr><br>
+<!-- Field FLAG_SUPPORTS_REMOVE -->
+<nobr><A HREF="android.provider.DocumentsContract.Document.html#android.provider.DocumentsContract.Document.FLAG_SUPPORTS_REMOVE" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_REMOVE</A>
+</nobr><br>
+<!-- Field FLAG_SUSPENDED -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUSPENDED" class="hiddenlink" target="rightframe">FLAG_SUSPENDED</A>
+</nobr><br>
+<!-- Field FLAG_SYSTEM -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.FLAG_SYSTEM" class="hiddenlink" target="rightframe">FLAG_SYSTEM</A>
+</nobr><br>
+<!-- Field FLAG_VIRTUAL_DOCUMENT -->
+<nobr><A HREF="android.provider.DocumentsContract.Document.html#android.provider.DocumentsContract.Document.FLAG_VIRTUAL_DOCUMENT" class="hiddenlink" target="rightframe">FLAG_VIRTUAL_DOCUMENT</A>
+</nobr><br>
+<!-- Class FlakyTest -->
+<A HREF="android.test.FlakyTest.html" class="hiddenlink" target="rightframe">FlakyTest</A><br>
+<!-- Field FLASHLIGHT -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.FLASHLIGHT" class="hiddenlink" target="rightframe"><strike>FLASHLIGHT</strike></A>
+</nobr><br>
+<!-- Class Float -->
+<A HREF="java.lang.Float.html" class="hiddenlink" target="rightframe">Float</A><br>
+<!-- Class FloatProperty -->
+<A HREF="pkg_android.util.html#FloatProperty" class="hiddenlink" target="rightframe"><b>FloatProperty</b></A><br>
+<!-- Method floorDiv -->
+<i>floorDiv</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.floorDiv_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method floorDiv -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.floorDiv_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method floorDiv -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.floorDiv_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method floorDiv -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.floorDiv_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method floorMod -->
+<i>floorMod</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.floorMod_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method floorMod -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.floorMod_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method floorMod -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.floorMod_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method floorMod -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.floorMod_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method forceHasOverlappingRendering -->
+<i>forceHasOverlappingRendering</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.forceHasOverlappingRendering_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+<!-- Field forceHasOverlappingRendering -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.forceHasOverlappingRendering" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Method forEach -->
+<i>forEach</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Iterable.html#java.lang.Iterable.forEach_added(java.util.function.Consumer<? super T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super T&gt;</code>)</b>&nbsp;in&nbsp;java.lang.Iterable
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.Provider.html#java.security.Provider.forEach_added(java.util.function.BiConsumer<? super java.lang.Object, ? super java.lang.Object>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;Object, Object&gt;</code>)</b>&nbsp;in&nbsp;java.security.Provider
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.forEach_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.HashMap.html#java.util.HashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.HashMap
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.IdentityHashMap.html#java.util.IdentityHashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.IdentityHashMap
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeMap.html#java.util.TreeMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.TreeMap
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.forEach_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.WeakHashMap.html#java.util.WeakHashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.WeakHashMap
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEach_added(long, java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEach_added(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.Consumer<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;? super K, ? super V, ? extends U&gt;, Consumer&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.CopyOnWriteArrayList.html#java.util.concurrent.CopyOnWriteArrayList.forEach_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.CopyOnWriteArrayList
+</A></nobr><br>
+<!-- Method forEach -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.CopyOnWriteArraySet.html#java.util.concurrent.CopyOnWriteArraySet.forEach_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.CopyOnWriteArraySet
+</A></nobr><br>
+<!-- Method forEachEntry -->
+<i>forEachEntry</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachEntry_added(long, java.util.function.Consumer<? super java.util.Map.Entry<K, V>>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Consumer&lt;Entry&lt;K, V&gt;&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method forEachEntry -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachEntry_added(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.Consumer<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;Entry&lt;K, V&gt;, ? extends U&gt;, Consumer&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method forEachKey -->
+<i>forEachKey</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachKey_added(long, java.util.function.Consumer<? super K>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Consumer&lt;? super K&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method forEachKey -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachKey_added(long, java.util.function.Function<? super K, ? extends U>, java.util.function.Consumer<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;? super K, ? extends U&gt;, Consumer&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method forEachRemaining -->
+<nobr><A HREF="java.util.Iterator.html#java.util.Iterator.forEachRemaining_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe"><b>forEachRemaining</b>
+(<code>Consumer&lt;? super E&gt;</code>)</A></nobr><br>
+<!-- Method forEachValue -->
+<i>forEachValue</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachValue_added(long, java.util.function.Consumer<? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Consumer&lt;? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method forEachValue -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachValue_added(long, java.util.function.Function<? super V, ? extends U>, java.util.function.Consumer<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;? super V, ? extends U&gt;, Consumer&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Class ForkJoinPool -->
+<A HREF="java.util.concurrent.ForkJoinPool.html" class="hiddenlink" target="rightframe">ForkJoinPool</A><br>
+<!-- Class ForkJoinTask -->
+<A HREF="java.util.concurrent.ForkJoinTask.html" class="hiddenlink" target="rightframe">ForkJoinTask</A><br>
+<!-- Field FORMAT_DEFINED -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.FORMAT_DEFINED" class="hiddenlink" target="rightframe">FORMAT_DEFINED</A>
+</nobr><br>
+<!-- Field FORMAT_DNG -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.FORMAT_DNG" class="hiddenlink" target="rightframe">FORMAT_DNG</A>
+</nobr><br>
+<!-- Class FormatFlagsConversionMismatchException -->
+<A HREF="java.util.FormatFlagsConversionMismatchException.html" class="hiddenlink" target="rightframe">FormatFlagsConversionMismatchException</A><br>
+<!-- Class Formattable -->
+<A HREF="java.util.Formattable.html" class="hiddenlink" target="rightframe"><i>Formattable</i></A><br>
+<!-- Class FormatterClosedException -->
+<A HREF="java.util.FormatterClosedException.html" class="hiddenlink" target="rightframe">FormatterClosedException</A><br>
+<!-- Method formatTo -->
+<nobr><A HREF="java.util.Formattable.html#java.util.Formattable.formatTo_changed(java.util.Formatter, int, int, int)" class="hiddenlink" target="rightframe">formatTo
+(<code>Formatter, int, int, int</code>)</A></nobr><br>
+<!-- Method forName -->
+<nobr><A HREF="java.lang.Character.UnicodeBlock.html#java.lang.Character.UnicodeBlock.forName_changed(java.lang.String)" class="hiddenlink" target="rightframe">forName
+(<code>String</code>)</A></nobr><br>
+<!-- Class Fragment -->
+<A HREF="android.app.Fragment.html" class="hiddenlink" target="rightframe">Fragment</A><br>
+<!-- Class FragmentController -->
+<A HREF="android.app.FragmentController.html" class="hiddenlink" target="rightframe">FragmentController</A><br>
+<!-- Class FragmentHostCallback -->
+<A HREF="android.app.FragmentHostCallback.html" class="hiddenlink" target="rightframe">FragmentHostCallback</A><br>
+<!-- Class FragmentManagerNonConfig -->
+<A HREF="pkg_android.app.html#FragmentManagerNonConfig" class="hiddenlink" target="rightframe"><b>FragmentManagerNonConfig</b></A><br>
+<!-- Class FragmentTransaction -->
+<A HREF="android.app.FragmentTransaction.html" class="hiddenlink" target="rightframe">FragmentTransaction</A><br>
+<!-- Class FrameLayout.LayoutParams -->
+<A HREF="android.widget.FrameLayout.LayoutParams.html" class="hiddenlink" target="rightframe">FrameLayout.LayoutParams</A><br>
+<!-- Class FrameMetrics -->
+<A HREF="pkg_android.view.html#FrameMetrics" class="hiddenlink" target="rightframe"><b>FrameMetrics</b></A><br>
+<!-- Field FROM_HTML_MODE_COMPACT -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_MODE_COMPACT" class="hiddenlink" target="rightframe">FROM_HTML_MODE_COMPACT</A>
+</nobr><br>
+<!-- Field FROM_HTML_MODE_LEGACY -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_MODE_LEGACY" class="hiddenlink" target="rightframe">FROM_HTML_MODE_LEGACY</A>
+</nobr><br>
+<!-- Field FROM_HTML_OPTION_USE_CSS_COLORS -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_OPTION_USE_CSS_COLORS" class="hiddenlink" target="rightframe">FROM_HTML_OPTION_USE_CSS_COLORS</A>
+</nobr><br>
+<!-- Field FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE</A>
+</nobr><br>
+<!-- Field FROM_HTML_SEPARATOR_LINE_BREAK_DIV -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_DIV" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_DIV</A>
+</nobr><br>
+<!-- Field FROM_HTML_SEPARATOR_LINE_BREAK_HEADING -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_HEADING" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_HEADING</A>
+</nobr><br>
+<!-- Field FROM_HTML_SEPARATOR_LINE_BREAK_LIST -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_LIST" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_LIST</A>
+</nobr><br>
+<!-- Field FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM</A>
+</nobr><br>
+<!-- Field FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH</A>
+</nobr><br>
+<!-- Method fromHtml -->
+<i>fromHtml</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.fromHtml_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+<!-- Method fromHtml -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.fromHtml_added(java.lang.String, int, android.text.Html.ImageGetter, android.text.Html.TagHandler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int, ImageGetter, TagHandler</code>)</b>&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+<!-- Method fromHtml -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.fromHtml_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+<!-- Method fromHtml -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.fromHtml_changed(java.lang.String, android.text.Html.ImageGetter, android.text.Html.TagHandler)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, ImageGetter, TagHandler</code>)&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+<!-- Class FunctionalInterface -->
+<A HREF="pkg_java.lang.html#FunctionalInterface" class="hiddenlink" target="rightframe"><b>FunctionalInterface</b></A><br>
+<!-- Class GestureDescription -->
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.accessibilityservice.html#GestureDescription" class="hiddenlink" target="rightframe"><b>GestureDescription</b></A><br>
+<!-- Class GestureDescription.Builder -->
+<A HREF="pkg_android.accessibilityservice.html#GestureDescription.Builder" class="hiddenlink" target="rightframe"><b>GestureDescription.Builder</b></A><br>
+<!-- Class GestureDescription.StrokeDescription -->
+<A HREF="pkg_android.accessibilityservice.html#GestureDescription.StrokeDescription" class="hiddenlink" target="rightframe"><b>GestureDescription.StrokeDescription</b></A><br>
+<!-- Method get -->
+<i>get</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, boolean</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Method get -->
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, byte)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, byte</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Method get -->
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, char)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, char</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Method get -->
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, double)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, double</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Method get -->
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, float)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, float</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Method get -->
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, int</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Method get -->
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Object</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Method get -->
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, long)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, long</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Method get -->
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, short)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, short</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Field GET_DISABLED_COMPONENTS -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.GET_DISABLED_COMPONENTS" class="hiddenlink" target="rightframe">GET_DISABLED_COMPONENTS</A>
+</nobr><br>
+<!-- Field GET_DISABLED_UNTIL_USED_COMPONENTS -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS" class="hiddenlink" target="rightframe">GET_DISABLED_UNTIL_USED_COMPONENTS</A>
+</nobr><br>
+<!-- Field GET_UNINSTALLED_PACKAGES -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.GET_UNINSTALLED_PACKAGES" class="hiddenlink" target="rightframe">GET_UNINSTALLED_PACKAGES</A>
+</nobr><br>
+<!-- Method getActiveRecordingConfigurations -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.getActiveRecordingConfigurations_added()" class="hiddenlink" target="rightframe"><b>getActiveRecordingConfigurations</b>
+()</A></nobr><br>
+<!-- Method getAlgorithmConstraints -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getAlgorithmConstraints_added()" class="hiddenlink" target="rightframe"><b>getAlgorithmConstraints</b>
+()</A></nobr><br>
+<!-- Method getAllConferences -->
+<nobr><A HREF="android.telecom.ConnectionService.html#android.telecom.ConnectionService.getAllConferences_added()" class="hiddenlink" target="rightframe"><b>getAllConferences</b>
+()</A></nobr><br>
+<!-- Method getAllowGeneratedReplies -->
+<nobr><A HREF="android.app.Notification.Action.html#android.app.Notification.Action.getAllowGeneratedReplies_added()" class="hiddenlink" target="rightframe"><b>getAllowGeneratedReplies</b>
+()</A></nobr><br>
+<!-- Method getAlwaysOnVpnPackage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getAlwaysOnVpnPackage_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getAlwaysOnVpnPackage</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getAnchor -->
+<nobr><A HREF="android.view.accessibility.AccessibilityWindowInfo.html#android.view.accessibility.AccessibilityWindowInfo.getAnchor_added()" class="hiddenlink" target="rightframe"><b>getAnchor</b>
+()</A></nobr><br>
+<!-- Method getAndAccumulate -->
+<i>getAndAccumulate</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicInteger.html#java.util.concurrent.atomic.AtomicInteger.getAndAccumulate_added(int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicInteger
+</A></nobr><br>
+<!-- Method getAndAccumulate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html#java.util.concurrent.atomic.AtomicIntegerArray.getAndAccumulate_added(int, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerArray
+</A></nobr><br>
+<!-- Method getAndAccumulate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html#java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndAccumulate_added(T, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerFieldUpdater
+</A></nobr><br>
+<!-- Method getAndAccumulate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLong.html#java.util.concurrent.atomic.AtomicLong.getAndAccumulate_added(long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLong
+</A></nobr><br>
+<!-- Method getAndAccumulate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongArray.html#java.util.concurrent.atomic.AtomicLongArray.getAndAccumulate_added(int, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongArray
+</A></nobr><br>
+<!-- Method getAndAccumulate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html#java.util.concurrent.atomic.AtomicLongFieldUpdater.getAndAccumulate_added(T, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongFieldUpdater
+</A></nobr><br>
+<!-- Method getAndAccumulate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReference.html#java.util.concurrent.atomic.AtomicReference.getAndAccumulate_added(V, java.util.function.BinaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>V, BinaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReference
+</A></nobr><br>
+<!-- Method getAndAccumulate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html#java.util.concurrent.atomic.AtomicReferenceArray.getAndAccumulate_added(int, E, java.util.function.BinaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, E, BinaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceArray
+</A></nobr><br>
+<!-- Method getAndAccumulate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html#java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndAccumulate_added(T, V, java.util.function.BinaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, V, BinaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceFieldUpdater
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+<i>getAndUpdate</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicInteger.html#java.util.concurrent.atomic.AtomicInteger.getAndUpdate_added(java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicInteger
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html#java.util.concurrent.atomic.AtomicIntegerArray.getAndUpdate_added(int, java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerArray
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html#java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndUpdate_added(T, java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerFieldUpdater
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLong.html#java.util.concurrent.atomic.AtomicLong.getAndUpdate_added(java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLong
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongArray.html#java.util.concurrent.atomic.AtomicLongArray.getAndUpdate_added(int, java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongArray
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html#java.util.concurrent.atomic.AtomicLongFieldUpdater.getAndUpdate_added(T, java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongFieldUpdater
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReference.html#java.util.concurrent.atomic.AtomicReference.getAndUpdate_added(java.util.function.UnaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReference
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html#java.util.concurrent.atomic.AtomicReferenceArray.getAndUpdate_added(int, java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceArray
+</A></nobr><br>
+<!-- Method getAndUpdate -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html#java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndUpdate_added(T, java.util.function.UnaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, UnaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceFieldUpdater
+</A></nobr><br>
+<!-- Method getAnnotationsByType -->
+<i>getAnnotationsByType</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Package.html#java.lang.Package.getAnnotationsByType_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.Package
+</A></nobr><br>
+<!-- Method getAnnotationsByType -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AnnotatedElement.html#java.lang.reflect.AnnotatedElement.getAnnotationsByType_added(java.lang.Class<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.AnnotatedElement
+</A></nobr><br>
+<!-- Method getApplicationRestrictionsManagingPackage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getApplicationRestrictionsManagingPackage_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getApplicationRestrictionsManagingPackage</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getArfcn -->
+<nobr><A HREF="android.telephony.CellIdentityGsm.html#android.telephony.CellIdentityGsm.getArfcn_added()" class="hiddenlink" target="rightframe"><b>getArfcn</b>
+()</A></nobr><br>
+<!-- Method getAttestationChallenge -->
+<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.html#android.security.keystore.KeyGenParameterSpec.getAttestationChallenge_added()" class="hiddenlink" target="rightframe"><b>getAttestationChallenge</b>
+()</A></nobr><br>
+<!-- Method getAutomaticZenRule -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.getAutomaticZenRule_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getAutomaticZenRule</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method getAutomaticZenRules -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.getAutomaticZenRules_added()" class="hiddenlink" target="rightframe"><b>getAutomaticZenRules</b>
+()</A></nobr><br>
+<!-- Method getBrowserRootHints -->
+<nobr><A HREF="android.service.media.MediaBrowserService.html#android.service.media.MediaBrowserService.getBrowserRootHints_added()" class="hiddenlink" target="rightframe"><b>getBrowserRootHints</b>
+()</A></nobr><br>
+<!-- Method getBsic -->
+<nobr><A HREF="android.telephony.CellIdentityGsm.html#android.telephony.CellIdentityGsm.getBsic_added()" class="hiddenlink" target="rightframe"><b>getBsic</b>
+()</A></nobr><br>
+<!-- Method getBufferCapacityInFrames -->
+<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.getBufferCapacityInFrames_added()" class="hiddenlink" target="rightframe"><b>getBufferCapacityInFrames</b>
+()</A></nobr><br>
+<!-- Method getBuiltInDrawable -->
+<i>getBuiltInDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getBuiltInDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<!-- Method getBuiltInDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getBuiltInDrawable_added(int, int, boolean, float, float, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, boolean, float, float, int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<!-- Method getBundle -->
+<i>getBundle</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<!-- Method getBundle -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.Locale, java.lang.ClassLoader)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Locale, ClassLoader</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<!-- Method getBundle -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.Locale)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Locale</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<!-- Method getBundle -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.Locale, java.util.ResourceBundle.Control)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Locale, Control</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<!-- Method getBundle -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.ResourceBundle.Control)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Control</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<!-- Method getByteBuffer -->
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.getByteBuffer_added()" class="hiddenlink" target="rightframe"><b>getByteBuffer</b>
+()</A></nobr><br>
+<!-- Method getCaCertificates -->
+<nobr><A HREF="android.net.wifi.WifiEnterpriseConfig.html#android.net.wifi.WifiEnterpriseConfig.getCaCertificates_added()" class="hiddenlink" target="rightframe"><b>getCaCertificates</b>
+()</A></nobr><br>
+<!-- Method getCalendarView -->
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.getCalendarView_changed()" class="hiddenlink" target="rightframe">getCalendarView
+()</A></nobr><br>
+<!-- Method getCalendarViewShown -->
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.getCalendarViewShown_changed()" class="hiddenlink" target="rightframe">getCalendarViewShown
+()</A></nobr><br>
+<!-- Method getColor -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getColor_added()" class="hiddenlink" target="rightframe"><b>getColor</b>
+()</A></nobr><br>
+<!-- Method getColors -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getColors_added()" class="hiddenlink" target="rightframe"><b>getColors</b>
+()</A></nobr><br>
+<!-- Method getCommonPoolParallelism -->
+<nobr><A HREF="java.util.concurrent.ForkJoinPool.html#java.util.concurrent.ForkJoinPool.getCommonPoolParallelism_added()" class="hiddenlink" target="rightframe"><b>getCommonPoolParallelism</b>
+()</A></nobr><br>
+<!-- Method getCompressedSizeLong -->
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getCompressedSizeLong_added()" class="hiddenlink" target="rightframe"><b>getCompressedSizeLong</b>
+()</A></nobr><br>
+<!-- Method getConnectionProperties -->
+<nobr><A HREF="android.telecom.RemoteConference.html#android.telecom.RemoteConference.getConnectionProperties_added()" class="hiddenlink" target="rightframe"><b>getConnectionProperties</b>
+()</A></nobr><br>
+<!-- Method getConstructor -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getConstructor_changed(java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getConstructor
+(<code>Class&lt;?&gt;</code>)</A></nobr><br>
+<!-- Method getConstructors -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getConstructors_changed()" class="hiddenlink" target="rightframe">getConstructors
+()</A></nobr><br>
+<!-- Method getContentInsetEndWithActions -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getContentInsetEndWithActions_added()" class="hiddenlink" target="rightframe"><b>getContentInsetEndWithActions</b>
+()</A></nobr><br>
+<!-- Method getContentInsetStartWithNavigation -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getContentInsetStartWithNavigation_added()" class="hiddenlink" target="rightframe"><b>getContentInsetStartWithNavigation</b>
+()</A></nobr><br>
+<!-- Method getContentLengthLong -->
+<nobr><A HREF="java.net.URLConnection.html#java.net.URLConnection.getContentLengthLong_added()" class="hiddenlink" target="rightframe"><b>getContentLengthLong</b>
+()</A></nobr><br>
+<!-- Method getContextualShaper -->
+<i>getContextualShaper</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.getContextualShaper_added(java.util.Set<java.awt.font.NumericShaper.Range>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Set&lt;Range&gt;</code>)</b>&nbsp;in&nbsp;java.awt.font.NumericShaper
+</A></nobr><br>
+<!-- Method getContextualShaper -->
+&nbsp;&nbsp;<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.getContextualShaper_added(java.util.Set<java.awt.font.NumericShaper.Range>, java.awt.font.NumericShaper.Range)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Set&lt;Range&gt;, Range</code>)</b>&nbsp;in&nbsp;java.awt.font.NumericShaper
+</A></nobr><br>
+<!-- Method getControl -->
+<nobr><A HREF="java.util.ResourceBundle.Control.html#java.util.ResourceBundle.Control.getControl_changed(java.util.List<java.lang.String>)" class="hiddenlink" target="rightframe">getControl
+(<code>List&lt;String&gt;</code>)</A></nobr><br>
+<!-- Method getCornerRadii -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getCornerRadii_added()" class="hiddenlink" target="rightframe"><b>getCornerRadii</b>
+()</A></nobr><br>
+<!-- Method getCornerRadius -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getCornerRadius_added()" class="hiddenlink" target="rightframe"><b>getCornerRadius</b>
+()</A></nobr><br>
+<!-- Method getCrossProfileContactsSearchDisabled -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getCrossProfileContactsSearchDisabled_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getCrossProfileContactsSearchDisabled</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getCurrentContentInsetEnd -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getCurrentContentInsetEnd_added()" class="hiddenlink" target="rightframe"><b>getCurrentContentInsetEnd</b>
+()</A></nobr><br>
+<!-- Method getCurrentContentInsetLeft -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getCurrentContentInsetLeft_added()" class="hiddenlink" target="rightframe"><b>getCurrentContentInsetLeft</b>
+()</A></nobr><br>
+<!-- Method getCurrentContentInsetRight -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getCurrentContentInsetRight_added()" class="hiddenlink" target="rightframe"><b>getCurrentContentInsetRight</b>
+()</A></nobr><br>
+<!-- Method getCurrentContentInsetStart -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getCurrentContentInsetStart_added()" class="hiddenlink" target="rightframe"><b>getCurrentContentInsetStart</b>
+()</A></nobr><br>
+<!-- Method getDataDir -->
+<i>getDataDir</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.getDataDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method getDataDir -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.getDataDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method getDataDir -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.getDataDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Method getDataNetworkType -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getDataNetworkType_added()" class="hiddenlink" target="rightframe"><b>getDataNetworkType</b>
+()</A></nobr><br>
+<!-- Method getDeclaredAnnotation -->
+<i>getDeclaredAnnotation</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Package.html#java.lang.Package.getDeclaredAnnotation_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.Package
+</A></nobr><br>
+<!-- Method getDeclaredAnnotation -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AnnotatedElement.html#java.lang.reflect.AnnotatedElement.getDeclaredAnnotation_added(java.lang.Class<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.AnnotatedElement
+</A></nobr><br>
+<!-- Method getDeclaredAnnotationsByType -->
+<i>getDeclaredAnnotationsByType</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Package.html#java.lang.Package.getDeclaredAnnotationsByType_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.Package
+</A></nobr><br>
+<!-- Method getDeclaredAnnotationsByType -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AnnotatedElement.html#java.lang.reflect.AnnotatedElement.getDeclaredAnnotationsByType_added(java.lang.Class<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.AnnotatedElement
+</A></nobr><br>
+<!-- Method getDeclaredConstructor -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredConstructor_changed(java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getDeclaredConstructor
+(<code>Class&lt;?&gt;</code>)</A></nobr><br>
+<!-- Method getDeclaredConstructors -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredConstructors_changed()" class="hiddenlink" target="rightframe">getDeclaredConstructors
+()</A></nobr><br>
+<!-- Method getDeclaredMethod -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredMethod_changed(java.lang.String, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getDeclaredMethod
+(<code>String, Class&lt;?&gt;</code>)</A></nobr><br>
+<!-- Method getDeclaredMethods -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredMethods_changed()" class="hiddenlink" target="rightframe">getDeclaredMethods
+()</A></nobr><br>
+<!-- Method getDefault -->
+<nobr><A HREF="java.util.Locale.html#java.util.Locale.getDefault_added(java.util.Locale.Category)" class="hiddenlink" target="rightframe"><b>getDefault</b>
+(<code>Category</code>)</A></nobr><br>
+<!-- Method getDefaultBrowserPackageName -->
+<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.getDefaultBrowserPackageName_removed(int)" class="hiddenlink" target="rightframe"><strike>getDefaultBrowserPackageName</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getDefaultDataSubscriptionId -->
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.getDefaultDataSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultDataSubscriptionId</b>
+()</A></nobr><br>
+<!-- Method getDefaultSharedPreferencesName -->
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.getDefaultSharedPreferencesName_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>getDefaultSharedPreferencesName</b>
+(<code>Context</code>)</A></nobr><br>
+<!-- Method getDefaultSmsSubscriptionId -->
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.getDefaultSmsSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultSmsSubscriptionId</b>
+()</A></nobr><br>
+<!-- Method getDefaultSubscriptionId -->
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.getDefaultSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultSubscriptionId</b>
+()</A></nobr><br>
+<!-- Method getDefaultVoiceSubscriptionId -->
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.getDefaultVoiceSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultVoiceSubscriptionId</b>
+()</A></nobr><br>
+<!-- Method getDeviceOwnerLockScreenInfo -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getDeviceOwnerLockScreenInfo_added()" class="hiddenlink" target="rightframe"><b>getDeviceOwnerLockScreenInfo</b>
+()</A></nobr><br>
+<!-- Method getDeviceType -->
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.getDeviceType_added()" class="hiddenlink" target="rightframe"><b>getDeviceType</b>
+()</A></nobr><br>
+<!-- Method getDisabledActionModeMenuItems -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDisabledActionModeMenuItems_added()" class="hiddenlink" target="rightframe"><b>getDisabledActionModeMenuItems</b>
+()</A></nobr><br>
+<!-- Method getDismissalId -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getDismissalId_added()" class="hiddenlink" target="rightframe"><b>getDismissalId</b>
+()</A></nobr><br>
+<!-- Method getDocumentStreamTypes -->
+<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.getDocumentStreamTypes_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>getDocumentStreamTypes</b>
+(<code>String, String</code>)</A></nobr><br>
+<!-- Method getDrawingOrder -->
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.getDrawingOrder_added()" class="hiddenlink" target="rightframe"><b>getDrawingOrder</b>
+()</A></nobr><br>
+<!-- Method getDrmInitData -->
+<nobr><A HREF="android.media.MediaExtractor.html#android.media.MediaExtractor.getDrmInitData_added()" class="hiddenlink" target="rightframe"><b>getDrmInitData</b>
+()</A></nobr><br>
+<!-- Method getDynamicSensorList -->
+<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.getDynamicSensorList_added(int)" class="hiddenlink" target="rightframe"><b>getDynamicSensorList</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getEarfcn -->
+<nobr><A HREF="android.telephony.CellIdentityLte.html#android.telephony.CellIdentityLte.getEarfcn_added()" class="hiddenlink" target="rightframe"><b>getEarfcn</b>
+()</A></nobr><br>
+<!-- Method getEndpointIdentificationAlgorithm -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getEndpointIdentificationAlgorithm_added()" class="hiddenlink" target="rightframe"><b>getEndpointIdentificationAlgorithm</b>
+()</A></nobr><br>
+<!-- Method getEnterTransition -->
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.getEnterTransition_added()" class="hiddenlink" target="rightframe"><b>getEnterTransition</b>
+()</A></nobr><br>
+<!-- Method getEventsSupported -->
+<nobr><A HREF="android.mtp.MtpDeviceInfo.html#android.mtp.MtpDeviceInfo.getEventsSupported_added()" class="hiddenlink" target="rightframe"><b>getEventsSupported</b>
+()</A></nobr><br>
+<!-- Method getExclusiveCores -->
+<nobr><A HREF="android.os.Process.html#android.os.Process.getExclusiveCores_added()" class="hiddenlink" target="rightframe"><b>getExclusiveCores</b>
+()</A></nobr><br>
+<!-- Method getExitTransition -->
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.getExitTransition_added()" class="hiddenlink" target="rightframe"><b>getExitTransition</b>
+()</A></nobr><br>
+<!-- Method getExtras -->
+<i>getExtras</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ClipDescription.html#android.content.ClipDescription.getExtras_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ClipDescription
+</A></nobr><br>
+<!-- Method getExtras -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.getExtras_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.media.tv.TvInputInfo
+</A></nobr><br>
+<!-- Method getExtras -->
+&nbsp;&nbsp;<nobr><A HREF="android.telecom.PhoneAccount.html#android.telecom.PhoneAccount.getExtras_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.telecom.PhoneAccount
+</A></nobr><br>
+<!-- Method getFields -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getFields_changed()" class="hiddenlink" target="rightframe">getFields
+()</A></nobr><br>
+<!-- Method getFlexMillis -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getFlexMillis_added()" class="hiddenlink" target="rightframe"><b>getFlexMillis</b>
+()</A></nobr><br>
+<!-- Method getForkJoinTaskTag -->
+<nobr><A HREF="java.util.concurrent.ForkJoinTask.html#java.util.concurrent.ForkJoinTask.getForkJoinTaskTag_added()" class="hiddenlink" target="rightframe"><b>getForkJoinTaskTag</b>
+()</A></nobr><br>
+<!-- Method getGlobal -->
+<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.getGlobal_changed()" class="hiddenlink" target="rightframe">getGlobal
+()</A></nobr><br>
+<!-- Method getGpsStatus -->
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.getGpsStatus_changed(android.location.GpsStatus)" class="hiddenlink" target="rightframe">getGpsStatus
+(<code>GpsStatus</code>)</A></nobr><br>
+<!-- Method getGradientCenterX -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getGradientCenterX_added()" class="hiddenlink" target="rightframe"><b>getGradientCenterX</b>
+()</A></nobr><br>
+<!-- Method getGradientCenterY -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getGradientCenterY_added()" class="hiddenlink" target="rightframe"><b>getGradientCenterY</b>
+()</A></nobr><br>
+<!-- Method getGradientType -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getGradientType_added()" class="hiddenlink" target="rightframe"><b>getGradientType</b>
+()</A></nobr><br>
+<!-- Method getGravity -->
+<nobr><A HREF="android.widget.LinearLayout.html#android.widget.LinearLayout.getGravity_added()" class="hiddenlink" target="rightframe"><b>getGravity</b>
+()</A></nobr><br>
+<!-- Method getHandler -->
+<i>getHandler</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.BaseInputConnection.html#android.view.inputmethod.BaseInputConnection.getHandler_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.BaseInputConnection
+</A></nobr><br>
+<!-- Method getHandler -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnection.html#android.view.inputmethod.InputConnection.getHandler_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnection
+</A></nobr><br>
+<!-- Method getHandler -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnectionWrapper.html#android.view.inputmethod.InputConnectionWrapper.getHandler_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnectionWrapper
+</A></nobr><br>
+<!-- Method getHandshakeSession -->
+<i>getHandshakeSession</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.net.ssl.SSLEngine.html#javax.net.ssl.SSLEngine.getHandshakeSession_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.net.ssl.SSLEngine
+</A></nobr><br>
+<!-- Method getHandshakeSession -->
+&nbsp;&nbsp;<nobr><A HREF="javax.net.ssl.SSLSocket.html#javax.net.ssl.SSLSocket.getHandshakeSession_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.net.ssl.SSLSocket
+</A></nobr><br>
+<!-- Method getHasOverlappingRendering -->
+<nobr><A HREF="android.view.View.html#android.view.View.getHasOverlappingRendering_added()" class="hiddenlink" target="rightframe"><b>getHasOverlappingRendering</b>
+()</A></nobr><br>
+<!-- Method getHdrCapabilities -->
+<nobr><A HREF="android.view.Display.html#android.view.Display.getHdrCapabilities_added()" class="hiddenlink" target="rightframe"><b>getHdrCapabilities</b>
+()</A></nobr><br>
+<!-- Method getHeaderFieldLong -->
+<nobr><A HREF="java.net.URLConnection.html#java.net.URLConnection.getHeaderFieldLong_added(java.lang.String, long)" class="hiddenlink" target="rightframe"><b>getHeaderFieldLong</b>
+(<code>String, long</code>)</A></nobr><br>
+<!-- Method getHintAmbientBigPicture -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getHintAmbientBigPicture_added()" class="hiddenlink" target="rightframe"><b>getHintAmbientBigPicture</b>
+()</A></nobr><br>
+<!-- Method getHintContentIntentLaunchesActivity -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getHintContentIntentLaunchesActivity_added()" class="hiddenlink" target="rightframe"><b>getHintContentIntentLaunchesActivity</b>
+()</A></nobr><br>
+<!-- Method getHintLaunchesActivity -->
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.getHintLaunchesActivity_added()" class="hiddenlink" target="rightframe"><b>getHintLaunchesActivity</b>
+()</A></nobr><br>
+<!-- Method getIccAuthentication -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getIccAuthentication_added(int, int, java.lang.String)" class="hiddenlink" target="rightframe"><b>getIccAuthentication</b>
+(<code>int, int, String</code>)</A></nobr><br>
+<!-- Method getId -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.getId_added()" class="hiddenlink" target="rightframe"><b>getId</b>
+()</A></nobr><br>
+<!-- Method getImagePixDepthLong -->
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getImagePixDepthLong_added()" class="hiddenlink" target="rightframe"><b>getImagePixDepthLong</b>
+()</A></nobr><br>
+<!-- Method getImagePixHeightLong -->
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getImagePixHeightLong_added()" class="hiddenlink" target="rightframe"><b>getImagePixHeightLong</b>
+()</A></nobr><br>
+<!-- Method getImagePixWidthLong -->
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getImagePixWidthLong_added()" class="hiddenlink" target="rightframe"><b>getImagePixWidthLong</b>
+()</A></nobr><br>
+<!-- Method getImeHintLocales -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getImeHintLocales_added()" class="hiddenlink" target="rightframe"><b>getImeHintLocales</b>
+()</A></nobr><br>
+<!-- Method getImportance -->
+<i>getImportance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.getImportance_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.app.NotificationManager
+</A></nobr><br>
+<!-- Method getImportance -->
+&nbsp;&nbsp;<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.getImportance_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.service.notification.NotificationListenerService.Ranking
+</A></nobr><br>
+<!-- Method getImportanceExplanation -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.getImportanceExplanation_added()" class="hiddenlink" target="rightframe"><b>getImportanceExplanation</b>
+()</A></nobr><br>
+<!-- Method getInstance -->
+<i>getInstance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.text.DecimalFormatSymbols.html#java.text.DecimalFormatSymbols.getInstance_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.text.DecimalFormatSymbols
+</A></nobr><br>
+<!-- Method getInstance -->
+&nbsp;&nbsp;<nobr><A HREF="java.text.DecimalFormatSymbols.html#java.text.DecimalFormatSymbols.getInstance_changed(java.util.Locale)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Locale</code>)&nbsp;in&nbsp;java.text.DecimalFormatSymbols
+</A></nobr><br>
+<!-- Method getISO3Country -->
+<nobr><A HREF="java.util.Locale.html#java.util.Locale.getISO3Country_changed()" class="hiddenlink" target="rightframe">getISO3Country
+()</A></nobr><br>
+<!-- Method getISO3Language -->
+<nobr><A HREF="java.util.Locale.html#java.util.Locale.getISO3Language_changed()" class="hiddenlink" target="rightframe">getISO3Language
+()</A></nobr><br>
+<!-- Method getLanguageTag -->
+<i>getLanguageTag</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.getLanguageTag_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputMethodSubtype
+</A></nobr><br>
+<!-- Method getLanguageTag -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.textservice.SpellCheckerSubtype.html#android.view.textservice.SpellCheckerSubtype.getLanguageTag_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.textservice.SpellCheckerSubtype
+</A></nobr><br>
+<!-- Method getLastNonConfigurationInstance -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.getLastNonConfigurationInstance_changed()" class="hiddenlink" target="rightframe">getLastNonConfigurationInstance
+()</A></nobr><br>
+<!-- Method getLaunchBounds -->
+<nobr><A HREF="android.app.ActivityOptions.html#android.app.ActivityOptions.getLaunchBounds_added()" class="hiddenlink" target="rightframe"><b>getLaunchBounds</b>
+()</A></nobr><br>
+<!-- Method getLeftStripDrawable -->
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.getLeftStripDrawable_added()" class="hiddenlink" target="rightframe"><b>getLeftStripDrawable</b>
+()</A></nobr><br>
+<!-- Method getListener -->
+<nobr><A HREF="java.util.EventListenerProxy.html#java.util.EventListenerProxy.getListener_changed()" class="hiddenlink" target="rightframe">getListener
+()</A></nobr><br>
+<!-- Method getLocale -->
+<i>getLocale</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.SuggestionSpan.html#android.text.style.SuggestionSpan.getLocale_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.text.style.SuggestionSpan
+</A></nobr><br>
+<!-- Method getLocale -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.getLocale_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.view.inputmethod.InputMethodSubtype
+</A></nobr><br>
+<!-- Method getLocale -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.textservice.SpellCheckerSubtype.html#android.view.textservice.SpellCheckerSubtype.getLocale_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.view.textservice.SpellCheckerSubtype
+</A></nobr><br>
+<!-- Method getLocaleObject -->
+<nobr><A HREF="android.text.style.SuggestionSpan.html#android.text.style.SuggestionSpan.getLocaleObject_added()" class="hiddenlink" target="rightframe"><b>getLocaleObject</b>
+()</A></nobr><br>
+<!-- Method getLocales -->
+<i>getLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.getLocales_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.res.Configuration
+</A></nobr><br>
+<!-- Method getLocales -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.getLocales_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.text.style.LocaleSpan
+</A></nobr><br>
+<!-- Method getLongSupportMessage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getLongSupportMessage_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getLongSupportMessage</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getMagnificationController -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.getMagnificationController_added()" class="hiddenlink" target="rightframe"><b>getMagnificationController</b>
+()</A></nobr><br>
+<!-- Method getMaxAvailableHeight -->
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.getMaxAvailableHeight_added(android.view.View, int, boolean)" class="hiddenlink" target="rightframe"><b>getMaxAvailableHeight</b>
+(<code>View, int, boolean</code>)</A></nobr><br>
+<!-- Method getMethod -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getMethod_changed(java.lang.String, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getMethod
+(<code>String, Class&lt;?&gt;</code>)</A></nobr><br>
+<!-- Method getMethods -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getMethods_changed()" class="hiddenlink" target="rightframe">getMethods
+()</A></nobr><br>
+<!-- Method getMinFlexMillis -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinFlexMillis_added()" class="hiddenlink" target="rightframe"><b>getMinFlexMillis</b>
+()</A></nobr><br>
+<!-- Method getMinPeriodMillis -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinPeriodMillis_added()" class="hiddenlink" target="rightframe"><b>getMinPeriodMillis</b>
+()</A></nobr><br>
+<!-- Method getNoFallbackControl -->
+<nobr><A HREF="java.util.ResourceBundle.Control.html#java.util.ResourceBundle.Control.getNoFallbackControl_changed(java.util.List<java.lang.String>)" class="hiddenlink" target="rightframe">getNoFallbackControl
+(<code>List&lt;String&gt;</code>)</A></nobr><br>
+<!-- Method getNumericCode -->
+<nobr><A HREF="java.util.Currency.html#java.util.Currency.getNumericCode_added()" class="hiddenlink" target="rightframe"><b>getNumericCode</b>
+()</A></nobr><br>
+<!-- Method getOperationsSupported -->
+<nobr><A HREF="android.mtp.MtpDeviceInfo.html#android.mtp.MtpDeviceInfo.getOperationsSupported_added()" class="hiddenlink" target="rightframe"><b>getOperationsSupported</b>
+()</A></nobr><br>
+<!-- Method getOrDefault -->
+<i>getOrDefault</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.getOrDefault_added(java.lang.Object, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, V</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method getOrDefault -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.getOrDefault_added(java.lang.Object, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, V</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method getOrDefault -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.getOrDefault_added(java.lang.Object, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, V</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method getOrDefault -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.getOrDefault_added(java.lang.Object, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, V</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<!-- Method getOrganizationColor -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getOrganizationColor_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getOrganizationColor</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getOrganizationName -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getOrganizationName_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getOrganizationName</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getOverrideGroupKey -->
+<i>getOverrideGroupKey</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.getOverrideGroupKey_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.service.notification.NotificationListenerService.Ranking
+</A></nobr><br>
+<!-- Method getOverrideGroupKey -->
+&nbsp;&nbsp;<nobr><A HREF="android.service.notification.StatusBarNotification.html#android.service.notification.StatusBarNotification.getOverrideGroupKey_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.service.notification.StatusBarNotification
+</A></nobr><br>
+<!-- Method getPackageGids -->
+<i>getPackageGids</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.getPackageGids_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method getPackageGids -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.getPackageGids_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Method getPackageUid -->
+<i>getPackageUid</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.getPackageUid_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method getPackageUid -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.getPackageUid_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Method getParentLogger -->
+<nobr><A HREF="javax.sql.CommonDataSource.html#javax.sql.CommonDataSource.getParentLogger_added()" class="hiddenlink" target="rightframe"><b>getParentLogger</b>
+()</A></nobr><br>
+<!-- Method getParentProfileInstance -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getParentProfileInstance_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getParentProfileInstance</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getPartialObject -->
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.getPartialObject_added(int, long, long, byte[])" class="hiddenlink" target="rightframe"><b>getPartialObject</b>
+(<code>int, long, long, byte[]</code>)</A></nobr><br>
+<!-- Method getPartialObject64 -->
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.getPartialObject64_added(int, long, long, byte[])" class="hiddenlink" target="rightframe"><b>getPartialObject64</b>
+(<code>int, long, long, byte[]</code>)</A></nobr><br>
+<!-- Method getPendingJob -->
+<nobr><A HREF="android.app.job.JobScheduler.html#android.app.job.JobScheduler.getPendingJob_added(int)" class="hiddenlink" target="rightframe"><b>getPendingJob</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getPersistedStringSet -->
+<nobr><A HREF="android.preference.Preference.html#android.preference.Preference.getPersistedStringSet_added(java.util.Set<java.lang.String>)" class="hiddenlink" target="rightframe"><b>getPersistedStringSet</b>
+(<code>Set&lt;String&gt;</code>)</A></nobr><br>
+<!-- Method getPointerIcon -->
+<nobr><A HREF="android.view.View.html#android.view.View.getPointerIcon_added()" class="hiddenlink" target="rightframe"><b>getPointerIcon</b>
+()</A></nobr><br>
+<!-- Method getPrimaryStorageVolume -->
+<nobr><A HREF="android.os.storage.StorageManager.html#android.os.storage.StorageManager.getPrimaryStorageVolume_added()" class="hiddenlink" target="rightframe"><b>getPrimaryStorageVolume</b>
+()</A></nobr><br>
+<!-- Method getRadius -->
+<nobr><A HREF="android.graphics.Outline.html#android.graphics.Outline.getRadius_added()" class="hiddenlink" target="rightframe"><b>getRadius</b>
+()</A></nobr><br>
+<!-- Method getRangeSet -->
+<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.getRangeSet_added()" class="hiddenlink" target="rightframe"><b>getRangeSet</b>
+()</A></nobr><br>
+<!-- Method getReason -->
+<nobr><A HREF="java.security.cert.CertPathValidatorException.html#java.security.cert.CertPathValidatorException.getReason_added()" class="hiddenlink" target="rightframe"><b>getReason</b>
+()</A></nobr><br>
+<!-- Method getRect -->
+<nobr><A HREF="android.graphics.Outline.html#android.graphics.Outline.getRect_added(android.graphics.Rect)" class="hiddenlink" target="rightframe"><b>getRect</b>
+(<code>Rect</code>)</A></nobr><br>
+<!-- Method getRemoteAddress -->
+<i>getRemoteAddress</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.DatagramChannel.html#java.nio.channels.DatagramChannel.getRemoteAddress_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.nio.channels.DatagramChannel
+</A></nobr><br>
+<!-- Method getRemoteAddress -->
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.getRemoteAddress_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.nio.channels.SocketChannel
+</A></nobr><br>
+<!-- Method getRestrictBackgroundStatus -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.getRestrictBackgroundStatus_added()" class="hiddenlink" target="rightframe"><b>getRestrictBackgroundStatus</b>
+()</A></nobr><br>
+<!-- Method getReverse -->
+<nobr><A HREF="android.text.TextUtils.html#android.text.TextUtils.getReverse_changed(java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">getReverse
+(<code>CharSequence, int, int</code>)</A></nobr><br>
+<!-- Method getRevocationChecker -->
+<i>getRevocationChecker</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.cert.CertPathBuilder.html#java.security.cert.CertPathBuilder.getRevocationChecker_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.security.cert.CertPathBuilder
+</A></nobr><br>
+<!-- Method getRevocationChecker -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.cert.CertPathValidator.html#java.security.cert.CertPathValidator.getRevocationChecker_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.security.cert.CertPathValidator
+</A></nobr><br>
+<!-- Method getRevocationReason -->
+<nobr><A HREF="java.security.cert.X509CRLEntry.html#java.security.cert.X509CRLEntry.getRevocationReason_added()" class="hiddenlink" target="rightframe"><b>getRevocationReason</b>
+()</A></nobr><br>
+<!-- Method getRightStripDrawable -->
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.getRightStripDrawable_added()" class="hiddenlink" target="rightframe"><b>getRightStripDrawable</b>
+()</A></nobr><br>
+<!-- Method getRoaming -->
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.getRoaming_added()" class="hiddenlink" target="rightframe"><b>getRoaming</b>
+()</A></nobr><br>
+<!-- Method getSequenceNumberLong -->
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getSequenceNumberLong_added()" class="hiddenlink" target="rightframe"><b>getSequenceNumberLong</b>
+()</A></nobr><br>
+<!-- Method getServerNames -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getServerNames_added()" class="hiddenlink" target="rightframe"><b>getServerNames</b>
+()</A></nobr><br>
+<!-- Method getShape -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getShape_added()" class="hiddenlink" target="rightframe"><b>getShape</b>
+()</A></nobr><br>
+<!-- Method getShaper -->
+<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.getShaper_added(java.awt.font.NumericShaper.Range)" class="hiddenlink" target="rightframe"><b>getShaper</b>
+(<code>Range</code>)</A></nobr><br>
+<!-- Method getShortSupportMessage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getShortSupportMessage_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getShortSupportMessage</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getShowWeekNumber -->
+<nobr><A HREF="android.widget.CalendarView.html#android.widget.CalendarView.getShowWeekNumber_changed()" class="hiddenlink" target="rightframe">getShowWeekNumber
+()</A></nobr><br>
+<!-- Method getSNIMatchers -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getSNIMatchers_added()" class="hiddenlink" target="rightframe"><b>getSNIMatchers</b>
+()</A></nobr><br>
+<!-- Method getSoftKeyboardController -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.getSoftKeyboardController_added()" class="hiddenlink" target="rightframe"><b>getSoftKeyboardController</b>
+()</A></nobr><br>
+<!-- Method getSpinnersShown -->
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.getSpinnersShown_changed()" class="hiddenlink" target="rightframe">getSpinnersShown
+()</A></nobr><br>
+<!-- Method getSSLParameters -->
+<nobr><A HREF="javax.net.ssl.SSLServerSocket.html#javax.net.ssl.SSLServerSocket.getSSLParameters_added()" class="hiddenlink" target="rightframe"><b>getSSLParameters</b>
+()</A></nobr><br>
+<!-- Method getStartElapsedRealtime -->
+<nobr><A HREF="android.os.Process.html#android.os.Process.getStartElapsedRealtime_added()" class="hiddenlink" target="rightframe"><b>getStartElapsedRealtime</b>
+()</A></nobr><br>
+<!-- Method getStartUptimeMillis -->
+<nobr><A HREF="android.os.Process.html#android.os.Process.getStartUptimeMillis_added()" class="hiddenlink" target="rightframe"><b>getStartUptimeMillis</b>
+()</A></nobr><br>
+<!-- Method getStorageVolume -->
+<nobr><A HREF="android.os.storage.StorageManager.html#android.os.storage.StorageManager.getStorageVolume_added(java.io.File)" class="hiddenlink" target="rightframe"><b>getStorageVolume</b>
+(<code>File</code>)</A></nobr><br>
+<!-- Method getStorageVolumes -->
+<nobr><A HREF="android.os.storage.StorageManager.html#android.os.storage.StorageManager.getStorageVolumes_added()" class="hiddenlink" target="rightframe"><b>getStorageVolumes</b>
+()</A></nobr><br>
+<!-- Method getStride -->
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.getStride_added()" class="hiddenlink" target="rightframe"><b>getStride</b>
+()</A></nobr><br>
+<!-- Method getSuppressedVisualEffects -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.getSuppressedVisualEffects_added()" class="hiddenlink" target="rightframe"><b>getSuppressedVisualEffects</b>
+()</A></nobr><br>
+<!-- Method getTag -->
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.getTag_added()" class="hiddenlink" target="rightframe"><b>getTag</b>
+()</A></nobr><br>
+<!-- Method getTextLocales -->
+<i>getTextLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.getTextLocales_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.Paint
+</A></nobr><br>
+<!-- Method getTextLocales -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getTextLocales_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<!-- Method getThumbCompressedSizeLong -->
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getThumbCompressedSizeLong_added()" class="hiddenlink" target="rightframe"><b>getThumbCompressedSizeLong</b>
+()</A></nobr><br>
+<!-- Method getThumbnailRange -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.getThumbnailRange_added()" class="hiddenlink" target="rightframe"><b>getThumbnailRange</b>
+()</A></nobr><br>
+<!-- Method getThumbPixHeightLong -->
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getThumbPixHeightLong_added()" class="hiddenlink" target="rightframe"><b>getThumbPixHeightLong</b>
+()</A></nobr><br>
+<!-- Method getThumbPixWidthLong -->
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getThumbPixWidthLong_added()" class="hiddenlink" target="rightframe"><b>getThumbPixWidthLong</b>
+()</A></nobr><br>
+<!-- Method getTickMark -->
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.getTickMark_added()" class="hiddenlink" target="rightframe"><b>getTickMark</b>
+()</A></nobr><br>
+<!-- Method getTickMarkTintList -->
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.getTickMarkTintList_added()" class="hiddenlink" target="rightframe"><b>getTickMarkTintList</b>
+()</A></nobr><br>
+<!-- Method getTickMarkTintMode -->
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.getTickMarkTintMode_added()" class="hiddenlink" target="rightframe"><b>getTickMarkTintMode</b>
+()</A></nobr><br>
+<!-- Method getTimestamp -->
+<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.getTimestamp_added(android.media.AudioTimestamp, int)" class="hiddenlink" target="rightframe"><b>getTimestamp</b>
+(<code>AudioTimestamp, int</code>)</A></nobr><br>
+<!-- Method getTimeStamp -->
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.getTimeStamp_added()" class="hiddenlink" target="rightframe"><b>getTimeStamp</b>
+()</A></nobr><br>
+<!-- Method getTitle -->
+<nobr><A HREF="android.view.accessibility.AccessibilityWindowInfo.html#android.view.accessibility.AccessibilityWindowInfo.getTitle_added()" class="hiddenlink" target="rightframe"><b>getTitle</b>
+()</A></nobr><br>
+<!-- Method getTitleMarginBottom -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getTitleMarginBottom_added()" class="hiddenlink" target="rightframe"><b>getTitleMarginBottom</b>
+()</A></nobr><br>
+<!-- Method getTitleMarginEnd -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getTitleMarginEnd_added()" class="hiddenlink" target="rightframe"><b>getTitleMarginEnd</b>
+()</A></nobr><br>
+<!-- Method getTitleMarginStart -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getTitleMarginStart_added()" class="hiddenlink" target="rightframe"><b>getTitleMarginStart</b>
+()</A></nobr><br>
+<!-- Method getTitleMarginTop -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getTitleMarginTop_added()" class="hiddenlink" target="rightframe"><b>getTitleMarginTop</b>
+()</A></nobr><br>
+<!-- Method getTotalDuration -->
+<nobr><A HREF="android.animation.Animator.html#android.animation.Animator.getTotalDuration_added()" class="hiddenlink" target="rightframe"><b>getTotalDuration</b>
+()</A></nobr><br>
+<!-- Method getTriggerContentMaxDelay -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getTriggerContentMaxDelay_added()" class="hiddenlink" target="rightframe"><b>getTriggerContentMaxDelay</b>
+()</A></nobr><br>
+<!-- Method getTriggerContentUpdateDelay -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getTriggerContentUpdateDelay_added()" class="hiddenlink" target="rightframe"><b>getTriggerContentUpdateDelay</b>
+()</A></nobr><br>
+<!-- Method getTriggerContentUris -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getTriggerContentUris_added()" class="hiddenlink" target="rightframe"><b>getTriggerContentUris</b>
+()</A></nobr><br>
+<!-- Method getTriggeredContentAuthorities -->
+<nobr><A HREF="android.app.job.JobParameters.html#android.app.job.JobParameters.getTriggeredContentAuthorities_added()" class="hiddenlink" target="rightframe"><b>getTriggeredContentAuthorities</b>
+()</A></nobr><br>
+<!-- Method getTriggeredContentUris -->
+<nobr><A HREF="android.app.job.JobParameters.html#android.app.job.JobParameters.getTriggeredContentUris_added()" class="hiddenlink" target="rightframe"><b>getTriggeredContentUris</b>
+()</A></nobr><br>
+<!-- Method getTunerCount -->
+<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.getTunerCount_added()" class="hiddenlink" target="rightframe"><b>getTunerCount</b>
+()</A></nobr><br>
+<!-- Method getUarfcn -->
+<nobr><A HREF="android.telephony.CellIdentityWcdma.html#android.telephony.CellIdentityWcdma.getUarfcn_added()" class="hiddenlink" target="rightframe"><b>getUarfcn</b>
+()</A></nobr><br>
+<!-- Method getUiAutomation -->
+<nobr><A HREF="android.app.Instrumentation.html#android.app.Instrumentation.getUiAutomation_added(int)" class="hiddenlink" target="rightframe"><b>getUiAutomation</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getUnderrunCount -->
+<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.getUnderrunCount_added()" class="hiddenlink" target="rightframe"><b>getUnderrunCount</b>
+()</A></nobr><br>
+<!-- Method getUseCipherSuitesOrder -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getUseCipherSuitesOrder_added()" class="hiddenlink" target="rightframe"><b>getUseCipherSuitesOrder</b>
+()</A></nobr><br>
+<!-- Method getUseLevel -->
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getUseLevel_added()" class="hiddenlink" target="rightframe"><b>getUseLevel</b>
+()</A></nobr><br>
+<!-- Method getUserHandleForUid -->
+<nobr><A HREF="android.os.UserHandle.html#android.os.UserHandle.getUserHandleForUid_added(int)" class="hiddenlink" target="rightframe"><b>getUserHandleForUid</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getUserRestrictions -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getUserRestrictions_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getUserRestrictions</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getVideoActiveFormatDescription -->
+<nobr><A HREF="android.media.tv.TvTrackInfo.html#android.media.tv.TvTrackInfo.getVideoActiveFormatDescription_added()" class="hiddenlink" target="rightframe"><b>getVideoActiveFormatDescription</b>
+()</A></nobr><br>
+<!-- Method getVoicemailRingtoneUri -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoicemailRingtoneUri_added(android.telecom.PhoneAccountHandle)" class="hiddenlink" target="rightframe"><b>getVoicemailRingtoneUri</b>
+(<code>PhoneAccountHandle</code>)</A></nobr><br>
+<!-- Method getVoiceNetworkType -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoiceNetworkType_added()" class="hiddenlink" target="rightframe"><b>getVoiceNetworkType</b>
+()</A></nobr><br>
+<!-- Method getWallpaperFile -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getWallpaperFile_added(int)" class="hiddenlink" target="rightframe"><b>getWallpaperFile</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getWallpaperId -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getWallpaperId_added(int)" class="hiddenlink" target="rightframe"><b>getWallpaperId</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getWeeksInWeekYear -->
+<nobr><A HREF="java.util.Calendar.html#java.util.Calendar.getWeeksInWeekYear_added()" class="hiddenlink" target="rightframe"><b>getWeeksInWeekYear</b>
+()</A></nobr><br>
+<!-- Method getWeekYear -->
+<nobr><A HREF="java.util.Calendar.html#java.util.Calendar.getWeekYear_added()" class="hiddenlink" target="rightframe"><b>getWeekYear</b>
+()</A></nobr><br>
+<!-- Method getWifiMacAddress -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getWifiMacAddress_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getWifiMacAddress</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Field GL_ALL_BARRIER_BITS -->
+<nobr><A HREF="android.opengl.GLES31.html#android.opengl.GLES31.GL_ALL_BARRIER_BITS" class="hiddenlink" target="rightframe">GL_ALL_BARRIER_BITS</A>
+</nobr><br>
+<!-- Field GL_ELEMENT_ARRAY_BARRIER_BIT -->
+<nobr><A HREF="android.opengl.GLES31.html#android.opengl.GLES31.GL_ELEMENT_ARRAY_BARRIER_BIT" class="hiddenlink" target="rightframe">GL_ELEMENT_ARRAY_BARRIER_BIT</A>
+</nobr><br>
+<!-- Field GL_SHADER_IMAGE_ACCESS_BARRIER_BIT -->
+<nobr><A HREF="android.opengl.GLES31.html#android.opengl.GLES31.GL_SHADER_IMAGE_ACCESS_BARRIER_BIT" class="hiddenlink" target="rightframe">GL_SHADER_IMAGE_ACCESS_BARRIER_BIT</A>
+</nobr><br>
+<!-- Field GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT -->
+<nobr><A HREF="android.opengl.GLES31.html#android.opengl.GLES31.GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT" class="hiddenlink" target="rightframe">GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT</A>
+</nobr><br>
+<!-- Class GLES30 -->
+<A HREF="android.opengl.GLES30.html" class="hiddenlink" target="rightframe">GLES30</A><br>
+<!-- Class GLES31 -->
+<A HREF="android.opengl.GLES31.html" class="hiddenlink" target="rightframe">GLES31</A><br>
+<!-- Class GLES32 -->
+<A HREF="pkg_android.opengl.html#GLES32" class="hiddenlink" target="rightframe"><b>GLES32</b></A><br>
+<!-- Class GLES32.DebugProc -->
+<A HREF="pkg_android.opengl.html#GLES32.DebugProc" class="hiddenlink" target="rightframe"><b><i>GLES32.DebugProc</i></b></A><br>
+<!-- Method glGetTransformFeedbackVarying -->
+<i>glGetTransformFeedbackVarying</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.opengl.GLES30.html#android.opengl.GLES30.glGetTransformFeedbackVarying_added(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.ByteBuffer)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, int, IntBuffer, IntBuffer, IntBuffer, ByteBuffer</code>)</b>&nbsp;in&nbsp;android.opengl.GLES30
+</A></nobr><br>
+<!-- Method glGetTransformFeedbackVarying -->
+&nbsp;&nbsp;<nobr><A HREF="android.opengl.GLES30.html#android.opengl.GLES30.glGetTransformFeedbackVarying_changed(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, byte)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int, int, IntBuffer, IntBuffer, IntBuffer, byte</code>)&nbsp;in&nbsp;android.opengl.GLES30
+</A></nobr><br>
+<!-- Field GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN" class="hiddenlink" target="rightframe">GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN</A>
+</nobr><br>
+<!-- Method glReadPixels -->
+<nobr><A HREF="android.opengl.GLES30.html#android.opengl.GLES30.glReadPixels_added(int, int, int, int, int, int, int)" class="hiddenlink" target="rightframe"><b>glReadPixels</b>
+(<code>int, int, int, int, int, int, int</code>)</A></nobr><br>
+<!-- Class GLSurfaceView -->
+<A HREF="android.opengl.GLSurfaceView.html" class="hiddenlink" target="rightframe">GLSurfaceView</A><br>
+<!-- Class GnssClock -->
+<A HREF="pkg_android.location.html#GnssClock" class="hiddenlink" target="rightframe"><b>GnssClock</b></A><br>
+<!-- Class GnssMeasurement -->
+<A HREF="pkg_android.location.html#GnssMeasurement" class="hiddenlink" target="rightframe"><b>GnssMeasurement</b></A><br>
+<!-- Class GnssMeasurementsEvent -->
+<A HREF="pkg_android.location.html#GnssMeasurementsEvent" class="hiddenlink" target="rightframe"><b>GnssMeasurementsEvent</b></A><br>
+<!-- Class GnssMeasurementsEvent.Callback -->
+<A HREF="pkg_android.location.html#GnssMeasurementsEvent.Callback" class="hiddenlink" target="rightframe"><b>GnssMeasurementsEvent.Callback</b></A><br>
+<!-- Class GnssNavigationMessage -->
+<A HREF="pkg_android.location.html#GnssNavigationMessage" class="hiddenlink" target="rightframe"><b>GnssNavigationMessage</b></A><br>
+<!-- Class GnssNavigationMessage.Callback -->
+<A HREF="pkg_android.location.html#GnssNavigationMessage.Callback" class="hiddenlink" target="rightframe"><b>GnssNavigationMessage.Callback</b></A><br>
+<!-- Class GnssStatus -->
+<A HREF="pkg_android.location.html#GnssStatus" class="hiddenlink" target="rightframe"><b>GnssStatus</b></A><br>
+<!-- Class GnssStatus.Callback -->
+<A HREF="pkg_android.location.html#GnssStatus.Callback" class="hiddenlink" target="rightframe"><b>GnssStatus.Callback</b></A><br>
+<!-- Field GOOD_IRI_CHAR -->
+<nobr><A HREF="android.util.Patterns.html#android.util.Patterns.GOOD_IRI_CHAR" class="hiddenlink" target="rightframe">GOOD_IRI_CHAR</A>
+</nobr><br>
+<!-- Class GpsSatellite -->
+<A HREF="android.location.GpsSatellite.html" class="hiddenlink" target="rightframe">GpsSatellite</A><br>
+<!-- Class GpsStatus -->
+<A HREF="android.location.GpsStatus.html" class="hiddenlink" target="rightframe">GpsStatus</A><br>
+<!-- Class GpsStatus.Listener -->
+<A HREF="android.location.GpsStatus.Listener.html" class="hiddenlink" target="rightframe"><i>GpsStatus.Listener</i></A><br>
+<!-- Class GpsStatus.NmeaListener -->
+<A HREF="android.location.GpsStatus.NmeaListener.html" class="hiddenlink" target="rightframe"><i>GpsStatus.NmeaListener</i></A><br>
+<!-- Class GradientDrawable -->
+<A HREF="android.graphics.drawable.GradientDrawable.html" class="hiddenlink" target="rightframe">GradientDrawable</A><br>
+<!-- Class GregorianCalendar -->
+<A HREF="java.util.GregorianCalendar.html" class="hiddenlink" target="rightframe">GregorianCalendar</A><br>
+<!-- Class Handler -->
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.logging.Handler.html" class="hiddenlink" target="rightframe">Handler</A><br>
+<!-- Field HARDWARE_PROPERTIES_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.HARDWARE_PROPERTIES_SERVICE" class="hiddenlink" target="rightframe">HARDWARE_PROPERTIES_SERVICE</A>
+</nobr><br>
+<!-- Class HardwarePropertiesManager -->
+<A HREF="pkg_android.os.html#HardwarePropertiesManager" class="hiddenlink" target="rightframe"><b>HardwarePropertiesManager</b></A><br>
+<!-- Method hashCode -->
+<i>hashCode</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Boolean.html#java.lang.Boolean.hashCode_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;java.lang.Boolean
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Byte.html#java.lang.Byte.hashCode_added(byte)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>byte</code>)</b>&nbsp;in&nbsp;java.lang.Byte
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Character.html#java.lang.Character.hashCode_added(char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char</code>)</b>&nbsp;in&nbsp;java.lang.Character
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.hashCode_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.hashCode_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Integer.html#java.lang.Integer.hashCode_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.Integer
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Long.html#java.lang.Long.hashCode_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Long
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Short.html#java.lang.Short.hashCode_added(short)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>short</code>)</b>&nbsp;in&nbsp;java.lang.Short
+</A></nobr><br>
+<!-- Class HashMap -->
+<A HREF="java.util.HashMap.html" class="hiddenlink" target="rightframe">HashMap</A><br>
+<!-- Class HashSet -->
+<A HREF="java.util.HashSet.html" class="hiddenlink" target="rightframe">HashSet</A><br>
+<!-- Class Hashtable -->
+<A HREF="java.util.Hashtable.html" class="hiddenlink" target="rightframe">Hashtable</A><br>
+<!-- Method hasSystemFeature -->
+<i>hasSystemFeature</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.hasSystemFeature_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method hasSystemFeature -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.hasSystemFeature_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Field headsUpContentView -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.headsUpContentView" class="hiddenlink" target="rightframe">headsUpContentView</A>
+</nobr><br>
+<!-- Field HEVC -->
+<nobr><A HREF="android.media.MediaRecorder.VideoEncoder.html#android.media.MediaRecorder.VideoEncoder.HEVC" class="hiddenlink" target="rightframe">HEVC</A>
+</nobr><br>
+<!-- Field HEVCProfileMain10HDR10 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.HEVCProfileMain10HDR10" class="hiddenlink" target="rightframe">HEVCProfileMain10HDR10</A>
+</nobr><br>
+<!-- Field HINT_HOST_DISABLE_CALL_EFFECTS -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.HINT_HOST_DISABLE_CALL_EFFECTS" class="hiddenlink" target="rightframe">HINT_HOST_DISABLE_CALL_EFFECTS</A>
+</nobr><br>
+<!-- Field HINT_HOST_DISABLE_NOTIFICATION_EFFECTS -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.HINT_HOST_DISABLE_NOTIFICATION_EFFECTS" class="hiddenlink" target="rightframe">HINT_HOST_DISABLE_NOTIFICATION_EFFECTS</A>
+</nobr><br>
+<!-- Field hintLocales -->
+<nobr><A HREF="android.view.inputmethod.EditorInfo.html#android.view.inputmethod.EditorInfo.hintLocales" class="hiddenlink" target="rightframe">hintLocales</A>
+</nobr><br>
+<!-- Class HostNfcFService -->
+<A HREF="pkg_android.nfc.cardemulation.html#HostNfcFService" class="hiddenlink" target="rightframe"><b>HostNfcFService</b></A><br>
+<!-- Field hotSpotX -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.hotSpotX" class="hiddenlink" target="rightframe">hotSpotX</A>
+</nobr><br>
+<!-- Field hotSpotY -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.hotSpotY" class="hiddenlink" target="rightframe">hotSpotY</A>
+</nobr><br>
+<!-- Class Html -->
+<A HREF="android.text.Html.html" class="hiddenlink" target="rightframe">Html</A><br>
+<!-- Class HttpCookie -->
+<A HREF="java.net.HttpCookie.html" class="hiddenlink" target="rightframe">HttpCookie</A><br>
+<!-- Field icon_frame -->
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.id.html#android.R.id.icon_frame" class="hiddenlink" target="rightframe">icon_frame</A>
+</nobr><br>
+<!-- Class IdentityHashMap -->
+<A HREF="java.util.IdentityHashMap.html" class="hiddenlink" target="rightframe">IdentityHashMap</A><br>
+<!-- Method ignore -->
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.ignore_added(android.nfc.Tag, int, android.nfc.NfcAdapter.OnTagRemovedListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>ignore</b>
+(<code>Tag, int, OnTagRemovedListener, Handler</code>)</A></nobr><br>
+<!-- Class IllegalFormatCodePointException -->
+<A HREF="java.util.IllegalFormatCodePointException.html" class="hiddenlink" target="rightframe">IllegalFormatCodePointException</A><br>
+<!-- Class IllegalFormatConversionException -->
+<A HREF="java.util.IllegalFormatConversionException.html" class="hiddenlink" target="rightframe">IllegalFormatConversionException</A><br>
+<!-- Class IllegalFormatException -->
+<A HREF="java.util.IllegalFormatException.html" class="hiddenlink" target="rightframe">IllegalFormatException</A><br>
+<!-- Class IllegalFormatFlagsException -->
+<A HREF="java.util.IllegalFormatFlagsException.html" class="hiddenlink" target="rightframe">IllegalFormatFlagsException</A><br>
+<!-- Class ImageFormat -->
+<A HREF="android.graphics.ImageFormat.html" class="hiddenlink" target="rightframe">ImageFormat</A><br>
+<!-- Field IMPORTANCE_DEFAULT -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_DEFAULT" class="hiddenlink" target="rightframe">IMPORTANCE_DEFAULT</A>
+</nobr><br>
+<!-- Field IMPORTANCE_HIGH -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_HIGH" class="hiddenlink" target="rightframe">IMPORTANCE_HIGH</A>
+</nobr><br>
+<!-- Field IMPORTANCE_LOW -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_LOW" class="hiddenlink" target="rightframe">IMPORTANCE_LOW</A>
+</nobr><br>
+<!-- Field IMPORTANCE_MAX -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_MAX" class="hiddenlink" target="rightframe">IMPORTANCE_MAX</A>
+</nobr><br>
+<!-- Field IMPORTANCE_MIN -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_MIN" class="hiddenlink" target="rightframe">IMPORTANCE_MIN</A>
+</nobr><br>
+<!-- Field IMPORTANCE_NONE -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_NONE" class="hiddenlink" target="rightframe">IMPORTANCE_NONE</A>
+</nobr><br>
+<!-- Field IMPORTANCE_UNSPECIFIED -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_UNSPECIFIED" class="hiddenlink" target="rightframe">IMPORTANCE_UNSPECIFIED</A>
+</nobr><br>
+<!-- Method importFile -->
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.importFile_added(int, android.os.ParcelFileDescriptor)" class="hiddenlink" target="rightframe"><b>importFile</b>
+(<code>int, ParcelFileDescriptor</code>)</A></nobr><br>
+<!-- Class InCallService -->
+<A HREF="android.telecom.InCallService.html" class="hiddenlink" target="rightframe">InCallService</A><br>
+<!-- Method incrementExact -->
+<i>incrementExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.incrementExact_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method incrementExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.incrementExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Field inDither -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inDither" class="hiddenlink" target="rightframe">inDither</A>
+</nobr><br>
+<!-- Class InflaterInputStream -->
+<A HREF="java.util.zip.InflaterInputStream.html" class="hiddenlink" target="rightframe">InflaterInputStream</A><br>
+<!-- Field INFO_SUPPORTED_HARDWARE_LEVEL_3 -->
+<nobr><A HREF="android.hardware.camera2.CameraMetadata.html#android.hardware.camera2.CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_3" class="hiddenlink" target="rightframe">INFO_SUPPORTED_HARDWARE_LEVEL_3</A>
+</nobr><br>
+<!-- Field inPreferQualityOverSpeed -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inPreferQualityOverSpeed" class="hiddenlink" target="rightframe">inPreferQualityOverSpeed</A>
+</nobr><br>
+<!-- Class InputConnection -->
+<A HREF="android.view.inputmethod.InputConnection.html" class="hiddenlink" target="rightframe"><i>InputConnection</i></A><br>
+<!-- Class InputConnectionWrapper -->
+<A HREF="android.view.inputmethod.InputConnectionWrapper.html" class="hiddenlink" target="rightframe">InputConnectionWrapper</A><br>
+<!-- Class InputMethodManager -->
+<A HREF="android.view.inputmethod.InputMethodManager.html" class="hiddenlink" target="rightframe">InputMethodManager</A><br>
+<!-- Class InputMethodSubtype -->
+<A HREF="android.view.inputmethod.InputMethodSubtype.html" class="hiddenlink" target="rightframe">InputMethodSubtype</A><br>
+<!-- Class InputMethodSubtype.InputMethodSubtypeBuilder -->
+<A HREF="android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.html" class="hiddenlink" target="rightframe">InputMethodSubtype.InputMethodSubtypeBuilder</A><br>
+<!-- Class InputMismatchException -->
+<A HREF="java.util.InputMismatchException.html" class="hiddenlink" target="rightframe">InputMismatchException</A><br>
+<!-- Field INSET_UNDEFINED -->
+<nobr><A HREF="android.graphics.drawable.LayerDrawable.html#android.graphics.drawable.LayerDrawable.INSET_UNDEFINED" class="hiddenlink" target="rightframe">INSET_UNDEFINED</A>
+</nobr><br>
+<!-- Method installKeyPair -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.installKeyPair_added(android.content.ComponentName, java.security.PrivateKey, java.security.cert.Certificate[], java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>installKeyPair</b>
+(<code>ComponentName, PrivateKey, Certificate[], String, boolean</code>)</A></nobr><br>
+<!-- Class Instrumentation -->
+<A HREF="android.app.Instrumentation.html" class="hiddenlink" target="rightframe">Instrumentation</A><br>
+<!-- Class InstrumentationTestCase -->
+<A HREF="android.test.InstrumentationTestCase.html" class="hiddenlink" target="rightframe">InstrumentationTestCase</A><br>
+<!-- Class InstrumentationTestRunner -->
+<A HREF="android.test.InstrumentationTestRunner.html" class="hiddenlink" target="rightframe">InstrumentationTestRunner</A><br>
+<!-- Class InstrumentationTestSuite -->
+<A HREF="android.test.InstrumentationTestSuite.html" class="hiddenlink" target="rightframe">InstrumentationTestSuite</A><br>
+<!-- Class Integer -->
+<A HREF="java.lang.Integer.html" class="hiddenlink" target="rightframe">Integer</A><br>
+<!-- Class Intent -->
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<!-- Class InternalError -->
+<i>InternalError</i><br>
+&nbsp;&nbsp;<A HREF="java.lang.InternalError.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<!-- Constructor InternalError -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.InternalError.html#java.lang.InternalError.ctor_added(java.lang.String, java.lang.Throwable)" class="hiddenlink" target="rightframe"><b>InternalError</b>
+(<code>String, Throwable</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor InternalError -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.InternalError.html#java.lang.InternalError.ctor_added(java.lang.Throwable)" class="hiddenlink" target="rightframe"><b>InternalError</b>
+(<code>Throwable</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class IntProperty -->
+<A HREF="pkg_android.util.html#IntProperty" class="hiddenlink" target="rightframe"><b>IntProperty</b></A><br>
+<!-- Method ints -->
+<i>ints</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.ints_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method ints -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.ints_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method ints -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.ints_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method ints -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.ints_added(long, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, int, int</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Class IntSummaryStatistics -->
+<A HREF="pkg_java.util.html#IntSummaryStatistics" class="hiddenlink" target="rightframe"><b>IntSummaryStatistics</b></A><br>
+<!-- Field INVALID_SUBSCRIPTION_ID -->
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">INVALID_SUBSCRIPTION_ID</A>
+</nobr><br>
+<!-- Method isAdditionalInfoSupported -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.isAdditionalInfoSupported_added()" class="hiddenlink" target="rightframe"><b>isAdditionalInfoSupported</b>
+()</A></nobr><br>
+<!-- Method isAnnotationPresent -->
+<i>isAnnotationPresent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Class.html#java.lang.Class.isAnnotationPresent_removed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Class&lt;Annotation&gt;</code>)</strike>&nbsp;in&nbsp;java.lang.Class
+</A></nobr><br>
+<!-- Method isAnnotationPresent -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Package.html#java.lang.Package.isAnnotationPresent_removed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Class&lt;Annotation&gt;</code>)</strike>&nbsp;in&nbsp;java.lang.Package
+</A></nobr><br>
+<!-- Method isAnnotationPresent -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.isAnnotationPresent_removed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Class&lt;Annotation&gt;</code>)</strike>&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+<!-- Method isAnnotationPresent -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AnnotatedElement.html#java.lang.reflect.AnnotatedElement.isAnnotationPresent_changed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Class&lt;Annotation&gt;</code>)&nbsp;in&nbsp;java.lang.reflect.AnnotatedElement
+</A></nobr><br>
+<!-- Method isAnnotationPresent -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Constructor.html#java.lang.reflect.Constructor.isAnnotationPresent_changed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Class&lt;Annotation&gt;</code>)&nbsp;in&nbsp;java.lang.reflect.Constructor
+</A></nobr><br>
+<!-- Method isAnnotationPresent -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Field.html#java.lang.reflect.Field.isAnnotationPresent_changed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Class&lt;Annotation&gt;</code>)&nbsp;in&nbsp;java.lang.reflect.Field
+</A></nobr><br>
+<!-- Method isApplicationUid -->
+<nobr><A HREF="android.os.Process.html#android.os.Process.isApplicationUid_added(int)" class="hiddenlink" target="rightframe"><b>isApplicationUid</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method isAppProvidedWebUri -->
+<nobr><A HREF="android.app.assist.AssistContent.html#android.app.assist.AssistContent.isAppProvidedWebUri_added()" class="hiddenlink" target="rightframe"><b>isAppProvidedWebUri</b>
+()</A></nobr><br>
+<!-- Method isCallerApplicationRestrictionsManagingPackage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage_added()" class="hiddenlink" target="rightframe"><b>isCallerApplicationRestrictionsManagingPackage</b>
+()</A></nobr><br>
+<!-- Method isCanonical -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.isCanonical_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>isCanonical</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method isChannelUri -->
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.isChannelUri_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isChannelUri</b>
+(<code>Uri</code>)</A></nobr><br>
+<!-- Method isChannelUriForPassthroughInput -->
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.isChannelUriForPassthroughInput_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isChannelUriForPassthroughInput</b>
+(<code>Uri</code>)</A></nobr><br>
+<!-- Method isChannelUriForTunerInput -->
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.isChannelUriForTunerInput_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isChannelUriForTunerInput</b>
+(<code>Uri</code>)</A></nobr><br>
+<!-- Method isCleartextTrafficPermitted -->
+<nobr><A HREF="android.security.NetworkSecurityPolicy.html#android.security.NetworkSecurityPolicy.isCleartextTrafficPermitted_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>isCleartextTrafficPermitted</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method isCountDown -->
+<nobr><A HREF="android.widget.Chronometer.html#android.widget.Chronometer.isCountDown_added()" class="hiddenlink" target="rightframe"><b>isCountDown</b>
+()</A></nobr><br>
+<!-- Method isDefault -->
+<nobr><A HREF="java.lang.reflect.Method.html#java.lang.reflect.Method.isDefault_added()" class="hiddenlink" target="rightframe"><b>isDefault</b>
+()</A></nobr><br>
+<!-- Method isDeviceProtectedStorage -->
+<i>isDeviceProtectedStorage</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.isDeviceProtectedStorage_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method isDeviceProtectedStorage -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.isDeviceProtectedStorage_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method isDeviceProtectedStorage -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.isDeviceProtectedStorage_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Method isDynamicSensor -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.isDynamicSensor_added()" class="hiddenlink" target="rightframe"><b>isDynamicSensor</b>
+()</A></nobr><br>
+<!-- Method isDynamicSensorDiscoverySupported -->
+<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.isDynamicSensorDiscoverySupported_added()" class="hiddenlink" target="rightframe"><b>isDynamicSensorDiscoverySupported</b>
+()</A></nobr><br>
+<!-- Method isEncrypted -->
+<nobr><A HREF="android.os.storage.StorageManager.html#android.os.storage.StorageManager.isEncrypted_added(java.io.File)" class="hiddenlink" target="rightframe"><b>isEncrypted</b>
+(<code>File</code>)</A></nobr><br>
+<!-- Method isEnterpriseDirectoryId -->
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.isEnterpriseDirectoryId_added(long)" class="hiddenlink" target="rightframe"><b>isEnterpriseDirectoryId</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Method isEventSupported -->
+<nobr><A HREF="android.mtp.MtpDeviceInfo.html#android.mtp.MtpDeviceInfo.isEventSupported_added(int)" class="hiddenlink" target="rightframe"><b>isEventSupported</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method isFinite -->
+<i>isFinite</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.isFinite_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+<!-- Method isFinite -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.isFinite_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+<!-- Method isGraphic -->
+<nobr><A HREF="android.text.TextUtils.html#android.text.TextUtils.isGraphic_changed(char)" class="hiddenlink" target="rightframe">isGraphic
+(<code>char</code>)</A></nobr><br>
+<!-- Method isGroup -->
+<nobr><A HREF="android.service.notification.StatusBarNotification.html#android.service.notification.StatusBarNotification.isGroup_added()" class="hiddenlink" target="rightframe"><b>isGroup</b>
+()</A></nobr><br>
+<!-- Method isHidden -->
+<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.isHidden_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>isHidden</b>
+(<code>Context</code>)</A></nobr><br>
+<!-- Method isHttpOnly -->
+<nobr><A HREF="java.net.HttpCookie.html#java.net.HttpCookie.isHttpOnly_added()" class="hiddenlink" target="rightframe"><b>isHttpOnly</b>
+()</A></nobr><br>
+<!-- Method isImportantForAccessibility -->
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.isImportantForAccessibility_added()" class="hiddenlink" target="rightframe"><b>isImportantForAccessibility</b>
+()</A></nobr><br>
+<!-- Method isInMultiWindowMode -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.isInMultiWindowMode_added()" class="hiddenlink" target="rightframe"><b>isInMultiWindowMode</b>
+()</A></nobr><br>
+<!-- Method isInPictureInPictureMode -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.isInPictureInPictureMode_added()" class="hiddenlink" target="rightframe"><b>isInPictureInPictureMode</b>
+()</A></nobr><br>
+<!-- Method isInvalidatedByBiometricEnrollment -->
+<i>isInvalidatedByBiometricEnrollment</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.html#android.security.keystore.KeyGenParameterSpec.isInvalidatedByBiometricEnrollment_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyGenParameterSpec
+</A></nobr><br>
+<!-- Method isInvalidatedByBiometricEnrollment -->
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyInfo.html#android.security.keystore.KeyInfo.isInvalidatedByBiometricEnrollment_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyInfo
+</A></nobr><br>
+<!-- Method isInvalidatedByBiometricEnrollment -->
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyProtection.html#android.security.keystore.KeyProtection.isInvalidatedByBiometricEnrollment_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyProtection
+</A></nobr><br>
+<!-- Method isLocalVoiceInteractionSupported -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.isLocalVoiceInteractionSupported_added()" class="hiddenlink" target="rightframe"><b>isLocalVoiceInteractionSupported</b>
+()</A></nobr><br>
+<!-- Method isManagedProfile -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isManagedProfile_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>isManagedProfile</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method isNull -->
+<nobr><A HREF="java.util.Objects.html#java.util.Objects.isNull_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>isNull</b>
+(<code>Object</code>)</A></nobr><br>
+<!-- Class IsolatedContext -->
+<A HREF="android.test.IsolatedContext.html" class="hiddenlink" target="rightframe">IsolatedContext</A><br>
+<!-- Method isOperationSupported -->
+<nobr><A HREF="android.mtp.MtpDeviceInfo.html#android.mtp.MtpDeviceInfo.isOperationSupported_added(int)" class="hiddenlink" target="rightframe"><b>isOperationSupported</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method isPackageSuspended -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isPackageSuspended_added(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe"><b>isPackageSuspended</b>
+(<code>ComponentName, String</code>)</A></nobr><br>
+<!-- Method isProgramUri -->
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.isProgramUri_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isProgramUri</b>
+(<code>Uri</code>)</A></nobr><br>
+<!-- Method isProvisioningAllowed -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isProvisioningAllowed_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>isProvisioningAllowed</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method isQuietModeEnabled -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.isQuietModeEnabled_added(android.os.UserHandle)" class="hiddenlink" target="rightframe"><b>isQuietModeEnabled</b>
+(<code>UserHandle</code>)</A></nobr><br>
+<!-- Method isRedirect -->
+<nobr><A HREF="android.webkit.WebResourceRequest.html#android.webkit.WebResourceRequest.isRedirect_added()" class="hiddenlink" target="rightframe"><b>isRedirect</b>
+()</A></nobr><br>
+<!-- Method isRemoteDirectoryId -->
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.isRemoteDirectoryId_added(long)" class="hiddenlink" target="rightframe"><b>isRemoteDirectoryId</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Method isSecurityLoggingEnabled -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isSecurityLoggingEnabled_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>isSecurityLoggingEnabled</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method isSetWallpaperAllowed -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.isSetWallpaperAllowed_added()" class="hiddenlink" target="rightframe"><b>isSetWallpaperAllowed</b>
+()</A></nobr><br>
+<!-- Method isStorageDefault -->
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.isStorageDefault_added()" class="hiddenlink" target="rightframe"><b>isStorageDefault</b>
+()</A></nobr><br>
+<!-- Method isStorageDeviceProtected -->
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.isStorageDeviceProtected_added()" class="hiddenlink" target="rightframe"><b>isStorageDeviceProtected</b>
+()</A></nobr><br>
+<!-- Method isSustainedPerformanceModeSupported -->
+<nobr><A HREF="android.os.PowerManager.html#android.os.PowerManager.isSustainedPerformanceModeSupported_added()" class="hiddenlink" target="rightframe"><b>isSustainedPerformanceModeSupported</b>
+()</A></nobr><br>
+<!-- Method isTemporarilyDetached -->
+<nobr><A HREF="android.view.View.html#android.view.View.isTemporarilyDetached_added()" class="hiddenlink" target="rightframe"><b>isTemporarilyDetached</b>
+()</A></nobr><br>
+<!-- Method isTreeUri -->
+<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.isTreeUri_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isTreeUri</b>
+(<code>Uri</code>)</A></nobr><br>
+<!-- Method isUserAuthenticationValidWhileOnBody -->
+<i>isUserAuthenticationValidWhileOnBody</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.html#android.security.keystore.KeyGenParameterSpec.isUserAuthenticationValidWhileOnBody_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyGenParameterSpec
+</A></nobr><br>
+<!-- Method isUserAuthenticationValidWhileOnBody -->
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyInfo.html#android.security.keystore.KeyInfo.isUserAuthenticationValidWhileOnBody_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyInfo
+</A></nobr><br>
+<!-- Method isUserAuthenticationValidWhileOnBody -->
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyProtection.html#android.security.keystore.KeyProtection.isUserAuthenticationValidWhileOnBody_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyProtection
+</A></nobr><br>
+<!-- Method isUserUnlocked -->
+<i>isUserUnlocked</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.isUserUnlocked_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.os.UserManager
+</A></nobr><br>
+<!-- Method isUserUnlocked -->
+&nbsp;&nbsp;<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.isUserUnlocked_added(android.os.UserHandle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UserHandle</code>)</b>&nbsp;in&nbsp;android.os.UserManager
+</A></nobr><br>
+<!-- Method isVoicemailVibrationEnabled -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.isVoicemailVibrationEnabled_added(android.telecom.PhoneAccountHandle)" class="hiddenlink" target="rightframe"><b>isVoicemailVibrationEnabled</b>
+(<code>PhoneAccountHandle</code>)</A></nobr><br>
+<!-- Method isWeekDateSupported -->
+<i>isWeekDateSupported</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Calendar.html#java.util.Calendar.isWeekDateSupported_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Calendar
+</A></nobr><br>
+<!-- Method isWeekDateSupported -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.GregorianCalendar.html#java.util.GregorianCalendar.isWeekDateSupported_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.GregorianCalendar
+</A></nobr><br>
+<!-- Class Iterable -->
+<A HREF="java.lang.Iterable.html" class="hiddenlink" target="rightframe"><i>Iterable</i></A><br>
+<!-- Class Iterator -->
+<A HREF="java.util.Iterator.html" class="hiddenlink" target="rightframe"><i>Iterator</i></A><br>
+<!-- Package java.awt.font -->
+<A NAME="J"></A>
+<A HREF="pkg_java.awt.font.html" class="hiddenlink" target="rightframe">java.awt.font</A><br>
+<!-- Package java.io -->
+<A HREF="pkg_java.io.html" class="hiddenlink" target="rightframe">java.io</A><br>
+<!-- Package java.lang -->
+<A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<!-- Package java.lang.annotation -->
+<A HREF="pkg_java.lang.annotation.html" class="hiddenlink" target="rightframe">java.lang.annotation</A><br>
+<!-- Package java.lang.ref -->
+<A HREF="pkg_java.lang.ref.html" class="hiddenlink" target="rightframe">java.lang.ref</A><br>
+<!-- Package java.lang.reflect -->
+<A HREF="pkg_java.lang.reflect.html" class="hiddenlink" target="rightframe">java.lang.reflect</A><br>
+<!-- Package java.net -->
+<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<!-- Package java.nio -->
+<A HREF="pkg_java.nio.html" class="hiddenlink" target="rightframe">java.nio</A><br>
+<!-- Package java.nio.channels -->
+<A HREF="pkg_java.nio.channels.html" class="hiddenlink" target="rightframe">java.nio.channels</A><br>
+<!-- Package java.nio.channels.spi -->
+<A HREF="pkg_java.nio.channels.spi.html" class="hiddenlink" target="rightframe">java.nio.channels.spi</A><br>
+<!-- Package java.nio.charset -->
+<A HREF="pkg_java.nio.charset.html" class="hiddenlink" target="rightframe">java.nio.charset</A><br>
+<!-- Package java.security -->
+<A HREF="pkg_java.security.html" class="hiddenlink" target="rightframe">java.security</A><br>
+<!-- Package java.security.acl -->
+<A HREF="pkg_java.security.acl.html" class="hiddenlink" target="rightframe">java.security.acl</A><br>
+<!-- Package java.security.cert -->
+<A HREF="pkg_java.security.cert.html" class="hiddenlink" target="rightframe">java.security.cert</A><br>
+<!-- Package java.sql -->
+<A HREF="pkg_java.sql.html" class="hiddenlink" target="rightframe">java.sql</A><br>
+<!-- Package java.text -->
+<A HREF="pkg_java.text.html" class="hiddenlink" target="rightframe">java.text</A><br>
+<!-- Package java.util -->
+<A HREF="pkg_java.util.html" class="hiddenlink" target="rightframe">java.util</A><br>
+<!-- Package java.util.concurrent -->
+<A HREF="pkg_java.util.concurrent.html" class="hiddenlink" target="rightframe">java.util.concurrent</A><br>
+<!-- Package java.util.concurrent.atomic -->
+<A HREF="pkg_java.util.concurrent.atomic.html" class="hiddenlink" target="rightframe">java.util.concurrent.atomic</A><br>
+<!-- Package java.util.concurrent.locks -->
+<A HREF="pkg_java.util.concurrent.locks.html" class="hiddenlink" target="rightframe">java.util.concurrent.locks</A><br>
+<!-- Package java.util.function -->
+<A HREF="changes-summary.html#java.util.function" class="hiddenlink" target="rightframe"><b>java.util.function</b></A><br>
+<!-- Package java.util.logging -->
+<A HREF="pkg_java.util.logging.html" class="hiddenlink" target="rightframe">java.util.logging</A><br>
+<!-- Package java.util.prefs -->
+<A HREF="pkg_java.util.prefs.html" class="hiddenlink" target="rightframe">java.util.prefs</A><br>
+<!-- Package java.util.regex -->
+<A HREF="pkg_java.util.regex.html" class="hiddenlink" target="rightframe">java.util.regex</A><br>
+<!-- Package java.util.stream -->
+<A HREF="changes-summary.html#java.util.stream" class="hiddenlink" target="rightframe"><b>java.util.stream</b></A><br>
+<!-- Package java.util.zip -->
+<A HREF="pkg_java.util.zip.html" class="hiddenlink" target="rightframe">java.util.zip</A><br>
+<!-- Package javax.crypto.spec -->
+<A HREF="pkg_javax.crypto.spec.html" class="hiddenlink" target="rightframe">javax.crypto.spec</A><br>
+<!-- Package javax.net.ssl -->
+<A HREF="pkg_javax.net.ssl.html" class="hiddenlink" target="rightframe">javax.net.ssl</A><br>
+<!-- Package javax.sql -->
+<A HREF="pkg_javax.sql.html" class="hiddenlink" target="rightframe">javax.sql</A><br>
+<!-- Class JobInfo -->
+<A HREF="android.app.job.JobInfo.html" class="hiddenlink" target="rightframe">JobInfo</A><br>
+<!-- Class JobInfo.Builder -->
+<A HREF="android.app.job.JobInfo.Builder.html" class="hiddenlink" target="rightframe">JobInfo.Builder</A><br>
+<!-- Class JobInfo.TriggerContentUri -->
+<A HREF="pkg_android.app.job.html#JobInfo.TriggerContentUri" class="hiddenlink" target="rightframe"><b>JobInfo.TriggerContentUri</b></A><br>
+<!-- Class JobParameters -->
+<A HREF="android.app.job.JobParameters.html" class="hiddenlink" target="rightframe">JobParameters</A><br>
+<!-- Class JobScheduler -->
+<A HREF="android.app.job.JobScheduler.html" class="hiddenlink" target="rightframe">JobScheduler</A><br>
+<!-- Field KEY_ALLOW_ADDING_APNS_BOOL -->
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL" class="hiddenlink" target="rightframe">KEY_ALLOW_ADDING_APNS_BOOL</A>
+</nobr><br>
+<!-- Field KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL" class="hiddenlink" target="rightframe">KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL</A>
+</nobr><br>
+<!-- Field KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL" class="hiddenlink" target="rightframe">KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL</A>
+</nobr><br>
+<!-- Field KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL" class="hiddenlink" target="rightframe">KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_IMS_GBA_REQUIRED_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_IMS_GBA_REQUIRED_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_IMS_GBA_REQUIRED_BOOL</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL</A>
+</nobr><br>
+<!-- Field KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL</A>
+</nobr><br>
+<!-- Field KEY_CDMA_DTMF_TONE_DELAY_INT -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CDMA_DTMF_TONE_DELAY_INT" class="hiddenlink" target="rightframe">KEY_CDMA_DTMF_TONE_DELAY_INT</A>
+</nobr><br>
+<!-- Field KEY_CI_ACTION_ON_SYS_UPDATE_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_BOOL" class="hiddenlink" target="rightframe">KEY_CI_ACTION_ON_SYS_UPDATE_BOOL</A>
+</nobr><br>
+<!-- Field KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING" class="hiddenlink" target="rightframe">KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING</A>
+</nobr><br>
+<!-- Field KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING" class="hiddenlink" target="rightframe">KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING</A>
+</nobr><br>
+<!-- Field KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING" class="hiddenlink" target="rightframe">KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING</A>
+</nobr><br>
+<!-- Field KEY_COLOR_RANGE -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_COLOR_RANGE" class="hiddenlink" target="rightframe">KEY_COLOR_RANGE</A>
+</nobr><br>
+<!-- Field KEY_COLOR_STANDARD -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_COLOR_STANDARD" class="hiddenlink" target="rightframe">KEY_COLOR_STANDARD</A>
+</nobr><br>
+<!-- Field KEY_COLOR_TRANSFER -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_COLOR_TRANSFER" class="hiddenlink" target="rightframe">KEY_COLOR_TRANSFER</A>
+</nobr><br>
+<!-- Field KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT" class="hiddenlink" target="rightframe">KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT</A>
+</nobr><br>
+<!-- Field KEY_EDITABLE_ENHANCED_4G_LTE_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_EDITABLE_ENHANCED_4G_LTE_BOOL" class="hiddenlink" target="rightframe">KEY_EDITABLE_ENHANCED_4G_LTE_BOOL</A>
+</nobr><br>
+<!-- Field KEY_GSM_DTMF_TONE_DELAY_INT -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_GSM_DTMF_TONE_DELAY_INT" class="hiddenlink" target="rightframe">KEY_GSM_DTMF_TONE_DELAY_INT</A>
+</nobr><br>
+<!-- Field KEY_HDR_STATIC_INFO -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_HDR_STATIC_INFO" class="hiddenlink" target="rightframe">KEY_HDR_STATIC_INFO</A>
+</nobr><br>
+<!-- Field KEY_HIDE_IMS_APN_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_HIDE_IMS_APN_BOOL" class="hiddenlink" target="rightframe">KEY_HIDE_IMS_APN_BOOL</A>
+</nobr><br>
+<!-- Field KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL" class="hiddenlink" target="rightframe">KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL</A>
+</nobr><br>
+<!-- Field KEY_IMS_DTMF_TONE_DELAY_INT -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_IMS_DTMF_TONE_DELAY_INT" class="hiddenlink" target="rightframe">KEY_IMS_DTMF_TONE_DELAY_INT</A>
+</nobr><br>
+<!-- Field KEY_INTRA_REFRESH_PERIOD -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_INTRA_REFRESH_PERIOD" class="hiddenlink" target="rightframe">KEY_INTRA_REFRESH_PERIOD</A>
+</nobr><br>
+<!-- Field KEY_PCM_ENCODING -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_PCM_ENCODING" class="hiddenlink" target="rightframe">KEY_PCM_ENCODING</A>
+</nobr><br>
+<!-- Field KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL" class="hiddenlink" target="rightframe">KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL</A>
+</nobr><br>
+<!-- Field KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL" class="hiddenlink" target="rightframe">KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL</A>
+</nobr><br>
+<!-- Field KEY_SUPPORT_CONFERENCE_CALL_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_SUPPORT_CONFERENCE_CALL_BOOL" class="hiddenlink" target="rightframe">KEY_SUPPORT_CONFERENCE_CALL_BOOL</A>
+</nobr><br>
+<!-- Field KEY_TRACK_ID -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_TRACK_ID" class="hiddenlink" target="rightframe">KEY_TRACK_ID</A>
+</nobr><br>
+<!-- Field KEY_USE_RCS_PRESENCE_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL" class="hiddenlink" target="rightframe">KEY_USE_RCS_PRESENCE_BOOL</A>
+</nobr><br>
+<!-- Field KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL" class="hiddenlink" target="rightframe">KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL</A>
+</nobr><br>
+<!-- Field KEY_VVM_PREFETCH_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_VVM_PREFETCH_BOOL" class="hiddenlink" target="rightframe">KEY_VVM_PREFETCH_BOOL</A>
+</nobr><br>
+<!-- Class KeyboardShortcutGroup -->
+<A HREF="pkg_android.view.html#KeyboardShortcutGroup" class="hiddenlink" target="rightframe"><b>KeyboardShortcutGroup</b></A><br>
+<!-- Class KeyboardShortcutInfo -->
+<A HREF="pkg_android.view.html#KeyboardShortcutInfo" class="hiddenlink" target="rightframe"><b>KeyboardShortcutInfo</b></A><br>
+<!-- Field KEYCODE_COPY -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_COPY" class="hiddenlink" target="rightframe">KEYCODE_COPY</A>
+</nobr><br>
+<!-- Field KEYCODE_CUT -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_CUT" class="hiddenlink" target="rightframe">KEYCODE_CUT</A>
+</nobr><br>
+<!-- Field KEYCODE_DPAD_DOWN_LEFT -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_DPAD_DOWN_LEFT" class="hiddenlink" target="rightframe">KEYCODE_DPAD_DOWN_LEFT</A>
+</nobr><br>
+<!-- Field KEYCODE_DPAD_DOWN_RIGHT -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_DPAD_DOWN_RIGHT" class="hiddenlink" target="rightframe">KEYCODE_DPAD_DOWN_RIGHT</A>
+</nobr><br>
+<!-- Field KEYCODE_DPAD_UP_LEFT -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_DPAD_UP_LEFT" class="hiddenlink" target="rightframe">KEYCODE_DPAD_UP_LEFT</A>
+</nobr><br>
+<!-- Field KEYCODE_DPAD_UP_RIGHT -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_DPAD_UP_RIGHT" class="hiddenlink" target="rightframe">KEYCODE_DPAD_UP_RIGHT</A>
+</nobr><br>
+<!-- Field KEYCODE_PASTE -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_PASTE" class="hiddenlink" target="rightframe">KEYCODE_PASTE</A>
+</nobr><br>
+<!-- Field KEYCODE_SOFT_SLEEP -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_SOFT_SLEEP" class="hiddenlink" target="rightframe">KEYCODE_SOFT_SLEEP</A>
+</nobr><br>
+<!-- Field KEYCODE_STEM_1 -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_STEM_1" class="hiddenlink" target="rightframe">KEYCODE_STEM_1</A>
+</nobr><br>
+<!-- Field KEYCODE_STEM_2 -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_STEM_2" class="hiddenlink" target="rightframe">KEYCODE_STEM_2</A>
+</nobr><br>
+<!-- Field KEYCODE_STEM_3 -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_STEM_3" class="hiddenlink" target="rightframe">KEYCODE_STEM_3</A>
+</nobr><br>
+<!-- Field KEYCODE_STEM_PRIMARY -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_STEM_PRIMARY" class="hiddenlink" target="rightframe">KEYCODE_STEM_PRIMARY</A>
+</nobr><br>
+<!-- Class KeyEvent -->
+<A HREF="android.view.KeyEvent.html" class="hiddenlink" target="rightframe">KeyEvent</A><br>
+<!-- Class KeyGenParameterSpec -->
+<A HREF="android.security.keystore.KeyGenParameterSpec.html" class="hiddenlink" target="rightframe">KeyGenParameterSpec</A><br>
+<!-- Class KeyGenParameterSpec.Builder -->
+<A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html" class="hiddenlink" target="rightframe">KeyGenParameterSpec.Builder</A><br>
+<!-- Field KEYGUARD_DISABLE_REMOTE_INPUT -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_REMOTE_INPUT" class="hiddenlink" target="rightframe">KEYGUARD_DISABLE_REMOTE_INPUT</A>
+</nobr><br>
+<!-- Class KeyInfo -->
+<A HREF="android.security.keystore.KeyInfo.html" class="hiddenlink" target="rightframe">KeyInfo</A><br>
+<!-- Class KeyProtection -->
+<A HREF="android.security.keystore.KeyProtection.html" class="hiddenlink" target="rightframe">KeyProtection</A><br>
+<!-- Class KeyProtection.Builder -->
+<A HREF="android.security.keystore.KeyProtection.Builder.html" class="hiddenlink" target="rightframe">KeyProtection.Builder</A><br>
+<!-- Method keySet -->
+<i>keySet</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.SortedMap.html#java.util.SortedMap.keySet_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.SortedMap
+</A></nobr><br>
+<!-- Method keySet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.keySet_added(V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>V</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Field languageTag -->
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.languageTag" class="hiddenlink" target="rightframe">languageTag</A>
+</nobr><br>
+<!-- Class LargeTest -->
+<A HREF="android.test.suitebuilder.annotation.LargeTest.html" class="hiddenlink" target="rightframe">LargeTest</A><br>
+<!-- Field LAST_MODIFIED -->
+<i>LAST_MODIFIED</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.LAST_MODIFIED" class="hiddenlink" target="rightframe">android.provider.CallLog.Calls</A>
+</nobr><br>
+<!-- Field LAST_MODIFIED -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.VoicemailContract.Voicemails.html#android.provider.VoicemailContract.Voicemails.LAST_MODIFIED" class="hiddenlink" target="rightframe">android.provider.VoicemailContract.Voicemails</A>
+</nobr><br>
+<!-- Class LauncherApps.Callback -->
+<A HREF="android.content.pm.LauncherApps.Callback.html" class="hiddenlink" target="rightframe">LauncherApps.Callback</A><br>
+<!-- Class LayerDrawable -->
+<A HREF="android.graphics.drawable.LayerDrawable.html" class="hiddenlink" target="rightframe">LayerDrawable</A><br>
+<!-- Method length -->
+<nobr><A HREF="java.nio.charset.CoderResult.html#java.nio.charset.CoderResult.length_changed()" class="hiddenlink" target="rightframe">length
+()</A></nobr><br>
+<!-- Field level -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.level" class="hiddenlink" target="rightframe">level</A>
+</nobr><br>
+<!-- Class LinearLayout -->
+<A HREF="android.widget.LinearLayout.html" class="hiddenlink" target="rightframe">LinearLayout</A><br>
+<!-- Method lines -->
+<nobr><A HREF="java.io.BufferedReader.html#java.io.BufferedReader.lines_added()" class="hiddenlink" target="rightframe"><b>lines</b>
+()</A></nobr><br>
+<!-- Class LinkedBlockingDeque -->
+<A HREF="java.util.concurrent.LinkedBlockingDeque.html" class="hiddenlink" target="rightframe">LinkedBlockingDeque</A><br>
+<!-- Class LinkedBlockingQueue -->
+<A HREF="java.util.concurrent.LinkedBlockingQueue.html" class="hiddenlink" target="rightframe">LinkedBlockingQueue</A><br>
+<!-- Class LinkedHashMap -->
+<A HREF="java.util.LinkedHashMap.html" class="hiddenlink" target="rightframe">LinkedHashMap</A><br>
+<!-- Class LinkedList -->
+<A HREF="java.util.LinkedList.html" class="hiddenlink" target="rightframe">LinkedList</A><br>
+<!-- Class LinkedTransferQueue -->
+<A HREF="java.util.concurrent.LinkedTransferQueue.html" class="hiddenlink" target="rightframe">LinkedTransferQueue</A><br>
+<!-- Class Linkify -->
+<A HREF="android.text.util.Linkify.html" class="hiddenlink" target="rightframe">Linkify</A><br>
+<!-- Class List -->
+<A HREF="java.util.List.html" class="hiddenlink" target="rightframe"><i>List</i></A><br>
+<!-- Field list_container -->
+<nobr><A HREF="android.R.id.html#android.R.id.list_container" class="hiddenlink" target="rightframe">list_container</A>
+</nobr><br>
+<!-- Field listMenuViewStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.listMenuViewStyle" class="hiddenlink" target="rightframe">listMenuViewStyle</A>
+</nobr><br>
+<!-- Method loadCustomLabel -->
+<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.loadCustomLabel_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>loadCustomLabel</b>
+(<code>Context</code>)</A></nobr><br>
+<!-- Class Locale -->
+<A HREF="java.util.Locale.html" class="hiddenlink" target="rightframe">Locale</A><br>
+<!-- Field locale -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.locale" class="hiddenlink" target="rightframe">locale</A>
+</nobr><br>
+<!-- Class Locale.Category -->
+<A HREF="pkg_java.util.html#Locale.Category" class="hiddenlink" target="rightframe"><b>Locale.Category</b></A><br>
+<!-- Class LocaleList -->
+<A HREF="pkg_android.os.html#LocaleList" class="hiddenlink" target="rightframe"><b>LocaleList</b></A><br>
+<!-- Class LocaleSpan -->
+<i>LocaleSpan</i><br>
+&nbsp;&nbsp;<A HREF="android.text.style.LocaleSpan.html" class="hiddenlink" target="rightframe">android.text.style</A><br>
+<!-- Constructor LocaleSpan -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.ctor_added(android.os.LocaleList)" class="hiddenlink" target="rightframe"><b>LocaleSpan</b>
+(<code>LocaleList</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class LocationManager -->
+<A HREF="android.location.LocationManager.html" class="hiddenlink" target="rightframe">LocationManager</A><br>
+<!-- Class Logger -->
+<A HREF="java.util.logging.Logger.html" class="hiddenlink" target="rightframe">Logger</A><br>
+<!-- Class LoggingPermission -->
+<A HREF="java.util.logging.LoggingPermission.html" class="hiddenlink" target="rightframe">LoggingPermission</A><br>
+<!-- Method logicalAnd -->
+<nobr><A HREF="java.lang.Boolean.html#java.lang.Boolean.logicalAnd_added(boolean, boolean)" class="hiddenlink" target="rightframe"><b>logicalAnd</b>
+(<code>boolean, boolean</code>)</A></nobr><br>
+<!-- Method logicalOr -->
+<nobr><A HREF="java.lang.Boolean.html#java.lang.Boolean.logicalOr_added(boolean, boolean)" class="hiddenlink" target="rightframe"><b>logicalOr</b>
+(<code>boolean, boolean</code>)</A></nobr><br>
+<!-- Method logicalXor -->
+<nobr><A HREF="java.lang.Boolean.html#java.lang.Boolean.logicalXor_added(boolean, boolean)" class="hiddenlink" target="rightframe"><b>logicalXor</b>
+(<code>boolean, boolean</code>)</A></nobr><br>
+<!-- Class LogManager -->
+<A HREF="java.util.logging.LogManager.html" class="hiddenlink" target="rightframe">LogManager</A><br>
+<!-- Class Long -->
+<A HREF="java.lang.Long.html" class="hiddenlink" target="rightframe">Long</A><br>
+<!-- Class LongAccumulator -->
+<A HREF="pkg_java.util.concurrent.atomic.html#LongAccumulator" class="hiddenlink" target="rightframe"><b>LongAccumulator</b></A><br>
+<!-- Class LongAdder -->
+<A HREF="pkg_java.util.concurrent.atomic.html#LongAdder" class="hiddenlink" target="rightframe"><b>LongAdder</b></A><br>
+<!-- Method longs -->
+<i>longs</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.longs_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method longs -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.longs_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method longs -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.longs_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Method longs -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.longs_added(long, long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long, long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<!-- Class LongSummaryStatistics -->
+<A HREF="pkg_java.util.html#LongSummaryStatistics" class="hiddenlink" target="rightframe"><b>LongSummaryStatistics</b></A><br>
+<!-- Method luminance -->
+<nobr><A HREF="android.graphics.Color.html#android.graphics.Color.luminance_added(int)" class="hiddenlink" target="rightframe"><b>luminance</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method malformedForLength -->
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.nio.charset.CoderResult.html#java.nio.charset.CoderResult.malformedForLength_changed(int)" class="hiddenlink" target="rightframe">malformedForLength
+(<code>int</code>)</A></nobr><br>
+<!-- Class Manifest.permission -->
+<A HREF="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<!-- Class Map -->
+<A HREF="java.util.Map.html" class="hiddenlink" target="rightframe"><i>Map</i></A><br>
+<!-- Class Map.Entry -->
+<A HREF="java.util.Map.Entry.html" class="hiddenlink" target="rightframe"><i>Map.Entry</i></A><br>
+<!-- Method mappingCount -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.mappingCount_added()" class="hiddenlink" target="rightframe"><b>mappingCount</b>
+()</A></nobr><br>
+<!-- Field MATCH_DIRECT_BOOT_AWARE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE" class="hiddenlink" target="rightframe">MATCH_DIRECT_BOOT_AWARE</A>
+</nobr><br>
+<!-- Field MATCH_DIRECT_BOOT_UNAWARE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE" class="hiddenlink" target="rightframe">MATCH_DIRECT_BOOT_UNAWARE</A>
+</nobr><br>
+<!-- Field MATCH_DISABLED_COMPONENTS -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_DISABLED_COMPONENTS" class="hiddenlink" target="rightframe">MATCH_DISABLED_COMPONENTS</A>
+</nobr><br>
+<!-- Field MATCH_DISABLED_UNTIL_USED_COMPONENTS -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS" class="hiddenlink" target="rightframe">MATCH_DISABLED_UNTIL_USED_COMPONENTS</A>
+</nobr><br>
+<!-- Field MATCH_SYSTEM_ONLY -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_SYSTEM_ONLY" class="hiddenlink" target="rightframe">MATCH_SYSTEM_ONLY</A>
+</nobr><br>
+<!-- Field MATCH_UNINSTALLED_PACKAGES -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_UNINSTALLED_PACKAGES" class="hiddenlink" target="rightframe">MATCH_UNINSTALLED_PACKAGES</A>
+</nobr><br>
+<!-- Class Math -->
+<A HREF="java.lang.Math.html" class="hiddenlink" target="rightframe">Math</A><br>
+<!-- Method max -->
+<i>max</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.max_added(double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double, double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+<!-- Method max -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.max_added(float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float, float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+<!-- Method max -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Integer.html#java.lang.Integer.max_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Integer
+</A></nobr><br>
+<!-- Method max -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Long.html#java.lang.Long.max_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Long
+</A></nobr><br>
+<!-- Field maxButtonHeight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.maxButtonHeight" class="hiddenlink" target="rightframe">maxButtonHeight</A>
+</nobr><br>
+<!-- Field mCancel -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.mCancel" class="hiddenlink" target="rightframe">mCancel</A>
+</nobr><br>
+<!-- Class MediaBrowser -->
+<A HREF="android.media.browse.MediaBrowser.html" class="hiddenlink" target="rightframe">MediaBrowser</A><br>
+<!-- Class MediaBrowser.SubscriptionCallback -->
+<A HREF="android.media.browse.MediaBrowser.SubscriptionCallback.html" class="hiddenlink" target="rightframe">MediaBrowser.SubscriptionCallback</A><br>
+<!-- Class MediaBrowserService -->
+<A HREF="android.service.media.MediaBrowserService.html" class="hiddenlink" target="rightframe">MediaBrowserService</A><br>
+<!-- Class MediaBrowserService.BrowserRoot -->
+<A HREF="android.service.media.MediaBrowserService.BrowserRoot.html" class="hiddenlink" target="rightframe">MediaBrowserService.BrowserRoot</A><br>
+<!-- Class MediaCodec -->
+<A HREF="android.media.MediaCodec.html" class="hiddenlink" target="rightframe">MediaCodec</A><br>
+<!-- Class MediaCodec.CryptoException -->
+<A HREF="android.media.MediaCodec.CryptoException.html" class="hiddenlink" target="rightframe">MediaCodec.CryptoException</A><br>
+<!-- Class MediaCodec.CryptoInfo -->
+<A HREF="android.media.MediaCodec.CryptoInfo.html" class="hiddenlink" target="rightframe">MediaCodec.CryptoInfo</A><br>
+<!-- Class MediaCodec.CryptoInfo.Pattern -->
+<A HREF="pkg_android.media.html#MediaCodec.CryptoInfo.Pattern" class="hiddenlink" target="rightframe"><b>MediaCodec.CryptoInfo.Pattern</b></A><br>
+<!-- Class MediaCodecInfo.CodecCapabilities -->
+<A HREF="android.media.MediaCodecInfo.CodecCapabilities.html" class="hiddenlink" target="rightframe">MediaCodecInfo.CodecCapabilities</A><br>
+<!-- Class MediaCodecInfo.CodecProfileLevel -->
+<A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html" class="hiddenlink" target="rightframe">MediaCodecInfo.CodecProfileLevel</A><br>
+<!-- Class MediaController.TransportControls -->
+<A HREF="android.media.session.MediaController.TransportControls.html" class="hiddenlink" target="rightframe">MediaController.TransportControls</A><br>
+<!-- Class MediaExtractor -->
+<A HREF="android.media.MediaExtractor.html" class="hiddenlink" target="rightframe">MediaExtractor</A><br>
+<!-- Class MediaFormat -->
+<A HREF="android.media.MediaFormat.html" class="hiddenlink" target="rightframe">MediaFormat</A><br>
+<!-- Class MediaPlayer -->
+<A HREF="android.media.MediaPlayer.html" class="hiddenlink" target="rightframe">MediaPlayer</A><br>
+<!-- Class MediaRecorder -->
+<A HREF="android.media.MediaRecorder.html" class="hiddenlink" target="rightframe">MediaRecorder</A><br>
+<!-- Class MediaRecorder.AudioSource -->
+<A HREF="android.media.MediaRecorder.AudioSource.html" class="hiddenlink" target="rightframe">MediaRecorder.AudioSource</A><br>
+<!-- Class MediaRecorder.VideoEncoder -->
+<A HREF="android.media.MediaRecorder.VideoEncoder.html" class="hiddenlink" target="rightframe">MediaRecorder.VideoEncoder</A><br>
+<!-- Class MediaRouter.RouteInfo -->
+<A HREF="android.media.MediaRouter.RouteInfo.html" class="hiddenlink" target="rightframe">MediaRouter.RouteInfo</A><br>
+<!-- Class MediaSession.Callback -->
+<A HREF="android.media.session.MediaSession.Callback.html" class="hiddenlink" target="rightframe">MediaSession.Callback</A><br>
+<!-- Class MediumTest -->
+<A HREF="android.test.suitebuilder.annotation.MediumTest.html" class="hiddenlink" target="rightframe">MediumTest</A><br>
+<!-- Class MemoryHandler -->
+<A HREF="java.util.logging.MemoryHandler.html" class="hiddenlink" target="rightframe">MemoryHandler</A><br>
+<!-- Field MENU_ITEM_NONE -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.MENU_ITEM_NONE" class="hiddenlink" target="rightframe">MENU_ITEM_NONE</A>
+</nobr><br>
+<!-- Field MENU_ITEM_PROCESS_TEXT -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.MENU_ITEM_PROCESS_TEXT" class="hiddenlink" target="rightframe">MENU_ITEM_PROCESS_TEXT</A>
+</nobr><br>
+<!-- Field MENU_ITEM_SHARE -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.MENU_ITEM_SHARE" class="hiddenlink" target="rightframe">MENU_ITEM_SHARE</A>
+</nobr><br>
+<!-- Field MENU_ITEM_WEB_SEARCH -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.MENU_ITEM_WEB_SEARCH" class="hiddenlink" target="rightframe">MENU_ITEM_WEB_SEARCH</A>
+</nobr><br>
+<!-- Method merge -->
+<i>merge</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method merge -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method merge -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method merge -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<!-- Field METADATA_ACCOUNT_TYPE -->
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.METADATA_ACCOUNT_TYPE" class="hiddenlink" target="rightframe">METADATA_ACCOUNT_TYPE</A>
+</nobr><br>
+<!-- Field METADATA_DIRTY -->
+<nobr><A HREF="android.provider.ContactsContract.RawContactsColumns.html#android.provider.ContactsContract.RawContactsColumns.METADATA_DIRTY" class="hiddenlink" target="rightframe">METADATA_DIRTY</A>
+</nobr><br>
+<!-- Field METADATA_IN_CALL_SERVICE_RINGING -->
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.METADATA_IN_CALL_SERVICE_RINGING" class="hiddenlink" target="rightframe">METADATA_IN_CALL_SERVICE_RINGING</A>
+</nobr><br>
+<!-- Field METADATA_MIMETYPE -->
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.METADATA_MIMETYPE" class="hiddenlink" target="rightframe">METADATA_MIMETYPE</A>
+</nobr><br>
+<!-- Class Method -->
+<A HREF="java.lang.reflect.Method.html" class="hiddenlink" target="rightframe">Method</A><br>
+<!-- Field MIMETYPE_VIDEO_DOLBY_VISION -->
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.MIMETYPE_VIDEO_DOLBY_VISION" class="hiddenlink" target="rightframe">MIMETYPE_VIDEO_DOLBY_VISION</A>
+</nobr><br>
+<!-- Method min -->
+<i>min</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.min_added(double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double, double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+<!-- Method min -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.min_added(float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float, float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+<!-- Method min -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Integer.html#java.lang.Integer.min_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Integer
+</A></nobr><br>
+<!-- Method min -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Long.html#java.lang.Long.min_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Long
+</A></nobr><br>
+<!-- Field minSdkVersion -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.minSdkVersion" class="hiddenlink" target="rightframe">minSdkVersion</A>
+</nobr><br>
+<!-- Class MockApplication -->
+<A HREF="android.test.mock.MockApplication.html" class="hiddenlink" target="rightframe">MockApplication</A><br>
+<!-- Class MockContext -->
+<A HREF="android.test.mock.MockContext.html" class="hiddenlink" target="rightframe">MockContext</A><br>
+<!-- Class MockCursor -->
+<A HREF="android.test.mock.MockCursor.html" class="hiddenlink" target="rightframe">MockCursor</A><br>
+<!-- Class MockDialogInterface -->
+<A HREF="android.test.mock.MockDialogInterface.html" class="hiddenlink" target="rightframe">MockDialogInterface</A><br>
+<!-- Class MockPackageManager -->
+<A HREF="android.test.mock.MockPackageManager.html" class="hiddenlink" target="rightframe">MockPackageManager</A><br>
+<!-- Class MockResources -->
+<A HREF="android.test.mock.MockResources.html" class="hiddenlink" target="rightframe">MockResources</A><br>
+<!-- Field MODE_NO_LOCALIZED_COLLATORS -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.MODE_NO_LOCALIZED_COLLATORS" class="hiddenlink" target="rightframe">MODE_NO_LOCALIZED_COLLATORS</A>
+</nobr><br>
+<!-- Class MoreAsserts -->
+<A HREF="android.test.MoreAsserts.html" class="hiddenlink" target="rightframe">MoreAsserts</A><br>
+<!-- Class MotionEvent -->
+<A HREF="android.view.MotionEvent.html" class="hiddenlink" target="rightframe">MotionEvent</A><br>
+<!-- Method moveDatabaseFrom -->
+<i>moveDatabaseFrom</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.moveDatabaseFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method moveDatabaseFrom -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.moveDatabaseFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method moveDatabaseFrom -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.moveDatabaseFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Method moveDocument -->
+<i>moveDocument</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.moveDocument_added(android.content.ContentResolver, android.net.Uri, android.net.Uri, android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, Uri, Uri, Uri</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsContract
+</A></nobr><br>
+<!-- Method moveDocument -->
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.moveDocument_added(java.lang.String, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String, String</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsProvider
+</A></nobr><br>
+<!-- Method moveSharedPreferencesFrom -->
+<i>moveSharedPreferencesFrom</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.moveSharedPreferencesFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method moveSharedPreferencesFrom -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.moveSharedPreferencesFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method moveSharedPreferencesFrom -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.moveSharedPreferencesFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Field MPEG2LevelHP -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG2LevelHP" class="hiddenlink" target="rightframe">MPEG2LevelHP</A>
+</nobr><br>
+<!-- Field MPEG4Level3b -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level3b" class="hiddenlink" target="rightframe">MPEG4Level3b</A>
+</nobr><br>
+<!-- Field MPEG4Level6 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level6" class="hiddenlink" target="rightframe">MPEG4Level6</A>
+</nobr><br>
+<!-- Class MtpConstants -->
+<A HREF="android.mtp.MtpConstants.html" class="hiddenlink" target="rightframe">MtpConstants</A><br>
+<!-- Class MtpDevice -->
+<A HREF="android.mtp.MtpDevice.html" class="hiddenlink" target="rightframe">MtpDevice</A><br>
+<!-- Class MtpDeviceInfo -->
+<A HREF="android.mtp.MtpDeviceInfo.html" class="hiddenlink" target="rightframe">MtpDeviceInfo</A><br>
+<!-- Class MtpEvent -->
+<A HREF="pkg_android.mtp.html#MtpEvent" class="hiddenlink" target="rightframe"><b>MtpEvent</b></A><br>
+<!-- Class MtpObjectInfo -->
+<A HREF="android.mtp.MtpObjectInfo.html" class="hiddenlink" target="rightframe">MtpObjectInfo</A><br>
+<!-- Class MtpObjectInfo.Builder -->
+<A HREF="pkg_android.mtp.html#MtpObjectInfo.Builder" class="hiddenlink" target="rightframe"><b>MtpObjectInfo.Builder</b></A><br>
+<!-- Method multiplyExact -->
+<i>multiplyExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.multiplyExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method multiplyExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.multiplyExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method multiplyExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.multiplyExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method multiplyExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.multiplyExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method myUserHandle -->
+<nobr><A HREF="android.os.Process.html#android.os.Process.myUserHandle_changed()" class="hiddenlink" target="rightframe">myUserHandle
+()</A></nobr><br>
+<!-- Field N -->
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.N" class="hiddenlink" target="rightframe">N</A>
+</nobr><br>
+<!-- Method naturalOrder -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.naturalOrder_added()" class="hiddenlink" target="rightframe"><b>naturalOrder</b>
+()</A></nobr><br>
+<!-- Method negateExact -->
+<i>negateExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.negateExact_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method negateExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.negateExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Field NETWORK_TYPE_NOT_ROAMING -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.NETWORK_TYPE_NOT_ROAMING" class="hiddenlink" target="rightframe">NETWORK_TYPE_NOT_ROAMING</A>
+</nobr><br>
+<!-- Class NetworkChannel -->
+<A HREF="pkg_java.nio.channels.html#NetworkChannel" class="hiddenlink" target="rightframe"><b><i>NetworkChannel</i></b></A><br>
+<!-- Class NetworkInfo -->
+<A HREF="android.net.NetworkInfo.html" class="hiddenlink" target="rightframe">NetworkInfo</A><br>
+<!-- Field networkSecurityConfig -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.networkSecurityConfig" class="hiddenlink" target="rightframe">networkSecurityConfig</A>
+</nobr><br>
+<!-- Class NetworkSecurityPolicy -->
+<A HREF="android.security.NetworkSecurityPolicy.html" class="hiddenlink" target="rightframe">NetworkSecurityPolicy</A><br>
+<!-- Class NetworkStats.Bucket -->
+<A HREF="android.app.usage.NetworkStats.Bucket.html" class="hiddenlink" target="rightframe">NetworkStats.Bucket</A><br>
+<!-- Class NetworkStatsManager -->
+<A HREF="android.app.usage.NetworkStatsManager.html" class="hiddenlink" target="rightframe">NetworkStatsManager</A><br>
+<!-- Class NetworkStatsManager.UsageCallback -->
+<A HREF="pkg_android.app.usage.html#NetworkStatsManager.UsageCallback" class="hiddenlink" target="rightframe"><b>NetworkStatsManager.UsageCallback</b></A><br>
+<!-- Method newKeySet -->
+<i>newKeySet</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.newKeySet_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method newKeySet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.newKeySet_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method newWorkStealingPool -->
+<i>newWorkStealingPool</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.Executors.html#java.util.concurrent.Executors.newWorkStealingPool_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.Executors
+</A></nobr><br>
+<!-- Method newWorkStealingPool -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.Executors.html#java.util.concurrent.Executors.newWorkStealingPool_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.util.concurrent.Executors
+</A></nobr><br>
+<!-- Method nextDown -->
+<i>nextDown</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.nextDown_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method nextDown -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.nextDown_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method nextDown -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.nextDown_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method nextDown -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.nextDown_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Class NfcAdapter -->
+<A HREF="android.nfc.NfcAdapter.html" class="hiddenlink" target="rightframe">NfcAdapter</A><br>
+<!-- Class NfcAdapter.OnTagRemovedListener -->
+<A HREF="pkg_android.nfc.html#NfcAdapter.OnTagRemovedListener" class="hiddenlink" target="rightframe"><b><i>NfcAdapter.OnTagRemovedListener</i></b></A><br>
+<!-- Class NfcFCardEmulation -->
+<A HREF="pkg_android.nfc.cardemulation.html#NfcFCardEmulation" class="hiddenlink" target="rightframe"><b>NfcFCardEmulation</b></A><br>
+<!-- Class NodeChangeEvent -->
+<A HREF="java.util.prefs.NodeChangeEvent.html" class="hiddenlink" target="rightframe">NodeChangeEvent</A><br>
+<!-- Method nonNull -->
+<nobr><A HREF="java.util.Objects.html#java.util.Objects.nonNull_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>nonNull</b>
+(<code>Object</code>)</A></nobr><br>
+<!-- Class Notification -->
+<A HREF="android.app.Notification.html" class="hiddenlink" target="rightframe">Notification</A><br>
+<!-- Class Notification.Action -->
+<A HREF="android.app.Notification.Action.html" class="hiddenlink" target="rightframe">Notification.Action</A><br>
+<!-- Class Notification.Action.Builder -->
+<A HREF="android.app.Notification.Action.Builder.html" class="hiddenlink" target="rightframe">Notification.Action.Builder</A><br>
+<!-- Class Notification.Action.WearableExtender -->
+<A HREF="android.app.Notification.Action.WearableExtender.html" class="hiddenlink" target="rightframe">Notification.Action.WearableExtender</A><br>
+<!-- Class Notification.BigPictureStyle -->
+<i>Notification.BigPictureStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.BigPictureStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.BigPictureStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.BigPictureStyle.html#android.app.Notification.BigPictureStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.BigPictureStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Notification.BigTextStyle -->
+<i>Notification.BigTextStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.BigTextStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.BigTextStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.BigTextStyle.html#android.app.Notification.BigTextStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.BigTextStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Notification.Builder -->
+<A HREF="android.app.Notification.Builder.html" class="hiddenlink" target="rightframe">Notification.Builder</A><br>
+<!-- Class Notification.DecoratedCustomViewStyle -->
+<A HREF="pkg_android.app.html#Notification.DecoratedCustomViewStyle" class="hiddenlink" target="rightframe"><b>Notification.DecoratedCustomViewStyle</b></A><br>
+<!-- Class Notification.DecoratedMediaCustomViewStyle -->
+<A HREF="pkg_android.app.html#Notification.DecoratedMediaCustomViewStyle" class="hiddenlink" target="rightframe"><b>Notification.DecoratedMediaCustomViewStyle</b></A><br>
+<!-- Class Notification.InboxStyle -->
+<i>Notification.InboxStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.InboxStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.InboxStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.InboxStyle.html#android.app.Notification.InboxStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.InboxStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Notification.MediaStyle -->
+<i>Notification.MediaStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.MediaStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.MediaStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.MediaStyle.html#android.app.Notification.MediaStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.MediaStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Notification.MessagingStyle -->
+<A HREF="pkg_android.app.html#Notification.MessagingStyle" class="hiddenlink" target="rightframe"><b>Notification.MessagingStyle</b></A><br>
+<!-- Class Notification.MessagingStyle.Message -->
+<A HREF="pkg_android.app.html#Notification.MessagingStyle.Message" class="hiddenlink" target="rightframe"><b>Notification.MessagingStyle.Message</b></A><br>
+<!-- Class Notification.WearableExtender -->
+<A HREF="android.app.Notification.WearableExtender.html" class="hiddenlink" target="rightframe">Notification.WearableExtender</A><br>
+<!-- Class NotificationListenerService -->
+<A HREF="android.service.notification.NotificationListenerService.html" class="hiddenlink" target="rightframe">NotificationListenerService</A><br>
+<!-- Class NotificationListenerService.Ranking -->
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html" class="hiddenlink" target="rightframe">NotificationListenerService.Ranking</A><br>
+<!-- Class NotificationManager -->
+<A HREF="android.app.NotificationManager.html" class="hiddenlink" target="rightframe">NotificationManager</A><br>
+<!-- Class NotificationManager.Policy -->
+<i>NotificationManager.Policy</i><br>
+&nbsp;&nbsp;<A HREF="android.app.NotificationManager.Policy.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor NotificationManager.Policy -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.ctor_added(int, int, int, int)" class="hiddenlink" target="rightframe"><b>NotificationManager.Policy</b>
+(<code>int, int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS" class="hiddenlink" target="rightframe">NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS</A>
+</nobr><br>
+<!-- Field NOTIFY_SYNC_TO_NETWORK -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.NOTIFY_SYNC_TO_NETWORK" class="hiddenlink" target="rightframe">NOTIFY_SYNC_TO_NETWORK</A>
+</nobr><br>
+<!-- Method notifyChange -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.notifyChange_added(android.net.Uri, android.database.ContentObserver, int)" class="hiddenlink" target="rightframe"><b>notifyChange</b>
+(<code>Uri, ContentObserver, int</code>)</A></nobr><br>
+<!-- Method notifyChildrenChanged -->
+<nobr><A HREF="android.service.media.MediaBrowserService.html#android.service.media.MediaBrowserService.notifyChildrenChanged_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>notifyChildrenChanged</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<!-- Method nullsFirst -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.nullsFirst_added(java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe"><b>nullsFirst</b>
+(<code>Comparator&lt;? super T&gt;</code>)</A></nobr><br>
+<!-- Method nullsLast -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.nullsLast_added(java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe"><b>nullsLast</b>
+(<code>Comparator&lt;? super T&gt;</code>)</A></nobr><br>
+<!-- Field number -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.number" class="hiddenlink" target="rightframe">number</A>
+</nobr><br>
+<!-- Field numberPickerStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.numberPickerStyle" class="hiddenlink" target="rightframe">numberPickerStyle</A>
+</nobr><br>
+<!-- Class NumericShaper -->
+<A HREF="java.awt.font.NumericShaper.html" class="hiddenlink" target="rightframe">NumericShaper</A><br>
+<!-- Class NumericShaper.Range -->
+<A HREF="pkg_java.awt.font.html#NumericShaper.Range" class="hiddenlink" target="rightframe"><b>NumericShaper.Range</b></A><br>
+<!-- Class ObjectInputStream -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.io.ObjectInputStream.html" class="hiddenlink" target="rightframe">ObjectInputStream</A><br>
+<!-- Class ObjectInputStream.GetField -->
+<A HREF="java.io.ObjectInputStream.GetField.html" class="hiddenlink" target="rightframe">ObjectInputStream.GetField</A><br>
+<!-- Class ObjectOutputStream -->
+<A HREF="java.io.ObjectOutputStream.html" class="hiddenlink" target="rightframe">ObjectOutputStream</A><br>
+<!-- Class Objects -->
+<A HREF="java.util.Objects.html" class="hiddenlink" target="rightframe">Objects</A><br>
+<!-- Method observesDaylightTime -->
+<nobr><A HREF="java.util.TimeZone.html#java.util.TimeZone.observesDaylightTime_added()" class="hiddenlink" target="rightframe"><b>observesDaylightTime</b>
+()</A></nobr><br>
+<!-- Field offset -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.offset" class="hiddenlink" target="rightframe">offset</A>
+</nobr><br>
+<!-- Method onAppPrivateCommand -->
+<nobr><A HREF="android.media.tv.TvInputService.Session.html#android.media.tv.TvInputService.Session.onAppPrivateCommand_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onAppPrivateCommand</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<!-- Method onAttachFragment -->
+<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onAttachFragment_added(android.app.Fragment)" class="hiddenlink" target="rightframe"><b>onAttachFragment</b>
+(<code>Fragment</code>)</A></nobr><br>
+<!-- Method onAudioAvailable -->
+<nobr><A HREF="android.speech.tts.UtteranceProgressListener.html#android.speech.tts.UtteranceProgressListener.onAudioAvailable_added(java.lang.String, byte[])" class="hiddenlink" target="rightframe"><b>onAudioAvailable</b>
+(<code>String, byte[]</code>)</A></nobr><br>
+<!-- Method onBeginSynthesis -->
+<nobr><A HREF="android.speech.tts.UtteranceProgressListener.html#android.speech.tts.UtteranceProgressListener.onBeginSynthesis_added(java.lang.String, int, int, int)" class="hiddenlink" target="rightframe"><b>onBeginSynthesis</b>
+(<code>String, int, int, int</code>)</A></nobr><br>
+<!-- Method onBugreportFailed -->
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onBugreportFailed_added(android.content.Context, android.content.Intent, int)" class="hiddenlink" target="rightframe"><b>onBugreportFailed</b>
+(<code>Context, Intent, int</code>)</A></nobr><br>
+<!-- Method onBugreportShared -->
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onBugreportShared_added(android.content.Context, android.content.Intent, java.lang.String)" class="hiddenlink" target="rightframe"><b>onBugreportShared</b>
+(<code>Context, Intent, String</code>)</A></nobr><br>
+<!-- Method onBugreportSharingDeclined -->
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onBugreportSharingDeclined_added(android.content.Context, android.content.Intent)" class="hiddenlink" target="rightframe"><b>onBugreportSharingDeclined</b>
+(<code>Context, Intent</code>)</A></nobr><br>
+<!-- Method onCaptureBufferLost -->
+<nobr><A HREF="android.hardware.camera2.CameraCaptureSession.CaptureCallback.html#android.hardware.camera2.CameraCaptureSession.CaptureCallback.onCaptureBufferLost_added(android.hardware.camera2.CameraCaptureSession, android.hardware.camera2.CaptureRequest, android.view.Surface, long)" class="hiddenlink" target="rightframe"><b>onCaptureBufferLost</b>
+(<code>CameraCaptureSession, CaptureRequest, Surface, long</code>)</A></nobr><br>
+<!-- Method onChildrenLoaded -->
+<nobr><A HREF="android.media.browse.MediaBrowser.SubscriptionCallback.html#android.media.browse.MediaBrowser.SubscriptionCallback.onChildrenLoaded_added(java.lang.String, java.util.List<android.media.browse.MediaBrowser.MediaItem>, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onChildrenLoaded</b>
+(<code>String, List&lt;MediaItem&gt;, Bundle</code>)</A></nobr><br>
+<!-- Method onCreateRecordingSession -->
+<nobr><A HREF="android.media.tv.TvInputService.html#android.media.tv.TvInputService.onCreateRecordingSession_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>onCreateRecordingSession</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method onError -->
+<nobr><A HREF="android.media.browse.MediaBrowser.SubscriptionCallback.html#android.media.browse.MediaBrowser.SubscriptionCallback.onError_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onError</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<!-- Method onFilterSms -->
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.onFilterSms_changed(android.service.carrier.MessagePdu, java.lang.String, int, int, android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Boolean>)" class="hiddenlink" target="rightframe">onFilterSms
+(<code>MessagePdu, String, int, int, ResultCallback&lt;Boolean&gt;</code>)</A></nobr><br>
+<!-- Method onHandleAssistSecondary -->
+<nobr><A HREF="android.service.voice.VoiceInteractionSession.html#android.service.voice.VoiceInteractionSession.onHandleAssistSecondary_added(android.os.Bundle, android.app.assist.AssistStructure, android.app.assist.AssistContent, int, int)" class="hiddenlink" target="rightframe"><b>onHandleAssistSecondary</b>
+(<code>Bundle, AssistStructure, AssistContent, int, int</code>)</A></nobr><br>
+<!-- Method onInputUpdated -->
+<nobr><A HREF="android.media.tv.TvInputManager.TvInputCallback.html#android.media.tv.TvInputManager.TvInputCallback.onInputUpdated_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>onInputUpdated</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method onListenerDisconnected -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.onListenerDisconnected_added()" class="hiddenlink" target="rightframe"><b>onListenerDisconnected</b>
+()</A></nobr><br>
+<!-- Method onLoadChildren -->
+<nobr><A HREF="android.service.media.MediaBrowserService.html#android.service.media.MediaBrowserService.onLoadChildren_added(java.lang.String, android.service.media.MediaBrowserService.Result<java.util.List<android.media.browse.MediaBrowser.MediaItem>>, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onLoadChildren</b>
+(<code>String, Result&lt;List&lt;MediaItem&gt;&gt;, Bundle</code>)</A></nobr><br>
+<!-- Method onLocalVoiceInteractionStarted -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onLocalVoiceInteractionStarted_added()" class="hiddenlink" target="rightframe"><b>onLocalVoiceInteractionStarted</b>
+()</A></nobr><br>
+<!-- Method onLocalVoiceInteractionStopped -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onLocalVoiceInteractionStopped_added()" class="hiddenlink" target="rightframe"><b>onLocalVoiceInteractionStopped</b>
+()</A></nobr><br>
+<!-- Method onMultiWindowModeChanged -->
+<i>onMultiWindowModeChanged</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onMultiWindowModeChanged_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+<!-- Method onMultiWindowModeChanged -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onMultiWindowModeChanged_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Fragment
+</A></nobr><br>
+<!-- Class OnNmeaMessageListener -->
+<A HREF="pkg_android.location.html#OnNmeaMessageListener" class="hiddenlink" target="rightframe"><b><i>OnNmeaMessageListener</i></b></A><br>
+<!-- Method onPackagesSuspended -->
+<nobr><A HREF="android.content.pm.LauncherApps.Callback.html#android.content.pm.LauncherApps.Callback.onPackagesSuspended_added(java.lang.String[], android.os.UserHandle)" class="hiddenlink" target="rightframe"><b>onPackagesSuspended</b>
+(<code>String[], UserHandle</code>)</A></nobr><br>
+<!-- Method onPackagesUnsuspended -->
+<nobr><A HREF="android.content.pm.LauncherApps.Callback.html#android.content.pm.LauncherApps.Callback.onPackagesUnsuspended_added(java.lang.String[], android.os.UserHandle)" class="hiddenlink" target="rightframe"><b>onPackagesUnsuspended</b>
+(<code>String[], UserHandle</code>)</A></nobr><br>
+<!-- Method onPictureInPictureModeChanged -->
+<i>onPictureInPictureModeChanged</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onPictureInPictureModeChanged_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+<!-- Method onPictureInPictureModeChanged -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onPictureInPictureModeChanged_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Fragment
+</A></nobr><br>
+<!-- Method onPrepare -->
+<nobr><A HREF="android.media.session.MediaSession.Callback.html#android.media.session.MediaSession.Callback.onPrepare_added()" class="hiddenlink" target="rightframe"><b>onPrepare</b>
+()</A></nobr><br>
+<!-- Method onPrepareFromMediaId -->
+<nobr><A HREF="android.media.session.MediaSession.Callback.html#android.media.session.MediaSession.Callback.onPrepareFromMediaId_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onPrepareFromMediaId</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<!-- Method onPrepareFromSearch -->
+<nobr><A HREF="android.media.session.MediaSession.Callback.html#android.media.session.MediaSession.Callback.onPrepareFromSearch_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onPrepareFromSearch</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<!-- Method onPrepareFromUri -->
+<nobr><A HREF="android.media.session.MediaSession.Callback.html#android.media.session.MediaSession.Callback.onPrepareFromUri_added(android.net.Uri, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onPrepareFromUri</b>
+(<code>Uri, Bundle</code>)</A></nobr><br>
+<!-- Method onProvideKeyboardShortcuts -->
+<nobr><A HREF="android.view.Window.Callback.html#android.view.Window.Callback.onProvideKeyboardShortcuts_added(java.util.List<android.view.KeyboardShortcutGroup>, android.view.Menu, int)" class="hiddenlink" target="rightframe"><b>onProvideKeyboardShortcuts</b>
+(<code>List&lt;KeyboardShortcutGroup&gt;, Menu, int</code>)</A></nobr><br>
+<!-- Method onQuotaExceeded -->
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.onQuotaExceeded_added(long, long)" class="hiddenlink" target="rightframe"><b>onQuotaExceeded</b>
+(<code>long, long</code>)</A></nobr><br>
+<!-- Method onReadyForUserInitialization -->
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onReadyForUserInitialization_changed(android.content.Context, android.content.Intent)" class="hiddenlink" target="rightframe">onReadyForUserInitialization
+(<code>Context, Intent</code>)</A></nobr><br>
+<!-- Method onReceiveTextSms -->
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.onReceiveTextSms_added(android.service.carrier.MessagePdu, java.lang.String, int, int, android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Integer>)" class="hiddenlink" target="rightframe"><b>onReceiveTextSms</b>
+(<code>MessagePdu, String, int, int, ResultCallback&lt;Integer&gt;</code>)</A></nobr><br>
+<!-- Method onReject -->
+<nobr><A HREF="android.telecom.Connection.html#android.telecom.Connection.onReject_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>onReject</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method onRequestCustomPrinterIcon -->
+<nobr><A HREF="android.printservice.PrinterDiscoverySession.html#android.printservice.PrinterDiscoverySession.onRequestCustomPrinterIcon_added(android.print.PrinterId, android.os.CancellationSignal, android.printservice.CustomPrinterIconCallback)" class="hiddenlink" target="rightframe"><b>onRequestCustomPrinterIcon</b>
+(<code>PrinterId, CancellationSignal, CustomPrinterIconCallback</code>)</A></nobr><br>
+<!-- Method onResolvePointerIcon -->
+<nobr><A HREF="android.view.View.html#android.view.View.onResolvePointerIcon_added(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe"><b>onResolvePointerIcon</b>
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<!-- Method onRetainNonConfigurationInstance -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onRetainNonConfigurationInstance_changed()" class="hiddenlink" target="rightframe">onRetainNonConfigurationInstance
+()</A></nobr><br>
+<!-- Method onRoutingChanged -->
+<i>onRoutingChanged</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.OnRoutingChangedListener.html#android.media.AudioRecord.OnRoutingChangedListener.onRoutingChanged_added(android.media.AudioRouting)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AudioRouting</code>)</b>&nbsp;in&nbsp;android.media.AudioRecord.OnRoutingChangedListener
+</A></nobr><br>
+<!-- Method onRoutingChanged -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.OnRoutingChangedListener.html#android.media.AudioTrack.OnRoutingChangedListener.onRoutingChanged_added(android.media.AudioRouting)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AudioRouting</code>)</b>&nbsp;in&nbsp;android.media.AudioTrack.OnRoutingChangedListener
+</A></nobr><br>
+<!-- Method onSecurityLogsAvailable -->
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onSecurityLogsAvailable_added(android.content.Context, android.content.Intent)" class="hiddenlink" target="rightframe"><b>onSecurityLogsAvailable</b>
+(<code>Context, Intent</code>)</A></nobr><br>
+<!-- Method onSilenceRinger -->
+<nobr><A HREF="android.telecom.InCallService.html#android.telecom.InCallService.onSilenceRinger_added()" class="hiddenlink" target="rightframe"><b>onSilenceRinger</b>
+()</A></nobr><br>
+<!-- Method onStartIntentSenderFromFragment -->
+<nobr><A HREF="android.app.FragmentHostCallback.html#android.app.FragmentHostCallback.onStartIntentSenderFromFragment_added(android.app.Fragment, android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onStartIntentSenderFromFragment</b>
+(<code>Fragment, IntentSender, int, Intent, int, int, int, Bundle</code>)</A></nobr><br>
+<!-- Method onTimeShiftPlay -->
+<nobr><A HREF="android.media.tv.TvInputService.Session.html#android.media.tv.TvInputService.Session.onTimeShiftPlay_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>onTimeShiftPlay</b>
+(<code>Uri</code>)</A></nobr><br>
+<!-- Method onTune -->
+<nobr><A HREF="android.media.tv.TvInputService.Session.html#android.media.tv.TvInputService.Session.onTune_added(android.net.Uri, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onTune</b>
+(<code>Uri, Bundle</code>)</A></nobr><br>
+<!-- Method onTvInputInfoUpdated -->
+<nobr><A HREF="android.media.tv.TvInputManager.TvInputCallback.html#android.media.tv.TvInputManager.TvInputCallback.onTvInputInfoUpdated_added(android.media.tv.TvInputInfo)" class="hiddenlink" target="rightframe"><b>onTvInputInfoUpdated</b>
+(<code>TvInputInfo</code>)</A></nobr><br>
+<!-- Method onUnhandledInputEvent -->
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onUnhandledInputEvent_removed(android.webkit.WebView, android.view.InputEvent)" class="hiddenlink" target="rightframe"><strike>onUnhandledInputEvent</strike>
+(<code>WebView, InputEvent</code>)</A></nobr><br>
+<!-- Method onUnhandledKeyEvent -->
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onUnhandledKeyEvent_changed(android.webkit.WebView, android.view.KeyEvent)" class="hiddenlink" target="rightframe">onUnhandledKeyEvent
+(<code>WebView, KeyEvent</code>)</A></nobr><br>
+<!-- Method onVisibilityAggregated -->
+<nobr><A HREF="android.view.View.html#android.view.View.onVisibilityAggregated_added(boolean)" class="hiddenlink" target="rightframe"><b>onVisibilityAggregated</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method open -->
+<nobr><A HREF="java.nio.channels.DatagramChannel.html#java.nio.channels.DatagramChannel.open_added(java.net.ProtocolFamily)" class="hiddenlink" target="rightframe"><b>open</b>
+(<code>ProtocolFamily</code>)</A></nobr><br>
+<!-- Method openDatagramChannel -->
+<nobr><A HREF="java.nio.channels.spi.SelectorProvider.html#java.nio.channels.spi.SelectorProvider.openDatagramChannel_added(java.net.ProtocolFamily)" class="hiddenlink" target="rightframe"><b>openDatagramChannel</b>
+(<code>ProtocolFamily</code>)</A></nobr><br>
+<!-- Method openTypedDocument -->
+<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.openTypedDocument_added(java.lang.String, java.lang.String, android.os.Bundle, android.os.CancellationSignal)" class="hiddenlink" target="rightframe"><b>openTypedDocument</b>
+(<code>String, String, Bundle, CancellationSignal</code>)</A></nobr><br>
+<!-- Field OPERATION_CLOSE_SESSION -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_CLOSE_SESSION" class="hiddenlink" target="rightframe">OPERATION_CLOSE_SESSION</A>
+</nobr><br>
+<!-- Field OPERATION_COPY_OBJECT -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_COPY_OBJECT" class="hiddenlink" target="rightframe">OPERATION_COPY_OBJECT</A>
+</nobr><br>
+<!-- Field OPERATION_DELETE_OBJECT -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_DELETE_OBJECT" class="hiddenlink" target="rightframe">OPERATION_DELETE_OBJECT</A>
+</nobr><br>
+<!-- Field OPERATION_FORMAT_STORE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_FORMAT_STORE" class="hiddenlink" target="rightframe">OPERATION_FORMAT_STORE</A>
+</nobr><br>
+<!-- Field OPERATION_GET_DEVICE_INFO -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_DEVICE_INFO" class="hiddenlink" target="rightframe">OPERATION_GET_DEVICE_INFO</A>
+</nobr><br>
+<!-- Field OPERATION_GET_DEVICE_PROP_DESC -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_DEVICE_PROP_DESC" class="hiddenlink" target="rightframe">OPERATION_GET_DEVICE_PROP_DESC</A>
+</nobr><br>
+<!-- Field OPERATION_GET_DEVICE_PROP_VALUE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_DEVICE_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_GET_DEVICE_PROP_VALUE</A>
+</nobr><br>
+<!-- Field OPERATION_GET_NUM_OBJECTS -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_NUM_OBJECTS" class="hiddenlink" target="rightframe">OPERATION_GET_NUM_OBJECTS</A>
+</nobr><br>
+<!-- Field OPERATION_GET_OBJECT -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT</A>
+</nobr><br>
+<!-- Field OPERATION_GET_OBJECT_HANDLES -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_HANDLES" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_HANDLES</A>
+</nobr><br>
+<!-- Field OPERATION_GET_OBJECT_INFO -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_INFO" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_INFO</A>
+</nobr><br>
+<!-- Field OPERATION_GET_OBJECT_PROP_DESC -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_PROP_DESC" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_PROP_DESC</A>
+</nobr><br>
+<!-- Field OPERATION_GET_OBJECT_PROP_VALUE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_PROP_VALUE</A>
+</nobr><br>
+<!-- Field OPERATION_GET_OBJECT_PROPS_SUPPORTED -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_PROPS_SUPPORTED" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_PROPS_SUPPORTED</A>
+</nobr><br>
+<!-- Field OPERATION_GET_OBJECT_REFERENCES -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_REFERENCES" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_REFERENCES</A>
+</nobr><br>
+<!-- Field OPERATION_GET_PARTIAL_OBJECT -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_PARTIAL_OBJECT" class="hiddenlink" target="rightframe">OPERATION_GET_PARTIAL_OBJECT</A>
+</nobr><br>
+<!-- Field OPERATION_GET_PARTIAL_OBJECT_64 -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_PARTIAL_OBJECT_64" class="hiddenlink" target="rightframe">OPERATION_GET_PARTIAL_OBJECT_64</A>
+</nobr><br>
+<!-- Field OPERATION_GET_STORAGE_I_DS -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_STORAGE_I_DS" class="hiddenlink" target="rightframe">OPERATION_GET_STORAGE_I_DS</A>
+</nobr><br>
+<!-- Field OPERATION_GET_STORAGE_INFO -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_STORAGE_INFO" class="hiddenlink" target="rightframe">OPERATION_GET_STORAGE_INFO</A>
+</nobr><br>
+<!-- Field OPERATION_GET_THUMB -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_THUMB" class="hiddenlink" target="rightframe">OPERATION_GET_THUMB</A>
+</nobr><br>
+<!-- Field OPERATION_INITIATE_CAPTURE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_INITIATE_CAPTURE" class="hiddenlink" target="rightframe">OPERATION_INITIATE_CAPTURE</A>
+</nobr><br>
+<!-- Field OPERATION_INITIATE_OPEN_CAPTURE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_INITIATE_OPEN_CAPTURE" class="hiddenlink" target="rightframe">OPERATION_INITIATE_OPEN_CAPTURE</A>
+</nobr><br>
+<!-- Field OPERATION_MOVE_OBJECT -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_MOVE_OBJECT" class="hiddenlink" target="rightframe">OPERATION_MOVE_OBJECT</A>
+</nobr><br>
+<!-- Field OPERATION_OPEN_SESSION -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_OPEN_SESSION" class="hiddenlink" target="rightframe">OPERATION_OPEN_SESSION</A>
+</nobr><br>
+<!-- Field OPERATION_POWER_DOWN -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_POWER_DOWN" class="hiddenlink" target="rightframe">OPERATION_POWER_DOWN</A>
+</nobr><br>
+<!-- Field OPERATION_RESET_DEVICE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_RESET_DEVICE" class="hiddenlink" target="rightframe">OPERATION_RESET_DEVICE</A>
+</nobr><br>
+<!-- Field OPERATION_RESET_DEVICE_PROP_VALUE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_RESET_DEVICE_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_RESET_DEVICE_PROP_VALUE</A>
+</nobr><br>
+<!-- Field OPERATION_SELF_TEST -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SELF_TEST" class="hiddenlink" target="rightframe">OPERATION_SELF_TEST</A>
+</nobr><br>
+<!-- Field OPERATION_SEND_OBJECT -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SEND_OBJECT" class="hiddenlink" target="rightframe">OPERATION_SEND_OBJECT</A>
+</nobr><br>
+<!-- Field OPERATION_SEND_OBJECT_INFO -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SEND_OBJECT_INFO" class="hiddenlink" target="rightframe">OPERATION_SEND_OBJECT_INFO</A>
+</nobr><br>
+<!-- Field OPERATION_SET_DEVICE_PROP_VALUE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SET_DEVICE_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_SET_DEVICE_PROP_VALUE</A>
+</nobr><br>
+<!-- Field OPERATION_SET_OBJECT_PROP_VALUE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SET_OBJECT_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_SET_OBJECT_PROP_VALUE</A>
+</nobr><br>
+<!-- Field OPERATION_SET_OBJECT_PROTECTION -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SET_OBJECT_PROTECTION" class="hiddenlink" target="rightframe">OPERATION_SET_OBJECT_PROTECTION</A>
+</nobr><br>
+<!-- Field OPERATION_SET_OBJECT_REFERENCES -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SET_OBJECT_REFERENCES" class="hiddenlink" target="rightframe">OPERATION_SET_OBJECT_REFERENCES</A>
+</nobr><br>
+<!-- Field OPERATION_SKIP -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SKIP" class="hiddenlink" target="rightframe">OPERATION_SKIP</A>
+</nobr><br>
+<!-- Field OPERATION_TERMINATE_OPEN_CAPTURE -->
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_TERMINATE_OPEN_CAPTURE" class="hiddenlink" target="rightframe">OPERATION_TERMINATE_OPEN_CAPTURE</A>
+</nobr><br>
+<!-- Class Optional -->
+<A HREF="pkg_java.util.html#Optional" class="hiddenlink" target="rightframe"><b>Optional</b></A><br>
+<!-- Class OptionalDouble -->
+<A HREF="pkg_java.util.html#OptionalDouble" class="hiddenlink" target="rightframe"><b>OptionalDouble</b></A><br>
+<!-- Class OptionalInt -->
+<A HREF="pkg_java.util.html#OptionalInt" class="hiddenlink" target="rightframe"><b>OptionalInt</b></A><br>
+<!-- Class OptionalLong -->
+<A HREF="pkg_java.util.html#OptionalLong" class="hiddenlink" target="rightframe"><b>OptionalLong</b></A><br>
+<!-- Class Outline -->
+<A HREF="android.graphics.Outline.html" class="hiddenlink" target="rightframe">Outline</A><br>
+<!-- Class OutputConfiguration -->
+<A HREF="pkg_android.hardware.camera2.params.html#OutputConfiguration" class="hiddenlink" target="rightframe"><b>OutputConfiguration</b></A><br>
+<!-- Class Package -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.lang.Package.html" class="hiddenlink" target="rightframe">Package</A><br>
+<!-- Class PackageInstaller.Session -->
+<A HREF="android.content.pm.PackageInstaller.Session.html" class="hiddenlink" target="rightframe">PackageInstaller.Session</A><br>
+<!-- Class PackageInstaller.SessionParams -->
+<A HREF="android.content.pm.PackageInstaller.SessionParams.html" class="hiddenlink" target="rightframe">PackageInstaller.SessionParams</A><br>
+<!-- Class PackageManager -->
+<A HREF="android.content.pm.PackageManager.html" class="hiddenlink" target="rightframe">PackageManager</A><br>
+<!-- Class Paint -->
+<A HREF="android.graphics.Paint.html" class="hiddenlink" target="rightframe">Paint</A><br>
+<!-- Method parallelPrefix -->
+<i>parallelPrefix</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(T[], int, int, java.util.function.BinaryOperator<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int, BinaryOperator&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelPrefix -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(T[], java.util.function.BinaryOperator<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], BinaryOperator&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelPrefix -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(double[], int, int, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], int, int, DoubleBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelPrefix -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(double[], java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], DoubleBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelPrefix -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(int[], int, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], int, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelPrefix -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(int[], java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelPrefix -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(long[], int, int, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], int, int, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelPrefix -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(long[], java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSetAll -->
+<i>parallelSetAll</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSetAll_added(T[], java.util.function.IntFunction<? extends T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], IntFunction&lt;? extends T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSetAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSetAll_added(double[], java.util.function.IntToDoubleFunction)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], IntToDoubleFunction</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSetAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSetAll_added(int[], java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSetAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSetAll_added(long[], java.util.function.IntToLongFunction)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], IntToLongFunction</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+<i>parallelSort</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(T[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(T[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(T[], int, int, java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int, Comparator&lt;? super T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(T[], java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], Comparator&lt;? super T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(byte[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>byte[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(byte[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>byte[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(double[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(double[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(float[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(float[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(int[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(int[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(long[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(long[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(short[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>short[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelSort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(short[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>short[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method parallelStream -->
+<nobr><A HREF="java.util.Collection.html#java.util.Collection.parallelStream_added()" class="hiddenlink" target="rightframe"><b>parallelStream</b>
+()</A></nobr><br>
+<!-- Class Pattern -->
+<A HREF="java.util.regex.Pattern.html" class="hiddenlink" target="rightframe">Pattern</A><br>
+<!-- Class Patterns -->
+<A HREF="android.util.Patterns.html" class="hiddenlink" target="rightframe">Patterns</A><br>
+<!-- Method pause -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.pause_added()" class="hiddenlink" target="rightframe"><b>pause</b>
+()</A></nobr><br>
+<!-- Method penaltyDeathOnFileUriExposure -->
+<nobr><A HREF="android.os.StrictMode.VmPolicy.Builder.html#android.os.StrictMode.VmPolicy.Builder.penaltyDeathOnFileUriExposure_added()" class="hiddenlink" target="rightframe"><b>penaltyDeathOnFileUriExposure</b>
+()</A></nobr><br>
+<!-- Class PerformanceTestCase -->
+<A HREF="android.test.PerformanceTestCase.html" class="hiddenlink" target="rightframe"><i>PerformanceTestCase</i></A><br>
+<!-- Method performContextClick -->
+<nobr><A HREF="android.view.View.html#android.view.View.performContextClick_added(float, float)" class="hiddenlink" target="rightframe"><b>performContextClick</b>
+(<code>float, float</code>)</A></nobr><br>
+<!-- Method performLongClick -->
+<nobr><A HREF="android.view.View.html#android.view.View.performLongClick_added(float, float)" class="hiddenlink" target="rightframe"><b>performLongClick</b>
+(<code>float, float</code>)</A></nobr><br>
+<!-- Class Permission -->
+<A HREF="java.security.acl.Permission.html" class="hiddenlink" target="rightframe"><i>Permission</i></A><br>
+<!-- Class PermissionInfo -->
+<A HREF="android.content.pm.PermissionInfo.html" class="hiddenlink" target="rightframe">PermissionInfo</A><br>
+<!-- Method persistStringSet -->
+<nobr><A HREF="android.preference.Preference.html#android.preference.Preference.persistStringSet_added(java.util.Set<java.lang.String>)" class="hiddenlink" target="rightframe"><b>persistStringSet</b>
+(<code>Set&lt;String&gt;</code>)</A></nobr><br>
+<!-- Class PhoneAccount -->
+<A HREF="android.telecom.PhoneAccount.html" class="hiddenlink" target="rightframe">PhoneAccount</A><br>
+<!-- Class PhoneAccount.Builder -->
+<A HREF="android.telecom.PhoneAccount.Builder.html" class="hiddenlink" target="rightframe">PhoneAccount.Builder</A><br>
+<!-- Field PHONETIC_NAME_STYLE -->
+<i>PHONETIC_NAME_STYLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Organization.html#android.provider.ContactsContract.CommonDataKinds.Organization.PHONETIC_NAME_STYLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Organization</A>
+</nobr><br>
+<!-- Field PHONETIC_NAME_STYLE -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.StructuredName.html#android.provider.ContactsContract.CommonDataKinds.StructuredName.PHONETIC_NAME_STYLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.StructuredName</A>
+</nobr><br>
+<!-- Class PixelCopy -->
+<A HREF="pkg_android.view.html#PixelCopy" class="hiddenlink" target="rightframe"><b>PixelCopy</b></A><br>
+<!-- Class PixelCopy.OnPixelCopyFinishedListener -->
+<A HREF="pkg_android.view.html#PixelCopy.OnPixelCopyFinishedListener" class="hiddenlink" target="rightframe"><b><i>PixelCopy.OnPixelCopyFinishedListener</i></b></A><br>
+<!-- Class PixelXorXfermode -->
+<A HREF="pkg_android.graphics.html#PixelXorXfermode" class="hiddenlink" target="rightframe"><strike>PixelXorXfermode</strike></A><br>
+<!-- Class PKIXCertPathChecker -->
+<A HREF="java.security.cert.PKIXCertPathChecker.html" class="hiddenlink" target="rightframe">PKIXCertPathChecker</A><br>
+<!-- Class PKIXReason -->
+<A HREF="pkg_java.security.cert.html#PKIXReason" class="hiddenlink" target="rightframe"><b>PKIXReason</b></A><br>
+<!-- Class PKIXRevocationChecker -->
+<A HREF="pkg_java.security.cert.html#PKIXRevocationChecker" class="hiddenlink" target="rightframe"><b>PKIXRevocationChecker</b></A><br>
+<!-- Class PKIXRevocationChecker.Option -->
+<A HREF="pkg_java.security.cert.html#PKIXRevocationChecker.Option" class="hiddenlink" target="rightframe"><b>PKIXRevocationChecker.Option</b></A><br>
+<!-- Class PlaybackState -->
+<A HREF="android.media.session.PlaybackState.html" class="hiddenlink" target="rightframe">PlaybackState</A><br>
+<!-- Class PointerIcon -->
+<A HREF="pkg_android.view.html#PointerIcon" class="hiddenlink" target="rightframe"><b>PointerIcon</b></A><br>
+<!-- Field pointerIcon -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.pointerIcon" class="hiddenlink" target="rightframe">pointerIcon</A>
+</nobr><br>
+<!-- Field popupEnterTransition -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.popupEnterTransition" class="hiddenlink" target="rightframe">popupEnterTransition</A>
+</nobr><br>
+<!-- Field popupExitTransition -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.popupExitTransition" class="hiddenlink" target="rightframe">popupExitTransition</A>
+</nobr><br>
+<!-- Class PopupWindow -->
+<A HREF="android.widget.PopupWindow.html" class="hiddenlink" target="rightframe">PopupWindow</A><br>
+<!-- Field POST_DIAL_DIGITS -->
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.POST_DIAL_DIGITS" class="hiddenlink" target="rightframe">POST_DIAL_DIGITS</A>
+</nobr><br>
+<!-- Class PowerManager -->
+<A HREF="android.os.PowerManager.html" class="hiddenlink" target="rightframe">PowerManager</A><br>
+<!-- Class Preference -->
+<A HREF="android.preference.Preference.html" class="hiddenlink" target="rightframe">Preference</A><br>
+<!-- Class PreferenceChangeEvent -->
+<A HREF="java.util.prefs.PreferenceChangeEvent.html" class="hiddenlink" target="rightframe">PreferenceChangeEvent</A><br>
+<!-- Field preferenceFragmentStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.preferenceFragmentStyle" class="hiddenlink" target="rightframe">preferenceFragmentStyle</A>
+</nobr><br>
+<!-- Class PreferenceManager -->
+<A HREF="android.preference.PreferenceManager.html" class="hiddenlink" target="rightframe">PreferenceManager</A><br>
+<!-- Method prepare -->
+<nobr><A HREF="android.media.session.MediaController.TransportControls.html#android.media.session.MediaController.TransportControls.prepare_added()" class="hiddenlink" target="rightframe"><b>prepare</b>
+()</A></nobr><br>
+<!-- Method prepareFromMediaId -->
+<nobr><A HREF="android.media.session.MediaController.TransportControls.html#android.media.session.MediaController.TransportControls.prepareFromMediaId_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>prepareFromMediaId</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<!-- Method prepareFromSearch -->
+<nobr><A HREF="android.media.session.MediaController.TransportControls.html#android.media.session.MediaController.TransportControls.prepareFromSearch_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>prepareFromSearch</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<!-- Method prepareFromUri -->
+<nobr><A HREF="android.media.session.MediaController.TransportControls.html#android.media.session.MediaController.TransportControls.prepareFromUri_added(android.net.Uri, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>prepareFromUri</b>
+(<code>Uri, Bundle</code>)</A></nobr><br>
+<!-- Class PrimitiveIterator -->
+<A HREF="pkg_java.util.html#PrimitiveIterator" class="hiddenlink" target="rightframe"><b><i>PrimitiveIterator</i></b></A><br>
+<!-- Class PrimitiveIterator.OfDouble -->
+<A HREF="pkg_java.util.html#PrimitiveIterator.OfDouble" class="hiddenlink" target="rightframe"><b><i>PrimitiveIterator.OfDouble</i></b></A><br>
+<!-- Class PrimitiveIterator.OfInt -->
+<A HREF="pkg_java.util.html#PrimitiveIterator.OfInt" class="hiddenlink" target="rightframe"><b><i>PrimitiveIterator.OfInt</i></b></A><br>
+<!-- Class PrimitiveIterator.OfLong -->
+<A HREF="pkg_java.util.html#PrimitiveIterator.OfLong" class="hiddenlink" target="rightframe"><b><i>PrimitiveIterator.OfLong</i></b></A><br>
+<!-- Class PrinterDiscoverySession -->
+<A HREF="android.printservice.PrinterDiscoverySession.html" class="hiddenlink" target="rightframe">PrinterDiscoverySession</A><br>
+<!-- Class PrinterInfo.Builder -->
+<A HREF="android.print.PrinterInfo.Builder.html" class="hiddenlink" target="rightframe">PrinterInfo.Builder</A><br>
+<!-- Class PrintJob -->
+<A HREF="android.printservice.PrintJob.html" class="hiddenlink" target="rightframe">PrintJob</A><br>
+<!-- Class PriorityBlockingQueue -->
+<A HREF="java.util.concurrent.PriorityBlockingQueue.html" class="hiddenlink" target="rightframe">PriorityBlockingQueue</A><br>
+<!-- Class PriorityQueue -->
+<i>PriorityQueue</i><br>
+&nbsp;&nbsp;<A HREF="java.util.PriorityQueue.html" class="hiddenlink" target="rightframe">java.util</A><br>
+<!-- Constructor PriorityQueue -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.PriorityQueue.html#java.util.PriorityQueue.ctor_added(java.util.Comparator<? super E>)" class="hiddenlink" target="rightframe"><b>PriorityQueue</b>
+(<code>Comparator&lt;? super E&gt;</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Process -->
+<A HREF="android.os.Process.html" class="hiddenlink" target="rightframe">Process</A><br>
+<!-- Field PROGRESS_END -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_END" class="hiddenlink" target="rightframe">PROGRESS_END</A>
+</nobr><br>
+<!-- Field PROGRESS_INDETERMINATE_OFF -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_INDETERMINATE_OFF" class="hiddenlink" target="rightframe">PROGRESS_INDETERMINATE_OFF</A>
+</nobr><br>
+<!-- Field PROGRESS_INDETERMINATE_ON -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_INDETERMINATE_ON" class="hiddenlink" target="rightframe">PROGRESS_INDETERMINATE_ON</A>
+</nobr><br>
+<!-- Field PROGRESS_SECONDARY_END -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_SECONDARY_END" class="hiddenlink" target="rightframe">PROGRESS_SECONDARY_END</A>
+</nobr><br>
+<!-- Field PROGRESS_SECONDARY_START -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_SECONDARY_START" class="hiddenlink" target="rightframe">PROGRESS_SECONDARY_START</A>
+</nobr><br>
+<!-- Field PROGRESS_START -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_START" class="hiddenlink" target="rightframe">PROGRESS_START</A>
+</nobr><br>
+<!-- Field PROGRESS_VISIBILITY_OFF -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_VISIBILITY_OFF" class="hiddenlink" target="rightframe">PROGRESS_VISIBILITY_OFF</A>
+</nobr><br>
+<!-- Field PROGRESS_VISIBILITY_ON -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_VISIBILITY_ON" class="hiddenlink" target="rightframe">PROGRESS_VISIBILITY_ON</A>
+</nobr><br>
+<!-- Class ProgressBar -->
+<A HREF="android.widget.ProgressBar.html" class="hiddenlink" target="rightframe">ProgressBar</A><br>
+<!-- Field PROPERTY_ENTERPRISE_CALL -->
+<nobr><A HREF="android.telecom.Call.Details.html#android.telecom.Call.Details.PROPERTY_ENTERPRISE_CALL" class="hiddenlink" target="rightframe">PROPERTY_ENTERPRISE_CALL</A>
+</nobr><br>
+<!-- Field PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED" class="hiddenlink" target="rightframe">PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED</A>
+</nobr><br>
+<!-- Field PROTECTION_FLAG_SETUP -->
+<nobr><A HREF="android.content.pm.PermissionInfo.html#android.content.pm.PermissionInfo.PROTECTION_FLAG_SETUP" class="hiddenlink" target="rightframe">PROTECTION_FLAG_SETUP</A>
+</nobr><br>
+<!-- Class ProtocolFamily -->
+<A HREF="pkg_java.net.html#ProtocolFamily" class="hiddenlink" target="rightframe"><b><i>ProtocolFamily</i></b></A><br>
+<!-- Class Provider -->
+<A HREF="java.security.Provider.html" class="hiddenlink" target="rightframe">Provider</A><br>
+<!-- Method putIfAbsent -->
+<i>putIfAbsent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.putIfAbsent_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method putIfAbsent -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.putIfAbsent_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method queryDetailsForUidTag -->
+<A NAME="Q"></A>
+<br><font size="+2">Q</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.queryDetailsForUidTag_added(int, java.lang.String, long, long, int, int)" class="hiddenlink" target="rightframe"><b>queryDetailsForUidTag</b>
+(<code>int, String, long, long, int, int</code>)</A></nobr><br>
+<!-- Method quietlyComplete -->
+<nobr><A HREF="java.util.concurrent.ForkJoinTask.html#java.util.concurrent.ForkJoinTask.quietlyComplete_added()" class="hiddenlink" target="rightframe"><b>quietlyComplete</b>
+()</A></nobr><br>
+<!-- Field QUOTA_OCCUPIED -->
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.QUOTA_OCCUPIED" class="hiddenlink" target="rightframe">QUOTA_OCCUPIED</A>
+</nobr><br>
+<!-- Field QUOTA_TOTAL -->
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.QUOTA_TOTAL" class="hiddenlink" target="rightframe">QUOTA_TOTAL</A>
+</nobr><br>
+<!-- Field QUOTA_UNAVAILABLE -->
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.QUOTA_UNAVAILABLE" class="hiddenlink" target="rightframe">QUOTA_UNAVAILABLE</A>
+</nobr><br>
+<!-- Class R.attr -->
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.R.attr.html" class="hiddenlink" target="rightframe">R.attr</A><br>
+<!-- Class R.id -->
+<A HREF="android.R.id.html" class="hiddenlink" target="rightframe">R.id</A><br>
+<!-- Class R.style -->
+<A HREF="android.R.style.html" class="hiddenlink" target="rightframe">R.style</A><br>
+<!-- Class Random -->
+<A HREF="java.util.Random.html" class="hiddenlink" target="rightframe">Random</A><br>
+<!-- Field RAW_PRIVATE -->
+<nobr><A HREF="android.graphics.ImageFormat.html#android.graphics.ImageFormat.RAW_PRIVATE" class="hiddenlink" target="rightframe">RAW_PRIVATE</A>
+</nobr><br>
+<!-- Method readConfiguration -->
+<i>readConfiguration</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.readConfiguration_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.logging.LogManager
+</A></nobr><br>
+<!-- Method readConfiguration -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.readConfiguration_changed(java.io.InputStream)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>InputStream</code>)&nbsp;in&nbsp;java.util.logging.LogManager
+</A></nobr><br>
+<!-- Method readEvent -->
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.readEvent_added(android.os.CancellationSignal)" class="hiddenlink" target="rightframe"><b>readEvent</b>
+(<code>CancellationSignal</code>)</A></nobr><br>
+<!-- Method readFields -->
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.readFields_changed()" class="hiddenlink" target="rightframe">readFields
+()</A></nobr><br>
+<!-- Method readObject -->
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.readObject_changed()" class="hiddenlink" target="rightframe">readObject
+()</A></nobr><br>
+<!-- Method readObjectOverride -->
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.readObjectOverride_changed()" class="hiddenlink" target="rightframe">readObjectOverride
+()</A></nobr><br>
+<!-- Method reboot -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.reboot_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>reboot</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Field RECEIVE_OPTIONS_DEFAULT -->
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_DEFAULT" class="hiddenlink" target="rightframe">RECEIVE_OPTIONS_DEFAULT</A>
+</nobr><br>
+<!-- Field RECEIVE_OPTIONS_DROP -->
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_DROP" class="hiddenlink" target="rightframe">RECEIVE_OPTIONS_DROP</A>
+</nobr><br>
+<!-- Field RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE -->
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE" class="hiddenlink" target="rightframe">RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE</A>
+</nobr><br>
+<!-- Field RECORDING_ERROR_INSUFFICIENT_SPACE -->
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.RECORDING_ERROR_INSUFFICIENT_SPACE" class="hiddenlink" target="rightframe">RECORDING_ERROR_INSUFFICIENT_SPACE</A>
+</nobr><br>
+<!-- Field RECORDING_ERROR_RESOURCE_BUSY -->
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.RECORDING_ERROR_RESOURCE_BUSY" class="hiddenlink" target="rightframe">RECORDING_ERROR_RESOURCE_BUSY</A>
+</nobr><br>
+<!-- Field RECORDING_ERROR_UNKNOWN -->
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.RECORDING_ERROR_UNKNOWN" class="hiddenlink" target="rightframe">RECORDING_ERROR_UNKNOWN</A>
+</nobr><br>
+<!-- Method recoverBuilder -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.recoverBuilder_added(android.content.Context, android.app.Notification)" class="hiddenlink" target="rightframe"><b>recoverBuilder</b>
+(<code>Context, Notification</code>)</A></nobr><br>
+<!-- Method reduce -->
+<i>reduce</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.Script.html#android.renderscript.Script.reduce_added(int, android.renderscript.Allocation[], android.renderscript.Allocation, android.renderscript.Script.LaunchOptions)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Allocation[], Allocation, LaunchOptions</code>)</b>&nbsp;in&nbsp;android.renderscript.Script
+</A></nobr><br>
+<!-- Method reduce -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduce_added(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;? super K, ? super V, ? extends U&gt;, BiFunction&lt;? super U, ? super U, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method reduceEntries -->
+<i>reduceEntries</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntries_added(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;Entry&lt;K, V&gt;, ? extends U&gt;, BiFunction&lt;? super U, ? super U, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method reduceEntries -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntries_added(long, java.util.function.BiFunction<java.util.Map.Entry<K, V>, java.util.Map.Entry<K, V>, ? extends java.util.Map.Entry<K, V>>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;Entry&lt;K, V&gt;, Entry&lt;K, V&gt;, Entry&lt;K, V&gt;&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method reduceEntriesToDouble -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntriesToDouble_added(long, java.util.function.ToDoubleFunction<java.util.Map.Entry<K, V>>, double, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceEntriesToDouble</b>
+(<code>long, ToDoubleFunction&lt;Entry&lt;K, V&gt;&gt;, double, DoubleBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceEntriesToInt -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntriesToInt_added(long, java.util.function.ToIntFunction<java.util.Map.Entry<K, V>>, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceEntriesToInt</b>
+(<code>long, ToIntFunction&lt;Entry&lt;K, V&gt;&gt;, int, IntBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceEntriesToLong -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntriesToLong_added(long, java.util.function.ToLongFunction<java.util.Map.Entry<K, V>>, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceEntriesToLong</b>
+(<code>long, ToLongFunction&lt;Entry&lt;K, V&gt;&gt;, long, LongBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceKeys -->
+<i>reduceKeys</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeys_added(long, java.util.function.BiFunction<? super K, ? super K, ? extends K>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;? super K, ? super K, ? extends K&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method reduceKeys -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeys_added(long, java.util.function.Function<? super K, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;? super K, ? extends U&gt;, BiFunction&lt;? super U, ? super U, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method reduceKeysToDouble -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeysToDouble_added(long, java.util.function.ToDoubleFunction<? super K>, double, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceKeysToDouble</b>
+(<code>long, ToDoubleFunction&lt;? super K&gt;, double, DoubleBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceKeysToInt -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeysToInt_added(long, java.util.function.ToIntFunction<? super K>, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceKeysToInt</b>
+(<code>long, ToIntFunction&lt;? super K&gt;, int, IntBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceKeysToLong -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeysToLong_added(long, java.util.function.ToLongFunction<? super K>, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceKeysToLong</b>
+(<code>long, ToLongFunction&lt;? super K&gt;, long, LongBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceToDouble -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceToDouble_added(long, java.util.function.ToDoubleBiFunction<? super K, ? super V>, double, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceToDouble</b>
+(<code>long, ToDoubleBiFunction&lt;? super K, ? super V&gt;, double, DoubleBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceToInt -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceToInt_added(long, java.util.function.ToIntBiFunction<? super K, ? super V>, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceToInt</b>
+(<code>long, ToIntBiFunction&lt;? super K, ? super V&gt;, int, IntBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceToLong -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceToLong_added(long, java.util.function.ToLongBiFunction<? super K, ? super V>, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceToLong</b>
+(<code>long, ToLongBiFunction&lt;? super K, ? super V&gt;, long, LongBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceValues -->
+<i>reduceValues</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValues_added(long, java.util.function.Function<? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;? super V, ? extends U&gt;, BiFunction&lt;? super U, ? super U, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method reduceValues -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValues_added(long, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method reduceValuesToDouble -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValuesToDouble_added(long, java.util.function.ToDoubleFunction<? super V>, double, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceValuesToDouble</b>
+(<code>long, ToDoubleFunction&lt;? super V&gt;, double, DoubleBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceValuesToInt -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValuesToInt_added(long, java.util.function.ToIntFunction<? super V>, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceValuesToInt</b>
+(<code>long, ToIntFunction&lt;? super V&gt;, int, IntBinaryOperator</code>)</A></nobr><br>
+<!-- Method reduceValuesToLong -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValuesToLong_added(long, java.util.function.ToLongFunction<? super V>, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceValuesToLong</b>
+(<code>long, ToLongFunction&lt;? super V&gt;, long, LongBinaryOperator</code>)</A></nobr><br>
+<!-- Class ReferenceQueue -->
+<A HREF="java.lang.ref.ReferenceQueue.html" class="hiddenlink" target="rightframe">ReferenceQueue</A><br>
+<!-- Method registerAsParallelCapable -->
+<nobr><A HREF="java.lang.ClassLoader.html#java.lang.ClassLoader.registerAsParallelCapable_added()" class="hiddenlink" target="rightframe"><b>registerAsParallelCapable</b>
+()</A></nobr><br>
+<!-- Method registerAudioRecordingCallback -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.registerAudioRecordingCallback_added(android.media.AudioManager.AudioRecordingCallback, android.os.Handler)" class="hiddenlink" target="rightframe"><b>registerAudioRecordingCallback</b>
+(<code>AudioRecordingCallback, Handler</code>)</A></nobr><br>
+<!-- Method registerDefaultNetworkCallback -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.registerDefaultNetworkCallback_added(android.net.ConnectivityManager.NetworkCallback)" class="hiddenlink" target="rightframe"><b>registerDefaultNetworkCallback</b>
+(<code>NetworkCallback</code>)</A></nobr><br>
+<!-- Method registerDynamicSensorCallback -->
+<i>registerDynamicSensorCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.registerDynamicSensorCallback_added(android.hardware.SensorManager.DynamicSensorCallback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DynamicSensorCallback</code>)</b>&nbsp;in&nbsp;android.hardware.SensorManager
+</A></nobr><br>
+<!-- Method registerDynamicSensorCallback -->
+&nbsp;&nbsp;<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.registerDynamicSensorCallback_added(android.hardware.SensorManager.DynamicSensorCallback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DynamicSensorCallback, Handler</code>)</b>&nbsp;in&nbsp;android.hardware.SensorManager
+</A></nobr><br>
+<!-- Method registerGnssMeasurementsCallback -->
+<i>registerGnssMeasurementsCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssMeasurementsCallback_added(android.location.GnssMeasurementsEvent.Callback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method registerGnssMeasurementsCallback -->
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssMeasurementsCallback_added(android.location.GnssMeasurementsEvent.Callback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback, Handler</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method registerGnssNavigationMessageCallback -->
+<i>registerGnssNavigationMessageCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssNavigationMessageCallback_added(android.location.GnssNavigationMessage.Callback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method registerGnssNavigationMessageCallback -->
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssNavigationMessageCallback_added(android.location.GnssNavigationMessage.Callback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback, Handler</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method registerGnssStatusCallback -->
+<i>registerGnssStatusCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssStatusCallback_added(android.location.GnssStatus.Callback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method registerGnssStatusCallback -->
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssStatusCallback_added(android.location.GnssStatus.Callback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback, Handler</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method registerUsageCallback -->
+<i>registerUsageCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String, long, UsageCallback</code>)</b>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<!-- Method registerUsageCallback -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String, long, UsageCallback, Handler</code>)</b>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<!-- Field REJECTED_TYPE -->
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.REJECTED_TYPE" class="hiddenlink" target="rightframe">REJECTED_TYPE</A>
+</nobr><br>
+<!-- Method release -->
+<i>release</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContentProviderClient.html#android.content.ContentProviderClient.release_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.content.ContentProviderClient
+</A></nobr><br>
+<!-- Method release -->
+&nbsp;&nbsp;<nobr><A HREF="android.drm.DrmManagerClient.html#android.drm.DrmManagerClient.release_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.drm.DrmManagerClient
+</A></nobr><br>
+<!-- Class RemoteConference -->
+<A HREF="android.telecom.RemoteConference.html" class="hiddenlink" target="rightframe">RemoteConference</A><br>
+<!-- Class RemoteViews -->
+<A HREF="android.widget.RemoteViews.html" class="hiddenlink" target="rightframe">RemoteViews</A><br>
+<!-- Method remove -->
+<i>remove</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.database.CursorJoiner.html#android.database.CursorJoiner.remove_removed()" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+()</strike>&nbsp;in&nbsp;android.database.CursorJoiner
+</A></nobr><br>
+<!-- Method remove -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.TextUtils.SimpleStringSplitter.html#android.text.TextUtils.SimpleStringSplitter.remove_removed()" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+()</strike>&nbsp;in&nbsp;android.text.TextUtils.SimpleStringSplitter
+</A></nobr><br>
+<!-- Method remove -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.ref.ReferenceQueue.html#java.lang.ref.ReferenceQueue.remove_changed(long)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>long</code>)&nbsp;in&nbsp;java.lang.ref.ReferenceQueue
+</A></nobr><br>
+<!-- Method remove -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.remove_added(java.lang.Object, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, Object</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method remove -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Iterator.html#java.util.Iterator.remove_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.Iterator
+</A></nobr><br>
+<!-- Method remove -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.remove_added(java.lang.Object, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, Object</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method remove -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Scanner.html#java.util.Scanner.remove_removed()" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+()</strike>&nbsp;in&nbsp;java.util.Scanner
+</A></nobr><br>
+<!-- Method removeAutomaticZenRule -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.removeAutomaticZenRule_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>removeAutomaticZenRule</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method removeDocument -->
+<i>removeDocument</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.removeDocument_added(android.content.ContentResolver, android.net.Uri, android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, Uri, Uri</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsContract
+</A></nobr><br>
+<!-- Method removeDocument -->
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.removeDocument_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsProvider
+</A></nobr><br>
+<!-- Method removeGpsStatusListener -->
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.removeGpsStatusListener_changed(android.location.GpsStatus.Listener)" class="hiddenlink" target="rightframe">removeGpsStatusListener
+(<code>Listener</code>)</A></nobr><br>
+<!-- Method removeHandler -->
+<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.removeHandler_changed(java.util.logging.Handler)" class="hiddenlink" target="rightframe">removeHandler
+(<code>Handler</code>)</A></nobr><br>
+<!-- Method removeIf -->
+<i>removeIf</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.removeIf_added(java.util.function.Predicate<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Predicate&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+<!-- Method removeIf -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Collection.html#java.util.Collection.removeIf_added(java.util.function.Predicate<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Predicate&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Collection
+</A></nobr><br>
+<!-- Method removeIf -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.removeIf_added(java.util.function.Predicate<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Predicate&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+<!-- Method removeIf -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.CopyOnWriteArraySet.html#java.util.concurrent.CopyOnWriteArraySet.removeIf_added(java.util.function.Predicate<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Predicate&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.CopyOnWriteArraySet
+</A></nobr><br>
+<!-- Method removeKeyPair -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.removeKeyPair_added(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe"><b>removeKeyPair</b>
+(<code>ComponentName, String</code>)</A></nobr><br>
+<!-- Method removeNmeaListener -->
+<i>removeNmeaListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.removeNmeaListener_added(android.location.OnNmeaMessageListener)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnNmeaMessageListener</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method removeNmeaListener -->
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.removeNmeaListener_changed(android.location.GpsStatus.NmeaListener)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>NmeaListener</code>)&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<!-- Method removeOnFrameMetricsAvailableListener -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.removeOnFrameMetricsAvailableListener_added(android.view.Window.OnFrameMetricsAvailableListener)" class="hiddenlink" target="rightframe"><b>removeOnFrameMetricsAvailableListener</b>
+(<code>OnFrameMetricsAvailableListener</code>)</A></nobr><br>
+<!-- Method removeOnRoutingChangedListener -->
+<i>removeOnRoutingChangedListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.removeOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnRoutingChangedListener</code>)</b>&nbsp;in&nbsp;android.media.AudioRecord
+</A></nobr><br>
+<!-- Method removeOnRoutingChangedListener -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.removeOnRoutingChangedListener_changed(android.media.AudioRecord.OnRoutingChangedListener)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>OnRoutingChangedListener</code>)&nbsp;in&nbsp;android.media.AudioRecord
+</A></nobr><br>
+<!-- Method removeOnRoutingChangedListener -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.removeOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnRoutingChangedListener</code>)</b>&nbsp;in&nbsp;android.media.AudioTrack
+</A></nobr><br>
+<!-- Method removeOnRoutingChangedListener -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.removeOnRoutingChangedListener_changed(android.media.AudioTrack.OnRoutingChangedListener)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>OnRoutingChangedListener</code>)&nbsp;in&nbsp;android.media.AudioTrack
+</A></nobr><br>
+<!-- Method removePropertyChangeListener -->
+<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.removePropertyChangeListener_changed(java.beans.PropertyChangeListener)" class="hiddenlink" target="rightframe">removePropertyChangeListener
+(<code>PropertyChangeListener</code>)</A></nobr><br>
+<!-- Method removeSplit -->
+<nobr><A HREF="android.content.pm.PackageInstaller.Session.html#android.content.pm.PackageInstaller.Session.removeSplit_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>removeSplit</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Class RenamingDelegatingContext -->
+<A HREF="android.test.RenamingDelegatingContext.html" class="hiddenlink" target="rightframe">RenamingDelegatingContext</A><br>
+<!-- Class Repeatable -->
+<A HREF="pkg_java.lang.annotation.html#Repeatable" class="hiddenlink" target="rightframe"><b>Repeatable</b></A><br>
+<!-- Method replace -->
+<i>replace</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.HashMap.html#java.util.HashMap.replace_added(K, V, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, V</code>)</b>&nbsp;in&nbsp;java.util.HashMap
+</A></nobr><br>
+<!-- Method replace -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.replace_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method replace -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.replace_added(K, V, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, V</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method replace -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.replace_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method replace -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.replace_added(K, V, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, V</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method replace -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeMap.html#java.util.TreeMap.replace_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.TreeMap
+</A></nobr><br>
+<!-- Method replace -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeMap.html#java.util.TreeMap.replace_added(K, V, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, V</code>)</b>&nbsp;in&nbsp;java.util.TreeMap
+</A></nobr><br>
+<!-- Method replaceAll -->
+<i>replaceAll</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.replaceAll_added(java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.HashMap.html#java.util.HashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.HashMap
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.IdentityHashMap.html#java.util.IdentityHashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.IdentityHashMap
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.List.html#java.util.List.replaceAll_added(java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.List
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeMap.html#java.util.TreeMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.TreeMap
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.replaceAll_added(java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.WeakHashMap.html#java.util.WeakHashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.WeakHashMap
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<!-- Method replaceAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<!-- Method requestBugreport -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.requestBugreport_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>requestBugreport</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method requestCancelDecode -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.requestCancelDecode_changed()" class="hiddenlink" target="rightframe">requestCancelDecode
+()</A></nobr><br>
+<!-- Method requestDragAndDropPermissions -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.requestDragAndDropPermissions_added(android.view.DragEvent)" class="hiddenlink" target="rightframe"><b>requestDragAndDropPermissions</b>
+(<code>DragEvent</code>)</A></nobr><br>
+<!-- Method requestRebind -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.requestRebind_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>requestRebind</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method requestShowKeyboardShortcuts -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.requestShowKeyboardShortcuts_added()" class="hiddenlink" target="rightframe"><b>requestShowKeyboardShortcuts</b>
+()</A></nobr><br>
+<!-- Method requestUnbind -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.requestUnbind_added()" class="hiddenlink" target="rightframe"><b>requestUnbind</b>
+()</A></nobr><br>
+<!-- Method requireNonNull -->
+<nobr><A HREF="java.util.Objects.html#java.util.Objects.requireNonNull_added(T, java.util.function.Supplier<java.lang.String>)" class="hiddenlink" target="rightframe"><b>requireNonNull</b>
+(<code>T, Supplier&lt;String&gt;</code>)</A></nobr><br>
+<!-- Method reset -->
+<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.reset_changed()" class="hiddenlink" target="rightframe">reset
+()</A></nobr><br>
+<!-- Field resizeableActivity -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.resizeableActivity" class="hiddenlink" target="rightframe">resizeableActivity</A>
+</nobr><br>
+<!-- Class ResourceBundle -->
+<A HREF="java.util.ResourceBundle.html" class="hiddenlink" target="rightframe">ResourceBundle</A><br>
+<!-- Class ResourceBundle.Control -->
+<A HREF="java.util.ResourceBundle.Control.html" class="hiddenlink" target="rightframe">ResourceBundle.Control</A><br>
+<!-- Class Resources.NotFoundException -->
+<i>Resources.NotFoundException</i><br>
+&nbsp;&nbsp;<A HREF="android.content.res.Resources.NotFoundException.html" class="hiddenlink" target="rightframe">android.content.res</A><br>
+<!-- Constructor Resources.NotFoundException -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.res.Resources.NotFoundException.html#android.content.res.Resources.NotFoundException.ctor_added(java.lang.String, java.lang.Exception)" class="hiddenlink" target="rightframe"><b>Resources.NotFoundException</b>
+(<code>String, Exception</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Method restoreAllState -->
+<i>restoreAllState</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.restoreAllState_added(android.os.Parcelable, android.app.FragmentManagerNonConfig)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcelable, FragmentManagerNonConfig</code>)</b>&nbsp;in&nbsp;android.app.FragmentController
+</A></nobr><br>
+<!-- Method restoreAllState -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.restoreAllState_changed(android.os.Parcelable, java.util.List<android.app.Fragment>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Parcelable, List&lt;Fragment&gt;</code>)&nbsp;in&nbsp;android.app.FragmentController
+</A></nobr><br>
+<!-- Field RESTRICT_BACKGROUND_STATUS_DISABLED -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_DISABLED" class="hiddenlink" target="rightframe">RESTRICT_BACKGROUND_STATUS_DISABLED</A>
+</nobr><br>
+<!-- Field RESTRICT_BACKGROUND_STATUS_ENABLED -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_ENABLED" class="hiddenlink" target="rightframe">RESTRICT_BACKGROUND_STATUS_ENABLED</A>
+</nobr><br>
+<!-- Field RESTRICT_BACKGROUND_STATUS_WHITELISTED -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_WHITELISTED" class="hiddenlink" target="rightframe">RESTRICT_BACKGROUND_STATUS_WHITELISTED</A>
+</nobr><br>
+<!-- Method resume -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.resume_added()" class="hiddenlink" target="rightframe"><b>resume</b>
+()</A></nobr><br>
+<!-- Method retainNestedNonConfig -->
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.retainNestedNonConfig_added()" class="hiddenlink" target="rightframe"><b>retainNestedNonConfig</b>
+()</A></nobr><br>
+<!-- Method retainNonConfig -->
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.retainNonConfig_changed()" class="hiddenlink" target="rightframe">retainNonConfig
+()</A></nobr><br>
+<!-- Method retrievePreRebootSecurityLogs -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.retrievePreRebootSecurityLogs_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>retrievePreRebootSecurityLogs</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method retrieveSecurityLogs -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.retrieveSecurityLogs_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>retrieveSecurityLogs</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method reversed -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.reversed_added()" class="hiddenlink" target="rightframe"><b>reversed</b>
+()</A></nobr><br>
+<!-- Method reverseOrder -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.reverseOrder_added()" class="hiddenlink" target="rightframe"><b>reverseOrder</b>
+()</A></nobr><br>
+<!-- Field ROAMING_ALL -->
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.ROAMING_ALL" class="hiddenlink" target="rightframe">ROAMING_ALL</A>
+</nobr><br>
+<!-- Field ROAMING_NO -->
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.ROAMING_NO" class="hiddenlink" target="rightframe">ROAMING_NO</A>
+</nobr><br>
+<!-- Field ROAMING_YES -->
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.ROAMING_YES" class="hiddenlink" target="rightframe">ROAMING_YES</A>
+</nobr><br>
+<!-- Class RowSetEvent -->
+<A HREF="javax.sql.RowSetEvent.html" class="hiddenlink" target="rightframe">RowSetEvent</A><br>
+<!-- Class RuntimeException -->
+<i>RuntimeException</i><br>
+&nbsp;&nbsp;<A HREF="java.lang.RuntimeException.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<!-- Constructor RuntimeException -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.RuntimeException.html#java.lang.RuntimeException.ctor_added(java.lang.String, java.lang.Throwable, boolean, boolean)" class="hiddenlink" target="rightframe"><b>RuntimeException</b>
+(<code>String, Throwable, boolean, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field SAMPLE_RATE_UNSPECIFIED -->
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.AudioFormat.html#android.media.AudioFormat.SAMPLE_RATE_UNSPECIFIED" class="hiddenlink" target="rightframe">SAMPLE_RATE_UNSPECIFIED</A>
+</nobr><br>
+<!-- Class Scanner -->
+<A HREF="java.util.Scanner.html" class="hiddenlink" target="rightframe">Scanner</A><br>
+<!-- Class Script -->
+<A HREF="android.renderscript.Script.html" class="hiddenlink" target="rightframe">Script</A><br>
+<!-- Method search -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.search_added(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>)" class="hiddenlink" target="rightframe"><b>search</b>
+(<code>long, BiFunction&lt;? super K, ? super V, ? extends U&gt;</code>)</A></nobr><br>
+<!-- Method searchEntries -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.searchEntries_added(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>)" class="hiddenlink" target="rightframe"><b>searchEntries</b>
+(<code>long, Function&lt;Entry&lt;K, V&gt;, ? extends U&gt;</code>)</A></nobr><br>
+<!-- Method searchKeys -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.searchKeys_added(long, java.util.function.Function<? super K, ? extends U>)" class="hiddenlink" target="rightframe"><b>searchKeys</b>
+(<code>long, Function&lt;? super K, ? extends U&gt;</code>)</A></nobr><br>
+<!-- Method searchValues -->
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.searchValues_added(long, java.util.function.Function<? super V, ? extends U>)" class="hiddenlink" target="rightframe"><b>searchValues</b>
+(<code>long, Function&lt;? super V, ? extends U&gt;</code>)</A></nobr><br>
+<!-- Class SecretKeySpec -->
+<A HREF="javax.crypto.spec.SecretKeySpec.html" class="hiddenlink" target="rightframe">SecretKeySpec</A><br>
+<!-- Class SecurityLog -->
+<A HREF="pkg_android.app.admin.html#SecurityLog" class="hiddenlink" target="rightframe"><b>SecurityLog</b></A><br>
+<!-- Class SecurityLog.SecurityEvent -->
+<A HREF="pkg_android.app.admin.html#SecurityLog.SecurityEvent" class="hiddenlink" target="rightframe"><b>SecurityLog.SecurityEvent</b></A><br>
+<!-- Class SeekableByteChannel -->
+<A HREF="pkg_java.nio.channels.html#SeekableByteChannel" class="hiddenlink" target="rightframe"><b><i>SeekableByteChannel</i></b></A><br>
+<!-- Class SelectorProvider -->
+<A HREF="java.nio.channels.spi.SelectorProvider.html" class="hiddenlink" target="rightframe">SelectorProvider</A><br>
+<!-- Method sendAppPrivateCommand -->
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.sendAppPrivateCommand_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>sendAppPrivateCommand</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<!-- Method sendObject -->
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.sendObject_added(int, long, android.os.ParcelFileDescriptor)" class="hiddenlink" target="rightframe"><b>sendObject</b>
+(<code>int, long, ParcelFileDescriptor</code>)</A></nobr><br>
+<!-- Method sendObjectInfo -->
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.sendObjectInfo_added(android.mtp.MtpObjectInfo)" class="hiddenlink" target="rightframe"><b>sendObjectInfo</b>
+(<code>MtpObjectInfo</code>)</A></nobr><br>
+<!-- Class Sensor -->
+<A HREF="android.hardware.Sensor.html" class="hiddenlink" target="rightframe">Sensor</A><br>
+<!-- Field SENSOR_DYNAMIC_BLACK_LEVEL -->
+<nobr><A HREF="android.hardware.camera2.CaptureResult.html#android.hardware.camera2.CaptureResult.SENSOR_DYNAMIC_BLACK_LEVEL" class="hiddenlink" target="rightframe">SENSOR_DYNAMIC_BLACK_LEVEL</A>
+</nobr><br>
+<!-- Field SENSOR_DYNAMIC_WHITE_LEVEL -->
+<nobr><A HREF="android.hardware.camera2.CaptureResult.html#android.hardware.camera2.CaptureResult.SENSOR_DYNAMIC_WHITE_LEVEL" class="hiddenlink" target="rightframe">SENSOR_DYNAMIC_WHITE_LEVEL</A>
+</nobr><br>
+<!-- Field SENSOR_OPTICAL_BLACK_REGIONS -->
+<nobr><A HREF="android.hardware.camera2.CameraCharacteristics.html#android.hardware.camera2.CameraCharacteristics.SENSOR_OPTICAL_BLACK_REGIONS" class="hiddenlink" target="rightframe">SENSOR_OPTICAL_BLACK_REGIONS</A>
+</nobr><br>
+<!-- Class SensorAdditionalInfo -->
+<A HREF="pkg_android.hardware.html#SensorAdditionalInfo" class="hiddenlink" target="rightframe"><b>SensorAdditionalInfo</b></A><br>
+<!-- Class SensorEventCallback -->
+<A HREF="pkg_android.hardware.html#SensorEventCallback" class="hiddenlink" target="rightframe"><b>SensorEventCallback</b></A><br>
+<!-- Class SensorManager -->
+<A HREF="android.hardware.SensorManager.html" class="hiddenlink" target="rightframe">SensorManager</A><br>
+<!-- Class SensorManager.DynamicSensorCallback -->
+<A HREF="pkg_android.hardware.html#SensorManager.DynamicSensorCallback" class="hiddenlink" target="rightframe"><b>SensorManager.DynamicSensorCallback</b></A><br>
+<!-- Class ServerSocketChannel -->
+<A HREF="java.nio.channels.ServerSocketChannel.html" class="hiddenlink" target="rightframe">ServerSocketChannel</A><br>
+<!-- Class Service -->
+<A HREF="android.app.Service.html" class="hiddenlink" target="rightframe">Service</A><br>
+<!-- Class ServiceInfo -->
+<A HREF="android.content.pm.ServiceInfo.html" class="hiddenlink" target="rightframe">ServiceInfo</A><br>
+<!-- Class ServiceTestCase -->
+<A HREF="android.test.ServiceTestCase.html" class="hiddenlink" target="rightframe">ServiceTestCase</A><br>
+<!-- Class ServiceWorkerClient -->
+<A HREF="pkg_android.webkit.html#ServiceWorkerClient" class="hiddenlink" target="rightframe"><b>ServiceWorkerClient</b></A><br>
+<!-- Class ServiceWorkerController -->
+<A HREF="pkg_android.webkit.html#ServiceWorkerController" class="hiddenlink" target="rightframe"><b>ServiceWorkerController</b></A><br>
+<!-- Class ServiceWorkerWebSettings -->
+<A HREF="pkg_android.webkit.html#ServiceWorkerWebSettings" class="hiddenlink" target="rightframe"><b>ServiceWorkerWebSettings</b></A><br>
+<!-- Method set -->
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.set_added(int, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>set</b>
+(<code>int, long, String, OnAlarmListener, Handler</code>)</A></nobr><br>
+<!-- Method setAccessible -->
+<i>setAccessible</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.setAccessible_changed(java.lang.reflect.AccessibleObject[], boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>AccessibleObject[], boolean</code>)&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+<!-- Method setAccessible -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.setAccessible_changed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>boolean</code>)&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+<!-- Method setActions -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setActions_added(android.app.Notification.Action...)" class="hiddenlink" target="rightframe"><b>setActions</b>
+()</A></nobr><br>
+<!-- Method setAlgorithmConstraints -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setAlgorithmConstraints_added(java.security.AlgorithmConstraints)" class="hiddenlink" target="rightframe"><b>setAlgorithmConstraints</b>
+(<code>AlgorithmConstraints</code>)</A></nobr><br>
+<!-- Method setAll -->
+<i>setAll</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.setAll_added(T[], java.util.function.IntFunction<? extends T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], IntFunction&lt;? extends T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method setAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.setAll_added(double[], java.util.function.IntToDoubleFunction)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], IntToDoubleFunction</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method setAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.setAll_added(int[], java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method setAll -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.setAll_added(long[], java.util.function.IntToLongFunction)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], IntToLongFunction</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method setAllowGeneratedReplies -->
+<nobr><A HREF="android.app.Notification.Action.Builder.html#android.app.Notification.Action.Builder.setAllowGeneratedReplies_added(boolean)" class="hiddenlink" target="rightframe"><b>setAllowGeneratedReplies</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAlwaysOnVpnPackage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setAlwaysOnVpnPackage_added(android.content.ComponentName, java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>setAlwaysOnVpnPackage</b>
+(<code>ComponentName, String, boolean</code>)</A></nobr><br>
+<!-- Method setApplicationRestrictionsManagingPackage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setApplicationRestrictionsManagingPackage_added(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe"><b>setApplicationRestrictionsManagingPackage</b>
+(<code>ComponentName, String</code>)</A></nobr><br>
+<!-- Method setAttestationChallenge -->
+<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html#android.security.keystore.KeyGenParameterSpec.Builder.setAttestationChallenge_added(byte[])" class="hiddenlink" target="rightframe"><b>setAttestationChallenge</b>
+(<code>byte[]</code>)</A></nobr><br>
+<!-- Method setBitmap -->
+<i>setBitmap</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setBitmap_added(android.graphics.Bitmap, android.graphics.Rect, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Bitmap, Rect, boolean</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<!-- Method setBitmap -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setBitmap_added(android.graphics.Bitmap, android.graphics.Rect, boolean, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Bitmap, Rect, boolean, int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<!-- Method setBufferSizeInFrames -->
+<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.setBufferSizeInFrames_added(int)" class="hiddenlink" target="rightframe"><b>setBufferSizeInFrames</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setCaCertificates -->
+<nobr><A HREF="android.net.wifi.WifiEnterpriseConfig.html#android.net.wifi.WifiEnterpriseConfig.setCaCertificates_added(java.security.cert.X509Certificate[])" class="hiddenlink" target="rightframe"><b>setCaCertificates</b>
+(<code>X509Certificate[]</code>)</A></nobr><br>
+<!-- Method setCalendarViewShown -->
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.setCalendarViewShown_changed(boolean)" class="hiddenlink" target="rightframe">setCalendarViewShown
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setChronometerCountDown -->
+<i>setChronometerCountDown</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setChronometerCountDown_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Notification.Builder
+</A></nobr><br>
+<!-- Method setChronometerCountDown -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setChronometerCountDown_added(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, boolean</code>)</b>&nbsp;in&nbsp;android.widget.RemoteViews
+</A></nobr><br>
+<!-- Method setContent -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setContent_changed(android.widget.RemoteViews)" class="hiddenlink" target="rightframe">setContent
+(<code>RemoteViews</code>)</A></nobr><br>
+<!-- Method setContentInfo -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setContentInfo_changed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">setContentInfo
+(<code>CharSequence</code>)</A></nobr><br>
+<!-- Method setContentInsetEndWithActions -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setContentInsetEndWithActions_added(int)" class="hiddenlink" target="rightframe"><b>setContentInsetEndWithActions</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setContentInsetStartWithNavigation -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setContentInsetStartWithNavigation_added(int)" class="hiddenlink" target="rightframe"><b>setContentInsetStartWithNavigation</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setCountDown -->
+<nobr><A HREF="android.widget.Chronometer.html#android.widget.Chronometer.setCountDown_added(boolean)" class="hiddenlink" target="rightframe"><b>setCountDown</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setCrossProfileContactsSearchDisabled -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setCrossProfileContactsSearchDisabled_added(android.content.ComponentName, boolean)" class="hiddenlink" target="rightframe"><b>setCrossProfileContactsSearchDisabled</b>
+(<code>ComponentName, boolean</code>)</A></nobr><br>
+<!-- Method setCustomBigContentView -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setCustomBigContentView_added(android.widget.RemoteViews)" class="hiddenlink" target="rightframe"><b>setCustomBigContentView</b>
+(<code>RemoteViews</code>)</A></nobr><br>
+<!-- Method setCustomContentView -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setCustomContentView_added(android.widget.RemoteViews)" class="hiddenlink" target="rightframe"><b>setCustomContentView</b>
+(<code>RemoteViews</code>)</A></nobr><br>
+<!-- Method setCustomHeadsUpContentView -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setCustomHeadsUpContentView_added(android.widget.RemoteViews)" class="hiddenlink" target="rightframe"><b>setCustomHeadsUpContentView</b>
+(<code>RemoteViews</code>)</A></nobr><br>
+<!-- Method setDataSource -->
+<i>setDataSource</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaExtractor.html#android.media.MediaExtractor.setDataSource_added(android.content.res.AssetFileDescriptor)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AssetFileDescriptor</code>)</b>&nbsp;in&nbsp;android.media.MediaExtractor
+</A></nobr><br>
+<!-- Method setDataSource -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setDataSource_added(android.content.res.AssetFileDescriptor)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AssetFileDescriptor</code>)</b>&nbsp;in&nbsp;android.media.MediaPlayer
+</A></nobr><br>
+<!-- Method setDecorCaptionShade -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.setDecorCaptionShade_added(int)" class="hiddenlink" target="rightframe"><b>setDecorCaptionShade</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setDefault -->
+<nobr><A HREF="java.util.Locale.html#java.util.Locale.setDefault_added(java.util.Locale.Category, java.util.Locale)" class="hiddenlink" target="rightframe"><b>setDefault</b>
+(<code>Category, Locale</code>)</A></nobr><br>
+<!-- Method setDefaultBrowserPackageName -->
+<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.setDefaultBrowserPackageName_removed(java.lang.String, int)" class="hiddenlink" target="rightframe"><strike>setDefaultBrowserPackageName</strike>
+(<code>String, int</code>)</A></nobr><br>
+<!-- Method setDeviceOwnerLockScreenInfo -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setDeviceOwnerLockScreenInfo_added(android.content.ComponentName, java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setDeviceOwnerLockScreenInfo</b>
+(<code>ComponentName, CharSequence</code>)</A></nobr><br>
+<!-- Method setDisabledActionModeMenuItems -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDisabledActionModeMenuItems_added(int)" class="hiddenlink" target="rightframe"><b>setDisabledActionModeMenuItems</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setDismissalId -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setDismissalId_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setDismissalId</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setDrawingOrder -->
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setDrawingOrder_added(int)" class="hiddenlink" target="rightframe"><b>setDrawingOrder</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setEncoding -->
+<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setEncoding_changed(java.lang.String)" class="hiddenlink" target="rightframe">setEncoding
+(<code>String</code>)</A></nobr><br>
+<!-- Method setEndpointIdentificationAlgorithm -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setEndpointIdentificationAlgorithm_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setEndpointIdentificationAlgorithm</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setExact -->
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.setExact_added(int, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>setExact</b>
+(<code>int, long, String, OnAlarmListener, Handler</code>)</A></nobr><br>
+<!-- Method setExtras -->
+<i>setExtras</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ClipDescription.html#android.content.ClipDescription.setExtras_added(android.os.PersistableBundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>PersistableBundle</code>)</b>&nbsp;in&nbsp;android.content.ClipDescription
+</A></nobr><br>
+<!-- Method setExtras -->
+&nbsp;&nbsp;<nobr><A HREF="android.telecom.PhoneAccount.Builder.html#android.telecom.PhoneAccount.Builder.setExtras_added(android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Bundle</code>)</b>&nbsp;in&nbsp;android.telecom.PhoneAccount.Builder
+</A></nobr><br>
+<!-- Method setFilter -->
+<i>setFilter</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setFilter_changed(java.util.logging.Filter)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Filter</code>)&nbsp;in&nbsp;java.util.logging.Handler
+</A></nobr><br>
+<!-- Method setFilter -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.setFilter_changed(java.util.logging.Filter)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Filter</code>)&nbsp;in&nbsp;java.util.logging.Logger
+</A></nobr><br>
+<!-- Method setForkJoinTaskTag -->
+<nobr><A HREF="java.util.concurrent.ForkJoinTask.html#java.util.concurrent.ForkJoinTask.setForkJoinTaskTag_added(short)" class="hiddenlink" target="rightframe"><b>setForkJoinTaskTag</b>
+(<code>short</code>)</A></nobr><br>
+<!-- Method setFormatter -->
+<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setFormatter_changed(java.util.logging.Formatter)" class="hiddenlink" target="rightframe">setFormatter
+(<code>Formatter</code>)</A></nobr><br>
+<!-- Method setGeolocationDatabasePath -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setGeolocationDatabasePath_changed(java.lang.String)" class="hiddenlink" target="rightframe">setGeolocationDatabasePath
+(<code>String</code>)</A></nobr><br>
+<!-- Method setHasCustomPrinterIcon -->
+<nobr><A HREF="android.print.PrinterInfo.Builder.html#android.print.PrinterInfo.Builder.setHasCustomPrinterIcon_added(boolean)" class="hiddenlink" target="rightframe"><b>setHasCustomPrinterIcon</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setHintAmbientBigPicture -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setHintAmbientBigPicture_added(boolean)" class="hiddenlink" target="rightframe"><b>setHintAmbientBigPicture</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setHintContentIntentLaunchesActivity -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setHintContentIntentLaunchesActivity_added(boolean)" class="hiddenlink" target="rightframe"><b>setHintContentIntentLaunchesActivity</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setHintLaunchesActivity -->
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.setHintLaunchesActivity_added(boolean)" class="hiddenlink" target="rightframe"><b>setHintLaunchesActivity</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setHttpOnly -->
+<nobr><A HREF="java.net.HttpCookie.html#java.net.HttpCookie.setHttpOnly_added(boolean)" class="hiddenlink" target="rightframe"><b>setHttpOnly</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setIconResourceId -->
+<nobr><A HREF="android.print.PrinterInfo.Builder.html#android.print.PrinterInfo.Builder.setIconResourceId_added(int)" class="hiddenlink" target="rightframe"><b>setIconResourceId</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setImeHintLocales -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setImeHintLocales_added(android.os.LocaleList)" class="hiddenlink" target="rightframe"><b>setImeHintLocales</b>
+(<code>LocaleList</code>)</A></nobr><br>
+<!-- Method setImportantForAccessibility -->
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setImportantForAccessibility_added(boolean)" class="hiddenlink" target="rightframe"><b>setImportantForAccessibility</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setInfoIntent -->
+<nobr><A HREF="android.print.PrinterInfo.Builder.html#android.print.PrinterInfo.Builder.setInfoIntent_added(android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>setInfoIntent</b>
+(<code>PendingIntent</code>)</A></nobr><br>
+<!-- Method setInvalidatedByBiometricEnrollment -->
+<i>setInvalidatedByBiometricEnrollment</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html#android.security.keystore.KeyGenParameterSpec.Builder.setInvalidatedByBiometricEnrollment_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.security.keystore.KeyGenParameterSpec.Builder
+</A></nobr><br>
+<!-- Method setInvalidatedByBiometricEnrollment -->
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyProtection.Builder.html#android.security.keystore.KeyProtection.Builder.setInvalidatedByBiometricEnrollment_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.security.keystore.KeyProtection.Builder
+</A></nobr><br>
+<!-- Method setLanguageTag -->
+<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.html#android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.setLanguageTag_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setLanguageTag</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setLaunchBounds -->
+<nobr><A HREF="android.app.ActivityOptions.html#android.app.ActivityOptions.setLaunchBounds_added(android.graphics.Rect)" class="hiddenlink" target="rightframe"><b>setLaunchBounds</b>
+(<code>Rect</code>)</A></nobr><br>
+<!-- Method setLevel -->
+<i>setLevel</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setLevel_changed(java.util.logging.Level)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Level</code>)&nbsp;in&nbsp;java.util.logging.Handler
+</A></nobr><br>
+<!-- Method setLevel -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.setLevel_changed(java.util.logging.Level)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Level</code>)&nbsp;in&nbsp;java.util.logging.Logger
+</A></nobr><br>
+<!-- Method setLocales -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.setLocales_added(android.os.LocaleList)" class="hiddenlink" target="rightframe"><b>setLocales</b>
+(<code>LocaleList</code>)</A></nobr><br>
+<!-- Method setLongSupportMessage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setLongSupportMessage_added(android.content.ComponentName, java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setLongSupportMessage</b>
+(<code>ComponentName, CharSequence</code>)</A></nobr><br>
+<!-- Method setNanos -->
+<nobr><A HREF="java.sql.Timestamp.html#java.sql.Timestamp.setNanos_changed(int)" class="hiddenlink" target="rightframe">setNanos
+(<code>int</code>)</A></nobr><br>
+<!-- Method setNumber -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setNumber_changed(int)" class="hiddenlink" target="rightframe">setNumber
+(<code>int</code>)</A></nobr><br>
+<!-- Method setOnDateSetListener -->
+<nobr><A HREF="android.app.DatePickerDialog.html#android.app.DatePickerDialog.setOnDateSetListener_added(android.app.DatePickerDialog.OnDateSetListener)" class="hiddenlink" target="rightframe"><b>setOnDateSetListener</b>
+(<code>OnDateSetListener</code>)</A></nobr><br>
+<!-- Method setOption -->
+<i>setOption</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.DatagramChannel.html#java.nio.channels.DatagramChannel.setOption_added(java.net.SocketOption<T>, T)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketOption&lt;T&gt;, T</code>)</b>&nbsp;in&nbsp;java.nio.channels.DatagramChannel
+</A></nobr><br>
+<!-- Method setOption -->
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.ServerSocketChannel.html#java.nio.channels.ServerSocketChannel.setOption_added(java.net.SocketOption<T>, T)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketOption&lt;T&gt;, T</code>)</b>&nbsp;in&nbsp;java.nio.channels.ServerSocketChannel
+</A></nobr><br>
+<!-- Method setOption -->
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.setOption_added(java.net.SocketOption<T>, T)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketOption&lt;T&gt;, T</code>)</b>&nbsp;in&nbsp;java.nio.channels.SocketChannel
+</A></nobr><br>
+<!-- Method setOrganizationColor -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setOrganizationColor_added(android.content.ComponentName, int)" class="hiddenlink" target="rightframe"><b>setOrganizationColor</b>
+(<code>ComponentName, int</code>)</A></nobr><br>
+<!-- Method setOrganizationName -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setOrganizationName_added(android.content.ComponentName, java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setOrganizationName</b>
+(<code>ComponentName, CharSequence</code>)</A></nobr><br>
+<!-- Method setOriginatingUid -->
+<nobr><A HREF="android.content.pm.PackageInstaller.SessionParams.html#android.content.pm.PackageInstaller.SessionParams.setOriginatingUid_added(int)" class="hiddenlink" target="rightframe"><b>setOriginatingUid</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setOutputStream -->
+<nobr><A HREF="java.util.logging.StreamHandler.html#java.util.logging.StreamHandler.setOutputStream_changed(java.io.OutputStream)" class="hiddenlink" target="rightframe">setOutputStream
+(<code>OutputStream</code>)</A></nobr><br>
+<!-- Method setOverrideGroupKey -->
+<nobr><A HREF="android.service.notification.StatusBarNotification.html#android.service.notification.StatusBarNotification.setOverrideGroupKey_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setOverrideGroupKey</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setPackagesSuspended -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setPackagesSuspended_added(android.content.ComponentName, java.lang.String[], boolean)" class="hiddenlink" target="rightframe"><b>setPackagesSuspended</b>
+(<code>ComponentName, String[], boolean</code>)</A></nobr><br>
+<!-- Method setPattern -->
+<nobr><A HREF="android.media.MediaCodec.CryptoInfo.html#android.media.MediaCodec.CryptoInfo.setPattern_added(android.media.MediaCodec.CryptoInfo.Pattern)" class="hiddenlink" target="rightframe"><b>setPattern</b>
+(<code>Pattern</code>)</A></nobr><br>
+<!-- Method setPeriodic -->
+<nobr><A HREF="android.app.job.JobInfo.Builder.html#android.app.job.JobInfo.Builder.setPeriodic_added(long, long)" class="hiddenlink" target="rightframe"><b>setPeriodic</b>
+(<code>long, long</code>)</A></nobr><br>
+<!-- Method setPointerIcon -->
+<nobr><A HREF="android.view.View.html#android.view.View.setPointerIcon_added(android.view.PointerIcon)" class="hiddenlink" target="rightframe"><b>setPointerIcon</b>
+(<code>PointerIcon</code>)</A></nobr><br>
+<!-- Method setProgress -->
+<i>setProgress</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.setProgress_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+<!-- Method setProgress -->
+&nbsp;&nbsp;<nobr><A HREF="android.printservice.PrintJob.html#android.printservice.PrintJob.setProgress_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;android.printservice.PrintJob
+</A></nobr><br>
+<!-- Method setProgress -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.ProgressBar.html#android.widget.ProgressBar.setProgress_added(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, boolean</code>)</b>&nbsp;in&nbsp;android.widget.ProgressBar
+</A></nobr><br>
+<!-- Method setProgressBarIndeterminate -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setProgressBarIndeterminate_changed(boolean)" class="hiddenlink" target="rightframe">setProgressBarIndeterminate
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setProgressBarIndeterminateVisibility -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setProgressBarIndeterminateVisibility_changed(boolean)" class="hiddenlink" target="rightframe">setProgressBarIndeterminateVisibility
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setProgressBarVisibility -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setProgressBarVisibility_changed(boolean)" class="hiddenlink" target="rightframe">setProgressBarVisibility
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setPushLevel -->
+<nobr><A HREF="java.util.logging.MemoryHandler.html#java.util.logging.MemoryHandler.setPushLevel_changed(java.util.logging.Level)" class="hiddenlink" target="rightframe">setPushLevel
+(<code>Level</code>)</A></nobr><br>
+<!-- Method setRemoteInputHistory -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setRemoteInputHistory_added(java.lang.CharSequence[])" class="hiddenlink" target="rightframe"><b>setRemoteInputHistory</b>
+(<code>CharSequence[]</code>)</A></nobr><br>
+<!-- Method setRequiresCharging -->
+<i>setRequiresCharging</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.DownloadManager.Request.html#android.app.DownloadManager.Request.setRequiresCharging_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.DownloadManager.Request
+</A></nobr><br>
+<!-- Method setRequiresCharging -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.SyncRequest.Builder.html#android.content.SyncRequest.Builder.setRequiresCharging_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.content.SyncRequest.Builder
+</A></nobr><br>
+<!-- Method setRequiresDeviceIdle -->
+<nobr><A HREF="android.app.DownloadManager.Request.html#android.app.DownloadManager.Request.setRequiresDeviceIdle_added(boolean)" class="hiddenlink" target="rightframe"><b>setRequiresDeviceIdle</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setResizingCaptionDrawable -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.setResizingCaptionDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>setResizingCaptionDrawable</b>
+(<code>Drawable</code>)</A></nobr><br>
+<!-- Method setResource -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setResource_added(int, int)" class="hiddenlink" target="rightframe"><b>setResource</b>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method setRestrictedCaptionAreaListener -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.setRestrictedCaptionAreaListener_added(android.view.Window.OnRestrictedCaptionAreaChangedListener)" class="hiddenlink" target="rightframe"><b>setRestrictedCaptionAreaListener</b>
+(<code>OnRestrictedCaptionAreaChangedListener</code>)</A></nobr><br>
+<!-- Method setSecondaryProgress -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setSecondaryProgress_changed(int)" class="hiddenlink" target="rightframe">setSecondaryProgress
+(<code>int</code>)</A></nobr><br>
+<!-- Method setSecurityLoggingEnabled -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setSecurityLoggingEnabled_added(android.content.ComponentName, boolean)" class="hiddenlink" target="rightframe"><b>setSecurityLoggingEnabled</b>
+(<code>ComponentName, boolean</code>)</A></nobr><br>
+<!-- Method setServerNames -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setServerNames_added(java.util.List<javax.net.ssl.SNIServerName>)" class="hiddenlink" target="rightframe"><b>setServerNames</b>
+(<code>List&lt;SNIServerName&gt;</code>)</A></nobr><br>
+<!-- Method setShortSupportMessage -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setShortSupportMessage_added(android.content.ComponentName, java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setShortSupportMessage</b>
+(<code>ComponentName, CharSequence</code>)</A></nobr><br>
+<!-- Method setShowWeekNumber -->
+<nobr><A HREF="android.widget.CalendarView.html#android.widget.CalendarView.setShowWeekNumber_changed(boolean)" class="hiddenlink" target="rightframe">setShowWeekNumber
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setSNIMatchers -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setSNIMatchers_added(java.util.Collection<javax.net.ssl.SNIMatcher>)" class="hiddenlink" target="rightframe"><b>setSNIMatchers</b>
+(<code>Collection&lt;SNIMatcher&gt;</code>)</A></nobr><br>
+<!-- Method setSpinnersShown -->
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.setSpinnersShown_changed(boolean)" class="hiddenlink" target="rightframe">setSpinnersShown
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setSSLParameters -->
+<nobr><A HREF="javax.net.ssl.SSLServerSocket.html#javax.net.ssl.SSLServerSocket.setSSLParameters_added(javax.net.ssl.SSLParameters)" class="hiddenlink" target="rightframe"><b>setSSLParameters</b>
+(<code>SSLParameters</code>)</A></nobr><br>
+<!-- Method setStatus -->
+<i>setStatus</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.printservice.PrintJob.html#android.printservice.PrintJob.setStatus_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.printservice.PrintJob
+</A></nobr><br>
+<!-- Method setStatus -->
+&nbsp;&nbsp;<nobr><A HREF="android.printservice.PrintJob.html#android.printservice.PrintJob.setStatus_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence</code>)</b>&nbsp;in&nbsp;android.printservice.PrintJob
+</A></nobr><br>
+<!-- Method setStorageDefault -->
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.setStorageDefault_added()" class="hiddenlink" target="rightframe"><b>setStorageDefault</b>
+()</A></nobr><br>
+<!-- Method setStorageDeviceProtected -->
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.setStorageDeviceProtected_added()" class="hiddenlink" target="rightframe"><b>setStorageDeviceProtected</b>
+()</A></nobr><br>
+<!-- Method setStream -->
+<i>setStream</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setStream_added(java.io.InputStream, android.graphics.Rect, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>InputStream, Rect, boolean</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<!-- Method setStream -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setStream_added(java.io.InputStream, android.graphics.Rect, boolean, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>InputStream, Rect, boolean, int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<!-- Method setSustainedPerformanceMode -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.setSustainedPerformanceMode_added(boolean)" class="hiddenlink" target="rightframe"><b>setSustainedPerformanceMode</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setTextLocales -->
+<i>setTextLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.setTextLocales_added(android.os.LocaleList)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>LocaleList</code>)</b>&nbsp;in&nbsp;android.graphics.Paint
+</A></nobr><br>
+<!-- Method setTextLocales -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setTextLocales_added(android.os.LocaleList)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>LocaleList</code>)</b>&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<!-- Method setTickMark -->
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.setTickMark_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>setTickMark</b>
+(<code>Drawable</code>)</A></nobr><br>
+<!-- Method setTickMarkTintList -->
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.setTickMarkTintList_added(android.content.res.ColorStateList)" class="hiddenlink" target="rightframe"><b>setTickMarkTintList</b>
+(<code>ColorStateList</code>)</A></nobr><br>
+<!-- Method setTickMarkTintMode -->
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.setTickMarkTintMode_added(android.graphics.PorterDuff.Mode)" class="hiddenlink" target="rightframe"><b>setTickMarkTintMode</b>
+(<code>Mode</code>)</A></nobr><br>
+<!-- Class Settings -->
+<A HREF="android.provider.Settings.html" class="hiddenlink" target="rightframe">Settings</A><br>
+<!-- Class Settings.Global -->
+<A HREF="android.provider.Settings.Global.html" class="hiddenlink" target="rightframe">Settings.Global</A><br>
+<!-- Class Settings.Secure -->
+<A HREF="android.provider.Settings.Secure.html" class="hiddenlink" target="rightframe">Settings.Secure</A><br>
+<!-- Class Settings.System -->
+<A HREF="android.provider.Settings.System.html" class="hiddenlink" target="rightframe">Settings.System</A><br>
+<!-- Method setTitleMargin -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMargin_added(int, int, int, int)" class="hiddenlink" target="rightframe"><b>setTitleMargin</b>
+(<code>int, int, int, int</code>)</A></nobr><br>
+<!-- Method setTitleMarginBottom -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMarginBottom_added(int)" class="hiddenlink" target="rightframe"><b>setTitleMarginBottom</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setTitleMarginEnd -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMarginEnd_added(int)" class="hiddenlink" target="rightframe"><b>setTitleMarginEnd</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setTitleMarginStart -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMarginStart_added(int)" class="hiddenlink" target="rightframe"><b>setTitleMarginStart</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setTitleMarginTop -->
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMarginTop_added(int)" class="hiddenlink" target="rightframe"><b>setTitleMarginTop</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setTriggerContentMaxDelay -->
+<nobr><A HREF="android.app.job.JobInfo.Builder.html#android.app.job.JobInfo.Builder.setTriggerContentMaxDelay_added(long)" class="hiddenlink" target="rightframe"><b>setTriggerContentMaxDelay</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Method setTriggerContentUpdateDelay -->
+<nobr><A HREF="android.app.job.JobInfo.Builder.html#android.app.job.JobInfo.Builder.setTriggerContentUpdateDelay_added(long)" class="hiddenlink" target="rightframe"><b>setTriggerContentUpdateDelay</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Method setUseCipherSuitesOrder -->
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setUseCipherSuitesOrder_added(boolean)" class="hiddenlink" target="rightframe"><b>setUseCipherSuitesOrder</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setUserAuthenticationValidWhileOnBody -->
+<i>setUserAuthenticationValidWhileOnBody</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html#android.security.keystore.KeyGenParameterSpec.Builder.setUserAuthenticationValidWhileOnBody_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.security.keystore.KeyGenParameterSpec.Builder
+</A></nobr><br>
+<!-- Method setUserAuthenticationValidWhileOnBody -->
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyProtection.Builder.html#android.security.keystore.KeyProtection.Builder.setUserAuthenticationValidWhileOnBody_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.security.keystore.KeyProtection.Builder
+</A></nobr><br>
+<!-- Method setVideoActiveFormatDescription -->
+<nobr><A HREF="android.media.tv.TvTrackInfo.Builder.html#android.media.tv.TvTrackInfo.Builder.setVideoActiveFormatDescription_added(byte)" class="hiddenlink" target="rightframe"><b>setVideoActiveFormatDescription</b>
+(<code>byte</code>)</A></nobr><br>
+<!-- Method setVrModeEnabled -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setVrModeEnabled_added(boolean, android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>setVrModeEnabled</b>
+(<code>boolean, ComponentName</code>)</A></nobr><br>
+<!-- Method setWeekDate -->
+<nobr><A HREF="java.util.Calendar.html#java.util.Calendar.setWeekDate_added(int, int, int)" class="hiddenlink" target="rightframe"><b>setWeekDate</b>
+(<code>int, int, int</code>)</A></nobr><br>
+<!-- Method setWindow -->
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.setWindow_added(int, long, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>setWindow</b>
+(<code>int, long, long, String, OnAlarmListener, Handler</code>)</A></nobr><br>
+<!-- Method setZOrderMediaOverlay -->
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.setZOrderMediaOverlay_added(boolean)" class="hiddenlink" target="rightframe"><b>setZOrderMediaOverlay</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setZOrderOnTop -->
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.setZOrderOnTop_added(boolean)" class="hiddenlink" target="rightframe"><b>setZOrderOnTop</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method shape -->
+<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.shape_added(char[], int, int, java.awt.font.NumericShaper.Range)" class="hiddenlink" target="rightframe"><b>shape</b>
+(<code>char[], int, int, Range</code>)</A></nobr><br>
+<!-- Class Short -->
+<A HREF="java.lang.Short.html" class="hiddenlink" target="rightframe">Short</A><br>
+<!-- Method shouldOverrideUrlLoading -->
+<i>shouldOverrideUrlLoading</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.shouldOverrideUrlLoading_added(android.webkit.WebView, android.webkit.WebResourceRequest)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>WebView, WebResourceRequest</code>)</b>&nbsp;in&nbsp;android.webkit.WebViewClient
+</A></nobr><br>
+<!-- Method shouldOverrideUrlLoading -->
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.shouldOverrideUrlLoading_changed(android.webkit.WebView, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>WebView, String</code>)&nbsp;in&nbsp;android.webkit.WebViewClient
+</A></nobr><br>
+<!-- Field SHOW_MODE_AUTO -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.SHOW_MODE_AUTO" class="hiddenlink" target="rightframe">SHOW_MODE_AUTO</A>
+</nobr><br>
+<!-- Field SHOW_MODE_HIDDEN -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.SHOW_MODE_HIDDEN" class="hiddenlink" target="rightframe">SHOW_MODE_HIDDEN</A>
+</nobr><br>
+<!-- Field SHOW_SOURCE_ACTIVITY -->
+<nobr><A HREF="android.service.voice.VoiceInteractionSession.html#android.service.voice.VoiceInteractionSession.SHOW_SOURCE_ACTIVITY" class="hiddenlink" target="rightframe">SHOW_SOURCE_ACTIVITY</A>
+</nobr><br>
+<!-- Method showContextMenu -->
+<nobr><A HREF="android.view.View.html#android.view.View.showContextMenu_added(float, float)" class="hiddenlink" target="rightframe"><b>showContextMenu</b>
+(<code>float, float</code>)</A></nobr><br>
+<!-- Method showContextMenuForChild -->
+<i>showContextMenuForChild</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.showContextMenuForChild_added(android.view.View, float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, float, float</code>)</b>&nbsp;in&nbsp;android.view.ViewGroup
+</A></nobr><br>
+<!-- Method showContextMenuForChild -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewParent.html#android.view.ViewParent.showContextMenuForChild_added(android.view.View, float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, float, float</code>)</b>&nbsp;in&nbsp;android.view.ViewParent
+</A></nobr><br>
+<!-- Method shutdownInput -->
+<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.shutdownInput_added()" class="hiddenlink" target="rightframe"><b>shutdownInput</b>
+()</A></nobr><br>
+<!-- Method shutdownOutput -->
+<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.shutdownOutput_added()" class="hiddenlink" target="rightframe"><b>shutdownOutput</b>
+()</A></nobr><br>
+<!-- Class SingleLaunchActivityTestCase -->
+<A HREF="android.test.SingleLaunchActivityTestCase.html" class="hiddenlink" target="rightframe">SingleLaunchActivityTestCase</A><br>
+<!-- Field SKIP_SETUP_WIZARD -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.SKIP_SETUP_WIZARD" class="hiddenlink" target="rightframe">SKIP_SETUP_WIZARD</A>
+</nobr><br>
+<!-- Class SmallTest -->
+<A HREF="android.test.suitebuilder.annotation.SmallTest.html" class="hiddenlink" target="rightframe">SmallTest</A><br>
+<!-- Class Smoke -->
+<A HREF="android.test.suitebuilder.annotation.Smoke.html" class="hiddenlink" target="rightframe">Smoke</A><br>
+<!-- Field SMS_EMERGENCY_CB_RECEIVED_ACTION -->
+<nobr><A HREF="android.provider.Telephony.Sms.Intents.html#android.provider.Telephony.Sms.Intents.SMS_EMERGENCY_CB_RECEIVED_ACTION" class="hiddenlink" target="rightframe"><strike>SMS_EMERGENCY_CB_RECEIVED_ACTION</strike></A>
+</nobr><br>
+<!-- Class SNIHostName -->
+<A HREF="pkg_javax.net.ssl.html#SNIHostName" class="hiddenlink" target="rightframe"><b>SNIHostName</b></A><br>
+<!-- Class SNIMatcher -->
+<A HREF="pkg_javax.net.ssl.html#SNIMatcher" class="hiddenlink" target="rightframe"><b>SNIMatcher</b></A><br>
+<!-- Class SNIServerName -->
+<A HREF="pkg_javax.net.ssl.html#SNIServerName" class="hiddenlink" target="rightframe"><b>SNIServerName</b></A><br>
+<!-- Class SocketChannel -->
+<A HREF="java.nio.channels.SocketChannel.html" class="hiddenlink" target="rightframe">SocketChannel</A><br>
+<!-- Class SocketOption -->
+<A HREF="pkg_java.net.html#SocketOption" class="hiddenlink" target="rightframe"><b><i>SocketOption</i></b></A><br>
+<!-- Method sort -->
+<i>sort</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.sort_added(java.util.Comparator<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+<!-- Method sort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.List.html#java.util.List.sort_added(java.util.Comparator<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.List
+</A></nobr><br>
+<!-- Method sort -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.sort_added(java.util.Comparator<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+<!-- Class SortedMap -->
+<A HREF="java.util.SortedMap.html" class="hiddenlink" target="rightframe"><i>SortedMap</i></A><br>
+<!-- Class SpellCheckerSubtype -->
+<i>SpellCheckerSubtype</i><br>
+&nbsp;&nbsp;<A HREF="android.view.textservice.SpellCheckerSubtype.html" class="hiddenlink" target="rightframe">android.view.textservice</A><br>
+<!-- Constructor SpellCheckerSubtype -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.textservice.SpellCheckerSubtype.html#android.view.textservice.SpellCheckerSubtype.ctor_changed(int, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">SpellCheckerSubtype
+(<code>int, String, String</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Method splitAsStream -->
+<nobr><A HREF="java.util.regex.Pattern.html#java.util.regex.Pattern.splitAsStream_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>splitAsStream</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<!-- Class Spliterator -->
+<A HREF="pkg_java.util.html#Spliterator" class="hiddenlink" target="rightframe"><b><i>Spliterator</i></b></A><br>
+<!-- Method spliterator -->
+<i>spliterator</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Iterable.html#java.lang.Iterable.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.lang.Iterable
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayDeque.html#java.util.ArrayDeque.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.ArrayDeque
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(double[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(double[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(int[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(int[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(long[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(long[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(T[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(T[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.HashSet.html#java.util.HashSet.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.HashSet
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.LinkedList.html#java.util.LinkedList.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.LinkedList
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.PriorityQueue.html#java.util.PriorityQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.PriorityQueue
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeSet.html#java.util.TreeSet.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.TreeSet
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ArrayBlockingQueue.html#java.util.concurrent.ArrayBlockingQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ArrayBlockingQueue
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentLinkedDeque.html#java.util.concurrent.ConcurrentLinkedDeque.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentLinkedDeque
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentLinkedQueue.html#java.util.concurrent.ConcurrentLinkedQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentLinkedQueue
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListSet.html#java.util.concurrent.ConcurrentSkipListSet.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListSet
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.CopyOnWriteArraySet.html#java.util.concurrent.CopyOnWriteArraySet.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.CopyOnWriteArraySet
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.LinkedBlockingDeque.html#java.util.concurrent.LinkedBlockingDeque.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.LinkedBlockingDeque
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.LinkedBlockingQueue.html#java.util.concurrent.LinkedBlockingQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.LinkedBlockingQueue
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.LinkedTransferQueue.html#java.util.concurrent.LinkedTransferQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.LinkedTransferQueue
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.PriorityBlockingQueue.html#java.util.concurrent.PriorityBlockingQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.PriorityBlockingQueue
+</A></nobr><br>
+<!-- Method spliterator -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.SynchronousQueue.html#java.util.concurrent.SynchronousQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.SynchronousQueue
+</A></nobr><br>
+<!-- Class Spliterator.OfDouble -->
+<A HREF="pkg_java.util.html#Spliterator.OfDouble" class="hiddenlink" target="rightframe"><b><i>Spliterator.OfDouble</i></b></A><br>
+<!-- Class Spliterator.OfInt -->
+<A HREF="pkg_java.util.html#Spliterator.OfInt" class="hiddenlink" target="rightframe"><b><i>Spliterator.OfInt</i></b></A><br>
+<!-- Class Spliterator.OfLong -->
+<A HREF="pkg_java.util.html#Spliterator.OfLong" class="hiddenlink" target="rightframe"><b><i>Spliterator.OfLong</i></b></A><br>
+<!-- Class Spliterator.OfPrimitive -->
+<A HREF="pkg_java.util.html#Spliterator.OfPrimitive" class="hiddenlink" target="rightframe"><b><i>Spliterator.OfPrimitive</i></b></A><br>
+<!-- Class Spliterators -->
+<A HREF="pkg_java.util.html#Spliterators" class="hiddenlink" target="rightframe"><b>Spliterators</b></A><br>
+<!-- Class Spliterators.AbstractDoubleSpliterator -->
+<A HREF="pkg_java.util.html#Spliterators.AbstractDoubleSpliterator" class="hiddenlink" target="rightframe"><b>Spliterators.AbstractDoubleSpliterator</b></A><br>
+<!-- Class Spliterators.AbstractIntSpliterator -->
+<A HREF="pkg_java.util.html#Spliterators.AbstractIntSpliterator" class="hiddenlink" target="rightframe"><b>Spliterators.AbstractIntSpliterator</b></A><br>
+<!-- Class Spliterators.AbstractLongSpliterator -->
+<A HREF="pkg_java.util.html#Spliterators.AbstractLongSpliterator" class="hiddenlink" target="rightframe"><b>Spliterators.AbstractLongSpliterator</b></A><br>
+<!-- Class Spliterators.AbstractSpliterator -->
+<A HREF="pkg_java.util.html#Spliterators.AbstractSpliterator" class="hiddenlink" target="rightframe"><b>Spliterators.AbstractSpliterator</b></A><br>
+<!-- Class SplittableRandom -->
+<A HREF="pkg_java.util.html#SplittableRandom" class="hiddenlink" target="rightframe"><b>SplittableRandom</b></A><br>
+<!-- Class SQLException -->
+<A HREF="java.sql.SQLException.html" class="hiddenlink" target="rightframe">SQLException</A><br>
+<!-- Class SQLiteDatabase -->
+<A HREF="android.database.sqlite.SQLiteDatabase.html" class="hiddenlink" target="rightframe">SQLiteDatabase</A><br>
+<!-- Class SQLPermission -->
+<A HREF="java.sql.SQLPermission.html" class="hiddenlink" target="rightframe">SQLPermission</A><br>
+<!-- Class SQLWarning -->
+<A HREF="java.sql.SQLWarning.html" class="hiddenlink" target="rightframe">SQLWarning</A><br>
+<!-- Class SSLEngine -->
+<A HREF="javax.net.ssl.SSLEngine.html" class="hiddenlink" target="rightframe">SSLEngine</A><br>
+<!-- Class SSLParameters -->
+<A HREF="javax.net.ssl.SSLParameters.html" class="hiddenlink" target="rightframe">SSLParameters</A><br>
+<!-- Class SSLServerSocket -->
+<A HREF="javax.net.ssl.SSLServerSocket.html" class="hiddenlink" target="rightframe">SSLServerSocket</A><br>
+<!-- Class SSLSocket -->
+<A HREF="javax.net.ssl.SSLSocket.html" class="hiddenlink" target="rightframe">SSLSocket</A><br>
+<!-- Class StampedLock -->
+<A HREF="pkg_java.util.concurrent.locks.html#StampedLock" class="hiddenlink" target="rightframe"><b>StampedLock</b></A><br>
+<!-- Class StandardConstants -->
+<A HREF="pkg_javax.net.ssl.html#StandardConstants" class="hiddenlink" target="rightframe"><b>StandardConstants</b></A><br>
+<!-- Class StandardProtocolFamily -->
+<A HREF="pkg_java.net.html#StandardProtocolFamily" class="hiddenlink" target="rightframe"><b>StandardProtocolFamily</b></A><br>
+<!-- Class StandardSocketOptions -->
+<A HREF="pkg_java.net.html#StandardSocketOptions" class="hiddenlink" target="rightframe"><b>StandardSocketOptions</b></A><br>
+<!-- Method startDrag -->
+<nobr><A HREF="android.view.View.html#android.view.View.startDrag_changed(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)" class="hiddenlink" target="rightframe">startDrag
+(<code>ClipData, DragShadowBuilder, Object, int</code>)</A></nobr><br>
+<!-- Method startDragAndDrop -->
+<nobr><A HREF="android.view.View.html#android.view.View.startDragAndDrop_added(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)" class="hiddenlink" target="rightframe"><b>startDragAndDrop</b>
+(<code>ClipData, DragShadowBuilder, Object, int</code>)</A></nobr><br>
+<!-- Method startIntentSenderForResult -->
+<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.startIntentSenderForResult_added(android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>startIntentSenderForResult</b>
+(<code>IntentSender, int, Intent, int, int, int, Bundle</code>)</A></nobr><br>
+<!-- Method startLocalVoiceInteraction -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.startLocalVoiceInteraction_added(android.os.Bundle)" class="hiddenlink" target="rightframe"><b>startLocalVoiceInteraction</b>
+(<code>Bundle</code>)</A></nobr><br>
+<!-- Field startX -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.startX" class="hiddenlink" target="rightframe">startX</A>
+</nobr><br>
+<!-- Field startY -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.startY" class="hiddenlink" target="rightframe">startY</A>
+</nobr><br>
+<!-- Class StatusBarNotification -->
+<A HREF="android.service.notification.StatusBarNotification.html" class="hiddenlink" target="rightframe">StatusBarNotification</A><br>
+<!-- Field STOP_FOREGROUND_DETACH -->
+<nobr><A HREF="android.app.Service.html#android.app.Service.STOP_FOREGROUND_DETACH" class="hiddenlink" target="rightframe">STOP_FOREGROUND_DETACH</A>
+</nobr><br>
+<!-- Field STOP_FOREGROUND_REMOVE -->
+<nobr><A HREF="android.app.Service.html#android.app.Service.STOP_FOREGROUND_REMOVE" class="hiddenlink" target="rightframe">STOP_FOREGROUND_REMOVE</A>
+</nobr><br>
+<!-- Method stopForeground -->
+<nobr><A HREF="android.app.Service.html#android.app.Service.stopForeground_added(int)" class="hiddenlink" target="rightframe"><b>stopForeground</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method stopLocalVoiceInteraction -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.stopLocalVoiceInteraction_added()" class="hiddenlink" target="rightframe"><b>stopLocalVoiceInteraction</b>
+()</A></nobr><br>
+<!-- Class StorageManager -->
+<A HREF="android.os.storage.StorageManager.html" class="hiddenlink" target="rightframe">StorageManager</A><br>
+<!-- Class StorageVolume -->
+<A HREF="pkg_android.os.storage.html#StorageVolume" class="hiddenlink" target="rightframe"><b>StorageVolume</b></A><br>
+<!-- Method stream -->
+<i>stream</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(double[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(double[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(int[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(int[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(long[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(long[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(T[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(T[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.BitSet.html#java.util.BitSet.stream_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.BitSet
+</A></nobr><br>
+<!-- Method stream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Collection.html#java.util.Collection.stream_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Collection
+</A></nobr><br>
+<!-- Class StreamHandler -->
+<A HREF="java.util.logging.StreamHandler.html" class="hiddenlink" target="rightframe">StreamHandler</A><br>
+<!-- Class StrictMath -->
+<A HREF="java.lang.StrictMath.html" class="hiddenlink" target="rightframe">StrictMath</A><br>
+<!-- Class StrictMode.VmPolicy.Builder -->
+<A HREF="android.os.StrictMode.VmPolicy.Builder.html" class="hiddenlink" target="rightframe">StrictMode.VmPolicy.Builder</A><br>
+<!-- Field STRING_TYPE_HEART_BEAT -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.STRING_TYPE_HEART_BEAT" class="hiddenlink" target="rightframe">STRING_TYPE_HEART_BEAT</A>
+</nobr><br>
+<!-- Field STRING_TYPE_MOTION_DETECT -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.STRING_TYPE_MOTION_DETECT" class="hiddenlink" target="rightframe">STRING_TYPE_MOTION_DETECT</A>
+</nobr><br>
+<!-- Field STRING_TYPE_POSE_6DOF -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.STRING_TYPE_POSE_6DOF" class="hiddenlink" target="rightframe">STRING_TYPE_POSE_6DOF</A>
+</nobr><br>
+<!-- Field STRING_TYPE_STATIONARY_DETECT -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.STRING_TYPE_STATIONARY_DETECT" class="hiddenlink" target="rightframe">STRING_TYPE_STATIONARY_DETECT</A>
+</nobr><br>
+<!-- Class StringJoiner -->
+<A HREF="pkg_java.util.html#StringJoiner" class="hiddenlink" target="rightframe"><b>StringJoiner</b></A><br>
+<!-- Class Striped64 -->
+<A HREF="pkg_java.util.concurrent.atomic.html#Striped64" class="hiddenlink" target="rightframe"><b>Striped64</b></A><br>
+<!-- Field subMenuArrow -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.subMenuArrow" class="hiddenlink" target="rightframe">subMenuArrow</A>
+</nobr><br>
+<!-- Method subscribe -->
+<nobr><A HREF="android.media.browse.MediaBrowser.html#android.media.browse.MediaBrowser.subscribe_added(java.lang.String, android.os.Bundle, android.media.browse.MediaBrowser.SubscriptionCallback)" class="hiddenlink" target="rightframe"><b>subscribe</b>
+(<code>String, Bundle, SubscriptionCallback</code>)</A></nobr><br>
+<!-- Class SubscriptionManager -->
+<A HREF="android.telephony.SubscriptionManager.html" class="hiddenlink" target="rightframe">SubscriptionManager</A><br>
+<!-- Method subtractExact -->
+<i>subtractExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.subtractExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method subtractExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.subtractExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method subtractExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.subtractExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Method subtractExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.subtractExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Class SuggestionSpan -->
+<A HREF="android.text.style.SuggestionSpan.html" class="hiddenlink" target="rightframe">SuggestionSpan</A><br>
+<!-- Method sum -->
+<i>sum</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.sum_added(double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double, double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+<!-- Method sum -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.sum_added(float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float, float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+<!-- Method sum -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Integer.html#java.lang.Integer.sum_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Integer
+</A></nobr><br>
+<!-- Method sum -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Long.html#java.lang.Long.sum_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Long
+</A></nobr><br>
+<!-- Field supportsLocalInteraction -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.supportsLocalInteraction" class="hiddenlink" target="rightframe">supportsLocalInteraction</A>
+</nobr><br>
+<!-- Method supportsMultipleUsers -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.supportsMultipleUsers_added()" class="hiddenlink" target="rightframe"><b>supportsMultipleUsers</b>
+()</A></nobr><br>
+<!-- Field supportsPictureInPicture -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.supportsPictureInPicture" class="hiddenlink" target="rightframe">supportsPictureInPicture</A>
+</nobr><br>
+<!-- Class Suppress -->
+<A HREF="android.test.suitebuilder.annotation.Suppress.html" class="hiddenlink" target="rightframe">Suppress</A><br>
+<!-- Field SUPPRESSED_EFFECT_SCREEN_OFF -->
+<i>SUPPRESSED_EFFECT_SCREEN_OFF</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_OFF" class="hiddenlink" target="rightframe">android.app.NotificationManager.Policy</A>
+</nobr><br>
+<!-- Field SUPPRESSED_EFFECT_SCREEN_OFF -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.SUPPRESSED_EFFECT_SCREEN_OFF" class="hiddenlink" target="rightframe">android.service.notification.NotificationListenerService</A>
+</nobr><br>
+<!-- Field SUPPRESSED_EFFECT_SCREEN_ON -->
+<i>SUPPRESSED_EFFECT_SCREEN_ON</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON" class="hiddenlink" target="rightframe">android.app.NotificationManager.Policy</A>
+</nobr><br>
+<!-- Field SUPPRESSED_EFFECT_SCREEN_ON -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.SUPPRESSED_EFFECT_SCREEN_ON" class="hiddenlink" target="rightframe">android.service.notification.NotificationListenerService</A>
+</nobr><br>
+<!-- Method suppressedEffectsToString -->
+<nobr><A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.suppressedEffectsToString_added(int)" class="hiddenlink" target="rightframe"><b>suppressedEffectsToString</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Field suppressedVisualEffects -->
+<nobr><A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.suppressedVisualEffects" class="hiddenlink" target="rightframe">suppressedVisualEffects</A>
+</nobr><br>
+<!-- Method surfaceRedrawNeeded -->
+<nobr><A HREF="android.opengl.GLSurfaceView.html#android.opengl.GLSurfaceView.surfaceRedrawNeeded_added(android.view.SurfaceHolder)" class="hiddenlink" target="rightframe"><b>surfaceRedrawNeeded</b>
+(<code>SurfaceHolder</code>)</A></nobr><br>
+<!-- Field switch_widget -->
+<nobr><A HREF="android.R.id.html#android.R.id.switch_widget" class="hiddenlink" target="rightframe">switch_widget</A>
+</nobr><br>
+<!-- Field SYNC_EXTRAS_REQUIRE_CHARGING -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_EXTRAS_REQUIRE_CHARGING" class="hiddenlink" target="rightframe">SYNC_EXTRAS_REQUIRE_CHARGING</A>
+</nobr><br>
+<!-- Class SyncBaseInstrumentation -->
+<A HREF="android.test.SyncBaseInstrumentation.html" class="hiddenlink" target="rightframe">SyncBaseInstrumentation</A><br>
+<!-- Method synchronizedSet -->
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.synchronizedSet_changed(java.util.Set<T>)" class="hiddenlink" target="rightframe">synchronizedSet
+(<code>Set&lt;T&gt;</code>)</A></nobr><br>
+<!-- Method synchronizedSortedSet -->
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.synchronizedSortedSet_changed(java.util.SortedSet<T>)" class="hiddenlink" target="rightframe">synchronizedSortedSet
+(<code>SortedSet&lt;T&gt;</code>)</A></nobr><br>
+<!-- Class SynchronousQueue -->
+<A HREF="java.util.concurrent.SynchronousQueue.html" class="hiddenlink" target="rightframe">SynchronousQueue</A><br>
+<!-- Class SyncRequest.Builder -->
+<A HREF="android.content.SyncRequest.Builder.html" class="hiddenlink" target="rightframe">SyncRequest.Builder</A><br>
+<!-- Field SYS_PROP_SETTING_VERSION -->
+<i>SYS_PROP_SETTING_VERSION</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.SYS_PROP_SETTING_VERSION" class="hiddenlink" target="rightframe"><strike>android.provider.Settings.Global</strike></A>
+</nobr><br>
+<!-- Field SYS_PROP_SETTING_VERSION -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.SYS_PROP_SETTING_VERSION" class="hiddenlink" target="rightframe"><strike>android.provider.Settings.Secure</strike></A>
+</nobr><br>
+<!-- Field SYS_PROP_SETTING_VERSION -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SYS_PROP_SETTING_VERSION" class="hiddenlink" target="rightframe"><strike>android.provider.Settings.System</strike></A>
+</nobr><br>
+<!-- Field SYSTEM_HEALTH_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.SYSTEM_HEALTH_SERVICE" class="hiddenlink" target="rightframe">SYSTEM_HEALTH_SERVICE</A>
+</nobr><br>
+<!-- Class TabWidget -->
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.widget.TabWidget.html" class="hiddenlink" target="rightframe">TabWidget</A><br>
+<!-- Field TAG_APERTURE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_APERTURE" class="hiddenlink" target="rightframe">TAG_APERTURE</A>
+</nobr><br>
+<!-- Field TAG_APERTURE_VALUE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_APERTURE_VALUE" class="hiddenlink" target="rightframe">TAG_APERTURE_VALUE</A>
+</nobr><br>
+<!-- Field TAG_ARTIST -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_ARTIST" class="hiddenlink" target="rightframe">TAG_ARTIST</A>
+</nobr><br>
+<!-- Field TAG_BITS_PER_SAMPLE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_BITS_PER_SAMPLE" class="hiddenlink" target="rightframe">TAG_BITS_PER_SAMPLE</A>
+</nobr><br>
+<!-- Field TAG_BRIGHTNESS_VALUE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_BRIGHTNESS_VALUE" class="hiddenlink" target="rightframe">TAG_BRIGHTNESS_VALUE</A>
+</nobr><br>
+<!-- Field TAG_CFA_PATTERN -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_CFA_PATTERN" class="hiddenlink" target="rightframe">TAG_CFA_PATTERN</A>
+</nobr><br>
+<!-- Field TAG_COLOR_SPACE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COLOR_SPACE" class="hiddenlink" target="rightframe">TAG_COLOR_SPACE</A>
+</nobr><br>
+<!-- Field TAG_COMPONENTS_CONFIGURATION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COMPONENTS_CONFIGURATION" class="hiddenlink" target="rightframe">TAG_COMPONENTS_CONFIGURATION</A>
+</nobr><br>
+<!-- Field TAG_COMPRESSED_BITS_PER_PIXEL -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COMPRESSED_BITS_PER_PIXEL" class="hiddenlink" target="rightframe">TAG_COMPRESSED_BITS_PER_PIXEL</A>
+</nobr><br>
+<!-- Field TAG_COMPRESSION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COMPRESSION" class="hiddenlink" target="rightframe">TAG_COMPRESSION</A>
+</nobr><br>
+<!-- Field TAG_CONTRAST -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_CONTRAST" class="hiddenlink" target="rightframe">TAG_CONTRAST</A>
+</nobr><br>
+<!-- Field TAG_COPYRIGHT -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COPYRIGHT" class="hiddenlink" target="rightframe">TAG_COPYRIGHT</A>
+</nobr><br>
+<!-- Field TAG_CUSTOM_RENDERED -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_CUSTOM_RENDERED" class="hiddenlink" target="rightframe">TAG_CUSTOM_RENDERED</A>
+</nobr><br>
+<!-- Field TAG_DATETIME_ORIGINAL -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_DATETIME_ORIGINAL" class="hiddenlink" target="rightframe">TAG_DATETIME_ORIGINAL</A>
+</nobr><br>
+<!-- Field TAG_DEVICE_SETTING_DESCRIPTION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_DEVICE_SETTING_DESCRIPTION" class="hiddenlink" target="rightframe">TAG_DEVICE_SETTING_DESCRIPTION</A>
+</nobr><br>
+<!-- Field TAG_DIGITAL_ZOOM_RATIO -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_DIGITAL_ZOOM_RATIO" class="hiddenlink" target="rightframe">TAG_DIGITAL_ZOOM_RATIO</A>
+</nobr><br>
+<!-- Field TAG_EXIF_VERSION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXIF_VERSION" class="hiddenlink" target="rightframe">TAG_EXIF_VERSION</A>
+</nobr><br>
+<!-- Field TAG_EXPOSURE_BIAS_VALUE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXPOSURE_BIAS_VALUE" class="hiddenlink" target="rightframe">TAG_EXPOSURE_BIAS_VALUE</A>
+</nobr><br>
+<!-- Field TAG_EXPOSURE_INDEX -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXPOSURE_INDEX" class="hiddenlink" target="rightframe">TAG_EXPOSURE_INDEX</A>
+</nobr><br>
+<!-- Field TAG_EXPOSURE_MODE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXPOSURE_MODE" class="hiddenlink" target="rightframe">TAG_EXPOSURE_MODE</A>
+</nobr><br>
+<!-- Field TAG_EXPOSURE_PROGRAM -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXPOSURE_PROGRAM" class="hiddenlink" target="rightframe">TAG_EXPOSURE_PROGRAM</A>
+</nobr><br>
+<!-- Field TAG_F_NUMBER -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_F_NUMBER" class="hiddenlink" target="rightframe">TAG_F_NUMBER</A>
+</nobr><br>
+<!-- Field TAG_FILE_SOURCE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FILE_SOURCE" class="hiddenlink" target="rightframe">TAG_FILE_SOURCE</A>
+</nobr><br>
+<!-- Field TAG_FLASH_ENERGY -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FLASH_ENERGY" class="hiddenlink" target="rightframe">TAG_FLASH_ENERGY</A>
+</nobr><br>
+<!-- Field TAG_FLASHPIX_VERSION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FLASHPIX_VERSION" class="hiddenlink" target="rightframe">TAG_FLASHPIX_VERSION</A>
+</nobr><br>
+<!-- Field TAG_FOCAL_LENGTH_IN_35MM_FILM -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_LENGTH_IN_35MM_FILM" class="hiddenlink" target="rightframe">TAG_FOCAL_LENGTH_IN_35MM_FILM</A>
+</nobr><br>
+<!-- Field TAG_FOCAL_PLANE_RESOLUTION_UNIT -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_PLANE_RESOLUTION_UNIT" class="hiddenlink" target="rightframe">TAG_FOCAL_PLANE_RESOLUTION_UNIT</A>
+</nobr><br>
+<!-- Field TAG_FOCAL_PLANE_X_RESOLUTION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_PLANE_X_RESOLUTION" class="hiddenlink" target="rightframe">TAG_FOCAL_PLANE_X_RESOLUTION</A>
+</nobr><br>
+<!-- Field TAG_FOCAL_PLANE_Y_RESOLUTION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_PLANE_Y_RESOLUTION" class="hiddenlink" target="rightframe">TAG_FOCAL_PLANE_Y_RESOLUTION</A>
+</nobr><br>
+<!-- Field TAG_GAIN_CONTROL -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GAIN_CONTROL" class="hiddenlink" target="rightframe">TAG_GAIN_CONTROL</A>
+</nobr><br>
+<!-- Field TAG_GPS_AREA_INFORMATION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_AREA_INFORMATION" class="hiddenlink" target="rightframe">TAG_GPS_AREA_INFORMATION</A>
+</nobr><br>
+<!-- Field TAG_GPS_DEST_BEARING -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_BEARING" class="hiddenlink" target="rightframe">TAG_GPS_DEST_BEARING</A>
+</nobr><br>
+<!-- Field TAG_GPS_DEST_BEARING_REF -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_BEARING_REF" class="hiddenlink" target="rightframe">TAG_GPS_DEST_BEARING_REF</A>
+</nobr><br>
+<!-- Field TAG_GPS_DEST_DISTANCE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_DISTANCE" class="hiddenlink" target="rightframe">TAG_GPS_DEST_DISTANCE</A>
+</nobr><br>
+<!-- Field TAG_GPS_DEST_DISTANCE_REF -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_DISTANCE_REF" class="hiddenlink" target="rightframe">TAG_GPS_DEST_DISTANCE_REF</A>
+</nobr><br>
+<!-- Field TAG_GPS_DEST_LATITUDE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_LATITUDE" class="hiddenlink" target="rightframe">TAG_GPS_DEST_LATITUDE</A>
+</nobr><br>
+<!-- Field TAG_GPS_DEST_LATITUDE_REF -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_LATITUDE_REF" class="hiddenlink" target="rightframe">TAG_GPS_DEST_LATITUDE_REF</A>
+</nobr><br>
+<!-- Field TAG_GPS_DEST_LONGITUDE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_LONGITUDE" class="hiddenlink" target="rightframe">TAG_GPS_DEST_LONGITUDE</A>
+</nobr><br>
+<!-- Field TAG_GPS_DEST_LONGITUDE_REF -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_LONGITUDE_REF" class="hiddenlink" target="rightframe">TAG_GPS_DEST_LONGITUDE_REF</A>
+</nobr><br>
+<!-- Field TAG_GPS_DIFFERENTIAL -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DIFFERENTIAL" class="hiddenlink" target="rightframe">TAG_GPS_DIFFERENTIAL</A>
+</nobr><br>
+<!-- Field TAG_GPS_DOP -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DOP" class="hiddenlink" target="rightframe">TAG_GPS_DOP</A>
+</nobr><br>
+<!-- Field TAG_GPS_IMG_DIRECTION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_IMG_DIRECTION" class="hiddenlink" target="rightframe">TAG_GPS_IMG_DIRECTION</A>
+</nobr><br>
+<!-- Field TAG_GPS_IMG_DIRECTION_REF -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_IMG_DIRECTION_REF" class="hiddenlink" target="rightframe">TAG_GPS_IMG_DIRECTION_REF</A>
+</nobr><br>
+<!-- Field TAG_GPS_MAP_DATUM -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_MAP_DATUM" class="hiddenlink" target="rightframe">TAG_GPS_MAP_DATUM</A>
+</nobr><br>
+<!-- Field TAG_GPS_MEASURE_MODE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_MEASURE_MODE" class="hiddenlink" target="rightframe">TAG_GPS_MEASURE_MODE</A>
+</nobr><br>
+<!-- Field TAG_GPS_SATELLITES -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_SATELLITES" class="hiddenlink" target="rightframe">TAG_GPS_SATELLITES</A>
+</nobr><br>
+<!-- Field TAG_GPS_SPEED -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_SPEED" class="hiddenlink" target="rightframe">TAG_GPS_SPEED</A>
+</nobr><br>
+<!-- Field TAG_GPS_SPEED_REF -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_SPEED_REF" class="hiddenlink" target="rightframe">TAG_GPS_SPEED_REF</A>
+</nobr><br>
+<!-- Field TAG_GPS_STATUS -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_STATUS" class="hiddenlink" target="rightframe">TAG_GPS_STATUS</A>
+</nobr><br>
+<!-- Field TAG_GPS_TRACK -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_TRACK" class="hiddenlink" target="rightframe">TAG_GPS_TRACK</A>
+</nobr><br>
+<!-- Field TAG_GPS_TRACK_REF -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_TRACK_REF" class="hiddenlink" target="rightframe">TAG_GPS_TRACK_REF</A>
+</nobr><br>
+<!-- Field TAG_GPS_VERSION_ID -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_VERSION_ID" class="hiddenlink" target="rightframe">TAG_GPS_VERSION_ID</A>
+</nobr><br>
+<!-- Field TAG_IMAGE_DESCRIPTION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_IMAGE_DESCRIPTION" class="hiddenlink" target="rightframe">TAG_IMAGE_DESCRIPTION</A>
+</nobr><br>
+<!-- Field TAG_IMAGE_UNIQUE_ID -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_IMAGE_UNIQUE_ID" class="hiddenlink" target="rightframe">TAG_IMAGE_UNIQUE_ID</A>
+</nobr><br>
+<!-- Field TAG_INTEROPERABILITY_INDEX -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_INTEROPERABILITY_INDEX" class="hiddenlink" target="rightframe">TAG_INTEROPERABILITY_INDEX</A>
+</nobr><br>
+<!-- Field TAG_ISO -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_ISO" class="hiddenlink" target="rightframe">TAG_ISO</A>
+</nobr><br>
+<!-- Field TAG_ISO_SPEED_RATINGS -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_ISO_SPEED_RATINGS" class="hiddenlink" target="rightframe">TAG_ISO_SPEED_RATINGS</A>
+</nobr><br>
+<!-- Field TAG_JPEG_INTERCHANGE_FORMAT -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_JPEG_INTERCHANGE_FORMAT" class="hiddenlink" target="rightframe">TAG_JPEG_INTERCHANGE_FORMAT</A>
+</nobr><br>
+<!-- Field TAG_JPEG_INTERCHANGE_FORMAT_LENGTH -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_JPEG_INTERCHANGE_FORMAT_LENGTH" class="hiddenlink" target="rightframe">TAG_JPEG_INTERCHANGE_FORMAT_LENGTH</A>
+</nobr><br>
+<!-- Field TAG_LIGHT_SOURCE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_LIGHT_SOURCE" class="hiddenlink" target="rightframe">TAG_LIGHT_SOURCE</A>
+</nobr><br>
+<!-- Field TAG_MAKER_NOTE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_MAKER_NOTE" class="hiddenlink" target="rightframe">TAG_MAKER_NOTE</A>
+</nobr><br>
+<!-- Field TAG_MAX_APERTURE_VALUE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_MAX_APERTURE_VALUE" class="hiddenlink" target="rightframe">TAG_MAX_APERTURE_VALUE</A>
+</nobr><br>
+<!-- Field TAG_METERING_MODE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_METERING_MODE" class="hiddenlink" target="rightframe">TAG_METERING_MODE</A>
+</nobr><br>
+<!-- Field TAG_NONE -->
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.TAG_NONE" class="hiddenlink" target="rightframe">TAG_NONE</A>
+</nobr><br>
+<!-- Field TAG_OECF -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_OECF" class="hiddenlink" target="rightframe">TAG_OECF</A>
+</nobr><br>
+<!-- Field TAG_PHOTOMETRIC_INTERPRETATION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PHOTOMETRIC_INTERPRETATION" class="hiddenlink" target="rightframe">TAG_PHOTOMETRIC_INTERPRETATION</A>
+</nobr><br>
+<!-- Field TAG_PIXEL_X_DIMENSION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PIXEL_X_DIMENSION" class="hiddenlink" target="rightframe">TAG_PIXEL_X_DIMENSION</A>
+</nobr><br>
+<!-- Field TAG_PIXEL_Y_DIMENSION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PIXEL_Y_DIMENSION" class="hiddenlink" target="rightframe">TAG_PIXEL_Y_DIMENSION</A>
+</nobr><br>
+<!-- Field TAG_PLANAR_CONFIGURATION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PLANAR_CONFIGURATION" class="hiddenlink" target="rightframe">TAG_PLANAR_CONFIGURATION</A>
+</nobr><br>
+<!-- Field TAG_PRIMARY_CHROMATICITIES -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PRIMARY_CHROMATICITIES" class="hiddenlink" target="rightframe">TAG_PRIMARY_CHROMATICITIES</A>
+</nobr><br>
+<!-- Field TAG_REFERENCE_BLACK_WHITE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_REFERENCE_BLACK_WHITE" class="hiddenlink" target="rightframe">TAG_REFERENCE_BLACK_WHITE</A>
+</nobr><br>
+<!-- Field TAG_RELATED_SOUND_FILE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_RELATED_SOUND_FILE" class="hiddenlink" target="rightframe">TAG_RELATED_SOUND_FILE</A>
+</nobr><br>
+<!-- Field TAG_RESOLUTION_UNIT -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_RESOLUTION_UNIT" class="hiddenlink" target="rightframe">TAG_RESOLUTION_UNIT</A>
+</nobr><br>
+<!-- Field TAG_ROWS_PER_STRIP -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_ROWS_PER_STRIP" class="hiddenlink" target="rightframe">TAG_ROWS_PER_STRIP</A>
+</nobr><br>
+<!-- Field TAG_SAMPLES_PER_PIXEL -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SAMPLES_PER_PIXEL" class="hiddenlink" target="rightframe">TAG_SAMPLES_PER_PIXEL</A>
+</nobr><br>
+<!-- Field TAG_SATURATION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SATURATION" class="hiddenlink" target="rightframe">TAG_SATURATION</A>
+</nobr><br>
+<!-- Field TAG_SCENE_CAPTURE_TYPE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SCENE_CAPTURE_TYPE" class="hiddenlink" target="rightframe">TAG_SCENE_CAPTURE_TYPE</A>
+</nobr><br>
+<!-- Field TAG_SCENE_TYPE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SCENE_TYPE" class="hiddenlink" target="rightframe">TAG_SCENE_TYPE</A>
+</nobr><br>
+<!-- Field TAG_SENSING_METHOD -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SENSING_METHOD" class="hiddenlink" target="rightframe">TAG_SENSING_METHOD</A>
+</nobr><br>
+<!-- Field TAG_SHARPNESS -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SHARPNESS" class="hiddenlink" target="rightframe">TAG_SHARPNESS</A>
+</nobr><br>
+<!-- Field TAG_SHUTTER_SPEED_VALUE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SHUTTER_SPEED_VALUE" class="hiddenlink" target="rightframe">TAG_SHUTTER_SPEED_VALUE</A>
+</nobr><br>
+<!-- Field TAG_SOFTWARE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SOFTWARE" class="hiddenlink" target="rightframe">TAG_SOFTWARE</A>
+</nobr><br>
+<!-- Field TAG_SPATIAL_FREQUENCY_RESPONSE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SPATIAL_FREQUENCY_RESPONSE" class="hiddenlink" target="rightframe">TAG_SPATIAL_FREQUENCY_RESPONSE</A>
+</nobr><br>
+<!-- Field TAG_SPECTRAL_SENSITIVITY -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SPECTRAL_SENSITIVITY" class="hiddenlink" target="rightframe">TAG_SPECTRAL_SENSITIVITY</A>
+</nobr><br>
+<!-- Field TAG_STRIP_BYTE_COUNTS -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_STRIP_BYTE_COUNTS" class="hiddenlink" target="rightframe">TAG_STRIP_BYTE_COUNTS</A>
+</nobr><br>
+<!-- Field TAG_STRIP_OFFSETS -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_STRIP_OFFSETS" class="hiddenlink" target="rightframe">TAG_STRIP_OFFSETS</A>
+</nobr><br>
+<!-- Field TAG_SUBJECT_AREA -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBJECT_AREA" class="hiddenlink" target="rightframe">TAG_SUBJECT_AREA</A>
+</nobr><br>
+<!-- Field TAG_SUBJECT_DISTANCE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBJECT_DISTANCE" class="hiddenlink" target="rightframe">TAG_SUBJECT_DISTANCE</A>
+</nobr><br>
+<!-- Field TAG_SUBJECT_DISTANCE_RANGE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBJECT_DISTANCE_RANGE" class="hiddenlink" target="rightframe">TAG_SUBJECT_DISTANCE_RANGE</A>
+</nobr><br>
+<!-- Field TAG_SUBJECT_LOCATION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBJECT_LOCATION" class="hiddenlink" target="rightframe">TAG_SUBJECT_LOCATION</A>
+</nobr><br>
+<!-- Field TAG_SUBSEC_TIME_DIG -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBSEC_TIME_DIG" class="hiddenlink" target="rightframe">TAG_SUBSEC_TIME_DIG</A>
+</nobr><br>
+<!-- Field TAG_SUBSEC_TIME_DIGITIZED -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBSEC_TIME_DIGITIZED" class="hiddenlink" target="rightframe">TAG_SUBSEC_TIME_DIGITIZED</A>
+</nobr><br>
+<!-- Field TAG_SUBSEC_TIME_ORIG -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBSEC_TIME_ORIG" class="hiddenlink" target="rightframe">TAG_SUBSEC_TIME_ORIG</A>
+</nobr><br>
+<!-- Field TAG_SUBSEC_TIME_ORIGINAL -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBSEC_TIME_ORIGINAL" class="hiddenlink" target="rightframe">TAG_SUBSEC_TIME_ORIGINAL</A>
+</nobr><br>
+<!-- Field TAG_THUMBNAIL_IMAGE_LENGTH -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_THUMBNAIL_IMAGE_LENGTH" class="hiddenlink" target="rightframe">TAG_THUMBNAIL_IMAGE_LENGTH</A>
+</nobr><br>
+<!-- Field TAG_THUMBNAIL_IMAGE_WIDTH -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_THUMBNAIL_IMAGE_WIDTH" class="hiddenlink" target="rightframe">TAG_THUMBNAIL_IMAGE_WIDTH</A>
+</nobr><br>
+<!-- Field TAG_TRANSFER_FUNCTION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_TRANSFER_FUNCTION" class="hiddenlink" target="rightframe">TAG_TRANSFER_FUNCTION</A>
+</nobr><br>
+<!-- Field TAG_USER_COMMENT -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_USER_COMMENT" class="hiddenlink" target="rightframe">TAG_USER_COMMENT</A>
+</nobr><br>
+<!-- Field TAG_WHITE_POINT -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_WHITE_POINT" class="hiddenlink" target="rightframe">TAG_WHITE_POINT</A>
+</nobr><br>
+<!-- Field TAG_X_RESOLUTION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_X_RESOLUTION" class="hiddenlink" target="rightframe">TAG_X_RESOLUTION</A>
+</nobr><br>
+<!-- Field TAG_Y_CB_CR_COEFFICIENTS -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_Y_CB_CR_COEFFICIENTS" class="hiddenlink" target="rightframe">TAG_Y_CB_CR_COEFFICIENTS</A>
+</nobr><br>
+<!-- Field TAG_Y_CB_CR_POSITIONING -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_Y_CB_CR_POSITIONING" class="hiddenlink" target="rightframe">TAG_Y_CB_CR_POSITIONING</A>
+</nobr><br>
+<!-- Field TAG_Y_CB_CR_SUB_SAMPLING -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_Y_CB_CR_SUB_SAMPLING" class="hiddenlink" target="rightframe">TAG_Y_CB_CR_SUB_SAMPLING</A>
+</nobr><br>
+<!-- Field TAG_Y_RESOLUTION -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_Y_RESOLUTION" class="hiddenlink" target="rightframe">TAG_Y_RESOLUTION</A>
+</nobr><br>
+<!-- Method tagDatagramSocket -->
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.tagDatagramSocket_added(java.net.DatagramSocket)" class="hiddenlink" target="rightframe"><b>tagDatagramSocket</b>
+(<code>DatagramSocket</code>)</A></nobr><br>
+<!-- Class TelecomManager -->
+<A HREF="android.telecom.TelecomManager.html" class="hiddenlink" target="rightframe">TelecomManager</A><br>
+<!-- Class Telephony.Sms.Intents -->
+<A HREF="android.provider.Telephony.Sms.Intents.html" class="hiddenlink" target="rightframe">Telephony.Sms.Intents</A><br>
+<!-- Class TelephonyManager -->
+<A HREF="android.telephony.TelephonyManager.html" class="hiddenlink" target="rightframe">TelephonyManager</A><br>
+<!-- Class TestSuiteProvider -->
+<A HREF="android.test.TestSuiteProvider.html" class="hiddenlink" target="rightframe"><i>TestSuiteProvider</i></A><br>
+<!-- Field TextAppearance_Material_Widget_Button_Borderless_Colored -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Material_Widget_Button_Borderless_Colored" class="hiddenlink" target="rightframe">TextAppearance_Material_Widget_Button_Borderless_Colored</A>
+</nobr><br>
+<!-- Field TextAppearance_Material_Widget_Button_Colored -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Material_Widget_Button_Colored" class="hiddenlink" target="rightframe">TextAppearance_Material_Widget_Button_Colored</A>
+</nobr><br>
+<!-- Field textAppearancePopupMenuHeader -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAppearancePopupMenuHeader" class="hiddenlink" target="rightframe">textAppearancePopupMenuHeader</A>
+</nobr><br>
+<!-- Class TextUtils -->
+<A HREF="android.text.TextUtils.html" class="hiddenlink" target="rightframe">TextUtils</A><br>
+<!-- Class TextUtils.SimpleStringSplitter -->
+<A HREF="android.text.TextUtils.SimpleStringSplitter.html" class="hiddenlink" target="rightframe">TextUtils.SimpleStringSplitter</A><br>
+<!-- Class TextView -->
+<A HREF="android.widget.TextView.html" class="hiddenlink" target="rightframe">TextView</A><br>
+<!-- Field Theme_Material_Light_DialogWhenLarge_DarkActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_Material_Light_DialogWhenLarge_DarkActionBar" class="hiddenlink" target="rightframe">Theme_Material_Light_DialogWhenLarge_DarkActionBar</A>
+</nobr><br>
+<!-- Method thenComparing -->
+<i>thenComparing</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparing_added(java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+<!-- Method thenComparing -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparing_added(java.util.function.Function<? super T, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Function&lt;? super T, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+<!-- Method thenComparing -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparing_added(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Function&lt;? super T, ? extends U&gt;, Comparator&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+<!-- Method thenComparingDouble -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparingDouble_added(java.util.function.ToDoubleFunction<? super T>)" class="hiddenlink" target="rightframe"><b>thenComparingDouble</b>
+(<code>ToDoubleFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<!-- Method thenComparingInt -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparingInt_added(java.util.function.ToIntFunction<? super T>)" class="hiddenlink" target="rightframe"><b>thenComparingInt</b>
+(<code>ToIntFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<!-- Method thenComparingLong -->
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparingLong_added(java.util.function.ToLongFunction<? super T>)" class="hiddenlink" target="rightframe"><b>thenComparingLong</b>
+(<code>ToLongFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<!-- Method throwException -->
+<nobr><A HREF="java.nio.charset.CoderResult.html#java.nio.charset.CoderResult.throwException_changed()" class="hiddenlink" target="rightframe">throwException
+()</A></nobr><br>
+<!-- Field tickMark -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMark" class="hiddenlink" target="rightframe">tickMark</A>
+</nobr><br>
+<!-- Field tickMarkTint -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMarkTint" class="hiddenlink" target="rightframe">tickMarkTint</A>
+</nobr><br>
+<!-- Field tickMarkTintMode -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMarkTintMode" class="hiddenlink" target="rightframe">tickMarkTintMode</A>
+</nobr><br>
+<!-- Field TIMEBASE_BOOTTIME -->
+<nobr><A HREF="android.media.AudioTimestamp.html#android.media.AudioTimestamp.TIMEBASE_BOOTTIME" class="hiddenlink" target="rightframe">TIMEBASE_BOOTTIME</A>
+</nobr><br>
+<!-- Field TIMEBASE_MONOTONIC -->
+<nobr><A HREF="android.media.AudioTimestamp.html#android.media.AudioTimestamp.TIMEBASE_MONOTONIC" class="hiddenlink" target="rightframe">TIMEBASE_MONOTONIC</A>
+</nobr><br>
+<!-- Method timeShiftPlay -->
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.timeShiftPlay_added(java.lang.String, android.net.Uri)" class="hiddenlink" target="rightframe"><b>timeShiftPlay</b>
+(<code>String, Uri</code>)</A></nobr><br>
+<!-- Class Timestamp -->
+<A HREF="java.sql.Timestamp.html" class="hiddenlink" target="rightframe">Timestamp</A><br>
+<!-- Class TimeZone -->
+<A HREF="java.util.TimeZone.html" class="hiddenlink" target="rightframe">TimeZone</A><br>
+<!-- Field titleMargin -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMargin" class="hiddenlink" target="rightframe">titleMargin</A>
+</nobr><br>
+<!-- Field titleMarginBottom -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginBottom" class="hiddenlink" target="rightframe">titleMarginBottom</A>
+</nobr><br>
+<!-- Field titleMarginEnd -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginEnd" class="hiddenlink" target="rightframe">titleMarginEnd</A>
+</nobr><br>
+<!-- Field titleMarginStart -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginStart" class="hiddenlink" target="rightframe">titleMarginStart</A>
+</nobr><br>
+<!-- Field titleMarginTop -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginTop" class="hiddenlink" target="rightframe">titleMarginTop</A>
+</nobr><br>
+<!-- Field TO_HTML_PARAGRAPH_LINES_CONSECUTIVE -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.TO_HTML_PARAGRAPH_LINES_CONSECUTIVE" class="hiddenlink" target="rightframe">TO_HTML_PARAGRAPH_LINES_CONSECUTIVE</A>
+</nobr><br>
+<!-- Field TO_HTML_PARAGRAPH_LINES_INDIVIDUAL -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.TO_HTML_PARAGRAPH_LINES_INDIVIDUAL" class="hiddenlink" target="rightframe">TO_HTML_PARAGRAPH_LINES_INDIVIDUAL</A>
+</nobr><br>
+<!-- Method toHtml -->
+<i>toHtml</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.toHtml_added(android.text.Spanned, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Spanned, int</code>)</b>&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+<!-- Method toHtml -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.toHtml_changed(android.text.Spanned)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Spanned</code>)&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+<!-- Method toIntExact -->
+<i>toIntExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.toIntExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<!-- Method toIntExact -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.toIntExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<!-- Class Toolbar -->
+<A HREF="android.widget.Toolbar.html" class="hiddenlink" target="rightframe">Toolbar</A><br>
+<!-- Method toString -->
+<nobr><A HREF="java.security.acl.Permission.html#java.security.acl.Permission.toString_removed()" class="hiddenlink" target="rightframe"><strike>toString</strike>
+()</A></nobr><br>
+<!-- Class TouchUtils -->
+<A HREF="android.test.TouchUtils.html" class="hiddenlink" target="rightframe">TouchUtils</A><br>
+<!-- Class TrafficStats -->
+<A HREF="android.net.TrafficStats.html" class="hiddenlink" target="rightframe">TrafficStats</A><br>
+<!-- Class TreeMap -->
+<A HREF="java.util.TreeMap.html" class="hiddenlink" target="rightframe">TreeMap</A><br>
+<!-- Class TreeSet -->
+<A HREF="java.util.TreeSet.html" class="hiddenlink" target="rightframe">TreeSet</A><br>
+<!-- Method tune -->
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.tune_added(java.lang.String, android.net.Uri, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>tune</b>
+(<code>String, Uri, Bundle</code>)</A></nobr><br>
+<!-- Field tunerCount -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tunerCount" class="hiddenlink" target="rightframe">tunerCount</A>
+</nobr><br>
+<!-- Class TvContentRating -->
+<A HREF="android.media.tv.TvContentRating.html" class="hiddenlink" target="rightframe">TvContentRating</A><br>
+<!-- Class TvContract -->
+<A HREF="android.media.tv.TvContract.html" class="hiddenlink" target="rightframe">TvContract</A><br>
+<!-- Class TvContract.Programs -->
+<A HREF="android.media.tv.TvContract.Programs.html" class="hiddenlink" target="rightframe">TvContract.Programs</A><br>
+<!-- Class TvContract.Programs.Genres -->
+<A HREF="android.media.tv.TvContract.Programs.Genres.html" class="hiddenlink" target="rightframe">TvContract.Programs.Genres</A><br>
+<!-- Class TvContract.RecordedPrograms -->
+<A HREF="pkg_android.media.tv.html#TvContract.RecordedPrograms" class="hiddenlink" target="rightframe"><b>TvContract.RecordedPrograms</b></A><br>
+<!-- Class TvInputInfo -->
+<A HREF="android.media.tv.TvInputInfo.html" class="hiddenlink" target="rightframe">TvInputInfo</A><br>
+<!-- Class TvInputInfo.Builder -->
+<A HREF="pkg_android.media.tv.html#TvInputInfo.Builder" class="hiddenlink" target="rightframe"><b>TvInputInfo.Builder</b></A><br>
+<!-- Class TvInputManager -->
+<A HREF="android.media.tv.TvInputManager.html" class="hiddenlink" target="rightframe">TvInputManager</A><br>
+<!-- Class TvInputManager.TvInputCallback -->
+<A HREF="android.media.tv.TvInputManager.TvInputCallback.html" class="hiddenlink" target="rightframe">TvInputManager.TvInputCallback</A><br>
+<!-- Class TvInputService -->
+<A HREF="android.media.tv.TvInputService.html" class="hiddenlink" target="rightframe">TvInputService</A><br>
+<!-- Class TvInputService.RecordingSession -->
+<A HREF="pkg_android.media.tv.html#TvInputService.RecordingSession" class="hiddenlink" target="rightframe"><b>TvInputService.RecordingSession</b></A><br>
+<!-- Class TvInputService.Session -->
+<A HREF="android.media.tv.TvInputService.Session.html" class="hiddenlink" target="rightframe">TvInputService.Session</A><br>
+<!-- Class TvRecordingClient -->
+<A HREF="pkg_android.media.tv.html#TvRecordingClient" class="hiddenlink" target="rightframe"><b>TvRecordingClient</b></A><br>
+<!-- Class TvRecordingClient.RecordingCallback -->
+<A HREF="pkg_android.media.tv.html#TvRecordingClient.RecordingCallback" class="hiddenlink" target="rightframe"><b>TvRecordingClient.RecordingCallback</b></A><br>
+<!-- Class TvTrackInfo -->
+<A HREF="android.media.tv.TvTrackInfo.html" class="hiddenlink" target="rightframe">TvTrackInfo</A><br>
+<!-- Class TvTrackInfo.Builder -->
+<A HREF="android.media.tv.TvTrackInfo.Builder.html" class="hiddenlink" target="rightframe">TvTrackInfo.Builder</A><br>
+<!-- Class TvView -->
+<A HREF="android.media.tv.TvView.html" class="hiddenlink" target="rightframe">TvView</A><br>
+<!-- Field TYPE_BUS -->
+<nobr><A HREF="android.media.AudioDeviceInfo.html#android.media.AudioDeviceInfo.TYPE_BUS" class="hiddenlink" target="rightframe">TYPE_BUS</A>
+</nobr><br>
+<!-- Field TYPE_DEVICE_PRIVATE_BASE -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_DEVICE_PRIVATE_BASE" class="hiddenlink" target="rightframe">TYPE_DEVICE_PRIVATE_BASE</A>
+</nobr><br>
+<!-- Field TYPE_HEART_BEAT -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_HEART_BEAT" class="hiddenlink" target="rightframe">TYPE_HEART_BEAT</A>
+</nobr><br>
+<!-- Field TYPE_MOTION_DETECT -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_MOTION_DETECT" class="hiddenlink" target="rightframe">TYPE_MOTION_DETECT</A>
+</nobr><br>
+<!-- Field TYPE_POSE_6DOF -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_POSE_6DOF" class="hiddenlink" target="rightframe">TYPE_POSE_6DOF</A>
+</nobr><br>
+<!-- Field TYPE_SPLIT_SCREEN_DIVIDER -->
+<nobr><A HREF="android.view.accessibility.AccessibilityWindowInfo.html#android.view.accessibility.AccessibilityWindowInfo.TYPE_SPLIT_SCREEN_DIVIDER" class="hiddenlink" target="rightframe">TYPE_SPLIT_SCREEN_DIVIDER</A>
+</nobr><br>
+<!-- Field TYPE_STATIONARY_DETECT -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_STATIONARY_DETECT" class="hiddenlink" target="rightframe">TYPE_STATIONARY_DETECT</A>
+</nobr><br>
+<!-- Class UiAutomation -->
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.UiAutomation.html" class="hiddenlink" target="rightframe">UiAutomation</A><br>
+<!-- Class UiThreadTest -->
+<A HREF="android.test.UiThreadTest.html" class="hiddenlink" target="rightframe">UiThreadTest</A><br>
+<!-- Field UNAUTH_TLS -->
+<nobr><A HREF="android.net.wifi.WifiEnterpriseConfig.Eap.html#android.net.wifi.WifiEnterpriseConfig.Eap.UNAUTH_TLS" class="hiddenlink" target="rightframe">UNAUTH_TLS</A>
+</nobr><br>
+<!-- Class UncheckedIOException -->
+<A HREF="pkg_java.io.html#UncheckedIOException" class="hiddenlink" target="rightframe"><b>UncheckedIOException</b></A><br>
+<!-- Field UNICODE_CHARACTER_CLASS -->
+<nobr><A HREF="java.util.regex.Pattern.html#java.util.regex.Pattern.UNICODE_CHARACTER_CLASS" class="hiddenlink" target="rightframe">UNICODE_CHARACTER_CLASS</A>
+</nobr><br>
+<!-- Method unmappableForLength -->
+<nobr><A HREF="java.nio.charset.CoderResult.html#java.nio.charset.CoderResult.unmappableForLength_changed(int)" class="hiddenlink" target="rightframe">unmappableForLength
+(<code>int</code>)</A></nobr><br>
+<!-- Method unmodifiableCollection -->
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.unmodifiableCollection_changed(java.util.Collection<? extends T>)" class="hiddenlink" target="rightframe">unmodifiableCollection
+(<code>Collection&lt;? extends T&gt;</code>)</A></nobr><br>
+<!-- Method unmodifiableList -->
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.unmodifiableList_changed(java.util.List<? extends T>)" class="hiddenlink" target="rightframe">unmodifiableList
+(<code>List&lt;? extends T&gt;</code>)</A></nobr><br>
+<!-- Method unmodifiableSet -->
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.unmodifiableSet_changed(java.util.Set<? extends T>)" class="hiddenlink" target="rightframe">unmodifiableSet
+(<code>Set&lt;? extends T&gt;</code>)</A></nobr><br>
+<!-- Method unmodifiableSortedSet -->
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.unmodifiableSortedSet_changed(java.util.SortedSet<T>)" class="hiddenlink" target="rightframe">unmodifiableSortedSet
+(<code>SortedSet&lt;T&gt;</code>)</A></nobr><br>
+<!-- Field UNPROCESSED -->
+<nobr><A HREF="android.media.MediaRecorder.AudioSource.html#android.media.MediaRecorder.AudioSource.UNPROCESSED" class="hiddenlink" target="rightframe">UNPROCESSED</A>
+</nobr><br>
+<!-- Method unregisterAudioRecordingCallback -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.unregisterAudioRecordingCallback_added(android.media.AudioManager.AudioRecordingCallback)" class="hiddenlink" target="rightframe"><b>unregisterAudioRecordingCallback</b>
+(<code>AudioRecordingCallback</code>)</A></nobr><br>
+<!-- Method unregisterDynamicSensorCallback -->
+<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.unregisterDynamicSensorCallback_added(android.hardware.SensorManager.DynamicSensorCallback)" class="hiddenlink" target="rightframe"><b>unregisterDynamicSensorCallback</b>
+(<code>DynamicSensorCallback</code>)</A></nobr><br>
+<!-- Method unregisterGnssMeasurementsCallback -->
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.unregisterGnssMeasurementsCallback_added(android.location.GnssMeasurementsEvent.Callback)" class="hiddenlink" target="rightframe"><b>unregisterGnssMeasurementsCallback</b>
+(<code>Callback</code>)</A></nobr><br>
+<!-- Method unregisterGnssNavigationMessageCallback -->
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.unregisterGnssNavigationMessageCallback_added(android.location.GnssNavigationMessage.Callback)" class="hiddenlink" target="rightframe"><b>unregisterGnssNavigationMessageCallback</b>
+(<code>Callback</code>)</A></nobr><br>
+<!-- Method unregisterGnssStatusCallback -->
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.unregisterGnssStatusCallback_added(android.location.GnssStatus.Callback)" class="hiddenlink" target="rightframe"><b>unregisterGnssStatusCallback</b>
+(<code>Callback</code>)</A></nobr><br>
+<!-- Method unregisterUsageCallback -->
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.unregisterUsageCallback_added(android.app.usage.NetworkStatsManager.UsageCallback)" class="hiddenlink" target="rightframe"><b>unregisterUsageCallback</b>
+(<code>UsageCallback</code>)</A></nobr><br>
+<!-- Field UNSPECIFIED_GRAVITY -->
+<nobr><A HREF="android.widget.FrameLayout.LayoutParams.html#android.widget.FrameLayout.LayoutParams.UNSPECIFIED_GRAVITY" class="hiddenlink" target="rightframe">UNSPECIFIED_GRAVITY</A>
+</nobr><br>
+<!-- Method unsubscribe -->
+<nobr><A HREF="android.media.browse.MediaBrowser.html#android.media.browse.MediaBrowser.unsubscribe_added(java.lang.String, android.media.browse.MediaBrowser.SubscriptionCallback)" class="hiddenlink" target="rightframe"><b>unsubscribe</b>
+(<code>String, SubscriptionCallback</code>)</A></nobr><br>
+<!-- Method untagDatagramSocket -->
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.untagDatagramSocket_added(java.net.DatagramSocket)" class="hiddenlink" target="rightframe"><b>untagDatagramSocket</b>
+(<code>DatagramSocket</code>)</A></nobr><br>
+<!-- Method updateAndGet -->
+<i>updateAndGet</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicInteger.html#java.util.concurrent.atomic.AtomicInteger.updateAndGet_added(java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicInteger
+</A></nobr><br>
+<!-- Method updateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html#java.util.concurrent.atomic.AtomicIntegerArray.updateAndGet_added(int, java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerArray
+</A></nobr><br>
+<!-- Method updateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html#java.util.concurrent.atomic.AtomicIntegerFieldUpdater.updateAndGet_added(T, java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerFieldUpdater
+</A></nobr><br>
+<!-- Method updateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLong.html#java.util.concurrent.atomic.AtomicLong.updateAndGet_added(java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLong
+</A></nobr><br>
+<!-- Method updateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongArray.html#java.util.concurrent.atomic.AtomicLongArray.updateAndGet_added(int, java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongArray
+</A></nobr><br>
+<!-- Method updateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html#java.util.concurrent.atomic.AtomicLongFieldUpdater.updateAndGet_added(T, java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongFieldUpdater
+</A></nobr><br>
+<!-- Method updateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReference.html#java.util.concurrent.atomic.AtomicReference.updateAndGet_added(java.util.function.UnaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReference
+</A></nobr><br>
+<!-- Method updateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html#java.util.concurrent.atomic.AtomicReferenceArray.updateAndGet_added(int, java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceArray
+</A></nobr><br>
+<!-- Method updateAndGet -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html#java.util.concurrent.atomic.AtomicReferenceFieldUpdater.updateAndGet_added(T, java.util.function.UnaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, UnaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceFieldUpdater
+</A></nobr><br>
+<!-- Method updateAutomaticZenRule -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.updateAutomaticZenRule_added(java.lang.String, android.app.AutomaticZenRule)" class="hiddenlink" target="rightframe"><b>updateAutomaticZenRule</b>
+(<code>String, AutomaticZenRule</code>)</A></nobr><br>
+<!-- Method updateDragShadow -->
+<nobr><A HREF="android.view.View.html#android.view.View.updateDragShadow_added(android.view.View.DragShadowBuilder)" class="hiddenlink" target="rightframe"><b>updateDragShadow</b>
+(<code>DragShadowBuilder</code>)</A></nobr><br>
+<!-- Method updateTvInputInfo -->
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.updateTvInputInfo_added(android.media.tv.TvInputInfo)" class="hiddenlink" target="rightframe"><b>updateTvInputInfo</b>
+(<code>TvInputInfo</code>)</A></nobr><br>
+<!-- Class URLClassLoader -->
+<A HREF="java.net.URLClassLoader.html" class="hiddenlink" target="rightframe">URLClassLoader</A><br>
+<!-- Class URLConnection -->
+<A HREF="java.net.URLConnection.html" class="hiddenlink" target="rightframe">URLConnection</A><br>
+<!-- Field use32bitAbi -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.use32bitAbi" class="hiddenlink" target="rightframe">use32bitAbi</A>
+</nobr><br>
+<!-- Field USER_CREATION_FAILED_NO_MORE_USERS -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.USER_CREATION_FAILED_NO_MORE_USERS" class="hiddenlink" target="rightframe">USER_CREATION_FAILED_NO_MORE_USERS</A>
+</nobr><br>
+<!-- Field USER_CREATION_FAILED_NOT_PERMITTED -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.USER_CREATION_FAILED_NOT_PERMITTED" class="hiddenlink" target="rightframe">USER_CREATION_FAILED_NOT_PERMITTED</A>
+</nobr><br>
+<!-- Class UserHandle -->
+<A HREF="android.os.UserHandle.html" class="hiddenlink" target="rightframe">UserHandle</A><br>
+<!-- Class UserManager -->
+<A HREF="android.os.UserManager.html" class="hiddenlink" target="rightframe">UserManager</A><br>
+<!-- Class UtteranceProgressListener -->
+<A HREF="android.speech.tts.UtteranceProgressListener.html" class="hiddenlink" target="rightframe">UtteranceProgressListener</A><br>
+<!-- Method validateSql -->
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.validateSql_added(java.lang.String, android.os.CancellationSignal)" class="hiddenlink" target="rightframe"><b>validateSql</b>
+(<code>String, CancellationSignal</code>)</A></nobr><br>
+<!-- Method valueOf -->
+<nobr><A HREF="java.sql.Timestamp.html#java.sql.Timestamp.valueOf_changed(java.lang.String)" class="hiddenlink" target="rightframe">valueOf
+(<code>String</code>)</A></nobr><br>
+<!-- Method values -->
+<nobr><A HREF="java.util.SortedMap.html#java.util.SortedMap.values_added()" class="hiddenlink" target="rightframe"><b>values</b>
+()</A></nobr><br>
+<!-- Class Vector -->
+<A HREF="java.util.Vector.html" class="hiddenlink" target="rightframe">Vector</A><br>
+<!-- Method verify -->
+<nobr><A HREF="java.security.cert.X509Certificate.html#java.security.cert.X509Certificate.verify_added(java.security.PublicKey, java.security.Provider)" class="hiddenlink" target="rightframe"><b>verify</b>
+(<code>PublicKey, Provider</code>)</A></nobr><br>
+<!-- Field version -->
+<i>version</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.version" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field version -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.FeatureInfo.html#android.content.pm.FeatureInfo.version" class="hiddenlink" target="rightframe">android.content.pm.FeatureInfo</A>
+</nobr><br>
+<!-- Field VIA_NUMBER -->
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.VIA_NUMBER" class="hiddenlink" target="rightframe">VIA_NUMBER</A>
+</nobr><br>
+<!-- Class View -->
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<!-- Class View.BaseSavedState -->
+<i>View.BaseSavedState</i><br>
+&nbsp;&nbsp;<A HREF="android.view.View.BaseSavedState.html" class="hiddenlink" target="rightframe">android.view</A><br>
+<!-- Constructor View.BaseSavedState -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.BaseSavedState.html#android.view.View.BaseSavedState.ctor_added(android.os.Parcel, java.lang.ClassLoader)" class="hiddenlink" target="rightframe"><b>View.BaseSavedState</b>
+(<code>Parcel, ClassLoader</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class ViewAsserts -->
+<A HREF="android.test.ViewAsserts.html" class="hiddenlink" target="rightframe">ViewAsserts</A><br>
+<!-- Class ViewGroup -->
+<A HREF="android.view.ViewGroup.html" class="hiddenlink" target="rightframe">ViewGroup</A><br>
+<!-- Class ViewParent -->
+<A HREF="android.view.ViewParent.html" class="hiddenlink" target="rightframe"><i>ViewParent</i></A><br>
+<!-- Class VirtualMachineError -->
+<i>VirtualMachineError</i><br>
+&nbsp;&nbsp;<A HREF="java.lang.VirtualMachineError.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<!-- Constructor VirtualMachineError -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.VirtualMachineError.html#java.lang.VirtualMachineError.ctor_added(java.lang.String, java.lang.Throwable)" class="hiddenlink" target="rightframe"><b>VirtualMachineError</b>
+(<code>String, Throwable</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor VirtualMachineError -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.VirtualMachineError.html#java.lang.VirtualMachineError.ctor_added(java.lang.Throwable)" class="hiddenlink" target="rightframe"><b>VirtualMachineError</b>
+(<code>Throwable</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class VoiceInteractionSession -->
+<A HREF="android.service.voice.VoiceInteractionSession.html" class="hiddenlink" target="rightframe">VoiceInteractionSession</A><br>
+<!-- Class VoicemailContract -->
+<A HREF="android.provider.VoicemailContract.html" class="hiddenlink" target="rightframe">VoicemailContract</A><br>
+<!-- Class VoicemailContract.Status -->
+<A HREF="android.provider.VoicemailContract.Status.html" class="hiddenlink" target="rightframe">VoicemailContract.Status</A><br>
+<!-- Class VoicemailContract.Voicemails -->
+<A HREF="android.provider.VoicemailContract.Voicemails.html" class="hiddenlink" target="rightframe">VoicemailContract.Voicemails</A><br>
+<!-- Field VP9Level1 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level1" class="hiddenlink" target="rightframe">VP9Level1</A>
+</nobr><br>
+<!-- Field VP9Level11 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level11" class="hiddenlink" target="rightframe">VP9Level11</A>
+</nobr><br>
+<!-- Field VP9Level2 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level2" class="hiddenlink" target="rightframe">VP9Level2</A>
+</nobr><br>
+<!-- Field VP9Level21 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level21" class="hiddenlink" target="rightframe">VP9Level21</A>
+</nobr><br>
+<!-- Field VP9Level3 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level3" class="hiddenlink" target="rightframe">VP9Level3</A>
+</nobr><br>
+<!-- Field VP9Level31 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level31" class="hiddenlink" target="rightframe">VP9Level31</A>
+</nobr><br>
+<!-- Field VP9Level4 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level4" class="hiddenlink" target="rightframe">VP9Level4</A>
+</nobr><br>
+<!-- Field VP9Level41 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level41" class="hiddenlink" target="rightframe">VP9Level41</A>
+</nobr><br>
+<!-- Field VP9Level5 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level5" class="hiddenlink" target="rightframe">VP9Level5</A>
+</nobr><br>
+<!-- Field VP9Level51 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level51" class="hiddenlink" target="rightframe">VP9Level51</A>
+</nobr><br>
+<!-- Field VP9Level52 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level52" class="hiddenlink" target="rightframe">VP9Level52</A>
+</nobr><br>
+<!-- Field VP9Level6 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level6" class="hiddenlink" target="rightframe">VP9Level6</A>
+</nobr><br>
+<!-- Field VP9Level61 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level61" class="hiddenlink" target="rightframe">VP9Level61</A>
+</nobr><br>
+<!-- Field VP9Level62 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level62" class="hiddenlink" target="rightframe">VP9Level62</A>
+</nobr><br>
+<!-- Field VP9Profile0 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile0" class="hiddenlink" target="rightframe">VP9Profile0</A>
+</nobr><br>
+<!-- Field VP9Profile1 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile1" class="hiddenlink" target="rightframe">VP9Profile1</A>
+</nobr><br>
+<!-- Field VP9Profile2 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile2" class="hiddenlink" target="rightframe">VP9Profile2</A>
+</nobr><br>
+<!-- Field VP9Profile2HDR -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile2HDR" class="hiddenlink" target="rightframe">VP9Profile2HDR</A>
+</nobr><br>
+<!-- Field VP9Profile3 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile3" class="hiddenlink" target="rightframe">VP9Profile3</A>
+</nobr><br>
+<!-- Field VP9Profile3HDR -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile3HDR" class="hiddenlink" target="rightframe">VP9Profile3HDR</A>
+</nobr><br>
+<!-- Class WallpaperManager -->
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.WallpaperManager.html" class="hiddenlink" target="rightframe">WallpaperManager</A><br>
+<!-- Class WeakHashMap -->
+<A HREF="java.util.WeakHashMap.html" class="hiddenlink" target="rightframe">WeakHashMap</A><br>
+<!-- Class WebResourceRequest -->
+<A HREF="android.webkit.WebResourceRequest.html" class="hiddenlink" target="rightframe"><i>WebResourceRequest</i></A><br>
+<!-- Class WebSettings -->
+<A HREF="android.webkit.WebSettings.html" class="hiddenlink" target="rightframe">WebSettings</A><br>
+<!-- Class WebViewClient -->
+<A HREF="android.webkit.WebViewClient.html" class="hiddenlink" target="rightframe">WebViewClient</A><br>
+<!-- Field Widget_Material_CompoundButton_Switch -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_CompoundButton_Switch" class="hiddenlink" target="rightframe">Widget_Material_CompoundButton_Switch</A>
+</nobr><br>
+<!-- Field Widget_Material_Light_CompoundButton_Switch -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_Light_CompoundButton_Switch" class="hiddenlink" target="rightframe">Widget_Material_Light_CompoundButton_Switch</A>
+</nobr><br>
+<!-- Field Widget_Material_Light_NumberPicker -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_Light_NumberPicker" class="hiddenlink" target="rightframe">Widget_Material_Light_NumberPicker</A>
+</nobr><br>
+<!-- Field Widget_Material_NumberPicker -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_NumberPicker" class="hiddenlink" target="rightframe">Widget_Material_NumberPicker</A>
+</nobr><br>
+<!-- Field Widget_Material_SeekBar_Discrete -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_SeekBar_Discrete" class="hiddenlink" target="rightframe">Widget_Material_SeekBar_Discrete</A>
+</nobr><br>
+<!-- Class WifiEnterpriseConfig -->
+<A HREF="android.net.wifi.WifiEnterpriseConfig.html" class="hiddenlink" target="rightframe">WifiEnterpriseConfig</A><br>
+<!-- Class WifiEnterpriseConfig.Eap -->
+<A HREF="android.net.wifi.WifiEnterpriseConfig.Eap.html" class="hiddenlink" target="rightframe">WifiEnterpriseConfig.Eap</A><br>
+<!-- Class Window -->
+<A HREF="android.view.Window.html" class="hiddenlink" target="rightframe">Window</A><br>
+<!-- Class Window.Callback -->
+<A HREF="android.view.Window.Callback.html" class="hiddenlink" target="rightframe"><i>Window.Callback</i></A><br>
+<!-- Class Window.OnFrameMetricsAvailableListener -->
+<A HREF="pkg_android.view.html#Window.OnFrameMetricsAvailableListener" class="hiddenlink" target="rightframe"><b><i>Window.OnFrameMetricsAvailableListener</i></b></A><br>
+<!-- Class Window.OnRestrictedCaptionAreaChangedListener -->
+<A HREF="pkg_android.view.html#Window.OnRestrictedCaptionAreaChangedListener" class="hiddenlink" target="rightframe"><b><i>Window.OnRestrictedCaptionAreaChangedListener</i></b></A><br>
+<!-- Field windowBackgroundFallback -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.windowBackgroundFallback" class="hiddenlink" target="rightframe">windowBackgroundFallback</A>
+</nobr><br>
+<!-- Field windowLayout -->
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.windowLayout" class="hiddenlink" target="rightframe">windowLayout</A>
+</nobr><br>
+<!-- Method writeToParcel -->
+<i>writeToParcel</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattCharacteristic.html#android.bluetooth.BluetoothGattCharacteristic.writeToParcel_added(android.os.Parcel, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcel, int</code>)</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattCharacteristic
+</A></nobr><br>
+<!-- Method writeToParcel -->
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattDescriptor.html#android.bluetooth.BluetoothGattDescriptor.writeToParcel_added(android.os.Parcel, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcel, int</code>)</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattDescriptor
+</A></nobr><br>
+<!-- Method writeToParcel -->
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattService.html#android.bluetooth.BluetoothGattService.writeToParcel_added(android.os.Parcel, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcel, int</code>)</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattService
+</A></nobr><br>
+<!-- Method writeToParcel -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioFormat.html#android.media.AudioFormat.writeToParcel_added(android.os.Parcel, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcel, int</code>)</b>&nbsp;in&nbsp;android.media.AudioFormat
+</A></nobr><br>
+<!-- Class X509Certificate -->
+<A NAME="X"></A>
+<br><font size="+2">X</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.security.cert.X509Certificate.html" class="hiddenlink" target="rightframe">X509Certificate</A><br>
+<!-- Class X509CRLEntry -->
+<A HREF="java.security.cert.X509CRLEntry.html" class="hiddenlink" target="rightframe">X509CRLEntry</A><br>
+<!-- Class X509ExtendedTrustManager -->
+<A HREF="pkg_javax.net.ssl.html#X509ExtendedTrustManager" class="hiddenlink" target="rightframe"><b>X509ExtendedTrustManager</b></A><br>
+<!-- Class ZipFile -->
+<A NAME="Z"></A>
+<br><font size="+2">Z</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>ZipFile</i><br>
+&nbsp;&nbsp;<A HREF="java.util.zip.ZipFile.html" class="hiddenlink" target="rightframe">java.util.zip</A><br>
+<!-- Constructor ZipFile -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.zip.ZipFile.html#java.util.zip.ZipFile.ctor_added(java.io.File, int, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipFile</b>
+(<code>File, int, Charset</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor ZipFile -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.zip.ZipFile.html#java.util.zip.ZipFile.ctor_added(java.io.File, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipFile</b>
+(<code>File, Charset</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor ZipFile -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.zip.ZipFile.html#java.util.zip.ZipFile.ctor_added(java.lang.String, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipFile</b>
+(<code>String, Charset</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class ZipInputStream -->
+<i>ZipInputStream</i><br>
+&nbsp;&nbsp;<A HREF="java.util.zip.ZipInputStream.html" class="hiddenlink" target="rightframe">java.util.zip</A><br>
+<!-- Constructor ZipInputStream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.zip.ZipInputStream.html#java.util.zip.ZipInputStream.ctor_added(java.io.InputStream, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipInputStream</b>
+(<code>InputStream, Charset</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class ZipOutputStream -->
+<i>ZipOutputStream</i><br>
+&nbsp;&nbsp;<A HREF="java.util.zip.ZipOutputStream.html" class="hiddenlink" target="rightframe">java.util.zip</A><br>
+<!-- Constructor ZipOutputStream -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.zip.ZipOutputStream.html#java.util.zip.ZipOutputStream.ctor_added(java.io.OutputStream, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipOutputStream</b>
+(<code>OutputStream, Charset</code>)</A></nobr>&nbsp;constructor<br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/alldiffs_index_changes.html b/docs/html/sdk/api_diff/24/changes/alldiffs_index_changes.html
new file mode 100644
index 0000000..11d1b8a
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/alldiffs_index_changes.html
@@ -0,0 +1,2284 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+All Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for All Differences" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="alldiffs_index_all.html" xclass="hiddenlink">All Differences</a>
+  <br>
+<A HREF="alldiffs_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="alldiffs_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<!-- Class AbsSavedState -->
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.AbsSavedState.html" class="hiddenlink" target="rightframe">AbsSavedState</A><br>
+<!-- Class AbsSeekBar -->
+<A HREF="android.widget.AbsSeekBar.html" class="hiddenlink" target="rightframe">AbsSeekBar</A><br>
+<!-- Class AbstractStringBuilder -->
+<A HREF="java.lang.AbstractStringBuilder.html" class="hiddenlink" target="rightframe">AbstractStringBuilder</A><br>
+<!-- Class AccessibilityNodeInfo -->
+<A HREF="android.view.accessibility.AccessibilityNodeInfo.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfo</A><br>
+<!-- Class AccessibilityNodeInfo.AccessibilityAction -->
+<A HREF="android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfo.AccessibilityAction</A><br>
+<!-- Class AccessibilityService -->
+<A HREF="android.accessibilityservice.AccessibilityService.html" class="hiddenlink" target="rightframe">AccessibilityService</A><br>
+<!-- Class AccessibilityServiceInfo -->
+<A HREF="android.accessibilityservice.AccessibilityServiceInfo.html" class="hiddenlink" target="rightframe">AccessibilityServiceInfo</A><br>
+<!-- Class AccessibilityWindowInfo -->
+<A HREF="android.view.accessibility.AccessibilityWindowInfo.html" class="hiddenlink" target="rightframe">AccessibilityWindowInfo</A><br>
+<!-- Class AccessibleObject -->
+<A HREF="java.lang.reflect.AccessibleObject.html" class="hiddenlink" target="rightframe">AccessibleObject</A><br>
+<!-- Field ACTION_NEW_PICTURE -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.ACTION_NEW_PICTURE" class="hiddenlink" target="rightframe">ACTION_NEW_PICTURE</A>
+</nobr><br>
+<!-- Field ACTION_NEW_VIDEO -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.ACTION_NEW_VIDEO" class="hiddenlink" target="rightframe">ACTION_NEW_VIDEO</A>
+</nobr><br>
+<!-- Class Activity -->
+<A HREF="android.app.Activity.html" class="hiddenlink" target="rightframe">Activity</A><br>
+<!-- Class ActivityInfo -->
+<A HREF="android.content.pm.ActivityInfo.html" class="hiddenlink" target="rightframe">ActivityInfo</A><br>
+<!-- Class ActivityInstrumentationTestCase2 -->
+<A HREF="android.test.ActivityInstrumentationTestCase2.html" class="hiddenlink" target="rightframe">ActivityInstrumentationTestCase2</A><br>
+<!-- Class ActivityOptions -->
+<A HREF="android.app.ActivityOptions.html" class="hiddenlink" target="rightframe">ActivityOptions</A><br>
+<!-- Class ActivityTestCase -->
+<A HREF="android.test.ActivityTestCase.html" class="hiddenlink" target="rightframe">ActivityTestCase</A><br>
+<!-- Class ActivityUnitTestCase -->
+<A HREF="android.test.ActivityUnitTestCase.html" class="hiddenlink" target="rightframe">ActivityUnitTestCase</A><br>
+<!-- Method addGpsStatusListener -->
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.addGpsStatusListener_changed(android.location.GpsStatus.Listener)" class="hiddenlink" target="rightframe">addGpsStatusListener
+(<code>Listener</code>)</A></nobr><br>
+<!-- Method addHandler -->
+<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.addHandler_changed(java.util.logging.Handler)" class="hiddenlink" target="rightframe">addHandler
+(<code>Handler</code>)</A></nobr><br>
+<!-- Method addNmeaListener -->
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.addNmeaListener_changed(android.location.GpsStatus.NmeaListener)" class="hiddenlink" target="rightframe">addNmeaListener
+(<code>NmeaListener</code>)</A></nobr><br>
+<!-- Method addOnRoutingChangedListener -->
+<i>addOnRoutingChangedListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.addOnRoutingChangedListener_changed(android.media.AudioRecord.OnRoutingChangedListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>OnRoutingChangedListener, Handler</code>)&nbsp;in&nbsp;android.media.AudioRecord
+</A></nobr><br>
+<!-- Method addOnRoutingChangedListener -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.addOnRoutingChangedListener_changed(android.media.AudioTrack.OnRoutingChangedListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>OnRoutingChangedListener, Handler</code>)&nbsp;in&nbsp;android.media.AudioTrack
+</A></nobr><br>
+<!-- Method addPropertyChangeListener -->
+<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.addPropertyChangeListener_changed(java.beans.PropertyChangeListener)" class="hiddenlink" target="rightframe">addPropertyChangeListener
+(<code>PropertyChangeListener</code>)</A></nobr><br>
+<!-- Class AlarmManager -->
+<A HREF="android.app.AlarmManager.html" class="hiddenlink" target="rightframe">AlarmManager</A><br>
+<!-- Class Allocation -->
+<A HREF="android.renderscript.Allocation.html" class="hiddenlink" target="rightframe">Allocation</A><br>
+<!-- Package android -->
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<!-- Package android.accessibilityservice -->
+<A HREF="pkg_android.accessibilityservice.html" class="hiddenlink" target="rightframe">android.accessibilityservice</A><br>
+<!-- Package android.animation -->
+<A HREF="pkg_android.animation.html" class="hiddenlink" target="rightframe">android.animation</A><br>
+<!-- Package android.app -->
+<A HREF="pkg_android.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Package android.app.admin -->
+<A HREF="pkg_android.app.admin.html" class="hiddenlink" target="rightframe">android.app.admin</A><br>
+<!-- Package android.app.assist -->
+<A HREF="pkg_android.app.assist.html" class="hiddenlink" target="rightframe">android.app.assist</A><br>
+<!-- Package android.app.backup -->
+<A HREF="pkg_android.app.backup.html" class="hiddenlink" target="rightframe">android.app.backup</A><br>
+<!-- Package android.app.job -->
+<A HREF="pkg_android.app.job.html" class="hiddenlink" target="rightframe">android.app.job</A><br>
+<!-- Package android.app.usage -->
+<A HREF="pkg_android.app.usage.html" class="hiddenlink" target="rightframe">android.app.usage</A><br>
+<!-- Package android.bluetooth -->
+<A HREF="pkg_android.bluetooth.html" class="hiddenlink" target="rightframe">android.bluetooth</A><br>
+<!-- Package android.content -->
+<A HREF="pkg_android.content.html" class="hiddenlink" target="rightframe">android.content</A><br>
+<!-- Package android.content.pm -->
+<A HREF="pkg_android.content.pm.html" class="hiddenlink" target="rightframe">android.content.pm</A><br>
+<!-- Package android.content.res -->
+<A HREF="pkg_android.content.res.html" class="hiddenlink" target="rightframe">android.content.res</A><br>
+<!-- Package android.database -->
+<A HREF="pkg_android.database.html" class="hiddenlink" target="rightframe">android.database</A><br>
+<!-- Package android.database.sqlite -->
+<A HREF="pkg_android.database.sqlite.html" class="hiddenlink" target="rightframe">android.database.sqlite</A><br>
+<!-- Package android.drm -->
+<A HREF="pkg_android.drm.html" class="hiddenlink" target="rightframe">android.drm</A><br>
+<!-- Package android.graphics -->
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<!-- Package android.graphics.drawable -->
+<A HREF="pkg_android.graphics.drawable.html" class="hiddenlink" target="rightframe">android.graphics.drawable</A><br>
+<!-- Package android.hardware -->
+<A HREF="pkg_android.hardware.html" class="hiddenlink" target="rightframe">android.hardware</A><br>
+<!-- Package android.hardware.camera2 -->
+<A HREF="pkg_android.hardware.camera2.html" class="hiddenlink" target="rightframe">android.hardware.camera2</A><br>
+<!-- Package android.hardware.camera2.params -->
+<A HREF="pkg_android.hardware.camera2.params.html" class="hiddenlink" target="rightframe">android.hardware.camera2.params</A><br>
+<!-- Package android.location -->
+<A HREF="pkg_android.location.html" class="hiddenlink" target="rightframe">android.location</A><br>
+<!-- Package android.media -->
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<!-- Package android.media.browse -->
+<A HREF="pkg_android.media.browse.html" class="hiddenlink" target="rightframe">android.media.browse</A><br>
+<!-- Package android.media.session -->
+<A HREF="pkg_android.media.session.html" class="hiddenlink" target="rightframe">android.media.session</A><br>
+<!-- Package android.media.tv -->
+<A HREF="pkg_android.media.tv.html" class="hiddenlink" target="rightframe">android.media.tv</A><br>
+<!-- Package android.mtp -->
+<A HREF="pkg_android.mtp.html" class="hiddenlink" target="rightframe">android.mtp</A><br>
+<!-- Package android.net -->
+<A HREF="pkg_android.net.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<!-- Package android.net.wifi -->
+<A HREF="pkg_android.net.wifi.html" class="hiddenlink" target="rightframe">android.net.wifi</A><br>
+<!-- Package android.nfc -->
+<A HREF="pkg_android.nfc.html" class="hiddenlink" target="rightframe">android.nfc</A><br>
+<!-- Package android.nfc.cardemulation -->
+<A HREF="pkg_android.nfc.cardemulation.html" class="hiddenlink" target="rightframe">android.nfc.cardemulation</A><br>
+<!-- Package android.opengl -->
+<A HREF="pkg_android.opengl.html" class="hiddenlink" target="rightframe">android.opengl</A><br>
+<!-- Package android.os -->
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<!-- Package android.os.storage -->
+<A HREF="pkg_android.os.storage.html" class="hiddenlink" target="rightframe">android.os.storage</A><br>
+<!-- Package android.preference -->
+<A HREF="pkg_android.preference.html" class="hiddenlink" target="rightframe">android.preference</A><br>
+<!-- Package android.print -->
+<A HREF="pkg_android.print.html" class="hiddenlink" target="rightframe">android.print</A><br>
+<!-- Package android.printservice -->
+<A HREF="pkg_android.printservice.html" class="hiddenlink" target="rightframe">android.printservice</A><br>
+<!-- Package android.provider -->
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<!-- Package android.renderscript -->
+<A HREF="pkg_android.renderscript.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<!-- Package android.security -->
+<A HREF="pkg_android.security.html" class="hiddenlink" target="rightframe">android.security</A><br>
+<!-- Package android.security.keystore -->
+<A HREF="pkg_android.security.keystore.html" class="hiddenlink" target="rightframe">android.security.keystore</A><br>
+<!-- Package android.service.carrier -->
+<A HREF="pkg_android.service.carrier.html" class="hiddenlink" target="rightframe">android.service.carrier</A><br>
+<!-- Package android.service.media -->
+<A HREF="pkg_android.service.media.html" class="hiddenlink" target="rightframe">android.service.media</A><br>
+<!-- Package android.service.notification -->
+<A HREF="pkg_android.service.notification.html" class="hiddenlink" target="rightframe">android.service.notification</A><br>
+<!-- Package android.service.voice -->
+<A HREF="pkg_android.service.voice.html" class="hiddenlink" target="rightframe">android.service.voice</A><br>
+<!-- Package android.speech.tts -->
+<A HREF="pkg_android.speech.tts.html" class="hiddenlink" target="rightframe">android.speech.tts</A><br>
+<!-- Package android.telecom -->
+<A HREF="pkg_android.telecom.html" class="hiddenlink" target="rightframe">android.telecom</A><br>
+<!-- Package android.telephony -->
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<!-- Package android.test -->
+<A HREF="pkg_android.test.html" class="hiddenlink" target="rightframe">android.test</A><br>
+<!-- Package android.test.mock -->
+<A HREF="pkg_android.test.mock.html" class="hiddenlink" target="rightframe">android.test.mock</A><br>
+<!-- Package android.test.suitebuilder.annotation -->
+<A HREF="pkg_android.test.suitebuilder.annotation.html" class="hiddenlink" target="rightframe">android.test.suitebuilder.annotation</A><br>
+<!-- Package android.text -->
+<A HREF="pkg_android.text.html" class="hiddenlink" target="rightframe">android.text</A><br>
+<!-- Package android.text.style -->
+<A HREF="pkg_android.text.style.html" class="hiddenlink" target="rightframe">android.text.style</A><br>
+<!-- Package android.text.util -->
+<A HREF="pkg_android.text.util.html" class="hiddenlink" target="rightframe">android.text.util</A><br>
+<!-- Package android.util -->
+<A HREF="pkg_android.util.html" class="hiddenlink" target="rightframe">android.util</A><br>
+<!-- Package android.view -->
+<A HREF="pkg_android.view.html" class="hiddenlink" target="rightframe">android.view</A><br>
+<!-- Package android.view.accessibility -->
+<A HREF="pkg_android.view.accessibility.html" class="hiddenlink" target="rightframe">android.view.accessibility</A><br>
+<!-- Package android.view.inputmethod -->
+<A HREF="pkg_android.view.inputmethod.html" class="hiddenlink" target="rightframe">android.view.inputmethod</A><br>
+<!-- Package android.view.textservice -->
+<A HREF="pkg_android.view.textservice.html" class="hiddenlink" target="rightframe">android.view.textservice</A><br>
+<!-- Package android.webkit -->
+<A HREF="pkg_android.webkit.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<!-- Package android.widget -->
+<A HREF="pkg_android.widget.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<!-- Class AndroidTestCase -->
+<A HREF="android.test.AndroidTestCase.html" class="hiddenlink" target="rightframe">AndroidTestCase</A><br>
+<!-- Class AndroidTestRunner -->
+<A HREF="android.test.AndroidTestRunner.html" class="hiddenlink" target="rightframe">AndroidTestRunner</A><br>
+<!-- Class Animator -->
+<A HREF="android.animation.Animator.html" class="hiddenlink" target="rightframe">Animator</A><br>
+<!-- Class AnnotatedElement -->
+<A HREF="java.lang.reflect.AnnotatedElement.html" class="hiddenlink" target="rightframe"><i>AnnotatedElement</i></A><br>
+<!-- Class ApplicationInfo -->
+<A HREF="android.content.pm.ApplicationInfo.html" class="hiddenlink" target="rightframe">ApplicationInfo</A><br>
+<!-- Class ApplicationTestCase -->
+<A HREF="android.test.ApplicationTestCase.html" class="hiddenlink" target="rightframe">ApplicationTestCase</A><br>
+<!-- Class ArrayBlockingQueue -->
+<A HREF="java.util.concurrent.ArrayBlockingQueue.html" class="hiddenlink" target="rightframe">ArrayBlockingQueue</A><br>
+<!-- Class ArrayDeque -->
+<A HREF="java.util.ArrayDeque.html" class="hiddenlink" target="rightframe">ArrayDeque</A><br>
+<!-- Class ArrayList -->
+<A HREF="java.util.ArrayList.html" class="hiddenlink" target="rightframe">ArrayList</A><br>
+<!-- Class Arrays -->
+<A HREF="java.util.Arrays.html" class="hiddenlink" target="rightframe">Arrays</A><br>
+<!-- Class AssistContent -->
+<A HREF="android.app.assist.AssistContent.html" class="hiddenlink" target="rightframe">AssistContent</A><br>
+<!-- Class AtomicInteger -->
+<A HREF="java.util.concurrent.atomic.AtomicInteger.html" class="hiddenlink" target="rightframe">AtomicInteger</A><br>
+<!-- Class AtomicIntegerArray -->
+<A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html" class="hiddenlink" target="rightframe">AtomicIntegerArray</A><br>
+<!-- Class AtomicIntegerFieldUpdater -->
+<A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html" class="hiddenlink" target="rightframe">AtomicIntegerFieldUpdater</A><br>
+<!-- Class AtomicLong -->
+<A HREF="java.util.concurrent.atomic.AtomicLong.html" class="hiddenlink" target="rightframe">AtomicLong</A><br>
+<!-- Class AtomicLongArray -->
+<A HREF="java.util.concurrent.atomic.AtomicLongArray.html" class="hiddenlink" target="rightframe">AtomicLongArray</A><br>
+<!-- Class AtomicLongFieldUpdater -->
+<A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html" class="hiddenlink" target="rightframe">AtomicLongFieldUpdater</A><br>
+<!-- Class AtomicReference -->
+<A HREF="java.util.concurrent.atomic.AtomicReference.html" class="hiddenlink" target="rightframe">AtomicReference</A><br>
+<!-- Class AtomicReferenceArray -->
+<A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html" class="hiddenlink" target="rightframe">AtomicReferenceArray</A><br>
+<!-- Class AtomicReferenceFieldUpdater -->
+<A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html" class="hiddenlink" target="rightframe">AtomicReferenceFieldUpdater</A><br>
+<!-- Class AudioAttributes -->
+<A HREF="android.media.AudioAttributes.html" class="hiddenlink" target="rightframe">AudioAttributes</A><br>
+<!-- Class AudioDeviceInfo -->
+<A HREF="android.media.AudioDeviceInfo.html" class="hiddenlink" target="rightframe">AudioDeviceInfo</A><br>
+<!-- Class AudioFormat -->
+<A HREF="android.media.AudioFormat.html" class="hiddenlink" target="rightframe">AudioFormat</A><br>
+<!-- Class AudioManager -->
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<!-- Class AudioRecord -->
+<A HREF="android.media.AudioRecord.html" class="hiddenlink" target="rightframe">AudioRecord</A><br>
+<!-- Class AudioRecord.OnRoutingChangedListener -->
+<A HREF="android.media.AudioRecord.OnRoutingChangedListener.html" class="hiddenlink" target="rightframe"><i>AudioRecord.OnRoutingChangedListener</i></A><br>
+<!-- Class AudioTimestamp -->
+<A HREF="android.media.AudioTimestamp.html" class="hiddenlink" target="rightframe">AudioTimestamp</A><br>
+<!-- Class AudioTrack -->
+<A HREF="android.media.AudioTrack.html" class="hiddenlink" target="rightframe">AudioTrack</A><br>
+<!-- Class AudioTrack.OnRoutingChangedListener -->
+<A HREF="android.media.AudioTrack.OnRoutingChangedListener.html" class="hiddenlink" target="rightframe"><i>AudioTrack.OnRoutingChangedListener</i></A><br>
+<!-- Class AutoCompleteTextView -->
+<A HREF="android.widget.AutoCompleteTextView.html" class="hiddenlink" target="rightframe">AutoCompleteTextView</A><br>
+<!-- Class BackupAgent -->
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.backup.BackupAgent.html" class="hiddenlink" target="rightframe">BackupAgent</A><br>
+<!-- Class BaseInputConnection -->
+<A HREF="android.view.inputmethod.BaseInputConnection.html" class="hiddenlink" target="rightframe">BaseInputConnection</A><br>
+<!-- Class BatchUpdateException -->
+<A HREF="java.sql.BatchUpdateException.html" class="hiddenlink" target="rightframe">BatchUpdateException</A><br>
+<!-- Field bigContentView -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.bigContentView" class="hiddenlink" target="rightframe">bigContentView</A>
+</nobr><br>
+<!-- Class BitmapFactory.Options -->
+<A HREF="android.graphics.BitmapFactory.Options.html" class="hiddenlink" target="rightframe">BitmapFactory.Options</A><br>
+<!-- Class BitSet -->
+<A HREF="java.util.BitSet.html" class="hiddenlink" target="rightframe">BitSet</A><br>
+<!-- Class BluetoothGattCharacteristic -->
+<A HREF="android.bluetooth.BluetoothGattCharacteristic.html" class="hiddenlink" target="rightframe">BluetoothGattCharacteristic</A><br>
+<!-- Class BluetoothGattDescriptor -->
+<A HREF="android.bluetooth.BluetoothGattDescriptor.html" class="hiddenlink" target="rightframe">BluetoothGattDescriptor</A><br>
+<!-- Class BluetoothGattService -->
+<A HREF="android.bluetooth.BluetoothGattService.html" class="hiddenlink" target="rightframe">BluetoothGattService</A><br>
+<!-- Class Boolean -->
+<A HREF="java.lang.Boolean.html" class="hiddenlink" target="rightframe">Boolean</A><br>
+<!-- Class BufferedReader -->
+<A HREF="java.io.BufferedReader.html" class="hiddenlink" target="rightframe">BufferedReader</A><br>
+<!-- Class Build.VERSION_CODES -->
+<A HREF="android.os.Build.VERSION_CODES.html" class="hiddenlink" target="rightframe">Build.VERSION_CODES</A><br>
+<!-- Class Byte -->
+<A HREF="java.lang.Byte.html" class="hiddenlink" target="rightframe">Byte</A><br>
+<!-- Class Calendar -->
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.Calendar.html" class="hiddenlink" target="rightframe">Calendar</A><br>
+<!-- Class CalendarView -->
+<A HREF="android.widget.CalendarView.html" class="hiddenlink" target="rightframe">CalendarView</A><br>
+<!-- Class Call.Details -->
+<A HREF="android.telecom.Call.Details.html" class="hiddenlink" target="rightframe">Call.Details</A><br>
+<!-- Class CallLog.Calls -->
+<A HREF="android.provider.CallLog.Calls.html" class="hiddenlink" target="rightframe">CallLog.Calls</A><br>
+<!-- Class Camera -->
+<A HREF="android.hardware.Camera.html" class="hiddenlink" target="rightframe">Camera</A><br>
+<!-- Class CameraCaptureSession.CaptureCallback -->
+<A HREF="android.hardware.camera2.CameraCaptureSession.CaptureCallback.html" class="hiddenlink" target="rightframe">CameraCaptureSession.CaptureCallback</A><br>
+<!-- Class CameraCharacteristics -->
+<A HREF="android.hardware.camera2.CameraCharacteristics.html" class="hiddenlink" target="rightframe">CameraCharacteristics</A><br>
+<!-- Class CameraDevice -->
+<A HREF="android.hardware.camera2.CameraDevice.html" class="hiddenlink" target="rightframe">CameraDevice</A><br>
+<!-- Class CameraMetadata -->
+<A HREF="android.hardware.camera2.CameraMetadata.html" class="hiddenlink" target="rightframe">CameraMetadata</A><br>
+<!-- Class CaptureRequest -->
+<A HREF="android.hardware.camera2.CaptureRequest.html" class="hiddenlink" target="rightframe">CaptureRequest</A><br>
+<!-- Class CaptureResult -->
+<A HREF="android.hardware.camera2.CaptureResult.html" class="hiddenlink" target="rightframe">CaptureResult</A><br>
+<!-- Class CarrierConfigManager -->
+<A HREF="android.telephony.CarrierConfigManager.html" class="hiddenlink" target="rightframe">CarrierConfigManager</A><br>
+<!-- Class CarrierMessagingService -->
+<A HREF="android.service.carrier.CarrierMessagingService.html" class="hiddenlink" target="rightframe">CarrierMessagingService</A><br>
+<!-- Class CellIdentityGsm -->
+<A HREF="android.telephony.CellIdentityGsm.html" class="hiddenlink" target="rightframe">CellIdentityGsm</A><br>
+<!-- Class CellIdentityLte -->
+<A HREF="android.telephony.CellIdentityLte.html" class="hiddenlink" target="rightframe">CellIdentityLte</A><br>
+<!-- Class CellIdentityWcdma -->
+<A HREF="android.telephony.CellIdentityWcdma.html" class="hiddenlink" target="rightframe">CellIdentityWcdma</A><br>
+<!-- Class CertPathBuilder -->
+<A HREF="java.security.cert.CertPathBuilder.html" class="hiddenlink" target="rightframe">CertPathBuilder</A><br>
+<!-- Class CertPathBuilderSpi -->
+<A HREF="java.security.cert.CertPathBuilderSpi.html" class="hiddenlink" target="rightframe">CertPathBuilderSpi</A><br>
+<!-- Class CertPathValidator -->
+<A HREF="java.security.cert.CertPathValidator.html" class="hiddenlink" target="rightframe">CertPathValidator</A><br>
+<!-- Class CertPathValidatorException -->
+<A HREF="java.security.cert.CertPathValidatorException.html" class="hiddenlink" target="rightframe">CertPathValidatorException</A><br>
+<!-- Class CertPathValidatorSpi -->
+<A HREF="java.security.cert.CertPathValidatorSpi.html" class="hiddenlink" target="rightframe">CertPathValidatorSpi</A><br>
+<!-- Class Character -->
+<A HREF="java.lang.Character.html" class="hiddenlink" target="rightframe">Character</A><br>
+<!-- Class Character.UnicodeBlock -->
+<A HREF="java.lang.Character.UnicodeBlock.html" class="hiddenlink" target="rightframe">Character.UnicodeBlock</A><br>
+<!-- Class CharBuffer -->
+<A HREF="java.nio.CharBuffer.html" class="hiddenlink" target="rightframe">CharBuffer</A><br>
+<!-- Class CharSequence -->
+<A HREF="java.lang.CharSequence.html" class="hiddenlink" target="rightframe"><i>CharSequence</i></A><br>
+<!-- Method checkAccess -->
+<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.checkAccess_changed()" class="hiddenlink" target="rightframe">checkAccess
+()</A></nobr><br>
+<!-- Class Chronometer -->
+<A HREF="android.widget.Chronometer.html" class="hiddenlink" target="rightframe">Chronometer</A><br>
+<!-- Class Class -->
+<A HREF="java.lang.Class.html" class="hiddenlink" target="rightframe">Class</A><br>
+<!-- Class ClassLoader -->
+<A HREF="java.lang.ClassLoader.html" class="hiddenlink" target="rightframe">ClassLoader</A><br>
+<!-- Method clearCache -->
+<i>clearCache</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.clearCache_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<!-- Method clearCache -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.clearCache_changed(java.lang.ClassLoader)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>ClassLoader</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<!-- Class ClipDescription -->
+<A HREF="android.content.ClipDescription.html" class="hiddenlink" target="rightframe">ClipDescription</A><br>
+<!-- Method close -->
+<i>close</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.close_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.logging.Handler
+</A></nobr><br>
+<!-- Method close -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.MemoryHandler.html#java.util.logging.MemoryHandler.close_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.logging.MemoryHandler
+</A></nobr><br>
+<!-- Method close -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.StreamHandler.html#java.util.logging.StreamHandler.close_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.logging.StreamHandler
+</A></nobr><br>
+<!-- Class CoderResult -->
+<A HREF="java.nio.charset.CoderResult.html" class="hiddenlink" target="rightframe">CoderResult</A><br>
+<!-- Class Collection -->
+<A HREF="java.util.Collection.html" class="hiddenlink" target="rightframe"><i>Collection</i></A><br>
+<!-- Class Collections -->
+<A HREF="java.util.Collections.html" class="hiddenlink" target="rightframe">Collections</A><br>
+<!-- Class Color -->
+<A HREF="android.graphics.Color.html" class="hiddenlink" target="rightframe">Color</A><br>
+<!-- Field COLUMN_EPISODE_NUMBER -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_EPISODE_NUMBER" class="hiddenlink" target="rightframe">COLUMN_EPISODE_NUMBER</A>
+</nobr><br>
+<!-- Field COLUMN_LOCAL_FILENAME -->
+<nobr><A HREF="android.app.DownloadManager.html#android.app.DownloadManager.COLUMN_LOCAL_FILENAME" class="hiddenlink" target="rightframe">COLUMN_LOCAL_FILENAME</A>
+</nobr><br>
+<!-- Field COLUMN_SEASON_NUMBER -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_SEASON_NUMBER" class="hiddenlink" target="rightframe">COLUMN_SEASON_NUMBER</A>
+</nobr><br>
+<!-- Class CommonDataSource -->
+<A HREF="javax.sql.CommonDataSource.html" class="hiddenlink" target="rightframe"><i>CommonDataSource</i></A><br>
+<!-- Class Comparator -->
+<A HREF="java.util.Comparator.html" class="hiddenlink" target="rightframe"><i>Comparator</i></A><br>
+<!-- Class ComponentInfo -->
+<A HREF="android.content.pm.ComponentInfo.html" class="hiddenlink" target="rightframe">ComponentInfo</A><br>
+<!-- Class ConcurrentHashMap -->
+<A HREF="java.util.concurrent.ConcurrentHashMap.html" class="hiddenlink" target="rightframe">ConcurrentHashMap</A><br>
+<!-- Class ConcurrentLinkedDeque -->
+<A HREF="java.util.concurrent.ConcurrentLinkedDeque.html" class="hiddenlink" target="rightframe">ConcurrentLinkedDeque</A><br>
+<!-- Class ConcurrentLinkedQueue -->
+<A HREF="java.util.concurrent.ConcurrentLinkedQueue.html" class="hiddenlink" target="rightframe">ConcurrentLinkedQueue</A><br>
+<!-- Class ConcurrentSkipListMap -->
+<A HREF="java.util.concurrent.ConcurrentSkipListMap.html" class="hiddenlink" target="rightframe">ConcurrentSkipListMap</A><br>
+<!-- Class ConcurrentSkipListSet -->
+<A HREF="java.util.concurrent.ConcurrentSkipListSet.html" class="hiddenlink" target="rightframe">ConcurrentSkipListSet</A><br>
+<!-- Class Configuration -->
+<A HREF="android.content.res.Configuration.html" class="hiddenlink" target="rightframe">Configuration</A><br>
+<!-- Class Connection -->
+<A HREF="android.telecom.Connection.html" class="hiddenlink" target="rightframe">Connection</A><br>
+<!-- Class ConnectionEvent -->
+<A HREF="javax.sql.ConnectionEvent.html" class="hiddenlink" target="rightframe">ConnectionEvent</A><br>
+<!-- Class ConnectionService -->
+<A HREF="android.telecom.ConnectionService.html" class="hiddenlink" target="rightframe">ConnectionService</A><br>
+<!-- Class ConnectivityManager -->
+<A HREF="android.net.ConnectivityManager.html" class="hiddenlink" target="rightframe">ConnectivityManager</A><br>
+<!-- Class Constructor -->
+<A HREF="java.lang.reflect.Constructor.html" class="hiddenlink" target="rightframe">Constructor</A><br>
+<!-- Class ContactsContract.CommonDataKinds.Callable -->
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Callable.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Callable</A><br>
+<!-- Class ContactsContract.CommonDataKinds.Email -->
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Email.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Email</A><br>
+<!-- Class ContactsContract.CommonDataKinds.Organization -->
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Organization.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Organization</A><br>
+<!-- Class ContactsContract.CommonDataKinds.Phone -->
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Phone.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Phone</A><br>
+<!-- Class ContactsContract.CommonDataKinds.StructuredName -->
+<A HREF="android.provider.ContactsContract.CommonDataKinds.StructuredName.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.StructuredName</A><br>
+<!-- Class ContactsContract.Contacts -->
+<A HREF="android.provider.ContactsContract.Contacts.html" class="hiddenlink" target="rightframe">ContactsContract.Contacts</A><br>
+<!-- Class ContactsContract.Directory -->
+<A HREF="android.provider.ContactsContract.Directory.html" class="hiddenlink" target="rightframe">ContactsContract.Directory</A><br>
+<!-- Class ContactsContract.Intents -->
+<A HREF="android.provider.ContactsContract.Intents.html" class="hiddenlink" target="rightframe">ContactsContract.Intents</A><br>
+<!-- Class ContactsContract.PhoneLookupColumns -->
+<A HREF="android.provider.ContactsContract.PhoneLookupColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.PhoneLookupColumns</i></A><br>
+<!-- Class ContactsContract.RawContactsColumns -->
+<A HREF="android.provider.ContactsContract.RawContactsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.RawContactsColumns</i></A><br>
+<!-- Class ContentProviderClient -->
+<A HREF="android.content.ContentProviderClient.html" class="hiddenlink" target="rightframe">ContentProviderClient</A><br>
+<!-- Class ContentResolver -->
+<A HREF="android.content.ContentResolver.html" class="hiddenlink" target="rightframe">ContentResolver</A><br>
+<!-- Field contentView -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.contentView" class="hiddenlink" target="rightframe">contentView</A>
+</nobr><br>
+<!-- Class Context -->
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<!-- Class ContextWrapper -->
+<A HREF="android.content.ContextWrapper.html" class="hiddenlink" target="rightframe">ContextWrapper</A><br>
+<!-- Class CopyOnWriteArrayList -->
+<A HREF="java.util.concurrent.CopyOnWriteArrayList.html" class="hiddenlink" target="rightframe">CopyOnWriteArrayList</A><br>
+<!-- Class CopyOnWriteArraySet -->
+<A HREF="java.util.concurrent.CopyOnWriteArraySet.html" class="hiddenlink" target="rightframe">CopyOnWriteArraySet</A><br>
+<!-- Class Currency -->
+<A HREF="java.util.Currency.html" class="hiddenlink" target="rightframe">Currency</A><br>
+<!-- Class CursorJoiner -->
+<A HREF="android.database.CursorJoiner.html" class="hiddenlink" target="rightframe">CursorJoiner</A><br>
+<!-- Class DatagramChannel -->
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.nio.channels.DatagramChannel.html" class="hiddenlink" target="rightframe">DatagramChannel</A><br>
+<!-- Class DataTruncation -->
+<A HREF="java.sql.DataTruncation.html" class="hiddenlink" target="rightframe">DataTruncation</A><br>
+<!-- Class DatePicker -->
+<A HREF="android.widget.DatePicker.html" class="hiddenlink" target="rightframe">DatePicker</A><br>
+<!-- Class DatePickerDialog -->
+<A HREF="android.app.DatePickerDialog.html" class="hiddenlink" target="rightframe">DatePickerDialog</A><br>
+<!-- Class DecimalFormatSymbols -->
+<A HREF="java.text.DecimalFormatSymbols.html" class="hiddenlink" target="rightframe">DecimalFormatSymbols</A><br>
+<!-- Method defaulted -->
+<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.defaulted_changed(java.lang.String)" class="hiddenlink" target="rightframe">defaulted
+(<code>String</code>)</A></nobr><br>
+<!-- Method defaultReadObject -->
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.defaultReadObject_changed()" class="hiddenlink" target="rightframe">defaultReadObject
+()</A></nobr><br>
+<!-- Class DeviceAdminReceiver -->
+<A HREF="android.app.admin.DeviceAdminReceiver.html" class="hiddenlink" target="rightframe">DeviceAdminReceiver</A><br>
+<!-- Class DevicePolicyManager -->
+<A HREF="android.app.admin.DevicePolicyManager.html" class="hiddenlink" target="rightframe">DevicePolicyManager</A><br>
+<!-- Class Display -->
+<A HREF="android.view.Display.html" class="hiddenlink" target="rightframe">Display</A><br>
+<!-- Class DisplayMetrics -->
+<A HREF="android.util.DisplayMetrics.html" class="hiddenlink" target="rightframe">DisplayMetrics</A><br>
+<!-- Class DocumentsContract -->
+<A HREF="android.provider.DocumentsContract.html" class="hiddenlink" target="rightframe">DocumentsContract</A><br>
+<!-- Class DocumentsContract.Document -->
+<A HREF="android.provider.DocumentsContract.Document.html" class="hiddenlink" target="rightframe">DocumentsContract.Document</A><br>
+<!-- Class DocumentsContract.Root -->
+<A HREF="android.provider.DocumentsContract.Root.html" class="hiddenlink" target="rightframe">DocumentsContract.Root</A><br>
+<!-- Class DocumentsProvider -->
+<A HREF="android.provider.DocumentsProvider.html" class="hiddenlink" target="rightframe">DocumentsProvider</A><br>
+<!-- Class Double -->
+<A HREF="java.lang.Double.html" class="hiddenlink" target="rightframe">Double</A><br>
+<!-- Class DownloadManager -->
+<A HREF="android.app.DownloadManager.html" class="hiddenlink" target="rightframe">DownloadManager</A><br>
+<!-- Class DownloadManager.Request -->
+<A HREF="android.app.DownloadManager.Request.html" class="hiddenlink" target="rightframe">DownloadManager.Request</A><br>
+<!-- Class DrmManagerClient -->
+<A HREF="android.drm.DrmManagerClient.html" class="hiddenlink" target="rightframe">DrmManagerClient</A><br>
+<!-- Class EditorInfo -->
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.inputmethod.EditorInfo.html" class="hiddenlink" target="rightframe">EditorInfo</A><br>
+<!-- Method enableReplaceObject -->
+<nobr><A HREF="java.io.ObjectOutputStream.html#java.io.ObjectOutputStream.enableReplaceObject_changed(boolean)" class="hiddenlink" target="rightframe">enableReplaceObject
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method enableResolveObject -->
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.enableResolveObject_changed(boolean)" class="hiddenlink" target="rightframe">enableResolveObject
+(<code>boolean</code>)</A></nobr><br>
+<!-- Class EnumMap -->
+<A HREF="java.util.EnumMap.html" class="hiddenlink" target="rightframe">EnumMap</A><br>
+<!-- Class Error -->
+<A HREF="java.lang.Error.html" class="hiddenlink" target="rightframe">Error</A><br>
+<!-- Class EventListenerProxy -->
+<i>EventListenerProxy</i><br>
+&nbsp;&nbsp;<A HREF="java.util.EventListenerProxy.html" class="hiddenlink" target="rightframe">java.util</A><br>
+<!-- Constructor EventListenerProxy -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.EventListenerProxy.html#java.util.EventListenerProxy.ctor_changed(T)" class="hiddenlink" target="rightframe">EventListenerProxy
+(<code>T</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Exception -->
+<A HREF="java.lang.Exception.html" class="hiddenlink" target="rightframe">Exception</A><br>
+<!-- Class Executors -->
+<A HREF="java.util.concurrent.Executors.html" class="hiddenlink" target="rightframe">Executors</A><br>
+<!-- Class ExifInterface -->
+<A HREF="android.media.ExifInterface.html" class="hiddenlink" target="rightframe">ExifInterface</A><br>
+<!-- Field FEATURE_INDETERMINATE_PROGRESS -->
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.Window.html#android.view.Window.FEATURE_INDETERMINATE_PROGRESS" class="hiddenlink" target="rightframe">FEATURE_INDETERMINATE_PROGRESS</A>
+</nobr><br>
+<!-- Field FEATURE_PROGRESS -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.FEATURE_PROGRESS" class="hiddenlink" target="rightframe">FEATURE_PROGRESS</A>
+</nobr><br>
+<!-- Class FeatureInfo -->
+<A HREF="android.content.pm.FeatureInfo.html" class="hiddenlink" target="rightframe">FeatureInfo</A><br>
+<!-- Class Field -->
+<A HREF="java.lang.reflect.Field.html" class="hiddenlink" target="rightframe">Field</A><br>
+<!-- Class FileChannel -->
+<A HREF="java.nio.channels.FileChannel.html" class="hiddenlink" target="rightframe">FileChannel</A><br>
+<!-- Class FileLock -->
+<A HREF="java.nio.channels.FileLock.html" class="hiddenlink" target="rightframe">FileLock</A><br>
+<!-- Class FlakyTest -->
+<A HREF="android.test.FlakyTest.html" class="hiddenlink" target="rightframe">FlakyTest</A><br>
+<!-- Class Float -->
+<A HREF="java.lang.Float.html" class="hiddenlink" target="rightframe">Float</A><br>
+<!-- Class ForkJoinPool -->
+<A HREF="java.util.concurrent.ForkJoinPool.html" class="hiddenlink" target="rightframe">ForkJoinPool</A><br>
+<!-- Class ForkJoinTask -->
+<A HREF="java.util.concurrent.ForkJoinTask.html" class="hiddenlink" target="rightframe">ForkJoinTask</A><br>
+<!-- Class FormatFlagsConversionMismatchException -->
+<A HREF="java.util.FormatFlagsConversionMismatchException.html" class="hiddenlink" target="rightframe">FormatFlagsConversionMismatchException</A><br>
+<!-- Class Formattable -->
+<A HREF="java.util.Formattable.html" class="hiddenlink" target="rightframe"><i>Formattable</i></A><br>
+<!-- Class FormatterClosedException -->
+<A HREF="java.util.FormatterClosedException.html" class="hiddenlink" target="rightframe">FormatterClosedException</A><br>
+<!-- Method formatTo -->
+<nobr><A HREF="java.util.Formattable.html#java.util.Formattable.formatTo_changed(java.util.Formatter, int, int, int)" class="hiddenlink" target="rightframe">formatTo
+(<code>Formatter, int, int, int</code>)</A></nobr><br>
+<!-- Method forName -->
+<nobr><A HREF="java.lang.Character.UnicodeBlock.html#java.lang.Character.UnicodeBlock.forName_changed(java.lang.String)" class="hiddenlink" target="rightframe">forName
+(<code>String</code>)</A></nobr><br>
+<!-- Class Fragment -->
+<A HREF="android.app.Fragment.html" class="hiddenlink" target="rightframe">Fragment</A><br>
+<!-- Class FragmentController -->
+<A HREF="android.app.FragmentController.html" class="hiddenlink" target="rightframe">FragmentController</A><br>
+<!-- Class FragmentHostCallback -->
+<A HREF="android.app.FragmentHostCallback.html" class="hiddenlink" target="rightframe">FragmentHostCallback</A><br>
+<!-- Class FragmentTransaction -->
+<A HREF="android.app.FragmentTransaction.html" class="hiddenlink" target="rightframe">FragmentTransaction</A><br>
+<!-- Class FrameLayout.LayoutParams -->
+<A HREF="android.widget.FrameLayout.LayoutParams.html" class="hiddenlink" target="rightframe">FrameLayout.LayoutParams</A><br>
+<!-- Method fromHtml -->
+<i>fromHtml</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.fromHtml_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+<!-- Method fromHtml -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.fromHtml_changed(java.lang.String, android.text.Html.ImageGetter, android.text.Html.TagHandler)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, ImageGetter, TagHandler</code>)&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+<!-- Method get -->
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>get</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, boolean</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Method get -->
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, byte)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, byte</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Method get -->
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, char)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, char</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Method get -->
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, double)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, double</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Method get -->
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, float)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, float</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Method get -->
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, int</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Method get -->
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Object</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Method get -->
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, long)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, long</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Method get -->
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, short)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, short</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<!-- Field GET_DISABLED_COMPONENTS -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.GET_DISABLED_COMPONENTS" class="hiddenlink" target="rightframe">GET_DISABLED_COMPONENTS</A>
+</nobr><br>
+<!-- Field GET_DISABLED_UNTIL_USED_COMPONENTS -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS" class="hiddenlink" target="rightframe">GET_DISABLED_UNTIL_USED_COMPONENTS</A>
+</nobr><br>
+<!-- Field GET_UNINSTALLED_PACKAGES -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.GET_UNINSTALLED_PACKAGES" class="hiddenlink" target="rightframe">GET_UNINSTALLED_PACKAGES</A>
+</nobr><br>
+<!-- Method getBundle -->
+<i>getBundle</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<!-- Method getBundle -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.Locale, java.lang.ClassLoader)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Locale, ClassLoader</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<!-- Method getBundle -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.Locale)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Locale</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<!-- Method getBundle -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.Locale, java.util.ResourceBundle.Control)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Locale, Control</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<!-- Method getBundle -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.ResourceBundle.Control)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Control</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<!-- Method getCalendarView -->
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.getCalendarView_changed()" class="hiddenlink" target="rightframe">getCalendarView
+()</A></nobr><br>
+<!-- Method getCalendarViewShown -->
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.getCalendarViewShown_changed()" class="hiddenlink" target="rightframe">getCalendarViewShown
+()</A></nobr><br>
+<!-- Method getConstructor -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getConstructor_changed(java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getConstructor
+(<code>Class&lt;?&gt;</code>)</A></nobr><br>
+<!-- Method getConstructors -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getConstructors_changed()" class="hiddenlink" target="rightframe">getConstructors
+()</A></nobr><br>
+<!-- Method getControl -->
+<nobr><A HREF="java.util.ResourceBundle.Control.html#java.util.ResourceBundle.Control.getControl_changed(java.util.List<java.lang.String>)" class="hiddenlink" target="rightframe">getControl
+(<code>List&lt;String&gt;</code>)</A></nobr><br>
+<!-- Method getDeclaredConstructor -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredConstructor_changed(java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getDeclaredConstructor
+(<code>Class&lt;?&gt;</code>)</A></nobr><br>
+<!-- Method getDeclaredConstructors -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredConstructors_changed()" class="hiddenlink" target="rightframe">getDeclaredConstructors
+()</A></nobr><br>
+<!-- Method getDeclaredMethod -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredMethod_changed(java.lang.String, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getDeclaredMethod
+(<code>String, Class&lt;?&gt;</code>)</A></nobr><br>
+<!-- Method getDeclaredMethods -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredMethods_changed()" class="hiddenlink" target="rightframe">getDeclaredMethods
+()</A></nobr><br>
+<!-- Method getFields -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getFields_changed()" class="hiddenlink" target="rightframe">getFields
+()</A></nobr><br>
+<!-- Method getGlobal -->
+<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.getGlobal_changed()" class="hiddenlink" target="rightframe">getGlobal
+()</A></nobr><br>
+<!-- Method getGpsStatus -->
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.getGpsStatus_changed(android.location.GpsStatus)" class="hiddenlink" target="rightframe">getGpsStatus
+(<code>GpsStatus</code>)</A></nobr><br>
+<!-- Method getInstance -->
+<i>getInstance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.text.DecimalFormatSymbols.html#java.text.DecimalFormatSymbols.getInstance_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.text.DecimalFormatSymbols
+</A></nobr><br>
+<!-- Method getInstance -->
+&nbsp;&nbsp;<nobr><A HREF="java.text.DecimalFormatSymbols.html#java.text.DecimalFormatSymbols.getInstance_changed(java.util.Locale)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Locale</code>)&nbsp;in&nbsp;java.text.DecimalFormatSymbols
+</A></nobr><br>
+<!-- Method getISO3Country -->
+<nobr><A HREF="java.util.Locale.html#java.util.Locale.getISO3Country_changed()" class="hiddenlink" target="rightframe">getISO3Country
+()</A></nobr><br>
+<!-- Method getISO3Language -->
+<nobr><A HREF="java.util.Locale.html#java.util.Locale.getISO3Language_changed()" class="hiddenlink" target="rightframe">getISO3Language
+()</A></nobr><br>
+<!-- Method getLastNonConfigurationInstance -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.getLastNonConfigurationInstance_changed()" class="hiddenlink" target="rightframe">getLastNonConfigurationInstance
+()</A></nobr><br>
+<!-- Method getListener -->
+<nobr><A HREF="java.util.EventListenerProxy.html#java.util.EventListenerProxy.getListener_changed()" class="hiddenlink" target="rightframe">getListener
+()</A></nobr><br>
+<!-- Method getLocale -->
+<i>getLocale</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.SuggestionSpan.html#android.text.style.SuggestionSpan.getLocale_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.text.style.SuggestionSpan
+</A></nobr><br>
+<!-- Method getLocale -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.getLocale_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.view.inputmethod.InputMethodSubtype
+</A></nobr><br>
+<!-- Method getLocale -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.textservice.SpellCheckerSubtype.html#android.view.textservice.SpellCheckerSubtype.getLocale_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.view.textservice.SpellCheckerSubtype
+</A></nobr><br>
+<!-- Method getMethod -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getMethod_changed(java.lang.String, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getMethod
+(<code>String, Class&lt;?&gt;</code>)</A></nobr><br>
+<!-- Method getMethods -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getMethods_changed()" class="hiddenlink" target="rightframe">getMethods
+()</A></nobr><br>
+<!-- Method getNoFallbackControl -->
+<nobr><A HREF="java.util.ResourceBundle.Control.html#java.util.ResourceBundle.Control.getNoFallbackControl_changed(java.util.List<java.lang.String>)" class="hiddenlink" target="rightframe">getNoFallbackControl
+(<code>List&lt;String&gt;</code>)</A></nobr><br>
+<!-- Method getReverse -->
+<nobr><A HREF="android.text.TextUtils.html#android.text.TextUtils.getReverse_changed(java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">getReverse
+(<code>CharSequence, int, int</code>)</A></nobr><br>
+<!-- Method getShowWeekNumber -->
+<nobr><A HREF="android.widget.CalendarView.html#android.widget.CalendarView.getShowWeekNumber_changed()" class="hiddenlink" target="rightframe">getShowWeekNumber
+()</A></nobr><br>
+<!-- Method getSpinnersShown -->
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.getSpinnersShown_changed()" class="hiddenlink" target="rightframe">getSpinnersShown
+()</A></nobr><br>
+<!-- Class GLES30 -->
+<A HREF="android.opengl.GLES30.html" class="hiddenlink" target="rightframe">GLES30</A><br>
+<!-- Class GLES31 -->
+<A HREF="android.opengl.GLES31.html" class="hiddenlink" target="rightframe">GLES31</A><br>
+<!-- Method glGetTransformFeedbackVarying -->
+<nobr><A HREF="android.opengl.GLES30.html#android.opengl.GLES30.glGetTransformFeedbackVarying_changed(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, byte)" class="hiddenlink" target="rightframe">glGetTransformFeedbackVarying
+(<code>int, int, int, IntBuffer, IntBuffer, IntBuffer, byte</code>)</A></nobr><br>
+<!-- Class GLSurfaceView -->
+<A HREF="android.opengl.GLSurfaceView.html" class="hiddenlink" target="rightframe">GLSurfaceView</A><br>
+<!-- Field GOOD_IRI_CHAR -->
+<nobr><A HREF="android.util.Patterns.html#android.util.Patterns.GOOD_IRI_CHAR" class="hiddenlink" target="rightframe">GOOD_IRI_CHAR</A>
+</nobr><br>
+<!-- Class GpsSatellite -->
+<A HREF="android.location.GpsSatellite.html" class="hiddenlink" target="rightframe">GpsSatellite</A><br>
+<!-- Class GpsStatus -->
+<A HREF="android.location.GpsStatus.html" class="hiddenlink" target="rightframe">GpsStatus</A><br>
+<!-- Class GpsStatus.Listener -->
+<A HREF="android.location.GpsStatus.Listener.html" class="hiddenlink" target="rightframe"><i>GpsStatus.Listener</i></A><br>
+<!-- Class GpsStatus.NmeaListener -->
+<A HREF="android.location.GpsStatus.NmeaListener.html" class="hiddenlink" target="rightframe"><i>GpsStatus.NmeaListener</i></A><br>
+<!-- Class GradientDrawable -->
+<A HREF="android.graphics.drawable.GradientDrawable.html" class="hiddenlink" target="rightframe">GradientDrawable</A><br>
+<!-- Class GregorianCalendar -->
+<A HREF="java.util.GregorianCalendar.html" class="hiddenlink" target="rightframe">GregorianCalendar</A><br>
+<!-- Class Handler -->
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.logging.Handler.html" class="hiddenlink" target="rightframe">Handler</A><br>
+<!-- Class HashMap -->
+<A HREF="java.util.HashMap.html" class="hiddenlink" target="rightframe">HashMap</A><br>
+<!-- Class HashSet -->
+<A HREF="java.util.HashSet.html" class="hiddenlink" target="rightframe">HashSet</A><br>
+<!-- Class Hashtable -->
+<A HREF="java.util.Hashtable.html" class="hiddenlink" target="rightframe">Hashtable</A><br>
+<!-- Field headsUpContentView -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.headsUpContentView" class="hiddenlink" target="rightframe">headsUpContentView</A>
+</nobr><br>
+<!-- Class Html -->
+<A HREF="android.text.Html.html" class="hiddenlink" target="rightframe">Html</A><br>
+<!-- Class HttpCookie -->
+<A HREF="java.net.HttpCookie.html" class="hiddenlink" target="rightframe">HttpCookie</A><br>
+<!-- Class IdentityHashMap -->
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.IdentityHashMap.html" class="hiddenlink" target="rightframe">IdentityHashMap</A><br>
+<!-- Class IllegalFormatCodePointException -->
+<A HREF="java.util.IllegalFormatCodePointException.html" class="hiddenlink" target="rightframe">IllegalFormatCodePointException</A><br>
+<!-- Class IllegalFormatConversionException -->
+<A HREF="java.util.IllegalFormatConversionException.html" class="hiddenlink" target="rightframe">IllegalFormatConversionException</A><br>
+<!-- Class IllegalFormatException -->
+<A HREF="java.util.IllegalFormatException.html" class="hiddenlink" target="rightframe">IllegalFormatException</A><br>
+<!-- Class IllegalFormatFlagsException -->
+<A HREF="java.util.IllegalFormatFlagsException.html" class="hiddenlink" target="rightframe">IllegalFormatFlagsException</A><br>
+<!-- Class ImageFormat -->
+<A HREF="android.graphics.ImageFormat.html" class="hiddenlink" target="rightframe">ImageFormat</A><br>
+<!-- Class InCallService -->
+<A HREF="android.telecom.InCallService.html" class="hiddenlink" target="rightframe">InCallService</A><br>
+<!-- Field inDither -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inDither" class="hiddenlink" target="rightframe">inDither</A>
+</nobr><br>
+<!-- Class InflaterInputStream -->
+<A HREF="java.util.zip.InflaterInputStream.html" class="hiddenlink" target="rightframe">InflaterInputStream</A><br>
+<!-- Field inPreferQualityOverSpeed -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inPreferQualityOverSpeed" class="hiddenlink" target="rightframe">inPreferQualityOverSpeed</A>
+</nobr><br>
+<!-- Class InputConnection -->
+<A HREF="android.view.inputmethod.InputConnection.html" class="hiddenlink" target="rightframe"><i>InputConnection</i></A><br>
+<!-- Class InputConnectionWrapper -->
+<A HREF="android.view.inputmethod.InputConnectionWrapper.html" class="hiddenlink" target="rightframe">InputConnectionWrapper</A><br>
+<!-- Class InputMethodManager -->
+<A HREF="android.view.inputmethod.InputMethodManager.html" class="hiddenlink" target="rightframe">InputMethodManager</A><br>
+<!-- Class InputMethodSubtype -->
+<A HREF="android.view.inputmethod.InputMethodSubtype.html" class="hiddenlink" target="rightframe">InputMethodSubtype</A><br>
+<!-- Class InputMethodSubtype.InputMethodSubtypeBuilder -->
+<A HREF="android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.html" class="hiddenlink" target="rightframe">InputMethodSubtype.InputMethodSubtypeBuilder</A><br>
+<!-- Class InputMismatchException -->
+<A HREF="java.util.InputMismatchException.html" class="hiddenlink" target="rightframe">InputMismatchException</A><br>
+<!-- Class Instrumentation -->
+<A HREF="android.app.Instrumentation.html" class="hiddenlink" target="rightframe">Instrumentation</A><br>
+<!-- Class InstrumentationTestCase -->
+<A HREF="android.test.InstrumentationTestCase.html" class="hiddenlink" target="rightframe">InstrumentationTestCase</A><br>
+<!-- Class InstrumentationTestRunner -->
+<A HREF="android.test.InstrumentationTestRunner.html" class="hiddenlink" target="rightframe">InstrumentationTestRunner</A><br>
+<!-- Class InstrumentationTestSuite -->
+<A HREF="android.test.InstrumentationTestSuite.html" class="hiddenlink" target="rightframe">InstrumentationTestSuite</A><br>
+<!-- Class Integer -->
+<A HREF="java.lang.Integer.html" class="hiddenlink" target="rightframe">Integer</A><br>
+<!-- Class Intent -->
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<!-- Class InternalError -->
+<A HREF="java.lang.InternalError.html" class="hiddenlink" target="rightframe">InternalError</A><br>
+<!-- Method isAnnotationPresent -->
+<i>isAnnotationPresent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AnnotatedElement.html#java.lang.reflect.AnnotatedElement.isAnnotationPresent_changed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Class&lt;Annotation&gt;</code>)&nbsp;in&nbsp;java.lang.reflect.AnnotatedElement
+</A></nobr><br>
+<!-- Method isAnnotationPresent -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Constructor.html#java.lang.reflect.Constructor.isAnnotationPresent_changed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Class&lt;Annotation&gt;</code>)&nbsp;in&nbsp;java.lang.reflect.Constructor
+</A></nobr><br>
+<!-- Method isAnnotationPresent -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Field.html#java.lang.reflect.Field.isAnnotationPresent_changed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Class&lt;Annotation&gt;</code>)&nbsp;in&nbsp;java.lang.reflect.Field
+</A></nobr><br>
+<!-- Method isGraphic -->
+<nobr><A HREF="android.text.TextUtils.html#android.text.TextUtils.isGraphic_changed(char)" class="hiddenlink" target="rightframe">isGraphic
+(<code>char</code>)</A></nobr><br>
+<!-- Class IsolatedContext -->
+<A HREF="android.test.IsolatedContext.html" class="hiddenlink" target="rightframe">IsolatedContext</A><br>
+<!-- Class Iterable -->
+<A HREF="java.lang.Iterable.html" class="hiddenlink" target="rightframe"><i>Iterable</i></A><br>
+<!-- Class Iterator -->
+<A HREF="java.util.Iterator.html" class="hiddenlink" target="rightframe"><i>Iterator</i></A><br>
+<!-- Package java.awt.font -->
+<A NAME="J"></A>
+<A HREF="pkg_java.awt.font.html" class="hiddenlink" target="rightframe">java.awt.font</A><br>
+<!-- Package java.io -->
+<A HREF="pkg_java.io.html" class="hiddenlink" target="rightframe">java.io</A><br>
+<!-- Package java.lang -->
+<A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<!-- Package java.lang.annotation -->
+<A HREF="pkg_java.lang.annotation.html" class="hiddenlink" target="rightframe">java.lang.annotation</A><br>
+<!-- Package java.lang.ref -->
+<A HREF="pkg_java.lang.ref.html" class="hiddenlink" target="rightframe">java.lang.ref</A><br>
+<!-- Package java.lang.reflect -->
+<A HREF="pkg_java.lang.reflect.html" class="hiddenlink" target="rightframe">java.lang.reflect</A><br>
+<!-- Package java.net -->
+<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<!-- Package java.nio -->
+<A HREF="pkg_java.nio.html" class="hiddenlink" target="rightframe">java.nio</A><br>
+<!-- Package java.nio.channels -->
+<A HREF="pkg_java.nio.channels.html" class="hiddenlink" target="rightframe">java.nio.channels</A><br>
+<!-- Package java.nio.channels.spi -->
+<A HREF="pkg_java.nio.channels.spi.html" class="hiddenlink" target="rightframe">java.nio.channels.spi</A><br>
+<!-- Package java.nio.charset -->
+<A HREF="pkg_java.nio.charset.html" class="hiddenlink" target="rightframe">java.nio.charset</A><br>
+<!-- Package java.security -->
+<A HREF="pkg_java.security.html" class="hiddenlink" target="rightframe">java.security</A><br>
+<!-- Package java.security.acl -->
+<A HREF="pkg_java.security.acl.html" class="hiddenlink" target="rightframe">java.security.acl</A><br>
+<!-- Package java.security.cert -->
+<A HREF="pkg_java.security.cert.html" class="hiddenlink" target="rightframe">java.security.cert</A><br>
+<!-- Package java.sql -->
+<A HREF="pkg_java.sql.html" class="hiddenlink" target="rightframe">java.sql</A><br>
+<!-- Package java.text -->
+<A HREF="pkg_java.text.html" class="hiddenlink" target="rightframe">java.text</A><br>
+<!-- Package java.util -->
+<A HREF="pkg_java.util.html" class="hiddenlink" target="rightframe">java.util</A><br>
+<!-- Package java.util.concurrent -->
+<A HREF="pkg_java.util.concurrent.html" class="hiddenlink" target="rightframe">java.util.concurrent</A><br>
+<!-- Package java.util.concurrent.atomic -->
+<A HREF="pkg_java.util.concurrent.atomic.html" class="hiddenlink" target="rightframe">java.util.concurrent.atomic</A><br>
+<!-- Package java.util.concurrent.locks -->
+<A HREF="pkg_java.util.concurrent.locks.html" class="hiddenlink" target="rightframe">java.util.concurrent.locks</A><br>
+<!-- Package java.util.logging -->
+<A HREF="pkg_java.util.logging.html" class="hiddenlink" target="rightframe">java.util.logging</A><br>
+<!-- Package java.util.prefs -->
+<A HREF="pkg_java.util.prefs.html" class="hiddenlink" target="rightframe">java.util.prefs</A><br>
+<!-- Package java.util.regex -->
+<A HREF="pkg_java.util.regex.html" class="hiddenlink" target="rightframe">java.util.regex</A><br>
+<!-- Package java.util.zip -->
+<A HREF="pkg_java.util.zip.html" class="hiddenlink" target="rightframe">java.util.zip</A><br>
+<!-- Package javax.crypto.spec -->
+<A HREF="pkg_javax.crypto.spec.html" class="hiddenlink" target="rightframe">javax.crypto.spec</A><br>
+<!-- Package javax.net.ssl -->
+<A HREF="pkg_javax.net.ssl.html" class="hiddenlink" target="rightframe">javax.net.ssl</A><br>
+<!-- Package javax.sql -->
+<A HREF="pkg_javax.sql.html" class="hiddenlink" target="rightframe">javax.sql</A><br>
+<!-- Class JobInfo -->
+<A HREF="android.app.job.JobInfo.html" class="hiddenlink" target="rightframe">JobInfo</A><br>
+<!-- Class JobInfo.Builder -->
+<A HREF="android.app.job.JobInfo.Builder.html" class="hiddenlink" target="rightframe">JobInfo.Builder</A><br>
+<!-- Class JobParameters -->
+<A HREF="android.app.job.JobParameters.html" class="hiddenlink" target="rightframe">JobParameters</A><br>
+<!-- Class JobScheduler -->
+<A HREF="android.app.job.JobScheduler.html" class="hiddenlink" target="rightframe">JobScheduler</A><br>
+<!-- Class KeyEvent -->
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.KeyEvent.html" class="hiddenlink" target="rightframe">KeyEvent</A><br>
+<!-- Class KeyGenParameterSpec -->
+<A HREF="android.security.keystore.KeyGenParameterSpec.html" class="hiddenlink" target="rightframe">KeyGenParameterSpec</A><br>
+<!-- Class KeyGenParameterSpec.Builder -->
+<A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html" class="hiddenlink" target="rightframe">KeyGenParameterSpec.Builder</A><br>
+<!-- Class KeyInfo -->
+<A HREF="android.security.keystore.KeyInfo.html" class="hiddenlink" target="rightframe">KeyInfo</A><br>
+<!-- Class KeyProtection -->
+<A HREF="android.security.keystore.KeyProtection.html" class="hiddenlink" target="rightframe">KeyProtection</A><br>
+<!-- Class KeyProtection.Builder -->
+<A HREF="android.security.keystore.KeyProtection.Builder.html" class="hiddenlink" target="rightframe">KeyProtection.Builder</A><br>
+<!-- Class LargeTest -->
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.test.suitebuilder.annotation.LargeTest.html" class="hiddenlink" target="rightframe">LargeTest</A><br>
+<!-- Class LauncherApps.Callback -->
+<A HREF="android.content.pm.LauncherApps.Callback.html" class="hiddenlink" target="rightframe">LauncherApps.Callback</A><br>
+<!-- Class LayerDrawable -->
+<A HREF="android.graphics.drawable.LayerDrawable.html" class="hiddenlink" target="rightframe">LayerDrawable</A><br>
+<!-- Method length -->
+<nobr><A HREF="java.nio.charset.CoderResult.html#java.nio.charset.CoderResult.length_changed()" class="hiddenlink" target="rightframe">length
+()</A></nobr><br>
+<!-- Class LinearLayout -->
+<A HREF="android.widget.LinearLayout.html" class="hiddenlink" target="rightframe">LinearLayout</A><br>
+<!-- Class LinkedBlockingDeque -->
+<A HREF="java.util.concurrent.LinkedBlockingDeque.html" class="hiddenlink" target="rightframe">LinkedBlockingDeque</A><br>
+<!-- Class LinkedBlockingQueue -->
+<A HREF="java.util.concurrent.LinkedBlockingQueue.html" class="hiddenlink" target="rightframe">LinkedBlockingQueue</A><br>
+<!-- Class LinkedHashMap -->
+<A HREF="java.util.LinkedHashMap.html" class="hiddenlink" target="rightframe">LinkedHashMap</A><br>
+<!-- Class LinkedList -->
+<A HREF="java.util.LinkedList.html" class="hiddenlink" target="rightframe">LinkedList</A><br>
+<!-- Class LinkedTransferQueue -->
+<A HREF="java.util.concurrent.LinkedTransferQueue.html" class="hiddenlink" target="rightframe">LinkedTransferQueue</A><br>
+<!-- Class Linkify -->
+<A HREF="android.text.util.Linkify.html" class="hiddenlink" target="rightframe">Linkify</A><br>
+<!-- Class List -->
+<A HREF="java.util.List.html" class="hiddenlink" target="rightframe"><i>List</i></A><br>
+<!-- Class Locale -->
+<A HREF="java.util.Locale.html" class="hiddenlink" target="rightframe">Locale</A><br>
+<!-- Field locale -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.locale" class="hiddenlink" target="rightframe">locale</A>
+</nobr><br>
+<!-- Class LocaleSpan -->
+<A HREF="android.text.style.LocaleSpan.html" class="hiddenlink" target="rightframe">LocaleSpan</A><br>
+<!-- Class LocationManager -->
+<A HREF="android.location.LocationManager.html" class="hiddenlink" target="rightframe">LocationManager</A><br>
+<!-- Class Logger -->
+<A HREF="java.util.logging.Logger.html" class="hiddenlink" target="rightframe">Logger</A><br>
+<!-- Class LoggingPermission -->
+<A HREF="java.util.logging.LoggingPermission.html" class="hiddenlink" target="rightframe">LoggingPermission</A><br>
+<!-- Class LogManager -->
+<A HREF="java.util.logging.LogManager.html" class="hiddenlink" target="rightframe">LogManager</A><br>
+<!-- Class Long -->
+<A HREF="java.lang.Long.html" class="hiddenlink" target="rightframe">Long</A><br>
+<!-- Method malformedForLength -->
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.nio.charset.CoderResult.html#java.nio.charset.CoderResult.malformedForLength_changed(int)" class="hiddenlink" target="rightframe">malformedForLength
+(<code>int</code>)</A></nobr><br>
+<!-- Class Manifest.permission -->
+<A HREF="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<!-- Class Map -->
+<A HREF="java.util.Map.html" class="hiddenlink" target="rightframe"><i>Map</i></A><br>
+<!-- Class Map.Entry -->
+<A HREF="java.util.Map.Entry.html" class="hiddenlink" target="rightframe"><i>Map.Entry</i></A><br>
+<!-- Class Math -->
+<A HREF="java.lang.Math.html" class="hiddenlink" target="rightframe">Math</A><br>
+<!-- Field mCancel -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.mCancel" class="hiddenlink" target="rightframe">mCancel</A>
+</nobr><br>
+<!-- Class MediaBrowser -->
+<A HREF="android.media.browse.MediaBrowser.html" class="hiddenlink" target="rightframe">MediaBrowser</A><br>
+<!-- Class MediaBrowser.SubscriptionCallback -->
+<A HREF="android.media.browse.MediaBrowser.SubscriptionCallback.html" class="hiddenlink" target="rightframe">MediaBrowser.SubscriptionCallback</A><br>
+<!-- Class MediaBrowserService -->
+<A HREF="android.service.media.MediaBrowserService.html" class="hiddenlink" target="rightframe">MediaBrowserService</A><br>
+<!-- Class MediaBrowserService.BrowserRoot -->
+<A HREF="android.service.media.MediaBrowserService.BrowserRoot.html" class="hiddenlink" target="rightframe">MediaBrowserService.BrowserRoot</A><br>
+<!-- Class MediaCodec -->
+<A HREF="android.media.MediaCodec.html" class="hiddenlink" target="rightframe">MediaCodec</A><br>
+<!-- Class MediaCodec.CryptoException -->
+<A HREF="android.media.MediaCodec.CryptoException.html" class="hiddenlink" target="rightframe">MediaCodec.CryptoException</A><br>
+<!-- Class MediaCodec.CryptoInfo -->
+<A HREF="android.media.MediaCodec.CryptoInfo.html" class="hiddenlink" target="rightframe">MediaCodec.CryptoInfo</A><br>
+<!-- Class MediaCodecInfo.CodecCapabilities -->
+<A HREF="android.media.MediaCodecInfo.CodecCapabilities.html" class="hiddenlink" target="rightframe">MediaCodecInfo.CodecCapabilities</A><br>
+<!-- Class MediaCodecInfo.CodecProfileLevel -->
+<A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html" class="hiddenlink" target="rightframe">MediaCodecInfo.CodecProfileLevel</A><br>
+<!-- Class MediaController.TransportControls -->
+<A HREF="android.media.session.MediaController.TransportControls.html" class="hiddenlink" target="rightframe">MediaController.TransportControls</A><br>
+<!-- Class MediaExtractor -->
+<A HREF="android.media.MediaExtractor.html" class="hiddenlink" target="rightframe">MediaExtractor</A><br>
+<!-- Class MediaFormat -->
+<A HREF="android.media.MediaFormat.html" class="hiddenlink" target="rightframe">MediaFormat</A><br>
+<!-- Class MediaPlayer -->
+<A HREF="android.media.MediaPlayer.html" class="hiddenlink" target="rightframe">MediaPlayer</A><br>
+<!-- Class MediaRecorder -->
+<A HREF="android.media.MediaRecorder.html" class="hiddenlink" target="rightframe">MediaRecorder</A><br>
+<!-- Class MediaRecorder.AudioSource -->
+<A HREF="android.media.MediaRecorder.AudioSource.html" class="hiddenlink" target="rightframe">MediaRecorder.AudioSource</A><br>
+<!-- Class MediaRecorder.VideoEncoder -->
+<A HREF="android.media.MediaRecorder.VideoEncoder.html" class="hiddenlink" target="rightframe">MediaRecorder.VideoEncoder</A><br>
+<!-- Class MediaRouter.RouteInfo -->
+<A HREF="android.media.MediaRouter.RouteInfo.html" class="hiddenlink" target="rightframe">MediaRouter.RouteInfo</A><br>
+<!-- Class MediaSession.Callback -->
+<A HREF="android.media.session.MediaSession.Callback.html" class="hiddenlink" target="rightframe">MediaSession.Callback</A><br>
+<!-- Class MediumTest -->
+<A HREF="android.test.suitebuilder.annotation.MediumTest.html" class="hiddenlink" target="rightframe">MediumTest</A><br>
+<!-- Class MemoryHandler -->
+<A HREF="java.util.logging.MemoryHandler.html" class="hiddenlink" target="rightframe">MemoryHandler</A><br>
+<!-- Class Method -->
+<A HREF="java.lang.reflect.Method.html" class="hiddenlink" target="rightframe">Method</A><br>
+<!-- Class MockApplication -->
+<A HREF="android.test.mock.MockApplication.html" class="hiddenlink" target="rightframe">MockApplication</A><br>
+<!-- Class MockContext -->
+<A HREF="android.test.mock.MockContext.html" class="hiddenlink" target="rightframe">MockContext</A><br>
+<!-- Class MockCursor -->
+<A HREF="android.test.mock.MockCursor.html" class="hiddenlink" target="rightframe">MockCursor</A><br>
+<!-- Class MockDialogInterface -->
+<A HREF="android.test.mock.MockDialogInterface.html" class="hiddenlink" target="rightframe">MockDialogInterface</A><br>
+<!-- Class MockPackageManager -->
+<A HREF="android.test.mock.MockPackageManager.html" class="hiddenlink" target="rightframe">MockPackageManager</A><br>
+<!-- Class MockResources -->
+<A HREF="android.test.mock.MockResources.html" class="hiddenlink" target="rightframe">MockResources</A><br>
+<!-- Class MoreAsserts -->
+<A HREF="android.test.MoreAsserts.html" class="hiddenlink" target="rightframe">MoreAsserts</A><br>
+<!-- Class MotionEvent -->
+<A HREF="android.view.MotionEvent.html" class="hiddenlink" target="rightframe">MotionEvent</A><br>
+<!-- Class MtpConstants -->
+<A HREF="android.mtp.MtpConstants.html" class="hiddenlink" target="rightframe">MtpConstants</A><br>
+<!-- Class MtpDevice -->
+<A HREF="android.mtp.MtpDevice.html" class="hiddenlink" target="rightframe">MtpDevice</A><br>
+<!-- Class MtpDeviceInfo -->
+<A HREF="android.mtp.MtpDeviceInfo.html" class="hiddenlink" target="rightframe">MtpDeviceInfo</A><br>
+<!-- Class MtpObjectInfo -->
+<A HREF="android.mtp.MtpObjectInfo.html" class="hiddenlink" target="rightframe">MtpObjectInfo</A><br>
+<!-- Method myUserHandle -->
+<nobr><A HREF="android.os.Process.html#android.os.Process.myUserHandle_changed()" class="hiddenlink" target="rightframe">myUserHandle
+()</A></nobr><br>
+<!-- Class NetworkInfo -->
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.net.NetworkInfo.html" class="hiddenlink" target="rightframe">NetworkInfo</A><br>
+<!-- Class NetworkSecurityPolicy -->
+<A HREF="android.security.NetworkSecurityPolicy.html" class="hiddenlink" target="rightframe">NetworkSecurityPolicy</A><br>
+<!-- Class NetworkStats.Bucket -->
+<A HREF="android.app.usage.NetworkStats.Bucket.html" class="hiddenlink" target="rightframe">NetworkStats.Bucket</A><br>
+<!-- Class NetworkStatsManager -->
+<A HREF="android.app.usage.NetworkStatsManager.html" class="hiddenlink" target="rightframe">NetworkStatsManager</A><br>
+<!-- Class NfcAdapter -->
+<A HREF="android.nfc.NfcAdapter.html" class="hiddenlink" target="rightframe">NfcAdapter</A><br>
+<!-- Class NodeChangeEvent -->
+<A HREF="java.util.prefs.NodeChangeEvent.html" class="hiddenlink" target="rightframe">NodeChangeEvent</A><br>
+<!-- Class Notification -->
+<A HREF="android.app.Notification.html" class="hiddenlink" target="rightframe">Notification</A><br>
+<!-- Class Notification.Action -->
+<A HREF="android.app.Notification.Action.html" class="hiddenlink" target="rightframe">Notification.Action</A><br>
+<!-- Class Notification.Action.Builder -->
+<A HREF="android.app.Notification.Action.Builder.html" class="hiddenlink" target="rightframe">Notification.Action.Builder</A><br>
+<!-- Class Notification.Action.WearableExtender -->
+<A HREF="android.app.Notification.Action.WearableExtender.html" class="hiddenlink" target="rightframe">Notification.Action.WearableExtender</A><br>
+<!-- Class Notification.BigPictureStyle -->
+<i>Notification.BigPictureStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.BigPictureStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.BigPictureStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.BigPictureStyle.html#android.app.Notification.BigPictureStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.BigPictureStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Notification.BigTextStyle -->
+<i>Notification.BigTextStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.BigTextStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.BigTextStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.BigTextStyle.html#android.app.Notification.BigTextStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.BigTextStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Notification.Builder -->
+<A HREF="android.app.Notification.Builder.html" class="hiddenlink" target="rightframe">Notification.Builder</A><br>
+<!-- Class Notification.InboxStyle -->
+<i>Notification.InboxStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.InboxStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.InboxStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.InboxStyle.html#android.app.Notification.InboxStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.InboxStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Notification.MediaStyle -->
+<i>Notification.MediaStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.MediaStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.MediaStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.MediaStyle.html#android.app.Notification.MediaStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.MediaStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Notification.WearableExtender -->
+<A HREF="android.app.Notification.WearableExtender.html" class="hiddenlink" target="rightframe">Notification.WearableExtender</A><br>
+<!-- Class NotificationListenerService -->
+<A HREF="android.service.notification.NotificationListenerService.html" class="hiddenlink" target="rightframe">NotificationListenerService</A><br>
+<!-- Class NotificationListenerService.Ranking -->
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html" class="hiddenlink" target="rightframe">NotificationListenerService.Ranking</A><br>
+<!-- Class NotificationManager -->
+<A HREF="android.app.NotificationManager.html" class="hiddenlink" target="rightframe">NotificationManager</A><br>
+<!-- Class NotificationManager.Policy -->
+<A HREF="android.app.NotificationManager.Policy.html" class="hiddenlink" target="rightframe">NotificationManager.Policy</A><br>
+<!-- Field number -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.number" class="hiddenlink" target="rightframe">number</A>
+</nobr><br>
+<!-- Class NumericShaper -->
+<A HREF="java.awt.font.NumericShaper.html" class="hiddenlink" target="rightframe">NumericShaper</A><br>
+<!-- Class ObjectInputStream -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.io.ObjectInputStream.html" class="hiddenlink" target="rightframe">ObjectInputStream</A><br>
+<!-- Class ObjectInputStream.GetField -->
+<A HREF="java.io.ObjectInputStream.GetField.html" class="hiddenlink" target="rightframe">ObjectInputStream.GetField</A><br>
+<!-- Class ObjectOutputStream -->
+<A HREF="java.io.ObjectOutputStream.html" class="hiddenlink" target="rightframe">ObjectOutputStream</A><br>
+<!-- Class Objects -->
+<A HREF="java.util.Objects.html" class="hiddenlink" target="rightframe">Objects</A><br>
+<!-- Method onFilterSms -->
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.onFilterSms_changed(android.service.carrier.MessagePdu, java.lang.String, int, int, android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Boolean>)" class="hiddenlink" target="rightframe">onFilterSms
+(<code>MessagePdu, String, int, int, ResultCallback&lt;Boolean&gt;</code>)</A></nobr><br>
+<!-- Method onReadyForUserInitialization -->
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onReadyForUserInitialization_changed(android.content.Context, android.content.Intent)" class="hiddenlink" target="rightframe">onReadyForUserInitialization
+(<code>Context, Intent</code>)</A></nobr><br>
+<!-- Method onRetainNonConfigurationInstance -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onRetainNonConfigurationInstance_changed()" class="hiddenlink" target="rightframe">onRetainNonConfigurationInstance
+()</A></nobr><br>
+<!-- Method onUnhandledKeyEvent -->
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onUnhandledKeyEvent_changed(android.webkit.WebView, android.view.KeyEvent)" class="hiddenlink" target="rightframe">onUnhandledKeyEvent
+(<code>WebView, KeyEvent</code>)</A></nobr><br>
+<!-- Class Outline -->
+<A HREF="android.graphics.Outline.html" class="hiddenlink" target="rightframe">Outline</A><br>
+<!-- Class Package -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.lang.Package.html" class="hiddenlink" target="rightframe">Package</A><br>
+<!-- Class PackageInstaller.Session -->
+<A HREF="android.content.pm.PackageInstaller.Session.html" class="hiddenlink" target="rightframe">PackageInstaller.Session</A><br>
+<!-- Class PackageInstaller.SessionParams -->
+<A HREF="android.content.pm.PackageInstaller.SessionParams.html" class="hiddenlink" target="rightframe">PackageInstaller.SessionParams</A><br>
+<!-- Class PackageManager -->
+<A HREF="android.content.pm.PackageManager.html" class="hiddenlink" target="rightframe">PackageManager</A><br>
+<!-- Class Paint -->
+<A HREF="android.graphics.Paint.html" class="hiddenlink" target="rightframe">Paint</A><br>
+<!-- Class Pattern -->
+<A HREF="java.util.regex.Pattern.html" class="hiddenlink" target="rightframe">Pattern</A><br>
+<!-- Class Patterns -->
+<A HREF="android.util.Patterns.html" class="hiddenlink" target="rightframe">Patterns</A><br>
+<!-- Class PerformanceTestCase -->
+<A HREF="android.test.PerformanceTestCase.html" class="hiddenlink" target="rightframe"><i>PerformanceTestCase</i></A><br>
+<!-- Class Permission -->
+<A HREF="java.security.acl.Permission.html" class="hiddenlink" target="rightframe"><i>Permission</i></A><br>
+<!-- Class PermissionInfo -->
+<A HREF="android.content.pm.PermissionInfo.html" class="hiddenlink" target="rightframe">PermissionInfo</A><br>
+<!-- Class PhoneAccount -->
+<A HREF="android.telecom.PhoneAccount.html" class="hiddenlink" target="rightframe">PhoneAccount</A><br>
+<!-- Class PhoneAccount.Builder -->
+<A HREF="android.telecom.PhoneAccount.Builder.html" class="hiddenlink" target="rightframe">PhoneAccount.Builder</A><br>
+<!-- Class PKIXCertPathChecker -->
+<A HREF="java.security.cert.PKIXCertPathChecker.html" class="hiddenlink" target="rightframe">PKIXCertPathChecker</A><br>
+<!-- Class PlaybackState -->
+<A HREF="android.media.session.PlaybackState.html" class="hiddenlink" target="rightframe">PlaybackState</A><br>
+<!-- Class PopupWindow -->
+<A HREF="android.widget.PopupWindow.html" class="hiddenlink" target="rightframe">PopupWindow</A><br>
+<!-- Class PowerManager -->
+<A HREF="android.os.PowerManager.html" class="hiddenlink" target="rightframe">PowerManager</A><br>
+<!-- Class Preference -->
+<A HREF="android.preference.Preference.html" class="hiddenlink" target="rightframe">Preference</A><br>
+<!-- Class PreferenceChangeEvent -->
+<A HREF="java.util.prefs.PreferenceChangeEvent.html" class="hiddenlink" target="rightframe">PreferenceChangeEvent</A><br>
+<!-- Class PreferenceManager -->
+<A HREF="android.preference.PreferenceManager.html" class="hiddenlink" target="rightframe">PreferenceManager</A><br>
+<!-- Class PrinterDiscoverySession -->
+<A HREF="android.printservice.PrinterDiscoverySession.html" class="hiddenlink" target="rightframe">PrinterDiscoverySession</A><br>
+<!-- Class PrinterInfo.Builder -->
+<A HREF="android.print.PrinterInfo.Builder.html" class="hiddenlink" target="rightframe">PrinterInfo.Builder</A><br>
+<!-- Class PrintJob -->
+<A HREF="android.printservice.PrintJob.html" class="hiddenlink" target="rightframe">PrintJob</A><br>
+<!-- Class PriorityBlockingQueue -->
+<A HREF="java.util.concurrent.PriorityBlockingQueue.html" class="hiddenlink" target="rightframe">PriorityBlockingQueue</A><br>
+<!-- Class PriorityQueue -->
+<A HREF="java.util.PriorityQueue.html" class="hiddenlink" target="rightframe">PriorityQueue</A><br>
+<!-- Class Process -->
+<A HREF="android.os.Process.html" class="hiddenlink" target="rightframe">Process</A><br>
+<!-- Field PROGRESS_END -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_END" class="hiddenlink" target="rightframe">PROGRESS_END</A>
+</nobr><br>
+<!-- Field PROGRESS_INDETERMINATE_OFF -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_INDETERMINATE_OFF" class="hiddenlink" target="rightframe">PROGRESS_INDETERMINATE_OFF</A>
+</nobr><br>
+<!-- Field PROGRESS_INDETERMINATE_ON -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_INDETERMINATE_ON" class="hiddenlink" target="rightframe">PROGRESS_INDETERMINATE_ON</A>
+</nobr><br>
+<!-- Field PROGRESS_SECONDARY_END -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_SECONDARY_END" class="hiddenlink" target="rightframe">PROGRESS_SECONDARY_END</A>
+</nobr><br>
+<!-- Field PROGRESS_SECONDARY_START -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_SECONDARY_START" class="hiddenlink" target="rightframe">PROGRESS_SECONDARY_START</A>
+</nobr><br>
+<!-- Field PROGRESS_START -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_START" class="hiddenlink" target="rightframe">PROGRESS_START</A>
+</nobr><br>
+<!-- Field PROGRESS_VISIBILITY_OFF -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_VISIBILITY_OFF" class="hiddenlink" target="rightframe">PROGRESS_VISIBILITY_OFF</A>
+</nobr><br>
+<!-- Field PROGRESS_VISIBILITY_ON -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_VISIBILITY_ON" class="hiddenlink" target="rightframe">PROGRESS_VISIBILITY_ON</A>
+</nobr><br>
+<!-- Class ProgressBar -->
+<A HREF="android.widget.ProgressBar.html" class="hiddenlink" target="rightframe">ProgressBar</A><br>
+<!-- Class Provider -->
+<A HREF="java.security.Provider.html" class="hiddenlink" target="rightframe">Provider</A><br>
+<!-- Class R.attr -->
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.R.attr.html" class="hiddenlink" target="rightframe">R.attr</A><br>
+<!-- Class R.id -->
+<A HREF="android.R.id.html" class="hiddenlink" target="rightframe">R.id</A><br>
+<!-- Class R.style -->
+<A HREF="android.R.style.html" class="hiddenlink" target="rightframe">R.style</A><br>
+<!-- Class Random -->
+<A HREF="java.util.Random.html" class="hiddenlink" target="rightframe">Random</A><br>
+<!-- Method readConfiguration -->
+<i>readConfiguration</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.readConfiguration_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.logging.LogManager
+</A></nobr><br>
+<!-- Method readConfiguration -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.readConfiguration_changed(java.io.InputStream)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>InputStream</code>)&nbsp;in&nbsp;java.util.logging.LogManager
+</A></nobr><br>
+<!-- Method readFields -->
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.readFields_changed()" class="hiddenlink" target="rightframe">readFields
+()</A></nobr><br>
+<!-- Method readObject -->
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.readObject_changed()" class="hiddenlink" target="rightframe">readObject
+()</A></nobr><br>
+<!-- Method readObjectOverride -->
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.readObjectOverride_changed()" class="hiddenlink" target="rightframe">readObjectOverride
+()</A></nobr><br>
+<!-- Class ReferenceQueue -->
+<A HREF="java.lang.ref.ReferenceQueue.html" class="hiddenlink" target="rightframe">ReferenceQueue</A><br>
+<!-- Method release -->
+<i>release</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContentProviderClient.html#android.content.ContentProviderClient.release_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.content.ContentProviderClient
+</A></nobr><br>
+<!-- Method release -->
+&nbsp;&nbsp;<nobr><A HREF="android.drm.DrmManagerClient.html#android.drm.DrmManagerClient.release_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.drm.DrmManagerClient
+</A></nobr><br>
+<!-- Class RemoteConference -->
+<A HREF="android.telecom.RemoteConference.html" class="hiddenlink" target="rightframe">RemoteConference</A><br>
+<!-- Class RemoteViews -->
+<A HREF="android.widget.RemoteViews.html" class="hiddenlink" target="rightframe">RemoteViews</A><br>
+<!-- Method remove -->
+<i>remove</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.ref.ReferenceQueue.html#java.lang.ref.ReferenceQueue.remove_changed(long)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>long</code>)&nbsp;in&nbsp;java.lang.ref.ReferenceQueue
+</A></nobr><br>
+<!-- Method remove -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Iterator.html#java.util.Iterator.remove_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.Iterator
+</A></nobr><br>
+<!-- Method removeGpsStatusListener -->
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.removeGpsStatusListener_changed(android.location.GpsStatus.Listener)" class="hiddenlink" target="rightframe">removeGpsStatusListener
+(<code>Listener</code>)</A></nobr><br>
+<!-- Method removeHandler -->
+<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.removeHandler_changed(java.util.logging.Handler)" class="hiddenlink" target="rightframe">removeHandler
+(<code>Handler</code>)</A></nobr><br>
+<!-- Method removeNmeaListener -->
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.removeNmeaListener_changed(android.location.GpsStatus.NmeaListener)" class="hiddenlink" target="rightframe">removeNmeaListener
+(<code>NmeaListener</code>)</A></nobr><br>
+<!-- Method removeOnRoutingChangedListener -->
+<i>removeOnRoutingChangedListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.removeOnRoutingChangedListener_changed(android.media.AudioRecord.OnRoutingChangedListener)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>OnRoutingChangedListener</code>)&nbsp;in&nbsp;android.media.AudioRecord
+</A></nobr><br>
+<!-- Method removeOnRoutingChangedListener -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.removeOnRoutingChangedListener_changed(android.media.AudioTrack.OnRoutingChangedListener)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>OnRoutingChangedListener</code>)&nbsp;in&nbsp;android.media.AudioTrack
+</A></nobr><br>
+<!-- Method removePropertyChangeListener -->
+<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.removePropertyChangeListener_changed(java.beans.PropertyChangeListener)" class="hiddenlink" target="rightframe">removePropertyChangeListener
+(<code>PropertyChangeListener</code>)</A></nobr><br>
+<!-- Class RenamingDelegatingContext -->
+<A HREF="android.test.RenamingDelegatingContext.html" class="hiddenlink" target="rightframe">RenamingDelegatingContext</A><br>
+<!-- Method requestCancelDecode -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.requestCancelDecode_changed()" class="hiddenlink" target="rightframe">requestCancelDecode
+()</A></nobr><br>
+<!-- Method reset -->
+<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.reset_changed()" class="hiddenlink" target="rightframe">reset
+()</A></nobr><br>
+<!-- Class ResourceBundle -->
+<A HREF="java.util.ResourceBundle.html" class="hiddenlink" target="rightframe">ResourceBundle</A><br>
+<!-- Class ResourceBundle.Control -->
+<A HREF="java.util.ResourceBundle.Control.html" class="hiddenlink" target="rightframe">ResourceBundle.Control</A><br>
+<!-- Class Resources.NotFoundException -->
+<A HREF="android.content.res.Resources.NotFoundException.html" class="hiddenlink" target="rightframe">Resources.NotFoundException</A><br>
+<!-- Method restoreAllState -->
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.restoreAllState_changed(android.os.Parcelable, java.util.List<android.app.Fragment>)" class="hiddenlink" target="rightframe">restoreAllState
+(<code>Parcelable, List&lt;Fragment&gt;</code>)</A></nobr><br>
+<!-- Method retainNonConfig -->
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.retainNonConfig_changed()" class="hiddenlink" target="rightframe">retainNonConfig
+()</A></nobr><br>
+<!-- Class RowSetEvent -->
+<A HREF="javax.sql.RowSetEvent.html" class="hiddenlink" target="rightframe">RowSetEvent</A><br>
+<!-- Class RuntimeException -->
+<A HREF="java.lang.RuntimeException.html" class="hiddenlink" target="rightframe">RuntimeException</A><br>
+<!-- Class Scanner -->
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.Scanner.html" class="hiddenlink" target="rightframe">Scanner</A><br>
+<!-- Class Script -->
+<A HREF="android.renderscript.Script.html" class="hiddenlink" target="rightframe">Script</A><br>
+<!-- Class SecretKeySpec -->
+<A HREF="javax.crypto.spec.SecretKeySpec.html" class="hiddenlink" target="rightframe">SecretKeySpec</A><br>
+<!-- Class SelectorProvider -->
+<A HREF="java.nio.channels.spi.SelectorProvider.html" class="hiddenlink" target="rightframe">SelectorProvider</A><br>
+<!-- Class Sensor -->
+<A HREF="android.hardware.Sensor.html" class="hiddenlink" target="rightframe">Sensor</A><br>
+<!-- Class SensorManager -->
+<A HREF="android.hardware.SensorManager.html" class="hiddenlink" target="rightframe">SensorManager</A><br>
+<!-- Class ServerSocketChannel -->
+<A HREF="java.nio.channels.ServerSocketChannel.html" class="hiddenlink" target="rightframe">ServerSocketChannel</A><br>
+<!-- Class Service -->
+<A HREF="android.app.Service.html" class="hiddenlink" target="rightframe">Service</A><br>
+<!-- Class ServiceInfo -->
+<A HREF="android.content.pm.ServiceInfo.html" class="hiddenlink" target="rightframe">ServiceInfo</A><br>
+<!-- Class ServiceTestCase -->
+<A HREF="android.test.ServiceTestCase.html" class="hiddenlink" target="rightframe">ServiceTestCase</A><br>
+<!-- Method setAccessible -->
+<i>setAccessible</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.setAccessible_changed(java.lang.reflect.AccessibleObject[], boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>AccessibleObject[], boolean</code>)&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+<!-- Method setAccessible -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.setAccessible_changed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>boolean</code>)&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+<!-- Method setCalendarViewShown -->
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.setCalendarViewShown_changed(boolean)" class="hiddenlink" target="rightframe">setCalendarViewShown
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setContent -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setContent_changed(android.widget.RemoteViews)" class="hiddenlink" target="rightframe">setContent
+(<code>RemoteViews</code>)</A></nobr><br>
+<!-- Method setContentInfo -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setContentInfo_changed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">setContentInfo
+(<code>CharSequence</code>)</A></nobr><br>
+<!-- Method setEncoding -->
+<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setEncoding_changed(java.lang.String)" class="hiddenlink" target="rightframe">setEncoding
+(<code>String</code>)</A></nobr><br>
+<!-- Method setFilter -->
+<i>setFilter</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setFilter_changed(java.util.logging.Filter)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Filter</code>)&nbsp;in&nbsp;java.util.logging.Handler
+</A></nobr><br>
+<!-- Method setFilter -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.setFilter_changed(java.util.logging.Filter)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Filter</code>)&nbsp;in&nbsp;java.util.logging.Logger
+</A></nobr><br>
+<!-- Method setFormatter -->
+<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setFormatter_changed(java.util.logging.Formatter)" class="hiddenlink" target="rightframe">setFormatter
+(<code>Formatter</code>)</A></nobr><br>
+<!-- Method setGeolocationDatabasePath -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setGeolocationDatabasePath_changed(java.lang.String)" class="hiddenlink" target="rightframe">setGeolocationDatabasePath
+(<code>String</code>)</A></nobr><br>
+<!-- Method setLevel -->
+<i>setLevel</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setLevel_changed(java.util.logging.Level)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Level</code>)&nbsp;in&nbsp;java.util.logging.Handler
+</A></nobr><br>
+<!-- Method setLevel -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.setLevel_changed(java.util.logging.Level)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Level</code>)&nbsp;in&nbsp;java.util.logging.Logger
+</A></nobr><br>
+<!-- Method setNanos -->
+<nobr><A HREF="java.sql.Timestamp.html#java.sql.Timestamp.setNanos_changed(int)" class="hiddenlink" target="rightframe">setNanos
+(<code>int</code>)</A></nobr><br>
+<!-- Method setNumber -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setNumber_changed(int)" class="hiddenlink" target="rightframe">setNumber
+(<code>int</code>)</A></nobr><br>
+<!-- Method setOutputStream -->
+<nobr><A HREF="java.util.logging.StreamHandler.html#java.util.logging.StreamHandler.setOutputStream_changed(java.io.OutputStream)" class="hiddenlink" target="rightframe">setOutputStream
+(<code>OutputStream</code>)</A></nobr><br>
+<!-- Method setProgress -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setProgress_changed(int)" class="hiddenlink" target="rightframe">setProgress
+(<code>int</code>)</A></nobr><br>
+<!-- Method setProgressBarIndeterminate -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setProgressBarIndeterminate_changed(boolean)" class="hiddenlink" target="rightframe">setProgressBarIndeterminate
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setProgressBarIndeterminateVisibility -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setProgressBarIndeterminateVisibility_changed(boolean)" class="hiddenlink" target="rightframe">setProgressBarIndeterminateVisibility
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setProgressBarVisibility -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setProgressBarVisibility_changed(boolean)" class="hiddenlink" target="rightframe">setProgressBarVisibility
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setPushLevel -->
+<nobr><A HREF="java.util.logging.MemoryHandler.html#java.util.logging.MemoryHandler.setPushLevel_changed(java.util.logging.Level)" class="hiddenlink" target="rightframe">setPushLevel
+(<code>Level</code>)</A></nobr><br>
+<!-- Method setSecondaryProgress -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setSecondaryProgress_changed(int)" class="hiddenlink" target="rightframe">setSecondaryProgress
+(<code>int</code>)</A></nobr><br>
+<!-- Method setShowWeekNumber -->
+<nobr><A HREF="android.widget.CalendarView.html#android.widget.CalendarView.setShowWeekNumber_changed(boolean)" class="hiddenlink" target="rightframe">setShowWeekNumber
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setSpinnersShown -->
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.setSpinnersShown_changed(boolean)" class="hiddenlink" target="rightframe">setSpinnersShown
+(<code>boolean</code>)</A></nobr><br>
+<!-- Class Settings -->
+<A HREF="android.provider.Settings.html" class="hiddenlink" target="rightframe">Settings</A><br>
+<!-- Class Settings.Global -->
+<A HREF="android.provider.Settings.Global.html" class="hiddenlink" target="rightframe">Settings.Global</A><br>
+<!-- Class Settings.Secure -->
+<A HREF="android.provider.Settings.Secure.html" class="hiddenlink" target="rightframe">Settings.Secure</A><br>
+<!-- Class Settings.System -->
+<A HREF="android.provider.Settings.System.html" class="hiddenlink" target="rightframe">Settings.System</A><br>
+<!-- Class Short -->
+<A HREF="java.lang.Short.html" class="hiddenlink" target="rightframe">Short</A><br>
+<!-- Method shouldOverrideUrlLoading -->
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.shouldOverrideUrlLoading_changed(android.webkit.WebView, java.lang.String)" class="hiddenlink" target="rightframe">shouldOverrideUrlLoading
+(<code>WebView, String</code>)</A></nobr><br>
+<!-- Class SingleLaunchActivityTestCase -->
+<A HREF="android.test.SingleLaunchActivityTestCase.html" class="hiddenlink" target="rightframe">SingleLaunchActivityTestCase</A><br>
+<!-- Class SmallTest -->
+<A HREF="android.test.suitebuilder.annotation.SmallTest.html" class="hiddenlink" target="rightframe">SmallTest</A><br>
+<!-- Class Smoke -->
+<A HREF="android.test.suitebuilder.annotation.Smoke.html" class="hiddenlink" target="rightframe">Smoke</A><br>
+<!-- Class SocketChannel -->
+<A HREF="java.nio.channels.SocketChannel.html" class="hiddenlink" target="rightframe">SocketChannel</A><br>
+<!-- Class SortedMap -->
+<A HREF="java.util.SortedMap.html" class="hiddenlink" target="rightframe"><i>SortedMap</i></A><br>
+<!-- Class SpellCheckerSubtype -->
+<i>SpellCheckerSubtype</i><br>
+&nbsp;&nbsp;<A HREF="android.view.textservice.SpellCheckerSubtype.html" class="hiddenlink" target="rightframe">android.view.textservice</A><br>
+<!-- Constructor SpellCheckerSubtype -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.textservice.SpellCheckerSubtype.html#android.view.textservice.SpellCheckerSubtype.ctor_changed(int, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">SpellCheckerSubtype
+(<code>int, String, String</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class SQLException -->
+<A HREF="java.sql.SQLException.html" class="hiddenlink" target="rightframe">SQLException</A><br>
+<!-- Class SQLiteDatabase -->
+<A HREF="android.database.sqlite.SQLiteDatabase.html" class="hiddenlink" target="rightframe">SQLiteDatabase</A><br>
+<!-- Class SQLPermission -->
+<A HREF="java.sql.SQLPermission.html" class="hiddenlink" target="rightframe">SQLPermission</A><br>
+<!-- Class SQLWarning -->
+<A HREF="java.sql.SQLWarning.html" class="hiddenlink" target="rightframe">SQLWarning</A><br>
+<!-- Class SSLEngine -->
+<A HREF="javax.net.ssl.SSLEngine.html" class="hiddenlink" target="rightframe">SSLEngine</A><br>
+<!-- Class SSLParameters -->
+<A HREF="javax.net.ssl.SSLParameters.html" class="hiddenlink" target="rightframe">SSLParameters</A><br>
+<!-- Class SSLServerSocket -->
+<A HREF="javax.net.ssl.SSLServerSocket.html" class="hiddenlink" target="rightframe">SSLServerSocket</A><br>
+<!-- Class SSLSocket -->
+<A HREF="javax.net.ssl.SSLSocket.html" class="hiddenlink" target="rightframe">SSLSocket</A><br>
+<!-- Method startDrag -->
+<nobr><A HREF="android.view.View.html#android.view.View.startDrag_changed(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)" class="hiddenlink" target="rightframe">startDrag
+(<code>ClipData, DragShadowBuilder, Object, int</code>)</A></nobr><br>
+<!-- Class StatusBarNotification -->
+<A HREF="android.service.notification.StatusBarNotification.html" class="hiddenlink" target="rightframe">StatusBarNotification</A><br>
+<!-- Class StorageManager -->
+<A HREF="android.os.storage.StorageManager.html" class="hiddenlink" target="rightframe">StorageManager</A><br>
+<!-- Class StreamHandler -->
+<A HREF="java.util.logging.StreamHandler.html" class="hiddenlink" target="rightframe">StreamHandler</A><br>
+<!-- Class StrictMath -->
+<A HREF="java.lang.StrictMath.html" class="hiddenlink" target="rightframe">StrictMath</A><br>
+<!-- Class StrictMode.VmPolicy.Builder -->
+<A HREF="android.os.StrictMode.VmPolicy.Builder.html" class="hiddenlink" target="rightframe">StrictMode.VmPolicy.Builder</A><br>
+<!-- Class SubscriptionManager -->
+<A HREF="android.telephony.SubscriptionManager.html" class="hiddenlink" target="rightframe">SubscriptionManager</A><br>
+<!-- Class SuggestionSpan -->
+<A HREF="android.text.style.SuggestionSpan.html" class="hiddenlink" target="rightframe">SuggestionSpan</A><br>
+<!-- Class Suppress -->
+<A HREF="android.test.suitebuilder.annotation.Suppress.html" class="hiddenlink" target="rightframe">Suppress</A><br>
+<!-- Class SyncBaseInstrumentation -->
+<A HREF="android.test.SyncBaseInstrumentation.html" class="hiddenlink" target="rightframe">SyncBaseInstrumentation</A><br>
+<!-- Method synchronizedSet -->
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.synchronizedSet_changed(java.util.Set<T>)" class="hiddenlink" target="rightframe">synchronizedSet
+(<code>Set&lt;T&gt;</code>)</A></nobr><br>
+<!-- Method synchronizedSortedSet -->
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.synchronizedSortedSet_changed(java.util.SortedSet<T>)" class="hiddenlink" target="rightframe">synchronizedSortedSet
+(<code>SortedSet&lt;T&gt;</code>)</A></nobr><br>
+<!-- Class SynchronousQueue -->
+<A HREF="java.util.concurrent.SynchronousQueue.html" class="hiddenlink" target="rightframe">SynchronousQueue</A><br>
+<!-- Class SyncRequest.Builder -->
+<A HREF="android.content.SyncRequest.Builder.html" class="hiddenlink" target="rightframe">SyncRequest.Builder</A><br>
+<!-- Class TabWidget -->
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.widget.TabWidget.html" class="hiddenlink" target="rightframe">TabWidget</A><br>
+<!-- Field TAG_APERTURE -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_APERTURE" class="hiddenlink" target="rightframe">TAG_APERTURE</A>
+</nobr><br>
+<!-- Field TAG_ISO -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_ISO" class="hiddenlink" target="rightframe">TAG_ISO</A>
+</nobr><br>
+<!-- Field TAG_SUBSEC_TIME_DIG -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBSEC_TIME_DIG" class="hiddenlink" target="rightframe">TAG_SUBSEC_TIME_DIG</A>
+</nobr><br>
+<!-- Field TAG_SUBSEC_TIME_ORIG -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBSEC_TIME_ORIG" class="hiddenlink" target="rightframe">TAG_SUBSEC_TIME_ORIG</A>
+</nobr><br>
+<!-- Class TelecomManager -->
+<A HREF="android.telecom.TelecomManager.html" class="hiddenlink" target="rightframe">TelecomManager</A><br>
+<!-- Class Telephony.Sms.Intents -->
+<A HREF="android.provider.Telephony.Sms.Intents.html" class="hiddenlink" target="rightframe">Telephony.Sms.Intents</A><br>
+<!-- Class TelephonyManager -->
+<A HREF="android.telephony.TelephonyManager.html" class="hiddenlink" target="rightframe">TelephonyManager</A><br>
+<!-- Class TestSuiteProvider -->
+<A HREF="android.test.TestSuiteProvider.html" class="hiddenlink" target="rightframe"><i>TestSuiteProvider</i></A><br>
+<!-- Class TextUtils -->
+<A HREF="android.text.TextUtils.html" class="hiddenlink" target="rightframe">TextUtils</A><br>
+<!-- Class TextUtils.SimpleStringSplitter -->
+<A HREF="android.text.TextUtils.SimpleStringSplitter.html" class="hiddenlink" target="rightframe">TextUtils.SimpleStringSplitter</A><br>
+<!-- Class TextView -->
+<A HREF="android.widget.TextView.html" class="hiddenlink" target="rightframe">TextView</A><br>
+<!-- Method throwException -->
+<nobr><A HREF="java.nio.charset.CoderResult.html#java.nio.charset.CoderResult.throwException_changed()" class="hiddenlink" target="rightframe">throwException
+()</A></nobr><br>
+<!-- Class Timestamp -->
+<A HREF="java.sql.Timestamp.html" class="hiddenlink" target="rightframe">Timestamp</A><br>
+<!-- Class TimeZone -->
+<A HREF="java.util.TimeZone.html" class="hiddenlink" target="rightframe">TimeZone</A><br>
+<!-- Method toHtml -->
+<nobr><A HREF="android.text.Html.html#android.text.Html.toHtml_changed(android.text.Spanned)" class="hiddenlink" target="rightframe">toHtml
+(<code>Spanned</code>)</A></nobr><br>
+<!-- Class Toolbar -->
+<A HREF="android.widget.Toolbar.html" class="hiddenlink" target="rightframe">Toolbar</A><br>
+<!-- Class TouchUtils -->
+<A HREF="android.test.TouchUtils.html" class="hiddenlink" target="rightframe">TouchUtils</A><br>
+<!-- Class TrafficStats -->
+<A HREF="android.net.TrafficStats.html" class="hiddenlink" target="rightframe">TrafficStats</A><br>
+<!-- Class TreeMap -->
+<A HREF="java.util.TreeMap.html" class="hiddenlink" target="rightframe">TreeMap</A><br>
+<!-- Class TreeSet -->
+<A HREF="java.util.TreeSet.html" class="hiddenlink" target="rightframe">TreeSet</A><br>
+<!-- Class TvContentRating -->
+<A HREF="android.media.tv.TvContentRating.html" class="hiddenlink" target="rightframe">TvContentRating</A><br>
+<!-- Class TvContract -->
+<A HREF="android.media.tv.TvContract.html" class="hiddenlink" target="rightframe">TvContract</A><br>
+<!-- Class TvContract.Programs -->
+<A HREF="android.media.tv.TvContract.Programs.html" class="hiddenlink" target="rightframe">TvContract.Programs</A><br>
+<!-- Class TvContract.Programs.Genres -->
+<A HREF="android.media.tv.TvContract.Programs.Genres.html" class="hiddenlink" target="rightframe">TvContract.Programs.Genres</A><br>
+<!-- Class TvInputInfo -->
+<A HREF="android.media.tv.TvInputInfo.html" class="hiddenlink" target="rightframe">TvInputInfo</A><br>
+<!-- Class TvInputManager -->
+<A HREF="android.media.tv.TvInputManager.html" class="hiddenlink" target="rightframe">TvInputManager</A><br>
+<!-- Class TvInputManager.TvInputCallback -->
+<A HREF="android.media.tv.TvInputManager.TvInputCallback.html" class="hiddenlink" target="rightframe">TvInputManager.TvInputCallback</A><br>
+<!-- Class TvInputService -->
+<A HREF="android.media.tv.TvInputService.html" class="hiddenlink" target="rightframe">TvInputService</A><br>
+<!-- Class TvInputService.Session -->
+<A HREF="android.media.tv.TvInputService.Session.html" class="hiddenlink" target="rightframe">TvInputService.Session</A><br>
+<!-- Class TvTrackInfo -->
+<A HREF="android.media.tv.TvTrackInfo.html" class="hiddenlink" target="rightframe">TvTrackInfo</A><br>
+<!-- Class TvTrackInfo.Builder -->
+<A HREF="android.media.tv.TvTrackInfo.Builder.html" class="hiddenlink" target="rightframe">TvTrackInfo.Builder</A><br>
+<!-- Class TvView -->
+<A HREF="android.media.tv.TvView.html" class="hiddenlink" target="rightframe">TvView</A><br>
+<!-- Class UiAutomation -->
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.UiAutomation.html" class="hiddenlink" target="rightframe">UiAutomation</A><br>
+<!-- Class UiThreadTest -->
+<A HREF="android.test.UiThreadTest.html" class="hiddenlink" target="rightframe">UiThreadTest</A><br>
+<!-- Method unmappableForLength -->
+<nobr><A HREF="java.nio.charset.CoderResult.html#java.nio.charset.CoderResult.unmappableForLength_changed(int)" class="hiddenlink" target="rightframe">unmappableForLength
+(<code>int</code>)</A></nobr><br>
+<!-- Method unmodifiableCollection -->
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.unmodifiableCollection_changed(java.util.Collection<? extends T>)" class="hiddenlink" target="rightframe">unmodifiableCollection
+(<code>Collection&lt;? extends T&gt;</code>)</A></nobr><br>
+<!-- Method unmodifiableList -->
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.unmodifiableList_changed(java.util.List<? extends T>)" class="hiddenlink" target="rightframe">unmodifiableList
+(<code>List&lt;? extends T&gt;</code>)</A></nobr><br>
+<!-- Method unmodifiableSet -->
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.unmodifiableSet_changed(java.util.Set<? extends T>)" class="hiddenlink" target="rightframe">unmodifiableSet
+(<code>Set&lt;? extends T&gt;</code>)</A></nobr><br>
+<!-- Method unmodifiableSortedSet -->
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.unmodifiableSortedSet_changed(java.util.SortedSet<T>)" class="hiddenlink" target="rightframe">unmodifiableSortedSet
+(<code>SortedSet&lt;T&gt;</code>)</A></nobr><br>
+<!-- Class URLClassLoader -->
+<A HREF="java.net.URLClassLoader.html" class="hiddenlink" target="rightframe">URLClassLoader</A><br>
+<!-- Class URLConnection -->
+<A HREF="java.net.URLConnection.html" class="hiddenlink" target="rightframe">URLConnection</A><br>
+<!-- Class UserHandle -->
+<A HREF="android.os.UserHandle.html" class="hiddenlink" target="rightframe">UserHandle</A><br>
+<!-- Class UserManager -->
+<A HREF="android.os.UserManager.html" class="hiddenlink" target="rightframe">UserManager</A><br>
+<!-- Class UtteranceProgressListener -->
+<A HREF="android.speech.tts.UtteranceProgressListener.html" class="hiddenlink" target="rightframe">UtteranceProgressListener</A><br>
+<!-- Method valueOf -->
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.sql.Timestamp.html#java.sql.Timestamp.valueOf_changed(java.lang.String)" class="hiddenlink" target="rightframe">valueOf
+(<code>String</code>)</A></nobr><br>
+<!-- Class Vector -->
+<A HREF="java.util.Vector.html" class="hiddenlink" target="rightframe">Vector</A><br>
+<!-- Class View -->
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<!-- Class View.BaseSavedState -->
+<A HREF="android.view.View.BaseSavedState.html" class="hiddenlink" target="rightframe">View.BaseSavedState</A><br>
+<!-- Class ViewAsserts -->
+<A HREF="android.test.ViewAsserts.html" class="hiddenlink" target="rightframe">ViewAsserts</A><br>
+<!-- Class ViewGroup -->
+<A HREF="android.view.ViewGroup.html" class="hiddenlink" target="rightframe">ViewGroup</A><br>
+<!-- Class ViewParent -->
+<A HREF="android.view.ViewParent.html" class="hiddenlink" target="rightframe"><i>ViewParent</i></A><br>
+<!-- Class VirtualMachineError -->
+<A HREF="java.lang.VirtualMachineError.html" class="hiddenlink" target="rightframe">VirtualMachineError</A><br>
+<!-- Class VoiceInteractionSession -->
+<A HREF="android.service.voice.VoiceInteractionSession.html" class="hiddenlink" target="rightframe">VoiceInteractionSession</A><br>
+<!-- Class VoicemailContract -->
+<A HREF="android.provider.VoicemailContract.html" class="hiddenlink" target="rightframe">VoicemailContract</A><br>
+<!-- Class VoicemailContract.Status -->
+<A HREF="android.provider.VoicemailContract.Status.html" class="hiddenlink" target="rightframe">VoicemailContract.Status</A><br>
+<!-- Class VoicemailContract.Voicemails -->
+<A HREF="android.provider.VoicemailContract.Voicemails.html" class="hiddenlink" target="rightframe">VoicemailContract.Voicemails</A><br>
+<!-- Class WallpaperManager -->
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.WallpaperManager.html" class="hiddenlink" target="rightframe">WallpaperManager</A><br>
+<!-- Class WeakHashMap -->
+<A HREF="java.util.WeakHashMap.html" class="hiddenlink" target="rightframe">WeakHashMap</A><br>
+<!-- Class WebResourceRequest -->
+<A HREF="android.webkit.WebResourceRequest.html" class="hiddenlink" target="rightframe"><i>WebResourceRequest</i></A><br>
+<!-- Class WebSettings -->
+<A HREF="android.webkit.WebSettings.html" class="hiddenlink" target="rightframe">WebSettings</A><br>
+<!-- Class WebViewClient -->
+<A HREF="android.webkit.WebViewClient.html" class="hiddenlink" target="rightframe">WebViewClient</A><br>
+<!-- Class WifiEnterpriseConfig -->
+<A HREF="android.net.wifi.WifiEnterpriseConfig.html" class="hiddenlink" target="rightframe">WifiEnterpriseConfig</A><br>
+<!-- Class WifiEnterpriseConfig.Eap -->
+<A HREF="android.net.wifi.WifiEnterpriseConfig.Eap.html" class="hiddenlink" target="rightframe">WifiEnterpriseConfig.Eap</A><br>
+<!-- Class Window -->
+<A HREF="android.view.Window.html" class="hiddenlink" target="rightframe">Window</A><br>
+<!-- Class Window.Callback -->
+<A HREF="android.view.Window.Callback.html" class="hiddenlink" target="rightframe"><i>Window.Callback</i></A><br>
+<!-- Class X509Certificate -->
+<A NAME="X"></A>
+<br><font size="+2">X</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.security.cert.X509Certificate.html" class="hiddenlink" target="rightframe">X509Certificate</A><br>
+<!-- Class X509CRLEntry -->
+<A HREF="java.security.cert.X509CRLEntry.html" class="hiddenlink" target="rightframe">X509CRLEntry</A><br>
+<!-- Class ZipFile -->
+<A NAME="Z"></A>
+<br><font size="+2">Z</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.zip.ZipFile.html" class="hiddenlink" target="rightframe">ZipFile</A><br>
+<!-- Class ZipInputStream -->
+<A HREF="java.util.zip.ZipInputStream.html" class="hiddenlink" target="rightframe">ZipInputStream</A><br>
+<!-- Class ZipOutputStream -->
+<A HREF="java.util.zip.ZipOutputStream.html" class="hiddenlink" target="rightframe">ZipOutputStream</A><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/alldiffs_index_removals.html b/docs/html/sdk/api_diff/24/changes/alldiffs_index_removals.html
new file mode 100644
index 0000000..8ba15fb
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/alldiffs_index_removals.html
@@ -0,0 +1,287 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+All Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for All Differences" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="alldiffs_index_all.html" xclass="hiddenlink">All Differences</a>
+  <br>
+<b>Removals</b>
+  <br>
+<A HREF="alldiffs_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="alldiffs_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<!-- Class AvoidXfermode -->
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.graphics.html#AvoidXfermode" class="hiddenlink" target="rightframe"><strike>AvoidXfermode</strike></A><br>
+<!-- Class AvoidXfermode.Mode -->
+<A HREF="pkg_android.graphics.html#AvoidXfermode.Mode" class="hiddenlink" target="rightframe"><strike>AvoidXfermode.Mode</strike></A><br>
+<!-- Method createAndInitializeUser -->
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.createAndInitializeUser_removed(android.content.ComponentName, java.lang.String, java.lang.String, android.content.ComponentName, android.os.Bundle)" class="hiddenlink" target="rightframe"><strike>createAndInitializeUser</strike>
+(<code>ComponentName, String, String, ComponentName, Bundle</code>)</A></nobr><br>
+<!-- Method createUser -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.createUser_removed(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe"><strike>createUser</strike>
+(<code>ComponentName, String</code>)</A></nobr><br>
+<!-- Method equals -->
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.security.acl.Permission.html#java.security.acl.Permission.equals_removed(java.lang.Object)" class="hiddenlink" target="rightframe"><strike>equals</strike>
+(<code>Object</code>)</A></nobr><br>
+<!-- Field FLASHLIGHT -->
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.FLASHLIGHT" class="hiddenlink" target="rightframe"><strike>FLASHLIGHT</strike></A>
+</nobr><br>
+<!-- Method getDefaultBrowserPackageName -->
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.getDefaultBrowserPackageName_removed(int)" class="hiddenlink" target="rightframe"><strike>getDefaultBrowserPackageName</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method isAnnotationPresent -->
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>isAnnotationPresent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Class.html#java.lang.Class.isAnnotationPresent_removed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Class&lt;Annotation&gt;</code>)</strike>&nbsp;in&nbsp;java.lang.Class
+</A></nobr><br>
+<!-- Method isAnnotationPresent -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Package.html#java.lang.Package.isAnnotationPresent_removed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Class&lt;Annotation&gt;</code>)</strike>&nbsp;in&nbsp;java.lang.Package
+</A></nobr><br>
+<!-- Method isAnnotationPresent -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.isAnnotationPresent_removed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Class&lt;Annotation&gt;</code>)</strike>&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+<!-- Method onUnhandledInputEvent -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onUnhandledInputEvent_removed(android.webkit.WebView, android.view.InputEvent)" class="hiddenlink" target="rightframe"><strike>onUnhandledInputEvent</strike>
+(<code>WebView, InputEvent</code>)</A></nobr><br>
+<!-- Class PixelXorXfermode -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.graphics.html#PixelXorXfermode" class="hiddenlink" target="rightframe"><strike>PixelXorXfermode</strike></A><br>
+<!-- Method remove -->
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>remove</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.database.CursorJoiner.html#android.database.CursorJoiner.remove_removed()" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+()</strike>&nbsp;in&nbsp;android.database.CursorJoiner
+</A></nobr><br>
+<!-- Method remove -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.TextUtils.SimpleStringSplitter.html#android.text.TextUtils.SimpleStringSplitter.remove_removed()" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+()</strike>&nbsp;in&nbsp;android.text.TextUtils.SimpleStringSplitter
+</A></nobr><br>
+<!-- Method remove -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Scanner.html#java.util.Scanner.remove_removed()" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+()</strike>&nbsp;in&nbsp;java.util.Scanner
+</A></nobr><br>
+<!-- Method setDefaultBrowserPackageName -->
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.setDefaultBrowserPackageName_removed(java.lang.String, int)" class="hiddenlink" target="rightframe"><strike>setDefaultBrowserPackageName</strike>
+(<code>String, int</code>)</A></nobr><br>
+<!-- Field SMS_EMERGENCY_CB_RECEIVED_ACTION -->
+<nobr><A HREF="android.provider.Telephony.Sms.Intents.html#android.provider.Telephony.Sms.Intents.SMS_EMERGENCY_CB_RECEIVED_ACTION" class="hiddenlink" target="rightframe"><strike>SMS_EMERGENCY_CB_RECEIVED_ACTION</strike></A>
+</nobr><br>
+<!-- Field SYS_PROP_SETTING_VERSION -->
+<i>SYS_PROP_SETTING_VERSION</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.SYS_PROP_SETTING_VERSION" class="hiddenlink" target="rightframe"><strike>android.provider.Settings.Global</strike></A>
+</nobr><br>
+<!-- Field SYS_PROP_SETTING_VERSION -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.SYS_PROP_SETTING_VERSION" class="hiddenlink" target="rightframe"><strike>android.provider.Settings.Secure</strike></A>
+</nobr><br>
+<!-- Field SYS_PROP_SETTING_VERSION -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SYS_PROP_SETTING_VERSION" class="hiddenlink" target="rightframe"><strike>android.provider.Settings.System</strike></A>
+</nobr><br>
+<!-- Method toString -->
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.security.acl.Permission.html#java.security.acl.Permission.toString_removed()" class="hiddenlink" target="rightframe"><strike>toString</strike>
+()</A></nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.Manifest.permission.html b/docs/html/sdk/api_diff/24/changes/android.Manifest.permission.html
new file mode 100644
index 0000000..32401ca
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.Manifest.permission.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.Manifest.permission
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.<A HREF="../../../../reference/android/Manifest.permission.html" target="_top"><font size="+2"><code>Manifest.permission</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.FLASHLIGHT"></A>
+  <code>String</code>&nbsp;FLASHLIGHT
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.BIND_CONDITION_PROVIDER_SERVICE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#BIND_CONDITION_PROVIDER_SERVICE" target="_top"><code>BIND_CONDITION_PROVIDER_SERVICE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.BIND_QUICK_SETTINGS_TILE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#BIND_QUICK_SETTINGS_TILE" target="_top"><code>BIND_QUICK_SETTINGS_TILE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.BIND_SCREENING_SERVICE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#BIND_SCREENING_SERVICE" target="_top"><code>BIND_SCREENING_SERVICE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.BIND_VR_LISTENER_SERVICE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#BIND_VR_LISTENER_SERVICE" target="_top"><code>BIND_VR_LISTENER_SERVICE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.R.attr.html b/docs/html/sdk/api_diff/24/changes/android.R.attr.html
new file mode 100644
index 0000000..0ac1c51
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.R.attr.html
@@ -0,0 +1,486 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.R.attr
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.<A HREF="../../../../reference/android/R.attr.html" target="_top"><font size="+2"><code>R.attr</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.backupInForeground"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#backupInForeground" target="_top"><code>backupInForeground</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.bitmap"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#bitmap" target="_top"><code>bitmap</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.buttonGravity"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#buttonGravity" target="_top"><code>buttonGravity</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.canControlMagnification"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#canControlMagnification" target="_top"><code>canControlMagnification</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.canPerformGestures"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#canPerformGestures" target="_top"><code>canPerformGestures</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.canRecord"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#canRecord" target="_top"><code>canRecord</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.collapseIcon"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#collapseIcon" target="_top"><code>collapseIcon</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.contentInsetEndWithActions"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#contentInsetEndWithActions" target="_top"><code>contentInsetEndWithActions</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.contentInsetStartWithNavigation"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#contentInsetStartWithNavigation" target="_top"><code>contentInsetStartWithNavigation</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.contextPopupMenuStyle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#contextPopupMenuStyle" target="_top"><code>contextPopupMenuStyle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.countDown"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#countDown" target="_top"><code>countDown</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.defaultHeight"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#defaultHeight" target="_top"><code>defaultHeight</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.defaultToDeviceProtectedStorage"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#defaultToDeviceProtectedStorage" target="_top"><code>defaultToDeviceProtectedStorage</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.defaultWidth"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#defaultWidth" target="_top"><code>defaultWidth</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.directBootAware"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#directBootAware" target="_top"><code>directBootAware</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.enableVrMode"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#enableVrMode" target="_top"><code>enableVrMode</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.endX"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#endX" target="_top"><code>endX</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.endY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#endY" target="_top"><code>endY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.externalService"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#externalService" target="_top"><code>externalService</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.fillType"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#fillType" target="_top"><code>fillType</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.forceHasOverlappingRendering"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#forceHasOverlappingRendering" target="_top"><code>forceHasOverlappingRendering</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.hotSpotX"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#hotSpotX" target="_top"><code>hotSpotX</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.hotSpotY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#hotSpotY" target="_top"><code>hotSpotY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.languageTag"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#languageTag" target="_top"><code>languageTag</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.level"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#level" target="_top"><code>level</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.listMenuViewStyle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#listMenuViewStyle" target="_top"><code>listMenuViewStyle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.maxButtonHeight"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#maxButtonHeight" target="_top"><code>maxButtonHeight</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.networkSecurityConfig"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#networkSecurityConfig" target="_top"><code>networkSecurityConfig</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.numberPickerStyle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#numberPickerStyle" target="_top"><code>numberPickerStyle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.offset"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#offset" target="_top"><code>offset</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.pointerIcon"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#pointerIcon" target="_top"><code>pointerIcon</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.popupEnterTransition"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#popupEnterTransition" target="_top"><code>popupEnterTransition</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.popupExitTransition"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#popupExitTransition" target="_top"><code>popupExitTransition</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.preferenceFragmentStyle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#preferenceFragmentStyle" target="_top"><code>preferenceFragmentStyle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.resizeableActivity"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#resizeableActivity" target="_top"><code>resizeableActivity</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.startX"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#startX" target="_top"><code>startX</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.startY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#startY" target="_top"><code>startY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.subMenuArrow"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#subMenuArrow" target="_top"><code>subMenuArrow</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.supportsLocalInteraction"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#supportsLocalInteraction" target="_top"><code>supportsLocalInteraction</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.supportsPictureInPicture"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#supportsPictureInPicture" target="_top"><code>supportsPictureInPicture</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.textAppearancePopupMenuHeader"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#textAppearancePopupMenuHeader" target="_top"><code>textAppearancePopupMenuHeader</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.tickMark"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#tickMark" target="_top"><code>tickMark</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.tickMarkTint"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#tickMarkTint" target="_top"><code>tickMarkTint</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.tickMarkTintMode"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#tickMarkTintMode" target="_top"><code>tickMarkTintMode</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.titleMargin"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#titleMargin" target="_top"><code>titleMargin</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.titleMarginBottom"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#titleMarginBottom" target="_top"><code>titleMarginBottom</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.titleMarginEnd"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#titleMarginEnd" target="_top"><code>titleMarginEnd</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.titleMarginStart"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#titleMarginStart" target="_top"><code>titleMarginStart</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.titleMarginTop"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#titleMarginTop" target="_top"><code>titleMarginTop</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.tunerCount"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#tunerCount" target="_top"><code>tunerCount</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.use32bitAbi"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#use32bitAbi" target="_top"><code>use32bitAbi</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.version"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#version" target="_top"><code>version</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.windowBackgroundFallback"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#windowBackgroundFallback" target="_top"><code>windowBackgroundFallback</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.R.id.html b/docs/html/sdk/api_diff/24/changes/android.R.id.html
new file mode 100644
index 0000000..d142fad
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.R.id.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.R.id
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.<A HREF="../../../../reference/android/R.id.html" target="_top"><font size="+2"><code>R.id</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.accessibilityActionSetProgress"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#accessibilityActionSetProgress" target="_top"><code>accessibilityActionSetProgress</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.icon_frame"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#icon_frame" target="_top"><code>icon_frame</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.list_container"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#list_container" target="_top"><code>list_container</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.switch_widget"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#switch_widget" target="_top"><code>switch_widget</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.R.style.html b/docs/html/sdk/api_diff/24/changes/android.R.style.html
new file mode 100644
index 0000000..27a03c9
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.R.style.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.R.style
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.<A HREF="../../../../reference/android/R.style.html" target="_top"><font size="+2"><code>R.style</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_Material_Widget_Button_Borderless_Colored"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_Material_Widget_Button_Borderless_Colored" target="_top"><code>TextAppearance_Material_Widget_Button_Borderless_Colored</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_Material_Widget_Button_Colored"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_Material_Widget_Button_Colored" target="_top"><code>TextAppearance_Material_Widget_Button_Colored</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_Material_Light_DialogWhenLarge_DarkActionBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_Material_Light_DialogWhenLarge_DarkActionBar" target="_top"><code>Theme_Material_Light_DialogWhenLarge_DarkActionBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_Material_CompoundButton_Switch"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_Material_CompoundButton_Switch" target="_top"><code>Widget_Material_CompoundButton_Switch</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_Material_Light_CompoundButton_Switch"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_Material_Light_CompoundButton_Switch" target="_top"><code>Widget_Material_Light_CompoundButton_Switch</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_Material_Light_NumberPicker"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_Material_Light_NumberPicker" target="_top"><code>Widget_Material_Light_NumberPicker</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_Material_NumberPicker"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_Material_NumberPicker" target="_top"><code>Widget_Material_NumberPicker</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_Material_SeekBar_Discrete"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_Material_SeekBar_Discrete" target="_top"><code>Widget_Material_SeekBar_Discrete</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.accessibilityservice.AccessibilityService.html b/docs/html/sdk/api_diff/24/changes/android.accessibilityservice.AccessibilityService.html
new file mode 100644
index 0000000..9923915
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.accessibilityservice.AccessibilityService.html
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.accessibilityservice.AccessibilityService
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.accessibilityservice.<A HREF="../../../../reference/android/accessibilityservice/AccessibilityService.html" target="_top"><font size="+2"><code>AccessibilityService</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accessibilityservice.AccessibilityService.disableSelf_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityService.html#disableSelf()" target="_top"><code>disableSelf</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accessibilityservice.AccessibilityService.dispatchGesture_added(android.accessibilityservice.GestureDescription, android.accessibilityservice.AccessibilityService.GestureResultCallback, android.os.Handler)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityService.html#dispatchGesture(android.accessibilityservice.GestureDescription, android.accessibilityservice.AccessibilityService.GestureResultCallback, android.os.Handler)" target="_top"><code>dispatchGesture</code></A>(<code>GestureDescription,</nobr> GestureResultCallback<nobr>,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accessibilityservice.AccessibilityService.getMagnificationController_added()"></A>
+  <nobr><code>MagnificationController</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityService.html#getMagnificationController()" target="_top"><code>getMagnificationController</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accessibilityservice.AccessibilityService.getSoftKeyboardController_added()"></A>
+  <nobr><code>SoftKeyboardController</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityService.html#getSoftKeyboardController()" target="_top"><code>getSoftKeyboardController</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accessibilityservice.AccessibilityService.GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityService.html#GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN" target="_top"><code>GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accessibilityservice.AccessibilityService.SHOW_MODE_AUTO"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityService.html#SHOW_MODE_AUTO" target="_top"><code>SHOW_MODE_AUTO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accessibilityservice.AccessibilityService.SHOW_MODE_HIDDEN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityService.html#SHOW_MODE_HIDDEN" target="_top"><code>SHOW_MODE_HIDDEN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.accessibilityservice.AccessibilityServiceInfo.html b/docs/html/sdk/api_diff/24/changes/android.accessibilityservice.AccessibilityServiceInfo.html
new file mode 100644
index 0000000..8d27f0a
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.accessibilityservice.AccessibilityServiceInfo.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.accessibilityservice.AccessibilityServiceInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.accessibilityservice.<A HREF="../../../../reference/android/accessibilityservice/AccessibilityServiceInfo.html" target="_top"><font size="+2"><code>AccessibilityServiceInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accessibilityservice.AccessibilityServiceInfo.CAPABILITY_CAN_CONTROL_MAGNIFICATION"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityServiceInfo.html#CAPABILITY_CAN_CONTROL_MAGNIFICATION" target="_top"><code>CAPABILITY_CAN_CONTROL_MAGNIFICATION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accessibilityservice.AccessibilityServiceInfo.CAPABILITY_CAN_PERFORM_GESTURES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityServiceInfo.html#CAPABILITY_CAN_PERFORM_GESTURES" target="_top"><code>CAPABILITY_CAN_PERFORM_GESTURES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.animation.Animator.html b/docs/html/sdk/api_diff/24/changes/android.animation.Animator.html
new file mode 100644
index 0000000..39abba4
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.animation.Animator.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.animation.Animator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.animation.<A HREF="../../../../reference/android/animation/Animator.html" target="_top"><font size="+2"><code>Animator</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.animation.Animator.getTotalDuration_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/animation/Animator.html#getTotalDuration()" target="_top"><code>getTotalDuration</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.animation.Animator.DURATION_INFINITE"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/animation/Animator.html#DURATION_INFINITE" target="_top"><code>DURATION_INFINITE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.Activity.html b/docs/html/sdk/api_diff/24/changes/android.app.Activity.html
new file mode 100644
index 0000000..41db597
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.Activity.html
@@ -0,0 +1,291 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Activity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Activity.html" target="_top"><font size="+2"><code>Activity</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.dismissKeyboardShortcutsHelper_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#dismissKeyboardShortcutsHelper()" target="_top"><code>dismissKeyboardShortcutsHelper</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.enterPictureInPictureMode_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#enterPictureInPictureMode()" target="_top"><code>enterPictureInPictureMode</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.isInMultiWindowMode_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#isInMultiWindowMode()" target="_top"><code>isInMultiWindowMode</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.isInPictureInPictureMode_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#isInPictureInPictureMode()" target="_top"><code>isInPictureInPictureMode</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.isLocalVoiceInteractionSupported_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#isLocalVoiceInteractionSupported()" target="_top"><code>isLocalVoiceInteractionSupported</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.onLocalVoiceInteractionStarted_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#onLocalVoiceInteractionStarted()" target="_top"><code>onLocalVoiceInteractionStarted</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.onLocalVoiceInteractionStopped_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#onLocalVoiceInteractionStopped()" target="_top"><code>onLocalVoiceInteractionStopped</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.onMultiWindowModeChanged_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#onMultiWindowModeChanged(boolean)" target="_top"><code>onMultiWindowModeChanged</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.onPictureInPictureModeChanged_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#onPictureInPictureModeChanged(boolean)" target="_top"><code>onPictureInPictureModeChanged</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.requestDragAndDropPermissions_added(android.view.DragEvent)"></A>
+  <nobr><code>DragAndDropPermissions</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#requestDragAndDropPermissions(android.view.DragEvent)" target="_top"><code>requestDragAndDropPermissions</code></A>(<code>DragEvent</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.requestShowKeyboardShortcuts_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#requestShowKeyboardShortcuts()" target="_top"><code>requestShowKeyboardShortcuts</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.setVrModeEnabled_added(boolean, android.content.ComponentName)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#setVrModeEnabled(boolean, android.content.ComponentName)" target="_top"><code>setVrModeEnabled</code></A>(<code>boolean,</nobr> ComponentName<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.startLocalVoiceInteraction_added(android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#startLocalVoiceInteraction(android.os.Bundle)" target="_top"><code>startLocalVoiceInteraction</code></A>(<code>Bundle</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.stopLocalVoiceInteraction_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#stopLocalVoiceInteraction()" target="_top"><code>stopLocalVoiceInteraction</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.getLastNonConfigurationInstance_changed()"></A>
+  <nobr><code>Object</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#getLastNonConfigurationInstance()" target="_top"><code>getLastNonConfigurationInstance</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from deprecated to undeprecated.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.onRetainNonConfigurationInstance_changed()"></A>
+  <nobr><code>Object</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#onRetainNonConfigurationInstance()" target="_top"><code>onRetainNonConfigurationInstance</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from deprecated to undeprecated.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.setProgress_changed(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#setProgress(int)" target="_top"><code>setProgress</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.setProgressBarIndeterminate_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#setProgressBarIndeterminate(boolean)" target="_top"><code>setProgressBarIndeterminate</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.setProgressBarIndeterminateVisibility_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#setProgressBarIndeterminateVisibility(boolean)" target="_top"><code>setProgressBarIndeterminateVisibility</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.setProgressBarVisibility_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#setProgressBarVisibility(boolean)" target="_top"><code>setProgressBarVisibility</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.setSecondaryProgress_changed(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#setSecondaryProgress(int)" target="_top"><code>setSecondaryProgress</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.ActivityOptions.html b/docs/html/sdk/api_diff/24/changes/android.app.ActivityOptions.html
new file mode 100644
index 0000000..5695979
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.ActivityOptions.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.ActivityOptions
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/ActivityOptions.html" target="_top"><font size="+2"><code>ActivityOptions</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.ActivityOptions.getLaunchBounds_added()"></A>
+  <nobr><code>Rect</code>&nbsp;<A HREF="../../../../reference/android/app/ActivityOptions.html#getLaunchBounds()" target="_top"><code>getLaunchBounds</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.ActivityOptions.setLaunchBounds_added(android.graphics.Rect)"></A>
+  <nobr><code>ActivityOptions</code>&nbsp;<A HREF="../../../../reference/android/app/ActivityOptions.html#setLaunchBounds(android.graphics.Rect)" target="_top"><code>setLaunchBounds</code></A>(<code>Rect</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.AlarmManager.html b/docs/html/sdk/api_diff/24/changes/android.app.AlarmManager.html
new file mode 100644
index 0000000..73ed0c3
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.AlarmManager.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.AlarmManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/AlarmManager.html" target="_top"><font size="+2"><code>AlarmManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.AlarmManager.cancel_added(android.app.AlarmManager.OnAlarmListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/AlarmManager.html#cancel(android.app.AlarmManager.OnAlarmListener)" target="_top"><code>cancel</code></A>(<code>OnAlarmListener</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.AlarmManager.set_added(int, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/AlarmManager.html#set(int, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)" target="_top"><code>set</code></A>(<code>int,</nobr> long<nobr>,</nobr> String<nobr>,</nobr> OnAlarmListener<nobr>,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.AlarmManager.setExact_added(int, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/AlarmManager.html#setExact(int, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)" target="_top"><code>setExact</code></A>(<code>int,</nobr> long<nobr>,</nobr> String<nobr>,</nobr> OnAlarmListener<nobr>,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.AlarmManager.setWindow_added(int, long, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/AlarmManager.html#setWindow(int, long, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)" target="_top"><code>setWindow</code></A>(<code>int,</nobr> long<nobr>,</nobr> long<nobr>,</nobr> String<nobr>,</nobr> OnAlarmListener<nobr>,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.DatePickerDialog.html b/docs/html/sdk/api_diff/24/changes/android.app.DatePickerDialog.html
new file mode 100644
index 0000000..811af16
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.DatePickerDialog.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.DatePickerDialog
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/DatePickerDialog.html" target="_top"><font size="+2"><code>DatePickerDialog</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.DatePickerDialog.ctor_added(android.content.Context)"></A>
+  <nobr><A HREF="../../../../reference/android/app/DatePickerDialog.html#DatePickerDialog(android.content.Context)" target="_top"><code>DatePickerDialog</code></A>(<code>Context</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.DatePickerDialog.ctor_added(android.content.Context, int)"></A>
+  <nobr><A HREF="../../../../reference/android/app/DatePickerDialog.html#DatePickerDialog(android.content.Context, int)" target="_top"><code>DatePickerDialog</code></A>(<code>Context,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.DatePickerDialog.setOnDateSetListener_added(android.app.DatePickerDialog.OnDateSetListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/DatePickerDialog.html#setOnDateSetListener(android.app.DatePickerDialog.OnDateSetListener)" target="_top"><code>setOnDateSetListener</code></A>(<code>OnDateSetListener</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.DownloadManager.Request.html b/docs/html/sdk/api_diff/24/changes/android.app.DownloadManager.Request.html
new file mode 100644
index 0000000..f9d202e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.DownloadManager.Request.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.DownloadManager.Request
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/DownloadManager.Request.html" target="_top"><font size="+2"><code>DownloadManager.Request</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.DownloadManager.Request.setRequiresCharging_added(boolean)"></A>
+  <nobr><code>Request</code>&nbsp;<A HREF="../../../../reference/android/app/DownloadManager.Request.html#setRequiresCharging(boolean)" target="_top"><code>setRequiresCharging</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.DownloadManager.Request.setRequiresDeviceIdle_added(boolean)"></A>
+  <nobr><code>Request</code>&nbsp;<A HREF="../../../../reference/android/app/DownloadManager.Request.html#setRequiresDeviceIdle(boolean)" target="_top"><code>setRequiresDeviceIdle</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.DownloadManager.html b/docs/html/sdk/api_diff/24/changes/android.app.DownloadManager.html
new file mode 100644
index 0000000..bc85508
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.DownloadManager.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.DownloadManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/DownloadManager.html" target="_top"><font size="+2"><code>DownloadManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.DownloadManager.addCompletedDownload_added(java.lang.String, java.lang.String, boolean, java.lang.String, java.lang.String, long, boolean, android.net.Uri, android.net.Uri)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/app/DownloadManager.html#addCompletedDownload(java.lang.String, java.lang.String, boolean, java.lang.String, java.lang.String, long, boolean, android.net.Uri, android.net.Uri)" target="_top"><code>addCompletedDownload</code></A>(<code>String,</nobr> String<nobr>,</nobr> boolean<nobr>,</nobr> String<nobr>,</nobr> String<nobr>,</nobr> long<nobr>,</nobr> boolean<nobr>,</nobr> Uri<nobr>,</nobr> Uri<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.DownloadManager.COLUMN_LOCAL_FILENAME"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/DownloadManager.html#COLUMN_LOCAL_FILENAME" target="_top"><code>COLUMN_LOCAL_FILENAME</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.Fragment.html b/docs/html/sdk/api_diff/24/changes/android.app.Fragment.html
new file mode 100644
index 0000000..97a642e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.Fragment.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Fragment
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Fragment.html" target="_top"><font size="+2"><code>Fragment</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Fragment.onAttachFragment_added(android.app.Fragment)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Fragment.html#onAttachFragment(android.app.Fragment)" target="_top"><code>onAttachFragment</code></A>(<code>Fragment</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Fragment.onMultiWindowModeChanged_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Fragment.html#onMultiWindowModeChanged(boolean)" target="_top"><code>onMultiWindowModeChanged</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Fragment.onPictureInPictureModeChanged_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Fragment.html#onPictureInPictureModeChanged(boolean)" target="_top"><code>onPictureInPictureModeChanged</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Fragment.startIntentSenderForResult_added(android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Fragment.html#startIntentSenderForResult(android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle)" target="_top"><code>startIntentSenderForResult</code></A>(<code>IntentSender,</nobr> int<nobr>,</nobr> Intent<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.FragmentController.html b/docs/html/sdk/api_diff/24/changes/android.app.FragmentController.html
new file mode 100644
index 0000000..ac7a2ca
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.FragmentController.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.FragmentController
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/FragmentController.html" target="_top"><font size="+2"><code>FragmentController</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.FragmentController.dispatchMultiWindowModeChanged_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/FragmentController.html#dispatchMultiWindowModeChanged(boolean)" target="_top"><code>dispatchMultiWindowModeChanged</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.FragmentController.dispatchPictureInPictureModeChanged_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/FragmentController.html#dispatchPictureInPictureModeChanged(boolean)" target="_top"><code>dispatchPictureInPictureModeChanged</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.FragmentController.restoreAllState_added(android.os.Parcelable, android.app.FragmentManagerNonConfig)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/FragmentController.html#restoreAllState(android.os.Parcelable, android.app.FragmentManagerNonConfig)" target="_top"><code>restoreAllState</code></A>(<code>Parcelable,</nobr> FragmentManagerNonConfig<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.FragmentController.retainNestedNonConfig_added()"></A>
+  <nobr><code>FragmentManagerNonConfig</code>&nbsp;<A HREF="../../../../reference/android/app/FragmentController.html#retainNestedNonConfig()" target="_top"><code>retainNestedNonConfig</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.FragmentController.retainNonConfig_changed()"></A>
+  <nobr><code>List&lt;Fragment&gt;</code>&nbsp;<A HREF="../../../../reference/android/app/FragmentController.html#retainNonConfig()" target="_top"><code>retainNonConfig</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.FragmentController.restoreAllState_changed(android.os.Parcelable, java.util.List<android.app.Fragment>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/FragmentController.html#restoreAllState(android.os.Parcelable, java.util.List<android.app.Fragment>)" target="_top"><code>restoreAllState</code></A>(<code>Parcelable,</nobr> List&lt;Fragment&gt;<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.FragmentHostCallback.html b/docs/html/sdk/api_diff/24/changes/android.app.FragmentHostCallback.html
new file mode 100644
index 0000000..36dd5cfe
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.FragmentHostCallback.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.FragmentHostCallback
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/FragmentHostCallback.html" target="_top"><font size="+2"><code>FragmentHostCallback</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.FragmentHostCallback.onStartIntentSenderFromFragment_added(android.app.Fragment, android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/FragmentHostCallback.html#onStartIntentSenderFromFragment(android.app.Fragment, android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle)" target="_top"><code>onStartIntentSenderFromFragment</code></A>(<code>Fragment,</nobr> IntentSender<nobr>,</nobr> int<nobr>,</nobr> Intent<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.FragmentTransaction.html b/docs/html/sdk/api_diff/24/changes/android.app.FragmentTransaction.html
new file mode 100644
index 0000000..6574a0e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.FragmentTransaction.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.FragmentTransaction
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/FragmentTransaction.html" target="_top"><font size="+2"><code>FragmentTransaction</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.FragmentTransaction.commitNow_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/FragmentTransaction.html#commitNow()" target="_top"><code>commitNow</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.FragmentTransaction.commitNowAllowingStateLoss_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/FragmentTransaction.html#commitNowAllowingStateLoss()" target="_top"><code>commitNowAllowingStateLoss</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.Instrumentation.html b/docs/html/sdk/api_diff/24/changes/android.app.Instrumentation.html
new file mode 100644
index 0000000..b51e53e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.Instrumentation.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Instrumentation
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Instrumentation.html" target="_top"><font size="+2"><code>Instrumentation</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Instrumentation.getUiAutomation_added(int)"></A>
+  <nobr><code>UiAutomation</code>&nbsp;<A HREF="../../../../reference/android/app/Instrumentation.html#getUiAutomation(int)" target="_top"><code>getUiAutomation</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.Notification.Action.Builder.html b/docs/html/sdk/api_diff/24/changes/android.app.Notification.Action.Builder.html
new file mode 100644
index 0000000..0687337
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.Notification.Action.Builder.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification.Action.Builder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.Action.Builder.html" target="_top"><font size="+2"><code>Notification.Action.Builder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Action.Builder.setAllowGeneratedReplies_added(boolean)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Action.Builder.html#setAllowGeneratedReplies(boolean)" target="_top"><code>setAllowGeneratedReplies</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.Notification.Action.WearableExtender.html b/docs/html/sdk/api_diff/24/changes/android.app.Notification.Action.WearableExtender.html
new file mode 100644
index 0000000..338475c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.Notification.Action.WearableExtender.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification.Action.WearableExtender
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.Action.WearableExtender.html" target="_top"><font size="+2"><code>Notification.Action.WearableExtender</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Action.WearableExtender.getHintLaunchesActivity_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Action.WearableExtender.html#getHintLaunchesActivity()" target="_top"><code>getHintLaunchesActivity</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Action.WearableExtender.setHintLaunchesActivity_added(boolean)"></A>
+  <nobr><code>WearableExtender</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Action.WearableExtender.html#setHintLaunchesActivity(boolean)" target="_top"><code>setHintLaunchesActivity</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.Notification.Action.html b/docs/html/sdk/api_diff/24/changes/android.app.Notification.Action.html
new file mode 100644
index 0000000..b94f760
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.Notification.Action.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification.Action
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.Action.html" target="_top"><font size="+2"><code>Notification.Action</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Action.getAllowGeneratedReplies_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Action.html#getAllowGeneratedReplies()" target="_top"><code>getAllowGeneratedReplies</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.Notification.BigPictureStyle.html b/docs/html/sdk/api_diff/24/changes/android.app.Notification.BigPictureStyle.html
new file mode 100644
index 0000000..14bcb61
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.Notification.BigPictureStyle.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification.BigPictureStyle
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.BigPictureStyle.html" target="_top"><font size="+2"><code>Notification.BigPictureStyle</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.BigPictureStyle.ctor_changed(android.app.Notification.Builder)"></A>
+  <nobr><A HREF="../../../../reference/android/app/Notification.BigPictureStyle.html#Notification.BigPictureStyle(android.app.Notification.Builder)" target="_top"><code>Notification.BigPictureStyle</code></A>(<code>Builder</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.Notification.BigTextStyle.html b/docs/html/sdk/api_diff/24/changes/android.app.Notification.BigTextStyle.html
new file mode 100644
index 0000000..b593cb7
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.Notification.BigTextStyle.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification.BigTextStyle
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.BigTextStyle.html" target="_top"><font size="+2"><code>Notification.BigTextStyle</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.BigTextStyle.ctor_changed(android.app.Notification.Builder)"></A>
+  <nobr><A HREF="../../../../reference/android/app/Notification.BigTextStyle.html#Notification.BigTextStyle(android.app.Notification.Builder)" target="_top"><code>Notification.BigTextStyle</code></A>(<code>Builder</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.Notification.Builder.html b/docs/html/sdk/api_diff/24/changes/android.app.Notification.Builder.html
new file mode 100644
index 0000000..5c14297
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.Notification.Builder.html
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification.Builder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.Builder.html" target="_top"><font size="+2"><code>Notification.Builder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Builder.createBigContentView_added()"></A>
+  <nobr><code>RemoteViews</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Builder.html#createBigContentView()" target="_top"><code>createBigContentView</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Builder.createContentView_added()"></A>
+  <nobr><code>RemoteViews</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Builder.html#createContentView()" target="_top"><code>createContentView</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Builder.createHeadsUpContentView_added()"></A>
+  <nobr><code>RemoteViews</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Builder.html#createHeadsUpContentView()" target="_top"><code>createHeadsUpContentView</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Builder.recoverBuilder_added(android.content.Context, android.app.Notification)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Builder.html#recoverBuilder(android.content.Context, android.app.Notification)" target="_top"><code>recoverBuilder</code></A>(<code>Context,</nobr> Notification<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Builder.setActions_added(android.app.Notification.Action...)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Builder.html#setActions(android.app.Notification.Action...)" target="_top"><code>setActions</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Builder.setChronometerCountDown_added(boolean)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Builder.html#setChronometerCountDown(boolean)" target="_top"><code>setChronometerCountDown</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Builder.setCustomBigContentView_added(android.widget.RemoteViews)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Builder.html#setCustomBigContentView(android.widget.RemoteViews)" target="_top"><code>setCustomBigContentView</code></A>(<code>RemoteViews</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Builder.setCustomContentView_added(android.widget.RemoteViews)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Builder.html#setCustomContentView(android.widget.RemoteViews)" target="_top"><code>setCustomContentView</code></A>(<code>RemoteViews</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Builder.setCustomHeadsUpContentView_added(android.widget.RemoteViews)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Builder.html#setCustomHeadsUpContentView(android.widget.RemoteViews)" target="_top"><code>setCustomHeadsUpContentView</code></A>(<code>RemoteViews</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Builder.setRemoteInputHistory_added(java.lang.CharSequence[])"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Builder.html#setRemoteInputHistory(java.lang.CharSequence[])" target="_top"><code>setRemoteInputHistory</code></A>(<code>CharSequence[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Builder.setContent_changed(android.widget.RemoteViews)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Builder.html#setContent(android.widget.RemoteViews)" target="_top"><code>setContent</code></A>(<code>RemoteViews</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Builder.setContentInfo_changed(java.lang.CharSequence)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Builder.html#setContentInfo(java.lang.CharSequence)" target="_top"><code>setContentInfo</code></A>(<code>CharSequence</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Builder.setNumber_changed(int)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Builder.html#setNumber(int)" target="_top"><code>setNumber</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.Notification.InboxStyle.html b/docs/html/sdk/api_diff/24/changes/android.app.Notification.InboxStyle.html
new file mode 100644
index 0000000..76f2052
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.Notification.InboxStyle.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification.InboxStyle
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.InboxStyle.html" target="_top"><font size="+2"><code>Notification.InboxStyle</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.InboxStyle.ctor_changed(android.app.Notification.Builder)"></A>
+  <nobr><A HREF="../../../../reference/android/app/Notification.InboxStyle.html#Notification.InboxStyle(android.app.Notification.Builder)" target="_top"><code>Notification.InboxStyle</code></A>(<code>Builder</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.Notification.MediaStyle.html b/docs/html/sdk/api_diff/24/changes/android.app.Notification.MediaStyle.html
new file mode 100644
index 0000000..eed1c97
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.Notification.MediaStyle.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification.MediaStyle
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.MediaStyle.html" target="_top"><font size="+2"><code>Notification.MediaStyle</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.MediaStyle.ctor_changed(android.app.Notification.Builder)"></A>
+  <nobr><A HREF="../../../../reference/android/app/Notification.MediaStyle.html#Notification.MediaStyle(android.app.Notification.Builder)" target="_top"><code>Notification.MediaStyle</code></A>(<code>Builder</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.Notification.WearableExtender.html b/docs/html/sdk/api_diff/24/changes/android.app.Notification.WearableExtender.html
new file mode 100644
index 0000000..9ddbb97
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.Notification.WearableExtender.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification.WearableExtender
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.WearableExtender.html" target="_top"><font size="+2"><code>Notification.WearableExtender</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.WearableExtender.getDismissalId_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.WearableExtender.html#getDismissalId()" target="_top"><code>getDismissalId</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.WearableExtender.getHintAmbientBigPicture_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.WearableExtender.html#getHintAmbientBigPicture()" target="_top"><code>getHintAmbientBigPicture</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.WearableExtender.getHintContentIntentLaunchesActivity_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.WearableExtender.html#getHintContentIntentLaunchesActivity()" target="_top"><code>getHintContentIntentLaunchesActivity</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.WearableExtender.setDismissalId_added(java.lang.String)"></A>
+  <nobr><code>WearableExtender</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.WearableExtender.html#setDismissalId(java.lang.String)" target="_top"><code>setDismissalId</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.WearableExtender.setHintAmbientBigPicture_added(boolean)"></A>
+  <nobr><code>WearableExtender</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.WearableExtender.html#setHintAmbientBigPicture(boolean)" target="_top"><code>setHintAmbientBigPicture</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.WearableExtender.setHintContentIntentLaunchesActivity_added(boolean)"></A>
+  <nobr><code>WearableExtender</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.WearableExtender.html#setHintContentIntentLaunchesActivity(boolean)" target="_top"><code>setHintContentIntentLaunchesActivity</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.Notification.html b/docs/html/sdk/api_diff/24/changes/android.app.Notification.html
new file mode 100644
index 0000000..42fc2ec
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.Notification.html
@@ -0,0 +1,194 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.html" target="_top"><font size="+2"><code>Notification</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.EXTRA_CHRONOMETER_COUNT_DOWN"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.html#EXTRA_CHRONOMETER_COUNT_DOWN" target="_top"><code>EXTRA_CHRONOMETER_COUNT_DOWN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.EXTRA_CONVERSATION_TITLE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.html#EXTRA_CONVERSATION_TITLE" target="_top"><code>EXTRA_CONVERSATION_TITLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.EXTRA_MESSAGES"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.html#EXTRA_MESSAGES" target="_top"><code>EXTRA_MESSAGES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.EXTRA_REMOTE_INPUT_HISTORY"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.html#EXTRA_REMOTE_INPUT_HISTORY" target="_top"><code>EXTRA_REMOTE_INPUT_HISTORY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.EXTRA_SELF_DISPLAY_NAME"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.html#EXTRA_SELF_DISPLAY_NAME" target="_top"><code>EXTRA_SELF_DISPLAY_NAME</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.bigContentView"></A>
+  <nobr><code>RemoteViews</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.html#bigContentView" target="_top"><code>bigContentView</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.contentView"></A>
+  <nobr><code>RemoteViews</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.html#contentView" target="_top"><code>contentView</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.headsUpContentView"></A>
+  <nobr><code>RemoteViews</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.html#headsUpContentView" target="_top"><code>headsUpContentView</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.number"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.html#number" target="_top"><code>number</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.NotificationManager.Policy.html b/docs/html/sdk/api_diff/24/changes/android.app.NotificationManager.Policy.html
new file mode 100644
index 0000000..7f607fc
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.NotificationManager.Policy.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.NotificationManager.Policy
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/NotificationManager.Policy.html" target="_top"><font size="+2"><code>NotificationManager.Policy</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.Policy.ctor_added(int, int, int, int)"></A>
+  <nobr><A HREF="../../../../reference/android/app/NotificationManager.Policy.html#NotificationManager.Policy(int, int, int, int)" target="_top"><code>NotificationManager.Policy</code></A>(<code>int,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.Policy.suppressedEffectsToString_added(int)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.Policy.html#suppressedEffectsToString(int)" target="_top"><code>suppressedEffectsToString</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_OFF"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.Policy.html#SUPPRESSED_EFFECT_SCREEN_OFF" target="_top"><code>SUPPRESSED_EFFECT_SCREEN_OFF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.Policy.html#SUPPRESSED_EFFECT_SCREEN_ON" target="_top"><code>SUPPRESSED_EFFECT_SCREEN_ON</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.Policy.suppressedVisualEffects"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.Policy.html#suppressedVisualEffects" target="_top"><code>suppressedVisualEffects</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.NotificationManager.html b/docs/html/sdk/api_diff/24/changes/android.app.NotificationManager.html
new file mode 100644
index 0000000..29aea41
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.NotificationManager.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.NotificationManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/NotificationManager.html" target="_top"><font size="+2"><code>NotificationManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.addAutomaticZenRule_added(android.app.AutomaticZenRule)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#addAutomaticZenRule(android.app.AutomaticZenRule)" target="_top"><code>addAutomaticZenRule</code></A>(<code>AutomaticZenRule</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.areNotificationsEnabled_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#areNotificationsEnabled()" target="_top"><code>areNotificationsEnabled</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.getAutomaticZenRule_added(java.lang.String)"></A>
+  <nobr><code>AutomaticZenRule</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#getAutomaticZenRule(java.lang.String)" target="_top"><code>getAutomaticZenRule</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.getAutomaticZenRules_added()"></A>
+  <nobr>(<code>Map&lt;String, AutomaticZenRule&gt;</code>)&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#getAutomaticZenRules()" target="_top"><code>getAutomaticZenRules</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.getImportance_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#getImportance()" target="_top"><code>getImportance</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.removeAutomaticZenRule_added(java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#removeAutomaticZenRule(java.lang.String)" target="_top"><code>removeAutomaticZenRule</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.updateAutomaticZenRule_added(java.lang.String, android.app.AutomaticZenRule)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#updateAutomaticZenRule(java.lang.String, android.app.AutomaticZenRule)" target="_top"><code>updateAutomaticZenRule</code></A>(<code>String,</nobr> AutomaticZenRule<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.IMPORTANCE_DEFAULT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#IMPORTANCE_DEFAULT" target="_top"><code>IMPORTANCE_DEFAULT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.IMPORTANCE_HIGH"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#IMPORTANCE_HIGH" target="_top"><code>IMPORTANCE_HIGH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.IMPORTANCE_LOW"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#IMPORTANCE_LOW" target="_top"><code>IMPORTANCE_LOW</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.IMPORTANCE_MAX"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#IMPORTANCE_MAX" target="_top"><code>IMPORTANCE_MAX</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.IMPORTANCE_MIN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#IMPORTANCE_MIN" target="_top"><code>IMPORTANCE_MIN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.IMPORTANCE_NONE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#IMPORTANCE_NONE" target="_top"><code>IMPORTANCE_NONE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.IMPORTANCE_UNSPECIFIED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#IMPORTANCE_UNSPECIFIED" target="_top"><code>IMPORTANCE_UNSPECIFIED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.Service.html b/docs/html/sdk/api_diff/24/changes/android.app.Service.html
new file mode 100644
index 0000000..d9401ab
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.Service.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Service
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Service.html" target="_top"><font size="+2"><code>Service</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Service.stopForeground_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Service.html#stopForeground(int)" target="_top"><code>stopForeground</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Service.STOP_FOREGROUND_DETACH"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/Service.html#STOP_FOREGROUND_DETACH" target="_top"><code>STOP_FOREGROUND_DETACH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Service.STOP_FOREGROUND_REMOVE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/Service.html#STOP_FOREGROUND_REMOVE" target="_top"><code>STOP_FOREGROUND_REMOVE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.UiAutomation.html b/docs/html/sdk/api_diff/24/changes/android.app.UiAutomation.html
new file mode 100644
index 0000000..a88a1e6
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.UiAutomation.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.UiAutomation
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/UiAutomation.html" target="_top"><font size="+2"><code>UiAutomation</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.UiAutomation.FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/UiAutomation.html#FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES" target="_top"><code>FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.WallpaperManager.html b/docs/html/sdk/api_diff/24/changes/android.app.WallpaperManager.html
new file mode 100644
index 0000000..d43f631
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.WallpaperManager.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.WallpaperManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/WallpaperManager.html" target="_top"><font size="+2"><code>WallpaperManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.WallpaperManager.clear_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/WallpaperManager.html#clear(int)" target="_top"><code>clear</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.WallpaperManager.getBuiltInDrawable_added(int)"></A>
+  <nobr><code>Drawable</code>&nbsp;<A HREF="../../../../reference/android/app/WallpaperManager.html#getBuiltInDrawable(int)" target="_top"><code>getBuiltInDrawable</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.WallpaperManager.getBuiltInDrawable_added(int, int, boolean, float, float, int)"></A>
+  <nobr><code>Drawable</code>&nbsp;<A HREF="../../../../reference/android/app/WallpaperManager.html#getBuiltInDrawable(int, int, boolean, float, float, int)" target="_top"><code>getBuiltInDrawable</code></A>(<code>int,</nobr> int<nobr>,</nobr> boolean<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.WallpaperManager.getWallpaperFile_added(int)"></A>
+  <nobr><code>ParcelFileDescriptor</code>&nbsp;<A HREF="../../../../reference/android/app/WallpaperManager.html#getWallpaperFile(int)" target="_top"><code>getWallpaperFile</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.WallpaperManager.getWallpaperId_added(int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/WallpaperManager.html#getWallpaperId(int)" target="_top"><code>getWallpaperId</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.WallpaperManager.isSetWallpaperAllowed_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/WallpaperManager.html#isSetWallpaperAllowed()" target="_top"><code>isSetWallpaperAllowed</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.WallpaperManager.setBitmap_added(android.graphics.Bitmap, android.graphics.Rect, boolean)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/WallpaperManager.html#setBitmap(android.graphics.Bitmap, android.graphics.Rect, boolean)" target="_top"><code>setBitmap</code></A>(<code>Bitmap,</nobr> Rect<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.WallpaperManager.setBitmap_added(android.graphics.Bitmap, android.graphics.Rect, boolean, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/WallpaperManager.html#setBitmap(android.graphics.Bitmap, android.graphics.Rect, boolean, int)" target="_top"><code>setBitmap</code></A>(<code>Bitmap,</nobr> Rect<nobr>,</nobr> boolean<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.WallpaperManager.setResource_added(int, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/WallpaperManager.html#setResource(int, int)" target="_top"><code>setResource</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.WallpaperManager.setStream_added(java.io.InputStream, android.graphics.Rect, boolean)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/WallpaperManager.html#setStream(java.io.InputStream, android.graphics.Rect, boolean)" target="_top"><code>setStream</code></A>(<code>InputStream,</nobr> Rect<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.WallpaperManager.setStream_added(java.io.InputStream, android.graphics.Rect, boolean, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/WallpaperManager.html#setStream(java.io.InputStream, android.graphics.Rect, boolean, int)" target="_top"><code>setStream</code></A>(<code>InputStream,</nobr> Rect<nobr>,</nobr> boolean<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.WallpaperManager.FLAG_LOCK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/WallpaperManager.html#FLAG_LOCK" target="_top"><code>FLAG_LOCK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.WallpaperManager.FLAG_SYSTEM"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/WallpaperManager.html#FLAG_SYSTEM" target="_top"><code>FLAG_SYSTEM</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.admin.DeviceAdminReceiver.html b/docs/html/sdk/api_diff/24/changes/android.app.admin.DeviceAdminReceiver.html
new file mode 100644
index 0000000..7130239
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.admin.DeviceAdminReceiver.html
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.admin.DeviceAdminReceiver
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.admin.<A HREF="../../../../reference/android/app/admin/DeviceAdminReceiver.html" target="_top"><font size="+2"><code>DeviceAdminReceiver</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DeviceAdminReceiver.onBugreportFailed_added(android.content.Context, android.content.Intent, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DeviceAdminReceiver.html#onBugreportFailed(android.content.Context, android.content.Intent, int)" target="_top"><code>onBugreportFailed</code></A>(<code>Context,</nobr> Intent<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DeviceAdminReceiver.onBugreportShared_added(android.content.Context, android.content.Intent, java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DeviceAdminReceiver.html#onBugreportShared(android.content.Context, android.content.Intent, java.lang.String)" target="_top"><code>onBugreportShared</code></A>(<code>Context,</nobr> Intent<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DeviceAdminReceiver.onBugreportSharingDeclined_added(android.content.Context, android.content.Intent)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DeviceAdminReceiver.html#onBugreportSharingDeclined(android.content.Context, android.content.Intent)" target="_top"><code>onBugreportSharingDeclined</code></A>(<code>Context,</nobr> Intent<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DeviceAdminReceiver.onSecurityLogsAvailable_added(android.content.Context, android.content.Intent)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DeviceAdminReceiver.html#onSecurityLogsAvailable(android.content.Context, android.content.Intent)" target="_top"><code>onSecurityLogsAvailable</code></A>(<code>Context,</nobr> Intent<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DeviceAdminReceiver.onReadyForUserInitialization_changed(android.content.Context, android.content.Intent)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DeviceAdminReceiver.html#onReadyForUserInitialization(android.content.Context, android.content.Intent)" target="_top"><code>onReadyForUserInitialization</code></A>(<code>Context,</nobr> Intent<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DeviceAdminReceiver.html#BUGREPORT_FAILURE_FAILED_COMPLETING" target="_top"><code>BUGREPORT_FAILURE_FAILED_COMPLETING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DeviceAdminReceiver.html#BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE" target="_top"><code>BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.admin.DevicePolicyManager.html b/docs/html/sdk/api_diff/24/changes/android.app.admin.DevicePolicyManager.html
new file mode 100644
index 0000000..c64364a
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.admin.DevicePolicyManager.html
@@ -0,0 +1,425 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.admin.DevicePolicyManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.admin.<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html" target="_top"><font size="+2"><code>DevicePolicyManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.createAndInitializeUser_removed(android.content.ComponentName, java.lang.String, java.lang.String, android.content.ComponentName, android.os.Bundle)"></A>
+  <nobr><code>UserHandle</code>&nbsp;createAndInitializeUser(<code>ComponentName,</nobr> String<nobr>,</nobr> String<nobr>,</nobr> ComponentName<nobr>,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.createUser_removed(android.content.ComponentName, java.lang.String)"></A>
+  <nobr><code>UserHandle</code>&nbsp;createUser(<code>ComponentName,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.clearProfileOwner_added(android.content.ComponentName)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#clearProfileOwner(android.content.ComponentName)" target="_top"><code>clearProfileOwner</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.createAndManageUser_added(android.content.ComponentName, java.lang.String, android.content.ComponentName, android.os.PersistableBundle, int)"></A>
+  <nobr><code>UserHandle</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#createAndManageUser(android.content.ComponentName, java.lang.String, android.content.ComponentName, android.os.PersistableBundle, int)" target="_top"><code>createAndManageUser</code></A>(<code>ComponentName,</nobr> String<nobr>,</nobr> ComponentName<nobr>,</nobr> PersistableBundle<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.getAlwaysOnVpnPackage_added(android.content.ComponentName)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#getAlwaysOnVpnPackage(android.content.ComponentName)" target="_top"><code>getAlwaysOnVpnPackage</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.getApplicationRestrictionsManagingPackage_added(android.content.ComponentName)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#getApplicationRestrictionsManagingPackage(android.content.ComponentName)" target="_top"><code>getApplicationRestrictionsManagingPackage</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.getCrossProfileContactsSearchDisabled_added(android.content.ComponentName)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#getCrossProfileContactsSearchDisabled(android.content.ComponentName)" target="_top"><code>getCrossProfileContactsSearchDisabled</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.getDeviceOwnerLockScreenInfo_added()"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#getDeviceOwnerLockScreenInfo()" target="_top"><code>getDeviceOwnerLockScreenInfo</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.getLongSupportMessage_added(android.content.ComponentName)"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#getLongSupportMessage(android.content.ComponentName)" target="_top"><code>getLongSupportMessage</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.getOrganizationColor_added(android.content.ComponentName)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#getOrganizationColor(android.content.ComponentName)" target="_top"><code>getOrganizationColor</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.getOrganizationName_added(android.content.ComponentName)"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#getOrganizationName(android.content.ComponentName)" target="_top"><code>getOrganizationName</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.getParentProfileInstance_added(android.content.ComponentName)"></A>
+  <nobr><code>DevicePolicyManager</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#getParentProfileInstance(android.content.ComponentName)" target="_top"><code>getParentProfileInstance</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.getShortSupportMessage_added(android.content.ComponentName)"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#getShortSupportMessage(android.content.ComponentName)" target="_top"><code>getShortSupportMessage</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.getUserRestrictions_added(android.content.ComponentName)"></A>
+  <nobr><code>Bundle</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#getUserRestrictions(android.content.ComponentName)" target="_top"><code>getUserRestrictions</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.getWifiMacAddress_added(android.content.ComponentName)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#getWifiMacAddress(android.content.ComponentName)" target="_top"><code>getWifiMacAddress</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.installKeyPair_added(android.content.ComponentName, java.security.PrivateKey, java.security.cert.Certificate[], java.lang.String, boolean)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#installKeyPair(android.content.ComponentName, java.security.PrivateKey, java.security.cert.Certificate[], java.lang.String, boolean)" target="_top"><code>installKeyPair</code></A>(<code>ComponentName,</nobr> PrivateKey<nobr>,</nobr> Certificate[]<nobr>,</nobr> String<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#isCallerApplicationRestrictionsManagingPackage()" target="_top"><code>isCallerApplicationRestrictionsManagingPackage</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.isManagedProfile_added(android.content.ComponentName)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#isManagedProfile(android.content.ComponentName)" target="_top"><code>isManagedProfile</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.isPackageSuspended_added(android.content.ComponentName, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#isPackageSuspended(android.content.ComponentName, java.lang.String)" target="_top"><code>isPackageSuspended</code></A>(<code>ComponentName,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.isProvisioningAllowed_added(java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#isProvisioningAllowed(java.lang.String)" target="_top"><code>isProvisioningAllowed</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.isSecurityLoggingEnabled_added(android.content.ComponentName)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#isSecurityLoggingEnabled(android.content.ComponentName)" target="_top"><code>isSecurityLoggingEnabled</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.reboot_added(android.content.ComponentName)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#reboot(android.content.ComponentName)" target="_top"><code>reboot</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.removeKeyPair_added(android.content.ComponentName, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#removeKeyPair(android.content.ComponentName, java.lang.String)" target="_top"><code>removeKeyPair</code></A>(<code>ComponentName,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.requestBugreport_added(android.content.ComponentName)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#requestBugreport(android.content.ComponentName)" target="_top"><code>requestBugreport</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.retrievePreRebootSecurityLogs_added(android.content.ComponentName)"></A>
+  <nobr><code>List&lt;SecurityEvent&gt;</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#retrievePreRebootSecurityLogs(android.content.ComponentName)" target="_top"><code>retrievePreRebootSecurityLogs</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.retrieveSecurityLogs_added(android.content.ComponentName)"></A>
+  <nobr><code>List&lt;SecurityEvent&gt;</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#retrieveSecurityLogs(android.content.ComponentName)" target="_top"><code>retrieveSecurityLogs</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.setAlwaysOnVpnPackage_added(android.content.ComponentName, java.lang.String, boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#setAlwaysOnVpnPackage(android.content.ComponentName, java.lang.String, boolean)" target="_top"><code>setAlwaysOnVpnPackage</code></A>(<code>ComponentName,</nobr> String<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.setApplicationRestrictionsManagingPackage_added(android.content.ComponentName, java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#setApplicationRestrictionsManagingPackage(android.content.ComponentName, java.lang.String)" target="_top"><code>setApplicationRestrictionsManagingPackage</code></A>(<code>ComponentName,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.setCrossProfileContactsSearchDisabled_added(android.content.ComponentName, boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#setCrossProfileContactsSearchDisabled(android.content.ComponentName, boolean)" target="_top"><code>setCrossProfileContactsSearchDisabled</code></A>(<code>ComponentName,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.setDeviceOwnerLockScreenInfo_added(android.content.ComponentName, java.lang.CharSequence)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#setDeviceOwnerLockScreenInfo(android.content.ComponentName, java.lang.CharSequence)" target="_top"><code>setDeviceOwnerLockScreenInfo</code></A>(<code>ComponentName,</nobr> CharSequence<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.setLongSupportMessage_added(android.content.ComponentName, java.lang.CharSequence)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#setLongSupportMessage(android.content.ComponentName, java.lang.CharSequence)" target="_top"><code>setLongSupportMessage</code></A>(<code>ComponentName,</nobr> CharSequence<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.setOrganizationColor_added(android.content.ComponentName, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#setOrganizationColor(android.content.ComponentName, int)" target="_top"><code>setOrganizationColor</code></A>(<code>ComponentName,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.setOrganizationName_added(android.content.ComponentName, java.lang.CharSequence)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#setOrganizationName(android.content.ComponentName, java.lang.CharSequence)" target="_top"><code>setOrganizationName</code></A>(<code>ComponentName,</nobr> CharSequence<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.setPackagesSuspended_added(android.content.ComponentName, java.lang.String[], boolean)"></A>
+  <nobr><code>String[]</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#setPackagesSuspended(android.content.ComponentName, java.lang.String[], boolean)" target="_top"><code>setPackagesSuspended</code></A>(<code>ComponentName,</nobr> String[]<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.setSecurityLoggingEnabled_added(android.content.ComponentName, boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#setSecurityLoggingEnabled(android.content.ComponentName, boolean)" target="_top"><code>setSecurityLoggingEnabled</code></A>(<code>ComponentName,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.setShortSupportMessage_added(android.content.ComponentName, java.lang.CharSequence)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#setShortSupportMessage(android.content.ComponentName, java.lang.CharSequence)" target="_top"><code>setShortSupportMessage</code></A>(<code>ComponentName,</nobr> CharSequence<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.ACTION_SET_NEW_PARENT_PROFILE_PASSWORD"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#ACTION_SET_NEW_PARENT_PROFILE_PASSWORD" target="_top"><code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE_PER_USER"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#ENCRYPTION_STATUS_ACTIVE_PER_USER" target="_top"><code>ENCRYPTION_STATUS_ACTIVE_PER_USER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#EXTRA_PROVISIONING_LOGO_URI" target="_top"><code>EXTRA_PROVISIONING_LOGO_URI</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#EXTRA_PROVISIONING_MAIN_COLOR" target="_top"><code>EXTRA_PROVISIONING_MAIN_COLOR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_REMOTE_INPUT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#KEYGUARD_DISABLE_REMOTE_INPUT" target="_top"><code>KEYGUARD_DISABLE_REMOTE_INPUT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.SKIP_SETUP_WIZARD"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#SKIP_SETUP_WIZARD" target="_top"><code>SKIP_SETUP_WIZARD</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.assist.AssistContent.html b/docs/html/sdk/api_diff/24/changes/android.app.assist.AssistContent.html
new file mode 100644
index 0000000..c5f9c7b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.assist.AssistContent.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.assist.AssistContent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.assist.<A HREF="../../../../reference/android/app/assist/AssistContent.html" target="_top"><font size="+2"><code>AssistContent</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.assist.AssistContent.isAppProvidedWebUri_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/assist/AssistContent.html#isAppProvidedWebUri()" target="_top"><code>isAppProvidedWebUri</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.backup.BackupAgent.html b/docs/html/sdk/api_diff/24/changes/android.app.backup.BackupAgent.html
new file mode 100644
index 0000000..23601d8
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.backup.BackupAgent.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.backup.BackupAgent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.backup.<A HREF="../../../../reference/android/app/backup/BackupAgent.html" target="_top"><font size="+2"><code>BackupAgent</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.backup.BackupAgent.onQuotaExceeded_added(long, long)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/backup/BackupAgent.html#onQuotaExceeded(long, long)" target="_top"><code>onQuotaExceeded</code></A>(<code>long,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.job.JobInfo.Builder.html b/docs/html/sdk/api_diff/24/changes/android.app.job.JobInfo.Builder.html
new file mode 100644
index 0000000..82c92c2
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.job.JobInfo.Builder.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.job.JobInfo.Builder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.job.<A HREF="../../../../reference/android/app/job/JobInfo.Builder.html" target="_top"><font size="+2"><code>JobInfo.Builder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobInfo.Builder.addTriggerContentUri_added(android.app.job.JobInfo.TriggerContentUri)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/app/job/JobInfo.Builder.html#addTriggerContentUri(android.app.job.JobInfo.TriggerContentUri)" target="_top"><code>addTriggerContentUri</code></A>(<code>TriggerContentUri</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobInfo.Builder.setPeriodic_added(long, long)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/app/job/JobInfo.Builder.html#setPeriodic(long, long)" target="_top"><code>setPeriodic</code></A>(<code>long,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobInfo.Builder.setTriggerContentMaxDelay_added(long)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/app/job/JobInfo.Builder.html#setTriggerContentMaxDelay(long)" target="_top"><code>setTriggerContentMaxDelay</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobInfo.Builder.setTriggerContentUpdateDelay_added(long)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/app/job/JobInfo.Builder.html#setTriggerContentUpdateDelay(long)" target="_top"><code>setTriggerContentUpdateDelay</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.job.JobInfo.html b/docs/html/sdk/api_diff/24/changes/android.app.job.JobInfo.html
new file mode 100644
index 0000000..5502cf7
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.job.JobInfo.html
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.job.JobInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.job.<A HREF="../../../../reference/android/app/job/JobInfo.html" target="_top"><font size="+2"><code>JobInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobInfo.getFlexMillis_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/app/job/JobInfo.html#getFlexMillis()" target="_top"><code>getFlexMillis</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobInfo.getMinFlexMillis_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/app/job/JobInfo.html#getMinFlexMillis()" target="_top"><code>getMinFlexMillis</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobInfo.getMinPeriodMillis_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/app/job/JobInfo.html#getMinPeriodMillis()" target="_top"><code>getMinPeriodMillis</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobInfo.getTriggerContentMaxDelay_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/app/job/JobInfo.html#getTriggerContentMaxDelay()" target="_top"><code>getTriggerContentMaxDelay</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobInfo.getTriggerContentUpdateDelay_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/app/job/JobInfo.html#getTriggerContentUpdateDelay()" target="_top"><code>getTriggerContentUpdateDelay</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobInfo.getTriggerContentUris_added()"></A>
+  <nobr><code>TriggerContentUri[]</code>&nbsp;<A HREF="../../../../reference/android/app/job/JobInfo.html#getTriggerContentUris()" target="_top"><code>getTriggerContentUris</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobInfo.NETWORK_TYPE_NOT_ROAMING"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/job/JobInfo.html#NETWORK_TYPE_NOT_ROAMING" target="_top"><code>NETWORK_TYPE_NOT_ROAMING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.job.JobParameters.html b/docs/html/sdk/api_diff/24/changes/android.app.job.JobParameters.html
new file mode 100644
index 0000000..0f4fbd7
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.job.JobParameters.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.job.JobParameters
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.job.<A HREF="../../../../reference/android/app/job/JobParameters.html" target="_top"><font size="+2"><code>JobParameters</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobParameters.getTriggeredContentAuthorities_added()"></A>
+  <nobr><code>String[]</code>&nbsp;<A HREF="../../../../reference/android/app/job/JobParameters.html#getTriggeredContentAuthorities()" target="_top"><code>getTriggeredContentAuthorities</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobParameters.getTriggeredContentUris_added()"></A>
+  <nobr><code>Uri[]</code>&nbsp;<A HREF="../../../../reference/android/app/job/JobParameters.html#getTriggeredContentUris()" target="_top"><code>getTriggeredContentUris</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.job.JobScheduler.html b/docs/html/sdk/api_diff/24/changes/android.app.job.JobScheduler.html
new file mode 100644
index 0000000..d13a160
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.job.JobScheduler.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.job.JobScheduler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.job.<A HREF="../../../../reference/android/app/job/JobScheduler.html" target="_top"><font size="+2"><code>JobScheduler</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobScheduler.getPendingJob_added(int)"></A>
+  <nobr><code>JobInfo</code>&nbsp;<A HREF="../../../../reference/android/app/job/JobScheduler.html#getPendingJob(int)" target="_top"><code>getPendingJob</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.usage.NetworkStats.Bucket.html b/docs/html/sdk/api_diff/24/changes/android.app.usage.NetworkStats.Bucket.html
new file mode 100644
index 0000000..e2af047
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.usage.NetworkStats.Bucket.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.usage.NetworkStats.Bucket
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.usage.<A HREF="../../../../reference/android/app/usage/NetworkStats.Bucket.html" target="_top"><font size="+2"><code>NetworkStats.Bucket</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStats.Bucket.getRoaming_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/usage/NetworkStats.Bucket.html#getRoaming()" target="_top"><code>getRoaming</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStats.Bucket.getTag_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/usage/NetworkStats.Bucket.html#getTag()" target="_top"><code>getTag</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStats.Bucket.ROAMING_ALL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/usage/NetworkStats.Bucket.html#ROAMING_ALL" target="_top"><code>ROAMING_ALL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStats.Bucket.ROAMING_NO"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/usage/NetworkStats.Bucket.html#ROAMING_NO" target="_top"><code>ROAMING_NO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStats.Bucket.ROAMING_YES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/usage/NetworkStats.Bucket.html#ROAMING_YES" target="_top"><code>ROAMING_YES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStats.Bucket.TAG_NONE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/usage/NetworkStats.Bucket.html#TAG_NONE" target="_top"><code>TAG_NONE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.app.usage.NetworkStatsManager.html b/docs/html/sdk/api_diff/24/changes/android.app.usage.NetworkStatsManager.html
new file mode 100644
index 0000000..1bc7d1e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.app.usage.NetworkStatsManager.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.usage.NetworkStatsManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.usage.<A HREF="../../../../reference/android/app/usage/NetworkStatsManager.html" target="_top"><font size="+2"><code>NetworkStatsManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStatsManager.queryDetailsForUidTag_added(int, java.lang.String, long, long, int, int)"></A>
+  <nobr><code>NetworkStats</code>&nbsp;<A HREF="../../../../reference/android/app/usage/NetworkStatsManager.html#queryDetailsForUidTag(int, java.lang.String, long, long, int, int)" target="_top"><code>queryDetailsForUidTag</code></A>(<code>int,</nobr> String<nobr>,</nobr> long<nobr>,</nobr> long<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/usage/NetworkStatsManager.html#registerUsageCallback(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback)" target="_top"><code>registerUsageCallback</code></A>(<code>int,</nobr> String<nobr>,</nobr> long<nobr>,</nobr> UsageCallback<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback, android.os.Handler)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/usage/NetworkStatsManager.html#registerUsageCallback(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback, android.os.Handler)" target="_top"><code>registerUsageCallback</code></A>(<code>int,</nobr> String<nobr>,</nobr> long<nobr>,</nobr> UsageCallback<nobr>,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStatsManager.unregisterUsageCallback_added(android.app.usage.NetworkStatsManager.UsageCallback)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/usage/NetworkStatsManager.html#unregisterUsageCallback(android.app.usage.NetworkStatsManager.UsageCallback)" target="_top"><code>unregisterUsageCallback</code></A>(<code>UsageCallback</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.bluetooth.BluetoothGattCharacteristic.html b/docs/html/sdk/api_diff/24/changes/android.bluetooth.BluetoothGattCharacteristic.html
new file mode 100644
index 0000000..c8d7205
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.bluetooth.BluetoothGattCharacteristic.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.bluetooth.BluetoothGattCharacteristic
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.bluetooth.<A HREF="../../../../reference/android/bluetooth/BluetoothGattCharacteristic.html" target="_top"><font size="+2"><code>BluetoothGattCharacteristic</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.os.Parcelable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.bluetooth.BluetoothGattCharacteristic.describeContents_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/bluetooth/BluetoothGattCharacteristic.html#describeContents()" target="_top"><code>describeContents</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.bluetooth.BluetoothGattCharacteristic.writeToParcel_added(android.os.Parcel, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/bluetooth/BluetoothGattCharacteristic.html#writeToParcel(android.os.Parcel, int)" target="_top"><code>writeToParcel</code></A>(<code>Parcel,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.bluetooth.BluetoothGattCharacteristic.CREATOR"></A>
+  <nobr><code>Creator&lt;BluetoothGattCharacteristic&gt;</code>&nbsp;<A HREF="../../../../reference/android/bluetooth/BluetoothGattCharacteristic.html#CREATOR" target="_top"><code>CREATOR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.bluetooth.BluetoothGattDescriptor.html b/docs/html/sdk/api_diff/24/changes/android.bluetooth.BluetoothGattDescriptor.html
new file mode 100644
index 0000000..dd6a35f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.bluetooth.BluetoothGattDescriptor.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.bluetooth.BluetoothGattDescriptor
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.bluetooth.<A HREF="../../../../reference/android/bluetooth/BluetoothGattDescriptor.html" target="_top"><font size="+2"><code>BluetoothGattDescriptor</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.os.Parcelable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.bluetooth.BluetoothGattDescriptor.describeContents_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/bluetooth/BluetoothGattDescriptor.html#describeContents()" target="_top"><code>describeContents</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.bluetooth.BluetoothGattDescriptor.writeToParcel_added(android.os.Parcel, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/bluetooth/BluetoothGattDescriptor.html#writeToParcel(android.os.Parcel, int)" target="_top"><code>writeToParcel</code></A>(<code>Parcel,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.bluetooth.BluetoothGattDescriptor.CREATOR"></A>
+  <nobr><code>Creator&lt;BluetoothGattDescriptor&gt;</code>&nbsp;<A HREF="../../../../reference/android/bluetooth/BluetoothGattDescriptor.html#CREATOR" target="_top"><code>CREATOR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.bluetooth.BluetoothGattService.html b/docs/html/sdk/api_diff/24/changes/android.bluetooth.BluetoothGattService.html
new file mode 100644
index 0000000..9013741
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.bluetooth.BluetoothGattService.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.bluetooth.BluetoothGattService
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.bluetooth.<A HREF="../../../../reference/android/bluetooth/BluetoothGattService.html" target="_top"><font size="+2"><code>BluetoothGattService</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.os.Parcelable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.bluetooth.BluetoothGattService.describeContents_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/bluetooth/BluetoothGattService.html#describeContents()" target="_top"><code>describeContents</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.bluetooth.BluetoothGattService.writeToParcel_added(android.os.Parcel, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/bluetooth/BluetoothGattService.html#writeToParcel(android.os.Parcel, int)" target="_top"><code>writeToParcel</code></A>(<code>Parcel,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.bluetooth.BluetoothGattService.CREATOR"></A>
+  <nobr><code>Creator&lt;BluetoothGattService&gt;</code>&nbsp;<A HREF="../../../../reference/android/bluetooth/BluetoothGattService.html#CREATOR" target="_top"><code>CREATOR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.ClipDescription.html b/docs/html/sdk/api_diff/24/changes/android.content.ClipDescription.html
new file mode 100644
index 0000000..8284dbe
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.ClipDescription.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.ClipDescription
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.<A HREF="../../../../reference/android/content/ClipDescription.html" target="_top"><font size="+2"><code>ClipDescription</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ClipDescription.getExtras_added()"></A>
+  <nobr><code>PersistableBundle</code>&nbsp;<A HREF="../../../../reference/android/content/ClipDescription.html#getExtras()" target="_top"><code>getExtras</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ClipDescription.setExtras_added(android.os.PersistableBundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/ClipDescription.html#setExtras(android.os.PersistableBundle)" target="_top"><code>setExtras</code></A>(<code>PersistableBundle</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.ContentProviderClient.html b/docs/html/sdk/api_diff/24/changes/android.content.ContentProviderClient.html
new file mode 100644
index 0000000..d5ce46e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.ContentProviderClient.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.ContentProviderClient
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.<A HREF="../../../../reference/android/content/ContentProviderClient.html" target="_top"><font size="+2"><code>ContentProviderClient</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>java.lang.AutoCloseable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContentProviderClient.close_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/ContentProviderClient.html#close()" target="_top"><code>close</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContentProviderClient.release_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/content/ContentProviderClient.html#release()" target="_top"><code>release</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.ContentResolver.html b/docs/html/sdk/api_diff/24/changes/android.content.ContentResolver.html
new file mode 100644
index 0000000..57a2e2e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.ContentResolver.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.ContentResolver
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.<A HREF="../../../../reference/android/content/ContentResolver.html" target="_top"><font size="+2"><code>ContentResolver</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContentResolver.notifyChange_added(android.net.Uri, android.database.ContentObserver, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/ContentResolver.html#notifyChange(android.net.Uri, android.database.ContentObserver, int)" target="_top"><code>notifyChange</code></A>(<code>Uri,</nobr> ContentObserver<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContentResolver.NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/ContentResolver.html#NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS" target="_top"><code>NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContentResolver.NOTIFY_SYNC_TO_NETWORK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/ContentResolver.html#NOTIFY_SYNC_TO_NETWORK" target="_top"><code>NOTIFY_SYNC_TO_NETWORK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContentResolver.SYNC_EXTRAS_REQUIRE_CHARGING"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/ContentResolver.html#SYNC_EXTRAS_REQUIRE_CHARGING" target="_top"><code>SYNC_EXTRAS_REQUIRE_CHARGING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.Context.html b/docs/html/sdk/api_diff/24/changes/android.content.Context.html
new file mode 100644
index 0000000..b8064c7
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.Context.html
@@ -0,0 +1,193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.Context
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.<A HREF="../../../../reference/android/content/Context.html" target="_top"><font size="+2"><code>Context</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.createDeviceProtectedStorageContext_added()"></A>
+  <nobr><code>Context</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#createDeviceProtectedStorageContext()" target="_top"><code>createDeviceProtectedStorageContext</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.deleteSharedPreferences_added(java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#deleteSharedPreferences(java.lang.String)" target="_top"><code>deleteSharedPreferences</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.getDataDir_added()"></A>
+  <nobr><code>File</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#getDataDir()" target="_top"><code>getDataDir</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.isDeviceProtectedStorage_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#isDeviceProtectedStorage()" target="_top"><code>isDeviceProtectedStorage</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.moveDatabaseFrom_added(android.content.Context, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#moveDatabaseFrom(android.content.Context, java.lang.String)" target="_top"><code>moveDatabaseFrom</code></A>(<code>Context,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.moveSharedPreferencesFrom_added(android.content.Context, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#moveSharedPreferencesFrom(android.content.Context, java.lang.String)" target="_top"><code>moveSharedPreferencesFrom</code></A>(<code>Context,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.BIND_EXTERNAL_SERVICE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#BIND_EXTERNAL_SERVICE" target="_top"><code>BIND_EXTERNAL_SERVICE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.HARDWARE_PROPERTIES_SERVICE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#HARDWARE_PROPERTIES_SERVICE" target="_top"><code>HARDWARE_PROPERTIES_SERVICE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.MODE_NO_LOCALIZED_COLLATORS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#MODE_NO_LOCALIZED_COLLATORS" target="_top"><code>MODE_NO_LOCALIZED_COLLATORS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.SYSTEM_HEALTH_SERVICE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#SYSTEM_HEALTH_SERVICE" target="_top"><code>SYSTEM_HEALTH_SERVICE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.ContextWrapper.html b/docs/html/sdk/api_diff/24/changes/android.content.ContextWrapper.html
new file mode 100644
index 0000000..912b93d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.ContextWrapper.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.ContextWrapper
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.<A HREF="../../../../reference/android/content/ContextWrapper.html" target="_top"><font size="+2"><code>ContextWrapper</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContextWrapper.createDeviceProtectedStorageContext_added()"></A>
+  <nobr><code>Context</code>&nbsp;<A HREF="../../../../reference/android/content/ContextWrapper.html#createDeviceProtectedStorageContext()" target="_top"><code>createDeviceProtectedStorageContext</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContextWrapper.deleteSharedPreferences_added(java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/content/ContextWrapper.html#deleteSharedPreferences(java.lang.String)" target="_top"><code>deleteSharedPreferences</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContextWrapper.getDataDir_added()"></A>
+  <nobr><code>File</code>&nbsp;<A HREF="../../../../reference/android/content/ContextWrapper.html#getDataDir()" target="_top"><code>getDataDir</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContextWrapper.isDeviceProtectedStorage_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/content/ContextWrapper.html#isDeviceProtectedStorage()" target="_top"><code>isDeviceProtectedStorage</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContextWrapper.moveDatabaseFrom_added(android.content.Context, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/content/ContextWrapper.html#moveDatabaseFrom(android.content.Context, java.lang.String)" target="_top"><code>moveDatabaseFrom</code></A>(<code>Context,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContextWrapper.moveSharedPreferencesFrom_added(android.content.Context, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/content/ContextWrapper.html#moveSharedPreferencesFrom(android.content.Context, java.lang.String)" target="_top"><code>moveSharedPreferencesFrom</code></A>(<code>Context,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.Intent.html b/docs/html/sdk/api_diff/24/changes/android.content.Intent.html
new file mode 100644
index 0000000..6b68a52
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.Intent.html
@@ -0,0 +1,227 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.Intent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.<A HREF="../../../../reference/android/content/Intent.html" target="_top"><font size="+2"><code>Intent</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_APPLICATION_PREFERENCES"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_APPLICATION_PREFERENCES" target="_top"><code>ACTION_APPLICATION_PREFERENCES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_LOCKED_BOOT_COMPLETED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_LOCKED_BOOT_COMPLETED" target="_top"><code>ACTION_LOCKED_BOOT_COMPLETED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_MANAGED_PROFILE_AVAILABLE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_MANAGED_PROFILE_AVAILABLE" target="_top"><code>ACTION_MANAGED_PROFILE_AVAILABLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_MANAGED_PROFILE_UNAVAILABLE" target="_top"><code>ACTION_MANAGED_PROFILE_UNAVAILABLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_MANAGED_PROFILE_UNLOCKED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_MANAGED_PROFILE_UNLOCKED" target="_top"><code>ACTION_MANAGED_PROFILE_UNLOCKED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_PACKAGES_SUSPENDED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_PACKAGES_SUSPENDED" target="_top"><code>ACTION_PACKAGES_SUSPENDED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_PACKAGES_UNSUSPENDED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_PACKAGES_UNSUSPENDED" target="_top"><code>ACTION_PACKAGES_UNSUSPENDED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_QUICK_VIEW"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_QUICK_VIEW" target="_top"><code>ACTION_QUICK_VIEW</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_SHOW_APP_INFO"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_SHOW_APP_INFO" target="_top"><code>ACTION_SHOW_APP_INFO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_USER_UNLOCKED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_USER_UNLOCKED" target="_top"><code>ACTION_USER_UNLOCKED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.EXTRA_CHOOSER_TARGETS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#EXTRA_CHOOSER_TARGETS" target="_top"><code>EXTRA_CHOOSER_TARGETS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.EXTRA_EXCLUDE_COMPONENTS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#EXTRA_EXCLUDE_COMPONENTS" target="_top"><code>EXTRA_EXCLUDE_COMPONENTS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.EXTRA_INDEX"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#EXTRA_INDEX" target="_top"><code>EXTRA_INDEX</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.EXTRA_PACKAGE_NAME"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#EXTRA_PACKAGE_NAME" target="_top"><code>EXTRA_PACKAGE_NAME</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.EXTRA_QUIET_MODE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#EXTRA_QUIET_MODE" target="_top"><code>EXTRA_QUIET_MODE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#FLAG_ACTIVITY_LAUNCH_ADJACENT" target="_top"><code>FLAG_ACTIVITY_LAUNCH_ADJACENT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.SyncRequest.Builder.html b/docs/html/sdk/api_diff/24/changes/android.content.SyncRequest.Builder.html
new file mode 100644
index 0000000..c596256
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.SyncRequest.Builder.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.SyncRequest.Builder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.<A HREF="../../../../reference/android/content/SyncRequest.Builder.html" target="_top"><font size="+2"><code>SyncRequest.Builder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.SyncRequest.Builder.setRequiresCharging_added(boolean)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/content/SyncRequest.Builder.html#setRequiresCharging(boolean)" target="_top"><code>setRequiresCharging</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.pm.ActivityInfo.html b/docs/html/sdk/api_diff/24/changes/android.content.pm.ActivityInfo.html
new file mode 100644
index 0000000..12eb942
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.pm.ActivityInfo.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.pm.ActivityInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.pm.<A HREF="../../../../reference/android/content/pm/ActivityInfo.html" target="_top"><font size="+2"><code>ActivityInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ActivityInfo.FLAG_ENABLE_VR_MODE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ActivityInfo.html#FLAG_ENABLE_VR_MODE" target="_top"><code>FLAG_ENABLE_VR_MODE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ActivityInfo.windowLayout"></A>
+  <nobr><code>WindowLayout</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ActivityInfo.html#windowLayout" target="_top"><code>windowLayout</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.pm.ApplicationInfo.html b/docs/html/sdk/api_diff/24/changes/android.content.pm.ApplicationInfo.html
new file mode 100644
index 0000000..c39d4e8
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.pm.ApplicationInfo.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.pm.ApplicationInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.pm.<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html" target="_top"><font size="+2"><code>ApplicationInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ApplicationInfo.FLAG_SUSPENDED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#FLAG_SUSPENDED" target="_top"><code>FLAG_SUSPENDED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ApplicationInfo.deviceProtectedDataDir"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#deviceProtectedDataDir" target="_top"><code>deviceProtectedDataDir</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ApplicationInfo.minSdkVersion"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#minSdkVersion" target="_top"><code>minSdkVersion</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.pm.ComponentInfo.html b/docs/html/sdk/api_diff/24/changes/android.content.pm.ComponentInfo.html
new file mode 100644
index 0000000..0088a7f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.pm.ComponentInfo.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.pm.ComponentInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.pm.<A HREF="../../../../reference/android/content/pm/ComponentInfo.html" target="_top"><font size="+2"><code>ComponentInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ComponentInfo.directBootAware"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ComponentInfo.html#directBootAware" target="_top"><code>directBootAware</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.pm.FeatureInfo.html b/docs/html/sdk/api_diff/24/changes/android.content.pm.FeatureInfo.html
new file mode 100644
index 0000000..363e99d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.pm.FeatureInfo.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.pm.FeatureInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.pm.<A HREF="../../../../reference/android/content/pm/FeatureInfo.html" target="_top"><font size="+2"><code>FeatureInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.FeatureInfo.version"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/FeatureInfo.html#version" target="_top"><code>version</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.pm.LauncherApps.Callback.html b/docs/html/sdk/api_diff/24/changes/android.content.pm.LauncherApps.Callback.html
new file mode 100644
index 0000000..e6e0a58
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.pm.LauncherApps.Callback.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.pm.LauncherApps.Callback
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.pm.<A HREF="../../../../reference/android/content/pm/LauncherApps.Callback.html" target="_top"><font size="+2"><code>LauncherApps.Callback</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.LauncherApps.Callback.onPackagesSuspended_added(java.lang.String[], android.os.UserHandle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/pm/LauncherApps.Callback.html#onPackagesSuspended(java.lang.String[], android.os.UserHandle)" target="_top"><code>onPackagesSuspended</code></A>(<code>String[],</nobr> UserHandle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.LauncherApps.Callback.onPackagesUnsuspended_added(java.lang.String[], android.os.UserHandle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/pm/LauncherApps.Callback.html#onPackagesUnsuspended(java.lang.String[], android.os.UserHandle)" target="_top"><code>onPackagesUnsuspended</code></A>(<code>String[],</nobr> UserHandle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.pm.PackageInstaller.Session.html b/docs/html/sdk/api_diff/24/changes/android.content.pm.PackageInstaller.Session.html
new file mode 100644
index 0000000..96998b1
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.pm.PackageInstaller.Session.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.pm.PackageInstaller.Session
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.pm.<A HREF="../../../../reference/android/content/pm/PackageInstaller.Session.html" target="_top"><font size="+2"><code>PackageInstaller.Session</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageInstaller.Session.removeSplit_added(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageInstaller.Session.html#removeSplit(java.lang.String)" target="_top"><code>removeSplit</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.pm.PackageInstaller.SessionParams.html b/docs/html/sdk/api_diff/24/changes/android.content.pm.PackageInstaller.SessionParams.html
new file mode 100644
index 0000000..bbb676b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.pm.PackageInstaller.SessionParams.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.pm.PackageInstaller.SessionParams
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.pm.<A HREF="../../../../reference/android/content/pm/PackageInstaller.SessionParams.html" target="_top"><font size="+2"><code>PackageInstaller.SessionParams</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageInstaller.SessionParams.setOriginatingUid_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageInstaller.SessionParams.html#setOriginatingUid(int)" target="_top"><code>setOriginatingUid</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.pm.PackageManager.html b/docs/html/sdk/api_diff/24/changes/android.content.pm.PackageManager.html
new file mode 100644
index 0000000..0aa2ca0
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.pm.PackageManager.html
@@ -0,0 +1,277 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.pm.PackageManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.pm.<A HREF="../../../../reference/android/content/pm/PackageManager.html" target="_top"><font size="+2"><code>PackageManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.getPackageGids_added(java.lang.String, int)"></A>
+  <nobr><code>int[]</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#getPackageGids(java.lang.String, int)" target="_top"><code>getPackageGids</code></A>(<code>String,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.getPackageUid_added(java.lang.String, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#getPackageUid(java.lang.String, int)" target="_top"><code>getPackageUid</code></A>(<code>String,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.hasSystemFeature_added(java.lang.String, int)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#hasSystemFeature(java.lang.String, int)" target="_top"><code>hasSystemFeature</code></A>(<code>String,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_ETHERNET"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_ETHERNET" target="_top"><code>FEATURE_ETHERNET</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_FREEFORM_WINDOW_MANAGEMENT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_FREEFORM_WINDOW_MANAGEMENT" target="_top"><code>FEATURE_FREEFORM_WINDOW_MANAGEMENT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_NFC_HOST_CARD_EMULATION_NFCF"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_NFC_HOST_CARD_EMULATION_NFCF" target="_top"><code>FEATURE_NFC_HOST_CARD_EMULATION_NFCF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_PICTURE_IN_PICTURE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_PICTURE_IN_PICTURE" target="_top"><code>FEATURE_PICTURE_IN_PICTURE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_VR_MODE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_VR_MODE" target="_top"><code>FEATURE_VR_MODE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_VR_MODE_HIGH_PERFORMANCE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_VR_MODE_HIGH_PERFORMANCE" target="_top"><code>FEATURE_VR_MODE_HIGH_PERFORMANCE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_VULKAN_HARDWARE_LEVEL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_VULKAN_HARDWARE_LEVEL" target="_top"><code>FEATURE_VULKAN_HARDWARE_LEVEL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_VULKAN_HARDWARE_VERSION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_VULKAN_HARDWARE_VERSION" target="_top"><code>FEATURE_VULKAN_HARDWARE_VERSION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#MATCH_DIRECT_BOOT_AWARE" target="_top"><code>MATCH_DIRECT_BOOT_AWARE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#MATCH_DIRECT_BOOT_UNAWARE" target="_top"><code>MATCH_DIRECT_BOOT_UNAWARE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.MATCH_DISABLED_COMPONENTS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#MATCH_DISABLED_COMPONENTS" target="_top"><code>MATCH_DISABLED_COMPONENTS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#MATCH_DISABLED_UNTIL_USED_COMPONENTS" target="_top"><code>MATCH_DISABLED_UNTIL_USED_COMPONENTS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.MATCH_SYSTEM_ONLY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#MATCH_SYSTEM_ONLY" target="_top"><code>MATCH_SYSTEM_ONLY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.MATCH_UNINSTALLED_PACKAGES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#MATCH_UNINSTALLED_PACKAGES" target="_top"><code>MATCH_UNINSTALLED_PACKAGES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.GET_DISABLED_COMPONENTS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#GET_DISABLED_COMPONENTS" target="_top"><code>GET_DISABLED_COMPONENTS</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#GET_DISABLED_UNTIL_USED_COMPONENTS" target="_top"><code>GET_DISABLED_UNTIL_USED_COMPONENTS</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.GET_UNINSTALLED_PACKAGES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#GET_UNINSTALLED_PACKAGES" target="_top"><code>GET_UNINSTALLED_PACKAGES</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.pm.PermissionInfo.html b/docs/html/sdk/api_diff/24/changes/android.content.pm.PermissionInfo.html
new file mode 100644
index 0000000..464034b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.pm.PermissionInfo.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.pm.PermissionInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.pm.<A HREF="../../../../reference/android/content/pm/PermissionInfo.html" target="_top"><font size="+2"><code>PermissionInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PermissionInfo.PROTECTION_FLAG_SETUP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PermissionInfo.html#PROTECTION_FLAG_SETUP" target="_top"><code>PROTECTION_FLAG_SETUP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.pm.ServiceInfo.html b/docs/html/sdk/api_diff/24/changes/android.content.pm.ServiceInfo.html
new file mode 100644
index 0000000..c5cc0a2
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.pm.ServiceInfo.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.pm.ServiceInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.pm.<A HREF="../../../../reference/android/content/pm/ServiceInfo.html" target="_top"><font size="+2"><code>ServiceInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ServiceInfo.FLAG_EXTERNAL_SERVICE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ServiceInfo.html#FLAG_EXTERNAL_SERVICE" target="_top"><code>FLAG_EXTERNAL_SERVICE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.res.Configuration.html b/docs/html/sdk/api_diff/24/changes/android.content.res.Configuration.html
new file mode 100644
index 0000000..3784e71
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.res.Configuration.html
@@ -0,0 +1,146 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.res.Configuration
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.res.<A HREF="../../../../reference/android/content/res/Configuration.html" target="_top"><font size="+2"><code>Configuration</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.getLocales_added()"></A>
+  <nobr><code>LocaleList</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#getLocales()" target="_top"><code>getLocales</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.setLocales_added(android.os.LocaleList)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#setLocales(android.os.LocaleList)" target="_top"><code>setLocales</code></A>(<code>LocaleList</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.locale"></A>
+  <nobr><code>Locale</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#locale" target="_top"><code>locale</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.content.res.Resources.NotFoundException.html b/docs/html/sdk/api_diff/24/changes/android.content.res.Resources.NotFoundException.html
new file mode 100644
index 0000000..508efda
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.content.res.Resources.NotFoundException.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.res.Resources.NotFoundException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.res.<A HREF="../../../../reference/android/content/res/Resources.NotFoundException.html" target="_top"><font size="+2"><code>Resources.NotFoundException</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Resources.NotFoundException.ctor_added(java.lang.String, java.lang.Exception)"></A>
+  <nobr><A HREF="../../../../reference/android/content/res/Resources.NotFoundException.html#Resources.NotFoundException(java.lang.String, java.lang.Exception)" target="_top"><code>Resources.NotFoundException</code></A>(<code>String,</nobr> Exception<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.database.CursorJoiner.html b/docs/html/sdk/api_diff/24/changes/android.database.CursorJoiner.html
new file mode 100644
index 0000000..6509315
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.database.CursorJoiner.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.database.CursorJoiner
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.database.<A HREF="../../../../reference/android/database/CursorJoiner.html" target="_top"><font size="+2"><code>CursorJoiner</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.CursorJoiner.remove_removed()"></A>
+  <nobr><code>void</code>&nbsp;remove()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.database.sqlite.SQLiteDatabase.html b/docs/html/sdk/api_diff/24/changes/android.database.sqlite.SQLiteDatabase.html
new file mode 100644
index 0000000..e97532a
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.database.sqlite.SQLiteDatabase.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.database.sqlite.SQLiteDatabase
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.database.sqlite.<A HREF="../../../../reference/android/database/sqlite/SQLiteDatabase.html" target="_top"><font size="+2"><code>SQLiteDatabase</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.sqlite.SQLiteDatabase.validateSql_added(java.lang.String, android.os.CancellationSignal)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/database/sqlite/SQLiteDatabase.html#validateSql(java.lang.String, android.os.CancellationSignal)" target="_top"><code>validateSql</code></A>(<code>String,</nobr> CancellationSignal<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.drm.DrmManagerClient.html b/docs/html/sdk/api_diff/24/changes/android.drm.DrmManagerClient.html
new file mode 100644
index 0000000..98c0c10
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.drm.DrmManagerClient.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.drm.DrmManagerClient
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.drm.<A HREF="../../../../reference/android/drm/DrmManagerClient.html" target="_top"><font size="+2"><code>DrmManagerClient</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>java.lang.AutoCloseable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.drm.DrmManagerClient.close_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/drm/DrmManagerClient.html#close()" target="_top"><code>close</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.drm.DrmManagerClient.release_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/drm/DrmManagerClient.html#release()" target="_top"><code>release</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.graphics.BitmapFactory.Options.html b/docs/html/sdk/api_diff/24/changes/android.graphics.BitmapFactory.Options.html
new file mode 100644
index 0000000..cf652f5
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.graphics.BitmapFactory.Options.html
@@ -0,0 +1,160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.graphics.BitmapFactory.Options
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.graphics.<A HREF="../../../../reference/android/graphics/BitmapFactory.Options.html" target="_top"><font size="+2"><code>BitmapFactory.Options</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.BitmapFactory.Options.requestCancelDecode_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/graphics/BitmapFactory.Options.html#requestCancelDecode()" target="_top"><code>requestCancelDecode</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.BitmapFactory.Options.inDither"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/graphics/BitmapFactory.Options.html#inDither" target="_top"><code>inDither</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.BitmapFactory.Options.inPreferQualityOverSpeed"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/graphics/BitmapFactory.Options.html#inPreferQualityOverSpeed" target="_top"><code>inPreferQualityOverSpeed</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.BitmapFactory.Options.mCancel"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/graphics/BitmapFactory.Options.html#mCancel" target="_top"><code>mCancel</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.graphics.Color.html b/docs/html/sdk/api_diff/24/changes/android.graphics.Color.html
new file mode 100644
index 0000000..696675b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.graphics.Color.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.graphics.Color
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.graphics.<A HREF="../../../../reference/android/graphics/Color.html" target="_top"><font size="+2"><code>Color</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Color.luminance_added(int)"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/graphics/Color.html#luminance(int)" target="_top"><code>luminance</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.graphics.ImageFormat.html b/docs/html/sdk/api_diff/24/changes/android.graphics.ImageFormat.html
new file mode 100644
index 0000000..6905eaf
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.graphics.ImageFormat.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.graphics.ImageFormat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.graphics.<A HREF="../../../../reference/android/graphics/ImageFormat.html" target="_top"><font size="+2"><code>ImageFormat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.ImageFormat.RAW_PRIVATE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/ImageFormat.html#RAW_PRIVATE" target="_top"><code>RAW_PRIVATE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.graphics.Outline.html b/docs/html/sdk/api_diff/24/changes/android.graphics.Outline.html
new file mode 100644
index 0000000..19c5bb6
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.graphics.Outline.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.graphics.Outline
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.graphics.<A HREF="../../../../reference/android/graphics/Outline.html" target="_top"><font size="+2"><code>Outline</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Outline.getRadius_added()"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/graphics/Outline.html#getRadius()" target="_top"><code>getRadius</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Outline.getRect_added(android.graphics.Rect)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/graphics/Outline.html#getRect(android.graphics.Rect)" target="_top"><code>getRect</code></A>(<code>Rect</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.graphics.Paint.html b/docs/html/sdk/api_diff/24/changes/android.graphics.Paint.html
new file mode 100644
index 0000000..00393b91
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.graphics.Paint.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.graphics.Paint
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.graphics.<A HREF="../../../../reference/android/graphics/Paint.html" target="_top"><font size="+2"><code>Paint</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Paint.getTextLocales_added()"></A>
+  <nobr><code>LocaleList</code>&nbsp;<A HREF="../../../../reference/android/graphics/Paint.html#getTextLocales()" target="_top"><code>getTextLocales</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Paint.setTextLocales_added(android.os.LocaleList)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/graphics/Paint.html#setTextLocales(android.os.LocaleList)" target="_top"><code>setTextLocales</code></A>(<code>LocaleList</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.graphics.drawable.GradientDrawable.html b/docs/html/sdk/api_diff/24/changes/android.graphics.drawable.GradientDrawable.html
new file mode 100644
index 0000000..c8d2ca0
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.graphics.drawable.GradientDrawable.html
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.graphics.drawable.GradientDrawable
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.graphics.drawable.<A HREF="../../../../reference/android/graphics/drawable/GradientDrawable.html" target="_top"><font size="+2"><code>GradientDrawable</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.drawable.GradientDrawable.getColor_added()"></A>
+  <nobr><code>ColorStateList</code>&nbsp;<A HREF="../../../../reference/android/graphics/drawable/GradientDrawable.html#getColor()" target="_top"><code>getColor</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.drawable.GradientDrawable.getColors_added()"></A>
+  <nobr><code>int[]</code>&nbsp;<A HREF="../../../../reference/android/graphics/drawable/GradientDrawable.html#getColors()" target="_top"><code>getColors</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.drawable.GradientDrawable.getCornerRadii_added()"></A>
+  <nobr><code>float[]</code>&nbsp;<A HREF="../../../../reference/android/graphics/drawable/GradientDrawable.html#getCornerRadii()" target="_top"><code>getCornerRadii</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.drawable.GradientDrawable.getCornerRadius_added()"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/graphics/drawable/GradientDrawable.html#getCornerRadius()" target="_top"><code>getCornerRadius</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.drawable.GradientDrawable.getGradientCenterX_added()"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/graphics/drawable/GradientDrawable.html#getGradientCenterX()" target="_top"><code>getGradientCenterX</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.drawable.GradientDrawable.getGradientCenterY_added()"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/graphics/drawable/GradientDrawable.html#getGradientCenterY()" target="_top"><code>getGradientCenterY</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.drawable.GradientDrawable.getGradientType_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/drawable/GradientDrawable.html#getGradientType()" target="_top"><code>getGradientType</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.drawable.GradientDrawable.getShape_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/drawable/GradientDrawable.html#getShape()" target="_top"><code>getShape</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.drawable.GradientDrawable.getUseLevel_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/graphics/drawable/GradientDrawable.html#getUseLevel()" target="_top"><code>getUseLevel</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.graphics.drawable.LayerDrawable.html b/docs/html/sdk/api_diff/24/changes/android.graphics.drawable.LayerDrawable.html
new file mode 100644
index 0000000..3c710cc
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.graphics.drawable.LayerDrawable.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.graphics.drawable.LayerDrawable
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.graphics.drawable.<A HREF="../../../../reference/android/graphics/drawable/LayerDrawable.html" target="_top"><font size="+2"><code>LayerDrawable</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.drawable.LayerDrawable.INSET_UNDEFINED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/drawable/LayerDrawable.html#INSET_UNDEFINED" target="_top"><code>INSET_UNDEFINED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.hardware.Camera.html b/docs/html/sdk/api_diff/24/changes/android.hardware.Camera.html
new file mode 100644
index 0000000..fe286f4
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.hardware.Camera.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.hardware.Camera
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.hardware.<A HREF="../../../../reference/android/hardware/Camera.html" target="_top"><font size="+2"><code>Camera</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.ACTION_NEW_PICTURE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.html#ACTION_NEW_PICTURE" target="_top"><code>ACTION_NEW_PICTURE</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.ACTION_NEW_VIDEO"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.html#ACTION_NEW_VIDEO" target="_top"><code>ACTION_NEW_VIDEO</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.hardware.Sensor.html b/docs/html/sdk/api_diff/24/changes/android.hardware.Sensor.html
new file mode 100644
index 0000000..ca54707
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.hardware.Sensor.html
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.hardware.Sensor
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.hardware.<A HREF="../../../../reference/android/hardware/Sensor.html" target="_top"><font size="+2"><code>Sensor</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Sensor.getId_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Sensor.html#getId()" target="_top"><code>getId</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Sensor.isAdditionalInfoSupported_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/hardware/Sensor.html#isAdditionalInfoSupported()" target="_top"><code>isAdditionalInfoSupported</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Sensor.isDynamicSensor_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/hardware/Sensor.html#isDynamicSensor()" target="_top"><code>isDynamicSensor</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Sensor.STRING_TYPE_HEART_BEAT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/hardware/Sensor.html#STRING_TYPE_HEART_BEAT" target="_top"><code>STRING_TYPE_HEART_BEAT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Sensor.STRING_TYPE_MOTION_DETECT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/hardware/Sensor.html#STRING_TYPE_MOTION_DETECT" target="_top"><code>STRING_TYPE_MOTION_DETECT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Sensor.STRING_TYPE_POSE_6DOF"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/hardware/Sensor.html#STRING_TYPE_POSE_6DOF" target="_top"><code>STRING_TYPE_POSE_6DOF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Sensor.STRING_TYPE_STATIONARY_DETECT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/hardware/Sensor.html#STRING_TYPE_STATIONARY_DETECT" target="_top"><code>STRING_TYPE_STATIONARY_DETECT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Sensor.TYPE_DEVICE_PRIVATE_BASE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Sensor.html#TYPE_DEVICE_PRIVATE_BASE" target="_top"><code>TYPE_DEVICE_PRIVATE_BASE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Sensor.TYPE_HEART_BEAT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Sensor.html#TYPE_HEART_BEAT" target="_top"><code>TYPE_HEART_BEAT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Sensor.TYPE_MOTION_DETECT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Sensor.html#TYPE_MOTION_DETECT" target="_top"><code>TYPE_MOTION_DETECT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Sensor.TYPE_POSE_6DOF"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Sensor.html#TYPE_POSE_6DOF" target="_top"><code>TYPE_POSE_6DOF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Sensor.TYPE_STATIONARY_DETECT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Sensor.html#TYPE_STATIONARY_DETECT" target="_top"><code>TYPE_STATIONARY_DETECT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.hardware.SensorManager.html b/docs/html/sdk/api_diff/24/changes/android.hardware.SensorManager.html
new file mode 100644
index 0000000..460a8b7
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.hardware.SensorManager.html
@@ -0,0 +1,150 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.hardware.SensorManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.hardware.<A HREF="../../../../reference/android/hardware/SensorManager.html" target="_top"><font size="+2"><code>SensorManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.SensorManager.getDynamicSensorList_added(int)"></A>
+  <nobr><code>List&lt;Sensor&gt;</code>&nbsp;<A HREF="../../../../reference/android/hardware/SensorManager.html#getDynamicSensorList(int)" target="_top"><code>getDynamicSensorList</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.SensorManager.isDynamicSensorDiscoverySupported_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/hardware/SensorManager.html#isDynamicSensorDiscoverySupported()" target="_top"><code>isDynamicSensorDiscoverySupported</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.SensorManager.registerDynamicSensorCallback_added(android.hardware.SensorManager.DynamicSensorCallback)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/SensorManager.html#registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback)" target="_top"><code>registerDynamicSensorCallback</code></A>(<code>DynamicSensorCallback</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.SensorManager.registerDynamicSensorCallback_added(android.hardware.SensorManager.DynamicSensorCallback, android.os.Handler)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/SensorManager.html#registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback, android.os.Handler)" target="_top"><code>registerDynamicSensorCallback</code></A>(<code>DynamicSensorCallback,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.SensorManager.unregisterDynamicSensorCallback_added(android.hardware.SensorManager.DynamicSensorCallback)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/SensorManager.html#unregisterDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback)" target="_top"><code>unregisterDynamicSensorCallback</code></A>(<code>DynamicSensorCallback</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CameraCaptureSession.CaptureCallback.html b/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CameraCaptureSession.CaptureCallback.html
new file mode 100644
index 0000000..7113999
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CameraCaptureSession.CaptureCallback.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.hardware.camera2.CameraCaptureSession.CaptureCallback
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.hardware.camera2.<A HREF="../../../../reference/android/hardware/camera2/CameraCaptureSession.CaptureCallback.html" target="_top"><font size="+2"><code>CameraCaptureSession.CaptureCallback</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.camera2.CameraCaptureSession.CaptureCallback.onCaptureBufferLost_added(android.hardware.camera2.CameraCaptureSession, android.hardware.camera2.CaptureRequest, android.view.Surface, long)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/camera2/CameraCaptureSession.CaptureCallback.html#onCaptureBufferLost(android.hardware.camera2.CameraCaptureSession, android.hardware.camera2.CaptureRequest, android.view.Surface, long)" target="_top"><code>onCaptureBufferLost</code></A>(<code>CameraCaptureSession,</nobr> CaptureRequest<nobr>,</nobr> Surface<nobr>,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CameraCharacteristics.html b/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CameraCharacteristics.html
new file mode 100644
index 0000000..529987a
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CameraCharacteristics.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.hardware.camera2.CameraCharacteristics
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.hardware.camera2.<A HREF="../../../../reference/android/hardware/camera2/CameraCharacteristics.html" target="_top"><font size="+2"><code>CameraCharacteristics</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.camera2.CameraCharacteristics.CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE"></A>
+  <nobr><code>Key&lt;Range&lt;Integer&gt;&gt;</code>&nbsp;<A HREF="../../../../reference/android/hardware/camera2/CameraCharacteristics.html#CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE" target="_top"><code>CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.camera2.CameraCharacteristics.SENSOR_OPTICAL_BLACK_REGIONS"></A>
+  <nobr><code>Key&lt;Rect[]&gt;</code>&nbsp;<A HREF="../../../../reference/android/hardware/camera2/CameraCharacteristics.html#SENSOR_OPTICAL_BLACK_REGIONS" target="_top"><code>SENSOR_OPTICAL_BLACK_REGIONS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CameraDevice.html b/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CameraDevice.html
new file mode 100644
index 0000000..3b27a39
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CameraDevice.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.hardware.camera2.CameraDevice
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.hardware.camera2.<A HREF="../../../../reference/android/hardware/camera2/CameraDevice.html" target="_top"><font size="+2"><code>CameraDevice</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.camera2.CameraDevice.createCaptureSessionByOutputConfigurations_added(java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/camera2/CameraDevice.html#createCaptureSessionByOutputConfigurations(java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler)" target="_top"><code>createCaptureSessionByOutputConfigurations</code></A>(<code>List&lt;OutputConfiguration&gt;,</nobr> StateCallback<nobr>,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.camera2.CameraDevice.createReprocessableCaptureSessionByConfigurations_added(android.hardware.camera2.params.InputConfiguration, java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/camera2/CameraDevice.html#createReprocessableCaptureSessionByConfigurations(android.hardware.camera2.params.InputConfiguration, java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler)" target="_top"><code>createReprocessableCaptureSessionByConfigurations</code></A>(<code>InputConfiguration,</nobr> List&lt;OutputConfiguration&gt;<nobr>,</nobr> StateCallback<nobr>,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CameraMetadata.html b/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CameraMetadata.html
new file mode 100644
index 0000000..12adc00
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CameraMetadata.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.hardware.camera2.CameraMetadata
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.hardware.camera2.<A HREF="../../../../reference/android/hardware/camera2/CameraMetadata.html" target="_top"><font size="+2"><code>CameraMetadata</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.camera2.CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_3"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/camera2/CameraMetadata.html#INFO_SUPPORTED_HARDWARE_LEVEL_3" target="_top"><code>INFO_SUPPORTED_HARDWARE_LEVEL_3</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CaptureRequest.html b/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CaptureRequest.html
new file mode 100644
index 0000000..7e18e2a
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CaptureRequest.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.hardware.camera2.CaptureRequest
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.hardware.camera2.<A HREF="../../../../reference/android/hardware/camera2/CaptureRequest.html" target="_top"><font size="+2"><code>CaptureRequest</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.camera2.CaptureRequest.CONTROL_POST_RAW_SENSITIVITY_BOOST"></A>
+  <nobr><code>Key&lt;Integer&gt;</code>&nbsp;<A HREF="../../../../reference/android/hardware/camera2/CaptureRequest.html#CONTROL_POST_RAW_SENSITIVITY_BOOST" target="_top"><code>CONTROL_POST_RAW_SENSITIVITY_BOOST</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CaptureResult.html b/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CaptureResult.html
new file mode 100644
index 0000000..c9240f8
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.hardware.camera2.CaptureResult.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.hardware.camera2.CaptureResult
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.hardware.camera2.<A HREF="../../../../reference/android/hardware/camera2/CaptureResult.html" target="_top"><font size="+2"><code>CaptureResult</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.camera2.CaptureResult.CONTROL_POST_RAW_SENSITIVITY_BOOST"></A>
+  <nobr><code>Key&lt;Integer&gt;</code>&nbsp;<A HREF="../../../../reference/android/hardware/camera2/CaptureResult.html#CONTROL_POST_RAW_SENSITIVITY_BOOST" target="_top"><code>CONTROL_POST_RAW_SENSITIVITY_BOOST</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.camera2.CaptureResult.SENSOR_DYNAMIC_BLACK_LEVEL"></A>
+  <nobr><code>Key&lt;float[]&gt;</code>&nbsp;<A HREF="../../../../reference/android/hardware/camera2/CaptureResult.html#SENSOR_DYNAMIC_BLACK_LEVEL" target="_top"><code>SENSOR_DYNAMIC_BLACK_LEVEL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.camera2.CaptureResult.SENSOR_DYNAMIC_WHITE_LEVEL"></A>
+  <nobr><code>Key&lt;Integer&gt;</code>&nbsp;<A HREF="../../../../reference/android/hardware/camera2/CaptureResult.html#SENSOR_DYNAMIC_WHITE_LEVEL" target="_top"><code>SENSOR_DYNAMIC_WHITE_LEVEL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.location.GpsSatellite.html b/docs/html/sdk/api_diff/24/changes/android.location.GpsSatellite.html
new file mode 100644
index 0000000..fb7a6b5
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.location.GpsSatellite.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.location.GpsSatellite
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.location.<A HREF="../../../../reference/android/location/GpsSatellite.html" target="_top"><font size="+2"><code>GpsSatellite</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.location.GpsStatus.Listener.html b/docs/html/sdk/api_diff/24/changes/android.location.GpsStatus.Listener.html
new file mode 100644
index 0000000..9a6438b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.location.GpsStatus.Listener.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.location.GpsStatus.Listener
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface android.location.<A HREF="../../../../reference/android/location/GpsStatus.Listener.html" target="_top"><font size="+2"><code>GpsStatus.Listener</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.location.GpsStatus.NmeaListener.html b/docs/html/sdk/api_diff/24/changes/android.location.GpsStatus.NmeaListener.html
new file mode 100644
index 0000000..040717a
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.location.GpsStatus.NmeaListener.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.location.GpsStatus.NmeaListener
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface android.location.<A HREF="../../../../reference/android/location/GpsStatus.NmeaListener.html" target="_top"><font size="+2"><code>GpsStatus.NmeaListener</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.location.GpsStatus.html b/docs/html/sdk/api_diff/24/changes/android.location.GpsStatus.html
new file mode 100644
index 0000000..6f436e1
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.location.GpsStatus.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.location.GpsStatus
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.location.<A HREF="../../../../reference/android/location/GpsStatus.html" target="_top"><font size="+2"><code>GpsStatus</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.location.LocationManager.html b/docs/html/sdk/api_diff/24/changes/android.location.LocationManager.html
new file mode 100644
index 0000000..0fd8182
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.location.LocationManager.html
@@ -0,0 +1,257 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.location.LocationManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.location.<A HREF="../../../../reference/android/location/LocationManager.html" target="_top"><font size="+2"><code>LocationManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.addNmeaListener_added(android.location.OnNmeaMessageListener)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#addNmeaListener(android.location.OnNmeaMessageListener)" target="_top"><code>addNmeaListener</code></A>(<code>OnNmeaMessageListener</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.addNmeaListener_added(android.location.OnNmeaMessageListener, android.os.Handler)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#addNmeaListener(android.location.OnNmeaMessageListener, android.os.Handler)" target="_top"><code>addNmeaListener</code></A>(<code>OnNmeaMessageListener,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.registerGnssMeasurementsCallback_added(android.location.GnssMeasurementsEvent.Callback)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#registerGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback)" target="_top"><code>registerGnssMeasurementsCallback</code></A>(<code>Callback</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.registerGnssMeasurementsCallback_added(android.location.GnssMeasurementsEvent.Callback, android.os.Handler)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#registerGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback, android.os.Handler)" target="_top"><code>registerGnssMeasurementsCallback</code></A>(<code>Callback,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.registerGnssNavigationMessageCallback_added(android.location.GnssNavigationMessage.Callback)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#registerGnssNavigationMessageCallback(android.location.GnssNavigationMessage.Callback)" target="_top"><code>registerGnssNavigationMessageCallback</code></A>(<code>Callback</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.registerGnssNavigationMessageCallback_added(android.location.GnssNavigationMessage.Callback, android.os.Handler)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#registerGnssNavigationMessageCallback(android.location.GnssNavigationMessage.Callback, android.os.Handler)" target="_top"><code>registerGnssNavigationMessageCallback</code></A>(<code>Callback,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.registerGnssStatusCallback_added(android.location.GnssStatus.Callback)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#registerGnssStatusCallback(android.location.GnssStatus.Callback)" target="_top"><code>registerGnssStatusCallback</code></A>(<code>Callback</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.registerGnssStatusCallback_added(android.location.GnssStatus.Callback, android.os.Handler)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#registerGnssStatusCallback(android.location.GnssStatus.Callback, android.os.Handler)" target="_top"><code>registerGnssStatusCallback</code></A>(<code>Callback,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.removeNmeaListener_added(android.location.OnNmeaMessageListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#removeNmeaListener(android.location.OnNmeaMessageListener)" target="_top"><code>removeNmeaListener</code></A>(<code>OnNmeaMessageListener</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.unregisterGnssMeasurementsCallback_added(android.location.GnssMeasurementsEvent.Callback)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#unregisterGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback)" target="_top"><code>unregisterGnssMeasurementsCallback</code></A>(<code>Callback</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.unregisterGnssNavigationMessageCallback_added(android.location.GnssNavigationMessage.Callback)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#unregisterGnssNavigationMessageCallback(android.location.GnssNavigationMessage.Callback)" target="_top"><code>unregisterGnssNavigationMessageCallback</code></A>(<code>Callback</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.unregisterGnssStatusCallback_added(android.location.GnssStatus.Callback)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#unregisterGnssStatusCallback(android.location.GnssStatus.Callback)" target="_top"><code>unregisterGnssStatusCallback</code></A>(<code>Callback</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.addGpsStatusListener_changed(android.location.GpsStatus.Listener)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#addGpsStatusListener(android.location.GpsStatus.Listener)" target="_top"><code>addGpsStatusListener</code></A>(<code>Listener</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.getGpsStatus_changed(android.location.GpsStatus)"></A>
+  <nobr><code>GpsStatus</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#getGpsStatus(android.location.GpsStatus)" target="_top"><code>getGpsStatus</code></A>(<code>GpsStatus</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.removeGpsStatusListener_changed(android.location.GpsStatus.Listener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#removeGpsStatusListener(android.location.GpsStatus.Listener)" target="_top"><code>removeGpsStatusListener</code></A>(<code>Listener</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.addNmeaListener_changed(android.location.GpsStatus.NmeaListener)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#addNmeaListener(android.location.GpsStatus.NmeaListener)" target="_top"><code>addNmeaListener</code></A>(<code>NmeaListener</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.removeNmeaListener_changed(android.location.GpsStatus.NmeaListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#removeNmeaListener(android.location.GpsStatus.NmeaListener)" target="_top"><code>removeNmeaListener</code></A>(<code>NmeaListener</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.AudioAttributes.html b/docs/html/sdk/api_diff/24/changes/android.media.AudioAttributes.html
new file mode 100644
index 0000000..deba1a6
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.AudioAttributes.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.AudioAttributes
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/AudioAttributes.html" target="_top"><font size="+2"><code>AudioAttributes</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioAttributes.FLAG_LOW_LATENCY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioAttributes.html#FLAG_LOW_LATENCY" target="_top"><code>FLAG_LOW_LATENCY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.AudioDeviceInfo.html b/docs/html/sdk/api_diff/24/changes/android.media.AudioDeviceInfo.html
new file mode 100644
index 0000000..17fe4a6
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.AudioDeviceInfo.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.AudioDeviceInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/AudioDeviceInfo.html" target="_top"><font size="+2"><code>AudioDeviceInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioDeviceInfo.TYPE_BUS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioDeviceInfo.html#TYPE_BUS" target="_top"><code>TYPE_BUS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.AudioFormat.html b/docs/html/sdk/api_diff/24/changes/android.media.AudioFormat.html
new file mode 100644
index 0000000..e4a13d4
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.AudioFormat.html
@@ -0,0 +1,160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.AudioFormat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/AudioFormat.html" target="_top"><font size="+2"><code>AudioFormat</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.os.Parcelable</code>.<br></font>
+<p>Change from non-final to final.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioFormat.describeContents_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioFormat.html#describeContents()" target="_top"><code>describeContents</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioFormat.writeToParcel_added(android.os.Parcel, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioFormat.html#writeToParcel(android.os.Parcel, int)" target="_top"><code>writeToParcel</code></A>(<code>Parcel,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioFormat.CREATOR"></A>
+  <nobr><code>Creator&lt;AudioFormat&gt;</code>&nbsp;<A HREF="../../../../reference/android/media/AudioFormat.html#CREATOR" target="_top"><code>CREATOR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioFormat.ENCODING_IEC61937"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioFormat.html#ENCODING_IEC61937" target="_top"><code>ENCODING_IEC61937</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioFormat.SAMPLE_RATE_UNSPECIFIED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioFormat.html#SAMPLE_RATE_UNSPECIFIED" target="_top"><code>SAMPLE_RATE_UNSPECIFIED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.AudioManager.html b/docs/html/sdk/api_diff/24/changes/android.media.AudioManager.html
new file mode 100644
index 0000000..ad1f3bd
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.AudioManager.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.AudioManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/AudioManager.html" target="_top"><font size="+2"><code>AudioManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.getActiveRecordingConfigurations_added()"></A>
+  <nobr><code>List&lt;AudioRecordingConfiguration&gt;</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#getActiveRecordingConfigurations()" target="_top"><code>getActiveRecordingConfigurations</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.registerAudioRecordingCallback_added(android.media.AudioManager.AudioRecordingCallback, android.os.Handler)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#registerAudioRecordingCallback(android.media.AudioManager.AudioRecordingCallback, android.os.Handler)" target="_top"><code>registerAudioRecordingCallback</code></A>(<code>AudioRecordingCallback,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.unregisterAudioRecordingCallback_added(android.media.AudioManager.AudioRecordingCallback)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#unregisterAudioRecordingCallback(android.media.AudioManager.AudioRecordingCallback)" target="_top"><code>unregisterAudioRecordingCallback</code></A>(<code>AudioRecordingCallback</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED" target="_top"><code>PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.AudioRecord.OnRoutingChangedListener.html b/docs/html/sdk/api_diff/24/changes/android.media.AudioRecord.OnRoutingChangedListener.html
new file mode 100644
index 0000000..9c6bc03
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.AudioRecord.OnRoutingChangedListener.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.AudioRecord.OnRoutingChangedListener
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface android.media.<A HREF="../../../../reference/android/media/AudioRecord.OnRoutingChangedListener.html" target="_top"><font size="+2"><code>AudioRecord.OnRoutingChangedListener</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.media.AudioRouting.OnRoutingChangedListener</code>.<br></font>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioRecord.OnRoutingChangedListener.onRoutingChanged_added(android.media.AudioRouting)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioRecord.OnRoutingChangedListener.html#onRoutingChanged(android.media.AudioRouting)" target="_top"><code>onRoutingChanged</code></A>(<code>AudioRouting</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.AudioRecord.html b/docs/html/sdk/api_diff/24/changes/android.media.AudioRecord.html
new file mode 100644
index 0000000..04c20b0
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.AudioRecord.html
@@ -0,0 +1,180 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.AudioRecord
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/AudioRecord.html" target="_top"><font size="+2"><code>AudioRecord</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.media.AudioRouting</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioRecord.addOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioRecord.html#addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler)" target="_top"><code>addOnRoutingChangedListener</code></A>(<code>OnRoutingChangedListener,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioRecord.getTimestamp_added(android.media.AudioTimestamp, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioRecord.html#getTimestamp(android.media.AudioTimestamp, int)" target="_top"><code>getTimestamp</code></A>(<code>AudioTimestamp,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioRecord.removeOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioRecord.html#removeOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener)" target="_top"><code>removeOnRoutingChangedListener</code></A>(<code>OnRoutingChangedListener</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioRecord.addOnRoutingChangedListener_changed(android.media.AudioRecord.OnRoutingChangedListener, android.os.Handler)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioRecord.html#addOnRoutingChangedListener(android.media.AudioRecord.OnRoutingChangedListener, android.os.Handler)" target="_top"><code>addOnRoutingChangedListener</code></A>(<code>OnRoutingChangedListener,</nobr> Handler<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioRecord.removeOnRoutingChangedListener_changed(android.media.AudioRecord.OnRoutingChangedListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioRecord.html#removeOnRoutingChangedListener(android.media.AudioRecord.OnRoutingChangedListener)" target="_top"><code>removeOnRoutingChangedListener</code></A>(<code>OnRoutingChangedListener</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioRecord.ERROR_DEAD_OBJECT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioRecord.html#ERROR_DEAD_OBJECT" target="_top"><code>ERROR_DEAD_OBJECT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.AudioTimestamp.html b/docs/html/sdk/api_diff/24/changes/android.media.AudioTimestamp.html
new file mode 100644
index 0000000..f4707d7
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.AudioTimestamp.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.AudioTimestamp
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/AudioTimestamp.html" target="_top"><font size="+2"><code>AudioTimestamp</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioTimestamp.TIMEBASE_BOOTTIME"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioTimestamp.html#TIMEBASE_BOOTTIME" target="_top"><code>TIMEBASE_BOOTTIME</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioTimestamp.TIMEBASE_MONOTONIC"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioTimestamp.html#TIMEBASE_MONOTONIC" target="_top"><code>TIMEBASE_MONOTONIC</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.AudioTrack.OnRoutingChangedListener.html b/docs/html/sdk/api_diff/24/changes/android.media.AudioTrack.OnRoutingChangedListener.html
new file mode 100644
index 0000000..a321630
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.AudioTrack.OnRoutingChangedListener.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.AudioTrack.OnRoutingChangedListener
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface android.media.<A HREF="../../../../reference/android/media/AudioTrack.OnRoutingChangedListener.html" target="_top"><font size="+2"><code>AudioTrack.OnRoutingChangedListener</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.media.AudioRouting.OnRoutingChangedListener</code>.<br></font>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioTrack.OnRoutingChangedListener.onRoutingChanged_added(android.media.AudioRouting)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioTrack.OnRoutingChangedListener.html#onRoutingChanged(android.media.AudioRouting)" target="_top"><code>onRoutingChanged</code></A>(<code>AudioRouting</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.AudioTrack.html b/docs/html/sdk/api_diff/24/changes/android.media.AudioTrack.html
new file mode 100644
index 0000000..3918d75
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.AudioTrack.html
@@ -0,0 +1,194 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.AudioTrack
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/AudioTrack.html" target="_top"><font size="+2"><code>AudioTrack</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.media.AudioRouting</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioTrack.addOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioTrack.html#addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler)" target="_top"><code>addOnRoutingChangedListener</code></A>(<code>OnRoutingChangedListener,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioTrack.getBufferCapacityInFrames_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioTrack.html#getBufferCapacityInFrames()" target="_top"><code>getBufferCapacityInFrames</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioTrack.getUnderrunCount_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioTrack.html#getUnderrunCount()" target="_top"><code>getUnderrunCount</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioTrack.removeOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioTrack.html#removeOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener)" target="_top"><code>removeOnRoutingChangedListener</code></A>(<code>OnRoutingChangedListener</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioTrack.setBufferSizeInFrames_added(int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioTrack.html#setBufferSizeInFrames(int)" target="_top"><code>setBufferSizeInFrames</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioTrack.addOnRoutingChangedListener_changed(android.media.AudioTrack.OnRoutingChangedListener, android.os.Handler)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioTrack.html#addOnRoutingChangedListener(android.media.AudioTrack.OnRoutingChangedListener, android.os.Handler)" target="_top"><code>addOnRoutingChangedListener</code></A>(<code>OnRoutingChangedListener,</nobr> Handler<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioTrack.removeOnRoutingChangedListener_changed(android.media.AudioTrack.OnRoutingChangedListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioTrack.html#removeOnRoutingChangedListener(android.media.AudioTrack.OnRoutingChangedListener)" target="_top"><code>removeOnRoutingChangedListener</code></A>(<code>OnRoutingChangedListener</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioTrack.ERROR_DEAD_OBJECT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioTrack.html#ERROR_DEAD_OBJECT" target="_top"><code>ERROR_DEAD_OBJECT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.ExifInterface.html b/docs/html/sdk/api_diff/24/changes/android.media.ExifInterface.html
new file mode 100644
index 0000000..bce7023
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.ExifInterface.html
@@ -0,0 +1,889 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.ExifInterface
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/ExifInterface.html" target="_top"><font size="+2"><code>ExifInterface</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.ctor_added(java.io.FileDescriptor)"></A>
+  <nobr><A HREF="../../../../reference/android/media/ExifInterface.html#ExifInterface(java.io.FileDescriptor)" target="_top"><code>ExifInterface</code></A>(<code>FileDescriptor</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.ctor_added(java.io.InputStream)"></A>
+  <nobr><A HREF="../../../../reference/android/media/ExifInterface.html#ExifInterface(java.io.InputStream)" target="_top"><code>ExifInterface</code></A>(<code>InputStream</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.getThumbnailRange_added()"></A>
+  <nobr><code>long[]</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#getThumbnailRange()" target="_top"><code>getThumbnailRange</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_APERTURE_VALUE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_APERTURE_VALUE" target="_top"><code>TAG_APERTURE_VALUE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_ARTIST"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_ARTIST" target="_top"><code>TAG_ARTIST</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_BITS_PER_SAMPLE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_BITS_PER_SAMPLE" target="_top"><code>TAG_BITS_PER_SAMPLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_BRIGHTNESS_VALUE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_BRIGHTNESS_VALUE" target="_top"><code>TAG_BRIGHTNESS_VALUE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_CFA_PATTERN"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_CFA_PATTERN" target="_top"><code>TAG_CFA_PATTERN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_COLOR_SPACE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_COLOR_SPACE" target="_top"><code>TAG_COLOR_SPACE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_COMPONENTS_CONFIGURATION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_COMPONENTS_CONFIGURATION" target="_top"><code>TAG_COMPONENTS_CONFIGURATION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_COMPRESSED_BITS_PER_PIXEL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_COMPRESSED_BITS_PER_PIXEL" target="_top"><code>TAG_COMPRESSED_BITS_PER_PIXEL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_COMPRESSION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_COMPRESSION" target="_top"><code>TAG_COMPRESSION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_CONTRAST"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_CONTRAST" target="_top"><code>TAG_CONTRAST</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_COPYRIGHT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_COPYRIGHT" target="_top"><code>TAG_COPYRIGHT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_CUSTOM_RENDERED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_CUSTOM_RENDERED" target="_top"><code>TAG_CUSTOM_RENDERED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_DATETIME_ORIGINAL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_DATETIME_ORIGINAL" target="_top"><code>TAG_DATETIME_ORIGINAL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_DEVICE_SETTING_DESCRIPTION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_DEVICE_SETTING_DESCRIPTION" target="_top"><code>TAG_DEVICE_SETTING_DESCRIPTION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_DIGITAL_ZOOM_RATIO"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_DIGITAL_ZOOM_RATIO" target="_top"><code>TAG_DIGITAL_ZOOM_RATIO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_EXIF_VERSION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_EXIF_VERSION" target="_top"><code>TAG_EXIF_VERSION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_EXPOSURE_BIAS_VALUE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_EXPOSURE_BIAS_VALUE" target="_top"><code>TAG_EXPOSURE_BIAS_VALUE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_EXPOSURE_INDEX"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_EXPOSURE_INDEX" target="_top"><code>TAG_EXPOSURE_INDEX</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_EXPOSURE_MODE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_EXPOSURE_MODE" target="_top"><code>TAG_EXPOSURE_MODE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_EXPOSURE_PROGRAM"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_EXPOSURE_PROGRAM" target="_top"><code>TAG_EXPOSURE_PROGRAM</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_FILE_SOURCE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_FILE_SOURCE" target="_top"><code>TAG_FILE_SOURCE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_FLASHPIX_VERSION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_FLASHPIX_VERSION" target="_top"><code>TAG_FLASHPIX_VERSION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_FLASH_ENERGY"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_FLASH_ENERGY" target="_top"><code>TAG_FLASH_ENERGY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_FOCAL_LENGTH_IN_35MM_FILM"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_FOCAL_LENGTH_IN_35MM_FILM" target="_top"><code>TAG_FOCAL_LENGTH_IN_35MM_FILM</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_FOCAL_PLANE_RESOLUTION_UNIT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_FOCAL_PLANE_RESOLUTION_UNIT" target="_top"><code>TAG_FOCAL_PLANE_RESOLUTION_UNIT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_FOCAL_PLANE_X_RESOLUTION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_FOCAL_PLANE_X_RESOLUTION" target="_top"><code>TAG_FOCAL_PLANE_X_RESOLUTION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_FOCAL_PLANE_Y_RESOLUTION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_FOCAL_PLANE_Y_RESOLUTION" target="_top"><code>TAG_FOCAL_PLANE_Y_RESOLUTION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_F_NUMBER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_F_NUMBER" target="_top"><code>TAG_F_NUMBER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GAIN_CONTROL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GAIN_CONTROL" target="_top"><code>TAG_GAIN_CONTROL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_AREA_INFORMATION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_AREA_INFORMATION" target="_top"><code>TAG_GPS_AREA_INFORMATION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_DEST_BEARING"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_DEST_BEARING" target="_top"><code>TAG_GPS_DEST_BEARING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_DEST_BEARING_REF"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_DEST_BEARING_REF" target="_top"><code>TAG_GPS_DEST_BEARING_REF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_DEST_DISTANCE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_DEST_DISTANCE" target="_top"><code>TAG_GPS_DEST_DISTANCE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_DEST_DISTANCE_REF"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_DEST_DISTANCE_REF" target="_top"><code>TAG_GPS_DEST_DISTANCE_REF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_DEST_LATITUDE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_DEST_LATITUDE" target="_top"><code>TAG_GPS_DEST_LATITUDE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_DEST_LATITUDE_REF"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_DEST_LATITUDE_REF" target="_top"><code>TAG_GPS_DEST_LATITUDE_REF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_DEST_LONGITUDE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_DEST_LONGITUDE" target="_top"><code>TAG_GPS_DEST_LONGITUDE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_DEST_LONGITUDE_REF"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_DEST_LONGITUDE_REF" target="_top"><code>TAG_GPS_DEST_LONGITUDE_REF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_DIFFERENTIAL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_DIFFERENTIAL" target="_top"><code>TAG_GPS_DIFFERENTIAL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_DOP"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_DOP" target="_top"><code>TAG_GPS_DOP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_IMG_DIRECTION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_IMG_DIRECTION" target="_top"><code>TAG_GPS_IMG_DIRECTION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_IMG_DIRECTION_REF"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_IMG_DIRECTION_REF" target="_top"><code>TAG_GPS_IMG_DIRECTION_REF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_MAP_DATUM"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_MAP_DATUM" target="_top"><code>TAG_GPS_MAP_DATUM</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_MEASURE_MODE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_MEASURE_MODE" target="_top"><code>TAG_GPS_MEASURE_MODE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_SATELLITES"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_SATELLITES" target="_top"><code>TAG_GPS_SATELLITES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_SPEED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_SPEED" target="_top"><code>TAG_GPS_SPEED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_SPEED_REF"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_SPEED_REF" target="_top"><code>TAG_GPS_SPEED_REF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_STATUS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_STATUS" target="_top"><code>TAG_GPS_STATUS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_TRACK"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_TRACK" target="_top"><code>TAG_GPS_TRACK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_TRACK_REF"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_TRACK_REF" target="_top"><code>TAG_GPS_TRACK_REF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_VERSION_ID"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_VERSION_ID" target="_top"><code>TAG_GPS_VERSION_ID</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_IMAGE_DESCRIPTION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_IMAGE_DESCRIPTION" target="_top"><code>TAG_IMAGE_DESCRIPTION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_IMAGE_UNIQUE_ID"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_IMAGE_UNIQUE_ID" target="_top"><code>TAG_IMAGE_UNIQUE_ID</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_INTEROPERABILITY_INDEX"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_INTEROPERABILITY_INDEX" target="_top"><code>TAG_INTEROPERABILITY_INDEX</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_ISO_SPEED_RATINGS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_ISO_SPEED_RATINGS" target="_top"><code>TAG_ISO_SPEED_RATINGS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_JPEG_INTERCHANGE_FORMAT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_JPEG_INTERCHANGE_FORMAT" target="_top"><code>TAG_JPEG_INTERCHANGE_FORMAT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_JPEG_INTERCHANGE_FORMAT_LENGTH"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_JPEG_INTERCHANGE_FORMAT_LENGTH" target="_top"><code>TAG_JPEG_INTERCHANGE_FORMAT_LENGTH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_LIGHT_SOURCE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_LIGHT_SOURCE" target="_top"><code>TAG_LIGHT_SOURCE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_MAKER_NOTE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_MAKER_NOTE" target="_top"><code>TAG_MAKER_NOTE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_MAX_APERTURE_VALUE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_MAX_APERTURE_VALUE" target="_top"><code>TAG_MAX_APERTURE_VALUE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_METERING_MODE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_METERING_MODE" target="_top"><code>TAG_METERING_MODE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_OECF"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_OECF" target="_top"><code>TAG_OECF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_PHOTOMETRIC_INTERPRETATION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_PHOTOMETRIC_INTERPRETATION" target="_top"><code>TAG_PHOTOMETRIC_INTERPRETATION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_PIXEL_X_DIMENSION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_PIXEL_X_DIMENSION" target="_top"><code>TAG_PIXEL_X_DIMENSION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_PIXEL_Y_DIMENSION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_PIXEL_Y_DIMENSION" target="_top"><code>TAG_PIXEL_Y_DIMENSION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_PLANAR_CONFIGURATION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_PLANAR_CONFIGURATION" target="_top"><code>TAG_PLANAR_CONFIGURATION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_PRIMARY_CHROMATICITIES"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_PRIMARY_CHROMATICITIES" target="_top"><code>TAG_PRIMARY_CHROMATICITIES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_REFERENCE_BLACK_WHITE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_REFERENCE_BLACK_WHITE" target="_top"><code>TAG_REFERENCE_BLACK_WHITE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_RELATED_SOUND_FILE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_RELATED_SOUND_FILE" target="_top"><code>TAG_RELATED_SOUND_FILE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_RESOLUTION_UNIT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_RESOLUTION_UNIT" target="_top"><code>TAG_RESOLUTION_UNIT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_ROWS_PER_STRIP"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_ROWS_PER_STRIP" target="_top"><code>TAG_ROWS_PER_STRIP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SAMPLES_PER_PIXEL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SAMPLES_PER_PIXEL" target="_top"><code>TAG_SAMPLES_PER_PIXEL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SATURATION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SATURATION" target="_top"><code>TAG_SATURATION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SCENE_CAPTURE_TYPE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SCENE_CAPTURE_TYPE" target="_top"><code>TAG_SCENE_CAPTURE_TYPE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SCENE_TYPE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SCENE_TYPE" target="_top"><code>TAG_SCENE_TYPE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SENSING_METHOD"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SENSING_METHOD" target="_top"><code>TAG_SENSING_METHOD</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SHARPNESS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SHARPNESS" target="_top"><code>TAG_SHARPNESS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SHUTTER_SPEED_VALUE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SHUTTER_SPEED_VALUE" target="_top"><code>TAG_SHUTTER_SPEED_VALUE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SOFTWARE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SOFTWARE" target="_top"><code>TAG_SOFTWARE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SPATIAL_FREQUENCY_RESPONSE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SPATIAL_FREQUENCY_RESPONSE" target="_top"><code>TAG_SPATIAL_FREQUENCY_RESPONSE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SPECTRAL_SENSITIVITY"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SPECTRAL_SENSITIVITY" target="_top"><code>TAG_SPECTRAL_SENSITIVITY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_STRIP_BYTE_COUNTS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_STRIP_BYTE_COUNTS" target="_top"><code>TAG_STRIP_BYTE_COUNTS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_STRIP_OFFSETS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_STRIP_OFFSETS" target="_top"><code>TAG_STRIP_OFFSETS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SUBJECT_AREA"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SUBJECT_AREA" target="_top"><code>TAG_SUBJECT_AREA</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SUBJECT_DISTANCE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SUBJECT_DISTANCE" target="_top"><code>TAG_SUBJECT_DISTANCE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SUBJECT_DISTANCE_RANGE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SUBJECT_DISTANCE_RANGE" target="_top"><code>TAG_SUBJECT_DISTANCE_RANGE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SUBJECT_LOCATION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SUBJECT_LOCATION" target="_top"><code>TAG_SUBJECT_LOCATION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SUBSEC_TIME_DIGITIZED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SUBSEC_TIME_DIGITIZED" target="_top"><code>TAG_SUBSEC_TIME_DIGITIZED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SUBSEC_TIME_ORIGINAL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SUBSEC_TIME_ORIGINAL" target="_top"><code>TAG_SUBSEC_TIME_ORIGINAL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_THUMBNAIL_IMAGE_LENGTH"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_THUMBNAIL_IMAGE_LENGTH" target="_top"><code>TAG_THUMBNAIL_IMAGE_LENGTH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_THUMBNAIL_IMAGE_WIDTH"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_THUMBNAIL_IMAGE_WIDTH" target="_top"><code>TAG_THUMBNAIL_IMAGE_WIDTH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_TRANSFER_FUNCTION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_TRANSFER_FUNCTION" target="_top"><code>TAG_TRANSFER_FUNCTION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_USER_COMMENT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_USER_COMMENT" target="_top"><code>TAG_USER_COMMENT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_WHITE_POINT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_WHITE_POINT" target="_top"><code>TAG_WHITE_POINT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_X_RESOLUTION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_X_RESOLUTION" target="_top"><code>TAG_X_RESOLUTION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_Y_CB_CR_COEFFICIENTS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_Y_CB_CR_COEFFICIENTS" target="_top"><code>TAG_Y_CB_CR_COEFFICIENTS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_Y_CB_CR_POSITIONING"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_Y_CB_CR_POSITIONING" target="_top"><code>TAG_Y_CB_CR_POSITIONING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_Y_CB_CR_SUB_SAMPLING"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_Y_CB_CR_SUB_SAMPLING" target="_top"><code>TAG_Y_CB_CR_SUB_SAMPLING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_Y_RESOLUTION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_Y_RESOLUTION" target="_top"><code>TAG_Y_RESOLUTION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_APERTURE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_APERTURE" target="_top"><code>TAG_APERTURE</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_ISO"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_ISO" target="_top"><code>TAG_ISO</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SUBSEC_TIME_DIG"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SUBSEC_TIME_DIG" target="_top"><code>TAG_SUBSEC_TIME_DIG</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_SUBSEC_TIME_ORIG"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_SUBSEC_TIME_ORIG" target="_top"><code>TAG_SUBSEC_TIME_ORIG</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.MediaCodec.CryptoException.html b/docs/html/sdk/api_diff/24/changes/android.media.MediaCodec.CryptoException.html
new file mode 100644
index 0000000..f2be0cc
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.MediaCodec.CryptoException.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.MediaCodec.CryptoException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/MediaCodec.CryptoException.html" target="_top"><font size="+2"><code>MediaCodec.CryptoException</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodec.CryptoException.ERROR_UNSUPPORTED_OPERATION"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodec.CryptoException.html#ERROR_UNSUPPORTED_OPERATION" target="_top"><code>ERROR_UNSUPPORTED_OPERATION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.MediaCodec.CryptoInfo.html b/docs/html/sdk/api_diff/24/changes/android.media.MediaCodec.CryptoInfo.html
new file mode 100644
index 0000000..6e508a6
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.MediaCodec.CryptoInfo.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.MediaCodec.CryptoInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/MediaCodec.CryptoInfo.html" target="_top"><font size="+2"><code>MediaCodec.CryptoInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodec.CryptoInfo.setPattern_added(android.media.MediaCodec.CryptoInfo.Pattern)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodec.CryptoInfo.html#setPattern(android.media.MediaCodec.CryptoInfo.Pattern)" target="_top"><code>setPattern</code></A>(<code>Pattern</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.MediaCodec.html b/docs/html/sdk/api_diff/24/changes/android.media.MediaCodec.html
new file mode 100644
index 0000000..2b7fe4c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.MediaCodec.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.MediaCodec
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/MediaCodec.html" target="_top"><font size="+2"><code>MediaCodec</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodec.CRYPTO_MODE_AES_CBC"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodec.html#CRYPTO_MODE_AES_CBC" target="_top"><code>CRYPTO_MODE_AES_CBC</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.MediaCodecInfo.CodecCapabilities.html b/docs/html/sdk/api_diff/24/changes/android.media.MediaCodecInfo.CodecCapabilities.html
new file mode 100644
index 0000000..5921188
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.MediaCodecInfo.CodecCapabilities.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.MediaCodecInfo.CodecCapabilities
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecCapabilities.html" target="_top"><font size="+2"><code>MediaCodecInfo.CodecCapabilities</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecCapabilities.FEATURE_IntraRefresh"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecCapabilities.html#FEATURE_IntraRefresh" target="_top"><code>FEATURE_IntraRefresh</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.MediaCodecInfo.CodecProfileLevel.html b/docs/html/sdk/api_diff/24/changes/android.media.MediaCodecInfo.CodecProfileLevel.html
new file mode 100644
index 0000000..64e956f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.MediaCodecInfo.CodecProfileLevel.html
@@ -0,0 +1,402 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.MediaCodecInfo.CodecProfileLevel
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html" target="_top"><font size="+2"><code>MediaCodecInfo.CodecProfileLevel</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelFhd24"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#DolbyVisionLevelFhd24" target="_top"><code>DolbyVisionLevelFhd24</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelFhd30"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#DolbyVisionLevelFhd30" target="_top"><code>DolbyVisionLevelFhd30</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelFhd60"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#DolbyVisionLevelFhd60" target="_top"><code>DolbyVisionLevelFhd60</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelHd24"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#DolbyVisionLevelHd24" target="_top"><code>DolbyVisionLevelHd24</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelHd30"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#DolbyVisionLevelHd30" target="_top"><code>DolbyVisionLevelHd30</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd24"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#DolbyVisionLevelUhd24" target="_top"><code>DolbyVisionLevelUhd24</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd30"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#DolbyVisionLevelUhd30" target="_top"><code>DolbyVisionLevelUhd30</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd48"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#DolbyVisionLevelUhd48" target="_top"><code>DolbyVisionLevelUhd48</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd60"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#DolbyVisionLevelUhd60" target="_top"><code>DolbyVisionLevelUhd60</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvavPen"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#DolbyVisionProfileDvavPen" target="_top"><code>DolbyVisionProfileDvavPen</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvavPer"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#DolbyVisionProfileDvavPer" target="_top"><code>DolbyVisionProfileDvavPer</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDen"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#DolbyVisionProfileDvheDen" target="_top"><code>DolbyVisionProfileDvheDen</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDer"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#DolbyVisionProfileDvheDer" target="_top"><code>DolbyVisionProfileDvheDer</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDtb"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#DolbyVisionProfileDvheDtb" target="_top"><code>DolbyVisionProfileDvheDtb</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDth"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#DolbyVisionProfileDvheDth" target="_top"><code>DolbyVisionProfileDvheDth</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDtr"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#DolbyVisionProfileDvheDtr" target="_top"><code>DolbyVisionProfileDvheDtr</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheStn"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#DolbyVisionProfileDvheStn" target="_top"><code>DolbyVisionProfileDvheStn</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.HEVCProfileMain10HDR10"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#HEVCProfileMain10HDR10" target="_top"><code>HEVCProfileMain10HDR10</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.MPEG2LevelHP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#MPEG2LevelHP" target="_top"><code>MPEG2LevelHP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level3b"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#MPEG4Level3b" target="_top"><code>MPEG4Level3b</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level6"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#MPEG4Level6" target="_top"><code>MPEG4Level6</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Level1"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Level1" target="_top"><code>VP9Level1</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Level11"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Level11" target="_top"><code>VP9Level11</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Level2"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Level2" target="_top"><code>VP9Level2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Level21"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Level21" target="_top"><code>VP9Level21</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Level3"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Level3" target="_top"><code>VP9Level3</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Level31"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Level31" target="_top"><code>VP9Level31</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Level4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Level4" target="_top"><code>VP9Level4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Level41"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Level41" target="_top"><code>VP9Level41</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Level5"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Level5" target="_top"><code>VP9Level5</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Level51"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Level51" target="_top"><code>VP9Level51</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Level52"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Level52" target="_top"><code>VP9Level52</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Level6"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Level6" target="_top"><code>VP9Level6</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Level61"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Level61" target="_top"><code>VP9Level61</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Level62"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Level62" target="_top"><code>VP9Level62</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile0"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Profile0" target="_top"><code>VP9Profile0</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile1"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Profile1" target="_top"><code>VP9Profile1</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile2"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Profile2" target="_top"><code>VP9Profile2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile2HDR"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Profile2HDR" target="_top"><code>VP9Profile2HDR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile3"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Profile3" target="_top"><code>VP9Profile3</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile3HDR"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#VP9Profile3HDR" target="_top"><code>VP9Profile3HDR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.MediaExtractor.html b/docs/html/sdk/api_diff/24/changes/android.media.MediaExtractor.html
new file mode 100644
index 0000000..c829370
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.MediaExtractor.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.MediaExtractor
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/MediaExtractor.html" target="_top"><font size="+2"><code>MediaExtractor</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaExtractor.getDrmInitData_added()"></A>
+  <nobr><code>DrmInitData</code>&nbsp;<A HREF="../../../../reference/android/media/MediaExtractor.html#getDrmInitData()" target="_top"><code>getDrmInitData</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaExtractor.setDataSource_added(android.content.res.AssetFileDescriptor)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaExtractor.html#setDataSource(android.content.res.AssetFileDescriptor)" target="_top"><code>setDataSource</code></A>(<code>AssetFileDescriptor</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.MediaFormat.html b/docs/html/sdk/api_diff/24/changes/android.media.MediaFormat.html
new file mode 100644
index 0000000..0e32537
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.MediaFormat.html
@@ -0,0 +1,241 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.MediaFormat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/MediaFormat.html" target="_top"><font size="+2"><code>MediaFormat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.COLOR_RANGE_FULL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#COLOR_RANGE_FULL" target="_top"><code>COLOR_RANGE_FULL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.COLOR_RANGE_LIMITED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#COLOR_RANGE_LIMITED" target="_top"><code>COLOR_RANGE_LIMITED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.COLOR_STANDARD_BT2020"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#COLOR_STANDARD_BT2020" target="_top"><code>COLOR_STANDARD_BT2020</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.COLOR_STANDARD_BT601_NTSC"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#COLOR_STANDARD_BT601_NTSC" target="_top"><code>COLOR_STANDARD_BT601_NTSC</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.COLOR_STANDARD_BT601_PAL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#COLOR_STANDARD_BT601_PAL" target="_top"><code>COLOR_STANDARD_BT601_PAL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.COLOR_STANDARD_BT709"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#COLOR_STANDARD_BT709" target="_top"><code>COLOR_STANDARD_BT709</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.COLOR_TRANSFER_HLG"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#COLOR_TRANSFER_HLG" target="_top"><code>COLOR_TRANSFER_HLG</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.COLOR_TRANSFER_LINEAR"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#COLOR_TRANSFER_LINEAR" target="_top"><code>COLOR_TRANSFER_LINEAR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.COLOR_TRANSFER_SDR_VIDEO"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#COLOR_TRANSFER_SDR_VIDEO" target="_top"><code>COLOR_TRANSFER_SDR_VIDEO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.COLOR_TRANSFER_ST2084"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#COLOR_TRANSFER_ST2084" target="_top"><code>COLOR_TRANSFER_ST2084</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.KEY_COLOR_RANGE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#KEY_COLOR_RANGE" target="_top"><code>KEY_COLOR_RANGE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.KEY_COLOR_STANDARD"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#KEY_COLOR_STANDARD" target="_top"><code>KEY_COLOR_STANDARD</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.KEY_COLOR_TRANSFER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#KEY_COLOR_TRANSFER" target="_top"><code>KEY_COLOR_TRANSFER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.KEY_HDR_STATIC_INFO"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#KEY_HDR_STATIC_INFO" target="_top"><code>KEY_HDR_STATIC_INFO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.KEY_INTRA_REFRESH_PERIOD"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#KEY_INTRA_REFRESH_PERIOD" target="_top"><code>KEY_INTRA_REFRESH_PERIOD</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.KEY_PCM_ENCODING"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#KEY_PCM_ENCODING" target="_top"><code>KEY_PCM_ENCODING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.KEY_TRACK_ID"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#KEY_TRACK_ID" target="_top"><code>KEY_TRACK_ID</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaFormat.MIMETYPE_VIDEO_DOLBY_VISION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/MediaFormat.html#MIMETYPE_VIDEO_DOLBY_VISION" target="_top"><code>MIMETYPE_VIDEO_DOLBY_VISION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.MediaPlayer.html b/docs/html/sdk/api_diff/24/changes/android.media.MediaPlayer.html
new file mode 100644
index 0000000..85d6698
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.MediaPlayer.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.MediaPlayer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/MediaPlayer.html" target="_top"><font size="+2"><code>MediaPlayer</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaPlayer.setDataSource_added(android.content.res.AssetFileDescriptor)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaPlayer.html#setDataSource(android.content.res.AssetFileDescriptor)" target="_top"><code>setDataSource</code></A>(<code>AssetFileDescriptor</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.MediaRecorder.AudioSource.html b/docs/html/sdk/api_diff/24/changes/android.media.MediaRecorder.AudioSource.html
new file mode 100644
index 0000000..361df82
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.MediaRecorder.AudioSource.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.MediaRecorder.AudioSource
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/MediaRecorder.AudioSource.html" target="_top"><font size="+2"><code>MediaRecorder.AudioSource</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaRecorder.AudioSource.UNPROCESSED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRecorder.AudioSource.html#UNPROCESSED" target="_top"><code>UNPROCESSED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.MediaRecorder.VideoEncoder.html b/docs/html/sdk/api_diff/24/changes/android.media.MediaRecorder.VideoEncoder.html
new file mode 100644
index 0000000..35e2ba3
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.MediaRecorder.VideoEncoder.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.MediaRecorder.VideoEncoder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/MediaRecorder.VideoEncoder.html" target="_top"><font size="+2"><code>MediaRecorder.VideoEncoder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaRecorder.VideoEncoder.HEVC"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRecorder.VideoEncoder.html#HEVC" target="_top"><code>HEVC</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.MediaRecorder.html b/docs/html/sdk/api_diff/24/changes/android.media.MediaRecorder.html
new file mode 100644
index 0000000..684afb3
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.MediaRecorder.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.MediaRecorder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/MediaRecorder.html" target="_top"><font size="+2"><code>MediaRecorder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaRecorder.pause_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRecorder.html#pause()" target="_top"><code>pause</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaRecorder.resume_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRecorder.html#resume()" target="_top"><code>resume</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.MediaRouter.RouteInfo.html b/docs/html/sdk/api_diff/24/changes/android.media.MediaRouter.RouteInfo.html
new file mode 100644
index 0000000..3ca4e62
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.MediaRouter.RouteInfo.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.MediaRouter.RouteInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/MediaRouter.RouteInfo.html" target="_top"><font size="+2"><code>MediaRouter.RouteInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaRouter.RouteInfo.getDeviceType_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRouter.RouteInfo.html#getDeviceType()" target="_top"><code>getDeviceType</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaRouter.RouteInfo.DEVICE_TYPE_BLUETOOTH"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRouter.RouteInfo.html#DEVICE_TYPE_BLUETOOTH" target="_top"><code>DEVICE_TYPE_BLUETOOTH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaRouter.RouteInfo.DEVICE_TYPE_SPEAKER"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRouter.RouteInfo.html#DEVICE_TYPE_SPEAKER" target="_top"><code>DEVICE_TYPE_SPEAKER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaRouter.RouteInfo.DEVICE_TYPE_TV"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRouter.RouteInfo.html#DEVICE_TYPE_TV" target="_top"><code>DEVICE_TYPE_TV</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaRouter.RouteInfo.DEVICE_TYPE_UNKNOWN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRouter.RouteInfo.html#DEVICE_TYPE_UNKNOWN" target="_top"><code>DEVICE_TYPE_UNKNOWN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.browse.MediaBrowser.SubscriptionCallback.html b/docs/html/sdk/api_diff/24/changes/android.media.browse.MediaBrowser.SubscriptionCallback.html
new file mode 100644
index 0000000..59133ed
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.browse.MediaBrowser.SubscriptionCallback.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.browse.MediaBrowser.SubscriptionCallback
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.browse.<A HREF="../../../../reference/android/media/browse/MediaBrowser.SubscriptionCallback.html" target="_top"><font size="+2"><code>MediaBrowser.SubscriptionCallback</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.browse.MediaBrowser.SubscriptionCallback.onChildrenLoaded_added(java.lang.String, java.util.List<android.media.browse.MediaBrowser.MediaItem>, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/browse/MediaBrowser.SubscriptionCallback.html#onChildrenLoaded(java.lang.String, java.util.List<android.media.browse.MediaBrowser.MediaItem>, android.os.Bundle)" target="_top"><code>onChildrenLoaded</code></A>(<code>String,</nobr> List&lt;MediaItem&gt;<nobr>,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.browse.MediaBrowser.SubscriptionCallback.onError_added(java.lang.String, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/browse/MediaBrowser.SubscriptionCallback.html#onError(java.lang.String, android.os.Bundle)" target="_top"><code>onError</code></A>(<code>String,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.browse.MediaBrowser.html b/docs/html/sdk/api_diff/24/changes/android.media.browse.MediaBrowser.html
new file mode 100644
index 0000000..9f3a5a3
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.browse.MediaBrowser.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.browse.MediaBrowser
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.browse.<A HREF="../../../../reference/android/media/browse/MediaBrowser.html" target="_top"><font size="+2"><code>MediaBrowser</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.browse.MediaBrowser.subscribe_added(java.lang.String, android.os.Bundle, android.media.browse.MediaBrowser.SubscriptionCallback)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/browse/MediaBrowser.html#subscribe(java.lang.String, android.os.Bundle, android.media.browse.MediaBrowser.SubscriptionCallback)" target="_top"><code>subscribe</code></A>(<code>String,</nobr> Bundle<nobr>,</nobr> SubscriptionCallback<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.browse.MediaBrowser.unsubscribe_added(java.lang.String, android.media.browse.MediaBrowser.SubscriptionCallback)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/browse/MediaBrowser.html#unsubscribe(java.lang.String, android.media.browse.MediaBrowser.SubscriptionCallback)" target="_top"><code>unsubscribe</code></A>(<code>String,</nobr> SubscriptionCallback<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.browse.MediaBrowser.EXTRA_PAGE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/browse/MediaBrowser.html#EXTRA_PAGE" target="_top"><code>EXTRA_PAGE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.browse.MediaBrowser.EXTRA_PAGE_SIZE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/browse/MediaBrowser.html#EXTRA_PAGE_SIZE" target="_top"><code>EXTRA_PAGE_SIZE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.session.MediaController.TransportControls.html b/docs/html/sdk/api_diff/24/changes/android.media.session.MediaController.TransportControls.html
new file mode 100644
index 0000000..f6bf625
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.session.MediaController.TransportControls.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.session.MediaController.TransportControls
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.session.<A HREF="../../../../reference/android/media/session/MediaController.TransportControls.html" target="_top"><font size="+2"><code>MediaController.TransportControls</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.session.MediaController.TransportControls.prepare_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/session/MediaController.TransportControls.html#prepare()" target="_top"><code>prepare</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.session.MediaController.TransportControls.prepareFromMediaId_added(java.lang.String, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/session/MediaController.TransportControls.html#prepareFromMediaId(java.lang.String, android.os.Bundle)" target="_top"><code>prepareFromMediaId</code></A>(<code>String,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.session.MediaController.TransportControls.prepareFromSearch_added(java.lang.String, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/session/MediaController.TransportControls.html#prepareFromSearch(java.lang.String, android.os.Bundle)" target="_top"><code>prepareFromSearch</code></A>(<code>String,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.session.MediaController.TransportControls.prepareFromUri_added(android.net.Uri, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/session/MediaController.TransportControls.html#prepareFromUri(android.net.Uri, android.os.Bundle)" target="_top"><code>prepareFromUri</code></A>(<code>Uri,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.session.MediaSession.Callback.html b/docs/html/sdk/api_diff/24/changes/android.media.session.MediaSession.Callback.html
new file mode 100644
index 0000000..56b4ae0
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.session.MediaSession.Callback.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.session.MediaSession.Callback
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.session.<A HREF="../../../../reference/android/media/session/MediaSession.Callback.html" target="_top"><font size="+2"><code>MediaSession.Callback</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.session.MediaSession.Callback.onPrepare_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/session/MediaSession.Callback.html#onPrepare()" target="_top"><code>onPrepare</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.session.MediaSession.Callback.onPrepareFromMediaId_added(java.lang.String, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/session/MediaSession.Callback.html#onPrepareFromMediaId(java.lang.String, android.os.Bundle)" target="_top"><code>onPrepareFromMediaId</code></A>(<code>String,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.session.MediaSession.Callback.onPrepareFromSearch_added(java.lang.String, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/session/MediaSession.Callback.html#onPrepareFromSearch(java.lang.String, android.os.Bundle)" target="_top"><code>onPrepareFromSearch</code></A>(<code>String,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.session.MediaSession.Callback.onPrepareFromUri_added(android.net.Uri, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/session/MediaSession.Callback.html#onPrepareFromUri(android.net.Uri, android.os.Bundle)" target="_top"><code>onPrepareFromUri</code></A>(<code>Uri,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.session.PlaybackState.html b/docs/html/sdk/api_diff/24/changes/android.media.session.PlaybackState.html
new file mode 100644
index 0000000..6dd1bd4
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.session.PlaybackState.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.session.PlaybackState
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.session.<A HREF="../../../../reference/android/media/session/PlaybackState.html" target="_top"><font size="+2"><code>PlaybackState</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.session.PlaybackState.ACTION_PREPARE"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/media/session/PlaybackState.html#ACTION_PREPARE" target="_top"><code>ACTION_PREPARE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.session.PlaybackState.ACTION_PREPARE_FROM_MEDIA_ID"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/media/session/PlaybackState.html#ACTION_PREPARE_FROM_MEDIA_ID" target="_top"><code>ACTION_PREPARE_FROM_MEDIA_ID</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.session.PlaybackState.ACTION_PREPARE_FROM_SEARCH"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/media/session/PlaybackState.html#ACTION_PREPARE_FROM_SEARCH" target="_top"><code>ACTION_PREPARE_FROM_SEARCH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.session.PlaybackState.ACTION_PREPARE_FROM_URI"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/media/session/PlaybackState.html#ACTION_PREPARE_FROM_URI" target="_top"><code>ACTION_PREPARE_FROM_URI</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.tv.TvContentRating.html b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvContentRating.html
new file mode 100644
index 0000000..6f55ee4
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvContentRating.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.tv.TvContentRating
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.tv.<A HREF="../../../../reference/android/media/tv/TvContentRating.html" target="_top"><font size="+2"><code>TvContentRating</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvContentRating.contains_added(android.media.tv.TvContentRating)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContentRating.html#contains(android.media.tv.TvContentRating)" target="_top"><code>contains</code></A>(<code>TvContentRating</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.tv.TvContract.Programs.Genres.html b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvContract.Programs.Genres.html
new file mode 100644
index 0000000..d58c65c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvContract.Programs.Genres.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.tv.TvContract.Programs.Genres
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.tv.<A HREF="../../../../reference/android/media/tv/TvContract.Programs.Genres.html" target="_top"><font size="+2"><code>TvContract.Programs.Genres</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvContract.Programs.Genres.isCanonical_added(java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.Programs.Genres.html#isCanonical(java.lang.String)" target="_top"><code>isCanonical</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.tv.TvContract.Programs.html b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvContract.Programs.html
new file mode 100644
index 0000000..b7b2cf4
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvContract.Programs.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.tv.TvContract.Programs
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.tv.<A HREF="../../../../reference/android/media/tv/TvContract.Programs.html" target="_top"><font size="+2"><code>TvContract.Programs</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvContract.Programs.COLUMN_EPISODE_DISPLAY_NUMBER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.Programs.html#COLUMN_EPISODE_DISPLAY_NUMBER" target="_top"><code>COLUMN_EPISODE_DISPLAY_NUMBER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvContract.Programs.COLUMN_RECORDING_PROHIBITED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.Programs.html#COLUMN_RECORDING_PROHIBITED" target="_top"><code>COLUMN_RECORDING_PROHIBITED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvContract.Programs.COLUMN_SEASON_DISPLAY_NUMBER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.Programs.html#COLUMN_SEASON_DISPLAY_NUMBER" target="_top"><code>COLUMN_SEASON_DISPLAY_NUMBER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvContract.Programs.COLUMN_SEASON_TITLE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.Programs.html#COLUMN_SEASON_TITLE" target="_top"><code>COLUMN_SEASON_TITLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvContract.Programs.COLUMN_EPISODE_NUMBER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.Programs.html#COLUMN_EPISODE_NUMBER" target="_top"><code>COLUMN_EPISODE_NUMBER</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvContract.Programs.COLUMN_SEASON_NUMBER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.Programs.html#COLUMN_SEASON_NUMBER" target="_top"><code>COLUMN_SEASON_NUMBER</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.tv.TvContract.html b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvContract.html
new file mode 100644
index 0000000..b63d856
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvContract.html
@@ -0,0 +1,150 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.tv.TvContract
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.tv.<A HREF="../../../../reference/android/media/tv/TvContract.html" target="_top"><font size="+2"><code>TvContract</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvContract.buildRecordedProgramUri_added(long)"></A>
+  <nobr><code>Uri</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.html#buildRecordedProgramUri(long)" target="_top"><code>buildRecordedProgramUri</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvContract.isChannelUri_added(android.net.Uri)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.html#isChannelUri(android.net.Uri)" target="_top"><code>isChannelUri</code></A>(<code>Uri</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvContract.isChannelUriForPassthroughInput_added(android.net.Uri)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.html#isChannelUriForPassthroughInput(android.net.Uri)" target="_top"><code>isChannelUriForPassthroughInput</code></A>(<code>Uri</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvContract.isChannelUriForTunerInput_added(android.net.Uri)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.html#isChannelUriForTunerInput(android.net.Uri)" target="_top"><code>isChannelUriForTunerInput</code></A>(<code>Uri</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvContract.isProgramUri_added(android.net.Uri)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.html#isProgramUri(android.net.Uri)" target="_top"><code>isProgramUri</code></A>(<code>Uri</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.tv.TvInputInfo.html b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvInputInfo.html
new file mode 100644
index 0000000..43bdbea
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvInputInfo.html
@@ -0,0 +1,150 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.tv.TvInputInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.tv.<A HREF="../../../../reference/android/media/tv/TvInputInfo.html" target="_top"><font size="+2"><code>TvInputInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvInputInfo.canRecord_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvInputInfo.html#canRecord()" target="_top"><code>canRecord</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvInputInfo.getExtras_added()"></A>
+  <nobr><code>Bundle</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvInputInfo.html#getExtras()" target="_top"><code>getExtras</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvInputInfo.getTunerCount_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvInputInfo.html#getTunerCount()" target="_top"><code>getTunerCount</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvInputInfo.isHidden_added(android.content.Context)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvInputInfo.html#isHidden(android.content.Context)" target="_top"><code>isHidden</code></A>(<code>Context</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvInputInfo.loadCustomLabel_added(android.content.Context)"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvInputInfo.html#loadCustomLabel(android.content.Context)" target="_top"><code>loadCustomLabel</code></A>(<code>Context</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.tv.TvInputManager.TvInputCallback.html b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvInputManager.TvInputCallback.html
new file mode 100644
index 0000000..2f32641
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvInputManager.TvInputCallback.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.tv.TvInputManager.TvInputCallback
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.tv.<A HREF="../../../../reference/android/media/tv/TvInputManager.TvInputCallback.html" target="_top"><font size="+2"><code>TvInputManager.TvInputCallback</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvInputManager.TvInputCallback.onInputUpdated_added(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvInputManager.TvInputCallback.html#onInputUpdated(java.lang.String)" target="_top"><code>onInputUpdated</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvInputManager.TvInputCallback.onTvInputInfoUpdated_added(android.media.tv.TvInputInfo)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvInputManager.TvInputCallback.html#onTvInputInfoUpdated(android.media.tv.TvInputInfo)" target="_top"><code>onTvInputInfoUpdated</code></A>(<code>TvInputInfo</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.tv.TvInputManager.html b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvInputManager.html
new file mode 100644
index 0000000..10f660b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvInputManager.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.tv.TvInputManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.tv.<A HREF="../../../../reference/android/media/tv/TvInputManager.html" target="_top"><font size="+2"><code>TvInputManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvInputManager.updateTvInputInfo_added(android.media.tv.TvInputInfo)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvInputManager.html#updateTvInputInfo(android.media.tv.TvInputInfo)" target="_top"><code>updateTvInputInfo</code></A>(<code>TvInputInfo</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvInputManager.ACTION_SETUP_INPUTS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvInputManager.html#ACTION_SETUP_INPUTS" target="_top"><code>ACTION_SETUP_INPUTS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvInputManager.RECORDING_ERROR_INSUFFICIENT_SPACE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvInputManager.html#RECORDING_ERROR_INSUFFICIENT_SPACE" target="_top"><code>RECORDING_ERROR_INSUFFICIENT_SPACE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvInputManager.RECORDING_ERROR_RESOURCE_BUSY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvInputManager.html#RECORDING_ERROR_RESOURCE_BUSY" target="_top"><code>RECORDING_ERROR_RESOURCE_BUSY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvInputManager.RECORDING_ERROR_UNKNOWN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvInputManager.html#RECORDING_ERROR_UNKNOWN" target="_top"><code>RECORDING_ERROR_UNKNOWN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.tv.TvInputService.Session.html b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvInputService.Session.html
new file mode 100644
index 0000000..5bb6a9c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvInputService.Session.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.tv.TvInputService.Session
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.tv.<A HREF="../../../../reference/android/media/tv/TvInputService.Session.html" target="_top"><font size="+2"><code>TvInputService.Session</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvInputService.Session.onAppPrivateCommand_added(java.lang.String, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvInputService.Session.html#onAppPrivateCommand(java.lang.String, android.os.Bundle)" target="_top"><code>onAppPrivateCommand</code></A>(<code>String,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvInputService.Session.onTimeShiftPlay_added(android.net.Uri)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvInputService.Session.html#onTimeShiftPlay(android.net.Uri)" target="_top"><code>onTimeShiftPlay</code></A>(<code>Uri</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvInputService.Session.onTune_added(android.net.Uri, android.os.Bundle)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvInputService.Session.html#onTune(android.net.Uri, android.os.Bundle)" target="_top"><code>onTune</code></A>(<code>Uri,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.tv.TvInputService.html b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvInputService.html
new file mode 100644
index 0000000..6a4fc62
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvInputService.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.tv.TvInputService
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.tv.<A HREF="../../../../reference/android/media/tv/TvInputService.html" target="_top"><font size="+2"><code>TvInputService</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvInputService.onCreateRecordingSession_added(java.lang.String)"></A>
+  <nobr><code>RecordingSession</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvInputService.html#onCreateRecordingSession(java.lang.String)" target="_top"><code>onCreateRecordingSession</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.tv.TvTrackInfo.Builder.html b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvTrackInfo.Builder.html
new file mode 100644
index 0000000..89b4e70
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvTrackInfo.Builder.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.tv.TvTrackInfo.Builder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.tv.<A HREF="../../../../reference/android/media/tv/TvTrackInfo.Builder.html" target="_top"><font size="+2"><code>TvTrackInfo.Builder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvTrackInfo.Builder.setVideoActiveFormatDescription_added(byte)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvTrackInfo.Builder.html#setVideoActiveFormatDescription(byte)" target="_top"><code>setVideoActiveFormatDescription</code></A>(<code>byte</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.tv.TvTrackInfo.html b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvTrackInfo.html
new file mode 100644
index 0000000..3741882
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvTrackInfo.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.tv.TvTrackInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.tv.<A HREF="../../../../reference/android/media/tv/TvTrackInfo.html" target="_top"><font size="+2"><code>TvTrackInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvTrackInfo.getVideoActiveFormatDescription_added()"></A>
+  <nobr><code>byte</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvTrackInfo.html#getVideoActiveFormatDescription()" target="_top"><code>getVideoActiveFormatDescription</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.media.tv.TvView.html b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvView.html
new file mode 100644
index 0000000..0a2b2af
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.media.tv.TvView.html
@@ -0,0 +1,150 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.tv.TvView
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.tv.<A HREF="../../../../reference/android/media/tv/TvView.html" target="_top"><font size="+2"><code>TvView</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvView.sendAppPrivateCommand_added(java.lang.String, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvView.html#sendAppPrivateCommand(java.lang.String, android.os.Bundle)" target="_top"><code>sendAppPrivateCommand</code></A>(<code>String,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvView.setZOrderMediaOverlay_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvView.html#setZOrderMediaOverlay(boolean)" target="_top"><code>setZOrderMediaOverlay</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvView.setZOrderOnTop_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvView.html#setZOrderOnTop(boolean)" target="_top"><code>setZOrderOnTop</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvView.timeShiftPlay_added(java.lang.String, android.net.Uri)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvView.html#timeShiftPlay(java.lang.String, android.net.Uri)" target="_top"><code>timeShiftPlay</code></A>(<code>String,</nobr> Uri<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvView.tune_added(java.lang.String, android.net.Uri, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvView.html#tune(java.lang.String, android.net.Uri, android.os.Bundle)" target="_top"><code>tune</code></A>(<code>String,</nobr> Uri<nobr>,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.mtp.MtpConstants.html b/docs/html/sdk/api_diff/24/changes/android.mtp.MtpConstants.html
new file mode 100644
index 0000000..7edea07
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.mtp.MtpConstants.html
@@ -0,0 +1,381 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.mtp.MtpConstants
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.mtp.<A HREF="../../../../reference/android/mtp/MtpConstants.html" target="_top"><font size="+2"><code>MtpConstants</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.FORMAT_DEFINED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#FORMAT_DEFINED" target="_top"><code>FORMAT_DEFINED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.FORMAT_DNG"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#FORMAT_DNG" target="_top"><code>FORMAT_DNG</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_CLOSE_SESSION"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_CLOSE_SESSION" target="_top"><code>OPERATION_CLOSE_SESSION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_COPY_OBJECT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_COPY_OBJECT" target="_top"><code>OPERATION_COPY_OBJECT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_DELETE_OBJECT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_DELETE_OBJECT" target="_top"><code>OPERATION_DELETE_OBJECT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_FORMAT_STORE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_FORMAT_STORE" target="_top"><code>OPERATION_FORMAT_STORE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_GET_DEVICE_INFO"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_GET_DEVICE_INFO" target="_top"><code>OPERATION_GET_DEVICE_INFO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_GET_DEVICE_PROP_DESC"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_GET_DEVICE_PROP_DESC" target="_top"><code>OPERATION_GET_DEVICE_PROP_DESC</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_GET_DEVICE_PROP_VALUE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_GET_DEVICE_PROP_VALUE" target="_top"><code>OPERATION_GET_DEVICE_PROP_VALUE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_GET_NUM_OBJECTS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_GET_NUM_OBJECTS" target="_top"><code>OPERATION_GET_NUM_OBJECTS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_GET_OBJECT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_GET_OBJECT" target="_top"><code>OPERATION_GET_OBJECT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_GET_OBJECT_HANDLES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_GET_OBJECT_HANDLES" target="_top"><code>OPERATION_GET_OBJECT_HANDLES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_GET_OBJECT_INFO"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_GET_OBJECT_INFO" target="_top"><code>OPERATION_GET_OBJECT_INFO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_GET_OBJECT_PROPS_SUPPORTED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_GET_OBJECT_PROPS_SUPPORTED" target="_top"><code>OPERATION_GET_OBJECT_PROPS_SUPPORTED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_GET_OBJECT_PROP_DESC"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_GET_OBJECT_PROP_DESC" target="_top"><code>OPERATION_GET_OBJECT_PROP_DESC</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_GET_OBJECT_PROP_VALUE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_GET_OBJECT_PROP_VALUE" target="_top"><code>OPERATION_GET_OBJECT_PROP_VALUE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_GET_OBJECT_REFERENCES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_GET_OBJECT_REFERENCES" target="_top"><code>OPERATION_GET_OBJECT_REFERENCES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_GET_PARTIAL_OBJECT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_GET_PARTIAL_OBJECT" target="_top"><code>OPERATION_GET_PARTIAL_OBJECT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_GET_PARTIAL_OBJECT_64"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_GET_PARTIAL_OBJECT_64" target="_top"><code>OPERATION_GET_PARTIAL_OBJECT_64</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_GET_STORAGE_INFO"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_GET_STORAGE_INFO" target="_top"><code>OPERATION_GET_STORAGE_INFO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_GET_STORAGE_I_DS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_GET_STORAGE_I_DS" target="_top"><code>OPERATION_GET_STORAGE_I_DS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_GET_THUMB"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_GET_THUMB" target="_top"><code>OPERATION_GET_THUMB</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_INITIATE_CAPTURE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_INITIATE_CAPTURE" target="_top"><code>OPERATION_INITIATE_CAPTURE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_INITIATE_OPEN_CAPTURE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_INITIATE_OPEN_CAPTURE" target="_top"><code>OPERATION_INITIATE_OPEN_CAPTURE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_MOVE_OBJECT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_MOVE_OBJECT" target="_top"><code>OPERATION_MOVE_OBJECT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_OPEN_SESSION"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_OPEN_SESSION" target="_top"><code>OPERATION_OPEN_SESSION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_POWER_DOWN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_POWER_DOWN" target="_top"><code>OPERATION_POWER_DOWN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_RESET_DEVICE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_RESET_DEVICE" target="_top"><code>OPERATION_RESET_DEVICE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_RESET_DEVICE_PROP_VALUE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_RESET_DEVICE_PROP_VALUE" target="_top"><code>OPERATION_RESET_DEVICE_PROP_VALUE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_SELF_TEST"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_SELF_TEST" target="_top"><code>OPERATION_SELF_TEST</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_SEND_OBJECT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_SEND_OBJECT" target="_top"><code>OPERATION_SEND_OBJECT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_SEND_OBJECT_INFO"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_SEND_OBJECT_INFO" target="_top"><code>OPERATION_SEND_OBJECT_INFO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_SET_DEVICE_PROP_VALUE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_SET_DEVICE_PROP_VALUE" target="_top"><code>OPERATION_SET_DEVICE_PROP_VALUE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_SET_OBJECT_PROP_VALUE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_SET_OBJECT_PROP_VALUE" target="_top"><code>OPERATION_SET_OBJECT_PROP_VALUE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_SET_OBJECT_PROTECTION"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_SET_OBJECT_PROTECTION" target="_top"><code>OPERATION_SET_OBJECT_PROTECTION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_SET_OBJECT_REFERENCES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_SET_OBJECT_REFERENCES" target="_top"><code>OPERATION_SET_OBJECT_REFERENCES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_SKIP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_SKIP" target="_top"><code>OPERATION_SKIP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpConstants.OPERATION_TERMINATE_OPEN_CAPTURE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpConstants.html#OPERATION_TERMINATE_OPEN_CAPTURE" target="_top"><code>OPERATION_TERMINATE_OPEN_CAPTURE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.mtp.MtpDevice.html b/docs/html/sdk/api_diff/24/changes/android.mtp.MtpDevice.html
new file mode 100644
index 0000000..34d8f15
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.mtp.MtpDevice.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.mtp.MtpDevice
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.mtp.<A HREF="../../../../reference/android/mtp/MtpDevice.html" target="_top"><font size="+2"><code>MtpDevice</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpDevice.getPartialObject_added(int, long, long, byte[])"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpDevice.html#getPartialObject(int, long, long, byte[])" target="_top"><code>getPartialObject</code></A>(<code>int,</nobr> long<nobr>,</nobr> long<nobr>,</nobr> byte[]<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpDevice.getPartialObject64_added(int, long, long, byte[])"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpDevice.html#getPartialObject64(int, long, long, byte[])" target="_top"><code>getPartialObject64</code></A>(<code>int,</nobr> long<nobr>,</nobr> long<nobr>,</nobr> byte[]<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpDevice.importFile_added(int, android.os.ParcelFileDescriptor)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpDevice.html#importFile(int, android.os.ParcelFileDescriptor)" target="_top"><code>importFile</code></A>(<code>int,</nobr> ParcelFileDescriptor<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpDevice.readEvent_added(android.os.CancellationSignal)"></A>
+  <nobr><code>MtpEvent</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpDevice.html#readEvent(android.os.CancellationSignal)" target="_top"><code>readEvent</code></A>(<code>CancellationSignal</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpDevice.sendObject_added(int, long, android.os.ParcelFileDescriptor)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpDevice.html#sendObject(int, long, android.os.ParcelFileDescriptor)" target="_top"><code>sendObject</code></A>(<code>int,</nobr> long<nobr>,</nobr> ParcelFileDescriptor<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpDevice.sendObjectInfo_added(android.mtp.MtpObjectInfo)"></A>
+  <nobr><code>MtpObjectInfo</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpDevice.html#sendObjectInfo(android.mtp.MtpObjectInfo)" target="_top"><code>sendObjectInfo</code></A>(<code>MtpObjectInfo</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.mtp.MtpDeviceInfo.html b/docs/html/sdk/api_diff/24/changes/android.mtp.MtpDeviceInfo.html
new file mode 100644
index 0000000..67e78de
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.mtp.MtpDeviceInfo.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.mtp.MtpDeviceInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.mtp.<A HREF="../../../../reference/android/mtp/MtpDeviceInfo.html" target="_top"><font size="+2"><code>MtpDeviceInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpDeviceInfo.getEventsSupported_added()"></A>
+  <nobr><code>int[]</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpDeviceInfo.html#getEventsSupported()" target="_top"><code>getEventsSupported</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpDeviceInfo.getOperationsSupported_added()"></A>
+  <nobr><code>int[]</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpDeviceInfo.html#getOperationsSupported()" target="_top"><code>getOperationsSupported</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpDeviceInfo.isEventSupported_added(int)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpDeviceInfo.html#isEventSupported(int)" target="_top"><code>isEventSupported</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpDeviceInfo.isOperationSupported_added(int)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpDeviceInfo.html#isOperationSupported(int)" target="_top"><code>isOperationSupported</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.mtp.MtpObjectInfo.html b/docs/html/sdk/api_diff/24/changes/android.mtp.MtpObjectInfo.html
new file mode 100644
index 0000000..1bf46ab
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.mtp.MtpObjectInfo.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.mtp.MtpObjectInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.mtp.<A HREF="../../../../reference/android/mtp/MtpObjectInfo.html" target="_top"><font size="+2"><code>MtpObjectInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpObjectInfo.getCompressedSizeLong_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpObjectInfo.html#getCompressedSizeLong()" target="_top"><code>getCompressedSizeLong</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpObjectInfo.getImagePixDepthLong_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpObjectInfo.html#getImagePixDepthLong()" target="_top"><code>getImagePixDepthLong</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpObjectInfo.getImagePixHeightLong_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpObjectInfo.html#getImagePixHeightLong()" target="_top"><code>getImagePixHeightLong</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpObjectInfo.getImagePixWidthLong_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpObjectInfo.html#getImagePixWidthLong()" target="_top"><code>getImagePixWidthLong</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpObjectInfo.getSequenceNumberLong_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpObjectInfo.html#getSequenceNumberLong()" target="_top"><code>getSequenceNumberLong</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpObjectInfo.getThumbCompressedSizeLong_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpObjectInfo.html#getThumbCompressedSizeLong()" target="_top"><code>getThumbCompressedSizeLong</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpObjectInfo.getThumbPixHeightLong_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpObjectInfo.html#getThumbPixHeightLong()" target="_top"><code>getThumbPixHeightLong</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp.MtpObjectInfo.getThumbPixWidthLong_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/mtp/MtpObjectInfo.html#getThumbPixWidthLong()" target="_top"><code>getThumbPixWidthLong</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.net.ConnectivityManager.html b/docs/html/sdk/api_diff/24/changes/android.net.ConnectivityManager.html
new file mode 100644
index 0000000..35bff1b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.net.ConnectivityManager.html
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.net.ConnectivityManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.net.<A HREF="../../../../reference/android/net/ConnectivityManager.html" target="_top"><font size="+2"><code>ConnectivityManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.ConnectivityManager.getRestrictBackgroundStatus_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#getRestrictBackgroundStatus()" target="_top"><code>getRestrictBackgroundStatus</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.ConnectivityManager.registerDefaultNetworkCallback_added(android.net.ConnectivityManager.NetworkCallback)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#registerDefaultNetworkCallback(android.net.ConnectivityManager.NetworkCallback)" target="_top"><code>registerDefaultNetworkCallback</code></A>(<code>NetworkCallback</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#ACTION_RESTRICT_BACKGROUND_CHANGED" target="_top"><code>ACTION_RESTRICT_BACKGROUND_CHANGED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.ConnectivityManager.EXTRA_CAPTIVE_PORTAL_URL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#EXTRA_CAPTIVE_PORTAL_URL" target="_top"><code>EXTRA_CAPTIVE_PORTAL_URL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_DISABLED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#RESTRICT_BACKGROUND_STATUS_DISABLED" target="_top"><code>RESTRICT_BACKGROUND_STATUS_DISABLED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_ENABLED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#RESTRICT_BACKGROUND_STATUS_ENABLED" target="_top"><code>RESTRICT_BACKGROUND_STATUS_ENABLED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_WHITELISTED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#RESTRICT_BACKGROUND_STATUS_WHITELISTED" target="_top"><code>RESTRICT_BACKGROUND_STATUS_WHITELISTED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.net.NetworkInfo.html b/docs/html/sdk/api_diff/24/changes/android.net.NetworkInfo.html
new file mode 100644
index 0000000..fd3b812
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.net.NetworkInfo.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.net.NetworkInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.net.<A HREF="../../../../reference/android/net/NetworkInfo.html" target="_top"><font size="+2"><code>NetworkInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.NetworkInfo.CREATOR"></A>
+  <nobr><code>Creator&lt;NetworkInfo&gt;</code>&nbsp;<A HREF="../../../../reference/android/net/NetworkInfo.html#CREATOR" target="_top"><code>CREATOR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.net.TrafficStats.html b/docs/html/sdk/api_diff/24/changes/android.net.TrafficStats.html
new file mode 100644
index 0000000..ddab2bf
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.net.TrafficStats.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.net.TrafficStats
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.net.<A HREF="../../../../reference/android/net/TrafficStats.html" target="_top"><font size="+2"><code>TrafficStats</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.TrafficStats.tagDatagramSocket_added(java.net.DatagramSocket)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/net/TrafficStats.html#tagDatagramSocket(java.net.DatagramSocket)" target="_top"><code>tagDatagramSocket</code></A>(<code>DatagramSocket</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.TrafficStats.untagDatagramSocket_added(java.net.DatagramSocket)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/net/TrafficStats.html#untagDatagramSocket(java.net.DatagramSocket)" target="_top"><code>untagDatagramSocket</code></A>(<code>DatagramSocket</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.net.wifi.WifiEnterpriseConfig.Eap.html b/docs/html/sdk/api_diff/24/changes/android.net.wifi.WifiEnterpriseConfig.Eap.html
new file mode 100644
index 0000000..98eccad
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.net.wifi.WifiEnterpriseConfig.Eap.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.net.wifi.WifiEnterpriseConfig.Eap
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.net.wifi.<A HREF="../../../../reference/android/net/wifi/WifiEnterpriseConfig.Eap.html" target="_top"><font size="+2"><code>WifiEnterpriseConfig.Eap</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.wifi.WifiEnterpriseConfig.Eap.UNAUTH_TLS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/net/wifi/WifiEnterpriseConfig.Eap.html#UNAUTH_TLS" target="_top"><code>UNAUTH_TLS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.net.wifi.WifiEnterpriseConfig.html b/docs/html/sdk/api_diff/24/changes/android.net.wifi.WifiEnterpriseConfig.html
new file mode 100644
index 0000000..6ed25d2
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.net.wifi.WifiEnterpriseConfig.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.net.wifi.WifiEnterpriseConfig
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.net.wifi.<A HREF="../../../../reference/android/net/wifi/WifiEnterpriseConfig.html" target="_top"><font size="+2"><code>WifiEnterpriseConfig</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.wifi.WifiEnterpriseConfig.getCaCertificates_added()"></A>
+  <nobr><code>X509Certificate[]</code>&nbsp;<A HREF="../../../../reference/android/net/wifi/WifiEnterpriseConfig.html#getCaCertificates()" target="_top"><code>getCaCertificates</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.wifi.WifiEnterpriseConfig.setCaCertificates_added(java.security.cert.X509Certificate[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/net/wifi/WifiEnterpriseConfig.html#setCaCertificates(java.security.cert.X509Certificate[])" target="_top"><code>setCaCertificates</code></A>(<code>X509Certificate[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.nfc.NfcAdapter.html b/docs/html/sdk/api_diff/24/changes/android.nfc.NfcAdapter.html
new file mode 100644
index 0000000..1366484
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.nfc.NfcAdapter.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.nfc.NfcAdapter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.nfc.<A HREF="../../../../reference/android/nfc/NfcAdapter.html" target="_top"><font size="+2"><code>NfcAdapter</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.NfcAdapter.ignore_added(android.nfc.Tag, int, android.nfc.NfcAdapter.OnTagRemovedListener, android.os.Handler)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/nfc/NfcAdapter.html#ignore(android.nfc.Tag, int, android.nfc.NfcAdapter.OnTagRemovedListener, android.os.Handler)" target="_top"><code>ignore</code></A>(<code>Tag,</nobr> int<nobr>,</nobr> OnTagRemovedListener<nobr>,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.opengl.GLES30.html b/docs/html/sdk/api_diff/24/changes/android.opengl.GLES30.html
new file mode 100644
index 0000000..a1cec3b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.opengl.GLES30.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.opengl.GLES30
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.opengl.<A HREF="../../../../reference/android/opengl/GLES30.html" target="_top"><font size="+2"><code>GLES30</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.opengl.GLES30.glGetTransformFeedbackVarying_added(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.ByteBuffer)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/opengl/GLES30.html#glGetTransformFeedbackVarying(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.ByteBuffer)" target="_top"><code>glGetTransformFeedbackVarying</code></A>(<code>int,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> IntBuffer<nobr>,</nobr> IntBuffer<nobr>,</nobr> IntBuffer<nobr>,</nobr> ByteBuffer<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.opengl.GLES30.glReadPixels_added(int, int, int, int, int, int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/opengl/GLES30.html#glReadPixels(int, int, int, int, int, int, int)" target="_top"><code>glReadPixels</code></A>(<code>int,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.opengl.GLES30.glGetTransformFeedbackVarying_changed(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, byte)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/opengl/GLES30.html#glGetTransformFeedbackVarying(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, byte)" target="_top"><code>glGetTransformFeedbackVarying</code></A>(<code>int,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> IntBuffer<nobr>,</nobr> IntBuffer<nobr>,</nobr> IntBuffer<nobr>,</nobr> byte<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.opengl.GLES31.html b/docs/html/sdk/api_diff/24/changes/android.opengl.GLES31.html
new file mode 100644
index 0000000..b3c321c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.opengl.GLES31.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.opengl.GLES31
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.opengl.<A HREF="../../../../reference/android/opengl/GLES31.html" target="_top"><font size="+2"><code>GLES31</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.opengl.GLES31.GL_ALL_BARRIER_BITS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/opengl/GLES31.html#GL_ALL_BARRIER_BITS" target="_top"><code>GL_ALL_BARRIER_BITS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.opengl.GLES31.GL_ELEMENT_ARRAY_BARRIER_BIT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/opengl/GLES31.html#GL_ELEMENT_ARRAY_BARRIER_BIT" target="_top"><code>GL_ELEMENT_ARRAY_BARRIER_BIT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.opengl.GLES31.GL_SHADER_IMAGE_ACCESS_BARRIER_BIT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/opengl/GLES31.html#GL_SHADER_IMAGE_ACCESS_BARRIER_BIT" target="_top"><code>GL_SHADER_IMAGE_ACCESS_BARRIER_BIT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.opengl.GLES31.GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/opengl/GLES31.html#GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT" target="_top"><code>GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.opengl.GLSurfaceView.html b/docs/html/sdk/api_diff/24/changes/android.opengl.GLSurfaceView.html
new file mode 100644
index 0000000..163222fb
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.opengl.GLSurfaceView.html
@@ -0,0 +1,123 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.opengl.GLSurfaceView
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.opengl.<A HREF="../../../../reference/android/opengl/GLSurfaceView.html" target="_top"><font size="+2"><code>GLSurfaceView</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>android.view.SurfaceHolder.Callback</code>.<br> Added interface <code>android.view.SurfaceHolder.Callback2</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.opengl.GLSurfaceView.surfaceRedrawNeeded_added(android.view.SurfaceHolder)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/opengl/GLSurfaceView.html#surfaceRedrawNeeded(android.view.SurfaceHolder)" target="_top"><code>surfaceRedrawNeeded</code></A>(<code>SurfaceHolder</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.os.Build.VERSION_CODES.html b/docs/html/sdk/api_diff/24/changes/android.os.Build.VERSION_CODES.html
new file mode 100644
index 0000000..16b9c0f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.os.Build.VERSION_CODES.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.os.Build.VERSION_CODES
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.os.<A HREF="../../../../reference/android/os/Build.VERSION_CODES.html" target="_top"><font size="+2"><code>Build.VERSION_CODES</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Build.VERSION_CODES.N"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/os/Build.VERSION_CODES.html#N" target="_top"><code>N</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.os.PowerManager.html b/docs/html/sdk/api_diff/24/changes/android.os.PowerManager.html
new file mode 100644
index 0000000..56508bd
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.os.PowerManager.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.os.PowerManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.os.<A HREF="../../../../reference/android/os/PowerManager.html" target="_top"><font size="+2"><code>PowerManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.PowerManager.isSustainedPerformanceModeSupported_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/os/PowerManager.html#isSustainedPerformanceModeSupported()" target="_top"><code>isSustainedPerformanceModeSupported</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.os.Process.html b/docs/html/sdk/api_diff/24/changes/android.os.Process.html
new file mode 100644
index 0000000..3f85ad5
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.os.Process.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.os.Process
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.os.<A HREF="../../../../reference/android/os/Process.html" target="_top"><font size="+2"><code>Process</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Process.getExclusiveCores_added()"></A>
+  <nobr><code>int[]</code>&nbsp;<A HREF="../../../../reference/android/os/Process.html#getExclusiveCores()" target="_top"><code>getExclusiveCores</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Process.getStartElapsedRealtime_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/os/Process.html#getStartElapsedRealtime()" target="_top"><code>getStartElapsedRealtime</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Process.getStartUptimeMillis_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/os/Process.html#getStartUptimeMillis()" target="_top"><code>getStartUptimeMillis</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Process.isApplicationUid_added(int)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/os/Process.html#isApplicationUid(int)" target="_top"><code>isApplicationUid</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Process.myUserHandle_changed()"></A>
+  <nobr><code>UserHandle</code>&nbsp;<A HREF="../../../../reference/android/os/Process.html#myUserHandle()" target="_top"><code>myUserHandle</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from final to non-final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.os.StrictMode.VmPolicy.Builder.html b/docs/html/sdk/api_diff/24/changes/android.os.StrictMode.VmPolicy.Builder.html
new file mode 100644
index 0000000..f1aa42c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.os.StrictMode.VmPolicy.Builder.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.os.StrictMode.VmPolicy.Builder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.os.<A HREF="../../../../reference/android/os/StrictMode.VmPolicy.Builder.html" target="_top"><font size="+2"><code>StrictMode.VmPolicy.Builder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.StrictMode.VmPolicy.Builder.penaltyDeathOnFileUriExposure_added()"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/os/StrictMode.VmPolicy.Builder.html#penaltyDeathOnFileUriExposure()" target="_top"><code>penaltyDeathOnFileUriExposure</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.os.UserHandle.html b/docs/html/sdk/api_diff/24/changes/android.os.UserHandle.html
new file mode 100644
index 0000000..4113f47
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.os.UserHandle.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.os.UserHandle
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.os.<A HREF="../../../../reference/android/os/UserHandle.html" target="_top"><font size="+2"><code>UserHandle</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.UserHandle.getUserHandleForUid_added(int)"></A>
+  <nobr><code>UserHandle</code>&nbsp;<A HREF="../../../../reference/android/os/UserHandle.html#getUserHandleForUid(int)" target="_top"><code>getUserHandleForUid</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.os.UserManager.html b/docs/html/sdk/api_diff/24/changes/android.os.UserManager.html
new file mode 100644
index 0000000..04e811b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.os.UserManager.html
@@ -0,0 +1,193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.os.UserManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.os.<A HREF="../../../../reference/android/os/UserManager.html" target="_top"><font size="+2"><code>UserManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.UserManager.createUserCreationIntent_added(java.lang.String, java.lang.String, java.lang.String, android.os.PersistableBundle)"></A>
+  <nobr><code>Intent</code>&nbsp;<A HREF="../../../../reference/android/os/UserManager.html#createUserCreationIntent(java.lang.String, java.lang.String, java.lang.String, android.os.PersistableBundle)" target="_top"><code>createUserCreationIntent</code></A>(<code>String,</nobr> String<nobr>,</nobr> String<nobr>,</nobr> PersistableBundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.UserManager.isQuietModeEnabled_added(android.os.UserHandle)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/os/UserManager.html#isQuietModeEnabled(android.os.UserHandle)" target="_top"><code>isQuietModeEnabled</code></A>(<code>UserHandle</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.UserManager.isUserUnlocked_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/os/UserManager.html#isUserUnlocked()" target="_top"><code>isUserUnlocked</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.UserManager.isUserUnlocked_added(android.os.UserHandle)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/os/UserManager.html#isUserUnlocked(android.os.UserHandle)" target="_top"><code>isUserUnlocked</code></A>(<code>UserHandle</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.UserManager.supportsMultipleUsers_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/os/UserManager.html#supportsMultipleUsers()" target="_top"><code>supportsMultipleUsers</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.UserManager.DISALLOW_DATA_ROAMING"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/UserManager.html#DISALLOW_DATA_ROAMING" target="_top"><code>DISALLOW_DATA_ROAMING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.UserManager.DISALLOW_SET_USER_ICON"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/UserManager.html#DISALLOW_SET_USER_ICON" target="_top"><code>DISALLOW_SET_USER_ICON</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.UserManager.DISALLOW_SET_WALLPAPER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/UserManager.html#DISALLOW_SET_WALLPAPER" target="_top"><code>DISALLOW_SET_WALLPAPER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.UserManager.USER_CREATION_FAILED_NOT_PERMITTED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/os/UserManager.html#USER_CREATION_FAILED_NOT_PERMITTED" target="_top"><code>USER_CREATION_FAILED_NOT_PERMITTED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.UserManager.USER_CREATION_FAILED_NO_MORE_USERS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/os/UserManager.html#USER_CREATION_FAILED_NO_MORE_USERS" target="_top"><code>USER_CREATION_FAILED_NO_MORE_USERS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.os.storage.StorageManager.html b/docs/html/sdk/api_diff/24/changes/android.os.storage.StorageManager.html
new file mode 100644
index 0000000..14b30e4
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.os.storage.StorageManager.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.os.storage.StorageManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.os.storage.<A HREF="../../../../reference/android/os/storage/StorageManager.html" target="_top"><font size="+2"><code>StorageManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.storage.StorageManager.getPrimaryStorageVolume_added()"></A>
+  <nobr><code>StorageVolume</code>&nbsp;<A HREF="../../../../reference/android/os/storage/StorageManager.html#getPrimaryStorageVolume()" target="_top"><code>getPrimaryStorageVolume</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.storage.StorageManager.getStorageVolume_added(java.io.File)"></A>
+  <nobr><code>StorageVolume</code>&nbsp;<A HREF="../../../../reference/android/os/storage/StorageManager.html#getStorageVolume(java.io.File)" target="_top"><code>getStorageVolume</code></A>(<code>File</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.storage.StorageManager.getStorageVolumes_added()"></A>
+  <nobr><code>List&lt;StorageVolume&gt;</code>&nbsp;<A HREF="../../../../reference/android/os/storage/StorageManager.html#getStorageVolumes()" target="_top"><code>getStorageVolumes</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.storage.StorageManager.isEncrypted_added(java.io.File)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/os/storage/StorageManager.html#isEncrypted(java.io.File)" target="_top"><code>isEncrypted</code></A>(<code>File</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.preference.Preference.html b/docs/html/sdk/api_diff/24/changes/android.preference.Preference.html
new file mode 100644
index 0000000..544a3fb
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.preference.Preference.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.preference.Preference
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.preference.<A HREF="../../../../reference/android/preference/Preference.html" target="_top"><font size="+2"><code>Preference</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.preference.Preference.getPersistedStringSet_added(java.util.Set<java.lang.String>)"></A>
+  <nobr><code>Set&lt;String&gt;</code>&nbsp;<A HREF="../../../../reference/android/preference/Preference.html#getPersistedStringSet(java.util.Set<java.lang.String>)" target="_top"><code>getPersistedStringSet</code></A>(<code>Set&lt;String&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.preference.Preference.persistStringSet_added(java.util.Set<java.lang.String>)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/preference/Preference.html#persistStringSet(java.util.Set<java.lang.String>)" target="_top"><code>persistStringSet</code></A>(<code>Set&lt;String&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.preference.PreferenceManager.html b/docs/html/sdk/api_diff/24/changes/android.preference.PreferenceManager.html
new file mode 100644
index 0000000..1652458
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.preference.PreferenceManager.html
@@ -0,0 +1,150 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.preference.PreferenceManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.preference.<A HREF="../../../../reference/android/preference/PreferenceManager.html" target="_top"><font size="+2"><code>PreferenceManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.preference.PreferenceManager.getDefaultSharedPreferencesName_added(android.content.Context)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/preference/PreferenceManager.html#getDefaultSharedPreferencesName(android.content.Context)" target="_top"><code>getDefaultSharedPreferencesName</code></A>(<code>Context</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.preference.PreferenceManager.isStorageDefault_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/preference/PreferenceManager.html#isStorageDefault()" target="_top"><code>isStorageDefault</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.preference.PreferenceManager.isStorageDeviceProtected_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/preference/PreferenceManager.html#isStorageDeviceProtected()" target="_top"><code>isStorageDeviceProtected</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.preference.PreferenceManager.setStorageDefault_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/preference/PreferenceManager.html#setStorageDefault()" target="_top"><code>setStorageDefault</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.preference.PreferenceManager.setStorageDeviceProtected_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/preference/PreferenceManager.html#setStorageDeviceProtected()" target="_top"><code>setStorageDeviceProtected</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.print.PrinterInfo.Builder.html b/docs/html/sdk/api_diff/24/changes/android.print.PrinterInfo.Builder.html
new file mode 100644
index 0000000..76a4851
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.print.PrinterInfo.Builder.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.print.PrinterInfo.Builder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.print.<A HREF="../../../../reference/android/print/PrinterInfo.Builder.html" target="_top"><font size="+2"><code>PrinterInfo.Builder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.print.PrinterInfo.Builder.setHasCustomPrinterIcon_added(boolean)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/print/PrinterInfo.Builder.html#setHasCustomPrinterIcon(boolean)" target="_top"><code>setHasCustomPrinterIcon</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.print.PrinterInfo.Builder.setIconResourceId_added(int)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/print/PrinterInfo.Builder.html#setIconResourceId(int)" target="_top"><code>setIconResourceId</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.print.PrinterInfo.Builder.setInfoIntent_added(android.app.PendingIntent)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/print/PrinterInfo.Builder.html#setInfoIntent(android.app.PendingIntent)" target="_top"><code>setInfoIntent</code></A>(<code>PendingIntent</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.printservice.PrintJob.html b/docs/html/sdk/api_diff/24/changes/android.printservice.PrintJob.html
new file mode 100644
index 0000000..9a9f10d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.printservice.PrintJob.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.printservice.PrintJob
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.printservice.<A HREF="../../../../reference/android/printservice/PrintJob.html" target="_top"><font size="+2"><code>PrintJob</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.printservice.PrintJob.setProgress_added(float)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/printservice/PrintJob.html#setProgress(float)" target="_top"><code>setProgress</code></A>(<code>float</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.printservice.PrintJob.setStatus_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/printservice/PrintJob.html#setStatus(int)" target="_top"><code>setStatus</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.printservice.PrintJob.setStatus_added(java.lang.CharSequence)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/printservice/PrintJob.html#setStatus(java.lang.CharSequence)" target="_top"><code>setStatus</code></A>(<code>CharSequence</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.printservice.PrinterDiscoverySession.html b/docs/html/sdk/api_diff/24/changes/android.printservice.PrinterDiscoverySession.html
new file mode 100644
index 0000000..cdb7892
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.printservice.PrinterDiscoverySession.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.printservice.PrinterDiscoverySession
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.printservice.<A HREF="../../../../reference/android/printservice/PrinterDiscoverySession.html" target="_top"><font size="+2"><code>PrinterDiscoverySession</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.printservice.PrinterDiscoverySession.onRequestCustomPrinterIcon_added(android.print.PrinterId, android.os.CancellationSignal, android.printservice.CustomPrinterIconCallback)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/printservice/PrinterDiscoverySession.html#onRequestCustomPrinterIcon(android.print.PrinterId, android.os.CancellationSignal, android.printservice.CustomPrinterIconCallback)" target="_top"><code>onRequestCustomPrinterIcon</code></A>(<code>PrinterId,</nobr> CancellationSignal<nobr>,</nobr> CustomPrinterIconCallback<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.CallLog.Calls.html b/docs/html/sdk/api_diff/24/changes/android.provider.CallLog.Calls.html
new file mode 100644
index 0000000..cc6a8d0
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.CallLog.Calls.html
@@ -0,0 +1,150 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.CallLog.Calls
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/CallLog.Calls.html" target="_top"><font size="+2"><code>CallLog.Calls</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.CallLog.Calls.BLOCKED_TYPE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/CallLog.Calls.html#BLOCKED_TYPE" target="_top"><code>BLOCKED_TYPE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.CallLog.Calls.LAST_MODIFIED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/CallLog.Calls.html#LAST_MODIFIED" target="_top"><code>LAST_MODIFIED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.CallLog.Calls.POST_DIAL_DIGITS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/CallLog.Calls.html#POST_DIAL_DIGITS" target="_top"><code>POST_DIAL_DIGITS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.CallLog.Calls.REJECTED_TYPE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/CallLog.Calls.html#REJECTED_TYPE" target="_top"><code>REJECTED_TYPE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.CallLog.Calls.VIA_NUMBER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/CallLog.Calls.html#VIA_NUMBER" target="_top"><code>VIA_NUMBER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.CommonDataKinds.Callable.html b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.CommonDataKinds.Callable.html
new file mode 100644
index 0000000..ee201d5
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.CommonDataKinds.Callable.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.ContactsContract.CommonDataKinds.Callable
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/ContactsContract.CommonDataKinds.Callable.html" target="_top"><font size="+2"><code>ContactsContract.CommonDataKinds.Callable</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.CommonDataKinds.Callable.ENTERPRISE_CONTENT_FILTER_URI"></A>
+  <nobr><code>Uri</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.CommonDataKinds.Callable.html#ENTERPRISE_CONTENT_FILTER_URI" target="_top"><code>ENTERPRISE_CONTENT_FILTER_URI</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.CommonDataKinds.Email.html b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.CommonDataKinds.Email.html
new file mode 100644
index 0000000..a60a124
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.CommonDataKinds.Email.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.ContactsContract.CommonDataKinds.Email
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/ContactsContract.CommonDataKinds.Email.html" target="_top"><font size="+2"><code>ContactsContract.CommonDataKinds.Email</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.CommonDataKinds.Email.ENTERPRISE_CONTENT_FILTER_URI"></A>
+  <nobr><code>Uri</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.CommonDataKinds.Email.html#ENTERPRISE_CONTENT_FILTER_URI" target="_top"><code>ENTERPRISE_CONTENT_FILTER_URI</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.CommonDataKinds.Organization.html b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.CommonDataKinds.Organization.html
new file mode 100644
index 0000000..b26cc86
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.CommonDataKinds.Organization.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.ContactsContract.CommonDataKinds.Organization
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/ContactsContract.CommonDataKinds.Organization.html" target="_top"><font size="+2"><code>ContactsContract.CommonDataKinds.Organization</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.CommonDataKinds.Organization.PHONETIC_NAME_STYLE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.CommonDataKinds.Organization.html#PHONETIC_NAME_STYLE" target="_top"><code>PHONETIC_NAME_STYLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.CommonDataKinds.Phone.html b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.CommonDataKinds.Phone.html
new file mode 100644
index 0000000..24fa0c1f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.CommonDataKinds.Phone.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.ContactsContract.CommonDataKinds.Phone
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/ContactsContract.CommonDataKinds.Phone.html" target="_top"><font size="+2"><code>ContactsContract.CommonDataKinds.Phone</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.CommonDataKinds.Phone.ENTERPRISE_CONTENT_FILTER_URI"></A>
+  <nobr><code>Uri</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.CommonDataKinds.Phone.html#ENTERPRISE_CONTENT_FILTER_URI" target="_top"><code>ENTERPRISE_CONTENT_FILTER_URI</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.CommonDataKinds.StructuredName.html b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.CommonDataKinds.StructuredName.html
new file mode 100644
index 0000000..0dc1f09
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.CommonDataKinds.StructuredName.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.ContactsContract.CommonDataKinds.StructuredName
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/ContactsContract.CommonDataKinds.StructuredName.html" target="_top"><font size="+2"><code>ContactsContract.CommonDataKinds.StructuredName</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.CommonDataKinds.StructuredName.PHONETIC_NAME_STYLE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.CommonDataKinds.StructuredName.html#PHONETIC_NAME_STYLE" target="_top"><code>PHONETIC_NAME_STYLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.Contacts.html b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.Contacts.html
new file mode 100644
index 0000000..af59690
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.Contacts.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.ContactsContract.Contacts
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/ContactsContract.Contacts.html" target="_top"><font size="+2"><code>ContactsContract.Contacts</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI"></A>
+  <nobr><code>Uri</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Contacts.html#ENTERPRISE_CONTENT_FILTER_URI" target="_top"><code>ENTERPRISE_CONTENT_FILTER_URI</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.Directory.html b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.Directory.html
new file mode 100644
index 0000000..83bbefd
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.Directory.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.ContactsContract.Directory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/ContactsContract.Directory.html" target="_top"><font size="+2"><code>ContactsContract.Directory</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.Directory.isEnterpriseDirectoryId_added(long)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Directory.html#isEnterpriseDirectoryId(long)" target="_top"><code>isEnterpriseDirectoryId</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.Directory.isRemoteDirectoryId_added(long)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Directory.html#isRemoteDirectoryId(long)" target="_top"><code>isRemoteDirectoryId</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.Directory.ENTERPRISE_CONTENT_URI"></A>
+  <nobr><code>Uri</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Directory.html#ENTERPRISE_CONTENT_URI" target="_top"><code>ENTERPRISE_CONTENT_URI</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.Directory.ENTERPRISE_DEFAULT"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Directory.html#ENTERPRISE_DEFAULT" target="_top"><code>ENTERPRISE_DEFAULT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.Directory.ENTERPRISE_LOCAL_INVISIBLE"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Directory.html#ENTERPRISE_LOCAL_INVISIBLE" target="_top"><code>ENTERPRISE_LOCAL_INVISIBLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.Intents.html b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.Intents.html
new file mode 100644
index 0000000..5bd93cc
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.Intents.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.ContactsContract.Intents
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/ContactsContract.Intents.html" target="_top"><font size="+2"><code>ContactsContract.Intents</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.Intents.ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Intents.html#ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS" target="_top"><code>ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.Intents.EXTRA_RECIPIENT_CONTACT_CHAT_ID"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Intents.html#EXTRA_RECIPIENT_CONTACT_CHAT_ID" target="_top"><code>EXTRA_RECIPIENT_CONTACT_CHAT_ID</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.Intents.EXTRA_RECIPIENT_CONTACT_NAME"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Intents.html#EXTRA_RECIPIENT_CONTACT_NAME" target="_top"><code>EXTRA_RECIPIENT_CONTACT_NAME</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.Intents.EXTRA_RECIPIENT_CONTACT_URI"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Intents.html#EXTRA_RECIPIENT_CONTACT_URI" target="_top"><code>EXTRA_RECIPIENT_CONTACT_URI</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.Intents.METADATA_ACCOUNT_TYPE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Intents.html#METADATA_ACCOUNT_TYPE" target="_top"><code>METADATA_ACCOUNT_TYPE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.Intents.METADATA_MIMETYPE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Intents.html#METADATA_MIMETYPE" target="_top"><code>METADATA_MIMETYPE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.PhoneLookupColumns.html b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.PhoneLookupColumns.html
new file mode 100644
index 0000000..68c33e8
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.PhoneLookupColumns.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.ContactsContract.PhoneLookupColumns
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface android.provider.<A HREF="../../../../reference/android/provider/ContactsContract.PhoneLookupColumns.html" target="_top"><font size="+2"><code>ContactsContract.PhoneLookupColumns</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.PhoneLookupColumns.CONTACT_ID"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.PhoneLookupColumns.html#CONTACT_ID" target="_top"><code>CONTACT_ID</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.PhoneLookupColumns.DATA_ID"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.PhoneLookupColumns.html#DATA_ID" target="_top"><code>DATA_ID</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.RawContactsColumns.html b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.RawContactsColumns.html
new file mode 100644
index 0000000..4de2b9c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.ContactsContract.RawContactsColumns.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.ContactsContract.RawContactsColumns
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface android.provider.<A HREF="../../../../reference/android/provider/ContactsContract.RawContactsColumns.html" target="_top"><font size="+2"><code>ContactsContract.RawContactsColumns</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.RawContactsColumns.BACKUP_ID"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.RawContactsColumns.html#BACKUP_ID" target="_top"><code>BACKUP_ID</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.RawContactsColumns.METADATA_DIRTY"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.RawContactsColumns.html#METADATA_DIRTY" target="_top"><code>METADATA_DIRTY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.DocumentsContract.Document.html b/docs/html/sdk/api_diff/24/changes/android.provider.DocumentsContract.Document.html
new file mode 100644
index 0000000..159f7fb
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.DocumentsContract.Document.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.DocumentsContract.Document
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/DocumentsContract.Document.html" target="_top"><font size="+2"><code>DocumentsContract.Document</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.DocumentsContract.Document.FLAG_SUPPORTS_COPY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/DocumentsContract.Document.html#FLAG_SUPPORTS_COPY" target="_top"><code>FLAG_SUPPORTS_COPY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.DocumentsContract.Document.FLAG_SUPPORTS_MOVE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/DocumentsContract.Document.html#FLAG_SUPPORTS_MOVE" target="_top"><code>FLAG_SUPPORTS_MOVE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.DocumentsContract.Document.FLAG_SUPPORTS_REMOVE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/DocumentsContract.Document.html#FLAG_SUPPORTS_REMOVE" target="_top"><code>FLAG_SUPPORTS_REMOVE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.DocumentsContract.Document.FLAG_VIRTUAL_DOCUMENT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/DocumentsContract.Document.html#FLAG_VIRTUAL_DOCUMENT" target="_top"><code>FLAG_VIRTUAL_DOCUMENT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.DocumentsContract.Root.html b/docs/html/sdk/api_diff/24/changes/android.provider.DocumentsContract.Root.html
new file mode 100644
index 0000000..ac9bb4b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.DocumentsContract.Root.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.DocumentsContract.Root
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/DocumentsContract.Root.html" target="_top"><font size="+2"><code>DocumentsContract.Root</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.DocumentsContract.Root.COLUMN_CAPACITY_BYTES"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/DocumentsContract.Root.html#COLUMN_CAPACITY_BYTES" target="_top"><code>COLUMN_CAPACITY_BYTES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.DocumentsContract.html b/docs/html/sdk/api_diff/24/changes/android.provider.DocumentsContract.html
new file mode 100644
index 0000000..45da3e4
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.DocumentsContract.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.DocumentsContract
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/DocumentsContract.html" target="_top"><font size="+2"><code>DocumentsContract</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.DocumentsContract.copyDocument_added(android.content.ContentResolver, android.net.Uri, android.net.Uri)"></A>
+  <nobr><code>Uri</code>&nbsp;<A HREF="../../../../reference/android/provider/DocumentsContract.html#copyDocument(android.content.ContentResolver, android.net.Uri, android.net.Uri)" target="_top"><code>copyDocument</code></A>(<code>ContentResolver,</nobr> Uri<nobr>,</nobr> Uri<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.DocumentsContract.isTreeUri_added(android.net.Uri)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/provider/DocumentsContract.html#isTreeUri(android.net.Uri)" target="_top"><code>isTreeUri</code></A>(<code>Uri</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.DocumentsContract.moveDocument_added(android.content.ContentResolver, android.net.Uri, android.net.Uri, android.net.Uri)"></A>
+  <nobr><code>Uri</code>&nbsp;<A HREF="../../../../reference/android/provider/DocumentsContract.html#moveDocument(android.content.ContentResolver, android.net.Uri, android.net.Uri, android.net.Uri)" target="_top"><code>moveDocument</code></A>(<code>ContentResolver,</nobr> Uri<nobr>,</nobr> Uri<nobr>,</nobr> Uri<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.DocumentsContract.removeDocument_added(android.content.ContentResolver, android.net.Uri, android.net.Uri)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/provider/DocumentsContract.html#removeDocument(android.content.ContentResolver, android.net.Uri, android.net.Uri)" target="_top"><code>removeDocument</code></A>(<code>ContentResolver,</nobr> Uri<nobr>,</nobr> Uri<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.DocumentsContract.EXTRA_ORIENTATION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/DocumentsContract.html#EXTRA_ORIENTATION" target="_top"><code>EXTRA_ORIENTATION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.DocumentsProvider.html b/docs/html/sdk/api_diff/24/changes/android.provider.DocumentsProvider.html
new file mode 100644
index 0000000..e3db45e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.DocumentsProvider.html
@@ -0,0 +1,150 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.DocumentsProvider
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/DocumentsProvider.html" target="_top"><font size="+2"><code>DocumentsProvider</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.DocumentsProvider.copyDocument_added(java.lang.String, java.lang.String)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/DocumentsProvider.html#copyDocument(java.lang.String, java.lang.String)" target="_top"><code>copyDocument</code></A>(<code>String,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.DocumentsProvider.getDocumentStreamTypes_added(java.lang.String, java.lang.String)"></A>
+  <nobr><code>String[]</code>&nbsp;<A HREF="../../../../reference/android/provider/DocumentsProvider.html#getDocumentStreamTypes(java.lang.String, java.lang.String)" target="_top"><code>getDocumentStreamTypes</code></A>(<code>String,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.DocumentsProvider.moveDocument_added(java.lang.String, java.lang.String, java.lang.String)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/DocumentsProvider.html#moveDocument(java.lang.String, java.lang.String, java.lang.String)" target="_top"><code>moveDocument</code></A>(<code>String,</nobr> String<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.DocumentsProvider.openTypedDocument_added(java.lang.String, java.lang.String, android.os.Bundle, android.os.CancellationSignal)"></A>
+  <nobr><code>AssetFileDescriptor</code>&nbsp;<A HREF="../../../../reference/android/provider/DocumentsProvider.html#openTypedDocument(java.lang.String, java.lang.String, android.os.Bundle, android.os.CancellationSignal)" target="_top"><code>openTypedDocument</code></A>(<code>String,</nobr> String<nobr>,</nobr> Bundle<nobr>,</nobr> CancellationSignal<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.DocumentsProvider.removeDocument_added(java.lang.String, java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/provider/DocumentsProvider.html#removeDocument(java.lang.String, java.lang.String)" target="_top"><code>removeDocument</code></A>(<code>String,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.Settings.Global.html b/docs/html/sdk/api_diff/24/changes/android.provider.Settings.Global.html
new file mode 100644
index 0000000..dc3f5f84
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.Settings.Global.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.Settings.Global
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/Settings.Global.html" target="_top"><font size="+2"><code>Settings.Global</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Global.SYS_PROP_SETTING_VERSION"></A>
+  <code>String</code>&nbsp;SYS_PROP_SETTING_VERSION
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Global.BOOT_COUNT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Global.html#BOOT_COUNT" target="_top"><code>BOOT_COUNT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Global.CONTACT_METADATA_SYNC_ENABLED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Global.html#CONTACT_METADATA_SYNC_ENABLED" target="_top"><code>CONTACT_METADATA_SYNC_ENABLED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.Settings.Secure.html b/docs/html/sdk/api_diff/24/changes/android.provider.Settings.Secure.html
new file mode 100644
index 0000000..e4c58f5
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.Settings.Secure.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.Settings.Secure
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/Settings.Secure.html" target="_top"><font size="+2"><code>Settings.Secure</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.SYS_PROP_SETTING_VERSION"></A>
+  <code>String</code>&nbsp;SYS_PROP_SETTING_VERSION
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.Settings.System.html b/docs/html/sdk/api_diff/24/changes/android.provider.Settings.System.html
new file mode 100644
index 0000000..3de284b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.Settings.System.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.Settings.System
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/Settings.System.html" target="_top"><font size="+2"><code>Settings.System</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.System.SYS_PROP_SETTING_VERSION"></A>
+  <code>String</code>&nbsp;SYS_PROP_SETTING_VERSION
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.Settings.html b/docs/html/sdk/api_diff/24/changes/android.provider.Settings.html
new file mode 100644
index 0000000..ef51716
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.Settings.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.Settings
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/Settings.html" target="_top"><font size="+2"><code>Settings</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.ACTION_HARD_KEYBOARD_SETTINGS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.html#ACTION_HARD_KEYBOARD_SETTINGS" target="_top"><code>ACTION_HARD_KEYBOARD_SETTINGS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.html#ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS" target="_top"><code>ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.html#ACTION_MANAGE_DEFAULT_APPS_SETTINGS" target="_top"><code>ACTION_MANAGE_DEFAULT_APPS_SETTINGS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.ACTION_VPN_SETTINGS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.html#ACTION_VPN_SETTINGS" target="_top"><code>ACTION_VPN_SETTINGS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.ACTION_VR_LISTENER_SETTINGS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.html#ACTION_VR_LISTENER_SETTINGS" target="_top"><code>ACTION_VR_LISTENER_SETTINGS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.ACTION_WEBVIEW_SETTINGS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.html#ACTION_WEBVIEW_SETTINGS" target="_top"><code>ACTION_WEBVIEW_SETTINGS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.Telephony.Sms.Intents.html b/docs/html/sdk/api_diff/24/changes/android.provider.Telephony.Sms.Intents.html
new file mode 100644
index 0000000..ca84083
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.Telephony.Sms.Intents.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.Telephony.Sms.Intents
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/Telephony.Sms.Intents.html" target="_top"><font size="+2"><code>Telephony.Sms.Intents</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Telephony.Sms.Intents.SMS_EMERGENCY_CB_RECEIVED_ACTION"></A>
+  <code>String</code>&nbsp;SMS_EMERGENCY_CB_RECEIVED_ACTION
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Telephony.Sms.Intents.ACTION_DEFAULT_SMS_PACKAGE_CHANGED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Telephony.Sms.Intents.html#ACTION_DEFAULT_SMS_PACKAGE_CHANGED" target="_top"><code>ACTION_DEFAULT_SMS_PACKAGE_CHANGED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Telephony.Sms.Intents.ACTION_EXTERNAL_PROVIDER_CHANGE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Telephony.Sms.Intents.html#ACTION_EXTERNAL_PROVIDER_CHANGE" target="_top"><code>ACTION_EXTERNAL_PROVIDER_CHANGE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Telephony.Sms.Intents.EXTRA_IS_DEFAULT_SMS_APP"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Telephony.Sms.Intents.html#EXTRA_IS_DEFAULT_SMS_APP" target="_top"><code>EXTRA_IS_DEFAULT_SMS_APP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.VoicemailContract.Status.html b/docs/html/sdk/api_diff/24/changes/android.provider.VoicemailContract.Status.html
new file mode 100644
index 0000000..ace7763
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.VoicemailContract.Status.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.VoicemailContract.Status
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/VoicemailContract.Status.html" target="_top"><font size="+2"><code>VoicemailContract.Status</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_BAD_CONFIGURATION"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/VoicemailContract.Status.html#DATA_CHANNEL_STATE_BAD_CONFIGURATION" target="_top"><code>DATA_CHANNEL_STATE_BAD_CONFIGURATION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_COMMUNICATION_ERROR"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/VoicemailContract.Status.html#DATA_CHANNEL_STATE_COMMUNICATION_ERROR" target="_top"><code>DATA_CHANNEL_STATE_COMMUNICATION_ERROR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/VoicemailContract.Status.html#DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED" target="_top"><code>DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/VoicemailContract.Status.html#DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR" target="_top"><code>DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_SERVER_ERROR"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/VoicemailContract.Status.html#DATA_CHANNEL_STATE_SERVER_ERROR" target="_top"><code>DATA_CHANNEL_STATE_SERVER_ERROR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.VoicemailContract.Status.QUOTA_OCCUPIED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/VoicemailContract.Status.html#QUOTA_OCCUPIED" target="_top"><code>QUOTA_OCCUPIED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.VoicemailContract.Status.QUOTA_TOTAL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/VoicemailContract.Status.html#QUOTA_TOTAL" target="_top"><code>QUOTA_TOTAL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.VoicemailContract.Status.QUOTA_UNAVAILABLE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/VoicemailContract.Status.html#QUOTA_UNAVAILABLE" target="_top"><code>QUOTA_UNAVAILABLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.VoicemailContract.Voicemails.html b/docs/html/sdk/api_diff/24/changes/android.provider.VoicemailContract.Voicemails.html
new file mode 100644
index 0000000..46a30a1
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.VoicemailContract.Voicemails.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.VoicemailContract.Voicemails
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/VoicemailContract.Voicemails.html" target="_top"><font size="+2"><code>VoicemailContract.Voicemails</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.VoicemailContract.Voicemails.LAST_MODIFIED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/VoicemailContract.Voicemails.html#LAST_MODIFIED" target="_top"><code>LAST_MODIFIED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.provider.VoicemailContract.html b/docs/html/sdk/api_diff/24/changes/android.provider.VoicemailContract.html
new file mode 100644
index 0000000..5b00883
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.provider.VoicemailContract.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.VoicemailContract
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/VoicemailContract.html" target="_top"><font size="+2"><code>VoicemailContract</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.VoicemailContract.ACTION_SYNC_VOICEMAIL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/VoicemailContract.html#ACTION_SYNC_VOICEMAIL" target="_top"><code>ACTION_SYNC_VOICEMAIL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.renderscript.Allocation.html b/docs/html/sdk/api_diff/24/changes/android.renderscript.Allocation.html
new file mode 100644
index 0000000..4c78a86
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.renderscript.Allocation.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.renderscript.Allocation
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.renderscript.<A HREF="../../../../reference/android/renderscript/Allocation.html" target="_top"><font size="+2"><code>Allocation</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Allocation.createAllocations_added(android.renderscript.RenderScript, android.renderscript.Type, int, int)"></A>
+  <nobr><code>Allocation[]</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Allocation.html#createAllocations(android.renderscript.RenderScript, android.renderscript.Type, int, int)" target="_top"><code>createAllocations</code></A>(<code>RenderScript,</nobr> Type<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Allocation.getByteBuffer_added()"></A>
+  <nobr><code>ByteBuffer</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Allocation.html#getByteBuffer()" target="_top"><code>getByteBuffer</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Allocation.getStride_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Allocation.html#getStride()" target="_top"><code>getStride</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Allocation.getTimeStamp_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Allocation.html#getTimeStamp()" target="_top"><code>getTimeStamp</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.renderscript.Script.html b/docs/html/sdk/api_diff/24/changes/android.renderscript.Script.html
new file mode 100644
index 0000000..4194507
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.renderscript.Script.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.renderscript.Script
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.renderscript.<A HREF="../../../../reference/android/renderscript/Script.html" target="_top"><font size="+2"><code>Script</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Script.reduce_added(int, android.renderscript.Allocation[], android.renderscript.Allocation, android.renderscript.Script.LaunchOptions)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Script.html#reduce(int, android.renderscript.Allocation[], android.renderscript.Allocation, android.renderscript.Script.LaunchOptions)" target="_top"><code>reduce</code></A>(<code>int,</nobr> Allocation[]<nobr>,</nobr> Allocation<nobr>,</nobr> LaunchOptions<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.security.NetworkSecurityPolicy.html b/docs/html/sdk/api_diff/24/changes/android.security.NetworkSecurityPolicy.html
new file mode 100644
index 0000000..faf3f8d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.security.NetworkSecurityPolicy.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.security.NetworkSecurityPolicy
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.security.<A HREF="../../../../reference/android/security/NetworkSecurityPolicy.html" target="_top"><font size="+2"><code>NetworkSecurityPolicy</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.security.NetworkSecurityPolicy.isCleartextTrafficPermitted_added(java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/security/NetworkSecurityPolicy.html#isCleartextTrafficPermitted(java.lang.String)" target="_top"><code>isCleartextTrafficPermitted</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.security.keystore.KeyGenParameterSpec.Builder.html b/docs/html/sdk/api_diff/24/changes/android.security.keystore.KeyGenParameterSpec.Builder.html
new file mode 100644
index 0000000..6539eb0
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.security.keystore.KeyGenParameterSpec.Builder.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.security.keystore.KeyGenParameterSpec.Builder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.security.keystore.<A HREF="../../../../reference/android/security/keystore/KeyGenParameterSpec.Builder.html" target="_top"><font size="+2"><code>KeyGenParameterSpec.Builder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.security.keystore.KeyGenParameterSpec.Builder.setAttestationChallenge_added(byte[])"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/security/keystore/KeyGenParameterSpec.Builder.html#setAttestationChallenge(byte[])" target="_top"><code>setAttestationChallenge</code></A>(<code>byte[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.security.keystore.KeyGenParameterSpec.Builder.setInvalidatedByBiometricEnrollment_added(boolean)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/security/keystore/KeyGenParameterSpec.Builder.html#setInvalidatedByBiometricEnrollment(boolean)" target="_top"><code>setInvalidatedByBiometricEnrollment</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.security.keystore.KeyGenParameterSpec.Builder.setUserAuthenticationValidWhileOnBody_added(boolean)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/security/keystore/KeyGenParameterSpec.Builder.html#setUserAuthenticationValidWhileOnBody(boolean)" target="_top"><code>setUserAuthenticationValidWhileOnBody</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.security.keystore.KeyGenParameterSpec.html b/docs/html/sdk/api_diff/24/changes/android.security.keystore.KeyGenParameterSpec.html
new file mode 100644
index 0000000..74d2e12
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.security.keystore.KeyGenParameterSpec.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.security.keystore.KeyGenParameterSpec
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.security.keystore.<A HREF="../../../../reference/android/security/keystore/KeyGenParameterSpec.html" target="_top"><font size="+2"><code>KeyGenParameterSpec</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.security.keystore.KeyGenParameterSpec.getAttestationChallenge_added()"></A>
+  <nobr><code>byte[]</code>&nbsp;<A HREF="../../../../reference/android/security/keystore/KeyGenParameterSpec.html#getAttestationChallenge()" target="_top"><code>getAttestationChallenge</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.security.keystore.KeyGenParameterSpec.isInvalidatedByBiometricEnrollment_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/security/keystore/KeyGenParameterSpec.html#isInvalidatedByBiometricEnrollment()" target="_top"><code>isInvalidatedByBiometricEnrollment</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.security.keystore.KeyGenParameterSpec.isUserAuthenticationValidWhileOnBody_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/security/keystore/KeyGenParameterSpec.html#isUserAuthenticationValidWhileOnBody()" target="_top"><code>isUserAuthenticationValidWhileOnBody</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.security.keystore.KeyInfo.html b/docs/html/sdk/api_diff/24/changes/android.security.keystore.KeyInfo.html
new file mode 100644
index 0000000..fbfd9fe
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.security.keystore.KeyInfo.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.security.keystore.KeyInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.security.keystore.<A HREF="../../../../reference/android/security/keystore/KeyInfo.html" target="_top"><font size="+2"><code>KeyInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.security.keystore.KeyInfo.isInvalidatedByBiometricEnrollment_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/security/keystore/KeyInfo.html#isInvalidatedByBiometricEnrollment()" target="_top"><code>isInvalidatedByBiometricEnrollment</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.security.keystore.KeyInfo.isUserAuthenticationValidWhileOnBody_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/security/keystore/KeyInfo.html#isUserAuthenticationValidWhileOnBody()" target="_top"><code>isUserAuthenticationValidWhileOnBody</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.security.keystore.KeyProtection.Builder.html b/docs/html/sdk/api_diff/24/changes/android.security.keystore.KeyProtection.Builder.html
new file mode 100644
index 0000000..c074d80
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.security.keystore.KeyProtection.Builder.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.security.keystore.KeyProtection.Builder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.security.keystore.<A HREF="../../../../reference/android/security/keystore/KeyProtection.Builder.html" target="_top"><font size="+2"><code>KeyProtection.Builder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.security.keystore.KeyProtection.Builder.setInvalidatedByBiometricEnrollment_added(boolean)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/security/keystore/KeyProtection.Builder.html#setInvalidatedByBiometricEnrollment(boolean)" target="_top"><code>setInvalidatedByBiometricEnrollment</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.security.keystore.KeyProtection.Builder.setUserAuthenticationValidWhileOnBody_added(boolean)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/security/keystore/KeyProtection.Builder.html#setUserAuthenticationValidWhileOnBody(boolean)" target="_top"><code>setUserAuthenticationValidWhileOnBody</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.security.keystore.KeyProtection.html b/docs/html/sdk/api_diff/24/changes/android.security.keystore.KeyProtection.html
new file mode 100644
index 0000000..6ca9b36
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.security.keystore.KeyProtection.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.security.keystore.KeyProtection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.security.keystore.<A HREF="../../../../reference/android/security/keystore/KeyProtection.html" target="_top"><font size="+2"><code>KeyProtection</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.security.keystore.KeyProtection.isInvalidatedByBiometricEnrollment_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/security/keystore/KeyProtection.html#isInvalidatedByBiometricEnrollment()" target="_top"><code>isInvalidatedByBiometricEnrollment</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.security.keystore.KeyProtection.isUserAuthenticationValidWhileOnBody_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/security/keystore/KeyProtection.html#isUserAuthenticationValidWhileOnBody()" target="_top"><code>isUserAuthenticationValidWhileOnBody</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.service.carrier.CarrierMessagingService.html b/docs/html/sdk/api_diff/24/changes/android.service.carrier.CarrierMessagingService.html
new file mode 100644
index 0000000..5739be7
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.service.carrier.CarrierMessagingService.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.carrier.CarrierMessagingService
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.service.carrier.<A HREF="../../../../reference/android/service/carrier/CarrierMessagingService.html" target="_top"><font size="+2"><code>CarrierMessagingService</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.carrier.CarrierMessagingService.onReceiveTextSms_added(android.service.carrier.MessagePdu, java.lang.String, int, int, android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Integer>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/carrier/CarrierMessagingService.html#onReceiveTextSms(android.service.carrier.MessagePdu, java.lang.String, int, int, android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Integer>)" target="_top"><code>onReceiveTextSms</code></A>(<code>MessagePdu,</nobr> String<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> ResultCallback&lt;Integer&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.carrier.CarrierMessagingService.onFilterSms_changed(android.service.carrier.MessagePdu, java.lang.String, int, int, android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Boolean>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/carrier/CarrierMessagingService.html#onFilterSms(android.service.carrier.MessagePdu, java.lang.String, int, int, android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Boolean>)" target="_top"><code>onFilterSms</code></A>(<code>MessagePdu,</nobr> String<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> ResultCallback&lt;Boolean&gt;<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_DEFAULT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/service/carrier/CarrierMessagingService.html#RECEIVE_OPTIONS_DEFAULT" target="_top"><code>RECEIVE_OPTIONS_DEFAULT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_DROP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/service/carrier/CarrierMessagingService.html#RECEIVE_OPTIONS_DROP" target="_top"><code>RECEIVE_OPTIONS_DROP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/service/carrier/CarrierMessagingService.html#RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE" target="_top"><code>RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.service.media.MediaBrowserService.BrowserRoot.html b/docs/html/sdk/api_diff/24/changes/android.service.media.MediaBrowserService.BrowserRoot.html
new file mode 100644
index 0000000..d5775ae
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.service.media.MediaBrowserService.BrowserRoot.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.media.MediaBrowserService.BrowserRoot
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.service.media.<A HREF="../../../../reference/android/service/media/MediaBrowserService.BrowserRoot.html" target="_top"><font size="+2"><code>MediaBrowserService.BrowserRoot</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.media.MediaBrowserService.BrowserRoot.EXTRA_OFFLINE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/service/media/MediaBrowserService.BrowserRoot.html#EXTRA_OFFLINE" target="_top"><code>EXTRA_OFFLINE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.media.MediaBrowserService.BrowserRoot.EXTRA_RECENT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/service/media/MediaBrowserService.BrowserRoot.html#EXTRA_RECENT" target="_top"><code>EXTRA_RECENT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.media.MediaBrowserService.BrowserRoot.EXTRA_SUGGESTED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/service/media/MediaBrowserService.BrowserRoot.html#EXTRA_SUGGESTED" target="_top"><code>EXTRA_SUGGESTED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.service.media.MediaBrowserService.html b/docs/html/sdk/api_diff/24/changes/android.service.media.MediaBrowserService.html
new file mode 100644
index 0000000..95fae14
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.service.media.MediaBrowserService.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.media.MediaBrowserService
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.service.media.<A HREF="../../../../reference/android/service/media/MediaBrowserService.html" target="_top"><font size="+2"><code>MediaBrowserService</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.media.MediaBrowserService.getBrowserRootHints_added()"></A>
+  <nobr><code>Bundle</code>&nbsp;<A HREF="../../../../reference/android/service/media/MediaBrowserService.html#getBrowserRootHints()" target="_top"><code>getBrowserRootHints</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.media.MediaBrowserService.notifyChildrenChanged_added(java.lang.String, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/media/MediaBrowserService.html#notifyChildrenChanged(java.lang.String, android.os.Bundle)" target="_top"><code>notifyChildrenChanged</code></A>(<code>String,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.media.MediaBrowserService.onLoadChildren_added(java.lang.String, android.service.media.MediaBrowserService.Result<java.util.List<android.media.browse.MediaBrowser.MediaItem>>, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/media/MediaBrowserService.html#onLoadChildren(java.lang.String, android.service.media.MediaBrowserService.Result<java.util.List<android.media.browse.MediaBrowser.MediaItem>>, android.os.Bundle)" target="_top"><code>onLoadChildren</code></A>(<code>String,</nobr> Result&lt;List&lt;MediaItem&gt;&gt;<nobr>,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.service.notification.NotificationListenerService.Ranking.html b/docs/html/sdk/api_diff/24/changes/android.service.notification.NotificationListenerService.Ranking.html
new file mode 100644
index 0000000..50eaf4e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.service.notification.NotificationListenerService.Ranking.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.notification.NotificationListenerService.Ranking
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.service.notification.<A HREF="../../../../reference/android/service/notification/NotificationListenerService.Ranking.html" target="_top"><font size="+2"><code>NotificationListenerService.Ranking</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.Ranking.getImportance_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/service/notification/NotificationListenerService.Ranking.html#getImportance()" target="_top"><code>getImportance</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.Ranking.getImportanceExplanation_added()"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/service/notification/NotificationListenerService.Ranking.html#getImportanceExplanation()" target="_top"><code>getImportanceExplanation</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.Ranking.getOverrideGroupKey_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/service/notification/NotificationListenerService.Ranking.html#getOverrideGroupKey()" target="_top"><code>getOverrideGroupKey</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.Ranking.getSuppressedVisualEffects_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/service/notification/NotificationListenerService.Ranking.html#getSuppressedVisualEffects()" target="_top"><code>getSuppressedVisualEffects</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.service.notification.NotificationListenerService.html b/docs/html/sdk/api_diff/24/changes/android.service.notification.NotificationListenerService.html
new file mode 100644
index 0000000..2ae1519
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.service.notification.NotificationListenerService.html
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.notification.NotificationListenerService
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.service.notification.<A HREF="../../../../reference/android/service/notification/NotificationListenerService.html" target="_top"><font size="+2"><code>NotificationListenerService</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.onListenerDisconnected_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/notification/NotificationListenerService.html#onListenerDisconnected()" target="_top"><code>onListenerDisconnected</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.requestRebind_added(android.content.ComponentName)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/notification/NotificationListenerService.html#requestRebind(android.content.ComponentName)" target="_top"><code>requestRebind</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.requestUnbind_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/notification/NotificationListenerService.html#requestUnbind()" target="_top"><code>requestUnbind</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.HINT_HOST_DISABLE_CALL_EFFECTS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/service/notification/NotificationListenerService.html#HINT_HOST_DISABLE_CALL_EFFECTS" target="_top"><code>HINT_HOST_DISABLE_CALL_EFFECTS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.HINT_HOST_DISABLE_NOTIFICATION_EFFECTS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/service/notification/NotificationListenerService.html#HINT_HOST_DISABLE_NOTIFICATION_EFFECTS" target="_top"><code>HINT_HOST_DISABLE_NOTIFICATION_EFFECTS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.SUPPRESSED_EFFECT_SCREEN_OFF"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/service/notification/NotificationListenerService.html#SUPPRESSED_EFFECT_SCREEN_OFF" target="_top"><code>SUPPRESSED_EFFECT_SCREEN_OFF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.SUPPRESSED_EFFECT_SCREEN_ON"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/service/notification/NotificationListenerService.html#SUPPRESSED_EFFECT_SCREEN_ON" target="_top"><code>SUPPRESSED_EFFECT_SCREEN_ON</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.service.notification.StatusBarNotification.html b/docs/html/sdk/api_diff/24/changes/android.service.notification.StatusBarNotification.html
new file mode 100644
index 0000000..33714e0
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.service.notification.StatusBarNotification.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.notification.StatusBarNotification
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.service.notification.<A HREF="../../../../reference/android/service/notification/StatusBarNotification.html" target="_top"><font size="+2"><code>StatusBarNotification</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.StatusBarNotification.getOverrideGroupKey_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/service/notification/StatusBarNotification.html#getOverrideGroupKey()" target="_top"><code>getOverrideGroupKey</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.StatusBarNotification.isGroup_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/service/notification/StatusBarNotification.html#isGroup()" target="_top"><code>isGroup</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.StatusBarNotification.setOverrideGroupKey_added(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/notification/StatusBarNotification.html#setOverrideGroupKey(java.lang.String)" target="_top"><code>setOverrideGroupKey</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.service.voice.VoiceInteractionSession.html b/docs/html/sdk/api_diff/24/changes/android.service.voice.VoiceInteractionSession.html
new file mode 100644
index 0000000..d3a753b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.service.voice.VoiceInteractionSession.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.voice.VoiceInteractionSession
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.service.voice.<A HREF="../../../../reference/android/service/voice/VoiceInteractionSession.html" target="_top"><font size="+2"><code>VoiceInteractionSession</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.voice.VoiceInteractionSession.onHandleAssistSecondary_added(android.os.Bundle, android.app.assist.AssistStructure, android.app.assist.AssistContent, int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/voice/VoiceInteractionSession.html#onHandleAssistSecondary(android.os.Bundle, android.app.assist.AssistStructure, android.app.assist.AssistContent, int, int)" target="_top"><code>onHandleAssistSecondary</code></A>(<code>Bundle,</nobr> AssistStructure<nobr>,</nobr> AssistContent<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.voice.VoiceInteractionSession.SHOW_SOURCE_ACTIVITY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/service/voice/VoiceInteractionSession.html#SHOW_SOURCE_ACTIVITY" target="_top"><code>SHOW_SOURCE_ACTIVITY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.speech.tts.UtteranceProgressListener.html b/docs/html/sdk/api_diff/24/changes/android.speech.tts.UtteranceProgressListener.html
new file mode 100644
index 0000000..895ce16
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.speech.tts.UtteranceProgressListener.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.speech.tts.UtteranceProgressListener
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.speech.tts.<A HREF="../../../../reference/android/speech/tts/UtteranceProgressListener.html" target="_top"><font size="+2"><code>UtteranceProgressListener</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.tts.UtteranceProgressListener.onAudioAvailable_added(java.lang.String, byte[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/speech/tts/UtteranceProgressListener.html#onAudioAvailable(java.lang.String, byte[])" target="_top"><code>onAudioAvailable</code></A>(<code>String,</nobr> byte[]<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.tts.UtteranceProgressListener.onBeginSynthesis_added(java.lang.String, int, int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/speech/tts/UtteranceProgressListener.html#onBeginSynthesis(java.lang.String, int, int, int)" target="_top"><code>onBeginSynthesis</code></A>(<code>String,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.telecom.Call.Details.html b/docs/html/sdk/api_diff/24/changes/android.telecom.Call.Details.html
new file mode 100644
index 0000000..ba683fa
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.telecom.Call.Details.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telecom.Call.Details
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telecom.<A HREF="../../../../reference/android/telecom/Call.Details.html" target="_top"><font size="+2"><code>Call.Details</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.Call.Details.CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telecom/Call.Details.html#CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO" target="_top"><code>CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.Call.Details.PROPERTY_ENTERPRISE_CALL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telecom/Call.Details.html#PROPERTY_ENTERPRISE_CALL" target="_top"><code>PROPERTY_ENTERPRISE_CALL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.telecom.Connection.html b/docs/html/sdk/api_diff/24/changes/android.telecom.Connection.html
new file mode 100644
index 0000000..af8391f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.telecom.Connection.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telecom.Connection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telecom.<A HREF="../../../../reference/android/telecom/Connection.html" target="_top"><font size="+2"><code>Connection</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.Connection.onReject_added(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/telecom/Connection.html#onReject(java.lang.String)" target="_top"><code>onReject</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.Connection.CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telecom/Connection.html#CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO" target="_top"><code>CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.Connection.CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telecom/Connection.html#CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION" target="_top"><code>CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.telecom.ConnectionService.html b/docs/html/sdk/api_diff/24/changes/android.telecom.ConnectionService.html
new file mode 100644
index 0000000..1544ec3
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.telecom.ConnectionService.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telecom.ConnectionService
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telecom.<A HREF="../../../../reference/android/telecom/ConnectionService.html" target="_top"><font size="+2"><code>ConnectionService</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.ConnectionService.getAllConferences_added()"></A>
+  <nobr><code>Collection&lt;Conference&gt;</code>&nbsp;<A HREF="../../../../reference/android/telecom/ConnectionService.html#getAllConferences()" target="_top"><code>getAllConferences</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.telecom.InCallService.html b/docs/html/sdk/api_diff/24/changes/android.telecom.InCallService.html
new file mode 100644
index 0000000..ae1dc6b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.telecom.InCallService.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telecom.InCallService
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telecom.<A HREF="../../../../reference/android/telecom/InCallService.html" target="_top"><font size="+2"><code>InCallService</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.InCallService.onSilenceRinger_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/telecom/InCallService.html#onSilenceRinger()" target="_top"><code>onSilenceRinger</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.telecom.PhoneAccount.Builder.html b/docs/html/sdk/api_diff/24/changes/android.telecom.PhoneAccount.Builder.html
new file mode 100644
index 0000000..b7b1da3
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.telecom.PhoneAccount.Builder.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telecom.PhoneAccount.Builder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telecom.<A HREF="../../../../reference/android/telecom/PhoneAccount.Builder.html" target="_top"><font size="+2"><code>PhoneAccount.Builder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.PhoneAccount.Builder.setExtras_added(android.os.Bundle)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/telecom/PhoneAccount.Builder.html#setExtras(android.os.Bundle)" target="_top"><code>setExtras</code></A>(<code>Bundle</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.telecom.PhoneAccount.html b/docs/html/sdk/api_diff/24/changes/android.telecom.PhoneAccount.html
new file mode 100644
index 0000000..fa4f229
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.telecom.PhoneAccount.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telecom.PhoneAccount
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telecom.<A HREF="../../../../reference/android/telecom/PhoneAccount.html" target="_top"><font size="+2"><code>PhoneAccount</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.PhoneAccount.getExtras_added()"></A>
+  <nobr><code>Bundle</code>&nbsp;<A HREF="../../../../reference/android/telecom/PhoneAccount.html#getExtras()" target="_top"><code>getExtras</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.PhoneAccount.CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telecom/PhoneAccount.html#CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE" target="_top"><code>CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.PhoneAccount.EXTRA_CALL_SUBJECT_CHARACTER_ENCODING"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telecom/PhoneAccount.html#EXTRA_CALL_SUBJECT_CHARACTER_ENCODING" target="_top"><code>EXTRA_CALL_SUBJECT_CHARACTER_ENCODING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.PhoneAccount.EXTRA_CALL_SUBJECT_MAX_LENGTH"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telecom/PhoneAccount.html#EXTRA_CALL_SUBJECT_MAX_LENGTH" target="_top"><code>EXTRA_CALL_SUBJECT_MAX_LENGTH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.telecom.RemoteConference.html b/docs/html/sdk/api_diff/24/changes/android.telecom.RemoteConference.html
new file mode 100644
index 0000000..86a904d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.telecom.RemoteConference.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telecom.RemoteConference
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telecom.<A HREF="../../../../reference/android/telecom/RemoteConference.html" target="_top"><font size="+2"><code>RemoteConference</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.RemoteConference.getConnectionProperties_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telecom/RemoteConference.html#getConnectionProperties()" target="_top"><code>getConnectionProperties</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.telecom.TelecomManager.html b/docs/html/sdk/api_diff/24/changes/android.telecom.TelecomManager.html
new file mode 100644
index 0000000..22b77df
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.telecom.TelecomManager.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telecom.TelecomManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telecom.<A HREF="../../../../reference/android/telecom/TelecomManager.html" target="_top"><font size="+2"><code>TelecomManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.TelecomManager.createManageBlockedNumbersIntent_added()"></A>
+  <nobr><code>Intent</code>&nbsp;<A HREF="../../../../reference/android/telecom/TelecomManager.html#createManageBlockedNumbersIntent()" target="_top"><code>createManageBlockedNumbersIntent</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.TelecomManager.ACTION_SHOW_MISSED_CALLS_NOTIFICATION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telecom/TelecomManager.html#ACTION_SHOW_MISSED_CALLS_NOTIFICATION" target="_top"><code>ACTION_SHOW_MISSED_CALLS_NOTIFICATION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.TelecomManager.EXTRA_NOTIFICATION_COUNT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telecom/TelecomManager.html#EXTRA_NOTIFICATION_COUNT" target="_top"><code>EXTRA_NOTIFICATION_COUNT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.TelecomManager.EXTRA_NOTIFICATION_PHONE_NUMBER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telecom/TelecomManager.html#EXTRA_NOTIFICATION_PHONE_NUMBER" target="_top"><code>EXTRA_NOTIFICATION_PHONE_NUMBER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.TelecomManager.METADATA_IN_CALL_SERVICE_RINGING"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telecom/TelecomManager.html#METADATA_IN_CALL_SERVICE_RINGING" target="_top"><code>METADATA_IN_CALL_SERVICE_RINGING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.telephony.CarrierConfigManager.html b/docs/html/sdk/api_diff/24/changes/android.telephony.CarrierConfigManager.html
new file mode 100644
index 0000000..1c516af
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.telephony.CarrierConfigManager.html
@@ -0,0 +1,325 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telephony.CarrierConfigManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telephony.<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html" target="_top"><font size="+2"><code>CarrierConfigManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_ALLOW_ADDING_APNS_BOOL" target="_top"><code>KEY_ALLOW_ADDING_APNS_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL" target="_top"><code>KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL" target="_top"><code>KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL" target="_top"><code>KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL" target="_top"><code>KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_CARRIER_IMS_GBA_REQUIRED_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_CARRIER_IMS_GBA_REQUIRED_BOOL" target="_top"><code>KEY_CARRIER_IMS_GBA_REQUIRED_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL" target="_top"><code>KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING" target="_top"><code>KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING" target="_top"><code>KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING" target="_top"><code>KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT" target="_top"><code>KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL" target="_top"><code>KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL" target="_top"><code>KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_CDMA_DTMF_TONE_DELAY_INT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_CDMA_DTMF_TONE_DELAY_INT" target="_top"><code>KEY_CDMA_DTMF_TONE_DELAY_INT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_CI_ACTION_ON_SYS_UPDATE_BOOL" target="_top"><code>KEY_CI_ACTION_ON_SYS_UPDATE_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING" target="_top"><code>KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING" target="_top"><code>KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING" target="_top"><code>KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT" target="_top"><code>KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_EDITABLE_ENHANCED_4G_LTE_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_EDITABLE_ENHANCED_4G_LTE_BOOL" target="_top"><code>KEY_EDITABLE_ENHANCED_4G_LTE_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_GSM_DTMF_TONE_DELAY_INT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_GSM_DTMF_TONE_DELAY_INT" target="_top"><code>KEY_GSM_DTMF_TONE_DELAY_INT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_HIDE_IMS_APN_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_HIDE_IMS_APN_BOOL" target="_top"><code>KEY_HIDE_IMS_APN_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL" target="_top"><code>KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_IMS_DTMF_TONE_DELAY_INT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_IMS_DTMF_TONE_DELAY_INT" target="_top"><code>KEY_IMS_DTMF_TONE_DELAY_INT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL" target="_top"><code>KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL" target="_top"><code>KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_SUPPORT_CONFERENCE_CALL_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_SUPPORT_CONFERENCE_CALL_BOOL" target="_top"><code>KEY_SUPPORT_CONFERENCE_CALL_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_USE_RCS_PRESENCE_BOOL" target="_top"><code>KEY_USE_RCS_PRESENCE_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL" target="_top"><code>KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_VVM_PREFETCH_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_VVM_PREFETCH_BOOL" target="_top"><code>KEY_VVM_PREFETCH_BOOL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.telephony.CellIdentityGsm.html b/docs/html/sdk/api_diff/24/changes/android.telephony.CellIdentityGsm.html
new file mode 100644
index 0000000..bbcc42e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.telephony.CellIdentityGsm.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telephony.CellIdentityGsm
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telephony.<A HREF="../../../../reference/android/telephony/CellIdentityGsm.html" target="_top"><font size="+2"><code>CellIdentityGsm</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CellIdentityGsm.getArfcn_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/CellIdentityGsm.html#getArfcn()" target="_top"><code>getArfcn</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CellIdentityGsm.getBsic_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/CellIdentityGsm.html#getBsic()" target="_top"><code>getBsic</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.telephony.CellIdentityLte.html b/docs/html/sdk/api_diff/24/changes/android.telephony.CellIdentityLte.html
new file mode 100644
index 0000000..8315c81
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.telephony.CellIdentityLte.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telephony.CellIdentityLte
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telephony.<A HREF="../../../../reference/android/telephony/CellIdentityLte.html" target="_top"><font size="+2"><code>CellIdentityLte</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CellIdentityLte.getEarfcn_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/CellIdentityLte.html#getEarfcn()" target="_top"><code>getEarfcn</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.telephony.CellIdentityWcdma.html b/docs/html/sdk/api_diff/24/changes/android.telephony.CellIdentityWcdma.html
new file mode 100644
index 0000000..e53b22b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.telephony.CellIdentityWcdma.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telephony.CellIdentityWcdma
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telephony.<A HREF="../../../../reference/android/telephony/CellIdentityWcdma.html" target="_top"><font size="+2"><code>CellIdentityWcdma</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CellIdentityWcdma.getUarfcn_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/CellIdentityWcdma.html#getUarfcn()" target="_top"><code>getUarfcn</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.telephony.SubscriptionManager.html b/docs/html/sdk/api_diff/24/changes/android.telephony.SubscriptionManager.html
new file mode 100644
index 0000000..6ebaa5f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.telephony.SubscriptionManager.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telephony.SubscriptionManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telephony.<A HREF="../../../../reference/android/telephony/SubscriptionManager.html" target="_top"><font size="+2"><code>SubscriptionManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.SubscriptionManager.getDefaultDataSubscriptionId_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/SubscriptionManager.html#getDefaultDataSubscriptionId()" target="_top"><code>getDefaultDataSubscriptionId</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.SubscriptionManager.getDefaultSmsSubscriptionId_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/SubscriptionManager.html#getDefaultSmsSubscriptionId()" target="_top"><code>getDefaultSmsSubscriptionId</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.SubscriptionManager.getDefaultSubscriptionId_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/SubscriptionManager.html#getDefaultSubscriptionId()" target="_top"><code>getDefaultSubscriptionId</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.SubscriptionManager.getDefaultVoiceSubscriptionId_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/SubscriptionManager.html#getDefaultVoiceSubscriptionId()" target="_top"><code>getDefaultVoiceSubscriptionId</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/SubscriptionManager.html#INVALID_SUBSCRIPTION_ID" target="_top"><code>INVALID_SUBSCRIPTION_ID</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.telephony.TelephonyManager.html b/docs/html/sdk/api_diff/24/changes/android.telephony.TelephonyManager.html
new file mode 100644
index 0000000..85d5fa0
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.telephony.TelephonyManager.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telephony.TelephonyManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telephony.<A HREF="../../../../reference/android/telephony/TelephonyManager.html" target="_top"><font size="+2"><code>TelephonyManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.createForSubscriptionId_added(int)"></A>
+  <nobr><code>TelephonyManager</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#createForSubscriptionId(int)" target="_top"><code>createForSubscriptionId</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getDataNetworkType_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#getDataNetworkType()" target="_top"><code>getDataNetworkType</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getIccAuthentication_added(int, int, java.lang.String)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#getIccAuthentication(int, int, java.lang.String)" target="_top"><code>getIccAuthentication</code></A>(<code>int,</nobr> int<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getVoiceNetworkType_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#getVoiceNetworkType()" target="_top"><code>getVoiceNetworkType</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getVoicemailRingtoneUri_added(android.telecom.PhoneAccountHandle)"></A>
+  <nobr><code>Uri</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#getVoicemailRingtoneUri(android.telecom.PhoneAccountHandle)" target="_top"><code>getVoicemailRingtoneUri</code></A>(<code>PhoneAccountHandle</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.isVoicemailVibrationEnabled_added(android.telecom.PhoneAccountHandle)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#isVoicemailVibrationEnabled(android.telecom.PhoneAccountHandle)" target="_top"><code>isVoicemailVibrationEnabled</code></A>(<code>PhoneAccountHandle</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.APPTYPE_CSIM"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#APPTYPE_CSIM" target="_top"><code>APPTYPE_CSIM</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.APPTYPE_ISIM"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#APPTYPE_ISIM" target="_top"><code>APPTYPE_ISIM</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.APPTYPE_RUIM"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#APPTYPE_RUIM" target="_top"><code>APPTYPE_RUIM</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.APPTYPE_SIM"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#APPTYPE_SIM" target="_top"><code>APPTYPE_SIM</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.APPTYPE_USIM"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#APPTYPE_USIM" target="_top"><code>APPTYPE_USIM</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.AUTHTYPE_EAP_AKA"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#AUTHTYPE_EAP_AKA" target="_top"><code>AUTHTYPE_EAP_AKA</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.AUTHTYPE_EAP_SIM"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#AUTHTYPE_EAP_SIM" target="_top"><code>AUTHTYPE_EAP_SIM</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.ActivityInstrumentationTestCase2.html b/docs/html/sdk/api_diff/24/changes/android.test.ActivityInstrumentationTestCase2.html
new file mode 100644
index 0000000..2502ddd
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.ActivityInstrumentationTestCase2.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.ActivityInstrumentationTestCase2
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/ActivityInstrumentationTestCase2.html" target="_top"><font size="+2"><code>ActivityInstrumentationTestCase2</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.ActivityTestCase.html b/docs/html/sdk/api_diff/24/changes/android.test.ActivityTestCase.html
new file mode 100644
index 0000000..cb85233
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.ActivityTestCase.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.ActivityTestCase
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/ActivityTestCase.html" target="_top"><font size="+2"><code>ActivityTestCase</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.ActivityUnitTestCase.html b/docs/html/sdk/api_diff/24/changes/android.test.ActivityUnitTestCase.html
new file mode 100644
index 0000000..4c172c7
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.ActivityUnitTestCase.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.ActivityUnitTestCase
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/ActivityUnitTestCase.html" target="_top"><font size="+2"><code>ActivityUnitTestCase</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.AndroidTestCase.html b/docs/html/sdk/api_diff/24/changes/android.test.AndroidTestCase.html
new file mode 100644
index 0000000..4f6b587
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.AndroidTestCase.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.AndroidTestCase
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/AndroidTestCase.html" target="_top"><font size="+2"><code>AndroidTestCase</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.AndroidTestRunner.html b/docs/html/sdk/api_diff/24/changes/android.test.AndroidTestRunner.html
new file mode 100644
index 0000000..324b5ab
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.AndroidTestRunner.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.AndroidTestRunner
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/AndroidTestRunner.html" target="_top"><font size="+2"><code>AndroidTestRunner</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.ApplicationTestCase.html b/docs/html/sdk/api_diff/24/changes/android.test.ApplicationTestCase.html
new file mode 100644
index 0000000..7bc61c9
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.ApplicationTestCase.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.ApplicationTestCase
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/ApplicationTestCase.html" target="_top"><font size="+2"><code>ApplicationTestCase</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.FlakyTest.html b/docs/html/sdk/api_diff/24/changes/android.test.FlakyTest.html
new file mode 100644
index 0000000..1dd01ed
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.FlakyTest.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.FlakyTest
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/FlakyTest.html" target="_top"><font size="+2"><code>FlakyTest</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.InstrumentationTestCase.html b/docs/html/sdk/api_diff/24/changes/android.test.InstrumentationTestCase.html
new file mode 100644
index 0000000..1ccf546
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.InstrumentationTestCase.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.InstrumentationTestCase
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/InstrumentationTestCase.html" target="_top"><font size="+2"><code>InstrumentationTestCase</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.InstrumentationTestRunner.html b/docs/html/sdk/api_diff/24/changes/android.test.InstrumentationTestRunner.html
new file mode 100644
index 0000000..96825b7
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.InstrumentationTestRunner.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.InstrumentationTestRunner
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/InstrumentationTestRunner.html" target="_top"><font size="+2"><code>InstrumentationTestRunner</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.InstrumentationTestSuite.html b/docs/html/sdk/api_diff/24/changes/android.test.InstrumentationTestSuite.html
new file mode 100644
index 0000000..3dd18a1
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.InstrumentationTestSuite.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.InstrumentationTestSuite
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/InstrumentationTestSuite.html" target="_top"><font size="+2"><code>InstrumentationTestSuite</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.IsolatedContext.html b/docs/html/sdk/api_diff/24/changes/android.test.IsolatedContext.html
new file mode 100644
index 0000000..82b0216
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.IsolatedContext.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.IsolatedContext
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/IsolatedContext.html" target="_top"><font size="+2"><code>IsolatedContext</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.MoreAsserts.html b/docs/html/sdk/api_diff/24/changes/android.test.MoreAsserts.html
new file mode 100644
index 0000000..08d74d6
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.MoreAsserts.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.MoreAsserts
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/MoreAsserts.html" target="_top"><font size="+2"><code>MoreAsserts</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.PerformanceTestCase.html b/docs/html/sdk/api_diff/24/changes/android.test.PerformanceTestCase.html
new file mode 100644
index 0000000..02f9442
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.PerformanceTestCase.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.PerformanceTestCase
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface android.test.<A HREF="../../../../reference/android/test/PerformanceTestCase.html" target="_top"><font size="+2"><code>PerformanceTestCase</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.RenamingDelegatingContext.html b/docs/html/sdk/api_diff/24/changes/android.test.RenamingDelegatingContext.html
new file mode 100644
index 0000000..a2c5a35
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.RenamingDelegatingContext.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.RenamingDelegatingContext
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/RenamingDelegatingContext.html" target="_top"><font size="+2"><code>RenamingDelegatingContext</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.ServiceTestCase.html b/docs/html/sdk/api_diff/24/changes/android.test.ServiceTestCase.html
new file mode 100644
index 0000000..1149f38
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.ServiceTestCase.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.ServiceTestCase
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/ServiceTestCase.html" target="_top"><font size="+2"><code>ServiceTestCase</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.SingleLaunchActivityTestCase.html b/docs/html/sdk/api_diff/24/changes/android.test.SingleLaunchActivityTestCase.html
new file mode 100644
index 0000000..f70fa47
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.SingleLaunchActivityTestCase.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.SingleLaunchActivityTestCase
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/SingleLaunchActivityTestCase.html" target="_top"><font size="+2"><code>SingleLaunchActivityTestCase</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.SyncBaseInstrumentation.html b/docs/html/sdk/api_diff/24/changes/android.test.SyncBaseInstrumentation.html
new file mode 100644
index 0000000..66dd399
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.SyncBaseInstrumentation.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.SyncBaseInstrumentation
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/SyncBaseInstrumentation.html" target="_top"><font size="+2"><code>SyncBaseInstrumentation</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.TestSuiteProvider.html b/docs/html/sdk/api_diff/24/changes/android.test.TestSuiteProvider.html
new file mode 100644
index 0000000..7913a17
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.TestSuiteProvider.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.TestSuiteProvider
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface android.test.<A HREF="../../../../reference/android/test/TestSuiteProvider.html" target="_top"><font size="+2"><code>TestSuiteProvider</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.TouchUtils.html b/docs/html/sdk/api_diff/24/changes/android.test.TouchUtils.html
new file mode 100644
index 0000000..0f93222
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.TouchUtils.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.TouchUtils
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/TouchUtils.html" target="_top"><font size="+2"><code>TouchUtils</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.UiThreadTest.html b/docs/html/sdk/api_diff/24/changes/android.test.UiThreadTest.html
new file mode 100644
index 0000000..a838502
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.UiThreadTest.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.UiThreadTest
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/UiThreadTest.html" target="_top"><font size="+2"><code>UiThreadTest</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.ViewAsserts.html b/docs/html/sdk/api_diff/24/changes/android.test.ViewAsserts.html
new file mode 100644
index 0000000..9d18d6f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.ViewAsserts.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.ViewAsserts
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/ViewAsserts.html" target="_top"><font size="+2"><code>ViewAsserts</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.mock.MockApplication.html b/docs/html/sdk/api_diff/24/changes/android.test.mock.MockApplication.html
new file mode 100644
index 0000000..ca1bf3c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.mock.MockApplication.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.mock.MockApplication
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.mock.<A HREF="../../../../reference/android/test/mock/MockApplication.html" target="_top"><font size="+2"><code>MockApplication</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.mock.MockContext.html b/docs/html/sdk/api_diff/24/changes/android.test.mock.MockContext.html
new file mode 100644
index 0000000..0a2ac63
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.mock.MockContext.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.mock.MockContext
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.mock.<A HREF="../../../../reference/android/test/mock/MockContext.html" target="_top"><font size="+2"><code>MockContext</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockContext.createDeviceProtectedStorageContext_added()"></A>
+  <nobr><code>Context</code>&nbsp;<A HREF="../../../../reference/android/test/mock/MockContext.html#createDeviceProtectedStorageContext()" target="_top"><code>createDeviceProtectedStorageContext</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockContext.deleteSharedPreferences_added(java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/test/mock/MockContext.html#deleteSharedPreferences(java.lang.String)" target="_top"><code>deleteSharedPreferences</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockContext.getDataDir_added()"></A>
+  <nobr><code>File</code>&nbsp;<A HREF="../../../../reference/android/test/mock/MockContext.html#getDataDir()" target="_top"><code>getDataDir</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockContext.isDeviceProtectedStorage_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/test/mock/MockContext.html#isDeviceProtectedStorage()" target="_top"><code>isDeviceProtectedStorage</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockContext.moveDatabaseFrom_added(android.content.Context, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/test/mock/MockContext.html#moveDatabaseFrom(android.content.Context, java.lang.String)" target="_top"><code>moveDatabaseFrom</code></A>(<code>Context,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockContext.moveSharedPreferencesFrom_added(android.content.Context, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/test/mock/MockContext.html#moveSharedPreferencesFrom(android.content.Context, java.lang.String)" target="_top"><code>moveSharedPreferencesFrom</code></A>(<code>Context,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.mock.MockCursor.html b/docs/html/sdk/api_diff/24/changes/android.test.mock.MockCursor.html
new file mode 100644
index 0000000..19ad016
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.mock.MockCursor.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.mock.MockCursor
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.mock.<A HREF="../../../../reference/android/test/mock/MockCursor.html" target="_top"><font size="+2"><code>MockCursor</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.mock.MockDialogInterface.html b/docs/html/sdk/api_diff/24/changes/android.test.mock.MockDialogInterface.html
new file mode 100644
index 0000000..db9ad6f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.mock.MockDialogInterface.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.mock.MockDialogInterface
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.mock.<A HREF="../../../../reference/android/test/mock/MockDialogInterface.html" target="_top"><font size="+2"><code>MockDialogInterface</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.mock.MockPackageManager.html b/docs/html/sdk/api_diff/24/changes/android.test.mock.MockPackageManager.html
new file mode 100644
index 0000000..81b106a
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.mock.MockPackageManager.html
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.mock.MockPackageManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.mock.<A HREF="../../../../reference/android/test/mock/MockPackageManager.html" target="_top"><font size="+2"><code>MockPackageManager</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockPackageManager.getDefaultBrowserPackageName_removed(int)"></A>
+  <nobr><code>String</code>&nbsp;getDefaultBrowserPackageName(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockPackageManager.setDefaultBrowserPackageName_removed(java.lang.String, int)"></A>
+  <nobr><code>boolean</code>&nbsp;setDefaultBrowserPackageName(<code>String,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockPackageManager.getPackageGids_added(java.lang.String, int)"></A>
+  <nobr><code>int[]</code>&nbsp;<A HREF="../../../../reference/android/test/mock/MockPackageManager.html#getPackageGids(java.lang.String, int)" target="_top"><code>getPackageGids</code></A>(<code>String,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockPackageManager.getPackageUid_added(java.lang.String, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/test/mock/MockPackageManager.html#getPackageUid(java.lang.String, int)" target="_top"><code>getPackageUid</code></A>(<code>String,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockPackageManager.hasSystemFeature_added(java.lang.String, int)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/test/mock/MockPackageManager.html#hasSystemFeature(java.lang.String, int)" target="_top"><code>hasSystemFeature</code></A>(<code>String,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.mock.MockResources.html b/docs/html/sdk/api_diff/24/changes/android.test.mock.MockResources.html
new file mode 100644
index 0000000..9a640a8
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.mock.MockResources.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.mock.MockResources
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.mock.<A HREF="../../../../reference/android/test/mock/MockResources.html" target="_top"><font size="+2"><code>MockResources</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.suitebuilder.annotation.LargeTest.html b/docs/html/sdk/api_diff/24/changes/android.test.suitebuilder.annotation.LargeTest.html
new file mode 100644
index 0000000..f55db07
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.suitebuilder.annotation.LargeTest.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.suitebuilder.annotation.LargeTest
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.suitebuilder.annotation.<A HREF="../../../../reference/android/test/suitebuilder/annotation/LargeTest.html" target="_top"><font size="+2"><code>LargeTest</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.suitebuilder.annotation.MediumTest.html b/docs/html/sdk/api_diff/24/changes/android.test.suitebuilder.annotation.MediumTest.html
new file mode 100644
index 0000000..3d595bb
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.suitebuilder.annotation.MediumTest.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.suitebuilder.annotation.MediumTest
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.suitebuilder.annotation.<A HREF="../../../../reference/android/test/suitebuilder/annotation/MediumTest.html" target="_top"><font size="+2"><code>MediumTest</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.suitebuilder.annotation.SmallTest.html b/docs/html/sdk/api_diff/24/changes/android.test.suitebuilder.annotation.SmallTest.html
new file mode 100644
index 0000000..c0d0412
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.suitebuilder.annotation.SmallTest.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.suitebuilder.annotation.SmallTest
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.suitebuilder.annotation.<A HREF="../../../../reference/android/test/suitebuilder/annotation/SmallTest.html" target="_top"><font size="+2"><code>SmallTest</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.suitebuilder.annotation.Smoke.html b/docs/html/sdk/api_diff/24/changes/android.test.suitebuilder.annotation.Smoke.html
new file mode 100644
index 0000000..206eb69
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.suitebuilder.annotation.Smoke.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.suitebuilder.annotation.Smoke
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.suitebuilder.annotation.<A HREF="../../../../reference/android/test/suitebuilder/annotation/Smoke.html" target="_top"><font size="+2"><code>Smoke</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.test.suitebuilder.annotation.Suppress.html b/docs/html/sdk/api_diff/24/changes/android.test.suitebuilder.annotation.Suppress.html
new file mode 100644
index 0000000..b70ec82
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.test.suitebuilder.annotation.Suppress.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.suitebuilder.annotation.Suppress
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.suitebuilder.annotation.<A HREF="../../../../reference/android/test/suitebuilder/annotation/Suppress.html" target="_top"><font size="+2"><code>Suppress</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.text.Html.html b/docs/html/sdk/api_diff/24/changes/android.text.Html.html
new file mode 100644
index 0000000..41c4880
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.text.Html.html
@@ -0,0 +1,259 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.text.Html
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.text.<A HREF="../../../../reference/android/text/Html.html" target="_top"><font size="+2"><code>Html</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.Html.fromHtml_added(java.lang.String, int)"></A>
+  <nobr><code>Spanned</code>&nbsp;<A HREF="../../../../reference/android/text/Html.html#fromHtml(java.lang.String, int)" target="_top"><code>fromHtml</code></A>(<code>String,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.Html.fromHtml_added(java.lang.String, int, android.text.Html.ImageGetter, android.text.Html.TagHandler)"></A>
+  <nobr><code>Spanned</code>&nbsp;<A HREF="../../../../reference/android/text/Html.html#fromHtml(java.lang.String, int, android.text.Html.ImageGetter, android.text.Html.TagHandler)" target="_top"><code>fromHtml</code></A>(<code>String,</nobr> int<nobr>,</nobr> ImageGetter<nobr>,</nobr> TagHandler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.Html.toHtml_added(android.text.Spanned, int)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/text/Html.html#toHtml(android.text.Spanned, int)" target="_top"><code>toHtml</code></A>(<code>Spanned,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.Html.fromHtml_changed(java.lang.String)"></A>
+  <nobr><code>Spanned</code>&nbsp;<A HREF="../../../../reference/android/text/Html.html#fromHtml(java.lang.String)" target="_top"><code>fromHtml</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.Html.fromHtml_changed(java.lang.String, android.text.Html.ImageGetter, android.text.Html.TagHandler)"></A>
+  <nobr><code>Spanned</code>&nbsp;<A HREF="../../../../reference/android/text/Html.html#fromHtml(java.lang.String, android.text.Html.ImageGetter, android.text.Html.TagHandler)" target="_top"><code>fromHtml</code></A>(<code>String,</nobr> ImageGetter<nobr>,</nobr> TagHandler<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.Html.toHtml_changed(android.text.Spanned)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/text/Html.html#toHtml(android.text.Spanned)" target="_top"><code>toHtml</code></A>(<code>Spanned</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.Html.FROM_HTML_MODE_COMPACT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/Html.html#FROM_HTML_MODE_COMPACT" target="_top"><code>FROM_HTML_MODE_COMPACT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.Html.FROM_HTML_MODE_LEGACY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/Html.html#FROM_HTML_MODE_LEGACY" target="_top"><code>FROM_HTML_MODE_LEGACY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.Html.FROM_HTML_OPTION_USE_CSS_COLORS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/Html.html#FROM_HTML_OPTION_USE_CSS_COLORS" target="_top"><code>FROM_HTML_OPTION_USE_CSS_COLORS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/Html.html#FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE" target="_top"><code>FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_DIV"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/Html.html#FROM_HTML_SEPARATOR_LINE_BREAK_DIV" target="_top"><code>FROM_HTML_SEPARATOR_LINE_BREAK_DIV</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_HEADING"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/Html.html#FROM_HTML_SEPARATOR_LINE_BREAK_HEADING" target="_top"><code>FROM_HTML_SEPARATOR_LINE_BREAK_HEADING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_LIST"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/Html.html#FROM_HTML_SEPARATOR_LINE_BREAK_LIST" target="_top"><code>FROM_HTML_SEPARATOR_LINE_BREAK_LIST</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/Html.html#FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM" target="_top"><code>FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/Html.html#FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH" target="_top"><code>FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.Html.TO_HTML_PARAGRAPH_LINES_CONSECUTIVE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/Html.html#TO_HTML_PARAGRAPH_LINES_CONSECUTIVE" target="_top"><code>TO_HTML_PARAGRAPH_LINES_CONSECUTIVE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.Html.TO_HTML_PARAGRAPH_LINES_INDIVIDUAL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/Html.html#TO_HTML_PARAGRAPH_LINES_INDIVIDUAL" target="_top"><code>TO_HTML_PARAGRAPH_LINES_INDIVIDUAL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.text.TextUtils.SimpleStringSplitter.html b/docs/html/sdk/api_diff/24/changes/android.text.TextUtils.SimpleStringSplitter.html
new file mode 100644
index 0000000..615e2dd
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.text.TextUtils.SimpleStringSplitter.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.text.TextUtils.SimpleStringSplitter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.text.<A HREF="../../../../reference/android/text/TextUtils.SimpleStringSplitter.html" target="_top"><font size="+2"><code>TextUtils.SimpleStringSplitter</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.TextUtils.SimpleStringSplitter.remove_removed()"></A>
+  <nobr><code>void</code>&nbsp;remove()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.text.TextUtils.html b/docs/html/sdk/api_diff/24/changes/android.text.TextUtils.html
new file mode 100644
index 0000000..0375327
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.text.TextUtils.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.text.TextUtils
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.text.<A HREF="../../../../reference/android/text/TextUtils.html" target="_top"><font size="+2"><code>TextUtils</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.TextUtils.getReverse_changed(java.lang.CharSequence, int, int)"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/text/TextUtils.html#getReverse(java.lang.CharSequence, int, int)" target="_top"><code>getReverse</code></A>(<code>CharSequence,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.TextUtils.isGraphic_changed(char)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/text/TextUtils.html#isGraphic(char)" target="_top"><code>isGraphic</code></A>(<code>char</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.text.style.LocaleSpan.html b/docs/html/sdk/api_diff/24/changes/android.text.style.LocaleSpan.html
new file mode 100644
index 0000000..2fe0601
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.text.style.LocaleSpan.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.text.style.LocaleSpan
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.text.style.<A HREF="../../../../reference/android/text/style/LocaleSpan.html" target="_top"><font size="+2"><code>LocaleSpan</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.style.LocaleSpan.ctor_added(android.os.LocaleList)"></A>
+  <nobr><A HREF="../../../../reference/android/text/style/LocaleSpan.html#LocaleSpan(android.os.LocaleList)" target="_top"><code>LocaleSpan</code></A>(<code>LocaleList</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.style.LocaleSpan.getLocales_added()"></A>
+  <nobr><code>LocaleList</code>&nbsp;<A HREF="../../../../reference/android/text/style/LocaleSpan.html#getLocales()" target="_top"><code>getLocales</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.text.style.SuggestionSpan.html b/docs/html/sdk/api_diff/24/changes/android.text.style.SuggestionSpan.html
new file mode 100644
index 0000000..7afdb9b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.text.style.SuggestionSpan.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.text.style.SuggestionSpan
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.text.style.<A HREF="../../../../reference/android/text/style/SuggestionSpan.html" target="_top"><font size="+2"><code>SuggestionSpan</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.style.SuggestionSpan.getLocaleObject_added()"></A>
+  <nobr><code>Locale</code>&nbsp;<A HREF="../../../../reference/android/text/style/SuggestionSpan.html#getLocaleObject()" target="_top"><code>getLocaleObject</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.style.SuggestionSpan.getLocale_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/text/style/SuggestionSpan.html#getLocale()" target="_top"><code>getLocale</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.text.util.Linkify.html b/docs/html/sdk/api_diff/24/changes/android.text.util.Linkify.html
new file mode 100644
index 0000000..e586e4b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.text.util.Linkify.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.text.util.Linkify
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.text.util.<A HREF="../../../../reference/android/text/util/Linkify.html" target="_top"><font size="+2"><code>Linkify</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.util.Linkify.addLinks_added(android.text.Spannable, java.util.regex.Pattern, java.lang.String, java.lang.String[], android.text.util.Linkify.MatchFilter, android.text.util.Linkify.TransformFilter)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/text/util/Linkify.html#addLinks(android.text.Spannable, java.util.regex.Pattern, java.lang.String, java.lang.String[], android.text.util.Linkify.MatchFilter, android.text.util.Linkify.TransformFilter)" target="_top"><code>addLinks</code></A>(<code>Spannable,</nobr> Pattern<nobr>,</nobr> String<nobr>,</nobr> String[]<nobr>,</nobr> MatchFilter<nobr>,</nobr> TransformFilter<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.util.Linkify.addLinks_added(android.widget.TextView, java.util.regex.Pattern, java.lang.String, java.lang.String[], android.text.util.Linkify.MatchFilter, android.text.util.Linkify.TransformFilter)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/text/util/Linkify.html#addLinks(android.widget.TextView, java.util.regex.Pattern, java.lang.String, java.lang.String[], android.text.util.Linkify.MatchFilter, android.text.util.Linkify.TransformFilter)" target="_top"><code>addLinks</code></A>(<code>TextView,</nobr> Pattern<nobr>,</nobr> String<nobr>,</nobr> String[]<nobr>,</nobr> MatchFilter<nobr>,</nobr> TransformFilter<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.util.DisplayMetrics.html b/docs/html/sdk/api_diff/24/changes/android.util.DisplayMetrics.html
new file mode 100644
index 0000000..31f64e9
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.util.DisplayMetrics.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.util.DisplayMetrics
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.util.<A HREF="../../../../reference/android/util/DisplayMetrics.html" target="_top"><font size="+2"><code>DisplayMetrics</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.util.DisplayMetrics.DENSITY_DEVICE_STABLE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/util/DisplayMetrics.html#DENSITY_DEVICE_STABLE" target="_top"><code>DENSITY_DEVICE_STABLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.util.Patterns.html b/docs/html/sdk/api_diff/24/changes/android.util.Patterns.html
new file mode 100644
index 0000000..4d0040c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.util.Patterns.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.util.Patterns
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.util.<A HREF="../../../../reference/android/util/Patterns.html" target="_top"><font size="+2"><code>Patterns</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.util.Patterns.GOOD_IRI_CHAR"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/util/Patterns.html#GOOD_IRI_CHAR" target="_top"><code>GOOD_IRI_CHAR</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.AbsSavedState.html b/docs/html/sdk/api_diff/24/changes/android.view.AbsSavedState.html
new file mode 100644
index 0000000..cc2b752
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.AbsSavedState.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.AbsSavedState
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/AbsSavedState.html" target="_top"><font size="+2"><code>AbsSavedState</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.AbsSavedState.ctor_added(android.os.Parcel, java.lang.ClassLoader)"></A>
+  <nobr><A HREF="../../../../reference/android/view/AbsSavedState.html#AbsSavedState(android.os.Parcel, java.lang.ClassLoader)" target="_top"><code>AbsSavedState</code></A>(<code>Parcel,</nobr> ClassLoader<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.Display.html b/docs/html/sdk/api_diff/24/changes/android.view.Display.html
new file mode 100644
index 0000000..a45cb61
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.Display.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.Display
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/Display.html" target="_top"><font size="+2"><code>Display</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Display.getHdrCapabilities_added()"></A>
+  <nobr><code>HdrCapabilities</code>&nbsp;<A HREF="../../../../reference/android/view/Display.html#getHdrCapabilities()" target="_top"><code>getHdrCapabilities</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.KeyEvent.html b/docs/html/sdk/api_diff/24/changes/android.view.KeyEvent.html
new file mode 100644
index 0000000..11ca522
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.KeyEvent.html
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.KeyEvent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/KeyEvent.html" target="_top"><font size="+2"><code>KeyEvent</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.KeyEvent.KEYCODE_COPY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/KeyEvent.html#KEYCODE_COPY" target="_top"><code>KEYCODE_COPY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.KeyEvent.KEYCODE_CUT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/KeyEvent.html#KEYCODE_CUT" target="_top"><code>KEYCODE_CUT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.KeyEvent.KEYCODE_DPAD_DOWN_LEFT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/KeyEvent.html#KEYCODE_DPAD_DOWN_LEFT" target="_top"><code>KEYCODE_DPAD_DOWN_LEFT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.KeyEvent.KEYCODE_DPAD_DOWN_RIGHT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/KeyEvent.html#KEYCODE_DPAD_DOWN_RIGHT" target="_top"><code>KEYCODE_DPAD_DOWN_RIGHT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.KeyEvent.KEYCODE_DPAD_UP_LEFT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/KeyEvent.html#KEYCODE_DPAD_UP_LEFT" target="_top"><code>KEYCODE_DPAD_UP_LEFT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.KeyEvent.KEYCODE_DPAD_UP_RIGHT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/KeyEvent.html#KEYCODE_DPAD_UP_RIGHT" target="_top"><code>KEYCODE_DPAD_UP_RIGHT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.KeyEvent.KEYCODE_PASTE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/KeyEvent.html#KEYCODE_PASTE" target="_top"><code>KEYCODE_PASTE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.KeyEvent.KEYCODE_SOFT_SLEEP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/KeyEvent.html#KEYCODE_SOFT_SLEEP" target="_top"><code>KEYCODE_SOFT_SLEEP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.KeyEvent.KEYCODE_STEM_1"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/KeyEvent.html#KEYCODE_STEM_1" target="_top"><code>KEYCODE_STEM_1</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.KeyEvent.KEYCODE_STEM_2"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/KeyEvent.html#KEYCODE_STEM_2" target="_top"><code>KEYCODE_STEM_2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.KeyEvent.KEYCODE_STEM_3"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/KeyEvent.html#KEYCODE_STEM_3" target="_top"><code>KEYCODE_STEM_3</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.KeyEvent.KEYCODE_STEM_PRIMARY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/KeyEvent.html#KEYCODE_STEM_PRIMARY" target="_top"><code>KEYCODE_STEM_PRIMARY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.MotionEvent.html b/docs/html/sdk/api_diff/24/changes/android.view.MotionEvent.html
new file mode 100644
index 0000000..dbb981c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.MotionEvent.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.MotionEvent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/MotionEvent.html" target="_top"><font size="+2"><code>MotionEvent</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.AXIS_RELATIVE_X"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#AXIS_RELATIVE_X" target="_top"><code>AXIS_RELATIVE_X</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.AXIS_RELATIVE_Y"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#AXIS_RELATIVE_Y" target="_top"><code>AXIS_RELATIVE_Y</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.View.BaseSavedState.html b/docs/html/sdk/api_diff/24/changes/android.view.View.BaseSavedState.html
new file mode 100644
index 0000000..9c85236
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.View.BaseSavedState.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.View.BaseSavedState
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/View.BaseSavedState.html" target="_top"><font size="+2"><code>View.BaseSavedState</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.BaseSavedState.ctor_added(android.os.Parcel, java.lang.ClassLoader)"></A>
+  <nobr><A HREF="../../../../reference/android/view/View.BaseSavedState.html#View.BaseSavedState(android.os.Parcel, java.lang.ClassLoader)" target="_top"><code>View.BaseSavedState</code></A>(<code>Parcel,</nobr> ClassLoader<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.View.html b/docs/html/sdk/api_diff/24/changes/android.view.View.html
new file mode 100644
index 0000000..a93947d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.View.html
@@ -0,0 +1,288 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.View
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/View.html" target="_top"><font size="+2"><code>View</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.cancelDragAndDrop_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#cancelDragAndDrop()" target="_top"><code>cancelDragAndDrop</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.dispatchFinishTemporaryDetach_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#dispatchFinishTemporaryDetach()" target="_top"><code>dispatchFinishTemporaryDetach</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.dispatchStartTemporaryDetach_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#dispatchStartTemporaryDetach()" target="_top"><code>dispatchStartTemporaryDetach</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.forceHasOverlappingRendering_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#forceHasOverlappingRendering(boolean)" target="_top"><code>forceHasOverlappingRendering</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.getHasOverlappingRendering_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#getHasOverlappingRendering()" target="_top"><code>getHasOverlappingRendering</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.getPointerIcon_added()"></A>
+  <nobr><code>PointerIcon</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#getPointerIcon()" target="_top"><code>getPointerIcon</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.isTemporarilyDetached_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#isTemporarilyDetached()" target="_top"><code>isTemporarilyDetached</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.onResolvePointerIcon_added(android.view.MotionEvent, int)"></A>
+  <nobr><code>PointerIcon</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#onResolvePointerIcon(android.view.MotionEvent, int)" target="_top"><code>onResolvePointerIcon</code></A>(<code>MotionEvent,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.onVisibilityAggregated_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#onVisibilityAggregated(boolean)" target="_top"><code>onVisibilityAggregated</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.performContextClick_added(float, float)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#performContextClick(float, float)" target="_top"><code>performContextClick</code></A>(<code>float,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.performLongClick_added(float, float)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#performLongClick(float, float)" target="_top"><code>performLongClick</code></A>(<code>float,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.setPointerIcon_added(android.view.PointerIcon)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#setPointerIcon(android.view.PointerIcon)" target="_top"><code>setPointerIcon</code></A>(<code>PointerIcon</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.showContextMenu_added(float, float)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#showContextMenu(float, float)" target="_top"><code>showContextMenu</code></A>(<code>float,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.startDragAndDrop_added(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#startDragAndDrop(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)" target="_top"><code>startDragAndDrop</code></A>(<code>ClipData,</nobr> DragShadowBuilder<nobr>,</nobr> Object<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.updateDragShadow_added(android.view.View.DragShadowBuilder)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#updateDragShadow(android.view.View.DragShadowBuilder)" target="_top"><code>updateDragShadow</code></A>(<code>DragShadowBuilder</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.startDrag_changed(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#startDrag(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)" target="_top"><code>startDrag</code></A>(<code>ClipData,</nobr> DragShadowBuilder<nobr>,</nobr> Object<nobr>,</nobr> int<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.DRAG_FLAG_GLOBAL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#DRAG_FLAG_GLOBAL" target="_top"><code>DRAG_FLAG_GLOBAL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION" target="_top"><code>DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION" target="_top"><code>DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.DRAG_FLAG_GLOBAL_URI_READ"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#DRAG_FLAG_GLOBAL_URI_READ" target="_top"><code>DRAG_FLAG_GLOBAL_URI_READ</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.DRAG_FLAG_GLOBAL_URI_WRITE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#DRAG_FLAG_GLOBAL_URI_WRITE" target="_top"><code>DRAG_FLAG_GLOBAL_URI_WRITE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.DRAG_FLAG_OPAQUE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#DRAG_FLAG_OPAQUE" target="_top"><code>DRAG_FLAG_OPAQUE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.ViewGroup.html b/docs/html/sdk/api_diff/24/changes/android.view.ViewGroup.html
new file mode 100644
index 0000000..8ab329f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.ViewGroup.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.ViewGroup
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/ViewGroup.html" target="_top"><font size="+2"><code>ViewGroup</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.ViewGroup.showContextMenuForChild_added(android.view.View, float, float)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/ViewGroup.html#showContextMenuForChild(android.view.View, float, float)" target="_top"><code>showContextMenuForChild</code></A>(<code>View,</nobr> float<nobr>,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.ViewParent.html b/docs/html/sdk/api_diff/24/changes/android.view.ViewParent.html
new file mode 100644
index 0000000..3f20988
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.ViewParent.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.ViewParent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface android.view.<A HREF="../../../../reference/android/view/ViewParent.html" target="_top"><font size="+2"><code>ViewParent</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.ViewParent.showContextMenuForChild_added(android.view.View, float, float)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/ViewParent.html#showContextMenuForChild(android.view.View, float, float)" target="_top"><code>showContextMenuForChild</code></A>(<code>View,</nobr> float<nobr>,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.Window.Callback.html b/docs/html/sdk/api_diff/24/changes/android.view.Window.Callback.html
new file mode 100644
index 0000000..af5e89d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.Window.Callback.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.Window.Callback
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface android.view.<A HREF="../../../../reference/android/view/Window.Callback.html" target="_top"><font size="+2"><code>Window.Callback</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.Callback.onProvideKeyboardShortcuts_added(java.util.List<android.view.KeyboardShortcutGroup>, android.view.Menu, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/Window.Callback.html#onProvideKeyboardShortcuts(java.util.List<android.view.KeyboardShortcutGroup>, android.view.Menu, int)" target="_top"><code>onProvideKeyboardShortcuts</code></A>(<code>List&lt;KeyboardShortcutGroup&gt;,</nobr> Menu<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.Window.html b/docs/html/sdk/api_diff/24/changes/android.view.Window.html
new file mode 100644
index 0000000..ecd0076
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.Window.html
@@ -0,0 +1,284 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.Window
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/Window.html" target="_top"><font size="+2"><code>Window</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.addOnFrameMetricsAvailableListener_added(android.view.Window.OnFrameMetricsAvailableListener, android.os.Handler)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#addOnFrameMetricsAvailableListener(android.view.Window.OnFrameMetricsAvailableListener, android.os.Handler)" target="_top"><code>addOnFrameMetricsAvailableListener</code></A>(<code>OnFrameMetricsAvailableListener,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.removeOnFrameMetricsAvailableListener_added(android.view.Window.OnFrameMetricsAvailableListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#removeOnFrameMetricsAvailableListener(android.view.Window.OnFrameMetricsAvailableListener)" target="_top"><code>removeOnFrameMetricsAvailableListener</code></A>(<code>OnFrameMetricsAvailableListener</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.setDecorCaptionShade_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#setDecorCaptionShade(int)" target="_top"><code>setDecorCaptionShade</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.setResizingCaptionDrawable_added(android.graphics.drawable.Drawable)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#setResizingCaptionDrawable(android.graphics.drawable.Drawable)" target="_top"><code>setResizingCaptionDrawable</code></A>(<code>Drawable</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.setRestrictedCaptionAreaListener_added(android.view.Window.OnRestrictedCaptionAreaChangedListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#setRestrictedCaptionAreaListener(android.view.Window.OnRestrictedCaptionAreaChangedListener)" target="_top"><code>setRestrictedCaptionAreaListener</code></A>(<code>OnRestrictedCaptionAreaChangedListener</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.setSustainedPerformanceMode_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#setSustainedPerformanceMode(boolean)" target="_top"><code>setSustainedPerformanceMode</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.DECOR_CAPTION_SHADE_AUTO"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#DECOR_CAPTION_SHADE_AUTO" target="_top"><code>DECOR_CAPTION_SHADE_AUTO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.DECOR_CAPTION_SHADE_DARK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#DECOR_CAPTION_SHADE_DARK" target="_top"><code>DECOR_CAPTION_SHADE_DARK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.DECOR_CAPTION_SHADE_LIGHT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#DECOR_CAPTION_SHADE_LIGHT" target="_top"><code>DECOR_CAPTION_SHADE_LIGHT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.FEATURE_INDETERMINATE_PROGRESS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#FEATURE_INDETERMINATE_PROGRESS" target="_top"><code>FEATURE_INDETERMINATE_PROGRESS</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.FEATURE_PROGRESS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#FEATURE_PROGRESS" target="_top"><code>FEATURE_PROGRESS</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.PROGRESS_END"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#PROGRESS_END" target="_top"><code>PROGRESS_END</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.PROGRESS_INDETERMINATE_OFF"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#PROGRESS_INDETERMINATE_OFF" target="_top"><code>PROGRESS_INDETERMINATE_OFF</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.PROGRESS_INDETERMINATE_ON"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#PROGRESS_INDETERMINATE_ON" target="_top"><code>PROGRESS_INDETERMINATE_ON</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.PROGRESS_SECONDARY_END"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#PROGRESS_SECONDARY_END" target="_top"><code>PROGRESS_SECONDARY_END</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.PROGRESS_SECONDARY_START"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#PROGRESS_SECONDARY_START" target="_top"><code>PROGRESS_SECONDARY_START</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.PROGRESS_START"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#PROGRESS_START" target="_top"><code>PROGRESS_START</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.PROGRESS_VISIBILITY_OFF"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#PROGRESS_VISIBILITY_OFF" target="_top"><code>PROGRESS_VISIBILITY_OFF</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.PROGRESS_VISIBILITY_ON"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#PROGRESS_VISIBILITY_ON" target="_top"><code>PROGRESS_VISIBILITY_ON</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.html b/docs/html/sdk/api_diff/24/changes/android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.html
new file mode 100644
index 0000000..d059238
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.accessibility.<A HREF="../../../../reference/android/view/accessibility/AccessibilityNodeInfo.AccessibilityAction.html" target="_top"><font size="+2"><code>AccessibilityNodeInfo.AccessibilityAction</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.ACTION_SET_PROGRESS"></A>
+  <nobr><code>AccessibilityAction</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityNodeInfo.AccessibilityAction.html#ACTION_SET_PROGRESS" target="_top"><code>ACTION_SET_PROGRESS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.accessibility.AccessibilityNodeInfo.html b/docs/html/sdk/api_diff/24/changes/android.view.accessibility.AccessibilityNodeInfo.html
new file mode 100644
index 0000000..0a5c95b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.accessibility.AccessibilityNodeInfo.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.accessibility.AccessibilityNodeInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.accessibility.<A HREF="../../../../reference/android/view/accessibility/AccessibilityNodeInfo.html" target="_top"><font size="+2"><code>AccessibilityNodeInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityNodeInfo.getDrawingOrder_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityNodeInfo.html#getDrawingOrder()" target="_top"><code>getDrawingOrder</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityNodeInfo.isImportantForAccessibility_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityNodeInfo.html#isImportantForAccessibility()" target="_top"><code>isImportantForAccessibility</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityNodeInfo.setDrawingOrder_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityNodeInfo.html#setDrawingOrder(int)" target="_top"><code>setDrawingOrder</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityNodeInfo.setImportantForAccessibility_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityNodeInfo.html#setImportantForAccessibility(boolean)" target="_top"><code>setImportantForAccessibility</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityNodeInfo.ACTION_ARGUMENT_PROGRESS_VALUE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityNodeInfo.html#ACTION_ARGUMENT_PROGRESS_VALUE" target="_top"><code>ACTION_ARGUMENT_PROGRESS_VALUE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.accessibility.AccessibilityWindowInfo.html b/docs/html/sdk/api_diff/24/changes/android.view.accessibility.AccessibilityWindowInfo.html
new file mode 100644
index 0000000..86da9c1
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.accessibility.AccessibilityWindowInfo.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.accessibility.AccessibilityWindowInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.accessibility.<A HREF="../../../../reference/android/view/accessibility/AccessibilityWindowInfo.html" target="_top"><font size="+2"><code>AccessibilityWindowInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityWindowInfo.getAnchor_added()"></A>
+  <nobr><code>AccessibilityNodeInfo</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityWindowInfo.html#getAnchor()" target="_top"><code>getAnchor</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityWindowInfo.getTitle_added()"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityWindowInfo.html#getTitle()" target="_top"><code>getTitle</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityWindowInfo.TYPE_SPLIT_SCREEN_DIVIDER"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityWindowInfo.html#TYPE_SPLIT_SCREEN_DIVIDER" target="_top"><code>TYPE_SPLIT_SCREEN_DIVIDER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.BaseInputConnection.html b/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.BaseInputConnection.html
new file mode 100644
index 0000000..70dded8
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.BaseInputConnection.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.inputmethod.BaseInputConnection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.inputmethod.<A HREF="../../../../reference/android/view/inputmethod/BaseInputConnection.html" target="_top"><font size="+2"><code>BaseInputConnection</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.BaseInputConnection.closeConnection_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/BaseInputConnection.html#closeConnection()" target="_top"><code>closeConnection</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.BaseInputConnection.deleteSurroundingTextInCodePoints_added(int, int)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/BaseInputConnection.html#deleteSurroundingTextInCodePoints(int, int)" target="_top"><code>deleteSurroundingTextInCodePoints</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.BaseInputConnection.getHandler_added()"></A>
+  <nobr><code>Handler</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/BaseInputConnection.html#getHandler()" target="_top"><code>getHandler</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.EditorInfo.html b/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.EditorInfo.html
new file mode 100644
index 0000000..a31e564
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.EditorInfo.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.inputmethod.EditorInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.inputmethod.<A HREF="../../../../reference/android/view/inputmethod/EditorInfo.html" target="_top"><font size="+2"><code>EditorInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.EditorInfo.hintLocales"></A>
+  <nobr><code>LocaleList</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/EditorInfo.html#hintLocales" target="_top"><code>hintLocales</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.InputConnection.html b/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.InputConnection.html
new file mode 100644
index 0000000..472cc82
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.InputConnection.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.inputmethod.InputConnection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface android.view.inputmethod.<A HREF="../../../../reference/android/view/inputmethod/InputConnection.html" target="_top"><font size="+2"><code>InputConnection</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.InputConnection.closeConnection_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/InputConnection.html#closeConnection()" target="_top"><code>closeConnection</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.InputConnection.deleteSurroundingTextInCodePoints_added(int, int)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/InputConnection.html#deleteSurroundingTextInCodePoints(int, int)" target="_top"><code>deleteSurroundingTextInCodePoints</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.InputConnection.getHandler_added()"></A>
+  <nobr><code>Handler</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/InputConnection.html#getHandler()" target="_top"><code>getHandler</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.InputConnectionWrapper.html b/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.InputConnectionWrapper.html
new file mode 100644
index 0000000..a8434f0
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.InputConnectionWrapper.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.inputmethod.InputConnectionWrapper
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.inputmethod.<A HREF="../../../../reference/android/view/inputmethod/InputConnectionWrapper.html" target="_top"><font size="+2"><code>InputConnectionWrapper</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.InputConnectionWrapper.closeConnection_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/InputConnectionWrapper.html#closeConnection()" target="_top"><code>closeConnection</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.InputConnectionWrapper.deleteSurroundingTextInCodePoints_added(int, int)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/InputConnectionWrapper.html#deleteSurroundingTextInCodePoints(int, int)" target="_top"><code>deleteSurroundingTextInCodePoints</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.InputConnectionWrapper.getHandler_added()"></A>
+  <nobr><code>Handler</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/InputConnectionWrapper.html#getHandler()" target="_top"><code>getHandler</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.InputMethodManager.html b/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.InputMethodManager.html
new file mode 100644
index 0000000..7e61fab
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.InputMethodManager.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.inputmethod.InputMethodManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.inputmethod.<A HREF="../../../../reference/android/view/inputmethod/InputMethodManager.html" target="_top"><font size="+2"><code>InputMethodManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.InputMethodManager.dispatchKeyEventFromInputMethod_added(android.view.View, android.view.KeyEvent)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/InputMethodManager.html#dispatchKeyEventFromInputMethod(android.view.View, android.view.KeyEvent)" target="_top"><code>dispatchKeyEventFromInputMethod</code></A>(<code>View,</nobr> KeyEvent<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.html b/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.html
new file mode 100644
index 0000000..4040c92
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.inputmethod.<A HREF="../../../../reference/android/view/inputmethod/InputMethodSubtype.InputMethodSubtypeBuilder.html" target="_top"><font size="+2"><code>InputMethodSubtype.InputMethodSubtypeBuilder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.setLanguageTag_added(java.lang.String)"></A>
+  <nobr><code>InputMethodSubtypeBuilder</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/InputMethodSubtype.InputMethodSubtypeBuilder.html#setLanguageTag(java.lang.String)" target="_top"><code>setLanguageTag</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.InputMethodSubtype.html b/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.InputMethodSubtype.html
new file mode 100644
index 0000000..bc894e1
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.inputmethod.InputMethodSubtype.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.inputmethod.InputMethodSubtype
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.inputmethod.<A HREF="../../../../reference/android/view/inputmethod/InputMethodSubtype.html" target="_top"><font size="+2"><code>InputMethodSubtype</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.InputMethodSubtype.getLanguageTag_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/InputMethodSubtype.html#getLanguageTag()" target="_top"><code>getLanguageTag</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.InputMethodSubtype.getLocale_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/InputMethodSubtype.html#getLocale()" target="_top"><code>getLocale</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.view.textservice.SpellCheckerSubtype.html b/docs/html/sdk/api_diff/24/changes/android.view.textservice.SpellCheckerSubtype.html
new file mode 100644
index 0000000..f4c8f0e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.view.textservice.SpellCheckerSubtype.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.textservice.SpellCheckerSubtype
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.textservice.<A HREF="../../../../reference/android/view/textservice/SpellCheckerSubtype.html" target="_top"><font size="+2"><code>SpellCheckerSubtype</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.textservice.SpellCheckerSubtype.ctor_changed(int, java.lang.String, java.lang.String)"></A>
+  <nobr><A HREF="../../../../reference/android/view/textservice/SpellCheckerSubtype.html#SpellCheckerSubtype(int, java.lang.String, java.lang.String)" target="_top"><code>SpellCheckerSubtype</code></A>(<code>int,</nobr> String<nobr>,</nobr> String<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.textservice.SpellCheckerSubtype.getLanguageTag_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/view/textservice/SpellCheckerSubtype.html#getLanguageTag()" target="_top"><code>getLanguageTag</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.textservice.SpellCheckerSubtype.getLocale_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/view/textservice/SpellCheckerSubtype.html#getLocale()" target="_top"><code>getLocale</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.webkit.WebResourceRequest.html b/docs/html/sdk/api_diff/24/changes/android.webkit.WebResourceRequest.html
new file mode 100644
index 0000000..4e5471d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.webkit.WebResourceRequest.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.webkit.WebResourceRequest
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface android.webkit.<A HREF="../../../../reference/android/webkit/WebResourceRequest.html" target="_top"><font size="+2"><code>WebResourceRequest</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebResourceRequest.isRedirect_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebResourceRequest.html#isRedirect()" target="_top"><code>isRedirect</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.webkit.WebSettings.html b/docs/html/sdk/api_diff/24/changes/android.webkit.WebSettings.html
new file mode 100644
index 0000000..69cec9d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.webkit.WebSettings.html
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.webkit.WebSettings
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.webkit.<A HREF="../../../../reference/android/webkit/WebSettings.html" target="_top"><font size="+2"><code>WebSettings</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getDisabledActionModeMenuItems_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getDisabledActionModeMenuItems()" target="_top"><code>getDisabledActionModeMenuItems</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setDisabledActionModeMenuItems_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setDisabledActionModeMenuItems(int)" target="_top"><code>setDisabledActionModeMenuItems</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setGeolocationDatabasePath_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setGeolocationDatabasePath(java.lang.String)" target="_top"><code>setGeolocationDatabasePath</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.MENU_ITEM_NONE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#MENU_ITEM_NONE" target="_top"><code>MENU_ITEM_NONE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.MENU_ITEM_PROCESS_TEXT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#MENU_ITEM_PROCESS_TEXT" target="_top"><code>MENU_ITEM_PROCESS_TEXT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.MENU_ITEM_SHARE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#MENU_ITEM_SHARE" target="_top"><code>MENU_ITEM_SHARE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.MENU_ITEM_WEB_SEARCH"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#MENU_ITEM_WEB_SEARCH" target="_top"><code>MENU_ITEM_WEB_SEARCH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.webkit.WebViewClient.html b/docs/html/sdk/api_diff/24/changes/android.webkit.WebViewClient.html
new file mode 100644
index 0000000..eb631ae
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.webkit.WebViewClient.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.webkit.WebViewClient
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.webkit.<A HREF="../../../../reference/android/webkit/WebViewClient.html" target="_top"><font size="+2"><code>WebViewClient</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebViewClient.onUnhandledInputEvent_removed(android.webkit.WebView, android.view.InputEvent)"></A>
+  <nobr><code>void</code>&nbsp;onUnhandledInputEvent(<code>WebView,</nobr> InputEvent<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebViewClient.shouldOverrideUrlLoading_added(android.webkit.WebView, android.webkit.WebResourceRequest)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebViewClient.html#shouldOverrideUrlLoading(android.webkit.WebView, android.webkit.WebResourceRequest)" target="_top"><code>shouldOverrideUrlLoading</code></A>(<code>WebView,</nobr> WebResourceRequest<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebViewClient.onUnhandledKeyEvent_changed(android.webkit.WebView, android.view.KeyEvent)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebViewClient.html#onUnhandledKeyEvent(android.webkit.WebView, android.view.KeyEvent)" target="_top"><code>onUnhandledKeyEvent</code></A>(<code>WebView,</nobr> KeyEvent<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from deprecated to undeprecated.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebViewClient.shouldOverrideUrlLoading_changed(android.webkit.WebView, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebViewClient.html#shouldOverrideUrlLoading(android.webkit.WebView, java.lang.String)" target="_top"><code>shouldOverrideUrlLoading</code></A>(<code>WebView,</nobr> String<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.widget.AbsSeekBar.html b/docs/html/sdk/api_diff/24/changes/android.widget.AbsSeekBar.html
new file mode 100644
index 0000000..99a200f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.widget.AbsSeekBar.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.widget.AbsSeekBar
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/AbsSeekBar.html" target="_top"><font size="+2"><code>AbsSeekBar</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.AbsSeekBar.getTickMark_added()"></A>
+  <nobr><code>Drawable</code>&nbsp;<A HREF="../../../../reference/android/widget/AbsSeekBar.html#getTickMark()" target="_top"><code>getTickMark</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.AbsSeekBar.getTickMarkTintList_added()"></A>
+  <nobr><code>ColorStateList</code>&nbsp;<A HREF="../../../../reference/android/widget/AbsSeekBar.html#getTickMarkTintList()" target="_top"><code>getTickMarkTintList</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.AbsSeekBar.getTickMarkTintMode_added()"></A>
+  <nobr><code>Mode</code>&nbsp;<A HREF="../../../../reference/android/widget/AbsSeekBar.html#getTickMarkTintMode()" target="_top"><code>getTickMarkTintMode</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.AbsSeekBar.setTickMark_added(android.graphics.drawable.Drawable)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/AbsSeekBar.html#setTickMark(android.graphics.drawable.Drawable)" target="_top"><code>setTickMark</code></A>(<code>Drawable</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.AbsSeekBar.setTickMarkTintList_added(android.content.res.ColorStateList)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/AbsSeekBar.html#setTickMarkTintList(android.content.res.ColorStateList)" target="_top"><code>setTickMarkTintList</code></A>(<code>ColorStateList</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.AbsSeekBar.setTickMarkTintMode_added(android.graphics.PorterDuff.Mode)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/AbsSeekBar.html#setTickMarkTintMode(android.graphics.PorterDuff.Mode)" target="_top"><code>setTickMarkTintMode</code></A>(<code>Mode</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.widget.AutoCompleteTextView.html b/docs/html/sdk/api_diff/24/changes/android.widget.AutoCompleteTextView.html
new file mode 100644
index 0000000..23e37de
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.widget.AutoCompleteTextView.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.widget.AutoCompleteTextView
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/AutoCompleteTextView.html" target="_top"><font size="+2"><code>AutoCompleteTextView</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.AutoCompleteTextView.ctor_added(android.content.Context, android.util.AttributeSet, int, int, android.content.res.Resources.Theme)"></A>
+  <nobr><A HREF="../../../../reference/android/widget/AutoCompleteTextView.html#AutoCompleteTextView(android.content.Context, android.util.AttributeSet, int, int, android.content.res.Resources.Theme)" target="_top"><code>AutoCompleteTextView</code></A>(<code>Context,</nobr> AttributeSet<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> Theme<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.widget.CalendarView.html b/docs/html/sdk/api_diff/24/changes/android.widget.CalendarView.html
new file mode 100644
index 0000000..d959bf8
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.widget.CalendarView.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.widget.CalendarView
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/CalendarView.html" target="_top"><font size="+2"><code>CalendarView</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.CalendarView.getShowWeekNumber_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/widget/CalendarView.html#getShowWeekNumber()" target="_top"><code>getShowWeekNumber</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.CalendarView.setShowWeekNumber_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/CalendarView.html#setShowWeekNumber(boolean)" target="_top"><code>setShowWeekNumber</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.widget.Chronometer.html b/docs/html/sdk/api_diff/24/changes/android.widget.Chronometer.html
new file mode 100644
index 0000000..4ce861b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.widget.Chronometer.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.widget.Chronometer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/Chronometer.html" target="_top"><font size="+2"><code>Chronometer</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Chronometer.isCountDown_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/widget/Chronometer.html#isCountDown()" target="_top"><code>isCountDown</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Chronometer.setCountDown_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/Chronometer.html#setCountDown(boolean)" target="_top"><code>setCountDown</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.widget.DatePicker.html b/docs/html/sdk/api_diff/24/changes/android.widget.DatePicker.html
new file mode 100644
index 0000000..63fc610
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.widget.DatePicker.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.widget.DatePicker
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/DatePicker.html" target="_top"><font size="+2"><code>DatePicker</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.DatePicker.getCalendarView_changed()"></A>
+  <nobr><code>CalendarView</code>&nbsp;<A HREF="../../../../reference/android/widget/DatePicker.html#getCalendarView()" target="_top"><code>getCalendarView</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.DatePicker.getCalendarViewShown_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/widget/DatePicker.html#getCalendarViewShown()" target="_top"><code>getCalendarViewShown</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.DatePicker.getSpinnersShown_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/widget/DatePicker.html#getSpinnersShown()" target="_top"><code>getSpinnersShown</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.DatePicker.setCalendarViewShown_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/DatePicker.html#setCalendarViewShown(boolean)" target="_top"><code>setCalendarViewShown</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.DatePicker.setSpinnersShown_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/DatePicker.html#setSpinnersShown(boolean)" target="_top"><code>setSpinnersShown</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.widget.FrameLayout.LayoutParams.html b/docs/html/sdk/api_diff/24/changes/android.widget.FrameLayout.LayoutParams.html
new file mode 100644
index 0000000..a6f6765
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.widget.FrameLayout.LayoutParams.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.widget.FrameLayout.LayoutParams
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/FrameLayout.LayoutParams.html" target="_top"><font size="+2"><code>FrameLayout.LayoutParams</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.FrameLayout.LayoutParams.UNSPECIFIED_GRAVITY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/FrameLayout.LayoutParams.html#UNSPECIFIED_GRAVITY" target="_top"><code>UNSPECIFIED_GRAVITY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.widget.LinearLayout.html b/docs/html/sdk/api_diff/24/changes/android.widget.LinearLayout.html
new file mode 100644
index 0000000..481dd68
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.widget.LinearLayout.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.widget.LinearLayout
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/LinearLayout.html" target="_top"><font size="+2"><code>LinearLayout</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.LinearLayout.getGravity_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/LinearLayout.html#getGravity()" target="_top"><code>getGravity</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.widget.PopupWindow.html b/docs/html/sdk/api_diff/24/changes/android.widget.PopupWindow.html
new file mode 100644
index 0000000..06ed1dc
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.widget.PopupWindow.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.widget.PopupWindow
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/PopupWindow.html" target="_top"><font size="+2"><code>PopupWindow</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.PopupWindow.getEnterTransition_added()"></A>
+  <nobr><code>Transition</code>&nbsp;<A HREF="../../../../reference/android/widget/PopupWindow.html#getEnterTransition()" target="_top"><code>getEnterTransition</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.PopupWindow.getExitTransition_added()"></A>
+  <nobr><code>Transition</code>&nbsp;<A HREF="../../../../reference/android/widget/PopupWindow.html#getExitTransition()" target="_top"><code>getExitTransition</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.PopupWindow.getMaxAvailableHeight_added(android.view.View, int, boolean)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/PopupWindow.html#getMaxAvailableHeight(android.view.View, int, boolean)" target="_top"><code>getMaxAvailableHeight</code></A>(<code>View,</nobr> int<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.widget.ProgressBar.html b/docs/html/sdk/api_diff/24/changes/android.widget.ProgressBar.html
new file mode 100644
index 0000000..e8b45bc
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.widget.ProgressBar.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.widget.ProgressBar
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/ProgressBar.html" target="_top"><font size="+2"><code>ProgressBar</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.ProgressBar.setProgress_added(int, boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/ProgressBar.html#setProgress(int, boolean)" target="_top"><code>setProgress</code></A>(<code>int,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.widget.RemoteViews.html b/docs/html/sdk/api_diff/24/changes/android.widget.RemoteViews.html
new file mode 100644
index 0000000..f2d315b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.widget.RemoteViews.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.widget.RemoteViews
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/RemoteViews.html" target="_top"><font size="+2"><code>RemoteViews</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.RemoteViews.setChronometerCountDown_added(int, boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/RemoteViews.html#setChronometerCountDown(int, boolean)" target="_top"><code>setChronometerCountDown</code></A>(<code>int,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.widget.TabWidget.html b/docs/html/sdk/api_diff/24/changes/android.widget.TabWidget.html
new file mode 100644
index 0000000..dd97b84
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.widget.TabWidget.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.widget.TabWidget
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/TabWidget.html" target="_top"><font size="+2"><code>TabWidget</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TabWidget.getLeftStripDrawable_added()"></A>
+  <nobr><code>Drawable</code>&nbsp;<A HREF="../../../../reference/android/widget/TabWidget.html#getLeftStripDrawable()" target="_top"><code>getLeftStripDrawable</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TabWidget.getRightStripDrawable_added()"></A>
+  <nobr><code>Drawable</code>&nbsp;<A HREF="../../../../reference/android/widget/TabWidget.html#getRightStripDrawable()" target="_top"><code>getRightStripDrawable</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.widget.TextView.html b/docs/html/sdk/api_diff/24/changes/android.widget.TextView.html
new file mode 100644
index 0000000..745ff09
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.widget.TextView.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.widget.TextView
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/TextView.html" target="_top"><font size="+2"><code>TextView</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TextView.getImeHintLocales_added()"></A>
+  <nobr><code>LocaleList</code>&nbsp;<A HREF="../../../../reference/android/widget/TextView.html#getImeHintLocales()" target="_top"><code>getImeHintLocales</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TextView.getTextLocales_added()"></A>
+  <nobr><code>LocaleList</code>&nbsp;<A HREF="../../../../reference/android/widget/TextView.html#getTextLocales()" target="_top"><code>getTextLocales</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TextView.setImeHintLocales_added(android.os.LocaleList)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/TextView.html#setImeHintLocales(android.os.LocaleList)" target="_top"><code>setImeHintLocales</code></A>(<code>LocaleList</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TextView.setTextLocales_added(android.os.LocaleList)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/TextView.html#setTextLocales(android.os.LocaleList)" target="_top"><code>setTextLocales</code></A>(<code>LocaleList</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/android.widget.Toolbar.html b/docs/html/sdk/api_diff/24/changes/android.widget.Toolbar.html
new file mode 100644
index 0000000..b93ae2c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/android.widget.Toolbar.html
@@ -0,0 +1,234 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.widget.Toolbar
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/Toolbar.html" target="_top"><font size="+2"><code>Toolbar</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Toolbar.getContentInsetEndWithActions_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/Toolbar.html#getContentInsetEndWithActions()" target="_top"><code>getContentInsetEndWithActions</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Toolbar.getContentInsetStartWithNavigation_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/Toolbar.html#getContentInsetStartWithNavigation()" target="_top"><code>getContentInsetStartWithNavigation</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Toolbar.getCurrentContentInsetEnd_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/Toolbar.html#getCurrentContentInsetEnd()" target="_top"><code>getCurrentContentInsetEnd</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Toolbar.getCurrentContentInsetLeft_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/Toolbar.html#getCurrentContentInsetLeft()" target="_top"><code>getCurrentContentInsetLeft</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Toolbar.getCurrentContentInsetRight_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/Toolbar.html#getCurrentContentInsetRight()" target="_top"><code>getCurrentContentInsetRight</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Toolbar.getCurrentContentInsetStart_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/Toolbar.html#getCurrentContentInsetStart()" target="_top"><code>getCurrentContentInsetStart</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Toolbar.getTitleMarginBottom_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/Toolbar.html#getTitleMarginBottom()" target="_top"><code>getTitleMarginBottom</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Toolbar.getTitleMarginEnd_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/Toolbar.html#getTitleMarginEnd()" target="_top"><code>getTitleMarginEnd</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Toolbar.getTitleMarginStart_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/Toolbar.html#getTitleMarginStart()" target="_top"><code>getTitleMarginStart</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Toolbar.getTitleMarginTop_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/Toolbar.html#getTitleMarginTop()" target="_top"><code>getTitleMarginTop</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Toolbar.setContentInsetEndWithActions_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/Toolbar.html#setContentInsetEndWithActions(int)" target="_top"><code>setContentInsetEndWithActions</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Toolbar.setContentInsetStartWithNavigation_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/Toolbar.html#setContentInsetStartWithNavigation(int)" target="_top"><code>setContentInsetStartWithNavigation</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Toolbar.setTitleMargin_added(int, int, int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/Toolbar.html#setTitleMargin(int, int, int, int)" target="_top"><code>setTitleMargin</code></A>(<code>int,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Toolbar.setTitleMarginBottom_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/Toolbar.html#setTitleMarginBottom(int)" target="_top"><code>setTitleMarginBottom</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Toolbar.setTitleMarginEnd_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/Toolbar.html#setTitleMarginEnd(int)" target="_top"><code>setTitleMarginEnd</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Toolbar.setTitleMarginStart_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/Toolbar.html#setTitleMarginStart(int)" target="_top"><code>setTitleMarginStart</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.Toolbar.setTitleMarginTop_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/Toolbar.html#setTitleMarginTop(int)" target="_top"><code>setTitleMarginTop</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/changes-summary.html b/docs/html/sdk/api_diff/24/changes/changes-summary.html
new file mode 100644
index 0000000..57ac048
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/changes-summary.html
@@ -0,0 +1,815 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Android API Differences Report
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<body class="gc-documentation">
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+    <div id="docTitleContainer">
+<h1>Android&nbsp;API&nbsp;Differences&nbsp;Report</h1>
+<p>This report details the changes in the core Android framework API between two <a 
+href="//developer.android.com/guide/appendix/api-levels.html" target="_top">API Level</a> 
+specifications. It shows additions, modifications, and removals for packages, classes, methods, and fields. 
+The report also includes general statistics that characterize the extent and type of the differences.</p>
+<p>This report is based a comparison of the Android API specifications 
+whose API Level identifiers are given in the upper-right corner of this page. It compares a 
+newer "to" API to an older "from" API, noting all changes relative to the 
+older API. So, for example, API elements marked as removed are no longer present in the "to" 
+API specification.</p>
+<p>To navigate the report, use the "Select a Diffs Index" and "Filter the Index" 
+controls on the left. The report uses text formatting to indicate <em>interface names</em>, 
+<a href= ><code>links to reference documentation</code></a>, and <a href= >links to change 
+description</a>. The statistics are accessible from the "Statistics" link in the upper-right corner.</p>
+<p>For more information about the Android framework API and SDK, 
+see the <a href="//developer.android.com/index.html" target="_top">Android Developers site</a>.</p>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Packages" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Packages</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.icu.lang"></A>
+  <nobr><A HREF="../../../../reference/android/icu/lang/package-summary.html" target="_top"><code>android.icu.lang</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.icu.math"></A>
+  <nobr><A HREF="../../../../reference/android/icu/math/package-summary.html" target="_top"><code>android.icu.math</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.icu.text"></A>
+  <nobr><A HREF="../../../../reference/android/icu/text/package-summary.html" target="_top"><code>android.icu.text</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.icu.util"></A>
+  <nobr><A HREF="../../../../reference/android/icu/util/package-summary.html" target="_top"><code>android.icu.util</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.health"></A>
+  <nobr><A HREF="../../../../reference/android/os/health/package-summary.html" target="_top"><code>android.os.health</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.quicksettings"></A>
+  <nobr><A HREF="../../../../reference/android/service/quicksettings/package-summary.html" target="_top"><code>android.service.quicksettings</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.vr"></A>
+  <nobr><A HREF="../../../../reference/android/service/vr/package-summary.html" target="_top"><code>android.service.vr</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.function"></A>
+  <nobr><A HREF="../../../../reference/java/util/function/package-summary.html" target="_top"><code>java.util.function</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.stream"></A>
+  <nobr><A HREF="../../../../reference/java/util/stream/package-summary.html" target="_top"><code>java.util.stream</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Packages" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Packages</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android"></A>
+  <nobr><A HREF="pkg_android.html">android</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accessibilityservice"></A>
+  <nobr><A HREF="pkg_android.accessibilityservice.html">android.accessibilityservice</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.animation"></A>
+  <nobr><A HREF="pkg_android.animation.html">android.animation</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app"></A>
+  <nobr><A HREF="pkg_android.app.html">android.app</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin"></A>
+  <nobr><A HREF="pkg_android.app.admin.html">android.app.admin</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.assist"></A>
+  <nobr><A HREF="pkg_android.app.assist.html">android.app.assist</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.backup"></A>
+  <nobr><A HREF="pkg_android.app.backup.html">android.app.backup</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job"></A>
+  <nobr><A HREF="pkg_android.app.job.html">android.app.job</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage"></A>
+  <nobr><A HREF="pkg_android.app.usage.html">android.app.usage</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.bluetooth"></A>
+  <nobr><A HREF="pkg_android.bluetooth.html">android.bluetooth</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content"></A>
+  <nobr><A HREF="pkg_android.content.html">android.content</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm"></A>
+  <nobr><A HREF="pkg_android.content.pm.html">android.content.pm</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res"></A>
+  <nobr><A HREF="pkg_android.content.res.html">android.content.res</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database"></A>
+  <nobr><A HREF="pkg_android.database.html">android.database</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.sqlite"></A>
+  <nobr><A HREF="pkg_android.database.sqlite.html">android.database.sqlite</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.drm"></A>
+  <nobr><A HREF="pkg_android.drm.html">android.drm</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics"></A>
+  <nobr><A HREF="pkg_android.graphics.html">android.graphics</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.drawable"></A>
+  <nobr><A HREF="pkg_android.graphics.drawable.html">android.graphics.drawable</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware"></A>
+  <nobr><A HREF="pkg_android.hardware.html">android.hardware</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.camera2"></A>
+  <nobr><A HREF="pkg_android.hardware.camera2.html">android.hardware.camera2</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.camera2.params"></A>
+  <nobr><A HREF="pkg_android.hardware.camera2.params.html">android.hardware.camera2.params</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location"></A>
+  <nobr><A HREF="pkg_android.location.html">android.location</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media"></A>
+  <nobr><A HREF="pkg_android.media.html">android.media</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.browse"></A>
+  <nobr><A HREF="pkg_android.media.browse.html">android.media.browse</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.session"></A>
+  <nobr><A HREF="pkg_android.media.session.html">android.media.session</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv"></A>
+  <nobr><A HREF="pkg_android.media.tv.html">android.media.tv</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.mtp"></A>
+  <nobr><A HREF="pkg_android.mtp.html">android.mtp</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net"></A>
+  <nobr><A HREF="pkg_android.net.html">android.net</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.wifi"></A>
+  <nobr><A HREF="pkg_android.net.wifi.html">android.net.wifi</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc"></A>
+  <nobr><A HREF="pkg_android.nfc.html">android.nfc</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.cardemulation"></A>
+  <nobr><A HREF="pkg_android.nfc.cardemulation.html">android.nfc.cardemulation</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.opengl"></A>
+  <nobr><A HREF="pkg_android.opengl.html">android.opengl</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os"></A>
+  <nobr><A HREF="pkg_android.os.html">android.os</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.storage"></A>
+  <nobr><A HREF="pkg_android.os.storage.html">android.os.storage</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.preference"></A>
+  <nobr><A HREF="pkg_android.preference.html">android.preference</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.print"></A>
+  <nobr><A HREF="pkg_android.print.html">android.print</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.printservice"></A>
+  <nobr><A HREF="pkg_android.printservice.html">android.printservice</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider"></A>
+  <nobr><A HREF="pkg_android.provider.html">android.provider</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript"></A>
+  <nobr><A HREF="pkg_android.renderscript.html">android.renderscript</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.security"></A>
+  <nobr><A HREF="pkg_android.security.html">android.security</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.security.keystore"></A>
+  <nobr><A HREF="pkg_android.security.keystore.html">android.security.keystore</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.carrier"></A>
+  <nobr><A HREF="pkg_android.service.carrier.html">android.service.carrier</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.media"></A>
+  <nobr><A HREF="pkg_android.service.media.html">android.service.media</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification"></A>
+  <nobr><A HREF="pkg_android.service.notification.html">android.service.notification</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.voice"></A>
+  <nobr><A HREF="pkg_android.service.voice.html">android.service.voice</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.tts"></A>
+  <nobr><A HREF="pkg_android.speech.tts.html">android.speech.tts</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom"></A>
+  <nobr><A HREF="pkg_android.telecom.html">android.telecom</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony"></A>
+  <nobr><A HREF="pkg_android.telephony.html">android.telephony</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test"></A>
+  <nobr><A HREF="pkg_android.test.html">android.test</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock"></A>
+  <nobr><A HREF="pkg_android.test.mock.html">android.test.mock</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.suitebuilder.annotation"></A>
+  <nobr><A HREF="pkg_android.test.suitebuilder.annotation.html">android.test.suitebuilder.annotation</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text"></A>
+  <nobr><A HREF="pkg_android.text.html">android.text</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.style"></A>
+  <nobr><A HREF="pkg_android.text.style.html">android.text.style</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.util"></A>
+  <nobr><A HREF="pkg_android.text.util.html">android.text.util</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.util"></A>
+  <nobr><A HREF="pkg_android.util.html">android.util</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view"></A>
+  <nobr><A HREF="pkg_android.view.html">android.view</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility"></A>
+  <nobr><A HREF="pkg_android.view.accessibility.html">android.view.accessibility</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod"></A>
+  <nobr><A HREF="pkg_android.view.inputmethod.html">android.view.inputmethod</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.textservice"></A>
+  <nobr><A HREF="pkg_android.view.textservice.html">android.view.textservice</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit"></A>
+  <nobr><A HREF="pkg_android.webkit.html">android.webkit</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget"></A>
+  <nobr><A HREF="pkg_android.widget.html">android.widget</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.awt.font"></A>
+  <nobr><A HREF="pkg_java.awt.font.html">java.awt.font</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io"></A>
+  <nobr><A HREF="pkg_java.io.html">java.io</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang"></A>
+  <nobr><A HREF="pkg_java.lang.html">java.lang</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.annotation"></A>
+  <nobr><A HREF="pkg_java.lang.annotation.html">java.lang.annotation</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.ref"></A>
+  <nobr><A HREF="pkg_java.lang.ref.html">java.lang.ref</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.reflect"></A>
+  <nobr><A HREF="pkg_java.lang.reflect.html">java.lang.reflect</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.net"></A>
+  <nobr><A HREF="pkg_java.net.html">java.net</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio"></A>
+  <nobr><A HREF="pkg_java.nio.html">java.nio</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.channels"></A>
+  <nobr><A HREF="pkg_java.nio.channels.html">java.nio.channels</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.channels.spi"></A>
+  <nobr><A HREF="pkg_java.nio.channels.spi.html">java.nio.channels.spi</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.charset"></A>
+  <nobr><A HREF="pkg_java.nio.charset.html">java.nio.charset</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security"></A>
+  <nobr><A HREF="pkg_java.security.html">java.security</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.acl"></A>
+  <nobr><A HREF="pkg_java.security.acl.html">java.security.acl</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.cert"></A>
+  <nobr><A HREF="pkg_java.security.cert.html">java.security.cert</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.sql"></A>
+  <nobr><A HREF="pkg_java.sql.html">java.sql</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.text"></A>
+  <nobr><A HREF="pkg_java.text.html">java.text</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util"></A>
+  <nobr><A HREF="pkg_java.util.html">java.util</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent"></A>
+  <nobr><A HREF="pkg_java.util.concurrent.html">java.util.concurrent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic"></A>
+  <nobr><A HREF="pkg_java.util.concurrent.atomic.html">java.util.concurrent.atomic</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.locks"></A>
+  <nobr><A HREF="pkg_java.util.concurrent.locks.html">java.util.concurrent.locks</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging"></A>
+  <nobr><A HREF="pkg_java.util.logging.html">java.util.logging</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.prefs"></A>
+  <nobr><A HREF="pkg_java.util.prefs.html">java.util.prefs</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.regex"></A>
+  <nobr><A HREF="pkg_java.util.regex.html">java.util.regex</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.zip"></A>
+  <nobr><A HREF="pkg_java.util.zip.html">java.util.zip</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.crypto.spec"></A>
+  <nobr><A HREF="pkg_javax.crypto.spec.html">javax.crypto.spec</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.net.ssl"></A>
+  <nobr><A HREF="pkg_javax.net.ssl.html">javax.net.ssl</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.sql"></A>
+  <nobr><A HREF="pkg_javax.sql.html">javax.sql</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- End of API section -->
+<!-- Start of packages section -->
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/classes_index_additions.html b/docs/html/sdk/api_diff/24/changes/classes_index_additions.html
new file mode 100644
index 0000000..06519ec
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/classes_index_additions.html
@@ -0,0 +1,758 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Class Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Classes" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="classes_index_all.html" class="staysblack">All Classes</a>
+  <br>
+<A HREF="classes_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="classes_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.GestureResultCallback" class="hiddenlink" target="rightframe"><b>AccessibilityService.GestureResultCallback</b></A><br>
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.MagnificationController" class="hiddenlink" target="rightframe"><b>AccessibilityService.MagnificationController</b></A><br>
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.MagnificationController.OnMagnificationChangedListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityService.MagnificationController.OnMagnificationChangedListener</i></b></A><br>
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.SoftKeyboardController" class="hiddenlink" target="rightframe"><b>AccessibilityService.SoftKeyboardController</b></A><br>
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.SoftKeyboardController.OnShowModeChangedListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityService.SoftKeyboardController.OnShowModeChangedListener</i></b></A><br>
+<A HREF="pkg_android.content.pm.html#ActivityInfo.WindowLayout" class="hiddenlink" target="rightframe"><b>ActivityInfo.WindowLayout</b></A><br>
+<A HREF="pkg_android.app.html#AlarmManager.OnAlarmListener" class="hiddenlink" target="rightframe"><b><i>AlarmManager.OnAlarmListener</i></b></A><br>
+<A HREF="pkg_java.security.html#AlgorithmConstraints" class="hiddenlink" target="rightframe"><b><i>AlgorithmConstraints</i></b></A><br>
+<A HREF="pkg_java.nio.channels.html#AlreadyBoundException" class="hiddenlink" target="rightframe"><b>AlreadyBoundException</b></A><br>
+<A HREF="pkg_android.media.html#AudioManager.AudioRecordingCallback" class="hiddenlink" target="rightframe"><b>AudioManager.AudioRecordingCallback</b></A><br>
+<A HREF="pkg_android.media.html#AudioRecordingConfiguration" class="hiddenlink" target="rightframe"><b>AudioRecordingConfiguration</b></A><br>
+<A HREF="pkg_android.media.html#AudioRouting" class="hiddenlink" target="rightframe"><b><i>AudioRouting</i></b></A><br>
+<A HREF="pkg_android.media.html#AudioRouting.OnRoutingChangedListener" class="hiddenlink" target="rightframe"><b><i>AudioRouting.OnRoutingChangedListener</i></b></A><br>
+<A HREF="pkg_android.app.html#AutomaticZenRule" class="hiddenlink" target="rightframe"><b>AutomaticZenRule</b></A><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.provider.html#BlockedNumberContract" class="hiddenlink" target="rightframe"><b>BlockedNumberContract</b></A><br>
+<A HREF="pkg_android.provider.html#BlockedNumberContract.BlockedNumbers" class="hiddenlink" target="rightframe"><b>BlockedNumberContract.BlockedNumbers</b></A><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.telecom.html#CallScreeningService" class="hiddenlink" target="rightframe"><b>CallScreeningService</b></A><br>
+<A HREF="pkg_android.telecom.html#CallScreeningService.CallResponse" class="hiddenlink" target="rightframe"><b>CallScreeningService.CallResponse</b></A><br>
+<A HREF="pkg_android.telecom.html#CallScreeningService.CallResponse.Builder" class="hiddenlink" target="rightframe"><b>CallScreeningService.CallResponse.Builder</b></A><br>
+<A HREF="pkg_java.security.cert.html#CertificateRevokedException" class="hiddenlink" target="rightframe"><b>CertificateRevokedException</b></A><br>
+<A HREF="pkg_java.security.cert.html#CertPathChecker" class="hiddenlink" target="rightframe"><b><i>CertPathChecker</i></b></A><br>
+<A HREF="pkg_java.security.cert.html#CertPathValidatorException.BasicReason" class="hiddenlink" target="rightframe"><b>CertPathValidatorException.BasicReason</b></A><br>
+<A HREF="pkg_java.security.cert.html#CertPathValidatorException.Reason" class="hiddenlink" target="rightframe"><b><i>CertPathValidatorException.Reason</i></b></A><br>
+<A HREF="pkg_java.lang.html#Character.UnicodeScript" class="hiddenlink" target="rightframe"><b>Character.UnicodeScript</b></A><br>
+<A HREF="pkg_java.util.concurrent.html#CompletableFuture" class="hiddenlink" target="rightframe"><b>CompletableFuture</b></A><br>
+<A HREF="pkg_java.util.concurrent.html#CompletableFuture.AsynchronousCompletionTask" class="hiddenlink" target="rightframe"><b><i>CompletableFuture.AsynchronousCompletionTask</i></b></A><br>
+<A HREF="pkg_java.util.concurrent.html#CompletionException" class="hiddenlink" target="rightframe"><b>CompletionException</b></A><br>
+<A HREF="pkg_java.util.concurrent.html#CompletionStage" class="hiddenlink" target="rightframe"><b><i>CompletionStage</i></b></A><br>
+<A HREF="pkg_java.util.concurrent.html#ConcurrentHashMap.CollectionView" class="hiddenlink" target="rightframe"><b>ConcurrentHashMap.CollectionView</b></A><br>
+<A HREF="pkg_java.util.concurrent.html#ConcurrentHashMap.KeySetView" class="hiddenlink" target="rightframe"><b>ConcurrentHashMap.KeySetView</b></A><br>
+<A HREF="pkg_android.service.notification.html#Condition" class="hiddenlink" target="rightframe"><b>Condition</b></A><br>
+<A HREF="pkg_android.service.notification.html#ConditionProviderService" class="hiddenlink" target="rightframe"><b>ConditionProviderService</b></A><br>
+<A HREF="pkg_java.util.concurrent.html#CountedCompleter" class="hiddenlink" target="rightframe"><b>CountedCompleter</b></A><br>
+<A HREF="pkg_android.os.html#CpuUsageInfo" class="hiddenlink" target="rightframe"><b>CpuUsageInfo</b></A><br>
+<A HREF="pkg_java.security.cert.html#CRLReason" class="hiddenlink" target="rightframe"><b>CRLReason</b></A><br>
+<A HREF="pkg_java.security.html#CryptoPrimitive" class="hiddenlink" target="rightframe"><b>CryptoPrimitive</b></A><br>
+<A HREF="pkg_android.printservice.html#CustomPrinterIconCallback" class="hiddenlink" target="rightframe"><b>CustomPrinterIconCallback</b></A><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.os.html#DeadSystemException" class="hiddenlink" target="rightframe"><b>DeadSystemException</b></A><br>
+<A HREF="pkg_android.view.html#Display.HdrCapabilities" class="hiddenlink" target="rightframe"><b>Display.HdrCapabilities</b></A><br>
+<A HREF="pkg_java.util.concurrent.atomic.html#DoubleAccumulator" class="hiddenlink" target="rightframe"><b>DoubleAccumulator</b></A><br>
+<A HREF="pkg_java.util.concurrent.atomic.html#DoubleAdder" class="hiddenlink" target="rightframe"><b>DoubleAdder</b></A><br>
+<A HREF="pkg_java.util.html#DoubleSummaryStatistics" class="hiddenlink" target="rightframe"><b>DoubleSummaryStatistics</b></A><br>
+<A HREF="pkg_android.view.html#DragAndDropPermissions" class="hiddenlink" target="rightframe"><b>DragAndDropPermissions</b></A><br>
+<A HREF="pkg_android.media.html#DrmInitData" class="hiddenlink" target="rightframe"><b>DrmInitData</b></A><br>
+<A HREF="pkg_android.media.html#DrmInitData.SchemeInitData" class="hiddenlink" target="rightframe"><b>DrmInitData.SchemeInitData</b></A><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_javax.net.ssl.html#ExtendedSSLSession" class="hiddenlink" target="rightframe"><b>ExtendedSSLSession</b></A><br>
+<A HREF="pkg_java.security.cert.html#Extension" class="hiddenlink" target="rightframe"><b><i>Extension</i></b></A><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.os.html#FileUriExposedException" class="hiddenlink" target="rightframe"><b>FileUriExposedException</b></A><br>
+<A HREF="pkg_android.util.html#FloatProperty" class="hiddenlink" target="rightframe"><b>FloatProperty</b></A><br>
+<A HREF="pkg_android.app.html#FragmentManagerNonConfig" class="hiddenlink" target="rightframe"><b>FragmentManagerNonConfig</b></A><br>
+<A HREF="pkg_android.view.html#FrameMetrics" class="hiddenlink" target="rightframe"><b>FrameMetrics</b></A><br>
+<A HREF="pkg_java.lang.html#FunctionalInterface" class="hiddenlink" target="rightframe"><b>FunctionalInterface</b></A><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.accessibilityservice.html#GestureDescription" class="hiddenlink" target="rightframe"><b>GestureDescription</b></A><br>
+<A HREF="pkg_android.accessibilityservice.html#GestureDescription.Builder" class="hiddenlink" target="rightframe"><b>GestureDescription.Builder</b></A><br>
+<A HREF="pkg_android.accessibilityservice.html#GestureDescription.StrokeDescription" class="hiddenlink" target="rightframe"><b>GestureDescription.StrokeDescription</b></A><br>
+<A HREF="pkg_android.opengl.html#GLES32" class="hiddenlink" target="rightframe"><b>GLES32</b></A><br>
+<A HREF="pkg_android.opengl.html#GLES32.DebugProc" class="hiddenlink" target="rightframe"><b><i>GLES32.DebugProc</i></b></A><br>
+<A HREF="pkg_android.location.html#GnssClock" class="hiddenlink" target="rightframe"><b>GnssClock</b></A><br>
+<A HREF="pkg_android.location.html#GnssMeasurement" class="hiddenlink" target="rightframe"><b>GnssMeasurement</b></A><br>
+<A HREF="pkg_android.location.html#GnssMeasurementsEvent" class="hiddenlink" target="rightframe"><b>GnssMeasurementsEvent</b></A><br>
+<A HREF="pkg_android.location.html#GnssMeasurementsEvent.Callback" class="hiddenlink" target="rightframe"><b>GnssMeasurementsEvent.Callback</b></A><br>
+<A HREF="pkg_android.location.html#GnssNavigationMessage" class="hiddenlink" target="rightframe"><b>GnssNavigationMessage</b></A><br>
+<A HREF="pkg_android.location.html#GnssNavigationMessage.Callback" class="hiddenlink" target="rightframe"><b>GnssNavigationMessage.Callback</b></A><br>
+<A HREF="pkg_android.location.html#GnssStatus" class="hiddenlink" target="rightframe"><b>GnssStatus</b></A><br>
+<A HREF="pkg_android.location.html#GnssStatus.Callback" class="hiddenlink" target="rightframe"><b>GnssStatus.Callback</b></A><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.os.html#HardwarePropertiesManager" class="hiddenlink" target="rightframe"><b>HardwarePropertiesManager</b></A><br>
+<A HREF="pkg_android.nfc.cardemulation.html#HostNfcFService" class="hiddenlink" target="rightframe"><b>HostNfcFService</b></A><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.util.html#IntProperty" class="hiddenlink" target="rightframe"><b>IntProperty</b></A><br>
+<A HREF="pkg_java.util.html#IntSummaryStatistics" class="hiddenlink" target="rightframe"><b>IntSummaryStatistics</b></A><br>
+<A NAME="J"></A>
+<br><font size="+2">J</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.app.job.html#JobInfo.TriggerContentUri" class="hiddenlink" target="rightframe"><b>JobInfo.TriggerContentUri</b></A><br>
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.view.html#KeyboardShortcutGroup" class="hiddenlink" target="rightframe"><b>KeyboardShortcutGroup</b></A><br>
+<A HREF="pkg_android.view.html#KeyboardShortcutInfo" class="hiddenlink" target="rightframe"><b>KeyboardShortcutInfo</b></A><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_java.util.html#Locale.Category" class="hiddenlink" target="rightframe"><b>Locale.Category</b></A><br>
+<A HREF="pkg_android.os.html#LocaleList" class="hiddenlink" target="rightframe"><b>LocaleList</b></A><br>
+<A HREF="pkg_java.util.concurrent.atomic.html#LongAccumulator" class="hiddenlink" target="rightframe"><b>LongAccumulator</b></A><br>
+<A HREF="pkg_java.util.concurrent.atomic.html#LongAdder" class="hiddenlink" target="rightframe"><b>LongAdder</b></A><br>
+<A HREF="pkg_java.util.html#LongSummaryStatistics" class="hiddenlink" target="rightframe"><b>LongSummaryStatistics</b></A><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.media.html#MediaCodec.CryptoInfo.Pattern" class="hiddenlink" target="rightframe"><b>MediaCodec.CryptoInfo.Pattern</b></A><br>
+<A HREF="pkg_android.mtp.html#MtpEvent" class="hiddenlink" target="rightframe"><b>MtpEvent</b></A><br>
+<A HREF="pkg_android.mtp.html#MtpObjectInfo.Builder" class="hiddenlink" target="rightframe"><b>MtpObjectInfo.Builder</b></A><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_java.nio.channels.html#NetworkChannel" class="hiddenlink" target="rightframe"><b><i>NetworkChannel</i></b></A><br>
+<A HREF="pkg_android.app.usage.html#NetworkStatsManager.UsageCallback" class="hiddenlink" target="rightframe"><b>NetworkStatsManager.UsageCallback</b></A><br>
+<A HREF="pkg_android.nfc.html#NfcAdapter.OnTagRemovedListener" class="hiddenlink" target="rightframe"><b><i>NfcAdapter.OnTagRemovedListener</i></b></A><br>
+<A HREF="pkg_android.nfc.cardemulation.html#NfcFCardEmulation" class="hiddenlink" target="rightframe"><b>NfcFCardEmulation</b></A><br>
+<A HREF="pkg_android.app.html#Notification.DecoratedCustomViewStyle" class="hiddenlink" target="rightframe"><b>Notification.DecoratedCustomViewStyle</b></A><br>
+<A HREF="pkg_android.app.html#Notification.DecoratedMediaCustomViewStyle" class="hiddenlink" target="rightframe"><b>Notification.DecoratedMediaCustomViewStyle</b></A><br>
+<A HREF="pkg_android.app.html#Notification.MessagingStyle" class="hiddenlink" target="rightframe"><b>Notification.MessagingStyle</b></A><br>
+<A HREF="pkg_android.app.html#Notification.MessagingStyle.Message" class="hiddenlink" target="rightframe"><b>Notification.MessagingStyle.Message</b></A><br>
+<A HREF="pkg_java.awt.font.html#NumericShaper.Range" class="hiddenlink" target="rightframe"><b>NumericShaper.Range</b></A><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.location.html#OnNmeaMessageListener" class="hiddenlink" target="rightframe"><b><i>OnNmeaMessageListener</i></b></A><br>
+<A HREF="pkg_java.util.html#Optional" class="hiddenlink" target="rightframe"><b>Optional</b></A><br>
+<A HREF="pkg_java.util.html#OptionalDouble" class="hiddenlink" target="rightframe"><b>OptionalDouble</b></A><br>
+<A HREF="pkg_java.util.html#OptionalInt" class="hiddenlink" target="rightframe"><b>OptionalInt</b></A><br>
+<A HREF="pkg_java.util.html#OptionalLong" class="hiddenlink" target="rightframe"><b>OptionalLong</b></A><br>
+<A HREF="pkg_android.hardware.camera2.params.html#OutputConfiguration" class="hiddenlink" target="rightframe"><b>OutputConfiguration</b></A><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.view.html#PixelCopy" class="hiddenlink" target="rightframe"><b>PixelCopy</b></A><br>
+<A HREF="pkg_android.view.html#PixelCopy.OnPixelCopyFinishedListener" class="hiddenlink" target="rightframe"><b><i>PixelCopy.OnPixelCopyFinishedListener</i></b></A><br>
+<A HREF="pkg_java.security.cert.html#PKIXReason" class="hiddenlink" target="rightframe"><b>PKIXReason</b></A><br>
+<A HREF="pkg_java.security.cert.html#PKIXRevocationChecker" class="hiddenlink" target="rightframe"><b>PKIXRevocationChecker</b></A><br>
+<A HREF="pkg_java.security.cert.html#PKIXRevocationChecker.Option" class="hiddenlink" target="rightframe"><b>PKIXRevocationChecker.Option</b></A><br>
+<A HREF="pkg_android.view.html#PointerIcon" class="hiddenlink" target="rightframe"><b>PointerIcon</b></A><br>
+<A HREF="pkg_java.util.html#PrimitiveIterator" class="hiddenlink" target="rightframe"><b><i>PrimitiveIterator</i></b></A><br>
+<A HREF="pkg_java.util.html#PrimitiveIterator.OfDouble" class="hiddenlink" target="rightframe"><b><i>PrimitiveIterator.OfDouble</i></b></A><br>
+<A HREF="pkg_java.util.html#PrimitiveIterator.OfInt" class="hiddenlink" target="rightframe"><b><i>PrimitiveIterator.OfInt</i></b></A><br>
+<A HREF="pkg_java.util.html#PrimitiveIterator.OfLong" class="hiddenlink" target="rightframe"><b><i>PrimitiveIterator.OfLong</i></b></A><br>
+<A HREF="pkg_java.net.html#ProtocolFamily" class="hiddenlink" target="rightframe"><b><i>ProtocolFamily</i></b></A><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_java.lang.annotation.html#Repeatable" class="hiddenlink" target="rightframe"><b>Repeatable</b></A><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.app.admin.html#SecurityLog" class="hiddenlink" target="rightframe"><b>SecurityLog</b></A><br>
+<A HREF="pkg_android.app.admin.html#SecurityLog.SecurityEvent" class="hiddenlink" target="rightframe"><b>SecurityLog.SecurityEvent</b></A><br>
+<A HREF="pkg_java.nio.channels.html#SeekableByteChannel" class="hiddenlink" target="rightframe"><b><i>SeekableByteChannel</i></b></A><br>
+<A HREF="pkg_android.hardware.html#SensorAdditionalInfo" class="hiddenlink" target="rightframe"><b>SensorAdditionalInfo</b></A><br>
+<A HREF="pkg_android.hardware.html#SensorEventCallback" class="hiddenlink" target="rightframe"><b>SensorEventCallback</b></A><br>
+<A HREF="pkg_android.hardware.html#SensorManager.DynamicSensorCallback" class="hiddenlink" target="rightframe"><b>SensorManager.DynamicSensorCallback</b></A><br>
+<A HREF="pkg_android.webkit.html#ServiceWorkerClient" class="hiddenlink" target="rightframe"><b>ServiceWorkerClient</b></A><br>
+<A HREF="pkg_android.webkit.html#ServiceWorkerController" class="hiddenlink" target="rightframe"><b>ServiceWorkerController</b></A><br>
+<A HREF="pkg_android.webkit.html#ServiceWorkerWebSettings" class="hiddenlink" target="rightframe"><b>ServiceWorkerWebSettings</b></A><br>
+<A HREF="pkg_javax.net.ssl.html#SNIHostName" class="hiddenlink" target="rightframe"><b>SNIHostName</b></A><br>
+<A HREF="pkg_javax.net.ssl.html#SNIMatcher" class="hiddenlink" target="rightframe"><b>SNIMatcher</b></A><br>
+<A HREF="pkg_javax.net.ssl.html#SNIServerName" class="hiddenlink" target="rightframe"><b>SNIServerName</b></A><br>
+<A HREF="pkg_java.net.html#SocketOption" class="hiddenlink" target="rightframe"><b><i>SocketOption</i></b></A><br>
+<A HREF="pkg_java.util.html#Spliterator" class="hiddenlink" target="rightframe"><b><i>Spliterator</i></b></A><br>
+<A HREF="pkg_java.util.html#Spliterator.OfDouble" class="hiddenlink" target="rightframe"><b><i>Spliterator.OfDouble</i></b></A><br>
+<A HREF="pkg_java.util.html#Spliterator.OfInt" class="hiddenlink" target="rightframe"><b><i>Spliterator.OfInt</i></b></A><br>
+<A HREF="pkg_java.util.html#Spliterator.OfLong" class="hiddenlink" target="rightframe"><b><i>Spliterator.OfLong</i></b></A><br>
+<A HREF="pkg_java.util.html#Spliterator.OfPrimitive" class="hiddenlink" target="rightframe"><b><i>Spliterator.OfPrimitive</i></b></A><br>
+<A HREF="pkg_java.util.html#Spliterators" class="hiddenlink" target="rightframe"><b>Spliterators</b></A><br>
+<A HREF="pkg_java.util.html#Spliterators.AbstractDoubleSpliterator" class="hiddenlink" target="rightframe"><b>Spliterators.AbstractDoubleSpliterator</b></A><br>
+<A HREF="pkg_java.util.html#Spliterators.AbstractIntSpliterator" class="hiddenlink" target="rightframe"><b>Spliterators.AbstractIntSpliterator</b></A><br>
+<A HREF="pkg_java.util.html#Spliterators.AbstractLongSpliterator" class="hiddenlink" target="rightframe"><b>Spliterators.AbstractLongSpliterator</b></A><br>
+<A HREF="pkg_java.util.html#Spliterators.AbstractSpliterator" class="hiddenlink" target="rightframe"><b>Spliterators.AbstractSpliterator</b></A><br>
+<A HREF="pkg_java.util.html#SplittableRandom" class="hiddenlink" target="rightframe"><b>SplittableRandom</b></A><br>
+<A HREF="pkg_java.util.concurrent.locks.html#StampedLock" class="hiddenlink" target="rightframe"><b>StampedLock</b></A><br>
+<A HREF="pkg_javax.net.ssl.html#StandardConstants" class="hiddenlink" target="rightframe"><b>StandardConstants</b></A><br>
+<A HREF="pkg_java.net.html#StandardProtocolFamily" class="hiddenlink" target="rightframe"><b>StandardProtocolFamily</b></A><br>
+<A HREF="pkg_java.net.html#StandardSocketOptions" class="hiddenlink" target="rightframe"><b>StandardSocketOptions</b></A><br>
+<A HREF="pkg_android.os.storage.html#StorageVolume" class="hiddenlink" target="rightframe"><b>StorageVolume</b></A><br>
+<A HREF="pkg_java.util.html#StringJoiner" class="hiddenlink" target="rightframe"><b>StringJoiner</b></A><br>
+<A HREF="pkg_java.util.concurrent.atomic.html#Striped64" class="hiddenlink" target="rightframe"><b>Striped64</b></A><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.media.tv.html#TvContract.RecordedPrograms" class="hiddenlink" target="rightframe"><b>TvContract.RecordedPrograms</b></A><br>
+<A HREF="pkg_android.media.tv.html#TvInputInfo.Builder" class="hiddenlink" target="rightframe"><b>TvInputInfo.Builder</b></A><br>
+<A HREF="pkg_android.media.tv.html#TvInputService.RecordingSession" class="hiddenlink" target="rightframe"><b>TvInputService.RecordingSession</b></A><br>
+<A HREF="pkg_android.media.tv.html#TvRecordingClient" class="hiddenlink" target="rightframe"><b>TvRecordingClient</b></A><br>
+<A HREF="pkg_android.media.tv.html#TvRecordingClient.RecordingCallback" class="hiddenlink" target="rightframe"><b>TvRecordingClient.RecordingCallback</b></A><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_java.io.html#UncheckedIOException" class="hiddenlink" target="rightframe"><b>UncheckedIOException</b></A><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.view.html#Window.OnFrameMetricsAvailableListener" class="hiddenlink" target="rightframe"><b><i>Window.OnFrameMetricsAvailableListener</i></b></A><br>
+<A HREF="pkg_android.view.html#Window.OnRestrictedCaptionAreaChangedListener" class="hiddenlink" target="rightframe"><b><i>Window.OnRestrictedCaptionAreaChangedListener</i></b></A><br>
+<A NAME="X"></A>
+<br><font size="+2">X</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_javax.net.ssl.html#X509ExtendedTrustManager" class="hiddenlink" target="rightframe"><b>X509ExtendedTrustManager</b></A><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/classes_index_all.html b/docs/html/sdk/api_diff/24/changes/classes_index_all.html
new file mode 100644
index 0000000..78ee73e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/classes_index_all.html
@@ -0,0 +1,1292 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Class Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Classes" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Classes</b>
+  <br>
+<A HREF="classes_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="classes_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="classes_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.AbsSavedState.html" class="hiddenlink" target="rightframe">AbsSavedState</A><br>
+<A HREF="android.widget.AbsSeekBar.html" class="hiddenlink" target="rightframe">AbsSeekBar</A><br>
+<A HREF="java.lang.AbstractStringBuilder.html" class="hiddenlink" target="rightframe">AbstractStringBuilder</A><br>
+<A HREF="android.view.accessibility.AccessibilityNodeInfo.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfo</A><br>
+<A HREF="android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfo.AccessibilityAction</A><br>
+<A HREF="android.accessibilityservice.AccessibilityService.html" class="hiddenlink" target="rightframe">AccessibilityService</A><br>
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.GestureResultCallback" class="hiddenlink" target="rightframe"><b>AccessibilityService.GestureResultCallback</b></A><br>
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.MagnificationController" class="hiddenlink" target="rightframe"><b>AccessibilityService.MagnificationController</b></A><br>
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.MagnificationController.OnMagnificationChangedListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityService.MagnificationController.OnMagnificationChangedListener</i></b></A><br>
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.SoftKeyboardController" class="hiddenlink" target="rightframe"><b>AccessibilityService.SoftKeyboardController</b></A><br>
+<A HREF="pkg_android.accessibilityservice.html#AccessibilityService.SoftKeyboardController.OnShowModeChangedListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityService.SoftKeyboardController.OnShowModeChangedListener</i></b></A><br>
+<A HREF="android.accessibilityservice.AccessibilityServiceInfo.html" class="hiddenlink" target="rightframe">AccessibilityServiceInfo</A><br>
+<A HREF="android.view.accessibility.AccessibilityWindowInfo.html" class="hiddenlink" target="rightframe">AccessibilityWindowInfo</A><br>
+<A HREF="java.lang.reflect.AccessibleObject.html" class="hiddenlink" target="rightframe">AccessibleObject</A><br>
+<A HREF="android.app.Activity.html" class="hiddenlink" target="rightframe">Activity</A><br>
+<A HREF="android.content.pm.ActivityInfo.html" class="hiddenlink" target="rightframe">ActivityInfo</A><br>
+<A HREF="pkg_android.content.pm.html#ActivityInfo.WindowLayout" class="hiddenlink" target="rightframe"><b>ActivityInfo.WindowLayout</b></A><br>
+<A HREF="android.test.ActivityInstrumentationTestCase2.html" class="hiddenlink" target="rightframe">ActivityInstrumentationTestCase2</A><br>
+<A HREF="android.app.ActivityOptions.html" class="hiddenlink" target="rightframe">ActivityOptions</A><br>
+<A HREF="android.test.ActivityTestCase.html" class="hiddenlink" target="rightframe">ActivityTestCase</A><br>
+<A HREF="android.test.ActivityUnitTestCase.html" class="hiddenlink" target="rightframe">ActivityUnitTestCase</A><br>
+<A HREF="android.app.AlarmManager.html" class="hiddenlink" target="rightframe">AlarmManager</A><br>
+<A HREF="pkg_android.app.html#AlarmManager.OnAlarmListener" class="hiddenlink" target="rightframe"><b><i>AlarmManager.OnAlarmListener</i></b></A><br>
+<A HREF="pkg_java.security.html#AlgorithmConstraints" class="hiddenlink" target="rightframe"><b><i>AlgorithmConstraints</i></b></A><br>
+<A HREF="android.renderscript.Allocation.html" class="hiddenlink" target="rightframe">Allocation</A><br>
+<A HREF="pkg_java.nio.channels.html#AlreadyBoundException" class="hiddenlink" target="rightframe"><b>AlreadyBoundException</b></A><br>
+<A HREF="android.test.AndroidTestCase.html" class="hiddenlink" target="rightframe">AndroidTestCase</A><br>
+<A HREF="android.test.AndroidTestRunner.html" class="hiddenlink" target="rightframe">AndroidTestRunner</A><br>
+<A HREF="android.animation.Animator.html" class="hiddenlink" target="rightframe">Animator</A><br>
+<A HREF="java.lang.reflect.AnnotatedElement.html" class="hiddenlink" target="rightframe"><i>AnnotatedElement</i></A><br>
+<A HREF="android.content.pm.ApplicationInfo.html" class="hiddenlink" target="rightframe">ApplicationInfo</A><br>
+<A HREF="android.test.ApplicationTestCase.html" class="hiddenlink" target="rightframe">ApplicationTestCase</A><br>
+<A HREF="java.util.concurrent.ArrayBlockingQueue.html" class="hiddenlink" target="rightframe">ArrayBlockingQueue</A><br>
+<A HREF="java.util.ArrayDeque.html" class="hiddenlink" target="rightframe">ArrayDeque</A><br>
+<A HREF="java.util.ArrayList.html" class="hiddenlink" target="rightframe">ArrayList</A><br>
+<A HREF="java.util.Arrays.html" class="hiddenlink" target="rightframe">Arrays</A><br>
+<A HREF="android.app.assist.AssistContent.html" class="hiddenlink" target="rightframe">AssistContent</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicInteger.html" class="hiddenlink" target="rightframe">AtomicInteger</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html" class="hiddenlink" target="rightframe">AtomicIntegerArray</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html" class="hiddenlink" target="rightframe">AtomicIntegerFieldUpdater</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicLong.html" class="hiddenlink" target="rightframe">AtomicLong</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicLongArray.html" class="hiddenlink" target="rightframe">AtomicLongArray</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html" class="hiddenlink" target="rightframe">AtomicLongFieldUpdater</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicReference.html" class="hiddenlink" target="rightframe">AtomicReference</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html" class="hiddenlink" target="rightframe">AtomicReferenceArray</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html" class="hiddenlink" target="rightframe">AtomicReferenceFieldUpdater</A><br>
+<A HREF="android.media.AudioAttributes.html" class="hiddenlink" target="rightframe">AudioAttributes</A><br>
+<A HREF="android.media.AudioDeviceInfo.html" class="hiddenlink" target="rightframe">AudioDeviceInfo</A><br>
+<A HREF="android.media.AudioFormat.html" class="hiddenlink" target="rightframe">AudioFormat</A><br>
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<A HREF="pkg_android.media.html#AudioManager.AudioRecordingCallback" class="hiddenlink" target="rightframe"><b>AudioManager.AudioRecordingCallback</b></A><br>
+<A HREF="android.media.AudioRecord.html" class="hiddenlink" target="rightframe">AudioRecord</A><br>
+<A HREF="android.media.AudioRecord.OnRoutingChangedListener.html" class="hiddenlink" target="rightframe"><i>AudioRecord.OnRoutingChangedListener</i></A><br>
+<A HREF="pkg_android.media.html#AudioRecordingConfiguration" class="hiddenlink" target="rightframe"><b>AudioRecordingConfiguration</b></A><br>
+<A HREF="pkg_android.media.html#AudioRouting" class="hiddenlink" target="rightframe"><b><i>AudioRouting</i></b></A><br>
+<A HREF="pkg_android.media.html#AudioRouting.OnRoutingChangedListener" class="hiddenlink" target="rightframe"><b><i>AudioRouting.OnRoutingChangedListener</i></b></A><br>
+<A HREF="android.media.AudioTimestamp.html" class="hiddenlink" target="rightframe">AudioTimestamp</A><br>
+<A HREF="android.media.AudioTrack.html" class="hiddenlink" target="rightframe">AudioTrack</A><br>
+<A HREF="android.media.AudioTrack.OnRoutingChangedListener.html" class="hiddenlink" target="rightframe"><i>AudioTrack.OnRoutingChangedListener</i></A><br>
+<A HREF="android.widget.AutoCompleteTextView.html" class="hiddenlink" target="rightframe">AutoCompleteTextView</A><br>
+<A HREF="pkg_android.app.html#AutomaticZenRule" class="hiddenlink" target="rightframe"><b>AutomaticZenRule</b></A><br>
+<A HREF="pkg_android.graphics.html#AvoidXfermode" class="hiddenlink" target="rightframe"><strike>AvoidXfermode</strike></A><br>
+<A HREF="pkg_android.graphics.html#AvoidXfermode.Mode" class="hiddenlink" target="rightframe"><strike>AvoidXfermode.Mode</strike></A><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.backup.BackupAgent.html" class="hiddenlink" target="rightframe">BackupAgent</A><br>
+<A HREF="android.view.inputmethod.BaseInputConnection.html" class="hiddenlink" target="rightframe">BaseInputConnection</A><br>
+<A HREF="java.sql.BatchUpdateException.html" class="hiddenlink" target="rightframe">BatchUpdateException</A><br>
+<A HREF="android.graphics.BitmapFactory.Options.html" class="hiddenlink" target="rightframe">BitmapFactory.Options</A><br>
+<A HREF="java.util.BitSet.html" class="hiddenlink" target="rightframe">BitSet</A><br>
+<A HREF="pkg_android.provider.html#BlockedNumberContract" class="hiddenlink" target="rightframe"><b>BlockedNumberContract</b></A><br>
+<A HREF="pkg_android.provider.html#BlockedNumberContract.BlockedNumbers" class="hiddenlink" target="rightframe"><b>BlockedNumberContract.BlockedNumbers</b></A><br>
+<A HREF="android.bluetooth.BluetoothGattCharacteristic.html" class="hiddenlink" target="rightframe">BluetoothGattCharacteristic</A><br>
+<A HREF="android.bluetooth.BluetoothGattDescriptor.html" class="hiddenlink" target="rightframe">BluetoothGattDescriptor</A><br>
+<A HREF="android.bluetooth.BluetoothGattService.html" class="hiddenlink" target="rightframe">BluetoothGattService</A><br>
+<A HREF="java.lang.Boolean.html" class="hiddenlink" target="rightframe">Boolean</A><br>
+<A HREF="java.io.BufferedReader.html" class="hiddenlink" target="rightframe">BufferedReader</A><br>
+<A HREF="android.os.Build.VERSION_CODES.html" class="hiddenlink" target="rightframe">Build.VERSION_CODES</A><br>
+<A HREF="java.lang.Byte.html" class="hiddenlink" target="rightframe">Byte</A><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.Calendar.html" class="hiddenlink" target="rightframe">Calendar</A><br>
+<A HREF="android.widget.CalendarView.html" class="hiddenlink" target="rightframe">CalendarView</A><br>
+<A HREF="android.telecom.Call.Details.html" class="hiddenlink" target="rightframe">Call.Details</A><br>
+<A HREF="android.provider.CallLog.Calls.html" class="hiddenlink" target="rightframe">CallLog.Calls</A><br>
+<A HREF="pkg_android.telecom.html#CallScreeningService" class="hiddenlink" target="rightframe"><b>CallScreeningService</b></A><br>
+<A HREF="pkg_android.telecom.html#CallScreeningService.CallResponse" class="hiddenlink" target="rightframe"><b>CallScreeningService.CallResponse</b></A><br>
+<A HREF="pkg_android.telecom.html#CallScreeningService.CallResponse.Builder" class="hiddenlink" target="rightframe"><b>CallScreeningService.CallResponse.Builder</b></A><br>
+<A HREF="android.hardware.Camera.html" class="hiddenlink" target="rightframe">Camera</A><br>
+<A HREF="android.hardware.camera2.CameraCaptureSession.CaptureCallback.html" class="hiddenlink" target="rightframe">CameraCaptureSession.CaptureCallback</A><br>
+<A HREF="android.hardware.camera2.CameraCharacteristics.html" class="hiddenlink" target="rightframe">CameraCharacteristics</A><br>
+<A HREF="android.hardware.camera2.CameraDevice.html" class="hiddenlink" target="rightframe">CameraDevice</A><br>
+<A HREF="android.hardware.camera2.CameraMetadata.html" class="hiddenlink" target="rightframe">CameraMetadata</A><br>
+<A HREF="android.hardware.camera2.CaptureRequest.html" class="hiddenlink" target="rightframe">CaptureRequest</A><br>
+<A HREF="android.hardware.camera2.CaptureResult.html" class="hiddenlink" target="rightframe">CaptureResult</A><br>
+<A HREF="android.telephony.CarrierConfigManager.html" class="hiddenlink" target="rightframe">CarrierConfigManager</A><br>
+<A HREF="android.service.carrier.CarrierMessagingService.html" class="hiddenlink" target="rightframe">CarrierMessagingService</A><br>
+<A HREF="android.telephony.CellIdentityGsm.html" class="hiddenlink" target="rightframe">CellIdentityGsm</A><br>
+<A HREF="android.telephony.CellIdentityLte.html" class="hiddenlink" target="rightframe">CellIdentityLte</A><br>
+<A HREF="android.telephony.CellIdentityWcdma.html" class="hiddenlink" target="rightframe">CellIdentityWcdma</A><br>
+<A HREF="pkg_java.security.cert.html#CertificateRevokedException" class="hiddenlink" target="rightframe"><b>CertificateRevokedException</b></A><br>
+<A HREF="java.security.cert.CertPathBuilder.html" class="hiddenlink" target="rightframe">CertPathBuilder</A><br>
+<A HREF="java.security.cert.CertPathBuilderSpi.html" class="hiddenlink" target="rightframe">CertPathBuilderSpi</A><br>
+<A HREF="pkg_java.security.cert.html#CertPathChecker" class="hiddenlink" target="rightframe"><b><i>CertPathChecker</i></b></A><br>
+<A HREF="java.security.cert.CertPathValidator.html" class="hiddenlink" target="rightframe">CertPathValidator</A><br>
+<A HREF="java.security.cert.CertPathValidatorException.html" class="hiddenlink" target="rightframe">CertPathValidatorException</A><br>
+<A HREF="pkg_java.security.cert.html#CertPathValidatorException.BasicReason" class="hiddenlink" target="rightframe"><b>CertPathValidatorException.BasicReason</b></A><br>
+<A HREF="pkg_java.security.cert.html#CertPathValidatorException.Reason" class="hiddenlink" target="rightframe"><b><i>CertPathValidatorException.Reason</i></b></A><br>
+<A HREF="java.security.cert.CertPathValidatorSpi.html" class="hiddenlink" target="rightframe">CertPathValidatorSpi</A><br>
+<A HREF="java.lang.Character.html" class="hiddenlink" target="rightframe">Character</A><br>
+<A HREF="java.lang.Character.UnicodeBlock.html" class="hiddenlink" target="rightframe">Character.UnicodeBlock</A><br>
+<A HREF="pkg_java.lang.html#Character.UnicodeScript" class="hiddenlink" target="rightframe"><b>Character.UnicodeScript</b></A><br>
+<A HREF="java.nio.CharBuffer.html" class="hiddenlink" target="rightframe">CharBuffer</A><br>
+<A HREF="java.lang.CharSequence.html" class="hiddenlink" target="rightframe"><i>CharSequence</i></A><br>
+<A HREF="android.widget.Chronometer.html" class="hiddenlink" target="rightframe">Chronometer</A><br>
+<A HREF="java.lang.Class.html" class="hiddenlink" target="rightframe">Class</A><br>
+<A HREF="java.lang.ClassLoader.html" class="hiddenlink" target="rightframe">ClassLoader</A><br>
+<A HREF="android.content.ClipDescription.html" class="hiddenlink" target="rightframe">ClipDescription</A><br>
+<A HREF="java.nio.charset.CoderResult.html" class="hiddenlink" target="rightframe">CoderResult</A><br>
+<A HREF="java.util.Collection.html" class="hiddenlink" target="rightframe"><i>Collection</i></A><br>
+<A HREF="java.util.Collections.html" class="hiddenlink" target="rightframe">Collections</A><br>
+<A HREF="android.graphics.Color.html" class="hiddenlink" target="rightframe">Color</A><br>
+<A HREF="javax.sql.CommonDataSource.html" class="hiddenlink" target="rightframe"><i>CommonDataSource</i></A><br>
+<A HREF="java.util.Comparator.html" class="hiddenlink" target="rightframe"><i>Comparator</i></A><br>
+<A HREF="pkg_java.util.concurrent.html#CompletableFuture" class="hiddenlink" target="rightframe"><b>CompletableFuture</b></A><br>
+<A HREF="pkg_java.util.concurrent.html#CompletableFuture.AsynchronousCompletionTask" class="hiddenlink" target="rightframe"><b><i>CompletableFuture.AsynchronousCompletionTask</i></b></A><br>
+<A HREF="pkg_java.util.concurrent.html#CompletionException" class="hiddenlink" target="rightframe"><b>CompletionException</b></A><br>
+<A HREF="pkg_java.util.concurrent.html#CompletionStage" class="hiddenlink" target="rightframe"><b><i>CompletionStage</i></b></A><br>
+<A HREF="android.content.pm.ComponentInfo.html" class="hiddenlink" target="rightframe">ComponentInfo</A><br>
+<A HREF="java.util.concurrent.ConcurrentHashMap.html" class="hiddenlink" target="rightframe">ConcurrentHashMap</A><br>
+<A HREF="pkg_java.util.concurrent.html#ConcurrentHashMap.CollectionView" class="hiddenlink" target="rightframe"><b>ConcurrentHashMap.CollectionView</b></A><br>
+<A HREF="pkg_java.util.concurrent.html#ConcurrentHashMap.KeySetView" class="hiddenlink" target="rightframe"><b>ConcurrentHashMap.KeySetView</b></A><br>
+<A HREF="java.util.concurrent.ConcurrentLinkedDeque.html" class="hiddenlink" target="rightframe">ConcurrentLinkedDeque</A><br>
+<A HREF="java.util.concurrent.ConcurrentLinkedQueue.html" class="hiddenlink" target="rightframe">ConcurrentLinkedQueue</A><br>
+<A HREF="java.util.concurrent.ConcurrentSkipListMap.html" class="hiddenlink" target="rightframe">ConcurrentSkipListMap</A><br>
+<A HREF="java.util.concurrent.ConcurrentSkipListSet.html" class="hiddenlink" target="rightframe">ConcurrentSkipListSet</A><br>
+<A HREF="pkg_android.service.notification.html#Condition" class="hiddenlink" target="rightframe"><b>Condition</b></A><br>
+<A HREF="pkg_android.service.notification.html#ConditionProviderService" class="hiddenlink" target="rightframe"><b>ConditionProviderService</b></A><br>
+<A HREF="android.content.res.Configuration.html" class="hiddenlink" target="rightframe">Configuration</A><br>
+<A HREF="android.telecom.Connection.html" class="hiddenlink" target="rightframe">Connection</A><br>
+<A HREF="javax.sql.ConnectionEvent.html" class="hiddenlink" target="rightframe">ConnectionEvent</A><br>
+<A HREF="android.telecom.ConnectionService.html" class="hiddenlink" target="rightframe">ConnectionService</A><br>
+<A HREF="android.net.ConnectivityManager.html" class="hiddenlink" target="rightframe">ConnectivityManager</A><br>
+<A HREF="java.lang.reflect.Constructor.html" class="hiddenlink" target="rightframe">Constructor</A><br>
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Callable.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Callable</A><br>
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Email.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Email</A><br>
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Organization.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Organization</A><br>
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Phone.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Phone</A><br>
+<A HREF="android.provider.ContactsContract.CommonDataKinds.StructuredName.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.StructuredName</A><br>
+<A HREF="android.provider.ContactsContract.Contacts.html" class="hiddenlink" target="rightframe">ContactsContract.Contacts</A><br>
+<A HREF="android.provider.ContactsContract.Directory.html" class="hiddenlink" target="rightframe">ContactsContract.Directory</A><br>
+<A HREF="android.provider.ContactsContract.Intents.html" class="hiddenlink" target="rightframe">ContactsContract.Intents</A><br>
+<A HREF="android.provider.ContactsContract.PhoneLookupColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.PhoneLookupColumns</i></A><br>
+<A HREF="android.provider.ContactsContract.RawContactsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.RawContactsColumns</i></A><br>
+<A HREF="android.content.ContentProviderClient.html" class="hiddenlink" target="rightframe">ContentProviderClient</A><br>
+<A HREF="android.content.ContentResolver.html" class="hiddenlink" target="rightframe">ContentResolver</A><br>
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<A HREF="android.content.ContextWrapper.html" class="hiddenlink" target="rightframe">ContextWrapper</A><br>
+<A HREF="java.util.concurrent.CopyOnWriteArrayList.html" class="hiddenlink" target="rightframe">CopyOnWriteArrayList</A><br>
+<A HREF="java.util.concurrent.CopyOnWriteArraySet.html" class="hiddenlink" target="rightframe">CopyOnWriteArraySet</A><br>
+<A HREF="pkg_java.util.concurrent.html#CountedCompleter" class="hiddenlink" target="rightframe"><b>CountedCompleter</b></A><br>
+<A HREF="pkg_android.os.html#CpuUsageInfo" class="hiddenlink" target="rightframe"><b>CpuUsageInfo</b></A><br>
+<A HREF="pkg_java.security.cert.html#CRLReason" class="hiddenlink" target="rightframe"><b>CRLReason</b></A><br>
+<A HREF="pkg_java.security.html#CryptoPrimitive" class="hiddenlink" target="rightframe"><b>CryptoPrimitive</b></A><br>
+<A HREF="java.util.Currency.html" class="hiddenlink" target="rightframe">Currency</A><br>
+<A HREF="android.database.CursorJoiner.html" class="hiddenlink" target="rightframe">CursorJoiner</A><br>
+<A HREF="pkg_android.printservice.html#CustomPrinterIconCallback" class="hiddenlink" target="rightframe"><b>CustomPrinterIconCallback</b></A><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.nio.channels.DatagramChannel.html" class="hiddenlink" target="rightframe">DatagramChannel</A><br>
+<A HREF="java.sql.DataTruncation.html" class="hiddenlink" target="rightframe">DataTruncation</A><br>
+<A HREF="android.widget.DatePicker.html" class="hiddenlink" target="rightframe">DatePicker</A><br>
+<A HREF="android.app.DatePickerDialog.html" class="hiddenlink" target="rightframe">DatePickerDialog</A><br>
+<A HREF="pkg_android.os.html#DeadSystemException" class="hiddenlink" target="rightframe"><b>DeadSystemException</b></A><br>
+<A HREF="java.text.DecimalFormatSymbols.html" class="hiddenlink" target="rightframe">DecimalFormatSymbols</A><br>
+<A HREF="android.app.admin.DeviceAdminReceiver.html" class="hiddenlink" target="rightframe">DeviceAdminReceiver</A><br>
+<A HREF="android.app.admin.DevicePolicyManager.html" class="hiddenlink" target="rightframe">DevicePolicyManager</A><br>
+<A HREF="android.view.Display.html" class="hiddenlink" target="rightframe">Display</A><br>
+<A HREF="pkg_android.view.html#Display.HdrCapabilities" class="hiddenlink" target="rightframe"><b>Display.HdrCapabilities</b></A><br>
+<A HREF="android.util.DisplayMetrics.html" class="hiddenlink" target="rightframe">DisplayMetrics</A><br>
+<A HREF="android.provider.DocumentsContract.html" class="hiddenlink" target="rightframe">DocumentsContract</A><br>
+<A HREF="android.provider.DocumentsContract.Document.html" class="hiddenlink" target="rightframe">DocumentsContract.Document</A><br>
+<A HREF="android.provider.DocumentsContract.Root.html" class="hiddenlink" target="rightframe">DocumentsContract.Root</A><br>
+<A HREF="android.provider.DocumentsProvider.html" class="hiddenlink" target="rightframe">DocumentsProvider</A><br>
+<A HREF="java.lang.Double.html" class="hiddenlink" target="rightframe">Double</A><br>
+<A HREF="pkg_java.util.concurrent.atomic.html#DoubleAccumulator" class="hiddenlink" target="rightframe"><b>DoubleAccumulator</b></A><br>
+<A HREF="pkg_java.util.concurrent.atomic.html#DoubleAdder" class="hiddenlink" target="rightframe"><b>DoubleAdder</b></A><br>
+<A HREF="pkg_java.util.html#DoubleSummaryStatistics" class="hiddenlink" target="rightframe"><b>DoubleSummaryStatistics</b></A><br>
+<A HREF="android.app.DownloadManager.html" class="hiddenlink" target="rightframe">DownloadManager</A><br>
+<A HREF="android.app.DownloadManager.Request.html" class="hiddenlink" target="rightframe">DownloadManager.Request</A><br>
+<A HREF="pkg_android.view.html#DragAndDropPermissions" class="hiddenlink" target="rightframe"><b>DragAndDropPermissions</b></A><br>
+<A HREF="pkg_android.media.html#DrmInitData" class="hiddenlink" target="rightframe"><b>DrmInitData</b></A><br>
+<A HREF="pkg_android.media.html#DrmInitData.SchemeInitData" class="hiddenlink" target="rightframe"><b>DrmInitData.SchemeInitData</b></A><br>
+<A HREF="android.drm.DrmManagerClient.html" class="hiddenlink" target="rightframe">DrmManagerClient</A><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.inputmethod.EditorInfo.html" class="hiddenlink" target="rightframe">EditorInfo</A><br>
+<A HREF="java.util.EnumMap.html" class="hiddenlink" target="rightframe">EnumMap</A><br>
+<A HREF="java.lang.Error.html" class="hiddenlink" target="rightframe">Error</A><br>
+<A HREF="java.util.EventListenerProxy.html" class="hiddenlink" target="rightframe">EventListenerProxy</A><br>
+<A HREF="java.lang.Exception.html" class="hiddenlink" target="rightframe">Exception</A><br>
+<A HREF="java.util.concurrent.Executors.html" class="hiddenlink" target="rightframe">Executors</A><br>
+<A HREF="android.media.ExifInterface.html" class="hiddenlink" target="rightframe">ExifInterface</A><br>
+<A HREF="pkg_javax.net.ssl.html#ExtendedSSLSession" class="hiddenlink" target="rightframe"><b>ExtendedSSLSession</b></A><br>
+<A HREF="pkg_java.security.cert.html#Extension" class="hiddenlink" target="rightframe"><b><i>Extension</i></b></A><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.content.pm.FeatureInfo.html" class="hiddenlink" target="rightframe">FeatureInfo</A><br>
+<A HREF="java.lang.reflect.Field.html" class="hiddenlink" target="rightframe">Field</A><br>
+<A HREF="java.nio.channels.FileChannel.html" class="hiddenlink" target="rightframe">FileChannel</A><br>
+<A HREF="java.nio.channels.FileLock.html" class="hiddenlink" target="rightframe">FileLock</A><br>
+<A HREF="pkg_android.os.html#FileUriExposedException" class="hiddenlink" target="rightframe"><b>FileUriExposedException</b></A><br>
+<A HREF="android.test.FlakyTest.html" class="hiddenlink" target="rightframe">FlakyTest</A><br>
+<A HREF="java.lang.Float.html" class="hiddenlink" target="rightframe">Float</A><br>
+<A HREF="pkg_android.util.html#FloatProperty" class="hiddenlink" target="rightframe"><b>FloatProperty</b></A><br>
+<A HREF="java.util.concurrent.ForkJoinPool.html" class="hiddenlink" target="rightframe">ForkJoinPool</A><br>
+<A HREF="java.util.concurrent.ForkJoinTask.html" class="hiddenlink" target="rightframe">ForkJoinTask</A><br>
+<A HREF="java.util.FormatFlagsConversionMismatchException.html" class="hiddenlink" target="rightframe">FormatFlagsConversionMismatchException</A><br>
+<A HREF="java.util.Formattable.html" class="hiddenlink" target="rightframe"><i>Formattable</i></A><br>
+<A HREF="java.util.FormatterClosedException.html" class="hiddenlink" target="rightframe">FormatterClosedException</A><br>
+<A HREF="android.app.Fragment.html" class="hiddenlink" target="rightframe">Fragment</A><br>
+<A HREF="android.app.FragmentController.html" class="hiddenlink" target="rightframe">FragmentController</A><br>
+<A HREF="android.app.FragmentHostCallback.html" class="hiddenlink" target="rightframe">FragmentHostCallback</A><br>
+<A HREF="pkg_android.app.html#FragmentManagerNonConfig" class="hiddenlink" target="rightframe"><b>FragmentManagerNonConfig</b></A><br>
+<A HREF="android.app.FragmentTransaction.html" class="hiddenlink" target="rightframe">FragmentTransaction</A><br>
+<A HREF="android.widget.FrameLayout.LayoutParams.html" class="hiddenlink" target="rightframe">FrameLayout.LayoutParams</A><br>
+<A HREF="pkg_android.view.html#FrameMetrics" class="hiddenlink" target="rightframe"><b>FrameMetrics</b></A><br>
+<A HREF="pkg_java.lang.html#FunctionalInterface" class="hiddenlink" target="rightframe"><b>FunctionalInterface</b></A><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.accessibilityservice.html#GestureDescription" class="hiddenlink" target="rightframe"><b>GestureDescription</b></A><br>
+<A HREF="pkg_android.accessibilityservice.html#GestureDescription.Builder" class="hiddenlink" target="rightframe"><b>GestureDescription.Builder</b></A><br>
+<A HREF="pkg_android.accessibilityservice.html#GestureDescription.StrokeDescription" class="hiddenlink" target="rightframe"><b>GestureDescription.StrokeDescription</b></A><br>
+<A HREF="android.opengl.GLES30.html" class="hiddenlink" target="rightframe">GLES30</A><br>
+<A HREF="android.opengl.GLES31.html" class="hiddenlink" target="rightframe">GLES31</A><br>
+<A HREF="pkg_android.opengl.html#GLES32" class="hiddenlink" target="rightframe"><b>GLES32</b></A><br>
+<A HREF="pkg_android.opengl.html#GLES32.DebugProc" class="hiddenlink" target="rightframe"><b><i>GLES32.DebugProc</i></b></A><br>
+<A HREF="android.opengl.GLSurfaceView.html" class="hiddenlink" target="rightframe">GLSurfaceView</A><br>
+<A HREF="pkg_android.location.html#GnssClock" class="hiddenlink" target="rightframe"><b>GnssClock</b></A><br>
+<A HREF="pkg_android.location.html#GnssMeasurement" class="hiddenlink" target="rightframe"><b>GnssMeasurement</b></A><br>
+<A HREF="pkg_android.location.html#GnssMeasurementsEvent" class="hiddenlink" target="rightframe"><b>GnssMeasurementsEvent</b></A><br>
+<A HREF="pkg_android.location.html#GnssMeasurementsEvent.Callback" class="hiddenlink" target="rightframe"><b>GnssMeasurementsEvent.Callback</b></A><br>
+<A HREF="pkg_android.location.html#GnssNavigationMessage" class="hiddenlink" target="rightframe"><b>GnssNavigationMessage</b></A><br>
+<A HREF="pkg_android.location.html#GnssNavigationMessage.Callback" class="hiddenlink" target="rightframe"><b>GnssNavigationMessage.Callback</b></A><br>
+<A HREF="pkg_android.location.html#GnssStatus" class="hiddenlink" target="rightframe"><b>GnssStatus</b></A><br>
+<A HREF="pkg_android.location.html#GnssStatus.Callback" class="hiddenlink" target="rightframe"><b>GnssStatus.Callback</b></A><br>
+<A HREF="android.location.GpsSatellite.html" class="hiddenlink" target="rightframe">GpsSatellite</A><br>
+<A HREF="android.location.GpsStatus.html" class="hiddenlink" target="rightframe">GpsStatus</A><br>
+<A HREF="android.location.GpsStatus.Listener.html" class="hiddenlink" target="rightframe"><i>GpsStatus.Listener</i></A><br>
+<A HREF="android.location.GpsStatus.NmeaListener.html" class="hiddenlink" target="rightframe"><i>GpsStatus.NmeaListener</i></A><br>
+<A HREF="android.graphics.drawable.GradientDrawable.html" class="hiddenlink" target="rightframe">GradientDrawable</A><br>
+<A HREF="java.util.GregorianCalendar.html" class="hiddenlink" target="rightframe">GregorianCalendar</A><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.logging.Handler.html" class="hiddenlink" target="rightframe">Handler</A><br>
+<A HREF="pkg_android.os.html#HardwarePropertiesManager" class="hiddenlink" target="rightframe"><b>HardwarePropertiesManager</b></A><br>
+<A HREF="java.util.HashMap.html" class="hiddenlink" target="rightframe">HashMap</A><br>
+<A HREF="java.util.HashSet.html" class="hiddenlink" target="rightframe">HashSet</A><br>
+<A HREF="java.util.Hashtable.html" class="hiddenlink" target="rightframe">Hashtable</A><br>
+<A HREF="pkg_android.nfc.cardemulation.html#HostNfcFService" class="hiddenlink" target="rightframe"><b>HostNfcFService</b></A><br>
+<A HREF="android.text.Html.html" class="hiddenlink" target="rightframe">Html</A><br>
+<A HREF="java.net.HttpCookie.html" class="hiddenlink" target="rightframe">HttpCookie</A><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.IdentityHashMap.html" class="hiddenlink" target="rightframe">IdentityHashMap</A><br>
+<A HREF="java.util.IllegalFormatCodePointException.html" class="hiddenlink" target="rightframe">IllegalFormatCodePointException</A><br>
+<A HREF="java.util.IllegalFormatConversionException.html" class="hiddenlink" target="rightframe">IllegalFormatConversionException</A><br>
+<A HREF="java.util.IllegalFormatException.html" class="hiddenlink" target="rightframe">IllegalFormatException</A><br>
+<A HREF="java.util.IllegalFormatFlagsException.html" class="hiddenlink" target="rightframe">IllegalFormatFlagsException</A><br>
+<A HREF="android.graphics.ImageFormat.html" class="hiddenlink" target="rightframe">ImageFormat</A><br>
+<A HREF="android.telecom.InCallService.html" class="hiddenlink" target="rightframe">InCallService</A><br>
+<A HREF="java.util.zip.InflaterInputStream.html" class="hiddenlink" target="rightframe">InflaterInputStream</A><br>
+<A HREF="android.view.inputmethod.InputConnection.html" class="hiddenlink" target="rightframe"><i>InputConnection</i></A><br>
+<A HREF="android.view.inputmethod.InputConnectionWrapper.html" class="hiddenlink" target="rightframe">InputConnectionWrapper</A><br>
+<A HREF="android.view.inputmethod.InputMethodManager.html" class="hiddenlink" target="rightframe">InputMethodManager</A><br>
+<A HREF="android.view.inputmethod.InputMethodSubtype.html" class="hiddenlink" target="rightframe">InputMethodSubtype</A><br>
+<A HREF="android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.html" class="hiddenlink" target="rightframe">InputMethodSubtype.InputMethodSubtypeBuilder</A><br>
+<A HREF="java.util.InputMismatchException.html" class="hiddenlink" target="rightframe">InputMismatchException</A><br>
+<A HREF="android.app.Instrumentation.html" class="hiddenlink" target="rightframe">Instrumentation</A><br>
+<A HREF="android.test.InstrumentationTestCase.html" class="hiddenlink" target="rightframe">InstrumentationTestCase</A><br>
+<A HREF="android.test.InstrumentationTestRunner.html" class="hiddenlink" target="rightframe">InstrumentationTestRunner</A><br>
+<A HREF="android.test.InstrumentationTestSuite.html" class="hiddenlink" target="rightframe">InstrumentationTestSuite</A><br>
+<A HREF="java.lang.Integer.html" class="hiddenlink" target="rightframe">Integer</A><br>
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<A HREF="java.lang.InternalError.html" class="hiddenlink" target="rightframe">InternalError</A><br>
+<A HREF="pkg_android.util.html#IntProperty" class="hiddenlink" target="rightframe"><b>IntProperty</b></A><br>
+<A HREF="pkg_java.util.html#IntSummaryStatistics" class="hiddenlink" target="rightframe"><b>IntSummaryStatistics</b></A><br>
+<A HREF="android.test.IsolatedContext.html" class="hiddenlink" target="rightframe">IsolatedContext</A><br>
+<A HREF="java.lang.Iterable.html" class="hiddenlink" target="rightframe"><i>Iterable</i></A><br>
+<A HREF="java.util.Iterator.html" class="hiddenlink" target="rightframe"><i>Iterator</i></A><br>
+<A NAME="J"></A>
+<br><font size="+2">J</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.job.JobInfo.html" class="hiddenlink" target="rightframe">JobInfo</A><br>
+<A HREF="android.app.job.JobInfo.Builder.html" class="hiddenlink" target="rightframe">JobInfo.Builder</A><br>
+<A HREF="pkg_android.app.job.html#JobInfo.TriggerContentUri" class="hiddenlink" target="rightframe"><b>JobInfo.TriggerContentUri</b></A><br>
+<A HREF="android.app.job.JobParameters.html" class="hiddenlink" target="rightframe">JobParameters</A><br>
+<A HREF="android.app.job.JobScheduler.html" class="hiddenlink" target="rightframe">JobScheduler</A><br>
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.view.html#KeyboardShortcutGroup" class="hiddenlink" target="rightframe"><b>KeyboardShortcutGroup</b></A><br>
+<A HREF="pkg_android.view.html#KeyboardShortcutInfo" class="hiddenlink" target="rightframe"><b>KeyboardShortcutInfo</b></A><br>
+<A HREF="android.view.KeyEvent.html" class="hiddenlink" target="rightframe">KeyEvent</A><br>
+<A HREF="android.security.keystore.KeyGenParameterSpec.html" class="hiddenlink" target="rightframe">KeyGenParameterSpec</A><br>
+<A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html" class="hiddenlink" target="rightframe">KeyGenParameterSpec.Builder</A><br>
+<A HREF="android.security.keystore.KeyInfo.html" class="hiddenlink" target="rightframe">KeyInfo</A><br>
+<A HREF="android.security.keystore.KeyProtection.html" class="hiddenlink" target="rightframe">KeyProtection</A><br>
+<A HREF="android.security.keystore.KeyProtection.Builder.html" class="hiddenlink" target="rightframe">KeyProtection.Builder</A><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.test.suitebuilder.annotation.LargeTest.html" class="hiddenlink" target="rightframe">LargeTest</A><br>
+<A HREF="android.content.pm.LauncherApps.Callback.html" class="hiddenlink" target="rightframe">LauncherApps.Callback</A><br>
+<A HREF="android.graphics.drawable.LayerDrawable.html" class="hiddenlink" target="rightframe">LayerDrawable</A><br>
+<A HREF="android.widget.LinearLayout.html" class="hiddenlink" target="rightframe">LinearLayout</A><br>
+<A HREF="java.util.concurrent.LinkedBlockingDeque.html" class="hiddenlink" target="rightframe">LinkedBlockingDeque</A><br>
+<A HREF="java.util.concurrent.LinkedBlockingQueue.html" class="hiddenlink" target="rightframe">LinkedBlockingQueue</A><br>
+<A HREF="java.util.LinkedHashMap.html" class="hiddenlink" target="rightframe">LinkedHashMap</A><br>
+<A HREF="java.util.LinkedList.html" class="hiddenlink" target="rightframe">LinkedList</A><br>
+<A HREF="java.util.concurrent.LinkedTransferQueue.html" class="hiddenlink" target="rightframe">LinkedTransferQueue</A><br>
+<A HREF="android.text.util.Linkify.html" class="hiddenlink" target="rightframe">Linkify</A><br>
+<A HREF="java.util.List.html" class="hiddenlink" target="rightframe"><i>List</i></A><br>
+<A HREF="java.util.Locale.html" class="hiddenlink" target="rightframe">Locale</A><br>
+<A HREF="pkg_java.util.html#Locale.Category" class="hiddenlink" target="rightframe"><b>Locale.Category</b></A><br>
+<A HREF="pkg_android.os.html#LocaleList" class="hiddenlink" target="rightframe"><b>LocaleList</b></A><br>
+<A HREF="android.text.style.LocaleSpan.html" class="hiddenlink" target="rightframe">LocaleSpan</A><br>
+<A HREF="android.location.LocationManager.html" class="hiddenlink" target="rightframe">LocationManager</A><br>
+<A HREF="java.util.logging.Logger.html" class="hiddenlink" target="rightframe">Logger</A><br>
+<A HREF="java.util.logging.LoggingPermission.html" class="hiddenlink" target="rightframe">LoggingPermission</A><br>
+<A HREF="java.util.logging.LogManager.html" class="hiddenlink" target="rightframe">LogManager</A><br>
+<A HREF="java.lang.Long.html" class="hiddenlink" target="rightframe">Long</A><br>
+<A HREF="pkg_java.util.concurrent.atomic.html#LongAccumulator" class="hiddenlink" target="rightframe"><b>LongAccumulator</b></A><br>
+<A HREF="pkg_java.util.concurrent.atomic.html#LongAdder" class="hiddenlink" target="rightframe"><b>LongAdder</b></A><br>
+<A HREF="pkg_java.util.html#LongSummaryStatistics" class="hiddenlink" target="rightframe"><b>LongSummaryStatistics</b></A><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<A HREF="java.util.Map.html" class="hiddenlink" target="rightframe"><i>Map</i></A><br>
+<A HREF="java.util.Map.Entry.html" class="hiddenlink" target="rightframe"><i>Map.Entry</i></A><br>
+<A HREF="java.lang.Math.html" class="hiddenlink" target="rightframe">Math</A><br>
+<A HREF="android.media.browse.MediaBrowser.html" class="hiddenlink" target="rightframe">MediaBrowser</A><br>
+<A HREF="android.media.browse.MediaBrowser.SubscriptionCallback.html" class="hiddenlink" target="rightframe">MediaBrowser.SubscriptionCallback</A><br>
+<A HREF="android.service.media.MediaBrowserService.html" class="hiddenlink" target="rightframe">MediaBrowserService</A><br>
+<A HREF="android.service.media.MediaBrowserService.BrowserRoot.html" class="hiddenlink" target="rightframe">MediaBrowserService.BrowserRoot</A><br>
+<A HREF="android.media.MediaCodec.html" class="hiddenlink" target="rightframe">MediaCodec</A><br>
+<A HREF="android.media.MediaCodec.CryptoException.html" class="hiddenlink" target="rightframe">MediaCodec.CryptoException</A><br>
+<A HREF="android.media.MediaCodec.CryptoInfo.html" class="hiddenlink" target="rightframe">MediaCodec.CryptoInfo</A><br>
+<A HREF="pkg_android.media.html#MediaCodec.CryptoInfo.Pattern" class="hiddenlink" target="rightframe"><b>MediaCodec.CryptoInfo.Pattern</b></A><br>
+<A HREF="android.media.MediaCodecInfo.CodecCapabilities.html" class="hiddenlink" target="rightframe">MediaCodecInfo.CodecCapabilities</A><br>
+<A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html" class="hiddenlink" target="rightframe">MediaCodecInfo.CodecProfileLevel</A><br>
+<A HREF="android.media.session.MediaController.TransportControls.html" class="hiddenlink" target="rightframe">MediaController.TransportControls</A><br>
+<A HREF="android.media.MediaExtractor.html" class="hiddenlink" target="rightframe">MediaExtractor</A><br>
+<A HREF="android.media.MediaFormat.html" class="hiddenlink" target="rightframe">MediaFormat</A><br>
+<A HREF="android.media.MediaPlayer.html" class="hiddenlink" target="rightframe">MediaPlayer</A><br>
+<A HREF="android.media.MediaRecorder.html" class="hiddenlink" target="rightframe">MediaRecorder</A><br>
+<A HREF="android.media.MediaRecorder.AudioSource.html" class="hiddenlink" target="rightframe">MediaRecorder.AudioSource</A><br>
+<A HREF="android.media.MediaRecorder.VideoEncoder.html" class="hiddenlink" target="rightframe">MediaRecorder.VideoEncoder</A><br>
+<A HREF="android.media.MediaRouter.RouteInfo.html" class="hiddenlink" target="rightframe">MediaRouter.RouteInfo</A><br>
+<A HREF="android.media.session.MediaSession.Callback.html" class="hiddenlink" target="rightframe">MediaSession.Callback</A><br>
+<A HREF="android.test.suitebuilder.annotation.MediumTest.html" class="hiddenlink" target="rightframe">MediumTest</A><br>
+<A HREF="java.util.logging.MemoryHandler.html" class="hiddenlink" target="rightframe">MemoryHandler</A><br>
+<A HREF="java.lang.reflect.Method.html" class="hiddenlink" target="rightframe">Method</A><br>
+<A HREF="android.test.mock.MockApplication.html" class="hiddenlink" target="rightframe">MockApplication</A><br>
+<A HREF="android.test.mock.MockContext.html" class="hiddenlink" target="rightframe">MockContext</A><br>
+<A HREF="android.test.mock.MockCursor.html" class="hiddenlink" target="rightframe">MockCursor</A><br>
+<A HREF="android.test.mock.MockDialogInterface.html" class="hiddenlink" target="rightframe">MockDialogInterface</A><br>
+<A HREF="android.test.mock.MockPackageManager.html" class="hiddenlink" target="rightframe">MockPackageManager</A><br>
+<A HREF="android.test.mock.MockResources.html" class="hiddenlink" target="rightframe">MockResources</A><br>
+<A HREF="android.test.MoreAsserts.html" class="hiddenlink" target="rightframe">MoreAsserts</A><br>
+<A HREF="android.view.MotionEvent.html" class="hiddenlink" target="rightframe">MotionEvent</A><br>
+<A HREF="android.mtp.MtpConstants.html" class="hiddenlink" target="rightframe">MtpConstants</A><br>
+<A HREF="android.mtp.MtpDevice.html" class="hiddenlink" target="rightframe">MtpDevice</A><br>
+<A HREF="android.mtp.MtpDeviceInfo.html" class="hiddenlink" target="rightframe">MtpDeviceInfo</A><br>
+<A HREF="pkg_android.mtp.html#MtpEvent" class="hiddenlink" target="rightframe"><b>MtpEvent</b></A><br>
+<A HREF="android.mtp.MtpObjectInfo.html" class="hiddenlink" target="rightframe">MtpObjectInfo</A><br>
+<A HREF="pkg_android.mtp.html#MtpObjectInfo.Builder" class="hiddenlink" target="rightframe"><b>MtpObjectInfo.Builder</b></A><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_java.nio.channels.html#NetworkChannel" class="hiddenlink" target="rightframe"><b><i>NetworkChannel</i></b></A><br>
+<A HREF="android.net.NetworkInfo.html" class="hiddenlink" target="rightframe">NetworkInfo</A><br>
+<A HREF="android.security.NetworkSecurityPolicy.html" class="hiddenlink" target="rightframe">NetworkSecurityPolicy</A><br>
+<A HREF="android.app.usage.NetworkStats.Bucket.html" class="hiddenlink" target="rightframe">NetworkStats.Bucket</A><br>
+<A HREF="android.app.usage.NetworkStatsManager.html" class="hiddenlink" target="rightframe">NetworkStatsManager</A><br>
+<A HREF="pkg_android.app.usage.html#NetworkStatsManager.UsageCallback" class="hiddenlink" target="rightframe"><b>NetworkStatsManager.UsageCallback</b></A><br>
+<A HREF="android.nfc.NfcAdapter.html" class="hiddenlink" target="rightframe">NfcAdapter</A><br>
+<A HREF="pkg_android.nfc.html#NfcAdapter.OnTagRemovedListener" class="hiddenlink" target="rightframe"><b><i>NfcAdapter.OnTagRemovedListener</i></b></A><br>
+<A HREF="pkg_android.nfc.cardemulation.html#NfcFCardEmulation" class="hiddenlink" target="rightframe"><b>NfcFCardEmulation</b></A><br>
+<A HREF="java.util.prefs.NodeChangeEvent.html" class="hiddenlink" target="rightframe">NodeChangeEvent</A><br>
+<A HREF="android.app.Notification.html" class="hiddenlink" target="rightframe">Notification</A><br>
+<A HREF="android.app.Notification.Action.html" class="hiddenlink" target="rightframe">Notification.Action</A><br>
+<A HREF="android.app.Notification.Action.Builder.html" class="hiddenlink" target="rightframe">Notification.Action.Builder</A><br>
+<A HREF="android.app.Notification.Action.WearableExtender.html" class="hiddenlink" target="rightframe">Notification.Action.WearableExtender</A><br>
+<A HREF="android.app.Notification.BigPictureStyle.html" class="hiddenlink" target="rightframe">Notification.BigPictureStyle</A><br>
+<A HREF="android.app.Notification.BigTextStyle.html" class="hiddenlink" target="rightframe">Notification.BigTextStyle</A><br>
+<A HREF="android.app.Notification.Builder.html" class="hiddenlink" target="rightframe">Notification.Builder</A><br>
+<A HREF="pkg_android.app.html#Notification.DecoratedCustomViewStyle" class="hiddenlink" target="rightframe"><b>Notification.DecoratedCustomViewStyle</b></A><br>
+<A HREF="pkg_android.app.html#Notification.DecoratedMediaCustomViewStyle" class="hiddenlink" target="rightframe"><b>Notification.DecoratedMediaCustomViewStyle</b></A><br>
+<A HREF="android.app.Notification.InboxStyle.html" class="hiddenlink" target="rightframe">Notification.InboxStyle</A><br>
+<A HREF="android.app.Notification.MediaStyle.html" class="hiddenlink" target="rightframe">Notification.MediaStyle</A><br>
+<A HREF="pkg_android.app.html#Notification.MessagingStyle" class="hiddenlink" target="rightframe"><b>Notification.MessagingStyle</b></A><br>
+<A HREF="pkg_android.app.html#Notification.MessagingStyle.Message" class="hiddenlink" target="rightframe"><b>Notification.MessagingStyle.Message</b></A><br>
+<A HREF="android.app.Notification.WearableExtender.html" class="hiddenlink" target="rightframe">Notification.WearableExtender</A><br>
+<A HREF="android.service.notification.NotificationListenerService.html" class="hiddenlink" target="rightframe">NotificationListenerService</A><br>
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html" class="hiddenlink" target="rightframe">NotificationListenerService.Ranking</A><br>
+<A HREF="android.app.NotificationManager.html" class="hiddenlink" target="rightframe">NotificationManager</A><br>
+<A HREF="android.app.NotificationManager.Policy.html" class="hiddenlink" target="rightframe">NotificationManager.Policy</A><br>
+<A HREF="java.awt.font.NumericShaper.html" class="hiddenlink" target="rightframe">NumericShaper</A><br>
+<A HREF="pkg_java.awt.font.html#NumericShaper.Range" class="hiddenlink" target="rightframe"><b>NumericShaper.Range</b></A><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.io.ObjectInputStream.html" class="hiddenlink" target="rightframe">ObjectInputStream</A><br>
+<A HREF="java.io.ObjectInputStream.GetField.html" class="hiddenlink" target="rightframe">ObjectInputStream.GetField</A><br>
+<A HREF="java.io.ObjectOutputStream.html" class="hiddenlink" target="rightframe">ObjectOutputStream</A><br>
+<A HREF="java.util.Objects.html" class="hiddenlink" target="rightframe">Objects</A><br>
+<A HREF="pkg_android.location.html#OnNmeaMessageListener" class="hiddenlink" target="rightframe"><b><i>OnNmeaMessageListener</i></b></A><br>
+<A HREF="pkg_java.util.html#Optional" class="hiddenlink" target="rightframe"><b>Optional</b></A><br>
+<A HREF="pkg_java.util.html#OptionalDouble" class="hiddenlink" target="rightframe"><b>OptionalDouble</b></A><br>
+<A HREF="pkg_java.util.html#OptionalInt" class="hiddenlink" target="rightframe"><b>OptionalInt</b></A><br>
+<A HREF="pkg_java.util.html#OptionalLong" class="hiddenlink" target="rightframe"><b>OptionalLong</b></A><br>
+<A HREF="android.graphics.Outline.html" class="hiddenlink" target="rightframe">Outline</A><br>
+<A HREF="pkg_android.hardware.camera2.params.html#OutputConfiguration" class="hiddenlink" target="rightframe"><b>OutputConfiguration</b></A><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.lang.Package.html" class="hiddenlink" target="rightframe">Package</A><br>
+<A HREF="android.content.pm.PackageInstaller.Session.html" class="hiddenlink" target="rightframe">PackageInstaller.Session</A><br>
+<A HREF="android.content.pm.PackageInstaller.SessionParams.html" class="hiddenlink" target="rightframe">PackageInstaller.SessionParams</A><br>
+<A HREF="android.content.pm.PackageManager.html" class="hiddenlink" target="rightframe">PackageManager</A><br>
+<A HREF="android.graphics.Paint.html" class="hiddenlink" target="rightframe">Paint</A><br>
+<A HREF="java.util.regex.Pattern.html" class="hiddenlink" target="rightframe">Pattern</A><br>
+<A HREF="android.util.Patterns.html" class="hiddenlink" target="rightframe">Patterns</A><br>
+<A HREF="android.test.PerformanceTestCase.html" class="hiddenlink" target="rightframe"><i>PerformanceTestCase</i></A><br>
+<A HREF="java.security.acl.Permission.html" class="hiddenlink" target="rightframe"><i>Permission</i></A><br>
+<A HREF="android.content.pm.PermissionInfo.html" class="hiddenlink" target="rightframe">PermissionInfo</A><br>
+<A HREF="android.telecom.PhoneAccount.html" class="hiddenlink" target="rightframe">PhoneAccount</A><br>
+<A HREF="android.telecom.PhoneAccount.Builder.html" class="hiddenlink" target="rightframe">PhoneAccount.Builder</A><br>
+<A HREF="pkg_android.view.html#PixelCopy" class="hiddenlink" target="rightframe"><b>PixelCopy</b></A><br>
+<A HREF="pkg_android.view.html#PixelCopy.OnPixelCopyFinishedListener" class="hiddenlink" target="rightframe"><b><i>PixelCopy.OnPixelCopyFinishedListener</i></b></A><br>
+<A HREF="pkg_android.graphics.html#PixelXorXfermode" class="hiddenlink" target="rightframe"><strike>PixelXorXfermode</strike></A><br>
+<A HREF="java.security.cert.PKIXCertPathChecker.html" class="hiddenlink" target="rightframe">PKIXCertPathChecker</A><br>
+<A HREF="pkg_java.security.cert.html#PKIXReason" class="hiddenlink" target="rightframe"><b>PKIXReason</b></A><br>
+<A HREF="pkg_java.security.cert.html#PKIXRevocationChecker" class="hiddenlink" target="rightframe"><b>PKIXRevocationChecker</b></A><br>
+<A HREF="pkg_java.security.cert.html#PKIXRevocationChecker.Option" class="hiddenlink" target="rightframe"><b>PKIXRevocationChecker.Option</b></A><br>
+<A HREF="android.media.session.PlaybackState.html" class="hiddenlink" target="rightframe">PlaybackState</A><br>
+<A HREF="pkg_android.view.html#PointerIcon" class="hiddenlink" target="rightframe"><b>PointerIcon</b></A><br>
+<A HREF="android.widget.PopupWindow.html" class="hiddenlink" target="rightframe">PopupWindow</A><br>
+<A HREF="android.os.PowerManager.html" class="hiddenlink" target="rightframe">PowerManager</A><br>
+<A HREF="android.preference.Preference.html" class="hiddenlink" target="rightframe">Preference</A><br>
+<A HREF="java.util.prefs.PreferenceChangeEvent.html" class="hiddenlink" target="rightframe">PreferenceChangeEvent</A><br>
+<A HREF="android.preference.PreferenceManager.html" class="hiddenlink" target="rightframe">PreferenceManager</A><br>
+<A HREF="pkg_java.util.html#PrimitiveIterator" class="hiddenlink" target="rightframe"><b><i>PrimitiveIterator</i></b></A><br>
+<A HREF="pkg_java.util.html#PrimitiveIterator.OfDouble" class="hiddenlink" target="rightframe"><b><i>PrimitiveIterator.OfDouble</i></b></A><br>
+<A HREF="pkg_java.util.html#PrimitiveIterator.OfInt" class="hiddenlink" target="rightframe"><b><i>PrimitiveIterator.OfInt</i></b></A><br>
+<A HREF="pkg_java.util.html#PrimitiveIterator.OfLong" class="hiddenlink" target="rightframe"><b><i>PrimitiveIterator.OfLong</i></b></A><br>
+<A HREF="android.printservice.PrinterDiscoverySession.html" class="hiddenlink" target="rightframe">PrinterDiscoverySession</A><br>
+<A HREF="android.print.PrinterInfo.Builder.html" class="hiddenlink" target="rightframe">PrinterInfo.Builder</A><br>
+<A HREF="android.printservice.PrintJob.html" class="hiddenlink" target="rightframe">PrintJob</A><br>
+<A HREF="java.util.concurrent.PriorityBlockingQueue.html" class="hiddenlink" target="rightframe">PriorityBlockingQueue</A><br>
+<A HREF="java.util.PriorityQueue.html" class="hiddenlink" target="rightframe">PriorityQueue</A><br>
+<A HREF="android.os.Process.html" class="hiddenlink" target="rightframe">Process</A><br>
+<A HREF="android.widget.ProgressBar.html" class="hiddenlink" target="rightframe">ProgressBar</A><br>
+<A HREF="pkg_java.net.html#ProtocolFamily" class="hiddenlink" target="rightframe"><b><i>ProtocolFamily</i></b></A><br>
+<A HREF="java.security.Provider.html" class="hiddenlink" target="rightframe">Provider</A><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.R.attr.html" class="hiddenlink" target="rightframe">R.attr</A><br>
+<A HREF="android.R.id.html" class="hiddenlink" target="rightframe">R.id</A><br>
+<A HREF="android.R.style.html" class="hiddenlink" target="rightframe">R.style</A><br>
+<A HREF="java.util.Random.html" class="hiddenlink" target="rightframe">Random</A><br>
+<A HREF="java.lang.ref.ReferenceQueue.html" class="hiddenlink" target="rightframe">ReferenceQueue</A><br>
+<A HREF="android.telecom.RemoteConference.html" class="hiddenlink" target="rightframe">RemoteConference</A><br>
+<A HREF="android.widget.RemoteViews.html" class="hiddenlink" target="rightframe">RemoteViews</A><br>
+<A HREF="android.test.RenamingDelegatingContext.html" class="hiddenlink" target="rightframe">RenamingDelegatingContext</A><br>
+<A HREF="pkg_java.lang.annotation.html#Repeatable" class="hiddenlink" target="rightframe"><b>Repeatable</b></A><br>
+<A HREF="java.util.ResourceBundle.html" class="hiddenlink" target="rightframe">ResourceBundle</A><br>
+<A HREF="java.util.ResourceBundle.Control.html" class="hiddenlink" target="rightframe">ResourceBundle.Control</A><br>
+<A HREF="android.content.res.Resources.NotFoundException.html" class="hiddenlink" target="rightframe">Resources.NotFoundException</A><br>
+<A HREF="javax.sql.RowSetEvent.html" class="hiddenlink" target="rightframe">RowSetEvent</A><br>
+<A HREF="java.lang.RuntimeException.html" class="hiddenlink" target="rightframe">RuntimeException</A><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.Scanner.html" class="hiddenlink" target="rightframe">Scanner</A><br>
+<A HREF="android.renderscript.Script.html" class="hiddenlink" target="rightframe">Script</A><br>
+<A HREF="javax.crypto.spec.SecretKeySpec.html" class="hiddenlink" target="rightframe">SecretKeySpec</A><br>
+<A HREF="pkg_android.app.admin.html#SecurityLog" class="hiddenlink" target="rightframe"><b>SecurityLog</b></A><br>
+<A HREF="pkg_android.app.admin.html#SecurityLog.SecurityEvent" class="hiddenlink" target="rightframe"><b>SecurityLog.SecurityEvent</b></A><br>
+<A HREF="pkg_java.nio.channels.html#SeekableByteChannel" class="hiddenlink" target="rightframe"><b><i>SeekableByteChannel</i></b></A><br>
+<A HREF="java.nio.channels.spi.SelectorProvider.html" class="hiddenlink" target="rightframe">SelectorProvider</A><br>
+<A HREF="android.hardware.Sensor.html" class="hiddenlink" target="rightframe">Sensor</A><br>
+<A HREF="pkg_android.hardware.html#SensorAdditionalInfo" class="hiddenlink" target="rightframe"><b>SensorAdditionalInfo</b></A><br>
+<A HREF="pkg_android.hardware.html#SensorEventCallback" class="hiddenlink" target="rightframe"><b>SensorEventCallback</b></A><br>
+<A HREF="android.hardware.SensorManager.html" class="hiddenlink" target="rightframe">SensorManager</A><br>
+<A HREF="pkg_android.hardware.html#SensorManager.DynamicSensorCallback" class="hiddenlink" target="rightframe"><b>SensorManager.DynamicSensorCallback</b></A><br>
+<A HREF="java.nio.channels.ServerSocketChannel.html" class="hiddenlink" target="rightframe">ServerSocketChannel</A><br>
+<A HREF="android.app.Service.html" class="hiddenlink" target="rightframe">Service</A><br>
+<A HREF="android.content.pm.ServiceInfo.html" class="hiddenlink" target="rightframe">ServiceInfo</A><br>
+<A HREF="android.test.ServiceTestCase.html" class="hiddenlink" target="rightframe">ServiceTestCase</A><br>
+<A HREF="pkg_android.webkit.html#ServiceWorkerClient" class="hiddenlink" target="rightframe"><b>ServiceWorkerClient</b></A><br>
+<A HREF="pkg_android.webkit.html#ServiceWorkerController" class="hiddenlink" target="rightframe"><b>ServiceWorkerController</b></A><br>
+<A HREF="pkg_android.webkit.html#ServiceWorkerWebSettings" class="hiddenlink" target="rightframe"><b>ServiceWorkerWebSettings</b></A><br>
+<A HREF="android.provider.Settings.html" class="hiddenlink" target="rightframe">Settings</A><br>
+<A HREF="android.provider.Settings.Global.html" class="hiddenlink" target="rightframe">Settings.Global</A><br>
+<A HREF="android.provider.Settings.Secure.html" class="hiddenlink" target="rightframe">Settings.Secure</A><br>
+<A HREF="android.provider.Settings.System.html" class="hiddenlink" target="rightframe">Settings.System</A><br>
+<A HREF="java.lang.Short.html" class="hiddenlink" target="rightframe">Short</A><br>
+<A HREF="android.test.SingleLaunchActivityTestCase.html" class="hiddenlink" target="rightframe">SingleLaunchActivityTestCase</A><br>
+<A HREF="android.test.suitebuilder.annotation.SmallTest.html" class="hiddenlink" target="rightframe">SmallTest</A><br>
+<A HREF="android.test.suitebuilder.annotation.Smoke.html" class="hiddenlink" target="rightframe">Smoke</A><br>
+<A HREF="pkg_javax.net.ssl.html#SNIHostName" class="hiddenlink" target="rightframe"><b>SNIHostName</b></A><br>
+<A HREF="pkg_javax.net.ssl.html#SNIMatcher" class="hiddenlink" target="rightframe"><b>SNIMatcher</b></A><br>
+<A HREF="pkg_javax.net.ssl.html#SNIServerName" class="hiddenlink" target="rightframe"><b>SNIServerName</b></A><br>
+<A HREF="java.nio.channels.SocketChannel.html" class="hiddenlink" target="rightframe">SocketChannel</A><br>
+<A HREF="pkg_java.net.html#SocketOption" class="hiddenlink" target="rightframe"><b><i>SocketOption</i></b></A><br>
+<A HREF="java.util.SortedMap.html" class="hiddenlink" target="rightframe"><i>SortedMap</i></A><br>
+<A HREF="android.view.textservice.SpellCheckerSubtype.html" class="hiddenlink" target="rightframe">SpellCheckerSubtype</A><br>
+<A HREF="pkg_java.util.html#Spliterator" class="hiddenlink" target="rightframe"><b><i>Spliterator</i></b></A><br>
+<A HREF="pkg_java.util.html#Spliterator.OfDouble" class="hiddenlink" target="rightframe"><b><i>Spliterator.OfDouble</i></b></A><br>
+<A HREF="pkg_java.util.html#Spliterator.OfInt" class="hiddenlink" target="rightframe"><b><i>Spliterator.OfInt</i></b></A><br>
+<A HREF="pkg_java.util.html#Spliterator.OfLong" class="hiddenlink" target="rightframe"><b><i>Spliterator.OfLong</i></b></A><br>
+<A HREF="pkg_java.util.html#Spliterator.OfPrimitive" class="hiddenlink" target="rightframe"><b><i>Spliterator.OfPrimitive</i></b></A><br>
+<A HREF="pkg_java.util.html#Spliterators" class="hiddenlink" target="rightframe"><b>Spliterators</b></A><br>
+<A HREF="pkg_java.util.html#Spliterators.AbstractDoubleSpliterator" class="hiddenlink" target="rightframe"><b>Spliterators.AbstractDoubleSpliterator</b></A><br>
+<A HREF="pkg_java.util.html#Spliterators.AbstractIntSpliterator" class="hiddenlink" target="rightframe"><b>Spliterators.AbstractIntSpliterator</b></A><br>
+<A HREF="pkg_java.util.html#Spliterators.AbstractLongSpliterator" class="hiddenlink" target="rightframe"><b>Spliterators.AbstractLongSpliterator</b></A><br>
+<A HREF="pkg_java.util.html#Spliterators.AbstractSpliterator" class="hiddenlink" target="rightframe"><b>Spliterators.AbstractSpliterator</b></A><br>
+<A HREF="pkg_java.util.html#SplittableRandom" class="hiddenlink" target="rightframe"><b>SplittableRandom</b></A><br>
+<A HREF="java.sql.SQLException.html" class="hiddenlink" target="rightframe">SQLException</A><br>
+<A HREF="android.database.sqlite.SQLiteDatabase.html" class="hiddenlink" target="rightframe">SQLiteDatabase</A><br>
+<A HREF="java.sql.SQLPermission.html" class="hiddenlink" target="rightframe">SQLPermission</A><br>
+<A HREF="java.sql.SQLWarning.html" class="hiddenlink" target="rightframe">SQLWarning</A><br>
+<A HREF="javax.net.ssl.SSLEngine.html" class="hiddenlink" target="rightframe">SSLEngine</A><br>
+<A HREF="javax.net.ssl.SSLParameters.html" class="hiddenlink" target="rightframe">SSLParameters</A><br>
+<A HREF="javax.net.ssl.SSLServerSocket.html" class="hiddenlink" target="rightframe">SSLServerSocket</A><br>
+<A HREF="javax.net.ssl.SSLSocket.html" class="hiddenlink" target="rightframe">SSLSocket</A><br>
+<A HREF="pkg_java.util.concurrent.locks.html#StampedLock" class="hiddenlink" target="rightframe"><b>StampedLock</b></A><br>
+<A HREF="pkg_javax.net.ssl.html#StandardConstants" class="hiddenlink" target="rightframe"><b>StandardConstants</b></A><br>
+<A HREF="pkg_java.net.html#StandardProtocolFamily" class="hiddenlink" target="rightframe"><b>StandardProtocolFamily</b></A><br>
+<A HREF="pkg_java.net.html#StandardSocketOptions" class="hiddenlink" target="rightframe"><b>StandardSocketOptions</b></A><br>
+<A HREF="android.service.notification.StatusBarNotification.html" class="hiddenlink" target="rightframe">StatusBarNotification</A><br>
+<A HREF="android.os.storage.StorageManager.html" class="hiddenlink" target="rightframe">StorageManager</A><br>
+<A HREF="pkg_android.os.storage.html#StorageVolume" class="hiddenlink" target="rightframe"><b>StorageVolume</b></A><br>
+<A HREF="java.util.logging.StreamHandler.html" class="hiddenlink" target="rightframe">StreamHandler</A><br>
+<A HREF="java.lang.StrictMath.html" class="hiddenlink" target="rightframe">StrictMath</A><br>
+<A HREF="android.os.StrictMode.VmPolicy.Builder.html" class="hiddenlink" target="rightframe">StrictMode.VmPolicy.Builder</A><br>
+<A HREF="pkg_java.util.html#StringJoiner" class="hiddenlink" target="rightframe"><b>StringJoiner</b></A><br>
+<A HREF="pkg_java.util.concurrent.atomic.html#Striped64" class="hiddenlink" target="rightframe"><b>Striped64</b></A><br>
+<A HREF="android.telephony.SubscriptionManager.html" class="hiddenlink" target="rightframe">SubscriptionManager</A><br>
+<A HREF="android.text.style.SuggestionSpan.html" class="hiddenlink" target="rightframe">SuggestionSpan</A><br>
+<A HREF="android.test.suitebuilder.annotation.Suppress.html" class="hiddenlink" target="rightframe">Suppress</A><br>
+<A HREF="android.test.SyncBaseInstrumentation.html" class="hiddenlink" target="rightframe">SyncBaseInstrumentation</A><br>
+<A HREF="java.util.concurrent.SynchronousQueue.html" class="hiddenlink" target="rightframe">SynchronousQueue</A><br>
+<A HREF="android.content.SyncRequest.Builder.html" class="hiddenlink" target="rightframe">SyncRequest.Builder</A><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.widget.TabWidget.html" class="hiddenlink" target="rightframe">TabWidget</A><br>
+<A HREF="android.telecom.TelecomManager.html" class="hiddenlink" target="rightframe">TelecomManager</A><br>
+<A HREF="android.provider.Telephony.Sms.Intents.html" class="hiddenlink" target="rightframe">Telephony.Sms.Intents</A><br>
+<A HREF="android.telephony.TelephonyManager.html" class="hiddenlink" target="rightframe">TelephonyManager</A><br>
+<A HREF="android.test.TestSuiteProvider.html" class="hiddenlink" target="rightframe"><i>TestSuiteProvider</i></A><br>
+<A HREF="android.text.TextUtils.html" class="hiddenlink" target="rightframe">TextUtils</A><br>
+<A HREF="android.text.TextUtils.SimpleStringSplitter.html" class="hiddenlink" target="rightframe">TextUtils.SimpleStringSplitter</A><br>
+<A HREF="android.widget.TextView.html" class="hiddenlink" target="rightframe">TextView</A><br>
+<A HREF="java.sql.Timestamp.html" class="hiddenlink" target="rightframe">Timestamp</A><br>
+<A HREF="java.util.TimeZone.html" class="hiddenlink" target="rightframe">TimeZone</A><br>
+<A HREF="android.widget.Toolbar.html" class="hiddenlink" target="rightframe">Toolbar</A><br>
+<A HREF="android.test.TouchUtils.html" class="hiddenlink" target="rightframe">TouchUtils</A><br>
+<A HREF="android.net.TrafficStats.html" class="hiddenlink" target="rightframe">TrafficStats</A><br>
+<A HREF="java.util.TreeMap.html" class="hiddenlink" target="rightframe">TreeMap</A><br>
+<A HREF="java.util.TreeSet.html" class="hiddenlink" target="rightframe">TreeSet</A><br>
+<A HREF="android.media.tv.TvContentRating.html" class="hiddenlink" target="rightframe">TvContentRating</A><br>
+<A HREF="android.media.tv.TvContract.html" class="hiddenlink" target="rightframe">TvContract</A><br>
+<A HREF="android.media.tv.TvContract.Programs.html" class="hiddenlink" target="rightframe">TvContract.Programs</A><br>
+<A HREF="android.media.tv.TvContract.Programs.Genres.html" class="hiddenlink" target="rightframe">TvContract.Programs.Genres</A><br>
+<A HREF="pkg_android.media.tv.html#TvContract.RecordedPrograms" class="hiddenlink" target="rightframe"><b>TvContract.RecordedPrograms</b></A><br>
+<A HREF="android.media.tv.TvInputInfo.html" class="hiddenlink" target="rightframe">TvInputInfo</A><br>
+<A HREF="pkg_android.media.tv.html#TvInputInfo.Builder" class="hiddenlink" target="rightframe"><b>TvInputInfo.Builder</b></A><br>
+<A HREF="android.media.tv.TvInputManager.html" class="hiddenlink" target="rightframe">TvInputManager</A><br>
+<A HREF="android.media.tv.TvInputManager.TvInputCallback.html" class="hiddenlink" target="rightframe">TvInputManager.TvInputCallback</A><br>
+<A HREF="android.media.tv.TvInputService.html" class="hiddenlink" target="rightframe">TvInputService</A><br>
+<A HREF="pkg_android.media.tv.html#TvInputService.RecordingSession" class="hiddenlink" target="rightframe"><b>TvInputService.RecordingSession</b></A><br>
+<A HREF="android.media.tv.TvInputService.Session.html" class="hiddenlink" target="rightframe">TvInputService.Session</A><br>
+<A HREF="pkg_android.media.tv.html#TvRecordingClient" class="hiddenlink" target="rightframe"><b>TvRecordingClient</b></A><br>
+<A HREF="pkg_android.media.tv.html#TvRecordingClient.RecordingCallback" class="hiddenlink" target="rightframe"><b>TvRecordingClient.RecordingCallback</b></A><br>
+<A HREF="android.media.tv.TvTrackInfo.html" class="hiddenlink" target="rightframe">TvTrackInfo</A><br>
+<A HREF="android.media.tv.TvTrackInfo.Builder.html" class="hiddenlink" target="rightframe">TvTrackInfo.Builder</A><br>
+<A HREF="android.media.tv.TvView.html" class="hiddenlink" target="rightframe">TvView</A><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.UiAutomation.html" class="hiddenlink" target="rightframe">UiAutomation</A><br>
+<A HREF="android.test.UiThreadTest.html" class="hiddenlink" target="rightframe">UiThreadTest</A><br>
+<A HREF="pkg_java.io.html#UncheckedIOException" class="hiddenlink" target="rightframe"><b>UncheckedIOException</b></A><br>
+<A HREF="java.net.URLClassLoader.html" class="hiddenlink" target="rightframe">URLClassLoader</A><br>
+<A HREF="java.net.URLConnection.html" class="hiddenlink" target="rightframe">URLConnection</A><br>
+<A HREF="android.os.UserHandle.html" class="hiddenlink" target="rightframe">UserHandle</A><br>
+<A HREF="android.os.UserManager.html" class="hiddenlink" target="rightframe">UserManager</A><br>
+<A HREF="android.speech.tts.UtteranceProgressListener.html" class="hiddenlink" target="rightframe">UtteranceProgressListener</A><br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.Vector.html" class="hiddenlink" target="rightframe">Vector</A><br>
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<A HREF="android.view.View.BaseSavedState.html" class="hiddenlink" target="rightframe">View.BaseSavedState</A><br>
+<A HREF="android.test.ViewAsserts.html" class="hiddenlink" target="rightframe">ViewAsserts</A><br>
+<A HREF="android.view.ViewGroup.html" class="hiddenlink" target="rightframe">ViewGroup</A><br>
+<A HREF="android.view.ViewParent.html" class="hiddenlink" target="rightframe"><i>ViewParent</i></A><br>
+<A HREF="java.lang.VirtualMachineError.html" class="hiddenlink" target="rightframe">VirtualMachineError</A><br>
+<A HREF="android.service.voice.VoiceInteractionSession.html" class="hiddenlink" target="rightframe">VoiceInteractionSession</A><br>
+<A HREF="android.provider.VoicemailContract.html" class="hiddenlink" target="rightframe">VoicemailContract</A><br>
+<A HREF="android.provider.VoicemailContract.Status.html" class="hiddenlink" target="rightframe">VoicemailContract.Status</A><br>
+<A HREF="android.provider.VoicemailContract.Voicemails.html" class="hiddenlink" target="rightframe">VoicemailContract.Voicemails</A><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.WallpaperManager.html" class="hiddenlink" target="rightframe">WallpaperManager</A><br>
+<A HREF="java.util.WeakHashMap.html" class="hiddenlink" target="rightframe">WeakHashMap</A><br>
+<A HREF="android.webkit.WebResourceRequest.html" class="hiddenlink" target="rightframe"><i>WebResourceRequest</i></A><br>
+<A HREF="android.webkit.WebSettings.html" class="hiddenlink" target="rightframe">WebSettings</A><br>
+<A HREF="android.webkit.WebViewClient.html" class="hiddenlink" target="rightframe">WebViewClient</A><br>
+<A HREF="android.net.wifi.WifiEnterpriseConfig.html" class="hiddenlink" target="rightframe">WifiEnterpriseConfig</A><br>
+<A HREF="android.net.wifi.WifiEnterpriseConfig.Eap.html" class="hiddenlink" target="rightframe">WifiEnterpriseConfig.Eap</A><br>
+<A HREF="android.view.Window.html" class="hiddenlink" target="rightframe">Window</A><br>
+<A HREF="android.view.Window.Callback.html" class="hiddenlink" target="rightframe"><i>Window.Callback</i></A><br>
+<A HREF="pkg_android.view.html#Window.OnFrameMetricsAvailableListener" class="hiddenlink" target="rightframe"><b><i>Window.OnFrameMetricsAvailableListener</i></b></A><br>
+<A HREF="pkg_android.view.html#Window.OnRestrictedCaptionAreaChangedListener" class="hiddenlink" target="rightframe"><b><i>Window.OnRestrictedCaptionAreaChangedListener</i></b></A><br>
+<A NAME="X"></A>
+<br><font size="+2">X</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.security.cert.X509Certificate.html" class="hiddenlink" target="rightframe">X509Certificate</A><br>
+<A HREF="java.security.cert.X509CRLEntry.html" class="hiddenlink" target="rightframe">X509CRLEntry</A><br>
+<A HREF="pkg_javax.net.ssl.html#X509ExtendedTrustManager" class="hiddenlink" target="rightframe"><b>X509ExtendedTrustManager</b></A><br>
+<A NAME="Z"></A>
+<br><font size="+2">Z</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.zip.ZipFile.html" class="hiddenlink" target="rightframe">ZipFile</A><br>
+<A HREF="java.util.zip.ZipInputStream.html" class="hiddenlink" target="rightframe">ZipInputStream</A><br>
+<A HREF="java.util.zip.ZipOutputStream.html" class="hiddenlink" target="rightframe">ZipOutputStream</A><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/classes_index_changes.html b/docs/html/sdk/api_diff/24/changes/classes_index_changes.html
new file mode 100644
index 0000000..4375619
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/classes_index_changes.html
@@ -0,0 +1,1142 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Class Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Classes" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="classes_index_all.html" class="staysblack">All Classes</a>
+  <br>
+<A HREF="classes_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="classes_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.AbsSavedState.html" class="hiddenlink" target="rightframe">AbsSavedState</A><br>
+<A HREF="android.widget.AbsSeekBar.html" class="hiddenlink" target="rightframe">AbsSeekBar</A><br>
+<A HREF="java.lang.AbstractStringBuilder.html" class="hiddenlink" target="rightframe">AbstractStringBuilder</A><br>
+<A HREF="android.view.accessibility.AccessibilityNodeInfo.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfo</A><br>
+<A HREF="android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfo.AccessibilityAction</A><br>
+<A HREF="android.accessibilityservice.AccessibilityService.html" class="hiddenlink" target="rightframe">AccessibilityService</A><br>
+<A HREF="android.accessibilityservice.AccessibilityServiceInfo.html" class="hiddenlink" target="rightframe">AccessibilityServiceInfo</A><br>
+<A HREF="android.view.accessibility.AccessibilityWindowInfo.html" class="hiddenlink" target="rightframe">AccessibilityWindowInfo</A><br>
+<A HREF="java.lang.reflect.AccessibleObject.html" class="hiddenlink" target="rightframe">AccessibleObject</A><br>
+<A HREF="android.app.Activity.html" class="hiddenlink" target="rightframe">Activity</A><br>
+<A HREF="android.content.pm.ActivityInfo.html" class="hiddenlink" target="rightframe">ActivityInfo</A><br>
+<A HREF="android.test.ActivityInstrumentationTestCase2.html" class="hiddenlink" target="rightframe">ActivityInstrumentationTestCase2</A><br>
+<A HREF="android.app.ActivityOptions.html" class="hiddenlink" target="rightframe">ActivityOptions</A><br>
+<A HREF="android.test.ActivityTestCase.html" class="hiddenlink" target="rightframe">ActivityTestCase</A><br>
+<A HREF="android.test.ActivityUnitTestCase.html" class="hiddenlink" target="rightframe">ActivityUnitTestCase</A><br>
+<A HREF="android.app.AlarmManager.html" class="hiddenlink" target="rightframe">AlarmManager</A><br>
+<A HREF="android.renderscript.Allocation.html" class="hiddenlink" target="rightframe">Allocation</A><br>
+<A HREF="android.test.AndroidTestCase.html" class="hiddenlink" target="rightframe">AndroidTestCase</A><br>
+<A HREF="android.test.AndroidTestRunner.html" class="hiddenlink" target="rightframe">AndroidTestRunner</A><br>
+<A HREF="android.animation.Animator.html" class="hiddenlink" target="rightframe">Animator</A><br>
+<A HREF="java.lang.reflect.AnnotatedElement.html" class="hiddenlink" target="rightframe"><i>AnnotatedElement</i></A><br>
+<A HREF="android.content.pm.ApplicationInfo.html" class="hiddenlink" target="rightframe">ApplicationInfo</A><br>
+<A HREF="android.test.ApplicationTestCase.html" class="hiddenlink" target="rightframe">ApplicationTestCase</A><br>
+<A HREF="java.util.concurrent.ArrayBlockingQueue.html" class="hiddenlink" target="rightframe">ArrayBlockingQueue</A><br>
+<A HREF="java.util.ArrayDeque.html" class="hiddenlink" target="rightframe">ArrayDeque</A><br>
+<A HREF="java.util.ArrayList.html" class="hiddenlink" target="rightframe">ArrayList</A><br>
+<A HREF="java.util.Arrays.html" class="hiddenlink" target="rightframe">Arrays</A><br>
+<A HREF="android.app.assist.AssistContent.html" class="hiddenlink" target="rightframe">AssistContent</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicInteger.html" class="hiddenlink" target="rightframe">AtomicInteger</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html" class="hiddenlink" target="rightframe">AtomicIntegerArray</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html" class="hiddenlink" target="rightframe">AtomicIntegerFieldUpdater</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicLong.html" class="hiddenlink" target="rightframe">AtomicLong</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicLongArray.html" class="hiddenlink" target="rightframe">AtomicLongArray</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html" class="hiddenlink" target="rightframe">AtomicLongFieldUpdater</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicReference.html" class="hiddenlink" target="rightframe">AtomicReference</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html" class="hiddenlink" target="rightframe">AtomicReferenceArray</A><br>
+<A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html" class="hiddenlink" target="rightframe">AtomicReferenceFieldUpdater</A><br>
+<A HREF="android.media.AudioAttributes.html" class="hiddenlink" target="rightframe">AudioAttributes</A><br>
+<A HREF="android.media.AudioDeviceInfo.html" class="hiddenlink" target="rightframe">AudioDeviceInfo</A><br>
+<A HREF="android.media.AudioFormat.html" class="hiddenlink" target="rightframe">AudioFormat</A><br>
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<A HREF="android.media.AudioRecord.html" class="hiddenlink" target="rightframe">AudioRecord</A><br>
+<A HREF="android.media.AudioRecord.OnRoutingChangedListener.html" class="hiddenlink" target="rightframe"><i>AudioRecord.OnRoutingChangedListener</i></A><br>
+<A HREF="android.media.AudioTimestamp.html" class="hiddenlink" target="rightframe">AudioTimestamp</A><br>
+<A HREF="android.media.AudioTrack.html" class="hiddenlink" target="rightframe">AudioTrack</A><br>
+<A HREF="android.media.AudioTrack.OnRoutingChangedListener.html" class="hiddenlink" target="rightframe"><i>AudioTrack.OnRoutingChangedListener</i></A><br>
+<A HREF="android.widget.AutoCompleteTextView.html" class="hiddenlink" target="rightframe">AutoCompleteTextView</A><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.backup.BackupAgent.html" class="hiddenlink" target="rightframe">BackupAgent</A><br>
+<A HREF="android.view.inputmethod.BaseInputConnection.html" class="hiddenlink" target="rightframe">BaseInputConnection</A><br>
+<A HREF="java.sql.BatchUpdateException.html" class="hiddenlink" target="rightframe">BatchUpdateException</A><br>
+<A HREF="android.graphics.BitmapFactory.Options.html" class="hiddenlink" target="rightframe">BitmapFactory.Options</A><br>
+<A HREF="java.util.BitSet.html" class="hiddenlink" target="rightframe">BitSet</A><br>
+<A HREF="android.bluetooth.BluetoothGattCharacteristic.html" class="hiddenlink" target="rightframe">BluetoothGattCharacteristic</A><br>
+<A HREF="android.bluetooth.BluetoothGattDescriptor.html" class="hiddenlink" target="rightframe">BluetoothGattDescriptor</A><br>
+<A HREF="android.bluetooth.BluetoothGattService.html" class="hiddenlink" target="rightframe">BluetoothGattService</A><br>
+<A HREF="java.lang.Boolean.html" class="hiddenlink" target="rightframe">Boolean</A><br>
+<A HREF="java.io.BufferedReader.html" class="hiddenlink" target="rightframe">BufferedReader</A><br>
+<A HREF="android.os.Build.VERSION_CODES.html" class="hiddenlink" target="rightframe">Build.VERSION_CODES</A><br>
+<A HREF="java.lang.Byte.html" class="hiddenlink" target="rightframe">Byte</A><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.Calendar.html" class="hiddenlink" target="rightframe">Calendar</A><br>
+<A HREF="android.widget.CalendarView.html" class="hiddenlink" target="rightframe">CalendarView</A><br>
+<A HREF="android.telecom.Call.Details.html" class="hiddenlink" target="rightframe">Call.Details</A><br>
+<A HREF="android.provider.CallLog.Calls.html" class="hiddenlink" target="rightframe">CallLog.Calls</A><br>
+<A HREF="android.hardware.Camera.html" class="hiddenlink" target="rightframe">Camera</A><br>
+<A HREF="android.hardware.camera2.CameraCaptureSession.CaptureCallback.html" class="hiddenlink" target="rightframe">CameraCaptureSession.CaptureCallback</A><br>
+<A HREF="android.hardware.camera2.CameraCharacteristics.html" class="hiddenlink" target="rightframe">CameraCharacteristics</A><br>
+<A HREF="android.hardware.camera2.CameraDevice.html" class="hiddenlink" target="rightframe">CameraDevice</A><br>
+<A HREF="android.hardware.camera2.CameraMetadata.html" class="hiddenlink" target="rightframe">CameraMetadata</A><br>
+<A HREF="android.hardware.camera2.CaptureRequest.html" class="hiddenlink" target="rightframe">CaptureRequest</A><br>
+<A HREF="android.hardware.camera2.CaptureResult.html" class="hiddenlink" target="rightframe">CaptureResult</A><br>
+<A HREF="android.telephony.CarrierConfigManager.html" class="hiddenlink" target="rightframe">CarrierConfigManager</A><br>
+<A HREF="android.service.carrier.CarrierMessagingService.html" class="hiddenlink" target="rightframe">CarrierMessagingService</A><br>
+<A HREF="android.telephony.CellIdentityGsm.html" class="hiddenlink" target="rightframe">CellIdentityGsm</A><br>
+<A HREF="android.telephony.CellIdentityLte.html" class="hiddenlink" target="rightframe">CellIdentityLte</A><br>
+<A HREF="android.telephony.CellIdentityWcdma.html" class="hiddenlink" target="rightframe">CellIdentityWcdma</A><br>
+<A HREF="java.security.cert.CertPathBuilder.html" class="hiddenlink" target="rightframe">CertPathBuilder</A><br>
+<A HREF="java.security.cert.CertPathBuilderSpi.html" class="hiddenlink" target="rightframe">CertPathBuilderSpi</A><br>
+<A HREF="java.security.cert.CertPathValidator.html" class="hiddenlink" target="rightframe">CertPathValidator</A><br>
+<A HREF="java.security.cert.CertPathValidatorException.html" class="hiddenlink" target="rightframe">CertPathValidatorException</A><br>
+<A HREF="java.security.cert.CertPathValidatorSpi.html" class="hiddenlink" target="rightframe">CertPathValidatorSpi</A><br>
+<A HREF="java.lang.Character.html" class="hiddenlink" target="rightframe">Character</A><br>
+<A HREF="java.lang.Character.UnicodeBlock.html" class="hiddenlink" target="rightframe">Character.UnicodeBlock</A><br>
+<A HREF="java.nio.CharBuffer.html" class="hiddenlink" target="rightframe">CharBuffer</A><br>
+<A HREF="java.lang.CharSequence.html" class="hiddenlink" target="rightframe"><i>CharSequence</i></A><br>
+<A HREF="android.widget.Chronometer.html" class="hiddenlink" target="rightframe">Chronometer</A><br>
+<A HREF="java.lang.Class.html" class="hiddenlink" target="rightframe">Class</A><br>
+<A HREF="java.lang.ClassLoader.html" class="hiddenlink" target="rightframe">ClassLoader</A><br>
+<A HREF="android.content.ClipDescription.html" class="hiddenlink" target="rightframe">ClipDescription</A><br>
+<A HREF="java.nio.charset.CoderResult.html" class="hiddenlink" target="rightframe">CoderResult</A><br>
+<A HREF="java.util.Collection.html" class="hiddenlink" target="rightframe"><i>Collection</i></A><br>
+<A HREF="java.util.Collections.html" class="hiddenlink" target="rightframe">Collections</A><br>
+<A HREF="android.graphics.Color.html" class="hiddenlink" target="rightframe">Color</A><br>
+<A HREF="javax.sql.CommonDataSource.html" class="hiddenlink" target="rightframe"><i>CommonDataSource</i></A><br>
+<A HREF="java.util.Comparator.html" class="hiddenlink" target="rightframe"><i>Comparator</i></A><br>
+<A HREF="android.content.pm.ComponentInfo.html" class="hiddenlink" target="rightframe">ComponentInfo</A><br>
+<A HREF="java.util.concurrent.ConcurrentHashMap.html" class="hiddenlink" target="rightframe">ConcurrentHashMap</A><br>
+<A HREF="java.util.concurrent.ConcurrentLinkedDeque.html" class="hiddenlink" target="rightframe">ConcurrentLinkedDeque</A><br>
+<A HREF="java.util.concurrent.ConcurrentLinkedQueue.html" class="hiddenlink" target="rightframe">ConcurrentLinkedQueue</A><br>
+<A HREF="java.util.concurrent.ConcurrentSkipListMap.html" class="hiddenlink" target="rightframe">ConcurrentSkipListMap</A><br>
+<A HREF="java.util.concurrent.ConcurrentSkipListSet.html" class="hiddenlink" target="rightframe">ConcurrentSkipListSet</A><br>
+<A HREF="android.content.res.Configuration.html" class="hiddenlink" target="rightframe">Configuration</A><br>
+<A HREF="android.telecom.Connection.html" class="hiddenlink" target="rightframe">Connection</A><br>
+<A HREF="javax.sql.ConnectionEvent.html" class="hiddenlink" target="rightframe">ConnectionEvent</A><br>
+<A HREF="android.telecom.ConnectionService.html" class="hiddenlink" target="rightframe">ConnectionService</A><br>
+<A HREF="android.net.ConnectivityManager.html" class="hiddenlink" target="rightframe">ConnectivityManager</A><br>
+<A HREF="java.lang.reflect.Constructor.html" class="hiddenlink" target="rightframe">Constructor</A><br>
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Callable.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Callable</A><br>
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Email.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Email</A><br>
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Organization.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Organization</A><br>
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Phone.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Phone</A><br>
+<A HREF="android.provider.ContactsContract.CommonDataKinds.StructuredName.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.StructuredName</A><br>
+<A HREF="android.provider.ContactsContract.Contacts.html" class="hiddenlink" target="rightframe">ContactsContract.Contacts</A><br>
+<A HREF="android.provider.ContactsContract.Directory.html" class="hiddenlink" target="rightframe">ContactsContract.Directory</A><br>
+<A HREF="android.provider.ContactsContract.Intents.html" class="hiddenlink" target="rightframe">ContactsContract.Intents</A><br>
+<A HREF="android.provider.ContactsContract.PhoneLookupColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.PhoneLookupColumns</i></A><br>
+<A HREF="android.provider.ContactsContract.RawContactsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.RawContactsColumns</i></A><br>
+<A HREF="android.content.ContentProviderClient.html" class="hiddenlink" target="rightframe">ContentProviderClient</A><br>
+<A HREF="android.content.ContentResolver.html" class="hiddenlink" target="rightframe">ContentResolver</A><br>
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<A HREF="android.content.ContextWrapper.html" class="hiddenlink" target="rightframe">ContextWrapper</A><br>
+<A HREF="java.util.concurrent.CopyOnWriteArrayList.html" class="hiddenlink" target="rightframe">CopyOnWriteArrayList</A><br>
+<A HREF="java.util.concurrent.CopyOnWriteArraySet.html" class="hiddenlink" target="rightframe">CopyOnWriteArraySet</A><br>
+<A HREF="java.util.Currency.html" class="hiddenlink" target="rightframe">Currency</A><br>
+<A HREF="android.database.CursorJoiner.html" class="hiddenlink" target="rightframe">CursorJoiner</A><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.nio.channels.DatagramChannel.html" class="hiddenlink" target="rightframe">DatagramChannel</A><br>
+<A HREF="java.sql.DataTruncation.html" class="hiddenlink" target="rightframe">DataTruncation</A><br>
+<A HREF="android.widget.DatePicker.html" class="hiddenlink" target="rightframe">DatePicker</A><br>
+<A HREF="android.app.DatePickerDialog.html" class="hiddenlink" target="rightframe">DatePickerDialog</A><br>
+<A HREF="java.text.DecimalFormatSymbols.html" class="hiddenlink" target="rightframe">DecimalFormatSymbols</A><br>
+<A HREF="android.app.admin.DeviceAdminReceiver.html" class="hiddenlink" target="rightframe">DeviceAdminReceiver</A><br>
+<A HREF="android.app.admin.DevicePolicyManager.html" class="hiddenlink" target="rightframe">DevicePolicyManager</A><br>
+<A HREF="android.view.Display.html" class="hiddenlink" target="rightframe">Display</A><br>
+<A HREF="android.util.DisplayMetrics.html" class="hiddenlink" target="rightframe">DisplayMetrics</A><br>
+<A HREF="android.provider.DocumentsContract.html" class="hiddenlink" target="rightframe">DocumentsContract</A><br>
+<A HREF="android.provider.DocumentsContract.Document.html" class="hiddenlink" target="rightframe">DocumentsContract.Document</A><br>
+<A HREF="android.provider.DocumentsContract.Root.html" class="hiddenlink" target="rightframe">DocumentsContract.Root</A><br>
+<A HREF="android.provider.DocumentsProvider.html" class="hiddenlink" target="rightframe">DocumentsProvider</A><br>
+<A HREF="java.lang.Double.html" class="hiddenlink" target="rightframe">Double</A><br>
+<A HREF="android.app.DownloadManager.html" class="hiddenlink" target="rightframe">DownloadManager</A><br>
+<A HREF="android.app.DownloadManager.Request.html" class="hiddenlink" target="rightframe">DownloadManager.Request</A><br>
+<A HREF="android.drm.DrmManagerClient.html" class="hiddenlink" target="rightframe">DrmManagerClient</A><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.inputmethod.EditorInfo.html" class="hiddenlink" target="rightframe">EditorInfo</A><br>
+<A HREF="java.util.EnumMap.html" class="hiddenlink" target="rightframe">EnumMap</A><br>
+<A HREF="java.lang.Error.html" class="hiddenlink" target="rightframe">Error</A><br>
+<A HREF="java.util.EventListenerProxy.html" class="hiddenlink" target="rightframe">EventListenerProxy</A><br>
+<A HREF="java.lang.Exception.html" class="hiddenlink" target="rightframe">Exception</A><br>
+<A HREF="java.util.concurrent.Executors.html" class="hiddenlink" target="rightframe">Executors</A><br>
+<A HREF="android.media.ExifInterface.html" class="hiddenlink" target="rightframe">ExifInterface</A><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.content.pm.FeatureInfo.html" class="hiddenlink" target="rightframe">FeatureInfo</A><br>
+<A HREF="java.lang.reflect.Field.html" class="hiddenlink" target="rightframe">Field</A><br>
+<A HREF="java.nio.channels.FileChannel.html" class="hiddenlink" target="rightframe">FileChannel</A><br>
+<A HREF="java.nio.channels.FileLock.html" class="hiddenlink" target="rightframe">FileLock</A><br>
+<A HREF="android.test.FlakyTest.html" class="hiddenlink" target="rightframe">FlakyTest</A><br>
+<A HREF="java.lang.Float.html" class="hiddenlink" target="rightframe">Float</A><br>
+<A HREF="java.util.concurrent.ForkJoinPool.html" class="hiddenlink" target="rightframe">ForkJoinPool</A><br>
+<A HREF="java.util.concurrent.ForkJoinTask.html" class="hiddenlink" target="rightframe">ForkJoinTask</A><br>
+<A HREF="java.util.FormatFlagsConversionMismatchException.html" class="hiddenlink" target="rightframe">FormatFlagsConversionMismatchException</A><br>
+<A HREF="java.util.Formattable.html" class="hiddenlink" target="rightframe"><i>Formattable</i></A><br>
+<A HREF="java.util.FormatterClosedException.html" class="hiddenlink" target="rightframe">FormatterClosedException</A><br>
+<A HREF="android.app.Fragment.html" class="hiddenlink" target="rightframe">Fragment</A><br>
+<A HREF="android.app.FragmentController.html" class="hiddenlink" target="rightframe">FragmentController</A><br>
+<A HREF="android.app.FragmentHostCallback.html" class="hiddenlink" target="rightframe">FragmentHostCallback</A><br>
+<A HREF="android.app.FragmentTransaction.html" class="hiddenlink" target="rightframe">FragmentTransaction</A><br>
+<A HREF="android.widget.FrameLayout.LayoutParams.html" class="hiddenlink" target="rightframe">FrameLayout.LayoutParams</A><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.opengl.GLES30.html" class="hiddenlink" target="rightframe">GLES30</A><br>
+<A HREF="android.opengl.GLES31.html" class="hiddenlink" target="rightframe">GLES31</A><br>
+<A HREF="android.opengl.GLSurfaceView.html" class="hiddenlink" target="rightframe">GLSurfaceView</A><br>
+<A HREF="android.location.GpsSatellite.html" class="hiddenlink" target="rightframe">GpsSatellite</A><br>
+<A HREF="android.location.GpsStatus.html" class="hiddenlink" target="rightframe">GpsStatus</A><br>
+<A HREF="android.location.GpsStatus.Listener.html" class="hiddenlink" target="rightframe"><i>GpsStatus.Listener</i></A><br>
+<A HREF="android.location.GpsStatus.NmeaListener.html" class="hiddenlink" target="rightframe"><i>GpsStatus.NmeaListener</i></A><br>
+<A HREF="android.graphics.drawable.GradientDrawable.html" class="hiddenlink" target="rightframe">GradientDrawable</A><br>
+<A HREF="java.util.GregorianCalendar.html" class="hiddenlink" target="rightframe">GregorianCalendar</A><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.logging.Handler.html" class="hiddenlink" target="rightframe">Handler</A><br>
+<A HREF="java.util.HashMap.html" class="hiddenlink" target="rightframe">HashMap</A><br>
+<A HREF="java.util.HashSet.html" class="hiddenlink" target="rightframe">HashSet</A><br>
+<A HREF="java.util.Hashtable.html" class="hiddenlink" target="rightframe">Hashtable</A><br>
+<A HREF="android.text.Html.html" class="hiddenlink" target="rightframe">Html</A><br>
+<A HREF="java.net.HttpCookie.html" class="hiddenlink" target="rightframe">HttpCookie</A><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.IdentityHashMap.html" class="hiddenlink" target="rightframe">IdentityHashMap</A><br>
+<A HREF="java.util.IllegalFormatCodePointException.html" class="hiddenlink" target="rightframe">IllegalFormatCodePointException</A><br>
+<A HREF="java.util.IllegalFormatConversionException.html" class="hiddenlink" target="rightframe">IllegalFormatConversionException</A><br>
+<A HREF="java.util.IllegalFormatException.html" class="hiddenlink" target="rightframe">IllegalFormatException</A><br>
+<A HREF="java.util.IllegalFormatFlagsException.html" class="hiddenlink" target="rightframe">IllegalFormatFlagsException</A><br>
+<A HREF="android.graphics.ImageFormat.html" class="hiddenlink" target="rightframe">ImageFormat</A><br>
+<A HREF="android.telecom.InCallService.html" class="hiddenlink" target="rightframe">InCallService</A><br>
+<A HREF="java.util.zip.InflaterInputStream.html" class="hiddenlink" target="rightframe">InflaterInputStream</A><br>
+<A HREF="android.view.inputmethod.InputConnection.html" class="hiddenlink" target="rightframe"><i>InputConnection</i></A><br>
+<A HREF="android.view.inputmethod.InputConnectionWrapper.html" class="hiddenlink" target="rightframe">InputConnectionWrapper</A><br>
+<A HREF="android.view.inputmethod.InputMethodManager.html" class="hiddenlink" target="rightframe">InputMethodManager</A><br>
+<A HREF="android.view.inputmethod.InputMethodSubtype.html" class="hiddenlink" target="rightframe">InputMethodSubtype</A><br>
+<A HREF="android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.html" class="hiddenlink" target="rightframe">InputMethodSubtype.InputMethodSubtypeBuilder</A><br>
+<A HREF="java.util.InputMismatchException.html" class="hiddenlink" target="rightframe">InputMismatchException</A><br>
+<A HREF="android.app.Instrumentation.html" class="hiddenlink" target="rightframe">Instrumentation</A><br>
+<A HREF="android.test.InstrumentationTestCase.html" class="hiddenlink" target="rightframe">InstrumentationTestCase</A><br>
+<A HREF="android.test.InstrumentationTestRunner.html" class="hiddenlink" target="rightframe">InstrumentationTestRunner</A><br>
+<A HREF="android.test.InstrumentationTestSuite.html" class="hiddenlink" target="rightframe">InstrumentationTestSuite</A><br>
+<A HREF="java.lang.Integer.html" class="hiddenlink" target="rightframe">Integer</A><br>
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<A HREF="java.lang.InternalError.html" class="hiddenlink" target="rightframe">InternalError</A><br>
+<A HREF="android.test.IsolatedContext.html" class="hiddenlink" target="rightframe">IsolatedContext</A><br>
+<A HREF="java.lang.Iterable.html" class="hiddenlink" target="rightframe"><i>Iterable</i></A><br>
+<A HREF="java.util.Iterator.html" class="hiddenlink" target="rightframe"><i>Iterator</i></A><br>
+<A NAME="J"></A>
+<br><font size="+2">J</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.job.JobInfo.html" class="hiddenlink" target="rightframe">JobInfo</A><br>
+<A HREF="android.app.job.JobInfo.Builder.html" class="hiddenlink" target="rightframe">JobInfo.Builder</A><br>
+<A HREF="android.app.job.JobParameters.html" class="hiddenlink" target="rightframe">JobParameters</A><br>
+<A HREF="android.app.job.JobScheduler.html" class="hiddenlink" target="rightframe">JobScheduler</A><br>
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.KeyEvent.html" class="hiddenlink" target="rightframe">KeyEvent</A><br>
+<A HREF="android.security.keystore.KeyGenParameterSpec.html" class="hiddenlink" target="rightframe">KeyGenParameterSpec</A><br>
+<A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html" class="hiddenlink" target="rightframe">KeyGenParameterSpec.Builder</A><br>
+<A HREF="android.security.keystore.KeyInfo.html" class="hiddenlink" target="rightframe">KeyInfo</A><br>
+<A HREF="android.security.keystore.KeyProtection.html" class="hiddenlink" target="rightframe">KeyProtection</A><br>
+<A HREF="android.security.keystore.KeyProtection.Builder.html" class="hiddenlink" target="rightframe">KeyProtection.Builder</A><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.test.suitebuilder.annotation.LargeTest.html" class="hiddenlink" target="rightframe">LargeTest</A><br>
+<A HREF="android.content.pm.LauncherApps.Callback.html" class="hiddenlink" target="rightframe">LauncherApps.Callback</A><br>
+<A HREF="android.graphics.drawable.LayerDrawable.html" class="hiddenlink" target="rightframe">LayerDrawable</A><br>
+<A HREF="android.widget.LinearLayout.html" class="hiddenlink" target="rightframe">LinearLayout</A><br>
+<A HREF="java.util.concurrent.LinkedBlockingDeque.html" class="hiddenlink" target="rightframe">LinkedBlockingDeque</A><br>
+<A HREF="java.util.concurrent.LinkedBlockingQueue.html" class="hiddenlink" target="rightframe">LinkedBlockingQueue</A><br>
+<A HREF="java.util.LinkedHashMap.html" class="hiddenlink" target="rightframe">LinkedHashMap</A><br>
+<A HREF="java.util.LinkedList.html" class="hiddenlink" target="rightframe">LinkedList</A><br>
+<A HREF="java.util.concurrent.LinkedTransferQueue.html" class="hiddenlink" target="rightframe">LinkedTransferQueue</A><br>
+<A HREF="android.text.util.Linkify.html" class="hiddenlink" target="rightframe">Linkify</A><br>
+<A HREF="java.util.List.html" class="hiddenlink" target="rightframe"><i>List</i></A><br>
+<A HREF="java.util.Locale.html" class="hiddenlink" target="rightframe">Locale</A><br>
+<A HREF="android.text.style.LocaleSpan.html" class="hiddenlink" target="rightframe">LocaleSpan</A><br>
+<A HREF="android.location.LocationManager.html" class="hiddenlink" target="rightframe">LocationManager</A><br>
+<A HREF="java.util.logging.Logger.html" class="hiddenlink" target="rightframe">Logger</A><br>
+<A HREF="java.util.logging.LoggingPermission.html" class="hiddenlink" target="rightframe">LoggingPermission</A><br>
+<A HREF="java.util.logging.LogManager.html" class="hiddenlink" target="rightframe">LogManager</A><br>
+<A HREF="java.lang.Long.html" class="hiddenlink" target="rightframe">Long</A><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<A HREF="java.util.Map.html" class="hiddenlink" target="rightframe"><i>Map</i></A><br>
+<A HREF="java.util.Map.Entry.html" class="hiddenlink" target="rightframe"><i>Map.Entry</i></A><br>
+<A HREF="java.lang.Math.html" class="hiddenlink" target="rightframe">Math</A><br>
+<A HREF="android.media.browse.MediaBrowser.html" class="hiddenlink" target="rightframe">MediaBrowser</A><br>
+<A HREF="android.media.browse.MediaBrowser.SubscriptionCallback.html" class="hiddenlink" target="rightframe">MediaBrowser.SubscriptionCallback</A><br>
+<A HREF="android.service.media.MediaBrowserService.html" class="hiddenlink" target="rightframe">MediaBrowserService</A><br>
+<A HREF="android.service.media.MediaBrowserService.BrowserRoot.html" class="hiddenlink" target="rightframe">MediaBrowserService.BrowserRoot</A><br>
+<A HREF="android.media.MediaCodec.html" class="hiddenlink" target="rightframe">MediaCodec</A><br>
+<A HREF="android.media.MediaCodec.CryptoException.html" class="hiddenlink" target="rightframe">MediaCodec.CryptoException</A><br>
+<A HREF="android.media.MediaCodec.CryptoInfo.html" class="hiddenlink" target="rightframe">MediaCodec.CryptoInfo</A><br>
+<A HREF="android.media.MediaCodecInfo.CodecCapabilities.html" class="hiddenlink" target="rightframe">MediaCodecInfo.CodecCapabilities</A><br>
+<A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html" class="hiddenlink" target="rightframe">MediaCodecInfo.CodecProfileLevel</A><br>
+<A HREF="android.media.session.MediaController.TransportControls.html" class="hiddenlink" target="rightframe">MediaController.TransportControls</A><br>
+<A HREF="android.media.MediaExtractor.html" class="hiddenlink" target="rightframe">MediaExtractor</A><br>
+<A HREF="android.media.MediaFormat.html" class="hiddenlink" target="rightframe">MediaFormat</A><br>
+<A HREF="android.media.MediaPlayer.html" class="hiddenlink" target="rightframe">MediaPlayer</A><br>
+<A HREF="android.media.MediaRecorder.html" class="hiddenlink" target="rightframe">MediaRecorder</A><br>
+<A HREF="android.media.MediaRecorder.AudioSource.html" class="hiddenlink" target="rightframe">MediaRecorder.AudioSource</A><br>
+<A HREF="android.media.MediaRecorder.VideoEncoder.html" class="hiddenlink" target="rightframe">MediaRecorder.VideoEncoder</A><br>
+<A HREF="android.media.MediaRouter.RouteInfo.html" class="hiddenlink" target="rightframe">MediaRouter.RouteInfo</A><br>
+<A HREF="android.media.session.MediaSession.Callback.html" class="hiddenlink" target="rightframe">MediaSession.Callback</A><br>
+<A HREF="android.test.suitebuilder.annotation.MediumTest.html" class="hiddenlink" target="rightframe">MediumTest</A><br>
+<A HREF="java.util.logging.MemoryHandler.html" class="hiddenlink" target="rightframe">MemoryHandler</A><br>
+<A HREF="java.lang.reflect.Method.html" class="hiddenlink" target="rightframe">Method</A><br>
+<A HREF="android.test.mock.MockApplication.html" class="hiddenlink" target="rightframe">MockApplication</A><br>
+<A HREF="android.test.mock.MockContext.html" class="hiddenlink" target="rightframe">MockContext</A><br>
+<A HREF="android.test.mock.MockCursor.html" class="hiddenlink" target="rightframe">MockCursor</A><br>
+<A HREF="android.test.mock.MockDialogInterface.html" class="hiddenlink" target="rightframe">MockDialogInterface</A><br>
+<A HREF="android.test.mock.MockPackageManager.html" class="hiddenlink" target="rightframe">MockPackageManager</A><br>
+<A HREF="android.test.mock.MockResources.html" class="hiddenlink" target="rightframe">MockResources</A><br>
+<A HREF="android.test.MoreAsserts.html" class="hiddenlink" target="rightframe">MoreAsserts</A><br>
+<A HREF="android.view.MotionEvent.html" class="hiddenlink" target="rightframe">MotionEvent</A><br>
+<A HREF="android.mtp.MtpConstants.html" class="hiddenlink" target="rightframe">MtpConstants</A><br>
+<A HREF="android.mtp.MtpDevice.html" class="hiddenlink" target="rightframe">MtpDevice</A><br>
+<A HREF="android.mtp.MtpDeviceInfo.html" class="hiddenlink" target="rightframe">MtpDeviceInfo</A><br>
+<A HREF="android.mtp.MtpObjectInfo.html" class="hiddenlink" target="rightframe">MtpObjectInfo</A><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.net.NetworkInfo.html" class="hiddenlink" target="rightframe">NetworkInfo</A><br>
+<A HREF="android.security.NetworkSecurityPolicy.html" class="hiddenlink" target="rightframe">NetworkSecurityPolicy</A><br>
+<A HREF="android.app.usage.NetworkStats.Bucket.html" class="hiddenlink" target="rightframe">NetworkStats.Bucket</A><br>
+<A HREF="android.app.usage.NetworkStatsManager.html" class="hiddenlink" target="rightframe">NetworkStatsManager</A><br>
+<A HREF="android.nfc.NfcAdapter.html" class="hiddenlink" target="rightframe">NfcAdapter</A><br>
+<A HREF="java.util.prefs.NodeChangeEvent.html" class="hiddenlink" target="rightframe">NodeChangeEvent</A><br>
+<A HREF="android.app.Notification.html" class="hiddenlink" target="rightframe">Notification</A><br>
+<A HREF="android.app.Notification.Action.html" class="hiddenlink" target="rightframe">Notification.Action</A><br>
+<A HREF="android.app.Notification.Action.Builder.html" class="hiddenlink" target="rightframe">Notification.Action.Builder</A><br>
+<A HREF="android.app.Notification.Action.WearableExtender.html" class="hiddenlink" target="rightframe">Notification.Action.WearableExtender</A><br>
+<A HREF="android.app.Notification.BigPictureStyle.html" class="hiddenlink" target="rightframe">Notification.BigPictureStyle</A><br>
+<A HREF="android.app.Notification.BigTextStyle.html" class="hiddenlink" target="rightframe">Notification.BigTextStyle</A><br>
+<A HREF="android.app.Notification.Builder.html" class="hiddenlink" target="rightframe">Notification.Builder</A><br>
+<A HREF="android.app.Notification.InboxStyle.html" class="hiddenlink" target="rightframe">Notification.InboxStyle</A><br>
+<A HREF="android.app.Notification.MediaStyle.html" class="hiddenlink" target="rightframe">Notification.MediaStyle</A><br>
+<A HREF="android.app.Notification.WearableExtender.html" class="hiddenlink" target="rightframe">Notification.WearableExtender</A><br>
+<A HREF="android.service.notification.NotificationListenerService.html" class="hiddenlink" target="rightframe">NotificationListenerService</A><br>
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html" class="hiddenlink" target="rightframe">NotificationListenerService.Ranking</A><br>
+<A HREF="android.app.NotificationManager.html" class="hiddenlink" target="rightframe">NotificationManager</A><br>
+<A HREF="android.app.NotificationManager.Policy.html" class="hiddenlink" target="rightframe">NotificationManager.Policy</A><br>
+<A HREF="java.awt.font.NumericShaper.html" class="hiddenlink" target="rightframe">NumericShaper</A><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.io.ObjectInputStream.html" class="hiddenlink" target="rightframe">ObjectInputStream</A><br>
+<A HREF="java.io.ObjectInputStream.GetField.html" class="hiddenlink" target="rightframe">ObjectInputStream.GetField</A><br>
+<A HREF="java.io.ObjectOutputStream.html" class="hiddenlink" target="rightframe">ObjectOutputStream</A><br>
+<A HREF="java.util.Objects.html" class="hiddenlink" target="rightframe">Objects</A><br>
+<A HREF="android.graphics.Outline.html" class="hiddenlink" target="rightframe">Outline</A><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.lang.Package.html" class="hiddenlink" target="rightframe">Package</A><br>
+<A HREF="android.content.pm.PackageInstaller.Session.html" class="hiddenlink" target="rightframe">PackageInstaller.Session</A><br>
+<A HREF="android.content.pm.PackageInstaller.SessionParams.html" class="hiddenlink" target="rightframe">PackageInstaller.SessionParams</A><br>
+<A HREF="android.content.pm.PackageManager.html" class="hiddenlink" target="rightframe">PackageManager</A><br>
+<A HREF="android.graphics.Paint.html" class="hiddenlink" target="rightframe">Paint</A><br>
+<A HREF="java.util.regex.Pattern.html" class="hiddenlink" target="rightframe">Pattern</A><br>
+<A HREF="android.util.Patterns.html" class="hiddenlink" target="rightframe">Patterns</A><br>
+<A HREF="android.test.PerformanceTestCase.html" class="hiddenlink" target="rightframe"><i>PerformanceTestCase</i></A><br>
+<A HREF="java.security.acl.Permission.html" class="hiddenlink" target="rightframe"><i>Permission</i></A><br>
+<A HREF="android.content.pm.PermissionInfo.html" class="hiddenlink" target="rightframe">PermissionInfo</A><br>
+<A HREF="android.telecom.PhoneAccount.html" class="hiddenlink" target="rightframe">PhoneAccount</A><br>
+<A HREF="android.telecom.PhoneAccount.Builder.html" class="hiddenlink" target="rightframe">PhoneAccount.Builder</A><br>
+<A HREF="java.security.cert.PKIXCertPathChecker.html" class="hiddenlink" target="rightframe">PKIXCertPathChecker</A><br>
+<A HREF="android.media.session.PlaybackState.html" class="hiddenlink" target="rightframe">PlaybackState</A><br>
+<A HREF="android.widget.PopupWindow.html" class="hiddenlink" target="rightframe">PopupWindow</A><br>
+<A HREF="android.os.PowerManager.html" class="hiddenlink" target="rightframe">PowerManager</A><br>
+<A HREF="android.preference.Preference.html" class="hiddenlink" target="rightframe">Preference</A><br>
+<A HREF="java.util.prefs.PreferenceChangeEvent.html" class="hiddenlink" target="rightframe">PreferenceChangeEvent</A><br>
+<A HREF="android.preference.PreferenceManager.html" class="hiddenlink" target="rightframe">PreferenceManager</A><br>
+<A HREF="android.printservice.PrinterDiscoverySession.html" class="hiddenlink" target="rightframe">PrinterDiscoverySession</A><br>
+<A HREF="android.print.PrinterInfo.Builder.html" class="hiddenlink" target="rightframe">PrinterInfo.Builder</A><br>
+<A HREF="android.printservice.PrintJob.html" class="hiddenlink" target="rightframe">PrintJob</A><br>
+<A HREF="java.util.concurrent.PriorityBlockingQueue.html" class="hiddenlink" target="rightframe">PriorityBlockingQueue</A><br>
+<A HREF="java.util.PriorityQueue.html" class="hiddenlink" target="rightframe">PriorityQueue</A><br>
+<A HREF="android.os.Process.html" class="hiddenlink" target="rightframe">Process</A><br>
+<A HREF="android.widget.ProgressBar.html" class="hiddenlink" target="rightframe">ProgressBar</A><br>
+<A HREF="java.security.Provider.html" class="hiddenlink" target="rightframe">Provider</A><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.R.attr.html" class="hiddenlink" target="rightframe">R.attr</A><br>
+<A HREF="android.R.id.html" class="hiddenlink" target="rightframe">R.id</A><br>
+<A HREF="android.R.style.html" class="hiddenlink" target="rightframe">R.style</A><br>
+<A HREF="java.util.Random.html" class="hiddenlink" target="rightframe">Random</A><br>
+<A HREF="java.lang.ref.ReferenceQueue.html" class="hiddenlink" target="rightframe">ReferenceQueue</A><br>
+<A HREF="android.telecom.RemoteConference.html" class="hiddenlink" target="rightframe">RemoteConference</A><br>
+<A HREF="android.widget.RemoteViews.html" class="hiddenlink" target="rightframe">RemoteViews</A><br>
+<A HREF="android.test.RenamingDelegatingContext.html" class="hiddenlink" target="rightframe">RenamingDelegatingContext</A><br>
+<A HREF="java.util.ResourceBundle.html" class="hiddenlink" target="rightframe">ResourceBundle</A><br>
+<A HREF="java.util.ResourceBundle.Control.html" class="hiddenlink" target="rightframe">ResourceBundle.Control</A><br>
+<A HREF="android.content.res.Resources.NotFoundException.html" class="hiddenlink" target="rightframe">Resources.NotFoundException</A><br>
+<A HREF="javax.sql.RowSetEvent.html" class="hiddenlink" target="rightframe">RowSetEvent</A><br>
+<A HREF="java.lang.RuntimeException.html" class="hiddenlink" target="rightframe">RuntimeException</A><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.Scanner.html" class="hiddenlink" target="rightframe">Scanner</A><br>
+<A HREF="android.renderscript.Script.html" class="hiddenlink" target="rightframe">Script</A><br>
+<A HREF="javax.crypto.spec.SecretKeySpec.html" class="hiddenlink" target="rightframe">SecretKeySpec</A><br>
+<A HREF="java.nio.channels.spi.SelectorProvider.html" class="hiddenlink" target="rightframe">SelectorProvider</A><br>
+<A HREF="android.hardware.Sensor.html" class="hiddenlink" target="rightframe">Sensor</A><br>
+<A HREF="android.hardware.SensorManager.html" class="hiddenlink" target="rightframe">SensorManager</A><br>
+<A HREF="java.nio.channels.ServerSocketChannel.html" class="hiddenlink" target="rightframe">ServerSocketChannel</A><br>
+<A HREF="android.app.Service.html" class="hiddenlink" target="rightframe">Service</A><br>
+<A HREF="android.content.pm.ServiceInfo.html" class="hiddenlink" target="rightframe">ServiceInfo</A><br>
+<A HREF="android.test.ServiceTestCase.html" class="hiddenlink" target="rightframe">ServiceTestCase</A><br>
+<A HREF="android.provider.Settings.html" class="hiddenlink" target="rightframe">Settings</A><br>
+<A HREF="android.provider.Settings.Global.html" class="hiddenlink" target="rightframe">Settings.Global</A><br>
+<A HREF="android.provider.Settings.Secure.html" class="hiddenlink" target="rightframe">Settings.Secure</A><br>
+<A HREF="android.provider.Settings.System.html" class="hiddenlink" target="rightframe">Settings.System</A><br>
+<A HREF="java.lang.Short.html" class="hiddenlink" target="rightframe">Short</A><br>
+<A HREF="android.test.SingleLaunchActivityTestCase.html" class="hiddenlink" target="rightframe">SingleLaunchActivityTestCase</A><br>
+<A HREF="android.test.suitebuilder.annotation.SmallTest.html" class="hiddenlink" target="rightframe">SmallTest</A><br>
+<A HREF="android.test.suitebuilder.annotation.Smoke.html" class="hiddenlink" target="rightframe">Smoke</A><br>
+<A HREF="java.nio.channels.SocketChannel.html" class="hiddenlink" target="rightframe">SocketChannel</A><br>
+<A HREF="java.util.SortedMap.html" class="hiddenlink" target="rightframe"><i>SortedMap</i></A><br>
+<A HREF="android.view.textservice.SpellCheckerSubtype.html" class="hiddenlink" target="rightframe">SpellCheckerSubtype</A><br>
+<A HREF="java.sql.SQLException.html" class="hiddenlink" target="rightframe">SQLException</A><br>
+<A HREF="android.database.sqlite.SQLiteDatabase.html" class="hiddenlink" target="rightframe">SQLiteDatabase</A><br>
+<A HREF="java.sql.SQLPermission.html" class="hiddenlink" target="rightframe">SQLPermission</A><br>
+<A HREF="java.sql.SQLWarning.html" class="hiddenlink" target="rightframe">SQLWarning</A><br>
+<A HREF="javax.net.ssl.SSLEngine.html" class="hiddenlink" target="rightframe">SSLEngine</A><br>
+<A HREF="javax.net.ssl.SSLParameters.html" class="hiddenlink" target="rightframe">SSLParameters</A><br>
+<A HREF="javax.net.ssl.SSLServerSocket.html" class="hiddenlink" target="rightframe">SSLServerSocket</A><br>
+<A HREF="javax.net.ssl.SSLSocket.html" class="hiddenlink" target="rightframe">SSLSocket</A><br>
+<A HREF="android.service.notification.StatusBarNotification.html" class="hiddenlink" target="rightframe">StatusBarNotification</A><br>
+<A HREF="android.os.storage.StorageManager.html" class="hiddenlink" target="rightframe">StorageManager</A><br>
+<A HREF="java.util.logging.StreamHandler.html" class="hiddenlink" target="rightframe">StreamHandler</A><br>
+<A HREF="java.lang.StrictMath.html" class="hiddenlink" target="rightframe">StrictMath</A><br>
+<A HREF="android.os.StrictMode.VmPolicy.Builder.html" class="hiddenlink" target="rightframe">StrictMode.VmPolicy.Builder</A><br>
+<A HREF="android.telephony.SubscriptionManager.html" class="hiddenlink" target="rightframe">SubscriptionManager</A><br>
+<A HREF="android.text.style.SuggestionSpan.html" class="hiddenlink" target="rightframe">SuggestionSpan</A><br>
+<A HREF="android.test.suitebuilder.annotation.Suppress.html" class="hiddenlink" target="rightframe">Suppress</A><br>
+<A HREF="android.test.SyncBaseInstrumentation.html" class="hiddenlink" target="rightframe">SyncBaseInstrumentation</A><br>
+<A HREF="java.util.concurrent.SynchronousQueue.html" class="hiddenlink" target="rightframe">SynchronousQueue</A><br>
+<A HREF="android.content.SyncRequest.Builder.html" class="hiddenlink" target="rightframe">SyncRequest.Builder</A><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.widget.TabWidget.html" class="hiddenlink" target="rightframe">TabWidget</A><br>
+<A HREF="android.telecom.TelecomManager.html" class="hiddenlink" target="rightframe">TelecomManager</A><br>
+<A HREF="android.provider.Telephony.Sms.Intents.html" class="hiddenlink" target="rightframe">Telephony.Sms.Intents</A><br>
+<A HREF="android.telephony.TelephonyManager.html" class="hiddenlink" target="rightframe">TelephonyManager</A><br>
+<A HREF="android.test.TestSuiteProvider.html" class="hiddenlink" target="rightframe"><i>TestSuiteProvider</i></A><br>
+<A HREF="android.text.TextUtils.html" class="hiddenlink" target="rightframe">TextUtils</A><br>
+<A HREF="android.text.TextUtils.SimpleStringSplitter.html" class="hiddenlink" target="rightframe">TextUtils.SimpleStringSplitter</A><br>
+<A HREF="android.widget.TextView.html" class="hiddenlink" target="rightframe">TextView</A><br>
+<A HREF="java.sql.Timestamp.html" class="hiddenlink" target="rightframe">Timestamp</A><br>
+<A HREF="java.util.TimeZone.html" class="hiddenlink" target="rightframe">TimeZone</A><br>
+<A HREF="android.widget.Toolbar.html" class="hiddenlink" target="rightframe">Toolbar</A><br>
+<A HREF="android.test.TouchUtils.html" class="hiddenlink" target="rightframe">TouchUtils</A><br>
+<A HREF="android.net.TrafficStats.html" class="hiddenlink" target="rightframe">TrafficStats</A><br>
+<A HREF="java.util.TreeMap.html" class="hiddenlink" target="rightframe">TreeMap</A><br>
+<A HREF="java.util.TreeSet.html" class="hiddenlink" target="rightframe">TreeSet</A><br>
+<A HREF="android.media.tv.TvContentRating.html" class="hiddenlink" target="rightframe">TvContentRating</A><br>
+<A HREF="android.media.tv.TvContract.html" class="hiddenlink" target="rightframe">TvContract</A><br>
+<A HREF="android.media.tv.TvContract.Programs.html" class="hiddenlink" target="rightframe">TvContract.Programs</A><br>
+<A HREF="android.media.tv.TvContract.Programs.Genres.html" class="hiddenlink" target="rightframe">TvContract.Programs.Genres</A><br>
+<A HREF="android.media.tv.TvInputInfo.html" class="hiddenlink" target="rightframe">TvInputInfo</A><br>
+<A HREF="android.media.tv.TvInputManager.html" class="hiddenlink" target="rightframe">TvInputManager</A><br>
+<A HREF="android.media.tv.TvInputManager.TvInputCallback.html" class="hiddenlink" target="rightframe">TvInputManager.TvInputCallback</A><br>
+<A HREF="android.media.tv.TvInputService.html" class="hiddenlink" target="rightframe">TvInputService</A><br>
+<A HREF="android.media.tv.TvInputService.Session.html" class="hiddenlink" target="rightframe">TvInputService.Session</A><br>
+<A HREF="android.media.tv.TvTrackInfo.html" class="hiddenlink" target="rightframe">TvTrackInfo</A><br>
+<A HREF="android.media.tv.TvTrackInfo.Builder.html" class="hiddenlink" target="rightframe">TvTrackInfo.Builder</A><br>
+<A HREF="android.media.tv.TvView.html" class="hiddenlink" target="rightframe">TvView</A><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.UiAutomation.html" class="hiddenlink" target="rightframe">UiAutomation</A><br>
+<A HREF="android.test.UiThreadTest.html" class="hiddenlink" target="rightframe">UiThreadTest</A><br>
+<A HREF="java.net.URLClassLoader.html" class="hiddenlink" target="rightframe">URLClassLoader</A><br>
+<A HREF="java.net.URLConnection.html" class="hiddenlink" target="rightframe">URLConnection</A><br>
+<A HREF="android.os.UserHandle.html" class="hiddenlink" target="rightframe">UserHandle</A><br>
+<A HREF="android.os.UserManager.html" class="hiddenlink" target="rightframe">UserManager</A><br>
+<A HREF="android.speech.tts.UtteranceProgressListener.html" class="hiddenlink" target="rightframe">UtteranceProgressListener</A><br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.Vector.html" class="hiddenlink" target="rightframe">Vector</A><br>
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<A HREF="android.view.View.BaseSavedState.html" class="hiddenlink" target="rightframe">View.BaseSavedState</A><br>
+<A HREF="android.test.ViewAsserts.html" class="hiddenlink" target="rightframe">ViewAsserts</A><br>
+<A HREF="android.view.ViewGroup.html" class="hiddenlink" target="rightframe">ViewGroup</A><br>
+<A HREF="android.view.ViewParent.html" class="hiddenlink" target="rightframe"><i>ViewParent</i></A><br>
+<A HREF="java.lang.VirtualMachineError.html" class="hiddenlink" target="rightframe">VirtualMachineError</A><br>
+<A HREF="android.service.voice.VoiceInteractionSession.html" class="hiddenlink" target="rightframe">VoiceInteractionSession</A><br>
+<A HREF="android.provider.VoicemailContract.html" class="hiddenlink" target="rightframe">VoicemailContract</A><br>
+<A HREF="android.provider.VoicemailContract.Status.html" class="hiddenlink" target="rightframe">VoicemailContract.Status</A><br>
+<A HREF="android.provider.VoicemailContract.Voicemails.html" class="hiddenlink" target="rightframe">VoicemailContract.Voicemails</A><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.WallpaperManager.html" class="hiddenlink" target="rightframe">WallpaperManager</A><br>
+<A HREF="java.util.WeakHashMap.html" class="hiddenlink" target="rightframe">WeakHashMap</A><br>
+<A HREF="android.webkit.WebResourceRequest.html" class="hiddenlink" target="rightframe"><i>WebResourceRequest</i></A><br>
+<A HREF="android.webkit.WebSettings.html" class="hiddenlink" target="rightframe">WebSettings</A><br>
+<A HREF="android.webkit.WebViewClient.html" class="hiddenlink" target="rightframe">WebViewClient</A><br>
+<A HREF="android.net.wifi.WifiEnterpriseConfig.html" class="hiddenlink" target="rightframe">WifiEnterpriseConfig</A><br>
+<A HREF="android.net.wifi.WifiEnterpriseConfig.Eap.html" class="hiddenlink" target="rightframe">WifiEnterpriseConfig.Eap</A><br>
+<A HREF="android.view.Window.html" class="hiddenlink" target="rightframe">Window</A><br>
+<A HREF="android.view.Window.Callback.html" class="hiddenlink" target="rightframe"><i>Window.Callback</i></A><br>
+<A NAME="X"></A>
+<br><font size="+2">X</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.security.cert.X509Certificate.html" class="hiddenlink" target="rightframe">X509Certificate</A><br>
+<A HREF="java.security.cert.X509CRLEntry.html" class="hiddenlink" target="rightframe">X509CRLEntry</A><br>
+<A NAME="Z"></A>
+<br><font size="+2">Z</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.util.zip.ZipFile.html" class="hiddenlink" target="rightframe">ZipFile</A><br>
+<A HREF="java.util.zip.ZipInputStream.html" class="hiddenlink" target="rightframe">ZipInputStream</A><br>
+<A HREF="java.util.zip.ZipOutputStream.html" class="hiddenlink" target="rightframe">ZipOutputStream</A><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/classes_index_removals.html b/docs/html/sdk/api_diff/24/changes/classes_index_removals.html
new file mode 100644
index 0000000..0384066
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/classes_index_removals.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Class Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Classes" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="classes_index_all.html" class="staysblack">All Classes</a>
+  <br>
+<b>Removals</b>
+  <br>
+<A HREF="classes_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="classes_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#P"><font size="-2">P</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.graphics.html#AvoidXfermode" class="hiddenlink" target="rightframe"><strike>AvoidXfermode</strike></A><br>
+<A HREF="pkg_android.graphics.html#AvoidXfermode.Mode" class="hiddenlink" target="rightframe"><strike>AvoidXfermode.Mode</strike></A><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.graphics.html#PixelXorXfermode" class="hiddenlink" target="rightframe"><strike>PixelXorXfermode</strike></A><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/constructors_index_additions.html b/docs/html/sdk/api_diff/24/changes/constructors_index_additions.html
new file mode 100644
index 0000000..a7231dd
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/constructors_index_additions.html
@@ -0,0 +1,268 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Constructor Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Constructors" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="constructors_index_all.html" class="staysblack">All Constructors</a>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="constructors_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.AbsSavedState.html#android.view.AbsSavedState.ctor_added(android.os.Parcel, java.lang.ClassLoader)" class="hiddenlink" target="rightframe"><b>AbsSavedState</b>
+(<code>Parcel, ClassLoader</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.widget.AutoCompleteTextView.html#android.widget.AutoCompleteTextView.ctor_added(android.content.Context, android.util.AttributeSet, int, int, android.content.res.Resources.Theme)" class="hiddenlink" target="rightframe"><b>AutoCompleteTextView</b>
+(<code>Context, AttributeSet, int, int, Theme</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.security.cert.CertPathValidatorException.html#java.security.cert.CertPathValidatorException.ctor_added(java.lang.String, java.lang.Throwable, java.security.cert.CertPath, int, java.security.cert.CertPathValidatorException.Reason)" class="hiddenlink" target="rightframe"><b>CertPathValidatorException</b>
+(<code>String, Throwable, CertPath, int, Reason</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>DatePickerDialog</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.DatePickerDialog.html#android.app.DatePickerDialog.ctor_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>DatePickerDialog</b>
+(<code>Context</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.DatePickerDialog.html#android.app.DatePickerDialog.ctor_added(android.content.Context, int)" class="hiddenlink" target="rightframe"><b>DatePickerDialog</b>
+(<code>Context, int</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.lang.Error.html#java.lang.Error.ctor_added(java.lang.String, java.lang.Throwable, boolean, boolean)" class="hiddenlink" target="rightframe"><b>Error</b>
+(<code>String, Throwable, boolean, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="java.lang.Exception.html#java.lang.Exception.ctor_added(java.lang.String, java.lang.Throwable, boolean, boolean)" class="hiddenlink" target="rightframe"><b>Exception</b>
+(<code>String, Throwable, boolean, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<i>ExifInterface</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.ctor_added(java.io.FileDescriptor)" class="hiddenlink" target="rightframe"><b>ExifInterface</b>
+(<code>FileDescriptor</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.ctor_added(java.io.InputStream)" class="hiddenlink" target="rightframe"><b>ExifInterface</b>
+(<code>InputStream</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>InternalError</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.InternalError.html#java.lang.InternalError.ctor_added(java.lang.String, java.lang.Throwable)" class="hiddenlink" target="rightframe"><b>InternalError</b>
+(<code>String, Throwable</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.InternalError.html#java.lang.InternalError.ctor_added(java.lang.Throwable)" class="hiddenlink" target="rightframe"><b>InternalError</b>
+(<code>Throwable</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.ctor_added(android.os.LocaleList)" class="hiddenlink" target="rightframe"><b>LocaleSpan</b>
+(<code>LocaleList</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.ctor_added(int, int, int, int)" class="hiddenlink" target="rightframe"><b>NotificationManager.Policy</b>
+(<code>int, int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.util.PriorityQueue.html#java.util.PriorityQueue.ctor_added(java.util.Comparator<? super E>)" class="hiddenlink" target="rightframe"><b>PriorityQueue</b>
+(<code>Comparator&lt;? super E&gt;</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.res.Resources.NotFoundException.html#android.content.res.Resources.NotFoundException.ctor_added(java.lang.String, java.lang.Exception)" class="hiddenlink" target="rightframe"><b>Resources.NotFoundException</b>
+(<code>String, Exception</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="java.lang.RuntimeException.html#java.lang.RuntimeException.ctor_added(java.lang.String, java.lang.Throwable, boolean, boolean)" class="hiddenlink" target="rightframe"><b>RuntimeException</b>
+(<code>String, Throwable, boolean, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.View.BaseSavedState.html#android.view.View.BaseSavedState.ctor_added(android.os.Parcel, java.lang.ClassLoader)" class="hiddenlink" target="rightframe"><b>View.BaseSavedState</b>
+(<code>Parcel, ClassLoader</code>)</A></nobr>&nbsp;constructor<br>
+<i>VirtualMachineError</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.VirtualMachineError.html#java.lang.VirtualMachineError.ctor_added(java.lang.String, java.lang.Throwable)" class="hiddenlink" target="rightframe"><b>VirtualMachineError</b>
+(<code>String, Throwable</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.VirtualMachineError.html#java.lang.VirtualMachineError.ctor_added(java.lang.Throwable)" class="hiddenlink" target="rightframe"><b>VirtualMachineError</b>
+(<code>Throwable</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="Z"></A>
+<br><font size="+2">Z</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>ZipFile</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.zip.ZipFile.html#java.util.zip.ZipFile.ctor_added(java.io.File, int, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipFile</b>
+(<code>File, int, Charset</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.zip.ZipFile.html#java.util.zip.ZipFile.ctor_added(java.io.File, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipFile</b>
+(<code>File, Charset</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.zip.ZipFile.html#java.util.zip.ZipFile.ctor_added(java.lang.String, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipFile</b>
+(<code>String, Charset</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="java.util.zip.ZipInputStream.html#java.util.zip.ZipInputStream.ctor_added(java.io.InputStream, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipInputStream</b>
+(<code>InputStream, Charset</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="java.util.zip.ZipOutputStream.html#java.util.zip.ZipOutputStream.ctor_added(java.io.OutputStream, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipOutputStream</b>
+(<code>OutputStream, Charset</code>)</A></nobr>&nbsp;constructor<br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/constructors_index_all.html b/docs/html/sdk/api_diff/24/changes/constructors_index_all.html
new file mode 100644
index 0000000..c8e36f3
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/constructors_index_all.html
@@ -0,0 +1,306 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Constructor Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Constructors" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Constructors</b>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<A HREF="constructors_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="constructors_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.AbsSavedState.html#android.view.AbsSavedState.ctor_added(android.os.Parcel, java.lang.ClassLoader)" class="hiddenlink" target="rightframe"><b>AbsSavedState</b>
+(<code>Parcel, ClassLoader</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.widget.AutoCompleteTextView.html#android.widget.AutoCompleteTextView.ctor_added(android.content.Context, android.util.AttributeSet, int, int, android.content.res.Resources.Theme)" class="hiddenlink" target="rightframe"><b>AutoCompleteTextView</b>
+(<code>Context, AttributeSet, int, int, Theme</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.security.cert.CertPathValidatorException.html#java.security.cert.CertPathValidatorException.ctor_added(java.lang.String, java.lang.Throwable, java.security.cert.CertPath, int, java.security.cert.CertPathValidatorException.Reason)" class="hiddenlink" target="rightframe"><b>CertPathValidatorException</b>
+(<code>String, Throwable, CertPath, int, Reason</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>DatePickerDialog</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.DatePickerDialog.html#android.app.DatePickerDialog.ctor_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>DatePickerDialog</b>
+(<code>Context</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.DatePickerDialog.html#android.app.DatePickerDialog.ctor_added(android.content.Context, int)" class="hiddenlink" target="rightframe"><b>DatePickerDialog</b>
+(<code>Context, int</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.lang.Error.html#java.lang.Error.ctor_added(java.lang.String, java.lang.Throwable, boolean, boolean)" class="hiddenlink" target="rightframe"><b>Error</b>
+(<code>String, Throwable, boolean, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="java.util.EventListenerProxy.html#java.util.EventListenerProxy.ctor_changed(T)" class="hiddenlink" target="rightframe">EventListenerProxy
+(<code>T</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="java.lang.Exception.html#java.lang.Exception.ctor_added(java.lang.String, java.lang.Throwable, boolean, boolean)" class="hiddenlink" target="rightframe"><b>Exception</b>
+(<code>String, Throwable, boolean, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<i>ExifInterface</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.ctor_added(java.io.FileDescriptor)" class="hiddenlink" target="rightframe"><b>ExifInterface</b>
+(<code>FileDescriptor</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.ctor_added(java.io.InputStream)" class="hiddenlink" target="rightframe"><b>ExifInterface</b>
+(<code>InputStream</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>InternalError</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.InternalError.html#java.lang.InternalError.ctor_added(java.lang.String, java.lang.Throwable)" class="hiddenlink" target="rightframe"><b>InternalError</b>
+(<code>String, Throwable</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.InternalError.html#java.lang.InternalError.ctor_added(java.lang.Throwable)" class="hiddenlink" target="rightframe"><b>InternalError</b>
+(<code>Throwable</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.ctor_added(android.os.LocaleList)" class="hiddenlink" target="rightframe"><b>LocaleSpan</b>
+(<code>LocaleList</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.Notification.BigPictureStyle.html#android.app.Notification.BigPictureStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.BigPictureStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.app.Notification.BigTextStyle.html#android.app.Notification.BigTextStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.BigTextStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.app.Notification.InboxStyle.html#android.app.Notification.InboxStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.InboxStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.app.Notification.MediaStyle.html#android.app.Notification.MediaStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.MediaStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.ctor_added(int, int, int, int)" class="hiddenlink" target="rightframe"><b>NotificationManager.Policy</b>
+(<code>int, int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.util.PriorityQueue.html#java.util.PriorityQueue.ctor_added(java.util.Comparator<? super E>)" class="hiddenlink" target="rightframe"><b>PriorityQueue</b>
+(<code>Comparator&lt;? super E&gt;</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.res.Resources.NotFoundException.html#android.content.res.Resources.NotFoundException.ctor_added(java.lang.String, java.lang.Exception)" class="hiddenlink" target="rightframe"><b>Resources.NotFoundException</b>
+(<code>String, Exception</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="java.lang.RuntimeException.html#java.lang.RuntimeException.ctor_added(java.lang.String, java.lang.Throwable, boolean, boolean)" class="hiddenlink" target="rightframe"><b>RuntimeException</b>
+(<code>String, Throwable, boolean, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.textservice.SpellCheckerSubtype.html#android.view.textservice.SpellCheckerSubtype.ctor_changed(int, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">SpellCheckerSubtype
+(<code>int, String, String</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#Z"><font size="-2">Z</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.View.BaseSavedState.html#android.view.View.BaseSavedState.ctor_added(android.os.Parcel, java.lang.ClassLoader)" class="hiddenlink" target="rightframe"><b>View.BaseSavedState</b>
+(<code>Parcel, ClassLoader</code>)</A></nobr>&nbsp;constructor<br>
+<i>VirtualMachineError</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.VirtualMachineError.html#java.lang.VirtualMachineError.ctor_added(java.lang.String, java.lang.Throwable)" class="hiddenlink" target="rightframe"><b>VirtualMachineError</b>
+(<code>String, Throwable</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.VirtualMachineError.html#java.lang.VirtualMachineError.ctor_added(java.lang.Throwable)" class="hiddenlink" target="rightframe"><b>VirtualMachineError</b>
+(<code>Throwable</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="Z"></A>
+<br><font size="+2">Z</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>ZipFile</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.zip.ZipFile.html#java.util.zip.ZipFile.ctor_added(java.io.File, int, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipFile</b>
+(<code>File, int, Charset</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.zip.ZipFile.html#java.util.zip.ZipFile.ctor_added(java.io.File, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipFile</b>
+(<code>File, Charset</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.zip.ZipFile.html#java.util.zip.ZipFile.ctor_added(java.lang.String, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipFile</b>
+(<code>String, Charset</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="java.util.zip.ZipInputStream.html#java.util.zip.ZipInputStream.ctor_added(java.io.InputStream, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipInputStream</b>
+(<code>InputStream, Charset</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="java.util.zip.ZipOutputStream.html#java.util.zip.ZipOutputStream.ctor_added(java.io.OutputStream, java.nio.charset.Charset)" class="hiddenlink" target="rightframe"><b>ZipOutputStream</b>
+(<code>OutputStream, Charset</code>)</A></nobr>&nbsp;constructor<br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/constructors_index_changes.html b/docs/html/sdk/api_diff/24/changes/constructors_index_changes.html
new file mode 100644
index 0000000..2f8a52a
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/constructors_index_changes.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Constructor Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Constructors" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="constructors_index_all.html" class="staysblack">All Constructors</a>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<A HREF="constructors_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.util.EventListenerProxy.html#java.util.EventListenerProxy.ctor_changed(T)" class="hiddenlink" target="rightframe">EventListenerProxy
+(<code>T</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.Notification.BigPictureStyle.html#android.app.Notification.BigPictureStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.BigPictureStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.app.Notification.BigTextStyle.html#android.app.Notification.BigTextStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.BigTextStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.app.Notification.InboxStyle.html#android.app.Notification.InboxStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.InboxStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.app.Notification.MediaStyle.html#android.app.Notification.MediaStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.MediaStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.textservice.SpellCheckerSubtype.html#android.view.textservice.SpellCheckerSubtype.ctor_changed(int, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">SpellCheckerSubtype
+(<code>int, String, String</code>)</A></nobr>&nbsp;constructor<br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/constructors_index_removals.html b/docs/html/sdk/api_diff/24/changes/constructors_index_removals.html
new file mode 100644
index 0000000..89ef7e1
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/constructors_index_removals.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Constructor Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Constructors" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="constructors_index_all.html" class="staysblack">All Constructors</a>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<A HREF="constructors_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="constructors_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/fields_index_additions.html b/docs/html/sdk/api_diff/24/changes/fields_index_additions.html
new file mode 100644
index 0000000..61a6f9b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/fields_index_additions.html
@@ -0,0 +1,1827 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Field Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Fields" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="fields_index_all.html" class="staysblack">All Fields</a>
+  <br>
+<A HREF="fields_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="fields_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.id.html#android.R.id.accessibilityActionSetProgress" class="hiddenlink" target="rightframe">accessibilityActionSetProgress</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_APPLICATION_PREFERENCES" class="hiddenlink" target="rightframe">ACTION_APPLICATION_PREFERENCES</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.ACTION_ARGUMENT_PROGRESS_VALUE" class="hiddenlink" target="rightframe">ACTION_ARGUMENT_PROGRESS_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Telephony.Sms.Intents.html#android.provider.Telephony.Sms.Intents.ACTION_DEFAULT_SMS_PACKAGE_CHANGED" class="hiddenlink" target="rightframe">ACTION_DEFAULT_SMS_PACKAGE_CHANGED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Telephony.Sms.Intents.html#android.provider.Telephony.Sms.Intents.ACTION_EXTERNAL_PROVIDER_CHANGE" class="hiddenlink" target="rightframe">ACTION_EXTERNAL_PROVIDER_CHANGE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_HARD_KEYBOARD_SETTINGS" class="hiddenlink" target="rightframe">ACTION_HARD_KEYBOARD_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS" class="hiddenlink" target="rightframe">ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_LOCKED_BOOT_COMPLETED" class="hiddenlink" target="rightframe">ACTION_LOCKED_BOOT_COMPLETED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS" class="hiddenlink" target="rightframe">ACTION_MANAGE_DEFAULT_APPS_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_MANAGED_PROFILE_AVAILABLE" class="hiddenlink" target="rightframe">ACTION_MANAGED_PROFILE_AVAILABLE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE" class="hiddenlink" target="rightframe">ACTION_MANAGED_PROFILE_UNAVAILABLE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_MANAGED_PROFILE_UNLOCKED" class="hiddenlink" target="rightframe">ACTION_MANAGED_PROFILE_UNLOCKED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGES_SUSPENDED" class="hiddenlink" target="rightframe">ACTION_PACKAGES_SUSPENDED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGES_UNSUSPENDED" class="hiddenlink" target="rightframe">ACTION_PACKAGES_UNSUSPENDED</A>
+</nobr><br>
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.ACTION_PREPARE" class="hiddenlink" target="rightframe">ACTION_PREPARE</A>
+</nobr><br>
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.ACTION_PREPARE_FROM_MEDIA_ID" class="hiddenlink" target="rightframe">ACTION_PREPARE_FROM_MEDIA_ID</A>
+</nobr><br>
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.ACTION_PREPARE_FROM_SEARCH" class="hiddenlink" target="rightframe">ACTION_PREPARE_FROM_SEARCH</A>
+</nobr><br>
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.ACTION_PREPARE_FROM_URI" class="hiddenlink" target="rightframe">ACTION_PREPARE_FROM_URI</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_QUICK_VIEW" class="hiddenlink" target="rightframe">ACTION_QUICK_VIEW</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED" class="hiddenlink" target="rightframe">ACTION_RESTRICT_BACKGROUND_CHANGED</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.ACTION_SET_NEW_PARENT_PROFILE_PASSWORD" class="hiddenlink" target="rightframe">ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.html#android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.ACTION_SET_PROGRESS" class="hiddenlink" target="rightframe">ACTION_SET_PROGRESS</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.ACTION_SETUP_INPUTS" class="hiddenlink" target="rightframe">ACTION_SETUP_INPUTS</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_SHOW_APP_INFO" class="hiddenlink" target="rightframe">ACTION_SHOW_APP_INFO</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.ACTION_SHOW_MISSED_CALLS_NOTIFICATION" class="hiddenlink" target="rightframe">ACTION_SHOW_MISSED_CALLS_NOTIFICATION</A>
+</nobr><br>
+<nobr><A HREF="android.provider.VoicemailContract.html#android.provider.VoicemailContract.ACTION_SYNC_VOICEMAIL" class="hiddenlink" target="rightframe">ACTION_SYNC_VOICEMAIL</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_USER_UNLOCKED" class="hiddenlink" target="rightframe">ACTION_USER_UNLOCKED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS" class="hiddenlink" target="rightframe">ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_VPN_SETTINGS" class="hiddenlink" target="rightframe">ACTION_VPN_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_VR_LISTENER_SETTINGS" class="hiddenlink" target="rightframe">ACTION_VR_LISTENER_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_WEBVIEW_SETTINGS" class="hiddenlink" target="rightframe">ACTION_WEBVIEW_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_CSIM" class="hiddenlink" target="rightframe">APPTYPE_CSIM</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_ISIM" class="hiddenlink" target="rightframe">APPTYPE_ISIM</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_RUIM" class="hiddenlink" target="rightframe">APPTYPE_RUIM</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_SIM" class="hiddenlink" target="rightframe">APPTYPE_SIM</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_USIM" class="hiddenlink" target="rightframe">APPTYPE_USIM</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.AUTHTYPE_EAP_AKA" class="hiddenlink" target="rightframe">AUTHTYPE_EAP_AKA</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.AUTHTYPE_EAP_SIM" class="hiddenlink" target="rightframe">AUTHTYPE_EAP_SIM</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.AXIS_RELATIVE_X" class="hiddenlink" target="rightframe">AXIS_RELATIVE_X</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.AXIS_RELATIVE_Y" class="hiddenlink" target="rightframe">AXIS_RELATIVE_Y</A>
+</nobr><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.ContactsContract.RawContactsColumns.html#android.provider.ContactsContract.RawContactsColumns.BACKUP_ID" class="hiddenlink" target="rightframe">BACKUP_ID</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.backupInForeground" class="hiddenlink" target="rightframe">backupInForeground</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_CONDITION_PROVIDER_SERVICE" class="hiddenlink" target="rightframe">BIND_CONDITION_PROVIDER_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_EXTERNAL_SERVICE" class="hiddenlink" target="rightframe">BIND_EXTERNAL_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_QUICK_SETTINGS_TILE" class="hiddenlink" target="rightframe">BIND_QUICK_SETTINGS_TILE</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_SCREENING_SERVICE" class="hiddenlink" target="rightframe">BIND_SCREENING_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_VR_LISTENER_SERVICE" class="hiddenlink" target="rightframe">BIND_VR_LISTENER_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.bitmap" class="hiddenlink" target="rightframe">bitmap</A>
+</nobr><br>
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.BLOCKED_TYPE" class="hiddenlink" target="rightframe">BLOCKED_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.BOOT_COUNT" class="hiddenlink" target="rightframe">BOOT_COUNT</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING" class="hiddenlink" target="rightframe">BUGREPORT_FAILURE_FAILED_COMPLETING</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE" class="hiddenlink" target="rightframe">BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.buttonGravity" class="hiddenlink" target="rightframe">buttonGravity</A>
+</nobr><br>
+<i>BYTES</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Byte.html#java.lang.Byte.BYTES" class="hiddenlink" target="rightframe">java.lang.Byte</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Character.html#java.lang.Character.BYTES" class="hiddenlink" target="rightframe">java.lang.Character</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Double.html#java.lang.Double.BYTES" class="hiddenlink" target="rightframe">java.lang.Double</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Float.html#java.lang.Float.BYTES" class="hiddenlink" target="rightframe">java.lang.Float</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Integer.html#java.lang.Integer.BYTES" class="hiddenlink" target="rightframe">java.lang.Integer</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Long.html#java.lang.Long.BYTES" class="hiddenlink" target="rightframe">java.lang.Long</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Short.html#java.lang.Short.BYTES" class="hiddenlink" target="rightframe">java.lang.Short</A>
+</nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.canControlMagnification" class="hiddenlink" target="rightframe">canControlMagnification</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.canPerformGestures" class="hiddenlink" target="rightframe">canPerformGestures</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.canRecord" class="hiddenlink" target="rightframe">canRecord</A>
+</nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.CAPABILITY_CAN_CONTROL_MAGNIFICATION" class="hiddenlink" target="rightframe">CAPABILITY_CAN_CONTROL_MAGNIFICATION</A>
+</nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.CAPABILITY_CAN_PERFORM_GESTURES" class="hiddenlink" target="rightframe">CAPABILITY_CAN_PERFORM_GESTURES</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.Connection.html#android.telecom.Connection.CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION" class="hiddenlink" target="rightframe">CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION</A>
+</nobr><br>
+<i>CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.telecom.Call.Details.html#android.telecom.Call.Details.CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO" class="hiddenlink" target="rightframe">android.telecom.Call.Details</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.telecom.Connection.html#android.telecom.Connection.CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO" class="hiddenlink" target="rightframe">android.telecom.Connection</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.PhoneAccount.html#android.telecom.PhoneAccount.CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE" class="hiddenlink" target="rightframe">CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE</A>
+</nobr><br>
+<nobr><A HREF="java.util.zip.InflaterInputStream.html#java.util.zip.InflaterInputStream.closed" class="hiddenlink" target="rightframe">closed</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.collapseIcon" class="hiddenlink" target="rightframe">collapseIcon</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_RANGE_FULL" class="hiddenlink" target="rightframe">COLOR_RANGE_FULL</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_RANGE_LIMITED" class="hiddenlink" target="rightframe">COLOR_RANGE_LIMITED</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_STANDARD_BT2020" class="hiddenlink" target="rightframe">COLOR_STANDARD_BT2020</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_STANDARD_BT601_NTSC" class="hiddenlink" target="rightframe">COLOR_STANDARD_BT601_NTSC</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_STANDARD_BT601_PAL" class="hiddenlink" target="rightframe">COLOR_STANDARD_BT601_PAL</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_STANDARD_BT709" class="hiddenlink" target="rightframe">COLOR_STANDARD_BT709</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_TRANSFER_HLG" class="hiddenlink" target="rightframe">COLOR_TRANSFER_HLG</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_TRANSFER_LINEAR" class="hiddenlink" target="rightframe">COLOR_TRANSFER_LINEAR</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_TRANSFER_SDR_VIDEO" class="hiddenlink" target="rightframe">COLOR_TRANSFER_SDR_VIDEO</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_TRANSFER_ST2084" class="hiddenlink" target="rightframe">COLOR_TRANSFER_ST2084</A>
+</nobr><br>
+<nobr><A HREF="android.provider.DocumentsContract.Root.html#android.provider.DocumentsContract.Root.COLUMN_CAPACITY_BYTES" class="hiddenlink" target="rightframe">COLUMN_CAPACITY_BYTES</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_EPISODE_DISPLAY_NUMBER" class="hiddenlink" target="rightframe">COLUMN_EPISODE_DISPLAY_NUMBER</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_RECORDING_PROHIBITED" class="hiddenlink" target="rightframe">COLUMN_RECORDING_PROHIBITED</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_SEASON_DISPLAY_NUMBER" class="hiddenlink" target="rightframe">COLUMN_SEASON_DISPLAY_NUMBER</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_SEASON_TITLE" class="hiddenlink" target="rightframe">COLUMN_SEASON_TITLE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.PhoneLookupColumns.html#android.provider.ContactsContract.PhoneLookupColumns.CONTACT_ID" class="hiddenlink" target="rightframe">CONTACT_ID</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.CONTACT_METADATA_SYNC_ENABLED" class="hiddenlink" target="rightframe">CONTACT_METADATA_SYNC_ENABLED</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentInsetEndWithActions" class="hiddenlink" target="rightframe">contentInsetEndWithActions</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentInsetStartWithNavigation" class="hiddenlink" target="rightframe">contentInsetStartWithNavigation</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.contextPopupMenuStyle" class="hiddenlink" target="rightframe">contextPopupMenuStyle</A>
+</nobr><br>
+<i>CONTROL_POST_RAW_SENSITIVITY_BOOST</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.hardware.camera2.CaptureRequest.html#android.hardware.camera2.CaptureRequest.CONTROL_POST_RAW_SENSITIVITY_BOOST" class="hiddenlink" target="rightframe">android.hardware.camera2.CaptureRequest</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.hardware.camera2.CaptureResult.html#android.hardware.camera2.CaptureResult.CONTROL_POST_RAW_SENSITIVITY_BOOST" class="hiddenlink" target="rightframe">android.hardware.camera2.CaptureResult</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.camera2.CameraCharacteristics.html#android.hardware.camera2.CameraCharacteristics.CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE" class="hiddenlink" target="rightframe">CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.countDown" class="hiddenlink" target="rightframe">countDown</A>
+</nobr><br>
+<i>CREATOR</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.bluetooth.BluetoothGattCharacteristic.html#android.bluetooth.BluetoothGattCharacteristic.CREATOR" class="hiddenlink" target="rightframe">android.bluetooth.BluetoothGattCharacteristic</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.bluetooth.BluetoothGattDescriptor.html#android.bluetooth.BluetoothGattDescriptor.CREATOR" class="hiddenlink" target="rightframe">android.bluetooth.BluetoothGattDescriptor</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.bluetooth.BluetoothGattService.html#android.bluetooth.BluetoothGattService.CREATOR" class="hiddenlink" target="rightframe">android.bluetooth.BluetoothGattService</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioFormat.html#android.media.AudioFormat.CREATOR" class="hiddenlink" target="rightframe">android.media.AudioFormat</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.net.NetworkInfo.html#android.net.NetworkInfo.CREATOR" class="hiddenlink" target="rightframe">android.net.NetworkInfo</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodec.html#android.media.MediaCodec.CRYPTO_MODE_AES_CBC" class="hiddenlink" target="rightframe">CRYPTO_MODE_AES_CBC</A>
+</nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_BAD_CONFIGURATION" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_BAD_CONFIGURATION</A>
+</nobr><br>
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_COMMUNICATION_ERROR" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_COMMUNICATION_ERROR</A>
+</nobr><br>
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR</A>
+</nobr><br>
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_SERVER_ERROR" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_SERVER_ERROR</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.PhoneLookupColumns.html#android.provider.ContactsContract.PhoneLookupColumns.DATA_ID" class="hiddenlink" target="rightframe">DATA_ID</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.DECOR_CAPTION_SHADE_AUTO" class="hiddenlink" target="rightframe">DECOR_CAPTION_SHADE_AUTO</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.DECOR_CAPTION_SHADE_DARK" class="hiddenlink" target="rightframe">DECOR_CAPTION_SHADE_DARK</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.DECOR_CAPTION_SHADE_LIGHT" class="hiddenlink" target="rightframe">DECOR_CAPTION_SHADE_LIGHT</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.defaultHeight" class="hiddenlink" target="rightframe">defaultHeight</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.defaultToDeviceProtectedStorage" class="hiddenlink" target="rightframe">defaultToDeviceProtectedStorage</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.defaultWidth" class="hiddenlink" target="rightframe">defaultWidth</A>
+</nobr><br>
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_DEVICE_STABLE" class="hiddenlink" target="rightframe">DENSITY_DEVICE_STABLE</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.DEVICE_TYPE_BLUETOOTH" class="hiddenlink" target="rightframe">DEVICE_TYPE_BLUETOOTH</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.DEVICE_TYPE_SPEAKER" class="hiddenlink" target="rightframe">DEVICE_TYPE_SPEAKER</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.DEVICE_TYPE_TV" class="hiddenlink" target="rightframe">DEVICE_TYPE_TV</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.DEVICE_TYPE_UNKNOWN" class="hiddenlink" target="rightframe">DEVICE_TYPE_UNKNOWN</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.deviceProtectedDataDir" class="hiddenlink" target="rightframe">deviceProtectedDataDir</A>
+</nobr><br>
+<i>directBootAware</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.directBootAware" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ComponentInfo.html#android.content.pm.ComponentInfo.directBootAware" class="hiddenlink" target="rightframe">android.content.pm.ComponentInfo</A>
+</nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.DISALLOW_DATA_ROAMING" class="hiddenlink" target="rightframe">DISALLOW_DATA_ROAMING</A>
+</nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.DISALLOW_SET_USER_ICON" class="hiddenlink" target="rightframe">DISALLOW_SET_USER_ICON</A>
+</nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.DISALLOW_SET_WALLPAPER" class="hiddenlink" target="rightframe">DISALLOW_SET_WALLPAPER</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelFhd24" class="hiddenlink" target="rightframe">DolbyVisionLevelFhd24</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelFhd30" class="hiddenlink" target="rightframe">DolbyVisionLevelFhd30</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelFhd60" class="hiddenlink" target="rightframe">DolbyVisionLevelFhd60</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelHd24" class="hiddenlink" target="rightframe">DolbyVisionLevelHd24</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelHd30" class="hiddenlink" target="rightframe">DolbyVisionLevelHd30</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd24" class="hiddenlink" target="rightframe">DolbyVisionLevelUhd24</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd30" class="hiddenlink" target="rightframe">DolbyVisionLevelUhd30</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd48" class="hiddenlink" target="rightframe">DolbyVisionLevelUhd48</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd60" class="hiddenlink" target="rightframe">DolbyVisionLevelUhd60</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvavPen" class="hiddenlink" target="rightframe">DolbyVisionProfileDvavPen</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvavPer" class="hiddenlink" target="rightframe">DolbyVisionProfileDvavPer</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDen" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDen</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDer" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDer</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDtb" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDtb</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDth" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDth</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDtr" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDtr</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheStn" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheStn</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL_URI_READ" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL_URI_READ</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL_URI_WRITE" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL_URI_WRITE</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_OPAQUE" class="hiddenlink" target="rightframe">DRAG_FLAG_OPAQUE</A>
+</nobr><br>
+<nobr><A HREF="android.animation.Animator.html#android.animation.Animator.DURATION_INFINITE" class="hiddenlink" target="rightframe">DURATION_INFINITE</A>
+</nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.enableVrMode" class="hiddenlink" target="rightframe">enableVrMode</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioFormat.html#android.media.AudioFormat.ENCODING_IEC61937" class="hiddenlink" target="rightframe">ENCODING_IEC61937</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE_PER_USER" class="hiddenlink" target="rightframe">ENCRYPTION_STATUS_ACTIVE_PER_USER</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.endX" class="hiddenlink" target="rightframe">endX</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.endY" class="hiddenlink" target="rightframe">endY</A>
+</nobr><br>
+<i>ENTERPRISE_CONTENT_FILTER_URI</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Callable.html#android.provider.ContactsContract.CommonDataKinds.Callable.ENTERPRISE_CONTENT_FILTER_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Callable</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Email.html#android.provider.ContactsContract.CommonDataKinds.Email.ENTERPRISE_CONTENT_FILTER_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Email</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Phone.html#android.provider.ContactsContract.CommonDataKinds.Phone.ENTERPRISE_CONTENT_FILTER_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Phone</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.Contacts.html#android.provider.ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.Contacts</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.ENTERPRISE_CONTENT_URI" class="hiddenlink" target="rightframe">ENTERPRISE_CONTENT_URI</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.ENTERPRISE_DEFAULT" class="hiddenlink" target="rightframe">ENTERPRISE_DEFAULT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.ENTERPRISE_LOCAL_INVISIBLE" class="hiddenlink" target="rightframe">ENTERPRISE_LOCAL_INVISIBLE</A>
+</nobr><br>
+<i>ERROR_DEAD_OBJECT</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioRecord.html#android.media.AudioRecord.ERROR_DEAD_OBJECT" class="hiddenlink" target="rightframe">android.media.AudioRecord</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioTrack.html#android.media.AudioTrack.ERROR_DEAD_OBJECT" class="hiddenlink" target="rightframe">android.media.AudioTrack</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodec.CryptoException.html#android.media.MediaCodec.CryptoException.ERROR_UNSUPPORTED_OPERATION" class="hiddenlink" target="rightframe">ERROR_UNSUPPORTED_OPERATION</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.externalService" class="hiddenlink" target="rightframe">externalService</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.PhoneAccount.html#android.telecom.PhoneAccount.EXTRA_CALL_SUBJECT_CHARACTER_ENCODING" class="hiddenlink" target="rightframe">EXTRA_CALL_SUBJECT_CHARACTER_ENCODING</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.PhoneAccount.html#android.telecom.PhoneAccount.EXTRA_CALL_SUBJECT_MAX_LENGTH" class="hiddenlink" target="rightframe">EXTRA_CALL_SUBJECT_MAX_LENGTH</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.EXTRA_CAPTIVE_PORTAL_URL" class="hiddenlink" target="rightframe">EXTRA_CAPTIVE_PORTAL_URL</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHOOSER_TARGETS" class="hiddenlink" target="rightframe">EXTRA_CHOOSER_TARGETS</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_CHRONOMETER_COUNT_DOWN" class="hiddenlink" target="rightframe">EXTRA_CHRONOMETER_COUNT_DOWN</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_CONVERSATION_TITLE" class="hiddenlink" target="rightframe">EXTRA_CONVERSATION_TITLE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_EXCLUDE_COMPONENTS" class="hiddenlink" target="rightframe">EXTRA_EXCLUDE_COMPONENTS</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_INDEX" class="hiddenlink" target="rightframe">EXTRA_INDEX</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Telephony.Sms.Intents.html#android.provider.Telephony.Sms.Intents.EXTRA_IS_DEFAULT_SMS_APP" class="hiddenlink" target="rightframe">EXTRA_IS_DEFAULT_SMS_APP</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_MESSAGES" class="hiddenlink" target="rightframe">EXTRA_MESSAGES</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.EXTRA_NOTIFICATION_COUNT" class="hiddenlink" target="rightframe">EXTRA_NOTIFICATION_COUNT</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.EXTRA_NOTIFICATION_PHONE_NUMBER" class="hiddenlink" target="rightframe">EXTRA_NOTIFICATION_PHONE_NUMBER</A>
+</nobr><br>
+<nobr><A HREF="android.service.media.MediaBrowserService.BrowserRoot.html#android.service.media.MediaBrowserService.BrowserRoot.EXTRA_OFFLINE" class="hiddenlink" target="rightframe">EXTRA_OFFLINE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.EXTRA_ORIENTATION" class="hiddenlink" target="rightframe">EXTRA_ORIENTATION</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_PACKAGE_NAME" class="hiddenlink" target="rightframe">EXTRA_PACKAGE_NAME</A>
+</nobr><br>
+<nobr><A HREF="android.media.browse.MediaBrowser.html#android.media.browse.MediaBrowser.EXTRA_PAGE" class="hiddenlink" target="rightframe">EXTRA_PAGE</A>
+</nobr><br>
+<nobr><A HREF="android.media.browse.MediaBrowser.html#android.media.browse.MediaBrowser.EXTRA_PAGE_SIZE" class="hiddenlink" target="rightframe">EXTRA_PAGE_SIZE</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI" class="hiddenlink" target="rightframe">EXTRA_PROVISIONING_LOGO_URI</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR" class="hiddenlink" target="rightframe">EXTRA_PROVISIONING_MAIN_COLOR</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_QUIET_MODE" class="hiddenlink" target="rightframe">EXTRA_QUIET_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.service.media.MediaBrowserService.BrowserRoot.html#android.service.media.MediaBrowserService.BrowserRoot.EXTRA_RECENT" class="hiddenlink" target="rightframe">EXTRA_RECENT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.EXTRA_RECIPIENT_CONTACT_CHAT_ID" class="hiddenlink" target="rightframe">EXTRA_RECIPIENT_CONTACT_CHAT_ID</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.EXTRA_RECIPIENT_CONTACT_NAME" class="hiddenlink" target="rightframe">EXTRA_RECIPIENT_CONTACT_NAME</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.EXTRA_RECIPIENT_CONTACT_URI" class="hiddenlink" target="rightframe">EXTRA_RECIPIENT_CONTACT_URI</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_REMOTE_INPUT_HISTORY" class="hiddenlink" target="rightframe">EXTRA_REMOTE_INPUT_HISTORY</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_SELF_DISPLAY_NAME" class="hiddenlink" target="rightframe">EXTRA_SELF_DISPLAY_NAME</A>
+</nobr><br>
+<nobr><A HREF="android.service.media.MediaBrowserService.BrowserRoot.html#android.service.media.MediaBrowserService.BrowserRoot.EXTRA_SUGGESTED" class="hiddenlink" target="rightframe">EXTRA_SUGGESTED</A>
+</nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_ETHERNET" class="hiddenlink" target="rightframe">FEATURE_ETHERNET</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_FREEFORM_WINDOW_MANAGEMENT" class="hiddenlink" target="rightframe">FEATURE_FREEFORM_WINDOW_MANAGEMENT</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecCapabilities.html#android.media.MediaCodecInfo.CodecCapabilities.FEATURE_IntraRefresh" class="hiddenlink" target="rightframe">FEATURE_IntraRefresh</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_NFC_HOST_CARD_EMULATION_NFCF" class="hiddenlink" target="rightframe">FEATURE_NFC_HOST_CARD_EMULATION_NFCF</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_PICTURE_IN_PICTURE" class="hiddenlink" target="rightframe">FEATURE_PICTURE_IN_PICTURE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_VR_MODE" class="hiddenlink" target="rightframe">FEATURE_VR_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_VR_MODE_HIGH_PERFORMANCE" class="hiddenlink" target="rightframe">FEATURE_VR_MODE_HIGH_PERFORMANCE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_VULKAN_HARDWARE_LEVEL" class="hiddenlink" target="rightframe">FEATURE_VULKAN_HARDWARE_LEVEL</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_VULKAN_HARDWARE_VERSION" class="hiddenlink" target="rightframe">FEATURE_VULKAN_HARDWARE_VERSION</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.fillType" class="hiddenlink" target="rightframe">fillType</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT" class="hiddenlink" target="rightframe">FLAG_ACTIVITY_LAUNCH_ADJACENT</A>
+</nobr><br>
+<nobr><A HREF="android.app.UiAutomation.html#android.app.UiAutomation.FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES" class="hiddenlink" target="rightframe">FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.FLAG_ENABLE_VR_MODE" class="hiddenlink" target="rightframe">FLAG_ENABLE_VR_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ServiceInfo.html#android.content.pm.ServiceInfo.FLAG_EXTERNAL_SERVICE" class="hiddenlink" target="rightframe">FLAG_EXTERNAL_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.FLAG_LOCK" class="hiddenlink" target="rightframe">FLAG_LOCK</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioAttributes.html#android.media.AudioAttributes.FLAG_LOW_LATENCY" class="hiddenlink" target="rightframe">FLAG_LOW_LATENCY</A>
+</nobr><br>
+<nobr><A HREF="android.provider.DocumentsContract.Document.html#android.provider.DocumentsContract.Document.FLAG_SUPPORTS_COPY" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_COPY</A>
+</nobr><br>
+<nobr><A HREF="android.provider.DocumentsContract.Document.html#android.provider.DocumentsContract.Document.FLAG_SUPPORTS_MOVE" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_MOVE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.DocumentsContract.Document.html#android.provider.DocumentsContract.Document.FLAG_SUPPORTS_REMOVE" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_REMOVE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUSPENDED" class="hiddenlink" target="rightframe">FLAG_SUSPENDED</A>
+</nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.FLAG_SYSTEM" class="hiddenlink" target="rightframe">FLAG_SYSTEM</A>
+</nobr><br>
+<nobr><A HREF="android.provider.DocumentsContract.Document.html#android.provider.DocumentsContract.Document.FLAG_VIRTUAL_DOCUMENT" class="hiddenlink" target="rightframe">FLAG_VIRTUAL_DOCUMENT</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.forceHasOverlappingRendering" class="hiddenlink" target="rightframe">forceHasOverlappingRendering</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.FORMAT_DEFINED" class="hiddenlink" target="rightframe">FORMAT_DEFINED</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.FORMAT_DNG" class="hiddenlink" target="rightframe">FORMAT_DNG</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_MODE_COMPACT" class="hiddenlink" target="rightframe">FROM_HTML_MODE_COMPACT</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_MODE_LEGACY" class="hiddenlink" target="rightframe">FROM_HTML_MODE_LEGACY</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_OPTION_USE_CSS_COLORS" class="hiddenlink" target="rightframe">FROM_HTML_OPTION_USE_CSS_COLORS</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_DIV" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_DIV</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_HEADING" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_HEADING</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_LIST" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_LIST</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH</A>
+</nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.opengl.GLES31.html#android.opengl.GLES31.GL_ALL_BARRIER_BITS" class="hiddenlink" target="rightframe">GL_ALL_BARRIER_BITS</A>
+</nobr><br>
+<nobr><A HREF="android.opengl.GLES31.html#android.opengl.GLES31.GL_ELEMENT_ARRAY_BARRIER_BIT" class="hiddenlink" target="rightframe">GL_ELEMENT_ARRAY_BARRIER_BIT</A>
+</nobr><br>
+<nobr><A HREF="android.opengl.GLES31.html#android.opengl.GLES31.GL_SHADER_IMAGE_ACCESS_BARRIER_BIT" class="hiddenlink" target="rightframe">GL_SHADER_IMAGE_ACCESS_BARRIER_BIT</A>
+</nobr><br>
+<nobr><A HREF="android.opengl.GLES31.html#android.opengl.GLES31.GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT" class="hiddenlink" target="rightframe">GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT</A>
+</nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN" class="hiddenlink" target="rightframe">GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN</A>
+</nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.Context.html#android.content.Context.HARDWARE_PROPERTIES_SERVICE" class="hiddenlink" target="rightframe">HARDWARE_PROPERTIES_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.VideoEncoder.html#android.media.MediaRecorder.VideoEncoder.HEVC" class="hiddenlink" target="rightframe">HEVC</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.HEVCProfileMain10HDR10" class="hiddenlink" target="rightframe">HEVCProfileMain10HDR10</A>
+</nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.HINT_HOST_DISABLE_CALL_EFFECTS" class="hiddenlink" target="rightframe">HINT_HOST_DISABLE_CALL_EFFECTS</A>
+</nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.HINT_HOST_DISABLE_NOTIFICATION_EFFECTS" class="hiddenlink" target="rightframe">HINT_HOST_DISABLE_NOTIFICATION_EFFECTS</A>
+</nobr><br>
+<nobr><A HREF="android.view.inputmethod.EditorInfo.html#android.view.inputmethod.EditorInfo.hintLocales" class="hiddenlink" target="rightframe">hintLocales</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.hotSpotX" class="hiddenlink" target="rightframe">hotSpotX</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.hotSpotY" class="hiddenlink" target="rightframe">hotSpotY</A>
+</nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.id.html#android.R.id.icon_frame" class="hiddenlink" target="rightframe">icon_frame</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_DEFAULT" class="hiddenlink" target="rightframe">IMPORTANCE_DEFAULT</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_HIGH" class="hiddenlink" target="rightframe">IMPORTANCE_HIGH</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_LOW" class="hiddenlink" target="rightframe">IMPORTANCE_LOW</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_MAX" class="hiddenlink" target="rightframe">IMPORTANCE_MAX</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_MIN" class="hiddenlink" target="rightframe">IMPORTANCE_MIN</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_NONE" class="hiddenlink" target="rightframe">IMPORTANCE_NONE</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_UNSPECIFIED" class="hiddenlink" target="rightframe">IMPORTANCE_UNSPECIFIED</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.camera2.CameraMetadata.html#android.hardware.camera2.CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_3" class="hiddenlink" target="rightframe">INFO_SUPPORTED_HARDWARE_LEVEL_3</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.drawable.LayerDrawable.html#android.graphics.drawable.LayerDrawable.INSET_UNDEFINED" class="hiddenlink" target="rightframe">INSET_UNDEFINED</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">INVALID_SUBSCRIPTION_ID</A>
+</nobr><br>
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL" class="hiddenlink" target="rightframe">KEY_ALLOW_ADDING_APNS_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL" class="hiddenlink" target="rightframe">KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL" class="hiddenlink" target="rightframe">KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL" class="hiddenlink" target="rightframe">KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_IMS_GBA_REQUIRED_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_IMS_GBA_REQUIRED_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CDMA_DTMF_TONE_DELAY_INT" class="hiddenlink" target="rightframe">KEY_CDMA_DTMF_TONE_DELAY_INT</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_BOOL" class="hiddenlink" target="rightframe">KEY_CI_ACTION_ON_SYS_UPDATE_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING" class="hiddenlink" target="rightframe">KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING" class="hiddenlink" target="rightframe">KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING" class="hiddenlink" target="rightframe">KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_COLOR_RANGE" class="hiddenlink" target="rightframe">KEY_COLOR_RANGE</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_COLOR_STANDARD" class="hiddenlink" target="rightframe">KEY_COLOR_STANDARD</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_COLOR_TRANSFER" class="hiddenlink" target="rightframe">KEY_COLOR_TRANSFER</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT" class="hiddenlink" target="rightframe">KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_EDITABLE_ENHANCED_4G_LTE_BOOL" class="hiddenlink" target="rightframe">KEY_EDITABLE_ENHANCED_4G_LTE_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_GSM_DTMF_TONE_DELAY_INT" class="hiddenlink" target="rightframe">KEY_GSM_DTMF_TONE_DELAY_INT</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_HDR_STATIC_INFO" class="hiddenlink" target="rightframe">KEY_HDR_STATIC_INFO</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_HIDE_IMS_APN_BOOL" class="hiddenlink" target="rightframe">KEY_HIDE_IMS_APN_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL" class="hiddenlink" target="rightframe">KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_IMS_DTMF_TONE_DELAY_INT" class="hiddenlink" target="rightframe">KEY_IMS_DTMF_TONE_DELAY_INT</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_INTRA_REFRESH_PERIOD" class="hiddenlink" target="rightframe">KEY_INTRA_REFRESH_PERIOD</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_PCM_ENCODING" class="hiddenlink" target="rightframe">KEY_PCM_ENCODING</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL" class="hiddenlink" target="rightframe">KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL" class="hiddenlink" target="rightframe">KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_SUPPORT_CONFERENCE_CALL_BOOL" class="hiddenlink" target="rightframe">KEY_SUPPORT_CONFERENCE_CALL_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_TRACK_ID" class="hiddenlink" target="rightframe">KEY_TRACK_ID</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL" class="hiddenlink" target="rightframe">KEY_USE_RCS_PRESENCE_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL" class="hiddenlink" target="rightframe">KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_VVM_PREFETCH_BOOL" class="hiddenlink" target="rightframe">KEY_VVM_PREFETCH_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_COPY" class="hiddenlink" target="rightframe">KEYCODE_COPY</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_CUT" class="hiddenlink" target="rightframe">KEYCODE_CUT</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_DPAD_DOWN_LEFT" class="hiddenlink" target="rightframe">KEYCODE_DPAD_DOWN_LEFT</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_DPAD_DOWN_RIGHT" class="hiddenlink" target="rightframe">KEYCODE_DPAD_DOWN_RIGHT</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_DPAD_UP_LEFT" class="hiddenlink" target="rightframe">KEYCODE_DPAD_UP_LEFT</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_DPAD_UP_RIGHT" class="hiddenlink" target="rightframe">KEYCODE_DPAD_UP_RIGHT</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_PASTE" class="hiddenlink" target="rightframe">KEYCODE_PASTE</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_SOFT_SLEEP" class="hiddenlink" target="rightframe">KEYCODE_SOFT_SLEEP</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_STEM_1" class="hiddenlink" target="rightframe">KEYCODE_STEM_1</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_STEM_2" class="hiddenlink" target="rightframe">KEYCODE_STEM_2</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_STEM_3" class="hiddenlink" target="rightframe">KEYCODE_STEM_3</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_STEM_PRIMARY" class="hiddenlink" target="rightframe">KEYCODE_STEM_PRIMARY</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_REMOTE_INPUT" class="hiddenlink" target="rightframe">KEYGUARD_DISABLE_REMOTE_INPUT</A>
+</nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.languageTag" class="hiddenlink" target="rightframe">languageTag</A>
+</nobr><br>
+<i>LAST_MODIFIED</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.LAST_MODIFIED" class="hiddenlink" target="rightframe">android.provider.CallLog.Calls</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.VoicemailContract.Voicemails.html#android.provider.VoicemailContract.Voicemails.LAST_MODIFIED" class="hiddenlink" target="rightframe">android.provider.VoicemailContract.Voicemails</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.level" class="hiddenlink" target="rightframe">level</A>
+</nobr><br>
+<nobr><A HREF="android.R.id.html#android.R.id.list_container" class="hiddenlink" target="rightframe">list_container</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.listMenuViewStyle" class="hiddenlink" target="rightframe">listMenuViewStyle</A>
+</nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE" class="hiddenlink" target="rightframe">MATCH_DIRECT_BOOT_AWARE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE" class="hiddenlink" target="rightframe">MATCH_DIRECT_BOOT_UNAWARE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_DISABLED_COMPONENTS" class="hiddenlink" target="rightframe">MATCH_DISABLED_COMPONENTS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS" class="hiddenlink" target="rightframe">MATCH_DISABLED_UNTIL_USED_COMPONENTS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_SYSTEM_ONLY" class="hiddenlink" target="rightframe">MATCH_SYSTEM_ONLY</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_UNINSTALLED_PACKAGES" class="hiddenlink" target="rightframe">MATCH_UNINSTALLED_PACKAGES</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.maxButtonHeight" class="hiddenlink" target="rightframe">maxButtonHeight</A>
+</nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.MENU_ITEM_NONE" class="hiddenlink" target="rightframe">MENU_ITEM_NONE</A>
+</nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.MENU_ITEM_PROCESS_TEXT" class="hiddenlink" target="rightframe">MENU_ITEM_PROCESS_TEXT</A>
+</nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.MENU_ITEM_SHARE" class="hiddenlink" target="rightframe">MENU_ITEM_SHARE</A>
+</nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.MENU_ITEM_WEB_SEARCH" class="hiddenlink" target="rightframe">MENU_ITEM_WEB_SEARCH</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.METADATA_ACCOUNT_TYPE" class="hiddenlink" target="rightframe">METADATA_ACCOUNT_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.RawContactsColumns.html#android.provider.ContactsContract.RawContactsColumns.METADATA_DIRTY" class="hiddenlink" target="rightframe">METADATA_DIRTY</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.METADATA_IN_CALL_SERVICE_RINGING" class="hiddenlink" target="rightframe">METADATA_IN_CALL_SERVICE_RINGING</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.METADATA_MIMETYPE" class="hiddenlink" target="rightframe">METADATA_MIMETYPE</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.MIMETYPE_VIDEO_DOLBY_VISION" class="hiddenlink" target="rightframe">MIMETYPE_VIDEO_DOLBY_VISION</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.minSdkVersion" class="hiddenlink" target="rightframe">minSdkVersion</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.MODE_NO_LOCALIZED_COLLATORS" class="hiddenlink" target="rightframe">MODE_NO_LOCALIZED_COLLATORS</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG2LevelHP" class="hiddenlink" target="rightframe">MPEG2LevelHP</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level3b" class="hiddenlink" target="rightframe">MPEG4Level3b</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level6" class="hiddenlink" target="rightframe">MPEG4Level6</A>
+</nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.N" class="hiddenlink" target="rightframe">N</A>
+</nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.NETWORK_TYPE_NOT_ROAMING" class="hiddenlink" target="rightframe">NETWORK_TYPE_NOT_ROAMING</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.networkSecurityConfig" class="hiddenlink" target="rightframe">networkSecurityConfig</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS" class="hiddenlink" target="rightframe">NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.NOTIFY_SYNC_TO_NETWORK" class="hiddenlink" target="rightframe">NOTIFY_SYNC_TO_NETWORK</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.numberPickerStyle" class="hiddenlink" target="rightframe">numberPickerStyle</A>
+</nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.offset" class="hiddenlink" target="rightframe">offset</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_CLOSE_SESSION" class="hiddenlink" target="rightframe">OPERATION_CLOSE_SESSION</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_COPY_OBJECT" class="hiddenlink" target="rightframe">OPERATION_COPY_OBJECT</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_DELETE_OBJECT" class="hiddenlink" target="rightframe">OPERATION_DELETE_OBJECT</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_FORMAT_STORE" class="hiddenlink" target="rightframe">OPERATION_FORMAT_STORE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_DEVICE_INFO" class="hiddenlink" target="rightframe">OPERATION_GET_DEVICE_INFO</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_DEVICE_PROP_DESC" class="hiddenlink" target="rightframe">OPERATION_GET_DEVICE_PROP_DESC</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_DEVICE_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_GET_DEVICE_PROP_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_NUM_OBJECTS" class="hiddenlink" target="rightframe">OPERATION_GET_NUM_OBJECTS</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_HANDLES" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_HANDLES</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_INFO" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_INFO</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_PROP_DESC" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_PROP_DESC</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_PROP_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_PROPS_SUPPORTED" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_PROPS_SUPPORTED</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_REFERENCES" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_REFERENCES</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_PARTIAL_OBJECT" class="hiddenlink" target="rightframe">OPERATION_GET_PARTIAL_OBJECT</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_PARTIAL_OBJECT_64" class="hiddenlink" target="rightframe">OPERATION_GET_PARTIAL_OBJECT_64</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_STORAGE_I_DS" class="hiddenlink" target="rightframe">OPERATION_GET_STORAGE_I_DS</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_STORAGE_INFO" class="hiddenlink" target="rightframe">OPERATION_GET_STORAGE_INFO</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_THUMB" class="hiddenlink" target="rightframe">OPERATION_GET_THUMB</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_INITIATE_CAPTURE" class="hiddenlink" target="rightframe">OPERATION_INITIATE_CAPTURE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_INITIATE_OPEN_CAPTURE" class="hiddenlink" target="rightframe">OPERATION_INITIATE_OPEN_CAPTURE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_MOVE_OBJECT" class="hiddenlink" target="rightframe">OPERATION_MOVE_OBJECT</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_OPEN_SESSION" class="hiddenlink" target="rightframe">OPERATION_OPEN_SESSION</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_POWER_DOWN" class="hiddenlink" target="rightframe">OPERATION_POWER_DOWN</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_RESET_DEVICE" class="hiddenlink" target="rightframe">OPERATION_RESET_DEVICE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_RESET_DEVICE_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_RESET_DEVICE_PROP_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SELF_TEST" class="hiddenlink" target="rightframe">OPERATION_SELF_TEST</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SEND_OBJECT" class="hiddenlink" target="rightframe">OPERATION_SEND_OBJECT</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SEND_OBJECT_INFO" class="hiddenlink" target="rightframe">OPERATION_SEND_OBJECT_INFO</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SET_DEVICE_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_SET_DEVICE_PROP_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SET_OBJECT_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_SET_OBJECT_PROP_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SET_OBJECT_PROTECTION" class="hiddenlink" target="rightframe">OPERATION_SET_OBJECT_PROTECTION</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SET_OBJECT_REFERENCES" class="hiddenlink" target="rightframe">OPERATION_SET_OBJECT_REFERENCES</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SKIP" class="hiddenlink" target="rightframe">OPERATION_SKIP</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_TERMINATE_OPEN_CAPTURE" class="hiddenlink" target="rightframe">OPERATION_TERMINATE_OPEN_CAPTURE</A>
+</nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>PHONETIC_NAME_STYLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Organization.html#android.provider.ContactsContract.CommonDataKinds.Organization.PHONETIC_NAME_STYLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Organization</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.StructuredName.html#android.provider.ContactsContract.CommonDataKinds.StructuredName.PHONETIC_NAME_STYLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.StructuredName</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.pointerIcon" class="hiddenlink" target="rightframe">pointerIcon</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.popupEnterTransition" class="hiddenlink" target="rightframe">popupEnterTransition</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.popupExitTransition" class="hiddenlink" target="rightframe">popupExitTransition</A>
+</nobr><br>
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.POST_DIAL_DIGITS" class="hiddenlink" target="rightframe">POST_DIAL_DIGITS</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.preferenceFragmentStyle" class="hiddenlink" target="rightframe">preferenceFragmentStyle</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.Call.Details.html#android.telecom.Call.Details.PROPERTY_ENTERPRISE_CALL" class="hiddenlink" target="rightframe">PROPERTY_ENTERPRISE_CALL</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED" class="hiddenlink" target="rightframe">PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PermissionInfo.html#android.content.pm.PermissionInfo.PROTECTION_FLAG_SETUP" class="hiddenlink" target="rightframe">PROTECTION_FLAG_SETUP</A>
+</nobr><br>
+<A NAME="Q"></A>
+<br><font size="+2">Q</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.QUOTA_OCCUPIED" class="hiddenlink" target="rightframe">QUOTA_OCCUPIED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.QUOTA_TOTAL" class="hiddenlink" target="rightframe">QUOTA_TOTAL</A>
+</nobr><br>
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.QUOTA_UNAVAILABLE" class="hiddenlink" target="rightframe">QUOTA_UNAVAILABLE</A>
+</nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.graphics.ImageFormat.html#android.graphics.ImageFormat.RAW_PRIVATE" class="hiddenlink" target="rightframe">RAW_PRIVATE</A>
+</nobr><br>
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_DEFAULT" class="hiddenlink" target="rightframe">RECEIVE_OPTIONS_DEFAULT</A>
+</nobr><br>
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_DROP" class="hiddenlink" target="rightframe">RECEIVE_OPTIONS_DROP</A>
+</nobr><br>
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE" class="hiddenlink" target="rightframe">RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.RECORDING_ERROR_INSUFFICIENT_SPACE" class="hiddenlink" target="rightframe">RECORDING_ERROR_INSUFFICIENT_SPACE</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.RECORDING_ERROR_RESOURCE_BUSY" class="hiddenlink" target="rightframe">RECORDING_ERROR_RESOURCE_BUSY</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.RECORDING_ERROR_UNKNOWN" class="hiddenlink" target="rightframe">RECORDING_ERROR_UNKNOWN</A>
+</nobr><br>
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.REJECTED_TYPE" class="hiddenlink" target="rightframe">REJECTED_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.resizeableActivity" class="hiddenlink" target="rightframe">resizeableActivity</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_DISABLED" class="hiddenlink" target="rightframe">RESTRICT_BACKGROUND_STATUS_DISABLED</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_ENABLED" class="hiddenlink" target="rightframe">RESTRICT_BACKGROUND_STATUS_ENABLED</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_WHITELISTED" class="hiddenlink" target="rightframe">RESTRICT_BACKGROUND_STATUS_WHITELISTED</A>
+</nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.ROAMING_ALL" class="hiddenlink" target="rightframe">ROAMING_ALL</A>
+</nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.ROAMING_NO" class="hiddenlink" target="rightframe">ROAMING_NO</A>
+</nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.ROAMING_YES" class="hiddenlink" target="rightframe">ROAMING_YES</A>
+</nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.AudioFormat.html#android.media.AudioFormat.SAMPLE_RATE_UNSPECIFIED" class="hiddenlink" target="rightframe">SAMPLE_RATE_UNSPECIFIED</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.camera2.CaptureResult.html#android.hardware.camera2.CaptureResult.SENSOR_DYNAMIC_BLACK_LEVEL" class="hiddenlink" target="rightframe">SENSOR_DYNAMIC_BLACK_LEVEL</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.camera2.CaptureResult.html#android.hardware.camera2.CaptureResult.SENSOR_DYNAMIC_WHITE_LEVEL" class="hiddenlink" target="rightframe">SENSOR_DYNAMIC_WHITE_LEVEL</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.camera2.CameraCharacteristics.html#android.hardware.camera2.CameraCharacteristics.SENSOR_OPTICAL_BLACK_REGIONS" class="hiddenlink" target="rightframe">SENSOR_OPTICAL_BLACK_REGIONS</A>
+</nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.SHOW_MODE_AUTO" class="hiddenlink" target="rightframe">SHOW_MODE_AUTO</A>
+</nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.SHOW_MODE_HIDDEN" class="hiddenlink" target="rightframe">SHOW_MODE_HIDDEN</A>
+</nobr><br>
+<nobr><A HREF="android.service.voice.VoiceInteractionSession.html#android.service.voice.VoiceInteractionSession.SHOW_SOURCE_ACTIVITY" class="hiddenlink" target="rightframe">SHOW_SOURCE_ACTIVITY</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.SKIP_SETUP_WIZARD" class="hiddenlink" target="rightframe">SKIP_SETUP_WIZARD</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.startX" class="hiddenlink" target="rightframe">startX</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.startY" class="hiddenlink" target="rightframe">startY</A>
+</nobr><br>
+<nobr><A HREF="android.app.Service.html#android.app.Service.STOP_FOREGROUND_DETACH" class="hiddenlink" target="rightframe">STOP_FOREGROUND_DETACH</A>
+</nobr><br>
+<nobr><A HREF="android.app.Service.html#android.app.Service.STOP_FOREGROUND_REMOVE" class="hiddenlink" target="rightframe">STOP_FOREGROUND_REMOVE</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.STRING_TYPE_HEART_BEAT" class="hiddenlink" target="rightframe">STRING_TYPE_HEART_BEAT</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.STRING_TYPE_MOTION_DETECT" class="hiddenlink" target="rightframe">STRING_TYPE_MOTION_DETECT</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.STRING_TYPE_POSE_6DOF" class="hiddenlink" target="rightframe">STRING_TYPE_POSE_6DOF</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.STRING_TYPE_STATIONARY_DETECT" class="hiddenlink" target="rightframe">STRING_TYPE_STATIONARY_DETECT</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.subMenuArrow" class="hiddenlink" target="rightframe">subMenuArrow</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.supportsLocalInteraction" class="hiddenlink" target="rightframe">supportsLocalInteraction</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.supportsPictureInPicture" class="hiddenlink" target="rightframe">supportsPictureInPicture</A>
+</nobr><br>
+<i>SUPPRESSED_EFFECT_SCREEN_OFF</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_OFF" class="hiddenlink" target="rightframe">android.app.NotificationManager.Policy</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.SUPPRESSED_EFFECT_SCREEN_OFF" class="hiddenlink" target="rightframe">android.service.notification.NotificationListenerService</A>
+</nobr><br>
+<i>SUPPRESSED_EFFECT_SCREEN_ON</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON" class="hiddenlink" target="rightframe">android.app.NotificationManager.Policy</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.SUPPRESSED_EFFECT_SCREEN_ON" class="hiddenlink" target="rightframe">android.service.notification.NotificationListenerService</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.suppressedVisualEffects" class="hiddenlink" target="rightframe">suppressedVisualEffects</A>
+</nobr><br>
+<nobr><A HREF="android.R.id.html#android.R.id.switch_widget" class="hiddenlink" target="rightframe">switch_widget</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_EXTRAS_REQUIRE_CHARGING" class="hiddenlink" target="rightframe">SYNC_EXTRAS_REQUIRE_CHARGING</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.SYSTEM_HEALTH_SERVICE" class="hiddenlink" target="rightframe">SYSTEM_HEALTH_SERVICE</A>
+</nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_APERTURE_VALUE" class="hiddenlink" target="rightframe">TAG_APERTURE_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_ARTIST" class="hiddenlink" target="rightframe">TAG_ARTIST</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_BITS_PER_SAMPLE" class="hiddenlink" target="rightframe">TAG_BITS_PER_SAMPLE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_BRIGHTNESS_VALUE" class="hiddenlink" target="rightframe">TAG_BRIGHTNESS_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_CFA_PATTERN" class="hiddenlink" target="rightframe">TAG_CFA_PATTERN</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COLOR_SPACE" class="hiddenlink" target="rightframe">TAG_COLOR_SPACE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COMPONENTS_CONFIGURATION" class="hiddenlink" target="rightframe">TAG_COMPONENTS_CONFIGURATION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COMPRESSED_BITS_PER_PIXEL" class="hiddenlink" target="rightframe">TAG_COMPRESSED_BITS_PER_PIXEL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COMPRESSION" class="hiddenlink" target="rightframe">TAG_COMPRESSION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_CONTRAST" class="hiddenlink" target="rightframe">TAG_CONTRAST</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COPYRIGHT" class="hiddenlink" target="rightframe">TAG_COPYRIGHT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_CUSTOM_RENDERED" class="hiddenlink" target="rightframe">TAG_CUSTOM_RENDERED</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_DATETIME_ORIGINAL" class="hiddenlink" target="rightframe">TAG_DATETIME_ORIGINAL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_DEVICE_SETTING_DESCRIPTION" class="hiddenlink" target="rightframe">TAG_DEVICE_SETTING_DESCRIPTION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_DIGITAL_ZOOM_RATIO" class="hiddenlink" target="rightframe">TAG_DIGITAL_ZOOM_RATIO</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXIF_VERSION" class="hiddenlink" target="rightframe">TAG_EXIF_VERSION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXPOSURE_BIAS_VALUE" class="hiddenlink" target="rightframe">TAG_EXPOSURE_BIAS_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXPOSURE_INDEX" class="hiddenlink" target="rightframe">TAG_EXPOSURE_INDEX</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXPOSURE_MODE" class="hiddenlink" target="rightframe">TAG_EXPOSURE_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXPOSURE_PROGRAM" class="hiddenlink" target="rightframe">TAG_EXPOSURE_PROGRAM</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_F_NUMBER" class="hiddenlink" target="rightframe">TAG_F_NUMBER</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FILE_SOURCE" class="hiddenlink" target="rightframe">TAG_FILE_SOURCE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FLASH_ENERGY" class="hiddenlink" target="rightframe">TAG_FLASH_ENERGY</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FLASHPIX_VERSION" class="hiddenlink" target="rightframe">TAG_FLASHPIX_VERSION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_LENGTH_IN_35MM_FILM" class="hiddenlink" target="rightframe">TAG_FOCAL_LENGTH_IN_35MM_FILM</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_PLANE_RESOLUTION_UNIT" class="hiddenlink" target="rightframe">TAG_FOCAL_PLANE_RESOLUTION_UNIT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_PLANE_X_RESOLUTION" class="hiddenlink" target="rightframe">TAG_FOCAL_PLANE_X_RESOLUTION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_PLANE_Y_RESOLUTION" class="hiddenlink" target="rightframe">TAG_FOCAL_PLANE_Y_RESOLUTION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GAIN_CONTROL" class="hiddenlink" target="rightframe">TAG_GAIN_CONTROL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_AREA_INFORMATION" class="hiddenlink" target="rightframe">TAG_GPS_AREA_INFORMATION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_BEARING" class="hiddenlink" target="rightframe">TAG_GPS_DEST_BEARING</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_BEARING_REF" class="hiddenlink" target="rightframe">TAG_GPS_DEST_BEARING_REF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_DISTANCE" class="hiddenlink" target="rightframe">TAG_GPS_DEST_DISTANCE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_DISTANCE_REF" class="hiddenlink" target="rightframe">TAG_GPS_DEST_DISTANCE_REF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_LATITUDE" class="hiddenlink" target="rightframe">TAG_GPS_DEST_LATITUDE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_LATITUDE_REF" class="hiddenlink" target="rightframe">TAG_GPS_DEST_LATITUDE_REF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_LONGITUDE" class="hiddenlink" target="rightframe">TAG_GPS_DEST_LONGITUDE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_LONGITUDE_REF" class="hiddenlink" target="rightframe">TAG_GPS_DEST_LONGITUDE_REF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DIFFERENTIAL" class="hiddenlink" target="rightframe">TAG_GPS_DIFFERENTIAL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DOP" class="hiddenlink" target="rightframe">TAG_GPS_DOP</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_IMG_DIRECTION" class="hiddenlink" target="rightframe">TAG_GPS_IMG_DIRECTION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_IMG_DIRECTION_REF" class="hiddenlink" target="rightframe">TAG_GPS_IMG_DIRECTION_REF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_MAP_DATUM" class="hiddenlink" target="rightframe">TAG_GPS_MAP_DATUM</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_MEASURE_MODE" class="hiddenlink" target="rightframe">TAG_GPS_MEASURE_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_SATELLITES" class="hiddenlink" target="rightframe">TAG_GPS_SATELLITES</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_SPEED" class="hiddenlink" target="rightframe">TAG_GPS_SPEED</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_SPEED_REF" class="hiddenlink" target="rightframe">TAG_GPS_SPEED_REF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_STATUS" class="hiddenlink" target="rightframe">TAG_GPS_STATUS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_TRACK" class="hiddenlink" target="rightframe">TAG_GPS_TRACK</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_TRACK_REF" class="hiddenlink" target="rightframe">TAG_GPS_TRACK_REF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_VERSION_ID" class="hiddenlink" target="rightframe">TAG_GPS_VERSION_ID</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_IMAGE_DESCRIPTION" class="hiddenlink" target="rightframe">TAG_IMAGE_DESCRIPTION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_IMAGE_UNIQUE_ID" class="hiddenlink" target="rightframe">TAG_IMAGE_UNIQUE_ID</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_INTEROPERABILITY_INDEX" class="hiddenlink" target="rightframe">TAG_INTEROPERABILITY_INDEX</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_ISO_SPEED_RATINGS" class="hiddenlink" target="rightframe">TAG_ISO_SPEED_RATINGS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_JPEG_INTERCHANGE_FORMAT" class="hiddenlink" target="rightframe">TAG_JPEG_INTERCHANGE_FORMAT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_JPEG_INTERCHANGE_FORMAT_LENGTH" class="hiddenlink" target="rightframe">TAG_JPEG_INTERCHANGE_FORMAT_LENGTH</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_LIGHT_SOURCE" class="hiddenlink" target="rightframe">TAG_LIGHT_SOURCE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_MAKER_NOTE" class="hiddenlink" target="rightframe">TAG_MAKER_NOTE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_MAX_APERTURE_VALUE" class="hiddenlink" target="rightframe">TAG_MAX_APERTURE_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_METERING_MODE" class="hiddenlink" target="rightframe">TAG_METERING_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.TAG_NONE" class="hiddenlink" target="rightframe">TAG_NONE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_OECF" class="hiddenlink" target="rightframe">TAG_OECF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PHOTOMETRIC_INTERPRETATION" class="hiddenlink" target="rightframe">TAG_PHOTOMETRIC_INTERPRETATION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PIXEL_X_DIMENSION" class="hiddenlink" target="rightframe">TAG_PIXEL_X_DIMENSION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PIXEL_Y_DIMENSION" class="hiddenlink" target="rightframe">TAG_PIXEL_Y_DIMENSION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PLANAR_CONFIGURATION" class="hiddenlink" target="rightframe">TAG_PLANAR_CONFIGURATION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PRIMARY_CHROMATICITIES" class="hiddenlink" target="rightframe">TAG_PRIMARY_CHROMATICITIES</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_REFERENCE_BLACK_WHITE" class="hiddenlink" target="rightframe">TAG_REFERENCE_BLACK_WHITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_RELATED_SOUND_FILE" class="hiddenlink" target="rightframe">TAG_RELATED_SOUND_FILE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_RESOLUTION_UNIT" class="hiddenlink" target="rightframe">TAG_RESOLUTION_UNIT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_ROWS_PER_STRIP" class="hiddenlink" target="rightframe">TAG_ROWS_PER_STRIP</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SAMPLES_PER_PIXEL" class="hiddenlink" target="rightframe">TAG_SAMPLES_PER_PIXEL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SATURATION" class="hiddenlink" target="rightframe">TAG_SATURATION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SCENE_CAPTURE_TYPE" class="hiddenlink" target="rightframe">TAG_SCENE_CAPTURE_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SCENE_TYPE" class="hiddenlink" target="rightframe">TAG_SCENE_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SENSING_METHOD" class="hiddenlink" target="rightframe">TAG_SENSING_METHOD</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SHARPNESS" class="hiddenlink" target="rightframe">TAG_SHARPNESS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SHUTTER_SPEED_VALUE" class="hiddenlink" target="rightframe">TAG_SHUTTER_SPEED_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SOFTWARE" class="hiddenlink" target="rightframe">TAG_SOFTWARE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SPATIAL_FREQUENCY_RESPONSE" class="hiddenlink" target="rightframe">TAG_SPATIAL_FREQUENCY_RESPONSE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SPECTRAL_SENSITIVITY" class="hiddenlink" target="rightframe">TAG_SPECTRAL_SENSITIVITY</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_STRIP_BYTE_COUNTS" class="hiddenlink" target="rightframe">TAG_STRIP_BYTE_COUNTS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_STRIP_OFFSETS" class="hiddenlink" target="rightframe">TAG_STRIP_OFFSETS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBJECT_AREA" class="hiddenlink" target="rightframe">TAG_SUBJECT_AREA</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBJECT_DISTANCE" class="hiddenlink" target="rightframe">TAG_SUBJECT_DISTANCE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBJECT_DISTANCE_RANGE" class="hiddenlink" target="rightframe">TAG_SUBJECT_DISTANCE_RANGE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBJECT_LOCATION" class="hiddenlink" target="rightframe">TAG_SUBJECT_LOCATION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBSEC_TIME_DIGITIZED" class="hiddenlink" target="rightframe">TAG_SUBSEC_TIME_DIGITIZED</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBSEC_TIME_ORIGINAL" class="hiddenlink" target="rightframe">TAG_SUBSEC_TIME_ORIGINAL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_THUMBNAIL_IMAGE_LENGTH" class="hiddenlink" target="rightframe">TAG_THUMBNAIL_IMAGE_LENGTH</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_THUMBNAIL_IMAGE_WIDTH" class="hiddenlink" target="rightframe">TAG_THUMBNAIL_IMAGE_WIDTH</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_TRANSFER_FUNCTION" class="hiddenlink" target="rightframe">TAG_TRANSFER_FUNCTION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_USER_COMMENT" class="hiddenlink" target="rightframe">TAG_USER_COMMENT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_WHITE_POINT" class="hiddenlink" target="rightframe">TAG_WHITE_POINT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_X_RESOLUTION" class="hiddenlink" target="rightframe">TAG_X_RESOLUTION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_Y_CB_CR_COEFFICIENTS" class="hiddenlink" target="rightframe">TAG_Y_CB_CR_COEFFICIENTS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_Y_CB_CR_POSITIONING" class="hiddenlink" target="rightframe">TAG_Y_CB_CR_POSITIONING</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_Y_CB_CR_SUB_SAMPLING" class="hiddenlink" target="rightframe">TAG_Y_CB_CR_SUB_SAMPLING</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_Y_RESOLUTION" class="hiddenlink" target="rightframe">TAG_Y_RESOLUTION</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Material_Widget_Button_Borderless_Colored" class="hiddenlink" target="rightframe">TextAppearance_Material_Widget_Button_Borderless_Colored</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Material_Widget_Button_Colored" class="hiddenlink" target="rightframe">TextAppearance_Material_Widget_Button_Colored</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAppearancePopupMenuHeader" class="hiddenlink" target="rightframe">textAppearancePopupMenuHeader</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_Material_Light_DialogWhenLarge_DarkActionBar" class="hiddenlink" target="rightframe">Theme_Material_Light_DialogWhenLarge_DarkActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMark" class="hiddenlink" target="rightframe">tickMark</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMarkTint" class="hiddenlink" target="rightframe">tickMarkTint</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMarkTintMode" class="hiddenlink" target="rightframe">tickMarkTintMode</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioTimestamp.html#android.media.AudioTimestamp.TIMEBASE_BOOTTIME" class="hiddenlink" target="rightframe">TIMEBASE_BOOTTIME</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioTimestamp.html#android.media.AudioTimestamp.TIMEBASE_MONOTONIC" class="hiddenlink" target="rightframe">TIMEBASE_MONOTONIC</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMargin" class="hiddenlink" target="rightframe">titleMargin</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginBottom" class="hiddenlink" target="rightframe">titleMarginBottom</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginEnd" class="hiddenlink" target="rightframe">titleMarginEnd</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginStart" class="hiddenlink" target="rightframe">titleMarginStart</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginTop" class="hiddenlink" target="rightframe">titleMarginTop</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.TO_HTML_PARAGRAPH_LINES_CONSECUTIVE" class="hiddenlink" target="rightframe">TO_HTML_PARAGRAPH_LINES_CONSECUTIVE</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.TO_HTML_PARAGRAPH_LINES_INDIVIDUAL" class="hiddenlink" target="rightframe">TO_HTML_PARAGRAPH_LINES_INDIVIDUAL</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tunerCount" class="hiddenlink" target="rightframe">tunerCount</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioDeviceInfo.html#android.media.AudioDeviceInfo.TYPE_BUS" class="hiddenlink" target="rightframe">TYPE_BUS</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_DEVICE_PRIVATE_BASE" class="hiddenlink" target="rightframe">TYPE_DEVICE_PRIVATE_BASE</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_HEART_BEAT" class="hiddenlink" target="rightframe">TYPE_HEART_BEAT</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_MOTION_DETECT" class="hiddenlink" target="rightframe">TYPE_MOTION_DETECT</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_POSE_6DOF" class="hiddenlink" target="rightframe">TYPE_POSE_6DOF</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityWindowInfo.html#android.view.accessibility.AccessibilityWindowInfo.TYPE_SPLIT_SCREEN_DIVIDER" class="hiddenlink" target="rightframe">TYPE_SPLIT_SCREEN_DIVIDER</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_STATIONARY_DETECT" class="hiddenlink" target="rightframe">TYPE_STATIONARY_DETECT</A>
+</nobr><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.net.wifi.WifiEnterpriseConfig.Eap.html#android.net.wifi.WifiEnterpriseConfig.Eap.UNAUTH_TLS" class="hiddenlink" target="rightframe">UNAUTH_TLS</A>
+</nobr><br>
+<nobr><A HREF="java.util.regex.Pattern.html#java.util.regex.Pattern.UNICODE_CHARACTER_CLASS" class="hiddenlink" target="rightframe">UNICODE_CHARACTER_CLASS</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.AudioSource.html#android.media.MediaRecorder.AudioSource.UNPROCESSED" class="hiddenlink" target="rightframe">UNPROCESSED</A>
+</nobr><br>
+<nobr><A HREF="android.widget.FrameLayout.LayoutParams.html#android.widget.FrameLayout.LayoutParams.UNSPECIFIED_GRAVITY" class="hiddenlink" target="rightframe">UNSPECIFIED_GRAVITY</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.use32bitAbi" class="hiddenlink" target="rightframe">use32bitAbi</A>
+</nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.USER_CREATION_FAILED_NO_MORE_USERS" class="hiddenlink" target="rightframe">USER_CREATION_FAILED_NO_MORE_USERS</A>
+</nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.USER_CREATION_FAILED_NOT_PERMITTED" class="hiddenlink" target="rightframe">USER_CREATION_FAILED_NOT_PERMITTED</A>
+</nobr><br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>version</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.version" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.FeatureInfo.html#android.content.pm.FeatureInfo.version" class="hiddenlink" target="rightframe">android.content.pm.FeatureInfo</A>
+</nobr><br>
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.VIA_NUMBER" class="hiddenlink" target="rightframe">VIA_NUMBER</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level1" class="hiddenlink" target="rightframe">VP9Level1</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level11" class="hiddenlink" target="rightframe">VP9Level11</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level2" class="hiddenlink" target="rightframe">VP9Level2</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level21" class="hiddenlink" target="rightframe">VP9Level21</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level3" class="hiddenlink" target="rightframe">VP9Level3</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level31" class="hiddenlink" target="rightframe">VP9Level31</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level4" class="hiddenlink" target="rightframe">VP9Level4</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level41" class="hiddenlink" target="rightframe">VP9Level41</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level5" class="hiddenlink" target="rightframe">VP9Level5</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level51" class="hiddenlink" target="rightframe">VP9Level51</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level52" class="hiddenlink" target="rightframe">VP9Level52</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level6" class="hiddenlink" target="rightframe">VP9Level6</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level61" class="hiddenlink" target="rightframe">VP9Level61</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level62" class="hiddenlink" target="rightframe">VP9Level62</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile0" class="hiddenlink" target="rightframe">VP9Profile0</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile1" class="hiddenlink" target="rightframe">VP9Profile1</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile2" class="hiddenlink" target="rightframe">VP9Profile2</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile2HDR" class="hiddenlink" target="rightframe">VP9Profile2HDR</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile3" class="hiddenlink" target="rightframe">VP9Profile3</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile3HDR" class="hiddenlink" target="rightframe">VP9Profile3HDR</A>
+</nobr><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_CompoundButton_Switch" class="hiddenlink" target="rightframe">Widget_Material_CompoundButton_Switch</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_Light_CompoundButton_Switch" class="hiddenlink" target="rightframe">Widget_Material_Light_CompoundButton_Switch</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_Light_NumberPicker" class="hiddenlink" target="rightframe">Widget_Material_Light_NumberPicker</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_NumberPicker" class="hiddenlink" target="rightframe">Widget_Material_NumberPicker</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_SeekBar_Discrete" class="hiddenlink" target="rightframe">Widget_Material_SeekBar_Discrete</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.windowBackgroundFallback" class="hiddenlink" target="rightframe">windowBackgroundFallback</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.windowLayout" class="hiddenlink" target="rightframe">windowLayout</A>
+</nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/fields_index_all.html b/docs/html/sdk/api_diff/24/changes/fields_index_all.html
new file mode 100644
index 0000000..7ace9e0
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/fields_index_all.html
@@ -0,0 +1,1903 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Field Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Fields" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Fields</b>
+  <br>
+<A HREF="fields_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="fields_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="fields_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.id.html#android.R.id.accessibilityActionSetProgress" class="hiddenlink" target="rightframe">accessibilityActionSetProgress</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_APPLICATION_PREFERENCES" class="hiddenlink" target="rightframe">ACTION_APPLICATION_PREFERENCES</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.ACTION_ARGUMENT_PROGRESS_VALUE" class="hiddenlink" target="rightframe">ACTION_ARGUMENT_PROGRESS_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Telephony.Sms.Intents.html#android.provider.Telephony.Sms.Intents.ACTION_DEFAULT_SMS_PACKAGE_CHANGED" class="hiddenlink" target="rightframe">ACTION_DEFAULT_SMS_PACKAGE_CHANGED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Telephony.Sms.Intents.html#android.provider.Telephony.Sms.Intents.ACTION_EXTERNAL_PROVIDER_CHANGE" class="hiddenlink" target="rightframe">ACTION_EXTERNAL_PROVIDER_CHANGE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_HARD_KEYBOARD_SETTINGS" class="hiddenlink" target="rightframe">ACTION_HARD_KEYBOARD_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS" class="hiddenlink" target="rightframe">ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_LOCKED_BOOT_COMPLETED" class="hiddenlink" target="rightframe">ACTION_LOCKED_BOOT_COMPLETED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS" class="hiddenlink" target="rightframe">ACTION_MANAGE_DEFAULT_APPS_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_MANAGED_PROFILE_AVAILABLE" class="hiddenlink" target="rightframe">ACTION_MANAGED_PROFILE_AVAILABLE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE" class="hiddenlink" target="rightframe">ACTION_MANAGED_PROFILE_UNAVAILABLE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_MANAGED_PROFILE_UNLOCKED" class="hiddenlink" target="rightframe">ACTION_MANAGED_PROFILE_UNLOCKED</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.ACTION_NEW_PICTURE" class="hiddenlink" target="rightframe">ACTION_NEW_PICTURE</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.ACTION_NEW_VIDEO" class="hiddenlink" target="rightframe">ACTION_NEW_VIDEO</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGES_SUSPENDED" class="hiddenlink" target="rightframe">ACTION_PACKAGES_SUSPENDED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGES_UNSUSPENDED" class="hiddenlink" target="rightframe">ACTION_PACKAGES_UNSUSPENDED</A>
+</nobr><br>
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.ACTION_PREPARE" class="hiddenlink" target="rightframe">ACTION_PREPARE</A>
+</nobr><br>
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.ACTION_PREPARE_FROM_MEDIA_ID" class="hiddenlink" target="rightframe">ACTION_PREPARE_FROM_MEDIA_ID</A>
+</nobr><br>
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.ACTION_PREPARE_FROM_SEARCH" class="hiddenlink" target="rightframe">ACTION_PREPARE_FROM_SEARCH</A>
+</nobr><br>
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.ACTION_PREPARE_FROM_URI" class="hiddenlink" target="rightframe">ACTION_PREPARE_FROM_URI</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_QUICK_VIEW" class="hiddenlink" target="rightframe">ACTION_QUICK_VIEW</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED" class="hiddenlink" target="rightframe">ACTION_RESTRICT_BACKGROUND_CHANGED</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.ACTION_SET_NEW_PARENT_PROFILE_PASSWORD" class="hiddenlink" target="rightframe">ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.html#android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.ACTION_SET_PROGRESS" class="hiddenlink" target="rightframe">ACTION_SET_PROGRESS</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.ACTION_SETUP_INPUTS" class="hiddenlink" target="rightframe">ACTION_SETUP_INPUTS</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_SHOW_APP_INFO" class="hiddenlink" target="rightframe">ACTION_SHOW_APP_INFO</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.ACTION_SHOW_MISSED_CALLS_NOTIFICATION" class="hiddenlink" target="rightframe">ACTION_SHOW_MISSED_CALLS_NOTIFICATION</A>
+</nobr><br>
+<nobr><A HREF="android.provider.VoicemailContract.html#android.provider.VoicemailContract.ACTION_SYNC_VOICEMAIL" class="hiddenlink" target="rightframe">ACTION_SYNC_VOICEMAIL</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_USER_UNLOCKED" class="hiddenlink" target="rightframe">ACTION_USER_UNLOCKED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS" class="hiddenlink" target="rightframe">ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_VPN_SETTINGS" class="hiddenlink" target="rightframe">ACTION_VPN_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_VR_LISTENER_SETTINGS" class="hiddenlink" target="rightframe">ACTION_VR_LISTENER_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_WEBVIEW_SETTINGS" class="hiddenlink" target="rightframe">ACTION_WEBVIEW_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_CSIM" class="hiddenlink" target="rightframe">APPTYPE_CSIM</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_ISIM" class="hiddenlink" target="rightframe">APPTYPE_ISIM</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_RUIM" class="hiddenlink" target="rightframe">APPTYPE_RUIM</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_SIM" class="hiddenlink" target="rightframe">APPTYPE_SIM</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.APPTYPE_USIM" class="hiddenlink" target="rightframe">APPTYPE_USIM</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.AUTHTYPE_EAP_AKA" class="hiddenlink" target="rightframe">AUTHTYPE_EAP_AKA</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.AUTHTYPE_EAP_SIM" class="hiddenlink" target="rightframe">AUTHTYPE_EAP_SIM</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.AXIS_RELATIVE_X" class="hiddenlink" target="rightframe">AXIS_RELATIVE_X</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.AXIS_RELATIVE_Y" class="hiddenlink" target="rightframe">AXIS_RELATIVE_Y</A>
+</nobr><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.ContactsContract.RawContactsColumns.html#android.provider.ContactsContract.RawContactsColumns.BACKUP_ID" class="hiddenlink" target="rightframe">BACKUP_ID</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.backupInForeground" class="hiddenlink" target="rightframe">backupInForeground</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.bigContentView" class="hiddenlink" target="rightframe">bigContentView</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_CONDITION_PROVIDER_SERVICE" class="hiddenlink" target="rightframe">BIND_CONDITION_PROVIDER_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_EXTERNAL_SERVICE" class="hiddenlink" target="rightframe">BIND_EXTERNAL_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_QUICK_SETTINGS_TILE" class="hiddenlink" target="rightframe">BIND_QUICK_SETTINGS_TILE</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_SCREENING_SERVICE" class="hiddenlink" target="rightframe">BIND_SCREENING_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_VR_LISTENER_SERVICE" class="hiddenlink" target="rightframe">BIND_VR_LISTENER_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.bitmap" class="hiddenlink" target="rightframe">bitmap</A>
+</nobr><br>
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.BLOCKED_TYPE" class="hiddenlink" target="rightframe">BLOCKED_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.BOOT_COUNT" class="hiddenlink" target="rightframe">BOOT_COUNT</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING" class="hiddenlink" target="rightframe">BUGREPORT_FAILURE_FAILED_COMPLETING</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE" class="hiddenlink" target="rightframe">BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.buttonGravity" class="hiddenlink" target="rightframe">buttonGravity</A>
+</nobr><br>
+<i>BYTES</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Byte.html#java.lang.Byte.BYTES" class="hiddenlink" target="rightframe">java.lang.Byte</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Character.html#java.lang.Character.BYTES" class="hiddenlink" target="rightframe">java.lang.Character</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Double.html#java.lang.Double.BYTES" class="hiddenlink" target="rightframe">java.lang.Double</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Float.html#java.lang.Float.BYTES" class="hiddenlink" target="rightframe">java.lang.Float</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Integer.html#java.lang.Integer.BYTES" class="hiddenlink" target="rightframe">java.lang.Integer</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Long.html#java.lang.Long.BYTES" class="hiddenlink" target="rightframe">java.lang.Long</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="java.lang.Short.html#java.lang.Short.BYTES" class="hiddenlink" target="rightframe">java.lang.Short</A>
+</nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.canControlMagnification" class="hiddenlink" target="rightframe">canControlMagnification</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.canPerformGestures" class="hiddenlink" target="rightframe">canPerformGestures</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.canRecord" class="hiddenlink" target="rightframe">canRecord</A>
+</nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.CAPABILITY_CAN_CONTROL_MAGNIFICATION" class="hiddenlink" target="rightframe">CAPABILITY_CAN_CONTROL_MAGNIFICATION</A>
+</nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.CAPABILITY_CAN_PERFORM_GESTURES" class="hiddenlink" target="rightframe">CAPABILITY_CAN_PERFORM_GESTURES</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.Connection.html#android.telecom.Connection.CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION" class="hiddenlink" target="rightframe">CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION</A>
+</nobr><br>
+<i>CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.telecom.Call.Details.html#android.telecom.Call.Details.CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO" class="hiddenlink" target="rightframe">android.telecom.Call.Details</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.telecom.Connection.html#android.telecom.Connection.CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO" class="hiddenlink" target="rightframe">android.telecom.Connection</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.PhoneAccount.html#android.telecom.PhoneAccount.CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE" class="hiddenlink" target="rightframe">CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE</A>
+</nobr><br>
+<nobr><A HREF="java.util.zip.InflaterInputStream.html#java.util.zip.InflaterInputStream.closed" class="hiddenlink" target="rightframe">closed</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.collapseIcon" class="hiddenlink" target="rightframe">collapseIcon</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_RANGE_FULL" class="hiddenlink" target="rightframe">COLOR_RANGE_FULL</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_RANGE_LIMITED" class="hiddenlink" target="rightframe">COLOR_RANGE_LIMITED</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_STANDARD_BT2020" class="hiddenlink" target="rightframe">COLOR_STANDARD_BT2020</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_STANDARD_BT601_NTSC" class="hiddenlink" target="rightframe">COLOR_STANDARD_BT601_NTSC</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_STANDARD_BT601_PAL" class="hiddenlink" target="rightframe">COLOR_STANDARD_BT601_PAL</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_STANDARD_BT709" class="hiddenlink" target="rightframe">COLOR_STANDARD_BT709</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_TRANSFER_HLG" class="hiddenlink" target="rightframe">COLOR_TRANSFER_HLG</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_TRANSFER_LINEAR" class="hiddenlink" target="rightframe">COLOR_TRANSFER_LINEAR</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_TRANSFER_SDR_VIDEO" class="hiddenlink" target="rightframe">COLOR_TRANSFER_SDR_VIDEO</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.COLOR_TRANSFER_ST2084" class="hiddenlink" target="rightframe">COLOR_TRANSFER_ST2084</A>
+</nobr><br>
+<nobr><A HREF="android.provider.DocumentsContract.Root.html#android.provider.DocumentsContract.Root.COLUMN_CAPACITY_BYTES" class="hiddenlink" target="rightframe">COLUMN_CAPACITY_BYTES</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_EPISODE_DISPLAY_NUMBER" class="hiddenlink" target="rightframe">COLUMN_EPISODE_DISPLAY_NUMBER</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_EPISODE_NUMBER" class="hiddenlink" target="rightframe">COLUMN_EPISODE_NUMBER</A>
+</nobr><br>
+<nobr><A HREF="android.app.DownloadManager.html#android.app.DownloadManager.COLUMN_LOCAL_FILENAME" class="hiddenlink" target="rightframe">COLUMN_LOCAL_FILENAME</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_RECORDING_PROHIBITED" class="hiddenlink" target="rightframe">COLUMN_RECORDING_PROHIBITED</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_SEASON_DISPLAY_NUMBER" class="hiddenlink" target="rightframe">COLUMN_SEASON_DISPLAY_NUMBER</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_SEASON_NUMBER" class="hiddenlink" target="rightframe">COLUMN_SEASON_NUMBER</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_SEASON_TITLE" class="hiddenlink" target="rightframe">COLUMN_SEASON_TITLE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.PhoneLookupColumns.html#android.provider.ContactsContract.PhoneLookupColumns.CONTACT_ID" class="hiddenlink" target="rightframe">CONTACT_ID</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.CONTACT_METADATA_SYNC_ENABLED" class="hiddenlink" target="rightframe">CONTACT_METADATA_SYNC_ENABLED</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentInsetEndWithActions" class="hiddenlink" target="rightframe">contentInsetEndWithActions</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentInsetStartWithNavigation" class="hiddenlink" target="rightframe">contentInsetStartWithNavigation</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.contentView" class="hiddenlink" target="rightframe">contentView</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.contextPopupMenuStyle" class="hiddenlink" target="rightframe">contextPopupMenuStyle</A>
+</nobr><br>
+<i>CONTROL_POST_RAW_SENSITIVITY_BOOST</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.hardware.camera2.CaptureRequest.html#android.hardware.camera2.CaptureRequest.CONTROL_POST_RAW_SENSITIVITY_BOOST" class="hiddenlink" target="rightframe">android.hardware.camera2.CaptureRequest</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.hardware.camera2.CaptureResult.html#android.hardware.camera2.CaptureResult.CONTROL_POST_RAW_SENSITIVITY_BOOST" class="hiddenlink" target="rightframe">android.hardware.camera2.CaptureResult</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.camera2.CameraCharacteristics.html#android.hardware.camera2.CameraCharacteristics.CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE" class="hiddenlink" target="rightframe">CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.countDown" class="hiddenlink" target="rightframe">countDown</A>
+</nobr><br>
+<i>CREATOR</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.bluetooth.BluetoothGattCharacteristic.html#android.bluetooth.BluetoothGattCharacteristic.CREATOR" class="hiddenlink" target="rightframe">android.bluetooth.BluetoothGattCharacteristic</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.bluetooth.BluetoothGattDescriptor.html#android.bluetooth.BluetoothGattDescriptor.CREATOR" class="hiddenlink" target="rightframe">android.bluetooth.BluetoothGattDescriptor</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.bluetooth.BluetoothGattService.html#android.bluetooth.BluetoothGattService.CREATOR" class="hiddenlink" target="rightframe">android.bluetooth.BluetoothGattService</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioFormat.html#android.media.AudioFormat.CREATOR" class="hiddenlink" target="rightframe">android.media.AudioFormat</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.net.NetworkInfo.html#android.net.NetworkInfo.CREATOR" class="hiddenlink" target="rightframe">android.net.NetworkInfo</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodec.html#android.media.MediaCodec.CRYPTO_MODE_AES_CBC" class="hiddenlink" target="rightframe">CRYPTO_MODE_AES_CBC</A>
+</nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_BAD_CONFIGURATION" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_BAD_CONFIGURATION</A>
+</nobr><br>
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_COMMUNICATION_ERROR" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_COMMUNICATION_ERROR</A>
+</nobr><br>
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR</A>
+</nobr><br>
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.DATA_CHANNEL_STATE_SERVER_ERROR" class="hiddenlink" target="rightframe">DATA_CHANNEL_STATE_SERVER_ERROR</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.PhoneLookupColumns.html#android.provider.ContactsContract.PhoneLookupColumns.DATA_ID" class="hiddenlink" target="rightframe">DATA_ID</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.DECOR_CAPTION_SHADE_AUTO" class="hiddenlink" target="rightframe">DECOR_CAPTION_SHADE_AUTO</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.DECOR_CAPTION_SHADE_DARK" class="hiddenlink" target="rightframe">DECOR_CAPTION_SHADE_DARK</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.DECOR_CAPTION_SHADE_LIGHT" class="hiddenlink" target="rightframe">DECOR_CAPTION_SHADE_LIGHT</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.defaultHeight" class="hiddenlink" target="rightframe">defaultHeight</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.defaultToDeviceProtectedStorage" class="hiddenlink" target="rightframe">defaultToDeviceProtectedStorage</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.defaultWidth" class="hiddenlink" target="rightframe">defaultWidth</A>
+</nobr><br>
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_DEVICE_STABLE" class="hiddenlink" target="rightframe">DENSITY_DEVICE_STABLE</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.DEVICE_TYPE_BLUETOOTH" class="hiddenlink" target="rightframe">DEVICE_TYPE_BLUETOOTH</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.DEVICE_TYPE_SPEAKER" class="hiddenlink" target="rightframe">DEVICE_TYPE_SPEAKER</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.DEVICE_TYPE_TV" class="hiddenlink" target="rightframe">DEVICE_TYPE_TV</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.DEVICE_TYPE_UNKNOWN" class="hiddenlink" target="rightframe">DEVICE_TYPE_UNKNOWN</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.deviceProtectedDataDir" class="hiddenlink" target="rightframe">deviceProtectedDataDir</A>
+</nobr><br>
+<i>directBootAware</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.directBootAware" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ComponentInfo.html#android.content.pm.ComponentInfo.directBootAware" class="hiddenlink" target="rightframe">android.content.pm.ComponentInfo</A>
+</nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.DISALLOW_DATA_ROAMING" class="hiddenlink" target="rightframe">DISALLOW_DATA_ROAMING</A>
+</nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.DISALLOW_SET_USER_ICON" class="hiddenlink" target="rightframe">DISALLOW_SET_USER_ICON</A>
+</nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.DISALLOW_SET_WALLPAPER" class="hiddenlink" target="rightframe">DISALLOW_SET_WALLPAPER</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelFhd24" class="hiddenlink" target="rightframe">DolbyVisionLevelFhd24</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelFhd30" class="hiddenlink" target="rightframe">DolbyVisionLevelFhd30</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelFhd60" class="hiddenlink" target="rightframe">DolbyVisionLevelFhd60</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelHd24" class="hiddenlink" target="rightframe">DolbyVisionLevelHd24</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelHd30" class="hiddenlink" target="rightframe">DolbyVisionLevelHd30</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd24" class="hiddenlink" target="rightframe">DolbyVisionLevelUhd24</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd30" class="hiddenlink" target="rightframe">DolbyVisionLevelUhd30</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd48" class="hiddenlink" target="rightframe">DolbyVisionLevelUhd48</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionLevelUhd60" class="hiddenlink" target="rightframe">DolbyVisionLevelUhd60</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvavPen" class="hiddenlink" target="rightframe">DolbyVisionProfileDvavPen</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvavPer" class="hiddenlink" target="rightframe">DolbyVisionProfileDvavPer</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDen" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDen</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDer" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDer</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDtb" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDtb</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDth" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDth</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheDtr" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheDtr</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.DolbyVisionProfileDvheStn" class="hiddenlink" target="rightframe">DolbyVisionProfileDvheStn</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL_URI_READ" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL_URI_READ</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_GLOBAL_URI_WRITE" class="hiddenlink" target="rightframe">DRAG_FLAG_GLOBAL_URI_WRITE</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.DRAG_FLAG_OPAQUE" class="hiddenlink" target="rightframe">DRAG_FLAG_OPAQUE</A>
+</nobr><br>
+<nobr><A HREF="android.animation.Animator.html#android.animation.Animator.DURATION_INFINITE" class="hiddenlink" target="rightframe">DURATION_INFINITE</A>
+</nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.enableVrMode" class="hiddenlink" target="rightframe">enableVrMode</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioFormat.html#android.media.AudioFormat.ENCODING_IEC61937" class="hiddenlink" target="rightframe">ENCODING_IEC61937</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE_PER_USER" class="hiddenlink" target="rightframe">ENCRYPTION_STATUS_ACTIVE_PER_USER</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.endX" class="hiddenlink" target="rightframe">endX</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.endY" class="hiddenlink" target="rightframe">endY</A>
+</nobr><br>
+<i>ENTERPRISE_CONTENT_FILTER_URI</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Callable.html#android.provider.ContactsContract.CommonDataKinds.Callable.ENTERPRISE_CONTENT_FILTER_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Callable</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Email.html#android.provider.ContactsContract.CommonDataKinds.Email.ENTERPRISE_CONTENT_FILTER_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Email</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Phone.html#android.provider.ContactsContract.CommonDataKinds.Phone.ENTERPRISE_CONTENT_FILTER_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Phone</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.Contacts.html#android.provider.ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.Contacts</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.ENTERPRISE_CONTENT_URI" class="hiddenlink" target="rightframe">ENTERPRISE_CONTENT_URI</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.ENTERPRISE_DEFAULT" class="hiddenlink" target="rightframe">ENTERPRISE_DEFAULT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.ENTERPRISE_LOCAL_INVISIBLE" class="hiddenlink" target="rightframe">ENTERPRISE_LOCAL_INVISIBLE</A>
+</nobr><br>
+<i>ERROR_DEAD_OBJECT</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioRecord.html#android.media.AudioRecord.ERROR_DEAD_OBJECT" class="hiddenlink" target="rightframe">android.media.AudioRecord</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioTrack.html#android.media.AudioTrack.ERROR_DEAD_OBJECT" class="hiddenlink" target="rightframe">android.media.AudioTrack</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodec.CryptoException.html#android.media.MediaCodec.CryptoException.ERROR_UNSUPPORTED_OPERATION" class="hiddenlink" target="rightframe">ERROR_UNSUPPORTED_OPERATION</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.externalService" class="hiddenlink" target="rightframe">externalService</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.PhoneAccount.html#android.telecom.PhoneAccount.EXTRA_CALL_SUBJECT_CHARACTER_ENCODING" class="hiddenlink" target="rightframe">EXTRA_CALL_SUBJECT_CHARACTER_ENCODING</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.PhoneAccount.html#android.telecom.PhoneAccount.EXTRA_CALL_SUBJECT_MAX_LENGTH" class="hiddenlink" target="rightframe">EXTRA_CALL_SUBJECT_MAX_LENGTH</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.EXTRA_CAPTIVE_PORTAL_URL" class="hiddenlink" target="rightframe">EXTRA_CAPTIVE_PORTAL_URL</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHOOSER_TARGETS" class="hiddenlink" target="rightframe">EXTRA_CHOOSER_TARGETS</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_CHRONOMETER_COUNT_DOWN" class="hiddenlink" target="rightframe">EXTRA_CHRONOMETER_COUNT_DOWN</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_CONVERSATION_TITLE" class="hiddenlink" target="rightframe">EXTRA_CONVERSATION_TITLE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_EXCLUDE_COMPONENTS" class="hiddenlink" target="rightframe">EXTRA_EXCLUDE_COMPONENTS</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_INDEX" class="hiddenlink" target="rightframe">EXTRA_INDEX</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Telephony.Sms.Intents.html#android.provider.Telephony.Sms.Intents.EXTRA_IS_DEFAULT_SMS_APP" class="hiddenlink" target="rightframe">EXTRA_IS_DEFAULT_SMS_APP</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_MESSAGES" class="hiddenlink" target="rightframe">EXTRA_MESSAGES</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.EXTRA_NOTIFICATION_COUNT" class="hiddenlink" target="rightframe">EXTRA_NOTIFICATION_COUNT</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.EXTRA_NOTIFICATION_PHONE_NUMBER" class="hiddenlink" target="rightframe">EXTRA_NOTIFICATION_PHONE_NUMBER</A>
+</nobr><br>
+<nobr><A HREF="android.service.media.MediaBrowserService.BrowserRoot.html#android.service.media.MediaBrowserService.BrowserRoot.EXTRA_OFFLINE" class="hiddenlink" target="rightframe">EXTRA_OFFLINE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.EXTRA_ORIENTATION" class="hiddenlink" target="rightframe">EXTRA_ORIENTATION</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_PACKAGE_NAME" class="hiddenlink" target="rightframe">EXTRA_PACKAGE_NAME</A>
+</nobr><br>
+<nobr><A HREF="android.media.browse.MediaBrowser.html#android.media.browse.MediaBrowser.EXTRA_PAGE" class="hiddenlink" target="rightframe">EXTRA_PAGE</A>
+</nobr><br>
+<nobr><A HREF="android.media.browse.MediaBrowser.html#android.media.browse.MediaBrowser.EXTRA_PAGE_SIZE" class="hiddenlink" target="rightframe">EXTRA_PAGE_SIZE</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI" class="hiddenlink" target="rightframe">EXTRA_PROVISIONING_LOGO_URI</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR" class="hiddenlink" target="rightframe">EXTRA_PROVISIONING_MAIN_COLOR</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_QUIET_MODE" class="hiddenlink" target="rightframe">EXTRA_QUIET_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.service.media.MediaBrowserService.BrowserRoot.html#android.service.media.MediaBrowserService.BrowserRoot.EXTRA_RECENT" class="hiddenlink" target="rightframe">EXTRA_RECENT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.EXTRA_RECIPIENT_CONTACT_CHAT_ID" class="hiddenlink" target="rightframe">EXTRA_RECIPIENT_CONTACT_CHAT_ID</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.EXTRA_RECIPIENT_CONTACT_NAME" class="hiddenlink" target="rightframe">EXTRA_RECIPIENT_CONTACT_NAME</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.EXTRA_RECIPIENT_CONTACT_URI" class="hiddenlink" target="rightframe">EXTRA_RECIPIENT_CONTACT_URI</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_REMOTE_INPUT_HISTORY" class="hiddenlink" target="rightframe">EXTRA_REMOTE_INPUT_HISTORY</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_SELF_DISPLAY_NAME" class="hiddenlink" target="rightframe">EXTRA_SELF_DISPLAY_NAME</A>
+</nobr><br>
+<nobr><A HREF="android.service.media.MediaBrowserService.BrowserRoot.html#android.service.media.MediaBrowserService.BrowserRoot.EXTRA_SUGGESTED" class="hiddenlink" target="rightframe">EXTRA_SUGGESTED</A>
+</nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_ETHERNET" class="hiddenlink" target="rightframe">FEATURE_ETHERNET</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_FREEFORM_WINDOW_MANAGEMENT" class="hiddenlink" target="rightframe">FEATURE_FREEFORM_WINDOW_MANAGEMENT</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.FEATURE_INDETERMINATE_PROGRESS" class="hiddenlink" target="rightframe">FEATURE_INDETERMINATE_PROGRESS</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecCapabilities.html#android.media.MediaCodecInfo.CodecCapabilities.FEATURE_IntraRefresh" class="hiddenlink" target="rightframe">FEATURE_IntraRefresh</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_NFC_HOST_CARD_EMULATION_NFCF" class="hiddenlink" target="rightframe">FEATURE_NFC_HOST_CARD_EMULATION_NFCF</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_PICTURE_IN_PICTURE" class="hiddenlink" target="rightframe">FEATURE_PICTURE_IN_PICTURE</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.FEATURE_PROGRESS" class="hiddenlink" target="rightframe">FEATURE_PROGRESS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_VR_MODE" class="hiddenlink" target="rightframe">FEATURE_VR_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_VR_MODE_HIGH_PERFORMANCE" class="hiddenlink" target="rightframe">FEATURE_VR_MODE_HIGH_PERFORMANCE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_VULKAN_HARDWARE_LEVEL" class="hiddenlink" target="rightframe">FEATURE_VULKAN_HARDWARE_LEVEL</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_VULKAN_HARDWARE_VERSION" class="hiddenlink" target="rightframe">FEATURE_VULKAN_HARDWARE_VERSION</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.fillType" class="hiddenlink" target="rightframe">fillType</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT" class="hiddenlink" target="rightframe">FLAG_ACTIVITY_LAUNCH_ADJACENT</A>
+</nobr><br>
+<nobr><A HREF="android.app.UiAutomation.html#android.app.UiAutomation.FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES" class="hiddenlink" target="rightframe">FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.FLAG_ENABLE_VR_MODE" class="hiddenlink" target="rightframe">FLAG_ENABLE_VR_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ServiceInfo.html#android.content.pm.ServiceInfo.FLAG_EXTERNAL_SERVICE" class="hiddenlink" target="rightframe">FLAG_EXTERNAL_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.FLAG_LOCK" class="hiddenlink" target="rightframe">FLAG_LOCK</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioAttributes.html#android.media.AudioAttributes.FLAG_LOW_LATENCY" class="hiddenlink" target="rightframe">FLAG_LOW_LATENCY</A>
+</nobr><br>
+<nobr><A HREF="android.provider.DocumentsContract.Document.html#android.provider.DocumentsContract.Document.FLAG_SUPPORTS_COPY" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_COPY</A>
+</nobr><br>
+<nobr><A HREF="android.provider.DocumentsContract.Document.html#android.provider.DocumentsContract.Document.FLAG_SUPPORTS_MOVE" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_MOVE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.DocumentsContract.Document.html#android.provider.DocumentsContract.Document.FLAG_SUPPORTS_REMOVE" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_REMOVE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUSPENDED" class="hiddenlink" target="rightframe">FLAG_SUSPENDED</A>
+</nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.FLAG_SYSTEM" class="hiddenlink" target="rightframe">FLAG_SYSTEM</A>
+</nobr><br>
+<nobr><A HREF="android.provider.DocumentsContract.Document.html#android.provider.DocumentsContract.Document.FLAG_VIRTUAL_DOCUMENT" class="hiddenlink" target="rightframe">FLAG_VIRTUAL_DOCUMENT</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.FLASHLIGHT" class="hiddenlink" target="rightframe"><strike>FLASHLIGHT</strike></A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.forceHasOverlappingRendering" class="hiddenlink" target="rightframe">forceHasOverlappingRendering</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.FORMAT_DEFINED" class="hiddenlink" target="rightframe">FORMAT_DEFINED</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.FORMAT_DNG" class="hiddenlink" target="rightframe">FORMAT_DNG</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_MODE_COMPACT" class="hiddenlink" target="rightframe">FROM_HTML_MODE_COMPACT</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_MODE_LEGACY" class="hiddenlink" target="rightframe">FROM_HTML_MODE_LEGACY</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_OPTION_USE_CSS_COLORS" class="hiddenlink" target="rightframe">FROM_HTML_OPTION_USE_CSS_COLORS</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_DIV" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_DIV</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_HEADING" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_HEADING</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_LIST" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_LIST</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH" class="hiddenlink" target="rightframe">FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH</A>
+</nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.GET_DISABLED_COMPONENTS" class="hiddenlink" target="rightframe">GET_DISABLED_COMPONENTS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS" class="hiddenlink" target="rightframe">GET_DISABLED_UNTIL_USED_COMPONENTS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.GET_UNINSTALLED_PACKAGES" class="hiddenlink" target="rightframe">GET_UNINSTALLED_PACKAGES</A>
+</nobr><br>
+<nobr><A HREF="android.opengl.GLES31.html#android.opengl.GLES31.GL_ALL_BARRIER_BITS" class="hiddenlink" target="rightframe">GL_ALL_BARRIER_BITS</A>
+</nobr><br>
+<nobr><A HREF="android.opengl.GLES31.html#android.opengl.GLES31.GL_ELEMENT_ARRAY_BARRIER_BIT" class="hiddenlink" target="rightframe">GL_ELEMENT_ARRAY_BARRIER_BIT</A>
+</nobr><br>
+<nobr><A HREF="android.opengl.GLES31.html#android.opengl.GLES31.GL_SHADER_IMAGE_ACCESS_BARRIER_BIT" class="hiddenlink" target="rightframe">GL_SHADER_IMAGE_ACCESS_BARRIER_BIT</A>
+</nobr><br>
+<nobr><A HREF="android.opengl.GLES31.html#android.opengl.GLES31.GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT" class="hiddenlink" target="rightframe">GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT</A>
+</nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN" class="hiddenlink" target="rightframe">GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN</A>
+</nobr><br>
+<nobr><A HREF="android.util.Patterns.html#android.util.Patterns.GOOD_IRI_CHAR" class="hiddenlink" target="rightframe">GOOD_IRI_CHAR</A>
+</nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.Context.html#android.content.Context.HARDWARE_PROPERTIES_SERVICE" class="hiddenlink" target="rightframe">HARDWARE_PROPERTIES_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.headsUpContentView" class="hiddenlink" target="rightframe">headsUpContentView</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.VideoEncoder.html#android.media.MediaRecorder.VideoEncoder.HEVC" class="hiddenlink" target="rightframe">HEVC</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.HEVCProfileMain10HDR10" class="hiddenlink" target="rightframe">HEVCProfileMain10HDR10</A>
+</nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.HINT_HOST_DISABLE_CALL_EFFECTS" class="hiddenlink" target="rightframe">HINT_HOST_DISABLE_CALL_EFFECTS</A>
+</nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.HINT_HOST_DISABLE_NOTIFICATION_EFFECTS" class="hiddenlink" target="rightframe">HINT_HOST_DISABLE_NOTIFICATION_EFFECTS</A>
+</nobr><br>
+<nobr><A HREF="android.view.inputmethod.EditorInfo.html#android.view.inputmethod.EditorInfo.hintLocales" class="hiddenlink" target="rightframe">hintLocales</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.hotSpotX" class="hiddenlink" target="rightframe">hotSpotX</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.hotSpotY" class="hiddenlink" target="rightframe">hotSpotY</A>
+</nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.id.html#android.R.id.icon_frame" class="hiddenlink" target="rightframe">icon_frame</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_DEFAULT" class="hiddenlink" target="rightframe">IMPORTANCE_DEFAULT</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_HIGH" class="hiddenlink" target="rightframe">IMPORTANCE_HIGH</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_LOW" class="hiddenlink" target="rightframe">IMPORTANCE_LOW</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_MAX" class="hiddenlink" target="rightframe">IMPORTANCE_MAX</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_MIN" class="hiddenlink" target="rightframe">IMPORTANCE_MIN</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_NONE" class="hiddenlink" target="rightframe">IMPORTANCE_NONE</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_UNSPECIFIED" class="hiddenlink" target="rightframe">IMPORTANCE_UNSPECIFIED</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inDither" class="hiddenlink" target="rightframe">inDither</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.camera2.CameraMetadata.html#android.hardware.camera2.CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_3" class="hiddenlink" target="rightframe">INFO_SUPPORTED_HARDWARE_LEVEL_3</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inPreferQualityOverSpeed" class="hiddenlink" target="rightframe">inPreferQualityOverSpeed</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.drawable.LayerDrawable.html#android.graphics.drawable.LayerDrawable.INSET_UNDEFINED" class="hiddenlink" target="rightframe">INSET_UNDEFINED</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">INVALID_SUBSCRIPTION_ID</A>
+</nobr><br>
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL" class="hiddenlink" target="rightframe">KEY_ALLOW_ADDING_APNS_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL" class="hiddenlink" target="rightframe">KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL" class="hiddenlink" target="rightframe">KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL" class="hiddenlink" target="rightframe">KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_IMS_GBA_REQUIRED_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_IMS_GBA_REQUIRED_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT" class="hiddenlink" target="rightframe">KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL" class="hiddenlink" target="rightframe">KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CDMA_DTMF_TONE_DELAY_INT" class="hiddenlink" target="rightframe">KEY_CDMA_DTMF_TONE_DELAY_INT</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_BOOL" class="hiddenlink" target="rightframe">KEY_CI_ACTION_ON_SYS_UPDATE_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING" class="hiddenlink" target="rightframe">KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING" class="hiddenlink" target="rightframe">KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING" class="hiddenlink" target="rightframe">KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_COLOR_RANGE" class="hiddenlink" target="rightframe">KEY_COLOR_RANGE</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_COLOR_STANDARD" class="hiddenlink" target="rightframe">KEY_COLOR_STANDARD</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_COLOR_TRANSFER" class="hiddenlink" target="rightframe">KEY_COLOR_TRANSFER</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT" class="hiddenlink" target="rightframe">KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_EDITABLE_ENHANCED_4G_LTE_BOOL" class="hiddenlink" target="rightframe">KEY_EDITABLE_ENHANCED_4G_LTE_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_GSM_DTMF_TONE_DELAY_INT" class="hiddenlink" target="rightframe">KEY_GSM_DTMF_TONE_DELAY_INT</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_HDR_STATIC_INFO" class="hiddenlink" target="rightframe">KEY_HDR_STATIC_INFO</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_HIDE_IMS_APN_BOOL" class="hiddenlink" target="rightframe">KEY_HIDE_IMS_APN_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL" class="hiddenlink" target="rightframe">KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_IMS_DTMF_TONE_DELAY_INT" class="hiddenlink" target="rightframe">KEY_IMS_DTMF_TONE_DELAY_INT</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_INTRA_REFRESH_PERIOD" class="hiddenlink" target="rightframe">KEY_INTRA_REFRESH_PERIOD</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_PCM_ENCODING" class="hiddenlink" target="rightframe">KEY_PCM_ENCODING</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL" class="hiddenlink" target="rightframe">KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL" class="hiddenlink" target="rightframe">KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_SUPPORT_CONFERENCE_CALL_BOOL" class="hiddenlink" target="rightframe">KEY_SUPPORT_CONFERENCE_CALL_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.KEY_TRACK_ID" class="hiddenlink" target="rightframe">KEY_TRACK_ID</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL" class="hiddenlink" target="rightframe">KEY_USE_RCS_PRESENCE_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL" class="hiddenlink" target="rightframe">KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_VVM_PREFETCH_BOOL" class="hiddenlink" target="rightframe">KEY_VVM_PREFETCH_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_COPY" class="hiddenlink" target="rightframe">KEYCODE_COPY</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_CUT" class="hiddenlink" target="rightframe">KEYCODE_CUT</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_DPAD_DOWN_LEFT" class="hiddenlink" target="rightframe">KEYCODE_DPAD_DOWN_LEFT</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_DPAD_DOWN_RIGHT" class="hiddenlink" target="rightframe">KEYCODE_DPAD_DOWN_RIGHT</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_DPAD_UP_LEFT" class="hiddenlink" target="rightframe">KEYCODE_DPAD_UP_LEFT</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_DPAD_UP_RIGHT" class="hiddenlink" target="rightframe">KEYCODE_DPAD_UP_RIGHT</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_PASTE" class="hiddenlink" target="rightframe">KEYCODE_PASTE</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_SOFT_SLEEP" class="hiddenlink" target="rightframe">KEYCODE_SOFT_SLEEP</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_STEM_1" class="hiddenlink" target="rightframe">KEYCODE_STEM_1</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_STEM_2" class="hiddenlink" target="rightframe">KEYCODE_STEM_2</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_STEM_3" class="hiddenlink" target="rightframe">KEYCODE_STEM_3</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_STEM_PRIMARY" class="hiddenlink" target="rightframe">KEYCODE_STEM_PRIMARY</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_REMOTE_INPUT" class="hiddenlink" target="rightframe">KEYGUARD_DISABLE_REMOTE_INPUT</A>
+</nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.languageTag" class="hiddenlink" target="rightframe">languageTag</A>
+</nobr><br>
+<i>LAST_MODIFIED</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.LAST_MODIFIED" class="hiddenlink" target="rightframe">android.provider.CallLog.Calls</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.VoicemailContract.Voicemails.html#android.provider.VoicemailContract.Voicemails.LAST_MODIFIED" class="hiddenlink" target="rightframe">android.provider.VoicemailContract.Voicemails</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.level" class="hiddenlink" target="rightframe">level</A>
+</nobr><br>
+<nobr><A HREF="android.R.id.html#android.R.id.list_container" class="hiddenlink" target="rightframe">list_container</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.listMenuViewStyle" class="hiddenlink" target="rightframe">listMenuViewStyle</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.locale" class="hiddenlink" target="rightframe">locale</A>
+</nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE" class="hiddenlink" target="rightframe">MATCH_DIRECT_BOOT_AWARE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE" class="hiddenlink" target="rightframe">MATCH_DIRECT_BOOT_UNAWARE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_DISABLED_COMPONENTS" class="hiddenlink" target="rightframe">MATCH_DISABLED_COMPONENTS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS" class="hiddenlink" target="rightframe">MATCH_DISABLED_UNTIL_USED_COMPONENTS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_SYSTEM_ONLY" class="hiddenlink" target="rightframe">MATCH_SYSTEM_ONLY</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.MATCH_UNINSTALLED_PACKAGES" class="hiddenlink" target="rightframe">MATCH_UNINSTALLED_PACKAGES</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.maxButtonHeight" class="hiddenlink" target="rightframe">maxButtonHeight</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.mCancel" class="hiddenlink" target="rightframe">mCancel</A>
+</nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.MENU_ITEM_NONE" class="hiddenlink" target="rightframe">MENU_ITEM_NONE</A>
+</nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.MENU_ITEM_PROCESS_TEXT" class="hiddenlink" target="rightframe">MENU_ITEM_PROCESS_TEXT</A>
+</nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.MENU_ITEM_SHARE" class="hiddenlink" target="rightframe">MENU_ITEM_SHARE</A>
+</nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.MENU_ITEM_WEB_SEARCH" class="hiddenlink" target="rightframe">MENU_ITEM_WEB_SEARCH</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.METADATA_ACCOUNT_TYPE" class="hiddenlink" target="rightframe">METADATA_ACCOUNT_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.RawContactsColumns.html#android.provider.ContactsContract.RawContactsColumns.METADATA_DIRTY" class="hiddenlink" target="rightframe">METADATA_DIRTY</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.METADATA_IN_CALL_SERVICE_RINGING" class="hiddenlink" target="rightframe">METADATA_IN_CALL_SERVICE_RINGING</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.METADATA_MIMETYPE" class="hiddenlink" target="rightframe">METADATA_MIMETYPE</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaFormat.html#android.media.MediaFormat.MIMETYPE_VIDEO_DOLBY_VISION" class="hiddenlink" target="rightframe">MIMETYPE_VIDEO_DOLBY_VISION</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.minSdkVersion" class="hiddenlink" target="rightframe">minSdkVersion</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.MODE_NO_LOCALIZED_COLLATORS" class="hiddenlink" target="rightframe">MODE_NO_LOCALIZED_COLLATORS</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG2LevelHP" class="hiddenlink" target="rightframe">MPEG2LevelHP</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level3b" class="hiddenlink" target="rightframe">MPEG4Level3b</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level6" class="hiddenlink" target="rightframe">MPEG4Level6</A>
+</nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.N" class="hiddenlink" target="rightframe">N</A>
+</nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.NETWORK_TYPE_NOT_ROAMING" class="hiddenlink" target="rightframe">NETWORK_TYPE_NOT_ROAMING</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.networkSecurityConfig" class="hiddenlink" target="rightframe">networkSecurityConfig</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS" class="hiddenlink" target="rightframe">NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.NOTIFY_SYNC_TO_NETWORK" class="hiddenlink" target="rightframe">NOTIFY_SYNC_TO_NETWORK</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.number" class="hiddenlink" target="rightframe">number</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.numberPickerStyle" class="hiddenlink" target="rightframe">numberPickerStyle</A>
+</nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.offset" class="hiddenlink" target="rightframe">offset</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_CLOSE_SESSION" class="hiddenlink" target="rightframe">OPERATION_CLOSE_SESSION</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_COPY_OBJECT" class="hiddenlink" target="rightframe">OPERATION_COPY_OBJECT</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_DELETE_OBJECT" class="hiddenlink" target="rightframe">OPERATION_DELETE_OBJECT</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_FORMAT_STORE" class="hiddenlink" target="rightframe">OPERATION_FORMAT_STORE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_DEVICE_INFO" class="hiddenlink" target="rightframe">OPERATION_GET_DEVICE_INFO</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_DEVICE_PROP_DESC" class="hiddenlink" target="rightframe">OPERATION_GET_DEVICE_PROP_DESC</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_DEVICE_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_GET_DEVICE_PROP_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_NUM_OBJECTS" class="hiddenlink" target="rightframe">OPERATION_GET_NUM_OBJECTS</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_HANDLES" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_HANDLES</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_INFO" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_INFO</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_PROP_DESC" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_PROP_DESC</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_PROP_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_PROPS_SUPPORTED" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_PROPS_SUPPORTED</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_OBJECT_REFERENCES" class="hiddenlink" target="rightframe">OPERATION_GET_OBJECT_REFERENCES</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_PARTIAL_OBJECT" class="hiddenlink" target="rightframe">OPERATION_GET_PARTIAL_OBJECT</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_PARTIAL_OBJECT_64" class="hiddenlink" target="rightframe">OPERATION_GET_PARTIAL_OBJECT_64</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_STORAGE_I_DS" class="hiddenlink" target="rightframe">OPERATION_GET_STORAGE_I_DS</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_STORAGE_INFO" class="hiddenlink" target="rightframe">OPERATION_GET_STORAGE_INFO</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_GET_THUMB" class="hiddenlink" target="rightframe">OPERATION_GET_THUMB</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_INITIATE_CAPTURE" class="hiddenlink" target="rightframe">OPERATION_INITIATE_CAPTURE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_INITIATE_OPEN_CAPTURE" class="hiddenlink" target="rightframe">OPERATION_INITIATE_OPEN_CAPTURE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_MOVE_OBJECT" class="hiddenlink" target="rightframe">OPERATION_MOVE_OBJECT</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_OPEN_SESSION" class="hiddenlink" target="rightframe">OPERATION_OPEN_SESSION</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_POWER_DOWN" class="hiddenlink" target="rightframe">OPERATION_POWER_DOWN</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_RESET_DEVICE" class="hiddenlink" target="rightframe">OPERATION_RESET_DEVICE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_RESET_DEVICE_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_RESET_DEVICE_PROP_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SELF_TEST" class="hiddenlink" target="rightframe">OPERATION_SELF_TEST</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SEND_OBJECT" class="hiddenlink" target="rightframe">OPERATION_SEND_OBJECT</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SEND_OBJECT_INFO" class="hiddenlink" target="rightframe">OPERATION_SEND_OBJECT_INFO</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SET_DEVICE_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_SET_DEVICE_PROP_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SET_OBJECT_PROP_VALUE" class="hiddenlink" target="rightframe">OPERATION_SET_OBJECT_PROP_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SET_OBJECT_PROTECTION" class="hiddenlink" target="rightframe">OPERATION_SET_OBJECT_PROTECTION</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SET_OBJECT_REFERENCES" class="hiddenlink" target="rightframe">OPERATION_SET_OBJECT_REFERENCES</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_SKIP" class="hiddenlink" target="rightframe">OPERATION_SKIP</A>
+</nobr><br>
+<nobr><A HREF="android.mtp.MtpConstants.html#android.mtp.MtpConstants.OPERATION_TERMINATE_OPEN_CAPTURE" class="hiddenlink" target="rightframe">OPERATION_TERMINATE_OPEN_CAPTURE</A>
+</nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>PHONETIC_NAME_STYLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Organization.html#android.provider.ContactsContract.CommonDataKinds.Organization.PHONETIC_NAME_STYLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Organization</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.StructuredName.html#android.provider.ContactsContract.CommonDataKinds.StructuredName.PHONETIC_NAME_STYLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.StructuredName</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.pointerIcon" class="hiddenlink" target="rightframe">pointerIcon</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.popupEnterTransition" class="hiddenlink" target="rightframe">popupEnterTransition</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.popupExitTransition" class="hiddenlink" target="rightframe">popupExitTransition</A>
+</nobr><br>
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.POST_DIAL_DIGITS" class="hiddenlink" target="rightframe">POST_DIAL_DIGITS</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.preferenceFragmentStyle" class="hiddenlink" target="rightframe">preferenceFragmentStyle</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_END" class="hiddenlink" target="rightframe">PROGRESS_END</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_INDETERMINATE_OFF" class="hiddenlink" target="rightframe">PROGRESS_INDETERMINATE_OFF</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_INDETERMINATE_ON" class="hiddenlink" target="rightframe">PROGRESS_INDETERMINATE_ON</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_SECONDARY_END" class="hiddenlink" target="rightframe">PROGRESS_SECONDARY_END</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_SECONDARY_START" class="hiddenlink" target="rightframe">PROGRESS_SECONDARY_START</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_START" class="hiddenlink" target="rightframe">PROGRESS_START</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_VISIBILITY_OFF" class="hiddenlink" target="rightframe">PROGRESS_VISIBILITY_OFF</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_VISIBILITY_ON" class="hiddenlink" target="rightframe">PROGRESS_VISIBILITY_ON</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.Call.Details.html#android.telecom.Call.Details.PROPERTY_ENTERPRISE_CALL" class="hiddenlink" target="rightframe">PROPERTY_ENTERPRISE_CALL</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED" class="hiddenlink" target="rightframe">PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PermissionInfo.html#android.content.pm.PermissionInfo.PROTECTION_FLAG_SETUP" class="hiddenlink" target="rightframe">PROTECTION_FLAG_SETUP</A>
+</nobr><br>
+<A NAME="Q"></A>
+<br><font size="+2">Q</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.QUOTA_OCCUPIED" class="hiddenlink" target="rightframe">QUOTA_OCCUPIED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.QUOTA_TOTAL" class="hiddenlink" target="rightframe">QUOTA_TOTAL</A>
+</nobr><br>
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.QUOTA_UNAVAILABLE" class="hiddenlink" target="rightframe">QUOTA_UNAVAILABLE</A>
+</nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.graphics.ImageFormat.html#android.graphics.ImageFormat.RAW_PRIVATE" class="hiddenlink" target="rightframe">RAW_PRIVATE</A>
+</nobr><br>
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_DEFAULT" class="hiddenlink" target="rightframe">RECEIVE_OPTIONS_DEFAULT</A>
+</nobr><br>
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_DROP" class="hiddenlink" target="rightframe">RECEIVE_OPTIONS_DROP</A>
+</nobr><br>
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE" class="hiddenlink" target="rightframe">RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.RECORDING_ERROR_INSUFFICIENT_SPACE" class="hiddenlink" target="rightframe">RECORDING_ERROR_INSUFFICIENT_SPACE</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.RECORDING_ERROR_RESOURCE_BUSY" class="hiddenlink" target="rightframe">RECORDING_ERROR_RESOURCE_BUSY</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.RECORDING_ERROR_UNKNOWN" class="hiddenlink" target="rightframe">RECORDING_ERROR_UNKNOWN</A>
+</nobr><br>
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.REJECTED_TYPE" class="hiddenlink" target="rightframe">REJECTED_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.resizeableActivity" class="hiddenlink" target="rightframe">resizeableActivity</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_DISABLED" class="hiddenlink" target="rightframe">RESTRICT_BACKGROUND_STATUS_DISABLED</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_ENABLED" class="hiddenlink" target="rightframe">RESTRICT_BACKGROUND_STATUS_ENABLED</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_WHITELISTED" class="hiddenlink" target="rightframe">RESTRICT_BACKGROUND_STATUS_WHITELISTED</A>
+</nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.ROAMING_ALL" class="hiddenlink" target="rightframe">ROAMING_ALL</A>
+</nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.ROAMING_NO" class="hiddenlink" target="rightframe">ROAMING_NO</A>
+</nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.ROAMING_YES" class="hiddenlink" target="rightframe">ROAMING_YES</A>
+</nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.AudioFormat.html#android.media.AudioFormat.SAMPLE_RATE_UNSPECIFIED" class="hiddenlink" target="rightframe">SAMPLE_RATE_UNSPECIFIED</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.camera2.CaptureResult.html#android.hardware.camera2.CaptureResult.SENSOR_DYNAMIC_BLACK_LEVEL" class="hiddenlink" target="rightframe">SENSOR_DYNAMIC_BLACK_LEVEL</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.camera2.CaptureResult.html#android.hardware.camera2.CaptureResult.SENSOR_DYNAMIC_WHITE_LEVEL" class="hiddenlink" target="rightframe">SENSOR_DYNAMIC_WHITE_LEVEL</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.camera2.CameraCharacteristics.html#android.hardware.camera2.CameraCharacteristics.SENSOR_OPTICAL_BLACK_REGIONS" class="hiddenlink" target="rightframe">SENSOR_OPTICAL_BLACK_REGIONS</A>
+</nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.SHOW_MODE_AUTO" class="hiddenlink" target="rightframe">SHOW_MODE_AUTO</A>
+</nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.SHOW_MODE_HIDDEN" class="hiddenlink" target="rightframe">SHOW_MODE_HIDDEN</A>
+</nobr><br>
+<nobr><A HREF="android.service.voice.VoiceInteractionSession.html#android.service.voice.VoiceInteractionSession.SHOW_SOURCE_ACTIVITY" class="hiddenlink" target="rightframe">SHOW_SOURCE_ACTIVITY</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.SKIP_SETUP_WIZARD" class="hiddenlink" target="rightframe">SKIP_SETUP_WIZARD</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Telephony.Sms.Intents.html#android.provider.Telephony.Sms.Intents.SMS_EMERGENCY_CB_RECEIVED_ACTION" class="hiddenlink" target="rightframe"><strike>SMS_EMERGENCY_CB_RECEIVED_ACTION</strike></A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.startX" class="hiddenlink" target="rightframe">startX</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.startY" class="hiddenlink" target="rightframe">startY</A>
+</nobr><br>
+<nobr><A HREF="android.app.Service.html#android.app.Service.STOP_FOREGROUND_DETACH" class="hiddenlink" target="rightframe">STOP_FOREGROUND_DETACH</A>
+</nobr><br>
+<nobr><A HREF="android.app.Service.html#android.app.Service.STOP_FOREGROUND_REMOVE" class="hiddenlink" target="rightframe">STOP_FOREGROUND_REMOVE</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.STRING_TYPE_HEART_BEAT" class="hiddenlink" target="rightframe">STRING_TYPE_HEART_BEAT</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.STRING_TYPE_MOTION_DETECT" class="hiddenlink" target="rightframe">STRING_TYPE_MOTION_DETECT</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.STRING_TYPE_POSE_6DOF" class="hiddenlink" target="rightframe">STRING_TYPE_POSE_6DOF</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.STRING_TYPE_STATIONARY_DETECT" class="hiddenlink" target="rightframe">STRING_TYPE_STATIONARY_DETECT</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.subMenuArrow" class="hiddenlink" target="rightframe">subMenuArrow</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.supportsLocalInteraction" class="hiddenlink" target="rightframe">supportsLocalInteraction</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.supportsPictureInPicture" class="hiddenlink" target="rightframe">supportsPictureInPicture</A>
+</nobr><br>
+<i>SUPPRESSED_EFFECT_SCREEN_OFF</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_OFF" class="hiddenlink" target="rightframe">android.app.NotificationManager.Policy</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.SUPPRESSED_EFFECT_SCREEN_OFF" class="hiddenlink" target="rightframe">android.service.notification.NotificationListenerService</A>
+</nobr><br>
+<i>SUPPRESSED_EFFECT_SCREEN_ON</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON" class="hiddenlink" target="rightframe">android.app.NotificationManager.Policy</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.SUPPRESSED_EFFECT_SCREEN_ON" class="hiddenlink" target="rightframe">android.service.notification.NotificationListenerService</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.suppressedVisualEffects" class="hiddenlink" target="rightframe">suppressedVisualEffects</A>
+</nobr><br>
+<nobr><A HREF="android.R.id.html#android.R.id.switch_widget" class="hiddenlink" target="rightframe">switch_widget</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_EXTRAS_REQUIRE_CHARGING" class="hiddenlink" target="rightframe">SYNC_EXTRAS_REQUIRE_CHARGING</A>
+</nobr><br>
+<i>SYS_PROP_SETTING_VERSION</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.SYS_PROP_SETTING_VERSION" class="hiddenlink" target="rightframe"><strike>android.provider.Settings.Global</strike></A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.SYS_PROP_SETTING_VERSION" class="hiddenlink" target="rightframe"><strike>android.provider.Settings.Secure</strike></A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SYS_PROP_SETTING_VERSION" class="hiddenlink" target="rightframe"><strike>android.provider.Settings.System</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.SYSTEM_HEALTH_SERVICE" class="hiddenlink" target="rightframe">SYSTEM_HEALTH_SERVICE</A>
+</nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_APERTURE" class="hiddenlink" target="rightframe">TAG_APERTURE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_APERTURE_VALUE" class="hiddenlink" target="rightframe">TAG_APERTURE_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_ARTIST" class="hiddenlink" target="rightframe">TAG_ARTIST</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_BITS_PER_SAMPLE" class="hiddenlink" target="rightframe">TAG_BITS_PER_SAMPLE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_BRIGHTNESS_VALUE" class="hiddenlink" target="rightframe">TAG_BRIGHTNESS_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_CFA_PATTERN" class="hiddenlink" target="rightframe">TAG_CFA_PATTERN</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COLOR_SPACE" class="hiddenlink" target="rightframe">TAG_COLOR_SPACE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COMPONENTS_CONFIGURATION" class="hiddenlink" target="rightframe">TAG_COMPONENTS_CONFIGURATION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COMPRESSED_BITS_PER_PIXEL" class="hiddenlink" target="rightframe">TAG_COMPRESSED_BITS_PER_PIXEL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COMPRESSION" class="hiddenlink" target="rightframe">TAG_COMPRESSION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_CONTRAST" class="hiddenlink" target="rightframe">TAG_CONTRAST</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_COPYRIGHT" class="hiddenlink" target="rightframe">TAG_COPYRIGHT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_CUSTOM_RENDERED" class="hiddenlink" target="rightframe">TAG_CUSTOM_RENDERED</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_DATETIME_ORIGINAL" class="hiddenlink" target="rightframe">TAG_DATETIME_ORIGINAL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_DEVICE_SETTING_DESCRIPTION" class="hiddenlink" target="rightframe">TAG_DEVICE_SETTING_DESCRIPTION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_DIGITAL_ZOOM_RATIO" class="hiddenlink" target="rightframe">TAG_DIGITAL_ZOOM_RATIO</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXIF_VERSION" class="hiddenlink" target="rightframe">TAG_EXIF_VERSION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXPOSURE_BIAS_VALUE" class="hiddenlink" target="rightframe">TAG_EXPOSURE_BIAS_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXPOSURE_INDEX" class="hiddenlink" target="rightframe">TAG_EXPOSURE_INDEX</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXPOSURE_MODE" class="hiddenlink" target="rightframe">TAG_EXPOSURE_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_EXPOSURE_PROGRAM" class="hiddenlink" target="rightframe">TAG_EXPOSURE_PROGRAM</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_F_NUMBER" class="hiddenlink" target="rightframe">TAG_F_NUMBER</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FILE_SOURCE" class="hiddenlink" target="rightframe">TAG_FILE_SOURCE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FLASH_ENERGY" class="hiddenlink" target="rightframe">TAG_FLASH_ENERGY</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FLASHPIX_VERSION" class="hiddenlink" target="rightframe">TAG_FLASHPIX_VERSION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_LENGTH_IN_35MM_FILM" class="hiddenlink" target="rightframe">TAG_FOCAL_LENGTH_IN_35MM_FILM</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_PLANE_RESOLUTION_UNIT" class="hiddenlink" target="rightframe">TAG_FOCAL_PLANE_RESOLUTION_UNIT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_PLANE_X_RESOLUTION" class="hiddenlink" target="rightframe">TAG_FOCAL_PLANE_X_RESOLUTION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_PLANE_Y_RESOLUTION" class="hiddenlink" target="rightframe">TAG_FOCAL_PLANE_Y_RESOLUTION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GAIN_CONTROL" class="hiddenlink" target="rightframe">TAG_GAIN_CONTROL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_AREA_INFORMATION" class="hiddenlink" target="rightframe">TAG_GPS_AREA_INFORMATION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_BEARING" class="hiddenlink" target="rightframe">TAG_GPS_DEST_BEARING</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_BEARING_REF" class="hiddenlink" target="rightframe">TAG_GPS_DEST_BEARING_REF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_DISTANCE" class="hiddenlink" target="rightframe">TAG_GPS_DEST_DISTANCE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_DISTANCE_REF" class="hiddenlink" target="rightframe">TAG_GPS_DEST_DISTANCE_REF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_LATITUDE" class="hiddenlink" target="rightframe">TAG_GPS_DEST_LATITUDE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_LATITUDE_REF" class="hiddenlink" target="rightframe">TAG_GPS_DEST_LATITUDE_REF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_LONGITUDE" class="hiddenlink" target="rightframe">TAG_GPS_DEST_LONGITUDE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DEST_LONGITUDE_REF" class="hiddenlink" target="rightframe">TAG_GPS_DEST_LONGITUDE_REF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DIFFERENTIAL" class="hiddenlink" target="rightframe">TAG_GPS_DIFFERENTIAL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DOP" class="hiddenlink" target="rightframe">TAG_GPS_DOP</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_IMG_DIRECTION" class="hiddenlink" target="rightframe">TAG_GPS_IMG_DIRECTION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_IMG_DIRECTION_REF" class="hiddenlink" target="rightframe">TAG_GPS_IMG_DIRECTION_REF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_MAP_DATUM" class="hiddenlink" target="rightframe">TAG_GPS_MAP_DATUM</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_MEASURE_MODE" class="hiddenlink" target="rightframe">TAG_GPS_MEASURE_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_SATELLITES" class="hiddenlink" target="rightframe">TAG_GPS_SATELLITES</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_SPEED" class="hiddenlink" target="rightframe">TAG_GPS_SPEED</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_SPEED_REF" class="hiddenlink" target="rightframe">TAG_GPS_SPEED_REF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_STATUS" class="hiddenlink" target="rightframe">TAG_GPS_STATUS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_TRACK" class="hiddenlink" target="rightframe">TAG_GPS_TRACK</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_TRACK_REF" class="hiddenlink" target="rightframe">TAG_GPS_TRACK_REF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_VERSION_ID" class="hiddenlink" target="rightframe">TAG_GPS_VERSION_ID</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_IMAGE_DESCRIPTION" class="hiddenlink" target="rightframe">TAG_IMAGE_DESCRIPTION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_IMAGE_UNIQUE_ID" class="hiddenlink" target="rightframe">TAG_IMAGE_UNIQUE_ID</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_INTEROPERABILITY_INDEX" class="hiddenlink" target="rightframe">TAG_INTEROPERABILITY_INDEX</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_ISO" class="hiddenlink" target="rightframe">TAG_ISO</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_ISO_SPEED_RATINGS" class="hiddenlink" target="rightframe">TAG_ISO_SPEED_RATINGS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_JPEG_INTERCHANGE_FORMAT" class="hiddenlink" target="rightframe">TAG_JPEG_INTERCHANGE_FORMAT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_JPEG_INTERCHANGE_FORMAT_LENGTH" class="hiddenlink" target="rightframe">TAG_JPEG_INTERCHANGE_FORMAT_LENGTH</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_LIGHT_SOURCE" class="hiddenlink" target="rightframe">TAG_LIGHT_SOURCE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_MAKER_NOTE" class="hiddenlink" target="rightframe">TAG_MAKER_NOTE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_MAX_APERTURE_VALUE" class="hiddenlink" target="rightframe">TAG_MAX_APERTURE_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_METERING_MODE" class="hiddenlink" target="rightframe">TAG_METERING_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.TAG_NONE" class="hiddenlink" target="rightframe">TAG_NONE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_OECF" class="hiddenlink" target="rightframe">TAG_OECF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PHOTOMETRIC_INTERPRETATION" class="hiddenlink" target="rightframe">TAG_PHOTOMETRIC_INTERPRETATION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PIXEL_X_DIMENSION" class="hiddenlink" target="rightframe">TAG_PIXEL_X_DIMENSION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PIXEL_Y_DIMENSION" class="hiddenlink" target="rightframe">TAG_PIXEL_Y_DIMENSION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PLANAR_CONFIGURATION" class="hiddenlink" target="rightframe">TAG_PLANAR_CONFIGURATION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_PRIMARY_CHROMATICITIES" class="hiddenlink" target="rightframe">TAG_PRIMARY_CHROMATICITIES</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_REFERENCE_BLACK_WHITE" class="hiddenlink" target="rightframe">TAG_REFERENCE_BLACK_WHITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_RELATED_SOUND_FILE" class="hiddenlink" target="rightframe">TAG_RELATED_SOUND_FILE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_RESOLUTION_UNIT" class="hiddenlink" target="rightframe">TAG_RESOLUTION_UNIT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_ROWS_PER_STRIP" class="hiddenlink" target="rightframe">TAG_ROWS_PER_STRIP</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SAMPLES_PER_PIXEL" class="hiddenlink" target="rightframe">TAG_SAMPLES_PER_PIXEL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SATURATION" class="hiddenlink" target="rightframe">TAG_SATURATION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SCENE_CAPTURE_TYPE" class="hiddenlink" target="rightframe">TAG_SCENE_CAPTURE_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SCENE_TYPE" class="hiddenlink" target="rightframe">TAG_SCENE_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SENSING_METHOD" class="hiddenlink" target="rightframe">TAG_SENSING_METHOD</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SHARPNESS" class="hiddenlink" target="rightframe">TAG_SHARPNESS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SHUTTER_SPEED_VALUE" class="hiddenlink" target="rightframe">TAG_SHUTTER_SPEED_VALUE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SOFTWARE" class="hiddenlink" target="rightframe">TAG_SOFTWARE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SPATIAL_FREQUENCY_RESPONSE" class="hiddenlink" target="rightframe">TAG_SPATIAL_FREQUENCY_RESPONSE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SPECTRAL_SENSITIVITY" class="hiddenlink" target="rightframe">TAG_SPECTRAL_SENSITIVITY</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_STRIP_BYTE_COUNTS" class="hiddenlink" target="rightframe">TAG_STRIP_BYTE_COUNTS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_STRIP_OFFSETS" class="hiddenlink" target="rightframe">TAG_STRIP_OFFSETS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBJECT_AREA" class="hiddenlink" target="rightframe">TAG_SUBJECT_AREA</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBJECT_DISTANCE" class="hiddenlink" target="rightframe">TAG_SUBJECT_DISTANCE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBJECT_DISTANCE_RANGE" class="hiddenlink" target="rightframe">TAG_SUBJECT_DISTANCE_RANGE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBJECT_LOCATION" class="hiddenlink" target="rightframe">TAG_SUBJECT_LOCATION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBSEC_TIME_DIG" class="hiddenlink" target="rightframe">TAG_SUBSEC_TIME_DIG</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBSEC_TIME_DIGITIZED" class="hiddenlink" target="rightframe">TAG_SUBSEC_TIME_DIGITIZED</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBSEC_TIME_ORIG" class="hiddenlink" target="rightframe">TAG_SUBSEC_TIME_ORIG</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBSEC_TIME_ORIGINAL" class="hiddenlink" target="rightframe">TAG_SUBSEC_TIME_ORIGINAL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_THUMBNAIL_IMAGE_LENGTH" class="hiddenlink" target="rightframe">TAG_THUMBNAIL_IMAGE_LENGTH</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_THUMBNAIL_IMAGE_WIDTH" class="hiddenlink" target="rightframe">TAG_THUMBNAIL_IMAGE_WIDTH</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_TRANSFER_FUNCTION" class="hiddenlink" target="rightframe">TAG_TRANSFER_FUNCTION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_USER_COMMENT" class="hiddenlink" target="rightframe">TAG_USER_COMMENT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_WHITE_POINT" class="hiddenlink" target="rightframe">TAG_WHITE_POINT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_X_RESOLUTION" class="hiddenlink" target="rightframe">TAG_X_RESOLUTION</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_Y_CB_CR_COEFFICIENTS" class="hiddenlink" target="rightframe">TAG_Y_CB_CR_COEFFICIENTS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_Y_CB_CR_POSITIONING" class="hiddenlink" target="rightframe">TAG_Y_CB_CR_POSITIONING</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_Y_CB_CR_SUB_SAMPLING" class="hiddenlink" target="rightframe">TAG_Y_CB_CR_SUB_SAMPLING</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_Y_RESOLUTION" class="hiddenlink" target="rightframe">TAG_Y_RESOLUTION</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Material_Widget_Button_Borderless_Colored" class="hiddenlink" target="rightframe">TextAppearance_Material_Widget_Button_Borderless_Colored</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Material_Widget_Button_Colored" class="hiddenlink" target="rightframe">TextAppearance_Material_Widget_Button_Colored</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAppearancePopupMenuHeader" class="hiddenlink" target="rightframe">textAppearancePopupMenuHeader</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_Material_Light_DialogWhenLarge_DarkActionBar" class="hiddenlink" target="rightframe">Theme_Material_Light_DialogWhenLarge_DarkActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMark" class="hiddenlink" target="rightframe">tickMark</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMarkTint" class="hiddenlink" target="rightframe">tickMarkTint</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMarkTintMode" class="hiddenlink" target="rightframe">tickMarkTintMode</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioTimestamp.html#android.media.AudioTimestamp.TIMEBASE_BOOTTIME" class="hiddenlink" target="rightframe">TIMEBASE_BOOTTIME</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioTimestamp.html#android.media.AudioTimestamp.TIMEBASE_MONOTONIC" class="hiddenlink" target="rightframe">TIMEBASE_MONOTONIC</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMargin" class="hiddenlink" target="rightframe">titleMargin</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginBottom" class="hiddenlink" target="rightframe">titleMarginBottom</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginEnd" class="hiddenlink" target="rightframe">titleMarginEnd</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginStart" class="hiddenlink" target="rightframe">titleMarginStart</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginTop" class="hiddenlink" target="rightframe">titleMarginTop</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.TO_HTML_PARAGRAPH_LINES_CONSECUTIVE" class="hiddenlink" target="rightframe">TO_HTML_PARAGRAPH_LINES_CONSECUTIVE</A>
+</nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.TO_HTML_PARAGRAPH_LINES_INDIVIDUAL" class="hiddenlink" target="rightframe">TO_HTML_PARAGRAPH_LINES_INDIVIDUAL</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tunerCount" class="hiddenlink" target="rightframe">tunerCount</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioDeviceInfo.html#android.media.AudioDeviceInfo.TYPE_BUS" class="hiddenlink" target="rightframe">TYPE_BUS</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_DEVICE_PRIVATE_BASE" class="hiddenlink" target="rightframe">TYPE_DEVICE_PRIVATE_BASE</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_HEART_BEAT" class="hiddenlink" target="rightframe">TYPE_HEART_BEAT</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_MOTION_DETECT" class="hiddenlink" target="rightframe">TYPE_MOTION_DETECT</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_POSE_6DOF" class="hiddenlink" target="rightframe">TYPE_POSE_6DOF</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityWindowInfo.html#android.view.accessibility.AccessibilityWindowInfo.TYPE_SPLIT_SCREEN_DIVIDER" class="hiddenlink" target="rightframe">TYPE_SPLIT_SCREEN_DIVIDER</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_STATIONARY_DETECT" class="hiddenlink" target="rightframe">TYPE_STATIONARY_DETECT</A>
+</nobr><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.net.wifi.WifiEnterpriseConfig.Eap.html#android.net.wifi.WifiEnterpriseConfig.Eap.UNAUTH_TLS" class="hiddenlink" target="rightframe">UNAUTH_TLS</A>
+</nobr><br>
+<nobr><A HREF="java.util.regex.Pattern.html#java.util.regex.Pattern.UNICODE_CHARACTER_CLASS" class="hiddenlink" target="rightframe">UNICODE_CHARACTER_CLASS</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.AudioSource.html#android.media.MediaRecorder.AudioSource.UNPROCESSED" class="hiddenlink" target="rightframe">UNPROCESSED</A>
+</nobr><br>
+<nobr><A HREF="android.widget.FrameLayout.LayoutParams.html#android.widget.FrameLayout.LayoutParams.UNSPECIFIED_GRAVITY" class="hiddenlink" target="rightframe">UNSPECIFIED_GRAVITY</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.use32bitAbi" class="hiddenlink" target="rightframe">use32bitAbi</A>
+</nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.USER_CREATION_FAILED_NO_MORE_USERS" class="hiddenlink" target="rightframe">USER_CREATION_FAILED_NO_MORE_USERS</A>
+</nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.USER_CREATION_FAILED_NOT_PERMITTED" class="hiddenlink" target="rightframe">USER_CREATION_FAILED_NOT_PERMITTED</A>
+</nobr><br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>version</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.version" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.FeatureInfo.html#android.content.pm.FeatureInfo.version" class="hiddenlink" target="rightframe">android.content.pm.FeatureInfo</A>
+</nobr><br>
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.VIA_NUMBER" class="hiddenlink" target="rightframe">VIA_NUMBER</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level1" class="hiddenlink" target="rightframe">VP9Level1</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level11" class="hiddenlink" target="rightframe">VP9Level11</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level2" class="hiddenlink" target="rightframe">VP9Level2</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level21" class="hiddenlink" target="rightframe">VP9Level21</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level3" class="hiddenlink" target="rightframe">VP9Level3</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level31" class="hiddenlink" target="rightframe">VP9Level31</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level4" class="hiddenlink" target="rightframe">VP9Level4</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level41" class="hiddenlink" target="rightframe">VP9Level41</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level5" class="hiddenlink" target="rightframe">VP9Level5</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level51" class="hiddenlink" target="rightframe">VP9Level51</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level52" class="hiddenlink" target="rightframe">VP9Level52</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level6" class="hiddenlink" target="rightframe">VP9Level6</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level61" class="hiddenlink" target="rightframe">VP9Level61</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Level62" class="hiddenlink" target="rightframe">VP9Level62</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile0" class="hiddenlink" target="rightframe">VP9Profile0</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile1" class="hiddenlink" target="rightframe">VP9Profile1</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile2" class="hiddenlink" target="rightframe">VP9Profile2</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile2HDR" class="hiddenlink" target="rightframe">VP9Profile2HDR</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile3" class="hiddenlink" target="rightframe">VP9Profile3</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.VP9Profile3HDR" class="hiddenlink" target="rightframe">VP9Profile3HDR</A>
+</nobr><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_CompoundButton_Switch" class="hiddenlink" target="rightframe">Widget_Material_CompoundButton_Switch</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_Light_CompoundButton_Switch" class="hiddenlink" target="rightframe">Widget_Material_Light_CompoundButton_Switch</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_Light_NumberPicker" class="hiddenlink" target="rightframe">Widget_Material_Light_NumberPicker</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_NumberPicker" class="hiddenlink" target="rightframe">Widget_Material_NumberPicker</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Material_SeekBar_Discrete" class="hiddenlink" target="rightframe">Widget_Material_SeekBar_Discrete</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.windowBackgroundFallback" class="hiddenlink" target="rightframe">windowBackgroundFallback</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.windowLayout" class="hiddenlink" target="rightframe">windowLayout</A>
+</nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/fields_index_changes.html b/docs/html/sdk/api_diff/24/changes/fields_index_changes.html
new file mode 100644
index 0000000..9dc60e2
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/fields_index_changes.html
@@ -0,0 +1,303 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Field Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Fields" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="fields_index_all.html" class="staysblack">All Fields</a>
+  <br>
+<A HREF="fields_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="fields_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.ACTION_NEW_PICTURE" class="hiddenlink" target="rightframe">ACTION_NEW_PICTURE</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.ACTION_NEW_VIDEO" class="hiddenlink" target="rightframe">ACTION_NEW_VIDEO</A>
+</nobr><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.bigContentView" class="hiddenlink" target="rightframe">bigContentView</A>
+</nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_EPISODE_NUMBER" class="hiddenlink" target="rightframe">COLUMN_EPISODE_NUMBER</A>
+</nobr><br>
+<nobr><A HREF="android.app.DownloadManager.html#android.app.DownloadManager.COLUMN_LOCAL_FILENAME" class="hiddenlink" target="rightframe">COLUMN_LOCAL_FILENAME</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.Programs.html#android.media.tv.TvContract.Programs.COLUMN_SEASON_NUMBER" class="hiddenlink" target="rightframe">COLUMN_SEASON_NUMBER</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.contentView" class="hiddenlink" target="rightframe">contentView</A>
+</nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.Window.html#android.view.Window.FEATURE_INDETERMINATE_PROGRESS" class="hiddenlink" target="rightframe">FEATURE_INDETERMINATE_PROGRESS</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.FEATURE_PROGRESS" class="hiddenlink" target="rightframe">FEATURE_PROGRESS</A>
+</nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.GET_DISABLED_COMPONENTS" class="hiddenlink" target="rightframe">GET_DISABLED_COMPONENTS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS" class="hiddenlink" target="rightframe">GET_DISABLED_UNTIL_USED_COMPONENTS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.GET_UNINSTALLED_PACKAGES" class="hiddenlink" target="rightframe">GET_UNINSTALLED_PACKAGES</A>
+</nobr><br>
+<nobr><A HREF="android.util.Patterns.html#android.util.Patterns.GOOD_IRI_CHAR" class="hiddenlink" target="rightframe">GOOD_IRI_CHAR</A>
+</nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.headsUpContentView" class="hiddenlink" target="rightframe">headsUpContentView</A>
+</nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inDither" class="hiddenlink" target="rightframe">inDither</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inPreferQualityOverSpeed" class="hiddenlink" target="rightframe">inPreferQualityOverSpeed</A>
+</nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.locale" class="hiddenlink" target="rightframe">locale</A>
+</nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.mCancel" class="hiddenlink" target="rightframe">mCancel</A>
+</nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.number" class="hiddenlink" target="rightframe">number</A>
+</nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_END" class="hiddenlink" target="rightframe">PROGRESS_END</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_INDETERMINATE_OFF" class="hiddenlink" target="rightframe">PROGRESS_INDETERMINATE_OFF</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_INDETERMINATE_ON" class="hiddenlink" target="rightframe">PROGRESS_INDETERMINATE_ON</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_SECONDARY_END" class="hiddenlink" target="rightframe">PROGRESS_SECONDARY_END</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_SECONDARY_START" class="hiddenlink" target="rightframe">PROGRESS_SECONDARY_START</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_START" class="hiddenlink" target="rightframe">PROGRESS_START</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_VISIBILITY_OFF" class="hiddenlink" target="rightframe">PROGRESS_VISIBILITY_OFF</A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.PROGRESS_VISIBILITY_ON" class="hiddenlink" target="rightframe">PROGRESS_VISIBILITY_ON</A>
+</nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_APERTURE" class="hiddenlink" target="rightframe">TAG_APERTURE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_ISO" class="hiddenlink" target="rightframe">TAG_ISO</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBSEC_TIME_DIG" class="hiddenlink" target="rightframe">TAG_SUBSEC_TIME_DIG</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_SUBSEC_TIME_ORIG" class="hiddenlink" target="rightframe">TAG_SUBSEC_TIME_ORIG</A>
+</nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/fields_index_removals.html b/docs/html/sdk/api_diff/24/changes/fields_index_removals.html
new file mode 100644
index 0000000..c39d901
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/fields_index_removals.html
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Field Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Fields" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="fields_index_all.html" class="staysblack">All Fields</a>
+  <br>
+<b>Removals</b>
+  <br>
+<A HREF="fields_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="fields_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.FLASHLIGHT" class="hiddenlink" target="rightframe"><strike>FLASHLIGHT</strike></A>
+</nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#F"><font size="-2">F</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.Telephony.Sms.Intents.html#android.provider.Telephony.Sms.Intents.SMS_EMERGENCY_CB_RECEIVED_ACTION" class="hiddenlink" target="rightframe"><strike>SMS_EMERGENCY_CB_RECEIVED_ACTION</strike></A>
+</nobr><br>
+<i>SYS_PROP_SETTING_VERSION</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.SYS_PROP_SETTING_VERSION" class="hiddenlink" target="rightframe"><strike>android.provider.Settings.Global</strike></A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.SYS_PROP_SETTING_VERSION" class="hiddenlink" target="rightframe"><strike>android.provider.Settings.Secure</strike></A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SYS_PROP_SETTING_VERSION" class="hiddenlink" target="rightframe"><strike>android.provider.Settings.System</strike></A>
+</nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.awt.font.NumericShaper.html b/docs/html/sdk/api_diff/24/changes/java.awt.font.NumericShaper.html
new file mode 100644
index 0000000..ac56222
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.awt.font.NumericShaper.html
@@ -0,0 +1,150 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.awt.font.NumericShaper
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.awt.font.<A HREF="../../../../reference/java/awt/font/NumericShaper.html" target="_top"><font size="+2"><code>NumericShaper</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.awt.font.NumericShaper.getContextualShaper_added(java.util.Set<java.awt.font.NumericShaper.Range>)"></A>
+  <nobr><code>NumericShaper</code>&nbsp;<A HREF="../../../../reference/java/awt/font/NumericShaper.html#getContextualShaper(java.util.Set<java.awt.font.NumericShaper.Range>)" target="_top"><code>getContextualShaper</code></A>(<code>Set&lt;Range&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.awt.font.NumericShaper.getContextualShaper_added(java.util.Set<java.awt.font.NumericShaper.Range>, java.awt.font.NumericShaper.Range)"></A>
+  <nobr><code>NumericShaper</code>&nbsp;<A HREF="../../../../reference/java/awt/font/NumericShaper.html#getContextualShaper(java.util.Set<java.awt.font.NumericShaper.Range>, java.awt.font.NumericShaper.Range)" target="_top"><code>getContextualShaper</code></A>(<code>Set&lt;Range&gt;,</nobr> Range<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.awt.font.NumericShaper.getRangeSet_added()"></A>
+  <nobr><code>Set&lt;Range&gt;</code>&nbsp;<A HREF="../../../../reference/java/awt/font/NumericShaper.html#getRangeSet()" target="_top"><code>getRangeSet</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.awt.font.NumericShaper.getShaper_added(java.awt.font.NumericShaper.Range)"></A>
+  <nobr><code>NumericShaper</code>&nbsp;<A HREF="../../../../reference/java/awt/font/NumericShaper.html#getShaper(java.awt.font.NumericShaper.Range)" target="_top"><code>getShaper</code></A>(<code>Range</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.awt.font.NumericShaper.shape_added(char[], int, int, java.awt.font.NumericShaper.Range)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/awt/font/NumericShaper.html#shape(char[], int, int, java.awt.font.NumericShaper.Range)" target="_top"><code>shape</code></A>(<code>char[],</nobr> int<nobr>,</nobr> int<nobr>,</nobr> Range<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.io.BufferedReader.html b/docs/html/sdk/api_diff/24/changes/java.io.BufferedReader.html
new file mode 100644
index 0000000..e56ad82
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.io.BufferedReader.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.io.BufferedReader
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.io.<A HREF="../../../../reference/java/io/BufferedReader.html" target="_top"><font size="+2"><code>BufferedReader</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.BufferedReader.lines_added()"></A>
+  <nobr><code>Stream&lt;String&gt;</code>&nbsp;<A HREF="../../../../reference/java/io/BufferedReader.html#lines()" target="_top"><code>lines</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.io.ObjectInputStream.GetField.html b/docs/html/sdk/api_diff/24/changes/java.io.ObjectInputStream.GetField.html
new file mode 100644
index 0000000..53e9da3
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.io.ObjectInputStream.GetField.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.io.ObjectInputStream.GetField
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.io.<A HREF="../../../../reference/java/io/ObjectInputStream.GetField.html" target="_top"><font size="+2"><code>ObjectInputStream.GetField</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.ObjectInputStream.GetField.defaulted_changed(java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectInputStream.GetField.html#defaulted(java.lang.String)" target="_top"><code>defaulted</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.io.IOException, java.lang.IllegalArgumentException</code>) to <code>java.io.IOException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.ObjectInputStream.GetField.get_changed(java.lang.String, boolean)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectInputStream.GetField.html#get(java.lang.String, boolean)" target="_top"><code>get</code></A>(<code>String,</nobr> boolean<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.io.IOException, java.lang.IllegalArgumentException</code>) to <code>java.io.IOException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.ObjectInputStream.GetField.get_changed(java.lang.String, byte)"></A>
+  <nobr><code>byte</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectInputStream.GetField.html#get(java.lang.String, byte)" target="_top"><code>get</code></A>(<code>String,</nobr> byte<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.io.IOException, java.lang.IllegalArgumentException</code>) to <code>java.io.IOException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.ObjectInputStream.GetField.get_changed(java.lang.String, char)"></A>
+  <nobr><code>char</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectInputStream.GetField.html#get(java.lang.String, char)" target="_top"><code>get</code></A>(<code>String,</nobr> char<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.io.IOException, java.lang.IllegalArgumentException</code>) to <code>java.io.IOException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.ObjectInputStream.GetField.get_changed(java.lang.String, double)"></A>
+  <nobr><code>double</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectInputStream.GetField.html#get(java.lang.String, double)" target="_top"><code>get</code></A>(<code>String,</nobr> double<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.io.IOException, java.lang.IllegalArgumentException</code>) to <code>java.io.IOException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.ObjectInputStream.GetField.get_changed(java.lang.String, float)"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectInputStream.GetField.html#get(java.lang.String, float)" target="_top"><code>get</code></A>(<code>String,</nobr> float<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.io.IOException, java.lang.IllegalArgumentException</code>) to <code>java.io.IOException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.ObjectInputStream.GetField.get_changed(java.lang.String, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectInputStream.GetField.html#get(java.lang.String, int)" target="_top"><code>get</code></A>(<code>String,</nobr> int<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.io.IOException, java.lang.IllegalArgumentException</code>) to <code>java.io.IOException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.ObjectInputStream.GetField.get_changed(java.lang.String, java.lang.Object)"></A>
+  <nobr><code>Object</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectInputStream.GetField.html#get(java.lang.String, java.lang.Object)" target="_top"><code>get</code></A>(<code>String,</nobr> Object<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.io.IOException, java.lang.IllegalArgumentException</code>) to <code>java.io.IOException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.ObjectInputStream.GetField.get_changed(java.lang.String, long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectInputStream.GetField.html#get(java.lang.String, long)" target="_top"><code>get</code></A>(<code>String,</nobr> long<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.io.IOException, java.lang.IllegalArgumentException</code>) to <code>java.io.IOException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.ObjectInputStream.GetField.get_changed(java.lang.String, short)"></A>
+  <nobr><code>short</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectInputStream.GetField.html#get(java.lang.String, short)" target="_top"><code>get</code></A>(<code>String,</nobr> short<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.io.IOException, java.lang.IllegalArgumentException</code>) to <code>java.io.IOException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.io.ObjectInputStream.html b/docs/html/sdk/api_diff/24/changes/java.io.ObjectInputStream.html
new file mode 100644
index 0000000..d50e267
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.io.ObjectInputStream.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.io.ObjectInputStream
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.io.<A HREF="../../../../reference/java/io/ObjectInputStream.html" target="_top"><font size="+2"><code>ObjectInputStream</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.ObjectInputStream.defaultReadObject_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectInputStream.html#defaultReadObject()" target="_top"><code>defaultReadObject</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions: <code>java.io.NotActiveException</code> was removed..<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.ObjectInputStream.enableResolveObject_changed(boolean)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectInputStream.html#enableResolveObject(boolean)" target="_top"><code>enableResolveObject</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.ObjectInputStream.readFields_changed()"></A>
+  <nobr><code>GetField</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectInputStream.html#readFields()" target="_top"><code>readFields</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions: <code>java.io.NotActiveException</code> was removed..<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.ObjectInputStream.readObject_changed()"></A>
+  <nobr><code>Object</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectInputStream.html#readObject()" target="_top"><code>readObject</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions: <code>java.io.OptionalDataException</code> was removed..<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.ObjectInputStream.readObjectOverride_changed()"></A>
+  <nobr><code>Object</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectInputStream.html#readObjectOverride()" target="_top"><code>readObjectOverride</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions: <code>java.io.OptionalDataException</code> was removed..<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.io.ObjectOutputStream.html b/docs/html/sdk/api_diff/24/changes/java.io.ObjectOutputStream.html
new file mode 100644
index 0000000..77255f6
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.io.ObjectOutputStream.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.io.ObjectOutputStream
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.io.<A HREF="../../../../reference/java/io/ObjectOutputStream.html" target="_top"><font size="+2"><code>ObjectOutputStream</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.ObjectOutputStream.enableReplaceObject_changed(boolean)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectOutputStream.html#enableReplaceObject(boolean)" target="_top"><code>enableReplaceObject</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.AbstractStringBuilder.html b/docs/html/sdk/api_diff/24/changes/java.lang.AbstractStringBuilder.html
new file mode 100644
index 0000000..b9f2c08
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.AbstractStringBuilder.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.AbstractStringBuilder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/AbstractStringBuilder.html" target="_top"><font size="+2"><code>AbstractStringBuilder</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>java.lang.CharSequence</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.Boolean.html b/docs/html/sdk/api_diff/24/changes/java.lang.Boolean.html
new file mode 100644
index 0000000..a72005e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.Boolean.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.Boolean
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/Boolean.html" target="_top"><font size="+2"><code>Boolean</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Boolean.hashCode_added(boolean)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Boolean.html#hashCode(boolean)" target="_top"><code>hashCode</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Boolean.logicalAnd_added(boolean, boolean)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/lang/Boolean.html#logicalAnd(boolean, boolean)" target="_top"><code>logicalAnd</code></A>(<code>boolean,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Boolean.logicalOr_added(boolean, boolean)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/lang/Boolean.html#logicalOr(boolean, boolean)" target="_top"><code>logicalOr</code></A>(<code>boolean,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Boolean.logicalXor_added(boolean, boolean)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/lang/Boolean.html#logicalXor(boolean, boolean)" target="_top"><code>logicalXor</code></A>(<code>boolean,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.Byte.html b/docs/html/sdk/api_diff/24/changes/java.lang.Byte.html
new file mode 100644
index 0000000..af9dd49
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.Byte.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.Byte
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/Byte.html" target="_top"><font size="+2"><code>Byte</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Byte.hashCode_added(byte)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Byte.html#hashCode(byte)" target="_top"><code>hashCode</code></A>(<code>byte</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Byte.BYTES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Byte.html#BYTES" target="_top"><code>BYTES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.CharSequence.html b/docs/html/sdk/api_diff/24/changes/java.lang.CharSequence.html
new file mode 100644
index 0000000..027cd71
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.CharSequence.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.CharSequence
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface java.lang.<A HREF="../../../../reference/java/lang/CharSequence.html" target="_top"><font size="+2"><code>CharSequence</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.CharSequence.chars_added()"></A>
+  <nobr><code>IntStream</code>&nbsp;<A HREF="../../../../reference/java/lang/CharSequence.html#chars()" target="_top"><code>chars</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.CharSequence.codePoints_added()"></A>
+  <nobr><code>IntStream</code>&nbsp;<A HREF="../../../../reference/java/lang/CharSequence.html#codePoints()" target="_top"><code>codePoints</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.Character.UnicodeBlock.html b/docs/html/sdk/api_diff/24/changes/java.lang.Character.UnicodeBlock.html
new file mode 100644
index 0000000..38cf135
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.Character.UnicodeBlock.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.Character.UnicodeBlock
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/Character.UnicodeBlock.html" target="_top"><font size="+2"><code>Character.UnicodeBlock</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Character.UnicodeBlock.forName_changed(java.lang.String)"></A>
+  <nobr><code>UnicodeBlock</code>&nbsp;<A HREF="../../../../reference/java/lang/Character.UnicodeBlock.html#forName(java.lang.String)" target="_top"><code>forName</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from non-final to final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.Character.html b/docs/html/sdk/api_diff/24/changes/java.lang.Character.html
new file mode 100644
index 0000000..cbbf773
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.Character.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.Character
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/Character.html" target="_top"><font size="+2"><code>Character</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Character.hashCode_added(char)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Character.html#hashCode(char)" target="_top"><code>hashCode</code></A>(<code>char</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Character.BYTES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Character.html#BYTES" target="_top"><code>BYTES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.Class.html b/docs/html/sdk/api_diff/24/changes/java.lang.Class.html
new file mode 100644
index 0000000..9dd5550
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.Class.html
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.Class
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/Class.html" target="_top"><font size="+2"><code>Class</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.isAnnotationPresent_removed(java.lang.Class<? extends java.lang.annotation.Annotation>)"></A>
+  <nobr><code>boolean</code>&nbsp;isAnnotationPresent(<code>Class&lt;Annotation&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getConstructor_changed(java.lang.Class<?>...)"></A>
+  <nobr><code>Constructor&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getConstructor(java.lang.Class<?>...)" target="_top"><code>getConstructor</code></A>(<code>Class&lt;?&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.NoSuchMethodException</code> to (<code>java.lang.NoSuchMethodException, java.lang.SecurityException</code>).<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getConstructors_changed()"></A>
+  <nobr><code>Constructor&lt;?&gt;</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getConstructors()" target="_top"><code>getConstructors</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getDeclaredConstructor_changed(java.lang.Class<?>...)"></A>
+  <nobr><code>Constructor&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getDeclaredConstructor(java.lang.Class<?>...)" target="_top"><code>getDeclaredConstructor</code></A>(<code>Class&lt;?&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.NoSuchMethodException</code> to (<code>java.lang.NoSuchMethodException, java.lang.SecurityException</code>).<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getDeclaredConstructors_changed()"></A>
+  <nobr><code>Constructor&lt;?&gt;</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getDeclaredConstructors()" target="_top"><code>getDeclaredConstructors</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getDeclaredMethod_changed(java.lang.String, java.lang.Class<?>...)"></A>
+  <nobr><code>Method</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getDeclaredMethod(java.lang.String, java.lang.Class<?>...)" target="_top"><code>getDeclaredMethod</code></A>(<code>String,</nobr> Class&lt;?&gt;<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.NoSuchMethodException</code> to (<code>java.lang.NoSuchMethodException, java.lang.SecurityException</code>).<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getDeclaredMethods_changed()"></A>
+  <nobr><code>Method[]</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getDeclaredMethods()" target="_top"><code>getDeclaredMethods</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getFields_changed()"></A>
+  <nobr><code>Field[]</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getFields()" target="_top"><code>getFields</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getMethod_changed(java.lang.String, java.lang.Class<?>...)"></A>
+  <nobr><code>Method</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getMethod(java.lang.String, java.lang.Class<?>...)" target="_top"><code>getMethod</code></A>(<code>String,</nobr> Class&lt;?&gt;<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.NoSuchMethodException</code> to (<code>java.lang.NoSuchMethodException, java.lang.SecurityException</code>).<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getMethods_changed()"></A>
+  <nobr><code>Method[]</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getMethods()" target="_top"><code>getMethods</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.ClassLoader.html b/docs/html/sdk/api_diff/24/changes/java.lang.ClassLoader.html
new file mode 100644
index 0000000..44dc471
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.ClassLoader.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.ClassLoader
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/ClassLoader.html" target="_top"><font size="+2"><code>ClassLoader</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.ClassLoader.registerAsParallelCapable_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/lang/ClassLoader.html#registerAsParallelCapable()" target="_top"><code>registerAsParallelCapable</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.Double.html b/docs/html/sdk/api_diff/24/changes/java.lang.Double.html
new file mode 100644
index 0000000..64c659d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.Double.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.Double
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/Double.html" target="_top"><font size="+2"><code>Double</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Double.hashCode_added(double)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Double.html#hashCode(double)" target="_top"><code>hashCode</code></A>(<code>double</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Double.isFinite_added(double)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/lang/Double.html#isFinite(double)" target="_top"><code>isFinite</code></A>(<code>double</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Double.max_added(double, double)"></A>
+  <nobr><code>double</code>&nbsp;<A HREF="../../../../reference/java/lang/Double.html#max(double, double)" target="_top"><code>max</code></A>(<code>double,</nobr> double<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Double.min_added(double, double)"></A>
+  <nobr><code>double</code>&nbsp;<A HREF="../../../../reference/java/lang/Double.html#min(double, double)" target="_top"><code>min</code></A>(<code>double,</nobr> double<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Double.sum_added(double, double)"></A>
+  <nobr><code>double</code>&nbsp;<A HREF="../../../../reference/java/lang/Double.html#sum(double, double)" target="_top"><code>sum</code></A>(<code>double,</nobr> double<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Double.BYTES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Double.html#BYTES" target="_top"><code>BYTES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.Error.html b/docs/html/sdk/api_diff/24/changes/java.lang.Error.html
new file mode 100644
index 0000000..49a1e9e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.Error.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.Error
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/Error.html" target="_top"><font size="+2"><code>Error</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Error.ctor_added(java.lang.String, java.lang.Throwable, boolean, boolean)"></A>
+  <nobr><A HREF="../../../../reference/java/lang/Error.html#Error(java.lang.String, java.lang.Throwable, boolean, boolean)" target="_top"><code>Error</code></A>(<code>String,</nobr> Throwable<nobr>,</nobr> boolean<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.Exception.html b/docs/html/sdk/api_diff/24/changes/java.lang.Exception.html
new file mode 100644
index 0000000..0e35886
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.Exception.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.Exception
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/Exception.html" target="_top"><font size="+2"><code>Exception</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Exception.ctor_added(java.lang.String, java.lang.Throwable, boolean, boolean)"></A>
+  <nobr><A HREF="../../../../reference/java/lang/Exception.html#Exception(java.lang.String, java.lang.Throwable, boolean, boolean)" target="_top"><code>Exception</code></A>(<code>String,</nobr> Throwable<nobr>,</nobr> boolean<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.Float.html b/docs/html/sdk/api_diff/24/changes/java.lang.Float.html
new file mode 100644
index 0000000..f956944
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.Float.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.Float
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/Float.html" target="_top"><font size="+2"><code>Float</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Float.hashCode_added(float)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Float.html#hashCode(float)" target="_top"><code>hashCode</code></A>(<code>float</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Float.isFinite_added(float)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/lang/Float.html#isFinite(float)" target="_top"><code>isFinite</code></A>(<code>float</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Float.max_added(float, float)"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/java/lang/Float.html#max(float, float)" target="_top"><code>max</code></A>(<code>float,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Float.min_added(float, float)"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/java/lang/Float.html#min(float, float)" target="_top"><code>min</code></A>(<code>float,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Float.sum_added(float, float)"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/java/lang/Float.html#sum(float, float)" target="_top"><code>sum</code></A>(<code>float,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Float.BYTES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Float.html#BYTES" target="_top"><code>BYTES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.Integer.html b/docs/html/sdk/api_diff/24/changes/java.lang.Integer.html
new file mode 100644
index 0000000..c2f7af7
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.Integer.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.Integer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/Integer.html" target="_top"><font size="+2"><code>Integer</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Integer.hashCode_added(int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Integer.html#hashCode(int)" target="_top"><code>hashCode</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Integer.max_added(int, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Integer.html#max(int, int)" target="_top"><code>max</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Integer.min_added(int, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Integer.html#min(int, int)" target="_top"><code>min</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Integer.sum_added(int, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Integer.html#sum(int, int)" target="_top"><code>sum</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Integer.BYTES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Integer.html#BYTES" target="_top"><code>BYTES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.InternalError.html b/docs/html/sdk/api_diff/24/changes/java.lang.InternalError.html
new file mode 100644
index 0000000..4ab4d6c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.InternalError.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.InternalError
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/InternalError.html" target="_top"><font size="+2"><code>InternalError</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.InternalError.ctor_added(java.lang.String, java.lang.Throwable)"></A>
+  <nobr><A HREF="../../../../reference/java/lang/InternalError.html#InternalError(java.lang.String, java.lang.Throwable)" target="_top"><code>InternalError</code></A>(<code>String,</nobr> Throwable<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.InternalError.ctor_added(java.lang.Throwable)"></A>
+  <nobr><A HREF="../../../../reference/java/lang/InternalError.html#InternalError(java.lang.Throwable)" target="_top"><code>InternalError</code></A>(<code>Throwable</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.Iterable.html b/docs/html/sdk/api_diff/24/changes/java.lang.Iterable.html
new file mode 100644
index 0000000..c1a581a
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.Iterable.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.Iterable
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface java.lang.<A HREF="../../../../reference/java/lang/Iterable.html" target="_top"><font size="+2"><code>Iterable</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Iterable.forEach_added(java.util.function.Consumer<? super T>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/lang/Iterable.html#forEach(java.util.function.Consumer<? super T>)" target="_top"><code>forEach</code></A>(<code>Consumer&lt;? super T&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Iterable.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/lang/Iterable.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.Long.html b/docs/html/sdk/api_diff/24/changes/java.lang.Long.html
new file mode 100644
index 0000000..2d95d13
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.Long.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.Long
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/Long.html" target="_top"><font size="+2"><code>Long</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Long.hashCode_added(long)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Long.html#hashCode(long)" target="_top"><code>hashCode</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Long.max_added(long, long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/lang/Long.html#max(long, long)" target="_top"><code>max</code></A>(<code>long,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Long.min_added(long, long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/lang/Long.html#min(long, long)" target="_top"><code>min</code></A>(<code>long,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Long.sum_added(long, long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/lang/Long.html#sum(long, long)" target="_top"><code>sum</code></A>(<code>long,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Long.BYTES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Long.html#BYTES" target="_top"><code>BYTES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.Math.html b/docs/html/sdk/api_diff/24/changes/java.lang.Math.html
new file mode 100644
index 0000000..dba4feb
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.Math.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.Math
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/Math.html" target="_top"><font size="+2"><code>Math</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.addExact_added(int, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#addExact(int, int)" target="_top"><code>addExact</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.addExact_added(long, long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#addExact(long, long)" target="_top"><code>addExact</code></A>(<code>long,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.decrementExact_added(int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#decrementExact(int)" target="_top"><code>decrementExact</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.decrementExact_added(long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#decrementExact(long)" target="_top"><code>decrementExact</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.floorDiv_added(int, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#floorDiv(int, int)" target="_top"><code>floorDiv</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.floorDiv_added(long, long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#floorDiv(long, long)" target="_top"><code>floorDiv</code></A>(<code>long,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.floorMod_added(int, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#floorMod(int, int)" target="_top"><code>floorMod</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.floorMod_added(long, long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#floorMod(long, long)" target="_top"><code>floorMod</code></A>(<code>long,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.incrementExact_added(int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#incrementExact(int)" target="_top"><code>incrementExact</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.incrementExact_added(long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#incrementExact(long)" target="_top"><code>incrementExact</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.multiplyExact_added(int, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#multiplyExact(int, int)" target="_top"><code>multiplyExact</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.multiplyExact_added(long, long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#multiplyExact(long, long)" target="_top"><code>multiplyExact</code></A>(<code>long,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.negateExact_added(int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#negateExact(int)" target="_top"><code>negateExact</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.negateExact_added(long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#negateExact(long)" target="_top"><code>negateExact</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.nextDown_added(double)"></A>
+  <nobr><code>double</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#nextDown(double)" target="_top"><code>nextDown</code></A>(<code>double</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.nextDown_added(float)"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#nextDown(float)" target="_top"><code>nextDown</code></A>(<code>float</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.subtractExact_added(int, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#subtractExact(int, int)" target="_top"><code>subtractExact</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.subtractExact_added(long, long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#subtractExact(long, long)" target="_top"><code>subtractExact</code></A>(<code>long,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Math.toIntExact_added(long)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Math.html#toIntExact(long)" target="_top"><code>toIntExact</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.Package.html b/docs/html/sdk/api_diff/24/changes/java.lang.Package.html
new file mode 100644
index 0000000..6020c20
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.Package.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.Package
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/Package.html" target="_top"><font size="+2"><code>Package</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Package.isAnnotationPresent_removed(java.lang.Class<? extends java.lang.annotation.Annotation>)"></A>
+  <nobr><code>boolean</code>&nbsp;isAnnotationPresent(<code>Class&lt;Annotation&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Package.getAnnotationsByType_added(java.lang.Class<A>)"></A>
+  <nobr><code>A[]</code>&nbsp;<A HREF="../../../../reference/java/lang/Package.html#getAnnotationsByType(java.lang.Class<A>)" target="_top"><code>getAnnotationsByType</code></A>(<code>Class&lt;A&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Package.getDeclaredAnnotation_added(java.lang.Class<A>)"></A>
+  <nobr><code>A</code>&nbsp;<A HREF="../../../../reference/java/lang/Package.html#getDeclaredAnnotation(java.lang.Class<A>)" target="_top"><code>getDeclaredAnnotation</code></A>(<code>Class&lt;A&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Package.getDeclaredAnnotationsByType_added(java.lang.Class<A>)"></A>
+  <nobr><code>A[]</code>&nbsp;<A HREF="../../../../reference/java/lang/Package.html#getDeclaredAnnotationsByType(java.lang.Class<A>)" target="_top"><code>getDeclaredAnnotationsByType</code></A>(<code>Class&lt;A&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.RuntimeException.html b/docs/html/sdk/api_diff/24/changes/java.lang.RuntimeException.html
new file mode 100644
index 0000000..aa05190
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.RuntimeException.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.RuntimeException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/RuntimeException.html" target="_top"><font size="+2"><code>RuntimeException</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.RuntimeException.ctor_added(java.lang.String, java.lang.Throwable, boolean, boolean)"></A>
+  <nobr><A HREF="../../../../reference/java/lang/RuntimeException.html#RuntimeException(java.lang.String, java.lang.Throwable, boolean, boolean)" target="_top"><code>RuntimeException</code></A>(<code>String,</nobr> Throwable<nobr>,</nobr> boolean<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.Short.html b/docs/html/sdk/api_diff/24/changes/java.lang.Short.html
new file mode 100644
index 0000000..b122d4f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.Short.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.Short
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/Short.html" target="_top"><font size="+2"><code>Short</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Short.hashCode_added(short)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Short.html#hashCode(short)" target="_top"><code>hashCode</code></A>(<code>short</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Short.BYTES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Short.html#BYTES" target="_top"><code>BYTES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.StrictMath.html b/docs/html/sdk/api_diff/24/changes/java.lang.StrictMath.html
new file mode 100644
index 0000000..973f980
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.StrictMath.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.StrictMath
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/StrictMath.html" target="_top"><font size="+2"><code>StrictMath</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StrictMath.addExact_added(int, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/StrictMath.html#addExact(int, int)" target="_top"><code>addExact</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StrictMath.addExact_added(long, long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/lang/StrictMath.html#addExact(long, long)" target="_top"><code>addExact</code></A>(<code>long,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StrictMath.floorDiv_added(int, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/StrictMath.html#floorDiv(int, int)" target="_top"><code>floorDiv</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StrictMath.floorDiv_added(long, long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/lang/StrictMath.html#floorDiv(long, long)" target="_top"><code>floorDiv</code></A>(<code>long,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StrictMath.floorMod_added(int, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/StrictMath.html#floorMod(int, int)" target="_top"><code>floorMod</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StrictMath.floorMod_added(long, long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/lang/StrictMath.html#floorMod(long, long)" target="_top"><code>floorMod</code></A>(<code>long,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StrictMath.multiplyExact_added(int, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/StrictMath.html#multiplyExact(int, int)" target="_top"><code>multiplyExact</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StrictMath.multiplyExact_added(long, long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/lang/StrictMath.html#multiplyExact(long, long)" target="_top"><code>multiplyExact</code></A>(<code>long,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StrictMath.nextDown_added(double)"></A>
+  <nobr><code>double</code>&nbsp;<A HREF="../../../../reference/java/lang/StrictMath.html#nextDown(double)" target="_top"><code>nextDown</code></A>(<code>double</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StrictMath.nextDown_added(float)"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/java/lang/StrictMath.html#nextDown(float)" target="_top"><code>nextDown</code></A>(<code>float</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StrictMath.subtractExact_added(int, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/StrictMath.html#subtractExact(int, int)" target="_top"><code>subtractExact</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StrictMath.subtractExact_added(long, long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/lang/StrictMath.html#subtractExact(long, long)" target="_top"><code>subtractExact</code></A>(<code>long,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StrictMath.toIntExact_added(long)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/StrictMath.html#toIntExact(long)" target="_top"><code>toIntExact</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.VirtualMachineError.html b/docs/html/sdk/api_diff/24/changes/java.lang.VirtualMachineError.html
new file mode 100644
index 0000000..6a95a58
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.VirtualMachineError.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.VirtualMachineError
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/VirtualMachineError.html" target="_top"><font size="+2"><code>VirtualMachineError</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.VirtualMachineError.ctor_added(java.lang.String, java.lang.Throwable)"></A>
+  <nobr><A HREF="../../../../reference/java/lang/VirtualMachineError.html#VirtualMachineError(java.lang.String, java.lang.Throwable)" target="_top"><code>VirtualMachineError</code></A>(<code>String,</nobr> Throwable<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.VirtualMachineError.ctor_added(java.lang.Throwable)"></A>
+  <nobr><A HREF="../../../../reference/java/lang/VirtualMachineError.html#VirtualMachineError(java.lang.Throwable)" target="_top"><code>VirtualMachineError</code></A>(<code>Throwable</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.ref.ReferenceQueue.html b/docs/html/sdk/api_diff/24/changes/java.lang.ref.ReferenceQueue.html
new file mode 100644
index 0000000..4b3ed2b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.ref.ReferenceQueue.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.ref.ReferenceQueue
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.ref.<A HREF="../../../../reference/java/lang/ref/ReferenceQueue.html" target="_top"><font size="+2"><code>ReferenceQueue</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.ref.ReferenceQueue.remove_changed(long)"></A>
+  <nobr><code>Reference&lt;? extends T&gt;</code>&nbsp;<A HREF="../../../../reference/java/lang/ref/ReferenceQueue.html#remove(long)" target="_top"><code>remove</code></A>(<code>long</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.InterruptedException</code> to (<code>java.lang.IllegalArgumentException, java.lang.InterruptedException</code>).<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.reflect.AccessibleObject.html b/docs/html/sdk/api_diff/24/changes/java.lang.reflect.AccessibleObject.html
new file mode 100644
index 0000000..c6c09cf
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.reflect.AccessibleObject.html
@@ -0,0 +1,150 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.reflect.AccessibleObject
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.reflect.<A HREF="../../../../reference/java/lang/reflect/AccessibleObject.html" target="_top"><font size="+2"><code>AccessibleObject</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.reflect.AccessibleObject.isAnnotationPresent_removed(java.lang.Class<? extends java.lang.annotation.Annotation>)"></A>
+  <nobr><code>boolean</code>&nbsp;isAnnotationPresent(<code>Class&lt;Annotation&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.reflect.AccessibleObject.setAccessible_changed(java.lang.reflect.AccessibleObject[], boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/lang/reflect/AccessibleObject.html#setAccessible(java.lang.reflect.AccessibleObject[], boolean)" target="_top"><code>setAccessible</code></A>(<code>AccessibleObject[],</nobr> boolean<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.reflect.AccessibleObject.setAccessible_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/lang/reflect/AccessibleObject.html#setAccessible(boolean)" target="_top"><code>setAccessible</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.reflect.AnnotatedElement.html b/docs/html/sdk/api_diff/24/changes/java.lang.reflect.AnnotatedElement.html
new file mode 100644
index 0000000..09c4242
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.reflect.AnnotatedElement.html
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.reflect.AnnotatedElement
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface java.lang.reflect.<A HREF="../../../../reference/java/lang/reflect/AnnotatedElement.html" target="_top"><font size="+2"><code>AnnotatedElement</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.reflect.AnnotatedElement.getAnnotationsByType_added(java.lang.Class<T>)"></A>
+  <nobr><code>T[]</code>&nbsp;<A HREF="../../../../reference/java/lang/reflect/AnnotatedElement.html#getAnnotationsByType(java.lang.Class<T>)" target="_top"><code>getAnnotationsByType</code></A>(<code>Class&lt;T&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.reflect.AnnotatedElement.getDeclaredAnnotation_added(java.lang.Class<T>)"></A>
+  <nobr><code>Annotation</code>&nbsp;<A HREF="../../../../reference/java/lang/reflect/AnnotatedElement.html#getDeclaredAnnotation(java.lang.Class<T>)" target="_top"><code>getDeclaredAnnotation</code></A>(<code>Class&lt;T&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.reflect.AnnotatedElement.getDeclaredAnnotationsByType_added(java.lang.Class<T>)"></A>
+  <nobr><code>T[]</code>&nbsp;<A HREF="../../../../reference/java/lang/reflect/AnnotatedElement.html#getDeclaredAnnotationsByType(java.lang.Class<T>)" target="_top"><code>getDeclaredAnnotationsByType</code></A>(<code>Class&lt;T&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.reflect.AnnotatedElement.isAnnotationPresent_changed(java.lang.Class<? extends java.lang.annotation.Annotation>)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/lang/reflect/AnnotatedElement.html#isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>)" target="_top"><code>isAnnotationPresent</code></A>(<code>Class&lt;Annotation&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from abstract to non-abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.reflect.Constructor.html b/docs/html/sdk/api_diff/24/changes/java.lang.reflect.Constructor.html
new file mode 100644
index 0000000..03d0109
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.reflect.Constructor.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.reflect.Constructor
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.reflect.<A HREF="../../../../reference/java/lang/reflect/Constructor.html" target="_top"><font size="+2"><code>Constructor</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.reflect.Constructor.isAnnotationPresent_changed(java.lang.Class<? extends java.lang.annotation.Annotation>)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/lang/reflect/Constructor.html#isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>)" target="_top"><code>isAnnotationPresent</code></A>(<code>Class&lt;Annotation&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was inherited from <code>java.lang.reflect.AccessibleObject</code>, but is now defined locally.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.reflect.Field.html b/docs/html/sdk/api_diff/24/changes/java.lang.reflect.Field.html
new file mode 100644
index 0000000..4b3972b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.reflect.Field.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.reflect.Field
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.reflect.<A HREF="../../../../reference/java/lang/reflect/Field.html" target="_top"><font size="+2"><code>Field</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.reflect.Field.isAnnotationPresent_changed(java.lang.Class<? extends java.lang.annotation.Annotation>)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/lang/reflect/Field.html#isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>)" target="_top"><code>isAnnotationPresent</code></A>(<code>Class&lt;Annotation&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was inherited from <code>java.lang.reflect.AccessibleObject</code>, but is now defined locally.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.lang.reflect.Method.html b/docs/html/sdk/api_diff/24/changes/java.lang.reflect.Method.html
new file mode 100644
index 0000000..51f007f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.lang.reflect.Method.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.reflect.Method
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.reflect.<A HREF="../../../../reference/java/lang/reflect/Method.html" target="_top"><font size="+2"><code>Method</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.reflect.Method.isDefault_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/lang/reflect/Method.html#isDefault()" target="_top"><code>isDefault</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.net.HttpCookie.html b/docs/html/sdk/api_diff/24/changes/java.net.HttpCookie.html
new file mode 100644
index 0000000..1ffb6d8
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.net.HttpCookie.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.net.HttpCookie
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.net.<A HREF="../../../../reference/java/net/HttpCookie.html" target="_top"><font size="+2"><code>HttpCookie</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.net.HttpCookie.isHttpOnly_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/net/HttpCookie.html#isHttpOnly()" target="_top"><code>isHttpOnly</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.net.HttpCookie.setHttpOnly_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/net/HttpCookie.html#setHttpOnly(boolean)" target="_top"><code>setHttpOnly</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.net.URLClassLoader.html b/docs/html/sdk/api_diff/24/changes/java.net.URLClassLoader.html
new file mode 100644
index 0000000..c33bdc8
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.net.URLClassLoader.html
@@ -0,0 +1,123 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.net.URLClassLoader
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.net.<A HREF="../../../../reference/java/net/URLClassLoader.html" target="_top"><font size="+2"><code>URLClassLoader</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>java.io.Closeable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.net.URLClassLoader.close_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/net/URLClassLoader.html#close()" target="_top"><code>close</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.net.URLConnection.html b/docs/html/sdk/api_diff/24/changes/java.net.URLConnection.html
new file mode 100644
index 0000000..570132e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.net.URLConnection.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.net.URLConnection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.net.<A HREF="../../../../reference/java/net/URLConnection.html" target="_top"><font size="+2"><code>URLConnection</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.net.URLConnection.getContentLengthLong_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/net/URLConnection.html#getContentLengthLong()" target="_top"><code>getContentLengthLong</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.net.URLConnection.getHeaderFieldLong_added(java.lang.String, long)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/net/URLConnection.html#getHeaderFieldLong(java.lang.String, long)" target="_top"><code>getHeaderFieldLong</code></A>(<code>String,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.nio.CharBuffer.html b/docs/html/sdk/api_diff/24/changes/java.nio.CharBuffer.html
new file mode 100644
index 0000000..0c91ad5
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.nio.CharBuffer.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.nio.CharBuffer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.nio.<A HREF="../../../../reference/java/nio/CharBuffer.html" target="_top"><font size="+2"><code>CharBuffer</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.CharBuffer.chars_added()"></A>
+  <nobr><code>IntStream</code>&nbsp;<A HREF="../../../../reference/java/nio/CharBuffer.html#chars()" target="_top"><code>chars</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.nio.channels.DatagramChannel.html b/docs/html/sdk/api_diff/24/changes/java.nio.channels.DatagramChannel.html
new file mode 100644
index 0000000..d36d5f4
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.nio.channels.DatagramChannel.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.nio.channels.DatagramChannel
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.nio.channels.<A HREF="../../../../reference/java/nio/channels/DatagramChannel.html" target="_top"><font size="+2"><code>DatagramChannel</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>java.nio.channels.NetworkChannel</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.channels.DatagramChannel.bind_added(java.net.SocketAddress)"></A>
+  <nobr><code>DatagramChannel</code>&nbsp;<A HREF="../../../../reference/java/nio/channels/DatagramChannel.html#bind(java.net.SocketAddress)" target="_top"><code>bind</code></A>(<code>SocketAddress</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.channels.DatagramChannel.getRemoteAddress_added()"></A>
+  <nobr><code>SocketAddress</code>&nbsp;<A HREF="../../../../reference/java/nio/channels/DatagramChannel.html#getRemoteAddress()" target="_top"><code>getRemoteAddress</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.channels.DatagramChannel.open_added(java.net.ProtocolFamily)"></A>
+  <nobr><code>DatagramChannel</code>&nbsp;<A HREF="../../../../reference/java/nio/channels/DatagramChannel.html#open(java.net.ProtocolFamily)" target="_top"><code>open</code></A>(<code>ProtocolFamily</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.channels.DatagramChannel.setOption_added(java.net.SocketOption<T>, T)"></A>
+  <nobr><code>DatagramChannel</code>&nbsp;<A HREF="../../../../reference/java/nio/channels/DatagramChannel.html#setOption(java.net.SocketOption<T>, T)" target="_top"><code>setOption</code></A>(<code>SocketOption&lt;T&gt;,</nobr> T<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.nio.channels.FileChannel.html b/docs/html/sdk/api_diff/24/changes/java.nio.channels.FileChannel.html
new file mode 100644
index 0000000..d8ff93c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.nio.channels.FileChannel.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.nio.channels.FileChannel
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.nio.channels.<A HREF="../../../../reference/java/nio/channels/FileChannel.html" target="_top"><font size="+2"><code>FileChannel</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.nio.channels.ByteChannel</code>.<br> Added interface <code>java.nio.channels.SeekableByteChannel</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.nio.channels.FileLock.html b/docs/html/sdk/api_diff/24/changes/java.nio.channels.FileLock.html
new file mode 100644
index 0000000..76a3fd9
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.nio.channels.FileLock.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.nio.channels.FileLock
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.nio.channels.<A HREF="../../../../reference/java/nio/channels/FileLock.html" target="_top"><font size="+2"><code>FileLock</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.channels.FileLock.acquiredBy_added()"></A>
+  <nobr><code>Channel</code>&nbsp;<A HREF="../../../../reference/java/nio/channels/FileLock.html#acquiredBy()" target="_top"><code>acquiredBy</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.nio.channels.ServerSocketChannel.html b/docs/html/sdk/api_diff/24/changes/java.nio.channels.ServerSocketChannel.html
new file mode 100644
index 0000000..f3caa2c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.nio.channels.ServerSocketChannel.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.nio.channels.ServerSocketChannel
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.nio.channels.<A HREF="../../../../reference/java/nio/channels/ServerSocketChannel.html" target="_top"><font size="+2"><code>ServerSocketChannel</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>java.nio.channels.NetworkChannel</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.channels.ServerSocketChannel.bind_added(java.net.SocketAddress, int)"></A>
+  <nobr><code>ServerSocketChannel</code>&nbsp;<A HREF="../../../../reference/java/nio/channels/ServerSocketChannel.html#bind(java.net.SocketAddress, int)" target="_top"><code>bind</code></A>(<code>SocketAddress,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.channels.ServerSocketChannel.bind_added(java.net.SocketAddress)"></A>
+  <nobr><code>ServerSocketChannel</code>&nbsp;<A HREF="../../../../reference/java/nio/channels/ServerSocketChannel.html#bind(java.net.SocketAddress)" target="_top"><code>bind</code></A>(<code>SocketAddress</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.channels.ServerSocketChannel.setOption_added(java.net.SocketOption<T>, T)"></A>
+  <nobr><code>ServerSocketChannel</code>&nbsp;<A HREF="../../../../reference/java/nio/channels/ServerSocketChannel.html#setOption(java.net.SocketOption<T>, T)" target="_top"><code>setOption</code></A>(<code>SocketOption&lt;T&gt;,</nobr> T<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.nio.channels.SocketChannel.html b/docs/html/sdk/api_diff/24/changes/java.nio.channels.SocketChannel.html
new file mode 100644
index 0000000..03d94f9
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.nio.channels.SocketChannel.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.nio.channels.SocketChannel
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.nio.channels.<A HREF="../../../../reference/java/nio/channels/SocketChannel.html" target="_top"><font size="+2"><code>SocketChannel</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>java.nio.channels.NetworkChannel</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.channels.SocketChannel.bind_added(java.net.SocketAddress)"></A>
+  <nobr><code>SocketChannel</code>&nbsp;<A HREF="../../../../reference/java/nio/channels/SocketChannel.html#bind(java.net.SocketAddress)" target="_top"><code>bind</code></A>(<code>SocketAddress</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.channels.SocketChannel.getRemoteAddress_added()"></A>
+  <nobr><code>SocketAddress</code>&nbsp;<A HREF="../../../../reference/java/nio/channels/SocketChannel.html#getRemoteAddress()" target="_top"><code>getRemoteAddress</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.channels.SocketChannel.setOption_added(java.net.SocketOption<T>, T)"></A>
+  <nobr><code>SocketChannel</code>&nbsp;<A HREF="../../../../reference/java/nio/channels/SocketChannel.html#setOption(java.net.SocketOption<T>, T)" target="_top"><code>setOption</code></A>(<code>SocketOption&lt;T&gt;,</nobr> T<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.channels.SocketChannel.shutdownInput_added()"></A>
+  <nobr><code>SocketChannel</code>&nbsp;<A HREF="../../../../reference/java/nio/channels/SocketChannel.html#shutdownInput()" target="_top"><code>shutdownInput</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.channels.SocketChannel.shutdownOutput_added()"></A>
+  <nobr><code>SocketChannel</code>&nbsp;<A HREF="../../../../reference/java/nio/channels/SocketChannel.html#shutdownOutput()" target="_top"><code>shutdownOutput</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.nio.channels.spi.SelectorProvider.html b/docs/html/sdk/api_diff/24/changes/java.nio.channels.spi.SelectorProvider.html
new file mode 100644
index 0000000..963cbc0
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.nio.channels.spi.SelectorProvider.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.nio.channels.spi.SelectorProvider
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.nio.channels.spi.<A HREF="../../../../reference/java/nio/channels/spi/SelectorProvider.html" target="_top"><font size="+2"><code>SelectorProvider</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.channels.spi.SelectorProvider.openDatagramChannel_added(java.net.ProtocolFamily)"></A>
+  <nobr><code>DatagramChannel</code>&nbsp;<A HREF="../../../../reference/java/nio/channels/spi/SelectorProvider.html#openDatagramChannel(java.net.ProtocolFamily)" target="_top"><code>openDatagramChannel</code></A>(<code>ProtocolFamily</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.nio.charset.CoderResult.html b/docs/html/sdk/api_diff/24/changes/java.nio.charset.CoderResult.html
new file mode 100644
index 0000000..59ace62
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.nio.charset.CoderResult.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.nio.charset.CoderResult
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.nio.charset.<A HREF="../../../../reference/java/nio/charset/CoderResult.html" target="_top"><font size="+2"><code>CoderResult</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.charset.CoderResult.length_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/nio/charset/CoderResult.html#length()" target="_top"><code>length</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.UnsupportedOperationException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.charset.CoderResult.malformedForLength_changed(int)"></A>
+  <nobr><code>CoderResult</code>&nbsp;<A HREF="../../../../reference/java/nio/charset/CoderResult.html#malformedForLength(int)" target="_top"><code>malformedForLength</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.IllegalArgumentException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.charset.CoderResult.throwException_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/nio/charset/CoderResult.html#throwException()" target="_top"><code>throwException</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.nio.BufferOverflowException, java.nio.BufferUnderflowException, java.nio.charset.CharacterCodingException, java.nio.charset.MalformedInputException, java.nio.charset.UnmappableCharacterException</code>) to <code>java.nio.charset.CharacterCodingException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.charset.CoderResult.unmappableForLength_changed(int)"></A>
+  <nobr><code>CoderResult</code>&nbsp;<A HREF="../../../../reference/java/nio/charset/CoderResult.html#unmappableForLength(int)" target="_top"><code>unmappableForLength</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.IllegalArgumentException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.security.Provider.html b/docs/html/sdk/api_diff/24/changes/java.security.Provider.html
new file mode 100644
index 0000000..8b704fe
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.security.Provider.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.security.Provider
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.security.<A HREF="../../../../reference/java/security/Provider.html" target="_top"><font size="+2"><code>Provider</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.Provider.forEach_added(java.util.function.BiConsumer<? super java.lang.Object, ? super java.lang.Object>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/security/Provider.html#forEach(java.util.function.BiConsumer<? super java.lang.Object, ? super java.lang.Object>)" target="_top"><code>forEach</code></A>(<code>BiConsumer&lt;Object,</nobr> Object&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.security.acl.Permission.html b/docs/html/sdk/api_diff/24/changes/java.security.acl.Permission.html
new file mode 100644
index 0000000..f0c4cc9
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.security.acl.Permission.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.security.acl.Permission
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface java.security.acl.<A HREF="../../../../reference/java/security/acl/Permission.html" target="_top"><font size="+2"><code>Permission</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.acl.Permission.equals_removed(java.lang.Object)"></A>
+  <nobr><code>boolean</code>&nbsp;equals(<code>Object</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.acl.Permission.toString_removed()"></A>
+  <nobr><code>String</code>&nbsp;toString()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.security.cert.CertPathBuilder.html b/docs/html/sdk/api_diff/24/changes/java.security.cert.CertPathBuilder.html
new file mode 100644
index 0000000..573d271
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.security.cert.CertPathBuilder.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.security.cert.CertPathBuilder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.security.cert.<A HREF="../../../../reference/java/security/cert/CertPathBuilder.html" target="_top"><font size="+2"><code>CertPathBuilder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.cert.CertPathBuilder.getRevocationChecker_added()"></A>
+  <nobr><code>CertPathChecker</code>&nbsp;<A HREF="../../../../reference/java/security/cert/CertPathBuilder.html#getRevocationChecker()" target="_top"><code>getRevocationChecker</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.security.cert.CertPathBuilderSpi.html b/docs/html/sdk/api_diff/24/changes/java.security.cert.CertPathBuilderSpi.html
new file mode 100644
index 0000000..7a94e88
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.security.cert.CertPathBuilderSpi.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.security.cert.CertPathBuilderSpi
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.security.cert.<A HREF="../../../../reference/java/security/cert/CertPathBuilderSpi.html" target="_top"><font size="+2"><code>CertPathBuilderSpi</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.cert.CertPathBuilderSpi.engineGetRevocationChecker_added()"></A>
+  <nobr><code>CertPathChecker</code>&nbsp;<A HREF="../../../../reference/java/security/cert/CertPathBuilderSpi.html#engineGetRevocationChecker()" target="_top"><code>engineGetRevocationChecker</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.security.cert.CertPathValidator.html b/docs/html/sdk/api_diff/24/changes/java.security.cert.CertPathValidator.html
new file mode 100644
index 0000000..ab3062f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.security.cert.CertPathValidator.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.security.cert.CertPathValidator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.security.cert.<A HREF="../../../../reference/java/security/cert/CertPathValidator.html" target="_top"><font size="+2"><code>CertPathValidator</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.cert.CertPathValidator.getRevocationChecker_added()"></A>
+  <nobr><code>CertPathChecker</code>&nbsp;<A HREF="../../../../reference/java/security/cert/CertPathValidator.html#getRevocationChecker()" target="_top"><code>getRevocationChecker</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.security.cert.CertPathValidatorException.html b/docs/html/sdk/api_diff/24/changes/java.security.cert.CertPathValidatorException.html
new file mode 100644
index 0000000..a5c8781
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.security.cert.CertPathValidatorException.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.security.cert.CertPathValidatorException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.security.cert.<A HREF="../../../../reference/java/security/cert/CertPathValidatorException.html" target="_top"><font size="+2"><code>CertPathValidatorException</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.cert.CertPathValidatorException.ctor_added(java.lang.String, java.lang.Throwable, java.security.cert.CertPath, int, java.security.cert.CertPathValidatorException.Reason)"></A>
+  <nobr><A HREF="../../../../reference/java/security/cert/CertPathValidatorException.html#CertPathValidatorException(java.lang.String, java.lang.Throwable, java.security.cert.CertPath, int, java.security.cert.CertPathValidatorException.Reason)" target="_top"><code>CertPathValidatorException</code></A>(<code>String,</nobr> Throwable<nobr>,</nobr> CertPath<nobr>,</nobr> int<nobr>,</nobr> Reason<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.cert.CertPathValidatorException.getReason_added()"></A>
+  <nobr><code>Reason</code>&nbsp;<A HREF="../../../../reference/java/security/cert/CertPathValidatorException.html#getReason()" target="_top"><code>getReason</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.security.cert.CertPathValidatorSpi.html b/docs/html/sdk/api_diff/24/changes/java.security.cert.CertPathValidatorSpi.html
new file mode 100644
index 0000000..839dc5a
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.security.cert.CertPathValidatorSpi.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.security.cert.CertPathValidatorSpi
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.security.cert.<A HREF="../../../../reference/java/security/cert/CertPathValidatorSpi.html" target="_top"><font size="+2"><code>CertPathValidatorSpi</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.cert.CertPathValidatorSpi.engineGetRevocationChecker_added()"></A>
+  <nobr><code>CertPathChecker</code>&nbsp;<A HREF="../../../../reference/java/security/cert/CertPathValidatorSpi.html#engineGetRevocationChecker()" target="_top"><code>engineGetRevocationChecker</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.security.cert.PKIXCertPathChecker.html b/docs/html/sdk/api_diff/24/changes/java.security.cert.PKIXCertPathChecker.html
new file mode 100644
index 0000000..572590a
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.security.cert.PKIXCertPathChecker.html
@@ -0,0 +1,123 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.security.cert.PKIXCertPathChecker
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.security.cert.<A HREF="../../../../reference/java/security/cert/PKIXCertPathChecker.html" target="_top"><font size="+2"><code>PKIXCertPathChecker</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>java.security.cert.CertPathChecker</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.cert.PKIXCertPathChecker.check_added(java.security.cert.Certificate)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/security/cert/PKIXCertPathChecker.html#check(java.security.cert.Certificate)" target="_top"><code>check</code></A>(<code>Certificate</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.security.cert.X509CRLEntry.html b/docs/html/sdk/api_diff/24/changes/java.security.cert.X509CRLEntry.html
new file mode 100644
index 0000000..ddef643
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.security.cert.X509CRLEntry.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.security.cert.X509CRLEntry
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.security.cert.<A HREF="../../../../reference/java/security/cert/X509CRLEntry.html" target="_top"><font size="+2"><code>X509CRLEntry</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.cert.X509CRLEntry.getRevocationReason_added()"></A>
+  <nobr><code>CRLReason</code>&nbsp;<A HREF="../../../../reference/java/security/cert/X509CRLEntry.html#getRevocationReason()" target="_top"><code>getRevocationReason</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.security.cert.X509Certificate.html b/docs/html/sdk/api_diff/24/changes/java.security.cert.X509Certificate.html
new file mode 100644
index 0000000..4cc8313
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.security.cert.X509Certificate.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.security.cert.X509Certificate
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.security.cert.<A HREF="../../../../reference/java/security/cert/X509Certificate.html" target="_top"><font size="+2"><code>X509Certificate</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.cert.X509Certificate.verify_added(java.security.PublicKey, java.security.Provider)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/security/cert/X509Certificate.html#verify(java.security.PublicKey, java.security.Provider)" target="_top"><code>verify</code></A>(<code>PublicKey,</nobr> Provider<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.sql.BatchUpdateException.html b/docs/html/sdk/api_diff/24/changes/java.sql.BatchUpdateException.html
new file mode 100644
index 0000000..221d779
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.sql.BatchUpdateException.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.sql.BatchUpdateException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.sql.<A HREF="../../../../reference/java/sql/BatchUpdateException.html" target="_top"><font size="+2"><code>BatchUpdateException</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.io.Serializable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.sql.DataTruncation.html b/docs/html/sdk/api_diff/24/changes/java.sql.DataTruncation.html
new file mode 100644
index 0000000..ab52a89
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.sql.DataTruncation.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.sql.DataTruncation
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.sql.<A HREF="../../../../reference/java/sql/DataTruncation.html" target="_top"><font size="+2"><code>DataTruncation</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.io.Serializable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.sql.SQLException.html b/docs/html/sdk/api_diff/24/changes/java.sql.SQLException.html
new file mode 100644
index 0000000..3901ec6
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.sql.SQLException.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.sql.SQLException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.sql.<A HREF="../../../../reference/java/sql/SQLException.html" target="_top"><font size="+2"><code>SQLException</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.io.Serializable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.sql.SQLPermission.html b/docs/html/sdk/api_diff/24/changes/java.sql.SQLPermission.html
new file mode 100644
index 0000000..c2c812f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.sql.SQLPermission.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.sql.SQLPermission
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.sql.<A HREF="../../../../reference/java/sql/SQLPermission.html" target="_top"><font size="+2"><code>SQLPermission</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interfaces <code>java.io.Serializable, java.security.Guard</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.sql.SQLWarning.html b/docs/html/sdk/api_diff/24/changes/java.sql.SQLWarning.html
new file mode 100644
index 0000000..99047d3
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.sql.SQLWarning.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.sql.SQLWarning
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.sql.<A HREF="../../../../reference/java/sql/SQLWarning.html" target="_top"><font size="+2"><code>SQLWarning</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.io.Serializable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.sql.Timestamp.html b/docs/html/sdk/api_diff/24/changes/java.sql.Timestamp.html
new file mode 100644
index 0000000..c60cf78
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.sql.Timestamp.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.sql.Timestamp
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.sql.<A HREF="../../../../reference/java/sql/Timestamp.html" target="_top"><font size="+2"><code>Timestamp</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.sql.Timestamp.setNanos_changed(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/sql/Timestamp.html#setNanos(int)" target="_top"><code>setNanos</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.IllegalArgumentException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.sql.Timestamp.valueOf_changed(java.lang.String)"></A>
+  <nobr><code>Timestamp</code>&nbsp;<A HREF="../../../../reference/java/sql/Timestamp.html#valueOf(java.lang.String)" target="_top"><code>valueOf</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.IllegalArgumentException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.text.DecimalFormatSymbols.html b/docs/html/sdk/api_diff/24/changes/java.text.DecimalFormatSymbols.html
new file mode 100644
index 0000000..123cadf
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.text.DecimalFormatSymbols.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.text.DecimalFormatSymbols
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.text.<A HREF="../../../../reference/java/text/DecimalFormatSymbols.html" target="_top"><font size="+2"><code>DecimalFormatSymbols</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.text.DecimalFormatSymbols.getInstance_changed()"></A>
+  <nobr><code>DecimalFormatSymbols</code>&nbsp;<A HREF="../../../../reference/java/text/DecimalFormatSymbols.html#getInstance()" target="_top"><code>getInstance</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from non-final to final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.text.DecimalFormatSymbols.getInstance_changed(java.util.Locale)"></A>
+  <nobr><code>DecimalFormatSymbols</code>&nbsp;<A HREF="../../../../reference/java/text/DecimalFormatSymbols.html#getInstance(java.util.Locale)" target="_top"><code>getInstance</code></A>(<code>Locale</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from non-final to final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.ArrayDeque.html b/docs/html/sdk/api_diff/24/changes/java.util.ArrayDeque.html
new file mode 100644
index 0000000..586b8bd
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.ArrayDeque.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.ArrayDeque
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/ArrayDeque.html" target="_top"><font size="+2"><code>ArrayDeque</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.ArrayDeque.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/ArrayDeque.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.ArrayList.html b/docs/html/sdk/api_diff/24/changes/java.util.ArrayList.html
new file mode 100644
index 0000000..3b71d85
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.ArrayList.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.ArrayList
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/ArrayList.html" target="_top"><font size="+2"><code>ArrayList</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>java.util.List</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.ArrayList.forEach_added(java.util.function.Consumer<? super E>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/ArrayList.html#forEach(java.util.function.Consumer<? super E>)" target="_top"><code>forEach</code></A>(<code>Consumer&lt;? super E&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.ArrayList.removeIf_added(java.util.function.Predicate<? super E>)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/util/ArrayList.html#removeIf(java.util.function.Predicate<? super E>)" target="_top"><code>removeIf</code></A>(<code>Predicate&lt;? super E&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.ArrayList.replaceAll_added(java.util.function.UnaryOperator<E>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/ArrayList.html#replaceAll(java.util.function.UnaryOperator<E>)" target="_top"><code>replaceAll</code></A>(<code>UnaryOperator&lt;E&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.ArrayList.sort_added(java.util.Comparator<? super E>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/ArrayList.html#sort(java.util.Comparator<? super E>)" target="_top"><code>sort</code></A>(<code>Comparator&lt;? super E&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.ArrayList.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/ArrayList.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.Arrays.html b/docs/html/sdk/api_diff/24/changes/java.util.Arrays.html
new file mode 100644
index 0000000..c59a4e3
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.Arrays.html
@@ -0,0 +1,465 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.Arrays
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/Arrays.html" target="_top"><font size="+2"><code>Arrays</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelPrefix_added(T[], int, int, java.util.function.BinaryOperator<T>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelPrefix(T[], int, int, java.util.function.BinaryOperator<T>)" target="_top"><code>parallelPrefix</code></A>(<code>T[],</nobr> int<nobr>,</nobr> int<nobr>,</nobr> BinaryOperator&lt;T&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelPrefix_added(T[], java.util.function.BinaryOperator<T>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelPrefix(T[], java.util.function.BinaryOperator<T>)" target="_top"><code>parallelPrefix</code></A>(<code>T[],</nobr> BinaryOperator&lt;T&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelPrefix_added(double[], int, int, java.util.function.DoubleBinaryOperator)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelPrefix(double[], int, int, java.util.function.DoubleBinaryOperator)" target="_top"><code>parallelPrefix</code></A>(<code>double[],</nobr> int<nobr>,</nobr> int<nobr>,</nobr> DoubleBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelPrefix_added(double[], java.util.function.DoubleBinaryOperator)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelPrefix(double[], java.util.function.DoubleBinaryOperator)" target="_top"><code>parallelPrefix</code></A>(<code>double[],</nobr> DoubleBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelPrefix_added(int[], int, int, java.util.function.IntBinaryOperator)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelPrefix(int[], int, int, java.util.function.IntBinaryOperator)" target="_top"><code>parallelPrefix</code></A>(<code>int[],</nobr> int<nobr>,</nobr> int<nobr>,</nobr> IntBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelPrefix_added(int[], java.util.function.IntBinaryOperator)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelPrefix(int[], java.util.function.IntBinaryOperator)" target="_top"><code>parallelPrefix</code></A>(<code>int[],</nobr> IntBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelPrefix_added(long[], int, int, java.util.function.LongBinaryOperator)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelPrefix(long[], int, int, java.util.function.LongBinaryOperator)" target="_top"><code>parallelPrefix</code></A>(<code>long[],</nobr> int<nobr>,</nobr> int<nobr>,</nobr> LongBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelPrefix_added(long[], java.util.function.LongBinaryOperator)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelPrefix(long[], java.util.function.LongBinaryOperator)" target="_top"><code>parallelPrefix</code></A>(<code>long[],</nobr> LongBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSetAll_added(T[], java.util.function.IntFunction<? extends T>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSetAll(T[], java.util.function.IntFunction<? extends T>)" target="_top"><code>parallelSetAll</code></A>(<code>T[],</nobr> IntFunction&lt;?<nobr>,</nobr> extends<nobr>,</nobr> T&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSetAll_added(double[], java.util.function.IntToDoubleFunction)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSetAll(double[], java.util.function.IntToDoubleFunction)" target="_top"><code>parallelSetAll</code></A>(<code>double[],</nobr> IntToDoubleFunction<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSetAll_added(int[], java.util.function.IntUnaryOperator)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSetAll(int[], java.util.function.IntUnaryOperator)" target="_top"><code>parallelSetAll</code></A>(<code>int[],</nobr> IntUnaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSetAll_added(long[], java.util.function.IntToLongFunction)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSetAll(long[], java.util.function.IntToLongFunction)" target="_top"><code>parallelSetAll</code></A>(<code>long[],</nobr> IntToLongFunction<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(T[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(T[])" target="_top"><code>parallelSort</code></A>(<code>T[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(T[], int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(T[], int, int)" target="_top"><code>parallelSort</code></A>(<code>T[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(T[], int, int, java.util.Comparator<? super T>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(T[], int, int, java.util.Comparator<? super T>)" target="_top"><code>parallelSort</code></A>(<code>T[],</nobr> int<nobr>,</nobr> int<nobr>,</nobr> Comparator&lt;?<nobr>,</nobr> super<nobr>,</nobr> T&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(T[], java.util.Comparator<? super T>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(T[], java.util.Comparator<? super T>)" target="_top"><code>parallelSort</code></A>(<code>T[],</nobr> Comparator&lt;?<nobr>,</nobr> super<nobr>,</nobr> T&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(byte[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(byte[])" target="_top"><code>parallelSort</code></A>(<code>byte[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(byte[], int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(byte[], int, int)" target="_top"><code>parallelSort</code></A>(<code>byte[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(char[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(char[])" target="_top"><code>parallelSort</code></A>(<code>char[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(char[], int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(char[], int, int)" target="_top"><code>parallelSort</code></A>(<code>char[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(double[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(double[])" target="_top"><code>parallelSort</code></A>(<code>double[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(double[], int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(double[], int, int)" target="_top"><code>parallelSort</code></A>(<code>double[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(float[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(float[])" target="_top"><code>parallelSort</code></A>(<code>float[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(float[], int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(float[], int, int)" target="_top"><code>parallelSort</code></A>(<code>float[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(int[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(int[])" target="_top"><code>parallelSort</code></A>(<code>int[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(int[], int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(int[], int, int)" target="_top"><code>parallelSort</code></A>(<code>int[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(long[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(long[])" target="_top"><code>parallelSort</code></A>(<code>long[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(long[], int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(long[], int, int)" target="_top"><code>parallelSort</code></A>(<code>long[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(short[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(short[])" target="_top"><code>parallelSort</code></A>(<code>short[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.parallelSort_added(short[], int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#parallelSort(short[], int, int)" target="_top"><code>parallelSort</code></A>(<code>short[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.setAll_added(T[], java.util.function.IntFunction<? extends T>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#setAll(T[], java.util.function.IntFunction<? extends T>)" target="_top"><code>setAll</code></A>(<code>T[],</nobr> IntFunction&lt;?<nobr>,</nobr> extends<nobr>,</nobr> T&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.setAll_added(double[], java.util.function.IntToDoubleFunction)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#setAll(double[], java.util.function.IntToDoubleFunction)" target="_top"><code>setAll</code></A>(<code>double[],</nobr> IntToDoubleFunction<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.setAll_added(int[], java.util.function.IntUnaryOperator)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#setAll(int[], java.util.function.IntUnaryOperator)" target="_top"><code>setAll</code></A>(<code>int[],</nobr> IntUnaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.setAll_added(long[], java.util.function.IntToLongFunction)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#setAll(long[], java.util.function.IntToLongFunction)" target="_top"><code>setAll</code></A>(<code>long[],</nobr> IntToLongFunction<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.spliterator_added(double[])"></A>
+  <nobr><code>OfDouble</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#spliterator(double[])" target="_top"><code>spliterator</code></A>(<code>double[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.spliterator_added(double[], int, int)"></A>
+  <nobr><code>OfDouble</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#spliterator(double[], int, int)" target="_top"><code>spliterator</code></A>(<code>double[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.spliterator_added(int[])"></A>
+  <nobr><code>OfInt</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#spliterator(int[])" target="_top"><code>spliterator</code></A>(<code>int[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.spliterator_added(int[], int, int)"></A>
+  <nobr><code>OfInt</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#spliterator(int[], int, int)" target="_top"><code>spliterator</code></A>(<code>int[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.spliterator_added(long[])"></A>
+  <nobr><code>OfLong</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#spliterator(long[])" target="_top"><code>spliterator</code></A>(<code>long[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.spliterator_added(long[], int, int)"></A>
+  <nobr><code>OfLong</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#spliterator(long[], int, int)" target="_top"><code>spliterator</code></A>(<code>long[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.spliterator_added(T[])"></A>
+  <nobr><code>Spliterator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#spliterator(T[])" target="_top"><code>spliterator</code></A>(<code>T[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.spliterator_added(T[], int, int)"></A>
+  <nobr><code>Spliterator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#spliterator(T[], int, int)" target="_top"><code>spliterator</code></A>(<code>T[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.stream_added(double[])"></A>
+  <nobr><code>DoubleStream</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#stream(double[])" target="_top"><code>stream</code></A>(<code>double[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.stream_added(double[], int, int)"></A>
+  <nobr><code>DoubleStream</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#stream(double[], int, int)" target="_top"><code>stream</code></A>(<code>double[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.stream_added(int[])"></A>
+  <nobr><code>IntStream</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#stream(int[])" target="_top"><code>stream</code></A>(<code>int[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.stream_added(int[], int, int)"></A>
+  <nobr><code>IntStream</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#stream(int[], int, int)" target="_top"><code>stream</code></A>(<code>int[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.stream_added(long[])"></A>
+  <nobr><code>LongStream</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#stream(long[])" target="_top"><code>stream</code></A>(<code>long[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.stream_added(long[], int, int)"></A>
+  <nobr><code>LongStream</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#stream(long[], int, int)" target="_top"><code>stream</code></A>(<code>long[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.stream_added(T[])"></A>
+  <nobr><code>Stream&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#stream(T[])" target="_top"><code>stream</code></A>(<code>T[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Arrays.stream_added(T[], int, int)"></A>
+  <nobr><code>Stream&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Arrays.html#stream(T[], int, int)" target="_top"><code>stream</code></A>(<code>T[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.BitSet.html b/docs/html/sdk/api_diff/24/changes/java.util.BitSet.html
new file mode 100644
index 0000000..e9eedd9
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.BitSet.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.BitSet
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/BitSet.html" target="_top"><font size="+2"><code>BitSet</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.BitSet.stream_added()"></A>
+  <nobr><code>IntStream</code>&nbsp;<A HREF="../../../../reference/java/util/BitSet.html#stream()" target="_top"><code>stream</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.Calendar.html b/docs/html/sdk/api_diff/24/changes/java.util.Calendar.html
new file mode 100644
index 0000000..a693ee5
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.Calendar.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.Calendar
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/Calendar.html" target="_top"><font size="+2"><code>Calendar</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Calendar.getWeekYear_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/Calendar.html#getWeekYear()" target="_top"><code>getWeekYear</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Calendar.getWeeksInWeekYear_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/Calendar.html#getWeeksInWeekYear()" target="_top"><code>getWeeksInWeekYear</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Calendar.isWeekDateSupported_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/util/Calendar.html#isWeekDateSupported()" target="_top"><code>isWeekDateSupported</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Calendar.setWeekDate_added(int, int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Calendar.html#setWeekDate(int, int, int)" target="_top"><code>setWeekDate</code></A>(<code>int,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.Collection.html b/docs/html/sdk/api_diff/24/changes/java.util.Collection.html
new file mode 100644
index 0000000..10f7373
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.Collection.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.Collection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface java.util.<A HREF="../../../../reference/java/util/Collection.html" target="_top"><font size="+2"><code>Collection</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Collection.parallelStream_added()"></A>
+  <nobr><code>Stream&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Collection.html#parallelStream()" target="_top"><code>parallelStream</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Collection.removeIf_added(java.util.function.Predicate<? super E>)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/util/Collection.html#removeIf(java.util.function.Predicate<? super E>)" target="_top"><code>removeIf</code></A>(<code>Predicate&lt;? super E&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Collection.stream_added()"></A>
+  <nobr><code>Stream&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Collection.html#stream()" target="_top"><code>stream</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.Collections.html b/docs/html/sdk/api_diff/24/changes/java.util.Collections.html
new file mode 100644
index 0000000..56860f2
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.Collections.html
@@ -0,0 +1,181 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.Collections
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/Collections.html" target="_top"><font size="+2"><code>Collections</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Collections.synchronizedSet_changed(java.util.Set<T>)"></A>
+  <nobr><code>Set&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Collections.html#synchronizedSet(java.util.Set<T>)" target="_top"><code>synchronizedSet</code></A>(<code>Set&lt;T&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>Set&lt;E&gt;</code> to <code>Set&lt;T&gt;</code>.<br>
+ Change in signature from <code>Set&lt;E&gt;</code> to <code>Set&lt;T&gt;</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Collections.synchronizedSortedSet_changed(java.util.SortedSet<T>)"></A>
+  <nobr><code>SortedSet&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Collections.html#synchronizedSortedSet(java.util.SortedSet<T>)" target="_top"><code>synchronizedSortedSet</code></A>(<code>SortedSet&lt;T&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>SortedSet&lt;E&gt;</code> to <code>SortedSet&lt;T&gt;</code>.<br>
+ Change in signature from <code>SortedSet&lt;E&gt;</code> to <code>SortedSet&lt;T&gt;</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Collections.unmodifiableCollection_changed(java.util.Collection<? extends T>)"></A>
+  <nobr><code>Collection&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Collections.html#unmodifiableCollection(java.util.Collection<? extends T>)" target="_top"><code>unmodifiableCollection</code></A>(<code>Collection&lt;? extends T&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>Collection&lt;E&gt;</code> to <code>Collection&lt;T&gt;</code>.<br>
+ Change in signature from (<code>Collection&lt;? extends E&gt;</code>) to (<code>Collection&lt;? extends T&gt;</code>).<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Collections.unmodifiableList_changed(java.util.List<? extends T>)"></A>
+  <nobr><code>List&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Collections.html#unmodifiableList(java.util.List<? extends T>)" target="_top"><code>unmodifiableList</code></A>(<code>List&lt;? extends T&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>List&lt;E&gt;</code> to <code>List&lt;T&gt;</code>.<br>
+ Change in signature from (<code>List&lt;? extends E&gt;</code>) to (<code>List&lt;? extends T&gt;</code>).<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Collections.unmodifiableSet_changed(java.util.Set<? extends T>)"></A>
+  <nobr><code>Set&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Collections.html#unmodifiableSet(java.util.Set<? extends T>)" target="_top"><code>unmodifiableSet</code></A>(<code>Set&lt;? extends T&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>Set&lt;E&gt;</code> to <code>Set&lt;T&gt;</code>.<br>
+ Change in signature from (<code>Set&lt;? extends E&gt;</code>) to (<code>Set&lt;? extends T&gt;</code>).<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Collections.unmodifiableSortedSet_changed(java.util.SortedSet<T>)"></A>
+  <nobr><code>SortedSet&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Collections.html#unmodifiableSortedSet(java.util.SortedSet<T>)" target="_top"><code>unmodifiableSortedSet</code></A>(<code>SortedSet&lt;T&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>SortedSet&lt;E&gt;</code> to <code>SortedSet&lt;T&gt;</code>.<br>
+ Change in signature from <code>SortedSet&lt;E&gt;</code> to <code>SortedSet&lt;T&gt;</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.Comparator.html b/docs/html/sdk/api_diff/24/changes/java.util.Comparator.html
new file mode 100644
index 0000000..584a7ff
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.Comparator.html
@@ -0,0 +1,227 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.Comparator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface java.util.<A HREF="../../../../reference/java/util/Comparator.html" target="_top"><font size="+2"><code>Comparator</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Comparator.comparing_added(java.util.function.Function<? super T, ? extends U>)"></A>
+  <nobr><code>Comparator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Comparator.html#comparing(java.util.function.Function<? super T, ? extends U>)" target="_top"><code>comparing</code></A>(<code>Function&lt;?,</nobr> super<nobr>,</nobr> T<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Comparator.comparing_added(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>)"></A>
+  <nobr><code>Comparator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Comparator.html#comparing(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>)" target="_top"><code>comparing</code></A>(<code>Function&lt;?,</nobr> super<nobr>,</nobr> T<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr>,</nobr> Comparator&lt;?<nobr>,</nobr> super<nobr>,</nobr> U&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Comparator.comparingDouble_added(java.util.function.ToDoubleFunction<? super T>)"></A>
+  <nobr><code>Comparator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Comparator.html#comparingDouble(java.util.function.ToDoubleFunction<? super T>)" target="_top"><code>comparingDouble</code></A>(<code>ToDoubleFunction&lt;? super T&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Comparator.comparingInt_added(java.util.function.ToIntFunction<? super T>)"></A>
+  <nobr><code>Comparator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Comparator.html#comparingInt(java.util.function.ToIntFunction<? super T>)" target="_top"><code>comparingInt</code></A>(<code>ToIntFunction&lt;? super T&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Comparator.comparingLong_added(java.util.function.ToLongFunction<? super T>)"></A>
+  <nobr><code>Comparator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Comparator.html#comparingLong(java.util.function.ToLongFunction<? super T>)" target="_top"><code>comparingLong</code></A>(<code>ToLongFunction&lt;? super T&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Comparator.naturalOrder_added()"></A>
+  <nobr><code>Comparator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Comparator.html#naturalOrder()" target="_top"><code>naturalOrder</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Comparator.nullsFirst_added(java.util.Comparator<? super T>)"></A>
+  <nobr><code>Comparator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Comparator.html#nullsFirst(java.util.Comparator<? super T>)" target="_top"><code>nullsFirst</code></A>(<code>Comparator&lt;? super T&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Comparator.nullsLast_added(java.util.Comparator<? super T>)"></A>
+  <nobr><code>Comparator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Comparator.html#nullsLast(java.util.Comparator<? super T>)" target="_top"><code>nullsLast</code></A>(<code>Comparator&lt;? super T&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Comparator.reverseOrder_added()"></A>
+  <nobr><code>Comparator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Comparator.html#reverseOrder()" target="_top"><code>reverseOrder</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Comparator.reversed_added()"></A>
+  <nobr><code>Comparator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Comparator.html#reversed()" target="_top"><code>reversed</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Comparator.thenComparing_added(java.util.Comparator<? super T>)"></A>
+  <nobr><code>Comparator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Comparator.html#thenComparing(java.util.Comparator<? super T>)" target="_top"><code>thenComparing</code></A>(<code>Comparator&lt;? super T&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Comparator.thenComparing_added(java.util.function.Function<? super T, ? extends U>)"></A>
+  <nobr><code>Comparator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Comparator.html#thenComparing(java.util.function.Function<? super T, ? extends U>)" target="_top"><code>thenComparing</code></A>(<code>Function&lt;?,</nobr> super<nobr>,</nobr> T<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Comparator.thenComparing_added(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>)"></A>
+  <nobr><code>Comparator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Comparator.html#thenComparing(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>)" target="_top"><code>thenComparing</code></A>(<code>Function&lt;?,</nobr> super<nobr>,</nobr> T<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr>,</nobr> Comparator&lt;?<nobr>,</nobr> super<nobr>,</nobr> U&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Comparator.thenComparingDouble_added(java.util.function.ToDoubleFunction<? super T>)"></A>
+  <nobr><code>Comparator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Comparator.html#thenComparingDouble(java.util.function.ToDoubleFunction<? super T>)" target="_top"><code>thenComparingDouble</code></A>(<code>ToDoubleFunction&lt;? super T&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Comparator.thenComparingInt_added(java.util.function.ToIntFunction<? super T>)"></A>
+  <nobr><code>Comparator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Comparator.html#thenComparingInt(java.util.function.ToIntFunction<? super T>)" target="_top"><code>thenComparingInt</code></A>(<code>ToIntFunction&lt;? super T&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Comparator.thenComparingLong_added(java.util.function.ToLongFunction<? super T>)"></A>
+  <nobr><code>Comparator&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Comparator.html#thenComparingLong(java.util.function.ToLongFunction<? super T>)" target="_top"><code>thenComparingLong</code></A>(<code>ToLongFunction&lt;? super T&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.Currency.html b/docs/html/sdk/api_diff/24/changes/java.util.Currency.html
new file mode 100644
index 0000000..20b55f6
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.Currency.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.Currency
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/Currency.html" target="_top"><font size="+2"><code>Currency</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Currency.getNumericCode_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/Currency.html#getNumericCode()" target="_top"><code>getNumericCode</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.EnumMap.html b/docs/html/sdk/api_diff/24/changes/java.util.EnumMap.html
new file mode 100644
index 0000000..ca99939
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.EnumMap.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.EnumMap
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/EnumMap.html" target="_top"><font size="+2"><code>EnumMap</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.util.Map</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.EventListenerProxy.html b/docs/html/sdk/api_diff/24/changes/java.util.EventListenerProxy.html
new file mode 100644
index 0000000..3bf73e2
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.EventListenerProxy.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.EventListenerProxy
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/EventListenerProxy.html" target="_top"><font size="+2"><code>EventListenerProxy</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.EventListenerProxy.ctor_changed(T)"></A>
+  <nobr><A HREF="../../../../reference/java/util/EventListenerProxy.html#EventListenerProxy(T)" target="_top"><code>EventListenerProxy</code></A>(<code>T</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in type from<code>EventListener</code> to <code>T</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.EventListenerProxy.getListener_changed()"></A>
+  <nobr><code>T</code>&nbsp;<A HREF="../../../../reference/java/util/EventListenerProxy.html#getListener()" target="_top"><code>getListener</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>EventListener</code> to <code>T</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.FormatFlagsConversionMismatchException.html b/docs/html/sdk/api_diff/24/changes/java.util.FormatFlagsConversionMismatchException.html
new file mode 100644
index 0000000..6f77bcb
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.FormatFlagsConversionMismatchException.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.FormatFlagsConversionMismatchException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/FormatFlagsConversionMismatchException.html" target="_top"><font size="+2"><code>FormatFlagsConversionMismatchException</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.io.Serializable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.Formattable.html b/docs/html/sdk/api_diff/24/changes/java.util.Formattable.html
new file mode 100644
index 0000000..500bd56
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.Formattable.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.Formattable
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface java.util.<A HREF="../../../../reference/java/util/Formattable.html" target="_top"><font size="+2"><code>Formattable</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Formattable.formatTo_changed(java.util.Formatter, int, int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Formattable.html#formatTo(java.util.Formatter, int, int, int)" target="_top"><code>formatTo</code></A>(<code>Formatter,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.util.IllegalFormatException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.FormatterClosedException.html b/docs/html/sdk/api_diff/24/changes/java.util.FormatterClosedException.html
new file mode 100644
index 0000000..ef612a3
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.FormatterClosedException.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.FormatterClosedException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/FormatterClosedException.html" target="_top"><font size="+2"><code>FormatterClosedException</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.io.Serializable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.GregorianCalendar.html b/docs/html/sdk/api_diff/24/changes/java.util.GregorianCalendar.html
new file mode 100644
index 0000000..e67f7ed
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.GregorianCalendar.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.GregorianCalendar
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/GregorianCalendar.html" target="_top"><font size="+2"><code>GregorianCalendar</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.GregorianCalendar.isWeekDateSupported_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/util/GregorianCalendar.html#isWeekDateSupported()" target="_top"><code>isWeekDateSupported</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.HashMap.html b/docs/html/sdk/api_diff/24/changes/java.util.HashMap.html
new file mode 100644
index 0000000..8414361
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.HashMap.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.HashMap
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/HashMap.html" target="_top"><font size="+2"><code>HashMap</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>java.util.Map</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.HashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/HashMap.html#forEach(java.util.function.BiConsumer<? super K, ? super V>)" target="_top"><code>forEach</code></A>(<code>BiConsumer&lt;?,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.HashMap.replace_added(K, V, V)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/util/HashMap.html#replace(K, V, V)" target="_top"><code>replace</code></A>(<code>K,</nobr> V<nobr>,</nobr> V<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.HashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/HashMap.html#replaceAll(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" target="_top"><code>replaceAll</code></A>(<code>BiFunction&lt;?,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.HashSet.html b/docs/html/sdk/api_diff/24/changes/java.util.HashSet.html
new file mode 100644
index 0000000..20b27a1
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.HashSet.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.HashSet
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/HashSet.html" target="_top"><font size="+2"><code>HashSet</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.HashSet.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/HashSet.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.Hashtable.html b/docs/html/sdk/api_diff/24/changes/java.util.Hashtable.html
new file mode 100644
index 0000000..c7e8314
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.Hashtable.html
@@ -0,0 +1,192 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.Hashtable
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/Hashtable.html" target="_top"><font size="+2"><code>Hashtable</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Hashtable.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/Hashtable.html#compute(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" target="_top"><code>compute</code></A>(<code>K,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Hashtable.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/Hashtable.html#computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>)" target="_top"><code>computeIfAbsent</code></A>(<code>K,</nobr> Function&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Hashtable.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/Hashtable.html#computeIfPresent(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" target="_top"><code>computeIfPresent</code></A>(<code>K,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Hashtable.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Hashtable.html#forEach(java.util.function.BiConsumer<? super K, ? super V>)" target="_top"><code>forEach</code></A>(<code>BiConsumer&lt;?,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Hashtable.getOrDefault_added(java.lang.Object, V)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/Hashtable.html#getOrDefault(java.lang.Object, V)" target="_top"><code>getOrDefault</code></A>(<code>Object,</nobr> V<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Hashtable.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/Hashtable.html#merge(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" target="_top"><code>merge</code></A>(<code>K,</nobr> V<nobr>,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Hashtable.putIfAbsent_added(K, V)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/Hashtable.html#putIfAbsent(K, V)" target="_top"><code>putIfAbsent</code></A>(<code>K,</nobr> V<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Hashtable.remove_added(java.lang.Object, java.lang.Object)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/util/Hashtable.html#remove(java.lang.Object, java.lang.Object)" target="_top"><code>remove</code></A>(<code>Object,</nobr> Object<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Hashtable.replace_added(K, V)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/Hashtable.html#replace(K, V)" target="_top"><code>replace</code></A>(<code>K,</nobr> V<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Hashtable.replace_added(K, V, V)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/util/Hashtable.html#replace(K, V, V)" target="_top"><code>replace</code></A>(<code>K,</nobr> V<nobr>,</nobr> V<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Hashtable.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Hashtable.html#replaceAll(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" target="_top"><code>replaceAll</code></A>(<code>BiFunction&lt;?,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.IdentityHashMap.html b/docs/html/sdk/api_diff/24/changes/java.util.IdentityHashMap.html
new file mode 100644
index 0000000..dac2bce
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.IdentityHashMap.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.IdentityHashMap
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/IdentityHashMap.html" target="_top"><font size="+2"><code>IdentityHashMap</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.IdentityHashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/IdentityHashMap.html#forEach(java.util.function.BiConsumer<? super K, ? super V>)" target="_top"><code>forEach</code></A>(<code>BiConsumer&lt;?,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.IdentityHashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/IdentityHashMap.html#replaceAll(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" target="_top"><code>replaceAll</code></A>(<code>BiFunction&lt;?,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.IllegalFormatCodePointException.html b/docs/html/sdk/api_diff/24/changes/java.util.IllegalFormatCodePointException.html
new file mode 100644
index 0000000..8ce9427
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.IllegalFormatCodePointException.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.IllegalFormatCodePointException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/IllegalFormatCodePointException.html" target="_top"><font size="+2"><code>IllegalFormatCodePointException</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.io.Serializable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.IllegalFormatConversionException.html b/docs/html/sdk/api_diff/24/changes/java.util.IllegalFormatConversionException.html
new file mode 100644
index 0000000..116cbd9
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.IllegalFormatConversionException.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.IllegalFormatConversionException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/IllegalFormatConversionException.html" target="_top"><font size="+2"><code>IllegalFormatConversionException</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.io.Serializable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.IllegalFormatException.html b/docs/html/sdk/api_diff/24/changes/java.util.IllegalFormatException.html
new file mode 100644
index 0000000..b1cb2ca
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.IllegalFormatException.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.IllegalFormatException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/IllegalFormatException.html" target="_top"><font size="+2"><code>IllegalFormatException</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.io.Serializable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.IllegalFormatFlagsException.html b/docs/html/sdk/api_diff/24/changes/java.util.IllegalFormatFlagsException.html
new file mode 100644
index 0000000..603157d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.IllegalFormatFlagsException.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.IllegalFormatFlagsException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/IllegalFormatFlagsException.html" target="_top"><font size="+2"><code>IllegalFormatFlagsException</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.io.Serializable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.InputMismatchException.html b/docs/html/sdk/api_diff/24/changes/java.util.InputMismatchException.html
new file mode 100644
index 0000000..050975e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.InputMismatchException.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.InputMismatchException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/InputMismatchException.html" target="_top"><font size="+2"><code>InputMismatchException</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.io.Serializable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.Iterator.html b/docs/html/sdk/api_diff/24/changes/java.util.Iterator.html
new file mode 100644
index 0000000..35e0a4a
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.Iterator.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.Iterator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface java.util.<A HREF="../../../../reference/java/util/Iterator.html" target="_top"><font size="+2"><code>Iterator</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Iterator.forEachRemaining_added(java.util.function.Consumer<? super E>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Iterator.html#forEachRemaining(java.util.function.Consumer<? super E>)" target="_top"><code>forEachRemaining</code></A>(<code>Consumer&lt;? super E&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Iterator.remove_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Iterator.html#remove()" target="_top"><code>remove</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from abstract to non-abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.LinkedHashMap.html b/docs/html/sdk/api_diff/24/changes/java.util.LinkedHashMap.html
new file mode 100644
index 0000000..247dec4
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.LinkedHashMap.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.LinkedHashMap
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/LinkedHashMap.html" target="_top"><font size="+2"><code>LinkedHashMap</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>java.util.Map</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.LinkedList.html b/docs/html/sdk/api_diff/24/changes/java.util.LinkedList.html
new file mode 100644
index 0000000..eb2fe67
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.LinkedList.html
@@ -0,0 +1,123 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.LinkedList
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/LinkedList.html" target="_top"><font size="+2"><code>LinkedList</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.util.Queue</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.LinkedList.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/LinkedList.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.List.html b/docs/html/sdk/api_diff/24/changes/java.util.List.html
new file mode 100644
index 0000000..7b4150c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.List.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.List
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface java.util.<A HREF="../../../../reference/java/util/List.html" target="_top"><font size="+2"><code>List</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.List.replaceAll_added(java.util.function.UnaryOperator<E>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/List.html#replaceAll(java.util.function.UnaryOperator<E>)" target="_top"><code>replaceAll</code></A>(<code>UnaryOperator&lt;E&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.List.sort_added(java.util.Comparator<? super E>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/List.html#sort(java.util.Comparator<? super E>)" target="_top"><code>sort</code></A>(<code>Comparator&lt;? super E&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.Locale.html b/docs/html/sdk/api_diff/24/changes/java.util.Locale.html
new file mode 100644
index 0000000..3215c83
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.Locale.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.Locale
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/Locale.html" target="_top"><font size="+2"><code>Locale</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Locale.getDefault_added(java.util.Locale.Category)"></A>
+  <nobr><code>Locale</code>&nbsp;<A HREF="../../../../reference/java/util/Locale.html#getDefault(java.util.Locale.Category)" target="_top"><code>getDefault</code></A>(<code>Category</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Locale.setDefault_added(java.util.Locale.Category, java.util.Locale)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Locale.html#setDefault(java.util.Locale.Category, java.util.Locale)" target="_top"><code>setDefault</code></A>(<code>Category,</nobr> Locale<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Locale.getISO3Country_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/java/util/Locale.html#getISO3Country()" target="_top"><code>getISO3Country</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.util.MissingResourceException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Locale.getISO3Language_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/java/util/Locale.html#getISO3Language()" target="_top"><code>getISO3Language</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.util.MissingResourceException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.Map.Entry.html b/docs/html/sdk/api_diff/24/changes/java.util.Map.Entry.html
new file mode 100644
index 0000000..8755c8f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.Map.Entry.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.Map.Entry
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface java.util.<A HREF="../../../../reference/java/util/Map.Entry.html" target="_top"><font size="+2"><code>Map.Entry</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Map.Entry.comparingByKey_added()"></A>
+  <nobr>(<code>Comparator&lt;Entry&lt;K, V&gt;&gt;</code>)&nbsp;<A HREF="../../../../reference/java/util/Map.Entry.html#comparingByKey()" target="_top"><code>comparingByKey</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Map.Entry.comparingByKey_added(java.util.Comparator<? super K>)"></A>
+  <nobr>(<code>Comparator&lt;Entry&lt;K, V&gt;&gt;</code>)&nbsp;<A HREF="../../../../reference/java/util/Map.Entry.html#comparingByKey(java.util.Comparator<? super K>)" target="_top"><code>comparingByKey</code></A>(<code>Comparator&lt;? super K&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Map.Entry.comparingByValue_added()"></A>
+  <nobr>(<code>Comparator&lt;Entry&lt;K, V&gt;&gt;</code>)&nbsp;<A HREF="../../../../reference/java/util/Map.Entry.html#comparingByValue()" target="_top"><code>comparingByValue</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Map.Entry.comparingByValue_added(java.util.Comparator<? super V>)"></A>
+  <nobr>(<code>Comparator&lt;Entry&lt;K, V&gt;&gt;</code>)&nbsp;<A HREF="../../../../reference/java/util/Map.Entry.html#comparingByValue(java.util.Comparator<? super V>)" target="_top"><code>comparingByValue</code></A>(<code>Comparator&lt;? super V&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.Map.html b/docs/html/sdk/api_diff/24/changes/java.util.Map.html
new file mode 100644
index 0000000..bdda620f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.Map.html
@@ -0,0 +1,192 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.Map
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface java.util.<A HREF="../../../../reference/java/util/Map.html" target="_top"><font size="+2"><code>Map</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Map.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/Map.html#compute(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" target="_top"><code>compute</code></A>(<code>K,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Map.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/Map.html#computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>)" target="_top"><code>computeIfAbsent</code></A>(<code>K,</nobr> Function&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Map.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/Map.html#computeIfPresent(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" target="_top"><code>computeIfPresent</code></A>(<code>K,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Map.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Map.html#forEach(java.util.function.BiConsumer<? super K, ? super V>)" target="_top"><code>forEach</code></A>(<code>BiConsumer&lt;?,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Map.getOrDefault_added(java.lang.Object, V)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/Map.html#getOrDefault(java.lang.Object, V)" target="_top"><code>getOrDefault</code></A>(<code>Object,</nobr> V<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Map.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/Map.html#merge(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" target="_top"><code>merge</code></A>(<code>K,</nobr> V<nobr>,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Map.putIfAbsent_added(K, V)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/Map.html#putIfAbsent(K, V)" target="_top"><code>putIfAbsent</code></A>(<code>K,</nobr> V<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Map.remove_added(java.lang.Object, java.lang.Object)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/util/Map.html#remove(java.lang.Object, java.lang.Object)" target="_top"><code>remove</code></A>(<code>Object,</nobr> Object<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Map.replace_added(K, V)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/Map.html#replace(K, V)" target="_top"><code>replace</code></A>(<code>K,</nobr> V<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Map.replace_added(K, V, V)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/util/Map.html#replace(K, V, V)" target="_top"><code>replace</code></A>(<code>K,</nobr> V<nobr>,</nobr> V<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Map.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Map.html#replaceAll(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" target="_top"><code>replaceAll</code></A>(<code>BiFunction&lt;?,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.Objects.html b/docs/html/sdk/api_diff/24/changes/java.util.Objects.html
new file mode 100644
index 0000000..37bc274
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.Objects.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.Objects
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/Objects.html" target="_top"><font size="+2"><code>Objects</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Objects.isNull_added(java.lang.Object)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/util/Objects.html#isNull(java.lang.Object)" target="_top"><code>isNull</code></A>(<code>Object</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Objects.nonNull_added(java.lang.Object)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/util/Objects.html#nonNull(java.lang.Object)" target="_top"><code>nonNull</code></A>(<code>Object</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Objects.requireNonNull_added(T, java.util.function.Supplier<java.lang.String>)"></A>
+  <nobr><code>T</code>&nbsp;<A HREF="../../../../reference/java/util/Objects.html#requireNonNull(T, java.util.function.Supplier<java.lang.String>)" target="_top"><code>requireNonNull</code></A>(<code>T,</nobr> Supplier&lt;String&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.PriorityQueue.html b/docs/html/sdk/api_diff/24/changes/java.util.PriorityQueue.html
new file mode 100644
index 0000000..f01082f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.PriorityQueue.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.PriorityQueue
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/PriorityQueue.html" target="_top"><font size="+2"><code>PriorityQueue</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.PriorityQueue.ctor_added(java.util.Comparator<? super E>)"></A>
+  <nobr><A HREF="../../../../reference/java/util/PriorityQueue.html#PriorityQueue(java.util.Comparator<? super E>)" target="_top"><code>PriorityQueue</code></A>(<code>Comparator&lt;? super E&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.PriorityQueue.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/PriorityQueue.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.Random.html b/docs/html/sdk/api_diff/24/changes/java.util.Random.html
new file mode 100644
index 0000000..5944b5b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.Random.html
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.Random
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/Random.html" target="_top"><font size="+2"><code>Random</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Random.doubles_added()"></A>
+  <nobr><code>DoubleStream</code>&nbsp;<A HREF="../../../../reference/java/util/Random.html#doubles()" target="_top"><code>doubles</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Random.doubles_added(double, double)"></A>
+  <nobr><code>DoubleStream</code>&nbsp;<A HREF="../../../../reference/java/util/Random.html#doubles(double, double)" target="_top"><code>doubles</code></A>(<code>double,</nobr> double<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Random.doubles_added(long)"></A>
+  <nobr><code>DoubleStream</code>&nbsp;<A HREF="../../../../reference/java/util/Random.html#doubles(long)" target="_top"><code>doubles</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Random.doubles_added(long, double, double)"></A>
+  <nobr><code>DoubleStream</code>&nbsp;<A HREF="../../../../reference/java/util/Random.html#doubles(long, double, double)" target="_top"><code>doubles</code></A>(<code>long,</nobr> double<nobr>,</nobr> double<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Random.ints_added()"></A>
+  <nobr><code>IntStream</code>&nbsp;<A HREF="../../../../reference/java/util/Random.html#ints()" target="_top"><code>ints</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Random.ints_added(int, int)"></A>
+  <nobr><code>IntStream</code>&nbsp;<A HREF="../../../../reference/java/util/Random.html#ints(int, int)" target="_top"><code>ints</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Random.ints_added(long)"></A>
+  <nobr><code>IntStream</code>&nbsp;<A HREF="../../../../reference/java/util/Random.html#ints(long)" target="_top"><code>ints</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Random.ints_added(long, int, int)"></A>
+  <nobr><code>IntStream</code>&nbsp;<A HREF="../../../../reference/java/util/Random.html#ints(long, int, int)" target="_top"><code>ints</code></A>(<code>long,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Random.longs_added()"></A>
+  <nobr><code>LongStream</code>&nbsp;<A HREF="../../../../reference/java/util/Random.html#longs()" target="_top"><code>longs</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Random.longs_added(long)"></A>
+  <nobr><code>LongStream</code>&nbsp;<A HREF="../../../../reference/java/util/Random.html#longs(long)" target="_top"><code>longs</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Random.longs_added(long, long)"></A>
+  <nobr><code>LongStream</code>&nbsp;<A HREF="../../../../reference/java/util/Random.html#longs(long, long)" target="_top"><code>longs</code></A>(<code>long,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Random.longs_added(long, long, long)"></A>
+  <nobr><code>LongStream</code>&nbsp;<A HREF="../../../../reference/java/util/Random.html#longs(long, long, long)" target="_top"><code>longs</code></A>(<code>long,</nobr> long<nobr>,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.ResourceBundle.Control.html b/docs/html/sdk/api_diff/24/changes/java.util.ResourceBundle.Control.html
new file mode 100644
index 0000000..74412d1
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.ResourceBundle.Control.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.ResourceBundle.Control
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/ResourceBundle.Control.html" target="_top"><font size="+2"><code>ResourceBundle.Control</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.ResourceBundle.Control.getControl_changed(java.util.List<java.lang.String>)"></A>
+  <nobr><code>Control</code>&nbsp;<A HREF="../../../../reference/java/util/ResourceBundle.Control.html#getControl(java.util.List<java.lang.String>)" target="_top"><code>getControl</code></A>(<code>List&lt;String&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from non-final to final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.ResourceBundle.Control.getNoFallbackControl_changed(java.util.List<java.lang.String>)"></A>
+  <nobr><code>Control</code>&nbsp;<A HREF="../../../../reference/java/util/ResourceBundle.Control.html#getNoFallbackControl(java.util.List<java.lang.String>)" target="_top"><code>getNoFallbackControl</code></A>(<code>List&lt;String&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from non-final to final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.ResourceBundle.html b/docs/html/sdk/api_diff/24/changes/java.util.ResourceBundle.html
new file mode 100644
index 0000000..3425d16
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.ResourceBundle.html
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.ResourceBundle
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/ResourceBundle.html" target="_top"><font size="+2"><code>ResourceBundle</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.ResourceBundle.clearCache_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/ResourceBundle.html#clearCache()" target="_top"><code>clearCache</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from non-final to final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.ResourceBundle.clearCache_changed(java.lang.ClassLoader)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/ResourceBundle.html#clearCache(java.lang.ClassLoader)" target="_top"><code>clearCache</code></A>(<code>ClassLoader</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from non-final to final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.ResourceBundle.getBundle_changed(java.lang.String)"></A>
+  <nobr><code>ResourceBundle</code>&nbsp;<A HREF="../../../../reference/java/util/ResourceBundle.html#getBundle(java.lang.String)" target="_top"><code>getBundle</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.util.MissingResourceException</code> to no exceptions.<br>
+ Change from non-final to final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.Locale, java.lang.ClassLoader)"></A>
+  <nobr><code>ResourceBundle</code>&nbsp;<A HREF="../../../../reference/java/util/ResourceBundle.html#getBundle(java.lang.String, java.util.Locale, java.lang.ClassLoader)" target="_top"><code>getBundle</code></A>(<code>String,</nobr> Locale<nobr>,</nobr> ClassLoader<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.util.MissingResourceException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.Locale)"></A>
+  <nobr><code>ResourceBundle</code>&nbsp;<A HREF="../../../../reference/java/util/ResourceBundle.html#getBundle(java.lang.String, java.util.Locale)" target="_top"><code>getBundle</code></A>(<code>String,</nobr> Locale<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from non-final to final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.Locale, java.util.ResourceBundle.Control)"></A>
+  <nobr><code>ResourceBundle</code>&nbsp;<A HREF="../../../../reference/java/util/ResourceBundle.html#getBundle(java.lang.String, java.util.Locale, java.util.ResourceBundle.Control)" target="_top"><code>getBundle</code></A>(<code>String,</nobr> Locale<nobr>,</nobr> Control<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from non-final to final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.ResourceBundle.Control)"></A>
+  <nobr><code>ResourceBundle</code>&nbsp;<A HREF="../../../../reference/java/util/ResourceBundle.html#getBundle(java.lang.String, java.util.ResourceBundle.Control)" target="_top"><code>getBundle</code></A>(<code>String,</nobr> Control<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from non-final to final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.Scanner.html b/docs/html/sdk/api_diff/24/changes/java.util.Scanner.html
new file mode 100644
index 0000000..061eb2c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.Scanner.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.Scanner
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/Scanner.html" target="_top"><font size="+2"><code>Scanner</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Scanner.remove_removed()"></A>
+  <nobr><code>void</code>&nbsp;remove()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.SortedMap.html b/docs/html/sdk/api_diff/24/changes/java.util.SortedMap.html
new file mode 100644
index 0000000..953c047
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.SortedMap.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.SortedMap
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface java.util.<A HREF="../../../../reference/java/util/SortedMap.html" target="_top"><font size="+2"><code>SortedMap</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.SortedMap.entrySet_added()"></A>
+  <nobr>(<code>Set&lt;Entry&lt;K, V&gt;&gt;</code>)&nbsp;<A HREF="../../../../reference/java/util/SortedMap.html#entrySet()" target="_top"><code>entrySet</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.SortedMap.keySet_added()"></A>
+  <nobr><code>Set&lt;K&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/SortedMap.html#keySet()" target="_top"><code>keySet</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.SortedMap.values_added()"></A>
+  <nobr><code>Collection&lt;V&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/SortedMap.html#values()" target="_top"><code>values</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.TimeZone.html b/docs/html/sdk/api_diff/24/changes/java.util.TimeZone.html
new file mode 100644
index 0000000..e888f22
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.TimeZone.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.TimeZone
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/TimeZone.html" target="_top"><font size="+2"><code>TimeZone</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.TimeZone.observesDaylightTime_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/util/TimeZone.html#observesDaylightTime()" target="_top"><code>observesDaylightTime</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.TreeMap.html b/docs/html/sdk/api_diff/24/changes/java.util.TreeMap.html
new file mode 100644
index 0000000..ed4d0d2
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.TreeMap.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.TreeMap
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/TreeMap.html" target="_top"><font size="+2"><code>TreeMap</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.util.SortedMap</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.TreeMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/TreeMap.html#forEach(java.util.function.BiConsumer<? super K, ? super V>)" target="_top"><code>forEach</code></A>(<code>BiConsumer&lt;?,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.TreeMap.replace_added(K, V)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/TreeMap.html#replace(K, V)" target="_top"><code>replace</code></A>(<code>K,</nobr> V<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.TreeMap.replace_added(K, V, V)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/util/TreeMap.html#replace(K, V, V)" target="_top"><code>replace</code></A>(<code>K,</nobr> V<nobr>,</nobr> V<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.TreeMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/TreeMap.html#replaceAll(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" target="_top"><code>replaceAll</code></A>(<code>BiFunction&lt;?,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.TreeSet.html b/docs/html/sdk/api_diff/24/changes/java.util.TreeSet.html
new file mode 100644
index 0000000..1357c66
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.TreeSet.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.TreeSet
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/TreeSet.html" target="_top"><font size="+2"><code>TreeSet</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.TreeSet.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/TreeSet.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.Vector.html b/docs/html/sdk/api_diff/24/changes/java.util.Vector.html
new file mode 100644
index 0000000..43e9aa4
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.Vector.html
@@ -0,0 +1,150 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.Vector
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/Vector.html" target="_top"><font size="+2"><code>Vector</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Vector.forEach_added(java.util.function.Consumer<? super E>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Vector.html#forEach(java.util.function.Consumer<? super E>)" target="_top"><code>forEach</code></A>(<code>Consumer&lt;? super E&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Vector.removeIf_added(java.util.function.Predicate<? super E>)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/util/Vector.html#removeIf(java.util.function.Predicate<? super E>)" target="_top"><code>removeIf</code></A>(<code>Predicate&lt;? super E&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Vector.replaceAll_added(java.util.function.UnaryOperator<E>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Vector.html#replaceAll(java.util.function.UnaryOperator<E>)" target="_top"><code>replaceAll</code></A>(<code>UnaryOperator&lt;E&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Vector.sort_added(java.util.Comparator<? super E>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/Vector.html#sort(java.util.Comparator<? super E>)" target="_top"><code>sort</code></A>(<code>Comparator&lt;? super E&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Vector.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/Vector.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.WeakHashMap.html b/docs/html/sdk/api_diff/24/changes/java.util.WeakHashMap.html
new file mode 100644
index 0000000..30cefc1
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.WeakHashMap.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.WeakHashMap
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/WeakHashMap.html" target="_top"><font size="+2"><code>WeakHashMap</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.WeakHashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/WeakHashMap.html#forEach(java.util.function.BiConsumer<? super K, ? super V>)" target="_top"><code>forEach</code></A>(<code>BiConsumer&lt;?,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.WeakHashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/WeakHashMap.html#replaceAll(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" target="_top"><code>replaceAll</code></A>(<code>BiFunction&lt;?,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ArrayBlockingQueue.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ArrayBlockingQueue.html
new file mode 100644
index 0000000..f87e103
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ArrayBlockingQueue.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.ArrayBlockingQueue
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.<A HREF="../../../../reference/java/util/concurrent/ArrayBlockingQueue.html" target="_top"><font size="+2"><code>ArrayBlockingQueue</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ArrayBlockingQueue.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ArrayBlockingQueue.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ConcurrentHashMap.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ConcurrentHashMap.html
new file mode 100644
index 0000000..1eafb8a
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ConcurrentHashMap.html
@@ -0,0 +1,409 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.ConcurrentHashMap
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html" target="_top"><font size="+2"><code>ConcurrentHashMap</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#compute(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" target="_top"><code>compute</code></A>(<code>K,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>)" target="_top"><code>computeIfAbsent</code></A>(<code>K,</nobr> Function&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#computeIfPresent(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" target="_top"><code>computeIfPresent</code></A>(<code>K,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#forEach(java.util.function.BiConsumer<? super K, ? super V>)" target="_top"><code>forEach</code></A>(<code>BiConsumer&lt;?,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.forEach_added(long, java.util.function.BiConsumer<? super K, ? super V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#forEach(long, java.util.function.BiConsumer<? super K, ? super V>)" target="_top"><code>forEach</code></A>(<code>long,</nobr> BiConsumer&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.forEach_added(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.Consumer<? super U>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#forEach(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.Consumer<? super U>)" target="_top"><code>forEach</code></A>(<code>long,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr>,</nobr> Consumer&lt;?<nobr>,</nobr> super<nobr>,</nobr> U&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.forEachEntry_added(long, java.util.function.Consumer<? super java.util.Map.Entry<K, V>>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#forEachEntry(long, java.util.function.Consumer<? super java.util.Map.Entry<K, V>>)" target="_top"><code>forEachEntry</code></A>(<code>long,</nobr> Consumer&lt;Entry&lt;K<nobr>,</nobr> V&gt;&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.forEachEntry_added(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.Consumer<? super U>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#forEachEntry(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.Consumer<? super U>)" target="_top"><code>forEachEntry</code></A>(<code>long,</nobr> Function&lt;Entry&lt;K<nobr>,</nobr> V&gt;<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr>,</nobr> Consumer&lt;?<nobr>,</nobr> super<nobr>,</nobr> U&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.forEachKey_added(long, java.util.function.Consumer<? super K>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#forEachKey(long, java.util.function.Consumer<? super K>)" target="_top"><code>forEachKey</code></A>(<code>long,</nobr> Consumer&lt;?<nobr>,</nobr> super<nobr>,</nobr> K&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.forEachKey_added(long, java.util.function.Function<? super K, ? extends U>, java.util.function.Consumer<? super U>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#forEachKey(long, java.util.function.Function<? super K, ? extends U>, java.util.function.Consumer<? super U>)" target="_top"><code>forEachKey</code></A>(<code>long,</nobr> Function&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr>,</nobr> Consumer&lt;?<nobr>,</nobr> super<nobr>,</nobr> U&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.forEachValue_added(long, java.util.function.Consumer<? super V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#forEachValue(long, java.util.function.Consumer<? super V>)" target="_top"><code>forEachValue</code></A>(<code>long,</nobr> Consumer&lt;?<nobr>,</nobr> super<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.forEachValue_added(long, java.util.function.Function<? super V, ? extends U>, java.util.function.Consumer<? super U>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#forEachValue(long, java.util.function.Function<? super V, ? extends U>, java.util.function.Consumer<? super U>)" target="_top"><code>forEachValue</code></A>(<code>long,</nobr> Function&lt;?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr>,</nobr> Consumer&lt;?<nobr>,</nobr> super<nobr>,</nobr> U&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.getOrDefault_added(java.lang.Object, V)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#getOrDefault(java.lang.Object, V)" target="_top"><code>getOrDefault</code></A>(<code>Object,</nobr> V<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.keySet_added(V)"></A>
+  <nobr>(<code>KeySetView&lt;K, V&gt;</code>)&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#keySet(V)" target="_top"><code>keySet</code></A>(<code>V</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.mappingCount_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#mappingCount()" target="_top"><code>mappingCount</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#merge(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" target="_top"><code>merge</code></A>(<code>K,</nobr> V<nobr>,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.newKeySet_added()"></A>
+  <nobr>(<code>KeySetView&lt;K, Boolean&gt;</code>)&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#newKeySet()" target="_top"><code>newKeySet</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.newKeySet_added(int)"></A>
+  <nobr>(<code>KeySetView&lt;K, Boolean&gt;</code>)&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#newKeySet(int)" target="_top"><code>newKeySet</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduce_added(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)"></A>
+  <nobr><code>U</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduce(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" target="_top"><code>reduce</code></A>(<code>long,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr>,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> U<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> U<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceEntries_added(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)"></A>
+  <nobr><code>U</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceEntries(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" target="_top"><code>reduceEntries</code></A>(<code>long,</nobr> Function&lt;Entry&lt;K<nobr>,</nobr> V&gt;<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr>,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> U<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> U<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceEntries_added(long, java.util.function.BiFunction<java.util.Map.Entry<K, V>, java.util.Map.Entry<K, V>, ? extends java.util.Map.Entry<K, V>>)"></A>
+  <nobr>(<code>Entry&lt;K, V&gt;</code>)&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceEntries(long, java.util.function.BiFunction<java.util.Map.Entry<K, V>, java.util.Map.Entry<K, V>, ? extends java.util.Map.Entry<K, V>>)" target="_top"><code>reduceEntries</code></A>(<code>long,</nobr> BiFunction&lt;Entry&lt;K<nobr>,</nobr> V&gt;<nobr>,</nobr> Entry&lt;K<nobr>,</nobr> V&gt;<nobr>,</nobr> Entry&lt;K<nobr>,</nobr> V&gt;&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceEntriesToDouble_added(long, java.util.function.ToDoubleFunction<java.util.Map.Entry<K, V>>, double, java.util.function.DoubleBinaryOperator)"></A>
+  <nobr><code>double</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceEntriesToDouble(long, java.util.function.ToDoubleFunction<java.util.Map.Entry<K, V>>, double, java.util.function.DoubleBinaryOperator)" target="_top"><code>reduceEntriesToDouble</code></A>(<code>long,</nobr> ToDoubleFunction&lt;Entry&lt;K<nobr>,</nobr> V&gt;&gt;<nobr>,</nobr> double<nobr>,</nobr> DoubleBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceEntriesToInt_added(long, java.util.function.ToIntFunction<java.util.Map.Entry<K, V>>, int, java.util.function.IntBinaryOperator)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceEntriesToInt(long, java.util.function.ToIntFunction<java.util.Map.Entry<K, V>>, int, java.util.function.IntBinaryOperator)" target="_top"><code>reduceEntriesToInt</code></A>(<code>long,</nobr> ToIntFunction&lt;Entry&lt;K<nobr>,</nobr> V&gt;&gt;<nobr>,</nobr> int<nobr>,</nobr> IntBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceEntriesToLong_added(long, java.util.function.ToLongFunction<java.util.Map.Entry<K, V>>, long, java.util.function.LongBinaryOperator)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceEntriesToLong(long, java.util.function.ToLongFunction<java.util.Map.Entry<K, V>>, long, java.util.function.LongBinaryOperator)" target="_top"><code>reduceEntriesToLong</code></A>(<code>long,</nobr> ToLongFunction&lt;Entry&lt;K<nobr>,</nobr> V&gt;&gt;<nobr>,</nobr> long<nobr>,</nobr> LongBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceKeys_added(long, java.util.function.BiFunction<? super K, ? super K, ? extends K>)"></A>
+  <nobr><code>K</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceKeys(long, java.util.function.BiFunction<? super K, ? super K, ? extends K>)" target="_top"><code>reduceKeys</code></A>(<code>long,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> K&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceKeys_added(long, java.util.function.Function<? super K, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)"></A>
+  <nobr><code>U</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceKeys(long, java.util.function.Function<? super K, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" target="_top"><code>reduceKeys</code></A>(<code>long,</nobr> Function&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr>,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> U<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> U<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceKeysToDouble_added(long, java.util.function.ToDoubleFunction<? super K>, double, java.util.function.DoubleBinaryOperator)"></A>
+  <nobr><code>double</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceKeysToDouble(long, java.util.function.ToDoubleFunction<? super K>, double, java.util.function.DoubleBinaryOperator)" target="_top"><code>reduceKeysToDouble</code></A>(<code>long,</nobr> ToDoubleFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K&gt;<nobr>,</nobr> double<nobr>,</nobr> DoubleBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceKeysToInt_added(long, java.util.function.ToIntFunction<? super K>, int, java.util.function.IntBinaryOperator)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceKeysToInt(long, java.util.function.ToIntFunction<? super K>, int, java.util.function.IntBinaryOperator)" target="_top"><code>reduceKeysToInt</code></A>(<code>long,</nobr> ToIntFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K&gt;<nobr>,</nobr> int<nobr>,</nobr> IntBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceKeysToLong_added(long, java.util.function.ToLongFunction<? super K>, long, java.util.function.LongBinaryOperator)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceKeysToLong(long, java.util.function.ToLongFunction<? super K>, long, java.util.function.LongBinaryOperator)" target="_top"><code>reduceKeysToLong</code></A>(<code>long,</nobr> ToLongFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K&gt;<nobr>,</nobr> long<nobr>,</nobr> LongBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceToDouble_added(long, java.util.function.ToDoubleBiFunction<? super K, ? super V>, double, java.util.function.DoubleBinaryOperator)"></A>
+  <nobr><code>double</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceToDouble(long, java.util.function.ToDoubleBiFunction<? super K, ? super V>, double, java.util.function.DoubleBinaryOperator)" target="_top"><code>reduceToDouble</code></A>(<code>long,</nobr> ToDoubleBiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V&gt;<nobr>,</nobr> double<nobr>,</nobr> DoubleBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceToInt_added(long, java.util.function.ToIntBiFunction<? super K, ? super V>, int, java.util.function.IntBinaryOperator)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceToInt(long, java.util.function.ToIntBiFunction<? super K, ? super V>, int, java.util.function.IntBinaryOperator)" target="_top"><code>reduceToInt</code></A>(<code>long,</nobr> ToIntBiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V&gt;<nobr>,</nobr> int<nobr>,</nobr> IntBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceToLong_added(long, java.util.function.ToLongBiFunction<? super K, ? super V>, long, java.util.function.LongBinaryOperator)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceToLong(long, java.util.function.ToLongBiFunction<? super K, ? super V>, long, java.util.function.LongBinaryOperator)" target="_top"><code>reduceToLong</code></A>(<code>long,</nobr> ToLongBiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V&gt;<nobr>,</nobr> long<nobr>,</nobr> LongBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceValues_added(long, java.util.function.Function<? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)"></A>
+  <nobr><code>U</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceValues(long, java.util.function.Function<? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" target="_top"><code>reduceValues</code></A>(<code>long,</nobr> Function&lt;?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr>,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> U<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> U<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceValues_added(long, java.util.function.BiFunction<? super V, ? super V, ? extends V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceValues(long, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" target="_top"><code>reduceValues</code></A>(<code>long,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceValuesToDouble_added(long, java.util.function.ToDoubleFunction<? super V>, double, java.util.function.DoubleBinaryOperator)"></A>
+  <nobr><code>double</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceValuesToDouble(long, java.util.function.ToDoubleFunction<? super V>, double, java.util.function.DoubleBinaryOperator)" target="_top"><code>reduceValuesToDouble</code></A>(<code>long,</nobr> ToDoubleFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> V&gt;<nobr>,</nobr> double<nobr>,</nobr> DoubleBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceValuesToInt_added(long, java.util.function.ToIntFunction<? super V>, int, java.util.function.IntBinaryOperator)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceValuesToInt(long, java.util.function.ToIntFunction<? super V>, int, java.util.function.IntBinaryOperator)" target="_top"><code>reduceValuesToInt</code></A>(<code>long,</nobr> ToIntFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> V&gt;<nobr>,</nobr> int<nobr>,</nobr> IntBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.reduceValuesToLong_added(long, java.util.function.ToLongFunction<? super V>, long, java.util.function.LongBinaryOperator)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#reduceValuesToLong(long, java.util.function.ToLongFunction<? super V>, long, java.util.function.LongBinaryOperator)" target="_top"><code>reduceValuesToLong</code></A>(<code>long,</nobr> ToLongFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> V&gt;<nobr>,</nobr> long<nobr>,</nobr> LongBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#replaceAll(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" target="_top"><code>replaceAll</code></A>(<code>BiFunction&lt;?,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.search_added(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>)"></A>
+  <nobr><code>U</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#search(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>)" target="_top"><code>search</code></A>(<code>long,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.searchEntries_added(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>)"></A>
+  <nobr><code>U</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#searchEntries(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>)" target="_top"><code>searchEntries</code></A>(<code>long,</nobr> Function&lt;Entry&lt;K<nobr>,</nobr> V&gt;<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.searchKeys_added(long, java.util.function.Function<? super K, ? extends U>)"></A>
+  <nobr><code>U</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#searchKeys(long, java.util.function.Function<? super K, ? extends U>)" target="_top"><code>searchKeys</code></A>(<code>long,</nobr> Function&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentHashMap.searchValues_added(long, java.util.function.Function<? super V, ? extends U>)"></A>
+  <nobr><code>U</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.html#searchValues(long, java.util.function.Function<? super V, ? extends U>)" target="_top"><code>searchValues</code></A>(<code>long,</nobr> Function&lt;?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> U&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ConcurrentLinkedDeque.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ConcurrentLinkedDeque.html
new file mode 100644
index 0000000..74ac9f0
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ConcurrentLinkedDeque.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.ConcurrentLinkedDeque
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.<A HREF="../../../../reference/java/util/concurrent/ConcurrentLinkedDeque.html" target="_top"><font size="+2"><code>ConcurrentLinkedDeque</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentLinkedDeque.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentLinkedDeque.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ConcurrentLinkedQueue.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ConcurrentLinkedQueue.html
new file mode 100644
index 0000000..df4ca99
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ConcurrentLinkedQueue.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.ConcurrentLinkedQueue
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.<A HREF="../../../../reference/java/util/concurrent/ConcurrentLinkedQueue.html" target="_top"><font size="+2"><code>ConcurrentLinkedQueue</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentLinkedQueue.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentLinkedQueue.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ConcurrentSkipListMap.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ConcurrentSkipListMap.html
new file mode 100644
index 0000000..1aee8f2
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ConcurrentSkipListMap.html
@@ -0,0 +1,164 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.ConcurrentSkipListMap
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.<A HREF="../../../../reference/java/util/concurrent/ConcurrentSkipListMap.html" target="_top"><font size="+2"><code>ConcurrentSkipListMap</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentSkipListMap.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentSkipListMap.html#compute(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" target="_top"><code>compute</code></A>(<code>K,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentSkipListMap.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentSkipListMap.html#computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>)" target="_top"><code>computeIfAbsent</code></A>(<code>K,</nobr> Function&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentSkipListMap.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentSkipListMap.html#computeIfPresent(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" target="_top"><code>computeIfPresent</code></A>(<code>K,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentSkipListMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentSkipListMap.html#forEach(java.util.function.BiConsumer<? super K, ? super V>)" target="_top"><code>forEach</code></A>(<code>BiConsumer&lt;?,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentSkipListMap.getOrDefault_added(java.lang.Object, V)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentSkipListMap.html#getOrDefault(java.lang.Object, V)" target="_top"><code>getOrDefault</code></A>(<code>Object,</nobr> V<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentSkipListMap.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentSkipListMap.html#merge(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" target="_top"><code>merge</code></A>(<code>K,</nobr> V<nobr>,</nobr> BiFunction&lt;?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentSkipListMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentSkipListMap.html#replaceAll(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" target="_top"><code>replaceAll</code></A>(<code>BiFunction&lt;?,</nobr> super<nobr>,</nobr> K<nobr>,</nobr> ?<nobr>,</nobr> super<nobr>,</nobr> V<nobr>,</nobr> ?<nobr>,</nobr> extends<nobr>,</nobr> V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ConcurrentSkipListSet.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ConcurrentSkipListSet.html
new file mode 100644
index 0000000..cc09e9d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ConcurrentSkipListSet.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.ConcurrentSkipListSet
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.<A HREF="../../../../reference/java/util/concurrent/ConcurrentSkipListSet.html" target="_top"><font size="+2"><code>ConcurrentSkipListSet</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ConcurrentSkipListSet.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ConcurrentSkipListSet.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.CopyOnWriteArrayList.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.CopyOnWriteArrayList.html
new file mode 100644
index 0000000..83e9eb7
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.CopyOnWriteArrayList.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.CopyOnWriteArrayList
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.<A HREF="../../../../reference/java/util/concurrent/CopyOnWriteArrayList.html" target="_top"><font size="+2"><code>CopyOnWriteArrayList</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.CopyOnWriteArrayList.forEach_added(java.util.function.Consumer<? super E>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/CopyOnWriteArrayList.html#forEach(java.util.function.Consumer<? super E>)" target="_top"><code>forEach</code></A>(<code>Consumer&lt;? super E&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.CopyOnWriteArraySet.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.CopyOnWriteArraySet.html
new file mode 100644
index 0000000..0a5a542
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.CopyOnWriteArraySet.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.CopyOnWriteArraySet
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.<A HREF="../../../../reference/java/util/concurrent/CopyOnWriteArraySet.html" target="_top"><font size="+2"><code>CopyOnWriteArraySet</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.CopyOnWriteArraySet.forEach_added(java.util.function.Consumer<? super E>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/CopyOnWriteArraySet.html#forEach(java.util.function.Consumer<? super E>)" target="_top"><code>forEach</code></A>(<code>Consumer&lt;? super E&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.CopyOnWriteArraySet.removeIf_added(java.util.function.Predicate<? super E>)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/CopyOnWriteArraySet.html#removeIf(java.util.function.Predicate<? super E>)" target="_top"><code>removeIf</code></A>(<code>Predicate&lt;? super E&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.CopyOnWriteArraySet.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/CopyOnWriteArraySet.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.Executors.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.Executors.html
new file mode 100644
index 0000000..84408a0
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.Executors.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.Executors
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.<A HREF="../../../../reference/java/util/concurrent/Executors.html" target="_top"><font size="+2"><code>Executors</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.Executors.newWorkStealingPool_added()"></A>
+  <nobr><code>ExecutorService</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/Executors.html#newWorkStealingPool()" target="_top"><code>newWorkStealingPool</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.Executors.newWorkStealingPool_added(int)"></A>
+  <nobr><code>ExecutorService</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/Executors.html#newWorkStealingPool(int)" target="_top"><code>newWorkStealingPool</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ForkJoinPool.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ForkJoinPool.html
new file mode 100644
index 0000000..f4cd56f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ForkJoinPool.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.ForkJoinPool
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.<A HREF="../../../../reference/java/util/concurrent/ForkJoinPool.html" target="_top"><font size="+2"><code>ForkJoinPool</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ForkJoinPool.commonPool_added()"></A>
+  <nobr><code>ForkJoinPool</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ForkJoinPool.html#commonPool()" target="_top"><code>commonPool</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ForkJoinPool.getCommonPoolParallelism_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ForkJoinPool.html#getCommonPoolParallelism()" target="_top"><code>getCommonPoolParallelism</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ForkJoinTask.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ForkJoinTask.html
new file mode 100644
index 0000000..8372ac4
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.ForkJoinTask.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.ForkJoinTask
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.<A HREF="../../../../reference/java/util/concurrent/ForkJoinTask.html" target="_top"><font size="+2"><code>ForkJoinTask</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ForkJoinTask.compareAndSetForkJoinTaskTag_added(short, short)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ForkJoinTask.html#compareAndSetForkJoinTaskTag(short, short)" target="_top"><code>compareAndSetForkJoinTaskTag</code></A>(<code>short,</nobr> short<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ForkJoinTask.getForkJoinTaskTag_added()"></A>
+  <nobr><code>short</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ForkJoinTask.html#getForkJoinTaskTag()" target="_top"><code>getForkJoinTaskTag</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ForkJoinTask.quietlyComplete_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ForkJoinTask.html#quietlyComplete()" target="_top"><code>quietlyComplete</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.ForkJoinTask.setForkJoinTaskTag_added(short)"></A>
+  <nobr><code>short</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/ForkJoinTask.html#setForkJoinTaskTag(short)" target="_top"><code>setForkJoinTaskTag</code></A>(<code>short</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.LinkedBlockingDeque.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.LinkedBlockingDeque.html
new file mode 100644
index 0000000..be991a5
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.LinkedBlockingDeque.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.LinkedBlockingDeque
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.<A HREF="../../../../reference/java/util/concurrent/LinkedBlockingDeque.html" target="_top"><font size="+2"><code>LinkedBlockingDeque</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.LinkedBlockingDeque.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/LinkedBlockingDeque.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.LinkedBlockingQueue.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.LinkedBlockingQueue.html
new file mode 100644
index 0000000..56e83c3
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.LinkedBlockingQueue.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.LinkedBlockingQueue
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.<A HREF="../../../../reference/java/util/concurrent/LinkedBlockingQueue.html" target="_top"><font size="+2"><code>LinkedBlockingQueue</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.LinkedBlockingQueue.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/LinkedBlockingQueue.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.LinkedTransferQueue.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.LinkedTransferQueue.html
new file mode 100644
index 0000000..bf08b28
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.LinkedTransferQueue.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.LinkedTransferQueue
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.<A HREF="../../../../reference/java/util/concurrent/LinkedTransferQueue.html" target="_top"><font size="+2"><code>LinkedTransferQueue</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.LinkedTransferQueue.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/LinkedTransferQueue.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.PriorityBlockingQueue.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.PriorityBlockingQueue.html
new file mode 100644
index 0000000..1e7f557
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.PriorityBlockingQueue.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.PriorityBlockingQueue
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.<A HREF="../../../../reference/java/util/concurrent/PriorityBlockingQueue.html" target="_top"><font size="+2"><code>PriorityBlockingQueue</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.PriorityBlockingQueue.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/PriorityBlockingQueue.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.SynchronousQueue.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.SynchronousQueue.html
new file mode 100644
index 0000000..643fe8f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.SynchronousQueue.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.SynchronousQueue
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.<A HREF="../../../../reference/java/util/concurrent/SynchronousQueue.html" target="_top"><font size="+2"><code>SynchronousQueue</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.SynchronousQueue.spliterator_added()"></A>
+  <nobr><code>Spliterator&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/SynchronousQueue.html#spliterator()" target="_top"><code>spliterator</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicInteger.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicInteger.html
new file mode 100644
index 0000000..d6c253e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicInteger.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.atomic.AtomicInteger
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.atomic.<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicInteger.html" target="_top"><font size="+2"><code>AtomicInteger</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicInteger.accumulateAndGet_added(int, java.util.function.IntBinaryOperator)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicInteger.html#accumulateAndGet(int, java.util.function.IntBinaryOperator)" target="_top"><code>accumulateAndGet</code></A>(<code>int,</nobr> IntBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicInteger.getAndAccumulate_added(int, java.util.function.IntBinaryOperator)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicInteger.html#getAndAccumulate(int, java.util.function.IntBinaryOperator)" target="_top"><code>getAndAccumulate</code></A>(<code>int,</nobr> IntBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicInteger.getAndUpdate_added(java.util.function.IntUnaryOperator)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicInteger.html#getAndUpdate(java.util.function.IntUnaryOperator)" target="_top"><code>getAndUpdate</code></A>(<code>IntUnaryOperator</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicInteger.updateAndGet_added(java.util.function.IntUnaryOperator)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicInteger.html#updateAndGet(java.util.function.IntUnaryOperator)" target="_top"><code>updateAndGet</code></A>(<code>IntUnaryOperator</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicIntegerArray.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicIntegerArray.html
new file mode 100644
index 0000000..43af26f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicIntegerArray.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.atomic.AtomicIntegerArray
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.atomic.<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicIntegerArray.html" target="_top"><font size="+2"><code>AtomicIntegerArray</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicIntegerArray.accumulateAndGet_added(int, int, java.util.function.IntBinaryOperator)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicIntegerArray.html#accumulateAndGet(int, int, java.util.function.IntBinaryOperator)" target="_top"><code>accumulateAndGet</code></A>(<code>int,</nobr> int<nobr>,</nobr> IntBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicIntegerArray.getAndAccumulate_added(int, int, java.util.function.IntBinaryOperator)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicIntegerArray.html#getAndAccumulate(int, int, java.util.function.IntBinaryOperator)" target="_top"><code>getAndAccumulate</code></A>(<code>int,</nobr> int<nobr>,</nobr> IntBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicIntegerArray.getAndUpdate_added(int, java.util.function.IntUnaryOperator)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicIntegerArray.html#getAndUpdate(int, java.util.function.IntUnaryOperator)" target="_top"><code>getAndUpdate</code></A>(<code>int,</nobr> IntUnaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicIntegerArray.updateAndGet_added(int, java.util.function.IntUnaryOperator)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicIntegerArray.html#updateAndGet(int, java.util.function.IntUnaryOperator)" target="_top"><code>updateAndGet</code></A>(<code>int,</nobr> IntUnaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html
new file mode 100644
index 0000000..8f8d289
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.atomic.AtomicIntegerFieldUpdater
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.atomic.<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.html" target="_top"><font size="+2"><code>AtomicIntegerFieldUpdater</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.accumulateAndGet_added(T, int, java.util.function.IntBinaryOperator)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.html#accumulateAndGet(T, int, java.util.function.IntBinaryOperator)" target="_top"><code>accumulateAndGet</code></A>(<code>T,</nobr> int<nobr>,</nobr> IntBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndAccumulate_added(T, int, java.util.function.IntBinaryOperator)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.html#getAndAccumulate(T, int, java.util.function.IntBinaryOperator)" target="_top"><code>getAndAccumulate</code></A>(<code>T,</nobr> int<nobr>,</nobr> IntBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndUpdate_added(T, java.util.function.IntUnaryOperator)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.html#getAndUpdate(T, java.util.function.IntUnaryOperator)" target="_top"><code>getAndUpdate</code></A>(<code>T,</nobr> IntUnaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.updateAndGet_added(T, java.util.function.IntUnaryOperator)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.html#updateAndGet(T, java.util.function.IntUnaryOperator)" target="_top"><code>updateAndGet</code></A>(<code>T,</nobr> IntUnaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicLong.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicLong.html
new file mode 100644
index 0000000..a2b03d8
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicLong.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.atomic.AtomicLong
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.atomic.<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicLong.html" target="_top"><font size="+2"><code>AtomicLong</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicLong.accumulateAndGet_added(long, java.util.function.LongBinaryOperator)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicLong.html#accumulateAndGet(long, java.util.function.LongBinaryOperator)" target="_top"><code>accumulateAndGet</code></A>(<code>long,</nobr> LongBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicLong.getAndAccumulate_added(long, java.util.function.LongBinaryOperator)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicLong.html#getAndAccumulate(long, java.util.function.LongBinaryOperator)" target="_top"><code>getAndAccumulate</code></A>(<code>long,</nobr> LongBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicLong.getAndUpdate_added(java.util.function.LongUnaryOperator)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicLong.html#getAndUpdate(java.util.function.LongUnaryOperator)" target="_top"><code>getAndUpdate</code></A>(<code>LongUnaryOperator</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicLong.updateAndGet_added(java.util.function.LongUnaryOperator)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicLong.html#updateAndGet(java.util.function.LongUnaryOperator)" target="_top"><code>updateAndGet</code></A>(<code>LongUnaryOperator</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicLongArray.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicLongArray.html
new file mode 100644
index 0000000..c3d9e26
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicLongArray.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.atomic.AtomicLongArray
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.atomic.<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicLongArray.html" target="_top"><font size="+2"><code>AtomicLongArray</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicLongArray.accumulateAndGet_added(int, long, java.util.function.LongBinaryOperator)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicLongArray.html#accumulateAndGet(int, long, java.util.function.LongBinaryOperator)" target="_top"><code>accumulateAndGet</code></A>(<code>int,</nobr> long<nobr>,</nobr> LongBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicLongArray.getAndAccumulate_added(int, long, java.util.function.LongBinaryOperator)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicLongArray.html#getAndAccumulate(int, long, java.util.function.LongBinaryOperator)" target="_top"><code>getAndAccumulate</code></A>(<code>int,</nobr> long<nobr>,</nobr> LongBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicLongArray.getAndUpdate_added(int, java.util.function.LongUnaryOperator)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicLongArray.html#getAndUpdate(int, java.util.function.LongUnaryOperator)" target="_top"><code>getAndUpdate</code></A>(<code>int,</nobr> LongUnaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicLongArray.updateAndGet_added(int, java.util.function.LongUnaryOperator)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicLongArray.html#updateAndGet(int, java.util.function.LongUnaryOperator)" target="_top"><code>updateAndGet</code></A>(<code>int,</nobr> LongUnaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicLongFieldUpdater.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicLongFieldUpdater.html
new file mode 100644
index 0000000..1d165bc
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicLongFieldUpdater.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.atomic.AtomicLongFieldUpdater
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.atomic.<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicLongFieldUpdater.html" target="_top"><font size="+2"><code>AtomicLongFieldUpdater</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicLongFieldUpdater.accumulateAndGet_added(T, long, java.util.function.LongBinaryOperator)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicLongFieldUpdater.html#accumulateAndGet(T, long, java.util.function.LongBinaryOperator)" target="_top"><code>accumulateAndGet</code></A>(<code>T,</nobr> long<nobr>,</nobr> LongBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicLongFieldUpdater.getAndAccumulate_added(T, long, java.util.function.LongBinaryOperator)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicLongFieldUpdater.html#getAndAccumulate(T, long, java.util.function.LongBinaryOperator)" target="_top"><code>getAndAccumulate</code></A>(<code>T,</nobr> long<nobr>,</nobr> LongBinaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicLongFieldUpdater.getAndUpdate_added(T, java.util.function.LongUnaryOperator)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicLongFieldUpdater.html#getAndUpdate(T, java.util.function.LongUnaryOperator)" target="_top"><code>getAndUpdate</code></A>(<code>T,</nobr> LongUnaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicLongFieldUpdater.updateAndGet_added(T, java.util.function.LongUnaryOperator)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicLongFieldUpdater.html#updateAndGet(T, java.util.function.LongUnaryOperator)" target="_top"><code>updateAndGet</code></A>(<code>T,</nobr> LongUnaryOperator<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicReference.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicReference.html
new file mode 100644
index 0000000..570fa59
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicReference.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.atomic.AtomicReference
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.atomic.<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicReference.html" target="_top"><font size="+2"><code>AtomicReference</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicReference.accumulateAndGet_added(V, java.util.function.BinaryOperator<V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicReference.html#accumulateAndGet(V, java.util.function.BinaryOperator<V>)" target="_top"><code>accumulateAndGet</code></A>(<code>V,</nobr> BinaryOperator&lt;V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicReference.getAndAccumulate_added(V, java.util.function.BinaryOperator<V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicReference.html#getAndAccumulate(V, java.util.function.BinaryOperator<V>)" target="_top"><code>getAndAccumulate</code></A>(<code>V,</nobr> BinaryOperator&lt;V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicReference.getAndUpdate_added(java.util.function.UnaryOperator<V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicReference.html#getAndUpdate(java.util.function.UnaryOperator<V>)" target="_top"><code>getAndUpdate</code></A>(<code>UnaryOperator&lt;V&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicReference.updateAndGet_added(java.util.function.UnaryOperator<V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicReference.html#updateAndGet(java.util.function.UnaryOperator<V>)" target="_top"><code>updateAndGet</code></A>(<code>UnaryOperator&lt;V&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicReferenceArray.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicReferenceArray.html
new file mode 100644
index 0000000..160ad68
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicReferenceArray.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.atomic.AtomicReferenceArray
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.atomic.<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicReferenceArray.html" target="_top"><font size="+2"><code>AtomicReferenceArray</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicReferenceArray.accumulateAndGet_added(int, E, java.util.function.BinaryOperator<E>)"></A>
+  <nobr><code>E</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicReferenceArray.html#accumulateAndGet(int, E, java.util.function.BinaryOperator<E>)" target="_top"><code>accumulateAndGet</code></A>(<code>int,</nobr> E<nobr>,</nobr> BinaryOperator&lt;E&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicReferenceArray.getAndAccumulate_added(int, E, java.util.function.BinaryOperator<E>)"></A>
+  <nobr><code>E</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicReferenceArray.html#getAndAccumulate(int, E, java.util.function.BinaryOperator<E>)" target="_top"><code>getAndAccumulate</code></A>(<code>int,</nobr> E<nobr>,</nobr> BinaryOperator&lt;E&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicReferenceArray.getAndUpdate_added(int, java.util.function.UnaryOperator<E>)"></A>
+  <nobr><code>E</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicReferenceArray.html#getAndUpdate(int, java.util.function.UnaryOperator<E>)" target="_top"><code>getAndUpdate</code></A>(<code>int,</nobr> UnaryOperator&lt;E&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicReferenceArray.updateAndGet_added(int, java.util.function.UnaryOperator<E>)"></A>
+  <nobr><code>E</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicReferenceArray.html#updateAndGet(int, java.util.function.UnaryOperator<E>)" target="_top"><code>updateAndGet</code></A>(<code>int,</nobr> UnaryOperator&lt;E&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html
new file mode 100644
index 0000000..9812fe9
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.atomic.AtomicReferenceFieldUpdater
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.concurrent.atomic.<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.html" target="_top"><font size="+2"><code>AtomicReferenceFieldUpdater</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.accumulateAndGet_added(T, V, java.util.function.BinaryOperator<V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.html#accumulateAndGet(T, V, java.util.function.BinaryOperator<V>)" target="_top"><code>accumulateAndGet</code></A>(<code>T,</nobr> V<nobr>,</nobr> BinaryOperator&lt;V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndAccumulate_added(T, V, java.util.function.BinaryOperator<V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.html#getAndAccumulate(T, V, java.util.function.BinaryOperator<V>)" target="_top"><code>getAndAccumulate</code></A>(<code>T,</nobr> V<nobr>,</nobr> BinaryOperator&lt;V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndUpdate_added(T, java.util.function.UnaryOperator<V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.html#getAndUpdate(T, java.util.function.UnaryOperator<V>)" target="_top"><code>getAndUpdate</code></A>(<code>T,</nobr> UnaryOperator&lt;V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.updateAndGet_added(T, java.util.function.UnaryOperator<V>)"></A>
+  <nobr><code>V</code>&nbsp;<A HREF="../../../../reference/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.html#updateAndGet(T, java.util.function.UnaryOperator<V>)" target="_top"><code>updateAndGet</code></A>(<code>T,</nobr> UnaryOperator&lt;V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.logging.Handler.html b/docs/html/sdk/api_diff/24/changes/java.util.logging.Handler.html
new file mode 100644
index 0000000..a2ebd12
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.logging.Handler.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.logging.Handler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.logging.<A HREF="../../../../reference/java/util/logging/Handler.html" target="_top"><font size="+2"><code>Handler</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.Handler.close_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/Handler.html#close()" target="_top"><code>close</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.Handler.setEncoding_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/Handler.html#setEncoding(java.lang.String)" target="_top"><code>setEncoding</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.io.UnsupportedEncodingException</code> to (<code>java.lang.SecurityException, java.io.UnsupportedEncodingException</code>).<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.Handler.setFilter_changed(java.util.logging.Filter)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/Handler.html#setFilter(java.util.logging.Filter)" target="_top"><code>setFilter</code></A>(<code>Filter</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.Handler.setFormatter_changed(java.util.logging.Formatter)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/Handler.html#setFormatter(java.util.logging.Formatter)" target="_top"><code>setFormatter</code></A>(<code>Formatter</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.Handler.setLevel_changed(java.util.logging.Level)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/Handler.html#setLevel(java.util.logging.Level)" target="_top"><code>setLevel</code></A>(<code>Level</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.logging.LogManager.html b/docs/html/sdk/api_diff/24/changes/java.util.logging.LogManager.html
new file mode 100644
index 0000000..33f4e4f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.logging.LogManager.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.logging.LogManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.logging.<A HREF="../../../../reference/java/util/logging/LogManager.html" target="_top"><font size="+2"><code>LogManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.LogManager.addPropertyChangeListener_changed(java.beans.PropertyChangeListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/LogManager.html#addPropertyChangeListener(java.beans.PropertyChangeListener)" target="_top"><code>addPropertyChangeListener</code></A>(<code>PropertyChangeListener</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.LogManager.checkAccess_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/LogManager.html#checkAccess()" target="_top"><code>checkAccess</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.LogManager.removePropertyChangeListener_changed(java.beans.PropertyChangeListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/LogManager.html#removePropertyChangeListener(java.beans.PropertyChangeListener)" target="_top"><code>removePropertyChangeListener</code></A>(<code>PropertyChangeListener</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.LogManager.reset_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/LogManager.html#reset()" target="_top"><code>reset</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.LogManager.readConfiguration_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/LogManager.html#readConfiguration()" target="_top"><code>readConfiguration</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.io.IOException</code> to (<code>java.io.IOException, java.lang.SecurityException</code>).<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.LogManager.readConfiguration_changed(java.io.InputStream)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/LogManager.html#readConfiguration(java.io.InputStream)" target="_top"><code>readConfiguration</code></A>(<code>InputStream</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.io.IOException</code> to (<code>java.io.IOException, java.lang.SecurityException</code>).<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.logging.Logger.html b/docs/html/sdk/api_diff/24/changes/java.util.logging.Logger.html
new file mode 100644
index 0000000..b14b668
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.logging.Logger.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.logging.Logger
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.logging.<A HREF="../../../../reference/java/util/logging/Logger.html" target="_top"><font size="+2"><code>Logger</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.Logger.addHandler_changed(java.util.logging.Handler)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/Logger.html#addHandler(java.util.logging.Handler)" target="_top"><code>addHandler</code></A>(<code>Handler</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.Logger.getGlobal_changed()"></A>
+  <nobr><code>Logger</code>&nbsp;<A HREF="../../../../reference/java/util/logging/Logger.html#getGlobal()" target="_top"><code>getGlobal</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from non-final to final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.Logger.removeHandler_changed(java.util.logging.Handler)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/Logger.html#removeHandler(java.util.logging.Handler)" target="_top"><code>removeHandler</code></A>(<code>Handler</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.Logger.setFilter_changed(java.util.logging.Filter)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/Logger.html#setFilter(java.util.logging.Filter)" target="_top"><code>setFilter</code></A>(<code>Filter</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.Logger.setLevel_changed(java.util.logging.Level)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/Logger.html#setLevel(java.util.logging.Level)" target="_top"><code>setLevel</code></A>(<code>Level</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.logging.LoggingPermission.html b/docs/html/sdk/api_diff/24/changes/java.util.logging.LoggingPermission.html
new file mode 100644
index 0000000..46abda8
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.logging.LoggingPermission.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.logging.LoggingPermission
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.logging.<A HREF="../../../../reference/java/util/logging/LoggingPermission.html" target="_top"><font size="+2"><code>LoggingPermission</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interfaces <code>java.io.Serializable, java.security.Guard</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.logging.MemoryHandler.html b/docs/html/sdk/api_diff/24/changes/java.util.logging.MemoryHandler.html
new file mode 100644
index 0000000..1e60d83
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.logging.MemoryHandler.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.logging.MemoryHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.logging.<A HREF="../../../../reference/java/util/logging/MemoryHandler.html" target="_top"><font size="+2"><code>MemoryHandler</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.MemoryHandler.close_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/MemoryHandler.html#close()" target="_top"><code>close</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.MemoryHandler.setPushLevel_changed(java.util.logging.Level)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/MemoryHandler.html#setPushLevel(java.util.logging.Level)" target="_top"><code>setPushLevel</code></A>(<code>Level</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.logging.StreamHandler.html b/docs/html/sdk/api_diff/24/changes/java.util.logging.StreamHandler.html
new file mode 100644
index 0000000..dd359d6
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.logging.StreamHandler.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.logging.StreamHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.logging.<A HREF="../../../../reference/java/util/logging/StreamHandler.html" target="_top"><font size="+2"><code>StreamHandler</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.StreamHandler.close_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/StreamHandler.html#close()" target="_top"><code>close</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging.StreamHandler.setOutputStream_changed(java.io.OutputStream)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/StreamHandler.html#setOutputStream(java.io.OutputStream)" target="_top"><code>setOutputStream</code></A>(<code>OutputStream</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.prefs.NodeChangeEvent.html b/docs/html/sdk/api_diff/24/changes/java.util.prefs.NodeChangeEvent.html
new file mode 100644
index 0000000..c88e2c6
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.prefs.NodeChangeEvent.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.prefs.NodeChangeEvent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.prefs.<A HREF="../../../../reference/java/util/prefs/NodeChangeEvent.html" target="_top"><font size="+2"><code>NodeChangeEvent</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.io.Serializable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.prefs.PreferenceChangeEvent.html b/docs/html/sdk/api_diff/24/changes/java.util.prefs.PreferenceChangeEvent.html
new file mode 100644
index 0000000..a3aa51d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.prefs.PreferenceChangeEvent.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.prefs.PreferenceChangeEvent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.prefs.<A HREF="../../../../reference/java/util/prefs/PreferenceChangeEvent.html" target="_top"><font size="+2"><code>PreferenceChangeEvent</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.io.Serializable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.regex.Pattern.html b/docs/html/sdk/api_diff/24/changes/java.util.regex.Pattern.html
new file mode 100644
index 0000000..2ceb3ca
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.regex.Pattern.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.regex.Pattern
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.regex.<A HREF="../../../../reference/java/util/regex/Pattern.html" target="_top"><font size="+2"><code>Pattern</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.regex.Pattern.asPredicate_added()"></A>
+  <nobr><code>Predicate&lt;String&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/regex/Pattern.html#asPredicate()" target="_top"><code>asPredicate</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.regex.Pattern.splitAsStream_added(java.lang.CharSequence)"></A>
+  <nobr><code>Stream&lt;String&gt;</code>&nbsp;<A HREF="../../../../reference/java/util/regex/Pattern.html#splitAsStream(java.lang.CharSequence)" target="_top"><code>splitAsStream</code></A>(<code>CharSequence</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.regex.Pattern.UNICODE_CHARACTER_CLASS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/regex/Pattern.html#UNICODE_CHARACTER_CLASS" target="_top"><code>UNICODE_CHARACTER_CLASS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.zip.InflaterInputStream.html b/docs/html/sdk/api_diff/24/changes/java.util.zip.InflaterInputStream.html
new file mode 100644
index 0000000..970e055
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.zip.InflaterInputStream.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.zip.InflaterInputStream
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.zip.<A HREF="../../../../reference/java/util/zip/InflaterInputStream.html" target="_top"><font size="+2"><code>InflaterInputStream</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.zip.InflaterInputStream.closed"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/util/zip/InflaterInputStream.html#closed" target="_top"><code>closed</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.zip.ZipFile.html b/docs/html/sdk/api_diff/24/changes/java.util.zip.ZipFile.html
new file mode 100644
index 0000000..025c524
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.zip.ZipFile.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.zip.ZipFile
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.zip.<A HREF="../../../../reference/java/util/zip/ZipFile.html" target="_top"><font size="+2"><code>ZipFile</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.zip.ZipFile.ctor_added(java.io.File, int, java.nio.charset.Charset)"></A>
+  <nobr><A HREF="../../../../reference/java/util/zip/ZipFile.html#ZipFile(java.io.File, int, java.nio.charset.Charset)" target="_top"><code>ZipFile</code></A>(<code>File,</nobr> int<nobr>,</nobr> Charset<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.zip.ZipFile.ctor_added(java.io.File, java.nio.charset.Charset)"></A>
+  <nobr><A HREF="../../../../reference/java/util/zip/ZipFile.html#ZipFile(java.io.File, java.nio.charset.Charset)" target="_top"><code>ZipFile</code></A>(<code>File,</nobr> Charset<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.zip.ZipFile.ctor_added(java.lang.String, java.nio.charset.Charset)"></A>
+  <nobr><A HREF="../../../../reference/java/util/zip/ZipFile.html#ZipFile(java.lang.String, java.nio.charset.Charset)" target="_top"><code>ZipFile</code></A>(<code>String,</nobr> Charset<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.zip.ZipInputStream.html b/docs/html/sdk/api_diff/24/changes/java.util.zip.ZipInputStream.html
new file mode 100644
index 0000000..6d61f1d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.zip.ZipInputStream.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.zip.ZipInputStream
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.zip.<A HREF="../../../../reference/java/util/zip/ZipInputStream.html" target="_top"><font size="+2"><code>ZipInputStream</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.zip.ZipInputStream.ctor_added(java.io.InputStream, java.nio.charset.Charset)"></A>
+  <nobr><A HREF="../../../../reference/java/util/zip/ZipInputStream.html#ZipInputStream(java.io.InputStream, java.nio.charset.Charset)" target="_top"><code>ZipInputStream</code></A>(<code>InputStream,</nobr> Charset<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/java.util.zip.ZipOutputStream.html b/docs/html/sdk/api_diff/24/changes/java.util.zip.ZipOutputStream.html
new file mode 100644
index 0000000..c18fa23
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/java.util.zip.ZipOutputStream.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.zip.ZipOutputStream
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.zip.<A HREF="../../../../reference/java/util/zip/ZipOutputStream.html" target="_top"><font size="+2"><code>ZipOutputStream</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.zip.ZipOutputStream.ctor_added(java.io.OutputStream, java.nio.charset.Charset)"></A>
+  <nobr><A HREF="../../../../reference/java/util/zip/ZipOutputStream.html#ZipOutputStream(java.io.OutputStream, java.nio.charset.Charset)" target="_top"><code>ZipOutputStream</code></A>(<code>OutputStream,</nobr> Charset<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/javax.crypto.spec.SecretKeySpec.html b/docs/html/sdk/api_diff/24/changes/javax.crypto.spec.SecretKeySpec.html
new file mode 100644
index 0000000..146a33e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/javax.crypto.spec.SecretKeySpec.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+javax.crypto.spec.SecretKeySpec
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class javax.crypto.spec.<A HREF="../../../../reference/javax/crypto/spec/SecretKeySpec.html" target="_top"><font size="+2"><code>SecretKeySpec</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.io.Serializable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/javax.net.ssl.SSLEngine.html b/docs/html/sdk/api_diff/24/changes/javax.net.ssl.SSLEngine.html
new file mode 100644
index 0000000..9a8ef09
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/javax.net.ssl.SSLEngine.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+javax.net.ssl.SSLEngine
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class javax.net.ssl.<A HREF="../../../../reference/javax/net/ssl/SSLEngine.html" target="_top"><font size="+2"><code>SSLEngine</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.net.ssl.SSLEngine.getHandshakeSession_added()"></A>
+  <nobr><code>SSLSession</code>&nbsp;<A HREF="../../../../reference/javax/net/ssl/SSLEngine.html#getHandshakeSession()" target="_top"><code>getHandshakeSession</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/javax.net.ssl.SSLParameters.html b/docs/html/sdk/api_diff/24/changes/javax.net.ssl.SSLParameters.html
new file mode 100644
index 0000000..a69a63a
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/javax.net.ssl.SSLParameters.html
@@ -0,0 +1,185 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+javax.net.ssl.SSLParameters
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class javax.net.ssl.<A HREF="../../../../reference/javax/net/ssl/SSLParameters.html" target="_top"><font size="+2"><code>SSLParameters</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.net.ssl.SSLParameters.getAlgorithmConstraints_added()"></A>
+  <nobr><code>AlgorithmConstraints</code>&nbsp;<A HREF="../../../../reference/javax/net/ssl/SSLParameters.html#getAlgorithmConstraints()" target="_top"><code>getAlgorithmConstraints</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.net.ssl.SSLParameters.getEndpointIdentificationAlgorithm_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/javax/net/ssl/SSLParameters.html#getEndpointIdentificationAlgorithm()" target="_top"><code>getEndpointIdentificationAlgorithm</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.net.ssl.SSLParameters.getSNIMatchers_added()"></A>
+  <nobr><code>Collection&lt;SNIMatcher&gt;</code>&nbsp;<A HREF="../../../../reference/javax/net/ssl/SSLParameters.html#getSNIMatchers()" target="_top"><code>getSNIMatchers</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.net.ssl.SSLParameters.getServerNames_added()"></A>
+  <nobr><code>List&lt;SNIServerName&gt;</code>&nbsp;<A HREF="../../../../reference/javax/net/ssl/SSLParameters.html#getServerNames()" target="_top"><code>getServerNames</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.net.ssl.SSLParameters.getUseCipherSuitesOrder_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/javax/net/ssl/SSLParameters.html#getUseCipherSuitesOrder()" target="_top"><code>getUseCipherSuitesOrder</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.net.ssl.SSLParameters.setAlgorithmConstraints_added(java.security.AlgorithmConstraints)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/javax/net/ssl/SSLParameters.html#setAlgorithmConstraints(java.security.AlgorithmConstraints)" target="_top"><code>setAlgorithmConstraints</code></A>(<code>AlgorithmConstraints</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.net.ssl.SSLParameters.setEndpointIdentificationAlgorithm_added(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/javax/net/ssl/SSLParameters.html#setEndpointIdentificationAlgorithm(java.lang.String)" target="_top"><code>setEndpointIdentificationAlgorithm</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.net.ssl.SSLParameters.setSNIMatchers_added(java.util.Collection<javax.net.ssl.SNIMatcher>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/javax/net/ssl/SSLParameters.html#setSNIMatchers(java.util.Collection<javax.net.ssl.SNIMatcher>)" target="_top"><code>setSNIMatchers</code></A>(<code>Collection&lt;SNIMatcher&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.net.ssl.SSLParameters.setServerNames_added(java.util.List<javax.net.ssl.SNIServerName>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/javax/net/ssl/SSLParameters.html#setServerNames(java.util.List<javax.net.ssl.SNIServerName>)" target="_top"><code>setServerNames</code></A>(<code>List&lt;SNIServerName&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.net.ssl.SSLParameters.setUseCipherSuitesOrder_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/javax/net/ssl/SSLParameters.html#setUseCipherSuitesOrder(boolean)" target="_top"><code>setUseCipherSuitesOrder</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/javax.net.ssl.SSLServerSocket.html b/docs/html/sdk/api_diff/24/changes/javax.net.ssl.SSLServerSocket.html
new file mode 100644
index 0000000..ead4305
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/javax.net.ssl.SSLServerSocket.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+javax.net.ssl.SSLServerSocket
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class javax.net.ssl.<A HREF="../../../../reference/javax/net/ssl/SSLServerSocket.html" target="_top"><font size="+2"><code>SSLServerSocket</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.net.ssl.SSLServerSocket.getSSLParameters_added()"></A>
+  <nobr><code>SSLParameters</code>&nbsp;<A HREF="../../../../reference/javax/net/ssl/SSLServerSocket.html#getSSLParameters()" target="_top"><code>getSSLParameters</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.net.ssl.SSLServerSocket.setSSLParameters_added(javax.net.ssl.SSLParameters)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/javax/net/ssl/SSLServerSocket.html#setSSLParameters(javax.net.ssl.SSLParameters)" target="_top"><code>setSSLParameters</code></A>(<code>SSLParameters</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/javax.net.ssl.SSLSocket.html b/docs/html/sdk/api_diff/24/changes/javax.net.ssl.SSLSocket.html
new file mode 100644
index 0000000..6a74f1b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/javax.net.ssl.SSLSocket.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+javax.net.ssl.SSLSocket
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class javax.net.ssl.<A HREF="../../../../reference/javax/net/ssl/SSLSocket.html" target="_top"><font size="+2"><code>SSLSocket</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.net.ssl.SSLSocket.getHandshakeSession_added()"></A>
+  <nobr><code>SSLSession</code>&nbsp;<A HREF="../../../../reference/javax/net/ssl/SSLSocket.html#getHandshakeSession()" target="_top"><code>getHandshakeSession</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/javax.sql.CommonDataSource.html b/docs/html/sdk/api_diff/24/changes/javax.sql.CommonDataSource.html
new file mode 100644
index 0000000..4e7cd0c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/javax.sql.CommonDataSource.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+javax.sql.CommonDataSource
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface javax.sql.<A HREF="../../../../reference/javax/sql/CommonDataSource.html" target="_top"><font size="+2"><code>CommonDataSource</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.sql.CommonDataSource.getParentLogger_added()"></A>
+  <nobr><code>Logger</code>&nbsp;<A HREF="../../../../reference/javax/sql/CommonDataSource.html#getParentLogger()" target="_top"><code>getParentLogger</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/javax.sql.ConnectionEvent.html b/docs/html/sdk/api_diff/24/changes/javax.sql.ConnectionEvent.html
new file mode 100644
index 0000000..7d79d8b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/javax.sql.ConnectionEvent.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+javax.sql.ConnectionEvent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class javax.sql.<A HREF="../../../../reference/javax/sql/ConnectionEvent.html" target="_top"><font size="+2"><code>ConnectionEvent</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.io.Serializable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/javax.sql.RowSetEvent.html b/docs/html/sdk/api_diff/24/changes/javax.sql.RowSetEvent.html
new file mode 100644
index 0000000..22371ee
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/javax.sql.RowSetEvent.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+javax.sql.RowSetEvent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class javax.sql.<A HREF="../../../../reference/javax/sql/RowSetEvent.html" target="_top"><font size="+2"><code>RowSetEvent</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.io.Serializable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/jdiff_help.html b/docs/html/sdk/api_diff/24/changes/jdiff_help.html
new file mode 100644
index 0000000..4bfdad3
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/jdiff_help.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+JDiff Help
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<TABLE summary="Navigation bar" BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+  <TABLE summary="Navigation bar" BORDER="0" CELLPADDING="0" CELLSPACING="3">
+    <TR ALIGN="center" VALIGN="top">
+      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../reference/index.html" target="_top"><FONT CLASS="NavBarFont1"><B><code>24</code></B></FONT></A>&nbsp;</TD>
+      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="changes-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> &nbsp;<FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+      <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> &nbsp;<FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="jdiff_statistics.html"><FONT CLASS="NavBarFont1"><B>Statistics</B></FONT></A>&nbsp;</TD>
+      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
+    </TR>
+  </TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><b>Generated by<br><a href="http://www.jdiff.org" class="staysblack" target="_top">JDiff</a></b></EM></TD>
+</TR>
+<TR>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell2"><FONT SIZE="-2"></FONT>
+</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../changes.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+  &nbsp;<A HREF="jdiff_help.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
+</TR>
+</TABLE>
+<HR>
+<!-- End of nav bar -->
+<center>
+<H1>JDiff Documentation</H1>
+</center>
+<BLOCKQUOTE>
+JDiff is a <a href="http://java.sun.com/j2se/javadoc/" target="_top">Javadoc</a> doclet which generates a report of the API differences between two versions of a product. It does not report changes in Javadoc comments, or changes in what a class or method does. 
+This help page describes the different parts of the output from JDiff.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+ See the reference page in the <a href="http://www.jdiff.org">source for JDiff</a> for information about how to generate a report like this one.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+The indexes shown in the top-left frame help show each type of change in more detail. The index "All Differences" contains all the differences between the APIs, in alphabetical order. 
+These indexes all use the same format:
+<ul>
+<li>Removed packages, classes, constructors, methods and fields are <strike>struck through</strike>.</li>
+<li>Added packages, classes, constructors, methods and fields appear in <b>bold</b>.</li>
+<li>Changed packages, classes, constructors, methods and fields appear in normal text.</li>
+</ul>
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+You can always tell when you are reading a JDiff page, rather than a Javadoc page, by the color of the index bar and the color of the background. 
+Links which take you to a Javadoc page are always in a <code>typewriter</code> font. 
+Just like Javadoc, all interface names are in <i>italic</i>, and class names are not italicized. Where there are multiple entries in an index with the same name, the heading for them is also in italics, but is not a link.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3><b><code>Javadoc</code></b></H3>
+This is a link to the <a href="../../../../reference/index.html" target="_top">top-level</a> Javadoc page for the new version of the product.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Overview</H3>
+The <a href="changes-summary.html">overview</a> is the top-level summary of what was removed, added and changed between versions.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Package</H3>
+This is a link to the package containing the current changed class or interface.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Class</H3>
+This is highlighted when you are looking at the changed class or interface.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Text Changes</H3>
+This is a link to the top-level index of all documentation changes for the current package or class. 
+If it is not present, then there are no documentation changes for the current package or class. 
+This link can be removed entirely by not using the <code>-docchanges</code> option.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Statistics</H3>
+This is a link to a page which shows statistics about the changes between the two APIs.
+This link can be removed entirely by not using the <code>-stats</code> option.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Help</H3>
+A link to this Help page for JDiff.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Prev/Next</H3>
+These links take you to the previous  and next changed package or class.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Frames/No Frames</H3>
+These links show and hide the HTML frames. All pages are available with or without frames.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H2>Complex Changes</H2>
+There are some complex changes which can occur between versions, for example, when two or more methods with the same name change simultaneously, or when a method or field is moved into or from a superclass. 
+In these cases, the change will be seen as a removal and an addition, rather than as a change. Unexpected removals or additions are often part of one of these type of changes. 
+</BLOCKQUOTE>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/jdiff_statistics.html b/docs/html/sdk/api_diff/24/changes/jdiff_statistics.html
new file mode 100644
index 0000000..8a40a36
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/jdiff_statistics.html
@@ -0,0 +1,2710 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+API Change Statistics
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<body class="gc-documentation">
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;xborder-bottom:none;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="../changes.html" target="_top">Top of Report</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<h1>API&nbsp;Change&nbsp;Statistics</h1>
+<p>The overall difference between API Levels 23 and 24 is approximately <span style="color:222;font-weight:bold;">6.58%</span>.
+</p>
+<br>
+<a name="numbers"></a>
+<h2>Total of Differences, by Number and Type</h2>
+<p>
+The table below lists the numbers of program elements (packages, classes, constructors, methods, and fields) that were added, changed, or removed. The table includes only the highest-level program elements &mdash; that is, if a class with two methods was added, the number of methods added does not include those two methods, but the number of classes added does include that class.
+</p>
+<TABLE summary="Number of differences" WIDTH="100%">
+<TR>
+  <th>Type</th>
+  <TH ALIGN="center"><b>Additions</b></TH>
+  <TH ALIGN="center"><b>Changes</b></TH>
+  <TH ALIGN="center">Removals</TH>
+  <TH ALIGN="center"><b>Total</b></TH>
+</TR>
+<TR>
+  <TD>Packages</TD>
+  <TD ALIGN="right">9</TD>
+  <TD ALIGN="right">88</TD>
+  <TD ALIGN="right">0</TD>
+  <TD ALIGN="right">97</TD>
+</TR>
+<TR>
+  <TD>Classes and <i>Interfaces</i></TD>
+  <TD ALIGN="right">147</TD>
+  <TD ALIGN="right">433</TD>
+  <TD ALIGN="right">3</TD>
+  <TD ALIGN="right">583</TD>
+</TR>
+<TR>
+  <TD>Constructors</TD>
+  <TD ALIGN="right">24</TD>
+  <TD ALIGN="right">6</TD>
+  <TD ALIGN="right">0</TD>
+  <TD ALIGN="right">30</TD>
+</TR>
+<TR>
+  <TD>Methods</TD>
+  <TD ALIGN="right">877</TD>
+  <TD ALIGN="right">127</TD>
+  <TD ALIGN="right">13</TD>
+  <TD ALIGN="right">1017</TD>
+</TR>
+<TR>
+  <TD>Fields</TD>
+  <TD ALIGN="right">585</TD>
+  <TD ALIGN="right">31</TD>
+  <TD ALIGN="right">5</TD>
+  <TD ALIGN="right">621</TD>
+</TR>
+<TR>
+  <TD style="background-color:#FAFAFA"><b>Total</b></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>1642</strong></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>685</strong></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>21</strong></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>2348</strong></TD>
+</TR>
+</TABLE>
+<br>
+<a name="packages"></a>
+<h2>Changed Packages, Sorted by Percentage Difference</h2>
+<TABLE summary="Packages sorted by percentage difference" WIDTH="100%">
+<TR>
+  <TH  WIDTH="10%">Percentage Difference*</TH>
+  <TH>Package</TH>
+</TR>
+<TR>
+  <TD ALIGN="center">100</TD>
+  <TD><A HREF="pkg_android.test.suitebuilder.annotation.html">android.test.suitebuilder.annotation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">68</TD>
+  <TD><A HREF="pkg_android.accessibilityservice.html">android.accessibilityservice</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">35</TD>
+  <TD><A HREF="pkg_android.location.html">android.location</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="pkg_android.os.storage.html">android.os.storage</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">31</TD>
+  <TD><A HREF="pkg_android.mtp.html">android.mtp</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">29</TD>
+  <TD><A HREF="pkg_android.service.notification.html">android.service.notification</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="pkg_java.util.concurrent.atomic.html">java.util.concurrent.atomic</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="pkg_android.nfc.cardemulation.html">android.nfc.cardemulation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">24</TD>
+  <TD><A HREF="pkg_android.app.admin.html">android.app.admin</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">23</TD>
+  <TD><A HREF="pkg_java.awt.font.html">java.awt.font</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">18</TD>
+  <TD><A HREF="pkg_java.util.html">java.util</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">18</TD>
+  <TD><A HREF="pkg_android.app.job.html">android.app.job</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="pkg_android.media.tv.html">android.media.tv</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">15</TD>
+  <TD><A HREF="pkg_android.test.mock.html">android.test.mock</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="pkg_android.test.html">android.test</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">13</TD>
+  <TD><A HREF="pkg_android.printservice.html">android.printservice</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="pkg_java.security.acl.html">java.security.acl</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="pkg_android.service.media.html">android.service.media</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="pkg_android.app.usage.html">android.app.usage</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="pkg_java.security.cert.html">java.security.cert</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="pkg_javax.net.ssl.html">javax.net.ssl</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="pkg_android.media.browse.html">android.media.browse</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="pkg_java.util.concurrent.html">java.util.concurrent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="pkg_java.util.logging.html">java.util.logging</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="pkg_android.hardware.html">android.hardware</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="pkg_android.telecom.html">android.telecom</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="pkg_android.hardware.camera2.params.html">android.hardware.camera2.params</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="pkg_java.nio.channels.html">java.nio.channels</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="pkg_javax.sql.html">javax.sql</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="pkg_java.lang.ref.html">java.lang.ref</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="pkg_android.app.html">android.app</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="pkg_java.lang.annotation.html">java.lang.annotation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="pkg_android.media.html">android.media</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="pkg_android.nfc.html">android.nfc</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="pkg_android.view.html">android.view</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="pkg_android.os.html">android.os</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="pkg_java.lang.html">java.lang</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="pkg_java.util.concurrent.locks.html">java.util.concurrent.locks</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="pkg_java.lang.reflect.html">java.lang.reflect</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="pkg_android.security.keystore.html">android.security.keystore</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="pkg_java.net.html">java.net</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="pkg_java.util.prefs.html">java.util.prefs</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="pkg_android.webkit.html">android.webkit</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="pkg_android.opengl.html">android.opengl</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="pkg_android.content.pm.html">android.content.pm</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="pkg_android.security.html">android.security</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="pkg_android.graphics.html">android.graphics</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="pkg_android.text.html">android.text</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="pkg_android.telephony.html">android.telephony</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="pkg_java.util.regex.html">java.util.regex</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.media.session.html">android.media.session</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_java.io.html">java.io</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.view.textservice.html">android.view.textservice</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.util.html">android.util</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.view.inputmethod.html">android.view.inputmethod</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.content.res.html">android.content.res</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_java.nio.charset.html">java.nio.charset</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.service.carrier.html">android.service.carrier</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.speech.tts.html">android.speech.tts</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.provider.html">android.provider</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_java.security.html">java.security</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.text.util.html">android.text.util</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_java.sql.html">java.sql</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_java.nio.channels.spi.html">java.nio.channels.spi</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.app.assist.html">android.app.assist</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.bluetooth.html">android.bluetooth</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.hardware.camera2.html">android.hardware.camera2</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.print.html">android.print</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.preference.html">android.preference</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_javax.crypto.spec.html">javax.crypto.spec</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.view.accessibility.html">android.view.accessibility</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_java.util.zip.html">java.util.zip</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.net.wifi.html">android.net.wifi</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.database.html">android.database</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.widget.html">android.widget</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.graphics.drawable.html">android.graphics.drawable</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.app.backup.html">android.app.backup</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.content.html">android.content</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.net.html">android.net</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.html">android</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.text.style.html">android.text.style</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_java.text.html">java.text</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.service.voice.html">android.service.voice</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.drm.html">android.drm</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.animation.html">android.animation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_java.nio.html">java.nio</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.renderscript.html">android.renderscript</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.database.sqlite.html">android.database.sqlite</A></TD>
+</TR>
+</TABLE>
+<p style="font-size:10px">* See <a href="#calculation">Calculation of Change Percentages</a>, below.</p>
+<br>
+<a name="classes"></a>
+<h2>Changed Classes and <i>Interfaces</i>, Sorted by Percentage Difference</h2>
+<TABLE summary="Classes sorted by percentage difference" WIDTH="100%">
+<TR WIDTH="20%">
+  <TH WIDTH="10%">Percentage<br>Difference*</TH>
+  <TH><b>Class or <i>Interface</i></b></TH>
+</TR>
+<TR>
+  <TD ALIGN="center">100</TD>
+  <TD><A HREF="java.security.acl.Permission.html">
+<i>java.security.acl.Permission</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">90</TD>
+  <TD><A HREF="android.text.Html.html">
+android.text.Html</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">80</TD>
+  <TD><A HREF="java.util.Comparator.html">
+<i>java.util.Comparator</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">79</TD>
+  <TD><A HREF="java.io.ObjectInputStream.GetField.html">
+java.io.ObjectInputStream.GetField</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">61</TD>
+  <TD><A HREF="java.util.concurrent.ConcurrentHashMap.html">
+java.util.concurrent.ConcurrentHashMap</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">54</TD>
+  <TD><A HREF="android.media.ExifInterface.html">
+android.media.ExifInterface</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="android.location.GpsStatus.Listener.html">
+<i>android.location.GpsStatus.Listener</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="android.location.GpsStatus.NmeaListener.html">
+<i>android.location.GpsStatus.NmeaListener</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="android.test.TestSuiteProvider.html">
+<i>android.test.TestSuiteProvider</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="android.test.mock.MockApplication.html">
+android.test.mock.MockApplication</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="android.test.mock.MockResources.html">
+android.test.mock.MockResources</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="java.lang.Iterable.html">
+<i>java.lang.Iterable</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="java.util.EventListenerProxy.html">
+java.util.EventListenerProxy</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="java.util.Formattable.html">
+<i>java.util.Formattable</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="java.util.FormatterClosedException.html">
+java.util.FormatterClosedException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="java.util.logging.LoggingPermission.html">
+java.util.logging.LoggingPermission</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="javax.sql.RowSetEvent.html">
+javax.sql.RowSetEvent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">36</TD>
+  <TD><A HREF="java.lang.reflect.AnnotatedElement.html">
+<i>java.lang.reflect.AnnotatedElement</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">35</TD>
+  <TD><A HREF="java.util.ResourceBundle.html">
+java.util.ResourceBundle</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="android.media.AudioRecord.OnRoutingChangedListener.html">
+<i>android.media.AudioRecord.OnRoutingChangedListener</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="android.media.AudioTrack.OnRoutingChangedListener.html">
+<i>android.media.AudioTrack.OnRoutingChangedListener</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="android.mtp.MtpDeviceInfo.html">
+android.mtp.MtpDeviceInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="android.os.storage.StorageManager.html">
+android.os.storage.StorageManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="android.service.media.MediaBrowserService.BrowserRoot.html">
+android.service.media.MediaBrowserService.BrowserRoot</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="java.lang.InternalError.html">
+java.lang.InternalError</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="java.lang.VirtualMachineError.html">
+java.lang.VirtualMachineError</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="java.lang.reflect.AccessibleObject.html">
+java.lang.reflect.AccessibleObject</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="java.util.Random.html">
+java.util.Random</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">31</TD>
+  <TD><A HREF="javax.net.ssl.SSLParameters.html">
+javax.net.ssl.SSLParameters</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">28</TD>
+  <TD><A HREF="android.app.usage.NetworkStatsManager.html">
+android.app.usage.NetworkStatsManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">28</TD>
+  <TD><A HREF="android.service.notification.NotificationListenerService.Ranking.html">
+android.service.notification.NotificationListenerService.Ranking</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">28</TD>
+  <TD><A HREF="java.util.Iterator.html">
+<i>java.util.Iterator</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">28</TD>
+  <TD><A HREF="java.util.Map.Entry.html">
+<i>java.util.Map.Entry</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">28</TD>
+  <TD><A HREF="java.util.logging.LogManager.html">
+java.util.logging.LogManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">28</TD>
+  <TD><A HREF="java.util.Map.html">
+<i>java.util.Map</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">27</TD>
+  <TD><A HREF="java.util.concurrent.CopyOnWriteArraySet.html">
+java.util.concurrent.CopyOnWriteArraySet</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">26</TD>
+  <TD><A HREF="android.app.NotificationManager.html">
+android.app.NotificationManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="android.app.Notification.MediaStyle.html">
+android.app.Notification.MediaStyle</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="android.media.AudioTimestamp.html">
+android.media.AudioTimestamp</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="android.media.browse.MediaBrowser.SubscriptionCallback.html">
+android.media.browse.MediaBrowser.SubscriptionCallback</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="android.test.IsolatedContext.html">
+android.test.IsolatedContext</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="android.test.PerformanceTestCase.html">
+<i>android.test.PerformanceTestCase</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="java.lang.ref.ReferenceQueue.html">
+java.lang.ref.ReferenceQueue</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="java.sql.SQLPermission.html">
+java.sql.SQLPermission</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="java.util.IllegalFormatCodePointException.html">
+java.util.IllegalFormatCodePointException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="java.util.IllegalFormatFlagsException.html">
+java.util.IllegalFormatFlagsException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="java.util.InputMismatchException.html">
+java.util.InputMismatchException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">23</TD>
+  <TD><A HREF="java.util.ArrayList.html">
+java.util.ArrayList</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">23</TD>
+  <TD><A HREF="android.mtp.MtpConstants.html">
+android.mtp.MtpConstants</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">23</TD>
+  <TD><A HREF="android.provider.ContactsContract.Intents.html">
+android.provider.ContactsContract.Intents</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">23</TD>
+  <TD><A HREF="java.nio.channels.ServerSocketChannel.html">
+java.nio.channels.ServerSocketChannel</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="java.util.Hashtable.html">
+java.util.Hashtable</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.app.DatePickerDialog.html">
+android.app.DatePickerDialog</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.app.Notification.BigTextStyle.html">
+android.app.Notification.BigTextStyle</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.app.Notification.InboxStyle.html">
+android.app.Notification.InboxStyle</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.content.res.Resources.NotFoundException.html">
+android.content.res.Resources.NotFoundException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.media.tv.TvInputManager.TvInputCallback.html">
+android.media.tv.TvInputManager.TvInputCallback</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.provider.ContactsContract.PhoneLookupColumns.html">
+<i>android.provider.ContactsContract.PhoneLookupColumns</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.security.NetworkSecurityPolicy.html">
+android.security.NetworkSecurityPolicy</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="java.lang.CharSequence.html">
+<i>java.lang.CharSequence</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="java.security.cert.CertPathBuilderSpi.html">
+java.security.cert.CertPathBuilderSpi</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="java.security.cert.CertPathValidatorSpi.html">
+java.security.cert.CertPathValidatorSpi</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="java.util.HashMap.html">
+java.util.HashMap</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="java.util.SortedMap.html">
+<i>java.util.SortedMap</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="java.util.concurrent.atomic.AtomicReference.html">
+java.util.concurrent.atomic.AtomicReference</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html">
+java.util.concurrent.atomic.AtomicReferenceFieldUpdater</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">19</TD>
+  <TD><A HREF="android.location.LocationManager.html">
+android.location.LocationManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">19</TD>
+  <TD><A HREF="java.util.Arrays.html">
+java.util.Arrays</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">18</TD>
+  <TD><A HREF="android.telephony.SubscriptionManager.html">
+android.telephony.SubscriptionManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">18</TD>
+  <TD><A HREF="java.nio.charset.CoderResult.html">
+java.nio.charset.CoderResult</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">18</TD>
+  <TD><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html">
+java.util.concurrent.atomic.AtomicReferenceArray</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">17</TD>
+  <TD><A HREF="android.print.PrinterInfo.Builder.html">
+android.print.PrinterInfo.Builder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">17</TD>
+  <TD><A HREF="android.app.WallpaperManager.html">
+android.app.WallpaperManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">17</TD>
+  <TD><A HREF="android.media.tv.TvContract.html">
+android.media.tv.TvContract</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">17</TD>
+  <TD><A HREF="android.preference.PreferenceManager.html">
+android.preference.PreferenceManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="android.app.usage.NetworkStats.Bucket.html">
+android.app.usage.NetworkStats.Bucket</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="android.mtp.MtpObjectInfo.html">
+android.mtp.MtpObjectInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="android.provider.VoicemailContract.Status.html">
+android.provider.VoicemailContract.Status</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="android.test.SingleLaunchActivityTestCase.html">
+android.test.SingleLaunchActivityTestCase</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="android.test.SyncBaseInstrumentation.html">
+android.test.SyncBaseInstrumentation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="android.test.mock.MockDialogInterface.html">
+android.test.mock.MockDialogInterface</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="java.util.FormatFlagsConversionMismatchException.html">
+java.util.FormatFlagsConversionMismatchException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="java.util.IdentityHashMap.html">
+java.util.IdentityHashMap</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="java.util.IllegalFormatConversionException.html">
+java.util.IllegalFormatConversionException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="java.util.WeakHashMap.html">
+java.util.WeakHashMap</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="java.util.logging.StreamHandler.html">
+java.util.logging.StreamHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="java.util.prefs.NodeChangeEvent.html">
+java.util.prefs.NodeChangeEvent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="javax.sql.ConnectionEvent.html">
+javax.sql.ConnectionEvent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">15</TD>
+  <TD><A HREF="android.telephony.CarrierConfigManager.html">
+android.telephony.CarrierConfigManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">15</TD>
+  <TD><A HREF="android.mtp.MtpDevice.html">
+android.mtp.MtpDevice</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">15</TD>
+  <TD><A HREF="android.widget.AbsSeekBar.html">
+android.widget.AbsSeekBar</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">15</TD>
+  <TD><A HREF="java.util.logging.Handler.html">
+java.util.logging.Handler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">15</TD>
+  <TD><A HREF="android.app.job.JobInfo.Builder.html">
+android.app.job.JobInfo.Builder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">15</TD>
+  <TD><A HREF="android.media.browse.MediaBrowser.html">
+android.media.browse.MediaBrowser</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">15</TD>
+  <TD><A HREF="android.widget.Toolbar.html">
+android.widget.Toolbar</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="java.lang.Math.html">
+java.lang.Math</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html">
+android.media.MediaCodecInfo.CodecProfileLevel</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.app.Notification.BigPictureStyle.html">
+android.app.Notification.BigPictureStyle</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.app.job.JobParameters.html">
+android.app.job.JobParameters</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.content.pm.LauncherApps.Callback.html">
+android.content.pm.LauncherApps.Callback</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.speech.tts.UtteranceProgressListener.html">
+android.speech.tts.UtteranceProgressListener</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.view.View.BaseSavedState.html">
+android.view.View.BaseSavedState</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.view.textservice.SpellCheckerSubtype.html">
+android.view.textservice.SpellCheckerSubtype</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="java.nio.channels.SocketChannel.html">
+java.nio.channels.SocketChannel</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="java.util.Objects.html">
+java.util.Objects</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">13</TD>
+  <TD><A HREF="java.lang.Boolean.html">
+java.lang.Boolean</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">13</TD>
+  <TD><A HREF="android.app.job.JobInfo.html">
+android.app.job.JobInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">13</TD>
+  <TD><A HREF="android.service.media.MediaBrowserService.html">
+android.service.media.MediaBrowserService</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="android.app.NotificationManager.Policy.html">
+android.app.NotificationManager.Policy</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="android.graphics.drawable.GradientDrawable.html">
+android.graphics.drawable.GradientDrawable</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="android.provider.ContactsContract.RawContactsColumns.html">
+<i>android.provider.ContactsContract.RawContactsColumns</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="android.test.ActivityTestCase.html">
+android.test.ActivityTestCase</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="android.test.InstrumentationTestSuite.html">
+android.test.InstrumentationTestSuite</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="android.widget.DatePicker.html">
+android.widget.DatePicker</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="java.security.cert.CertPathValidatorException.html">
+java.security.cert.CertPathValidatorException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html">
+java.util.concurrent.atomic.AtomicIntegerFieldUpdater</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html">
+java.util.concurrent.atomic.AtomicLongFieldUpdater</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="java.util.logging.MemoryHandler.html">
+java.util.logging.MemoryHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="java.util.prefs.PreferenceChangeEvent.html">
+java.util.prefs.PreferenceChangeEvent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="android.app.Notification.Builder.html">
+android.app.Notification.Builder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.service.carrier.CarrierMessagingService.html">
+android.service.carrier.CarrierMessagingService</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.media.session.MediaController.TransportControls.html">
+android.media.session.MediaController.TransportControls</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="java.lang.Package.html">
+java.lang.Package</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="java.nio.channels.DatagramChannel.html">
+java.nio.channels.DatagramChannel</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html">
+java.util.concurrent.atomic.AtomicIntegerArray</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="java.util.concurrent.atomic.AtomicLongArray.html">
+java.util.concurrent.atomic.AtomicLongArray</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.database.CursorJoiner.html">
+android.database.CursorJoiner</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.media.tv.TvView.html">
+android.media.tv.TvView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.provider.DocumentsContract.Document.html">
+android.provider.DocumentsContract.Document</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.telephony.CellIdentityGsm.html">
+android.telephony.CellIdentityGsm</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.text.style.LocaleSpan.html">
+android.text.style.LocaleSpan</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="java.lang.Error.html">
+java.lang.Error</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="java.lang.Exception.html">
+java.lang.Exception</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="java.lang.RuntimeException.html">
+java.lang.RuntimeException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="java.sql.Timestamp.html">
+java.sql.Timestamp</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="javax.sql.CommonDataSource.html">
+<i>javax.sql.CommonDataSource</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.app.admin.DevicePolicyManager.html">
+android.app.admin.DevicePolicyManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.service.notification.NotificationListenerService.html">
+android.service.notification.NotificationListenerService</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.app.admin.DeviceAdminReceiver.html">
+android.app.admin.DeviceAdminReceiver</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.media.session.MediaSession.Callback.html">
+android.media.session.MediaSession.Callback</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.provider.Telephony.Sms.Intents.html">
+android.provider.Telephony.Sms.Intents</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="java.lang.StrictMath.html">
+java.lang.StrictMath</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.bluetooth.BluetoothGattService.html">
+android.bluetooth.BluetoothGattService</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.media.tv.TvContract.Programs.html">
+android.media.tv.TvContract.Programs</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.test.ActivityInstrumentationTestCase2.html">
+android.test.ActivityInstrumentationTestCase2</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="java.util.EnumMap.html">
+java.util.EnumMap</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="java.util.concurrent.atomic.AtomicInteger.html">
+java.util.concurrent.atomic.AtomicInteger</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="java.util.concurrent.atomic.AtomicLong.html">
+java.util.concurrent.atomic.AtomicLong</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="javax.crypto.spec.SecretKeySpec.html">
+javax.crypto.spec.SecretKeySpec</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.media.tv.TvInputInfo.html">
+android.media.tv.TvInputInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.media.MediaFormat.html">
+android.media.MediaFormat</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.app.FragmentController.html">
+android.app.FragmentController</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.graphics.BitmapFactory.Options.html">
+android.graphics.BitmapFactory.Options</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.media.MediaRouter.RouteInfo.html">
+android.media.MediaRouter.RouteInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.media.tv.TvInputManager.html">
+android.media.tv.TvInputManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.provider.DocumentsContract.html">
+android.provider.DocumentsContract</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="java.util.concurrent.ConcurrentSkipListMap.html">
+java.util.concurrent.ConcurrentSkipListMap</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.media.MediaRecorder.VideoEncoder.html">
+android.media.MediaRecorder.VideoEncoder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.media.tv.TvInputService.html">
+android.media.tv.TvInputService</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.os.UserManager.html">
+android.os.UserManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.provider.ContactsContract.Directory.html">
+android.provider.ContactsContract.Directory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.provider.DocumentsProvider.html">
+android.provider.DocumentsProvider</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.provider.VoicemailContract.html">
+android.provider.VoicemailContract</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.text.TextUtils.SimpleStringSplitter.html">
+android.text.TextUtils.SimpleStringSplitter</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.webkit.WebResourceRequest.html">
+<i>android.webkit.WebResourceRequest</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="java.io.BufferedReader.html">
+java.io.BufferedReader</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="java.lang.Double.html">
+java.lang.Double</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="java.util.Collection.html">
+<i>java.util.Collection</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="java.lang.Class.html">
+java.lang.Class</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.hardware.Sensor.html">
+android.hardware.Sensor</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="java.lang.Float.html">
+java.lang.Float</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.media.AudioRecord.html">
+android.media.AudioRecord</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.accessibilityservice.AccessibilityService.html">
+android.accessibilityservice.AccessibilityService</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="java.awt.font.NumericShaper.html">
+java.awt.font.NumericShaper</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="java.util.Vector.html">
+java.util.Vector</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.app.AlarmManager.html">
+android.app.AlarmManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.test.ApplicationTestCase.html">
+android.test.ApplicationTestCase</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.test.RenamingDelegatingContext.html">
+android.test.RenamingDelegatingContext</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="java.io.ObjectInputStream.html">
+java.io.ObjectInputStream</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="java.util.LinkedHashMap.html">
+java.util.LinkedHashMap</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.bluetooth.BluetoothGattDescriptor.html">
+android.bluetooth.BluetoothGattDescriptor</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.service.notification.StatusBarNotification.html">
+android.service.notification.StatusBarNotification</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="java.util.regex.Pattern.html">
+java.util.regex.Pattern</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.app.Notification.Action.WearableExtender.html">
+android.app.Notification.Action.WearableExtender</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.os.UserHandle.html">
+android.os.UserHandle</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.provider.ContactsContract.CommonDataKinds.Callable.html">
+android.provider.ContactsContract.CommonDataKinds.Callable</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.security.keystore.KeyProtection.html">
+android.security.keystore.KeyProtection</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.widget.Chronometer.html">
+android.widget.Chronometer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="java.security.cert.PKIXCertPathChecker.html">
+java.security.cert.PKIXCertPathChecker</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="java.util.PriorityQueue.html">
+java.util.PriorityQueue</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.os.Process.html">
+android.os.Process</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.printservice.PrintJob.html">
+android.printservice.PrintJob</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.security.keystore.KeyGenParameterSpec.html">
+android.security.keystore.KeyGenParameterSpec</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html">
+android.security.keystore.KeyGenParameterSpec.Builder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.app.ActivityOptions.html">
+android.app.ActivityOptions</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.hardware.camera2.CameraDevice.html">
+android.hardware.camera2.CameraDevice</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.location.GpsSatellite.html">
+android.location.GpsSatellite</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.location.GpsStatus.html">
+android.location.GpsStatus</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.security.keystore.KeyProtection.Builder.html">
+android.security.keystore.KeyProtection.Builder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="java.sql.DataTruncation.html">
+java.sql.DataTruncation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.media.AudioTrack.html">
+android.media.AudioTrack</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.webkit.WebViewClient.html">
+android.webkit.WebViewClient</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.app.job.JobScheduler.html">
+android.app.job.JobScheduler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.hardware.camera2.CameraCaptureSession.CaptureCallback.html">
+android.hardware.camera2.CameraCaptureSession.CaptureCallback</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.media.MediaCodec.CryptoException.html">
+android.media.MediaCodec.CryptoException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.telecom.PhoneAccount.html">
+android.telecom.PhoneAccount</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.view.AbsSavedState.html">
+android.view.AbsSavedState</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.view.accessibility.AccessibilityWindowInfo.html">
+android.view.accessibility.AccessibilityWindowInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.widget.FrameLayout.LayoutParams.html">
+android.widget.FrameLayout.LayoutParams</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="java.security.cert.X509CRLEntry.html">
+java.security.cert.X509CRLEntry</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="java.util.HashSet.html">
+java.util.HashSet</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="java.util.concurrent.ConcurrentLinkedQueue.html">
+java.util.concurrent.ConcurrentLinkedQueue</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="java.util.zip.InflaterInputStream.html">
+java.util.zip.InflaterInputStream</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="java.lang.Integer.html">
+java.lang.Integer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="java.lang.Long.html">
+java.lang.Long</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.telephony.TelephonyManager.html">
+android.telephony.TelephonyManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.view.Window.html">
+android.view.Window</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.content.ClipDescription.html">
+android.content.ClipDescription</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.security.keystore.KeyInfo.html">
+android.security.keystore.KeyInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.text.util.Linkify.html">
+android.text.util.Linkify</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="java.util.ResourceBundle.Control.html">
+java.util.ResourceBundle.Control</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="java.util.TreeMap.html">
+java.util.TreeMap</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.view.inputmethod.InputMethodSubtype.html">
+android.view.inputmethod.InputMethodSubtype</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.app.Notification.Action.Builder.html">
+android.app.Notification.Action.Builder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.content.pm.PackageInstaller.Session.html">
+android.content.pm.PackageInstaller.Session</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.graphics.Outline.html">
+android.graphics.Outline</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.media.MediaCodec.CryptoInfo.html">
+android.media.MediaCodec.CryptoInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.media.tv.TvContentRating.html">
+android.media.tv.TvContentRating</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.net.wifi.WifiEnterpriseConfig.Eap.html">
+android.net.wifi.WifiEnterpriseConfig.Eap</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.telephony.CellIdentityLte.html">
+android.telephony.CellIdentityLte</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.telephony.CellIdentityWcdma.html">
+android.telephony.CellIdentityWcdma</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.view.inputmethod.InputConnectionWrapper.html">
+android.view.inputmethod.InputConnectionWrapper</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="java.nio.channels.spi.SelectorProvider.html">
+java.nio.channels.spi.SelectorProvider</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="java.security.cert.CertPathBuilder.html">
+java.security.cert.CertPathBuilder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="java.security.cert.CertPathValidator.html">
+java.security.cert.CertPathValidator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.app.Notification.WearableExtender.html">
+android.app.Notification.WearableExtender</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.net.ConnectivityManager.html">
+android.net.ConnectivityManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.test.AndroidTestCase.html">
+android.test.AndroidTestCase</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.widget.TabWidget.html">
+android.widget.TabWidget</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="java.text.DecimalFormatSymbols.html">
+java.text.DecimalFormatSymbols</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.app.Service.html">
+android.app.Service</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.view.inputmethod.InputConnection.html">
+<i>android.view.inputmethod.InputConnection</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="java.util.concurrent.ForkJoinTask.html">
+java.util.concurrent.ForkJoinTask</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.provider.CallLog.Calls.html">
+android.provider.CallLog.Calls</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.media.MediaRecorder.AudioSource.html">
+android.media.MediaRecorder.AudioSource</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="java.util.Currency.html">
+java.util.Currency</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="javax.net.ssl.SSLServerSocket.html">
+javax.net.ssl.SSLServerSocket</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="java.util.Collections.html">
+java.util.Collections</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="java.util.logging.Logger.html">
+java.util.logging.Logger</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.view.inputmethod.BaseInputConnection.html">
+android.view.inputmethod.BaseInputConnection</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.telecom.TelecomManager.html">
+android.telecom.TelecomManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.test.ActivityUnitTestCase.html">
+android.test.ActivityUnitTestCase</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.test.InstrumentationTestCase.html">
+android.test.InstrumentationTestCase</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.test.ServiceTestCase.html">
+android.test.ServiceTestCase</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="java.lang.Byte.html">
+java.lang.Byte</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="java.sql.SQLWarning.html">
+java.sql.SQLWarning</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.content.pm.PackageManager.html">
+android.content.pm.PackageManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.content.ContentProviderClient.html">
+android.content.ContentProviderClient</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.content.pm.ServiceInfo.html">
+android.content.pm.ServiceInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.media.session.PlaybackState.html">
+android.media.session.PlaybackState</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="java.lang.Short.html">
+java.lang.Short</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="java.net.URLClassLoader.html">
+java.net.URLClassLoader</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="java.nio.channels.FileLock.html">
+java.nio.channels.FileLock</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="java.security.Provider.html">
+java.security.Provider</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="java.util.concurrent.Executors.html">
+java.util.concurrent.Executors</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.text.style.SuggestionSpan.html">
+android.text.style.SuggestionSpan</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.app.DownloadManager.Request.html">
+android.app.DownloadManager.Request</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.util.Patterns.html">
+android.util.Patterns</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="java.sql.BatchUpdateException.html">
+java.sql.BatchUpdateException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.app.Activity.html">
+android.app.Activity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.provider.Settings.html">
+android.provider.Settings</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.app.Notification.Action.html">
+android.app.Notification.Action</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.app.backup.BackupAgent.html">
+android.app.backup.BackupAgent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.content.pm.FeatureInfo.html">
+android.content.pm.FeatureInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.media.AudioFormat.html">
+android.media.AudioFormat</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.media.tv.TvTrackInfo.Builder.html">
+android.media.tv.TvTrackInfo.Builder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.telecom.PhoneAccount.Builder.html">
+android.telecom.PhoneAccount.Builder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.html">
+android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.app.Notification.html">
+android.app.Notification</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.media.tv.TvInputService.Session.html">
+android.media.tv.TvInputService.Session</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.content.SyncRequest.Builder.html">
+android.content.SyncRequest.Builder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.content.pm.ComponentInfo.html">
+android.content.pm.ComponentInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.animation.Animator.html">
+android.animation.Animator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="java.sql.SQLException.html">
+java.sql.SQLException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="java.util.List.html">
+<i>java.util.List</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.content.pm.PackageInstaller.SessionParams.html">
+android.content.pm.PackageInstaller.SessionParams</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.printservice.PrinterDiscoverySession.html">
+android.printservice.PrinterDiscoverySession</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.provider.DocumentsContract.Root.html">
+android.provider.DocumentsContract.Root</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.telecom.InCallService.html">
+android.telecom.InCallService</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="java.net.HttpCookie.html">
+java.net.HttpCookie</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.media.MediaExtractor.html">
+android.media.MediaExtractor</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.text.TextUtils.html">
+android.text.TextUtils</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.app.FragmentHostCallback.html">
+android.app.FragmentHostCallback</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.app.assist.AssistContent.html">
+android.app.assist.AssistContent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.provider.ContactsContract.CommonDataKinds.StructuredName.html">
+android.provider.ContactsContract.CommonDataKinds.StructuredName</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.telecom.ConnectionService.html">
+android.telecom.ConnectionService</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="java.lang.reflect.Constructor.html">
+java.lang.reflect.Constructor</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="java.util.Locale.html">
+java.util.Locale</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="java.util.concurrent.SynchronousQueue.html">
+java.util.concurrent.SynchronousQueue</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.net.TrafficStats.html">
+android.net.TrafficStats</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.net.wifi.WifiEnterpriseConfig.html">
+android.net.wifi.WifiEnterpriseConfig</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.webkit.WebSettings.html">
+android.webkit.WebSettings</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.net.NetworkInfo.html">
+android.net.NetworkInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.os.StrictMode.VmPolicy.Builder.html">
+android.os.StrictMode.VmPolicy.Builder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.provider.ContactsContract.CommonDataKinds.Organization.html">
+android.provider.ContactsContract.CommonDataKinds.Organization</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="java.util.concurrent.ArrayBlockingQueue.html">
+java.util.concurrent.ArrayBlockingQueue</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="java.util.concurrent.ForkJoinPool.html">
+java.util.concurrent.ForkJoinPool</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="java.util.concurrent.LinkedBlockingQueue.html">
+java.util.concurrent.LinkedBlockingQueue</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.R.id.html">
+android.R.id</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.test.InstrumentationTestRunner.html">
+android.test.InstrumentationTestRunner</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.test.mock.MockContext.html">
+android.test.mock.MockContext</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.bluetooth.BluetoothGattCharacteristic.html">
+android.bluetooth.BluetoothGattCharacteristic</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.drm.DrmManagerClient.html">
+android.drm.DrmManagerClient</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.content.ContextWrapper.html">
+android.content.ContextWrapper</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.test.mock.MockPackageManager.html">
+android.test.mock.MockPackageManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.app.FragmentTransaction.html">
+android.app.FragmentTransaction</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.hardware.SensorManager.html">
+android.hardware.SensorManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.media.tv.TvTrackInfo.html">
+android.media.tv.TvTrackInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.provider.ContactsContract.CommonDataKinds.Email.html">
+android.provider.ContactsContract.CommonDataKinds.Email</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.provider.VoicemailContract.Voicemails.html">
+android.provider.VoicemailContract.Voicemails</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.widget.CalendarView.html">
+android.widget.CalendarView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="java.util.concurrent.PriorityBlockingQueue.html">
+java.util.concurrent.PriorityBlockingQueue</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="java.util.zip.ZipFile.html">
+java.util.zip.ZipFile</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.test.AndroidTestRunner.html">
+android.test.AndroidTestRunner</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.test.ViewAsserts.html">
+android.test.ViewAsserts</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.provider.Settings.Global.html">
+android.provider.Settings.Global</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.content.Context.html">
+android.content.Context</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.hardware.Camera.html">
+android.hardware.Camera</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.os.PowerManager.html">
+android.os.PowerManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.telecom.RemoteConference.html">
+android.telecom.RemoteConference</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="java.lang.reflect.Method.html">
+java.lang.reflect.Method</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html">
+android.accessibilityservice.AccessibilityServiceInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="java.lang.AbstractStringBuilder.html">
+java.lang.AbstractStringBuilder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.media.MediaRecorder.html">
+android.media.MediaRecorder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.media.tv.TvContract.Programs.Genres.html">
+android.media.tv.TvContract.Programs.Genres</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="java.util.concurrent.LinkedTransferQueue.html">
+java.util.concurrent.LinkedTransferQueue</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.content.ContentResolver.html">
+android.content.ContentResolver</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.content.pm.ApplicationInfo.html">
+android.content.pm.ApplicationInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.graphics.ImageFormat.html">
+android.graphics.ImageFormat</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="java.util.GregorianCalendar.html">
+java.util.GregorianCalendar</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.telecom.Call.Details.html">
+android.telecom.Call.Details</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="java.nio.channels.FileChannel.html">
+java.nio.channels.FileChannel</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.widget.PopupWindow.html">
+android.widget.PopupWindow</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.app.DownloadManager.html">
+android.app.DownloadManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.provider.ContactsContract.Contacts.html">
+android.provider.ContactsContract.Contacts</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.view.Window.Callback.html">
+<i>android.view.Window.Callback</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="java.security.cert.X509Certificate.html">
+java.security.cert.X509Certificate</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="java.util.TimeZone.html">
+java.util.TimeZone</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.R.attr.html">
+android.R.attr</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.renderscript.Allocation.html">
+android.renderscript.Allocation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="java.util.Calendar.html">
+java.util.Calendar</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.content.Intent.html">
+android.content.Intent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.app.UiAutomation.html">
+android.app.UiAutomation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.graphics.Color.html">
+android.graphics.Color</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.util.DisplayMetrics.html">
+android.util.DisplayMetrics</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="java.util.TreeSet.html">
+java.util.TreeSet</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="java.util.concurrent.ConcurrentSkipListSet.html">
+java.util.concurrent.ConcurrentSkipListSet</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.app.Fragment.html">
+android.app.Fragment</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.service.voice.VoiceInteractionSession.html">
+android.service.voice.VoiceInteractionSession</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.os.Build.VERSION_CODES.html">
+android.os.Build.VERSION_CODES</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.renderscript.Script.html">
+android.renderscript.Script</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="javax.net.ssl.SSLSocket.html">
+javax.net.ssl.SSLSocket</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.hardware.camera2.CaptureResult.html">
+android.hardware.camera2.CaptureResult</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.content.pm.PermissionInfo.html">
+android.content.pm.PermissionInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="java.util.concurrent.ConcurrentLinkedDeque.html">
+java.util.concurrent.ConcurrentLinkedDeque</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.Manifest.permission.html">
+android.Manifest.permission</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.opengl.GLSurfaceView.html">
+android.opengl.GLSurfaceView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.telecom.Connection.html">
+android.telecom.Connection</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="java.lang.reflect.Field.html">
+java.lang.reflect.Field</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="java.util.LinkedList.html">
+java.util.LinkedList</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.media.AudioAttributes.html">
+android.media.AudioAttributes</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="java.net.URLConnection.html">
+java.net.URLConnection</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="java.util.ArrayDeque.html">
+java.util.ArrayDeque</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="java.io.ObjectOutputStream.html">
+java.io.ObjectOutputStream</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.view.View.html">
+android.view.View</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.widget.LinearLayout.html">
+android.widget.LinearLayout</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.view.accessibility.AccessibilityNodeInfo.html">
+android.view.accessibility.AccessibilityNodeInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.view.KeyEvent.html">
+android.view.KeyEvent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.media.AudioDeviceInfo.html">
+android.media.AudioDeviceInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="java.lang.ClassLoader.html">
+java.lang.ClassLoader</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="java.util.concurrent.CopyOnWriteArrayList.html">
+java.util.concurrent.CopyOnWriteArrayList</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.test.TouchUtils.html">
+android.test.TouchUtils</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.html">
+android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.content.res.Configuration.html">
+android.content.res.Configuration</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.provider.ContactsContract.CommonDataKinds.Phone.html">
+android.provider.ContactsContract.CommonDataKinds.Phone</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="java.nio.CharBuffer.html">
+java.nio.CharBuffer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="java.util.BitSet.html">
+java.util.BitSet</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.view.Display.html">
+android.view.Display</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="javax.net.ssl.SSLEngine.html">
+javax.net.ssl.SSLEngine</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.nfc.NfcAdapter.html">
+android.nfc.NfcAdapter</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.test.MoreAsserts.html">
+android.test.MoreAsserts</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.media.AudioManager.html">
+android.media.AudioManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.view.inputmethod.EditorInfo.html">
+android.view.inputmethod.EditorInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.content.pm.ActivityInfo.html">
+android.content.pm.ActivityInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="java.util.concurrent.LinkedBlockingDeque.html">
+java.util.concurrent.LinkedBlockingDeque</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.hardware.camera2.CameraCharacteristics.html">
+android.hardware.camera2.CameraCharacteristics</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.widget.ProgressBar.html">
+android.widget.ProgressBar</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.preference.Preference.html">
+android.preference.Preference</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.test.mock.MockCursor.html">
+android.test.mock.MockCursor</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.view.ViewParent.html">
+<i>android.view.ViewParent</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="java.util.zip.ZipInputStream.html">
+java.util.zip.ZipInputStream</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.view.inputmethod.InputMethodManager.html">
+android.view.inputmethod.InputMethodManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.widget.AutoCompleteTextView.html">
+android.widget.AutoCompleteTextView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="java.util.zip.ZipOutputStream.html">
+java.util.zip.ZipOutputStream</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.graphics.drawable.LayerDrawable.html">
+android.graphics.drawable.LayerDrawable</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.media.MediaCodec.html">
+android.media.MediaCodec</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.widget.TextView.html">
+android.widget.TextView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.graphics.Paint.html">
+android.graphics.Paint</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.widget.RemoteViews.html">
+android.widget.RemoteViews</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.hardware.camera2.CaptureRequest.html">
+android.hardware.camera2.CaptureRequest</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="java.util.Scanner.html">
+java.util.Scanner</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.app.Instrumentation.html">
+android.app.Instrumentation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.opengl.GLES31.html">
+android.opengl.GLES31</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.media.MediaCodecInfo.CodecCapabilities.html">
+android.media.MediaCodecInfo.CodecCapabilities</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="java.lang.Character.html">
+java.lang.Character</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.database.sqlite.SQLiteDatabase.html">
+android.database.sqlite.SQLiteDatabase</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.provider.Settings.Secure.html">
+android.provider.Settings.Secure</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.media.MediaPlayer.html">
+android.media.MediaPlayer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.view.MotionEvent.html">
+android.view.MotionEvent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.R.style.html">
+android.R.style</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.opengl.GLES30.html">
+android.opengl.GLES30</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.provider.Settings.System.html">
+android.provider.Settings.System</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.view.ViewGroup.html">
+android.view.ViewGroup</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.hardware.camera2.CameraMetadata.html">
+android.hardware.camera2.CameraMetadata</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="java.lang.Character.UnicodeBlock.html">
+java.lang.Character.UnicodeBlock</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.test.FlakyTest.html">
+android.test.FlakyTest</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.test.UiThreadTest.html">
+android.test.UiThreadTest</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.test.suitebuilder.annotation.LargeTest.html">
+android.test.suitebuilder.annotation.LargeTest</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.test.suitebuilder.annotation.MediumTest.html">
+android.test.suitebuilder.annotation.MediumTest</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.test.suitebuilder.annotation.SmallTest.html">
+android.test.suitebuilder.annotation.SmallTest</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.test.suitebuilder.annotation.Smoke.html">
+android.test.suitebuilder.annotation.Smoke</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.test.suitebuilder.annotation.Suppress.html">
+android.test.suitebuilder.annotation.Suppress</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="java.util.IllegalFormatException.html">
+java.util.IllegalFormatException</A></TD>
+</TR>
+</TABLE>
+<p style="font-size:10px">* See <a href="#calculation">Calculation of Change Percentages</a>, below.</p>
+<br>
+<h2 id="calculation">Calculation of Change Percentages</h2>
+<p>
+The percent change statistic reported for all elements in the &quot;to&quot; API Level specification is defined recursively as follows:</p>
+<pre>
+Percentage difference = 100 * (added + removed + 2*changed)
+                        -----------------------------------
+                        sum of public elements in BOTH APIs
+</pre>
+<p>where <code>added</code> is the number of packages added, <code>removed</code> is the number of packages removed, and <code>changed</code> is the number of packages changed.
+This definition is applied recursively for the classes and their program elements, so the value for a changed package will be less than 1, unless every class in that package has changed.
+The definition ensures that if all packages are removed and all new packages are
+added, the change will be 100%.</p>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY></HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/jdiff_topleftframe.html b/docs/html/sdk/api_diff/24/changes/jdiff_topleftframe.html
new file mode 100644
index 0000000..d39a99c
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/jdiff_topleftframe.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Android API Version Differences
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<table class="jdiffIndex" summary="Links to diff index files" BORDER="0" WIDTH="100%" cellspacing="0" cellpadding="0" style="margin:0">
+<TR>
+  <th class="indexHeader" nowrap>
+  Select a Diffs Index:</th>
+</TR>
+<TR>
+  <TD><FONT CLASS="indexText" size="-2"><A HREF="alldiffs_index_all.html" TARGET="bottomleftframe">All Differences</A></FONT><br></TD>
+</TR>
+<TR>
+  <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="packages_index_all.html" TARGET="bottomleftframe">By Package</A></FONT><br></TD>
+</TR>
+<TR>
+  <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="classes_index_all.html" TARGET="bottomleftframe">By Class</A></FONT><br></TD>
+</TR>
+<TR>
+  <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="constructors_index_all.html" TARGET="bottomleftframe">By Constructor</A></FONT><br></TD>
+</TR>
+<TR>
+  <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="methods_index_all.html" TARGET="bottomleftframe">By Method</A></FONT><br></TD>
+</TR>
+<TR>
+  <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="fields_index_all.html" TARGET="bottomleftframe">By Field</A></FONT><br></TD>
+</TR>
+</TABLE>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/methods_index_additions.html b/docs/html/sdk/api_diff/24/changes/methods_index_additions.html
new file mode 100644
index 0000000..a5f8655
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/methods_index_additions.html
@@ -0,0 +1,2900 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Method Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Methods" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="methods_index_all.html" class="staysblack">All Methods</a>
+  <br>
+<A HREF="methods_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="methods_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>accumulateAndGet</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicInteger.html#java.util.concurrent.atomic.AtomicInteger.accumulateAndGet_added(int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicInteger
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html#java.util.concurrent.atomic.AtomicIntegerArray.accumulateAndGet_added(int, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html#java.util.concurrent.atomic.AtomicIntegerFieldUpdater.accumulateAndGet_added(T, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerFieldUpdater
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLong.html#java.util.concurrent.atomic.AtomicLong.accumulateAndGet_added(long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLong
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongArray.html#java.util.concurrent.atomic.AtomicLongArray.accumulateAndGet_added(int, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html#java.util.concurrent.atomic.AtomicLongFieldUpdater.accumulateAndGet_added(T, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongFieldUpdater
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReference.html#java.util.concurrent.atomic.AtomicReference.accumulateAndGet_added(V, java.util.function.BinaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>V, BinaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReference
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html#java.util.concurrent.atomic.AtomicReferenceArray.accumulateAndGet_added(int, E, java.util.function.BinaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, E, BinaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html#java.util.concurrent.atomic.AtomicReferenceFieldUpdater.accumulateAndGet_added(T, V, java.util.function.BinaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, V, BinaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceFieldUpdater
+</A></nobr><br>
+<nobr><A HREF="java.nio.channels.FileLock.html#java.nio.channels.FileLock.acquiredBy_added()" class="hiddenlink" target="rightframe"><b>acquiredBy</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.addAutomaticZenRule_added(android.app.AutomaticZenRule)" class="hiddenlink" target="rightframe"><b>addAutomaticZenRule</b>
+(<code>AutomaticZenRule</code>)</A></nobr><br>
+<nobr><A HREF="android.app.DownloadManager.html#android.app.DownloadManager.addCompletedDownload_added(java.lang.String, java.lang.String, boolean, java.lang.String, java.lang.String, long, boolean, android.net.Uri, android.net.Uri)" class="hiddenlink" target="rightframe"><b>addCompletedDownload</b>
+(<code>String, String, boolean, String, String, long, boolean, Uri, Uri</code>)</A></nobr><br>
+<i>addExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.addExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.addExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.addExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.addExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<i>addLinks</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.util.Linkify.html#android.text.util.Linkify.addLinks_added(android.text.Spannable, java.util.regex.Pattern, java.lang.String, java.lang.String[], android.text.util.Linkify.MatchFilter, android.text.util.Linkify.TransformFilter)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Spannable, Pattern, String, String[], MatchFilter, TransformFilter</code>)</b>&nbsp;in&nbsp;android.text.util.Linkify
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.util.Linkify.html#android.text.util.Linkify.addLinks_added(android.widget.TextView, java.util.regex.Pattern, java.lang.String, java.lang.String[], android.text.util.Linkify.MatchFilter, android.text.util.Linkify.TransformFilter)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>TextView, Pattern, String, String[], MatchFilter, TransformFilter</code>)</b>&nbsp;in&nbsp;android.text.util.Linkify
+</A></nobr><br>
+<i>addNmeaListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.addNmeaListener_added(android.location.OnNmeaMessageListener)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnNmeaMessageListener</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.addNmeaListener_added(android.location.OnNmeaMessageListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnNmeaMessageListener, Handler</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.addOnFrameMetricsAvailableListener_added(android.view.Window.OnFrameMetricsAvailableListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>addOnFrameMetricsAvailableListener</b>
+(<code>OnFrameMetricsAvailableListener, Handler</code>)</A></nobr><br>
+<i>addOnRoutingChangedListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.addOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnRoutingChangedListener, Handler</code>)</b>&nbsp;in&nbsp;android.media.AudioRecord
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.addOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnRoutingChangedListener, Handler</code>)</b>&nbsp;in&nbsp;android.media.AudioTrack
+</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.Builder.html#android.app.job.JobInfo.Builder.addTriggerContentUri_added(android.app.job.JobInfo.TriggerContentUri)" class="hiddenlink" target="rightframe"><b>addTriggerContentUri</b>
+(<code>TriggerContentUri</code>)</A></nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.areNotificationsEnabled_added()" class="hiddenlink" target="rightframe"><b>areNotificationsEnabled</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.regex.Pattern.html#java.util.regex.Pattern.asPredicate_added()" class="hiddenlink" target="rightframe"><b>asPredicate</b>
+()</A></nobr><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>bind</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.DatagramChannel.html#java.nio.channels.DatagramChannel.bind_added(java.net.SocketAddress)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketAddress</code>)</b>&nbsp;in&nbsp;java.nio.channels.DatagramChannel
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.ServerSocketChannel.html#java.nio.channels.ServerSocketChannel.bind_added(java.net.SocketAddress, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketAddress, int</code>)</b>&nbsp;in&nbsp;java.nio.channels.ServerSocketChannel
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.ServerSocketChannel.html#java.nio.channels.ServerSocketChannel.bind_added(java.net.SocketAddress)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketAddress</code>)</b>&nbsp;in&nbsp;java.nio.channels.ServerSocketChannel
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.bind_added(java.net.SocketAddress)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketAddress</code>)</b>&nbsp;in&nbsp;java.nio.channels.SocketChannel
+</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.buildRecordedProgramUri_added(long)" class="hiddenlink" target="rightframe"><b>buildRecordedProgramUri</b>
+(<code>long</code>)</A></nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.cancel_added(android.app.AlarmManager.OnAlarmListener)" class="hiddenlink" target="rightframe"><b>cancel</b>
+(<code>OnAlarmListener</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.cancelDragAndDrop_added()" class="hiddenlink" target="rightframe"><b>cancelDragAndDrop</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.canRecord_added()" class="hiddenlink" target="rightframe"><b>canRecord</b>
+()</A></nobr><br>
+<i>chars</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.CharSequence.html#java.lang.CharSequence.chars_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.lang.CharSequence
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.CharBuffer.html#java.nio.CharBuffer.chars_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.nio.CharBuffer
+</A></nobr><br>
+<nobr><A HREF="java.security.cert.PKIXCertPathChecker.html#java.security.cert.PKIXCertPathChecker.check_added(java.security.cert.Certificate)" class="hiddenlink" target="rightframe"><b>check</b>
+(<code>Certificate</code>)</A></nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.clear_added(int)" class="hiddenlink" target="rightframe"><b>clear</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.clearProfileOwner_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>clearProfileOwner</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<i>close</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContentProviderClient.html#android.content.ContentProviderClient.close_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContentProviderClient
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.drm.DrmManagerClient.html#android.drm.DrmManagerClient.close_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.drm.DrmManagerClient
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.net.URLClassLoader.html#java.net.URLClassLoader.close_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.net.URLClassLoader
+</A></nobr><br>
+<i>closeConnection</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.BaseInputConnection.html#android.view.inputmethod.BaseInputConnection.closeConnection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.BaseInputConnection
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnection.html#android.view.inputmethod.InputConnection.closeConnection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnection
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnectionWrapper.html#android.view.inputmethod.InputConnectionWrapper.closeConnection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnectionWrapper
+</A></nobr><br>
+<nobr><A HREF="java.lang.CharSequence.html#java.lang.CharSequence.codePoints_added()" class="hiddenlink" target="rightframe"><b>codePoints</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.FragmentTransaction.html#android.app.FragmentTransaction.commitNow_added()" class="hiddenlink" target="rightframe"><b>commitNow</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.FragmentTransaction.html#android.app.FragmentTransaction.commitNowAllowingStateLoss_added()" class="hiddenlink" target="rightframe"><b>commitNowAllowingStateLoss</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ForkJoinPool.html#java.util.concurrent.ForkJoinPool.commonPool_added()" class="hiddenlink" target="rightframe"><b>commonPool</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ForkJoinTask.html#java.util.concurrent.ForkJoinTask.compareAndSetForkJoinTaskTag_added(short, short)" class="hiddenlink" target="rightframe"><b>compareAndSetForkJoinTaskTag</b>
+(<code>short, short</code>)</A></nobr><br>
+<i>comparing</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparing_added(java.util.function.Function<? super T, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Function&lt;? super T, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparing_added(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Function&lt;? super T, ? extends U&gt;, Comparator&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+<i>comparingByKey</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.Entry.html#java.util.Map.Entry.comparingByKey_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Map.Entry
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.Entry.html#java.util.Map.Entry.comparingByKey_added(java.util.Comparator<? super K>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super K&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map.Entry
+</A></nobr><br>
+<i>comparingByValue</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.Entry.html#java.util.Map.Entry.comparingByValue_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Map.Entry
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.Entry.html#java.util.Map.Entry.comparingByValue_added(java.util.Comparator<? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map.Entry
+</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparingDouble_added(java.util.function.ToDoubleFunction<? super T>)" class="hiddenlink" target="rightframe"><b>comparingDouble</b>
+(<code>ToDoubleFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparingInt_added(java.util.function.ToIntFunction<? super T>)" class="hiddenlink" target="rightframe"><b>comparingInt</b>
+(<code>ToIntFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparingLong_added(java.util.function.ToLongFunction<? super T>)" class="hiddenlink" target="rightframe"><b>comparingLong</b>
+(<code>ToLongFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<i>compute</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<i>computeIfAbsent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, Function&lt;? super K, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, Function&lt;? super K, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, Function&lt;? super K, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, Function&lt;? super K, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<i>computeIfPresent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvContentRating.html#android.media.tv.TvContentRating.contains_added(android.media.tv.TvContentRating)" class="hiddenlink" target="rightframe"><b>contains</b>
+(<code>TvContentRating</code>)</A></nobr><br>
+<i>copyDocument</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.copyDocument_added(android.content.ContentResolver, android.net.Uri, android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, Uri, Uri</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsContract
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.copyDocument_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsProvider
+</A></nobr><br>
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.createAllocations_added(android.renderscript.RenderScript, android.renderscript.Type, int, int)" class="hiddenlink" target="rightframe"><b>createAllocations</b>
+(<code>RenderScript, Type, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.createAndManageUser_added(android.content.ComponentName, java.lang.String, android.content.ComponentName, android.os.PersistableBundle, int)" class="hiddenlink" target="rightframe"><b>createAndManageUser</b>
+(<code>ComponentName, String, ComponentName, PersistableBundle, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.createBigContentView_added()" class="hiddenlink" target="rightframe"><b>createBigContentView</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.camera2.CameraDevice.html#android.hardware.camera2.CameraDevice.createCaptureSessionByOutputConfigurations_added(java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler)" class="hiddenlink" target="rightframe"><b>createCaptureSessionByOutputConfigurations</b>
+(<code>List&lt;OutputConfiguration&gt;, StateCallback, Handler</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.createContentView_added()" class="hiddenlink" target="rightframe"><b>createContentView</b>
+()</A></nobr><br>
+<i>createDeviceProtectedStorageContext</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.createDeviceProtectedStorageContext_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.createDeviceProtectedStorageContext_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.createDeviceProtectedStorageContext_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.createForSubscriptionId_added(int)" class="hiddenlink" target="rightframe"><b>createForSubscriptionId</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.createHeadsUpContentView_added()" class="hiddenlink" target="rightframe"><b>createHeadsUpContentView</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.createManageBlockedNumbersIntent_added()" class="hiddenlink" target="rightframe"><b>createManageBlockedNumbersIntent</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.camera2.CameraDevice.html#android.hardware.camera2.CameraDevice.createReprocessableCaptureSessionByConfigurations_added(android.hardware.camera2.params.InputConfiguration, java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler)" class="hiddenlink" target="rightframe"><b>createReprocessableCaptureSessionByConfigurations</b>
+(<code>InputConfiguration, List&lt;OutputConfiguration&gt;, StateCallback, Handler</code>)</A></nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.createUserCreationIntent_added(java.lang.String, java.lang.String, java.lang.String, android.os.PersistableBundle)" class="hiddenlink" target="rightframe"><b>createUserCreationIntent</b>
+(<code>String, String, String, PersistableBundle</code>)</A></nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>decrementExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.decrementExact_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.decrementExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<i>deleteSharedPreferences</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.deleteSharedPreferences_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.deleteSharedPreferences_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.deleteSharedPreferences_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<i>deleteSurroundingTextInCodePoints</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.BaseInputConnection.html#android.view.inputmethod.BaseInputConnection.deleteSurroundingTextInCodePoints_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.BaseInputConnection
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnection.html#android.view.inputmethod.InputConnection.deleteSurroundingTextInCodePoints_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnection
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnectionWrapper.html#android.view.inputmethod.InputConnectionWrapper.deleteSurroundingTextInCodePoints_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnectionWrapper
+</A></nobr><br>
+<i>describeContents</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattCharacteristic.html#android.bluetooth.BluetoothGattCharacteristic.describeContents_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattCharacteristic
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattDescriptor.html#android.bluetooth.BluetoothGattDescriptor.describeContents_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattDescriptor
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattService.html#android.bluetooth.BluetoothGattService.describeContents_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattService
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioFormat.html#android.media.AudioFormat.describeContents_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.media.AudioFormat
+</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.disableSelf_added()" class="hiddenlink" target="rightframe"><b>disableSelf</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.dismissKeyboardShortcutsHelper_added()" class="hiddenlink" target="rightframe"><b>dismissKeyboardShortcutsHelper</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchFinishTemporaryDetach_added()" class="hiddenlink" target="rightframe"><b>dispatchFinishTemporaryDetach</b>
+()</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.dispatchGesture_added(android.accessibilityservice.GestureDescription, android.accessibilityservice.AccessibilityService.GestureResultCallback, android.os.Handler)" class="hiddenlink" target="rightframe"><b>dispatchGesture</b>
+(<code>GestureDescription, GestureResultCallback, Handler</code>)</A></nobr><br>
+<nobr><A HREF="android.view.inputmethod.InputMethodManager.html#android.view.inputmethod.InputMethodManager.dispatchKeyEventFromInputMethod_added(android.view.View, android.view.KeyEvent)" class="hiddenlink" target="rightframe"><b>dispatchKeyEventFromInputMethod</b>
+(<code>View, KeyEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.dispatchMultiWindowModeChanged_added(boolean)" class="hiddenlink" target="rightframe"><b>dispatchMultiWindowModeChanged</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.dispatchPictureInPictureModeChanged_added(boolean)" class="hiddenlink" target="rightframe"><b>dispatchPictureInPictureModeChanged</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchStartTemporaryDetach_added()" class="hiddenlink" target="rightframe"><b>dispatchStartTemporaryDetach</b>
+()</A></nobr><br>
+<i>doubles</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.doubles_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.doubles_added(double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double, double</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.doubles_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.doubles_added(long, double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, double, double</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>engineGetRevocationChecker</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.cert.CertPathBuilderSpi.html#java.security.cert.CertPathBuilderSpi.engineGetRevocationChecker_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.security.cert.CertPathBuilderSpi
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.cert.CertPathValidatorSpi.html#java.security.cert.CertPathValidatorSpi.engineGetRevocationChecker_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.security.cert.CertPathValidatorSpi
+</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.enterPictureInPictureMode_added()" class="hiddenlink" target="rightframe"><b>enterPictureInPictureMode</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.SortedMap.html#java.util.SortedMap.entrySet_added()" class="hiddenlink" target="rightframe"><b>entrySet</b>
+()</A></nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>floorDiv</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.floorDiv_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.floorDiv_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.floorDiv_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.floorDiv_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<i>floorMod</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.floorMod_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.floorMod_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.floorMod_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.floorMod_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.forceHasOverlappingRendering_added(boolean)" class="hiddenlink" target="rightframe"><b>forceHasOverlappingRendering</b>
+(<code>boolean</code>)</A></nobr><br>
+<i>forEach</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Iterable.html#java.lang.Iterable.forEach_added(java.util.function.Consumer<? super T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super T&gt;</code>)</b>&nbsp;in&nbsp;java.lang.Iterable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.Provider.html#java.security.Provider.forEach_added(java.util.function.BiConsumer<? super java.lang.Object, ? super java.lang.Object>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;Object, Object&gt;</code>)</b>&nbsp;in&nbsp;java.security.Provider
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.forEach_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.HashMap.html#java.util.HashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.HashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.IdentityHashMap.html#java.util.IdentityHashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.IdentityHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeMap.html#java.util.TreeMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.TreeMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.forEach_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.WeakHashMap.html#java.util.WeakHashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.WeakHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEach_added(long, java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEach_added(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.Consumer<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;? super K, ? super V, ? extends U&gt;, Consumer&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.CopyOnWriteArrayList.html#java.util.concurrent.CopyOnWriteArrayList.forEach_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.CopyOnWriteArrayList
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.CopyOnWriteArraySet.html#java.util.concurrent.CopyOnWriteArraySet.forEach_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.CopyOnWriteArraySet
+</A></nobr><br>
+<i>forEachEntry</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachEntry_added(long, java.util.function.Consumer<? super java.util.Map.Entry<K, V>>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Consumer&lt;Entry&lt;K, V&gt;&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachEntry_added(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.Consumer<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;Entry&lt;K, V&gt;, ? extends U&gt;, Consumer&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<i>forEachKey</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachKey_added(long, java.util.function.Consumer<? super K>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Consumer&lt;? super K&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachKey_added(long, java.util.function.Function<? super K, ? extends U>, java.util.function.Consumer<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;? super K, ? extends U&gt;, Consumer&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<nobr><A HREF="java.util.Iterator.html#java.util.Iterator.forEachRemaining_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe"><b>forEachRemaining</b>
+(<code>Consumer&lt;? super E&gt;</code>)</A></nobr><br>
+<i>forEachValue</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachValue_added(long, java.util.function.Consumer<? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Consumer&lt;? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachValue_added(long, java.util.function.Function<? super V, ? extends U>, java.util.function.Consumer<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;? super V, ? extends U&gt;, Consumer&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<i>fromHtml</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.fromHtml_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.fromHtml_added(java.lang.String, int, android.text.Html.ImageGetter, android.text.Html.TagHandler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int, ImageGetter, TagHandler</code>)</b>&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.getActiveRecordingConfigurations_added()" class="hiddenlink" target="rightframe"><b>getActiveRecordingConfigurations</b>
+()</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getAlgorithmConstraints_added()" class="hiddenlink" target="rightframe"><b>getAlgorithmConstraints</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telecom.ConnectionService.html#android.telecom.ConnectionService.getAllConferences_added()" class="hiddenlink" target="rightframe"><b>getAllConferences</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.html#android.app.Notification.Action.getAllowGeneratedReplies_added()" class="hiddenlink" target="rightframe"><b>getAllowGeneratedReplies</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getAlwaysOnVpnPackage_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getAlwaysOnVpnPackage</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityWindowInfo.html#android.view.accessibility.AccessibilityWindowInfo.getAnchor_added()" class="hiddenlink" target="rightframe"><b>getAnchor</b>
+()</A></nobr><br>
+<i>getAndAccumulate</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicInteger.html#java.util.concurrent.atomic.AtomicInteger.getAndAccumulate_added(int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicInteger
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html#java.util.concurrent.atomic.AtomicIntegerArray.getAndAccumulate_added(int, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html#java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndAccumulate_added(T, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerFieldUpdater
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLong.html#java.util.concurrent.atomic.AtomicLong.getAndAccumulate_added(long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLong
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongArray.html#java.util.concurrent.atomic.AtomicLongArray.getAndAccumulate_added(int, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html#java.util.concurrent.atomic.AtomicLongFieldUpdater.getAndAccumulate_added(T, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongFieldUpdater
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReference.html#java.util.concurrent.atomic.AtomicReference.getAndAccumulate_added(V, java.util.function.BinaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>V, BinaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReference
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html#java.util.concurrent.atomic.AtomicReferenceArray.getAndAccumulate_added(int, E, java.util.function.BinaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, E, BinaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html#java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndAccumulate_added(T, V, java.util.function.BinaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, V, BinaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceFieldUpdater
+</A></nobr><br>
+<i>getAndUpdate</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicInteger.html#java.util.concurrent.atomic.AtomicInteger.getAndUpdate_added(java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicInteger
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html#java.util.concurrent.atomic.AtomicIntegerArray.getAndUpdate_added(int, java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html#java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndUpdate_added(T, java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerFieldUpdater
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLong.html#java.util.concurrent.atomic.AtomicLong.getAndUpdate_added(java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLong
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongArray.html#java.util.concurrent.atomic.AtomicLongArray.getAndUpdate_added(int, java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html#java.util.concurrent.atomic.AtomicLongFieldUpdater.getAndUpdate_added(T, java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongFieldUpdater
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReference.html#java.util.concurrent.atomic.AtomicReference.getAndUpdate_added(java.util.function.UnaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReference
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html#java.util.concurrent.atomic.AtomicReferenceArray.getAndUpdate_added(int, java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html#java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndUpdate_added(T, java.util.function.UnaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, UnaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceFieldUpdater
+</A></nobr><br>
+<i>getAnnotationsByType</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Package.html#java.lang.Package.getAnnotationsByType_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.Package
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AnnotatedElement.html#java.lang.reflect.AnnotatedElement.getAnnotationsByType_added(java.lang.Class<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.AnnotatedElement
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getApplicationRestrictionsManagingPackage_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getApplicationRestrictionsManagingPackage</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.CellIdentityGsm.html#android.telephony.CellIdentityGsm.getArfcn_added()" class="hiddenlink" target="rightframe"><b>getArfcn</b>
+()</A></nobr><br>
+<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.html#android.security.keystore.KeyGenParameterSpec.getAttestationChallenge_added()" class="hiddenlink" target="rightframe"><b>getAttestationChallenge</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.getAutomaticZenRule_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getAutomaticZenRule</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.getAutomaticZenRules_added()" class="hiddenlink" target="rightframe"><b>getAutomaticZenRules</b>
+()</A></nobr><br>
+<nobr><A HREF="android.service.media.MediaBrowserService.html#android.service.media.MediaBrowserService.getBrowserRootHints_added()" class="hiddenlink" target="rightframe"><b>getBrowserRootHints</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.CellIdentityGsm.html#android.telephony.CellIdentityGsm.getBsic_added()" class="hiddenlink" target="rightframe"><b>getBsic</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.getBufferCapacityInFrames_added()" class="hiddenlink" target="rightframe"><b>getBufferCapacityInFrames</b>
+()</A></nobr><br>
+<i>getBuiltInDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getBuiltInDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getBuiltInDrawable_added(int, int, boolean, float, float, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, boolean, float, float, int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.getByteBuffer_added()" class="hiddenlink" target="rightframe"><b>getByteBuffer</b>
+()</A></nobr><br>
+<nobr><A HREF="android.net.wifi.WifiEnterpriseConfig.html#android.net.wifi.WifiEnterpriseConfig.getCaCertificates_added()" class="hiddenlink" target="rightframe"><b>getCaCertificates</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getColor_added()" class="hiddenlink" target="rightframe"><b>getColor</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getColors_added()" class="hiddenlink" target="rightframe"><b>getColors</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ForkJoinPool.html#java.util.concurrent.ForkJoinPool.getCommonPoolParallelism_added()" class="hiddenlink" target="rightframe"><b>getCommonPoolParallelism</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getCompressedSizeLong_added()" class="hiddenlink" target="rightframe"><b>getCompressedSizeLong</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telecom.RemoteConference.html#android.telecom.RemoteConference.getConnectionProperties_added()" class="hiddenlink" target="rightframe"><b>getConnectionProperties</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getContentInsetEndWithActions_added()" class="hiddenlink" target="rightframe"><b>getContentInsetEndWithActions</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getContentInsetStartWithNavigation_added()" class="hiddenlink" target="rightframe"><b>getContentInsetStartWithNavigation</b>
+()</A></nobr><br>
+<nobr><A HREF="java.net.URLConnection.html#java.net.URLConnection.getContentLengthLong_added()" class="hiddenlink" target="rightframe"><b>getContentLengthLong</b>
+()</A></nobr><br>
+<i>getContextualShaper</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.getContextualShaper_added(java.util.Set<java.awt.font.NumericShaper.Range>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Set&lt;Range&gt;</code>)</b>&nbsp;in&nbsp;java.awt.font.NumericShaper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.getContextualShaper_added(java.util.Set<java.awt.font.NumericShaper.Range>, java.awt.font.NumericShaper.Range)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Set&lt;Range&gt;, Range</code>)</b>&nbsp;in&nbsp;java.awt.font.NumericShaper
+</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getCornerRadii_added()" class="hiddenlink" target="rightframe"><b>getCornerRadii</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getCornerRadius_added()" class="hiddenlink" target="rightframe"><b>getCornerRadius</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getCrossProfileContactsSearchDisabled_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getCrossProfileContactsSearchDisabled</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getCurrentContentInsetEnd_added()" class="hiddenlink" target="rightframe"><b>getCurrentContentInsetEnd</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getCurrentContentInsetLeft_added()" class="hiddenlink" target="rightframe"><b>getCurrentContentInsetLeft</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getCurrentContentInsetRight_added()" class="hiddenlink" target="rightframe"><b>getCurrentContentInsetRight</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getCurrentContentInsetStart_added()" class="hiddenlink" target="rightframe"><b>getCurrentContentInsetStart</b>
+()</A></nobr><br>
+<i>getDataDir</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.getDataDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.getDataDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.getDataDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getDataNetworkType_added()" class="hiddenlink" target="rightframe"><b>getDataNetworkType</b>
+()</A></nobr><br>
+<i>getDeclaredAnnotation</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Package.html#java.lang.Package.getDeclaredAnnotation_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.Package
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AnnotatedElement.html#java.lang.reflect.AnnotatedElement.getDeclaredAnnotation_added(java.lang.Class<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.AnnotatedElement
+</A></nobr><br>
+<i>getDeclaredAnnotationsByType</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Package.html#java.lang.Package.getDeclaredAnnotationsByType_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.Package
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AnnotatedElement.html#java.lang.reflect.AnnotatedElement.getDeclaredAnnotationsByType_added(java.lang.Class<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.AnnotatedElement
+</A></nobr><br>
+<nobr><A HREF="java.util.Locale.html#java.util.Locale.getDefault_added(java.util.Locale.Category)" class="hiddenlink" target="rightframe"><b>getDefault</b>
+(<code>Category</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.getDefaultDataSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultDataSubscriptionId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.getDefaultSharedPreferencesName_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>getDefaultSharedPreferencesName</b>
+(<code>Context</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.getDefaultSmsSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultSmsSubscriptionId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.getDefaultSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultSubscriptionId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.getDefaultVoiceSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultVoiceSubscriptionId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getDeviceOwnerLockScreenInfo_added()" class="hiddenlink" target="rightframe"><b>getDeviceOwnerLockScreenInfo</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.getDeviceType_added()" class="hiddenlink" target="rightframe"><b>getDeviceType</b>
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDisabledActionModeMenuItems_added()" class="hiddenlink" target="rightframe"><b>getDisabledActionModeMenuItems</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getDismissalId_added()" class="hiddenlink" target="rightframe"><b>getDismissalId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.getDocumentStreamTypes_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>getDocumentStreamTypes</b>
+(<code>String, String</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.getDrawingOrder_added()" class="hiddenlink" target="rightframe"><b>getDrawingOrder</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.MediaExtractor.html#android.media.MediaExtractor.getDrmInitData_added()" class="hiddenlink" target="rightframe"><b>getDrmInitData</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.getDynamicSensorList_added(int)" class="hiddenlink" target="rightframe"><b>getDynamicSensorList</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.CellIdentityLte.html#android.telephony.CellIdentityLte.getEarfcn_added()" class="hiddenlink" target="rightframe"><b>getEarfcn</b>
+()</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getEndpointIdentificationAlgorithm_added()" class="hiddenlink" target="rightframe"><b>getEndpointIdentificationAlgorithm</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.getEnterTransition_added()" class="hiddenlink" target="rightframe"><b>getEnterTransition</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDeviceInfo.html#android.mtp.MtpDeviceInfo.getEventsSupported_added()" class="hiddenlink" target="rightframe"><b>getEventsSupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Process.html#android.os.Process.getExclusiveCores_added()" class="hiddenlink" target="rightframe"><b>getExclusiveCores</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.getExitTransition_added()" class="hiddenlink" target="rightframe"><b>getExitTransition</b>
+()</A></nobr><br>
+<i>getExtras</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ClipDescription.html#android.content.ClipDescription.getExtras_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ClipDescription
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.getExtras_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.media.tv.TvInputInfo
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.telecom.PhoneAccount.html#android.telecom.PhoneAccount.getExtras_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.telecom.PhoneAccount
+</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getFlexMillis_added()" class="hiddenlink" target="rightframe"><b>getFlexMillis</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ForkJoinTask.html#java.util.concurrent.ForkJoinTask.getForkJoinTaskTag_added()" class="hiddenlink" target="rightframe"><b>getForkJoinTaskTag</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getGradientCenterX_added()" class="hiddenlink" target="rightframe"><b>getGradientCenterX</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getGradientCenterY_added()" class="hiddenlink" target="rightframe"><b>getGradientCenterY</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getGradientType_added()" class="hiddenlink" target="rightframe"><b>getGradientType</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.LinearLayout.html#android.widget.LinearLayout.getGravity_added()" class="hiddenlink" target="rightframe"><b>getGravity</b>
+()</A></nobr><br>
+<i>getHandler</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.BaseInputConnection.html#android.view.inputmethod.BaseInputConnection.getHandler_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.BaseInputConnection
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnection.html#android.view.inputmethod.InputConnection.getHandler_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnection
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnectionWrapper.html#android.view.inputmethod.InputConnectionWrapper.getHandler_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnectionWrapper
+</A></nobr><br>
+<i>getHandshakeSession</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.net.ssl.SSLEngine.html#javax.net.ssl.SSLEngine.getHandshakeSession_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.net.ssl.SSLEngine
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.net.ssl.SSLSocket.html#javax.net.ssl.SSLSocket.getHandshakeSession_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.net.ssl.SSLSocket
+</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.getHasOverlappingRendering_added()" class="hiddenlink" target="rightframe"><b>getHasOverlappingRendering</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.Display.html#android.view.Display.getHdrCapabilities_added()" class="hiddenlink" target="rightframe"><b>getHdrCapabilities</b>
+()</A></nobr><br>
+<nobr><A HREF="java.net.URLConnection.html#java.net.URLConnection.getHeaderFieldLong_added(java.lang.String, long)" class="hiddenlink" target="rightframe"><b>getHeaderFieldLong</b>
+(<code>String, long</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getHintAmbientBigPicture_added()" class="hiddenlink" target="rightframe"><b>getHintAmbientBigPicture</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getHintContentIntentLaunchesActivity_added()" class="hiddenlink" target="rightframe"><b>getHintContentIntentLaunchesActivity</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.getHintLaunchesActivity_added()" class="hiddenlink" target="rightframe"><b>getHintLaunchesActivity</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getIccAuthentication_added(int, int, java.lang.String)" class="hiddenlink" target="rightframe"><b>getIccAuthentication</b>
+(<code>int, int, String</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.getId_added()" class="hiddenlink" target="rightframe"><b>getId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getImagePixDepthLong_added()" class="hiddenlink" target="rightframe"><b>getImagePixDepthLong</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getImagePixHeightLong_added()" class="hiddenlink" target="rightframe"><b>getImagePixHeightLong</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getImagePixWidthLong_added()" class="hiddenlink" target="rightframe"><b>getImagePixWidthLong</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getImeHintLocales_added()" class="hiddenlink" target="rightframe"><b>getImeHintLocales</b>
+()</A></nobr><br>
+<i>getImportance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.getImportance_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.app.NotificationManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.getImportance_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.service.notification.NotificationListenerService.Ranking
+</A></nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.getImportanceExplanation_added()" class="hiddenlink" target="rightframe"><b>getImportanceExplanation</b>
+()</A></nobr><br>
+<i>getLanguageTag</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.getLanguageTag_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputMethodSubtype
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.textservice.SpellCheckerSubtype.html#android.view.textservice.SpellCheckerSubtype.getLanguageTag_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.textservice.SpellCheckerSubtype
+</A></nobr><br>
+<nobr><A HREF="android.app.ActivityOptions.html#android.app.ActivityOptions.getLaunchBounds_added()" class="hiddenlink" target="rightframe"><b>getLaunchBounds</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.getLeftStripDrawable_added()" class="hiddenlink" target="rightframe"><b>getLeftStripDrawable</b>
+()</A></nobr><br>
+<nobr><A HREF="android.text.style.SuggestionSpan.html#android.text.style.SuggestionSpan.getLocaleObject_added()" class="hiddenlink" target="rightframe"><b>getLocaleObject</b>
+()</A></nobr><br>
+<i>getLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.getLocales_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.res.Configuration
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.getLocales_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.text.style.LocaleSpan
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getLongSupportMessage_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getLongSupportMessage</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.getMagnificationController_added()" class="hiddenlink" target="rightframe"><b>getMagnificationController</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.getMaxAvailableHeight_added(android.view.View, int, boolean)" class="hiddenlink" target="rightframe"><b>getMaxAvailableHeight</b>
+(<code>View, int, boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinFlexMillis_added()" class="hiddenlink" target="rightframe"><b>getMinFlexMillis</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinPeriodMillis_added()" class="hiddenlink" target="rightframe"><b>getMinPeriodMillis</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.Currency.html#java.util.Currency.getNumericCode_added()" class="hiddenlink" target="rightframe"><b>getNumericCode</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDeviceInfo.html#android.mtp.MtpDeviceInfo.getOperationsSupported_added()" class="hiddenlink" target="rightframe"><b>getOperationsSupported</b>
+()</A></nobr><br>
+<i>getOrDefault</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.getOrDefault_added(java.lang.Object, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, V</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.getOrDefault_added(java.lang.Object, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, V</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.getOrDefault_added(java.lang.Object, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, V</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.getOrDefault_added(java.lang.Object, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, V</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getOrganizationColor_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getOrganizationColor</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getOrganizationName_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getOrganizationName</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<i>getOverrideGroupKey</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.getOverrideGroupKey_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.service.notification.NotificationListenerService.Ranking
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.service.notification.StatusBarNotification.html#android.service.notification.StatusBarNotification.getOverrideGroupKey_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.service.notification.StatusBarNotification
+</A></nobr><br>
+<i>getPackageGids</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.getPackageGids_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.getPackageGids_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<i>getPackageUid</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.getPackageUid_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.getPackageUid_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<nobr><A HREF="javax.sql.CommonDataSource.html#javax.sql.CommonDataSource.getParentLogger_added()" class="hiddenlink" target="rightframe"><b>getParentLogger</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getParentProfileInstance_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getParentProfileInstance</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.getPartialObject_added(int, long, long, byte[])" class="hiddenlink" target="rightframe"><b>getPartialObject</b>
+(<code>int, long, long, byte[]</code>)</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.getPartialObject64_added(int, long, long, byte[])" class="hiddenlink" target="rightframe"><b>getPartialObject64</b>
+(<code>int, long, long, byte[]</code>)</A></nobr><br>
+<nobr><A HREF="android.app.job.JobScheduler.html#android.app.job.JobScheduler.getPendingJob_added(int)" class="hiddenlink" target="rightframe"><b>getPendingJob</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.preference.Preference.html#android.preference.Preference.getPersistedStringSet_added(java.util.Set<java.lang.String>)" class="hiddenlink" target="rightframe"><b>getPersistedStringSet</b>
+(<code>Set&lt;String&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.getPointerIcon_added()" class="hiddenlink" target="rightframe"><b>getPointerIcon</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.storage.StorageManager.html#android.os.storage.StorageManager.getPrimaryStorageVolume_added()" class="hiddenlink" target="rightframe"><b>getPrimaryStorageVolume</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.Outline.html#android.graphics.Outline.getRadius_added()" class="hiddenlink" target="rightframe"><b>getRadius</b>
+()</A></nobr><br>
+<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.getRangeSet_added()" class="hiddenlink" target="rightframe"><b>getRangeSet</b>
+()</A></nobr><br>
+<nobr><A HREF="java.security.cert.CertPathValidatorException.html#java.security.cert.CertPathValidatorException.getReason_added()" class="hiddenlink" target="rightframe"><b>getReason</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.Outline.html#android.graphics.Outline.getRect_added(android.graphics.Rect)" class="hiddenlink" target="rightframe"><b>getRect</b>
+(<code>Rect</code>)</A></nobr><br>
+<i>getRemoteAddress</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.DatagramChannel.html#java.nio.channels.DatagramChannel.getRemoteAddress_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.nio.channels.DatagramChannel
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.getRemoteAddress_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.nio.channels.SocketChannel
+</A></nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.getRestrictBackgroundStatus_added()" class="hiddenlink" target="rightframe"><b>getRestrictBackgroundStatus</b>
+()</A></nobr><br>
+<i>getRevocationChecker</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.cert.CertPathBuilder.html#java.security.cert.CertPathBuilder.getRevocationChecker_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.security.cert.CertPathBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.cert.CertPathValidator.html#java.security.cert.CertPathValidator.getRevocationChecker_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.security.cert.CertPathValidator
+</A></nobr><br>
+<nobr><A HREF="java.security.cert.X509CRLEntry.html#java.security.cert.X509CRLEntry.getRevocationReason_added()" class="hiddenlink" target="rightframe"><b>getRevocationReason</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.getRightStripDrawable_added()" class="hiddenlink" target="rightframe"><b>getRightStripDrawable</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.getRoaming_added()" class="hiddenlink" target="rightframe"><b>getRoaming</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getSequenceNumberLong_added()" class="hiddenlink" target="rightframe"><b>getSequenceNumberLong</b>
+()</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getServerNames_added()" class="hiddenlink" target="rightframe"><b>getServerNames</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getShape_added()" class="hiddenlink" target="rightframe"><b>getShape</b>
+()</A></nobr><br>
+<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.getShaper_added(java.awt.font.NumericShaper.Range)" class="hiddenlink" target="rightframe"><b>getShaper</b>
+(<code>Range</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getShortSupportMessage_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getShortSupportMessage</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getSNIMatchers_added()" class="hiddenlink" target="rightframe"><b>getSNIMatchers</b>
+()</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.getSoftKeyboardController_added()" class="hiddenlink" target="rightframe"><b>getSoftKeyboardController</b>
+()</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLServerSocket.html#javax.net.ssl.SSLServerSocket.getSSLParameters_added()" class="hiddenlink" target="rightframe"><b>getSSLParameters</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Process.html#android.os.Process.getStartElapsedRealtime_added()" class="hiddenlink" target="rightframe"><b>getStartElapsedRealtime</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Process.html#android.os.Process.getStartUptimeMillis_added()" class="hiddenlink" target="rightframe"><b>getStartUptimeMillis</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.storage.StorageManager.html#android.os.storage.StorageManager.getStorageVolume_added(java.io.File)" class="hiddenlink" target="rightframe"><b>getStorageVolume</b>
+(<code>File</code>)</A></nobr><br>
+<nobr><A HREF="android.os.storage.StorageManager.html#android.os.storage.StorageManager.getStorageVolumes_added()" class="hiddenlink" target="rightframe"><b>getStorageVolumes</b>
+()</A></nobr><br>
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.getStride_added()" class="hiddenlink" target="rightframe"><b>getStride</b>
+()</A></nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.getSuppressedVisualEffects_added()" class="hiddenlink" target="rightframe"><b>getSuppressedVisualEffects</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.getTag_added()" class="hiddenlink" target="rightframe"><b>getTag</b>
+()</A></nobr><br>
+<i>getTextLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.getTextLocales_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.Paint
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getTextLocales_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getThumbCompressedSizeLong_added()" class="hiddenlink" target="rightframe"><b>getThumbCompressedSizeLong</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.getThumbnailRange_added()" class="hiddenlink" target="rightframe"><b>getThumbnailRange</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getThumbPixHeightLong_added()" class="hiddenlink" target="rightframe"><b>getThumbPixHeightLong</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getThumbPixWidthLong_added()" class="hiddenlink" target="rightframe"><b>getThumbPixWidthLong</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.getTickMark_added()" class="hiddenlink" target="rightframe"><b>getTickMark</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.getTickMarkTintList_added()" class="hiddenlink" target="rightframe"><b>getTickMarkTintList</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.getTickMarkTintMode_added()" class="hiddenlink" target="rightframe"><b>getTickMarkTintMode</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.getTimestamp_added(android.media.AudioTimestamp, int)" class="hiddenlink" target="rightframe"><b>getTimestamp</b>
+(<code>AudioTimestamp, int</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.getTimeStamp_added()" class="hiddenlink" target="rightframe"><b>getTimeStamp</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityWindowInfo.html#android.view.accessibility.AccessibilityWindowInfo.getTitle_added()" class="hiddenlink" target="rightframe"><b>getTitle</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getTitleMarginBottom_added()" class="hiddenlink" target="rightframe"><b>getTitleMarginBottom</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getTitleMarginEnd_added()" class="hiddenlink" target="rightframe"><b>getTitleMarginEnd</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getTitleMarginStart_added()" class="hiddenlink" target="rightframe"><b>getTitleMarginStart</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getTitleMarginTop_added()" class="hiddenlink" target="rightframe"><b>getTitleMarginTop</b>
+()</A></nobr><br>
+<nobr><A HREF="android.animation.Animator.html#android.animation.Animator.getTotalDuration_added()" class="hiddenlink" target="rightframe"><b>getTotalDuration</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getTriggerContentMaxDelay_added()" class="hiddenlink" target="rightframe"><b>getTriggerContentMaxDelay</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getTriggerContentUpdateDelay_added()" class="hiddenlink" target="rightframe"><b>getTriggerContentUpdateDelay</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getTriggerContentUris_added()" class="hiddenlink" target="rightframe"><b>getTriggerContentUris</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobParameters.html#android.app.job.JobParameters.getTriggeredContentAuthorities_added()" class="hiddenlink" target="rightframe"><b>getTriggeredContentAuthorities</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobParameters.html#android.app.job.JobParameters.getTriggeredContentUris_added()" class="hiddenlink" target="rightframe"><b>getTriggeredContentUris</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.getTunerCount_added()" class="hiddenlink" target="rightframe"><b>getTunerCount</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.CellIdentityWcdma.html#android.telephony.CellIdentityWcdma.getUarfcn_added()" class="hiddenlink" target="rightframe"><b>getUarfcn</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Instrumentation.html#android.app.Instrumentation.getUiAutomation_added(int)" class="hiddenlink" target="rightframe"><b>getUiAutomation</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.getUnderrunCount_added()" class="hiddenlink" target="rightframe"><b>getUnderrunCount</b>
+()</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getUseCipherSuitesOrder_added()" class="hiddenlink" target="rightframe"><b>getUseCipherSuitesOrder</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getUseLevel_added()" class="hiddenlink" target="rightframe"><b>getUseLevel</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.UserHandle.html#android.os.UserHandle.getUserHandleForUid_added(int)" class="hiddenlink" target="rightframe"><b>getUserHandleForUid</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getUserRestrictions_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getUserRestrictions</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvTrackInfo.html#android.media.tv.TvTrackInfo.getVideoActiveFormatDescription_added()" class="hiddenlink" target="rightframe"><b>getVideoActiveFormatDescription</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoicemailRingtoneUri_added(android.telecom.PhoneAccountHandle)" class="hiddenlink" target="rightframe"><b>getVoicemailRingtoneUri</b>
+(<code>PhoneAccountHandle</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoiceNetworkType_added()" class="hiddenlink" target="rightframe"><b>getVoiceNetworkType</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getWallpaperFile_added(int)" class="hiddenlink" target="rightframe"><b>getWallpaperFile</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getWallpaperId_added(int)" class="hiddenlink" target="rightframe"><b>getWallpaperId</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Calendar.html#java.util.Calendar.getWeeksInWeekYear_added()" class="hiddenlink" target="rightframe"><b>getWeeksInWeekYear</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.Calendar.html#java.util.Calendar.getWeekYear_added()" class="hiddenlink" target="rightframe"><b>getWeekYear</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getWifiMacAddress_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getWifiMacAddress</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.opengl.GLES30.html#android.opengl.GLES30.glGetTransformFeedbackVarying_added(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.ByteBuffer)" class="hiddenlink" target="rightframe"><b>glGetTransformFeedbackVarying</b>
+(<code>int, int, int, IntBuffer, IntBuffer, IntBuffer, ByteBuffer</code>)</A></nobr><br>
+<nobr><A HREF="android.opengl.GLES30.html#android.opengl.GLES30.glReadPixels_added(int, int, int, int, int, int, int)" class="hiddenlink" target="rightframe"><b>glReadPixels</b>
+(<code>int, int, int, int, int, int, int</code>)</A></nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>hashCode</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Boolean.html#java.lang.Boolean.hashCode_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;java.lang.Boolean
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Byte.html#java.lang.Byte.hashCode_added(byte)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>byte</code>)</b>&nbsp;in&nbsp;java.lang.Byte
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Character.html#java.lang.Character.hashCode_added(char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char</code>)</b>&nbsp;in&nbsp;java.lang.Character
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.hashCode_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.hashCode_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Integer.html#java.lang.Integer.hashCode_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.Integer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Long.html#java.lang.Long.hashCode_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Long
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Short.html#java.lang.Short.hashCode_added(short)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>short</code>)</b>&nbsp;in&nbsp;java.lang.Short
+</A></nobr><br>
+<i>hasSystemFeature</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.hasSystemFeature_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.hasSystemFeature_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.ignore_added(android.nfc.Tag, int, android.nfc.NfcAdapter.OnTagRemovedListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>ignore</b>
+(<code>Tag, int, OnTagRemovedListener, Handler</code>)</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.importFile_added(int, android.os.ParcelFileDescriptor)" class="hiddenlink" target="rightframe"><b>importFile</b>
+(<code>int, ParcelFileDescriptor</code>)</A></nobr><br>
+<i>incrementExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.incrementExact_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.incrementExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.installKeyPair_added(android.content.ComponentName, java.security.PrivateKey, java.security.cert.Certificate[], java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>installKeyPair</b>
+(<code>ComponentName, PrivateKey, Certificate[], String, boolean</code>)</A></nobr><br>
+<i>ints</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.ints_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.ints_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.ints_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.ints_added(long, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, int, int</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.isAdditionalInfoSupported_added()" class="hiddenlink" target="rightframe"><b>isAdditionalInfoSupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Process.html#android.os.Process.isApplicationUid_added(int)" class="hiddenlink" target="rightframe"><b>isApplicationUid</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.assist.AssistContent.html#android.app.assist.AssistContent.isAppProvidedWebUri_added()" class="hiddenlink" target="rightframe"><b>isAppProvidedWebUri</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage_added()" class="hiddenlink" target="rightframe"><b>isCallerApplicationRestrictionsManagingPackage</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.isCanonical_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>isCanonical</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.isChannelUri_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isChannelUri</b>
+(<code>Uri</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.isChannelUriForPassthroughInput_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isChannelUriForPassthroughInput</b>
+(<code>Uri</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.isChannelUriForTunerInput_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isChannelUriForTunerInput</b>
+(<code>Uri</code>)</A></nobr><br>
+<nobr><A HREF="android.security.NetworkSecurityPolicy.html#android.security.NetworkSecurityPolicy.isCleartextTrafficPermitted_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>isCleartextTrafficPermitted</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Chronometer.html#android.widget.Chronometer.isCountDown_added()" class="hiddenlink" target="rightframe"><b>isCountDown</b>
+()</A></nobr><br>
+<nobr><A HREF="java.lang.reflect.Method.html#java.lang.reflect.Method.isDefault_added()" class="hiddenlink" target="rightframe"><b>isDefault</b>
+()</A></nobr><br>
+<i>isDeviceProtectedStorage</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.isDeviceProtectedStorage_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.isDeviceProtectedStorage_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.isDeviceProtectedStorage_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.isDynamicSensor_added()" class="hiddenlink" target="rightframe"><b>isDynamicSensor</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.isDynamicSensorDiscoverySupported_added()" class="hiddenlink" target="rightframe"><b>isDynamicSensorDiscoverySupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.storage.StorageManager.html#android.os.storage.StorageManager.isEncrypted_added(java.io.File)" class="hiddenlink" target="rightframe"><b>isEncrypted</b>
+(<code>File</code>)</A></nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.isEnterpriseDirectoryId_added(long)" class="hiddenlink" target="rightframe"><b>isEnterpriseDirectoryId</b>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDeviceInfo.html#android.mtp.MtpDeviceInfo.isEventSupported_added(int)" class="hiddenlink" target="rightframe"><b>isEventSupported</b>
+(<code>int</code>)</A></nobr><br>
+<i>isFinite</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.isFinite_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.isFinite_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+<nobr><A HREF="android.service.notification.StatusBarNotification.html#android.service.notification.StatusBarNotification.isGroup_added()" class="hiddenlink" target="rightframe"><b>isGroup</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.isHidden_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>isHidden</b>
+(<code>Context</code>)</A></nobr><br>
+<nobr><A HREF="java.net.HttpCookie.html#java.net.HttpCookie.isHttpOnly_added()" class="hiddenlink" target="rightframe"><b>isHttpOnly</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.isImportantForAccessibility_added()" class="hiddenlink" target="rightframe"><b>isImportantForAccessibility</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.isInMultiWindowMode_added()" class="hiddenlink" target="rightframe"><b>isInMultiWindowMode</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.isInPictureInPictureMode_added()" class="hiddenlink" target="rightframe"><b>isInPictureInPictureMode</b>
+()</A></nobr><br>
+<i>isInvalidatedByBiometricEnrollment</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.html#android.security.keystore.KeyGenParameterSpec.isInvalidatedByBiometricEnrollment_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyGenParameterSpec
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyInfo.html#android.security.keystore.KeyInfo.isInvalidatedByBiometricEnrollment_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyInfo
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyProtection.html#android.security.keystore.KeyProtection.isInvalidatedByBiometricEnrollment_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyProtection
+</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.isLocalVoiceInteractionSupported_added()" class="hiddenlink" target="rightframe"><b>isLocalVoiceInteractionSupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isManagedProfile_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>isManagedProfile</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Objects.html#java.util.Objects.isNull_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>isNull</b>
+(<code>Object</code>)</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDeviceInfo.html#android.mtp.MtpDeviceInfo.isOperationSupported_added(int)" class="hiddenlink" target="rightframe"><b>isOperationSupported</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isPackageSuspended_added(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe"><b>isPackageSuspended</b>
+(<code>ComponentName, String</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.isProgramUri_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isProgramUri</b>
+(<code>Uri</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isProvisioningAllowed_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>isProvisioningAllowed</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.isQuietModeEnabled_added(android.os.UserHandle)" class="hiddenlink" target="rightframe"><b>isQuietModeEnabled</b>
+(<code>UserHandle</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebResourceRequest.html#android.webkit.WebResourceRequest.isRedirect_added()" class="hiddenlink" target="rightframe"><b>isRedirect</b>
+()</A></nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.isRemoteDirectoryId_added(long)" class="hiddenlink" target="rightframe"><b>isRemoteDirectoryId</b>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isSecurityLoggingEnabled_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>isSecurityLoggingEnabled</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.isSetWallpaperAllowed_added()" class="hiddenlink" target="rightframe"><b>isSetWallpaperAllowed</b>
+()</A></nobr><br>
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.isStorageDefault_added()" class="hiddenlink" target="rightframe"><b>isStorageDefault</b>
+()</A></nobr><br>
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.isStorageDeviceProtected_added()" class="hiddenlink" target="rightframe"><b>isStorageDeviceProtected</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.PowerManager.html#android.os.PowerManager.isSustainedPerformanceModeSupported_added()" class="hiddenlink" target="rightframe"><b>isSustainedPerformanceModeSupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.isTemporarilyDetached_added()" class="hiddenlink" target="rightframe"><b>isTemporarilyDetached</b>
+()</A></nobr><br>
+<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.isTreeUri_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isTreeUri</b>
+(<code>Uri</code>)</A></nobr><br>
+<i>isUserAuthenticationValidWhileOnBody</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.html#android.security.keystore.KeyGenParameterSpec.isUserAuthenticationValidWhileOnBody_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyGenParameterSpec
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyInfo.html#android.security.keystore.KeyInfo.isUserAuthenticationValidWhileOnBody_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyInfo
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyProtection.html#android.security.keystore.KeyProtection.isUserAuthenticationValidWhileOnBody_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyProtection
+</A></nobr><br>
+<i>isUserUnlocked</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.isUserUnlocked_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.os.UserManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.isUserUnlocked_added(android.os.UserHandle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UserHandle</code>)</b>&nbsp;in&nbsp;android.os.UserManager
+</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.isVoicemailVibrationEnabled_added(android.telecom.PhoneAccountHandle)" class="hiddenlink" target="rightframe"><b>isVoicemailVibrationEnabled</b>
+(<code>PhoneAccountHandle</code>)</A></nobr><br>
+<i>isWeekDateSupported</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Calendar.html#java.util.Calendar.isWeekDateSupported_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Calendar
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.GregorianCalendar.html#java.util.GregorianCalendar.isWeekDateSupported_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.GregorianCalendar
+</A></nobr><br>
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>keySet</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.SortedMap.html#java.util.SortedMap.keySet_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.SortedMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.keySet_added(V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>V</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.io.BufferedReader.html#java.io.BufferedReader.lines_added()" class="hiddenlink" target="rightframe"><b>lines</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.loadCustomLabel_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>loadCustomLabel</b>
+(<code>Context</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Boolean.html#java.lang.Boolean.logicalAnd_added(boolean, boolean)" class="hiddenlink" target="rightframe"><b>logicalAnd</b>
+(<code>boolean, boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Boolean.html#java.lang.Boolean.logicalOr_added(boolean, boolean)" class="hiddenlink" target="rightframe"><b>logicalOr</b>
+(<code>boolean, boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Boolean.html#java.lang.Boolean.logicalXor_added(boolean, boolean)" class="hiddenlink" target="rightframe"><b>logicalXor</b>
+(<code>boolean, boolean</code>)</A></nobr><br>
+<i>longs</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.longs_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.longs_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.longs_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.longs_added(long, long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long, long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<nobr><A HREF="android.graphics.Color.html#android.graphics.Color.luminance_added(int)" class="hiddenlink" target="rightframe"><b>luminance</b>
+(<code>int</code>)</A></nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.mappingCount_added()" class="hiddenlink" target="rightframe"><b>mappingCount</b>
+()</A></nobr><br>
+<i>max</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.max_added(double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double, double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.max_added(float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float, float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Integer.html#java.lang.Integer.max_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Integer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Long.html#java.lang.Long.max_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Long
+</A></nobr><br>
+<i>merge</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<i>min</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.min_added(double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double, double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.min_added(float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float, float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Integer.html#java.lang.Integer.min_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Integer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Long.html#java.lang.Long.min_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Long
+</A></nobr><br>
+<i>moveDatabaseFrom</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.moveDatabaseFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.moveDatabaseFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.moveDatabaseFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<i>moveDocument</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.moveDocument_added(android.content.ContentResolver, android.net.Uri, android.net.Uri, android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, Uri, Uri, Uri</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsContract
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.moveDocument_added(java.lang.String, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String, String</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsProvider
+</A></nobr><br>
+<i>moveSharedPreferencesFrom</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.moveSharedPreferencesFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.moveSharedPreferencesFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.moveSharedPreferencesFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<i>multiplyExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.multiplyExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.multiplyExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.multiplyExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.multiplyExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.naturalOrder_added()" class="hiddenlink" target="rightframe"><b>naturalOrder</b>
+()</A></nobr><br>
+<i>negateExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.negateExact_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.negateExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<i>newKeySet</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.newKeySet_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.newKeySet_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<i>newWorkStealingPool</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.Executors.html#java.util.concurrent.Executors.newWorkStealingPool_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.Executors
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.Executors.html#java.util.concurrent.Executors.newWorkStealingPool_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.util.concurrent.Executors
+</A></nobr><br>
+<i>nextDown</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.nextDown_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.nextDown_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.nextDown_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.nextDown_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<nobr><A HREF="java.util.Objects.html#java.util.Objects.nonNull_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>nonNull</b>
+(<code>Object</code>)</A></nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.notifyChange_added(android.net.Uri, android.database.ContentObserver, int)" class="hiddenlink" target="rightframe"><b>notifyChange</b>
+(<code>Uri, ContentObserver, int</code>)</A></nobr><br>
+<nobr><A HREF="android.service.media.MediaBrowserService.html#android.service.media.MediaBrowserService.notifyChildrenChanged_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>notifyChildrenChanged</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.nullsFirst_added(java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe"><b>nullsFirst</b>
+(<code>Comparator&lt;? super T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.nullsLast_added(java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe"><b>nullsLast</b>
+(<code>Comparator&lt;? super T&gt;</code>)</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.util.TimeZone.html#java.util.TimeZone.observesDaylightTime_added()" class="hiddenlink" target="rightframe"><b>observesDaylightTime</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputService.Session.html#android.media.tv.TvInputService.Session.onAppPrivateCommand_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onAppPrivateCommand</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onAttachFragment_added(android.app.Fragment)" class="hiddenlink" target="rightframe"><b>onAttachFragment</b>
+(<code>Fragment</code>)</A></nobr><br>
+<nobr><A HREF="android.speech.tts.UtteranceProgressListener.html#android.speech.tts.UtteranceProgressListener.onAudioAvailable_added(java.lang.String, byte[])" class="hiddenlink" target="rightframe"><b>onAudioAvailable</b>
+(<code>String, byte[]</code>)</A></nobr><br>
+<nobr><A HREF="android.speech.tts.UtteranceProgressListener.html#android.speech.tts.UtteranceProgressListener.onBeginSynthesis_added(java.lang.String, int, int, int)" class="hiddenlink" target="rightframe"><b>onBeginSynthesis</b>
+(<code>String, int, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onBugreportFailed_added(android.content.Context, android.content.Intent, int)" class="hiddenlink" target="rightframe"><b>onBugreportFailed</b>
+(<code>Context, Intent, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onBugreportShared_added(android.content.Context, android.content.Intent, java.lang.String)" class="hiddenlink" target="rightframe"><b>onBugreportShared</b>
+(<code>Context, Intent, String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onBugreportSharingDeclined_added(android.content.Context, android.content.Intent)" class="hiddenlink" target="rightframe"><b>onBugreportSharingDeclined</b>
+(<code>Context, Intent</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.camera2.CameraCaptureSession.CaptureCallback.html#android.hardware.camera2.CameraCaptureSession.CaptureCallback.onCaptureBufferLost_added(android.hardware.camera2.CameraCaptureSession, android.hardware.camera2.CaptureRequest, android.view.Surface, long)" class="hiddenlink" target="rightframe"><b>onCaptureBufferLost</b>
+(<code>CameraCaptureSession, CaptureRequest, Surface, long</code>)</A></nobr><br>
+<nobr><A HREF="android.media.browse.MediaBrowser.SubscriptionCallback.html#android.media.browse.MediaBrowser.SubscriptionCallback.onChildrenLoaded_added(java.lang.String, java.util.List<android.media.browse.MediaBrowser.MediaItem>, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onChildrenLoaded</b>
+(<code>String, List&lt;MediaItem&gt;, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputService.html#android.media.tv.TvInputService.onCreateRecordingSession_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>onCreateRecordingSession</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.media.browse.MediaBrowser.SubscriptionCallback.html#android.media.browse.MediaBrowser.SubscriptionCallback.onError_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onError</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.service.voice.VoiceInteractionSession.html#android.service.voice.VoiceInteractionSession.onHandleAssistSecondary_added(android.os.Bundle, android.app.assist.AssistStructure, android.app.assist.AssistContent, int, int)" class="hiddenlink" target="rightframe"><b>onHandleAssistSecondary</b>
+(<code>Bundle, AssistStructure, AssistContent, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputManager.TvInputCallback.html#android.media.tv.TvInputManager.TvInputCallback.onInputUpdated_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>onInputUpdated</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.onListenerDisconnected_added()" class="hiddenlink" target="rightframe"><b>onListenerDisconnected</b>
+()</A></nobr><br>
+<nobr><A HREF="android.service.media.MediaBrowserService.html#android.service.media.MediaBrowserService.onLoadChildren_added(java.lang.String, android.service.media.MediaBrowserService.Result<java.util.List<android.media.browse.MediaBrowser.MediaItem>>, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onLoadChildren</b>
+(<code>String, Result&lt;List&lt;MediaItem&gt;&gt;, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onLocalVoiceInteractionStarted_added()" class="hiddenlink" target="rightframe"><b>onLocalVoiceInteractionStarted</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onLocalVoiceInteractionStopped_added()" class="hiddenlink" target="rightframe"><b>onLocalVoiceInteractionStopped</b>
+()</A></nobr><br>
+<i>onMultiWindowModeChanged</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onMultiWindowModeChanged_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onMultiWindowModeChanged_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Fragment
+</A></nobr><br>
+<nobr><A HREF="android.content.pm.LauncherApps.Callback.html#android.content.pm.LauncherApps.Callback.onPackagesSuspended_added(java.lang.String[], android.os.UserHandle)" class="hiddenlink" target="rightframe"><b>onPackagesSuspended</b>
+(<code>String[], UserHandle</code>)</A></nobr><br>
+<nobr><A HREF="android.content.pm.LauncherApps.Callback.html#android.content.pm.LauncherApps.Callback.onPackagesUnsuspended_added(java.lang.String[], android.os.UserHandle)" class="hiddenlink" target="rightframe"><b>onPackagesUnsuspended</b>
+(<code>String[], UserHandle</code>)</A></nobr><br>
+<i>onPictureInPictureModeChanged</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onPictureInPictureModeChanged_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onPictureInPictureModeChanged_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Fragment
+</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaSession.Callback.html#android.media.session.MediaSession.Callback.onPrepare_added()" class="hiddenlink" target="rightframe"><b>onPrepare</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaSession.Callback.html#android.media.session.MediaSession.Callback.onPrepareFromMediaId_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onPrepareFromMediaId</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaSession.Callback.html#android.media.session.MediaSession.Callback.onPrepareFromSearch_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onPrepareFromSearch</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaSession.Callback.html#android.media.session.MediaSession.Callback.onPrepareFromUri_added(android.net.Uri, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onPrepareFromUri</b>
+(<code>Uri, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Window.Callback.html#android.view.Window.Callback.onProvideKeyboardShortcuts_added(java.util.List<android.view.KeyboardShortcutGroup>, android.view.Menu, int)" class="hiddenlink" target="rightframe"><b>onProvideKeyboardShortcuts</b>
+(<code>List&lt;KeyboardShortcutGroup&gt;, Menu, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.onQuotaExceeded_added(long, long)" class="hiddenlink" target="rightframe"><b>onQuotaExceeded</b>
+(<code>long, long</code>)</A></nobr><br>
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.onReceiveTextSms_added(android.service.carrier.MessagePdu, java.lang.String, int, int, android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Integer>)" class="hiddenlink" target="rightframe"><b>onReceiveTextSms</b>
+(<code>MessagePdu, String, int, int, ResultCallback&lt;Integer&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.telecom.Connection.html#android.telecom.Connection.onReject_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>onReject</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.printservice.PrinterDiscoverySession.html#android.printservice.PrinterDiscoverySession.onRequestCustomPrinterIcon_added(android.print.PrinterId, android.os.CancellationSignal, android.printservice.CustomPrinterIconCallback)" class="hiddenlink" target="rightframe"><b>onRequestCustomPrinterIcon</b>
+(<code>PrinterId, CancellationSignal, CustomPrinterIconCallback</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onResolvePointerIcon_added(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe"><b>onResolvePointerIcon</b>
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<i>onRoutingChanged</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.OnRoutingChangedListener.html#android.media.AudioRecord.OnRoutingChangedListener.onRoutingChanged_added(android.media.AudioRouting)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AudioRouting</code>)</b>&nbsp;in&nbsp;android.media.AudioRecord.OnRoutingChangedListener
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.OnRoutingChangedListener.html#android.media.AudioTrack.OnRoutingChangedListener.onRoutingChanged_added(android.media.AudioRouting)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AudioRouting</code>)</b>&nbsp;in&nbsp;android.media.AudioTrack.OnRoutingChangedListener
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onSecurityLogsAvailable_added(android.content.Context, android.content.Intent)" class="hiddenlink" target="rightframe"><b>onSecurityLogsAvailable</b>
+(<code>Context, Intent</code>)</A></nobr><br>
+<nobr><A HREF="android.telecom.InCallService.html#android.telecom.InCallService.onSilenceRinger_added()" class="hiddenlink" target="rightframe"><b>onSilenceRinger</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.FragmentHostCallback.html#android.app.FragmentHostCallback.onStartIntentSenderFromFragment_added(android.app.Fragment, android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onStartIntentSenderFromFragment</b>
+(<code>Fragment, IntentSender, int, Intent, int, int, int, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputService.Session.html#android.media.tv.TvInputService.Session.onTimeShiftPlay_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>onTimeShiftPlay</b>
+(<code>Uri</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputService.Session.html#android.media.tv.TvInputService.Session.onTune_added(android.net.Uri, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onTune</b>
+(<code>Uri, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputManager.TvInputCallback.html#android.media.tv.TvInputManager.TvInputCallback.onTvInputInfoUpdated_added(android.media.tv.TvInputInfo)" class="hiddenlink" target="rightframe"><b>onTvInputInfoUpdated</b>
+(<code>TvInputInfo</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onVisibilityAggregated_added(boolean)" class="hiddenlink" target="rightframe"><b>onVisibilityAggregated</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.nio.channels.DatagramChannel.html#java.nio.channels.DatagramChannel.open_added(java.net.ProtocolFamily)" class="hiddenlink" target="rightframe"><b>open</b>
+(<code>ProtocolFamily</code>)</A></nobr><br>
+<nobr><A HREF="java.nio.channels.spi.SelectorProvider.html#java.nio.channels.spi.SelectorProvider.openDatagramChannel_added(java.net.ProtocolFamily)" class="hiddenlink" target="rightframe"><b>openDatagramChannel</b>
+(<code>ProtocolFamily</code>)</A></nobr><br>
+<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.openTypedDocument_added(java.lang.String, java.lang.String, android.os.Bundle, android.os.CancellationSignal)" class="hiddenlink" target="rightframe"><b>openTypedDocument</b>
+(<code>String, String, Bundle, CancellationSignal</code>)</A></nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>parallelPrefix</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(T[], int, int, java.util.function.BinaryOperator<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int, BinaryOperator&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(T[], java.util.function.BinaryOperator<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], BinaryOperator&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(double[], int, int, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], int, int, DoubleBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(double[], java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], DoubleBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(int[], int, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], int, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(int[], java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(long[], int, int, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], int, int, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(long[], java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<i>parallelSetAll</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSetAll_added(T[], java.util.function.IntFunction<? extends T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], IntFunction&lt;? extends T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSetAll_added(double[], java.util.function.IntToDoubleFunction)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], IntToDoubleFunction</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSetAll_added(int[], java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSetAll_added(long[], java.util.function.IntToLongFunction)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], IntToLongFunction</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<i>parallelSort</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(T[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(T[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(T[], int, int, java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int, Comparator&lt;? super T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(T[], java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], Comparator&lt;? super T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(byte[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>byte[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(byte[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>byte[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(double[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(double[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(float[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(float[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(int[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(int[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(long[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(long[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(short[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>short[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(short[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>short[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<nobr><A HREF="java.util.Collection.html#java.util.Collection.parallelStream_added()" class="hiddenlink" target="rightframe"><b>parallelStream</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.pause_added()" class="hiddenlink" target="rightframe"><b>pause</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.StrictMode.VmPolicy.Builder.html#android.os.StrictMode.VmPolicy.Builder.penaltyDeathOnFileUriExposure_added()" class="hiddenlink" target="rightframe"><b>penaltyDeathOnFileUriExposure</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.performContextClick_added(float, float)" class="hiddenlink" target="rightframe"><b>performContextClick</b>
+(<code>float, float</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.performLongClick_added(float, float)" class="hiddenlink" target="rightframe"><b>performLongClick</b>
+(<code>float, float</code>)</A></nobr><br>
+<nobr><A HREF="android.preference.Preference.html#android.preference.Preference.persistStringSet_added(java.util.Set<java.lang.String>)" class="hiddenlink" target="rightframe"><b>persistStringSet</b>
+(<code>Set&lt;String&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaController.TransportControls.html#android.media.session.MediaController.TransportControls.prepare_added()" class="hiddenlink" target="rightframe"><b>prepare</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaController.TransportControls.html#android.media.session.MediaController.TransportControls.prepareFromMediaId_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>prepareFromMediaId</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaController.TransportControls.html#android.media.session.MediaController.TransportControls.prepareFromSearch_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>prepareFromSearch</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaController.TransportControls.html#android.media.session.MediaController.TransportControls.prepareFromUri_added(android.net.Uri, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>prepareFromUri</b>
+(<code>Uri, Bundle</code>)</A></nobr><br>
+<i>putIfAbsent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.putIfAbsent_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.putIfAbsent_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<A NAME="Q"></A>
+<br><font size="+2">Q</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.queryDetailsForUidTag_added(int, java.lang.String, long, long, int, int)" class="hiddenlink" target="rightframe"><b>queryDetailsForUidTag</b>
+(<code>int, String, long, long, int, int</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ForkJoinTask.html#java.util.concurrent.ForkJoinTask.quietlyComplete_added()" class="hiddenlink" target="rightframe"><b>quietlyComplete</b>
+()</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.readEvent_added(android.os.CancellationSignal)" class="hiddenlink" target="rightframe"><b>readEvent</b>
+(<code>CancellationSignal</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.reboot_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>reboot</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.recoverBuilder_added(android.content.Context, android.app.Notification)" class="hiddenlink" target="rightframe"><b>recoverBuilder</b>
+(<code>Context, Notification</code>)</A></nobr><br>
+<i>reduce</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.Script.html#android.renderscript.Script.reduce_added(int, android.renderscript.Allocation[], android.renderscript.Allocation, android.renderscript.Script.LaunchOptions)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Allocation[], Allocation, LaunchOptions</code>)</b>&nbsp;in&nbsp;android.renderscript.Script
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduce_added(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;? super K, ? super V, ? extends U&gt;, BiFunction&lt;? super U, ? super U, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<i>reduceEntries</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntries_added(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;Entry&lt;K, V&gt;, ? extends U&gt;, BiFunction&lt;? super U, ? super U, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntries_added(long, java.util.function.BiFunction<java.util.Map.Entry<K, V>, java.util.Map.Entry<K, V>, ? extends java.util.Map.Entry<K, V>>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;Entry&lt;K, V&gt;, Entry&lt;K, V&gt;, Entry&lt;K, V&gt;&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntriesToDouble_added(long, java.util.function.ToDoubleFunction<java.util.Map.Entry<K, V>>, double, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceEntriesToDouble</b>
+(<code>long, ToDoubleFunction&lt;Entry&lt;K, V&gt;&gt;, double, DoubleBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntriesToInt_added(long, java.util.function.ToIntFunction<java.util.Map.Entry<K, V>>, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceEntriesToInt</b>
+(<code>long, ToIntFunction&lt;Entry&lt;K, V&gt;&gt;, int, IntBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntriesToLong_added(long, java.util.function.ToLongFunction<java.util.Map.Entry<K, V>>, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceEntriesToLong</b>
+(<code>long, ToLongFunction&lt;Entry&lt;K, V&gt;&gt;, long, LongBinaryOperator</code>)</A></nobr><br>
+<i>reduceKeys</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeys_added(long, java.util.function.BiFunction<? super K, ? super K, ? extends K>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;? super K, ? super K, ? extends K&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeys_added(long, java.util.function.Function<? super K, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;? super K, ? extends U&gt;, BiFunction&lt;? super U, ? super U, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeysToDouble_added(long, java.util.function.ToDoubleFunction<? super K>, double, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceKeysToDouble</b>
+(<code>long, ToDoubleFunction&lt;? super K&gt;, double, DoubleBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeysToInt_added(long, java.util.function.ToIntFunction<? super K>, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceKeysToInt</b>
+(<code>long, ToIntFunction&lt;? super K&gt;, int, IntBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeysToLong_added(long, java.util.function.ToLongFunction<? super K>, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceKeysToLong</b>
+(<code>long, ToLongFunction&lt;? super K&gt;, long, LongBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceToDouble_added(long, java.util.function.ToDoubleBiFunction<? super K, ? super V>, double, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceToDouble</b>
+(<code>long, ToDoubleBiFunction&lt;? super K, ? super V&gt;, double, DoubleBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceToInt_added(long, java.util.function.ToIntBiFunction<? super K, ? super V>, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceToInt</b>
+(<code>long, ToIntBiFunction&lt;? super K, ? super V&gt;, int, IntBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceToLong_added(long, java.util.function.ToLongBiFunction<? super K, ? super V>, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceToLong</b>
+(<code>long, ToLongBiFunction&lt;? super K, ? super V&gt;, long, LongBinaryOperator</code>)</A></nobr><br>
+<i>reduceValues</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValues_added(long, java.util.function.Function<? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;? super V, ? extends U&gt;, BiFunction&lt;? super U, ? super U, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValues_added(long, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValuesToDouble_added(long, java.util.function.ToDoubleFunction<? super V>, double, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceValuesToDouble</b>
+(<code>long, ToDoubleFunction&lt;? super V&gt;, double, DoubleBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValuesToInt_added(long, java.util.function.ToIntFunction<? super V>, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceValuesToInt</b>
+(<code>long, ToIntFunction&lt;? super V&gt;, int, IntBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValuesToLong_added(long, java.util.function.ToLongFunction<? super V>, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceValuesToLong</b>
+(<code>long, ToLongFunction&lt;? super V&gt;, long, LongBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.ClassLoader.html#java.lang.ClassLoader.registerAsParallelCapable_added()" class="hiddenlink" target="rightframe"><b>registerAsParallelCapable</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.registerAudioRecordingCallback_added(android.media.AudioManager.AudioRecordingCallback, android.os.Handler)" class="hiddenlink" target="rightframe"><b>registerAudioRecordingCallback</b>
+(<code>AudioRecordingCallback, Handler</code>)</A></nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.registerDefaultNetworkCallback_added(android.net.ConnectivityManager.NetworkCallback)" class="hiddenlink" target="rightframe"><b>registerDefaultNetworkCallback</b>
+(<code>NetworkCallback</code>)</A></nobr><br>
+<i>registerDynamicSensorCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.registerDynamicSensorCallback_added(android.hardware.SensorManager.DynamicSensorCallback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DynamicSensorCallback</code>)</b>&nbsp;in&nbsp;android.hardware.SensorManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.registerDynamicSensorCallback_added(android.hardware.SensorManager.DynamicSensorCallback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DynamicSensorCallback, Handler</code>)</b>&nbsp;in&nbsp;android.hardware.SensorManager
+</A></nobr><br>
+<i>registerGnssMeasurementsCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssMeasurementsCallback_added(android.location.GnssMeasurementsEvent.Callback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssMeasurementsCallback_added(android.location.GnssMeasurementsEvent.Callback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback, Handler</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<i>registerGnssNavigationMessageCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssNavigationMessageCallback_added(android.location.GnssNavigationMessage.Callback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssNavigationMessageCallback_added(android.location.GnssNavigationMessage.Callback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback, Handler</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<i>registerGnssStatusCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssStatusCallback_added(android.location.GnssStatus.Callback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssStatusCallback_added(android.location.GnssStatus.Callback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback, Handler</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<i>registerUsageCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String, long, UsageCallback</code>)</b>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String, long, UsageCallback, Handler</code>)</b>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<i>remove</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.remove_added(java.lang.Object, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, Object</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.remove_added(java.lang.Object, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, Object</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.removeAutomaticZenRule_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>removeAutomaticZenRule</b>
+(<code>String</code>)</A></nobr><br>
+<i>removeDocument</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.removeDocument_added(android.content.ContentResolver, android.net.Uri, android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, Uri, Uri</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsContract
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.removeDocument_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsProvider
+</A></nobr><br>
+<i>removeIf</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.removeIf_added(java.util.function.Predicate<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Predicate&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Collection.html#java.util.Collection.removeIf_added(java.util.function.Predicate<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Predicate&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Collection
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.removeIf_added(java.util.function.Predicate<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Predicate&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.CopyOnWriteArraySet.html#java.util.concurrent.CopyOnWriteArraySet.removeIf_added(java.util.function.Predicate<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Predicate&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.CopyOnWriteArraySet
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.removeKeyPair_added(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe"><b>removeKeyPair</b>
+(<code>ComponentName, String</code>)</A></nobr><br>
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.removeNmeaListener_added(android.location.OnNmeaMessageListener)" class="hiddenlink" target="rightframe"><b>removeNmeaListener</b>
+(<code>OnNmeaMessageListener</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.removeOnFrameMetricsAvailableListener_added(android.view.Window.OnFrameMetricsAvailableListener)" class="hiddenlink" target="rightframe"><b>removeOnFrameMetricsAvailableListener</b>
+(<code>OnFrameMetricsAvailableListener</code>)</A></nobr><br>
+<i>removeOnRoutingChangedListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.removeOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnRoutingChangedListener</code>)</b>&nbsp;in&nbsp;android.media.AudioRecord
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.removeOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnRoutingChangedListener</code>)</b>&nbsp;in&nbsp;android.media.AudioTrack
+</A></nobr><br>
+<nobr><A HREF="android.content.pm.PackageInstaller.Session.html#android.content.pm.PackageInstaller.Session.removeSplit_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>removeSplit</b>
+(<code>String</code>)</A></nobr><br>
+<i>replace</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.HashMap.html#java.util.HashMap.replace_added(K, V, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, V</code>)</b>&nbsp;in&nbsp;java.util.HashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.replace_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.replace_added(K, V, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, V</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.replace_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.replace_added(K, V, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, V</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeMap.html#java.util.TreeMap.replace_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.TreeMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeMap.html#java.util.TreeMap.replace_added(K, V, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, V</code>)</b>&nbsp;in&nbsp;java.util.TreeMap
+</A></nobr><br>
+<i>replaceAll</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.replaceAll_added(java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.HashMap.html#java.util.HashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.HashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.IdentityHashMap.html#java.util.IdentityHashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.IdentityHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.List.html#java.util.List.replaceAll_added(java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.List
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeMap.html#java.util.TreeMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.TreeMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.replaceAll_added(java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.WeakHashMap.html#java.util.WeakHashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.WeakHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.requestBugreport_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>requestBugreport</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.requestDragAndDropPermissions_added(android.view.DragEvent)" class="hiddenlink" target="rightframe"><b>requestDragAndDropPermissions</b>
+(<code>DragEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.requestRebind_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>requestRebind</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.requestShowKeyboardShortcuts_added()" class="hiddenlink" target="rightframe"><b>requestShowKeyboardShortcuts</b>
+()</A></nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.requestUnbind_added()" class="hiddenlink" target="rightframe"><b>requestUnbind</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.Objects.html#java.util.Objects.requireNonNull_added(T, java.util.function.Supplier<java.lang.String>)" class="hiddenlink" target="rightframe"><b>requireNonNull</b>
+(<code>T, Supplier&lt;String&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.restoreAllState_added(android.os.Parcelable, android.app.FragmentManagerNonConfig)" class="hiddenlink" target="rightframe"><b>restoreAllState</b>
+(<code>Parcelable, FragmentManagerNonConfig</code>)</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.resume_added()" class="hiddenlink" target="rightframe"><b>resume</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.retainNestedNonConfig_added()" class="hiddenlink" target="rightframe"><b>retainNestedNonConfig</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.retrievePreRebootSecurityLogs_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>retrievePreRebootSecurityLogs</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.retrieveSecurityLogs_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>retrieveSecurityLogs</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.reversed_added()" class="hiddenlink" target="rightframe"><b>reversed</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.reverseOrder_added()" class="hiddenlink" target="rightframe"><b>reverseOrder</b>
+()</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.search_added(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>)" class="hiddenlink" target="rightframe"><b>search</b>
+(<code>long, BiFunction&lt;? super K, ? super V, ? extends U&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.searchEntries_added(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>)" class="hiddenlink" target="rightframe"><b>searchEntries</b>
+(<code>long, Function&lt;Entry&lt;K, V&gt;, ? extends U&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.searchKeys_added(long, java.util.function.Function<? super K, ? extends U>)" class="hiddenlink" target="rightframe"><b>searchKeys</b>
+(<code>long, Function&lt;? super K, ? extends U&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.searchValues_added(long, java.util.function.Function<? super V, ? extends U>)" class="hiddenlink" target="rightframe"><b>searchValues</b>
+(<code>long, Function&lt;? super V, ? extends U&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.sendAppPrivateCommand_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>sendAppPrivateCommand</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.sendObject_added(int, long, android.os.ParcelFileDescriptor)" class="hiddenlink" target="rightframe"><b>sendObject</b>
+(<code>int, long, ParcelFileDescriptor</code>)</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.sendObjectInfo_added(android.mtp.MtpObjectInfo)" class="hiddenlink" target="rightframe"><b>sendObjectInfo</b>
+(<code>MtpObjectInfo</code>)</A></nobr><br>
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.set_added(int, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>set</b>
+(<code>int, long, String, OnAlarmListener, Handler</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setActions_added(android.app.Notification.Action...)" class="hiddenlink" target="rightframe"><b>setActions</b>
+()</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setAlgorithmConstraints_added(java.security.AlgorithmConstraints)" class="hiddenlink" target="rightframe"><b>setAlgorithmConstraints</b>
+(<code>AlgorithmConstraints</code>)</A></nobr><br>
+<i>setAll</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.setAll_added(T[], java.util.function.IntFunction<? extends T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], IntFunction&lt;? extends T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.setAll_added(double[], java.util.function.IntToDoubleFunction)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], IntToDoubleFunction</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.setAll_added(int[], java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.setAll_added(long[], java.util.function.IntToLongFunction)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], IntToLongFunction</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.Builder.html#android.app.Notification.Action.Builder.setAllowGeneratedReplies_added(boolean)" class="hiddenlink" target="rightframe"><b>setAllowGeneratedReplies</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setAlwaysOnVpnPackage_added(android.content.ComponentName, java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>setAlwaysOnVpnPackage</b>
+(<code>ComponentName, String, boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setApplicationRestrictionsManagingPackage_added(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe"><b>setApplicationRestrictionsManagingPackage</b>
+(<code>ComponentName, String</code>)</A></nobr><br>
+<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html#android.security.keystore.KeyGenParameterSpec.Builder.setAttestationChallenge_added(byte[])" class="hiddenlink" target="rightframe"><b>setAttestationChallenge</b>
+(<code>byte[]</code>)</A></nobr><br>
+<i>setBitmap</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setBitmap_added(android.graphics.Bitmap, android.graphics.Rect, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Bitmap, Rect, boolean</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setBitmap_added(android.graphics.Bitmap, android.graphics.Rect, boolean, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Bitmap, Rect, boolean, int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.setBufferSizeInFrames_added(int)" class="hiddenlink" target="rightframe"><b>setBufferSizeInFrames</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.net.wifi.WifiEnterpriseConfig.html#android.net.wifi.WifiEnterpriseConfig.setCaCertificates_added(java.security.cert.X509Certificate[])" class="hiddenlink" target="rightframe"><b>setCaCertificates</b>
+(<code>X509Certificate[]</code>)</A></nobr><br>
+<i>setChronometerCountDown</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setChronometerCountDown_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Notification.Builder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setChronometerCountDown_added(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, boolean</code>)</b>&nbsp;in&nbsp;android.widget.RemoteViews
+</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setContentInsetEndWithActions_added(int)" class="hiddenlink" target="rightframe"><b>setContentInsetEndWithActions</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setContentInsetStartWithNavigation_added(int)" class="hiddenlink" target="rightframe"><b>setContentInsetStartWithNavigation</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Chronometer.html#android.widget.Chronometer.setCountDown_added(boolean)" class="hiddenlink" target="rightframe"><b>setCountDown</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setCrossProfileContactsSearchDisabled_added(android.content.ComponentName, boolean)" class="hiddenlink" target="rightframe"><b>setCrossProfileContactsSearchDisabled</b>
+(<code>ComponentName, boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setCustomBigContentView_added(android.widget.RemoteViews)" class="hiddenlink" target="rightframe"><b>setCustomBigContentView</b>
+(<code>RemoteViews</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setCustomContentView_added(android.widget.RemoteViews)" class="hiddenlink" target="rightframe"><b>setCustomContentView</b>
+(<code>RemoteViews</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setCustomHeadsUpContentView_added(android.widget.RemoteViews)" class="hiddenlink" target="rightframe"><b>setCustomHeadsUpContentView</b>
+(<code>RemoteViews</code>)</A></nobr><br>
+<i>setDataSource</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaExtractor.html#android.media.MediaExtractor.setDataSource_added(android.content.res.AssetFileDescriptor)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AssetFileDescriptor</code>)</b>&nbsp;in&nbsp;android.media.MediaExtractor
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setDataSource_added(android.content.res.AssetFileDescriptor)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AssetFileDescriptor</code>)</b>&nbsp;in&nbsp;android.media.MediaPlayer
+</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.setDecorCaptionShade_added(int)" class="hiddenlink" target="rightframe"><b>setDecorCaptionShade</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Locale.html#java.util.Locale.setDefault_added(java.util.Locale.Category, java.util.Locale)" class="hiddenlink" target="rightframe"><b>setDefault</b>
+(<code>Category, Locale</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setDeviceOwnerLockScreenInfo_added(android.content.ComponentName, java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setDeviceOwnerLockScreenInfo</b>
+(<code>ComponentName, CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDisabledActionModeMenuItems_added(int)" class="hiddenlink" target="rightframe"><b>setDisabledActionModeMenuItems</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setDismissalId_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setDismissalId</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setDrawingOrder_added(int)" class="hiddenlink" target="rightframe"><b>setDrawingOrder</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setEndpointIdentificationAlgorithm_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setEndpointIdentificationAlgorithm</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.setExact_added(int, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>setExact</b>
+(<code>int, long, String, OnAlarmListener, Handler</code>)</A></nobr><br>
+<i>setExtras</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ClipDescription.html#android.content.ClipDescription.setExtras_added(android.os.PersistableBundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>PersistableBundle</code>)</b>&nbsp;in&nbsp;android.content.ClipDescription
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.telecom.PhoneAccount.Builder.html#android.telecom.PhoneAccount.Builder.setExtras_added(android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Bundle</code>)</b>&nbsp;in&nbsp;android.telecom.PhoneAccount.Builder
+</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ForkJoinTask.html#java.util.concurrent.ForkJoinTask.setForkJoinTaskTag_added(short)" class="hiddenlink" target="rightframe"><b>setForkJoinTaskTag</b>
+(<code>short</code>)</A></nobr><br>
+<nobr><A HREF="android.print.PrinterInfo.Builder.html#android.print.PrinterInfo.Builder.setHasCustomPrinterIcon_added(boolean)" class="hiddenlink" target="rightframe"><b>setHasCustomPrinterIcon</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setHintAmbientBigPicture_added(boolean)" class="hiddenlink" target="rightframe"><b>setHintAmbientBigPicture</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setHintContentIntentLaunchesActivity_added(boolean)" class="hiddenlink" target="rightframe"><b>setHintContentIntentLaunchesActivity</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.setHintLaunchesActivity_added(boolean)" class="hiddenlink" target="rightframe"><b>setHintLaunchesActivity</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.net.HttpCookie.html#java.net.HttpCookie.setHttpOnly_added(boolean)" class="hiddenlink" target="rightframe"><b>setHttpOnly</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.print.PrinterInfo.Builder.html#android.print.PrinterInfo.Builder.setIconResourceId_added(int)" class="hiddenlink" target="rightframe"><b>setIconResourceId</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setImeHintLocales_added(android.os.LocaleList)" class="hiddenlink" target="rightframe"><b>setImeHintLocales</b>
+(<code>LocaleList</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setImportantForAccessibility_added(boolean)" class="hiddenlink" target="rightframe"><b>setImportantForAccessibility</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.print.PrinterInfo.Builder.html#android.print.PrinterInfo.Builder.setInfoIntent_added(android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>setInfoIntent</b>
+(<code>PendingIntent</code>)</A></nobr><br>
+<i>setInvalidatedByBiometricEnrollment</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html#android.security.keystore.KeyGenParameterSpec.Builder.setInvalidatedByBiometricEnrollment_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.security.keystore.KeyGenParameterSpec.Builder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyProtection.Builder.html#android.security.keystore.KeyProtection.Builder.setInvalidatedByBiometricEnrollment_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.security.keystore.KeyProtection.Builder
+</A></nobr><br>
+<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.html#android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.setLanguageTag_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setLanguageTag</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.ActivityOptions.html#android.app.ActivityOptions.setLaunchBounds_added(android.graphics.Rect)" class="hiddenlink" target="rightframe"><b>setLaunchBounds</b>
+(<code>Rect</code>)</A></nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.setLocales_added(android.os.LocaleList)" class="hiddenlink" target="rightframe"><b>setLocales</b>
+(<code>LocaleList</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setLongSupportMessage_added(android.content.ComponentName, java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setLongSupportMessage</b>
+(<code>ComponentName, CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="android.app.DatePickerDialog.html#android.app.DatePickerDialog.setOnDateSetListener_added(android.app.DatePickerDialog.OnDateSetListener)" class="hiddenlink" target="rightframe"><b>setOnDateSetListener</b>
+(<code>OnDateSetListener</code>)</A></nobr><br>
+<i>setOption</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.DatagramChannel.html#java.nio.channels.DatagramChannel.setOption_added(java.net.SocketOption<T>, T)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketOption&lt;T&gt;, T</code>)</b>&nbsp;in&nbsp;java.nio.channels.DatagramChannel
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.ServerSocketChannel.html#java.nio.channels.ServerSocketChannel.setOption_added(java.net.SocketOption<T>, T)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketOption&lt;T&gt;, T</code>)</b>&nbsp;in&nbsp;java.nio.channels.ServerSocketChannel
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.setOption_added(java.net.SocketOption<T>, T)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketOption&lt;T&gt;, T</code>)</b>&nbsp;in&nbsp;java.nio.channels.SocketChannel
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setOrganizationColor_added(android.content.ComponentName, int)" class="hiddenlink" target="rightframe"><b>setOrganizationColor</b>
+(<code>ComponentName, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setOrganizationName_added(android.content.ComponentName, java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setOrganizationName</b>
+(<code>ComponentName, CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="android.content.pm.PackageInstaller.SessionParams.html#android.content.pm.PackageInstaller.SessionParams.setOriginatingUid_added(int)" class="hiddenlink" target="rightframe"><b>setOriginatingUid</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.service.notification.StatusBarNotification.html#android.service.notification.StatusBarNotification.setOverrideGroupKey_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setOverrideGroupKey</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setPackagesSuspended_added(android.content.ComponentName, java.lang.String[], boolean)" class="hiddenlink" target="rightframe"><b>setPackagesSuspended</b>
+(<code>ComponentName, String[], boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.media.MediaCodec.CryptoInfo.html#android.media.MediaCodec.CryptoInfo.setPattern_added(android.media.MediaCodec.CryptoInfo.Pattern)" class="hiddenlink" target="rightframe"><b>setPattern</b>
+(<code>Pattern</code>)</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.Builder.html#android.app.job.JobInfo.Builder.setPeriodic_added(long, long)" class="hiddenlink" target="rightframe"><b>setPeriodic</b>
+(<code>long, long</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setPointerIcon_added(android.view.PointerIcon)" class="hiddenlink" target="rightframe"><b>setPointerIcon</b>
+(<code>PointerIcon</code>)</A></nobr><br>
+<i>setProgress</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.printservice.PrintJob.html#android.printservice.PrintJob.setProgress_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;android.printservice.PrintJob
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.ProgressBar.html#android.widget.ProgressBar.setProgress_added(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, boolean</code>)</b>&nbsp;in&nbsp;android.widget.ProgressBar
+</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setRemoteInputHistory_added(java.lang.CharSequence[])" class="hiddenlink" target="rightframe"><b>setRemoteInputHistory</b>
+(<code>CharSequence[]</code>)</A></nobr><br>
+<i>setRequiresCharging</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.DownloadManager.Request.html#android.app.DownloadManager.Request.setRequiresCharging_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.DownloadManager.Request
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.SyncRequest.Builder.html#android.content.SyncRequest.Builder.setRequiresCharging_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.content.SyncRequest.Builder
+</A></nobr><br>
+<nobr><A HREF="android.app.DownloadManager.Request.html#android.app.DownloadManager.Request.setRequiresDeviceIdle_added(boolean)" class="hiddenlink" target="rightframe"><b>setRequiresDeviceIdle</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.setResizingCaptionDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>setResizingCaptionDrawable</b>
+(<code>Drawable</code>)</A></nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setResource_added(int, int)" class="hiddenlink" target="rightframe"><b>setResource</b>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.setRestrictedCaptionAreaListener_added(android.view.Window.OnRestrictedCaptionAreaChangedListener)" class="hiddenlink" target="rightframe"><b>setRestrictedCaptionAreaListener</b>
+(<code>OnRestrictedCaptionAreaChangedListener</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setSecurityLoggingEnabled_added(android.content.ComponentName, boolean)" class="hiddenlink" target="rightframe"><b>setSecurityLoggingEnabled</b>
+(<code>ComponentName, boolean</code>)</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setServerNames_added(java.util.List<javax.net.ssl.SNIServerName>)" class="hiddenlink" target="rightframe"><b>setServerNames</b>
+(<code>List&lt;SNIServerName&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setShortSupportMessage_added(android.content.ComponentName, java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setShortSupportMessage</b>
+(<code>ComponentName, CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setSNIMatchers_added(java.util.Collection<javax.net.ssl.SNIMatcher>)" class="hiddenlink" target="rightframe"><b>setSNIMatchers</b>
+(<code>Collection&lt;SNIMatcher&gt;</code>)</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLServerSocket.html#javax.net.ssl.SSLServerSocket.setSSLParameters_added(javax.net.ssl.SSLParameters)" class="hiddenlink" target="rightframe"><b>setSSLParameters</b>
+(<code>SSLParameters</code>)</A></nobr><br>
+<i>setStatus</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.printservice.PrintJob.html#android.printservice.PrintJob.setStatus_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.printservice.PrintJob
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.printservice.PrintJob.html#android.printservice.PrintJob.setStatus_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence</code>)</b>&nbsp;in&nbsp;android.printservice.PrintJob
+</A></nobr><br>
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.setStorageDefault_added()" class="hiddenlink" target="rightframe"><b>setStorageDefault</b>
+()</A></nobr><br>
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.setStorageDeviceProtected_added()" class="hiddenlink" target="rightframe"><b>setStorageDeviceProtected</b>
+()</A></nobr><br>
+<i>setStream</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setStream_added(java.io.InputStream, android.graphics.Rect, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>InputStream, Rect, boolean</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setStream_added(java.io.InputStream, android.graphics.Rect, boolean, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>InputStream, Rect, boolean, int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.setSustainedPerformanceMode_added(boolean)" class="hiddenlink" target="rightframe"><b>setSustainedPerformanceMode</b>
+(<code>boolean</code>)</A></nobr><br>
+<i>setTextLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.setTextLocales_added(android.os.LocaleList)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>LocaleList</code>)</b>&nbsp;in&nbsp;android.graphics.Paint
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setTextLocales_added(android.os.LocaleList)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>LocaleList</code>)</b>&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.setTickMark_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>setTickMark</b>
+(<code>Drawable</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.setTickMarkTintList_added(android.content.res.ColorStateList)" class="hiddenlink" target="rightframe"><b>setTickMarkTintList</b>
+(<code>ColorStateList</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.setTickMarkTintMode_added(android.graphics.PorterDuff.Mode)" class="hiddenlink" target="rightframe"><b>setTickMarkTintMode</b>
+(<code>Mode</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMargin_added(int, int, int, int)" class="hiddenlink" target="rightframe"><b>setTitleMargin</b>
+(<code>int, int, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMarginBottom_added(int)" class="hiddenlink" target="rightframe"><b>setTitleMarginBottom</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMarginEnd_added(int)" class="hiddenlink" target="rightframe"><b>setTitleMarginEnd</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMarginStart_added(int)" class="hiddenlink" target="rightframe"><b>setTitleMarginStart</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMarginTop_added(int)" class="hiddenlink" target="rightframe"><b>setTitleMarginTop</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.Builder.html#android.app.job.JobInfo.Builder.setTriggerContentMaxDelay_added(long)" class="hiddenlink" target="rightframe"><b>setTriggerContentMaxDelay</b>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.Builder.html#android.app.job.JobInfo.Builder.setTriggerContentUpdateDelay_added(long)" class="hiddenlink" target="rightframe"><b>setTriggerContentUpdateDelay</b>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setUseCipherSuitesOrder_added(boolean)" class="hiddenlink" target="rightframe"><b>setUseCipherSuitesOrder</b>
+(<code>boolean</code>)</A></nobr><br>
+<i>setUserAuthenticationValidWhileOnBody</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html#android.security.keystore.KeyGenParameterSpec.Builder.setUserAuthenticationValidWhileOnBody_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.security.keystore.KeyGenParameterSpec.Builder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyProtection.Builder.html#android.security.keystore.KeyProtection.Builder.setUserAuthenticationValidWhileOnBody_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.security.keystore.KeyProtection.Builder
+</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvTrackInfo.Builder.html#android.media.tv.TvTrackInfo.Builder.setVideoActiveFormatDescription_added(byte)" class="hiddenlink" target="rightframe"><b>setVideoActiveFormatDescription</b>
+(<code>byte</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setVrModeEnabled_added(boolean, android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>setVrModeEnabled</b>
+(<code>boolean, ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Calendar.html#java.util.Calendar.setWeekDate_added(int, int, int)" class="hiddenlink" target="rightframe"><b>setWeekDate</b>
+(<code>int, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.setWindow_added(int, long, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>setWindow</b>
+(<code>int, long, long, String, OnAlarmListener, Handler</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.setZOrderMediaOverlay_added(boolean)" class="hiddenlink" target="rightframe"><b>setZOrderMediaOverlay</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.setZOrderOnTop_added(boolean)" class="hiddenlink" target="rightframe"><b>setZOrderOnTop</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.shape_added(char[], int, int, java.awt.font.NumericShaper.Range)" class="hiddenlink" target="rightframe"><b>shape</b>
+(<code>char[], int, int, Range</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.shouldOverrideUrlLoading_added(android.webkit.WebView, android.webkit.WebResourceRequest)" class="hiddenlink" target="rightframe"><b>shouldOverrideUrlLoading</b>
+(<code>WebView, WebResourceRequest</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.showContextMenu_added(float, float)" class="hiddenlink" target="rightframe"><b>showContextMenu</b>
+(<code>float, float</code>)</A></nobr><br>
+<i>showContextMenuForChild</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.showContextMenuForChild_added(android.view.View, float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, float, float</code>)</b>&nbsp;in&nbsp;android.view.ViewGroup
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewParent.html#android.view.ViewParent.showContextMenuForChild_added(android.view.View, float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, float, float</code>)</b>&nbsp;in&nbsp;android.view.ViewParent
+</A></nobr><br>
+<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.shutdownInput_added()" class="hiddenlink" target="rightframe"><b>shutdownInput</b>
+()</A></nobr><br>
+<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.shutdownOutput_added()" class="hiddenlink" target="rightframe"><b>shutdownOutput</b>
+()</A></nobr><br>
+<i>sort</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.sort_added(java.util.Comparator<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.List.html#java.util.List.sort_added(java.util.Comparator<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.List
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.sort_added(java.util.Comparator<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+<nobr><A HREF="java.util.regex.Pattern.html#java.util.regex.Pattern.splitAsStream_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>splitAsStream</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<i>spliterator</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Iterable.html#java.lang.Iterable.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.lang.Iterable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayDeque.html#java.util.ArrayDeque.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.ArrayDeque
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(double[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(double[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(int[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(int[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(long[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(long[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(T[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(T[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.HashSet.html#java.util.HashSet.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.HashSet
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.LinkedList.html#java.util.LinkedList.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.LinkedList
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.PriorityQueue.html#java.util.PriorityQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.PriorityQueue
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeSet.html#java.util.TreeSet.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.TreeSet
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ArrayBlockingQueue.html#java.util.concurrent.ArrayBlockingQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ArrayBlockingQueue
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentLinkedDeque.html#java.util.concurrent.ConcurrentLinkedDeque.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentLinkedDeque
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentLinkedQueue.html#java.util.concurrent.ConcurrentLinkedQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentLinkedQueue
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListSet.html#java.util.concurrent.ConcurrentSkipListSet.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListSet
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.CopyOnWriteArraySet.html#java.util.concurrent.CopyOnWriteArraySet.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.CopyOnWriteArraySet
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.LinkedBlockingDeque.html#java.util.concurrent.LinkedBlockingDeque.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.LinkedBlockingDeque
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.LinkedBlockingQueue.html#java.util.concurrent.LinkedBlockingQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.LinkedBlockingQueue
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.LinkedTransferQueue.html#java.util.concurrent.LinkedTransferQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.LinkedTransferQueue
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.PriorityBlockingQueue.html#java.util.concurrent.PriorityBlockingQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.PriorityBlockingQueue
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.SynchronousQueue.html#java.util.concurrent.SynchronousQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.SynchronousQueue
+</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.startDragAndDrop_added(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)" class="hiddenlink" target="rightframe"><b>startDragAndDrop</b>
+(<code>ClipData, DragShadowBuilder, Object, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.startIntentSenderForResult_added(android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>startIntentSenderForResult</b>
+(<code>IntentSender, int, Intent, int, int, int, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.startLocalVoiceInteraction_added(android.os.Bundle)" class="hiddenlink" target="rightframe"><b>startLocalVoiceInteraction</b>
+(<code>Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Service.html#android.app.Service.stopForeground_added(int)" class="hiddenlink" target="rightframe"><b>stopForeground</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.stopLocalVoiceInteraction_added()" class="hiddenlink" target="rightframe"><b>stopLocalVoiceInteraction</b>
+()</A></nobr><br>
+<i>stream</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(double[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(double[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(int[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(int[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(long[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(long[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(T[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(T[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.BitSet.html#java.util.BitSet.stream_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.BitSet
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Collection.html#java.util.Collection.stream_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Collection
+</A></nobr><br>
+<nobr><A HREF="android.media.browse.MediaBrowser.html#android.media.browse.MediaBrowser.subscribe_added(java.lang.String, android.os.Bundle, android.media.browse.MediaBrowser.SubscriptionCallback)" class="hiddenlink" target="rightframe"><b>subscribe</b>
+(<code>String, Bundle, SubscriptionCallback</code>)</A></nobr><br>
+<i>subtractExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.subtractExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.subtractExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.subtractExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.subtractExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<i>sum</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.sum_added(double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double, double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.sum_added(float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float, float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Integer.html#java.lang.Integer.sum_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Integer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Long.html#java.lang.Long.sum_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Long
+</A></nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.supportsMultipleUsers_added()" class="hiddenlink" target="rightframe"><b>supportsMultipleUsers</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.suppressedEffectsToString_added(int)" class="hiddenlink" target="rightframe"><b>suppressedEffectsToString</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.opengl.GLSurfaceView.html#android.opengl.GLSurfaceView.surfaceRedrawNeeded_added(android.view.SurfaceHolder)" class="hiddenlink" target="rightframe"><b>surfaceRedrawNeeded</b>
+(<code>SurfaceHolder</code>)</A></nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.tagDatagramSocket_added(java.net.DatagramSocket)" class="hiddenlink" target="rightframe"><b>tagDatagramSocket</b>
+(<code>DatagramSocket</code>)</A></nobr><br>
+<i>thenComparing</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparing_added(java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparing_added(java.util.function.Function<? super T, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Function&lt;? super T, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparing_added(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Function&lt;? super T, ? extends U&gt;, Comparator&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparingDouble_added(java.util.function.ToDoubleFunction<? super T>)" class="hiddenlink" target="rightframe"><b>thenComparingDouble</b>
+(<code>ToDoubleFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparingInt_added(java.util.function.ToIntFunction<? super T>)" class="hiddenlink" target="rightframe"><b>thenComparingInt</b>
+(<code>ToIntFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparingLong_added(java.util.function.ToLongFunction<? super T>)" class="hiddenlink" target="rightframe"><b>thenComparingLong</b>
+(<code>ToLongFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.timeShiftPlay_added(java.lang.String, android.net.Uri)" class="hiddenlink" target="rightframe"><b>timeShiftPlay</b>
+(<code>String, Uri</code>)</A></nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.toHtml_added(android.text.Spanned, int)" class="hiddenlink" target="rightframe"><b>toHtml</b>
+(<code>Spanned, int</code>)</A></nobr><br>
+<i>toIntExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.toIntExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.toIntExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.tune_added(java.lang.String, android.net.Uri, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>tune</b>
+(<code>String, Uri, Bundle</code>)</A></nobr><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.unregisterAudioRecordingCallback_added(android.media.AudioManager.AudioRecordingCallback)" class="hiddenlink" target="rightframe"><b>unregisterAudioRecordingCallback</b>
+(<code>AudioRecordingCallback</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.unregisterDynamicSensorCallback_added(android.hardware.SensorManager.DynamicSensorCallback)" class="hiddenlink" target="rightframe"><b>unregisterDynamicSensorCallback</b>
+(<code>DynamicSensorCallback</code>)</A></nobr><br>
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.unregisterGnssMeasurementsCallback_added(android.location.GnssMeasurementsEvent.Callback)" class="hiddenlink" target="rightframe"><b>unregisterGnssMeasurementsCallback</b>
+(<code>Callback</code>)</A></nobr><br>
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.unregisterGnssNavigationMessageCallback_added(android.location.GnssNavigationMessage.Callback)" class="hiddenlink" target="rightframe"><b>unregisterGnssNavigationMessageCallback</b>
+(<code>Callback</code>)</A></nobr><br>
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.unregisterGnssStatusCallback_added(android.location.GnssStatus.Callback)" class="hiddenlink" target="rightframe"><b>unregisterGnssStatusCallback</b>
+(<code>Callback</code>)</A></nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.unregisterUsageCallback_added(android.app.usage.NetworkStatsManager.UsageCallback)" class="hiddenlink" target="rightframe"><b>unregisterUsageCallback</b>
+(<code>UsageCallback</code>)</A></nobr><br>
+<nobr><A HREF="android.media.browse.MediaBrowser.html#android.media.browse.MediaBrowser.unsubscribe_added(java.lang.String, android.media.browse.MediaBrowser.SubscriptionCallback)" class="hiddenlink" target="rightframe"><b>unsubscribe</b>
+(<code>String, SubscriptionCallback</code>)</A></nobr><br>
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.untagDatagramSocket_added(java.net.DatagramSocket)" class="hiddenlink" target="rightframe"><b>untagDatagramSocket</b>
+(<code>DatagramSocket</code>)</A></nobr><br>
+<i>updateAndGet</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicInteger.html#java.util.concurrent.atomic.AtomicInteger.updateAndGet_added(java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicInteger
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html#java.util.concurrent.atomic.AtomicIntegerArray.updateAndGet_added(int, java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html#java.util.concurrent.atomic.AtomicIntegerFieldUpdater.updateAndGet_added(T, java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerFieldUpdater
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLong.html#java.util.concurrent.atomic.AtomicLong.updateAndGet_added(java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLong
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongArray.html#java.util.concurrent.atomic.AtomicLongArray.updateAndGet_added(int, java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html#java.util.concurrent.atomic.AtomicLongFieldUpdater.updateAndGet_added(T, java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongFieldUpdater
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReference.html#java.util.concurrent.atomic.AtomicReference.updateAndGet_added(java.util.function.UnaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReference
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html#java.util.concurrent.atomic.AtomicReferenceArray.updateAndGet_added(int, java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html#java.util.concurrent.atomic.AtomicReferenceFieldUpdater.updateAndGet_added(T, java.util.function.UnaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, UnaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceFieldUpdater
+</A></nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.updateAutomaticZenRule_added(java.lang.String, android.app.AutomaticZenRule)" class="hiddenlink" target="rightframe"><b>updateAutomaticZenRule</b>
+(<code>String, AutomaticZenRule</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.updateDragShadow_added(android.view.View.DragShadowBuilder)" class="hiddenlink" target="rightframe"><b>updateDragShadow</b>
+(<code>DragShadowBuilder</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.updateTvInputInfo_added(android.media.tv.TvInputInfo)" class="hiddenlink" target="rightframe"><b>updateTvInputInfo</b>
+(<code>TvInputInfo</code>)</A></nobr><br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.validateSql_added(java.lang.String, android.os.CancellationSignal)" class="hiddenlink" target="rightframe"><b>validateSql</b>
+(<code>String, CancellationSignal</code>)</A></nobr><br>
+<nobr><A HREF="java.util.SortedMap.html#java.util.SortedMap.values_added()" class="hiddenlink" target="rightframe"><b>values</b>
+()</A></nobr><br>
+<nobr><A HREF="java.security.cert.X509Certificate.html#java.security.cert.X509Certificate.verify_added(java.security.PublicKey, java.security.Provider)" class="hiddenlink" target="rightframe"><b>verify</b>
+(<code>PublicKey, Provider</code>)</A></nobr><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>writeToParcel</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattCharacteristic.html#android.bluetooth.BluetoothGattCharacteristic.writeToParcel_added(android.os.Parcel, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcel, int</code>)</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattCharacteristic
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattDescriptor.html#android.bluetooth.BluetoothGattDescriptor.writeToParcel_added(android.os.Parcel, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcel, int</code>)</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattDescriptor
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattService.html#android.bluetooth.BluetoothGattService.writeToParcel_added(android.os.Parcel, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcel, int</code>)</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattService
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioFormat.html#android.media.AudioFormat.writeToParcel_added(android.os.Parcel, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcel, int</code>)</b>&nbsp;in&nbsp;android.media.AudioFormat
+</A></nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/methods_index_all.html b/docs/html/sdk/api_diff/24/changes/methods_index_all.html
new file mode 100644
index 0000000..04c5942
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/methods_index_all.html
@@ -0,0 +1,3259 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Method Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Methods" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Methods</b>
+  <br>
+<A HREF="methods_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="methods_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="methods_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>accumulateAndGet</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicInteger.html#java.util.concurrent.atomic.AtomicInteger.accumulateAndGet_added(int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicInteger
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html#java.util.concurrent.atomic.AtomicIntegerArray.accumulateAndGet_added(int, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html#java.util.concurrent.atomic.AtomicIntegerFieldUpdater.accumulateAndGet_added(T, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerFieldUpdater
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLong.html#java.util.concurrent.atomic.AtomicLong.accumulateAndGet_added(long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLong
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongArray.html#java.util.concurrent.atomic.AtomicLongArray.accumulateAndGet_added(int, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html#java.util.concurrent.atomic.AtomicLongFieldUpdater.accumulateAndGet_added(T, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongFieldUpdater
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReference.html#java.util.concurrent.atomic.AtomicReference.accumulateAndGet_added(V, java.util.function.BinaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>V, BinaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReference
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html#java.util.concurrent.atomic.AtomicReferenceArray.accumulateAndGet_added(int, E, java.util.function.BinaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, E, BinaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html#java.util.concurrent.atomic.AtomicReferenceFieldUpdater.accumulateAndGet_added(T, V, java.util.function.BinaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, V, BinaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceFieldUpdater
+</A></nobr><br>
+<nobr><A HREF="java.nio.channels.FileLock.html#java.nio.channels.FileLock.acquiredBy_added()" class="hiddenlink" target="rightframe"><b>acquiredBy</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.addAutomaticZenRule_added(android.app.AutomaticZenRule)" class="hiddenlink" target="rightframe"><b>addAutomaticZenRule</b>
+(<code>AutomaticZenRule</code>)</A></nobr><br>
+<nobr><A HREF="android.app.DownloadManager.html#android.app.DownloadManager.addCompletedDownload_added(java.lang.String, java.lang.String, boolean, java.lang.String, java.lang.String, long, boolean, android.net.Uri, android.net.Uri)" class="hiddenlink" target="rightframe"><b>addCompletedDownload</b>
+(<code>String, String, boolean, String, String, long, boolean, Uri, Uri</code>)</A></nobr><br>
+<i>addExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.addExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.addExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.addExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.addExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.addGpsStatusListener_changed(android.location.GpsStatus.Listener)" class="hiddenlink" target="rightframe">addGpsStatusListener
+(<code>Listener</code>)</A></nobr><br>
+<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.addHandler_changed(java.util.logging.Handler)" class="hiddenlink" target="rightframe">addHandler
+(<code>Handler</code>)</A></nobr><br>
+<i>addLinks</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.util.Linkify.html#android.text.util.Linkify.addLinks_added(android.text.Spannable, java.util.regex.Pattern, java.lang.String, java.lang.String[], android.text.util.Linkify.MatchFilter, android.text.util.Linkify.TransformFilter)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Spannable, Pattern, String, String[], MatchFilter, TransformFilter</code>)</b>&nbsp;in&nbsp;android.text.util.Linkify
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.util.Linkify.html#android.text.util.Linkify.addLinks_added(android.widget.TextView, java.util.regex.Pattern, java.lang.String, java.lang.String[], android.text.util.Linkify.MatchFilter, android.text.util.Linkify.TransformFilter)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>TextView, Pattern, String, String[], MatchFilter, TransformFilter</code>)</b>&nbsp;in&nbsp;android.text.util.Linkify
+</A></nobr><br>
+<i>addNmeaListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.addNmeaListener_added(android.location.OnNmeaMessageListener)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnNmeaMessageListener</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.addNmeaListener_added(android.location.OnNmeaMessageListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnNmeaMessageListener, Handler</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.addNmeaListener_changed(android.location.GpsStatus.NmeaListener)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>NmeaListener</code>)&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.addOnFrameMetricsAvailableListener_added(android.view.Window.OnFrameMetricsAvailableListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>addOnFrameMetricsAvailableListener</b>
+(<code>OnFrameMetricsAvailableListener, Handler</code>)</A></nobr><br>
+<i>addOnRoutingChangedListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.addOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnRoutingChangedListener, Handler</code>)</b>&nbsp;in&nbsp;android.media.AudioRecord
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.addOnRoutingChangedListener_changed(android.media.AudioRecord.OnRoutingChangedListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>OnRoutingChangedListener, Handler</code>)&nbsp;in&nbsp;android.media.AudioRecord
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.addOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnRoutingChangedListener, Handler</code>)</b>&nbsp;in&nbsp;android.media.AudioTrack
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.addOnRoutingChangedListener_changed(android.media.AudioTrack.OnRoutingChangedListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>OnRoutingChangedListener, Handler</code>)&nbsp;in&nbsp;android.media.AudioTrack
+</A></nobr><br>
+<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.addPropertyChangeListener_changed(java.beans.PropertyChangeListener)" class="hiddenlink" target="rightframe">addPropertyChangeListener
+(<code>PropertyChangeListener</code>)</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.Builder.html#android.app.job.JobInfo.Builder.addTriggerContentUri_added(android.app.job.JobInfo.TriggerContentUri)" class="hiddenlink" target="rightframe"><b>addTriggerContentUri</b>
+(<code>TriggerContentUri</code>)</A></nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.areNotificationsEnabled_added()" class="hiddenlink" target="rightframe"><b>areNotificationsEnabled</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.regex.Pattern.html#java.util.regex.Pattern.asPredicate_added()" class="hiddenlink" target="rightframe"><b>asPredicate</b>
+()</A></nobr><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>bind</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.DatagramChannel.html#java.nio.channels.DatagramChannel.bind_added(java.net.SocketAddress)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketAddress</code>)</b>&nbsp;in&nbsp;java.nio.channels.DatagramChannel
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.ServerSocketChannel.html#java.nio.channels.ServerSocketChannel.bind_added(java.net.SocketAddress, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketAddress, int</code>)</b>&nbsp;in&nbsp;java.nio.channels.ServerSocketChannel
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.ServerSocketChannel.html#java.nio.channels.ServerSocketChannel.bind_added(java.net.SocketAddress)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketAddress</code>)</b>&nbsp;in&nbsp;java.nio.channels.ServerSocketChannel
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.bind_added(java.net.SocketAddress)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketAddress</code>)</b>&nbsp;in&nbsp;java.nio.channels.SocketChannel
+</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.buildRecordedProgramUri_added(long)" class="hiddenlink" target="rightframe"><b>buildRecordedProgramUri</b>
+(<code>long</code>)</A></nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.cancel_added(android.app.AlarmManager.OnAlarmListener)" class="hiddenlink" target="rightframe"><b>cancel</b>
+(<code>OnAlarmListener</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.cancelDragAndDrop_added()" class="hiddenlink" target="rightframe"><b>cancelDragAndDrop</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.canRecord_added()" class="hiddenlink" target="rightframe"><b>canRecord</b>
+()</A></nobr><br>
+<i>chars</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.CharSequence.html#java.lang.CharSequence.chars_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.lang.CharSequence
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.CharBuffer.html#java.nio.CharBuffer.chars_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.nio.CharBuffer
+</A></nobr><br>
+<nobr><A HREF="java.security.cert.PKIXCertPathChecker.html#java.security.cert.PKIXCertPathChecker.check_added(java.security.cert.Certificate)" class="hiddenlink" target="rightframe"><b>check</b>
+(<code>Certificate</code>)</A></nobr><br>
+<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.checkAccess_changed()" class="hiddenlink" target="rightframe">checkAccess
+()</A></nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.clear_added(int)" class="hiddenlink" target="rightframe"><b>clear</b>
+(<code>int</code>)</A></nobr><br>
+<i>clearCache</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.clearCache_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.clearCache_changed(java.lang.ClassLoader)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>ClassLoader</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.clearProfileOwner_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>clearProfileOwner</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<i>close</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContentProviderClient.html#android.content.ContentProviderClient.close_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContentProviderClient
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.drm.DrmManagerClient.html#android.drm.DrmManagerClient.close_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.drm.DrmManagerClient
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.net.URLClassLoader.html#java.net.URLClassLoader.close_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.net.URLClassLoader
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.close_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.logging.Handler
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.MemoryHandler.html#java.util.logging.MemoryHandler.close_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.logging.MemoryHandler
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.StreamHandler.html#java.util.logging.StreamHandler.close_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.logging.StreamHandler
+</A></nobr><br>
+<i>closeConnection</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.BaseInputConnection.html#android.view.inputmethod.BaseInputConnection.closeConnection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.BaseInputConnection
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnection.html#android.view.inputmethod.InputConnection.closeConnection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnection
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnectionWrapper.html#android.view.inputmethod.InputConnectionWrapper.closeConnection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnectionWrapper
+</A></nobr><br>
+<nobr><A HREF="java.lang.CharSequence.html#java.lang.CharSequence.codePoints_added()" class="hiddenlink" target="rightframe"><b>codePoints</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.FragmentTransaction.html#android.app.FragmentTransaction.commitNow_added()" class="hiddenlink" target="rightframe"><b>commitNow</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.FragmentTransaction.html#android.app.FragmentTransaction.commitNowAllowingStateLoss_added()" class="hiddenlink" target="rightframe"><b>commitNowAllowingStateLoss</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ForkJoinPool.html#java.util.concurrent.ForkJoinPool.commonPool_added()" class="hiddenlink" target="rightframe"><b>commonPool</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ForkJoinTask.html#java.util.concurrent.ForkJoinTask.compareAndSetForkJoinTaskTag_added(short, short)" class="hiddenlink" target="rightframe"><b>compareAndSetForkJoinTaskTag</b>
+(<code>short, short</code>)</A></nobr><br>
+<i>comparing</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparing_added(java.util.function.Function<? super T, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Function&lt;? super T, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparing_added(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Function&lt;? super T, ? extends U&gt;, Comparator&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+<i>comparingByKey</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.Entry.html#java.util.Map.Entry.comparingByKey_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Map.Entry
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.Entry.html#java.util.Map.Entry.comparingByKey_added(java.util.Comparator<? super K>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super K&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map.Entry
+</A></nobr><br>
+<i>comparingByValue</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.Entry.html#java.util.Map.Entry.comparingByValue_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Map.Entry
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.Entry.html#java.util.Map.Entry.comparingByValue_added(java.util.Comparator<? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map.Entry
+</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparingDouble_added(java.util.function.ToDoubleFunction<? super T>)" class="hiddenlink" target="rightframe"><b>comparingDouble</b>
+(<code>ToDoubleFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparingInt_added(java.util.function.ToIntFunction<? super T>)" class="hiddenlink" target="rightframe"><b>comparingInt</b>
+(<code>ToIntFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.comparingLong_added(java.util.function.ToLongFunction<? super T>)" class="hiddenlink" target="rightframe"><b>comparingLong</b>
+(<code>ToLongFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<i>compute</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.compute_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<i>computeIfAbsent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, Function&lt;? super K, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, Function&lt;? super K, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, Function&lt;? super K, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.computeIfAbsent_added(K, java.util.function.Function<? super K, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, Function&lt;? super K, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<i>computeIfPresent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.computeIfPresent_added(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvContentRating.html#android.media.tv.TvContentRating.contains_added(android.media.tv.TvContentRating)" class="hiddenlink" target="rightframe"><b>contains</b>
+(<code>TvContentRating</code>)</A></nobr><br>
+<i>copyDocument</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.copyDocument_added(android.content.ContentResolver, android.net.Uri, android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, Uri, Uri</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsContract
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.copyDocument_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsProvider
+</A></nobr><br>
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.createAllocations_added(android.renderscript.RenderScript, android.renderscript.Type, int, int)" class="hiddenlink" target="rightframe"><b>createAllocations</b>
+(<code>RenderScript, Type, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.createAndInitializeUser_removed(android.content.ComponentName, java.lang.String, java.lang.String, android.content.ComponentName, android.os.Bundle)" class="hiddenlink" target="rightframe"><strike>createAndInitializeUser</strike>
+(<code>ComponentName, String, String, ComponentName, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.createAndManageUser_added(android.content.ComponentName, java.lang.String, android.content.ComponentName, android.os.PersistableBundle, int)" class="hiddenlink" target="rightframe"><b>createAndManageUser</b>
+(<code>ComponentName, String, ComponentName, PersistableBundle, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.createBigContentView_added()" class="hiddenlink" target="rightframe"><b>createBigContentView</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.camera2.CameraDevice.html#android.hardware.camera2.CameraDevice.createCaptureSessionByOutputConfigurations_added(java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler)" class="hiddenlink" target="rightframe"><b>createCaptureSessionByOutputConfigurations</b>
+(<code>List&lt;OutputConfiguration&gt;, StateCallback, Handler</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.createContentView_added()" class="hiddenlink" target="rightframe"><b>createContentView</b>
+()</A></nobr><br>
+<i>createDeviceProtectedStorageContext</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.createDeviceProtectedStorageContext_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.createDeviceProtectedStorageContext_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.createDeviceProtectedStorageContext_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.createForSubscriptionId_added(int)" class="hiddenlink" target="rightframe"><b>createForSubscriptionId</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.createHeadsUpContentView_added()" class="hiddenlink" target="rightframe"><b>createHeadsUpContentView</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telecom.TelecomManager.html#android.telecom.TelecomManager.createManageBlockedNumbersIntent_added()" class="hiddenlink" target="rightframe"><b>createManageBlockedNumbersIntent</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.camera2.CameraDevice.html#android.hardware.camera2.CameraDevice.createReprocessableCaptureSessionByConfigurations_added(android.hardware.camera2.params.InputConfiguration, java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession.StateCallback, android.os.Handler)" class="hiddenlink" target="rightframe"><b>createReprocessableCaptureSessionByConfigurations</b>
+(<code>InputConfiguration, List&lt;OutputConfiguration&gt;, StateCallback, Handler</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.createUser_removed(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe"><strike>createUser</strike>
+(<code>ComponentName, String</code>)</A></nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.createUserCreationIntent_added(java.lang.String, java.lang.String, java.lang.String, android.os.PersistableBundle)" class="hiddenlink" target="rightframe"><b>createUserCreationIntent</b>
+(<code>String, String, String, PersistableBundle</code>)</A></nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>decrementExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.decrementExact_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.decrementExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.defaulted_changed(java.lang.String)" class="hiddenlink" target="rightframe">defaulted
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.defaultReadObject_changed()" class="hiddenlink" target="rightframe">defaultReadObject
+()</A></nobr><br>
+<i>deleteSharedPreferences</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.deleteSharedPreferences_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.deleteSharedPreferences_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.deleteSharedPreferences_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<i>deleteSurroundingTextInCodePoints</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.BaseInputConnection.html#android.view.inputmethod.BaseInputConnection.deleteSurroundingTextInCodePoints_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.BaseInputConnection
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnection.html#android.view.inputmethod.InputConnection.deleteSurroundingTextInCodePoints_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnection
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnectionWrapper.html#android.view.inputmethod.InputConnectionWrapper.deleteSurroundingTextInCodePoints_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnectionWrapper
+</A></nobr><br>
+<i>describeContents</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattCharacteristic.html#android.bluetooth.BluetoothGattCharacteristic.describeContents_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattCharacteristic
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattDescriptor.html#android.bluetooth.BluetoothGattDescriptor.describeContents_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattDescriptor
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattService.html#android.bluetooth.BluetoothGattService.describeContents_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattService
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioFormat.html#android.media.AudioFormat.describeContents_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.media.AudioFormat
+</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.disableSelf_added()" class="hiddenlink" target="rightframe"><b>disableSelf</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.dismissKeyboardShortcutsHelper_added()" class="hiddenlink" target="rightframe"><b>dismissKeyboardShortcutsHelper</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchFinishTemporaryDetach_added()" class="hiddenlink" target="rightframe"><b>dispatchFinishTemporaryDetach</b>
+()</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.dispatchGesture_added(android.accessibilityservice.GestureDescription, android.accessibilityservice.AccessibilityService.GestureResultCallback, android.os.Handler)" class="hiddenlink" target="rightframe"><b>dispatchGesture</b>
+(<code>GestureDescription, GestureResultCallback, Handler</code>)</A></nobr><br>
+<nobr><A HREF="android.view.inputmethod.InputMethodManager.html#android.view.inputmethod.InputMethodManager.dispatchKeyEventFromInputMethod_added(android.view.View, android.view.KeyEvent)" class="hiddenlink" target="rightframe"><b>dispatchKeyEventFromInputMethod</b>
+(<code>View, KeyEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.dispatchMultiWindowModeChanged_added(boolean)" class="hiddenlink" target="rightframe"><b>dispatchMultiWindowModeChanged</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.dispatchPictureInPictureModeChanged_added(boolean)" class="hiddenlink" target="rightframe"><b>dispatchPictureInPictureModeChanged</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchStartTemporaryDetach_added()" class="hiddenlink" target="rightframe"><b>dispatchStartTemporaryDetach</b>
+()</A></nobr><br>
+<i>doubles</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.doubles_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.doubles_added(double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double, double</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.doubles_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.doubles_added(long, double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, double, double</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.io.ObjectOutputStream.html#java.io.ObjectOutputStream.enableReplaceObject_changed(boolean)" class="hiddenlink" target="rightframe">enableReplaceObject
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.enableResolveObject_changed(boolean)" class="hiddenlink" target="rightframe">enableResolveObject
+(<code>boolean</code>)</A></nobr><br>
+<i>engineGetRevocationChecker</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.cert.CertPathBuilderSpi.html#java.security.cert.CertPathBuilderSpi.engineGetRevocationChecker_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.security.cert.CertPathBuilderSpi
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.cert.CertPathValidatorSpi.html#java.security.cert.CertPathValidatorSpi.engineGetRevocationChecker_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.security.cert.CertPathValidatorSpi
+</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.enterPictureInPictureMode_added()" class="hiddenlink" target="rightframe"><b>enterPictureInPictureMode</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.SortedMap.html#java.util.SortedMap.entrySet_added()" class="hiddenlink" target="rightframe"><b>entrySet</b>
+()</A></nobr><br>
+<nobr><A HREF="java.security.acl.Permission.html#java.security.acl.Permission.equals_removed(java.lang.Object)" class="hiddenlink" target="rightframe"><strike>equals</strike>
+(<code>Object</code>)</A></nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>floorDiv</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.floorDiv_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.floorDiv_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.floorDiv_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.floorDiv_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<i>floorMod</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.floorMod_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.floorMod_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.floorMod_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.floorMod_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.forceHasOverlappingRendering_added(boolean)" class="hiddenlink" target="rightframe"><b>forceHasOverlappingRendering</b>
+(<code>boolean</code>)</A></nobr><br>
+<i>forEach</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Iterable.html#java.lang.Iterable.forEach_added(java.util.function.Consumer<? super T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super T&gt;</code>)</b>&nbsp;in&nbsp;java.lang.Iterable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.Provider.html#java.security.Provider.forEach_added(java.util.function.BiConsumer<? super java.lang.Object, ? super java.lang.Object>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;Object, Object&gt;</code>)</b>&nbsp;in&nbsp;java.security.Provider
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.forEach_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.HashMap.html#java.util.HashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.HashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.IdentityHashMap.html#java.util.IdentityHashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.IdentityHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeMap.html#java.util.TreeMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.TreeMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.forEach_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.WeakHashMap.html#java.util.WeakHashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.WeakHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEach_added(long, java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEach_added(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.Consumer<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;? super K, ? super V, ? extends U&gt;, Consumer&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.forEach_added(java.util.function.BiConsumer<? super K, ? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiConsumer&lt;? super K, ? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.CopyOnWriteArrayList.html#java.util.concurrent.CopyOnWriteArrayList.forEach_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.CopyOnWriteArrayList
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.CopyOnWriteArraySet.html#java.util.concurrent.CopyOnWriteArraySet.forEach_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Consumer&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.CopyOnWriteArraySet
+</A></nobr><br>
+<i>forEachEntry</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachEntry_added(long, java.util.function.Consumer<? super java.util.Map.Entry<K, V>>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Consumer&lt;Entry&lt;K, V&gt;&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachEntry_added(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.Consumer<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;Entry&lt;K, V&gt;, ? extends U&gt;, Consumer&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<i>forEachKey</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachKey_added(long, java.util.function.Consumer<? super K>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Consumer&lt;? super K&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachKey_added(long, java.util.function.Function<? super K, ? extends U>, java.util.function.Consumer<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;? super K, ? extends U&gt;, Consumer&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<nobr><A HREF="java.util.Iterator.html#java.util.Iterator.forEachRemaining_added(java.util.function.Consumer<? super E>)" class="hiddenlink" target="rightframe"><b>forEachRemaining</b>
+(<code>Consumer&lt;? super E&gt;</code>)</A></nobr><br>
+<i>forEachValue</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachValue_added(long, java.util.function.Consumer<? super V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Consumer&lt;? super V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.forEachValue_added(long, java.util.function.Function<? super V, ? extends U>, java.util.function.Consumer<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;? super V, ? extends U&gt;, Consumer&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<nobr><A HREF="java.util.Formattable.html#java.util.Formattable.formatTo_changed(java.util.Formatter, int, int, int)" class="hiddenlink" target="rightframe">formatTo
+(<code>Formatter, int, int, int</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Character.UnicodeBlock.html#java.lang.Character.UnicodeBlock.forName_changed(java.lang.String)" class="hiddenlink" target="rightframe">forName
+(<code>String</code>)</A></nobr><br>
+<i>fromHtml</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.fromHtml_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.fromHtml_added(java.lang.String, int, android.text.Html.ImageGetter, android.text.Html.TagHandler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int, ImageGetter, TagHandler</code>)</b>&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.fromHtml_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.fromHtml_changed(java.lang.String, android.text.Html.ImageGetter, android.text.Html.TagHandler)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, ImageGetter, TagHandler</code>)&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>get</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, boolean</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, byte)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, byte</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, char)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, char</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, double)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, double</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, float)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, float</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, int</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Object</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, long)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, long</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, short)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, short</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.getActiveRecordingConfigurations_added()" class="hiddenlink" target="rightframe"><b>getActiveRecordingConfigurations</b>
+()</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getAlgorithmConstraints_added()" class="hiddenlink" target="rightframe"><b>getAlgorithmConstraints</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telecom.ConnectionService.html#android.telecom.ConnectionService.getAllConferences_added()" class="hiddenlink" target="rightframe"><b>getAllConferences</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.html#android.app.Notification.Action.getAllowGeneratedReplies_added()" class="hiddenlink" target="rightframe"><b>getAllowGeneratedReplies</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getAlwaysOnVpnPackage_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getAlwaysOnVpnPackage</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityWindowInfo.html#android.view.accessibility.AccessibilityWindowInfo.getAnchor_added()" class="hiddenlink" target="rightframe"><b>getAnchor</b>
+()</A></nobr><br>
+<i>getAndAccumulate</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicInteger.html#java.util.concurrent.atomic.AtomicInteger.getAndAccumulate_added(int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicInteger
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html#java.util.concurrent.atomic.AtomicIntegerArray.getAndAccumulate_added(int, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html#java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndAccumulate_added(T, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerFieldUpdater
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLong.html#java.util.concurrent.atomic.AtomicLong.getAndAccumulate_added(long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLong
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongArray.html#java.util.concurrent.atomic.AtomicLongArray.getAndAccumulate_added(int, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html#java.util.concurrent.atomic.AtomicLongFieldUpdater.getAndAccumulate_added(T, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, long, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongFieldUpdater
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReference.html#java.util.concurrent.atomic.AtomicReference.getAndAccumulate_added(V, java.util.function.BinaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>V, BinaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReference
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html#java.util.concurrent.atomic.AtomicReferenceArray.getAndAccumulate_added(int, E, java.util.function.BinaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, E, BinaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html#java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndAccumulate_added(T, V, java.util.function.BinaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, V, BinaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceFieldUpdater
+</A></nobr><br>
+<i>getAndUpdate</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicInteger.html#java.util.concurrent.atomic.AtomicInteger.getAndUpdate_added(java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicInteger
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html#java.util.concurrent.atomic.AtomicIntegerArray.getAndUpdate_added(int, java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html#java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndUpdate_added(T, java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerFieldUpdater
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLong.html#java.util.concurrent.atomic.AtomicLong.getAndUpdate_added(java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLong
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongArray.html#java.util.concurrent.atomic.AtomicLongArray.getAndUpdate_added(int, java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html#java.util.concurrent.atomic.AtomicLongFieldUpdater.getAndUpdate_added(T, java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongFieldUpdater
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReference.html#java.util.concurrent.atomic.AtomicReference.getAndUpdate_added(java.util.function.UnaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReference
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html#java.util.concurrent.atomic.AtomicReferenceArray.getAndUpdate_added(int, java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html#java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndUpdate_added(T, java.util.function.UnaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, UnaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceFieldUpdater
+</A></nobr><br>
+<i>getAnnotationsByType</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Package.html#java.lang.Package.getAnnotationsByType_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.Package
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AnnotatedElement.html#java.lang.reflect.AnnotatedElement.getAnnotationsByType_added(java.lang.Class<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.AnnotatedElement
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getApplicationRestrictionsManagingPackage_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getApplicationRestrictionsManagingPackage</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.CellIdentityGsm.html#android.telephony.CellIdentityGsm.getArfcn_added()" class="hiddenlink" target="rightframe"><b>getArfcn</b>
+()</A></nobr><br>
+<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.html#android.security.keystore.KeyGenParameterSpec.getAttestationChallenge_added()" class="hiddenlink" target="rightframe"><b>getAttestationChallenge</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.getAutomaticZenRule_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getAutomaticZenRule</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.getAutomaticZenRules_added()" class="hiddenlink" target="rightframe"><b>getAutomaticZenRules</b>
+()</A></nobr><br>
+<nobr><A HREF="android.service.media.MediaBrowserService.html#android.service.media.MediaBrowserService.getBrowserRootHints_added()" class="hiddenlink" target="rightframe"><b>getBrowserRootHints</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.CellIdentityGsm.html#android.telephony.CellIdentityGsm.getBsic_added()" class="hiddenlink" target="rightframe"><b>getBsic</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.getBufferCapacityInFrames_added()" class="hiddenlink" target="rightframe"><b>getBufferCapacityInFrames</b>
+()</A></nobr><br>
+<i>getBuiltInDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getBuiltInDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getBuiltInDrawable_added(int, int, boolean, float, float, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, boolean, float, float, int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<i>getBundle</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.Locale, java.lang.ClassLoader)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Locale, ClassLoader</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.Locale)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Locale</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.Locale, java.util.ResourceBundle.Control)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Locale, Control</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.ResourceBundle.Control)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Control</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.getByteBuffer_added()" class="hiddenlink" target="rightframe"><b>getByteBuffer</b>
+()</A></nobr><br>
+<nobr><A HREF="android.net.wifi.WifiEnterpriseConfig.html#android.net.wifi.WifiEnterpriseConfig.getCaCertificates_added()" class="hiddenlink" target="rightframe"><b>getCaCertificates</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.getCalendarView_changed()" class="hiddenlink" target="rightframe">getCalendarView
+()</A></nobr><br>
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.getCalendarViewShown_changed()" class="hiddenlink" target="rightframe">getCalendarViewShown
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getColor_added()" class="hiddenlink" target="rightframe"><b>getColor</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getColors_added()" class="hiddenlink" target="rightframe"><b>getColors</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ForkJoinPool.html#java.util.concurrent.ForkJoinPool.getCommonPoolParallelism_added()" class="hiddenlink" target="rightframe"><b>getCommonPoolParallelism</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getCompressedSizeLong_added()" class="hiddenlink" target="rightframe"><b>getCompressedSizeLong</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telecom.RemoteConference.html#android.telecom.RemoteConference.getConnectionProperties_added()" class="hiddenlink" target="rightframe"><b>getConnectionProperties</b>
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getConstructor_changed(java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getConstructor
+(<code>Class&lt;?&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getConstructors_changed()" class="hiddenlink" target="rightframe">getConstructors
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getContentInsetEndWithActions_added()" class="hiddenlink" target="rightframe"><b>getContentInsetEndWithActions</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getContentInsetStartWithNavigation_added()" class="hiddenlink" target="rightframe"><b>getContentInsetStartWithNavigation</b>
+()</A></nobr><br>
+<nobr><A HREF="java.net.URLConnection.html#java.net.URLConnection.getContentLengthLong_added()" class="hiddenlink" target="rightframe"><b>getContentLengthLong</b>
+()</A></nobr><br>
+<i>getContextualShaper</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.getContextualShaper_added(java.util.Set<java.awt.font.NumericShaper.Range>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Set&lt;Range&gt;</code>)</b>&nbsp;in&nbsp;java.awt.font.NumericShaper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.getContextualShaper_added(java.util.Set<java.awt.font.NumericShaper.Range>, java.awt.font.NumericShaper.Range)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Set&lt;Range&gt;, Range</code>)</b>&nbsp;in&nbsp;java.awt.font.NumericShaper
+</A></nobr><br>
+<nobr><A HREF="java.util.ResourceBundle.Control.html#java.util.ResourceBundle.Control.getControl_changed(java.util.List<java.lang.String>)" class="hiddenlink" target="rightframe">getControl
+(<code>List&lt;String&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getCornerRadii_added()" class="hiddenlink" target="rightframe"><b>getCornerRadii</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getCornerRadius_added()" class="hiddenlink" target="rightframe"><b>getCornerRadius</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getCrossProfileContactsSearchDisabled_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getCrossProfileContactsSearchDisabled</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getCurrentContentInsetEnd_added()" class="hiddenlink" target="rightframe"><b>getCurrentContentInsetEnd</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getCurrentContentInsetLeft_added()" class="hiddenlink" target="rightframe"><b>getCurrentContentInsetLeft</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getCurrentContentInsetRight_added()" class="hiddenlink" target="rightframe"><b>getCurrentContentInsetRight</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getCurrentContentInsetStart_added()" class="hiddenlink" target="rightframe"><b>getCurrentContentInsetStart</b>
+()</A></nobr><br>
+<i>getDataDir</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.getDataDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.getDataDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.getDataDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getDataNetworkType_added()" class="hiddenlink" target="rightframe"><b>getDataNetworkType</b>
+()</A></nobr><br>
+<i>getDeclaredAnnotation</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Package.html#java.lang.Package.getDeclaredAnnotation_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.Package
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AnnotatedElement.html#java.lang.reflect.AnnotatedElement.getDeclaredAnnotation_added(java.lang.Class<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.AnnotatedElement
+</A></nobr><br>
+<i>getDeclaredAnnotationsByType</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Package.html#java.lang.Package.getDeclaredAnnotationsByType_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.Package
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AnnotatedElement.html#java.lang.reflect.AnnotatedElement.getDeclaredAnnotationsByType_added(java.lang.Class<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.AnnotatedElement
+</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredConstructor_changed(java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getDeclaredConstructor
+(<code>Class&lt;?&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredConstructors_changed()" class="hiddenlink" target="rightframe">getDeclaredConstructors
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredMethod_changed(java.lang.String, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getDeclaredMethod
+(<code>String, Class&lt;?&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredMethods_changed()" class="hiddenlink" target="rightframe">getDeclaredMethods
+()</A></nobr><br>
+<nobr><A HREF="java.util.Locale.html#java.util.Locale.getDefault_added(java.util.Locale.Category)" class="hiddenlink" target="rightframe"><b>getDefault</b>
+(<code>Category</code>)</A></nobr><br>
+<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.getDefaultBrowserPackageName_removed(int)" class="hiddenlink" target="rightframe"><strike>getDefaultBrowserPackageName</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.getDefaultDataSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultDataSubscriptionId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.getDefaultSharedPreferencesName_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>getDefaultSharedPreferencesName</b>
+(<code>Context</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.getDefaultSmsSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultSmsSubscriptionId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.getDefaultSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultSubscriptionId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.SubscriptionManager.html#android.telephony.SubscriptionManager.getDefaultVoiceSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultVoiceSubscriptionId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getDeviceOwnerLockScreenInfo_added()" class="hiddenlink" target="rightframe"><b>getDeviceOwnerLockScreenInfo</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.MediaRouter.RouteInfo.html#android.media.MediaRouter.RouteInfo.getDeviceType_added()" class="hiddenlink" target="rightframe"><b>getDeviceType</b>
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDisabledActionModeMenuItems_added()" class="hiddenlink" target="rightframe"><b>getDisabledActionModeMenuItems</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getDismissalId_added()" class="hiddenlink" target="rightframe"><b>getDismissalId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.getDocumentStreamTypes_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>getDocumentStreamTypes</b>
+(<code>String, String</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.getDrawingOrder_added()" class="hiddenlink" target="rightframe"><b>getDrawingOrder</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.MediaExtractor.html#android.media.MediaExtractor.getDrmInitData_added()" class="hiddenlink" target="rightframe"><b>getDrmInitData</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.getDynamicSensorList_added(int)" class="hiddenlink" target="rightframe"><b>getDynamicSensorList</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.CellIdentityLte.html#android.telephony.CellIdentityLte.getEarfcn_added()" class="hiddenlink" target="rightframe"><b>getEarfcn</b>
+()</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getEndpointIdentificationAlgorithm_added()" class="hiddenlink" target="rightframe"><b>getEndpointIdentificationAlgorithm</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.getEnterTransition_added()" class="hiddenlink" target="rightframe"><b>getEnterTransition</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDeviceInfo.html#android.mtp.MtpDeviceInfo.getEventsSupported_added()" class="hiddenlink" target="rightframe"><b>getEventsSupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Process.html#android.os.Process.getExclusiveCores_added()" class="hiddenlink" target="rightframe"><b>getExclusiveCores</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.getExitTransition_added()" class="hiddenlink" target="rightframe"><b>getExitTransition</b>
+()</A></nobr><br>
+<i>getExtras</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ClipDescription.html#android.content.ClipDescription.getExtras_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ClipDescription
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.getExtras_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.media.tv.TvInputInfo
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.telecom.PhoneAccount.html#android.telecom.PhoneAccount.getExtras_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.telecom.PhoneAccount
+</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getFields_changed()" class="hiddenlink" target="rightframe">getFields
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getFlexMillis_added()" class="hiddenlink" target="rightframe"><b>getFlexMillis</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ForkJoinTask.html#java.util.concurrent.ForkJoinTask.getForkJoinTaskTag_added()" class="hiddenlink" target="rightframe"><b>getForkJoinTaskTag</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.getGlobal_changed()" class="hiddenlink" target="rightframe">getGlobal
+()</A></nobr><br>
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.getGpsStatus_changed(android.location.GpsStatus)" class="hiddenlink" target="rightframe">getGpsStatus
+(<code>GpsStatus</code>)</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getGradientCenterX_added()" class="hiddenlink" target="rightframe"><b>getGradientCenterX</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getGradientCenterY_added()" class="hiddenlink" target="rightframe"><b>getGradientCenterY</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getGradientType_added()" class="hiddenlink" target="rightframe"><b>getGradientType</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.LinearLayout.html#android.widget.LinearLayout.getGravity_added()" class="hiddenlink" target="rightframe"><b>getGravity</b>
+()</A></nobr><br>
+<i>getHandler</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.BaseInputConnection.html#android.view.inputmethod.BaseInputConnection.getHandler_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.BaseInputConnection
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnection.html#android.view.inputmethod.InputConnection.getHandler_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnection
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputConnectionWrapper.html#android.view.inputmethod.InputConnectionWrapper.getHandler_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputConnectionWrapper
+</A></nobr><br>
+<i>getHandshakeSession</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.net.ssl.SSLEngine.html#javax.net.ssl.SSLEngine.getHandshakeSession_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.net.ssl.SSLEngine
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.net.ssl.SSLSocket.html#javax.net.ssl.SSLSocket.getHandshakeSession_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.net.ssl.SSLSocket
+</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.getHasOverlappingRendering_added()" class="hiddenlink" target="rightframe"><b>getHasOverlappingRendering</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.Display.html#android.view.Display.getHdrCapabilities_added()" class="hiddenlink" target="rightframe"><b>getHdrCapabilities</b>
+()</A></nobr><br>
+<nobr><A HREF="java.net.URLConnection.html#java.net.URLConnection.getHeaderFieldLong_added(java.lang.String, long)" class="hiddenlink" target="rightframe"><b>getHeaderFieldLong</b>
+(<code>String, long</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getHintAmbientBigPicture_added()" class="hiddenlink" target="rightframe"><b>getHintAmbientBigPicture</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getHintContentIntentLaunchesActivity_added()" class="hiddenlink" target="rightframe"><b>getHintContentIntentLaunchesActivity</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.getHintLaunchesActivity_added()" class="hiddenlink" target="rightframe"><b>getHintLaunchesActivity</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getIccAuthentication_added(int, int, java.lang.String)" class="hiddenlink" target="rightframe"><b>getIccAuthentication</b>
+(<code>int, int, String</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.getId_added()" class="hiddenlink" target="rightframe"><b>getId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getImagePixDepthLong_added()" class="hiddenlink" target="rightframe"><b>getImagePixDepthLong</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getImagePixHeightLong_added()" class="hiddenlink" target="rightframe"><b>getImagePixHeightLong</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getImagePixWidthLong_added()" class="hiddenlink" target="rightframe"><b>getImagePixWidthLong</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getImeHintLocales_added()" class="hiddenlink" target="rightframe"><b>getImeHintLocales</b>
+()</A></nobr><br>
+<i>getImportance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.getImportance_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.app.NotificationManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.getImportance_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.service.notification.NotificationListenerService.Ranking
+</A></nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.getImportanceExplanation_added()" class="hiddenlink" target="rightframe"><b>getImportanceExplanation</b>
+()</A></nobr><br>
+<i>getInstance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.text.DecimalFormatSymbols.html#java.text.DecimalFormatSymbols.getInstance_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.text.DecimalFormatSymbols
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.text.DecimalFormatSymbols.html#java.text.DecimalFormatSymbols.getInstance_changed(java.util.Locale)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Locale</code>)&nbsp;in&nbsp;java.text.DecimalFormatSymbols
+</A></nobr><br>
+<nobr><A HREF="java.util.Locale.html#java.util.Locale.getISO3Country_changed()" class="hiddenlink" target="rightframe">getISO3Country
+()</A></nobr><br>
+<nobr><A HREF="java.util.Locale.html#java.util.Locale.getISO3Language_changed()" class="hiddenlink" target="rightframe">getISO3Language
+()</A></nobr><br>
+<i>getLanguageTag</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.getLanguageTag_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputMethodSubtype
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.textservice.SpellCheckerSubtype.html#android.view.textservice.SpellCheckerSubtype.getLanguageTag_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.textservice.SpellCheckerSubtype
+</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.getLastNonConfigurationInstance_changed()" class="hiddenlink" target="rightframe">getLastNonConfigurationInstance
+()</A></nobr><br>
+<nobr><A HREF="android.app.ActivityOptions.html#android.app.ActivityOptions.getLaunchBounds_added()" class="hiddenlink" target="rightframe"><b>getLaunchBounds</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.getLeftStripDrawable_added()" class="hiddenlink" target="rightframe"><b>getLeftStripDrawable</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.EventListenerProxy.html#java.util.EventListenerProxy.getListener_changed()" class="hiddenlink" target="rightframe">getListener
+()</A></nobr><br>
+<i>getLocale</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.SuggestionSpan.html#android.text.style.SuggestionSpan.getLocale_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.text.style.SuggestionSpan
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.getLocale_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.view.inputmethod.InputMethodSubtype
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.textservice.SpellCheckerSubtype.html#android.view.textservice.SpellCheckerSubtype.getLocale_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.view.textservice.SpellCheckerSubtype
+</A></nobr><br>
+<nobr><A HREF="android.text.style.SuggestionSpan.html#android.text.style.SuggestionSpan.getLocaleObject_added()" class="hiddenlink" target="rightframe"><b>getLocaleObject</b>
+()</A></nobr><br>
+<i>getLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.getLocales_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.res.Configuration
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.getLocales_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.text.style.LocaleSpan
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getLongSupportMessage_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getLongSupportMessage</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.getMagnificationController_added()" class="hiddenlink" target="rightframe"><b>getMagnificationController</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.getMaxAvailableHeight_added(android.view.View, int, boolean)" class="hiddenlink" target="rightframe"><b>getMaxAvailableHeight</b>
+(<code>View, int, boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getMethod_changed(java.lang.String, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getMethod
+(<code>String, Class&lt;?&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getMethods_changed()" class="hiddenlink" target="rightframe">getMethods
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinFlexMillis_added()" class="hiddenlink" target="rightframe"><b>getMinFlexMillis</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinPeriodMillis_added()" class="hiddenlink" target="rightframe"><b>getMinPeriodMillis</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.ResourceBundle.Control.html#java.util.ResourceBundle.Control.getNoFallbackControl_changed(java.util.List<java.lang.String>)" class="hiddenlink" target="rightframe">getNoFallbackControl
+(<code>List&lt;String&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Currency.html#java.util.Currency.getNumericCode_added()" class="hiddenlink" target="rightframe"><b>getNumericCode</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDeviceInfo.html#android.mtp.MtpDeviceInfo.getOperationsSupported_added()" class="hiddenlink" target="rightframe"><b>getOperationsSupported</b>
+()</A></nobr><br>
+<i>getOrDefault</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.getOrDefault_added(java.lang.Object, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, V</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.getOrDefault_added(java.lang.Object, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, V</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.getOrDefault_added(java.lang.Object, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, V</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.getOrDefault_added(java.lang.Object, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, V</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getOrganizationColor_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getOrganizationColor</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getOrganizationName_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getOrganizationName</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<i>getOverrideGroupKey</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.getOverrideGroupKey_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.service.notification.NotificationListenerService.Ranking
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.service.notification.StatusBarNotification.html#android.service.notification.StatusBarNotification.getOverrideGroupKey_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.service.notification.StatusBarNotification
+</A></nobr><br>
+<i>getPackageGids</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.getPackageGids_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.getPackageGids_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<i>getPackageUid</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.getPackageUid_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.getPackageUid_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<nobr><A HREF="javax.sql.CommonDataSource.html#javax.sql.CommonDataSource.getParentLogger_added()" class="hiddenlink" target="rightframe"><b>getParentLogger</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getParentProfileInstance_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getParentProfileInstance</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.getPartialObject_added(int, long, long, byte[])" class="hiddenlink" target="rightframe"><b>getPartialObject</b>
+(<code>int, long, long, byte[]</code>)</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.getPartialObject64_added(int, long, long, byte[])" class="hiddenlink" target="rightframe"><b>getPartialObject64</b>
+(<code>int, long, long, byte[]</code>)</A></nobr><br>
+<nobr><A HREF="android.app.job.JobScheduler.html#android.app.job.JobScheduler.getPendingJob_added(int)" class="hiddenlink" target="rightframe"><b>getPendingJob</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.preference.Preference.html#android.preference.Preference.getPersistedStringSet_added(java.util.Set<java.lang.String>)" class="hiddenlink" target="rightframe"><b>getPersistedStringSet</b>
+(<code>Set&lt;String&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.getPointerIcon_added()" class="hiddenlink" target="rightframe"><b>getPointerIcon</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.storage.StorageManager.html#android.os.storage.StorageManager.getPrimaryStorageVolume_added()" class="hiddenlink" target="rightframe"><b>getPrimaryStorageVolume</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.Outline.html#android.graphics.Outline.getRadius_added()" class="hiddenlink" target="rightframe"><b>getRadius</b>
+()</A></nobr><br>
+<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.getRangeSet_added()" class="hiddenlink" target="rightframe"><b>getRangeSet</b>
+()</A></nobr><br>
+<nobr><A HREF="java.security.cert.CertPathValidatorException.html#java.security.cert.CertPathValidatorException.getReason_added()" class="hiddenlink" target="rightframe"><b>getReason</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.Outline.html#android.graphics.Outline.getRect_added(android.graphics.Rect)" class="hiddenlink" target="rightframe"><b>getRect</b>
+(<code>Rect</code>)</A></nobr><br>
+<i>getRemoteAddress</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.DatagramChannel.html#java.nio.channels.DatagramChannel.getRemoteAddress_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.nio.channels.DatagramChannel
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.getRemoteAddress_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.nio.channels.SocketChannel
+</A></nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.getRestrictBackgroundStatus_added()" class="hiddenlink" target="rightframe"><b>getRestrictBackgroundStatus</b>
+()</A></nobr><br>
+<nobr><A HREF="android.text.TextUtils.html#android.text.TextUtils.getReverse_changed(java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">getReverse
+(<code>CharSequence, int, int</code>)</A></nobr><br>
+<i>getRevocationChecker</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.cert.CertPathBuilder.html#java.security.cert.CertPathBuilder.getRevocationChecker_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.security.cert.CertPathBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.cert.CertPathValidator.html#java.security.cert.CertPathValidator.getRevocationChecker_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.security.cert.CertPathValidator
+</A></nobr><br>
+<nobr><A HREF="java.security.cert.X509CRLEntry.html#java.security.cert.X509CRLEntry.getRevocationReason_added()" class="hiddenlink" target="rightframe"><b>getRevocationReason</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.getRightStripDrawable_added()" class="hiddenlink" target="rightframe"><b>getRightStripDrawable</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.getRoaming_added()" class="hiddenlink" target="rightframe"><b>getRoaming</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getSequenceNumberLong_added()" class="hiddenlink" target="rightframe"><b>getSequenceNumberLong</b>
+()</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getServerNames_added()" class="hiddenlink" target="rightframe"><b>getServerNames</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getShape_added()" class="hiddenlink" target="rightframe"><b>getShape</b>
+()</A></nobr><br>
+<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.getShaper_added(java.awt.font.NumericShaper.Range)" class="hiddenlink" target="rightframe"><b>getShaper</b>
+(<code>Range</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getShortSupportMessage_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getShortSupportMessage</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.CalendarView.html#android.widget.CalendarView.getShowWeekNumber_changed()" class="hiddenlink" target="rightframe">getShowWeekNumber
+()</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getSNIMatchers_added()" class="hiddenlink" target="rightframe"><b>getSNIMatchers</b>
+()</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.getSoftKeyboardController_added()" class="hiddenlink" target="rightframe"><b>getSoftKeyboardController</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.getSpinnersShown_changed()" class="hiddenlink" target="rightframe">getSpinnersShown
+()</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLServerSocket.html#javax.net.ssl.SSLServerSocket.getSSLParameters_added()" class="hiddenlink" target="rightframe"><b>getSSLParameters</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Process.html#android.os.Process.getStartElapsedRealtime_added()" class="hiddenlink" target="rightframe"><b>getStartElapsedRealtime</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Process.html#android.os.Process.getStartUptimeMillis_added()" class="hiddenlink" target="rightframe"><b>getStartUptimeMillis</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.storage.StorageManager.html#android.os.storage.StorageManager.getStorageVolume_added(java.io.File)" class="hiddenlink" target="rightframe"><b>getStorageVolume</b>
+(<code>File</code>)</A></nobr><br>
+<nobr><A HREF="android.os.storage.StorageManager.html#android.os.storage.StorageManager.getStorageVolumes_added()" class="hiddenlink" target="rightframe"><b>getStorageVolumes</b>
+()</A></nobr><br>
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.getStride_added()" class="hiddenlink" target="rightframe"><b>getStride</b>
+()</A></nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.getSuppressedVisualEffects_added()" class="hiddenlink" target="rightframe"><b>getSuppressedVisualEffects</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.getTag_added()" class="hiddenlink" target="rightframe"><b>getTag</b>
+()</A></nobr><br>
+<i>getTextLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.getTextLocales_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.Paint
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getTextLocales_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getThumbCompressedSizeLong_added()" class="hiddenlink" target="rightframe"><b>getThumbCompressedSizeLong</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.getThumbnailRange_added()" class="hiddenlink" target="rightframe"><b>getThumbnailRange</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getThumbPixHeightLong_added()" class="hiddenlink" target="rightframe"><b>getThumbPixHeightLong</b>
+()</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpObjectInfo.html#android.mtp.MtpObjectInfo.getThumbPixWidthLong_added()" class="hiddenlink" target="rightframe"><b>getThumbPixWidthLong</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.getTickMark_added()" class="hiddenlink" target="rightframe"><b>getTickMark</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.getTickMarkTintList_added()" class="hiddenlink" target="rightframe"><b>getTickMarkTintList</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.getTickMarkTintMode_added()" class="hiddenlink" target="rightframe"><b>getTickMarkTintMode</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.getTimestamp_added(android.media.AudioTimestamp, int)" class="hiddenlink" target="rightframe"><b>getTimestamp</b>
+(<code>AudioTimestamp, int</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.getTimeStamp_added()" class="hiddenlink" target="rightframe"><b>getTimeStamp</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityWindowInfo.html#android.view.accessibility.AccessibilityWindowInfo.getTitle_added()" class="hiddenlink" target="rightframe"><b>getTitle</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getTitleMarginBottom_added()" class="hiddenlink" target="rightframe"><b>getTitleMarginBottom</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getTitleMarginEnd_added()" class="hiddenlink" target="rightframe"><b>getTitleMarginEnd</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getTitleMarginStart_added()" class="hiddenlink" target="rightframe"><b>getTitleMarginStart</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.getTitleMarginTop_added()" class="hiddenlink" target="rightframe"><b>getTitleMarginTop</b>
+()</A></nobr><br>
+<nobr><A HREF="android.animation.Animator.html#android.animation.Animator.getTotalDuration_added()" class="hiddenlink" target="rightframe"><b>getTotalDuration</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getTriggerContentMaxDelay_added()" class="hiddenlink" target="rightframe"><b>getTriggerContentMaxDelay</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getTriggerContentUpdateDelay_added()" class="hiddenlink" target="rightframe"><b>getTriggerContentUpdateDelay</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getTriggerContentUris_added()" class="hiddenlink" target="rightframe"><b>getTriggerContentUris</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobParameters.html#android.app.job.JobParameters.getTriggeredContentAuthorities_added()" class="hiddenlink" target="rightframe"><b>getTriggeredContentAuthorities</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobParameters.html#android.app.job.JobParameters.getTriggeredContentUris_added()" class="hiddenlink" target="rightframe"><b>getTriggeredContentUris</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.getTunerCount_added()" class="hiddenlink" target="rightframe"><b>getTunerCount</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.CellIdentityWcdma.html#android.telephony.CellIdentityWcdma.getUarfcn_added()" class="hiddenlink" target="rightframe"><b>getUarfcn</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Instrumentation.html#android.app.Instrumentation.getUiAutomation_added(int)" class="hiddenlink" target="rightframe"><b>getUiAutomation</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.getUnderrunCount_added()" class="hiddenlink" target="rightframe"><b>getUnderrunCount</b>
+()</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.getUseCipherSuitesOrder_added()" class="hiddenlink" target="rightframe"><b>getUseCipherSuitesOrder</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.GradientDrawable.html#android.graphics.drawable.GradientDrawable.getUseLevel_added()" class="hiddenlink" target="rightframe"><b>getUseLevel</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.UserHandle.html#android.os.UserHandle.getUserHandleForUid_added(int)" class="hiddenlink" target="rightframe"><b>getUserHandleForUid</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getUserRestrictions_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getUserRestrictions</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvTrackInfo.html#android.media.tv.TvTrackInfo.getVideoActiveFormatDescription_added()" class="hiddenlink" target="rightframe"><b>getVideoActiveFormatDescription</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoicemailRingtoneUri_added(android.telecom.PhoneAccountHandle)" class="hiddenlink" target="rightframe"><b>getVoicemailRingtoneUri</b>
+(<code>PhoneAccountHandle</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoiceNetworkType_added()" class="hiddenlink" target="rightframe"><b>getVoiceNetworkType</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getWallpaperFile_added(int)" class="hiddenlink" target="rightframe"><b>getWallpaperFile</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getWallpaperId_added(int)" class="hiddenlink" target="rightframe"><b>getWallpaperId</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Calendar.html#java.util.Calendar.getWeeksInWeekYear_added()" class="hiddenlink" target="rightframe"><b>getWeeksInWeekYear</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.Calendar.html#java.util.Calendar.getWeekYear_added()" class="hiddenlink" target="rightframe"><b>getWeekYear</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getWifiMacAddress_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getWifiMacAddress</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<i>glGetTransformFeedbackVarying</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.opengl.GLES30.html#android.opengl.GLES30.glGetTransformFeedbackVarying_added(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.ByteBuffer)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, int, IntBuffer, IntBuffer, IntBuffer, ByteBuffer</code>)</b>&nbsp;in&nbsp;android.opengl.GLES30
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.opengl.GLES30.html#android.opengl.GLES30.glGetTransformFeedbackVarying_changed(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, byte)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int, int, IntBuffer, IntBuffer, IntBuffer, byte</code>)&nbsp;in&nbsp;android.opengl.GLES30
+</A></nobr><br>
+<nobr><A HREF="android.opengl.GLES30.html#android.opengl.GLES30.glReadPixels_added(int, int, int, int, int, int, int)" class="hiddenlink" target="rightframe"><b>glReadPixels</b>
+(<code>int, int, int, int, int, int, int</code>)</A></nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>hashCode</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Boolean.html#java.lang.Boolean.hashCode_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;java.lang.Boolean
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Byte.html#java.lang.Byte.hashCode_added(byte)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>byte</code>)</b>&nbsp;in&nbsp;java.lang.Byte
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Character.html#java.lang.Character.hashCode_added(char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char</code>)</b>&nbsp;in&nbsp;java.lang.Character
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.hashCode_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.hashCode_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Integer.html#java.lang.Integer.hashCode_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.Integer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Long.html#java.lang.Long.hashCode_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Long
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Short.html#java.lang.Short.hashCode_added(short)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>short</code>)</b>&nbsp;in&nbsp;java.lang.Short
+</A></nobr><br>
+<i>hasSystemFeature</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.hasSystemFeature_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.hasSystemFeature_added(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.ignore_added(android.nfc.Tag, int, android.nfc.NfcAdapter.OnTagRemovedListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>ignore</b>
+(<code>Tag, int, OnTagRemovedListener, Handler</code>)</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.importFile_added(int, android.os.ParcelFileDescriptor)" class="hiddenlink" target="rightframe"><b>importFile</b>
+(<code>int, ParcelFileDescriptor</code>)</A></nobr><br>
+<i>incrementExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.incrementExact_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.incrementExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.installKeyPair_added(android.content.ComponentName, java.security.PrivateKey, java.security.cert.Certificate[], java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>installKeyPair</b>
+(<code>ComponentName, PrivateKey, Certificate[], String, boolean</code>)</A></nobr><br>
+<i>ints</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.ints_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.ints_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.ints_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.ints_added(long, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, int, int</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.isAdditionalInfoSupported_added()" class="hiddenlink" target="rightframe"><b>isAdditionalInfoSupported</b>
+()</A></nobr><br>
+<i>isAnnotationPresent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Class.html#java.lang.Class.isAnnotationPresent_removed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Class&lt;Annotation&gt;</code>)</strike>&nbsp;in&nbsp;java.lang.Class
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Package.html#java.lang.Package.isAnnotationPresent_removed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Class&lt;Annotation&gt;</code>)</strike>&nbsp;in&nbsp;java.lang.Package
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.isAnnotationPresent_removed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Class&lt;Annotation&gt;</code>)</strike>&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AnnotatedElement.html#java.lang.reflect.AnnotatedElement.isAnnotationPresent_changed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Class&lt;Annotation&gt;</code>)&nbsp;in&nbsp;java.lang.reflect.AnnotatedElement
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Constructor.html#java.lang.reflect.Constructor.isAnnotationPresent_changed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Class&lt;Annotation&gt;</code>)&nbsp;in&nbsp;java.lang.reflect.Constructor
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Field.html#java.lang.reflect.Field.isAnnotationPresent_changed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Class&lt;Annotation&gt;</code>)&nbsp;in&nbsp;java.lang.reflect.Field
+</A></nobr><br>
+<nobr><A HREF="android.os.Process.html#android.os.Process.isApplicationUid_added(int)" class="hiddenlink" target="rightframe"><b>isApplicationUid</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.assist.AssistContent.html#android.app.assist.AssistContent.isAppProvidedWebUri_added()" class="hiddenlink" target="rightframe"><b>isAppProvidedWebUri</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage_added()" class="hiddenlink" target="rightframe"><b>isCallerApplicationRestrictionsManagingPackage</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.isCanonical_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>isCanonical</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.isChannelUri_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isChannelUri</b>
+(<code>Uri</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.isChannelUriForPassthroughInput_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isChannelUriForPassthroughInput</b>
+(<code>Uri</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.isChannelUriForTunerInput_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isChannelUriForTunerInput</b>
+(<code>Uri</code>)</A></nobr><br>
+<nobr><A HREF="android.security.NetworkSecurityPolicy.html#android.security.NetworkSecurityPolicy.isCleartextTrafficPermitted_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>isCleartextTrafficPermitted</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Chronometer.html#android.widget.Chronometer.isCountDown_added()" class="hiddenlink" target="rightframe"><b>isCountDown</b>
+()</A></nobr><br>
+<nobr><A HREF="java.lang.reflect.Method.html#java.lang.reflect.Method.isDefault_added()" class="hiddenlink" target="rightframe"><b>isDefault</b>
+()</A></nobr><br>
+<i>isDeviceProtectedStorage</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.isDeviceProtectedStorage_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.isDeviceProtectedStorage_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.isDeviceProtectedStorage_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.isDynamicSensor_added()" class="hiddenlink" target="rightframe"><b>isDynamicSensor</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.isDynamicSensorDiscoverySupported_added()" class="hiddenlink" target="rightframe"><b>isDynamicSensorDiscoverySupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.storage.StorageManager.html#android.os.storage.StorageManager.isEncrypted_added(java.io.File)" class="hiddenlink" target="rightframe"><b>isEncrypted</b>
+(<code>File</code>)</A></nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.isEnterpriseDirectoryId_added(long)" class="hiddenlink" target="rightframe"><b>isEnterpriseDirectoryId</b>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDeviceInfo.html#android.mtp.MtpDeviceInfo.isEventSupported_added(int)" class="hiddenlink" target="rightframe"><b>isEventSupported</b>
+(<code>int</code>)</A></nobr><br>
+<i>isFinite</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.isFinite_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.isFinite_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+<nobr><A HREF="android.text.TextUtils.html#android.text.TextUtils.isGraphic_changed(char)" class="hiddenlink" target="rightframe">isGraphic
+(<code>char</code>)</A></nobr><br>
+<nobr><A HREF="android.service.notification.StatusBarNotification.html#android.service.notification.StatusBarNotification.isGroup_added()" class="hiddenlink" target="rightframe"><b>isGroup</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.isHidden_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>isHidden</b>
+(<code>Context</code>)</A></nobr><br>
+<nobr><A HREF="java.net.HttpCookie.html#java.net.HttpCookie.isHttpOnly_added()" class="hiddenlink" target="rightframe"><b>isHttpOnly</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.isImportantForAccessibility_added()" class="hiddenlink" target="rightframe"><b>isImportantForAccessibility</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.isInMultiWindowMode_added()" class="hiddenlink" target="rightframe"><b>isInMultiWindowMode</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.isInPictureInPictureMode_added()" class="hiddenlink" target="rightframe"><b>isInPictureInPictureMode</b>
+()</A></nobr><br>
+<i>isInvalidatedByBiometricEnrollment</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.html#android.security.keystore.KeyGenParameterSpec.isInvalidatedByBiometricEnrollment_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyGenParameterSpec
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyInfo.html#android.security.keystore.KeyInfo.isInvalidatedByBiometricEnrollment_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyInfo
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyProtection.html#android.security.keystore.KeyProtection.isInvalidatedByBiometricEnrollment_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyProtection
+</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.isLocalVoiceInteractionSupported_added()" class="hiddenlink" target="rightframe"><b>isLocalVoiceInteractionSupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isManagedProfile_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>isManagedProfile</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Objects.html#java.util.Objects.isNull_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>isNull</b>
+(<code>Object</code>)</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDeviceInfo.html#android.mtp.MtpDeviceInfo.isOperationSupported_added(int)" class="hiddenlink" target="rightframe"><b>isOperationSupported</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isPackageSuspended_added(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe"><b>isPackageSuspended</b>
+(<code>ComponentName, String</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.html#android.media.tv.TvContract.isProgramUri_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isProgramUri</b>
+(<code>Uri</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isProvisioningAllowed_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>isProvisioningAllowed</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.isQuietModeEnabled_added(android.os.UserHandle)" class="hiddenlink" target="rightframe"><b>isQuietModeEnabled</b>
+(<code>UserHandle</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebResourceRequest.html#android.webkit.WebResourceRequest.isRedirect_added()" class="hiddenlink" target="rightframe"><b>isRedirect</b>
+()</A></nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.isRemoteDirectoryId_added(long)" class="hiddenlink" target="rightframe"><b>isRemoteDirectoryId</b>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.isSecurityLoggingEnabled_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>isSecurityLoggingEnabled</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.isSetWallpaperAllowed_added()" class="hiddenlink" target="rightframe"><b>isSetWallpaperAllowed</b>
+()</A></nobr><br>
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.isStorageDefault_added()" class="hiddenlink" target="rightframe"><b>isStorageDefault</b>
+()</A></nobr><br>
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.isStorageDeviceProtected_added()" class="hiddenlink" target="rightframe"><b>isStorageDeviceProtected</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.PowerManager.html#android.os.PowerManager.isSustainedPerformanceModeSupported_added()" class="hiddenlink" target="rightframe"><b>isSustainedPerformanceModeSupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.isTemporarilyDetached_added()" class="hiddenlink" target="rightframe"><b>isTemporarilyDetached</b>
+()</A></nobr><br>
+<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.isTreeUri_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>isTreeUri</b>
+(<code>Uri</code>)</A></nobr><br>
+<i>isUserAuthenticationValidWhileOnBody</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.html#android.security.keystore.KeyGenParameterSpec.isUserAuthenticationValidWhileOnBody_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyGenParameterSpec
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyInfo.html#android.security.keystore.KeyInfo.isUserAuthenticationValidWhileOnBody_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyInfo
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyProtection.html#android.security.keystore.KeyProtection.isUserAuthenticationValidWhileOnBody_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.security.keystore.KeyProtection
+</A></nobr><br>
+<i>isUserUnlocked</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.isUserUnlocked_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.os.UserManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.isUserUnlocked_added(android.os.UserHandle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UserHandle</code>)</b>&nbsp;in&nbsp;android.os.UserManager
+</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.isVoicemailVibrationEnabled_added(android.telecom.PhoneAccountHandle)" class="hiddenlink" target="rightframe"><b>isVoicemailVibrationEnabled</b>
+(<code>PhoneAccountHandle</code>)</A></nobr><br>
+<i>isWeekDateSupported</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Calendar.html#java.util.Calendar.isWeekDateSupported_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Calendar
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.GregorianCalendar.html#java.util.GregorianCalendar.isWeekDateSupported_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.GregorianCalendar
+</A></nobr><br>
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>keySet</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.SortedMap.html#java.util.SortedMap.keySet_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.SortedMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.keySet_added(V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>V</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.nio.charset.CoderResult.html#java.nio.charset.CoderResult.length_changed()" class="hiddenlink" target="rightframe">length
+()</A></nobr><br>
+<nobr><A HREF="java.io.BufferedReader.html#java.io.BufferedReader.lines_added()" class="hiddenlink" target="rightframe"><b>lines</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputInfo.html#android.media.tv.TvInputInfo.loadCustomLabel_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>loadCustomLabel</b>
+(<code>Context</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Boolean.html#java.lang.Boolean.logicalAnd_added(boolean, boolean)" class="hiddenlink" target="rightframe"><b>logicalAnd</b>
+(<code>boolean, boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Boolean.html#java.lang.Boolean.logicalOr_added(boolean, boolean)" class="hiddenlink" target="rightframe"><b>logicalOr</b>
+(<code>boolean, boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Boolean.html#java.lang.Boolean.logicalXor_added(boolean, boolean)" class="hiddenlink" target="rightframe"><b>logicalXor</b>
+(<code>boolean, boolean</code>)</A></nobr><br>
+<i>longs</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.longs_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.longs_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.longs_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Random.html#java.util.Random.longs_added(long, long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long, long</code>)</b>&nbsp;in&nbsp;java.util.Random
+</A></nobr><br>
+<nobr><A HREF="android.graphics.Color.html#android.graphics.Color.luminance_added(int)" class="hiddenlink" target="rightframe"><b>luminance</b>
+(<code>int</code>)</A></nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.nio.charset.CoderResult.html#java.nio.charset.CoderResult.malformedForLength_changed(int)" class="hiddenlink" target="rightframe">malformedForLength
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.mappingCount_added()" class="hiddenlink" target="rightframe"><b>mappingCount</b>
+()</A></nobr><br>
+<i>max</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.max_added(double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double, double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.max_added(float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float, float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Integer.html#java.lang.Integer.max_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Integer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Long.html#java.lang.Long.max_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Long
+</A></nobr><br>
+<i>merge</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.merge_added(K, V, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<i>min</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.min_added(double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double, double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.min_added(float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float, float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Integer.html#java.lang.Integer.min_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Integer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Long.html#java.lang.Long.min_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Long
+</A></nobr><br>
+<i>moveDatabaseFrom</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.moveDatabaseFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.moveDatabaseFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.moveDatabaseFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<i>moveDocument</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.moveDocument_added(android.content.ContentResolver, android.net.Uri, android.net.Uri, android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, Uri, Uri, Uri</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsContract
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.moveDocument_added(java.lang.String, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String, String</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsProvider
+</A></nobr><br>
+<i>moveSharedPreferencesFrom</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.moveSharedPreferencesFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.moveSharedPreferencesFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.moveSharedPreferencesFrom_added(android.content.Context, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, String</code>)</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<i>multiplyExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.multiplyExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.multiplyExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.multiplyExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.multiplyExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<nobr><A HREF="android.os.Process.html#android.os.Process.myUserHandle_changed()" class="hiddenlink" target="rightframe">myUserHandle
+()</A></nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.naturalOrder_added()" class="hiddenlink" target="rightframe"><b>naturalOrder</b>
+()</A></nobr><br>
+<i>negateExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.negateExact_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.negateExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+<i>newKeySet</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.newKeySet_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.newKeySet_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<i>newWorkStealingPool</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.Executors.html#java.util.concurrent.Executors.newWorkStealingPool_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.Executors
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.Executors.html#java.util.concurrent.Executors.newWorkStealingPool_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.util.concurrent.Executors
+</A></nobr><br>
+<i>nextDown</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.nextDown_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.nextDown_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.nextDown_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.nextDown_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<nobr><A HREF="java.util.Objects.html#java.util.Objects.nonNull_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>nonNull</b>
+(<code>Object</code>)</A></nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.notifyChange_added(android.net.Uri, android.database.ContentObserver, int)" class="hiddenlink" target="rightframe"><b>notifyChange</b>
+(<code>Uri, ContentObserver, int</code>)</A></nobr><br>
+<nobr><A HREF="android.service.media.MediaBrowserService.html#android.service.media.MediaBrowserService.notifyChildrenChanged_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>notifyChildrenChanged</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.nullsFirst_added(java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe"><b>nullsFirst</b>
+(<code>Comparator&lt;? super T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.nullsLast_added(java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe"><b>nullsLast</b>
+(<code>Comparator&lt;? super T&gt;</code>)</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.util.TimeZone.html#java.util.TimeZone.observesDaylightTime_added()" class="hiddenlink" target="rightframe"><b>observesDaylightTime</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputService.Session.html#android.media.tv.TvInputService.Session.onAppPrivateCommand_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onAppPrivateCommand</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onAttachFragment_added(android.app.Fragment)" class="hiddenlink" target="rightframe"><b>onAttachFragment</b>
+(<code>Fragment</code>)</A></nobr><br>
+<nobr><A HREF="android.speech.tts.UtteranceProgressListener.html#android.speech.tts.UtteranceProgressListener.onAudioAvailable_added(java.lang.String, byte[])" class="hiddenlink" target="rightframe"><b>onAudioAvailable</b>
+(<code>String, byte[]</code>)</A></nobr><br>
+<nobr><A HREF="android.speech.tts.UtteranceProgressListener.html#android.speech.tts.UtteranceProgressListener.onBeginSynthesis_added(java.lang.String, int, int, int)" class="hiddenlink" target="rightframe"><b>onBeginSynthesis</b>
+(<code>String, int, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onBugreportFailed_added(android.content.Context, android.content.Intent, int)" class="hiddenlink" target="rightframe"><b>onBugreportFailed</b>
+(<code>Context, Intent, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onBugreportShared_added(android.content.Context, android.content.Intent, java.lang.String)" class="hiddenlink" target="rightframe"><b>onBugreportShared</b>
+(<code>Context, Intent, String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onBugreportSharingDeclined_added(android.content.Context, android.content.Intent)" class="hiddenlink" target="rightframe"><b>onBugreportSharingDeclined</b>
+(<code>Context, Intent</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.camera2.CameraCaptureSession.CaptureCallback.html#android.hardware.camera2.CameraCaptureSession.CaptureCallback.onCaptureBufferLost_added(android.hardware.camera2.CameraCaptureSession, android.hardware.camera2.CaptureRequest, android.view.Surface, long)" class="hiddenlink" target="rightframe"><b>onCaptureBufferLost</b>
+(<code>CameraCaptureSession, CaptureRequest, Surface, long</code>)</A></nobr><br>
+<nobr><A HREF="android.media.browse.MediaBrowser.SubscriptionCallback.html#android.media.browse.MediaBrowser.SubscriptionCallback.onChildrenLoaded_added(java.lang.String, java.util.List<android.media.browse.MediaBrowser.MediaItem>, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onChildrenLoaded</b>
+(<code>String, List&lt;MediaItem&gt;, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputService.html#android.media.tv.TvInputService.onCreateRecordingSession_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>onCreateRecordingSession</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.media.browse.MediaBrowser.SubscriptionCallback.html#android.media.browse.MediaBrowser.SubscriptionCallback.onError_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onError</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.onFilterSms_changed(android.service.carrier.MessagePdu, java.lang.String, int, int, android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Boolean>)" class="hiddenlink" target="rightframe">onFilterSms
+(<code>MessagePdu, String, int, int, ResultCallback&lt;Boolean&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.service.voice.VoiceInteractionSession.html#android.service.voice.VoiceInteractionSession.onHandleAssistSecondary_added(android.os.Bundle, android.app.assist.AssistStructure, android.app.assist.AssistContent, int, int)" class="hiddenlink" target="rightframe"><b>onHandleAssistSecondary</b>
+(<code>Bundle, AssistStructure, AssistContent, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputManager.TvInputCallback.html#android.media.tv.TvInputManager.TvInputCallback.onInputUpdated_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>onInputUpdated</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.onListenerDisconnected_added()" class="hiddenlink" target="rightframe"><b>onListenerDisconnected</b>
+()</A></nobr><br>
+<nobr><A HREF="android.service.media.MediaBrowserService.html#android.service.media.MediaBrowserService.onLoadChildren_added(java.lang.String, android.service.media.MediaBrowserService.Result<java.util.List<android.media.browse.MediaBrowser.MediaItem>>, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onLoadChildren</b>
+(<code>String, Result&lt;List&lt;MediaItem&gt;&gt;, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onLocalVoiceInteractionStarted_added()" class="hiddenlink" target="rightframe"><b>onLocalVoiceInteractionStarted</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onLocalVoiceInteractionStopped_added()" class="hiddenlink" target="rightframe"><b>onLocalVoiceInteractionStopped</b>
+()</A></nobr><br>
+<i>onMultiWindowModeChanged</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onMultiWindowModeChanged_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onMultiWindowModeChanged_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Fragment
+</A></nobr><br>
+<nobr><A HREF="android.content.pm.LauncherApps.Callback.html#android.content.pm.LauncherApps.Callback.onPackagesSuspended_added(java.lang.String[], android.os.UserHandle)" class="hiddenlink" target="rightframe"><b>onPackagesSuspended</b>
+(<code>String[], UserHandle</code>)</A></nobr><br>
+<nobr><A HREF="android.content.pm.LauncherApps.Callback.html#android.content.pm.LauncherApps.Callback.onPackagesUnsuspended_added(java.lang.String[], android.os.UserHandle)" class="hiddenlink" target="rightframe"><b>onPackagesUnsuspended</b>
+(<code>String[], UserHandle</code>)</A></nobr><br>
+<i>onPictureInPictureModeChanged</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onPictureInPictureModeChanged_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onPictureInPictureModeChanged_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Fragment
+</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaSession.Callback.html#android.media.session.MediaSession.Callback.onPrepare_added()" class="hiddenlink" target="rightframe"><b>onPrepare</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaSession.Callback.html#android.media.session.MediaSession.Callback.onPrepareFromMediaId_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onPrepareFromMediaId</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaSession.Callback.html#android.media.session.MediaSession.Callback.onPrepareFromSearch_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onPrepareFromSearch</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaSession.Callback.html#android.media.session.MediaSession.Callback.onPrepareFromUri_added(android.net.Uri, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onPrepareFromUri</b>
+(<code>Uri, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Window.Callback.html#android.view.Window.Callback.onProvideKeyboardShortcuts_added(java.util.List<android.view.KeyboardShortcutGroup>, android.view.Menu, int)" class="hiddenlink" target="rightframe"><b>onProvideKeyboardShortcuts</b>
+(<code>List&lt;KeyboardShortcutGroup&gt;, Menu, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.onQuotaExceeded_added(long, long)" class="hiddenlink" target="rightframe"><b>onQuotaExceeded</b>
+(<code>long, long</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onReadyForUserInitialization_changed(android.content.Context, android.content.Intent)" class="hiddenlink" target="rightframe">onReadyForUserInitialization
+(<code>Context, Intent</code>)</A></nobr><br>
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.onReceiveTextSms_added(android.service.carrier.MessagePdu, java.lang.String, int, int, android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Integer>)" class="hiddenlink" target="rightframe"><b>onReceiveTextSms</b>
+(<code>MessagePdu, String, int, int, ResultCallback&lt;Integer&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.telecom.Connection.html#android.telecom.Connection.onReject_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>onReject</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.printservice.PrinterDiscoverySession.html#android.printservice.PrinterDiscoverySession.onRequestCustomPrinterIcon_added(android.print.PrinterId, android.os.CancellationSignal, android.printservice.CustomPrinterIconCallback)" class="hiddenlink" target="rightframe"><b>onRequestCustomPrinterIcon</b>
+(<code>PrinterId, CancellationSignal, CustomPrinterIconCallback</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onResolvePointerIcon_added(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe"><b>onResolvePointerIcon</b>
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onRetainNonConfigurationInstance_changed()" class="hiddenlink" target="rightframe">onRetainNonConfigurationInstance
+()</A></nobr><br>
+<i>onRoutingChanged</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.OnRoutingChangedListener.html#android.media.AudioRecord.OnRoutingChangedListener.onRoutingChanged_added(android.media.AudioRouting)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AudioRouting</code>)</b>&nbsp;in&nbsp;android.media.AudioRecord.OnRoutingChangedListener
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.OnRoutingChangedListener.html#android.media.AudioTrack.OnRoutingChangedListener.onRoutingChanged_added(android.media.AudioRouting)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AudioRouting</code>)</b>&nbsp;in&nbsp;android.media.AudioTrack.OnRoutingChangedListener
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onSecurityLogsAvailable_added(android.content.Context, android.content.Intent)" class="hiddenlink" target="rightframe"><b>onSecurityLogsAvailable</b>
+(<code>Context, Intent</code>)</A></nobr><br>
+<nobr><A HREF="android.telecom.InCallService.html#android.telecom.InCallService.onSilenceRinger_added()" class="hiddenlink" target="rightframe"><b>onSilenceRinger</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.FragmentHostCallback.html#android.app.FragmentHostCallback.onStartIntentSenderFromFragment_added(android.app.Fragment, android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onStartIntentSenderFromFragment</b>
+(<code>Fragment, IntentSender, int, Intent, int, int, int, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputService.Session.html#android.media.tv.TvInputService.Session.onTimeShiftPlay_added(android.net.Uri)" class="hiddenlink" target="rightframe"><b>onTimeShiftPlay</b>
+(<code>Uri</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputService.Session.html#android.media.tv.TvInputService.Session.onTune_added(android.net.Uri, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onTune</b>
+(<code>Uri, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputManager.TvInputCallback.html#android.media.tv.TvInputManager.TvInputCallback.onTvInputInfoUpdated_added(android.media.tv.TvInputInfo)" class="hiddenlink" target="rightframe"><b>onTvInputInfoUpdated</b>
+(<code>TvInputInfo</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onUnhandledInputEvent_removed(android.webkit.WebView, android.view.InputEvent)" class="hiddenlink" target="rightframe"><strike>onUnhandledInputEvent</strike>
+(<code>WebView, InputEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onUnhandledKeyEvent_changed(android.webkit.WebView, android.view.KeyEvent)" class="hiddenlink" target="rightframe">onUnhandledKeyEvent
+(<code>WebView, KeyEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onVisibilityAggregated_added(boolean)" class="hiddenlink" target="rightframe"><b>onVisibilityAggregated</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.nio.channels.DatagramChannel.html#java.nio.channels.DatagramChannel.open_added(java.net.ProtocolFamily)" class="hiddenlink" target="rightframe"><b>open</b>
+(<code>ProtocolFamily</code>)</A></nobr><br>
+<nobr><A HREF="java.nio.channels.spi.SelectorProvider.html#java.nio.channels.spi.SelectorProvider.openDatagramChannel_added(java.net.ProtocolFamily)" class="hiddenlink" target="rightframe"><b>openDatagramChannel</b>
+(<code>ProtocolFamily</code>)</A></nobr><br>
+<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.openTypedDocument_added(java.lang.String, java.lang.String, android.os.Bundle, android.os.CancellationSignal)" class="hiddenlink" target="rightframe"><b>openTypedDocument</b>
+(<code>String, String, Bundle, CancellationSignal</code>)</A></nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>parallelPrefix</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(T[], int, int, java.util.function.BinaryOperator<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int, BinaryOperator&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(T[], java.util.function.BinaryOperator<T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], BinaryOperator&lt;T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(double[], int, int, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], int, int, DoubleBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(double[], java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], DoubleBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(int[], int, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], int, int, IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(int[], java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], IntBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(long[], int, int, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], int, int, LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelPrefix_added(long[], java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], LongBinaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<i>parallelSetAll</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSetAll_added(T[], java.util.function.IntFunction<? extends T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], IntFunction&lt;? extends T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSetAll_added(double[], java.util.function.IntToDoubleFunction)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], IntToDoubleFunction</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSetAll_added(int[], java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSetAll_added(long[], java.util.function.IntToLongFunction)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], IntToLongFunction</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<i>parallelSort</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(T[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(T[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(T[], int, int, java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int, Comparator&lt;? super T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(T[], java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], Comparator&lt;? super T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(byte[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>byte[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(byte[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>byte[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(double[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(double[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(float[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(float[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(int[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(int[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(long[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(long[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(short[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>short[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.parallelSort_added(short[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>short[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<nobr><A HREF="java.util.Collection.html#java.util.Collection.parallelStream_added()" class="hiddenlink" target="rightframe"><b>parallelStream</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.pause_added()" class="hiddenlink" target="rightframe"><b>pause</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.StrictMode.VmPolicy.Builder.html#android.os.StrictMode.VmPolicy.Builder.penaltyDeathOnFileUriExposure_added()" class="hiddenlink" target="rightframe"><b>penaltyDeathOnFileUriExposure</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.performContextClick_added(float, float)" class="hiddenlink" target="rightframe"><b>performContextClick</b>
+(<code>float, float</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.performLongClick_added(float, float)" class="hiddenlink" target="rightframe"><b>performLongClick</b>
+(<code>float, float</code>)</A></nobr><br>
+<nobr><A HREF="android.preference.Preference.html#android.preference.Preference.persistStringSet_added(java.util.Set<java.lang.String>)" class="hiddenlink" target="rightframe"><b>persistStringSet</b>
+(<code>Set&lt;String&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaController.TransportControls.html#android.media.session.MediaController.TransportControls.prepare_added()" class="hiddenlink" target="rightframe"><b>prepare</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaController.TransportControls.html#android.media.session.MediaController.TransportControls.prepareFromMediaId_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>prepareFromMediaId</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaController.TransportControls.html#android.media.session.MediaController.TransportControls.prepareFromSearch_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>prepareFromSearch</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaController.TransportControls.html#android.media.session.MediaController.TransportControls.prepareFromUri_added(android.net.Uri, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>prepareFromUri</b>
+(<code>Uri, Bundle</code>)</A></nobr><br>
+<i>putIfAbsent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.putIfAbsent_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.putIfAbsent_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+<A NAME="Q"></A>
+<br><font size="+2">Q</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.queryDetailsForUidTag_added(int, java.lang.String, long, long, int, int)" class="hiddenlink" target="rightframe"><b>queryDetailsForUidTag</b>
+(<code>int, String, long, long, int, int</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ForkJoinTask.html#java.util.concurrent.ForkJoinTask.quietlyComplete_added()" class="hiddenlink" target="rightframe"><b>quietlyComplete</b>
+()</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>readConfiguration</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.readConfiguration_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.logging.LogManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.readConfiguration_changed(java.io.InputStream)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>InputStream</code>)&nbsp;in&nbsp;java.util.logging.LogManager
+</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.readEvent_added(android.os.CancellationSignal)" class="hiddenlink" target="rightframe"><b>readEvent</b>
+(<code>CancellationSignal</code>)</A></nobr><br>
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.readFields_changed()" class="hiddenlink" target="rightframe">readFields
+()</A></nobr><br>
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.readObject_changed()" class="hiddenlink" target="rightframe">readObject
+()</A></nobr><br>
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.readObjectOverride_changed()" class="hiddenlink" target="rightframe">readObjectOverride
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.reboot_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>reboot</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.recoverBuilder_added(android.content.Context, android.app.Notification)" class="hiddenlink" target="rightframe"><b>recoverBuilder</b>
+(<code>Context, Notification</code>)</A></nobr><br>
+<i>reduce</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.Script.html#android.renderscript.Script.reduce_added(int, android.renderscript.Allocation[], android.renderscript.Allocation, android.renderscript.Script.LaunchOptions)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Allocation[], Allocation, LaunchOptions</code>)</b>&nbsp;in&nbsp;android.renderscript.Script
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduce_added(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;? super K, ? super V, ? extends U&gt;, BiFunction&lt;? super U, ? super U, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<i>reduceEntries</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntries_added(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;Entry&lt;K, V&gt;, ? extends U&gt;, BiFunction&lt;? super U, ? super U, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntries_added(long, java.util.function.BiFunction<java.util.Map.Entry<K, V>, java.util.Map.Entry<K, V>, ? extends java.util.Map.Entry<K, V>>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;Entry&lt;K, V&gt;, Entry&lt;K, V&gt;, Entry&lt;K, V&gt;&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntriesToDouble_added(long, java.util.function.ToDoubleFunction<java.util.Map.Entry<K, V>>, double, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceEntriesToDouble</b>
+(<code>long, ToDoubleFunction&lt;Entry&lt;K, V&gt;&gt;, double, DoubleBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntriesToInt_added(long, java.util.function.ToIntFunction<java.util.Map.Entry<K, V>>, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceEntriesToInt</b>
+(<code>long, ToIntFunction&lt;Entry&lt;K, V&gt;&gt;, int, IntBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceEntriesToLong_added(long, java.util.function.ToLongFunction<java.util.Map.Entry<K, V>>, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceEntriesToLong</b>
+(<code>long, ToLongFunction&lt;Entry&lt;K, V&gt;&gt;, long, LongBinaryOperator</code>)</A></nobr><br>
+<i>reduceKeys</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeys_added(long, java.util.function.BiFunction<? super K, ? super K, ? extends K>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;? super K, ? super K, ? extends K&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeys_added(long, java.util.function.Function<? super K, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;? super K, ? extends U&gt;, BiFunction&lt;? super U, ? super U, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeysToDouble_added(long, java.util.function.ToDoubleFunction<? super K>, double, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceKeysToDouble</b>
+(<code>long, ToDoubleFunction&lt;? super K&gt;, double, DoubleBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeysToInt_added(long, java.util.function.ToIntFunction<? super K>, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceKeysToInt</b>
+(<code>long, ToIntFunction&lt;? super K&gt;, int, IntBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceKeysToLong_added(long, java.util.function.ToLongFunction<? super K>, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceKeysToLong</b>
+(<code>long, ToLongFunction&lt;? super K&gt;, long, LongBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceToDouble_added(long, java.util.function.ToDoubleBiFunction<? super K, ? super V>, double, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceToDouble</b>
+(<code>long, ToDoubleBiFunction&lt;? super K, ? super V&gt;, double, DoubleBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceToInt_added(long, java.util.function.ToIntBiFunction<? super K, ? super V>, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceToInt</b>
+(<code>long, ToIntBiFunction&lt;? super K, ? super V&gt;, int, IntBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceToLong_added(long, java.util.function.ToLongBiFunction<? super K, ? super V>, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceToLong</b>
+(<code>long, ToLongBiFunction&lt;? super K, ? super V&gt;, long, LongBinaryOperator</code>)</A></nobr><br>
+<i>reduceValues</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValues_added(long, java.util.function.Function<? super V, ? extends U>, java.util.function.BiFunction<? super U, ? super U, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, Function&lt;? super V, ? extends U&gt;, BiFunction&lt;? super U, ? super U, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValues_added(long, java.util.function.BiFunction<? super V, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, BiFunction&lt;? super V, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValuesToDouble_added(long, java.util.function.ToDoubleFunction<? super V>, double, java.util.function.DoubleBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceValuesToDouble</b>
+(<code>long, ToDoubleFunction&lt;? super V&gt;, double, DoubleBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValuesToInt_added(long, java.util.function.ToIntFunction<? super V>, int, java.util.function.IntBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceValuesToInt</b>
+(<code>long, ToIntFunction&lt;? super V&gt;, int, IntBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.reduceValuesToLong_added(long, java.util.function.ToLongFunction<? super V>, long, java.util.function.LongBinaryOperator)" class="hiddenlink" target="rightframe"><b>reduceValuesToLong</b>
+(<code>long, ToLongFunction&lt;? super V&gt;, long, LongBinaryOperator</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.ClassLoader.html#java.lang.ClassLoader.registerAsParallelCapable_added()" class="hiddenlink" target="rightframe"><b>registerAsParallelCapable</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.registerAudioRecordingCallback_added(android.media.AudioManager.AudioRecordingCallback, android.os.Handler)" class="hiddenlink" target="rightframe"><b>registerAudioRecordingCallback</b>
+(<code>AudioRecordingCallback, Handler</code>)</A></nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.registerDefaultNetworkCallback_added(android.net.ConnectivityManager.NetworkCallback)" class="hiddenlink" target="rightframe"><b>registerDefaultNetworkCallback</b>
+(<code>NetworkCallback</code>)</A></nobr><br>
+<i>registerDynamicSensorCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.registerDynamicSensorCallback_added(android.hardware.SensorManager.DynamicSensorCallback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DynamicSensorCallback</code>)</b>&nbsp;in&nbsp;android.hardware.SensorManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.registerDynamicSensorCallback_added(android.hardware.SensorManager.DynamicSensorCallback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DynamicSensorCallback, Handler</code>)</b>&nbsp;in&nbsp;android.hardware.SensorManager
+</A></nobr><br>
+<i>registerGnssMeasurementsCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssMeasurementsCallback_added(android.location.GnssMeasurementsEvent.Callback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssMeasurementsCallback_added(android.location.GnssMeasurementsEvent.Callback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback, Handler</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<i>registerGnssNavigationMessageCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssNavigationMessageCallback_added(android.location.GnssNavigationMessage.Callback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssNavigationMessageCallback_added(android.location.GnssNavigationMessage.Callback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback, Handler</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<i>registerGnssStatusCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssStatusCallback_added(android.location.GnssStatus.Callback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.registerGnssStatusCallback_added(android.location.GnssStatus.Callback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Callback, Handler</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<i>registerUsageCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String, long, UsageCallback</code>)</b>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String, long, UsageCallback, Handler</code>)</b>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<i>release</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContentProviderClient.html#android.content.ContentProviderClient.release_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.content.ContentProviderClient
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.drm.DrmManagerClient.html#android.drm.DrmManagerClient.release_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.drm.DrmManagerClient
+</A></nobr><br>
+<i>remove</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.database.CursorJoiner.html#android.database.CursorJoiner.remove_removed()" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+()</strike>&nbsp;in&nbsp;android.database.CursorJoiner
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.TextUtils.SimpleStringSplitter.html#android.text.TextUtils.SimpleStringSplitter.remove_removed()" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+()</strike>&nbsp;in&nbsp;android.text.TextUtils.SimpleStringSplitter
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.ref.ReferenceQueue.html#java.lang.ref.ReferenceQueue.remove_changed(long)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>long</code>)&nbsp;in&nbsp;java.lang.ref.ReferenceQueue
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.remove_added(java.lang.Object, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, Object</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Iterator.html#java.util.Iterator.remove_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.Iterator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.remove_added(java.lang.Object, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object, Object</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Scanner.html#java.util.Scanner.remove_removed()" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+()</strike>&nbsp;in&nbsp;java.util.Scanner
+</A></nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.removeAutomaticZenRule_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>removeAutomaticZenRule</b>
+(<code>String</code>)</A></nobr><br>
+<i>removeDocument</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsContract.html#android.provider.DocumentsContract.removeDocument_added(android.content.ContentResolver, android.net.Uri, android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, Uri, Uri</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsContract
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.DocumentsProvider.html#android.provider.DocumentsProvider.removeDocument_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;android.provider.DocumentsProvider
+</A></nobr><br>
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.removeGpsStatusListener_changed(android.location.GpsStatus.Listener)" class="hiddenlink" target="rightframe">removeGpsStatusListener
+(<code>Listener</code>)</A></nobr><br>
+<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.removeHandler_changed(java.util.logging.Handler)" class="hiddenlink" target="rightframe">removeHandler
+(<code>Handler</code>)</A></nobr><br>
+<i>removeIf</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.removeIf_added(java.util.function.Predicate<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Predicate&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Collection.html#java.util.Collection.removeIf_added(java.util.function.Predicate<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Predicate&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Collection
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.removeIf_added(java.util.function.Predicate<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Predicate&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.CopyOnWriteArraySet.html#java.util.concurrent.CopyOnWriteArraySet.removeIf_added(java.util.function.Predicate<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Predicate&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.CopyOnWriteArraySet
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.removeKeyPair_added(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe"><b>removeKeyPair</b>
+(<code>ComponentName, String</code>)</A></nobr><br>
+<i>removeNmeaListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.removeNmeaListener_added(android.location.OnNmeaMessageListener)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnNmeaMessageListener</code>)</b>&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.removeNmeaListener_changed(android.location.GpsStatus.NmeaListener)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>NmeaListener</code>)&nbsp;in&nbsp;android.location.LocationManager
+</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.removeOnFrameMetricsAvailableListener_added(android.view.Window.OnFrameMetricsAvailableListener)" class="hiddenlink" target="rightframe"><b>removeOnFrameMetricsAvailableListener</b>
+(<code>OnFrameMetricsAvailableListener</code>)</A></nobr><br>
+<i>removeOnRoutingChangedListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.removeOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnRoutingChangedListener</code>)</b>&nbsp;in&nbsp;android.media.AudioRecord
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.removeOnRoutingChangedListener_changed(android.media.AudioRecord.OnRoutingChangedListener)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>OnRoutingChangedListener</code>)&nbsp;in&nbsp;android.media.AudioRecord
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.removeOnRoutingChangedListener_added(android.media.AudioRouting.OnRoutingChangedListener)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>OnRoutingChangedListener</code>)</b>&nbsp;in&nbsp;android.media.AudioTrack
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.removeOnRoutingChangedListener_changed(android.media.AudioTrack.OnRoutingChangedListener)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>OnRoutingChangedListener</code>)&nbsp;in&nbsp;android.media.AudioTrack
+</A></nobr><br>
+<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.removePropertyChangeListener_changed(java.beans.PropertyChangeListener)" class="hiddenlink" target="rightframe">removePropertyChangeListener
+(<code>PropertyChangeListener</code>)</A></nobr><br>
+<nobr><A HREF="android.content.pm.PackageInstaller.Session.html#android.content.pm.PackageInstaller.Session.removeSplit_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>removeSplit</b>
+(<code>String</code>)</A></nobr><br>
+<i>replace</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.HashMap.html#java.util.HashMap.replace_added(K, V, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, V</code>)</b>&nbsp;in&nbsp;java.util.HashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.replace_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.replace_added(K, V, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, V</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.replace_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.replace_added(K, V, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, V</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeMap.html#java.util.TreeMap.replace_added(K, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V</code>)</b>&nbsp;in&nbsp;java.util.TreeMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeMap.html#java.util.TreeMap.replace_added(K, V, V)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>K, V, V</code>)</b>&nbsp;in&nbsp;java.util.TreeMap
+</A></nobr><br>
+<i>replaceAll</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.replaceAll_added(java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.HashMap.html#java.util.HashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.HashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Hashtable.html#java.util.Hashtable.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Hashtable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.IdentityHashMap.html#java.util.IdentityHashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.IdentityHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.List.html#java.util.List.replaceAll_added(java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.List
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Map.html#java.util.Map.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.Map
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeMap.html#java.util.TreeMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.TreeMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.replaceAll_added(java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.WeakHashMap.html#java.util.WeakHashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.WeakHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentHashMap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html#java.util.concurrent.ConcurrentSkipListMap.replaceAll_added(java.util.function.BiFunction<? super K, ? super V, ? extends V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>BiFunction&lt;? super K, ? super V, ? extends V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListMap
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.requestBugreport_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>requestBugreport</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.requestCancelDecode_changed()" class="hiddenlink" target="rightframe">requestCancelDecode
+()</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.requestDragAndDropPermissions_added(android.view.DragEvent)" class="hiddenlink" target="rightframe"><b>requestDragAndDropPermissions</b>
+(<code>DragEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.requestRebind_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>requestRebind</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.requestShowKeyboardShortcuts_added()" class="hiddenlink" target="rightframe"><b>requestShowKeyboardShortcuts</b>
+()</A></nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.requestUnbind_added()" class="hiddenlink" target="rightframe"><b>requestUnbind</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.Objects.html#java.util.Objects.requireNonNull_added(T, java.util.function.Supplier<java.lang.String>)" class="hiddenlink" target="rightframe"><b>requireNonNull</b>
+(<code>T, Supplier&lt;String&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.reset_changed()" class="hiddenlink" target="rightframe">reset
+()</A></nobr><br>
+<i>restoreAllState</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.restoreAllState_added(android.os.Parcelable, android.app.FragmentManagerNonConfig)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcelable, FragmentManagerNonConfig</code>)</b>&nbsp;in&nbsp;android.app.FragmentController
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.restoreAllState_changed(android.os.Parcelable, java.util.List<android.app.Fragment>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Parcelable, List&lt;Fragment&gt;</code>)&nbsp;in&nbsp;android.app.FragmentController
+</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.resume_added()" class="hiddenlink" target="rightframe"><b>resume</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.retainNestedNonConfig_added()" class="hiddenlink" target="rightframe"><b>retainNestedNonConfig</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.retainNonConfig_changed()" class="hiddenlink" target="rightframe">retainNonConfig
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.retrievePreRebootSecurityLogs_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>retrievePreRebootSecurityLogs</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.retrieveSecurityLogs_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>retrieveSecurityLogs</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.reversed_added()" class="hiddenlink" target="rightframe"><b>reversed</b>
+()</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.reverseOrder_added()" class="hiddenlink" target="rightframe"><b>reverseOrder</b>
+()</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.search_added(long, java.util.function.BiFunction<? super K, ? super V, ? extends U>)" class="hiddenlink" target="rightframe"><b>search</b>
+(<code>long, BiFunction&lt;? super K, ? super V, ? extends U&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.searchEntries_added(long, java.util.function.Function<java.util.Map.Entry<K, V>, ? extends U>)" class="hiddenlink" target="rightframe"><b>searchEntries</b>
+(<code>long, Function&lt;Entry&lt;K, V&gt;, ? extends U&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.searchKeys_added(long, java.util.function.Function<? super K, ? extends U>)" class="hiddenlink" target="rightframe"><b>searchKeys</b>
+(<code>long, Function&lt;? super K, ? extends U&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html#java.util.concurrent.ConcurrentHashMap.searchValues_added(long, java.util.function.Function<? super V, ? extends U>)" class="hiddenlink" target="rightframe"><b>searchValues</b>
+(<code>long, Function&lt;? super V, ? extends U&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.sendAppPrivateCommand_added(java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>sendAppPrivateCommand</b>
+(<code>String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.sendObject_added(int, long, android.os.ParcelFileDescriptor)" class="hiddenlink" target="rightframe"><b>sendObject</b>
+(<code>int, long, ParcelFileDescriptor</code>)</A></nobr><br>
+<nobr><A HREF="android.mtp.MtpDevice.html#android.mtp.MtpDevice.sendObjectInfo_added(android.mtp.MtpObjectInfo)" class="hiddenlink" target="rightframe"><b>sendObjectInfo</b>
+(<code>MtpObjectInfo</code>)</A></nobr><br>
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.set_added(int, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>set</b>
+(<code>int, long, String, OnAlarmListener, Handler</code>)</A></nobr><br>
+<i>setAccessible</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.setAccessible_changed(java.lang.reflect.AccessibleObject[], boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>AccessibleObject[], boolean</code>)&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.setAccessible_changed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>boolean</code>)&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setActions_added(android.app.Notification.Action...)" class="hiddenlink" target="rightframe"><b>setActions</b>
+()</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setAlgorithmConstraints_added(java.security.AlgorithmConstraints)" class="hiddenlink" target="rightframe"><b>setAlgorithmConstraints</b>
+(<code>AlgorithmConstraints</code>)</A></nobr><br>
+<i>setAll</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.setAll_added(T[], java.util.function.IntFunction<? extends T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], IntFunction&lt;? extends T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.setAll_added(double[], java.util.function.IntToDoubleFunction)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], IntToDoubleFunction</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.setAll_added(int[], java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.setAll_added(long[], java.util.function.IntToLongFunction)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], IntToLongFunction</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.Builder.html#android.app.Notification.Action.Builder.setAllowGeneratedReplies_added(boolean)" class="hiddenlink" target="rightframe"><b>setAllowGeneratedReplies</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setAlwaysOnVpnPackage_added(android.content.ComponentName, java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>setAlwaysOnVpnPackage</b>
+(<code>ComponentName, String, boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setApplicationRestrictionsManagingPackage_added(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe"><b>setApplicationRestrictionsManagingPackage</b>
+(<code>ComponentName, String</code>)</A></nobr><br>
+<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html#android.security.keystore.KeyGenParameterSpec.Builder.setAttestationChallenge_added(byte[])" class="hiddenlink" target="rightframe"><b>setAttestationChallenge</b>
+(<code>byte[]</code>)</A></nobr><br>
+<i>setBitmap</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setBitmap_added(android.graphics.Bitmap, android.graphics.Rect, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Bitmap, Rect, boolean</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setBitmap_added(android.graphics.Bitmap, android.graphics.Rect, boolean, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Bitmap, Rect, boolean, int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.setBufferSizeInFrames_added(int)" class="hiddenlink" target="rightframe"><b>setBufferSizeInFrames</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.net.wifi.WifiEnterpriseConfig.html#android.net.wifi.WifiEnterpriseConfig.setCaCertificates_added(java.security.cert.X509Certificate[])" class="hiddenlink" target="rightframe"><b>setCaCertificates</b>
+(<code>X509Certificate[]</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.setCalendarViewShown_changed(boolean)" class="hiddenlink" target="rightframe">setCalendarViewShown
+(<code>boolean</code>)</A></nobr><br>
+<i>setChronometerCountDown</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setChronometerCountDown_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.Notification.Builder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setChronometerCountDown_added(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, boolean</code>)</b>&nbsp;in&nbsp;android.widget.RemoteViews
+</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setContent_changed(android.widget.RemoteViews)" class="hiddenlink" target="rightframe">setContent
+(<code>RemoteViews</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setContentInfo_changed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">setContentInfo
+(<code>CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setContentInsetEndWithActions_added(int)" class="hiddenlink" target="rightframe"><b>setContentInsetEndWithActions</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setContentInsetStartWithNavigation_added(int)" class="hiddenlink" target="rightframe"><b>setContentInsetStartWithNavigation</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Chronometer.html#android.widget.Chronometer.setCountDown_added(boolean)" class="hiddenlink" target="rightframe"><b>setCountDown</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setCrossProfileContactsSearchDisabled_added(android.content.ComponentName, boolean)" class="hiddenlink" target="rightframe"><b>setCrossProfileContactsSearchDisabled</b>
+(<code>ComponentName, boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setCustomBigContentView_added(android.widget.RemoteViews)" class="hiddenlink" target="rightframe"><b>setCustomBigContentView</b>
+(<code>RemoteViews</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setCustomContentView_added(android.widget.RemoteViews)" class="hiddenlink" target="rightframe"><b>setCustomContentView</b>
+(<code>RemoteViews</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setCustomHeadsUpContentView_added(android.widget.RemoteViews)" class="hiddenlink" target="rightframe"><b>setCustomHeadsUpContentView</b>
+(<code>RemoteViews</code>)</A></nobr><br>
+<i>setDataSource</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaExtractor.html#android.media.MediaExtractor.setDataSource_added(android.content.res.AssetFileDescriptor)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AssetFileDescriptor</code>)</b>&nbsp;in&nbsp;android.media.MediaExtractor
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setDataSource_added(android.content.res.AssetFileDescriptor)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AssetFileDescriptor</code>)</b>&nbsp;in&nbsp;android.media.MediaPlayer
+</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.setDecorCaptionShade_added(int)" class="hiddenlink" target="rightframe"><b>setDecorCaptionShade</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Locale.html#java.util.Locale.setDefault_added(java.util.Locale.Category, java.util.Locale)" class="hiddenlink" target="rightframe"><b>setDefault</b>
+(<code>Category, Locale</code>)</A></nobr><br>
+<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.setDefaultBrowserPackageName_removed(java.lang.String, int)" class="hiddenlink" target="rightframe"><strike>setDefaultBrowserPackageName</strike>
+(<code>String, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setDeviceOwnerLockScreenInfo_added(android.content.ComponentName, java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setDeviceOwnerLockScreenInfo</b>
+(<code>ComponentName, CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDisabledActionModeMenuItems_added(int)" class="hiddenlink" target="rightframe"><b>setDisabledActionModeMenuItems</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setDismissalId_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setDismissalId</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setDrawingOrder_added(int)" class="hiddenlink" target="rightframe"><b>setDrawingOrder</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setEncoding_changed(java.lang.String)" class="hiddenlink" target="rightframe">setEncoding
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setEndpointIdentificationAlgorithm_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setEndpointIdentificationAlgorithm</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.setExact_added(int, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>setExact</b>
+(<code>int, long, String, OnAlarmListener, Handler</code>)</A></nobr><br>
+<i>setExtras</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ClipDescription.html#android.content.ClipDescription.setExtras_added(android.os.PersistableBundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>PersistableBundle</code>)</b>&nbsp;in&nbsp;android.content.ClipDescription
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.telecom.PhoneAccount.Builder.html#android.telecom.PhoneAccount.Builder.setExtras_added(android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Bundle</code>)</b>&nbsp;in&nbsp;android.telecom.PhoneAccount.Builder
+</A></nobr><br>
+<i>setFilter</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setFilter_changed(java.util.logging.Filter)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Filter</code>)&nbsp;in&nbsp;java.util.logging.Handler
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.setFilter_changed(java.util.logging.Filter)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Filter</code>)&nbsp;in&nbsp;java.util.logging.Logger
+</A></nobr><br>
+<nobr><A HREF="java.util.concurrent.ForkJoinTask.html#java.util.concurrent.ForkJoinTask.setForkJoinTaskTag_added(short)" class="hiddenlink" target="rightframe"><b>setForkJoinTaskTag</b>
+(<code>short</code>)</A></nobr><br>
+<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setFormatter_changed(java.util.logging.Formatter)" class="hiddenlink" target="rightframe">setFormatter
+(<code>Formatter</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setGeolocationDatabasePath_changed(java.lang.String)" class="hiddenlink" target="rightframe">setGeolocationDatabasePath
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.print.PrinterInfo.Builder.html#android.print.PrinterInfo.Builder.setHasCustomPrinterIcon_added(boolean)" class="hiddenlink" target="rightframe"><b>setHasCustomPrinterIcon</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setHintAmbientBigPicture_added(boolean)" class="hiddenlink" target="rightframe"><b>setHintAmbientBigPicture</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setHintContentIntentLaunchesActivity_added(boolean)" class="hiddenlink" target="rightframe"><b>setHintContentIntentLaunchesActivity</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.setHintLaunchesActivity_added(boolean)" class="hiddenlink" target="rightframe"><b>setHintLaunchesActivity</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.net.HttpCookie.html#java.net.HttpCookie.setHttpOnly_added(boolean)" class="hiddenlink" target="rightframe"><b>setHttpOnly</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.print.PrinterInfo.Builder.html#android.print.PrinterInfo.Builder.setIconResourceId_added(int)" class="hiddenlink" target="rightframe"><b>setIconResourceId</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setImeHintLocales_added(android.os.LocaleList)" class="hiddenlink" target="rightframe"><b>setImeHintLocales</b>
+(<code>LocaleList</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setImportantForAccessibility_added(boolean)" class="hiddenlink" target="rightframe"><b>setImportantForAccessibility</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.print.PrinterInfo.Builder.html#android.print.PrinterInfo.Builder.setInfoIntent_added(android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>setInfoIntent</b>
+(<code>PendingIntent</code>)</A></nobr><br>
+<i>setInvalidatedByBiometricEnrollment</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html#android.security.keystore.KeyGenParameterSpec.Builder.setInvalidatedByBiometricEnrollment_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.security.keystore.KeyGenParameterSpec.Builder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyProtection.Builder.html#android.security.keystore.KeyProtection.Builder.setInvalidatedByBiometricEnrollment_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.security.keystore.KeyProtection.Builder
+</A></nobr><br>
+<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.html#android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.setLanguageTag_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setLanguageTag</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.ActivityOptions.html#android.app.ActivityOptions.setLaunchBounds_added(android.graphics.Rect)" class="hiddenlink" target="rightframe"><b>setLaunchBounds</b>
+(<code>Rect</code>)</A></nobr><br>
+<i>setLevel</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setLevel_changed(java.util.logging.Level)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Level</code>)&nbsp;in&nbsp;java.util.logging.Handler
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.setLevel_changed(java.util.logging.Level)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Level</code>)&nbsp;in&nbsp;java.util.logging.Logger
+</A></nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.setLocales_added(android.os.LocaleList)" class="hiddenlink" target="rightframe"><b>setLocales</b>
+(<code>LocaleList</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setLongSupportMessage_added(android.content.ComponentName, java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setLongSupportMessage</b>
+(<code>ComponentName, CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="java.sql.Timestamp.html#java.sql.Timestamp.setNanos_changed(int)" class="hiddenlink" target="rightframe">setNanos
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setNumber_changed(int)" class="hiddenlink" target="rightframe">setNumber
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.DatePickerDialog.html#android.app.DatePickerDialog.setOnDateSetListener_added(android.app.DatePickerDialog.OnDateSetListener)" class="hiddenlink" target="rightframe"><b>setOnDateSetListener</b>
+(<code>OnDateSetListener</code>)</A></nobr><br>
+<i>setOption</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.DatagramChannel.html#java.nio.channels.DatagramChannel.setOption_added(java.net.SocketOption<T>, T)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketOption&lt;T&gt;, T</code>)</b>&nbsp;in&nbsp;java.nio.channels.DatagramChannel
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.ServerSocketChannel.html#java.nio.channels.ServerSocketChannel.setOption_added(java.net.SocketOption<T>, T)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketOption&lt;T&gt;, T</code>)</b>&nbsp;in&nbsp;java.nio.channels.ServerSocketChannel
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.setOption_added(java.net.SocketOption<T>, T)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>SocketOption&lt;T&gt;, T</code>)</b>&nbsp;in&nbsp;java.nio.channels.SocketChannel
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setOrganizationColor_added(android.content.ComponentName, int)" class="hiddenlink" target="rightframe"><b>setOrganizationColor</b>
+(<code>ComponentName, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setOrganizationName_added(android.content.ComponentName, java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setOrganizationName</b>
+(<code>ComponentName, CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="android.content.pm.PackageInstaller.SessionParams.html#android.content.pm.PackageInstaller.SessionParams.setOriginatingUid_added(int)" class="hiddenlink" target="rightframe"><b>setOriginatingUid</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="java.util.logging.StreamHandler.html#java.util.logging.StreamHandler.setOutputStream_changed(java.io.OutputStream)" class="hiddenlink" target="rightframe">setOutputStream
+(<code>OutputStream</code>)</A></nobr><br>
+<nobr><A HREF="android.service.notification.StatusBarNotification.html#android.service.notification.StatusBarNotification.setOverrideGroupKey_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setOverrideGroupKey</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setPackagesSuspended_added(android.content.ComponentName, java.lang.String[], boolean)" class="hiddenlink" target="rightframe"><b>setPackagesSuspended</b>
+(<code>ComponentName, String[], boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.media.MediaCodec.CryptoInfo.html#android.media.MediaCodec.CryptoInfo.setPattern_added(android.media.MediaCodec.CryptoInfo.Pattern)" class="hiddenlink" target="rightframe"><b>setPattern</b>
+(<code>Pattern</code>)</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.Builder.html#android.app.job.JobInfo.Builder.setPeriodic_added(long, long)" class="hiddenlink" target="rightframe"><b>setPeriodic</b>
+(<code>long, long</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setPointerIcon_added(android.view.PointerIcon)" class="hiddenlink" target="rightframe"><b>setPointerIcon</b>
+(<code>PointerIcon</code>)</A></nobr><br>
+<i>setProgress</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.setProgress_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.printservice.PrintJob.html#android.printservice.PrintJob.setProgress_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;android.printservice.PrintJob
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.ProgressBar.html#android.widget.ProgressBar.setProgress_added(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, boolean</code>)</b>&nbsp;in&nbsp;android.widget.ProgressBar
+</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setProgressBarIndeterminate_changed(boolean)" class="hiddenlink" target="rightframe">setProgressBarIndeterminate
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setProgressBarIndeterminateVisibility_changed(boolean)" class="hiddenlink" target="rightframe">setProgressBarIndeterminateVisibility
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setProgressBarVisibility_changed(boolean)" class="hiddenlink" target="rightframe">setProgressBarVisibility
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.util.logging.MemoryHandler.html#java.util.logging.MemoryHandler.setPushLevel_changed(java.util.logging.Level)" class="hiddenlink" target="rightframe">setPushLevel
+(<code>Level</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setRemoteInputHistory_added(java.lang.CharSequence[])" class="hiddenlink" target="rightframe"><b>setRemoteInputHistory</b>
+(<code>CharSequence[]</code>)</A></nobr><br>
+<i>setRequiresCharging</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.DownloadManager.Request.html#android.app.DownloadManager.Request.setRequiresCharging_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.app.DownloadManager.Request
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.SyncRequest.Builder.html#android.content.SyncRequest.Builder.setRequiresCharging_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.content.SyncRequest.Builder
+</A></nobr><br>
+<nobr><A HREF="android.app.DownloadManager.Request.html#android.app.DownloadManager.Request.setRequiresDeviceIdle_added(boolean)" class="hiddenlink" target="rightframe"><b>setRequiresDeviceIdle</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.setResizingCaptionDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>setResizingCaptionDrawable</b>
+(<code>Drawable</code>)</A></nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setResource_added(int, int)" class="hiddenlink" target="rightframe"><b>setResource</b>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.setRestrictedCaptionAreaListener_added(android.view.Window.OnRestrictedCaptionAreaChangedListener)" class="hiddenlink" target="rightframe"><b>setRestrictedCaptionAreaListener</b>
+(<code>OnRestrictedCaptionAreaChangedListener</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setSecondaryProgress_changed(int)" class="hiddenlink" target="rightframe">setSecondaryProgress
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setSecurityLoggingEnabled_added(android.content.ComponentName, boolean)" class="hiddenlink" target="rightframe"><b>setSecurityLoggingEnabled</b>
+(<code>ComponentName, boolean</code>)</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setServerNames_added(java.util.List<javax.net.ssl.SNIServerName>)" class="hiddenlink" target="rightframe"><b>setServerNames</b>
+(<code>List&lt;SNIServerName&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setShortSupportMessage_added(android.content.ComponentName, java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setShortSupportMessage</b>
+(<code>ComponentName, CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.CalendarView.html#android.widget.CalendarView.setShowWeekNumber_changed(boolean)" class="hiddenlink" target="rightframe">setShowWeekNumber
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setSNIMatchers_added(java.util.Collection<javax.net.ssl.SNIMatcher>)" class="hiddenlink" target="rightframe"><b>setSNIMatchers</b>
+(<code>Collection&lt;SNIMatcher&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.setSpinnersShown_changed(boolean)" class="hiddenlink" target="rightframe">setSpinnersShown
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLServerSocket.html#javax.net.ssl.SSLServerSocket.setSSLParameters_added(javax.net.ssl.SSLParameters)" class="hiddenlink" target="rightframe"><b>setSSLParameters</b>
+(<code>SSLParameters</code>)</A></nobr><br>
+<i>setStatus</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.printservice.PrintJob.html#android.printservice.PrintJob.setStatus_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.printservice.PrintJob
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.printservice.PrintJob.html#android.printservice.PrintJob.setStatus_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence</code>)</b>&nbsp;in&nbsp;android.printservice.PrintJob
+</A></nobr><br>
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.setStorageDefault_added()" class="hiddenlink" target="rightframe"><b>setStorageDefault</b>
+()</A></nobr><br>
+<nobr><A HREF="android.preference.PreferenceManager.html#android.preference.PreferenceManager.setStorageDeviceProtected_added()" class="hiddenlink" target="rightframe"><b>setStorageDeviceProtected</b>
+()</A></nobr><br>
+<i>setStream</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setStream_added(java.io.InputStream, android.graphics.Rect, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>InputStream, Rect, boolean</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.setStream_added(java.io.InputStream, android.graphics.Rect, boolean, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>InputStream, Rect, boolean, int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.setSustainedPerformanceMode_added(boolean)" class="hiddenlink" target="rightframe"><b>setSustainedPerformanceMode</b>
+(<code>boolean</code>)</A></nobr><br>
+<i>setTextLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.setTextLocales_added(android.os.LocaleList)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>LocaleList</code>)</b>&nbsp;in&nbsp;android.graphics.Paint
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setTextLocales_added(android.os.LocaleList)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>LocaleList</code>)</b>&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.setTickMark_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>setTickMark</b>
+(<code>Drawable</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.setTickMarkTintList_added(android.content.res.ColorStateList)" class="hiddenlink" target="rightframe"><b>setTickMarkTintList</b>
+(<code>ColorStateList</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.AbsSeekBar.html#android.widget.AbsSeekBar.setTickMarkTintMode_added(android.graphics.PorterDuff.Mode)" class="hiddenlink" target="rightframe"><b>setTickMarkTintMode</b>
+(<code>Mode</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMargin_added(int, int, int, int)" class="hiddenlink" target="rightframe"><b>setTitleMargin</b>
+(<code>int, int, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMarginBottom_added(int)" class="hiddenlink" target="rightframe"><b>setTitleMarginBottom</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMarginEnd_added(int)" class="hiddenlink" target="rightframe"><b>setTitleMarginEnd</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMarginStart_added(int)" class="hiddenlink" target="rightframe"><b>setTitleMarginStart</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.Toolbar.html#android.widget.Toolbar.setTitleMarginTop_added(int)" class="hiddenlink" target="rightframe"><b>setTitleMarginTop</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.Builder.html#android.app.job.JobInfo.Builder.setTriggerContentMaxDelay_added(long)" class="hiddenlink" target="rightframe"><b>setTriggerContentMaxDelay</b>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.Builder.html#android.app.job.JobInfo.Builder.setTriggerContentUpdateDelay_added(long)" class="hiddenlink" target="rightframe"><b>setTriggerContentUpdateDelay</b>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="javax.net.ssl.SSLParameters.html#javax.net.ssl.SSLParameters.setUseCipherSuitesOrder_added(boolean)" class="hiddenlink" target="rightframe"><b>setUseCipherSuitesOrder</b>
+(<code>boolean</code>)</A></nobr><br>
+<i>setUserAuthenticationValidWhileOnBody</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html#android.security.keystore.KeyGenParameterSpec.Builder.setUserAuthenticationValidWhileOnBody_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.security.keystore.KeyGenParameterSpec.Builder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.security.keystore.KeyProtection.Builder.html#android.security.keystore.KeyProtection.Builder.setUserAuthenticationValidWhileOnBody_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.security.keystore.KeyProtection.Builder
+</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvTrackInfo.Builder.html#android.media.tv.TvTrackInfo.Builder.setVideoActiveFormatDescription_added(byte)" class="hiddenlink" target="rightframe"><b>setVideoActiveFormatDescription</b>
+(<code>byte</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setVrModeEnabled_added(boolean, android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>setVrModeEnabled</b>
+(<code>boolean, ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Calendar.html#java.util.Calendar.setWeekDate_added(int, int, int)" class="hiddenlink" target="rightframe"><b>setWeekDate</b>
+(<code>int, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.setWindow_added(int, long, long, java.lang.String, android.app.AlarmManager.OnAlarmListener, android.os.Handler)" class="hiddenlink" target="rightframe"><b>setWindow</b>
+(<code>int, long, long, String, OnAlarmListener, Handler</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.setZOrderMediaOverlay_added(boolean)" class="hiddenlink" target="rightframe"><b>setZOrderMediaOverlay</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.setZOrderOnTop_added(boolean)" class="hiddenlink" target="rightframe"><b>setZOrderOnTop</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.awt.font.NumericShaper.html#java.awt.font.NumericShaper.shape_added(char[], int, int, java.awt.font.NumericShaper.Range)" class="hiddenlink" target="rightframe"><b>shape</b>
+(<code>char[], int, int, Range</code>)</A></nobr><br>
+<i>shouldOverrideUrlLoading</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.shouldOverrideUrlLoading_added(android.webkit.WebView, android.webkit.WebResourceRequest)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>WebView, WebResourceRequest</code>)</b>&nbsp;in&nbsp;android.webkit.WebViewClient
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.shouldOverrideUrlLoading_changed(android.webkit.WebView, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>WebView, String</code>)&nbsp;in&nbsp;android.webkit.WebViewClient
+</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.showContextMenu_added(float, float)" class="hiddenlink" target="rightframe"><b>showContextMenu</b>
+(<code>float, float</code>)</A></nobr><br>
+<i>showContextMenuForChild</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.showContextMenuForChild_added(android.view.View, float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, float, float</code>)</b>&nbsp;in&nbsp;android.view.ViewGroup
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewParent.html#android.view.ViewParent.showContextMenuForChild_added(android.view.View, float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, float, float</code>)</b>&nbsp;in&nbsp;android.view.ViewParent
+</A></nobr><br>
+<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.shutdownInput_added()" class="hiddenlink" target="rightframe"><b>shutdownInput</b>
+()</A></nobr><br>
+<nobr><A HREF="java.nio.channels.SocketChannel.html#java.nio.channels.SocketChannel.shutdownOutput_added()" class="hiddenlink" target="rightframe"><b>shutdownOutput</b>
+()</A></nobr><br>
+<i>sort</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.sort_added(java.util.Comparator<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.List.html#java.util.List.sort_added(java.util.Comparator<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.List
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.sort_added(java.util.Comparator<? super E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super E&gt;</code>)</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+<nobr><A HREF="java.util.regex.Pattern.html#java.util.regex.Pattern.splitAsStream_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>splitAsStream</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<i>spliterator</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Iterable.html#java.lang.Iterable.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.lang.Iterable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayDeque.html#java.util.ArrayDeque.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.ArrayDeque
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ArrayList.html#java.util.ArrayList.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.ArrayList
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(double[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(double[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(int[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(int[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(long[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(long[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(T[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.spliterator_added(T[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.HashSet.html#java.util.HashSet.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.HashSet
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.LinkedList.html#java.util.LinkedList.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.LinkedList
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.PriorityQueue.html#java.util.PriorityQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.PriorityQueue
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.TreeSet.html#java.util.TreeSet.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.TreeSet
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Vector.html#java.util.Vector.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Vector
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ArrayBlockingQueue.html#java.util.concurrent.ArrayBlockingQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ArrayBlockingQueue
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentLinkedDeque.html#java.util.concurrent.ConcurrentLinkedDeque.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentLinkedDeque
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentLinkedQueue.html#java.util.concurrent.ConcurrentLinkedQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentLinkedQueue
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.ConcurrentSkipListSet.html#java.util.concurrent.ConcurrentSkipListSet.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.ConcurrentSkipListSet
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.CopyOnWriteArraySet.html#java.util.concurrent.CopyOnWriteArraySet.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.CopyOnWriteArraySet
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.LinkedBlockingDeque.html#java.util.concurrent.LinkedBlockingDeque.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.LinkedBlockingDeque
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.LinkedBlockingQueue.html#java.util.concurrent.LinkedBlockingQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.LinkedBlockingQueue
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.LinkedTransferQueue.html#java.util.concurrent.LinkedTransferQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.LinkedTransferQueue
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.PriorityBlockingQueue.html#java.util.concurrent.PriorityBlockingQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.PriorityBlockingQueue
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.SynchronousQueue.html#java.util.concurrent.SynchronousQueue.spliterator_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.concurrent.SynchronousQueue
+</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.startDrag_changed(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)" class="hiddenlink" target="rightframe">startDrag
+(<code>ClipData, DragShadowBuilder, Object, int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.startDragAndDrop_added(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)" class="hiddenlink" target="rightframe"><b>startDragAndDrop</b>
+(<code>ClipData, DragShadowBuilder, Object, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.startIntentSenderForResult_added(android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>startIntentSenderForResult</b>
+(<code>IntentSender, int, Intent, int, int, int, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.startLocalVoiceInteraction_added(android.os.Bundle)" class="hiddenlink" target="rightframe"><b>startLocalVoiceInteraction</b>
+(<code>Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Service.html#android.app.Service.stopForeground_added(int)" class="hiddenlink" target="rightframe"><b>stopForeground</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.stopLocalVoiceInteraction_added()" class="hiddenlink" target="rightframe"><b>stopLocalVoiceInteraction</b>
+()</A></nobr><br>
+<i>stream</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(double[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(double[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(int[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(int[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(long[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(long[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(T[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[]</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Arrays.html#java.util.Arrays.stream_added(T[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T[], int, int</code>)</b>&nbsp;in&nbsp;java.util.Arrays
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.BitSet.html#java.util.BitSet.stream_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.BitSet
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Collection.html#java.util.Collection.stream_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;java.util.Collection
+</A></nobr><br>
+<nobr><A HREF="android.media.browse.MediaBrowser.html#android.media.browse.MediaBrowser.subscribe_added(java.lang.String, android.os.Bundle, android.media.browse.MediaBrowser.SubscriptionCallback)" class="hiddenlink" target="rightframe"><b>subscribe</b>
+(<code>String, Bundle, SubscriptionCallback</code>)</A></nobr><br>
+<i>subtractExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.subtractExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.subtractExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.subtractExact_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.subtractExact_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<i>sum</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Double.html#java.lang.Double.sum_added(double, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double, double</code>)</b>&nbsp;in&nbsp;java.lang.Double
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Float.html#java.lang.Float.sum_added(float, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float, float</code>)</b>&nbsp;in&nbsp;java.lang.Float
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Integer.html#java.lang.Integer.sum_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.Integer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Long.html#java.lang.Long.sum_added(long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long</code>)</b>&nbsp;in&nbsp;java.lang.Long
+</A></nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.supportsMultipleUsers_added()" class="hiddenlink" target="rightframe"><b>supportsMultipleUsers</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.NotificationManager.Policy.html#android.app.NotificationManager.Policy.suppressedEffectsToString_added(int)" class="hiddenlink" target="rightframe"><b>suppressedEffectsToString</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.opengl.GLSurfaceView.html#android.opengl.GLSurfaceView.surfaceRedrawNeeded_added(android.view.SurfaceHolder)" class="hiddenlink" target="rightframe"><b>surfaceRedrawNeeded</b>
+(<code>SurfaceHolder</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.synchronizedSet_changed(java.util.Set<T>)" class="hiddenlink" target="rightframe">synchronizedSet
+(<code>Set&lt;T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.synchronizedSortedSet_changed(java.util.SortedSet<T>)" class="hiddenlink" target="rightframe">synchronizedSortedSet
+(<code>SortedSet&lt;T&gt;</code>)</A></nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.tagDatagramSocket_added(java.net.DatagramSocket)" class="hiddenlink" target="rightframe"><b>tagDatagramSocket</b>
+(<code>DatagramSocket</code>)</A></nobr><br>
+<i>thenComparing</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparing_added(java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Comparator&lt;? super T&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparing_added(java.util.function.Function<? super T, ? extends U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Function&lt;? super T, ? extends U&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparing_added(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Function&lt;? super T, ? extends U&gt;, Comparator&lt;? super U&gt;</code>)</b>&nbsp;in&nbsp;java.util.Comparator
+</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparingDouble_added(java.util.function.ToDoubleFunction<? super T>)" class="hiddenlink" target="rightframe"><b>thenComparingDouble</b>
+(<code>ToDoubleFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparingInt_added(java.util.function.ToIntFunction<? super T>)" class="hiddenlink" target="rightframe"><b>thenComparingInt</b>
+(<code>ToIntFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Comparator.html#java.util.Comparator.thenComparingLong_added(java.util.function.ToLongFunction<? super T>)" class="hiddenlink" target="rightframe"><b>thenComparingLong</b>
+(<code>ToLongFunction&lt;? super T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.nio.charset.CoderResult.html#java.nio.charset.CoderResult.throwException_changed()" class="hiddenlink" target="rightframe">throwException
+()</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.timeShiftPlay_added(java.lang.String, android.net.Uri)" class="hiddenlink" target="rightframe"><b>timeShiftPlay</b>
+(<code>String, Uri</code>)</A></nobr><br>
+<i>toHtml</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.toHtml_added(android.text.Spanned, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Spanned, int</code>)</b>&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.toHtml_changed(android.text.Spanned)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Spanned</code>)&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+<i>toIntExact</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Math.html#java.lang.Math.toIntExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.Math
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StrictMath.html#java.lang.StrictMath.toIntExact_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.StrictMath
+</A></nobr><br>
+<nobr><A HREF="java.security.acl.Permission.html#java.security.acl.Permission.toString_removed()" class="hiddenlink" target="rightframe"><strike>toString</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvView.html#android.media.tv.TvView.tune_added(java.lang.String, android.net.Uri, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>tune</b>
+(<code>String, Uri, Bundle</code>)</A></nobr><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.nio.charset.CoderResult.html#java.nio.charset.CoderResult.unmappableForLength_changed(int)" class="hiddenlink" target="rightframe">unmappableForLength
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.unmodifiableCollection_changed(java.util.Collection<? extends T>)" class="hiddenlink" target="rightframe">unmodifiableCollection
+(<code>Collection&lt;? extends T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.unmodifiableList_changed(java.util.List<? extends T>)" class="hiddenlink" target="rightframe">unmodifiableList
+(<code>List&lt;? extends T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.unmodifiableSet_changed(java.util.Set<? extends T>)" class="hiddenlink" target="rightframe">unmodifiableSet
+(<code>Set&lt;? extends T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.unmodifiableSortedSet_changed(java.util.SortedSet<T>)" class="hiddenlink" target="rightframe">unmodifiableSortedSet
+(<code>SortedSet&lt;T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.unregisterAudioRecordingCallback_added(android.media.AudioManager.AudioRecordingCallback)" class="hiddenlink" target="rightframe"><b>unregisterAudioRecordingCallback</b>
+(<code>AudioRecordingCallback</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.unregisterDynamicSensorCallback_added(android.hardware.SensorManager.DynamicSensorCallback)" class="hiddenlink" target="rightframe"><b>unregisterDynamicSensorCallback</b>
+(<code>DynamicSensorCallback</code>)</A></nobr><br>
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.unregisterGnssMeasurementsCallback_added(android.location.GnssMeasurementsEvent.Callback)" class="hiddenlink" target="rightframe"><b>unregisterGnssMeasurementsCallback</b>
+(<code>Callback</code>)</A></nobr><br>
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.unregisterGnssNavigationMessageCallback_added(android.location.GnssNavigationMessage.Callback)" class="hiddenlink" target="rightframe"><b>unregisterGnssNavigationMessageCallback</b>
+(<code>Callback</code>)</A></nobr><br>
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.unregisterGnssStatusCallback_added(android.location.GnssStatus.Callback)" class="hiddenlink" target="rightframe"><b>unregisterGnssStatusCallback</b>
+(<code>Callback</code>)</A></nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.unregisterUsageCallback_added(android.app.usage.NetworkStatsManager.UsageCallback)" class="hiddenlink" target="rightframe"><b>unregisterUsageCallback</b>
+(<code>UsageCallback</code>)</A></nobr><br>
+<nobr><A HREF="android.media.browse.MediaBrowser.html#android.media.browse.MediaBrowser.unsubscribe_added(java.lang.String, android.media.browse.MediaBrowser.SubscriptionCallback)" class="hiddenlink" target="rightframe"><b>unsubscribe</b>
+(<code>String, SubscriptionCallback</code>)</A></nobr><br>
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.untagDatagramSocket_added(java.net.DatagramSocket)" class="hiddenlink" target="rightframe"><b>untagDatagramSocket</b>
+(<code>DatagramSocket</code>)</A></nobr><br>
+<i>updateAndGet</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicInteger.html#java.util.concurrent.atomic.AtomicInteger.updateAndGet_added(java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicInteger
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html#java.util.concurrent.atomic.AtomicIntegerArray.updateAndGet_added(int, java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html#java.util.concurrent.atomic.AtomicIntegerFieldUpdater.updateAndGet_added(T, java.util.function.IntUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, IntUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicIntegerFieldUpdater
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLong.html#java.util.concurrent.atomic.AtomicLong.updateAndGet_added(java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLong
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongArray.html#java.util.concurrent.atomic.AtomicLongArray.updateAndGet_added(int, java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html#java.util.concurrent.atomic.AtomicLongFieldUpdater.updateAndGet_added(T, java.util.function.LongUnaryOperator)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, LongUnaryOperator</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicLongFieldUpdater
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReference.html#java.util.concurrent.atomic.AtomicReference.updateAndGet_added(java.util.function.UnaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>UnaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReference
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html#java.util.concurrent.atomic.AtomicReferenceArray.updateAndGet_added(int, java.util.function.UnaryOperator<E>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, UnaryOperator&lt;E&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html#java.util.concurrent.atomic.AtomicReferenceFieldUpdater.updateAndGet_added(T, java.util.function.UnaryOperator<V>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, UnaryOperator&lt;V&gt;</code>)</b>&nbsp;in&nbsp;java.util.concurrent.atomic.AtomicReferenceFieldUpdater
+</A></nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.updateAutomaticZenRule_added(java.lang.String, android.app.AutomaticZenRule)" class="hiddenlink" target="rightframe"><b>updateAutomaticZenRule</b>
+(<code>String, AutomaticZenRule</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.updateDragShadow_added(android.view.View.DragShadowBuilder)" class="hiddenlink" target="rightframe"><b>updateDragShadow</b>
+(<code>DragShadowBuilder</code>)</A></nobr><br>
+<nobr><A HREF="android.media.tv.TvInputManager.html#android.media.tv.TvInputManager.updateTvInputInfo_added(android.media.tv.TvInputInfo)" class="hiddenlink" target="rightframe"><b>updateTvInputInfo</b>
+(<code>TvInputInfo</code>)</A></nobr><br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.validateSql_added(java.lang.String, android.os.CancellationSignal)" class="hiddenlink" target="rightframe"><b>validateSql</b>
+(<code>String, CancellationSignal</code>)</A></nobr><br>
+<nobr><A HREF="java.sql.Timestamp.html#java.sql.Timestamp.valueOf_changed(java.lang.String)" class="hiddenlink" target="rightframe">valueOf
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="java.util.SortedMap.html#java.util.SortedMap.values_added()" class="hiddenlink" target="rightframe"><b>values</b>
+()</A></nobr><br>
+<nobr><A HREF="java.security.cert.X509Certificate.html#java.security.cert.X509Certificate.verify_added(java.security.PublicKey, java.security.Provider)" class="hiddenlink" target="rightframe"><b>verify</b>
+(<code>PublicKey, Provider</code>)</A></nobr><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>writeToParcel</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattCharacteristic.html#android.bluetooth.BluetoothGattCharacteristic.writeToParcel_added(android.os.Parcel, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcel, int</code>)</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattCharacteristic
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattDescriptor.html#android.bluetooth.BluetoothGattDescriptor.writeToParcel_added(android.os.Parcel, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcel, int</code>)</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattDescriptor
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.bluetooth.BluetoothGattService.html#android.bluetooth.BluetoothGattService.writeToParcel_added(android.os.Parcel, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcel, int</code>)</b>&nbsp;in&nbsp;android.bluetooth.BluetoothGattService
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioFormat.html#android.media.AudioFormat.writeToParcel_added(android.os.Parcel, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Parcel, int</code>)</b>&nbsp;in&nbsp;android.media.AudioFormat
+</A></nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/methods_index_changes.html b/docs/html/sdk/api_diff/24/changes/methods_index_changes.html
new file mode 100644
index 0000000..2179a55
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/methods_index_changes.html
@@ -0,0 +1,646 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Method Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Methods" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="methods_index_all.html" class="staysblack">All Methods</a>
+  <br>
+<A HREF="methods_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="methods_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.addGpsStatusListener_changed(android.location.GpsStatus.Listener)" class="hiddenlink" target="rightframe">addGpsStatusListener
+(<code>Listener</code>)</A></nobr><br>
+<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.addHandler_changed(java.util.logging.Handler)" class="hiddenlink" target="rightframe">addHandler
+(<code>Handler</code>)</A></nobr><br>
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.addNmeaListener_changed(android.location.GpsStatus.NmeaListener)" class="hiddenlink" target="rightframe">addNmeaListener
+(<code>NmeaListener</code>)</A></nobr><br>
+<i>addOnRoutingChangedListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.addOnRoutingChangedListener_changed(android.media.AudioRecord.OnRoutingChangedListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>OnRoutingChangedListener, Handler</code>)&nbsp;in&nbsp;android.media.AudioRecord
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.addOnRoutingChangedListener_changed(android.media.AudioTrack.OnRoutingChangedListener, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>OnRoutingChangedListener, Handler</code>)&nbsp;in&nbsp;android.media.AudioTrack
+</A></nobr><br>
+<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.addPropertyChangeListener_changed(java.beans.PropertyChangeListener)" class="hiddenlink" target="rightframe">addPropertyChangeListener
+(<code>PropertyChangeListener</code>)</A></nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.checkAccess_changed()" class="hiddenlink" target="rightframe">checkAccess
+()</A></nobr><br>
+<i>clearCache</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.clearCache_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.clearCache_changed(java.lang.ClassLoader)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>ClassLoader</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<i>close</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.close_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.logging.Handler
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.MemoryHandler.html#java.util.logging.MemoryHandler.close_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.logging.MemoryHandler
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.StreamHandler.html#java.util.logging.StreamHandler.close_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.logging.StreamHandler
+</A></nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.defaulted_changed(java.lang.String)" class="hiddenlink" target="rightframe">defaulted
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.defaultReadObject_changed()" class="hiddenlink" target="rightframe">defaultReadObject
+()</A></nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.io.ObjectOutputStream.html#java.io.ObjectOutputStream.enableReplaceObject_changed(boolean)" class="hiddenlink" target="rightframe">enableReplaceObject
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.enableResolveObject_changed(boolean)" class="hiddenlink" target="rightframe">enableResolveObject
+(<code>boolean</code>)</A></nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.util.Formattable.html#java.util.Formattable.formatTo_changed(java.util.Formatter, int, int, int)" class="hiddenlink" target="rightframe">formatTo
+(<code>Formatter, int, int, int</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Character.UnicodeBlock.html#java.lang.Character.UnicodeBlock.forName_changed(java.lang.String)" class="hiddenlink" target="rightframe">forName
+(<code>String</code>)</A></nobr><br>
+<i>fromHtml</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.fromHtml_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.Html.html#android.text.Html.fromHtml_changed(java.lang.String, android.text.Html.ImageGetter, android.text.Html.TagHandler)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, ImageGetter, TagHandler</code>)&nbsp;in&nbsp;android.text.Html
+</A></nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>get</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, boolean</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, byte)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, byte</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, char)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, char</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, double)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, double</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, float)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, float</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, int</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Object</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, long)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, long</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.ObjectInputStream.GetField.html#java.io.ObjectInputStream.GetField.get_changed(java.lang.String, short)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, short</code>)&nbsp;in&nbsp;java.io.ObjectInputStream.GetField
+</A></nobr><br>
+<i>getBundle</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.Locale, java.lang.ClassLoader)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Locale, ClassLoader</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.Locale)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Locale</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.Locale, java.util.ResourceBundle.Control)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Locale, Control</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.ResourceBundle.html#java.util.ResourceBundle.getBundle_changed(java.lang.String, java.util.ResourceBundle.Control)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Control</code>)&nbsp;in&nbsp;java.util.ResourceBundle
+</A></nobr><br>
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.getCalendarView_changed()" class="hiddenlink" target="rightframe">getCalendarView
+()</A></nobr><br>
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.getCalendarViewShown_changed()" class="hiddenlink" target="rightframe">getCalendarViewShown
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getConstructor_changed(java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getConstructor
+(<code>Class&lt;?&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getConstructors_changed()" class="hiddenlink" target="rightframe">getConstructors
+()</A></nobr><br>
+<nobr><A HREF="java.util.ResourceBundle.Control.html#java.util.ResourceBundle.Control.getControl_changed(java.util.List<java.lang.String>)" class="hiddenlink" target="rightframe">getControl
+(<code>List&lt;String&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredConstructor_changed(java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getDeclaredConstructor
+(<code>Class&lt;?&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredConstructors_changed()" class="hiddenlink" target="rightframe">getDeclaredConstructors
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredMethod_changed(java.lang.String, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getDeclaredMethod
+(<code>String, Class&lt;?&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredMethods_changed()" class="hiddenlink" target="rightframe">getDeclaredMethods
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getFields_changed()" class="hiddenlink" target="rightframe">getFields
+()</A></nobr><br>
+<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.getGlobal_changed()" class="hiddenlink" target="rightframe">getGlobal
+()</A></nobr><br>
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.getGpsStatus_changed(android.location.GpsStatus)" class="hiddenlink" target="rightframe">getGpsStatus
+(<code>GpsStatus</code>)</A></nobr><br>
+<i>getInstance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.text.DecimalFormatSymbols.html#java.text.DecimalFormatSymbols.getInstance_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.text.DecimalFormatSymbols
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.text.DecimalFormatSymbols.html#java.text.DecimalFormatSymbols.getInstance_changed(java.util.Locale)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Locale</code>)&nbsp;in&nbsp;java.text.DecimalFormatSymbols
+</A></nobr><br>
+<nobr><A HREF="java.util.Locale.html#java.util.Locale.getISO3Country_changed()" class="hiddenlink" target="rightframe">getISO3Country
+()</A></nobr><br>
+<nobr><A HREF="java.util.Locale.html#java.util.Locale.getISO3Language_changed()" class="hiddenlink" target="rightframe">getISO3Language
+()</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.getLastNonConfigurationInstance_changed()" class="hiddenlink" target="rightframe">getLastNonConfigurationInstance
+()</A></nobr><br>
+<nobr><A HREF="java.util.EventListenerProxy.html#java.util.EventListenerProxy.getListener_changed()" class="hiddenlink" target="rightframe">getListener
+()</A></nobr><br>
+<i>getLocale</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.SuggestionSpan.html#android.text.style.SuggestionSpan.getLocale_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.text.style.SuggestionSpan
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.getLocale_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.view.inputmethod.InputMethodSubtype
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.textservice.SpellCheckerSubtype.html#android.view.textservice.SpellCheckerSubtype.getLocale_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.view.textservice.SpellCheckerSubtype
+</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getMethod_changed(java.lang.String, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getMethod
+(<code>String, Class&lt;?&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getMethods_changed()" class="hiddenlink" target="rightframe">getMethods
+()</A></nobr><br>
+<nobr><A HREF="java.util.ResourceBundle.Control.html#java.util.ResourceBundle.Control.getNoFallbackControl_changed(java.util.List<java.lang.String>)" class="hiddenlink" target="rightframe">getNoFallbackControl
+(<code>List&lt;String&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.text.TextUtils.html#android.text.TextUtils.getReverse_changed(java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">getReverse
+(<code>CharSequence, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.CalendarView.html#android.widget.CalendarView.getShowWeekNumber_changed()" class="hiddenlink" target="rightframe">getShowWeekNumber
+()</A></nobr><br>
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.getSpinnersShown_changed()" class="hiddenlink" target="rightframe">getSpinnersShown
+()</A></nobr><br>
+<nobr><A HREF="android.opengl.GLES30.html#android.opengl.GLES30.glGetTransformFeedbackVarying_changed(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, byte)" class="hiddenlink" target="rightframe">glGetTransformFeedbackVarying
+(<code>int, int, int, IntBuffer, IntBuffer, IntBuffer, byte</code>)</A></nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>isAnnotationPresent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AnnotatedElement.html#java.lang.reflect.AnnotatedElement.isAnnotationPresent_changed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Class&lt;Annotation&gt;</code>)&nbsp;in&nbsp;java.lang.reflect.AnnotatedElement
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Constructor.html#java.lang.reflect.Constructor.isAnnotationPresent_changed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Class&lt;Annotation&gt;</code>)&nbsp;in&nbsp;java.lang.reflect.Constructor
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Field.html#java.lang.reflect.Field.isAnnotationPresent_changed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Class&lt;Annotation&gt;</code>)&nbsp;in&nbsp;java.lang.reflect.Field
+</A></nobr><br>
+<nobr><A HREF="android.text.TextUtils.html#android.text.TextUtils.isGraphic_changed(char)" class="hiddenlink" target="rightframe">isGraphic
+(<code>char</code>)</A></nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.nio.charset.CoderResult.html#java.nio.charset.CoderResult.length_changed()" class="hiddenlink" target="rightframe">length
+()</A></nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.nio.charset.CoderResult.html#java.nio.charset.CoderResult.malformedForLength_changed(int)" class="hiddenlink" target="rightframe">malformedForLength
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Process.html#android.os.Process.myUserHandle_changed()" class="hiddenlink" target="rightframe">myUserHandle
+()</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.onFilterSms_changed(android.service.carrier.MessagePdu, java.lang.String, int, int, android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Boolean>)" class="hiddenlink" target="rightframe">onFilterSms
+(<code>MessagePdu, String, int, int, ResultCallback&lt;Boolean&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DeviceAdminReceiver.html#android.app.admin.DeviceAdminReceiver.onReadyForUserInitialization_changed(android.content.Context, android.content.Intent)" class="hiddenlink" target="rightframe">onReadyForUserInitialization
+(<code>Context, Intent</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onRetainNonConfigurationInstance_changed()" class="hiddenlink" target="rightframe">onRetainNonConfigurationInstance
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onUnhandledKeyEvent_changed(android.webkit.WebView, android.view.KeyEvent)" class="hiddenlink" target="rightframe">onUnhandledKeyEvent
+(<code>WebView, KeyEvent</code>)</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>readConfiguration</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.readConfiguration_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.logging.LogManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.readConfiguration_changed(java.io.InputStream)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>InputStream</code>)&nbsp;in&nbsp;java.util.logging.LogManager
+</A></nobr><br>
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.readFields_changed()" class="hiddenlink" target="rightframe">readFields
+()</A></nobr><br>
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.readObject_changed()" class="hiddenlink" target="rightframe">readObject
+()</A></nobr><br>
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.readObjectOverride_changed()" class="hiddenlink" target="rightframe">readObjectOverride
+()</A></nobr><br>
+<i>release</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContentProviderClient.html#android.content.ContentProviderClient.release_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.content.ContentProviderClient
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.drm.DrmManagerClient.html#android.drm.DrmManagerClient.release_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.drm.DrmManagerClient
+</A></nobr><br>
+<i>remove</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.ref.ReferenceQueue.html#java.lang.ref.ReferenceQueue.remove_changed(long)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>long</code>)&nbsp;in&nbsp;java.lang.ref.ReferenceQueue
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Iterator.html#java.util.Iterator.remove_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.util.Iterator
+</A></nobr><br>
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.removeGpsStatusListener_changed(android.location.GpsStatus.Listener)" class="hiddenlink" target="rightframe">removeGpsStatusListener
+(<code>Listener</code>)</A></nobr><br>
+<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.removeHandler_changed(java.util.logging.Handler)" class="hiddenlink" target="rightframe">removeHandler
+(<code>Handler</code>)</A></nobr><br>
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.removeNmeaListener_changed(android.location.GpsStatus.NmeaListener)" class="hiddenlink" target="rightframe">removeNmeaListener
+(<code>NmeaListener</code>)</A></nobr><br>
+<i>removeOnRoutingChangedListener</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioRecord.html#android.media.AudioRecord.removeOnRoutingChangedListener_changed(android.media.AudioRecord.OnRoutingChangedListener)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>OnRoutingChangedListener</code>)&nbsp;in&nbsp;android.media.AudioRecord
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.AudioTrack.html#android.media.AudioTrack.removeOnRoutingChangedListener_changed(android.media.AudioTrack.OnRoutingChangedListener)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>OnRoutingChangedListener</code>)&nbsp;in&nbsp;android.media.AudioTrack
+</A></nobr><br>
+<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.removePropertyChangeListener_changed(java.beans.PropertyChangeListener)" class="hiddenlink" target="rightframe">removePropertyChangeListener
+(<code>PropertyChangeListener</code>)</A></nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.requestCancelDecode_changed()" class="hiddenlink" target="rightframe">requestCancelDecode
+()</A></nobr><br>
+<nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.reset_changed()" class="hiddenlink" target="rightframe">reset
+()</A></nobr><br>
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.restoreAllState_changed(android.os.Parcelable, java.util.List<android.app.Fragment>)" class="hiddenlink" target="rightframe">restoreAllState
+(<code>Parcelable, List&lt;Fragment&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.app.FragmentController.html#android.app.FragmentController.retainNonConfig_changed()" class="hiddenlink" target="rightframe">retainNonConfig
+()</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>setAccessible</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.setAccessible_changed(java.lang.reflect.AccessibleObject[], boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>AccessibleObject[], boolean</code>)&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.setAccessible_changed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>boolean</code>)&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.setCalendarViewShown_changed(boolean)" class="hiddenlink" target="rightframe">setCalendarViewShown
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setContent_changed(android.widget.RemoteViews)" class="hiddenlink" target="rightframe">setContent
+(<code>RemoteViews</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setContentInfo_changed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">setContentInfo
+(<code>CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setEncoding_changed(java.lang.String)" class="hiddenlink" target="rightframe">setEncoding
+(<code>String</code>)</A></nobr><br>
+<i>setFilter</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setFilter_changed(java.util.logging.Filter)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Filter</code>)&nbsp;in&nbsp;java.util.logging.Handler
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.setFilter_changed(java.util.logging.Filter)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Filter</code>)&nbsp;in&nbsp;java.util.logging.Logger
+</A></nobr><br>
+<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setFormatter_changed(java.util.logging.Formatter)" class="hiddenlink" target="rightframe">setFormatter
+(<code>Formatter</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setGeolocationDatabasePath_changed(java.lang.String)" class="hiddenlink" target="rightframe">setGeolocationDatabasePath
+(<code>String</code>)</A></nobr><br>
+<i>setLevel</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setLevel_changed(java.util.logging.Level)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Level</code>)&nbsp;in&nbsp;java.util.logging.Handler
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.logging.Logger.html#java.util.logging.Logger.setLevel_changed(java.util.logging.Level)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Level</code>)&nbsp;in&nbsp;java.util.logging.Logger
+</A></nobr><br>
+<nobr><A HREF="java.sql.Timestamp.html#java.sql.Timestamp.setNanos_changed(int)" class="hiddenlink" target="rightframe">setNanos
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setNumber_changed(int)" class="hiddenlink" target="rightframe">setNumber
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="java.util.logging.StreamHandler.html#java.util.logging.StreamHandler.setOutputStream_changed(java.io.OutputStream)" class="hiddenlink" target="rightframe">setOutputStream
+(<code>OutputStream</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setProgress_changed(int)" class="hiddenlink" target="rightframe">setProgress
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setProgressBarIndeterminate_changed(boolean)" class="hiddenlink" target="rightframe">setProgressBarIndeterminate
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setProgressBarIndeterminateVisibility_changed(boolean)" class="hiddenlink" target="rightframe">setProgressBarIndeterminateVisibility
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setProgressBarVisibility_changed(boolean)" class="hiddenlink" target="rightframe">setProgressBarVisibility
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.util.logging.MemoryHandler.html#java.util.logging.MemoryHandler.setPushLevel_changed(java.util.logging.Level)" class="hiddenlink" target="rightframe">setPushLevel
+(<code>Level</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setSecondaryProgress_changed(int)" class="hiddenlink" target="rightframe">setSecondaryProgress
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.CalendarView.html#android.widget.CalendarView.setShowWeekNumber_changed(boolean)" class="hiddenlink" target="rightframe">setShowWeekNumber
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.DatePicker.html#android.widget.DatePicker.setSpinnersShown_changed(boolean)" class="hiddenlink" target="rightframe">setSpinnersShown
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.shouldOverrideUrlLoading_changed(android.webkit.WebView, java.lang.String)" class="hiddenlink" target="rightframe">shouldOverrideUrlLoading
+(<code>WebView, String</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.startDrag_changed(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)" class="hiddenlink" target="rightframe">startDrag
+(<code>ClipData, DragShadowBuilder, Object, int</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.synchronizedSet_changed(java.util.Set<T>)" class="hiddenlink" target="rightframe">synchronizedSet
+(<code>Set&lt;T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.synchronizedSortedSet_changed(java.util.SortedSet<T>)" class="hiddenlink" target="rightframe">synchronizedSortedSet
+(<code>SortedSet&lt;T&gt;</code>)</A></nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.nio.charset.CoderResult.html#java.nio.charset.CoderResult.throwException_changed()" class="hiddenlink" target="rightframe">throwException
+()</A></nobr><br>
+<nobr><A HREF="android.text.Html.html#android.text.Html.toHtml_changed(android.text.Spanned)" class="hiddenlink" target="rightframe">toHtml
+(<code>Spanned</code>)</A></nobr><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.nio.charset.CoderResult.html#java.nio.charset.CoderResult.unmappableForLength_changed(int)" class="hiddenlink" target="rightframe">unmappableForLength
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.unmodifiableCollection_changed(java.util.Collection<? extends T>)" class="hiddenlink" target="rightframe">unmodifiableCollection
+(<code>Collection&lt;? extends T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.unmodifiableList_changed(java.util.List<? extends T>)" class="hiddenlink" target="rightframe">unmodifiableList
+(<code>List&lt;? extends T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.unmodifiableSet_changed(java.util.Set<? extends T>)" class="hiddenlink" target="rightframe">unmodifiableSet
+(<code>Set&lt;? extends T&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.util.Collections.html#java.util.Collections.unmodifiableSortedSet_changed(java.util.SortedSet<T>)" class="hiddenlink" target="rightframe">unmodifiableSortedSet
+(<code>SortedSet&lt;T&gt;</code>)</A></nobr><br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.sql.Timestamp.html#java.sql.Timestamp.valueOf_changed(java.lang.String)" class="hiddenlink" target="rightframe">valueOf
+(<code>String</code>)</A></nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/methods_index_removals.html b/docs/html/sdk/api_diff/24/changes/methods_index_removals.html
new file mode 100644
index 0000000..c6f2749
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/methods_index_removals.html
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Method Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Methods" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="methods_index_all.html" class="staysblack">All Methods</a>
+  <br>
+<b>Removals</b>
+  <br>
+<A HREF="methods_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="methods_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.createAndInitializeUser_removed(android.content.ComponentName, java.lang.String, java.lang.String, android.content.ComponentName, android.os.Bundle)" class="hiddenlink" target="rightframe"><strike>createAndInitializeUser</strike>
+(<code>ComponentName, String, String, ComponentName, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.createUser_removed(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe"><strike>createUser</strike>
+(<code>ComponentName, String</code>)</A></nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.security.acl.Permission.html#java.security.acl.Permission.equals_removed(java.lang.Object)" class="hiddenlink" target="rightframe"><strike>equals</strike>
+(<code>Object</code>)</A></nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.getDefaultBrowserPackageName_removed(int)" class="hiddenlink" target="rightframe"><strike>getDefaultBrowserPackageName</strike>
+(<code>int</code>)</A></nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>isAnnotationPresent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Class.html#java.lang.Class.isAnnotationPresent_removed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Class&lt;Annotation&gt;</code>)</strike>&nbsp;in&nbsp;java.lang.Class
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.Package.html#java.lang.Package.isAnnotationPresent_removed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Class&lt;Annotation&gt;</code>)</strike>&nbsp;in&nbsp;java.lang.Package
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.isAnnotationPresent_removed(java.lang.Class<? extends java.lang.annotation.Annotation>)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Class&lt;Annotation&gt;</code>)</strike>&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onUnhandledInputEvent_removed(android.webkit.WebView, android.view.InputEvent)" class="hiddenlink" target="rightframe"><strike>onUnhandledInputEvent</strike>
+(<code>WebView, InputEvent</code>)</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>remove</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.database.CursorJoiner.html#android.database.CursorJoiner.remove_removed()" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+()</strike>&nbsp;in&nbsp;android.database.CursorJoiner
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.TextUtils.SimpleStringSplitter.html#android.text.TextUtils.SimpleStringSplitter.remove_removed()" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+()</strike>&nbsp;in&nbsp;android.text.TextUtils.SimpleStringSplitter
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Scanner.html#java.util.Scanner.remove_removed()" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+()</strike>&nbsp;in&nbsp;java.util.Scanner
+</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.setDefaultBrowserPackageName_removed(java.lang.String, int)" class="hiddenlink" target="rightframe"><strike>setDefaultBrowserPackageName</strike>
+(<code>String, int</code>)</A></nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.security.acl.Permission.html#java.security.acl.Permission.toString_removed()" class="hiddenlink" target="rightframe"><strike>toString</strike>
+()</A></nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/packages_index_additions.html b/docs/html/sdk/api_diff/24/changes/packages_index_additions.html
new file mode 100644
index 0000000..748748e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/packages_index_additions.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Package Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Packages" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="packages_index_all.html" class="staysblack">All Packages</a>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="packages_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<br>
+<div id="indexTableEntries">
+<A NAME="A"></A>
+<A HREF="changes-summary.html#android.icu.lang" class="hiddenlink" target="rightframe"><b>android.icu.lang</b></A><br>
+<A HREF="changes-summary.html#android.icu.math" class="hiddenlink" target="rightframe"><b>android.icu.math</b></A><br>
+<A HREF="changes-summary.html#android.icu.text" class="hiddenlink" target="rightframe"><b>android.icu.text</b></A><br>
+<A HREF="changes-summary.html#android.icu.util" class="hiddenlink" target="rightframe"><b>android.icu.util</b></A><br>
+<A HREF="changes-summary.html#android.os.health" class="hiddenlink" target="rightframe"><b>android.os.health</b></A><br>
+<A HREF="changes-summary.html#android.service.quicksettings" class="hiddenlink" target="rightframe"><b>android.service.quicksettings</b></A><br>
+<A HREF="changes-summary.html#android.service.vr" class="hiddenlink" target="rightframe"><b>android.service.vr</b></A><br>
+<A NAME="J"></A>
+<A HREF="changes-summary.html#java.util.function" class="hiddenlink" target="rightframe"><b>java.util.function</b></A><br>
+<A HREF="changes-summary.html#java.util.stream" class="hiddenlink" target="rightframe"><b>java.util.stream</b></A><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/packages_index_all.html b/docs/html/sdk/api_diff/24/changes/packages_index_all.html
new file mode 100644
index 0000000..7964d5d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/packages_index_all.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Package Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Packages" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Packages</b>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<A HREF="packages_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="packages_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<br>
+<div id="indexTableEntries">
+<A NAME="A"></A>
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<A HREF="pkg_android.accessibilityservice.html" class="hiddenlink" target="rightframe">android.accessibilityservice</A><br>
+<A HREF="pkg_android.animation.html" class="hiddenlink" target="rightframe">android.animation</A><br>
+<A HREF="pkg_android.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<A HREF="pkg_android.app.admin.html" class="hiddenlink" target="rightframe">android.app.admin</A><br>
+<A HREF="pkg_android.app.assist.html" class="hiddenlink" target="rightframe">android.app.assist</A><br>
+<A HREF="pkg_android.app.backup.html" class="hiddenlink" target="rightframe">android.app.backup</A><br>
+<A HREF="pkg_android.app.job.html" class="hiddenlink" target="rightframe">android.app.job</A><br>
+<A HREF="pkg_android.app.usage.html" class="hiddenlink" target="rightframe">android.app.usage</A><br>
+<A HREF="pkg_android.bluetooth.html" class="hiddenlink" target="rightframe">android.bluetooth</A><br>
+<A HREF="pkg_android.content.html" class="hiddenlink" target="rightframe">android.content</A><br>
+<A HREF="pkg_android.content.pm.html" class="hiddenlink" target="rightframe">android.content.pm</A><br>
+<A HREF="pkg_android.content.res.html" class="hiddenlink" target="rightframe">android.content.res</A><br>
+<A HREF="pkg_android.database.html" class="hiddenlink" target="rightframe">android.database</A><br>
+<A HREF="pkg_android.database.sqlite.html" class="hiddenlink" target="rightframe">android.database.sqlite</A><br>
+<A HREF="pkg_android.drm.html" class="hiddenlink" target="rightframe">android.drm</A><br>
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<A HREF="pkg_android.graphics.drawable.html" class="hiddenlink" target="rightframe">android.graphics.drawable</A><br>
+<A HREF="pkg_android.hardware.html" class="hiddenlink" target="rightframe">android.hardware</A><br>
+<A HREF="pkg_android.hardware.camera2.html" class="hiddenlink" target="rightframe">android.hardware.camera2</A><br>
+<A HREF="pkg_android.hardware.camera2.params.html" class="hiddenlink" target="rightframe">android.hardware.camera2.params</A><br>
+<A HREF="changes-summary.html#android.icu.lang" class="hiddenlink" target="rightframe"><b>android.icu.lang</b></A><br>
+<A HREF="changes-summary.html#android.icu.math" class="hiddenlink" target="rightframe"><b>android.icu.math</b></A><br>
+<A HREF="changes-summary.html#android.icu.text" class="hiddenlink" target="rightframe"><b>android.icu.text</b></A><br>
+<A HREF="changes-summary.html#android.icu.util" class="hiddenlink" target="rightframe"><b>android.icu.util</b></A><br>
+<A HREF="pkg_android.location.html" class="hiddenlink" target="rightframe">android.location</A><br>
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<A HREF="pkg_android.media.browse.html" class="hiddenlink" target="rightframe">android.media.browse</A><br>
+<A HREF="pkg_android.media.session.html" class="hiddenlink" target="rightframe">android.media.session</A><br>
+<A HREF="pkg_android.media.tv.html" class="hiddenlink" target="rightframe">android.media.tv</A><br>
+<A HREF="pkg_android.mtp.html" class="hiddenlink" target="rightframe">android.mtp</A><br>
+<A HREF="pkg_android.net.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<A HREF="pkg_android.net.wifi.html" class="hiddenlink" target="rightframe">android.net.wifi</A><br>
+<A HREF="pkg_android.nfc.html" class="hiddenlink" target="rightframe">android.nfc</A><br>
+<A HREF="pkg_android.nfc.cardemulation.html" class="hiddenlink" target="rightframe">android.nfc.cardemulation</A><br>
+<A HREF="pkg_android.opengl.html" class="hiddenlink" target="rightframe">android.opengl</A><br>
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<A HREF="changes-summary.html#android.os.health" class="hiddenlink" target="rightframe"><b>android.os.health</b></A><br>
+<A HREF="pkg_android.os.storage.html" class="hiddenlink" target="rightframe">android.os.storage</A><br>
+<A HREF="pkg_android.preference.html" class="hiddenlink" target="rightframe">android.preference</A><br>
+<A HREF="pkg_android.print.html" class="hiddenlink" target="rightframe">android.print</A><br>
+<A HREF="pkg_android.printservice.html" class="hiddenlink" target="rightframe">android.printservice</A><br>
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<A HREF="pkg_android.renderscript.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<A HREF="pkg_android.security.html" class="hiddenlink" target="rightframe">android.security</A><br>
+<A HREF="pkg_android.security.keystore.html" class="hiddenlink" target="rightframe">android.security.keystore</A><br>
+<A HREF="pkg_android.service.carrier.html" class="hiddenlink" target="rightframe">android.service.carrier</A><br>
+<A HREF="pkg_android.service.media.html" class="hiddenlink" target="rightframe">android.service.media</A><br>
+<A HREF="pkg_android.service.notification.html" class="hiddenlink" target="rightframe">android.service.notification</A><br>
+<A HREF="changes-summary.html#android.service.quicksettings" class="hiddenlink" target="rightframe"><b>android.service.quicksettings</b></A><br>
+<A HREF="pkg_android.service.voice.html" class="hiddenlink" target="rightframe">android.service.voice</A><br>
+<A HREF="changes-summary.html#android.service.vr" class="hiddenlink" target="rightframe"><b>android.service.vr</b></A><br>
+<A HREF="pkg_android.speech.tts.html" class="hiddenlink" target="rightframe">android.speech.tts</A><br>
+<A HREF="pkg_android.telecom.html" class="hiddenlink" target="rightframe">android.telecom</A><br>
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<A HREF="pkg_android.test.html" class="hiddenlink" target="rightframe">android.test</A><br>
+<A HREF="pkg_android.test.mock.html" class="hiddenlink" target="rightframe">android.test.mock</A><br>
+<A HREF="pkg_android.test.suitebuilder.annotation.html" class="hiddenlink" target="rightframe">android.test.suitebuilder.annotation</A><br>
+<A HREF="pkg_android.text.html" class="hiddenlink" target="rightframe">android.text</A><br>
+<A HREF="pkg_android.text.style.html" class="hiddenlink" target="rightframe">android.text.style</A><br>
+<A HREF="pkg_android.text.util.html" class="hiddenlink" target="rightframe">android.text.util</A><br>
+<A HREF="pkg_android.util.html" class="hiddenlink" target="rightframe">android.util</A><br>
+<A HREF="pkg_android.view.html" class="hiddenlink" target="rightframe">android.view</A><br>
+<A HREF="pkg_android.view.accessibility.html" class="hiddenlink" target="rightframe">android.view.accessibility</A><br>
+<A HREF="pkg_android.view.inputmethod.html" class="hiddenlink" target="rightframe">android.view.inputmethod</A><br>
+<A HREF="pkg_android.view.textservice.html" class="hiddenlink" target="rightframe">android.view.textservice</A><br>
+<A HREF="pkg_android.webkit.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<A HREF="pkg_android.widget.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<A NAME="J"></A>
+<A HREF="pkg_java.awt.font.html" class="hiddenlink" target="rightframe">java.awt.font</A><br>
+<A HREF="pkg_java.io.html" class="hiddenlink" target="rightframe">java.io</A><br>
+<A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<A HREF="pkg_java.lang.annotation.html" class="hiddenlink" target="rightframe">java.lang.annotation</A><br>
+<A HREF="pkg_java.lang.ref.html" class="hiddenlink" target="rightframe">java.lang.ref</A><br>
+<A HREF="pkg_java.lang.reflect.html" class="hiddenlink" target="rightframe">java.lang.reflect</A><br>
+<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<A HREF="pkg_java.nio.html" class="hiddenlink" target="rightframe">java.nio</A><br>
+<A HREF="pkg_java.nio.channels.html" class="hiddenlink" target="rightframe">java.nio.channels</A><br>
+<A HREF="pkg_java.nio.channels.spi.html" class="hiddenlink" target="rightframe">java.nio.channels.spi</A><br>
+<A HREF="pkg_java.nio.charset.html" class="hiddenlink" target="rightframe">java.nio.charset</A><br>
+<A HREF="pkg_java.security.html" class="hiddenlink" target="rightframe">java.security</A><br>
+<A HREF="pkg_java.security.acl.html" class="hiddenlink" target="rightframe">java.security.acl</A><br>
+<A HREF="pkg_java.security.cert.html" class="hiddenlink" target="rightframe">java.security.cert</A><br>
+<A HREF="pkg_java.sql.html" class="hiddenlink" target="rightframe">java.sql</A><br>
+<A HREF="pkg_java.text.html" class="hiddenlink" target="rightframe">java.text</A><br>
+<A HREF="pkg_java.util.html" class="hiddenlink" target="rightframe">java.util</A><br>
+<A HREF="pkg_java.util.concurrent.html" class="hiddenlink" target="rightframe">java.util.concurrent</A><br>
+<A HREF="pkg_java.util.concurrent.atomic.html" class="hiddenlink" target="rightframe">java.util.concurrent.atomic</A><br>
+<A HREF="pkg_java.util.concurrent.locks.html" class="hiddenlink" target="rightframe">java.util.concurrent.locks</A><br>
+<A HREF="changes-summary.html#java.util.function" class="hiddenlink" target="rightframe"><b>java.util.function</b></A><br>
+<A HREF="pkg_java.util.logging.html" class="hiddenlink" target="rightframe">java.util.logging</A><br>
+<A HREF="pkg_java.util.prefs.html" class="hiddenlink" target="rightframe">java.util.prefs</A><br>
+<A HREF="pkg_java.util.regex.html" class="hiddenlink" target="rightframe">java.util.regex</A><br>
+<A HREF="changes-summary.html#java.util.stream" class="hiddenlink" target="rightframe"><b>java.util.stream</b></A><br>
+<A HREF="pkg_java.util.zip.html" class="hiddenlink" target="rightframe">java.util.zip</A><br>
+<A HREF="pkg_javax.crypto.spec.html" class="hiddenlink" target="rightframe">javax.crypto.spec</A><br>
+<A HREF="pkg_javax.net.ssl.html" class="hiddenlink" target="rightframe">javax.net.ssl</A><br>
+<A HREF="pkg_javax.sql.html" class="hiddenlink" target="rightframe">javax.sql</A><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/packages_index_changes.html b/docs/html/sdk/api_diff/24/changes/packages_index_changes.html
new file mode 100644
index 0000000..a068f06
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/packages_index_changes.html
@@ -0,0 +1,153 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Package Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Packages" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="packages_index_all.html" class="staysblack">All Packages</a>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<A HREF="packages_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<br>
+<div id="indexTableEntries">
+<A NAME="A"></A>
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<A HREF="pkg_android.accessibilityservice.html" class="hiddenlink" target="rightframe">android.accessibilityservice</A><br>
+<A HREF="pkg_android.animation.html" class="hiddenlink" target="rightframe">android.animation</A><br>
+<A HREF="pkg_android.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<A HREF="pkg_android.app.admin.html" class="hiddenlink" target="rightframe">android.app.admin</A><br>
+<A HREF="pkg_android.app.assist.html" class="hiddenlink" target="rightframe">android.app.assist</A><br>
+<A HREF="pkg_android.app.backup.html" class="hiddenlink" target="rightframe">android.app.backup</A><br>
+<A HREF="pkg_android.app.job.html" class="hiddenlink" target="rightframe">android.app.job</A><br>
+<A HREF="pkg_android.app.usage.html" class="hiddenlink" target="rightframe">android.app.usage</A><br>
+<A HREF="pkg_android.bluetooth.html" class="hiddenlink" target="rightframe">android.bluetooth</A><br>
+<A HREF="pkg_android.content.html" class="hiddenlink" target="rightframe">android.content</A><br>
+<A HREF="pkg_android.content.pm.html" class="hiddenlink" target="rightframe">android.content.pm</A><br>
+<A HREF="pkg_android.content.res.html" class="hiddenlink" target="rightframe">android.content.res</A><br>
+<A HREF="pkg_android.database.html" class="hiddenlink" target="rightframe">android.database</A><br>
+<A HREF="pkg_android.database.sqlite.html" class="hiddenlink" target="rightframe">android.database.sqlite</A><br>
+<A HREF="pkg_android.drm.html" class="hiddenlink" target="rightframe">android.drm</A><br>
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<A HREF="pkg_android.graphics.drawable.html" class="hiddenlink" target="rightframe">android.graphics.drawable</A><br>
+<A HREF="pkg_android.hardware.html" class="hiddenlink" target="rightframe">android.hardware</A><br>
+<A HREF="pkg_android.hardware.camera2.html" class="hiddenlink" target="rightframe">android.hardware.camera2</A><br>
+<A HREF="pkg_android.hardware.camera2.params.html" class="hiddenlink" target="rightframe">android.hardware.camera2.params</A><br>
+<A HREF="pkg_android.location.html" class="hiddenlink" target="rightframe">android.location</A><br>
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<A HREF="pkg_android.media.browse.html" class="hiddenlink" target="rightframe">android.media.browse</A><br>
+<A HREF="pkg_android.media.session.html" class="hiddenlink" target="rightframe">android.media.session</A><br>
+<A HREF="pkg_android.media.tv.html" class="hiddenlink" target="rightframe">android.media.tv</A><br>
+<A HREF="pkg_android.mtp.html" class="hiddenlink" target="rightframe">android.mtp</A><br>
+<A HREF="pkg_android.net.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<A HREF="pkg_android.net.wifi.html" class="hiddenlink" target="rightframe">android.net.wifi</A><br>
+<A HREF="pkg_android.nfc.html" class="hiddenlink" target="rightframe">android.nfc</A><br>
+<A HREF="pkg_android.nfc.cardemulation.html" class="hiddenlink" target="rightframe">android.nfc.cardemulation</A><br>
+<A HREF="pkg_android.opengl.html" class="hiddenlink" target="rightframe">android.opengl</A><br>
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<A HREF="pkg_android.os.storage.html" class="hiddenlink" target="rightframe">android.os.storage</A><br>
+<A HREF="pkg_android.preference.html" class="hiddenlink" target="rightframe">android.preference</A><br>
+<A HREF="pkg_android.print.html" class="hiddenlink" target="rightframe">android.print</A><br>
+<A HREF="pkg_android.printservice.html" class="hiddenlink" target="rightframe">android.printservice</A><br>
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<A HREF="pkg_android.renderscript.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<A HREF="pkg_android.security.html" class="hiddenlink" target="rightframe">android.security</A><br>
+<A HREF="pkg_android.security.keystore.html" class="hiddenlink" target="rightframe">android.security.keystore</A><br>
+<A HREF="pkg_android.service.carrier.html" class="hiddenlink" target="rightframe">android.service.carrier</A><br>
+<A HREF="pkg_android.service.media.html" class="hiddenlink" target="rightframe">android.service.media</A><br>
+<A HREF="pkg_android.service.notification.html" class="hiddenlink" target="rightframe">android.service.notification</A><br>
+<A HREF="pkg_android.service.voice.html" class="hiddenlink" target="rightframe">android.service.voice</A><br>
+<A HREF="pkg_android.speech.tts.html" class="hiddenlink" target="rightframe">android.speech.tts</A><br>
+<A HREF="pkg_android.telecom.html" class="hiddenlink" target="rightframe">android.telecom</A><br>
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<A HREF="pkg_android.test.html" class="hiddenlink" target="rightframe">android.test</A><br>
+<A HREF="pkg_android.test.mock.html" class="hiddenlink" target="rightframe">android.test.mock</A><br>
+<A HREF="pkg_android.test.suitebuilder.annotation.html" class="hiddenlink" target="rightframe">android.test.suitebuilder.annotation</A><br>
+<A HREF="pkg_android.text.html" class="hiddenlink" target="rightframe">android.text</A><br>
+<A HREF="pkg_android.text.style.html" class="hiddenlink" target="rightframe">android.text.style</A><br>
+<A HREF="pkg_android.text.util.html" class="hiddenlink" target="rightframe">android.text.util</A><br>
+<A HREF="pkg_android.util.html" class="hiddenlink" target="rightframe">android.util</A><br>
+<A HREF="pkg_android.view.html" class="hiddenlink" target="rightframe">android.view</A><br>
+<A HREF="pkg_android.view.accessibility.html" class="hiddenlink" target="rightframe">android.view.accessibility</A><br>
+<A HREF="pkg_android.view.inputmethod.html" class="hiddenlink" target="rightframe">android.view.inputmethod</A><br>
+<A HREF="pkg_android.view.textservice.html" class="hiddenlink" target="rightframe">android.view.textservice</A><br>
+<A HREF="pkg_android.webkit.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<A HREF="pkg_android.widget.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<A NAME="J"></A>
+<A HREF="pkg_java.awt.font.html" class="hiddenlink" target="rightframe">java.awt.font</A><br>
+<A HREF="pkg_java.io.html" class="hiddenlink" target="rightframe">java.io</A><br>
+<A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<A HREF="pkg_java.lang.annotation.html" class="hiddenlink" target="rightframe">java.lang.annotation</A><br>
+<A HREF="pkg_java.lang.ref.html" class="hiddenlink" target="rightframe">java.lang.ref</A><br>
+<A HREF="pkg_java.lang.reflect.html" class="hiddenlink" target="rightframe">java.lang.reflect</A><br>
+<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<A HREF="pkg_java.nio.html" class="hiddenlink" target="rightframe">java.nio</A><br>
+<A HREF="pkg_java.nio.channels.html" class="hiddenlink" target="rightframe">java.nio.channels</A><br>
+<A HREF="pkg_java.nio.channels.spi.html" class="hiddenlink" target="rightframe">java.nio.channels.spi</A><br>
+<A HREF="pkg_java.nio.charset.html" class="hiddenlink" target="rightframe">java.nio.charset</A><br>
+<A HREF="pkg_java.security.html" class="hiddenlink" target="rightframe">java.security</A><br>
+<A HREF="pkg_java.security.acl.html" class="hiddenlink" target="rightframe">java.security.acl</A><br>
+<A HREF="pkg_java.security.cert.html" class="hiddenlink" target="rightframe">java.security.cert</A><br>
+<A HREF="pkg_java.sql.html" class="hiddenlink" target="rightframe">java.sql</A><br>
+<A HREF="pkg_java.text.html" class="hiddenlink" target="rightframe">java.text</A><br>
+<A HREF="pkg_java.util.html" class="hiddenlink" target="rightframe">java.util</A><br>
+<A HREF="pkg_java.util.concurrent.html" class="hiddenlink" target="rightframe">java.util.concurrent</A><br>
+<A HREF="pkg_java.util.concurrent.atomic.html" class="hiddenlink" target="rightframe">java.util.concurrent.atomic</A><br>
+<A HREF="pkg_java.util.concurrent.locks.html" class="hiddenlink" target="rightframe">java.util.concurrent.locks</A><br>
+<A HREF="pkg_java.util.logging.html" class="hiddenlink" target="rightframe">java.util.logging</A><br>
+<A HREF="pkg_java.util.prefs.html" class="hiddenlink" target="rightframe">java.util.prefs</A><br>
+<A HREF="pkg_java.util.regex.html" class="hiddenlink" target="rightframe">java.util.regex</A><br>
+<A HREF="pkg_java.util.zip.html" class="hiddenlink" target="rightframe">java.util.zip</A><br>
+<A HREF="pkg_javax.crypto.spec.html" class="hiddenlink" target="rightframe">javax.crypto.spec</A><br>
+<A HREF="pkg_javax.net.ssl.html" class="hiddenlink" target="rightframe">javax.net.ssl</A><br>
+<A HREF="pkg_javax.sql.html" class="hiddenlink" target="rightframe">javax.sql</A><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/packages_index_removals.html b/docs/html/sdk/api_diff/24/changes/packages_index_removals.html
new file mode 100644
index 0000000..1d3daa7
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/packages_index_removals.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Package Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Packages" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="packages_index_all.html" class="staysblack">All Packages</a>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<A HREF="packages_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="packages_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<br>
+<div id="indexTableEntries">
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.accessibilityservice.html b/docs/html/sdk/api_diff/24/changes/pkg_android.accessibilityservice.html
new file mode 100644
index 0000000..e4750da
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.accessibilityservice.html
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.accessibilityservice
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/accessibilityservice/package-summary.html" target="_top"><font size="+1"><code>android.accessibilityservice</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AccessibilityService.GestureResultCallback"></A>
+  <nobr><A HREF="../../../../reference/android/accessibilityservice/AccessibilityService.GestureResultCallback.html" target="_top"><code>AccessibilityService.<br>GestureResultCallback</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AccessibilityService.MagnificationController"></A>
+  <nobr><A HREF="../../../../reference/android/accessibilityservice/AccessibilityService.MagnificationController.html" target="_top"><code>AccessibilityService.<br>MagnificationController</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AccessibilityService.MagnificationController.OnMagnificationChangedListener"></A>
+  <nobr><A HREF="../../../../reference/android/accessibilityservice/AccessibilityService.MagnificationController.OnMagnificationChangedListener.html" target="_top"><code><I>AccessibilityService.<br>MagnificationController.OnMagnificationChangedListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AccessibilityService.SoftKeyboardController"></A>
+  <nobr><A HREF="../../../../reference/android/accessibilityservice/AccessibilityService.SoftKeyboardController.html" target="_top"><code>AccessibilityService.<br>SoftKeyboardController</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AccessibilityService.SoftKeyboardController.OnShowModeChangedListener"></A>
+  <nobr><A HREF="../../../../reference/android/accessibilityservice/AccessibilityService.SoftKeyboardController.OnShowModeChangedListener.html" target="_top"><code><I>AccessibilityService.<br>SoftKeyboardController.OnShowModeChangedListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GestureDescription"></A>
+  <nobr><A HREF="../../../../reference/android/accessibilityservice/GestureDescription.html" target="_top"><code>GestureDescription</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GestureDescription.Builder"></A>
+  <nobr><A HREF="../../../../reference/android/accessibilityservice/GestureDescription.Builder.html" target="_top"><code>GestureDescription.Builder</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GestureDescription.StrokeDescription"></A>
+  <nobr><A HREF="../../../../reference/android/accessibilityservice/GestureDescription.StrokeDescription.html" target="_top"><code>GestureDescription.StrokeDescription</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AccessibilityService"></A>
+  <nobr><A HREF="android.accessibilityservice.AccessibilityService.html">AccessibilityService</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AccessibilityServiceInfo"></A>
+  <nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html">AccessibilityServiceInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.animation.html b/docs/html/sdk/api_diff/24/changes/pkg_android.animation.html
new file mode 100644
index 0000000..72ee0e5
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.animation.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.animation
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/animation/package-summary.html" target="_top"><font size="+1"><code>android.animation</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Animator"></A>
+  <nobr><A HREF="android.animation.Animator.html">Animator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.app.admin.html b/docs/html/sdk/api_diff/24/changes/pkg_android.app.admin.html
new file mode 100644
index 0000000..7cf24e0
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.app.admin.html
@@ -0,0 +1,148 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.admin
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/app/admin/package-summary.html" target="_top"><font size="+1"><code>android.app.admin</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SecurityLog"></A>
+  <nobr><A HREF="../../../../reference/android/app/admin/SecurityLog.html" target="_top"><code>SecurityLog</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SecurityLog.SecurityEvent"></A>
+  <nobr><A HREF="../../../../reference/android/app/admin/SecurityLog.SecurityEvent.html" target="_top"><code>SecurityLog.SecurityEvent</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DeviceAdminReceiver"></A>
+  <nobr><A HREF="android.app.admin.DeviceAdminReceiver.html">DeviceAdminReceiver</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DevicePolicyManager"></A>
+  <nobr><A HREF="android.app.admin.DevicePolicyManager.html">DevicePolicyManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.app.assist.html b/docs/html/sdk/api_diff/24/changes/pkg_android.app.assist.html
new file mode 100644
index 0000000..521978f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.app.assist.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.assist
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/app/assist/package-summary.html" target="_top"><font size="+1"><code>android.app.assist</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AssistContent"></A>
+  <nobr><A HREF="android.app.assist.AssistContent.html">AssistContent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.app.backup.html b/docs/html/sdk/api_diff/24/changes/pkg_android.app.backup.html
new file mode 100644
index 0000000..53a3abc
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.app.backup.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.backup
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/app/backup/package-summary.html" target="_top"><font size="+1"><code>android.app.backup</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BackupAgent"></A>
+  <nobr><A HREF="android.app.backup.BackupAgent.html">BackupAgent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.app.html b/docs/html/sdk/api_diff/24/changes/pkg_android.app.html
new file mode 100644
index 0000000..52b0109
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.app.html
@@ -0,0 +1,351 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/app/package-summary.html" target="_top"><font size="+1"><code>android.app</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AlarmManager.OnAlarmListener"></A>
+  <nobr><A HREF="../../../../reference/android/app/AlarmManager.OnAlarmListener.html" target="_top"><code><I>AlarmManager.OnAlarmListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AutomaticZenRule"></A>
+  <nobr><A HREF="../../../../reference/android/app/AutomaticZenRule.html" target="_top"><code>AutomaticZenRule</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FragmentManagerNonConfig"></A>
+  <nobr><A HREF="../../../../reference/android/app/FragmentManagerNonConfig.html" target="_top"><code>FragmentManagerNonConfig</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.DecoratedCustomViewStyle"></A>
+  <nobr><A HREF="../../../../reference/android/app/Notification.DecoratedCustomViewStyle.html" target="_top"><code>Notification.DecoratedCustomViewStyle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.DecoratedMediaCustomViewStyle"></A>
+  <nobr><A HREF="../../../../reference/android/app/Notification.DecoratedMediaCustomViewStyle.html" target="_top"><code>Notification.DecoratedMediaCustomViewStyle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.MessagingStyle"></A>
+  <nobr><A HREF="../../../../reference/android/app/Notification.MessagingStyle.html" target="_top"><code>Notification.MessagingStyle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.MessagingStyle.Message"></A>
+  <nobr><A HREF="../../../../reference/android/app/Notification.MessagingStyle.Message.html" target="_top"><code>Notification.MessagingStyle.<br>Message</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Activity"></A>
+  <nobr><A HREF="android.app.Activity.html">Activity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ActivityOptions"></A>
+  <nobr><A HREF="android.app.ActivityOptions.html">ActivityOptions</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AlarmManager"></A>
+  <nobr><A HREF="android.app.AlarmManager.html">AlarmManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DatePickerDialog"></A>
+  <nobr><A HREF="android.app.DatePickerDialog.html">DatePickerDialog</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DownloadManager"></A>
+  <nobr><A HREF="android.app.DownloadManager.html">DownloadManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DownloadManager.Request"></A>
+  <nobr><A HREF="android.app.DownloadManager.Request.html">DownloadManager.Request</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Fragment"></A>
+  <nobr><A HREF="android.app.Fragment.html">Fragment</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FragmentController"></A>
+  <nobr><A HREF="android.app.FragmentController.html">FragmentController</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FragmentHostCallback"></A>
+  <nobr><A HREF="android.app.FragmentHostCallback.html">FragmentHostCallback</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FragmentTransaction"></A>
+  <nobr><A HREF="android.app.FragmentTransaction.html">FragmentTransaction</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Instrumentation"></A>
+  <nobr><A HREF="android.app.Instrumentation.html">Instrumentation</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification"></A>
+  <nobr><A HREF="android.app.Notification.html">Notification</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.Action"></A>
+  <nobr><A HREF="android.app.Notification.Action.html">Notification.Action</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.Action.Builder"></A>
+  <nobr><A HREF="android.app.Notification.Action.Builder.html">Notification.Action.Builder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.Action.WearableExtender"></A>
+  <nobr><A HREF="android.app.Notification.Action.WearableExtender.html">Notification.Action.WearableExtender</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.BigPictureStyle"></A>
+  <nobr><A HREF="android.app.Notification.BigPictureStyle.html">Notification.BigPictureStyle</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.BigTextStyle"></A>
+  <nobr><A HREF="android.app.Notification.BigTextStyle.html">Notification.BigTextStyle</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.Builder"></A>
+  <nobr><A HREF="android.app.Notification.Builder.html">Notification.Builder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.InboxStyle"></A>
+  <nobr><A HREF="android.app.Notification.InboxStyle.html">Notification.InboxStyle</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.MediaStyle"></A>
+  <nobr><A HREF="android.app.Notification.MediaStyle.html">Notification.MediaStyle</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.WearableExtender"></A>
+  <nobr><A HREF="android.app.Notification.WearableExtender.html">Notification.WearableExtender</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NotificationManager"></A>
+  <nobr><A HREF="android.app.NotificationManager.html">NotificationManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NotificationManager.Policy"></A>
+  <nobr><A HREF="android.app.NotificationManager.Policy.html">NotificationManager.Policy</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Service"></A>
+  <nobr><A HREF="android.app.Service.html">Service</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="UiAutomation"></A>
+  <nobr><A HREF="android.app.UiAutomation.html">UiAutomation</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WallpaperManager"></A>
+  <nobr><A HREF="android.app.WallpaperManager.html">WallpaperManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.app.job.html b/docs/html/sdk/api_diff/24/changes/pkg_android.app.job.html
new file mode 100644
index 0000000..760c98e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.app.job.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.job
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/app/job/package-summary.html" target="_top"><font size="+1"><code>android.app.job</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="JobInfo.TriggerContentUri"></A>
+  <nobr><A HREF="../../../../reference/android/app/job/JobInfo.TriggerContentUri.html" target="_top"><code>JobInfo.TriggerContentUri</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="JobInfo"></A>
+  <nobr><A HREF="android.app.job.JobInfo.html">JobInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="JobInfo.Builder"></A>
+  <nobr><A HREF="android.app.job.JobInfo.Builder.html">JobInfo.Builder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="JobParameters"></A>
+  <nobr><A HREF="android.app.job.JobParameters.html">JobParameters</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="JobScheduler"></A>
+  <nobr><A HREF="android.app.job.JobScheduler.html">JobScheduler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.app.usage.html b/docs/html/sdk/api_diff/24/changes/pkg_android.app.usage.html
new file mode 100644
index 0000000..0c62325
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.app.usage.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.usage
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/app/usage/package-summary.html" target="_top"><font size="+1"><code>android.app.usage</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NetworkStatsManager.UsageCallback"></A>
+  <nobr><A HREF="../../../../reference/android/app/usage/NetworkStatsManager.UsageCallback.html" target="_top"><code>NetworkStatsManager.UsageCallback</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NetworkStats.Bucket"></A>
+  <nobr><A HREF="android.app.usage.NetworkStats.Bucket.html">NetworkStats.Bucket</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NetworkStatsManager"></A>
+  <nobr><A HREF="android.app.usage.NetworkStatsManager.html">NetworkStatsManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.bluetooth.html b/docs/html/sdk/api_diff/24/changes/pkg_android.bluetooth.html
new file mode 100644
index 0000000..ab11f98
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.bluetooth.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.bluetooth
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/bluetooth/package-summary.html" target="_top"><font size="+1"><code>android.bluetooth</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BluetoothGattCharacteristic"></A>
+  <nobr><A HREF="android.bluetooth.BluetoothGattCharacteristic.html">BluetoothGattCharacteristic</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BluetoothGattDescriptor"></A>
+  <nobr><A HREF="android.bluetooth.BluetoothGattDescriptor.html">BluetoothGattDescriptor</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BluetoothGattService"></A>
+  <nobr><A HREF="android.bluetooth.BluetoothGattService.html">BluetoothGattService</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.content.html b/docs/html/sdk/api_diff/24/changes/pkg_android.content.html
new file mode 100644
index 0000000..884af88
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.content.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/content/package-summary.html" target="_top"><font size="+1"><code>android.content</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ClipDescription"></A>
+  <nobr><A HREF="android.content.ClipDescription.html">ClipDescription</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContentProviderClient"></A>
+  <nobr><A HREF="android.content.ContentProviderClient.html">ContentProviderClient</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContentResolver"></A>
+  <nobr><A HREF="android.content.ContentResolver.html">ContentResolver</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Context"></A>
+  <nobr><A HREF="android.content.Context.html">Context</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContextWrapper"></A>
+  <nobr><A HREF="android.content.ContextWrapper.html">ContextWrapper</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Intent"></A>
+  <nobr><A HREF="android.content.Intent.html">Intent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SyncRequest.Builder"></A>
+  <nobr><A HREF="android.content.SyncRequest.Builder.html">SyncRequest.Builder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.content.pm.html b/docs/html/sdk/api_diff/24/changes/pkg_android.content.pm.html
new file mode 100644
index 0000000..d90ba22
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.content.pm.html
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.pm
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/content/pm/package-summary.html" target="_top"><font size="+1"><code>android.content.pm</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ActivityInfo.WindowLayout"></A>
+  <nobr><A HREF="../../../../reference/android/content/pm/ActivityInfo.WindowLayout.html" target="_top"><code>ActivityInfo.WindowLayout</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ActivityInfo"></A>
+  <nobr><A HREF="android.content.pm.ActivityInfo.html">ActivityInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ApplicationInfo"></A>
+  <nobr><A HREF="android.content.pm.ApplicationInfo.html">ApplicationInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ComponentInfo"></A>
+  <nobr><A HREF="android.content.pm.ComponentInfo.html">ComponentInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FeatureInfo"></A>
+  <nobr><A HREF="android.content.pm.FeatureInfo.html">FeatureInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LauncherApps.Callback"></A>
+  <nobr><A HREF="android.content.pm.LauncherApps.Callback.html">LauncherApps.Callback</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PackageInstaller.Session"></A>
+  <nobr><A HREF="android.content.pm.PackageInstaller.Session.html">PackageInstaller.Session</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PackageInstaller.SessionParams"></A>
+  <nobr><A HREF="android.content.pm.PackageInstaller.SessionParams.html">PackageInstaller.SessionParams</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PackageManager"></A>
+  <nobr><A HREF="android.content.pm.PackageManager.html">PackageManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PermissionInfo"></A>
+  <nobr><A HREF="android.content.pm.PermissionInfo.html">PermissionInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ServiceInfo"></A>
+  <nobr><A HREF="android.content.pm.ServiceInfo.html">ServiceInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.content.res.html b/docs/html/sdk/api_diff/24/changes/pkg_android.content.res.html
new file mode 100644
index 0000000..7463c3e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.content.res.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.res
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/content/res/package-summary.html" target="_top"><font size="+1"><code>android.content.res</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Configuration"></A>
+  <nobr><A HREF="android.content.res.Configuration.html">Configuration</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Resources.NotFoundException"></A>
+  <nobr><A HREF="android.content.res.Resources.NotFoundException.html">Resources.NotFoundException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.database.html b/docs/html/sdk/api_diff/24/changes/pkg_android.database.html
new file mode 100644
index 0000000..401be13
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.database.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.database
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/database/package-summary.html" target="_top"><font size="+1"><code>android.database</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CursorJoiner"></A>
+  <nobr><A HREF="android.database.CursorJoiner.html">CursorJoiner</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.database.sqlite.html b/docs/html/sdk/api_diff/24/changes/pkg_android.database.sqlite.html
new file mode 100644
index 0000000..8e50555
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.database.sqlite.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.database.sqlite
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/database/sqlite/package-summary.html" target="_top"><font size="+1"><code>android.database.sqlite</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SQLiteDatabase"></A>
+  <nobr><A HREF="android.database.sqlite.SQLiteDatabase.html">SQLiteDatabase</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.drm.html b/docs/html/sdk/api_diff/24/changes/pkg_android.drm.html
new file mode 100644
index 0000000..de37253
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.drm.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.drm
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/drm/package-summary.html" target="_top"><font size="+1"><code>android.drm</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DrmManagerClient"></A>
+  <nobr><A HREF="android.drm.DrmManagerClient.html">DrmManagerClient</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.graphics.drawable.html b/docs/html/sdk/api_diff/24/changes/pkg_android.graphics.drawable.html
new file mode 100644
index 0000000..8f2dd90
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.graphics.drawable.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.graphics.drawable
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/graphics/drawable/package-summary.html" target="_top"><font size="+1"><code>android.graphics.drawable</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GradientDrawable"></A>
+  <nobr><A HREF="android.graphics.drawable.GradientDrawable.html">GradientDrawable</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LayerDrawable"></A>
+  <nobr><A HREF="android.graphics.drawable.LayerDrawable.html">LayerDrawable</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.graphics.html b/docs/html/sdk/api_diff/24/changes/pkg_android.graphics.html
new file mode 100644
index 0000000..c338e4e5
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.graphics.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.graphics
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/graphics/package-summary.html" target="_top"><font size="+1"><code>android.graphics</code></font></A>
+</H2>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AvoidXfermode"></A>
+  AvoidXfermode
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AvoidXfermode.Mode"></A>
+  AvoidXfermode.Mode
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PixelXorXfermode"></A>
+  PixelXorXfermode
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BitmapFactory.Options"></A>
+  <nobr><A HREF="android.graphics.BitmapFactory.Options.html">BitmapFactory.Options</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Color"></A>
+  <nobr><A HREF="android.graphics.Color.html">Color</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ImageFormat"></A>
+  <nobr><A HREF="android.graphics.ImageFormat.html">ImageFormat</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Outline"></A>
+  <nobr><A HREF="android.graphics.Outline.html">Outline</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Paint"></A>
+  <nobr><A HREF="android.graphics.Paint.html">Paint</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.hardware.camera2.html b/docs/html/sdk/api_diff/24/changes/pkg_android.hardware.camera2.html
new file mode 100644
index 0000000..465390b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.hardware.camera2.html
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.hardware.camera2
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/hardware/camera2/package-summary.html" target="_top"><font size="+1"><code>android.hardware.camera2</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CameraCaptureSession.CaptureCallback"></A>
+  <nobr><A HREF="android.hardware.camera2.CameraCaptureSession.CaptureCallback.html">CameraCaptureSession.<br>CaptureCallback</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CameraCharacteristics"></A>
+  <nobr><A HREF="android.hardware.camera2.CameraCharacteristics.html">CameraCharacteristics</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CameraDevice"></A>
+  <nobr><A HREF="android.hardware.camera2.CameraDevice.html">CameraDevice</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CameraMetadata"></A>
+  <nobr><A HREF="android.hardware.camera2.CameraMetadata.html">CameraMetadata</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CaptureRequest"></A>
+  <nobr><A HREF="android.hardware.camera2.CaptureRequest.html">CaptureRequest</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CaptureResult"></A>
+  <nobr><A HREF="android.hardware.camera2.CaptureResult.html">CaptureResult</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.hardware.camera2.params.html b/docs/html/sdk/api_diff/24/changes/pkg_android.hardware.camera2.params.html
new file mode 100644
index 0000000..a219095
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.hardware.camera2.params.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.hardware.camera2.params
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/hardware/camera2/params/package-summary.html" target="_top"><font size="+1"><code>android.hardware.camera2.params</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="OutputConfiguration"></A>
+  <nobr><A HREF="../../../../reference/android/hardware/camera2/params/OutputConfiguration.html" target="_top"><code>OutputConfiguration</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.hardware.html b/docs/html/sdk/api_diff/24/changes/pkg_android.hardware.html
new file mode 100644
index 0000000..11ca1de
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.hardware.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.hardware
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/hardware/package-summary.html" target="_top"><font size="+1"><code>android.hardware</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SensorAdditionalInfo"></A>
+  <nobr><A HREF="../../../../reference/android/hardware/SensorAdditionalInfo.html" target="_top"><code>SensorAdditionalInfo</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SensorEventCallback"></A>
+  <nobr><A HREF="../../../../reference/android/hardware/SensorEventCallback.html" target="_top"><code>SensorEventCallback</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SensorManager.DynamicSensorCallback"></A>
+  <nobr><A HREF="../../../../reference/android/hardware/SensorManager.DynamicSensorCallback.html" target="_top"><code>SensorManager.DynamicSensorCallback</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Camera"></A>
+  <nobr><A HREF="android.hardware.Camera.html">Camera</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Sensor"></A>
+  <nobr><A HREF="android.hardware.Sensor.html">Sensor</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SensorManager"></A>
+  <nobr><A HREF="android.hardware.SensorManager.html">SensorManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.html b/docs/html/sdk/api_diff/24/changes/pkg_android.html
new file mode 100644
index 0000000..e79af75
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/package-summary.html" target="_top"><font size="+1"><code>android</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Manifest.permission"></A>
+  <nobr><A HREF="android.Manifest.permission.html">Manifest.permission</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="R.attr"></A>
+  <nobr><A HREF="android.R.attr.html">R.attr</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="R.id"></A>
+  <nobr><A HREF="android.R.id.html">R.id</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="R.style"></A>
+  <nobr><A HREF="android.R.style.html">R.style</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.location.html b/docs/html/sdk/api_diff/24/changes/pkg_android.location.html
new file mode 100644
index 0000000..380f507
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.location.html
@@ -0,0 +1,218 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.location
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/location/package-summary.html" target="_top"><font size="+1"><code>android.location</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GnssClock"></A>
+  <nobr><A HREF="../../../../reference/android/location/GnssClock.html" target="_top"><code>GnssClock</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GnssMeasurement"></A>
+  <nobr><A HREF="../../../../reference/android/location/GnssMeasurement.html" target="_top"><code>GnssMeasurement</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GnssMeasurementsEvent"></A>
+  <nobr><A HREF="../../../../reference/android/location/GnssMeasurementsEvent.html" target="_top"><code>GnssMeasurementsEvent</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GnssMeasurementsEvent.Callback"></A>
+  <nobr><A HREF="../../../../reference/android/location/GnssMeasurementsEvent.Callback.html" target="_top"><code>GnssMeasurementsEvent.<br>Callback</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GnssNavigationMessage"></A>
+  <nobr><A HREF="../../../../reference/android/location/GnssNavigationMessage.html" target="_top"><code>GnssNavigationMessage</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GnssNavigationMessage.Callback"></A>
+  <nobr><A HREF="../../../../reference/android/location/GnssNavigationMessage.Callback.html" target="_top"><code>GnssNavigationMessage.<br>Callback</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GnssStatus"></A>
+  <nobr><A HREF="../../../../reference/android/location/GnssStatus.html" target="_top"><code>GnssStatus</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GnssStatus.Callback"></A>
+  <nobr><A HREF="../../../../reference/android/location/GnssStatus.Callback.html" target="_top"><code>GnssStatus.Callback</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="OnNmeaMessageListener"></A>
+  <nobr><A HREF="../../../../reference/android/location/OnNmeaMessageListener.html" target="_top"><code><I>OnNmeaMessageListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GpsSatellite"></A>
+  <nobr><A HREF="android.location.GpsSatellite.html">GpsSatellite</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GpsStatus"></A>
+  <nobr><A HREF="android.location.GpsStatus.html">GpsStatus</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GpsStatus.Listener"></A>
+  <nobr><A HREF="android.location.GpsStatus.Listener.html"><I>GpsStatus.Listener</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GpsStatus.NmeaListener"></A>
+  <nobr><A HREF="android.location.GpsStatus.NmeaListener.html"><I>GpsStatus.NmeaListener</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LocationManager"></A>
+  <nobr><A HREF="android.location.LocationManager.html">LocationManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.media.browse.html b/docs/html/sdk/api_diff/24/changes/pkg_android.media.browse.html
new file mode 100644
index 0000000..8de20a47
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.media.browse.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.browse
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/media/browse/package-summary.html" target="_top"><font size="+1"><code>android.media.browse</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaBrowser"></A>
+  <nobr><A HREF="android.media.browse.MediaBrowser.html">MediaBrowser</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaBrowser.SubscriptionCallback"></A>
+  <nobr><A HREF="android.media.browse.MediaBrowser.SubscriptionCallback.html">MediaBrowser.SubscriptionCallback</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.media.html b/docs/html/sdk/api_diff/24/changes/pkg_android.media.html
new file mode 100644
index 0000000..986aad0
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.media.html
@@ -0,0 +1,323 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/media/package-summary.html" target="_top"><font size="+1"><code>android.media</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioManager.AudioRecordingCallback"></A>
+  <nobr><A HREF="../../../../reference/android/media/AudioManager.AudioRecordingCallback.html" target="_top"><code>AudioManager.AudioRecordingCallback</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioRecordingConfiguration"></A>
+  <nobr><A HREF="../../../../reference/android/media/AudioRecordingConfiguration.html" target="_top"><code>AudioRecordingConfiguration</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioRouting"></A>
+  <nobr><A HREF="../../../../reference/android/media/AudioRouting.html" target="_top"><code><I>AudioRouting</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioRouting.OnRoutingChangedListener"></A>
+  <nobr><A HREF="../../../../reference/android/media/AudioRouting.OnRoutingChangedListener.html" target="_top"><code><I>AudioRouting.OnRoutingChangedListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DrmInitData"></A>
+  <nobr><A HREF="../../../../reference/android/media/DrmInitData.html" target="_top"><code>DrmInitData</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DrmInitData.SchemeInitData"></A>
+  <nobr><A HREF="../../../../reference/android/media/DrmInitData.SchemeInitData.html" target="_top"><code>DrmInitData.SchemeInitData</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaCodec.CryptoInfo.Pattern"></A>
+  <nobr><A HREF="../../../../reference/android/media/MediaCodec.CryptoInfo.Pattern.html" target="_top"><code>MediaCodec.CryptoInfo.Pattern</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioAttributes"></A>
+  <nobr><A HREF="android.media.AudioAttributes.html">AudioAttributes</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioDeviceInfo"></A>
+  <nobr><A HREF="android.media.AudioDeviceInfo.html">AudioDeviceInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioFormat"></A>
+  <nobr><A HREF="android.media.AudioFormat.html">AudioFormat</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioManager"></A>
+  <nobr><A HREF="android.media.AudioManager.html">AudioManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioRecord"></A>
+  <nobr><A HREF="android.media.AudioRecord.html">AudioRecord</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioRecord.OnRoutingChangedListener"></A>
+  <nobr><A HREF="android.media.AudioRecord.OnRoutingChangedListener.html"><I>AudioRecord.OnRoutingChangedListener</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioTimestamp"></A>
+  <nobr><A HREF="android.media.AudioTimestamp.html">AudioTimestamp</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioTrack"></A>
+  <nobr><A HREF="android.media.AudioTrack.html">AudioTrack</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioTrack.OnRoutingChangedListener"></A>
+  <nobr><A HREF="android.media.AudioTrack.OnRoutingChangedListener.html"><I>AudioTrack.OnRoutingChangedListener</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ExifInterface"></A>
+  <nobr><A HREF="android.media.ExifInterface.html">ExifInterface</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaCodec"></A>
+  <nobr><A HREF="android.media.MediaCodec.html">MediaCodec</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaCodec.CryptoException"></A>
+  <nobr><A HREF="android.media.MediaCodec.CryptoException.html">MediaCodec.CryptoException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaCodec.CryptoInfo"></A>
+  <nobr><A HREF="android.media.MediaCodec.CryptoInfo.html">MediaCodec.CryptoInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaCodecInfo.CodecCapabilities"></A>
+  <nobr><A HREF="android.media.MediaCodecInfo.CodecCapabilities.html">MediaCodecInfo.CodecCapabilities</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaCodecInfo.CodecProfileLevel"></A>
+  <nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html">MediaCodecInfo.CodecProfileLevel</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaExtractor"></A>
+  <nobr><A HREF="android.media.MediaExtractor.html">MediaExtractor</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaFormat"></A>
+  <nobr><A HREF="android.media.MediaFormat.html">MediaFormat</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaPlayer"></A>
+  <nobr><A HREF="android.media.MediaPlayer.html">MediaPlayer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaRecorder"></A>
+  <nobr><A HREF="android.media.MediaRecorder.html">MediaRecorder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaRecorder.AudioSource"></A>
+  <nobr><A HREF="android.media.MediaRecorder.AudioSource.html">MediaRecorder.AudioSource</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaRecorder.VideoEncoder"></A>
+  <nobr><A HREF="android.media.MediaRecorder.VideoEncoder.html">MediaRecorder.VideoEncoder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaRouter.RouteInfo"></A>
+  <nobr><A HREF="android.media.MediaRouter.RouteInfo.html">MediaRouter.RouteInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.media.session.html b/docs/html/sdk/api_diff/24/changes/pkg_android.media.session.html
new file mode 100644
index 0000000..ea5fa20
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.media.session.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.session
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/media/session/package-summary.html" target="_top"><font size="+1"><code>android.media.session</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaController.TransportControls"></A>
+  <nobr><A HREF="android.media.session.MediaController.TransportControls.html">MediaController.TransportControls</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaSession.Callback"></A>
+  <nobr><A HREF="android.media.session.MediaSession.Callback.html">MediaSession.Callback</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PlaybackState"></A>
+  <nobr><A HREF="android.media.session.PlaybackState.html">PlaybackState</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.media.tv.html b/docs/html/sdk/api_diff/24/changes/pkg_android.media.tv.html
new file mode 100644
index 0000000..9e98f92
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.media.tv.html
@@ -0,0 +1,239 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.tv
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/media/tv/package-summary.html" target="_top"><font size="+1"><code>android.media.tv</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvContract.RecordedPrograms"></A>
+  <nobr><A HREF="../../../../reference/android/media/tv/TvContract.RecordedPrograms.html" target="_top"><code>TvContract.RecordedPrograms</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvInputInfo.Builder"></A>
+  <nobr><A HREF="../../../../reference/android/media/tv/TvInputInfo.Builder.html" target="_top"><code>TvInputInfo.Builder</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvInputService.RecordingSession"></A>
+  <nobr><A HREF="../../../../reference/android/media/tv/TvInputService.RecordingSession.html" target="_top"><code>TvInputService.RecordingSession</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvRecordingClient"></A>
+  <nobr><A HREF="../../../../reference/android/media/tv/TvRecordingClient.html" target="_top"><code>TvRecordingClient</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvRecordingClient.RecordingCallback"></A>
+  <nobr><A HREF="../../../../reference/android/media/tv/TvRecordingClient.RecordingCallback.html" target="_top"><code>TvRecordingClient.RecordingCallback</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvContentRating"></A>
+  <nobr><A HREF="android.media.tv.TvContentRating.html">TvContentRating</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvContract"></A>
+  <nobr><A HREF="android.media.tv.TvContract.html">TvContract</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvContract.Programs"></A>
+  <nobr><A HREF="android.media.tv.TvContract.Programs.html">TvContract.Programs</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvContract.Programs.Genres"></A>
+  <nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html">TvContract.Programs.Genres</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvInputInfo"></A>
+  <nobr><A HREF="android.media.tv.TvInputInfo.html">TvInputInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvInputManager"></A>
+  <nobr><A HREF="android.media.tv.TvInputManager.html">TvInputManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvInputManager.TvInputCallback"></A>
+  <nobr><A HREF="android.media.tv.TvInputManager.TvInputCallback.html">TvInputManager.TvInputCallback</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvInputService"></A>
+  <nobr><A HREF="android.media.tv.TvInputService.html">TvInputService</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvInputService.Session"></A>
+  <nobr><A HREF="android.media.tv.TvInputService.Session.html">TvInputService.Session</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvTrackInfo"></A>
+  <nobr><A HREF="android.media.tv.TvTrackInfo.html">TvTrackInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvTrackInfo.Builder"></A>
+  <nobr><A HREF="android.media.tv.TvTrackInfo.Builder.html">TvTrackInfo.Builder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvView"></A>
+  <nobr><A HREF="android.media.tv.TvView.html">TvView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.mtp.html b/docs/html/sdk/api_diff/24/changes/pkg_android.mtp.html
new file mode 100644
index 0000000..5429507
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.mtp.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.mtp
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/mtp/package-summary.html" target="_top"><font size="+1"><code>android.mtp</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MtpEvent"></A>
+  <nobr><A HREF="../../../../reference/android/mtp/MtpEvent.html" target="_top"><code>MtpEvent</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MtpObjectInfo.Builder"></A>
+  <nobr><A HREF="../../../../reference/android/mtp/MtpObjectInfo.Builder.html" target="_top"><code>MtpObjectInfo.Builder</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MtpConstants"></A>
+  <nobr><A HREF="android.mtp.MtpConstants.html">MtpConstants</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MtpDevice"></A>
+  <nobr><A HREF="android.mtp.MtpDevice.html">MtpDevice</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MtpDeviceInfo"></A>
+  <nobr><A HREF="android.mtp.MtpDeviceInfo.html">MtpDeviceInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MtpObjectInfo"></A>
+  <nobr><A HREF="android.mtp.MtpObjectInfo.html">MtpObjectInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.net.html b/docs/html/sdk/api_diff/24/changes/pkg_android.net.html
new file mode 100644
index 0000000..c6f6959
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.net.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.net
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/net/package-summary.html" target="_top"><font size="+1"><code>android.net</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnectivityManager"></A>
+  <nobr><A HREF="android.net.ConnectivityManager.html">ConnectivityManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NetworkInfo"></A>
+  <nobr><A HREF="android.net.NetworkInfo.html">NetworkInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TrafficStats"></A>
+  <nobr><A HREF="android.net.TrafficStats.html">TrafficStats</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.net.wifi.html b/docs/html/sdk/api_diff/24/changes/pkg_android.net.wifi.html
new file mode 100644
index 0000000..9443c64
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.net.wifi.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.net.wifi
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/net/wifi/package-summary.html" target="_top"><font size="+1"><code>android.net.wifi</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WifiEnterpriseConfig"></A>
+  <nobr><A HREF="android.net.wifi.WifiEnterpriseConfig.html">WifiEnterpriseConfig</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WifiEnterpriseConfig.Eap"></A>
+  <nobr><A HREF="android.net.wifi.WifiEnterpriseConfig.Eap.html">WifiEnterpriseConfig.Eap</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.nfc.cardemulation.html b/docs/html/sdk/api_diff/24/changes/pkg_android.nfc.cardemulation.html
new file mode 100644
index 0000000..c437aa4
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.nfc.cardemulation.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.nfc.cardemulation
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/nfc/cardemulation/package-summary.html" target="_top"><font size="+1"><code>android.nfc.cardemulation</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HostNfcFService"></A>
+  <nobr><A HREF="../../../../reference/android/nfc/cardemulation/HostNfcFService.html" target="_top"><code>HostNfcFService</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NfcFCardEmulation"></A>
+  <nobr><A HREF="../../../../reference/android/nfc/cardemulation/NfcFCardEmulation.html" target="_top"><code>NfcFCardEmulation</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.nfc.html b/docs/html/sdk/api_diff/24/changes/pkg_android.nfc.html
new file mode 100644
index 0000000..cc10f35
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.nfc.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.nfc
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/nfc/package-summary.html" target="_top"><font size="+1"><code>android.nfc</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NfcAdapter.OnTagRemovedListener"></A>
+  <nobr><A HREF="../../../../reference/android/nfc/NfcAdapter.OnTagRemovedListener.html" target="_top"><code><I>NfcAdapter.OnTagRemovedListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NfcAdapter"></A>
+  <nobr><A HREF="android.nfc.NfcAdapter.html">NfcAdapter</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.opengl.html b/docs/html/sdk/api_diff/24/changes/pkg_android.opengl.html
new file mode 100644
index 0000000..0aa7497
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.opengl.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.opengl
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/opengl/package-summary.html" target="_top"><font size="+1"><code>android.opengl</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GLES32"></A>
+  <nobr><A HREF="../../../../reference/android/opengl/GLES32.html" target="_top"><code>GLES32</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GLES32.DebugProc"></A>
+  <nobr><A HREF="../../../../reference/android/opengl/GLES32.DebugProc.html" target="_top"><code><I>GLES32.DebugProc</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GLES30"></A>
+  <nobr><A HREF="android.opengl.GLES30.html">GLES30</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GLES31"></A>
+  <nobr><A HREF="android.opengl.GLES31.html">GLES31</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GLSurfaceView"></A>
+  <nobr><A HREF="android.opengl.GLSurfaceView.html">GLSurfaceView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.os.html b/docs/html/sdk/api_diff/24/changes/pkg_android.os.html
new file mode 100644
index 0000000..c0b19d9
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.os.html
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.os
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/os/package-summary.html" target="_top"><font size="+1"><code>android.os</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CpuUsageInfo"></A>
+  <nobr><A HREF="../../../../reference/android/os/CpuUsageInfo.html" target="_top"><code>CpuUsageInfo</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DeadSystemException"></A>
+  <nobr><A HREF="../../../../reference/android/os/DeadSystemException.html" target="_top"><code>DeadSystemException</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FileUriExposedException"></A>
+  <nobr><A HREF="../../../../reference/android/os/FileUriExposedException.html" target="_top"><code>FileUriExposedException</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HardwarePropertiesManager"></A>
+  <nobr><A HREF="../../../../reference/android/os/HardwarePropertiesManager.html" target="_top"><code>HardwarePropertiesManager</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LocaleList"></A>
+  <nobr><A HREF="../../../../reference/android/os/LocaleList.html" target="_top"><code>LocaleList</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Build.VERSION_CODES"></A>
+  <nobr><A HREF="android.os.Build.VERSION_CODES.html">Build.VERSION_CODES</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PowerManager"></A>
+  <nobr><A HREF="android.os.PowerManager.html">PowerManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Process"></A>
+  <nobr><A HREF="android.os.Process.html">Process</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StrictMode.VmPolicy.Builder"></A>
+  <nobr><A HREF="android.os.StrictMode.VmPolicy.Builder.html">StrictMode.VmPolicy.Builder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="UserHandle"></A>
+  <nobr><A HREF="android.os.UserHandle.html">UserHandle</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="UserManager"></A>
+  <nobr><A HREF="android.os.UserManager.html">UserManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.os.storage.html b/docs/html/sdk/api_diff/24/changes/pkg_android.os.storage.html
new file mode 100644
index 0000000..6308ba8
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.os.storage.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.os.storage
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/os/storage/package-summary.html" target="_top"><font size="+1"><code>android.os.storage</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StorageVolume"></A>
+  <nobr><A HREF="../../../../reference/android/os/storage/StorageVolume.html" target="_top"><code>StorageVolume</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StorageManager"></A>
+  <nobr><A HREF="android.os.storage.StorageManager.html">StorageManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.preference.html b/docs/html/sdk/api_diff/24/changes/pkg_android.preference.html
new file mode 100644
index 0000000..ff8006f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.preference.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.preference
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/preference/package-summary.html" target="_top"><font size="+1"><code>android.preference</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Preference"></A>
+  <nobr><A HREF="android.preference.Preference.html">Preference</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PreferenceManager"></A>
+  <nobr><A HREF="android.preference.PreferenceManager.html">PreferenceManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.print.html b/docs/html/sdk/api_diff/24/changes/pkg_android.print.html
new file mode 100644
index 0000000..8f919fc
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.print.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.print
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/print/package-summary.html" target="_top"><font size="+1"><code>android.print</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PrinterInfo.Builder"></A>
+  <nobr><A HREF="android.print.PrinterInfo.Builder.html">PrinterInfo.Builder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.printservice.html b/docs/html/sdk/api_diff/24/changes/pkg_android.printservice.html
new file mode 100644
index 0000000..7fa2bb5
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.printservice.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.printservice
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/printservice/package-summary.html" target="_top"><font size="+1"><code>android.printservice</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CustomPrinterIconCallback"></A>
+  <nobr><A HREF="../../../../reference/android/printservice/CustomPrinterIconCallback.html" target="_top"><code>CustomPrinterIconCallback</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PrintJob"></A>
+  <nobr><A HREF="android.printservice.PrintJob.html">PrintJob</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PrinterDiscoverySession"></A>
+  <nobr><A HREF="android.printservice.PrinterDiscoverySession.html">PrinterDiscoverySession</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.provider.html b/docs/html/sdk/api_diff/24/changes/pkg_android.provider.html
new file mode 100644
index 0000000..7997373
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.provider.html
@@ -0,0 +1,295 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/provider/package-summary.html" target="_top"><font size="+1"><code>android.provider</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BlockedNumberContract"></A>
+  <nobr><A HREF="../../../../reference/android/provider/BlockedNumberContract.html" target="_top"><code>BlockedNumberContract</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BlockedNumberContract.BlockedNumbers"></A>
+  <nobr><A HREF="../../../../reference/android/provider/BlockedNumberContract.BlockedNumbers.html" target="_top"><code>BlockedNumberContract.<br>BlockedNumbers</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CallLog.Calls"></A>
+  <nobr><A HREF="android.provider.CallLog.Calls.html">CallLog.Calls</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.CommonDataKinds.Callable"></A>
+  <nobr><A HREF="android.provider.ContactsContract.CommonDataKinds.Callable.html">ContactsContract.CommonDataKinds.<br>Callable</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.CommonDataKinds.Email"></A>
+  <nobr><A HREF="android.provider.ContactsContract.CommonDataKinds.Email.html">ContactsContract.CommonDataKinds.<br>Email</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.CommonDataKinds.Organization"></A>
+  <nobr><A HREF="android.provider.ContactsContract.CommonDataKinds.Organization.html">ContactsContract.CommonDataKinds.<br>Organization</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.CommonDataKinds.Phone"></A>
+  <nobr><A HREF="android.provider.ContactsContract.CommonDataKinds.Phone.html">ContactsContract.CommonDataKinds.<br>Phone</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.CommonDataKinds.StructuredName"></A>
+  <nobr><A HREF="android.provider.ContactsContract.CommonDataKinds.StructuredName.html">ContactsContract.CommonDataKinds.<br>StructuredName</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.Contacts"></A>
+  <nobr><A HREF="android.provider.ContactsContract.Contacts.html">ContactsContract.Contacts</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.Directory"></A>
+  <nobr><A HREF="android.provider.ContactsContract.Directory.html">ContactsContract.Directory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.Intents"></A>
+  <nobr><A HREF="android.provider.ContactsContract.Intents.html">ContactsContract.Intents</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.PhoneLookupColumns"></A>
+  <nobr><A HREF="android.provider.ContactsContract.PhoneLookupColumns.html"><I>ContactsContract.PhoneLookupColumns</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.RawContactsColumns"></A>
+  <nobr><A HREF="android.provider.ContactsContract.RawContactsColumns.html"><I>ContactsContract.RawContactsColumns</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DocumentsContract"></A>
+  <nobr><A HREF="android.provider.DocumentsContract.html">DocumentsContract</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DocumentsContract.Document"></A>
+  <nobr><A HREF="android.provider.DocumentsContract.Document.html">DocumentsContract.Document</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DocumentsContract.Root"></A>
+  <nobr><A HREF="android.provider.DocumentsContract.Root.html">DocumentsContract.Root</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DocumentsProvider"></A>
+  <nobr><A HREF="android.provider.DocumentsProvider.html">DocumentsProvider</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Settings"></A>
+  <nobr><A HREF="android.provider.Settings.html">Settings</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Settings.Global"></A>
+  <nobr><A HREF="android.provider.Settings.Global.html">Settings.Global</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Settings.Secure"></A>
+  <nobr><A HREF="android.provider.Settings.Secure.html">Settings.Secure</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Settings.System"></A>
+  <nobr><A HREF="android.provider.Settings.System.html">Settings.System</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Telephony.Sms.Intents"></A>
+  <nobr><A HREF="android.provider.Telephony.Sms.Intents.html">Telephony.Sms.Intents</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VoicemailContract"></A>
+  <nobr><A HREF="android.provider.VoicemailContract.html">VoicemailContract</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VoicemailContract.Status"></A>
+  <nobr><A HREF="android.provider.VoicemailContract.Status.html">VoicemailContract.Status</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VoicemailContract.Voicemails"></A>
+  <nobr><A HREF="android.provider.VoicemailContract.Voicemails.html">VoicemailContract.Voicemails</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.renderscript.html b/docs/html/sdk/api_diff/24/changes/pkg_android.renderscript.html
new file mode 100644
index 0000000..4131287
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.renderscript.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.renderscript
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/renderscript/package-summary.html" target="_top"><font size="+1"><code>android.renderscript</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Allocation"></A>
+  <nobr><A HREF="android.renderscript.Allocation.html">Allocation</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Script"></A>
+  <nobr><A HREF="android.renderscript.Script.html">Script</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.security.html b/docs/html/sdk/api_diff/24/changes/pkg_android.security.html
new file mode 100644
index 0000000..d28f18d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.security.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.security
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/security/package-summary.html" target="_top"><font size="+1"><code>android.security</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NetworkSecurityPolicy"></A>
+  <nobr><A HREF="android.security.NetworkSecurityPolicy.html">NetworkSecurityPolicy</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.security.keystore.html b/docs/html/sdk/api_diff/24/changes/pkg_android.security.keystore.html
new file mode 100644
index 0000000..6e5f743
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.security.keystore.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.security.keystore
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/security/keystore/package-summary.html" target="_top"><font size="+1"><code>android.security.keystore</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="KeyGenParameterSpec"></A>
+  <nobr><A HREF="android.security.keystore.KeyGenParameterSpec.html">KeyGenParameterSpec</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="KeyGenParameterSpec.Builder"></A>
+  <nobr><A HREF="android.security.keystore.KeyGenParameterSpec.Builder.html">KeyGenParameterSpec.Builder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="KeyInfo"></A>
+  <nobr><A HREF="android.security.keystore.KeyInfo.html">KeyInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="KeyProtection"></A>
+  <nobr><A HREF="android.security.keystore.KeyProtection.html">KeyProtection</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="KeyProtection.Builder"></A>
+  <nobr><A HREF="android.security.keystore.KeyProtection.Builder.html">KeyProtection.Builder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.service.carrier.html b/docs/html/sdk/api_diff/24/changes/pkg_android.service.carrier.html
new file mode 100644
index 0000000..361b56f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.service.carrier.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.carrier
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/service/carrier/package-summary.html" target="_top"><font size="+1"><code>android.service.carrier</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CarrierMessagingService"></A>
+  <nobr><A HREF="android.service.carrier.CarrierMessagingService.html">CarrierMessagingService</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.service.media.html b/docs/html/sdk/api_diff/24/changes/pkg_android.service.media.html
new file mode 100644
index 0000000..5b4c138
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.service.media.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.media
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/service/media/package-summary.html" target="_top"><font size="+1"><code>android.service.media</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaBrowserService"></A>
+  <nobr><A HREF="android.service.media.MediaBrowserService.html">MediaBrowserService</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaBrowserService.BrowserRoot"></A>
+  <nobr><A HREF="android.service.media.MediaBrowserService.BrowserRoot.html">MediaBrowserService.BrowserRoot</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.service.notification.html b/docs/html/sdk/api_diff/24/changes/pkg_android.service.notification.html
new file mode 100644
index 0000000..777b304
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.service.notification.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.notification
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/service/notification/package-summary.html" target="_top"><font size="+1"><code>android.service.notification</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Condition"></A>
+  <nobr><A HREF="../../../../reference/android/service/notification/Condition.html" target="_top"><code>Condition</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConditionProviderService"></A>
+  <nobr><A HREF="../../../../reference/android/service/notification/ConditionProviderService.html" target="_top"><code>ConditionProviderService</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NotificationListenerService"></A>
+  <nobr><A HREF="android.service.notification.NotificationListenerService.html">NotificationListenerService</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NotificationListenerService.Ranking"></A>
+  <nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html">NotificationListenerService.<br>Ranking</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StatusBarNotification"></A>
+  <nobr><A HREF="android.service.notification.StatusBarNotification.html">StatusBarNotification</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.service.voice.html b/docs/html/sdk/api_diff/24/changes/pkg_android.service.voice.html
new file mode 100644
index 0000000..50c715d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.service.voice.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.voice
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/service/voice/package-summary.html" target="_top"><font size="+1"><code>android.service.voice</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VoiceInteractionSession"></A>
+  <nobr><A HREF="android.service.voice.VoiceInteractionSession.html">VoiceInteractionSession</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.speech.tts.html b/docs/html/sdk/api_diff/24/changes/pkg_android.speech.tts.html
new file mode 100644
index 0000000..ef47b42
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.speech.tts.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.speech.tts
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/speech/tts/package-summary.html" target="_top"><font size="+1"><code>android.speech.tts</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="UtteranceProgressListener"></A>
+  <nobr><A HREF="android.speech.tts.UtteranceProgressListener.html">UtteranceProgressListener</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.telecom.html b/docs/html/sdk/api_diff/24/changes/pkg_android.telecom.html
new file mode 100644
index 0000000..72aeff7
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.telecom.html
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telecom
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/telecom/package-summary.html" target="_top"><font size="+1"><code>android.telecom</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CallScreeningService"></A>
+  <nobr><A HREF="../../../../reference/android/telecom/CallScreeningService.html" target="_top"><code>CallScreeningService</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CallScreeningService.CallResponse"></A>
+  <nobr><A HREF="../../../../reference/android/telecom/CallScreeningService.CallResponse.html" target="_top"><code>CallScreeningService.<br>CallResponse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CallScreeningService.CallResponse.Builder"></A>
+  <nobr><A HREF="../../../../reference/android/telecom/CallScreeningService.CallResponse.Builder.html" target="_top"><code>CallScreeningService.<br>CallResponse.Builder</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Call.Details"></A>
+  <nobr><A HREF="android.telecom.Call.Details.html">Call.Details</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Connection"></A>
+  <nobr><A HREF="android.telecom.Connection.html">Connection</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnectionService"></A>
+  <nobr><A HREF="android.telecom.ConnectionService.html">ConnectionService</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InCallService"></A>
+  <nobr><A HREF="android.telecom.InCallService.html">InCallService</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PhoneAccount"></A>
+  <nobr><A HREF="android.telecom.PhoneAccount.html">PhoneAccount</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PhoneAccount.Builder"></A>
+  <nobr><A HREF="android.telecom.PhoneAccount.Builder.html">PhoneAccount.Builder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RemoteConference"></A>
+  <nobr><A HREF="android.telecom.RemoteConference.html">RemoteConference</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TelecomManager"></A>
+  <nobr><A HREF="android.telecom.TelecomManager.html">TelecomManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.telephony.html b/docs/html/sdk/api_diff/24/changes/pkg_android.telephony.html
new file mode 100644
index 0000000..8ad8aa7
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.telephony.html
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telephony
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/telephony/package-summary.html" target="_top"><font size="+1"><code>android.telephony</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CarrierConfigManager"></A>
+  <nobr><A HREF="android.telephony.CarrierConfigManager.html">CarrierConfigManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CellIdentityGsm"></A>
+  <nobr><A HREF="android.telephony.CellIdentityGsm.html">CellIdentityGsm</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CellIdentityLte"></A>
+  <nobr><A HREF="android.telephony.CellIdentityLte.html">CellIdentityLte</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CellIdentityWcdma"></A>
+  <nobr><A HREF="android.telephony.CellIdentityWcdma.html">CellIdentityWcdma</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SubscriptionManager"></A>
+  <nobr><A HREF="android.telephony.SubscriptionManager.html">SubscriptionManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TelephonyManager"></A>
+  <nobr><A HREF="android.telephony.TelephonyManager.html">TelephonyManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.test.html b/docs/html/sdk/api_diff/24/changes/pkg_android.test.html
new file mode 100644
index 0000000..7ae1c57
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.test.html
@@ -0,0 +1,259 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/test/package-summary.html" target="_top"><font size="+1"><code>android.test</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ActivityInstrumentationTestCase2"></A>
+  <nobr><A HREF="android.test.ActivityInstrumentationTestCase2.html">ActivityInstrumentationTestCase2</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ActivityTestCase"></A>
+  <nobr><A HREF="android.test.ActivityTestCase.html">ActivityTestCase</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ActivityUnitTestCase"></A>
+  <nobr><A HREF="android.test.ActivityUnitTestCase.html">ActivityUnitTestCase</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AndroidTestCase"></A>
+  <nobr><A HREF="android.test.AndroidTestCase.html">AndroidTestCase</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AndroidTestRunner"></A>
+  <nobr><A HREF="android.test.AndroidTestRunner.html">AndroidTestRunner</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ApplicationTestCase"></A>
+  <nobr><A HREF="android.test.ApplicationTestCase.html">ApplicationTestCase</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FlakyTest"></A>
+  <nobr><A HREF="android.test.FlakyTest.html">FlakyTest</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InstrumentationTestCase"></A>
+  <nobr><A HREF="android.test.InstrumentationTestCase.html">InstrumentationTestCase</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InstrumentationTestRunner"></A>
+  <nobr><A HREF="android.test.InstrumentationTestRunner.html">InstrumentationTestRunner</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InstrumentationTestSuite"></A>
+  <nobr><A HREF="android.test.InstrumentationTestSuite.html">InstrumentationTestSuite</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="IsolatedContext"></A>
+  <nobr><A HREF="android.test.IsolatedContext.html">IsolatedContext</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MoreAsserts"></A>
+  <nobr><A HREF="android.test.MoreAsserts.html">MoreAsserts</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PerformanceTestCase"></A>
+  <nobr><A HREF="android.test.PerformanceTestCase.html"><I>PerformanceTestCase</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RenamingDelegatingContext"></A>
+  <nobr><A HREF="android.test.RenamingDelegatingContext.html">RenamingDelegatingContext</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ServiceTestCase"></A>
+  <nobr><A HREF="android.test.ServiceTestCase.html">ServiceTestCase</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SingleLaunchActivityTestCase"></A>
+  <nobr><A HREF="android.test.SingleLaunchActivityTestCase.html">SingleLaunchActivityTestCase</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SyncBaseInstrumentation"></A>
+  <nobr><A HREF="android.test.SyncBaseInstrumentation.html">SyncBaseInstrumentation</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TestSuiteProvider"></A>
+  <nobr><A HREF="android.test.TestSuiteProvider.html"><I>TestSuiteProvider</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TouchUtils"></A>
+  <nobr><A HREF="android.test.TouchUtils.html">TouchUtils</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="UiThreadTest"></A>
+  <nobr><A HREF="android.test.UiThreadTest.html">UiThreadTest</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ViewAsserts"></A>
+  <nobr><A HREF="android.test.ViewAsserts.html">ViewAsserts</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.test.mock.html b/docs/html/sdk/api_diff/24/changes/pkg_android.test.mock.html
new file mode 100644
index 0000000..bbeb3cc
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.test.mock.html
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.mock
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/test/mock/package-summary.html" target="_top"><font size="+1"><code>android.test.mock</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MockApplication"></A>
+  <nobr><A HREF="android.test.mock.MockApplication.html">MockApplication</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MockContext"></A>
+  <nobr><A HREF="android.test.mock.MockContext.html">MockContext</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MockCursor"></A>
+  <nobr><A HREF="android.test.mock.MockCursor.html">MockCursor</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MockDialogInterface"></A>
+  <nobr><A HREF="android.test.mock.MockDialogInterface.html">MockDialogInterface</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MockPackageManager"></A>
+  <nobr><A HREF="android.test.mock.MockPackageManager.html">MockPackageManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MockResources"></A>
+  <nobr><A HREF="android.test.mock.MockResources.html">MockResources</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.test.suitebuilder.annotation.html b/docs/html/sdk/api_diff/24/changes/pkg_android.test.suitebuilder.annotation.html
new file mode 100644
index 0000000..5133482
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.test.suitebuilder.annotation.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.suitebuilder.annotation
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/test/suitebuilder/annotation/package-summary.html" target="_top"><font size="+1"><code>android.test.suitebuilder.annotation</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LargeTest"></A>
+  <nobr><A HREF="android.test.suitebuilder.annotation.LargeTest.html">LargeTest</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediumTest"></A>
+  <nobr><A HREF="android.test.suitebuilder.annotation.MediumTest.html">MediumTest</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SmallTest"></A>
+  <nobr><A HREF="android.test.suitebuilder.annotation.SmallTest.html">SmallTest</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Smoke"></A>
+  <nobr><A HREF="android.test.suitebuilder.annotation.Smoke.html">Smoke</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Suppress"></A>
+  <nobr><A HREF="android.test.suitebuilder.annotation.Suppress.html">Suppress</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.text.html b/docs/html/sdk/api_diff/24/changes/pkg_android.text.html
new file mode 100644
index 0000000..2556edb
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.text.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.text
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/text/package-summary.html" target="_top"><font size="+1"><code>android.text</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Html"></A>
+  <nobr><A HREF="android.text.Html.html">Html</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TextUtils"></A>
+  <nobr><A HREF="android.text.TextUtils.html">TextUtils</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TextUtils.SimpleStringSplitter"></A>
+  <nobr><A HREF="android.text.TextUtils.SimpleStringSplitter.html">TextUtils.SimpleStringSplitter</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.text.style.html b/docs/html/sdk/api_diff/24/changes/pkg_android.text.style.html
new file mode 100644
index 0000000..dc240a7
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.text.style.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.text.style
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/text/style/package-summary.html" target="_top"><font size="+1"><code>android.text.style</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LocaleSpan"></A>
+  <nobr><A HREF="android.text.style.LocaleSpan.html">LocaleSpan</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SuggestionSpan"></A>
+  <nobr><A HREF="android.text.style.SuggestionSpan.html">SuggestionSpan</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.text.util.html b/docs/html/sdk/api_diff/24/changes/pkg_android.text.util.html
new file mode 100644
index 0000000..d91c41e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.text.util.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.text.util
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/text/util/package-summary.html" target="_top"><font size="+1"><code>android.text.util</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Linkify"></A>
+  <nobr><A HREF="android.text.util.Linkify.html">Linkify</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.util.html b/docs/html/sdk/api_diff/24/changes/pkg_android.util.html
new file mode 100644
index 0000000..1e66cfa
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.util.html
@@ -0,0 +1,148 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.util
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/util/package-summary.html" target="_top"><font size="+1"><code>android.util</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FloatProperty"></A>
+  <nobr><A HREF="../../../../reference/android/util/FloatProperty.html" target="_top"><code>FloatProperty</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="IntProperty"></A>
+  <nobr><A HREF="../../../../reference/android/util/IntProperty.html" target="_top"><code>IntProperty</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DisplayMetrics"></A>
+  <nobr><A HREF="android.util.DisplayMetrics.html">DisplayMetrics</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Patterns"></A>
+  <nobr><A HREF="android.util.Patterns.html">Patterns</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.view.accessibility.html b/docs/html/sdk/api_diff/24/changes/pkg_android.view.accessibility.html
new file mode 100644
index 0000000..233f34f
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.view.accessibility.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.accessibility
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/view/accessibility/package-summary.html" target="_top"><font size="+1"><code>android.view.accessibility</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AccessibilityNodeInfo"></A>
+  <nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html">AccessibilityNodeInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AccessibilityNodeInfo.AccessibilityAction"></A>
+  <nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.html">AccessibilityNodeInfo.<br>AccessibilityAction</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AccessibilityWindowInfo"></A>
+  <nobr><A HREF="android.view.accessibility.AccessibilityWindowInfo.html">AccessibilityWindowInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.view.html b/docs/html/sdk/api_diff/24/changes/pkg_android.view.html
new file mode 100644
index 0000000..f525edb
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.view.html
@@ -0,0 +1,260 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/view/package-summary.html" target="_top"><font size="+1"><code>android.view</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Display.HdrCapabilities"></A>
+  <nobr><A HREF="../../../../reference/android/view/Display.HdrCapabilities.html" target="_top"><code>Display.HdrCapabilities</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DragAndDropPermissions"></A>
+  <nobr><A HREF="../../../../reference/android/view/DragAndDropPermissions.html" target="_top"><code>DragAndDropPermissions</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FrameMetrics"></A>
+  <nobr><A HREF="../../../../reference/android/view/FrameMetrics.html" target="_top"><code>FrameMetrics</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="KeyboardShortcutGroup"></A>
+  <nobr><A HREF="../../../../reference/android/view/KeyboardShortcutGroup.html" target="_top"><code>KeyboardShortcutGroup</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="KeyboardShortcutInfo"></A>
+  <nobr><A HREF="../../../../reference/android/view/KeyboardShortcutInfo.html" target="_top"><code>KeyboardShortcutInfo</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PixelCopy"></A>
+  <nobr><A HREF="../../../../reference/android/view/PixelCopy.html" target="_top"><code>PixelCopy</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PixelCopy.OnPixelCopyFinishedListener"></A>
+  <nobr><A HREF="../../../../reference/android/view/PixelCopy.OnPixelCopyFinishedListener.html" target="_top"><code><I>PixelCopy.OnPixelCopyFinishedListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PointerIcon"></A>
+  <nobr><A HREF="../../../../reference/android/view/PointerIcon.html" target="_top"><code>PointerIcon</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Window.OnFrameMetricsAvailableListener"></A>
+  <nobr><A HREF="../../../../reference/android/view/Window.OnFrameMetricsAvailableListener.html" target="_top"><code><I>Window.OnFrameMetricsAvailableListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Window.OnRestrictedCaptionAreaChangedListener"></A>
+  <nobr><A HREF="../../../../reference/android/view/Window.OnRestrictedCaptionAreaChangedListener.html" target="_top"><code><I>Window.OnRestrictedCaptionAreaChangedListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AbsSavedState"></A>
+  <nobr><A HREF="android.view.AbsSavedState.html">AbsSavedState</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Display"></A>
+  <nobr><A HREF="android.view.Display.html">Display</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="KeyEvent"></A>
+  <nobr><A HREF="android.view.KeyEvent.html">KeyEvent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MotionEvent"></A>
+  <nobr><A HREF="android.view.MotionEvent.html">MotionEvent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="View"></A>
+  <nobr><A HREF="android.view.View.html">View</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="View.BaseSavedState"></A>
+  <nobr><A HREF="android.view.View.BaseSavedState.html">View.BaseSavedState</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ViewGroup"></A>
+  <nobr><A HREF="android.view.ViewGroup.html">ViewGroup</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ViewParent"></A>
+  <nobr><A HREF="android.view.ViewParent.html"><I>ViewParent</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Window"></A>
+  <nobr><A HREF="android.view.Window.html">Window</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Window.Callback"></A>
+  <nobr><A HREF="android.view.Window.Callback.html"><I>Window.Callback</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.view.inputmethod.html b/docs/html/sdk/api_diff/24/changes/pkg_android.view.inputmethod.html
new file mode 100644
index 0000000..95c8d32
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.view.inputmethod.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.inputmethod
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/view/inputmethod/package-summary.html" target="_top"><font size="+1"><code>android.view.inputmethod</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BaseInputConnection"></A>
+  <nobr><A HREF="android.view.inputmethod.BaseInputConnection.html">BaseInputConnection</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="EditorInfo"></A>
+  <nobr><A HREF="android.view.inputmethod.EditorInfo.html">EditorInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InputConnection"></A>
+  <nobr><A HREF="android.view.inputmethod.InputConnection.html"><I>InputConnection</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InputConnectionWrapper"></A>
+  <nobr><A HREF="android.view.inputmethod.InputConnectionWrapper.html">InputConnectionWrapper</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InputMethodManager"></A>
+  <nobr><A HREF="android.view.inputmethod.InputMethodManager.html">InputMethodManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InputMethodSubtype"></A>
+  <nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html">InputMethodSubtype</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InputMethodSubtype.InputMethodSubtypeBuilder"></A>
+  <nobr><A HREF="android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder.html">InputMethodSubtype.InputMethodSubtypeBuilder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.view.textservice.html b/docs/html/sdk/api_diff/24/changes/pkg_android.view.textservice.html
new file mode 100644
index 0000000..fb062ee
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.view.textservice.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.textservice
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/view/textservice/package-summary.html" target="_top"><font size="+1"><code>android.view.textservice</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SpellCheckerSubtype"></A>
+  <nobr><A HREF="android.view.textservice.SpellCheckerSubtype.html">SpellCheckerSubtype</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.webkit.html b/docs/html/sdk/api_diff/24/changes/pkg_android.webkit.html
new file mode 100644
index 0000000..4687296
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.webkit.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.webkit
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/webkit/package-summary.html" target="_top"><font size="+1"><code>android.webkit</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ServiceWorkerClient"></A>
+  <nobr><A HREF="../../../../reference/android/webkit/ServiceWorkerClient.html" target="_top"><code>ServiceWorkerClient</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ServiceWorkerController"></A>
+  <nobr><A HREF="../../../../reference/android/webkit/ServiceWorkerController.html" target="_top"><code>ServiceWorkerController</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ServiceWorkerWebSettings"></A>
+  <nobr><A HREF="../../../../reference/android/webkit/ServiceWorkerWebSettings.html" target="_top"><code>ServiceWorkerWebSettings</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WebResourceRequest"></A>
+  <nobr><A HREF="android.webkit.WebResourceRequest.html"><I>WebResourceRequest</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WebSettings"></A>
+  <nobr><A HREF="android.webkit.WebSettings.html">WebSettings</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WebViewClient"></A>
+  <nobr><A HREF="android.webkit.WebViewClient.html">WebViewClient</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_android.widget.html b/docs/html/sdk/api_diff/24/changes/pkg_android.widget.html
new file mode 100644
index 0000000..3b02132
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_android.widget.html
@@ -0,0 +1,203 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.widget
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/widget/package-summary.html" target="_top"><font size="+1"><code>android.widget</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AbsSeekBar"></A>
+  <nobr><A HREF="android.widget.AbsSeekBar.html">AbsSeekBar</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AutoCompleteTextView"></A>
+  <nobr><A HREF="android.widget.AutoCompleteTextView.html">AutoCompleteTextView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarView"></A>
+  <nobr><A HREF="android.widget.CalendarView.html">CalendarView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Chronometer"></A>
+  <nobr><A HREF="android.widget.Chronometer.html">Chronometer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DatePicker"></A>
+  <nobr><A HREF="android.widget.DatePicker.html">DatePicker</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FrameLayout.LayoutParams"></A>
+  <nobr><A HREF="android.widget.FrameLayout.LayoutParams.html">FrameLayout.LayoutParams</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LinearLayout"></A>
+  <nobr><A HREF="android.widget.LinearLayout.html">LinearLayout</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PopupWindow"></A>
+  <nobr><A HREF="android.widget.PopupWindow.html">PopupWindow</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ProgressBar"></A>
+  <nobr><A HREF="android.widget.ProgressBar.html">ProgressBar</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RemoteViews"></A>
+  <nobr><A HREF="android.widget.RemoteViews.html">RemoteViews</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TabWidget"></A>
+  <nobr><A HREF="android.widget.TabWidget.html">TabWidget</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TextView"></A>
+  <nobr><A HREF="android.widget.TextView.html">TextView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Toolbar"></A>
+  <nobr><A HREF="android.widget.Toolbar.html">Toolbar</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.awt.font.html b/docs/html/sdk/api_diff/24/changes/pkg_java.awt.font.html
new file mode 100644
index 0000000..8443918
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.awt.font.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.awt.font
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/awt/font/package-summary.html" target="_top"><font size="+1"><code>java.awt.font</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NumericShaper.Range"></A>
+  <nobr><A HREF="../../../../reference/java/awt/font/NumericShaper.Range.html" target="_top"><code>NumericShaper.Range</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NumericShaper"></A>
+  <nobr><A HREF="java.awt.font.NumericShaper.html">NumericShaper</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.io.html b/docs/html/sdk/api_diff/24/changes/pkg_java.io.html
new file mode 100644
index 0000000..b72a240
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.io.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.io
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/io/package-summary.html" target="_top"><font size="+1"><code>java.io</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="UncheckedIOException"></A>
+  <nobr><A HREF="../../../../reference/java/io/UncheckedIOException.html" target="_top"><code>UncheckedIOException</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BufferedReader"></A>
+  <nobr><A HREF="java.io.BufferedReader.html">BufferedReader</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ObjectInputStream"></A>
+  <nobr><A HREF="java.io.ObjectInputStream.html">ObjectInputStream</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ObjectInputStream.GetField"></A>
+  <nobr><A HREF="java.io.ObjectInputStream.GetField.html">ObjectInputStream.GetField</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ObjectOutputStream"></A>
+  <nobr><A HREF="java.io.ObjectOutputStream.html">ObjectOutputStream</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.lang.annotation.html b/docs/html/sdk/api_diff/24/changes/pkg_java.lang.annotation.html
new file mode 100644
index 0000000..96cefd4
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.lang.annotation.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.annotation
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/lang/annotation/package-summary.html" target="_top"><font size="+1"><code>java.lang.annotation</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Repeatable"></A>
+  <nobr><A HREF="../../../../reference/java/lang/annotation/Repeatable.html" target="_top"><code>Repeatable</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.lang.html b/docs/html/sdk/api_diff/24/changes/pkg_java.lang.html
new file mode 100644
index 0000000..4d776dd
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.lang.html
@@ -0,0 +1,288 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/lang/package-summary.html" target="_top"><font size="+1"><code>java.lang</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Character.UnicodeScript"></A>
+  <nobr><A HREF="../../../../reference/java/lang/Character.UnicodeScript.html" target="_top"><code>Character.UnicodeScript</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FunctionalInterface"></A>
+  <nobr><A HREF="../../../../reference/java/lang/FunctionalInterface.html" target="_top"><code>FunctionalInterface</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AbstractStringBuilder"></A>
+  <nobr><A HREF="java.lang.AbstractStringBuilder.html">AbstractStringBuilder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Boolean"></A>
+  <nobr><A HREF="java.lang.Boolean.html">Boolean</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Byte"></A>
+  <nobr><A HREF="java.lang.Byte.html">Byte</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CharSequence"></A>
+  <nobr><A HREF="java.lang.CharSequence.html"><I>CharSequence</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Character"></A>
+  <nobr><A HREF="java.lang.Character.html">Character</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Character.UnicodeBlock"></A>
+  <nobr><A HREF="java.lang.Character.UnicodeBlock.html">Character.UnicodeBlock</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Class"></A>
+  <nobr><A HREF="java.lang.Class.html">Class</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ClassLoader"></A>
+  <nobr><A HREF="java.lang.ClassLoader.html">ClassLoader</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Double"></A>
+  <nobr><A HREF="java.lang.Double.html">Double</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Error"></A>
+  <nobr><A HREF="java.lang.Error.html">Error</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Exception"></A>
+  <nobr><A HREF="java.lang.Exception.html">Exception</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Float"></A>
+  <nobr><A HREF="java.lang.Float.html">Float</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Integer"></A>
+  <nobr><A HREF="java.lang.Integer.html">Integer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InternalError"></A>
+  <nobr><A HREF="java.lang.InternalError.html">InternalError</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Iterable"></A>
+  <nobr><A HREF="java.lang.Iterable.html"><I>Iterable</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Long"></A>
+  <nobr><A HREF="java.lang.Long.html">Long</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Math"></A>
+  <nobr><A HREF="java.lang.Math.html">Math</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Package"></A>
+  <nobr><A HREF="java.lang.Package.html">Package</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RuntimeException"></A>
+  <nobr><A HREF="java.lang.RuntimeException.html">RuntimeException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Short"></A>
+  <nobr><A HREF="java.lang.Short.html">Short</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StrictMath"></A>
+  <nobr><A HREF="java.lang.StrictMath.html">StrictMath</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VirtualMachineError"></A>
+  <nobr><A HREF="java.lang.VirtualMachineError.html">VirtualMachineError</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.lang.ref.html b/docs/html/sdk/api_diff/24/changes/pkg_java.lang.ref.html
new file mode 100644
index 0000000..dcae717
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.lang.ref.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.ref
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/lang/ref/package-summary.html" target="_top"><font size="+1"><code>java.lang.ref</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ReferenceQueue"></A>
+  <nobr><A HREF="java.lang.ref.ReferenceQueue.html">ReferenceQueue</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.lang.reflect.html b/docs/html/sdk/api_diff/24/changes/pkg_java.lang.reflect.html
new file mode 100644
index 0000000..1dcb4f8
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.lang.reflect.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.reflect
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/lang/reflect/package-summary.html" target="_top"><font size="+1"><code>java.lang.reflect</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AccessibleObject"></A>
+  <nobr><A HREF="java.lang.reflect.AccessibleObject.html">AccessibleObject</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AnnotatedElement"></A>
+  <nobr><A HREF="java.lang.reflect.AnnotatedElement.html"><I>AnnotatedElement</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Constructor"></A>
+  <nobr><A HREF="java.lang.reflect.Constructor.html">Constructor</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Field"></A>
+  <nobr><A HREF="java.lang.reflect.Field.html">Field</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Method"></A>
+  <nobr><A HREF="java.lang.reflect.Method.html">Method</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.net.html b/docs/html/sdk/api_diff/24/changes/pkg_java.net.html
new file mode 100644
index 0000000..4c06ff0
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.net.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.net
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/net/package-summary.html" target="_top"><font size="+1"><code>java.net</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ProtocolFamily"></A>
+  <nobr><A HREF="../../../../reference/java/net/ProtocolFamily.html" target="_top"><code><I>ProtocolFamily</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SocketOption"></A>
+  <nobr><A HREF="../../../../reference/java/net/SocketOption.html" target="_top"><code><I>SocketOption</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StandardProtocolFamily"></A>
+  <nobr><A HREF="../../../../reference/java/net/StandardProtocolFamily.html" target="_top"><code>StandardProtocolFamily</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StandardSocketOptions"></A>
+  <nobr><A HREF="../../../../reference/java/net/StandardSocketOptions.html" target="_top"><code>StandardSocketOptions</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpCookie"></A>
+  <nobr><A HREF="java.net.HttpCookie.html">HttpCookie</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="URLClassLoader"></A>
+  <nobr><A HREF="java.net.URLClassLoader.html">URLClassLoader</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="URLConnection"></A>
+  <nobr><A HREF="java.net.URLConnection.html">URLConnection</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.nio.channels.html b/docs/html/sdk/api_diff/24/changes/pkg_java.nio.channels.html
new file mode 100644
index 0000000..96b093b
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.nio.channels.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.nio.channels
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/nio/channels/package-summary.html" target="_top"><font size="+1"><code>java.nio.channels</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AlreadyBoundException"></A>
+  <nobr><A HREF="../../../../reference/java/nio/channels/AlreadyBoundException.html" target="_top"><code>AlreadyBoundException</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NetworkChannel"></A>
+  <nobr><A HREF="../../../../reference/java/nio/channels/NetworkChannel.html" target="_top"><code><I>NetworkChannel</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SeekableByteChannel"></A>
+  <nobr><A HREF="../../../../reference/java/nio/channels/SeekableByteChannel.html" target="_top"><code><I>SeekableByteChannel</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DatagramChannel"></A>
+  <nobr><A HREF="java.nio.channels.DatagramChannel.html">DatagramChannel</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FileChannel"></A>
+  <nobr><A HREF="java.nio.channels.FileChannel.html">FileChannel</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FileLock"></A>
+  <nobr><A HREF="java.nio.channels.FileLock.html">FileLock</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ServerSocketChannel"></A>
+  <nobr><A HREF="java.nio.channels.ServerSocketChannel.html">ServerSocketChannel</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SocketChannel"></A>
+  <nobr><A HREF="java.nio.channels.SocketChannel.html">SocketChannel</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.nio.channels.spi.html b/docs/html/sdk/api_diff/24/changes/pkg_java.nio.channels.spi.html
new file mode 100644
index 0000000..4df01b0
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.nio.channels.spi.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.nio.channels.spi
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/nio/channels/spi/package-summary.html" target="_top"><font size="+1"><code>java.nio.channels.spi</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SelectorProvider"></A>
+  <nobr><A HREF="java.nio.channels.spi.SelectorProvider.html">SelectorProvider</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.nio.charset.html b/docs/html/sdk/api_diff/24/changes/pkg_java.nio.charset.html
new file mode 100644
index 0000000..7ebd71e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.nio.charset.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.nio.charset
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/nio/charset/package-summary.html" target="_top"><font size="+1"><code>java.nio.charset</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CoderResult"></A>
+  <nobr><A HREF="java.nio.charset.CoderResult.html">CoderResult</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.nio.html b/docs/html/sdk/api_diff/24/changes/pkg_java.nio.html
new file mode 100644
index 0000000..39c3278
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.nio.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.nio
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/nio/package-summary.html" target="_top"><font size="+1"><code>java.nio</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CharBuffer"></A>
+  <nobr><A HREF="java.nio.CharBuffer.html">CharBuffer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.security.acl.html b/docs/html/sdk/api_diff/24/changes/pkg_java.security.acl.html
new file mode 100644
index 0000000..8c892b6
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.security.acl.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.security.acl
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/security/acl/package-summary.html" target="_top"><font size="+1"><code>java.security.acl</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Permission"></A>
+  <nobr><A HREF="java.security.acl.Permission.html"><I>Permission</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.security.cert.html b/docs/html/sdk/api_diff/24/changes/pkg_java.security.cert.html
new file mode 100644
index 0000000..c5b0dfd
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.security.cert.html
@@ -0,0 +1,239 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.security.cert
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/security/cert/package-summary.html" target="_top"><font size="+1"><code>java.security.cert</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CRLReason"></A>
+  <nobr><A HREF="../../../../reference/java/security/cert/CRLReason.html" target="_top"><code>CRLReason</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CertPathChecker"></A>
+  <nobr><A HREF="../../../../reference/java/security/cert/CertPathChecker.html" target="_top"><code><I>CertPathChecker</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CertPathValidatorException.BasicReason"></A>
+  <nobr><A HREF="../../../../reference/java/security/cert/CertPathValidatorException.BasicReason.html" target="_top"><code>CertPathValidatorException.<br>BasicReason</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CertPathValidatorException.Reason"></A>
+  <nobr><A HREF="../../../../reference/java/security/cert/CertPathValidatorException.Reason.html" target="_top"><code><I>CertPathValidatorException.<br>Reason</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CertificateRevokedException"></A>
+  <nobr><A HREF="../../../../reference/java/security/cert/CertificateRevokedException.html" target="_top"><code>CertificateRevokedException</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Extension"></A>
+  <nobr><A HREF="../../../../reference/java/security/cert/Extension.html" target="_top"><code><I>Extension</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PKIXReason"></A>
+  <nobr><A HREF="../../../../reference/java/security/cert/PKIXReason.html" target="_top"><code>PKIXReason</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PKIXRevocationChecker"></A>
+  <nobr><A HREF="../../../../reference/java/security/cert/PKIXRevocationChecker.html" target="_top"><code>PKIXRevocationChecker</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PKIXRevocationChecker.Option"></A>
+  <nobr><A HREF="../../../../reference/java/security/cert/PKIXRevocationChecker.Option.html" target="_top"><code>PKIXRevocationChecker.Option</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CertPathBuilder"></A>
+  <nobr><A HREF="java.security.cert.CertPathBuilder.html">CertPathBuilder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CertPathBuilderSpi"></A>
+  <nobr><A HREF="java.security.cert.CertPathBuilderSpi.html">CertPathBuilderSpi</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CertPathValidator"></A>
+  <nobr><A HREF="java.security.cert.CertPathValidator.html">CertPathValidator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CertPathValidatorException"></A>
+  <nobr><A HREF="java.security.cert.CertPathValidatorException.html">CertPathValidatorException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CertPathValidatorSpi"></A>
+  <nobr><A HREF="java.security.cert.CertPathValidatorSpi.html">CertPathValidatorSpi</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PKIXCertPathChecker"></A>
+  <nobr><A HREF="java.security.cert.PKIXCertPathChecker.html">PKIXCertPathChecker</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="X509CRLEntry"></A>
+  <nobr><A HREF="java.security.cert.X509CRLEntry.html">X509CRLEntry</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="X509Certificate"></A>
+  <nobr><A HREF="java.security.cert.X509Certificate.html">X509Certificate</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.security.html b/docs/html/sdk/api_diff/24/changes/pkg_java.security.html
new file mode 100644
index 0000000..8716144
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.security.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.security
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/security/package-summary.html" target="_top"><font size="+1"><code>java.security</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AlgorithmConstraints"></A>
+  <nobr><A HREF="../../../../reference/java/security/AlgorithmConstraints.html" target="_top"><code><I>AlgorithmConstraints</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CryptoPrimitive"></A>
+  <nobr><A HREF="../../../../reference/java/security/CryptoPrimitive.html" target="_top"><code>CryptoPrimitive</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Provider"></A>
+  <nobr><A HREF="java.security.Provider.html">Provider</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.sql.html b/docs/html/sdk/api_diff/24/changes/pkg_java.sql.html
new file mode 100644
index 0000000..73e4d3e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.sql.html
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.sql
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/sql/package-summary.html" target="_top"><font size="+1"><code>java.sql</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BatchUpdateException"></A>
+  <nobr><A HREF="java.sql.BatchUpdateException.html">BatchUpdateException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DataTruncation"></A>
+  <nobr><A HREF="java.sql.DataTruncation.html">DataTruncation</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SQLException"></A>
+  <nobr><A HREF="java.sql.SQLException.html">SQLException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SQLPermission"></A>
+  <nobr><A HREF="java.sql.SQLPermission.html">SQLPermission</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SQLWarning"></A>
+  <nobr><A HREF="java.sql.SQLWarning.html">SQLWarning</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Timestamp"></A>
+  <nobr><A HREF="java.sql.Timestamp.html">Timestamp</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.text.html b/docs/html/sdk/api_diff/24/changes/pkg_java.text.html
new file mode 100644
index 0000000..7d24c30
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.text.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.text
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/text/package-summary.html" target="_top"><font size="+1"><code>java.text</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DecimalFormatSymbols"></A>
+  <nobr><A HREF="java.text.DecimalFormatSymbols.html">DecimalFormatSymbols</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.util.concurrent.atomic.html b/docs/html/sdk/api_diff/24/changes/pkg_java.util.concurrent.atomic.html
new file mode 100644
index 0000000..8823265
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.util.concurrent.atomic.html
@@ -0,0 +1,218 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.atomic
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/util/concurrent/atomic/package-summary.html" target="_top"><font size="+1"><code>java.util.concurrent.atomic</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DoubleAccumulator"></A>
+  <nobr><A HREF="../../../../reference/java/util/concurrent/atomic/DoubleAccumulator.html" target="_top"><code>DoubleAccumulator</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DoubleAdder"></A>
+  <nobr><A HREF="../../../../reference/java/util/concurrent/atomic/DoubleAdder.html" target="_top"><code>DoubleAdder</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LongAccumulator"></A>
+  <nobr><A HREF="../../../../reference/java/util/concurrent/atomic/LongAccumulator.html" target="_top"><code>LongAccumulator</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LongAdder"></A>
+  <nobr><A HREF="../../../../reference/java/util/concurrent/atomic/LongAdder.html" target="_top"><code>LongAdder</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Striped64"></A>
+  <nobr><A HREF="../../../../reference/java/util/concurrent/atomic/Striped64.html" target="_top"><code>Striped64</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AtomicInteger"></A>
+  <nobr><A HREF="java.util.concurrent.atomic.AtomicInteger.html">AtomicInteger</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AtomicIntegerArray"></A>
+  <nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerArray.html">AtomicIntegerArray</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AtomicIntegerFieldUpdater"></A>
+  <nobr><A HREF="java.util.concurrent.atomic.AtomicIntegerFieldUpdater.html">AtomicIntegerFieldUpdater</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AtomicLong"></A>
+  <nobr><A HREF="java.util.concurrent.atomic.AtomicLong.html">AtomicLong</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AtomicLongArray"></A>
+  <nobr><A HREF="java.util.concurrent.atomic.AtomicLongArray.html">AtomicLongArray</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AtomicLongFieldUpdater"></A>
+  <nobr><A HREF="java.util.concurrent.atomic.AtomicLongFieldUpdater.html">AtomicLongFieldUpdater</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AtomicReference"></A>
+  <nobr><A HREF="java.util.concurrent.atomic.AtomicReference.html">AtomicReference</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AtomicReferenceArray"></A>
+  <nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceArray.html">AtomicReferenceArray</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AtomicReferenceFieldUpdater"></A>
+  <nobr><A HREF="java.util.concurrent.atomic.AtomicReferenceFieldUpdater.html">AtomicReferenceFieldUpdater</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.util.concurrent.html b/docs/html/sdk/api_diff/24/changes/pkg_java.util.concurrent.html
new file mode 100644
index 0000000..5d62e85
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.util.concurrent.html
@@ -0,0 +1,281 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/util/concurrent/package-summary.html" target="_top"><font size="+1"><code>java.util.concurrent</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CompletableFuture"></A>
+  <nobr><A HREF="../../../../reference/java/util/concurrent/CompletableFuture.html" target="_top"><code>CompletableFuture</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CompletableFuture.AsynchronousCompletionTask"></A>
+  <nobr><A HREF="../../../../reference/java/util/concurrent/CompletableFuture.AsynchronousCompletionTask.html" target="_top"><code><I>CompletableFuture.AsynchronousCompletionTask</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CompletionException"></A>
+  <nobr><A HREF="../../../../reference/java/util/concurrent/CompletionException.html" target="_top"><code>CompletionException</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CompletionStage"></A>
+  <nobr><A HREF="../../../../reference/java/util/concurrent/CompletionStage.html" target="_top"><code><I>CompletionStage</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConcurrentHashMap.CollectionView"></A>
+  <nobr><A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.CollectionView.html" target="_top"><code>ConcurrentHashMap.CollectionView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConcurrentHashMap.KeySetView"></A>
+  <nobr><A HREF="../../../../reference/java/util/concurrent/ConcurrentHashMap.KeySetView.html" target="_top"><code>ConcurrentHashMap.KeySetView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CountedCompleter"></A>
+  <nobr><A HREF="../../../../reference/java/util/concurrent/CountedCompleter.html" target="_top"><code>CountedCompleter</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ArrayBlockingQueue"></A>
+  <nobr><A HREF="java.util.concurrent.ArrayBlockingQueue.html">ArrayBlockingQueue</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConcurrentHashMap"></A>
+  <nobr><A HREF="java.util.concurrent.ConcurrentHashMap.html">ConcurrentHashMap</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConcurrentLinkedDeque"></A>
+  <nobr><A HREF="java.util.concurrent.ConcurrentLinkedDeque.html">ConcurrentLinkedDeque</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConcurrentLinkedQueue"></A>
+  <nobr><A HREF="java.util.concurrent.ConcurrentLinkedQueue.html">ConcurrentLinkedQueue</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConcurrentSkipListMap"></A>
+  <nobr><A HREF="java.util.concurrent.ConcurrentSkipListMap.html">ConcurrentSkipListMap</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConcurrentSkipListSet"></A>
+  <nobr><A HREF="java.util.concurrent.ConcurrentSkipListSet.html">ConcurrentSkipListSet</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CopyOnWriteArrayList"></A>
+  <nobr><A HREF="java.util.concurrent.CopyOnWriteArrayList.html">CopyOnWriteArrayList</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CopyOnWriteArraySet"></A>
+  <nobr><A HREF="java.util.concurrent.CopyOnWriteArraySet.html">CopyOnWriteArraySet</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Executors"></A>
+  <nobr><A HREF="java.util.concurrent.Executors.html">Executors</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ForkJoinPool"></A>
+  <nobr><A HREF="java.util.concurrent.ForkJoinPool.html">ForkJoinPool</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ForkJoinTask"></A>
+  <nobr><A HREF="java.util.concurrent.ForkJoinTask.html">ForkJoinTask</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LinkedBlockingDeque"></A>
+  <nobr><A HREF="java.util.concurrent.LinkedBlockingDeque.html">LinkedBlockingDeque</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LinkedBlockingQueue"></A>
+  <nobr><A HREF="java.util.concurrent.LinkedBlockingQueue.html">LinkedBlockingQueue</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LinkedTransferQueue"></A>
+  <nobr><A HREF="java.util.concurrent.LinkedTransferQueue.html">LinkedTransferQueue</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PriorityBlockingQueue"></A>
+  <nobr><A HREF="java.util.concurrent.PriorityBlockingQueue.html">PriorityBlockingQueue</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SynchronousQueue"></A>
+  <nobr><A HREF="java.util.concurrent.SynchronousQueue.html">SynchronousQueue</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.util.concurrent.locks.html b/docs/html/sdk/api_diff/24/changes/pkg_java.util.concurrent.locks.html
new file mode 100644
index 0000000..4ea6c4d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.util.concurrent.locks.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.concurrent.locks
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/util/concurrent/locks/package-summary.html" target="_top"><font size="+1"><code>java.util.concurrent.locks</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StampedLock"></A>
+  <nobr><A HREF="../../../../reference/java/util/concurrent/locks/StampedLock.html" target="_top"><code>StampedLock</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.util.html b/docs/html/sdk/api_diff/24/changes/pkg_java.util.html
new file mode 100644
index 0000000..fb9c8b6
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.util.html
@@ -0,0 +1,589 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/util/package-summary.html" target="_top"><font size="+1"><code>java.util</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DoubleSummaryStatistics"></A>
+  <nobr><A HREF="../../../../reference/java/util/DoubleSummaryStatistics.html" target="_top"><code>DoubleSummaryStatistics</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="IntSummaryStatistics"></A>
+  <nobr><A HREF="../../../../reference/java/util/IntSummaryStatistics.html" target="_top"><code>IntSummaryStatistics</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Locale.Category"></A>
+  <nobr><A HREF="../../../../reference/java/util/Locale.Category.html" target="_top"><code>Locale.Category</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LongSummaryStatistics"></A>
+  <nobr><A HREF="../../../../reference/java/util/LongSummaryStatistics.html" target="_top"><code>LongSummaryStatistics</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Optional"></A>
+  <nobr><A HREF="../../../../reference/java/util/Optional.html" target="_top"><code>Optional</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="OptionalDouble"></A>
+  <nobr><A HREF="../../../../reference/java/util/OptionalDouble.html" target="_top"><code>OptionalDouble</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="OptionalInt"></A>
+  <nobr><A HREF="../../../../reference/java/util/OptionalInt.html" target="_top"><code>OptionalInt</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="OptionalLong"></A>
+  <nobr><A HREF="../../../../reference/java/util/OptionalLong.html" target="_top"><code>OptionalLong</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PrimitiveIterator"></A>
+  <nobr><A HREF="../../../../reference/java/util/PrimitiveIterator.html" target="_top"><code><I>PrimitiveIterator</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PrimitiveIterator.OfDouble"></A>
+  <nobr><A HREF="../../../../reference/java/util/PrimitiveIterator.OfDouble.html" target="_top"><code><I>PrimitiveIterator.OfDouble</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PrimitiveIterator.OfInt"></A>
+  <nobr><A HREF="../../../../reference/java/util/PrimitiveIterator.OfInt.html" target="_top"><code><I>PrimitiveIterator.OfInt</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PrimitiveIterator.OfLong"></A>
+  <nobr><A HREF="../../../../reference/java/util/PrimitiveIterator.OfLong.html" target="_top"><code><I>PrimitiveIterator.OfLong</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Spliterator"></A>
+  <nobr><A HREF="../../../../reference/java/util/Spliterator.html" target="_top"><code><I>Spliterator</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Spliterator.OfDouble"></A>
+  <nobr><A HREF="../../../../reference/java/util/Spliterator.OfDouble.html" target="_top"><code><I>Spliterator.OfDouble</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Spliterator.OfInt"></A>
+  <nobr><A HREF="../../../../reference/java/util/Spliterator.OfInt.html" target="_top"><code><I>Spliterator.OfInt</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Spliterator.OfLong"></A>
+  <nobr><A HREF="../../../../reference/java/util/Spliterator.OfLong.html" target="_top"><code><I>Spliterator.OfLong</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Spliterator.OfPrimitive"></A>
+  <nobr><A HREF="../../../../reference/java/util/Spliterator.OfPrimitive.html" target="_top"><code><I>Spliterator.OfPrimitive</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Spliterators"></A>
+  <nobr><A HREF="../../../../reference/java/util/Spliterators.html" target="_top"><code>Spliterators</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Spliterators.AbstractDoubleSpliterator"></A>
+  <nobr><A HREF="../../../../reference/java/util/Spliterators.AbstractDoubleSpliterator.html" target="_top"><code>Spliterators.AbstractDoubleSpliterator</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Spliterators.AbstractIntSpliterator"></A>
+  <nobr><A HREF="../../../../reference/java/util/Spliterators.AbstractIntSpliterator.html" target="_top"><code>Spliterators.AbstractIntSpliterator</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Spliterators.AbstractLongSpliterator"></A>
+  <nobr><A HREF="../../../../reference/java/util/Spliterators.AbstractLongSpliterator.html" target="_top"><code>Spliterators.AbstractLongSpliterator</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Spliterators.AbstractSpliterator"></A>
+  <nobr><A HREF="../../../../reference/java/util/Spliterators.AbstractSpliterator.html" target="_top"><code>Spliterators.AbstractSpliterator</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SplittableRandom"></A>
+  <nobr><A HREF="../../../../reference/java/util/SplittableRandom.html" target="_top"><code>SplittableRandom</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StringJoiner"></A>
+  <nobr><A HREF="../../../../reference/java/util/StringJoiner.html" target="_top"><code>StringJoiner</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ArrayDeque"></A>
+  <nobr><A HREF="java.util.ArrayDeque.html">ArrayDeque</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ArrayList"></A>
+  <nobr><A HREF="java.util.ArrayList.html">ArrayList</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Arrays"></A>
+  <nobr><A HREF="java.util.Arrays.html">Arrays</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BitSet"></A>
+  <nobr><A HREF="java.util.BitSet.html">BitSet</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Calendar"></A>
+  <nobr><A HREF="java.util.Calendar.html">Calendar</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Collection"></A>
+  <nobr><A HREF="java.util.Collection.html"><I>Collection</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Collections"></A>
+  <nobr><A HREF="java.util.Collections.html">Collections</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Comparator"></A>
+  <nobr><A HREF="java.util.Comparator.html"><I>Comparator</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Currency"></A>
+  <nobr><A HREF="java.util.Currency.html">Currency</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="EnumMap"></A>
+  <nobr><A HREF="java.util.EnumMap.html">EnumMap</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="EventListenerProxy"></A>
+  <nobr><A HREF="java.util.EventListenerProxy.html">EventListenerProxy</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FormatFlagsConversionMismatchException"></A>
+  <nobr><A HREF="java.util.FormatFlagsConversionMismatchException.html">FormatFlagsConversionMismatchException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Formattable"></A>
+  <nobr><A HREF="java.util.Formattable.html"><I>Formattable</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FormatterClosedException"></A>
+  <nobr><A HREF="java.util.FormatterClosedException.html">FormatterClosedException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GregorianCalendar"></A>
+  <nobr><A HREF="java.util.GregorianCalendar.html">GregorianCalendar</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HashMap"></A>
+  <nobr><A HREF="java.util.HashMap.html">HashMap</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HashSet"></A>
+  <nobr><A HREF="java.util.HashSet.html">HashSet</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Hashtable"></A>
+  <nobr><A HREF="java.util.Hashtable.html">Hashtable</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="IdentityHashMap"></A>
+  <nobr><A HREF="java.util.IdentityHashMap.html">IdentityHashMap</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="IllegalFormatCodePointException"></A>
+  <nobr><A HREF="java.util.IllegalFormatCodePointException.html">IllegalFormatCodePointException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="IllegalFormatConversionException"></A>
+  <nobr><A HREF="java.util.IllegalFormatConversionException.html">IllegalFormatConversionException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="IllegalFormatException"></A>
+  <nobr><A HREF="java.util.IllegalFormatException.html">IllegalFormatException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="IllegalFormatFlagsException"></A>
+  <nobr><A HREF="java.util.IllegalFormatFlagsException.html">IllegalFormatFlagsException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InputMismatchException"></A>
+  <nobr><A HREF="java.util.InputMismatchException.html">InputMismatchException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Iterator"></A>
+  <nobr><A HREF="java.util.Iterator.html"><I>Iterator</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LinkedHashMap"></A>
+  <nobr><A HREF="java.util.LinkedHashMap.html">LinkedHashMap</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LinkedList"></A>
+  <nobr><A HREF="java.util.LinkedList.html">LinkedList</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="List"></A>
+  <nobr><A HREF="java.util.List.html"><I>List</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Locale"></A>
+  <nobr><A HREF="java.util.Locale.html">Locale</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Map"></A>
+  <nobr><A HREF="java.util.Map.html"><I>Map</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Map.Entry"></A>
+  <nobr><A HREF="java.util.Map.Entry.html"><I>Map.Entry</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Objects"></A>
+  <nobr><A HREF="java.util.Objects.html">Objects</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PriorityQueue"></A>
+  <nobr><A HREF="java.util.PriorityQueue.html">PriorityQueue</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Random"></A>
+  <nobr><A HREF="java.util.Random.html">Random</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ResourceBundle"></A>
+  <nobr><A HREF="java.util.ResourceBundle.html">ResourceBundle</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ResourceBundle.Control"></A>
+  <nobr><A HREF="java.util.ResourceBundle.Control.html">ResourceBundle.Control</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Scanner"></A>
+  <nobr><A HREF="java.util.Scanner.html">Scanner</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SortedMap"></A>
+  <nobr><A HREF="java.util.SortedMap.html"><I>SortedMap</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TimeZone"></A>
+  <nobr><A HREF="java.util.TimeZone.html">TimeZone</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TreeMap"></A>
+  <nobr><A HREF="java.util.TreeMap.html">TreeMap</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TreeSet"></A>
+  <nobr><A HREF="java.util.TreeSet.html">TreeSet</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Vector"></A>
+  <nobr><A HREF="java.util.Vector.html">Vector</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WeakHashMap"></A>
+  <nobr><A HREF="java.util.WeakHashMap.html">WeakHashMap</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.util.logging.html b/docs/html/sdk/api_diff/24/changes/pkg_java.util.logging.html
new file mode 100644
index 0000000..ab109c1
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.util.logging.html
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.logging
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/util/logging/package-summary.html" target="_top"><font size="+1"><code>java.util.logging</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Handler"></A>
+  <nobr><A HREF="java.util.logging.Handler.html">Handler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LogManager"></A>
+  <nobr><A HREF="java.util.logging.LogManager.html">LogManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Logger"></A>
+  <nobr><A HREF="java.util.logging.Logger.html">Logger</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LoggingPermission"></A>
+  <nobr><A HREF="java.util.logging.LoggingPermission.html">LoggingPermission</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MemoryHandler"></A>
+  <nobr><A HREF="java.util.logging.MemoryHandler.html">MemoryHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StreamHandler"></A>
+  <nobr><A HREF="java.util.logging.StreamHandler.html">StreamHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.util.prefs.html b/docs/html/sdk/api_diff/24/changes/pkg_java.util.prefs.html
new file mode 100644
index 0000000..2eb7234
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.util.prefs.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.prefs
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/util/prefs/package-summary.html" target="_top"><font size="+1"><code>java.util.prefs</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NodeChangeEvent"></A>
+  <nobr><A HREF="java.util.prefs.NodeChangeEvent.html">NodeChangeEvent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PreferenceChangeEvent"></A>
+  <nobr><A HREF="java.util.prefs.PreferenceChangeEvent.html">PreferenceChangeEvent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.util.regex.html b/docs/html/sdk/api_diff/24/changes/pkg_java.util.regex.html
new file mode 100644
index 0000000..ac418ed
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.util.regex.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.regex
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/util/regex/package-summary.html" target="_top"><font size="+1"><code>java.util.regex</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Pattern"></A>
+  <nobr><A HREF="java.util.regex.Pattern.html">Pattern</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_java.util.zip.html b/docs/html/sdk/api_diff/24/changes/pkg_java.util.zip.html
new file mode 100644
index 0000000..aa3ff3a
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_java.util.zip.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util.zip
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/util/zip/package-summary.html" target="_top"><font size="+1"><code>java.util.zip</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InflaterInputStream"></A>
+  <nobr><A HREF="java.util.zip.InflaterInputStream.html">InflaterInputStream</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ZipFile"></A>
+  <nobr><A HREF="java.util.zip.ZipFile.html">ZipFile</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ZipInputStream"></A>
+  <nobr><A HREF="java.util.zip.ZipInputStream.html">ZipInputStream</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ZipOutputStream"></A>
+  <nobr><A HREF="java.util.zip.ZipOutputStream.html">ZipOutputStream</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_javax.crypto.spec.html b/docs/html/sdk/api_diff/24/changes/pkg_javax.crypto.spec.html
new file mode 100644
index 0000000..31aa70d
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_javax.crypto.spec.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+javax.crypto.spec
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/javax/crypto/spec/package-summary.html" target="_top"><font size="+1"><code>javax.crypto.spec</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SecretKeySpec"></A>
+  <nobr><A HREF="javax.crypto.spec.SecretKeySpec.html">SecretKeySpec</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_javax.net.ssl.html b/docs/html/sdk/api_diff/24/changes/pkg_javax.net.ssl.html
new file mode 100644
index 0000000..1a6f932
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_javax.net.ssl.html
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+javax.net.ssl
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/javax/net/ssl/package-summary.html" target="_top"><font size="+1"><code>javax.net.ssl</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ExtendedSSLSession"></A>
+  <nobr><A HREF="../../../../reference/javax/net/ssl/ExtendedSSLSession.html" target="_top"><code>ExtendedSSLSession</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SNIHostName"></A>
+  <nobr><A HREF="../../../../reference/javax/net/ssl/SNIHostName.html" target="_top"><code>SNIHostName</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SNIMatcher"></A>
+  <nobr><A HREF="../../../../reference/javax/net/ssl/SNIMatcher.html" target="_top"><code>SNIMatcher</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SNIServerName"></A>
+  <nobr><A HREF="../../../../reference/javax/net/ssl/SNIServerName.html" target="_top"><code>SNIServerName</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StandardConstants"></A>
+  <nobr><A HREF="../../../../reference/javax/net/ssl/StandardConstants.html" target="_top"><code>StandardConstants</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="X509ExtendedTrustManager"></A>
+  <nobr><A HREF="../../../../reference/javax/net/ssl/X509ExtendedTrustManager.html" target="_top"><code>X509ExtendedTrustManager</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SSLEngine"></A>
+  <nobr><A HREF="javax.net.ssl.SSLEngine.html">SSLEngine</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SSLParameters"></A>
+  <nobr><A HREF="javax.net.ssl.SSLParameters.html">SSLParameters</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SSLServerSocket"></A>
+  <nobr><A HREF="javax.net.ssl.SSLServerSocket.html">SSLServerSocket</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SSLSocket"></A>
+  <nobr><A HREF="javax.net.ssl.SSLSocket.html">SSLSocket</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/changes/pkg_javax.sql.html b/docs/html/sdk/api_diff/24/changes/pkg_javax.sql.html
new file mode 100644
index 0000000..bac448e
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/changes/pkg_javax.sql.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+javax.sql
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">23</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:31</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/javax/sql/package-summary.html" target="_top"><font size="+1"><code>javax.sql</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CommonDataSource"></A>
+  <nobr><A HREF="javax.sql.CommonDataSource.html"><I>CommonDataSource</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnectionEvent"></A>
+  <nobr><A HREF="javax.sql.ConnectionEvent.html">ConnectionEvent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RowSetEvent"></A>
+  <nobr><A HREF="javax.sql.RowSetEvent.html">RowSetEvent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/24/stylesheet-jdiff.css b/docs/html/sdk/api_diff/24/stylesheet-jdiff.css
new file mode 100644
index 0000000..edafaa3
--- /dev/null
+++ b/docs/html/sdk/api_diff/24/stylesheet-jdiff.css
@@ -0,0 +1,44 @@
+
+/* (http://www.jdiff.org) */
+
+div.and-diff-id {border: 1px solid #eee;position:relative;float:right;clear:both;padding:0px;}
+table.diffspectable {border:1px;padding:0px;margin:0px;}
+.diffspechead {background-color:#eee;}
+.diffspectable tr {border:0px;padding:0px;}
+.diffspectable td  {background-color:eee;border:0px;font-size:90%;font-weight:normal;padding:0px;padding-left:1px;padding-right:1px;text-align:center;color:777;}
+td.diffvalueold {color:orange;background-color:white;border:0px;font-size:80%;font-style:normal;text-align:left;padding:0px;padding-left:1px;padding-right:1px;line-height:.95em;}
+td.diffvaluenew {color:green;background-color:white;border:0px;font-size:80%;font-weight:normal;text-align:left;padding:0px;padding-left:1px;padding-right:1px;line-height:.95em;}
+td.diffvalue {color:444;background-color:white;border:0px;font-size:80%;font-weight:normal;text-align:left;padding:0px;padding-left:1px;padding-right:1px;line-height:.95em;}
+td.diffspec {background-color:white;border:0px;font-size:80%;font-weight:normal;padding:1px;color:444;text-align:right;padding-right:.5em;line-height:.95em;}
+tt {font-size:11pt;font-family:monospace;}
+.indexHeader {
+  font-size:96%;
+  line-height:.8em;}
+.jdiffIndex td {
+  font-size:96%;
+  xline-height:.8em;
+  padding:2px;
+  padding-left:1em;}
+.indexText {
+  font-size:100%;
+  padding-left:1em;}
+#indexTableCaption {
+  font-size:96%;
+  margin-top:.25em;
+  margin-bottom:0;
+  }
+.hiddenlink {
+  font-size:96%;
+  line-height:.8em;
+  text-decoration:none;}
+a {
+  text-decoration:none;}
+a:hover {
+  text-decoration:underline;}
+.indexBox {
+  border: 1px solid red;
+  margin:1em 0 0 0;}
+.letterIndexHead {
+  font-size: 1.5em;font-weight:9;
+  margin:0 0 0em 0;
+  border: 1px solid red;}
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes.html
new file mode 100644
index 0000000..0d3e32a
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<!-- on Mon Jun 13 13:32:27 PDT 2016 -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+API Differences between n-preview-3 and 24
+</TITLE>
+<link href="../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</head>
+<frameset cols="242,**" framespacing="1" frameborder="yes" border="1" bordercolor="#e9e9e9"> 
+<frameset rows="174,**" framespacing="1" frameborder="yes"  border="1" bordercolor="#e9e9e9">
+    <frame src="changes/jdiff_topleftframe.html" scrolling="no" name="topleftframe" frameborder="1">
+    <frame src="changes/alldiffs_index_all.html" scrolling="auto" name="bottomleftframe" frameborder="1">
+  </frameset>
+  <frame src="changes/changes-summary.html" scrolling="auto" name="rightframe" frameborder="1">
+</frameset>
+<noframes>
+<h2>
+Frame Alert
+</h2>
+
+<p>
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
+<br>
+Link to <a href="changes/changes-summary.html" target="_top">Non-frame version.</A>
+</noframes>
+</html>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/alldiffs_index_additions.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/alldiffs_index_additions.html
new file mode 100644
index 0000000..48fbd81
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/alldiffs_index_additions.html
@@ -0,0 +1,787 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+All Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for All Differences" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="alldiffs_index_all.html" xclass="hiddenlink">All Differences</a>
+  <br>
+<A HREF="alldiffs_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="alldiffs_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<!-- Field ACTION_WEBVIEW_SETTINGS -->
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_WEBVIEW_SETTINGS" class="hiddenlink" target="rightframe">ACTION_WEBVIEW_SETTINGS</A>
+</nobr><br>
+<!-- Method append -->
+<i>append</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[]</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[], int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence, int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.StringBuffer)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>StringBuffer</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[]</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[], int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence, int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.StringBuffer)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>StringBuffer</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Field CONTACT_METADATA_SYNC_ENABLED -->
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.CONTACT_METADATA_SYNC_ENABLED" class="hiddenlink" target="rightframe">CONTACT_METADATA_SYNC_ENABLED</A>
+</nobr><br>
+<!-- Method create -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.create_added(android.graphics.Bitmap, float, float)" class="hiddenlink" target="rightframe"><b>create</b>
+(<code>Bitmap, float, float</code>)</A></nobr><br>
+<!-- Method createForSubscriptionId -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.createForSubscriptionId_added(int)" class="hiddenlink" target="rightframe"><b>createForSubscriptionId</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method disableService -->
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.disableService_added(android.app.Activity)" class="hiddenlink" target="rightframe"><b>disableService</b>
+(<code>Activity</code>)</A></nobr><br>
+<!-- Method enableService -->
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.enableService_added(android.app.Activity, android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>enableService</b>
+(<code>Activity, ComponentName</code>)</A></nobr><br>
+<!-- Field ERROR_DEAD_OBJECT -->
+<i>ERROR_DEAD_OBJECT</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioRecord.html#android.media.AudioRecord.ERROR_DEAD_OBJECT" class="hiddenlink" target="rightframe">android.media.AudioRecord</A>
+</nobr><br>
+<!-- Field ERROR_DEAD_OBJECT -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioTrack.html#android.media.AudioTrack.ERROR_DEAD_OBJECT" class="hiddenlink" target="rightframe">android.media.AudioTrack</A>
+</nobr><br>
+<!-- Field EXTRA_CHRONOMETER_COUNT_DOWN -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_CHRONOMETER_COUNT_DOWN" class="hiddenlink" target="rightframe">EXTRA_CHRONOMETER_COUNT_DOWN</A>
+</nobr><br>
+<!-- Method getBuiltInDrawable -->
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>getBuiltInDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getBuiltInDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<!-- Method getBuiltInDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getBuiltInDrawable_added(int, int, boolean, float, float, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, boolean, float, float, int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<!-- Method getMinFlexMillis -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinFlexMillis_added()" class="hiddenlink" target="rightframe"><b>getMinFlexMillis</b>
+()</A></nobr><br>
+<!-- Method getMinPeriodMillis -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinPeriodMillis_added()" class="hiddenlink" target="rightframe"><b>getMinPeriodMillis</b>
+()</A></nobr><br>
+<!-- Field IMPORTANCE_DEFAULT -->
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_DEFAULT" class="hiddenlink" target="rightframe">IMPORTANCE_DEFAULT</A>
+</nobr><br>
+<!-- Field IMPORTANCE_HIGH -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_HIGH" class="hiddenlink" target="rightframe">IMPORTANCE_HIGH</A>
+</nobr><br>
+<!-- Field IMPORTANCE_LOW -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_LOW" class="hiddenlink" target="rightframe">IMPORTANCE_LOW</A>
+</nobr><br>
+<!-- Field IMPORTANCE_MAX -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_MAX" class="hiddenlink" target="rightframe">IMPORTANCE_MAX</A>
+</nobr><br>
+<!-- Field IMPORTANCE_MIN -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_MIN" class="hiddenlink" target="rightframe">IMPORTANCE_MIN</A>
+</nobr><br>
+<!-- Field IMPORTANCE_NONE -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_NONE" class="hiddenlink" target="rightframe">IMPORTANCE_NONE</A>
+</nobr><br>
+<!-- Field IMPORTANCE_UNSPECIFIED -->
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_UNSPECIFIED" class="hiddenlink" target="rightframe">IMPORTANCE_UNSPECIFIED</A>
+</nobr><br>
+<!-- Method insert -->
+<i>insert</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, boolean</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char[]</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char[], int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, double</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, float</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, CharSequence</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, CharSequence, int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Object</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, long</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, boolean</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char[]</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char[], int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, double</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, float</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, CharSequence</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, CharSequence, int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Object</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, long</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method isRemoteDirectoryId -->
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.isRemoteDirectoryId_added(long)" class="hiddenlink" target="rightframe"><b>isRemoteDirectoryId</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Method isSetWallpaperAllowed -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.isSetWallpaperAllowed_added()" class="hiddenlink" target="rightframe"><b>isSetWallpaperAllowed</b>
+()</A></nobr><br>
+<!-- Field KEYGUARD_DISABLE_REMOTE_INPUT -->
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_REMOTE_INPUT" class="hiddenlink" target="rightframe">KEYGUARD_DISABLE_REMOTE_INPUT</A>
+</nobr><br>
+<!-- Method load -->
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.load_added(android.content.res.Resources, int)" class="hiddenlink" target="rightframe"><b>load</b>
+(<code>Resources, int</code>)</A></nobr><br>
+<!-- Class LocaleList -->
+<A HREF="pkg_android.os.html#LocaleList" class="hiddenlink" target="rightframe"><b>LocaleList</b></A><br>
+<!-- Constructor LocaleSpan -->
+<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.ctor_added(android.os.LocaleList)" class="hiddenlink" target="rightframe"><b>LocaleSpan</b>
+(<code>LocaleList</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field minHeight -->
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.ActivityInfo.WindowLayout.html#android.content.pm.ActivityInfo.WindowLayout.minHeight" class="hiddenlink" target="rightframe">minHeight</A>
+</nobr><br>
+<!-- Field minWidth -->
+<nobr><A HREF="android.content.pm.ActivityInfo.WindowLayout.html#android.content.pm.ActivityInfo.WindowLayout.minWidth" class="hiddenlink" target="rightframe">minWidth</A>
+</nobr><br>
+<!-- Field MPEG2LevelHP -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG2LevelHP" class="hiddenlink" target="rightframe">MPEG2LevelHP</A>
+</nobr><br>
+<!-- Field MPEG4Level3b -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level3b" class="hiddenlink" target="rightframe">MPEG4Level3b</A>
+</nobr><br>
+<!-- Field MPEG4Level6 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level6" class="hiddenlink" target="rightframe">MPEG4Level6</A>
+</nobr><br>
+<!-- Field networkSecurityConfig -->
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.networkSecurityConfig" class="hiddenlink" target="rightframe">networkSecurityConfig</A>
+</nobr><br>
+<!-- Class NetworkStatsManager.UsageCallback -->
+<A HREF="pkg_android.app.usage.html#NetworkStatsManager.UsageCallback" class="hiddenlink" target="rightframe"><b>NetworkStatsManager.UsageCallback</b></A><br>
+<!-- Method onAttachFragment -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onAttachFragment_added(android.app.Fragment)" class="hiddenlink" target="rightframe"><b>onAttachFragment</b>
+(<code>Fragment</code>)</A></nobr><br>
+<!-- Method onResolvePointerIcon -->
+<nobr><A HREF="android.view.View.html#android.view.View.onResolvePointerIcon_added(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe"><b>onResolvePointerIcon</b>
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<!-- Method performContextClick -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.View.html#android.view.View.performContextClick_added(float, float)" class="hiddenlink" target="rightframe"><b>performContextClick</b>
+(<code>float, float</code>)</A></nobr><br>
+<!-- Field pointerIcon -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.pointerIcon" class="hiddenlink" target="rightframe">pointerIcon</A>
+</nobr><br>
+<!-- Field PROPERTY_ENTERPRISE_CALL -->
+<nobr><A HREF="android.telecom.Call.Details.html#android.telecom.Call.Details.PROPERTY_ENTERPRISE_CALL" class="hiddenlink" target="rightframe">PROPERTY_ENTERPRISE_CALL</A>
+</nobr><br>
+<!-- Field RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE -->
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE" class="hiddenlink" target="rightframe">RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE</A>
+</nobr><br>
+<!-- Method registerUsageCallback -->
+<i>registerUsageCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String, long, UsageCallback</code>)</b>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<!-- Method registerUsageCallback -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String, long, UsageCallback, Handler</code>)</b>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<!-- Method requestShowKeyboardShortcuts -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.requestShowKeyboardShortcuts_added()" class="hiddenlink" target="rightframe"><b>requestShowKeyboardShortcuts</b>
+()</A></nobr><br>
+<!-- Method setChronometerCountDown -->
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setChronometerCountDown_added(boolean)" class="hiddenlink" target="rightframe"><b>setChronometerCountDown</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Field TAG_NONE -->
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.TAG_NONE" class="hiddenlink" target="rightframe">TAG_NONE</A>
+</nobr><br>
+<!-- Field TextAppearance_Material_Widget_Button_Borderless_Colored -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Material_Widget_Button_Borderless_Colored" class="hiddenlink" target="rightframe">TextAppearance_Material_Widget_Button_Borderless_Colored</A>
+</nobr><br>
+<!-- Field TextAppearance_Material_Widget_Button_Colored -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Material_Widget_Button_Colored" class="hiddenlink" target="rightframe">TextAppearance_Material_Widget_Button_Colored</A>
+</nobr><br>
+<!-- Field TYPE_ALIAS -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ALIAS" class="hiddenlink" target="rightframe">TYPE_ALIAS</A>
+</nobr><br>
+<!-- Field TYPE_ALL_SCROLL -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ALL_SCROLL" class="hiddenlink" target="rightframe">TYPE_ALL_SCROLL</A>
+</nobr><br>
+<!-- Field TYPE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ARROW" class="hiddenlink" target="rightframe">TYPE_ARROW</A>
+</nobr><br>
+<!-- Field TYPE_CELL -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_CELL" class="hiddenlink" target="rightframe">TYPE_CELL</A>
+</nobr><br>
+<!-- Field TYPE_CONTEXT_MENU -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_CONTEXT_MENU" class="hiddenlink" target="rightframe">TYPE_CONTEXT_MENU</A>
+</nobr><br>
+<!-- Field TYPE_COPY -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_COPY" class="hiddenlink" target="rightframe">TYPE_COPY</A>
+</nobr><br>
+<!-- Field TYPE_CROSSHAIR -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_CROSSHAIR" class="hiddenlink" target="rightframe">TYPE_CROSSHAIR</A>
+</nobr><br>
+<!-- Field TYPE_DEFAULT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_DEFAULT" class="hiddenlink" target="rightframe">TYPE_DEFAULT</A>
+</nobr><br>
+<!-- Field TYPE_GRAB -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_GRAB" class="hiddenlink" target="rightframe">TYPE_GRAB</A>
+</nobr><br>
+<!-- Field TYPE_GRABBING -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_GRABBING" class="hiddenlink" target="rightframe">TYPE_GRABBING</A>
+</nobr><br>
+<!-- Field TYPE_HAND -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_HAND" class="hiddenlink" target="rightframe">TYPE_HAND</A>
+</nobr><br>
+<!-- Field TYPE_HELP -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_HELP" class="hiddenlink" target="rightframe">TYPE_HELP</A>
+</nobr><br>
+<!-- Field TYPE_HORIZONTAL_DOUBLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_HORIZONTAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe">TYPE_HORIZONTAL_DOUBLE_ARROW</A>
+</nobr><br>
+<!-- Field TYPE_NO_DROP -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_NO_DROP" class="hiddenlink" target="rightframe">TYPE_NO_DROP</A>
+</nobr><br>
+<!-- Field TYPE_NULL -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_NULL" class="hiddenlink" target="rightframe">TYPE_NULL</A>
+</nobr><br>
+<!-- Field TYPE_TEXT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_TEXT" class="hiddenlink" target="rightframe">TYPE_TEXT</A>
+</nobr><br>
+<!-- Field TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe">TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW</A>
+</nobr><br>
+<!-- Field TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe">TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW</A>
+</nobr><br>
+<!-- Field TYPE_VERTICAL_DOUBLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_VERTICAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe">TYPE_VERTICAL_DOUBLE_ARROW</A>
+</nobr><br>
+<!-- Field TYPE_VERTICAL_TEXT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_VERTICAL_TEXT" class="hiddenlink" target="rightframe">TYPE_VERTICAL_TEXT</A>
+</nobr><br>
+<!-- Field TYPE_WAIT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_WAIT" class="hiddenlink" target="rightframe">TYPE_WAIT</A>
+</nobr><br>
+<!-- Field TYPE_ZOOM_IN -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ZOOM_IN" class="hiddenlink" target="rightframe">TYPE_ZOOM_IN</A>
+</nobr><br>
+<!-- Field TYPE_ZOOM_OUT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ZOOM_OUT" class="hiddenlink" target="rightframe">TYPE_ZOOM_OUT</A>
+</nobr><br>
+<!-- Method unregisterSystemCodeForService -->
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.unregisterSystemCodeForService_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>unregisterSystemCodeForService</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method unregisterUsageCallback -->
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.unregisterUsageCallback_added(android.app.usage.NetworkStatsManager.UsageCallback)" class="hiddenlink" target="rightframe"><b>unregisterUsageCallback</b>
+(<code>UsageCallback</code>)</A></nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/alldiffs_index_all.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/alldiffs_index_all.html
new file mode 100644
index 0000000..0cd19cf
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/alldiffs_index_all.html
@@ -0,0 +1,2131 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+All Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for All Differences" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>All Differences</b>
+  <br>
+<A HREF="alldiffs_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="alldiffs_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="alldiffs_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<!-- Class AbstractStringBuilder -->
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.lang.AbstractStringBuilder.html" class="hiddenlink" target="rightframe">AbstractStringBuilder</A><br>
+<!-- Field ACTION_SYNC_VOICEMAIL -->
+<nobr><A HREF="android.provider.VoicemailContract.html#android.provider.VoicemailContract.ACTION_SYNC_VOICEMAIL" class="hiddenlink" target="rightframe">ACTION_SYNC_VOICEMAIL</A>
+</nobr><br>
+<!-- Field ACTION_WEBVIEW_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_WEBVIEW_SETTINGS" class="hiddenlink" target="rightframe">ACTION_WEBVIEW_SETTINGS</A>
+</nobr><br>
+<!-- Class Activity -->
+<A HREF="android.app.Activity.html" class="hiddenlink" target="rightframe">Activity</A><br>
+<!-- Class ActivityInfo.WindowLayout -->
+<A HREF="android.content.pm.ActivityInfo.WindowLayout.html" class="hiddenlink" target="rightframe">ActivityInfo.WindowLayout</A><br>
+<!-- Package android -->
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<!-- Package android.app -->
+<A HREF="pkg_android.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Package android.app.admin -->
+<A HREF="pkg_android.app.admin.html" class="hiddenlink" target="rightframe">android.app.admin</A><br>
+<!-- Package android.app.job -->
+<A HREF="pkg_android.app.job.html" class="hiddenlink" target="rightframe">android.app.job</A><br>
+<!-- Package android.app.usage -->
+<A HREF="pkg_android.app.usage.html" class="hiddenlink" target="rightframe">android.app.usage</A><br>
+<!-- Package android.content -->
+<A HREF="pkg_android.content.html" class="hiddenlink" target="rightframe">android.content</A><br>
+<!-- Package android.content.pm -->
+<A HREF="pkg_android.content.pm.html" class="hiddenlink" target="rightframe">android.content.pm</A><br>
+<!-- Package android.content.res -->
+<A HREF="pkg_android.content.res.html" class="hiddenlink" target="rightframe">android.content.res</A><br>
+<!-- Package android.graphics -->
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<!-- Package android.icu.text -->
+<A HREF="pkg_android.icu.text.html" class="hiddenlink" target="rightframe">android.icu.text</A><br>
+<!-- Package android.icu.util -->
+<A HREF="pkg_android.icu.util.html" class="hiddenlink" target="rightframe">android.icu.util</A><br>
+<!-- Package android.media -->
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<!-- Package android.media.tv -->
+<A HREF="pkg_android.media.tv.html" class="hiddenlink" target="rightframe">android.media.tv</A><br>
+<!-- Package android.net -->
+<A HREF="pkg_android.net.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<!-- Package android.nfc.cardemulation -->
+<A HREF="pkg_android.nfc.cardemulation.html" class="hiddenlink" target="rightframe">android.nfc.cardemulation</A><br>
+<!-- Package android.os -->
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<!-- Package android.os.health -->
+<A HREF="pkg_android.os.health.html" class="hiddenlink" target="rightframe">android.os.health</A><br>
+<!-- Package android.provider -->
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<!-- Package android.service.carrier -->
+<A HREF="pkg_android.service.carrier.html" class="hiddenlink" target="rightframe">android.service.carrier</A><br>
+<!-- Package android.service.notification -->
+<A HREF="pkg_android.service.notification.html" class="hiddenlink" target="rightframe">android.service.notification</A><br>
+<!-- Package android.telecom -->
+<A HREF="pkg_android.telecom.html" class="hiddenlink" target="rightframe">android.telecom</A><br>
+<!-- Package android.telephony -->
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<!-- Package android.test.mock -->
+<A HREF="pkg_android.test.mock.html" class="hiddenlink" target="rightframe">android.test.mock</A><br>
+<!-- Package android.text.style -->
+<A HREF="pkg_android.text.style.html" class="hiddenlink" target="rightframe">android.text.style</A><br>
+<!-- Package android.util -->
+<A HREF="pkg_android.util.html" class="hiddenlink" target="rightframe">android.util</A><br>
+<!-- Package android.view -->
+<A HREF="pkg_android.view.html" class="hiddenlink" target="rightframe">android.view</A><br>
+<!-- Package android.view.inputmethod -->
+<A HREF="pkg_android.view.inputmethod.html" class="hiddenlink" target="rightframe">android.view.inputmethod</A><br>
+<!-- Package android.webkit -->
+<A HREF="pkg_android.webkit.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<!-- Package android.widget -->
+<A HREF="pkg_android.widget.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<!-- Method append -->
+<i>append</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>boolean</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(char)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>char</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(char[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>char[]</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>char[], int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(double)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>double</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(float)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>float</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CharSequence</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CharSequence, int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.StringBuffer)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>StringBuffer</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(long)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>long</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[]</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[], int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence, int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.StringBuffer)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>StringBuffer</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[]</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[], int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence, int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.StringBuffer)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>StringBuffer</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method appendCodePoint -->
+<i>appendCodePoint</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.appendCodePoint_removed(int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method appendCodePoint -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.appendCodePoint_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method appendCodePoint -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.appendCodePoint_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Class AudioManager -->
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<!-- Class AudioManager.AudioRecordingCallback -->
+<A HREF="android.media.AudioManager.AudioRecordingCallback.html" class="hiddenlink" target="rightframe">AudioManager.AudioRecordingCallback</A><br>
+<!-- Class AudioRecord -->
+<A HREF="android.media.AudioRecord.html" class="hiddenlink" target="rightframe">AudioRecord</A><br>
+<!-- Class AudioTrack -->
+<A HREF="android.media.AudioTrack.html" class="hiddenlink" target="rightframe">AudioTrack</A><br>
+<!-- Field backupInForeground -->
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.backupInForeground" class="hiddenlink" target="rightframe">backupInForeground</A>
+</nobr><br>
+<!-- Field bitmap -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.bitmap" class="hiddenlink" target="rightframe">bitmap</A>
+</nobr><br>
+<!-- Class BreakIterator -->
+<A HREF="android.icu.text.BreakIterator.html" class="hiddenlink" target="rightframe">BreakIterator</A><br>
+<!-- Method build -->
+<nobr><A HREF="android.media.tv.TvInputInfo.Builder.html#android.media.tv.TvInputInfo.Builder.build_changed()" class="hiddenlink" target="rightframe">build
+()</A></nobr><br>
+<!-- Class Build.VERSION_CODES -->
+<A HREF="android.os.Build.VERSION_CODES.html" class="hiddenlink" target="rightframe">Build.VERSION_CODES</A><br>
+<!-- Field buttonGravity -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.buttonGravity" class="hiddenlink" target="rightframe">buttonGravity</A>
+</nobr><br>
+<!-- Class Call.Details -->
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.telecom.Call.Details.html" class="hiddenlink" target="rightframe">Call.Details</A><br>
+<!-- Field canControlMagnification -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.canControlMagnification" class="hiddenlink" target="rightframe">canControlMagnification</A>
+</nobr><br>
+<!-- Field canPerformGestures -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.canPerformGestures" class="hiddenlink" target="rightframe">canPerformGestures</A>
+</nobr><br>
+<!-- Field canRecord -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.canRecord" class="hiddenlink" target="rightframe">canRecord</A>
+</nobr><br>
+<!-- Class CarrierConfigManager -->
+<A HREF="android.telephony.CarrierConfigManager.html" class="hiddenlink" target="rightframe">CarrierConfigManager</A><br>
+<!-- Class CarrierMessagingService -->
+<A HREF="android.service.carrier.CarrierMessagingService.html" class="hiddenlink" target="rightframe">CarrierMessagingService</A><br>
+<!-- Field collapseIcon -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.collapseIcon" class="hiddenlink" target="rightframe">collapseIcon</A>
+</nobr><br>
+<!-- Class Collator -->
+<A HREF="android.icu.text.Collator.html" class="hiddenlink" target="rightframe">Collator</A><br>
+<!-- Class Collator.CollatorFactory -->
+<A HREF="pkg_android.icu.text.html#Collator.CollatorFactory" class="hiddenlink" target="rightframe"><strike>Collator.CollatorFactory</strike></A><br>
+<!-- Class Condition -->
+<A HREF="android.service.notification.Condition.html" class="hiddenlink" target="rightframe">Condition</A><br>
+<!-- Class ConditionProviderService -->
+<A HREF="android.service.notification.ConditionProviderService.html" class="hiddenlink" target="rightframe">ConditionProviderService</A><br>
+<!-- Class Configuration -->
+<A HREF="android.content.res.Configuration.html" class="hiddenlink" target="rightframe">Configuration</A><br>
+<!-- Class Constructor -->
+<A HREF="java.lang.reflect.Constructor.html" class="hiddenlink" target="rightframe">Constructor</A><br>
+<!-- Field CONTACT_METADATA_SYNC -->
+<nobr><A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.CONTACT_METADATA_SYNC" class="hiddenlink" target="rightframe"><strike>CONTACT_METADATA_SYNC</strike></A>
+</nobr><br>
+<!-- Field CONTACT_METADATA_SYNC_ENABLED -->
+<nobr><A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.CONTACT_METADATA_SYNC_ENABLED" class="hiddenlink" target="rightframe">CONTACT_METADATA_SYNC_ENABLED</A>
+</nobr><br>
+<!-- Class ContactsContract.Directory -->
+<A HREF="android.provider.ContactsContract.Directory.html" class="hiddenlink" target="rightframe">ContactsContract.Directory</A><br>
+<!-- Field contentInsetEndWithActions -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentInsetEndWithActions" class="hiddenlink" target="rightframe">contentInsetEndWithActions</A>
+</nobr><br>
+<!-- Field contentInsetStartWithNavigation -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentInsetStartWithNavigation" class="hiddenlink" target="rightframe">contentInsetStartWithNavigation</A>
+</nobr><br>
+<!-- Class Context -->
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<!-- Field contextPopupMenuStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.contextPopupMenuStyle" class="hiddenlink" target="rightframe">contextPopupMenuStyle</A>
+</nobr><br>
+<!-- Field countDown -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.countDown" class="hiddenlink" target="rightframe">countDown</A>
+</nobr><br>
+<!-- Method create -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.create_added(android.graphics.Bitmap, float, float)" class="hiddenlink" target="rightframe"><b>create</b>
+(<code>Bitmap, float, float</code>)</A></nobr><br>
+<!-- Method createCustomIcon -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.createCustomIcon_removed(android.graphics.Bitmap, float, float)" class="hiddenlink" target="rightframe"><strike>createCustomIcon</strike>
+(<code>Bitmap, float, float</code>)</A></nobr><br>
+<!-- Method createForSubscriptionId -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.createForSubscriptionId_added(int)" class="hiddenlink" target="rightframe"><b>createForSubscriptionId</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Class Currency -->
+<A HREF="android.icu.util.Currency.html" class="hiddenlink" target="rightframe">Currency</A><br>
+<!-- Class DataUsagePolicy -->
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.app.usage.html#DataUsagePolicy" class="hiddenlink" target="rightframe"><strike>DataUsagePolicy</strike></A><br>
+<!-- Class DataUsagePolicy.Builder -->
+<A HREF="pkg_android.app.usage.html#DataUsagePolicy.Builder" class="hiddenlink" target="rightframe"><strike>DataUsagePolicy.Builder</strike></A><br>
+<!-- Class DataUsageRequest -->
+<A HREF="pkg_android.net.html#DataUsageRequest" class="hiddenlink" target="rightframe"><strike>DataUsageRequest</strike></A><br>
+<!-- Field defaultToDeviceProtectedStorage -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.defaultToDeviceProtectedStorage" class="hiddenlink" target="rightframe">defaultToDeviceProtectedStorage</A>
+</nobr><br>
+<!-- Method delete -->
+<i>delete</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.delete_removed(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method delete -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.delete_changed(int, int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int</code>)&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method delete -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.delete_changed(int, int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int</code>)&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method deleteCharAt -->
+<i>deleteCharAt</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.deleteCharAt_removed(int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method deleteCharAt -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.deleteCharAt_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method deleteCharAt -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.deleteCharAt_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method destroy -->
+<nobr><A HREF="android.app.UiAutomation.html#android.app.UiAutomation.destroy_removed()" class="hiddenlink" target="rightframe"><strike>destroy</strike>
+()</A></nobr><br>
+<!-- Class DevicePolicyManager -->
+<A HREF="android.app.admin.DevicePolicyManager.html" class="hiddenlink" target="rightframe">DevicePolicyManager</A><br>
+<!-- Field directBootAware -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.directBootAware" class="hiddenlink" target="rightframe">directBootAware</A>
+</nobr><br>
+<!-- Method disableNfcFForegroundService -->
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.disableNfcFForegroundService_removed(android.app.Activity)" class="hiddenlink" target="rightframe"><strike>disableNfcFForegroundService</strike>
+(<code>Activity</code>)</A></nobr><br>
+<!-- Method disableService -->
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.disableService_added(android.app.Activity)" class="hiddenlink" target="rightframe"><b>disableService</b>
+(<code>Activity</code>)</A></nobr><br>
+<!-- Class Display.HdrCapabilities -->
+<i>Display.HdrCapabilities</i><br>
+&nbsp;&nbsp;<A HREF="android.view.Display.HdrCapabilities.html" class="hiddenlink" target="rightframe">android.view</A><br>
+<!-- Constructor Display.HdrCapabilities -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.Display.HdrCapabilities.html#android.view.Display.HdrCapabilities.ctor_removed(int[], float, float, float)" class="hiddenlink" target="rightframe"><strike>Display.HdrCapabilities</strike>
+(<code>int[], float, float, float</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class EditorInfo -->
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.inputmethod.EditorInfo.html" class="hiddenlink" target="rightframe">EditorInfo</A><br>
+<!-- Method enableNfcFForegroundService -->
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.enableNfcFForegroundService_removed(android.app.Activity, android.content.ComponentName)" class="hiddenlink" target="rightframe"><strike>enableNfcFForegroundService</strike>
+(<code>Activity, ComponentName</code>)</A></nobr><br>
+<!-- Method enableService -->
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.enableService_added(android.app.Activity, android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>enableService</b>
+(<code>Activity, ComponentName</code>)</A></nobr><br>
+<!-- Field enableVrMode -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.enableVrMode" class="hiddenlink" target="rightframe">enableVrMode</A>
+</nobr><br>
+<!-- Field endX -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.endX" class="hiddenlink" target="rightframe">endX</A>
+</nobr><br>
+<!-- Field endY -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.endY" class="hiddenlink" target="rightframe">endY</A>
+</nobr><br>
+<!-- Field ERROR_DEAD_OBJECT -->
+<i>ERROR_DEAD_OBJECT</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioRecord.html#android.media.AudioRecord.ERROR_DEAD_OBJECT" class="hiddenlink" target="rightframe">android.media.AudioRecord</A>
+</nobr><br>
+<!-- Field ERROR_DEAD_OBJECT -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioTrack.html#android.media.AudioTrack.ERROR_DEAD_OBJECT" class="hiddenlink" target="rightframe">android.media.AudioTrack</A>
+</nobr><br>
+<!-- Field externalService -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.externalService" class="hiddenlink" target="rightframe">externalService</A>
+</nobr><br>
+<!-- Field EXTRA_CHRONOMETER_COUNT_DOWN -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_CHRONOMETER_COUNT_DOWN" class="hiddenlink" target="rightframe">EXTRA_CHRONOMETER_COUNT_DOWN</A>
+</nobr><br>
+<!-- Field EXTRA_CHRONOMETER_COUNTS_DOWN -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_CHRONOMETER_COUNTS_DOWN" class="hiddenlink" target="rightframe"><strike>EXTRA_CHRONOMETER_COUNTS_DOWN</strike></A>
+</nobr><br>
+<!-- Field EXTRA_RULE_ID -->
+<nobr><A HREF="android.service.notification.ConditionProviderService.html#android.service.notification.ConditionProviderService.EXTRA_RULE_ID" class="hiddenlink" target="rightframe">EXTRA_RULE_ID</A>
+</nobr><br>
+<!-- Field fillType -->
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.fillType" class="hiddenlink" target="rightframe">fillType</A>
+</nobr><br>
+<!-- Field forceHasOverlappingRendering -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.forceHasOverlappingRendering" class="hiddenlink" target="rightframe">forceHasOverlappingRendering</A>
+</nobr><br>
+<!-- Class Fragment -->
+<A HREF="android.app.Fragment.html" class="hiddenlink" target="rightframe">Fragment</A><br>
+<!-- Method from -->
+<nobr><A HREF="android.os.health.SystemHealthManager.html#android.os.health.SystemHealthManager.from_removed(android.content.Context)" class="hiddenlink" target="rightframe"><strike>from</strike>
+(<code>Context</code>)</A></nobr><br>
+<!-- Method getActiveRecordingConfigurations -->
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.getActiveRecordingConfigurations_changed()" class="hiddenlink" target="rightframe">getActiveRecordingConfigurations
+()</A></nobr><br>
+<!-- Method getBuiltInDrawable -->
+<i>getBuiltInDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getBuiltInDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<!-- Method getBuiltInDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getBuiltInDrawable_added(int, int, boolean, float, float, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, boolean, float, float, int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<!-- Method getCallState -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getCallState_removed(int)" class="hiddenlink" target="rightframe"><strike>getCallState</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getConfig -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.getConfig_removed(int)" class="hiddenlink" target="rightframe"><strike>getConfig</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getConfigForSubId -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.getConfigForSubId_changed(int)" class="hiddenlink" target="rightframe">getConfigForSubId
+(<code>int</code>)</A></nobr><br>
+<!-- Method getDataNetworkType -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getDataNetworkType_changed()" class="hiddenlink" target="rightframe">getDataNetworkType
+()</A></nobr><br>
+<!-- Method getDeclaredAnnotations -->
+<nobr><A HREF="java.lang.reflect.Constructor.html#java.lang.reflect.Constructor.getDeclaredAnnotations_changed()" class="hiddenlink" target="rightframe">getDeclaredAnnotations
+()</A></nobr><br>
+<!-- Method getGroupIdLevel1 -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getGroupIdLevel1_removed(int)" class="hiddenlink" target="rightframe"><strike>getGroupIdLevel1</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getIccAuthentication -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getIccAuthentication_removed(int, int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>getIccAuthentication</strike>
+(<code>int, int, int, String</code>)</A></nobr><br>
+<!-- Method getImeHintLocales -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getImeHintLocales_changed()" class="hiddenlink" target="rightframe">getImeHintLocales
+()</A></nobr><br>
+<!-- Method getLine1AlphaTag -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getLine1AlphaTag_removed(int)" class="hiddenlink" target="rightframe"><strike>getLine1AlphaTag</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getLine1Number -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getLine1Number_removed(int)" class="hiddenlink" target="rightframe"><strike>getLine1Number</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getLocales -->
+<i>getLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.getLocales_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.content.res.Configuration
+</A></nobr><br>
+<!-- Method getLocales -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.getLocales_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.text.style.LocaleSpan
+</A></nobr><br>
+<!-- Method getMinFlexMillis -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinFlexMillis_added()" class="hiddenlink" target="rightframe"><b>getMinFlexMillis</b>
+()</A></nobr><br>
+<!-- Method getMinimumFlex -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinimumFlex_removed()" class="hiddenlink" target="rightframe"><strike>getMinimumFlex</strike>
+()</A></nobr><br>
+<!-- Method getMinimumPeriod -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinimumPeriod_removed()" class="hiddenlink" target="rightframe"><strike>getMinimumPeriod</strike>
+()</A></nobr><br>
+<!-- Method getMinPeriodMillis -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinPeriodMillis_added()" class="hiddenlink" target="rightframe"><b>getMinPeriodMillis</b>
+()</A></nobr><br>
+<!-- Method getNetworkCountryIso -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getNetworkCountryIso_removed(int)" class="hiddenlink" target="rightframe"><strike>getNetworkCountryIso</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getNetworkOperator -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getNetworkOperator_removed(int)" class="hiddenlink" target="rightframe"><strike>getNetworkOperator</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getNetworkOperatorName -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getNetworkOperatorName_removed(int)" class="hiddenlink" target="rightframe"><strike>getNetworkOperatorName</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getNetworkType -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getNetworkType_removed(int)" class="hiddenlink" target="rightframe"><strike>getNetworkType</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getNfcid2ForService -->
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.getNfcid2ForService_changed(android.content.ComponentName)" class="hiddenlink" target="rightframe">getNfcid2ForService
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getPointerIcon -->
+<nobr><A HREF="android.view.View.html#android.view.View.getPointerIcon_changed()" class="hiddenlink" target="rightframe">getPointerIcon
+()</A></nobr><br>
+<!-- Method getShortcutIconFd -->
+<i>getShortcutIconFd</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.getShortcutIconFd_removed(android.content.pm.ShortcutInfo)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>ShortcutInfo</code>)</strike>&nbsp;in&nbsp;android.content.pm.LauncherApps
+</A></nobr><br>
+<!-- Method getShortcutIconFd -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.getShortcutIconFd_removed(java.lang.String, java.lang.String, android.os.UserHandle)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String, String, UserHandle</code>)</strike>&nbsp;in&nbsp;android.content.pm.LauncherApps
+</A></nobr><br>
+<!-- Method getShortcuts -->
+<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.getShortcuts_removed(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle)" class="hiddenlink" target="rightframe"><strike>getShortcuts</strike>
+(<code>ShortcutQuery, UserHandle</code>)</A></nobr><br>
+<!-- Method getSimCountryIso -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSimCountryIso_removed(int)" class="hiddenlink" target="rightframe"><strike>getSimCountryIso</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getSimOperator -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSimOperator_removed(int)" class="hiddenlink" target="rightframe"><strike>getSimOperator</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getSimOperatorName -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSimOperatorName_removed(int)" class="hiddenlink" target="rightframe"><strike>getSimOperatorName</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getSimSerialNumber -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSimSerialNumber_removed(int)" class="hiddenlink" target="rightframe"><strike>getSimSerialNumber</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getSubscriberId -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSubscriberId_removed(int)" class="hiddenlink" target="rightframe"><strike>getSubscriberId</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getSystemCodeForService -->
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.getSystemCodeForService_changed(android.content.ComponentName)" class="hiddenlink" target="rightframe">getSystemCodeForService
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getTextLocales -->
+<i>getTextLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.getTextLocales_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.graphics.Paint
+</A></nobr><br>
+<!-- Method getTextLocales -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getTextLocales_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<!-- Method getVoiceMailAlphaTag -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoiceMailAlphaTag_removed(int)" class="hiddenlink" target="rightframe"><strike>getVoiceMailAlphaTag</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getVoiceMailNumber -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoiceMailNumber_removed(int)" class="hiddenlink" target="rightframe"><strike>getVoiceMailNumber</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getVoiceNetworkType -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoiceNetworkType_changed()" class="hiddenlink" target="rightframe">getVoiceNetworkType
+()</A></nobr><br>
+<!-- Method hasCarrierPrivileges -->
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.hasCarrierPrivileges_removed(int)" class="hiddenlink" target="rightframe"><strike>hasCarrierPrivileges</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method hasPointerCapture -->
+<nobr><A HREF="android.view.View.html#android.view.View.hasPointerCapture_removed()" class="hiddenlink" target="rightframe"><strike>hasPointerCapture</strike>
+()</A></nobr><br>
+<!-- Method hasShortcutHostPermission -->
+<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.hasShortcutHostPermission_removed()" class="hiddenlink" target="rightframe"><strike>hasShortcutHostPermission</strike>
+()</A></nobr><br>
+<!-- Field hintLocales -->
+<nobr><A HREF="android.view.inputmethod.EditorInfo.html#android.view.inputmethod.EditorInfo.hintLocales" class="hiddenlink" target="rightframe">hintLocales</A>
+</nobr><br>
+<!-- Field hotSpotX -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.hotSpotX" class="hiddenlink" target="rightframe">hotSpotX</A>
+</nobr><br>
+<!-- Field hotSpotY -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.hotSpotY" class="hiddenlink" target="rightframe">hotSpotY</A>
+</nobr><br>
+<!-- Method iccCloseLogicalChannel -->
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccCloseLogicalChannel_removed(int, int)" class="hiddenlink" target="rightframe"><strike>iccCloseLogicalChannel</strike>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method iccExchangeSimIO -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccExchangeSimIO_removed(int, int, int, int, int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>iccExchangeSimIO</strike>
+(<code>int, int, int, int, int, int, String</code>)</A></nobr><br>
+<!-- Method iccOpenLogicalChannel -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccOpenLogicalChannel_removed(int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>iccOpenLogicalChannel</strike>
+(<code>int, String</code>)</A></nobr><br>
+<!-- Method iccTransmitApduBasicChannel -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccTransmitApduBasicChannel_removed(int, int, int, int, int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>iccTransmitApduBasicChannel</strike>
+(<code>int, int, int, int, int, int, String</code>)</A></nobr><br>
+<!-- Method iccTransmitApduLogicalChannel -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccTransmitApduLogicalChannel_removed(int, int, int, int, int, int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>iccTransmitApduLogicalChannel</strike>
+(<code>int, int, int, int, int, int, int, String</code>)</A></nobr><br>
+<!-- Field IMPORTANCE_DEFAULT -->
+<i>IMPORTANCE_DEFAULT</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_DEFAULT" class="hiddenlink" target="rightframe">android.app.NotificationManager</A>
+</nobr><br>
+<!-- Field IMPORTANCE_DEFAULT -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_DEFAULT" class="hiddenlink" target="rightframe"><strike>android.service.notification.NotificationListenerService.Ranking</strike></A>
+</nobr><br>
+<!-- Field IMPORTANCE_HIGH -->
+<i>IMPORTANCE_HIGH</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_HIGH" class="hiddenlink" target="rightframe">android.app.NotificationManager</A>
+</nobr><br>
+<!-- Field IMPORTANCE_HIGH -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_HIGH" class="hiddenlink" target="rightframe"><strike>android.service.notification.NotificationListenerService.Ranking</strike></A>
+</nobr><br>
+<!-- Field IMPORTANCE_LOW -->
+<i>IMPORTANCE_LOW</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_LOW" class="hiddenlink" target="rightframe">android.app.NotificationManager</A>
+</nobr><br>
+<!-- Field IMPORTANCE_LOW -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_LOW" class="hiddenlink" target="rightframe"><strike>android.service.notification.NotificationListenerService.Ranking</strike></A>
+</nobr><br>
+<!-- Field IMPORTANCE_MAX -->
+<i>IMPORTANCE_MAX</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_MAX" class="hiddenlink" target="rightframe">android.app.NotificationManager</A>
+</nobr><br>
+<!-- Field IMPORTANCE_MAX -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_MAX" class="hiddenlink" target="rightframe"><strike>android.service.notification.NotificationListenerService.Ranking</strike></A>
+</nobr><br>
+<!-- Field IMPORTANCE_MIN -->
+<i>IMPORTANCE_MIN</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_MIN" class="hiddenlink" target="rightframe">android.app.NotificationManager</A>
+</nobr><br>
+<!-- Field IMPORTANCE_MIN -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_MIN" class="hiddenlink" target="rightframe"><strike>android.service.notification.NotificationListenerService.Ranking</strike></A>
+</nobr><br>
+<!-- Field IMPORTANCE_NONE -->
+<i>IMPORTANCE_NONE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_NONE" class="hiddenlink" target="rightframe">android.app.NotificationManager</A>
+</nobr><br>
+<!-- Field IMPORTANCE_NONE -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_NONE" class="hiddenlink" target="rightframe"><strike>android.service.notification.NotificationListenerService.Ranking</strike></A>
+</nobr><br>
+<!-- Field IMPORTANCE_UNSPECIFIED -->
+<i>IMPORTANCE_UNSPECIFIED</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_UNSPECIFIED" class="hiddenlink" target="rightframe">android.app.NotificationManager</A>
+</nobr><br>
+<!-- Field IMPORTANCE_UNSPECIFIED -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_UNSPECIFIED" class="hiddenlink" target="rightframe"><strike>android.service.notification.NotificationListenerService.Ranking</strike></A>
+</nobr><br>
+<!-- Method insert -->
+<i>insert</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, boolean</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, char)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, char</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, char[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, char[]</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, char[], int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, double)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, double</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, float)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, float</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, CharSequence</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, CharSequence, int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, Object</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, String</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, long)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, long</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, boolean</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char[]</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char[], int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, double</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, float</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, CharSequence</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, CharSequence, int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Object</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, long</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, boolean</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char[]</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char[], int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, double</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, float</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, CharSequence</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, CharSequence, int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Object</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, long</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method isMetered -->
+<nobr><A HREF="android.net.NetworkInfo.html#android.net.NetworkInfo.isMetered_removed()" class="hiddenlink" target="rightframe"><strike>isMetered</strike>
+()</A></nobr><br>
+<!-- Method isNetworkRoaming -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.isNetworkRoaming_removed(int)" class="hiddenlink" target="rightframe"><strike>isNetworkRoaming</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method isOverlayWithDecorCaptionEnabled -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.isOverlayWithDecorCaptionEnabled_removed()" class="hiddenlink" target="rightframe"><strike>isOverlayWithDecorCaptionEnabled</strike>
+()</A></nobr><br>
+<!-- Method isRemoteDirectory -->
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.isRemoteDirectory_removed(long)" class="hiddenlink" target="rightframe"><strike>isRemoteDirectory</strike>
+(<code>long</code>)</A></nobr><br>
+<!-- Method isRemoteDirectoryId -->
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.isRemoteDirectoryId_added(long)" class="hiddenlink" target="rightframe"><b>isRemoteDirectoryId</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Method isSetWallpaperAllowed -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.isSetWallpaperAllowed_added()" class="hiddenlink" target="rightframe"><b>isSetWallpaperAllowed</b>
+()</A></nobr><br>
+<!-- Method isWallpaperSettingAllowed -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.isWallpaperSettingAllowed_removed()" class="hiddenlink" target="rightframe"><strike>isWallpaperSettingAllowed</strike>
+()</A></nobr><br>
+<!-- Package java.lang -->
+<A NAME="J"></A>
+<A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<!-- Package java.lang.reflect -->
+<A HREF="pkg_java.lang.reflect.html" class="hiddenlink" target="rightframe">java.lang.reflect</A><br>
+<!-- Class JobInfo -->
+<A HREF="android.app.job.JobInfo.html" class="hiddenlink" target="rightframe">JobInfo</A><br>
+<!-- Field KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL -->
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL" class="hiddenlink" target="rightframe">KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL</A>
+</nobr><br>
+<!-- Field KEY_VVM_PREFETCH_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_VVM_PREFETCH_BOOL" class="hiddenlink" target="rightframe">KEY_VVM_PREFETCH_BOOL</A>
+</nobr><br>
+<!-- Field KEYGUARD_DISABLE_REMOTE_INPUT -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_REMOTE_INPUT" class="hiddenlink" target="rightframe">KEYGUARD_DISABLE_REMOTE_INPUT</A>
+</nobr><br>
+<!-- Field languageTag -->
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.languageTag" class="hiddenlink" target="rightframe">languageTag</A>
+</nobr><br>
+<!-- Class LauncherApps -->
+<A HREF="android.content.pm.LauncherApps.html" class="hiddenlink" target="rightframe">LauncherApps</A><br>
+<!-- Class LauncherApps.Callback -->
+<A HREF="android.content.pm.LauncherApps.Callback.html" class="hiddenlink" target="rightframe">LauncherApps.Callback</A><br>
+<!-- Class LauncherApps.ShortcutQuery -->
+<A HREF="pkg_android.content.pm.html#LauncherApps.ShortcutQuery" class="hiddenlink" target="rightframe"><strike>LauncherApps.ShortcutQuery</strike></A><br>
+<!-- Field level -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.level" class="hiddenlink" target="rightframe">level</A>
+</nobr><br>
+<!-- Method load -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.load_added(android.content.res.Resources, int)" class="hiddenlink" target="rightframe"><b>load</b>
+(<code>Resources, int</code>)</A></nobr><br>
+<!-- Method loadCustomIcon -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.loadCustomIcon_removed(android.content.res.Resources, int)" class="hiddenlink" target="rightframe"><strike>loadCustomIcon</strike>
+(<code>Resources, int</code>)</A></nobr><br>
+<!-- Class LocaleList -->
+<i>LocaleList</i><br>
+&nbsp;&nbsp;<A HREF="pkg_android.os.html#LocaleList" class="hiddenlink" target="rightframe"><b>android.os</b></A><br>
+<!-- Class LocaleList -->
+&nbsp;&nbsp;<A HREF="pkg_android.util.html#LocaleList" class="hiddenlink" target="rightframe"><strike>LocaleList</strike></A><br>
+<!-- Class LocaleSpan -->
+<i>LocaleSpan</i><br>
+&nbsp;&nbsp;<A HREF="android.text.style.LocaleSpan.html" class="hiddenlink" target="rightframe">android.text.style</A><br>
+<!-- Constructor LocaleSpan -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.ctor_removed(android.util.LocaleList)" class="hiddenlink" target="rightframe"><strike>LocaleSpan</strike>
+(<code>LocaleList</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor LocaleSpan -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.ctor_added(android.os.LocaleList)" class="hiddenlink" target="rightframe"><b>LocaleSpan</b>
+(<code>LocaleList</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field maxButtonHeight -->
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.maxButtonHeight" class="hiddenlink" target="rightframe">maxButtonHeight</A>
+</nobr><br>
+<!-- Class MediaCodecInfo.CodecProfileLevel -->
+<A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html" class="hiddenlink" target="rightframe">MediaCodecInfo.CodecProfileLevel</A><br>
+<!-- Field minHeight -->
+<nobr><A HREF="android.content.pm.ActivityInfo.WindowLayout.html#android.content.pm.ActivityInfo.WindowLayout.minHeight" class="hiddenlink" target="rightframe">minHeight</A>
+</nobr><br>
+<!-- Field minimalHeight -->
+<i>minimalHeight</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.minimalHeight" class="hiddenlink" target="rightframe"><strike>android.R.attr</strike></A>
+</nobr><br>
+<!-- Field minimalHeight -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ActivityInfo.WindowLayout.html#android.content.pm.ActivityInfo.WindowLayout.minimalHeight" class="hiddenlink" target="rightframe"><strike>android.content.pm.ActivityInfo.WindowLayout</strike></A>
+</nobr><br>
+<!-- Field minimalWidth -->
+<i>minimalWidth</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.minimalWidth" class="hiddenlink" target="rightframe"><strike>android.R.attr</strike></A>
+</nobr><br>
+<!-- Field minimalWidth -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ActivityInfo.WindowLayout.html#android.content.pm.ActivityInfo.WindowLayout.minimalWidth" class="hiddenlink" target="rightframe"><strike>android.content.pm.ActivityInfo.WindowLayout</strike></A>
+</nobr><br>
+<!-- Field minWidth -->
+<nobr><A HREF="android.content.pm.ActivityInfo.WindowLayout.html#android.content.pm.ActivityInfo.WindowLayout.minWidth" class="hiddenlink" target="rightframe">minWidth</A>
+</nobr><br>
+<!-- Class MockContentProvider -->
+<A HREF="android.test.mock.MockContentProvider.html" class="hiddenlink" target="rightframe">MockContentProvider</A><br>
+<!-- Class MockContentResolver -->
+<A HREF="android.test.mock.MockContentResolver.html" class="hiddenlink" target="rightframe">MockContentResolver</A><br>
+<!-- Class MockContext -->
+<A HREF="android.test.mock.MockContext.html" class="hiddenlink" target="rightframe">MockContext</A><br>
+<!-- Field MPEG2LevelHP -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG2LevelHP" class="hiddenlink" target="rightframe">MPEG2LevelHP</A>
+</nobr><br>
+<!-- Field MPEG4Level3b -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level3b" class="hiddenlink" target="rightframe">MPEG4Level3b</A>
+</nobr><br>
+<!-- Field MPEG4Level6 -->
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level6" class="hiddenlink" target="rightframe">MPEG4Level6</A>
+</nobr><br>
+<!-- Field N -->
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.N" class="hiddenlink" target="rightframe">N</A>
+</nobr><br>
+<!-- Class NetworkInfo -->
+<A HREF="android.net.NetworkInfo.html" class="hiddenlink" target="rightframe">NetworkInfo</A><br>
+<!-- Field networkSecurityConfig -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.networkSecurityConfig" class="hiddenlink" target="rightframe">networkSecurityConfig</A>
+</nobr><br>
+<!-- Class NetworkStats.Bucket -->
+<A HREF="android.app.usage.NetworkStats.Bucket.html" class="hiddenlink" target="rightframe">NetworkStats.Bucket</A><br>
+<!-- Class NetworkStatsManager -->
+<A HREF="android.app.usage.NetworkStatsManager.html" class="hiddenlink" target="rightframe">NetworkStatsManager</A><br>
+<!-- Class NetworkStatsManager.DataUsageCallback -->
+<A HREF="pkg_android.app.usage.html#NetworkStatsManager.DataUsageCallback" class="hiddenlink" target="rightframe"><strike>NetworkStatsManager.DataUsageCallback</strike></A><br>
+<!-- Class NetworkStatsManager.UsageCallback -->
+<A HREF="pkg_android.app.usage.html#NetworkStatsManager.UsageCallback" class="hiddenlink" target="rightframe"><b>NetworkStatsManager.UsageCallback</b></A><br>
+<!-- Field nfcAntennaPositionDrawable -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.nfcAntennaPositionDrawable" class="hiddenlink" target="rightframe"><strike>nfcAntennaPositionDrawable</strike></A>
+</nobr><br>
+<!-- Class NfcFCardEmulation -->
+<A HREF="android.nfc.cardemulation.NfcFCardEmulation.html" class="hiddenlink" target="rightframe">NfcFCardEmulation</A><br>
+<!-- Class Notification -->
+<A HREF="android.app.Notification.html" class="hiddenlink" target="rightframe">Notification</A><br>
+<!-- Class Notification.BigPictureStyle -->
+<i>Notification.BigPictureStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.BigPictureStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.BigPictureStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.BigPictureStyle.html#android.app.Notification.BigPictureStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.BigPictureStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Notification.BigTextStyle -->
+<i>Notification.BigTextStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.BigTextStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.BigTextStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.BigTextStyle.html#android.app.Notification.BigTextStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.BigTextStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Notification.Builder -->
+<A HREF="android.app.Notification.Builder.html" class="hiddenlink" target="rightframe">Notification.Builder</A><br>
+<!-- Class Notification.DecoratedCustomViewStyle -->
+<i>Notification.DecoratedCustomViewStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.DecoratedCustomViewStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.DecoratedCustomViewStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.DecoratedCustomViewStyle.html#android.app.Notification.DecoratedCustomViewStyle.ctor_removed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe"><strike>Notification.DecoratedCustomViewStyle</strike>
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Notification.DecoratedMediaCustomViewStyle -->
+<i>Notification.DecoratedMediaCustomViewStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.DecoratedMediaCustomViewStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.DecoratedMediaCustomViewStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.DecoratedMediaCustomViewStyle.html#android.app.Notification.DecoratedMediaCustomViewStyle.ctor_removed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe"><strike>Notification.DecoratedMediaCustomViewStyle</strike>
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Notification.InboxStyle -->
+<i>Notification.InboxStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.InboxStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.InboxStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.InboxStyle.html#android.app.Notification.InboxStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.InboxStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Notification.MediaStyle -->
+<i>Notification.MediaStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.MediaStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.MediaStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.MediaStyle.html#android.app.Notification.MediaStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.MediaStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class NotificationListenerService -->
+<A HREF="android.service.notification.NotificationListenerService.html" class="hiddenlink" target="rightframe">NotificationListenerService</A><br>
+<!-- Class NotificationListenerService.Ranking -->
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html" class="hiddenlink" target="rightframe">NotificationListenerService.Ranking</A><br>
+<!-- Class NotificationManager -->
+<A HREF="android.app.NotificationManager.html" class="hiddenlink" target="rightframe">NotificationManager</A><br>
+<!-- Method notifyConfigChanged -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.notifyConfigChanged_removed(int)" class="hiddenlink" target="rightframe"><strike>notifyConfigChanged</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method notifyConfigChangedForSubId -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.notifyConfigChangedForSubId_changed(int)" class="hiddenlink" target="rightframe">notifyConfigChangedForSubId
+(<code>int</code>)</A></nobr><br>
+<!-- Class NumberFormat -->
+<A HREF="android.icu.text.NumberFormat.html" class="hiddenlink" target="rightframe">NumberFormat</A><br>
+<!-- Class NumberFormat.NumberFormatFactory -->
+<A HREF="pkg_android.icu.text.html#NumberFormat.NumberFormatFactory" class="hiddenlink" target="rightframe"><strike>NumberFormat.NumberFormatFactory</strike></A><br>
+<!-- Class NumberFormat.SimpleNumberFormatFactory -->
+<A HREF="pkg_android.icu.text.html#NumberFormat.SimpleNumberFormatFactory" class="hiddenlink" target="rightframe"><strike>NumberFormat.SimpleNumberFormatFactory</strike></A><br>
+<!-- Field numberPickerStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.numberPickerStyle" class="hiddenlink" target="rightframe">numberPickerStyle</A>
+</nobr><br>
+<!-- Field offset -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.offset" class="hiddenlink" target="rightframe">offset</A>
+</nobr><br>
+<!-- Method onAttachFragment -->
+<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onAttachFragment_added(android.app.Fragment)" class="hiddenlink" target="rightframe"><b>onAttachFragment</b>
+(<code>Fragment</code>)</A></nobr><br>
+<!-- Method onRecordingConfigChanged -->
+<nobr><A HREF="android.media.AudioManager.AudioRecordingCallback.html#android.media.AudioManager.AudioRecordingCallback.onRecordingConfigChanged_changed(java.util.List<android.media.AudioRecordingConfiguration>)" class="hiddenlink" target="rightframe">onRecordingConfigChanged
+(<code>List&lt;AudioRecordingConfiguration&gt;</code>)</A></nobr><br>
+<!-- Method onResolvePointerIcon -->
+<nobr><A HREF="android.view.View.html#android.view.View.onResolvePointerIcon_added(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe"><b>onResolvePointerIcon</b>
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<!-- Method onShortcutsChanged -->
+<nobr><A HREF="android.content.pm.LauncherApps.Callback.html#android.content.pm.LauncherApps.Callback.onShortcutsChanged_removed(java.lang.String, java.util.List<android.content.pm.ShortcutInfo>, android.os.UserHandle)" class="hiddenlink" target="rightframe"><strike>onShortcutsChanged</strike>
+(<code>String, List&lt;ShortcutInfo&gt;, UserHandle</code>)</A></nobr><br>
+<!-- Method onUnhandledInputEvent -->
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onUnhandledInputEvent_removed(android.webkit.WebView, android.view.InputEvent)" class="hiddenlink" target="rightframe"><strike>onUnhandledInputEvent</strike>
+(<code>WebView, InputEvent</code>)</A></nobr><br>
+<!-- Method onUnhandledKeyEvent -->
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onUnhandledKeyEvent_changed(android.webkit.WebView, android.view.KeyEvent)" class="hiddenlink" target="rightframe">onUnhandledKeyEvent
+(<code>WebView, KeyEvent</code>)</A></nobr><br>
+<!-- Class Paint -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.graphics.Paint.html" class="hiddenlink" target="rightframe">Paint</A><br>
+<!-- Method performContextClick -->
+<nobr><A HREF="android.view.View.html#android.view.View.performContextClick_added(float, float)" class="hiddenlink" target="rightframe"><b>performContextClick</b>
+(<code>float, float</code>)</A></nobr><br>
+<!-- Method pinShortcuts -->
+<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.pinShortcuts_removed(java.lang.String, java.util.List<java.lang.String>, android.os.UserHandle)" class="hiddenlink" target="rightframe"><strike>pinShortcuts</strike>
+(<code>String, List&lt;String&gt;, UserHandle</code>)</A></nobr><br>
+<!-- Class PointerIcon -->
+<A HREF="android.view.PointerIcon.html" class="hiddenlink" target="rightframe">PointerIcon</A><br>
+<!-- Field pointerIcon -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.pointerIcon" class="hiddenlink" target="rightframe">pointerIcon</A>
+</nobr><br>
+<!-- Field pointerShape -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.pointerShape" class="hiddenlink" target="rightframe"><strike>pointerShape</strike></A>
+</nobr><br>
+<!-- Field popupEnterTransition -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.popupEnterTransition" class="hiddenlink" target="rightframe">popupEnterTransition</A>
+</nobr><br>
+<!-- Field popupExitTransition -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.popupExitTransition" class="hiddenlink" target="rightframe">popupExitTransition</A>
+</nobr><br>
+<!-- Field preferenceFragmentStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.preferenceFragmentStyle" class="hiddenlink" target="rightframe">preferenceFragmentStyle</A>
+</nobr><br>
+<!-- Field PROPERTY_ENTERPRISE_CALL -->
+<nobr><A HREF="android.telecom.Call.Details.html#android.telecom.Call.Details.PROPERTY_ENTERPRISE_CALL" class="hiddenlink" target="rightframe">PROPERTY_ENTERPRISE_CALL</A>
+</nobr><br>
+<!-- Field PROPERTY_WORK_CALL -->
+<nobr><A HREF="android.telecom.Call.Details.html#android.telecom.Call.Details.PROPERTY_WORK_CALL" class="hiddenlink" target="rightframe"><strike>PROPERTY_WORK_CALL</strike></A>
+</nobr><br>
+<!-- Method queryDetailsForUidTag -->
+<A NAME="Q"></A>
+<br><font size="+2">Q</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.queryDetailsForUidTag_changed(int, java.lang.String, long, long, int, int)" class="hiddenlink" target="rightframe">queryDetailsForUidTag
+(<code>int, String, long, long, int, int</code>)</A></nobr><br>
+<!-- Method querySummary -->
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.querySummary_removed(int, java.lang.String, long, long, boolean)" class="hiddenlink" target="rightframe"><strike>querySummary</strike>
+(<code>int, String, long, long, boolean</code>)</A></nobr><br>
+<!-- Method querySummaryForUser -->
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.querySummaryForUser_removed(int, java.lang.String, long, long, boolean)" class="hiddenlink" target="rightframe"><strike>querySummaryForUser</strike>
+(<code>int, String, long, long, boolean</code>)</A></nobr><br>
+<!-- Class R.attr -->
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.R.attr.html" class="hiddenlink" target="rightframe">R.attr</A><br>
+<!-- Class R.style -->
+<A HREF="android.R.style.html" class="hiddenlink" target="rightframe">R.style</A><br>
+<!-- Field RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_ENCRYPTED_STORAGE_UNAVAILABLE -->
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_ENCRYPTED_STORAGE_UNAVAILABLE" class="hiddenlink" target="rightframe"><strike>RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_ENCRYPTED_STORAGE_UNAVAILABLE</strike></A>
+</nobr><br>
+<!-- Field RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE -->
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE" class="hiddenlink" target="rightframe">RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE</A>
+</nobr><br>
+<!-- Method registerDataUsageCallback -->
+<i>registerDataUsageCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerDataUsageCallback_removed(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>DataUsagePolicy, DataUsageCallback</code>)</strike>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<!-- Method registerDataUsageCallback -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerDataUsageCallback_removed(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>DataUsagePolicy, DataUsageCallback, Handler</code>)</strike>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<!-- Method registerFactory -->
+<i>registerFactory</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.Collator.html#android.icu.text.Collator.registerFactory_removed(android.icu.text.Collator.CollatorFactory)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CollatorFactory</code>)</strike>&nbsp;in&nbsp;android.icu.text.Collator
+</A></nobr><br>
+<!-- Method registerFactory -->
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.NumberFormat.html#android.icu.text.NumberFormat.registerFactory_removed(android.icu.text.NumberFormat.NumberFormatFactory)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>NumberFormatFactory</code>)</strike>&nbsp;in&nbsp;android.icu.text.NumberFormat
+</A></nobr><br>
+<!-- Method registerInstance -->
+<i>registerInstance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.BreakIterator.html#android.icu.text.BreakIterator.registerInstance_removed(android.icu.text.BreakIterator, android.icu.util.ULocale, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>BreakIterator, ULocale, int</code>)</strike>&nbsp;in&nbsp;android.icu.text.BreakIterator
+</A></nobr><br>
+<!-- Method registerInstance -->
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.BreakIterator.html#android.icu.text.BreakIterator.registerInstance_removed(android.icu.text.BreakIterator, java.util.Locale, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>BreakIterator, Locale, int</code>)</strike>&nbsp;in&nbsp;android.icu.text.BreakIterator
+</A></nobr><br>
+<!-- Method registerInstance -->
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.Collator.html#android.icu.text.Collator.registerInstance_removed(android.icu.text.Collator, android.icu.util.ULocale)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Collator, ULocale</code>)</strike>&nbsp;in&nbsp;android.icu.text.Collator
+</A></nobr><br>
+<!-- Method registerInstance -->
+&nbsp;&nbsp;<nobr><A HREF="android.icu.util.Currency.html#android.icu.util.Currency.registerInstance_removed(android.icu.util.Currency, android.icu.util.ULocale)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Currency, ULocale</code>)</strike>&nbsp;in&nbsp;android.icu.util.Currency
+</A></nobr><br>
+<!-- Method registerSystemCodeForService -->
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.registerSystemCodeForService_changed(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe">registerSystemCodeForService
+(<code>ComponentName, String</code>)</A></nobr><br>
+<!-- Method registerUsageCallback -->
+<i>registerUsageCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String, long, UsageCallback</code>)</b>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<!-- Method registerUsageCallback -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String, long, UsageCallback, Handler</code>)</b>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<!-- Method releasePointerCapture -->
+<nobr><A HREF="android.view.View.html#android.view.View.releasePointerCapture_removed()" class="hiddenlink" target="rightframe"><strike>releasePointerCapture</strike>
+()</A></nobr><br>
+<!-- Method removeSystemCodeForService -->
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.removeSystemCodeForService_removed(android.content.ComponentName)" class="hiddenlink" target="rightframe"><strike>removeSystemCodeForService</strike>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method replace -->
+<i>replace</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.replace_removed(int, int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, String</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method replace -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.replace_changed(int, int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int, String</code>)&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method replace -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.replace_changed(int, int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int, String</code>)&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method requestKeyboardShortcutsHelper -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.requestKeyboardShortcutsHelper_removed()" class="hiddenlink" target="rightframe"><strike>requestKeyboardShortcutsHelper</strike>
+()</A></nobr><br>
+<!-- Method requestRebind -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.requestRebind_changed(android.content.ComponentName)" class="hiddenlink" target="rightframe">requestRebind
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method requestShowKeyboardShortcuts -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.requestShowKeyboardShortcuts_added()" class="hiddenlink" target="rightframe"><b>requestShowKeyboardShortcuts</b>
+()</A></nobr><br>
+<!-- Method requestUnbind -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.requestUnbind_changed()" class="hiddenlink" target="rightframe">requestUnbind
+()</A></nobr><br>
+<!-- Field resizeableActivity -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.resizeableActivity" class="hiddenlink" target="rightframe">resizeableActivity</A>
+</nobr><br>
+<!-- Method reverse -->
+<i>reverse</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.reverse_removed()" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+()</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method reverse -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.reverse_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method reverse -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.reverse_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method sendEnvelopeWithStatus -->
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.sendEnvelopeWithStatus_removed(int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>sendEnvelopeWithStatus</strike>
+(<code>int, String</code>)</A></nobr><br>
+<!-- Method setChronometerCountDown -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setChronometerCountDown_added(boolean)" class="hiddenlink" target="rightframe"><b>setChronometerCountDown</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setChronometerCountsDown -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setChronometerCountsDown_removed(boolean)" class="hiddenlink" target="rightframe"><strike>setChronometerCountsDown</strike>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setImeHintLocales -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setImeHintLocales_changed(android.os.LocaleList)" class="hiddenlink" target="rightframe">setImeHintLocales
+(<code>LocaleList</code>)</A></nobr><br>
+<!-- Method setLine1NumberForDisplay -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setLine1NumberForDisplay_removed(int, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><strike>setLine1NumberForDisplay</strike>
+(<code>int, String, String</code>)</A></nobr><br>
+<!-- Method setLocales -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.setLocales_changed(android.os.LocaleList)" class="hiddenlink" target="rightframe">setLocales
+(<code>LocaleList</code>)</A></nobr><br>
+<!-- Method setNfcid2ForService -->
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.setNfcid2ForService_changed(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe">setNfcid2ForService
+(<code>ComponentName, String</code>)</A></nobr><br>
+<!-- Method setOperatorBrandOverride -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setOperatorBrandOverride_removed(int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>setOperatorBrandOverride</strike>
+(<code>int, String</code>)</A></nobr><br>
+<!-- Method setOverlayWithDecorCaptionEnabled -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setOverlayWithDecorCaptionEnabled_removed(boolean)" class="hiddenlink" target="rightframe"><strike>setOverlayWithDecorCaptionEnabled</strike>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setPointerCapture -->
+<nobr><A HREF="android.view.View.html#android.view.View.setPointerCapture_removed()" class="hiddenlink" target="rightframe"><strike>setPointerCapture</strike>
+()</A></nobr><br>
+<!-- Method setPreferredNetworkTypeToGlobal -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setPreferredNetworkTypeToGlobal_removed(int)" class="hiddenlink" target="rightframe"><strike>setPreferredNetworkTypeToGlobal</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setQuota -->
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.setQuota_removed(android.content.Context, android.telecom.PhoneAccountHandle, int, int)" class="hiddenlink" target="rightframe"><strike>setQuota</strike>
+(<code>Context, PhoneAccountHandle, int, int</code>)</A></nobr><br>
+<!-- Method setTextLocales -->
+<i>setTextLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.setTextLocales_changed(android.os.LocaleList)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>LocaleList</code>)&nbsp;in&nbsp;android.graphics.Paint
+</A></nobr><br>
+<!-- Method setTextLocales -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setTextLocales_changed(android.os.LocaleList)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>LocaleList</code>)&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<!-- Class Settings -->
+<A HREF="android.provider.Settings.html" class="hiddenlink" target="rightframe">Settings</A><br>
+<!-- Class Settings.Global -->
+<A HREF="android.provider.Settings.Global.html" class="hiddenlink" target="rightframe">Settings.Global</A><br>
+<!-- Method setVoiceMailNumber -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setVoiceMailNumber_removed(int, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><strike>setVoiceMailNumber</strike>
+(<code>int, String, String</code>)</A></nobr><br>
+<!-- Field SHORTCUT_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.SHORTCUT_SERVICE" class="hiddenlink" target="rightframe"><strike>SHORTCUT_SERVICE</strike></A>
+</nobr><br>
+<!-- Class ShortcutInfo -->
+<A HREF="pkg_android.content.pm.html#ShortcutInfo" class="hiddenlink" target="rightframe"><strike>ShortcutInfo</strike></A><br>
+<!-- Class ShortcutInfo.Builder -->
+<A HREF="pkg_android.content.pm.html#ShortcutInfo.Builder" class="hiddenlink" target="rightframe"><strike>ShortcutInfo.Builder</strike></A><br>
+<!-- Class ShortcutManager -->
+<A HREF="pkg_android.content.pm.html#ShortcutManager" class="hiddenlink" target="rightframe"><strike>ShortcutManager</strike></A><br>
+<!-- Method startShortcut -->
+<i>startShortcut</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.startShortcut_removed(android.content.pm.ShortcutInfo, android.graphics.Rect, android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>ShortcutInfo, Rect, Bundle</code>)</strike>&nbsp;in&nbsp;android.content.pm.LauncherApps
+</A></nobr><br>
+<!-- Method startShortcut -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.startShortcut_removed(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String, String, Rect, Bundle, UserHandle</code>)</strike>&nbsp;in&nbsp;android.content.pm.LauncherApps
+</A></nobr><br>
+<!-- Field startX -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.startX" class="hiddenlink" target="rightframe">startX</A>
+</nobr><br>
+<!-- Field startY -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.startY" class="hiddenlink" target="rightframe">startY</A>
+</nobr><br>
+<!-- Class StringBuffer -->
+<A HREF="java.lang.StringBuffer.html" class="hiddenlink" target="rightframe">StringBuffer</A><br>
+<!-- Class StringBuilder -->
+<A HREF="java.lang.StringBuilder.html" class="hiddenlink" target="rightframe">StringBuilder</A><br>
+<!-- Field STYLE_ALIAS -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ALIAS" class="hiddenlink" target="rightframe"><strike>STYLE_ALIAS</strike></A>
+</nobr><br>
+<!-- Field STYLE_ALL_SCROLL -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ALL_SCROLL" class="hiddenlink" target="rightframe"><strike>STYLE_ALL_SCROLL</strike></A>
+</nobr><br>
+<!-- Field STYLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_ARROW</strike></A>
+</nobr><br>
+<!-- Field STYLE_CELL -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_CELL" class="hiddenlink" target="rightframe"><strike>STYLE_CELL</strike></A>
+</nobr><br>
+<!-- Field STYLE_CONTEXT_MENU -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_CONTEXT_MENU" class="hiddenlink" target="rightframe"><strike>STYLE_CONTEXT_MENU</strike></A>
+</nobr><br>
+<!-- Field STYLE_COPY -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_COPY" class="hiddenlink" target="rightframe"><strike>STYLE_COPY</strike></A>
+</nobr><br>
+<!-- Field STYLE_CROSSHAIR -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_CROSSHAIR" class="hiddenlink" target="rightframe"><strike>STYLE_CROSSHAIR</strike></A>
+</nobr><br>
+<!-- Field STYLE_DEFAULT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_DEFAULT" class="hiddenlink" target="rightframe"><strike>STYLE_DEFAULT</strike></A>
+</nobr><br>
+<!-- Field STYLE_GRAB -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_GRAB" class="hiddenlink" target="rightframe"><strike>STYLE_GRAB</strike></A>
+</nobr><br>
+<!-- Field STYLE_GRABBING -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_GRABBING" class="hiddenlink" target="rightframe"><strike>STYLE_GRABBING</strike></A>
+</nobr><br>
+<!-- Field STYLE_HAND -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_HAND" class="hiddenlink" target="rightframe"><strike>STYLE_HAND</strike></A>
+</nobr><br>
+<!-- Field STYLE_HELP -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_HELP" class="hiddenlink" target="rightframe"><strike>STYLE_HELP</strike></A>
+</nobr><br>
+<!-- Field STYLE_HORIZONTAL_DOUBLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_HORIZONTAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_HORIZONTAL_DOUBLE_ARROW</strike></A>
+</nobr><br>
+<!-- Field STYLE_NO_DROP -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_NO_DROP" class="hiddenlink" target="rightframe"><strike>STYLE_NO_DROP</strike></A>
+</nobr><br>
+<!-- Field STYLE_NULL -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_NULL" class="hiddenlink" target="rightframe"><strike>STYLE_NULL</strike></A>
+</nobr><br>
+<!-- Field STYLE_TEXT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_TEXT" class="hiddenlink" target="rightframe"><strike>STYLE_TEXT</strike></A>
+</nobr><br>
+<!-- Field STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW</strike></A>
+</nobr><br>
+<!-- Field STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW</strike></A>
+</nobr><br>
+<!-- Field STYLE_VERTICAL_DOUBLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_VERTICAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_VERTICAL_DOUBLE_ARROW</strike></A>
+</nobr><br>
+<!-- Field STYLE_VERTICAL_TEXT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_VERTICAL_TEXT" class="hiddenlink" target="rightframe"><strike>STYLE_VERTICAL_TEXT</strike></A>
+</nobr><br>
+<!-- Field STYLE_WAIT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_WAIT" class="hiddenlink" target="rightframe"><strike>STYLE_WAIT</strike></A>
+</nobr><br>
+<!-- Field STYLE_ZOOM_IN -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ZOOM_IN" class="hiddenlink" target="rightframe"><strike>STYLE_ZOOM_IN</strike></A>
+</nobr><br>
+<!-- Field STYLE_ZOOM_OUT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ZOOM_OUT" class="hiddenlink" target="rightframe"><strike>STYLE_ZOOM_OUT</strike></A>
+</nobr><br>
+<!-- Field supportsLocalInteraction -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.supportsLocalInteraction" class="hiddenlink" target="rightframe">supportsLocalInteraction</A>
+</nobr><br>
+<!-- Field supportsPictureInPicture -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.supportsPictureInPicture" class="hiddenlink" target="rightframe">supportsPictureInPicture</A>
+</nobr><br>
+<!-- Class SystemHealthManager -->
+<A HREF="android.os.health.SystemHealthManager.html" class="hiddenlink" target="rightframe">SystemHealthManager</A><br>
+<!-- Field TAG_ALL -->
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.TAG_ALL" class="hiddenlink" target="rightframe"><strike>TAG_ALL</strike></A>
+</nobr><br>
+<!-- Field TAG_ANY -->
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.TAG_ANY" class="hiddenlink" target="rightframe"><strike>TAG_ANY</strike></A>
+</nobr><br>
+<!-- Field TAG_NONE -->
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.TAG_NONE" class="hiddenlink" target="rightframe">TAG_NONE</A>
+</nobr><br>
+<!-- Class TelephonyManager -->
+<A HREF="android.telephony.TelephonyManager.html" class="hiddenlink" target="rightframe">TelephonyManager</A><br>
+<!-- Field TextAppearance_Material_Widget_Button_Borderless_Colored -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Material_Widget_Button_Borderless_Colored" class="hiddenlink" target="rightframe">TextAppearance_Material_Widget_Button_Borderless_Colored</A>
+</nobr><br>
+<!-- Field TextAppearance_Material_Widget_Button_Colored -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Material_Widget_Button_Colored" class="hiddenlink" target="rightframe">TextAppearance_Material_Widget_Button_Colored</A>
+</nobr><br>
+<!-- Field textAppearancePopupMenuHeader -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAppearancePopupMenuHeader" class="hiddenlink" target="rightframe">textAppearancePopupMenuHeader</A>
+</nobr><br>
+<!-- Class TextView -->
+<A HREF="android.widget.TextView.html" class="hiddenlink" target="rightframe">TextView</A><br>
+<!-- Field tickMark -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMark" class="hiddenlink" target="rightframe">tickMark</A>
+</nobr><br>
+<!-- Field tickMarkTint -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMarkTint" class="hiddenlink" target="rightframe">tickMarkTint</A>
+</nobr><br>
+<!-- Field tickMarkTintMode -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMarkTintMode" class="hiddenlink" target="rightframe">tickMarkTintMode</A>
+</nobr><br>
+<!-- Field titleMargin -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMargin" class="hiddenlink" target="rightframe">titleMargin</A>
+</nobr><br>
+<!-- Field titleMarginBottom -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginBottom" class="hiddenlink" target="rightframe">titleMarginBottom</A>
+</nobr><br>
+<!-- Field titleMarginEnd -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginEnd" class="hiddenlink" target="rightframe">titleMarginEnd</A>
+</nobr><br>
+<!-- Field titleMarginStart -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginStart" class="hiddenlink" target="rightframe">titleMarginStart</A>
+</nobr><br>
+<!-- Field titleMarginTop -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginTop" class="hiddenlink" target="rightframe">titleMarginTop</A>
+</nobr><br>
+<!-- Method toString -->
+<i>toString</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.toString_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method toString -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.toString_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method toString -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.toString_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Field tunerCount -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tunerCount" class="hiddenlink" target="rightframe">tunerCount</A>
+</nobr><br>
+<!-- Class TvInputInfo.Builder -->
+<A HREF="android.media.tv.TvInputInfo.Builder.html" class="hiddenlink" target="rightframe">TvInputInfo.Builder</A><br>
+<!-- Field TYPE_ALIAS -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ALIAS" class="hiddenlink" target="rightframe">TYPE_ALIAS</A>
+</nobr><br>
+<!-- Field TYPE_ALL_SCROLL -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ALL_SCROLL" class="hiddenlink" target="rightframe">TYPE_ALL_SCROLL</A>
+</nobr><br>
+<!-- Field TYPE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ARROW" class="hiddenlink" target="rightframe">TYPE_ARROW</A>
+</nobr><br>
+<!-- Field TYPE_CELL -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_CELL" class="hiddenlink" target="rightframe">TYPE_CELL</A>
+</nobr><br>
+<!-- Field TYPE_CONTEXT_MENU -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_CONTEXT_MENU" class="hiddenlink" target="rightframe">TYPE_CONTEXT_MENU</A>
+</nobr><br>
+<!-- Field TYPE_COPY -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_COPY" class="hiddenlink" target="rightframe">TYPE_COPY</A>
+</nobr><br>
+<!-- Field TYPE_CROSSHAIR -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_CROSSHAIR" class="hiddenlink" target="rightframe">TYPE_CROSSHAIR</A>
+</nobr><br>
+<!-- Field TYPE_DEFAULT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_DEFAULT" class="hiddenlink" target="rightframe">TYPE_DEFAULT</A>
+</nobr><br>
+<!-- Field TYPE_GRAB -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_GRAB" class="hiddenlink" target="rightframe">TYPE_GRAB</A>
+</nobr><br>
+<!-- Field TYPE_GRABBING -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_GRABBING" class="hiddenlink" target="rightframe">TYPE_GRABBING</A>
+</nobr><br>
+<!-- Field TYPE_HAND -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_HAND" class="hiddenlink" target="rightframe">TYPE_HAND</A>
+</nobr><br>
+<!-- Field TYPE_HELP -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_HELP" class="hiddenlink" target="rightframe">TYPE_HELP</A>
+</nobr><br>
+<!-- Field TYPE_HORIZONTAL_DOUBLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_HORIZONTAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe">TYPE_HORIZONTAL_DOUBLE_ARROW</A>
+</nobr><br>
+<!-- Field TYPE_NO_DROP -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_NO_DROP" class="hiddenlink" target="rightframe">TYPE_NO_DROP</A>
+</nobr><br>
+<!-- Field TYPE_NULL -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_NULL" class="hiddenlink" target="rightframe">TYPE_NULL</A>
+</nobr><br>
+<!-- Field TYPE_TEXT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_TEXT" class="hiddenlink" target="rightframe">TYPE_TEXT</A>
+</nobr><br>
+<!-- Field TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe">TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW</A>
+</nobr><br>
+<!-- Field TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe">TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW</A>
+</nobr><br>
+<!-- Field TYPE_VERTICAL_DOUBLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_VERTICAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe">TYPE_VERTICAL_DOUBLE_ARROW</A>
+</nobr><br>
+<!-- Field TYPE_VERTICAL_TEXT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_VERTICAL_TEXT" class="hiddenlink" target="rightframe">TYPE_VERTICAL_TEXT</A>
+</nobr><br>
+<!-- Field TYPE_WAIT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_WAIT" class="hiddenlink" target="rightframe">TYPE_WAIT</A>
+</nobr><br>
+<!-- Field TYPE_ZOOM_IN -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ZOOM_IN" class="hiddenlink" target="rightframe">TYPE_ZOOM_IN</A>
+</nobr><br>
+<!-- Field TYPE_ZOOM_OUT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ZOOM_OUT" class="hiddenlink" target="rightframe">TYPE_ZOOM_OUT</A>
+</nobr><br>
+<!-- Class UiAutomation -->
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.UiAutomation.html" class="hiddenlink" target="rightframe">UiAutomation</A><br>
+<!-- Method unregister -->
+<i>unregister</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.BreakIterator.html#android.icu.text.BreakIterator.unregister_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;android.icu.text.BreakIterator
+</A></nobr><br>
+<!-- Method unregister -->
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.Collator.html#android.icu.text.Collator.unregister_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;android.icu.text.Collator
+</A></nobr><br>
+<!-- Method unregister -->
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.NumberFormat.html#android.icu.text.NumberFormat.unregister_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;android.icu.text.NumberFormat
+</A></nobr><br>
+<!-- Method unregister -->
+&nbsp;&nbsp;<nobr><A HREF="android.icu.util.Currency.html#android.icu.util.Currency.unregister_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;android.icu.util.Currency
+</A></nobr><br>
+<!-- Method unregisterDataUsageCallback -->
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.unregisterDataUsageCallback_removed(android.app.usage.NetworkStatsManager.DataUsageCallback)" class="hiddenlink" target="rightframe"><strike>unregisterDataUsageCallback</strike>
+(<code>DataUsageCallback</code>)</A></nobr><br>
+<!-- Method unregisterSystemCodeForService -->
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.unregisterSystemCodeForService_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>unregisterSystemCodeForService</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method unregisterUsageCallback -->
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.unregisterUsageCallback_added(android.app.usage.NetworkStatsManager.UsageCallback)" class="hiddenlink" target="rightframe"><b>unregisterUsageCallback</b>
+(<code>UsageCallback</code>)</A></nobr><br>
+<!-- Field use32bitAbi -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.use32bitAbi" class="hiddenlink" target="rightframe">use32bitAbi</A>
+</nobr><br>
+<!-- Field version -->
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.version" class="hiddenlink" target="rightframe">version</A>
+</nobr><br>
+<!-- Class View -->
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<!-- Class VoicemailContract -->
+<A HREF="android.provider.VoicemailContract.html" class="hiddenlink" target="rightframe">VoicemailContract</A><br>
+<!-- Class VoicemailContract.Status -->
+<A HREF="android.provider.VoicemailContract.Status.html" class="hiddenlink" target="rightframe">VoicemailContract.Status</A><br>
+<!-- Class WallpaperManager -->
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.WallpaperManager.html" class="hiddenlink" target="rightframe">WallpaperManager</A><br>
+<!-- Class WebViewClient -->
+<A HREF="android.webkit.WebViewClient.html" class="hiddenlink" target="rightframe">WebViewClient</A><br>
+<!-- Field windowBackgroundFallback -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.windowBackgroundFallback" class="hiddenlink" target="rightframe">windowBackgroundFallback</A>
+</nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/alldiffs_index_changes.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/alldiffs_index_changes.html
new file mode 100644
index 0000000..d8e9596
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/alldiffs_index_changes.html
@@ -0,0 +1,1101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+All Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for All Differences" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="alldiffs_index_all.html" xclass="hiddenlink">All Differences</a>
+  <br>
+<A HREF="alldiffs_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="alldiffs_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<!-- Class AbstractStringBuilder -->
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.lang.AbstractStringBuilder.html" class="hiddenlink" target="rightframe">AbstractStringBuilder</A><br>
+<!-- Field ACTION_SYNC_VOICEMAIL -->
+<nobr><A HREF="android.provider.VoicemailContract.html#android.provider.VoicemailContract.ACTION_SYNC_VOICEMAIL" class="hiddenlink" target="rightframe">ACTION_SYNC_VOICEMAIL</A>
+</nobr><br>
+<!-- Class Activity -->
+<A HREF="android.app.Activity.html" class="hiddenlink" target="rightframe">Activity</A><br>
+<!-- Class ActivityInfo.WindowLayout -->
+<A HREF="android.content.pm.ActivityInfo.WindowLayout.html" class="hiddenlink" target="rightframe">ActivityInfo.WindowLayout</A><br>
+<!-- Package android -->
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<!-- Package android.app -->
+<A HREF="pkg_android.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Package android.app.admin -->
+<A HREF="pkg_android.app.admin.html" class="hiddenlink" target="rightframe">android.app.admin</A><br>
+<!-- Package android.app.job -->
+<A HREF="pkg_android.app.job.html" class="hiddenlink" target="rightframe">android.app.job</A><br>
+<!-- Package android.app.usage -->
+<A HREF="pkg_android.app.usage.html" class="hiddenlink" target="rightframe">android.app.usage</A><br>
+<!-- Package android.content -->
+<A HREF="pkg_android.content.html" class="hiddenlink" target="rightframe">android.content</A><br>
+<!-- Package android.content.pm -->
+<A HREF="pkg_android.content.pm.html" class="hiddenlink" target="rightframe">android.content.pm</A><br>
+<!-- Package android.content.res -->
+<A HREF="pkg_android.content.res.html" class="hiddenlink" target="rightframe">android.content.res</A><br>
+<!-- Package android.graphics -->
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<!-- Package android.icu.text -->
+<A HREF="pkg_android.icu.text.html" class="hiddenlink" target="rightframe">android.icu.text</A><br>
+<!-- Package android.icu.util -->
+<A HREF="pkg_android.icu.util.html" class="hiddenlink" target="rightframe">android.icu.util</A><br>
+<!-- Package android.media -->
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<!-- Package android.media.tv -->
+<A HREF="pkg_android.media.tv.html" class="hiddenlink" target="rightframe">android.media.tv</A><br>
+<!-- Package android.net -->
+<A HREF="pkg_android.net.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<!-- Package android.nfc.cardemulation -->
+<A HREF="pkg_android.nfc.cardemulation.html" class="hiddenlink" target="rightframe">android.nfc.cardemulation</A><br>
+<!-- Package android.os -->
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<!-- Package android.os.health -->
+<A HREF="pkg_android.os.health.html" class="hiddenlink" target="rightframe">android.os.health</A><br>
+<!-- Package android.provider -->
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<!-- Package android.service.carrier -->
+<A HREF="pkg_android.service.carrier.html" class="hiddenlink" target="rightframe">android.service.carrier</A><br>
+<!-- Package android.service.notification -->
+<A HREF="pkg_android.service.notification.html" class="hiddenlink" target="rightframe">android.service.notification</A><br>
+<!-- Package android.telecom -->
+<A HREF="pkg_android.telecom.html" class="hiddenlink" target="rightframe">android.telecom</A><br>
+<!-- Package android.telephony -->
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<!-- Package android.test.mock -->
+<A HREF="pkg_android.test.mock.html" class="hiddenlink" target="rightframe">android.test.mock</A><br>
+<!-- Package android.text.style -->
+<A HREF="pkg_android.text.style.html" class="hiddenlink" target="rightframe">android.text.style</A><br>
+<!-- Package android.util -->
+<A HREF="pkg_android.util.html" class="hiddenlink" target="rightframe">android.util</A><br>
+<!-- Package android.view -->
+<A HREF="pkg_android.view.html" class="hiddenlink" target="rightframe">android.view</A><br>
+<!-- Package android.view.inputmethod -->
+<A HREF="pkg_android.view.inputmethod.html" class="hiddenlink" target="rightframe">android.view.inputmethod</A><br>
+<!-- Package android.webkit -->
+<A HREF="pkg_android.webkit.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<!-- Package android.widget -->
+<A HREF="pkg_android.widget.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<!-- Method appendCodePoint -->
+<i>appendCodePoint</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.appendCodePoint_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method appendCodePoint -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.appendCodePoint_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Class AudioManager -->
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<!-- Class AudioManager.AudioRecordingCallback -->
+<A HREF="android.media.AudioManager.AudioRecordingCallback.html" class="hiddenlink" target="rightframe">AudioManager.AudioRecordingCallback</A><br>
+<!-- Class AudioRecord -->
+<A HREF="android.media.AudioRecord.html" class="hiddenlink" target="rightframe">AudioRecord</A><br>
+<!-- Class AudioTrack -->
+<A HREF="android.media.AudioTrack.html" class="hiddenlink" target="rightframe">AudioTrack</A><br>
+<!-- Field backupInForeground -->
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.backupInForeground" class="hiddenlink" target="rightframe">backupInForeground</A>
+</nobr><br>
+<!-- Field bitmap -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.bitmap" class="hiddenlink" target="rightframe">bitmap</A>
+</nobr><br>
+<!-- Class BreakIterator -->
+<A HREF="android.icu.text.BreakIterator.html" class="hiddenlink" target="rightframe">BreakIterator</A><br>
+<!-- Method build -->
+<nobr><A HREF="android.media.tv.TvInputInfo.Builder.html#android.media.tv.TvInputInfo.Builder.build_changed()" class="hiddenlink" target="rightframe">build
+()</A></nobr><br>
+<!-- Class Build.VERSION_CODES -->
+<A HREF="android.os.Build.VERSION_CODES.html" class="hiddenlink" target="rightframe">Build.VERSION_CODES</A><br>
+<!-- Field buttonGravity -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.buttonGravity" class="hiddenlink" target="rightframe">buttonGravity</A>
+</nobr><br>
+<!-- Class Call.Details -->
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.telecom.Call.Details.html" class="hiddenlink" target="rightframe">Call.Details</A><br>
+<!-- Field canControlMagnification -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.canControlMagnification" class="hiddenlink" target="rightframe">canControlMagnification</A>
+</nobr><br>
+<!-- Field canPerformGestures -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.canPerformGestures" class="hiddenlink" target="rightframe">canPerformGestures</A>
+</nobr><br>
+<!-- Field canRecord -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.canRecord" class="hiddenlink" target="rightframe">canRecord</A>
+</nobr><br>
+<!-- Class CarrierConfigManager -->
+<A HREF="android.telephony.CarrierConfigManager.html" class="hiddenlink" target="rightframe">CarrierConfigManager</A><br>
+<!-- Class CarrierMessagingService -->
+<A HREF="android.service.carrier.CarrierMessagingService.html" class="hiddenlink" target="rightframe">CarrierMessagingService</A><br>
+<!-- Field collapseIcon -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.collapseIcon" class="hiddenlink" target="rightframe">collapseIcon</A>
+</nobr><br>
+<!-- Class Collator -->
+<A HREF="android.icu.text.Collator.html" class="hiddenlink" target="rightframe">Collator</A><br>
+<!-- Class Condition -->
+<A HREF="android.service.notification.Condition.html" class="hiddenlink" target="rightframe">Condition</A><br>
+<!-- Class ConditionProviderService -->
+<A HREF="android.service.notification.ConditionProviderService.html" class="hiddenlink" target="rightframe">ConditionProviderService</A><br>
+<!-- Class Configuration -->
+<A HREF="android.content.res.Configuration.html" class="hiddenlink" target="rightframe">Configuration</A><br>
+<!-- Class Constructor -->
+<A HREF="java.lang.reflect.Constructor.html" class="hiddenlink" target="rightframe">Constructor</A><br>
+<!-- Class ContactsContract.Directory -->
+<A HREF="android.provider.ContactsContract.Directory.html" class="hiddenlink" target="rightframe">ContactsContract.Directory</A><br>
+<!-- Field contentInsetEndWithActions -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentInsetEndWithActions" class="hiddenlink" target="rightframe">contentInsetEndWithActions</A>
+</nobr><br>
+<!-- Field contentInsetStartWithNavigation -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentInsetStartWithNavigation" class="hiddenlink" target="rightframe">contentInsetStartWithNavigation</A>
+</nobr><br>
+<!-- Class Context -->
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<!-- Field contextPopupMenuStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.contextPopupMenuStyle" class="hiddenlink" target="rightframe">contextPopupMenuStyle</A>
+</nobr><br>
+<!-- Field countDown -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.countDown" class="hiddenlink" target="rightframe">countDown</A>
+</nobr><br>
+<!-- Class Currency -->
+<A HREF="android.icu.util.Currency.html" class="hiddenlink" target="rightframe">Currency</A><br>
+<!-- Field defaultToDeviceProtectedStorage -->
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.defaultToDeviceProtectedStorage" class="hiddenlink" target="rightframe">defaultToDeviceProtectedStorage</A>
+</nobr><br>
+<!-- Method delete -->
+<i>delete</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.delete_changed(int, int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int</code>)&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method delete -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.delete_changed(int, int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int</code>)&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method deleteCharAt -->
+<i>deleteCharAt</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.deleteCharAt_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method deleteCharAt -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.deleteCharAt_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Class DevicePolicyManager -->
+<A HREF="android.app.admin.DevicePolicyManager.html" class="hiddenlink" target="rightframe">DevicePolicyManager</A><br>
+<!-- Field directBootAware -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.directBootAware" class="hiddenlink" target="rightframe">directBootAware</A>
+</nobr><br>
+<!-- Class Display.HdrCapabilities -->
+<A HREF="android.view.Display.HdrCapabilities.html" class="hiddenlink" target="rightframe">Display.HdrCapabilities</A><br>
+<!-- Class EditorInfo -->
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.inputmethod.EditorInfo.html" class="hiddenlink" target="rightframe">EditorInfo</A><br>
+<!-- Field enableVrMode -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.enableVrMode" class="hiddenlink" target="rightframe">enableVrMode</A>
+</nobr><br>
+<!-- Field endX -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.endX" class="hiddenlink" target="rightframe">endX</A>
+</nobr><br>
+<!-- Field endY -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.endY" class="hiddenlink" target="rightframe">endY</A>
+</nobr><br>
+<!-- Field externalService -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.externalService" class="hiddenlink" target="rightframe">externalService</A>
+</nobr><br>
+<!-- Field EXTRA_RULE_ID -->
+<nobr><A HREF="android.service.notification.ConditionProviderService.html#android.service.notification.ConditionProviderService.EXTRA_RULE_ID" class="hiddenlink" target="rightframe">EXTRA_RULE_ID</A>
+</nobr><br>
+<!-- Field fillType -->
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.fillType" class="hiddenlink" target="rightframe">fillType</A>
+</nobr><br>
+<!-- Field forceHasOverlappingRendering -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.forceHasOverlappingRendering" class="hiddenlink" target="rightframe">forceHasOverlappingRendering</A>
+</nobr><br>
+<!-- Class Fragment -->
+<A HREF="android.app.Fragment.html" class="hiddenlink" target="rightframe">Fragment</A><br>
+<!-- Method getActiveRecordingConfigurations -->
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.getActiveRecordingConfigurations_changed()" class="hiddenlink" target="rightframe">getActiveRecordingConfigurations
+()</A></nobr><br>
+<!-- Method getConfigForSubId -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.getConfigForSubId_changed(int)" class="hiddenlink" target="rightframe">getConfigForSubId
+(<code>int</code>)</A></nobr><br>
+<!-- Method getDataNetworkType -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getDataNetworkType_changed()" class="hiddenlink" target="rightframe">getDataNetworkType
+()</A></nobr><br>
+<!-- Method getDeclaredAnnotations -->
+<nobr><A HREF="java.lang.reflect.Constructor.html#java.lang.reflect.Constructor.getDeclaredAnnotations_changed()" class="hiddenlink" target="rightframe">getDeclaredAnnotations
+()</A></nobr><br>
+<!-- Method getImeHintLocales -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getImeHintLocales_changed()" class="hiddenlink" target="rightframe">getImeHintLocales
+()</A></nobr><br>
+<!-- Method getLocales -->
+<i>getLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.getLocales_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.content.res.Configuration
+</A></nobr><br>
+<!-- Method getLocales -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.getLocales_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.text.style.LocaleSpan
+</A></nobr><br>
+<!-- Method getNfcid2ForService -->
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.getNfcid2ForService_changed(android.content.ComponentName)" class="hiddenlink" target="rightframe">getNfcid2ForService
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getPointerIcon -->
+<nobr><A HREF="android.view.View.html#android.view.View.getPointerIcon_changed()" class="hiddenlink" target="rightframe">getPointerIcon
+()</A></nobr><br>
+<!-- Method getSystemCodeForService -->
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.getSystemCodeForService_changed(android.content.ComponentName)" class="hiddenlink" target="rightframe">getSystemCodeForService
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getTextLocales -->
+<i>getTextLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.getTextLocales_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.graphics.Paint
+</A></nobr><br>
+<!-- Method getTextLocales -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getTextLocales_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<!-- Method getVoiceNetworkType -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoiceNetworkType_changed()" class="hiddenlink" target="rightframe">getVoiceNetworkType
+()</A></nobr><br>
+<!-- Field hintLocales -->
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.inputmethod.EditorInfo.html#android.view.inputmethod.EditorInfo.hintLocales" class="hiddenlink" target="rightframe">hintLocales</A>
+</nobr><br>
+<!-- Field hotSpotX -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.hotSpotX" class="hiddenlink" target="rightframe">hotSpotX</A>
+</nobr><br>
+<!-- Field hotSpotY -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.hotSpotY" class="hiddenlink" target="rightframe">hotSpotY</A>
+</nobr><br>
+<!-- Package java.lang -->
+<A NAME="J"></A>
+<A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<!-- Package java.lang.reflect -->
+<A HREF="pkg_java.lang.reflect.html" class="hiddenlink" target="rightframe">java.lang.reflect</A><br>
+<!-- Class JobInfo -->
+<A HREF="android.app.job.JobInfo.html" class="hiddenlink" target="rightframe">JobInfo</A><br>
+<!-- Field KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL -->
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL" class="hiddenlink" target="rightframe">KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL</A>
+</nobr><br>
+<!-- Field KEY_VVM_PREFETCH_BOOL -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_VVM_PREFETCH_BOOL" class="hiddenlink" target="rightframe">KEY_VVM_PREFETCH_BOOL</A>
+</nobr><br>
+<!-- Field languageTag -->
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.languageTag" class="hiddenlink" target="rightframe">languageTag</A>
+</nobr><br>
+<!-- Class LauncherApps -->
+<A HREF="android.content.pm.LauncherApps.html" class="hiddenlink" target="rightframe">LauncherApps</A><br>
+<!-- Class LauncherApps.Callback -->
+<A HREF="android.content.pm.LauncherApps.Callback.html" class="hiddenlink" target="rightframe">LauncherApps.Callback</A><br>
+<!-- Field level -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.level" class="hiddenlink" target="rightframe">level</A>
+</nobr><br>
+<!-- Class LocaleSpan -->
+<A HREF="android.text.style.LocaleSpan.html" class="hiddenlink" target="rightframe">LocaleSpan</A><br>
+<!-- Field maxButtonHeight -->
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.maxButtonHeight" class="hiddenlink" target="rightframe">maxButtonHeight</A>
+</nobr><br>
+<!-- Class MediaCodecInfo.CodecProfileLevel -->
+<A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html" class="hiddenlink" target="rightframe">MediaCodecInfo.CodecProfileLevel</A><br>
+<!-- Class MockContentProvider -->
+<A HREF="android.test.mock.MockContentProvider.html" class="hiddenlink" target="rightframe">MockContentProvider</A><br>
+<!-- Class MockContentResolver -->
+<A HREF="android.test.mock.MockContentResolver.html" class="hiddenlink" target="rightframe">MockContentResolver</A><br>
+<!-- Class MockContext -->
+<A HREF="android.test.mock.MockContext.html" class="hiddenlink" target="rightframe">MockContext</A><br>
+<!-- Field N -->
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.N" class="hiddenlink" target="rightframe">N</A>
+</nobr><br>
+<!-- Class NetworkInfo -->
+<A HREF="android.net.NetworkInfo.html" class="hiddenlink" target="rightframe">NetworkInfo</A><br>
+<!-- Class NetworkStats.Bucket -->
+<A HREF="android.app.usage.NetworkStats.Bucket.html" class="hiddenlink" target="rightframe">NetworkStats.Bucket</A><br>
+<!-- Class NetworkStatsManager -->
+<A HREF="android.app.usage.NetworkStatsManager.html" class="hiddenlink" target="rightframe">NetworkStatsManager</A><br>
+<!-- Class NfcFCardEmulation -->
+<A HREF="android.nfc.cardemulation.NfcFCardEmulation.html" class="hiddenlink" target="rightframe">NfcFCardEmulation</A><br>
+<!-- Class Notification -->
+<A HREF="android.app.Notification.html" class="hiddenlink" target="rightframe">Notification</A><br>
+<!-- Class Notification.BigPictureStyle -->
+<i>Notification.BigPictureStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.BigPictureStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.BigPictureStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.BigPictureStyle.html#android.app.Notification.BigPictureStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.BigPictureStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Notification.BigTextStyle -->
+<i>Notification.BigTextStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.BigTextStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.BigTextStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.BigTextStyle.html#android.app.Notification.BigTextStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.BigTextStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Notification.Builder -->
+<A HREF="android.app.Notification.Builder.html" class="hiddenlink" target="rightframe">Notification.Builder</A><br>
+<!-- Class Notification.DecoratedCustomViewStyle -->
+<A HREF="android.app.Notification.DecoratedCustomViewStyle.html" class="hiddenlink" target="rightframe">Notification.DecoratedCustomViewStyle</A><br>
+<!-- Class Notification.DecoratedMediaCustomViewStyle -->
+<A HREF="android.app.Notification.DecoratedMediaCustomViewStyle.html" class="hiddenlink" target="rightframe">Notification.DecoratedMediaCustomViewStyle</A><br>
+<!-- Class Notification.InboxStyle -->
+<i>Notification.InboxStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.InboxStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.InboxStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.InboxStyle.html#android.app.Notification.InboxStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.InboxStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Notification.MediaStyle -->
+<i>Notification.MediaStyle</i><br>
+&nbsp;&nbsp;<A HREF="android.app.Notification.MediaStyle.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Constructor Notification.MediaStyle -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Notification.MediaStyle.html#android.app.Notification.MediaStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.MediaStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class NotificationListenerService -->
+<A HREF="android.service.notification.NotificationListenerService.html" class="hiddenlink" target="rightframe">NotificationListenerService</A><br>
+<!-- Class NotificationListenerService.Ranking -->
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html" class="hiddenlink" target="rightframe">NotificationListenerService.Ranking</A><br>
+<!-- Class NotificationManager -->
+<A HREF="android.app.NotificationManager.html" class="hiddenlink" target="rightframe">NotificationManager</A><br>
+<!-- Method notifyConfigChangedForSubId -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.notifyConfigChangedForSubId_changed(int)" class="hiddenlink" target="rightframe">notifyConfigChangedForSubId
+(<code>int</code>)</A></nobr><br>
+<!-- Class NumberFormat -->
+<A HREF="android.icu.text.NumberFormat.html" class="hiddenlink" target="rightframe">NumberFormat</A><br>
+<!-- Field numberPickerStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.numberPickerStyle" class="hiddenlink" target="rightframe">numberPickerStyle</A>
+</nobr><br>
+<!-- Field offset -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.offset" class="hiddenlink" target="rightframe">offset</A>
+</nobr><br>
+<!-- Method onRecordingConfigChanged -->
+<nobr><A HREF="android.media.AudioManager.AudioRecordingCallback.html#android.media.AudioManager.AudioRecordingCallback.onRecordingConfigChanged_changed(java.util.List<android.media.AudioRecordingConfiguration>)" class="hiddenlink" target="rightframe">onRecordingConfigChanged
+(<code>List&lt;AudioRecordingConfiguration&gt;</code>)</A></nobr><br>
+<!-- Method onUnhandledKeyEvent -->
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onUnhandledKeyEvent_changed(android.webkit.WebView, android.view.KeyEvent)" class="hiddenlink" target="rightframe">onUnhandledKeyEvent
+(<code>WebView, KeyEvent</code>)</A></nobr><br>
+<!-- Class Paint -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.graphics.Paint.html" class="hiddenlink" target="rightframe">Paint</A><br>
+<!-- Class PointerIcon -->
+<A HREF="android.view.PointerIcon.html" class="hiddenlink" target="rightframe">PointerIcon</A><br>
+<!-- Field popupEnterTransition -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.popupEnterTransition" class="hiddenlink" target="rightframe">popupEnterTransition</A>
+</nobr><br>
+<!-- Field popupExitTransition -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.popupExitTransition" class="hiddenlink" target="rightframe">popupExitTransition</A>
+</nobr><br>
+<!-- Field preferenceFragmentStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.preferenceFragmentStyle" class="hiddenlink" target="rightframe">preferenceFragmentStyle</A>
+</nobr><br>
+<!-- Method queryDetailsForUidTag -->
+<A NAME="Q"></A>
+<br><font size="+2">Q</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.queryDetailsForUidTag_changed(int, java.lang.String, long, long, int, int)" class="hiddenlink" target="rightframe">queryDetailsForUidTag
+(<code>int, String, long, long, int, int</code>)</A></nobr><br>
+<!-- Class R.attr -->
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.R.attr.html" class="hiddenlink" target="rightframe">R.attr</A><br>
+<!-- Class R.style -->
+<A HREF="android.R.style.html" class="hiddenlink" target="rightframe">R.style</A><br>
+<!-- Method registerSystemCodeForService -->
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.registerSystemCodeForService_changed(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe">registerSystemCodeForService
+(<code>ComponentName, String</code>)</A></nobr><br>
+<!-- Method replace -->
+<i>replace</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.replace_changed(int, int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int, String</code>)&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method replace -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.replace_changed(int, int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int, String</code>)&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method requestRebind -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.requestRebind_changed(android.content.ComponentName)" class="hiddenlink" target="rightframe">requestRebind
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method requestUnbind -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.requestUnbind_changed()" class="hiddenlink" target="rightframe">requestUnbind
+()</A></nobr><br>
+<!-- Field resizeableActivity -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.resizeableActivity" class="hiddenlink" target="rightframe">resizeableActivity</A>
+</nobr><br>
+<!-- Method reverse -->
+<i>reverse</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.reverse_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method reverse -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.reverse_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Method setImeHintLocales -->
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setImeHintLocales_changed(android.os.LocaleList)" class="hiddenlink" target="rightframe">setImeHintLocales
+(<code>LocaleList</code>)</A></nobr><br>
+<!-- Method setLocales -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.setLocales_changed(android.os.LocaleList)" class="hiddenlink" target="rightframe">setLocales
+(<code>LocaleList</code>)</A></nobr><br>
+<!-- Method setNfcid2ForService -->
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.setNfcid2ForService_changed(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe">setNfcid2ForService
+(<code>ComponentName, String</code>)</A></nobr><br>
+<!-- Method setTextLocales -->
+<i>setTextLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.setTextLocales_changed(android.os.LocaleList)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>LocaleList</code>)&nbsp;in&nbsp;android.graphics.Paint
+</A></nobr><br>
+<!-- Method setTextLocales -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setTextLocales_changed(android.os.LocaleList)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>LocaleList</code>)&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<!-- Class Settings -->
+<A HREF="android.provider.Settings.html" class="hiddenlink" target="rightframe">Settings</A><br>
+<!-- Class Settings.Global -->
+<A HREF="android.provider.Settings.Global.html" class="hiddenlink" target="rightframe">Settings.Global</A><br>
+<!-- Field startX -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.startX" class="hiddenlink" target="rightframe">startX</A>
+</nobr><br>
+<!-- Field startY -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.startY" class="hiddenlink" target="rightframe">startY</A>
+</nobr><br>
+<!-- Class StringBuffer -->
+<A HREF="java.lang.StringBuffer.html" class="hiddenlink" target="rightframe">StringBuffer</A><br>
+<!-- Class StringBuilder -->
+<A HREF="java.lang.StringBuilder.html" class="hiddenlink" target="rightframe">StringBuilder</A><br>
+<!-- Field supportsLocalInteraction -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.supportsLocalInteraction" class="hiddenlink" target="rightframe">supportsLocalInteraction</A>
+</nobr><br>
+<!-- Field supportsPictureInPicture -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.supportsPictureInPicture" class="hiddenlink" target="rightframe">supportsPictureInPicture</A>
+</nobr><br>
+<!-- Class SystemHealthManager -->
+<A HREF="android.os.health.SystemHealthManager.html" class="hiddenlink" target="rightframe">SystemHealthManager</A><br>
+<!-- Class TelephonyManager -->
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.telephony.TelephonyManager.html" class="hiddenlink" target="rightframe">TelephonyManager</A><br>
+<!-- Field textAppearancePopupMenuHeader -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAppearancePopupMenuHeader" class="hiddenlink" target="rightframe">textAppearancePopupMenuHeader</A>
+</nobr><br>
+<!-- Class TextView -->
+<A HREF="android.widget.TextView.html" class="hiddenlink" target="rightframe">TextView</A><br>
+<!-- Field tickMark -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMark" class="hiddenlink" target="rightframe">tickMark</A>
+</nobr><br>
+<!-- Field tickMarkTint -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMarkTint" class="hiddenlink" target="rightframe">tickMarkTint</A>
+</nobr><br>
+<!-- Field tickMarkTintMode -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMarkTintMode" class="hiddenlink" target="rightframe">tickMarkTintMode</A>
+</nobr><br>
+<!-- Field titleMargin -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMargin" class="hiddenlink" target="rightframe">titleMargin</A>
+</nobr><br>
+<!-- Field titleMarginBottom -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginBottom" class="hiddenlink" target="rightframe">titleMarginBottom</A>
+</nobr><br>
+<!-- Field titleMarginEnd -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginEnd" class="hiddenlink" target="rightframe">titleMarginEnd</A>
+</nobr><br>
+<!-- Field titleMarginStart -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginStart" class="hiddenlink" target="rightframe">titleMarginStart</A>
+</nobr><br>
+<!-- Field titleMarginTop -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginTop" class="hiddenlink" target="rightframe">titleMarginTop</A>
+</nobr><br>
+<!-- Method toString -->
+<i>toString</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.toString_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method toString -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.toString_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+<!-- Method toString -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.toString_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<!-- Field tunerCount -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tunerCount" class="hiddenlink" target="rightframe">tunerCount</A>
+</nobr><br>
+<!-- Class TvInputInfo.Builder -->
+<A HREF="android.media.tv.TvInputInfo.Builder.html" class="hiddenlink" target="rightframe">TvInputInfo.Builder</A><br>
+<!-- Class UiAutomation -->
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.UiAutomation.html" class="hiddenlink" target="rightframe">UiAutomation</A><br>
+<!-- Field use32bitAbi -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.use32bitAbi" class="hiddenlink" target="rightframe">use32bitAbi</A>
+</nobr><br>
+<!-- Field version -->
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.version" class="hiddenlink" target="rightframe">version</A>
+</nobr><br>
+<!-- Class View -->
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<!-- Class VoicemailContract -->
+<A HREF="android.provider.VoicemailContract.html" class="hiddenlink" target="rightframe">VoicemailContract</A><br>
+<!-- Class VoicemailContract.Status -->
+<A HREF="android.provider.VoicemailContract.Status.html" class="hiddenlink" target="rightframe">VoicemailContract.Status</A><br>
+<!-- Class WallpaperManager -->
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.WallpaperManager.html" class="hiddenlink" target="rightframe">WallpaperManager</A><br>
+<!-- Class WebViewClient -->
+<A HREF="android.webkit.WebViewClient.html" class="hiddenlink" target="rightframe">WebViewClient</A><br>
+<!-- Field windowBackgroundFallback -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.windowBackgroundFallback" class="hiddenlink" target="rightframe">windowBackgroundFallback</A>
+</nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/alldiffs_index_removals.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/alldiffs_index_removals.html
new file mode 100644
index 0000000..ad0b09f
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/alldiffs_index_removals.html
@@ -0,0 +1,971 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+All Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for All Differences" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="alldiffs_index_all.html" xclass="hiddenlink">All Differences</a>
+  <br>
+<b>Removals</b>
+  <br>
+<A HREF="alldiffs_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="alldiffs_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<!-- Method append -->
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>append</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>boolean</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(char)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>char</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(char[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>char[]</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>char[], int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(double)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>double</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(float)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>float</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CharSequence</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CharSequence, int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.StringBuffer)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>StringBuffer</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method append -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(long)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>long</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method appendCodePoint -->
+<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.appendCodePoint_removed(int)" class="hiddenlink" target="rightframe"><strike>appendCodePoint</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Class Collator.CollatorFactory -->
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.icu.text.html#Collator.CollatorFactory" class="hiddenlink" target="rightframe"><strike>Collator.CollatorFactory</strike></A><br>
+<!-- Field CONTACT_METADATA_SYNC -->
+<nobr><A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.CONTACT_METADATA_SYNC" class="hiddenlink" target="rightframe"><strike>CONTACT_METADATA_SYNC</strike></A>
+</nobr><br>
+<!-- Method createCustomIcon -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.createCustomIcon_removed(android.graphics.Bitmap, float, float)" class="hiddenlink" target="rightframe"><strike>createCustomIcon</strike>
+(<code>Bitmap, float, float</code>)</A></nobr><br>
+<!-- Class DataUsagePolicy -->
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.app.usage.html#DataUsagePolicy" class="hiddenlink" target="rightframe"><strike>DataUsagePolicy</strike></A><br>
+<!-- Class DataUsagePolicy.Builder -->
+<A HREF="pkg_android.app.usage.html#DataUsagePolicy.Builder" class="hiddenlink" target="rightframe"><strike>DataUsagePolicy.Builder</strike></A><br>
+<!-- Class DataUsageRequest -->
+<A HREF="pkg_android.net.html#DataUsageRequest" class="hiddenlink" target="rightframe"><strike>DataUsageRequest</strike></A><br>
+<!-- Method delete -->
+<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.delete_removed(int, int)" class="hiddenlink" target="rightframe"><strike>delete</strike>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method deleteCharAt -->
+<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.deleteCharAt_removed(int)" class="hiddenlink" target="rightframe"><strike>deleteCharAt</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method destroy -->
+<nobr><A HREF="android.app.UiAutomation.html#android.app.UiAutomation.destroy_removed()" class="hiddenlink" target="rightframe"><strike>destroy</strike>
+()</A></nobr><br>
+<!-- Method disableNfcFForegroundService -->
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.disableNfcFForegroundService_removed(android.app.Activity)" class="hiddenlink" target="rightframe"><strike>disableNfcFForegroundService</strike>
+(<code>Activity</code>)</A></nobr><br>
+<!-- Constructor Display.HdrCapabilities -->
+<nobr><A HREF="android.view.Display.HdrCapabilities.html#android.view.Display.HdrCapabilities.ctor_removed(int[], float, float, float)" class="hiddenlink" target="rightframe"><strike>Display.HdrCapabilities</strike>
+(<code>int[], float, float, float</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Method enableNfcFForegroundService -->
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.enableNfcFForegroundService_removed(android.app.Activity, android.content.ComponentName)" class="hiddenlink" target="rightframe"><strike>enableNfcFForegroundService</strike>
+(<code>Activity, ComponentName</code>)</A></nobr><br>
+<!-- Field EXTRA_CHRONOMETER_COUNTS_DOWN -->
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_CHRONOMETER_COUNTS_DOWN" class="hiddenlink" target="rightframe"><strike>EXTRA_CHRONOMETER_COUNTS_DOWN</strike></A>
+</nobr><br>
+<!-- Method from -->
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.health.SystemHealthManager.html#android.os.health.SystemHealthManager.from_removed(android.content.Context)" class="hiddenlink" target="rightframe"><strike>from</strike>
+(<code>Context</code>)</A></nobr><br>
+<!-- Method getCallState -->
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getCallState_removed(int)" class="hiddenlink" target="rightframe"><strike>getCallState</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getConfig -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.getConfig_removed(int)" class="hiddenlink" target="rightframe"><strike>getConfig</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getGroupIdLevel1 -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getGroupIdLevel1_removed(int)" class="hiddenlink" target="rightframe"><strike>getGroupIdLevel1</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getIccAuthentication -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getIccAuthentication_removed(int, int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>getIccAuthentication</strike>
+(<code>int, int, int, String</code>)</A></nobr><br>
+<!-- Method getLine1AlphaTag -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getLine1AlphaTag_removed(int)" class="hiddenlink" target="rightframe"><strike>getLine1AlphaTag</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getLine1Number -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getLine1Number_removed(int)" class="hiddenlink" target="rightframe"><strike>getLine1Number</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getMinimumFlex -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinimumFlex_removed()" class="hiddenlink" target="rightframe"><strike>getMinimumFlex</strike>
+()</A></nobr><br>
+<!-- Method getMinimumPeriod -->
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinimumPeriod_removed()" class="hiddenlink" target="rightframe"><strike>getMinimumPeriod</strike>
+()</A></nobr><br>
+<!-- Method getNetworkCountryIso -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getNetworkCountryIso_removed(int)" class="hiddenlink" target="rightframe"><strike>getNetworkCountryIso</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getNetworkOperator -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getNetworkOperator_removed(int)" class="hiddenlink" target="rightframe"><strike>getNetworkOperator</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getNetworkOperatorName -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getNetworkOperatorName_removed(int)" class="hiddenlink" target="rightframe"><strike>getNetworkOperatorName</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getNetworkType -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getNetworkType_removed(int)" class="hiddenlink" target="rightframe"><strike>getNetworkType</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getShortcutIconFd -->
+<i>getShortcutIconFd</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.getShortcutIconFd_removed(android.content.pm.ShortcutInfo)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>ShortcutInfo</code>)</strike>&nbsp;in&nbsp;android.content.pm.LauncherApps
+</A></nobr><br>
+<!-- Method getShortcutIconFd -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.getShortcutIconFd_removed(java.lang.String, java.lang.String, android.os.UserHandle)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String, String, UserHandle</code>)</strike>&nbsp;in&nbsp;android.content.pm.LauncherApps
+</A></nobr><br>
+<!-- Method getShortcuts -->
+<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.getShortcuts_removed(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle)" class="hiddenlink" target="rightframe"><strike>getShortcuts</strike>
+(<code>ShortcutQuery, UserHandle</code>)</A></nobr><br>
+<!-- Method getSimCountryIso -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSimCountryIso_removed(int)" class="hiddenlink" target="rightframe"><strike>getSimCountryIso</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getSimOperator -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSimOperator_removed(int)" class="hiddenlink" target="rightframe"><strike>getSimOperator</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getSimOperatorName -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSimOperatorName_removed(int)" class="hiddenlink" target="rightframe"><strike>getSimOperatorName</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getSimSerialNumber -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSimSerialNumber_removed(int)" class="hiddenlink" target="rightframe"><strike>getSimSerialNumber</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getSubscriberId -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSubscriberId_removed(int)" class="hiddenlink" target="rightframe"><strike>getSubscriberId</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getVoiceMailAlphaTag -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoiceMailAlphaTag_removed(int)" class="hiddenlink" target="rightframe"><strike>getVoiceMailAlphaTag</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getVoiceMailNumber -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoiceMailNumber_removed(int)" class="hiddenlink" target="rightframe"><strike>getVoiceMailNumber</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method hasCarrierPrivileges -->
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.hasCarrierPrivileges_removed(int)" class="hiddenlink" target="rightframe"><strike>hasCarrierPrivileges</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method hasPointerCapture -->
+<nobr><A HREF="android.view.View.html#android.view.View.hasPointerCapture_removed()" class="hiddenlink" target="rightframe"><strike>hasPointerCapture</strike>
+()</A></nobr><br>
+<!-- Method hasShortcutHostPermission -->
+<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.hasShortcutHostPermission_removed()" class="hiddenlink" target="rightframe"><strike>hasShortcutHostPermission</strike>
+()</A></nobr><br>
+<!-- Method iccCloseLogicalChannel -->
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccCloseLogicalChannel_removed(int, int)" class="hiddenlink" target="rightframe"><strike>iccCloseLogicalChannel</strike>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method iccExchangeSimIO -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccExchangeSimIO_removed(int, int, int, int, int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>iccExchangeSimIO</strike>
+(<code>int, int, int, int, int, int, String</code>)</A></nobr><br>
+<!-- Method iccOpenLogicalChannel -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccOpenLogicalChannel_removed(int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>iccOpenLogicalChannel</strike>
+(<code>int, String</code>)</A></nobr><br>
+<!-- Method iccTransmitApduBasicChannel -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccTransmitApduBasicChannel_removed(int, int, int, int, int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>iccTransmitApduBasicChannel</strike>
+(<code>int, int, int, int, int, int, String</code>)</A></nobr><br>
+<!-- Method iccTransmitApduLogicalChannel -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccTransmitApduLogicalChannel_removed(int, int, int, int, int, int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>iccTransmitApduLogicalChannel</strike>
+(<code>int, int, int, int, int, int, int, String</code>)</A></nobr><br>
+<!-- Field IMPORTANCE_DEFAULT -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_DEFAULT" class="hiddenlink" target="rightframe"><strike>IMPORTANCE_DEFAULT</strike></A>
+</nobr><br>
+<!-- Field IMPORTANCE_HIGH -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_HIGH" class="hiddenlink" target="rightframe"><strike>IMPORTANCE_HIGH</strike></A>
+</nobr><br>
+<!-- Field IMPORTANCE_LOW -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_LOW" class="hiddenlink" target="rightframe"><strike>IMPORTANCE_LOW</strike></A>
+</nobr><br>
+<!-- Field IMPORTANCE_MAX -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_MAX" class="hiddenlink" target="rightframe"><strike>IMPORTANCE_MAX</strike></A>
+</nobr><br>
+<!-- Field IMPORTANCE_MIN -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_MIN" class="hiddenlink" target="rightframe"><strike>IMPORTANCE_MIN</strike></A>
+</nobr><br>
+<!-- Field IMPORTANCE_NONE -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_NONE" class="hiddenlink" target="rightframe"><strike>IMPORTANCE_NONE</strike></A>
+</nobr><br>
+<!-- Field IMPORTANCE_UNSPECIFIED -->
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_UNSPECIFIED" class="hiddenlink" target="rightframe"><strike>IMPORTANCE_UNSPECIFIED</strike></A>
+</nobr><br>
+<!-- Method insert -->
+<i>insert</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, boolean</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, char)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, char</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, char[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, char[]</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, char[], int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, double)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, double</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, float)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, float</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, CharSequence</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, CharSequence, int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, Object</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, String</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method insert -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, long)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, long</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<!-- Method isMetered -->
+<nobr><A HREF="android.net.NetworkInfo.html#android.net.NetworkInfo.isMetered_removed()" class="hiddenlink" target="rightframe"><strike>isMetered</strike>
+()</A></nobr><br>
+<!-- Method isNetworkRoaming -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.isNetworkRoaming_removed(int)" class="hiddenlink" target="rightframe"><strike>isNetworkRoaming</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method isOverlayWithDecorCaptionEnabled -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.isOverlayWithDecorCaptionEnabled_removed()" class="hiddenlink" target="rightframe"><strike>isOverlayWithDecorCaptionEnabled</strike>
+()</A></nobr><br>
+<!-- Method isRemoteDirectory -->
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.isRemoteDirectory_removed(long)" class="hiddenlink" target="rightframe"><strike>isRemoteDirectory</strike>
+(<code>long</code>)</A></nobr><br>
+<!-- Method isWallpaperSettingAllowed -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.isWallpaperSettingAllowed_removed()" class="hiddenlink" target="rightframe"><strike>isWallpaperSettingAllowed</strike>
+()</A></nobr><br>
+<!-- Class LauncherApps.ShortcutQuery -->
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.content.pm.html#LauncherApps.ShortcutQuery" class="hiddenlink" target="rightframe"><strike>LauncherApps.ShortcutQuery</strike></A><br>
+<!-- Method loadCustomIcon -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.loadCustomIcon_removed(android.content.res.Resources, int)" class="hiddenlink" target="rightframe"><strike>loadCustomIcon</strike>
+(<code>Resources, int</code>)</A></nobr><br>
+<!-- Class LocaleList -->
+<A HREF="pkg_android.util.html#LocaleList" class="hiddenlink" target="rightframe"><strike>LocaleList</strike></A><br>
+<!-- Constructor LocaleSpan -->
+<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.ctor_removed(android.util.LocaleList)" class="hiddenlink" target="rightframe"><strike>LocaleSpan</strike>
+(<code>LocaleList</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field minimalHeight -->
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>minimalHeight</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.minimalHeight" class="hiddenlink" target="rightframe"><strike>android.R.attr</strike></A>
+</nobr><br>
+<!-- Field minimalHeight -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ActivityInfo.WindowLayout.html#android.content.pm.ActivityInfo.WindowLayout.minimalHeight" class="hiddenlink" target="rightframe"><strike>android.content.pm.ActivityInfo.WindowLayout</strike></A>
+</nobr><br>
+<!-- Field minimalWidth -->
+<i>minimalWidth</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.minimalWidth" class="hiddenlink" target="rightframe"><strike>android.R.attr</strike></A>
+</nobr><br>
+<!-- Field minimalWidth -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ActivityInfo.WindowLayout.html#android.content.pm.ActivityInfo.WindowLayout.minimalWidth" class="hiddenlink" target="rightframe"><strike>android.content.pm.ActivityInfo.WindowLayout</strike></A>
+</nobr><br>
+<!-- Class NetworkStatsManager.DataUsageCallback -->
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.app.usage.html#NetworkStatsManager.DataUsageCallback" class="hiddenlink" target="rightframe"><strike>NetworkStatsManager.DataUsageCallback</strike></A><br>
+<!-- Field nfcAntennaPositionDrawable -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.nfcAntennaPositionDrawable" class="hiddenlink" target="rightframe"><strike>nfcAntennaPositionDrawable</strike></A>
+</nobr><br>
+<!-- Constructor Notification.DecoratedCustomViewStyle -->
+<nobr><A HREF="android.app.Notification.DecoratedCustomViewStyle.html#android.app.Notification.DecoratedCustomViewStyle.ctor_removed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe"><strike>Notification.DecoratedCustomViewStyle</strike>
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Notification.DecoratedMediaCustomViewStyle -->
+<nobr><A HREF="android.app.Notification.DecoratedMediaCustomViewStyle.html#android.app.Notification.DecoratedMediaCustomViewStyle.ctor_removed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe"><strike>Notification.DecoratedMediaCustomViewStyle</strike>
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Method notifyConfigChanged -->
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.notifyConfigChanged_removed(int)" class="hiddenlink" target="rightframe"><strike>notifyConfigChanged</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Class NumberFormat.NumberFormatFactory -->
+<A HREF="pkg_android.icu.text.html#NumberFormat.NumberFormatFactory" class="hiddenlink" target="rightframe"><strike>NumberFormat.NumberFormatFactory</strike></A><br>
+<!-- Class NumberFormat.SimpleNumberFormatFactory -->
+<A HREF="pkg_android.icu.text.html#NumberFormat.SimpleNumberFormatFactory" class="hiddenlink" target="rightframe"><strike>NumberFormat.SimpleNumberFormatFactory</strike></A><br>
+<!-- Method onShortcutsChanged -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.LauncherApps.Callback.html#android.content.pm.LauncherApps.Callback.onShortcutsChanged_removed(java.lang.String, java.util.List<android.content.pm.ShortcutInfo>, android.os.UserHandle)" class="hiddenlink" target="rightframe"><strike>onShortcutsChanged</strike>
+(<code>String, List&lt;ShortcutInfo&gt;, UserHandle</code>)</A></nobr><br>
+<!-- Method onUnhandledInputEvent -->
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onUnhandledInputEvent_removed(android.webkit.WebView, android.view.InputEvent)" class="hiddenlink" target="rightframe"><strike>onUnhandledInputEvent</strike>
+(<code>WebView, InputEvent</code>)</A></nobr><br>
+<!-- Method pinShortcuts -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.pinShortcuts_removed(java.lang.String, java.util.List<java.lang.String>, android.os.UserHandle)" class="hiddenlink" target="rightframe"><strike>pinShortcuts</strike>
+(<code>String, List&lt;String&gt;, UserHandle</code>)</A></nobr><br>
+<!-- Field pointerShape -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.pointerShape" class="hiddenlink" target="rightframe"><strike>pointerShape</strike></A>
+</nobr><br>
+<!-- Field PROPERTY_WORK_CALL -->
+<nobr><A HREF="android.telecom.Call.Details.html#android.telecom.Call.Details.PROPERTY_WORK_CALL" class="hiddenlink" target="rightframe"><strike>PROPERTY_WORK_CALL</strike></A>
+</nobr><br>
+<!-- Method querySummary -->
+<A NAME="Q"></A>
+<br><font size="+2">Q</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.querySummary_removed(int, java.lang.String, long, long, boolean)" class="hiddenlink" target="rightframe"><strike>querySummary</strike>
+(<code>int, String, long, long, boolean</code>)</A></nobr><br>
+<!-- Method querySummaryForUser -->
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.querySummaryForUser_removed(int, java.lang.String, long, long, boolean)" class="hiddenlink" target="rightframe"><strike>querySummaryForUser</strike>
+(<code>int, String, long, long, boolean</code>)</A></nobr><br>
+<!-- Field RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_ENCRYPTED_STORAGE_UNAVAILABLE -->
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_ENCRYPTED_STORAGE_UNAVAILABLE" class="hiddenlink" target="rightframe"><strike>RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_ENCRYPTED_STORAGE_UNAVAILABLE</strike></A>
+</nobr><br>
+<!-- Method registerDataUsageCallback -->
+<i>registerDataUsageCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerDataUsageCallback_removed(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>DataUsagePolicy, DataUsageCallback</code>)</strike>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<!-- Method registerDataUsageCallback -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerDataUsageCallback_removed(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>DataUsagePolicy, DataUsageCallback, Handler</code>)</strike>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<!-- Method registerFactory -->
+<i>registerFactory</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.Collator.html#android.icu.text.Collator.registerFactory_removed(android.icu.text.Collator.CollatorFactory)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CollatorFactory</code>)</strike>&nbsp;in&nbsp;android.icu.text.Collator
+</A></nobr><br>
+<!-- Method registerFactory -->
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.NumberFormat.html#android.icu.text.NumberFormat.registerFactory_removed(android.icu.text.NumberFormat.NumberFormatFactory)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>NumberFormatFactory</code>)</strike>&nbsp;in&nbsp;android.icu.text.NumberFormat
+</A></nobr><br>
+<!-- Method registerInstance -->
+<i>registerInstance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.BreakIterator.html#android.icu.text.BreakIterator.registerInstance_removed(android.icu.text.BreakIterator, android.icu.util.ULocale, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>BreakIterator, ULocale, int</code>)</strike>&nbsp;in&nbsp;android.icu.text.BreakIterator
+</A></nobr><br>
+<!-- Method registerInstance -->
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.BreakIterator.html#android.icu.text.BreakIterator.registerInstance_removed(android.icu.text.BreakIterator, java.util.Locale, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>BreakIterator, Locale, int</code>)</strike>&nbsp;in&nbsp;android.icu.text.BreakIterator
+</A></nobr><br>
+<!-- Method registerInstance -->
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.Collator.html#android.icu.text.Collator.registerInstance_removed(android.icu.text.Collator, android.icu.util.ULocale)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Collator, ULocale</code>)</strike>&nbsp;in&nbsp;android.icu.text.Collator
+</A></nobr><br>
+<!-- Method registerInstance -->
+&nbsp;&nbsp;<nobr><A HREF="android.icu.util.Currency.html#android.icu.util.Currency.registerInstance_removed(android.icu.util.Currency, android.icu.util.ULocale)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Currency, ULocale</code>)</strike>&nbsp;in&nbsp;android.icu.util.Currency
+</A></nobr><br>
+<!-- Method releasePointerCapture -->
+<nobr><A HREF="android.view.View.html#android.view.View.releasePointerCapture_removed()" class="hiddenlink" target="rightframe"><strike>releasePointerCapture</strike>
+()</A></nobr><br>
+<!-- Method removeSystemCodeForService -->
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.removeSystemCodeForService_removed(android.content.ComponentName)" class="hiddenlink" target="rightframe"><strike>removeSystemCodeForService</strike>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method replace -->
+<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.replace_removed(int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>replace</strike>
+(<code>int, int, String</code>)</A></nobr><br>
+<!-- Method requestKeyboardShortcutsHelper -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.requestKeyboardShortcutsHelper_removed()" class="hiddenlink" target="rightframe"><strike>requestKeyboardShortcutsHelper</strike>
+()</A></nobr><br>
+<!-- Method reverse -->
+<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.reverse_removed()" class="hiddenlink" target="rightframe"><strike>reverse</strike>
+()</A></nobr><br>
+<!-- Method sendEnvelopeWithStatus -->
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.sendEnvelopeWithStatus_removed(int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>sendEnvelopeWithStatus</strike>
+(<code>int, String</code>)</A></nobr><br>
+<!-- Method setChronometerCountsDown -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setChronometerCountsDown_removed(boolean)" class="hiddenlink" target="rightframe"><strike>setChronometerCountsDown</strike>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setLine1NumberForDisplay -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setLine1NumberForDisplay_removed(int, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><strike>setLine1NumberForDisplay</strike>
+(<code>int, String, String</code>)</A></nobr><br>
+<!-- Method setOperatorBrandOverride -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setOperatorBrandOverride_removed(int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>setOperatorBrandOverride</strike>
+(<code>int, String</code>)</A></nobr><br>
+<!-- Method setOverlayWithDecorCaptionEnabled -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setOverlayWithDecorCaptionEnabled_removed(boolean)" class="hiddenlink" target="rightframe"><strike>setOverlayWithDecorCaptionEnabled</strike>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setPointerCapture -->
+<nobr><A HREF="android.view.View.html#android.view.View.setPointerCapture_removed()" class="hiddenlink" target="rightframe"><strike>setPointerCapture</strike>
+()</A></nobr><br>
+<!-- Method setPreferredNetworkTypeToGlobal -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setPreferredNetworkTypeToGlobal_removed(int)" class="hiddenlink" target="rightframe"><strike>setPreferredNetworkTypeToGlobal</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setQuota -->
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.setQuota_removed(android.content.Context, android.telecom.PhoneAccountHandle, int, int)" class="hiddenlink" target="rightframe"><strike>setQuota</strike>
+(<code>Context, PhoneAccountHandle, int, int</code>)</A></nobr><br>
+<!-- Method setVoiceMailNumber -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setVoiceMailNumber_removed(int, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><strike>setVoiceMailNumber</strike>
+(<code>int, String, String</code>)</A></nobr><br>
+<!-- Field SHORTCUT_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.SHORTCUT_SERVICE" class="hiddenlink" target="rightframe"><strike>SHORTCUT_SERVICE</strike></A>
+</nobr><br>
+<!-- Class ShortcutInfo -->
+<A HREF="pkg_android.content.pm.html#ShortcutInfo" class="hiddenlink" target="rightframe"><strike>ShortcutInfo</strike></A><br>
+<!-- Class ShortcutInfo.Builder -->
+<A HREF="pkg_android.content.pm.html#ShortcutInfo.Builder" class="hiddenlink" target="rightframe"><strike>ShortcutInfo.Builder</strike></A><br>
+<!-- Class ShortcutManager -->
+<A HREF="pkg_android.content.pm.html#ShortcutManager" class="hiddenlink" target="rightframe"><strike>ShortcutManager</strike></A><br>
+<!-- Method startShortcut -->
+<i>startShortcut</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.startShortcut_removed(android.content.pm.ShortcutInfo, android.graphics.Rect, android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>ShortcutInfo, Rect, Bundle</code>)</strike>&nbsp;in&nbsp;android.content.pm.LauncherApps
+</A></nobr><br>
+<!-- Method startShortcut -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.startShortcut_removed(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String, String, Rect, Bundle, UserHandle</code>)</strike>&nbsp;in&nbsp;android.content.pm.LauncherApps
+</A></nobr><br>
+<!-- Field STYLE_ALIAS -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ALIAS" class="hiddenlink" target="rightframe"><strike>STYLE_ALIAS</strike></A>
+</nobr><br>
+<!-- Field STYLE_ALL_SCROLL -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ALL_SCROLL" class="hiddenlink" target="rightframe"><strike>STYLE_ALL_SCROLL</strike></A>
+</nobr><br>
+<!-- Field STYLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_ARROW</strike></A>
+</nobr><br>
+<!-- Field STYLE_CELL -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_CELL" class="hiddenlink" target="rightframe"><strike>STYLE_CELL</strike></A>
+</nobr><br>
+<!-- Field STYLE_CONTEXT_MENU -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_CONTEXT_MENU" class="hiddenlink" target="rightframe"><strike>STYLE_CONTEXT_MENU</strike></A>
+</nobr><br>
+<!-- Field STYLE_COPY -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_COPY" class="hiddenlink" target="rightframe"><strike>STYLE_COPY</strike></A>
+</nobr><br>
+<!-- Field STYLE_CROSSHAIR -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_CROSSHAIR" class="hiddenlink" target="rightframe"><strike>STYLE_CROSSHAIR</strike></A>
+</nobr><br>
+<!-- Field STYLE_DEFAULT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_DEFAULT" class="hiddenlink" target="rightframe"><strike>STYLE_DEFAULT</strike></A>
+</nobr><br>
+<!-- Field STYLE_GRAB -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_GRAB" class="hiddenlink" target="rightframe"><strike>STYLE_GRAB</strike></A>
+</nobr><br>
+<!-- Field STYLE_GRABBING -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_GRABBING" class="hiddenlink" target="rightframe"><strike>STYLE_GRABBING</strike></A>
+</nobr><br>
+<!-- Field STYLE_HAND -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_HAND" class="hiddenlink" target="rightframe"><strike>STYLE_HAND</strike></A>
+</nobr><br>
+<!-- Field STYLE_HELP -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_HELP" class="hiddenlink" target="rightframe"><strike>STYLE_HELP</strike></A>
+</nobr><br>
+<!-- Field STYLE_HORIZONTAL_DOUBLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_HORIZONTAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_HORIZONTAL_DOUBLE_ARROW</strike></A>
+</nobr><br>
+<!-- Field STYLE_NO_DROP -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_NO_DROP" class="hiddenlink" target="rightframe"><strike>STYLE_NO_DROP</strike></A>
+</nobr><br>
+<!-- Field STYLE_NULL -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_NULL" class="hiddenlink" target="rightframe"><strike>STYLE_NULL</strike></A>
+</nobr><br>
+<!-- Field STYLE_TEXT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_TEXT" class="hiddenlink" target="rightframe"><strike>STYLE_TEXT</strike></A>
+</nobr><br>
+<!-- Field STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW</strike></A>
+</nobr><br>
+<!-- Field STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW</strike></A>
+</nobr><br>
+<!-- Field STYLE_VERTICAL_DOUBLE_ARROW -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_VERTICAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_VERTICAL_DOUBLE_ARROW</strike></A>
+</nobr><br>
+<!-- Field STYLE_VERTICAL_TEXT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_VERTICAL_TEXT" class="hiddenlink" target="rightframe"><strike>STYLE_VERTICAL_TEXT</strike></A>
+</nobr><br>
+<!-- Field STYLE_WAIT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_WAIT" class="hiddenlink" target="rightframe"><strike>STYLE_WAIT</strike></A>
+</nobr><br>
+<!-- Field STYLE_ZOOM_IN -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ZOOM_IN" class="hiddenlink" target="rightframe"><strike>STYLE_ZOOM_IN</strike></A>
+</nobr><br>
+<!-- Field STYLE_ZOOM_OUT -->
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ZOOM_OUT" class="hiddenlink" target="rightframe"><strike>STYLE_ZOOM_OUT</strike></A>
+</nobr><br>
+<!-- Field TAG_ALL -->
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.TAG_ALL" class="hiddenlink" target="rightframe"><strike>TAG_ALL</strike></A>
+</nobr><br>
+<!-- Field TAG_ANY -->
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.TAG_ANY" class="hiddenlink" target="rightframe"><strike>TAG_ANY</strike></A>
+</nobr><br>
+<!-- Method unregister -->
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>unregister</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.BreakIterator.html#android.icu.text.BreakIterator.unregister_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;android.icu.text.BreakIterator
+</A></nobr><br>
+<!-- Method unregister -->
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.Collator.html#android.icu.text.Collator.unregister_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;android.icu.text.Collator
+</A></nobr><br>
+<!-- Method unregister -->
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.NumberFormat.html#android.icu.text.NumberFormat.unregister_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;android.icu.text.NumberFormat
+</A></nobr><br>
+<!-- Method unregister -->
+&nbsp;&nbsp;<nobr><A HREF="android.icu.util.Currency.html#android.icu.util.Currency.unregister_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;android.icu.util.Currency
+</A></nobr><br>
+<!-- Method unregisterDataUsageCallback -->
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.unregisterDataUsageCallback_removed(android.app.usage.NetworkStatsManager.DataUsageCallback)" class="hiddenlink" target="rightframe"><strike>unregisterDataUsageCallback</strike>
+(<code>DataUsageCallback</code>)</A></nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.R.attr.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.R.attr.html
new file mode 100644
index 0000000..4dd6e3d
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.R.attr.html
@@ -0,0 +1,596 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.R.attr
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.<A HREF="../../../../reference/android/R.attr.html" target="_top"><font size="+2"><code>R.attr</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.minimalHeight"></A>
+  <code>int</code>&nbsp;minimalHeight
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.minimalWidth"></A>
+  <code>int</code>&nbsp;minimalWidth
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.nfcAntennaPositionDrawable"></A>
+  <code>int</code>&nbsp;nfcAntennaPositionDrawable
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.pointerShape"></A>
+  <code>int</code>&nbsp;pointerShape
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.networkSecurityConfig"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#networkSecurityConfig" target="_top"><code>networkSecurityConfig</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.pointerIcon"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#pointerIcon" target="_top"><code>pointerIcon</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.backupInForeground"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#backupInForeground" target="_top"><code>backupInForeground</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844059 to 16844058.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.bitmap"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#bitmap" target="_top"><code>bitmap</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844055 to 16844054.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.buttonGravity"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#buttonGravity" target="_top"><code>buttonGravity</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844031 to 16844030.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.canControlMagnification"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#canControlMagnification" target="_top"><code>canControlMagnification</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844040 to 16844039.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.canPerformGestures"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#canPerformGestures" target="_top"><code>canPerformGestures</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844046 to 16844045.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.canRecord"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#canRecord" target="_top"><code>canRecord</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844061 to 16844060.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.collapseIcon"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#collapseIcon" target="_top"><code>collapseIcon</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844032 to 16844031.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.contentInsetEndWithActions"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#contentInsetEndWithActions" target="_top"><code>contentInsetEndWithActions</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844070 to 16844067.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.contentInsetStartWithNavigation"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#contentInsetStartWithNavigation" target="_top"><code>contentInsetStartWithNavigation</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844069 to 16844066.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.contextPopupMenuStyle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#contextPopupMenuStyle" target="_top"><code>contextPopupMenuStyle</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844034 to 16844033.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.countDown"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#countDown" target="_top"><code>countDown</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844060 to 16844059.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.defaultToDeviceProtectedStorage"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#defaultToDeviceProtectedStorage" target="_top"><code>defaultToDeviceProtectedStorage</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844037 to 16844036.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.directBootAware"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#directBootAware" target="_top"><code>directBootAware</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844038 to 16844037.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.enableVrMode"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#enableVrMode" target="_top"><code>enableVrMode</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844072 to 16844069.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.endX"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#endX" target="_top"><code>endX</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844051 to 16844050.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.endY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#endY" target="_top"><code>endY</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844052 to 16844051.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.externalService"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#externalService" target="_top"><code>externalService</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844047 to 16844046.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.fillType"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#fillType" target="_top"><code>fillType</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844064 to 16844062.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.forceHasOverlappingRendering"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#forceHasOverlappingRendering" target="_top"><code>forceHasOverlappingRendering</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844068 to 16844065.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.hotSpotX"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#hotSpotX" target="_top"><code>hotSpotX</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844056 to 16844055.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.hotSpotY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#hotSpotY" target="_top"><code>hotSpotY</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844057 to 16844056.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.languageTag"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#languageTag" target="_top"><code>languageTag</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844041 to 16844040.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.level"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#level" target="_top"><code>level</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844033 to 16844032.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.maxButtonHeight"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#maxButtonHeight" target="_top"><code>maxButtonHeight</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844030 to 16844029.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.numberPickerStyle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#numberPickerStyle" target="_top"><code>numberPickerStyle</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844071 to 16844068.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.offset"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#offset" target="_top"><code>offset</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844053 to 16844052.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.popupEnterTransition"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#popupEnterTransition" target="_top"><code>popupEnterTransition</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844065 to 16844063.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.popupExitTransition"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#popupExitTransition" target="_top"><code>popupExitTransition</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844066 to 16844064.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.preferenceFragmentStyle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#preferenceFragmentStyle" target="_top"><code>preferenceFragmentStyle</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844039 to 16844038.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.resizeableActivity"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#resizeableActivity" target="_top"><code>resizeableActivity</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844023 to 16844022.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.startX"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#startX" target="_top"><code>startX</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844049 to 16844048.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.startY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#startY" target="_top"><code>startY</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844050 to 16844049.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.supportsLocalInteraction"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#supportsLocalInteraction" target="_top"><code>supportsLocalInteraction</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844048 to 16844047.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.supportsPictureInPicture"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#supportsPictureInPicture" target="_top"><code>supportsPictureInPicture</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844024 to 16844023.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.textAppearancePopupMenuHeader"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#textAppearancePopupMenuHeader" target="_top"><code>textAppearancePopupMenuHeader</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844035 to 16844034.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.tickMark"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#tickMark" target="_top"><code>tickMark</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844043 to 16844042.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.tickMarkTint"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#tickMarkTint" target="_top"><code>tickMarkTint</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844044 to 16844043.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.tickMarkTintMode"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#tickMarkTintMode" target="_top"><code>tickMarkTintMode</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844045 to 16844044.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.titleMargin"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#titleMargin" target="_top"><code>titleMargin</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844025 to 16844024.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.titleMarginBottom"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#titleMarginBottom" target="_top"><code>titleMarginBottom</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844029 to 16844028.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.titleMarginEnd"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#titleMarginEnd" target="_top"><code>titleMarginEnd</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844027 to 16844026.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.titleMarginStart"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#titleMarginStart" target="_top"><code>titleMarginStart</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844026 to 16844025.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.titleMarginTop"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#titleMarginTop" target="_top"><code>titleMarginTop</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844028 to 16844027.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.tunerCount"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#tunerCount" target="_top"><code>tunerCount</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844062 to 16844061.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.use32bitAbi"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#use32bitAbi" target="_top"><code>use32bitAbi</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844054 to 16844053.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.version"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#version" target="_top"><code>version</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844058 to 16844057.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.windowBackgroundFallback"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#windowBackgroundFallback" target="_top"><code>windowBackgroundFallback</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 16844036 to 16844035.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.R.style.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.R.style.html
new file mode 100644
index 0000000..03c602d
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.R.style.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.R.style
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.<A HREF="../../../../reference/android/R.style.html" target="_top"><font size="+2"><code>R.style</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_Material_Widget_Button_Borderless_Colored"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_Material_Widget_Button_Borderless_Colored" target="_top"><code>TextAppearance_Material_Widget_Button_Borderless_Colored</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_Material_Widget_Button_Colored"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_Material_Widget_Button_Colored" target="_top"><code>TextAppearance_Material_Widget_Button_Colored</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Activity.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Activity.html
new file mode 100644
index 0000000..93bc2e5
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Activity.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Activity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Activity.html" target="_top"><font size="+2"><code>Activity</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.isOverlayWithDecorCaptionEnabled_removed()"></A>
+  <nobr><code>boolean</code>&nbsp;isOverlayWithDecorCaptionEnabled()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.requestKeyboardShortcutsHelper_removed()"></A>
+  <nobr><code>void</code>&nbsp;requestKeyboardShortcutsHelper()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.setOverlayWithDecorCaptionEnabled_removed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;setOverlayWithDecorCaptionEnabled(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.requestShowKeyboardShortcuts_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#requestShowKeyboardShortcuts()" target="_top"><code>requestShowKeyboardShortcuts</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Fragment.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Fragment.html
new file mode 100644
index 0000000..5d342ca
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Fragment.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Fragment
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Fragment.html" target="_top"><font size="+2"><code>Fragment</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Fragment.onAttachFragment_added(android.app.Fragment)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Fragment.html#onAttachFragment(android.app.Fragment)" target="_top"><code>onAttachFragment</code></A>(<code>Fragment</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.BigPictureStyle.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.BigPictureStyle.html
new file mode 100644
index 0000000..27713e9
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.BigPictureStyle.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification.BigPictureStyle
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.BigPictureStyle.html" target="_top"><font size="+2"><code>Notification.BigPictureStyle</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.BigPictureStyle.ctor_changed(android.app.Notification.Builder)"></A>
+  <nobr><A HREF="../../../../reference/android/app/Notification.BigPictureStyle.html#Notification.BigPictureStyle(android.app.Notification.Builder)" target="_top"><code>Notification.BigPictureStyle</code></A>(<code>Builder</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.BigTextStyle.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.BigTextStyle.html
new file mode 100644
index 0000000..ac3c68c
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.BigTextStyle.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification.BigTextStyle
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.BigTextStyle.html" target="_top"><font size="+2"><code>Notification.BigTextStyle</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.BigTextStyle.ctor_changed(android.app.Notification.Builder)"></A>
+  <nobr><A HREF="../../../../reference/android/app/Notification.BigTextStyle.html#Notification.BigTextStyle(android.app.Notification.Builder)" target="_top"><code>Notification.BigTextStyle</code></A>(<code>Builder</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.Builder.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.Builder.html
new file mode 100644
index 0000000..758bdda
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.Builder.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification.Builder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.Builder.html" target="_top"><font size="+2"><code>Notification.Builder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Builder.setChronometerCountsDown_removed(boolean)"></A>
+  <nobr><code>Builder</code>&nbsp;setChronometerCountsDown(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Builder.setChronometerCountDown_added(boolean)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Builder.html#setChronometerCountDown(boolean)" target="_top"><code>setChronometerCountDown</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.DecoratedCustomViewStyle.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.DecoratedCustomViewStyle.html
new file mode 100644
index 0000000..43cb81d
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.DecoratedCustomViewStyle.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification.DecoratedCustomViewStyle
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.DecoratedCustomViewStyle.html" target="_top"><font size="+2"><code>Notification.DecoratedCustomViewStyle</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.DecoratedCustomViewStyle.ctor_removed(android.app.Notification.Builder)"></A>
+  <nobr>Notification.DecoratedCustomViewStyle(<code>Builder</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.DecoratedMediaCustomViewStyle.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.DecoratedMediaCustomViewStyle.html
new file mode 100644
index 0000000..3b51648
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.DecoratedMediaCustomViewStyle.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification.DecoratedMediaCustomViewStyle
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.DecoratedMediaCustomViewStyle.html" target="_top"><font size="+2"><code>Notification.DecoratedMediaCustomViewStyle</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.DecoratedMediaCustomViewStyle.ctor_removed(android.app.Notification.Builder)"></A>
+  <nobr>Notification.DecoratedMediaCustomViewStyle(<code>Builder</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.InboxStyle.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.InboxStyle.html
new file mode 100644
index 0000000..8107316
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.InboxStyle.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification.InboxStyle
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.InboxStyle.html" target="_top"><font size="+2"><code>Notification.InboxStyle</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.InboxStyle.ctor_changed(android.app.Notification.Builder)"></A>
+  <nobr><A HREF="../../../../reference/android/app/Notification.InboxStyle.html#Notification.InboxStyle(android.app.Notification.Builder)" target="_top"><code>Notification.InboxStyle</code></A>(<code>Builder</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.MediaStyle.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.MediaStyle.html
new file mode 100644
index 0000000..7b64bb7
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.MediaStyle.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification.MediaStyle
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.MediaStyle.html" target="_top"><font size="+2"><code>Notification.MediaStyle</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.MediaStyle.ctor_changed(android.app.Notification.Builder)"></A>
+  <nobr><A HREF="../../../../reference/android/app/Notification.MediaStyle.html#Notification.MediaStyle(android.app.Notification.Builder)" target="_top"><code>Notification.MediaStyle</code></A>(<code>Builder</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.html
new file mode 100644
index 0000000..6845512
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.Notification.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Notification
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Notification.html" target="_top"><font size="+2"><code>Notification</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.EXTRA_CHRONOMETER_COUNTS_DOWN"></A>
+  <code>String</code>&nbsp;EXTRA_CHRONOMETER_COUNTS_DOWN
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.EXTRA_CHRONOMETER_COUNT_DOWN"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.html#EXTRA_CHRONOMETER_COUNT_DOWN" target="_top"><code>EXTRA_CHRONOMETER_COUNT_DOWN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.NotificationManager.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.NotificationManager.html
new file mode 100644
index 0000000..f2e75c3
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.NotificationManager.html
@@ -0,0 +1,164 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.NotificationManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/NotificationManager.html" target="_top"><font size="+2"><code>NotificationManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.IMPORTANCE_DEFAULT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#IMPORTANCE_DEFAULT" target="_top"><code>IMPORTANCE_DEFAULT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.IMPORTANCE_HIGH"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#IMPORTANCE_HIGH" target="_top"><code>IMPORTANCE_HIGH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.IMPORTANCE_LOW"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#IMPORTANCE_LOW" target="_top"><code>IMPORTANCE_LOW</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.IMPORTANCE_MAX"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#IMPORTANCE_MAX" target="_top"><code>IMPORTANCE_MAX</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.IMPORTANCE_MIN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#IMPORTANCE_MIN" target="_top"><code>IMPORTANCE_MIN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.IMPORTANCE_NONE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#IMPORTANCE_NONE" target="_top"><code>IMPORTANCE_NONE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.NotificationManager.IMPORTANCE_UNSPECIFIED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/NotificationManager.html#IMPORTANCE_UNSPECIFIED" target="_top"><code>IMPORTANCE_UNSPECIFIED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.UiAutomation.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.UiAutomation.html
new file mode 100644
index 0000000..8705c41
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.UiAutomation.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.UiAutomation
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/UiAutomation.html" target="_top"><font size="+2"><code>UiAutomation</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.UiAutomation.destroy_removed()"></A>
+  <nobr><code>void</code>&nbsp;destroy()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.WallpaperManager.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.WallpaperManager.html
new file mode 100644
index 0000000..f63b90d
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.WallpaperManager.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.WallpaperManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/WallpaperManager.html" target="_top"><font size="+2"><code>WallpaperManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.WallpaperManager.isWallpaperSettingAllowed_removed()"></A>
+  <nobr><code>boolean</code>&nbsp;isWallpaperSettingAllowed()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.WallpaperManager.getBuiltInDrawable_added(int)"></A>
+  <nobr><code>Drawable</code>&nbsp;<A HREF="../../../../reference/android/app/WallpaperManager.html#getBuiltInDrawable(int)" target="_top"><code>getBuiltInDrawable</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.WallpaperManager.getBuiltInDrawable_added(int, int, boolean, float, float, int)"></A>
+  <nobr><code>Drawable</code>&nbsp;<A HREF="../../../../reference/android/app/WallpaperManager.html#getBuiltInDrawable(int, int, boolean, float, float, int)" target="_top"><code>getBuiltInDrawable</code></A>(<code>int,</nobr> int<nobr>,</nobr> boolean<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.WallpaperManager.isSetWallpaperAllowed_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/WallpaperManager.html#isSetWallpaperAllowed()" target="_top"><code>isSetWallpaperAllowed</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.admin.DevicePolicyManager.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.admin.DevicePolicyManager.html
new file mode 100644
index 0000000..043b938
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.admin.DevicePolicyManager.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.admin.DevicePolicyManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.admin.<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html" target="_top"><font size="+2"><code>DevicePolicyManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_REMOTE_INPUT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#KEYGUARD_DISABLE_REMOTE_INPUT" target="_top"><code>KEYGUARD_DISABLE_REMOTE_INPUT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.job.JobInfo.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.job.JobInfo.html
new file mode 100644
index 0000000..5f8bdc7
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.job.JobInfo.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.job.JobInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.job.<A HREF="../../../../reference/android/app/job/JobInfo.html" target="_top"><font size="+2"><code>JobInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobInfo.getMinimumFlex_removed()"></A>
+  <nobr><code>long</code>&nbsp;getMinimumFlex()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobInfo.getMinimumPeriod_removed()"></A>
+  <nobr><code>long</code>&nbsp;getMinimumPeriod()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobInfo.getMinFlexMillis_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/app/job/JobInfo.html#getMinFlexMillis()" target="_top"><code>getMinFlexMillis</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job.JobInfo.getMinPeriodMillis_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/app/job/JobInfo.html#getMinPeriodMillis()" target="_top"><code>getMinPeriodMillis</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.usage.NetworkStats.Bucket.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.usage.NetworkStats.Bucket.html
new file mode 100644
index 0000000..2a11639
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.usage.NetworkStats.Bucket.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.usage.NetworkStats.Bucket
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.usage.<A HREF="../../../../reference/android/app/usage/NetworkStats.Bucket.html" target="_top"><font size="+2"><code>NetworkStats.Bucket</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStats.Bucket.TAG_ALL"></A>
+  <code>int</code>&nbsp;TAG_ALL
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStats.Bucket.TAG_ANY"></A>
+  <code>int</code>&nbsp;TAG_ANY
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStats.Bucket.TAG_NONE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/usage/NetworkStats.Bucket.html#TAG_NONE" target="_top"><code>TAG_NONE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.usage.NetworkStatsManager.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.usage.NetworkStatsManager.html
new file mode 100644
index 0000000..3dde529
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.app.usage.NetworkStatsManager.html
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.usage.NetworkStatsManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.usage.<A HREF="../../../../reference/android/app/usage/NetworkStatsManager.html" target="_top"><font size="+2"><code>NetworkStatsManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStatsManager.querySummary_removed(int, java.lang.String, long, long, boolean)"></A>
+  <nobr><code>NetworkStats</code>&nbsp;querySummary(<code>int,</nobr> String<nobr>,</nobr> long<nobr>,</nobr> long<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStatsManager.querySummaryForUser_removed(int, java.lang.String, long, long, boolean)"></A>
+  <nobr><code>Bucket</code>&nbsp;querySummaryForUser(<code>int,</nobr> String<nobr>,</nobr> long<nobr>,</nobr> long<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStatsManager.registerDataUsageCallback_removed(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback)"></A>
+  <nobr><code>void</code>&nbsp;registerDataUsageCallback(<code>DataUsagePolicy,</nobr> DataUsageCallback<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStatsManager.registerDataUsageCallback_removed(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback, android.os.Handler)"></A>
+  <nobr><code>void</code>&nbsp;registerDataUsageCallback(<code>DataUsagePolicy,</nobr> DataUsageCallback<nobr>,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStatsManager.unregisterDataUsageCallback_removed(android.app.usage.NetworkStatsManager.DataUsageCallback)"></A>
+  <nobr><code>void</code>&nbsp;unregisterDataUsageCallback(<code>DataUsageCallback</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/usage/NetworkStatsManager.html#registerUsageCallback(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback)" target="_top"><code>registerUsageCallback</code></A>(<code>int,</nobr> String<nobr>,</nobr> long<nobr>,</nobr> UsageCallback<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback, android.os.Handler)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/usage/NetworkStatsManager.html#registerUsageCallback(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback, android.os.Handler)" target="_top"><code>registerUsageCallback</code></A>(<code>int,</nobr> String<nobr>,</nobr> long<nobr>,</nobr> UsageCallback<nobr>,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStatsManager.unregisterUsageCallback_added(android.app.usage.NetworkStatsManager.UsageCallback)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/usage/NetworkStatsManager.html#unregisterUsageCallback(android.app.usage.NetworkStatsManager.UsageCallback)" target="_top"><code>unregisterUsageCallback</code></A>(<code>UsageCallback</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage.NetworkStatsManager.queryDetailsForUidTag_changed(int, java.lang.String, long, long, int, int)"></A>
+  <nobr><code>NetworkStats</code>&nbsp;<A HREF="../../../../reference/android/app/usage/NetworkStatsManager.html#queryDetailsForUidTag(int, java.lang.String, long, long, int, int)" target="_top"><code>queryDetailsForUidTag</code></A>(<code>int,</nobr> String<nobr>,</nobr> long<nobr>,</nobr> long<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>android.os.RemoteException, java.lang.SecurityException</code>) to <code>java.lang.SecurityException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.content.Context.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.content.Context.html
new file mode 100644
index 0000000..6a060db
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.content.Context.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.Context
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.<A HREF="../../../../reference/android/content/Context.html" target="_top"><font size="+2"><code>Context</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.SHORTCUT_SERVICE"></A>
+  <code>String</code>&nbsp;SHORTCUT_SERVICE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.content.pm.ActivityInfo.WindowLayout.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.content.pm.ActivityInfo.WindowLayout.html
new file mode 100644
index 0000000..11c6201
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.content.pm.ActivityInfo.WindowLayout.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.pm.ActivityInfo.WindowLayout
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.pm.<A HREF="../../../../reference/android/content/pm/ActivityInfo.WindowLayout.html" target="_top"><font size="+2"><code>ActivityInfo.WindowLayout</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ActivityInfo.WindowLayout.minimalHeight"></A>
+  <code>int</code>&nbsp;minimalHeight
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ActivityInfo.WindowLayout.minimalWidth"></A>
+  <code>int</code>&nbsp;minimalWidth
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ActivityInfo.WindowLayout.minHeight"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ActivityInfo.WindowLayout.html#minHeight" target="_top"><code>minHeight</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ActivityInfo.WindowLayout.minWidth"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ActivityInfo.WindowLayout.html#minWidth" target="_top"><code>minWidth</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.content.pm.LauncherApps.Callback.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.content.pm.LauncherApps.Callback.html
new file mode 100644
index 0000000..8b19e73
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.content.pm.LauncherApps.Callback.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.pm.LauncherApps.Callback
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.pm.<A HREF="../../../../reference/android/content/pm/LauncherApps.Callback.html" target="_top"><font size="+2"><code>LauncherApps.Callback</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.LauncherApps.Callback.onShortcutsChanged_removed(java.lang.String, java.util.List<android.content.pm.ShortcutInfo>, android.os.UserHandle)"></A>
+  <nobr><code>void</code>&nbsp;onShortcutsChanged(<code>String,</nobr> List&lt;ShortcutInfo&gt;<nobr>,</nobr> UserHandle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.content.pm.LauncherApps.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.content.pm.LauncherApps.html
new file mode 100644
index 0000000..2be32fd
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.content.pm.LauncherApps.html
@@ -0,0 +1,164 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.pm.LauncherApps
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.pm.<A HREF="../../../../reference/android/content/pm/LauncherApps.html" target="_top"><font size="+2"><code>LauncherApps</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.LauncherApps.getShortcutIconFd_removed(android.content.pm.ShortcutInfo)"></A>
+  <nobr><code>ParcelFileDescriptor</code>&nbsp;getShortcutIconFd(<code>ShortcutInfo</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.LauncherApps.getShortcutIconFd_removed(java.lang.String, java.lang.String, android.os.UserHandle)"></A>
+  <nobr><code>ParcelFileDescriptor</code>&nbsp;getShortcutIconFd(<code>String,</nobr> String<nobr>,</nobr> UserHandle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.LauncherApps.getShortcuts_removed(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle)"></A>
+  <nobr><code>List&lt;ShortcutInfo&gt;</code>&nbsp;getShortcuts(<code>ShortcutQuery,</nobr> UserHandle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.LauncherApps.hasShortcutHostPermission_removed()"></A>
+  <nobr><code>boolean</code>&nbsp;hasShortcutHostPermission()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.LauncherApps.pinShortcuts_removed(java.lang.String, java.util.List<java.lang.String>, android.os.UserHandle)"></A>
+  <nobr><code>void</code>&nbsp;pinShortcuts(<code>String,</nobr> List&lt;String&gt;<nobr>,</nobr> UserHandle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.LauncherApps.startShortcut_removed(android.content.pm.ShortcutInfo, android.graphics.Rect, android.os.Bundle)"></A>
+  <nobr><code>boolean</code>&nbsp;startShortcut(<code>ShortcutInfo,</nobr> Rect<nobr>,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.LauncherApps.startShortcut_removed(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle)"></A>
+  <nobr><code>boolean</code>&nbsp;startShortcut(<code>String,</nobr> String<nobr>,</nobr> Rect<nobr>,</nobr> Bundle<nobr>,</nobr> UserHandle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.content.res.Configuration.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.content.res.Configuration.html
new file mode 100644
index 0000000..9b3819b
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.content.res.Configuration.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.res.Configuration
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.res.<A HREF="../../../../reference/android/content/res/Configuration.html" target="_top"><font size="+2"><code>Configuration</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.getLocales_changed()"></A>
+  <nobr><code>LocaleList</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#getLocales()" target="_top"><code>getLocales</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>android.util.LocaleList</code> to <code>android.os.LocaleList</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.setLocales_changed(android.os.LocaleList)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#setLocales(android.os.LocaleList)" target="_top"><code>setLocales</code></A>(<code>LocaleList</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in signature from <code>android.util.LocaleList</code> to <code>android.os.LocaleList</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.graphics.Paint.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.graphics.Paint.html
new file mode 100644
index 0000000..0ce369d
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.graphics.Paint.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.graphics.Paint
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.graphics.<A HREF="../../../../reference/android/graphics/Paint.html" target="_top"><font size="+2"><code>Paint</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Paint.getTextLocales_changed()"></A>
+  <nobr><code>LocaleList</code>&nbsp;<A HREF="../../../../reference/android/graphics/Paint.html#getTextLocales()" target="_top"><code>getTextLocales</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>android.util.LocaleList</code> to <code>android.os.LocaleList</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Paint.setTextLocales_changed(android.os.LocaleList)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/graphics/Paint.html#setTextLocales(android.os.LocaleList)" target="_top"><code>setTextLocales</code></A>(<code>LocaleList</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in signature from <code>android.util.LocaleList</code> to <code>android.os.LocaleList</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.icu.text.BreakIterator.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.icu.text.BreakIterator.html
new file mode 100644
index 0000000..53c38fe
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.icu.text.BreakIterator.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.icu.text.BreakIterator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.icu.text.<A HREF="../../../../reference/android/icu/text/BreakIterator.html" target="_top"><font size="+2"><code>BreakIterator</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.icu.text.BreakIterator.registerInstance_removed(android.icu.text.BreakIterator, android.icu.util.ULocale, int)"></A>
+  <nobr><code>Object</code>&nbsp;registerInstance(<code>BreakIterator,</nobr> ULocale<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.icu.text.BreakIterator.registerInstance_removed(android.icu.text.BreakIterator, java.util.Locale, int)"></A>
+  <nobr><code>Object</code>&nbsp;registerInstance(<code>BreakIterator,</nobr> Locale<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.icu.text.BreakIterator.unregister_removed(java.lang.Object)"></A>
+  <nobr><code>boolean</code>&nbsp;unregister(<code>Object</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.icu.text.Collator.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.icu.text.Collator.html
new file mode 100644
index 0000000..fb8bd32
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.icu.text.Collator.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.icu.text.Collator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.icu.text.<A HREF="../../../../reference/android/icu/text/Collator.html" target="_top"><font size="+2"><code>Collator</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.icu.text.Collator.registerFactory_removed(android.icu.text.Collator.CollatorFactory)"></A>
+  <nobr><code>Object</code>&nbsp;registerFactory(<code>CollatorFactory</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.icu.text.Collator.registerInstance_removed(android.icu.text.Collator, android.icu.util.ULocale)"></A>
+  <nobr><code>Object</code>&nbsp;registerInstance(<code>Collator,</nobr> ULocale<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.icu.text.Collator.unregister_removed(java.lang.Object)"></A>
+  <nobr><code>boolean</code>&nbsp;unregister(<code>Object</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.icu.text.NumberFormat.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.icu.text.NumberFormat.html
new file mode 100644
index 0000000..fed5895
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.icu.text.NumberFormat.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.icu.text.NumberFormat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.icu.text.<A HREF="../../../../reference/android/icu/text/NumberFormat.html" target="_top"><font size="+2"><code>NumberFormat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.icu.text.NumberFormat.registerFactory_removed(android.icu.text.NumberFormat.NumberFormatFactory)"></A>
+  <nobr><code>Object</code>&nbsp;registerFactory(<code>NumberFormatFactory</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.icu.text.NumberFormat.unregister_removed(java.lang.Object)"></A>
+  <nobr><code>boolean</code>&nbsp;unregister(<code>Object</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.icu.util.Currency.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.icu.util.Currency.html
new file mode 100644
index 0000000..a725fbd
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.icu.util.Currency.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.icu.util.Currency
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.icu.util.<A HREF="../../../../reference/android/icu/util/Currency.html" target="_top"><font size="+2"><code>Currency</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.icu.util.Currency.registerInstance_removed(android.icu.util.Currency, android.icu.util.ULocale)"></A>
+  <nobr><code>Object</code>&nbsp;registerInstance(<code>Currency,</nobr> ULocale<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.icu.util.Currency.unregister_removed(java.lang.Object)"></A>
+  <nobr><code>boolean</code>&nbsp;unregister(<code>Object</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.AudioManager.AudioRecordingCallback.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.AudioManager.AudioRecordingCallback.html
new file mode 100644
index 0000000..13978d9
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.AudioManager.AudioRecordingCallback.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.AudioManager.AudioRecordingCallback
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/AudioManager.AudioRecordingCallback.html" target="_top"><font size="+2"><code>AudioManager.AudioRecordingCallback</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.AudioRecordingCallback.onRecordingConfigChanged_changed(java.util.List<android.media.AudioRecordingConfiguration>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.AudioRecordingCallback.html#onRecordingConfigChanged(java.util.List<android.media.AudioRecordingConfiguration>)" target="_top"><code>onRecordingConfigChanged</code></A>(<code>List&lt;AudioRecordingConfiguration&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in signature from <code>AudioRecordingConfiguration[]</code> to <code>List&lt;AudioRecordingConfiguration&gt;</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.AudioManager.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.AudioManager.html
new file mode 100644
index 0000000..681289c
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.AudioManager.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.AudioManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/AudioManager.html" target="_top"><font size="+2"><code>AudioManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.getActiveRecordingConfigurations_changed()"></A>
+  <nobr><code>List&lt;AudioRecordingConfiguration&gt;</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#getActiveRecordingConfigurations()" target="_top"><code>getActiveRecordingConfigurations</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>AudioRecordingConfiguration[]</code> to <code>List&lt;AudioRecordingConfiguration&gt;</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.AudioRecord.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.AudioRecord.html
new file mode 100644
index 0000000..e1a7bb8
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.AudioRecord.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.AudioRecord
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/AudioRecord.html" target="_top"><font size="+2"><code>AudioRecord</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioRecord.ERROR_DEAD_OBJECT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioRecord.html#ERROR_DEAD_OBJECT" target="_top"><code>ERROR_DEAD_OBJECT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.AudioTrack.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.AudioTrack.html
new file mode 100644
index 0000000..6979933
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.AudioTrack.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.AudioTrack
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/AudioTrack.html" target="_top"><font size="+2"><code>AudioTrack</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioTrack.ERROR_DEAD_OBJECT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioTrack.html#ERROR_DEAD_OBJECT" target="_top"><code>ERROR_DEAD_OBJECT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.MediaCodecInfo.CodecProfileLevel.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.MediaCodecInfo.CodecProfileLevel.html
new file mode 100644
index 0000000..c3819bb
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.MediaCodecInfo.CodecProfileLevel.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.MediaCodecInfo.CodecProfileLevel
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html" target="_top"><font size="+2"><code>MediaCodecInfo.CodecProfileLevel</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.MPEG2LevelHP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#MPEG2LevelHP" target="_top"><code>MPEG2LevelHP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level3b"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#MPEG4Level3b" target="_top"><code>MPEG4Level3b</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level6"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaCodecInfo.CodecProfileLevel.html#MPEG4Level6" target="_top"><code>MPEG4Level6</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.tv.TvInputInfo.Builder.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.tv.TvInputInfo.Builder.html
new file mode 100644
index 0000000..c18dbf2
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.media.tv.TvInputInfo.Builder.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.tv.TvInputInfo.Builder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.media.tv.<A HREF="../../../../reference/android/media/tv/TvInputInfo.Builder.html" target="_top"><font size="+2"><code>TvInputInfo.Builder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv.TvInputInfo.Builder.build_changed()"></A>
+  <nobr><code>TvInputInfo</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvInputInfo.Builder.html#build()" target="_top"><code>build</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.io.IOException, org.xmlpull.v1.XmlPullParserException</code>) to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.net.NetworkInfo.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.net.NetworkInfo.html
new file mode 100644
index 0000000..cf0373d
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.net.NetworkInfo.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.net.NetworkInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.net.<A HREF="../../../../reference/android/net/NetworkInfo.html" target="_top"><font size="+2"><code>NetworkInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.NetworkInfo.isMetered_removed()"></A>
+  <nobr><code>boolean</code>&nbsp;isMetered()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.nfc.cardemulation.NfcFCardEmulation.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.nfc.cardemulation.NfcFCardEmulation.html
new file mode 100644
index 0000000..ee975f8
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.nfc.cardemulation.NfcFCardEmulation.html
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.nfc.cardemulation.NfcFCardEmulation
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.nfc.cardemulation.<A HREF="../../../../reference/android/nfc/cardemulation/NfcFCardEmulation.html" target="_top"><font size="+2"><code>NfcFCardEmulation</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.cardemulation.NfcFCardEmulation.disableNfcFForegroundService_removed(android.app.Activity)"></A>
+  <nobr><code>boolean</code>&nbsp;disableNfcFForegroundService(<code>Activity</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.cardemulation.NfcFCardEmulation.enableNfcFForegroundService_removed(android.app.Activity, android.content.ComponentName)"></A>
+  <nobr><code>boolean</code>&nbsp;enableNfcFForegroundService(<code>Activity,</nobr> ComponentName<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.cardemulation.NfcFCardEmulation.removeSystemCodeForService_removed(android.content.ComponentName)"></A>
+  <nobr><code>boolean</code>&nbsp;removeSystemCodeForService(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.cardemulation.NfcFCardEmulation.disableService_added(android.app.Activity)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/nfc/cardemulation/NfcFCardEmulation.html#disableService(android.app.Activity)" target="_top"><code>disableService</code></A>(<code>Activity</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.cardemulation.NfcFCardEmulation.enableService_added(android.app.Activity, android.content.ComponentName)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/nfc/cardemulation/NfcFCardEmulation.html#enableService(android.app.Activity, android.content.ComponentName)" target="_top"><code>enableService</code></A>(<code>Activity,</nobr> ComponentName<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.cardemulation.NfcFCardEmulation.unregisterSystemCodeForService_added(android.content.ComponentName)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/nfc/cardemulation/NfcFCardEmulation.html#unregisterSystemCodeForService(android.content.ComponentName)" target="_top"><code>unregisterSystemCodeForService</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.cardemulation.NfcFCardEmulation.getNfcid2ForService_changed(android.content.ComponentName)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/nfc/cardemulation/NfcFCardEmulation.html#getNfcid2ForService(android.content.ComponentName)" target="_top"><code>getNfcid2ForService</code></A>(<code>ComponentName</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.RuntimeException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.cardemulation.NfcFCardEmulation.getSystemCodeForService_changed(android.content.ComponentName)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/nfc/cardemulation/NfcFCardEmulation.html#getSystemCodeForService(android.content.ComponentName)" target="_top"><code>getSystemCodeForService</code></A>(<code>ComponentName</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.RuntimeException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.cardemulation.NfcFCardEmulation.registerSystemCodeForService_changed(android.content.ComponentName, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/nfc/cardemulation/NfcFCardEmulation.html#registerSystemCodeForService(android.content.ComponentName, java.lang.String)" target="_top"><code>registerSystemCodeForService</code></A>(<code>ComponentName,</nobr> String<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.RuntimeException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.cardemulation.NfcFCardEmulation.setNfcid2ForService_changed(android.content.ComponentName, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/nfc/cardemulation/NfcFCardEmulation.html#setNfcid2ForService(android.content.ComponentName, java.lang.String)" target="_top"><code>setNfcid2ForService</code></A>(<code>ComponentName,</nobr> String<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>java.lang.RuntimeException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.os.Build.VERSION_CODES.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.os.Build.VERSION_CODES.html
new file mode 100644
index 0000000..644be8e
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.os.Build.VERSION_CODES.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.os.Build.VERSION_CODES
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.os.<A HREF="../../../../reference/android/os/Build.VERSION_CODES.html" target="_top"><font size="+2"><code>Build.VERSION_CODES</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Build.VERSION_CODES.N"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/os/Build.VERSION_CODES.html#N" target="_top"><code>N</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 10000 to 24.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.os.health.SystemHealthManager.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.os.health.SystemHealthManager.html
new file mode 100644
index 0000000..70ae9c7
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.os.health.SystemHealthManager.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.os.health.SystemHealthManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.os.health.<A HREF="../../../../reference/android/os/health/SystemHealthManager.html" target="_top"><font size="+2"><code>SystemHealthManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.health.SystemHealthManager.from_removed(android.content.Context)"></A>
+  <nobr><code>SystemHealthManager</code>&nbsp;from(<code>Context</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.provider.ContactsContract.Directory.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.provider.ContactsContract.Directory.html
new file mode 100644
index 0000000..6fc0a6e
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.provider.ContactsContract.Directory.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.ContactsContract.Directory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/ContactsContract.Directory.html" target="_top"><font size="+2"><code>ContactsContract.Directory</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.Directory.isRemoteDirectory_removed(long)"></A>
+  <nobr><code>boolean</code>&nbsp;isRemoteDirectory(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.Directory.isRemoteDirectoryId_added(long)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Directory.html#isRemoteDirectoryId(long)" target="_top"><code>isRemoteDirectoryId</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.provider.Settings.Global.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.provider.Settings.Global.html
new file mode 100644
index 0000000..baf8b72
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.provider.Settings.Global.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.Settings.Global
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/Settings.Global.html" target="_top"><font size="+2"><code>Settings.Global</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Global.CONTACT_METADATA_SYNC"></A>
+  <code>String</code>&nbsp;CONTACT_METADATA_SYNC
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Global.CONTACT_METADATA_SYNC_ENABLED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Global.html#CONTACT_METADATA_SYNC_ENABLED" target="_top"><code>CONTACT_METADATA_SYNC_ENABLED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.provider.Settings.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.provider.Settings.html
new file mode 100644
index 0000000..69f6432
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.provider.Settings.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.Settings
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/Settings.html" target="_top"><font size="+2"><code>Settings</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.ACTION_WEBVIEW_SETTINGS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.html#ACTION_WEBVIEW_SETTINGS" target="_top"><code>ACTION_WEBVIEW_SETTINGS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.provider.VoicemailContract.Status.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.provider.VoicemailContract.Status.html
new file mode 100644
index 0000000..ddd7155
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.provider.VoicemailContract.Status.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.VoicemailContract.Status
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/VoicemailContract.Status.html" target="_top"><font size="+2"><code>VoicemailContract.Status</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.VoicemailContract.Status.setQuota_removed(android.content.Context, android.telecom.PhoneAccountHandle, int, int)"></A>
+  <nobr><code>void</code>&nbsp;setQuota(<code>Context,</nobr> PhoneAccountHandle<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.provider.VoicemailContract.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.provider.VoicemailContract.html
new file mode 100644
index 0000000..a456144
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.provider.VoicemailContract.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.VoicemailContract
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/VoicemailContract.html" target="_top"><font size="+2"><code>VoicemailContract</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.VoicemailContract.ACTION_SYNC_VOICEMAIL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/VoicemailContract.html#ACTION_SYNC_VOICEMAIL" target="_top"><code>ACTION_SYNC_VOICEMAIL</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from "android.intent.action.SYNC_VOICEMAIL" to "android.provider.action.SYNC_VOICEMAIL".
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.service.carrier.CarrierMessagingService.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.service.carrier.CarrierMessagingService.html
new file mode 100644
index 0000000..30c3738
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.service.carrier.CarrierMessagingService.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.carrier.CarrierMessagingService
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.service.carrier.<A HREF="../../../../reference/android/service/carrier/CarrierMessagingService.html" target="_top"><font size="+2"><code>CarrierMessagingService</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_ENCRYPTED_STORAGE_UNAVAILABLE"></A>
+  <code>int</code>&nbsp;RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_ENCRYPTED_STORAGE_UNAVAILABLE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/service/carrier/CarrierMessagingService.html#RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE" target="_top"><code>RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.service.notification.Condition.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.service.notification.Condition.html
new file mode 100644
index 0000000..2ef2241
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.service.notification.Condition.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.notification.Condition
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.service.notification.<A HREF="../../../../reference/android/service/notification/Condition.html" target="_top"><font size="+2"><code>Condition</code></font></A>
+</H2>
+<p>Change from non-final to final.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.service.notification.ConditionProviderService.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.service.notification.ConditionProviderService.html
new file mode 100644
index 0000000..079ccda
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.service.notification.ConditionProviderService.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.notification.ConditionProviderService
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.service.notification.<A HREF="../../../../reference/android/service/notification/ConditionProviderService.html" target="_top"><font size="+2"><code>ConditionProviderService</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.ConditionProviderService.EXTRA_RULE_ID"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/service/notification/ConditionProviderService.html#EXTRA_RULE_ID" target="_top"><code>EXTRA_RULE_ID</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from "android.content.automatic.ruleId" to "android.service.notification.extra.RULE_ID".
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.service.notification.NotificationListenerService.Ranking.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.service.notification.NotificationListenerService.Ranking.html
new file mode 100644
index 0000000..6fc5a57
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.service.notification.NotificationListenerService.Ranking.html
@@ -0,0 +1,164 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.notification.NotificationListenerService.Ranking
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.service.notification.<A HREF="../../../../reference/android/service/notification/NotificationListenerService.Ranking.html" target="_top"><font size="+2"><code>NotificationListenerService.Ranking</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_DEFAULT"></A>
+  <code>int</code>&nbsp;IMPORTANCE_DEFAULT
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_HIGH"></A>
+  <code>int</code>&nbsp;IMPORTANCE_HIGH
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_LOW"></A>
+  <code>int</code>&nbsp;IMPORTANCE_LOW
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_MAX"></A>
+  <code>int</code>&nbsp;IMPORTANCE_MAX
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_MIN"></A>
+  <code>int</code>&nbsp;IMPORTANCE_MIN
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_NONE"></A>
+  <code>int</code>&nbsp;IMPORTANCE_NONE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_UNSPECIFIED"></A>
+  <code>int</code>&nbsp;IMPORTANCE_UNSPECIFIED
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.service.notification.NotificationListenerService.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.service.notification.NotificationListenerService.html
new file mode 100644
index 0000000..a692932
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.service.notification.NotificationListenerService.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.notification.NotificationListenerService
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.service.notification.<A HREF="../../../../reference/android/service/notification/NotificationListenerService.html" target="_top"><font size="+2"><code>NotificationListenerService</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.requestRebind_changed(android.content.ComponentName)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/notification/NotificationListenerService.html#requestRebind(android.content.ComponentName)" target="_top"><code>requestRebind</code></A>(<code>ComponentName</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>android.os.RemoteException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification.NotificationListenerService.requestUnbind_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/notification/NotificationListenerService.html#requestUnbind()" target="_top"><code>requestUnbind</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>android.os.RemoteException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.telecom.Call.Details.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.telecom.Call.Details.html
new file mode 100644
index 0000000..31dd281
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.telecom.Call.Details.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telecom.Call.Details
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telecom.<A HREF="../../../../reference/android/telecom/Call.Details.html" target="_top"><font size="+2"><code>Call.Details</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.Call.Details.PROPERTY_WORK_CALL"></A>
+  <code>int</code>&nbsp;PROPERTY_WORK_CALL
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom.Call.Details.PROPERTY_ENTERPRISE_CALL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telecom/Call.Details.html#PROPERTY_ENTERPRISE_CALL" target="_top"><code>PROPERTY_ENTERPRISE_CALL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.telephony.CarrierConfigManager.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.telephony.CarrierConfigManager.html
new file mode 100644
index 0000000..d645e60
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.telephony.CarrierConfigManager.html
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telephony.CarrierConfigManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telephony.<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html" target="_top"><font size="+2"><code>CarrierConfigManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.getConfig_removed(int)"></A>
+  <nobr><code>PersistableBundle</code>&nbsp;getConfig(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.notifyConfigChanged_removed(int)"></A>
+  <nobr><code>void</code>&nbsp;notifyConfigChanged(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.getConfigForSubId_changed(int)"></A>
+  <nobr><code>PersistableBundle</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#getConfigForSubId(int)" target="_top"><code>getConfigForSubId</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from deprecated to undeprecated.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.notifyConfigChangedForSubId_changed(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#notifyConfigChangedForSubId(int)" target="_top"><code>notifyConfigChangedForSubId</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from deprecated to undeprecated.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL" target="_top"><code>KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from "vvm_cellular_data_required" to "vvm_cellular_data_required_bool".
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.CarrierConfigManager.KEY_VVM_PREFETCH_BOOL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/CarrierConfigManager.html#KEY_VVM_PREFETCH_BOOL" target="_top"><code>KEY_VVM_PREFETCH_BOOL</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from "vvm_prefetch" to "vvm_prefetch_bool".
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.telephony.TelephonyManager.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.telephony.TelephonyManager.html
new file mode 100644
index 0000000..cb6d5be
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.telephony.TelephonyManager.html
@@ -0,0 +1,354 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telephony.TelephonyManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telephony.<A HREF="../../../../reference/android/telephony/TelephonyManager.html" target="_top"><font size="+2"><code>TelephonyManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getCallState_removed(int)"></A>
+  <nobr><code>int</code>&nbsp;getCallState(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getGroupIdLevel1_removed(int)"></A>
+  <nobr><code>String</code>&nbsp;getGroupIdLevel1(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getIccAuthentication_removed(int, int, int, java.lang.String)"></A>
+  <nobr><code>String</code>&nbsp;getIccAuthentication(<code>int,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getLine1AlphaTag_removed(int)"></A>
+  <nobr><code>String</code>&nbsp;getLine1AlphaTag(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getLine1Number_removed(int)"></A>
+  <nobr><code>String</code>&nbsp;getLine1Number(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getNetworkCountryIso_removed(int)"></A>
+  <nobr><code>String</code>&nbsp;getNetworkCountryIso(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getNetworkOperator_removed(int)"></A>
+  <nobr><code>String</code>&nbsp;getNetworkOperator(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getNetworkOperatorName_removed(int)"></A>
+  <nobr><code>String</code>&nbsp;getNetworkOperatorName(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getNetworkType_removed(int)"></A>
+  <nobr><code>int</code>&nbsp;getNetworkType(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getSimCountryIso_removed(int)"></A>
+  <nobr><code>String</code>&nbsp;getSimCountryIso(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getSimOperator_removed(int)"></A>
+  <nobr><code>String</code>&nbsp;getSimOperator(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getSimOperatorName_removed(int)"></A>
+  <nobr><code>String</code>&nbsp;getSimOperatorName(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getSimSerialNumber_removed(int)"></A>
+  <nobr><code>String</code>&nbsp;getSimSerialNumber(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getSubscriberId_removed(int)"></A>
+  <nobr><code>String</code>&nbsp;getSubscriberId(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getVoiceMailAlphaTag_removed(int)"></A>
+  <nobr><code>String</code>&nbsp;getVoiceMailAlphaTag(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getVoiceMailNumber_removed(int)"></A>
+  <nobr><code>String</code>&nbsp;getVoiceMailNumber(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.hasCarrierPrivileges_removed(int)"></A>
+  <nobr><code>boolean</code>&nbsp;hasCarrierPrivileges(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.iccCloseLogicalChannel_removed(int, int)"></A>
+  <nobr><code>boolean</code>&nbsp;iccCloseLogicalChannel(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.iccExchangeSimIO_removed(int, int, int, int, int, int, java.lang.String)"></A>
+  <nobr><code>byte[]</code>&nbsp;iccExchangeSimIO(<code>int,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.iccOpenLogicalChannel_removed(int, java.lang.String)"></A>
+  <nobr><code>IccOpenLogicalChannelResponse</code>&nbsp;iccOpenLogicalChannel(<code>int,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.iccTransmitApduBasicChannel_removed(int, int, int, int, int, int, java.lang.String)"></A>
+  <nobr><code>String</code>&nbsp;iccTransmitApduBasicChannel(<code>int,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.iccTransmitApduLogicalChannel_removed(int, int, int, int, int, int, int, java.lang.String)"></A>
+  <nobr><code>String</code>&nbsp;iccTransmitApduLogicalChannel(<code>int,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.isNetworkRoaming_removed(int)"></A>
+  <nobr><code>boolean</code>&nbsp;isNetworkRoaming(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.sendEnvelopeWithStatus_removed(int, java.lang.String)"></A>
+  <nobr><code>String</code>&nbsp;sendEnvelopeWithStatus(<code>int,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.setLine1NumberForDisplay_removed(int, java.lang.String, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;setLine1NumberForDisplay(<code>int,</nobr> String<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.setOperatorBrandOverride_removed(int, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;setOperatorBrandOverride(<code>int,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.setPreferredNetworkTypeToGlobal_removed(int)"></A>
+  <nobr><code>boolean</code>&nbsp;setPreferredNetworkTypeToGlobal(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.setVoiceMailNumber_removed(int, java.lang.String, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;setVoiceMailNumber(<code>int,</nobr> String<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.createForSubscriptionId_added(int)"></A>
+  <nobr><code>TelephonyManager</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#createForSubscriptionId(int)" target="_top"><code>createForSubscriptionId</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getDataNetworkType_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#getDataNetworkType()" target="_top"><code>getDataNetworkType</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in signature from <code>int</code> to <code>void</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.getVoiceNetworkType_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#getVoiceNetworkType()" target="_top"><code>getVoiceNetworkType</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in signature from <code>int</code> to <code>void</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.test.mock.MockContentProvider.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.test.mock.MockContentProvider.html
new file mode 100644
index 0000000..374eea5
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.test.mock.MockContentProvider.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.mock.MockContentProvider
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.mock.<A HREF="../../../../reference/android/test/mock/MockContentProvider.html" target="_top"><font size="+2"><code>MockContentProvider</code></font></A>
+</H2>
+<p>Change from deprecated to undeprecated.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.test.mock.MockContentResolver.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.test.mock.MockContentResolver.html
new file mode 100644
index 0000000..f7cc263
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.test.mock.MockContentResolver.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.mock.MockContentResolver
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.mock.<A HREF="../../../../reference/android/test/mock/MockContentResolver.html" target="_top"><font size="+2"><code>MockContentResolver</code></font></A>
+</H2>
+<p>Change from deprecated to undeprecated.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.test.mock.MockContext.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.test.mock.MockContext.html
new file mode 100644
index 0000000..c981011
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.test.mock.MockContext.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.mock.MockContext
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.mock.<A HREF="../../../../reference/android/test/mock/MockContext.html" target="_top"><font size="+2"><code>MockContext</code></font></A>
+</H2>
+<p>Change from deprecated to undeprecated.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.text.style.LocaleSpan.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.text.style.LocaleSpan.html
new file mode 100644
index 0000000..d27fadd
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.text.style.LocaleSpan.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.text.style.LocaleSpan
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.text.style.<A HREF="../../../../reference/android/text/style/LocaleSpan.html" target="_top"><font size="+2"><code>LocaleSpan</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.style.LocaleSpan.ctor_removed(android.util.LocaleList)"></A>
+  <nobr>LocaleSpan(<code>LocaleList</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.style.LocaleSpan.ctor_added(android.os.LocaleList)"></A>
+  <nobr><A HREF="../../../../reference/android/text/style/LocaleSpan.html#LocaleSpan(android.os.LocaleList)" target="_top"><code>LocaleSpan</code></A>(<code>LocaleList</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.style.LocaleSpan.getLocales_changed()"></A>
+  <nobr><code>LocaleList</code>&nbsp;<A HREF="../../../../reference/android/text/style/LocaleSpan.html#getLocales()" target="_top"><code>getLocales</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>android.util.LocaleList</code> to <code>android.os.LocaleList</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.view.Display.HdrCapabilities.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.view.Display.HdrCapabilities.html
new file mode 100644
index 0000000..68e4e21
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.view.Display.HdrCapabilities.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.Display.HdrCapabilities
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/Display.HdrCapabilities.html" target="_top"><font size="+2"><code>Display.HdrCapabilities</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Display.HdrCapabilities.ctor_removed(int[], float, float, float)"></A>
+  <nobr>Display.HdrCapabilities(<code>int[],</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.view.PointerIcon.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.view.PointerIcon.html
new file mode 100644
index 0000000..7313ae1
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.view.PointerIcon.html
@@ -0,0 +1,489 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.PointerIcon
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/PointerIcon.html" target="_top"><font size="+2"><code>PointerIcon</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.createCustomIcon_removed(android.graphics.Bitmap, float, float)"></A>
+  <nobr><code>PointerIcon</code>&nbsp;createCustomIcon(<code>Bitmap,</nobr> float<nobr>,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.loadCustomIcon_removed(android.content.res.Resources, int)"></A>
+  <nobr><code>PointerIcon</code>&nbsp;loadCustomIcon(<code>Resources,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.create_added(android.graphics.Bitmap, float, float)"></A>
+  <nobr><code>PointerIcon</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#create(android.graphics.Bitmap, float, float)" target="_top"><code>create</code></A>(<code>Bitmap,</nobr> float<nobr>,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.load_added(android.content.res.Resources, int)"></A>
+  <nobr><code>PointerIcon</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#load(android.content.res.Resources, int)" target="_top"><code>load</code></A>(<code>Resources,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_ALIAS"></A>
+  <code>int</code>&nbsp;STYLE_ALIAS
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_ALL_SCROLL"></A>
+  <code>int</code>&nbsp;STYLE_ALL_SCROLL
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_ARROW"></A>
+  <code>int</code>&nbsp;STYLE_ARROW
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_CELL"></A>
+  <code>int</code>&nbsp;STYLE_CELL
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_CONTEXT_MENU"></A>
+  <code>int</code>&nbsp;STYLE_CONTEXT_MENU
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_COPY"></A>
+  <code>int</code>&nbsp;STYLE_COPY
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_CROSSHAIR"></A>
+  <code>int</code>&nbsp;STYLE_CROSSHAIR
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_DEFAULT"></A>
+  <code>int</code>&nbsp;STYLE_DEFAULT
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_GRAB"></A>
+  <code>int</code>&nbsp;STYLE_GRAB
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_GRABBING"></A>
+  <code>int</code>&nbsp;STYLE_GRABBING
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_HAND"></A>
+  <code>int</code>&nbsp;STYLE_HAND
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_HELP"></A>
+  <code>int</code>&nbsp;STYLE_HELP
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_HORIZONTAL_DOUBLE_ARROW"></A>
+  <code>int</code>&nbsp;STYLE_HORIZONTAL_DOUBLE_ARROW
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_NO_DROP"></A>
+  <code>int</code>&nbsp;STYLE_NO_DROP
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_NULL"></A>
+  <code>int</code>&nbsp;STYLE_NULL
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_TEXT"></A>
+  <code>int</code>&nbsp;STYLE_TEXT
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW"></A>
+  <code>int</code>&nbsp;STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW"></A>
+  <code>int</code>&nbsp;STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_VERTICAL_DOUBLE_ARROW"></A>
+  <code>int</code>&nbsp;STYLE_VERTICAL_DOUBLE_ARROW
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_VERTICAL_TEXT"></A>
+  <code>int</code>&nbsp;STYLE_VERTICAL_TEXT
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_WAIT"></A>
+  <code>int</code>&nbsp;STYLE_WAIT
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_ZOOM_IN"></A>
+  <code>int</code>&nbsp;STYLE_ZOOM_IN
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.STYLE_ZOOM_OUT"></A>
+  <code>int</code>&nbsp;STYLE_ZOOM_OUT
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_ALIAS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_ALIAS" target="_top"><code>TYPE_ALIAS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_ALL_SCROLL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_ALL_SCROLL" target="_top"><code>TYPE_ALL_SCROLL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_ARROW"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_ARROW" target="_top"><code>TYPE_ARROW</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_CELL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_CELL" target="_top"><code>TYPE_CELL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_CONTEXT_MENU"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_CONTEXT_MENU" target="_top"><code>TYPE_CONTEXT_MENU</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_COPY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_COPY" target="_top"><code>TYPE_COPY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_CROSSHAIR"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_CROSSHAIR" target="_top"><code>TYPE_CROSSHAIR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_DEFAULT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_DEFAULT" target="_top"><code>TYPE_DEFAULT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_GRAB"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_GRAB" target="_top"><code>TYPE_GRAB</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_GRABBING"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_GRABBING" target="_top"><code>TYPE_GRABBING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_HAND"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_HAND" target="_top"><code>TYPE_HAND</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_HELP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_HELP" target="_top"><code>TYPE_HELP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_HORIZONTAL_DOUBLE_ARROW"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_HORIZONTAL_DOUBLE_ARROW" target="_top"><code>TYPE_HORIZONTAL_DOUBLE_ARROW</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_NO_DROP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_NO_DROP" target="_top"><code>TYPE_NO_DROP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_NULL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_NULL" target="_top"><code>TYPE_NULL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_TEXT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_TEXT" target="_top"><code>TYPE_TEXT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW" target="_top"><code>TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW" target="_top"><code>TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_VERTICAL_DOUBLE_ARROW"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_VERTICAL_DOUBLE_ARROW" target="_top"><code>TYPE_VERTICAL_DOUBLE_ARROW</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_VERTICAL_TEXT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_VERTICAL_TEXT" target="_top"><code>TYPE_VERTICAL_TEXT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_WAIT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_WAIT" target="_top"><code>TYPE_WAIT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_ZOOM_IN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_ZOOM_IN" target="_top"><code>TYPE_ZOOM_IN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.PointerIcon.TYPE_ZOOM_OUT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/PointerIcon.html#TYPE_ZOOM_OUT" target="_top"><code>TYPE_ZOOM_OUT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.view.View.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.view.View.html
new file mode 100644
index 0000000..939554c
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.view.View.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.View
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/View.html" target="_top"><font size="+2"><code>View</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.hasPointerCapture_removed()"></A>
+  <nobr><code>boolean</code>&nbsp;hasPointerCapture()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.releasePointerCapture_removed()"></A>
+  <nobr><code>void</code>&nbsp;releasePointerCapture()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.setPointerCapture_removed()"></A>
+  <nobr><code>void</code>&nbsp;setPointerCapture()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.onResolvePointerIcon_added(android.view.MotionEvent, int)"></A>
+  <nobr><code>PointerIcon</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#onResolvePointerIcon(android.view.MotionEvent, int)" target="_top"><code>onResolvePointerIcon</code></A>(<code>MotionEvent,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.performContextClick_added(float, float)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#performContextClick(float, float)" target="_top"><code>performContextClick</code></A>(<code>float,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.getPointerIcon_changed()"></A>
+  <nobr><code>PointerIcon</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#getPointerIcon()" target="_top"><code>getPointerIcon</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in signature from (<code>MotionEvent, float, float</code>) to <code>void</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.view.inputmethod.EditorInfo.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.view.inputmethod.EditorInfo.html
new file mode 100644
index 0000000..49415ee
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.view.inputmethod.EditorInfo.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.inputmethod.EditorInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.inputmethod.<A HREF="../../../../reference/android/view/inputmethod/EditorInfo.html" target="_top"><font size="+2"><code>EditorInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.EditorInfo.hintLocales"></A>
+  <nobr><code>LocaleList</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/EditorInfo.html#hintLocales" target="_top"><code>hintLocales</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in type from<code>android.util.LocaleList</code> to <code>android.os.LocaleList</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.webkit.WebViewClient.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.webkit.WebViewClient.html
new file mode 100644
index 0000000..3394883
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.webkit.WebViewClient.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.webkit.WebViewClient
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.webkit.<A HREF="../../../../reference/android/webkit/WebViewClient.html" target="_top"><font size="+2"><code>WebViewClient</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebViewClient.onUnhandledInputEvent_removed(android.webkit.WebView, android.view.InputEvent)"></A>
+  <nobr><code>void</code>&nbsp;onUnhandledInputEvent(<code>WebView,</nobr> InputEvent<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebViewClient.onUnhandledKeyEvent_changed(android.webkit.WebView, android.view.KeyEvent)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebViewClient.html#onUnhandledKeyEvent(android.webkit.WebView, android.view.KeyEvent)" target="_top"><code>onUnhandledKeyEvent</code></A>(<code>WebView,</nobr> KeyEvent<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from deprecated to undeprecated.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.widget.TextView.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.widget.TextView.html
new file mode 100644
index 0000000..08f0125
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/android.widget.TextView.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.widget.TextView
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/TextView.html" target="_top"><font size="+2"><code>TextView</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TextView.getImeHintLocales_changed()"></A>
+  <nobr><code>LocaleList</code>&nbsp;<A HREF="../../../../reference/android/widget/TextView.html#getImeHintLocales()" target="_top"><code>getImeHintLocales</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>android.util.LocaleList</code> to <code>android.os.LocaleList</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TextView.getTextLocales_changed()"></A>
+  <nobr><code>LocaleList</code>&nbsp;<A HREF="../../../../reference/android/widget/TextView.html#getTextLocales()" target="_top"><code>getTextLocales</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>android.util.LocaleList</code> to <code>android.os.LocaleList</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TextView.setImeHintLocales_changed(android.os.LocaleList)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/TextView.html#setImeHintLocales(android.os.LocaleList)" target="_top"><code>setImeHintLocales</code></A>(<code>LocaleList</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in signature from <code>android.util.LocaleList</code> to <code>android.os.LocaleList</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TextView.setTextLocales_changed(android.os.LocaleList)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/TextView.html#setTextLocales(android.os.LocaleList)" target="_top"><code>setTextLocales</code></A>(<code>LocaleList</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in signature from <code>android.util.LocaleList</code> to <code>android.os.LocaleList</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/changes-summary.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/changes-summary.html
new file mode 100644
index 0000000..eaafe4a
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/changes-summary.html
@@ -0,0 +1,345 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Android API Differences Report
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<body class="gc-documentation">
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+    <div id="docTitleContainer">
+<h1>Android&nbsp;API&nbsp;Differences&nbsp;Report</h1>
+<p>This report details the changes in the core Android framework API between two <a 
+href="//developer.android.com/guide/appendix/api-levels.html" target="_top">API Level</a> 
+specifications. It shows additions, modifications, and removals for packages, classes, methods, and fields. 
+The report also includes general statistics that characterize the extent and type of the differences.</p>
+<p>This report is based a comparison of the Android API specifications 
+whose API Level identifiers are given in the upper-right corner of this page. It compares a 
+newer "to" API to an older "from" API, noting all changes relative to the 
+older API. So, for example, API elements marked as removed are no longer present in the "to" 
+API specification.</p>
+<p>To navigate the report, use the "Select a Diffs Index" and "Filter the Index" 
+controls on the left. The report uses text formatting to indicate <em>interface names</em>, 
+<a href= ><code>links to reference documentation</code></a>, and <a href= >links to change 
+description</a>. The statistics are accessible from the "Statistics" link in the upper-right corner.</p>
+<p>For more information about the Android framework API and SDK, 
+see the <a href="//developer.android.com/index.html" target="_top">Android Developers site</a>.</p>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Packages" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Packages</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android"></A>
+  <nobr><A HREF="pkg_android.html">android</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app"></A>
+  <nobr><A HREF="pkg_android.app.html">android.app</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin"></A>
+  <nobr><A HREF="pkg_android.app.admin.html">android.app.admin</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.job"></A>
+  <nobr><A HREF="pkg_android.app.job.html">android.app.job</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.usage"></A>
+  <nobr><A HREF="pkg_android.app.usage.html">android.app.usage</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content"></A>
+  <nobr><A HREF="pkg_android.content.html">android.content</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm"></A>
+  <nobr><A HREF="pkg_android.content.pm.html">android.content.pm</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res"></A>
+  <nobr><A HREF="pkg_android.content.res.html">android.content.res</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics"></A>
+  <nobr><A HREF="pkg_android.graphics.html">android.graphics</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.icu.text"></A>
+  <nobr><A HREF="pkg_android.icu.text.html">android.icu.text</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.icu.util"></A>
+  <nobr><A HREF="pkg_android.icu.util.html">android.icu.util</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media"></A>
+  <nobr><A HREF="pkg_android.media.html">android.media</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.tv"></A>
+  <nobr><A HREF="pkg_android.media.tv.html">android.media.tv</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net"></A>
+  <nobr><A HREF="pkg_android.net.html">android.net</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.cardemulation"></A>
+  <nobr><A HREF="pkg_android.nfc.cardemulation.html">android.nfc.cardemulation</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os"></A>
+  <nobr><A HREF="pkg_android.os.html">android.os</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.health"></A>
+  <nobr><A HREF="pkg_android.os.health.html">android.os.health</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider"></A>
+  <nobr><A HREF="pkg_android.provider.html">android.provider</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.carrier"></A>
+  <nobr><A HREF="pkg_android.service.carrier.html">android.service.carrier</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.notification"></A>
+  <nobr><A HREF="pkg_android.service.notification.html">android.service.notification</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telecom"></A>
+  <nobr><A HREF="pkg_android.telecom.html">android.telecom</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony"></A>
+  <nobr><A HREF="pkg_android.telephony.html">android.telephony</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock"></A>
+  <nobr><A HREF="pkg_android.test.mock.html">android.test.mock</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.style"></A>
+  <nobr><A HREF="pkg_android.text.style.html">android.text.style</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.util"></A>
+  <nobr><A HREF="pkg_android.util.html">android.util</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view"></A>
+  <nobr><A HREF="pkg_android.view.html">android.view</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod"></A>
+  <nobr><A HREF="pkg_android.view.inputmethod.html">android.view.inputmethod</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit"></A>
+  <nobr><A HREF="pkg_android.webkit.html">android.webkit</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget"></A>
+  <nobr><A HREF="pkg_android.widget.html">android.widget</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang"></A>
+  <nobr><A HREF="pkg_java.lang.html">java.lang</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.reflect"></A>
+  <nobr><A HREF="pkg_java.lang.reflect.html">java.lang.reflect</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- End of API section -->
+<!-- Start of packages section -->
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/classes_index_additions.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/classes_index_additions.html
new file mode 100644
index 0000000..3a424a7
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/classes_index_additions.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Class Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Classes" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="classes_index_all.html" class="staysblack">All Classes</a>
+  <br>
+<A HREF="classes_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="classes_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#N"><font size="-2">N</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.os.html#LocaleList" class="hiddenlink" target="rightframe"><b>LocaleList</b></A><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#L"><font size="-2">L</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.app.usage.html#NetworkStatsManager.UsageCallback" class="hiddenlink" target="rightframe"><b>NetworkStatsManager.UsageCallback</b></A><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/classes_index_all.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/classes_index_all.html
new file mode 100644
index 0000000..215d629
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/classes_index_all.html
@@ -0,0 +1,482 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Class Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Classes" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Classes</b>
+  <br>
+<A HREF="classes_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="classes_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="classes_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.lang.AbstractStringBuilder.html" class="hiddenlink" target="rightframe">AbstractStringBuilder</A><br>
+<A HREF="android.app.Activity.html" class="hiddenlink" target="rightframe">Activity</A><br>
+<A HREF="android.content.pm.ActivityInfo.WindowLayout.html" class="hiddenlink" target="rightframe">ActivityInfo.WindowLayout</A><br>
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<A HREF="android.media.AudioManager.AudioRecordingCallback.html" class="hiddenlink" target="rightframe">AudioManager.AudioRecordingCallback</A><br>
+<A HREF="android.media.AudioRecord.html" class="hiddenlink" target="rightframe">AudioRecord</A><br>
+<A HREF="android.media.AudioTrack.html" class="hiddenlink" target="rightframe">AudioTrack</A><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.icu.text.BreakIterator.html" class="hiddenlink" target="rightframe">BreakIterator</A><br>
+<A HREF="android.os.Build.VERSION_CODES.html" class="hiddenlink" target="rightframe">Build.VERSION_CODES</A><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.telecom.Call.Details.html" class="hiddenlink" target="rightframe">Call.Details</A><br>
+<A HREF="android.telephony.CarrierConfigManager.html" class="hiddenlink" target="rightframe">CarrierConfigManager</A><br>
+<A HREF="android.service.carrier.CarrierMessagingService.html" class="hiddenlink" target="rightframe">CarrierMessagingService</A><br>
+<A HREF="android.icu.text.Collator.html" class="hiddenlink" target="rightframe">Collator</A><br>
+<A HREF="pkg_android.icu.text.html#Collator.CollatorFactory" class="hiddenlink" target="rightframe"><strike>Collator.CollatorFactory</strike></A><br>
+<A HREF="android.service.notification.Condition.html" class="hiddenlink" target="rightframe">Condition</A><br>
+<A HREF="android.service.notification.ConditionProviderService.html" class="hiddenlink" target="rightframe">ConditionProviderService</A><br>
+<A HREF="android.content.res.Configuration.html" class="hiddenlink" target="rightframe">Configuration</A><br>
+<A HREF="java.lang.reflect.Constructor.html" class="hiddenlink" target="rightframe">Constructor</A><br>
+<A HREF="android.provider.ContactsContract.Directory.html" class="hiddenlink" target="rightframe">ContactsContract.Directory</A><br>
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<A HREF="android.icu.util.Currency.html" class="hiddenlink" target="rightframe">Currency</A><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.app.usage.html#DataUsagePolicy" class="hiddenlink" target="rightframe"><strike>DataUsagePolicy</strike></A><br>
+<A HREF="pkg_android.app.usage.html#DataUsagePolicy.Builder" class="hiddenlink" target="rightframe"><strike>DataUsagePolicy.Builder</strike></A><br>
+<A HREF="pkg_android.net.html#DataUsageRequest" class="hiddenlink" target="rightframe"><strike>DataUsageRequest</strike></A><br>
+<A HREF="android.app.admin.DevicePolicyManager.html" class="hiddenlink" target="rightframe">DevicePolicyManager</A><br>
+<A HREF="android.view.Display.HdrCapabilities.html" class="hiddenlink" target="rightframe">Display.HdrCapabilities</A><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.inputmethod.EditorInfo.html" class="hiddenlink" target="rightframe">EditorInfo</A><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.Fragment.html" class="hiddenlink" target="rightframe">Fragment</A><br>
+<A NAME="J"></A>
+<br><font size="+2">J</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.job.JobInfo.html" class="hiddenlink" target="rightframe">JobInfo</A><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.content.pm.LauncherApps.html" class="hiddenlink" target="rightframe">LauncherApps</A><br>
+<A HREF="android.content.pm.LauncherApps.Callback.html" class="hiddenlink" target="rightframe">LauncherApps.Callback</A><br>
+<A HREF="pkg_android.content.pm.html#LauncherApps.ShortcutQuery" class="hiddenlink" target="rightframe"><strike>LauncherApps.ShortcutQuery</strike></A><br>
+<i>LocaleList</i><br>
+&nbsp;&nbsp;<A HREF="pkg_android.os.html#LocaleList" class="hiddenlink" target="rightframe"><b>android.os</b></A><br>
+&nbsp;&nbsp;<A HREF="pkg_android.util.html#LocaleList" class="hiddenlink" target="rightframe"><strike>LocaleList</strike></A><br>
+<A HREF="android.text.style.LocaleSpan.html" class="hiddenlink" target="rightframe">LocaleSpan</A><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html" class="hiddenlink" target="rightframe">MediaCodecInfo.CodecProfileLevel</A><br>
+<A HREF="android.test.mock.MockContentProvider.html" class="hiddenlink" target="rightframe">MockContentProvider</A><br>
+<A HREF="android.test.mock.MockContentResolver.html" class="hiddenlink" target="rightframe">MockContentResolver</A><br>
+<A HREF="android.test.mock.MockContext.html" class="hiddenlink" target="rightframe">MockContext</A><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.net.NetworkInfo.html" class="hiddenlink" target="rightframe">NetworkInfo</A><br>
+<A HREF="android.app.usage.NetworkStats.Bucket.html" class="hiddenlink" target="rightframe">NetworkStats.Bucket</A><br>
+<A HREF="android.app.usage.NetworkStatsManager.html" class="hiddenlink" target="rightframe">NetworkStatsManager</A><br>
+<A HREF="pkg_android.app.usage.html#NetworkStatsManager.DataUsageCallback" class="hiddenlink" target="rightframe"><strike>NetworkStatsManager.DataUsageCallback</strike></A><br>
+<A HREF="pkg_android.app.usage.html#NetworkStatsManager.UsageCallback" class="hiddenlink" target="rightframe"><b>NetworkStatsManager.UsageCallback</b></A><br>
+<A HREF="android.nfc.cardemulation.NfcFCardEmulation.html" class="hiddenlink" target="rightframe">NfcFCardEmulation</A><br>
+<A HREF="android.app.Notification.html" class="hiddenlink" target="rightframe">Notification</A><br>
+<A HREF="android.app.Notification.BigPictureStyle.html" class="hiddenlink" target="rightframe">Notification.BigPictureStyle</A><br>
+<A HREF="android.app.Notification.BigTextStyle.html" class="hiddenlink" target="rightframe">Notification.BigTextStyle</A><br>
+<A HREF="android.app.Notification.Builder.html" class="hiddenlink" target="rightframe">Notification.Builder</A><br>
+<A HREF="android.app.Notification.DecoratedCustomViewStyle.html" class="hiddenlink" target="rightframe">Notification.DecoratedCustomViewStyle</A><br>
+<A HREF="android.app.Notification.DecoratedMediaCustomViewStyle.html" class="hiddenlink" target="rightframe">Notification.DecoratedMediaCustomViewStyle</A><br>
+<A HREF="android.app.Notification.InboxStyle.html" class="hiddenlink" target="rightframe">Notification.InboxStyle</A><br>
+<A HREF="android.app.Notification.MediaStyle.html" class="hiddenlink" target="rightframe">Notification.MediaStyle</A><br>
+<A HREF="android.service.notification.NotificationListenerService.html" class="hiddenlink" target="rightframe">NotificationListenerService</A><br>
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html" class="hiddenlink" target="rightframe">NotificationListenerService.Ranking</A><br>
+<A HREF="android.app.NotificationManager.html" class="hiddenlink" target="rightframe">NotificationManager</A><br>
+<A HREF="android.icu.text.NumberFormat.html" class="hiddenlink" target="rightframe">NumberFormat</A><br>
+<A HREF="pkg_android.icu.text.html#NumberFormat.NumberFormatFactory" class="hiddenlink" target="rightframe"><strike>NumberFormat.NumberFormatFactory</strike></A><br>
+<A HREF="pkg_android.icu.text.html#NumberFormat.SimpleNumberFormatFactory" class="hiddenlink" target="rightframe"><strike>NumberFormat.SimpleNumberFormatFactory</strike></A><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.graphics.Paint.html" class="hiddenlink" target="rightframe">Paint</A><br>
+<A HREF="android.view.PointerIcon.html" class="hiddenlink" target="rightframe">PointerIcon</A><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.R.attr.html" class="hiddenlink" target="rightframe">R.attr</A><br>
+<A HREF="android.R.style.html" class="hiddenlink" target="rightframe">R.style</A><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.provider.Settings.html" class="hiddenlink" target="rightframe">Settings</A><br>
+<A HREF="android.provider.Settings.Global.html" class="hiddenlink" target="rightframe">Settings.Global</A><br>
+<A HREF="pkg_android.content.pm.html#ShortcutInfo" class="hiddenlink" target="rightframe"><strike>ShortcutInfo</strike></A><br>
+<A HREF="pkg_android.content.pm.html#ShortcutInfo.Builder" class="hiddenlink" target="rightframe"><strike>ShortcutInfo.Builder</strike></A><br>
+<A HREF="pkg_android.content.pm.html#ShortcutManager" class="hiddenlink" target="rightframe"><strike>ShortcutManager</strike></A><br>
+<A HREF="java.lang.StringBuffer.html" class="hiddenlink" target="rightframe">StringBuffer</A><br>
+<A HREF="java.lang.StringBuilder.html" class="hiddenlink" target="rightframe">StringBuilder</A><br>
+<A HREF="android.os.health.SystemHealthManager.html" class="hiddenlink" target="rightframe">SystemHealthManager</A><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.telephony.TelephonyManager.html" class="hiddenlink" target="rightframe">TelephonyManager</A><br>
+<A HREF="android.widget.TextView.html" class="hiddenlink" target="rightframe">TextView</A><br>
+<A HREF="android.media.tv.TvInputInfo.Builder.html" class="hiddenlink" target="rightframe">TvInputInfo.Builder</A><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.UiAutomation.html" class="hiddenlink" target="rightframe">UiAutomation</A><br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<A HREF="android.provider.VoicemailContract.html" class="hiddenlink" target="rightframe">VoicemailContract</A><br>
+<A HREF="android.provider.VoicemailContract.Status.html" class="hiddenlink" target="rightframe">VoicemailContract.Status</A><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.WallpaperManager.html" class="hiddenlink" target="rightframe">WallpaperManager</A><br>
+<A HREF="android.webkit.WebViewClient.html" class="hiddenlink" target="rightframe">WebViewClient</A><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/classes_index_changes.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/classes_index_changes.html
new file mode 100644
index 0000000..3f1a3fd0
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/classes_index_changes.html
@@ -0,0 +1,467 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Class Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Classes" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="classes_index_all.html" class="staysblack">All Classes</a>
+  <br>
+<A HREF="classes_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="classes_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.lang.AbstractStringBuilder.html" class="hiddenlink" target="rightframe">AbstractStringBuilder</A><br>
+<A HREF="android.app.Activity.html" class="hiddenlink" target="rightframe">Activity</A><br>
+<A HREF="android.content.pm.ActivityInfo.WindowLayout.html" class="hiddenlink" target="rightframe">ActivityInfo.WindowLayout</A><br>
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<A HREF="android.media.AudioManager.AudioRecordingCallback.html" class="hiddenlink" target="rightframe">AudioManager.AudioRecordingCallback</A><br>
+<A HREF="android.media.AudioRecord.html" class="hiddenlink" target="rightframe">AudioRecord</A><br>
+<A HREF="android.media.AudioTrack.html" class="hiddenlink" target="rightframe">AudioTrack</A><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.icu.text.BreakIterator.html" class="hiddenlink" target="rightframe">BreakIterator</A><br>
+<A HREF="android.os.Build.VERSION_CODES.html" class="hiddenlink" target="rightframe">Build.VERSION_CODES</A><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.telecom.Call.Details.html" class="hiddenlink" target="rightframe">Call.Details</A><br>
+<A HREF="android.telephony.CarrierConfigManager.html" class="hiddenlink" target="rightframe">CarrierConfigManager</A><br>
+<A HREF="android.service.carrier.CarrierMessagingService.html" class="hiddenlink" target="rightframe">CarrierMessagingService</A><br>
+<A HREF="android.icu.text.Collator.html" class="hiddenlink" target="rightframe">Collator</A><br>
+<A HREF="android.service.notification.Condition.html" class="hiddenlink" target="rightframe">Condition</A><br>
+<A HREF="android.service.notification.ConditionProviderService.html" class="hiddenlink" target="rightframe">ConditionProviderService</A><br>
+<A HREF="android.content.res.Configuration.html" class="hiddenlink" target="rightframe">Configuration</A><br>
+<A HREF="java.lang.reflect.Constructor.html" class="hiddenlink" target="rightframe">Constructor</A><br>
+<A HREF="android.provider.ContactsContract.Directory.html" class="hiddenlink" target="rightframe">ContactsContract.Directory</A><br>
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<A HREF="android.icu.util.Currency.html" class="hiddenlink" target="rightframe">Currency</A><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.admin.DevicePolicyManager.html" class="hiddenlink" target="rightframe">DevicePolicyManager</A><br>
+<A HREF="android.view.Display.HdrCapabilities.html" class="hiddenlink" target="rightframe">Display.HdrCapabilities</A><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.inputmethod.EditorInfo.html" class="hiddenlink" target="rightframe">EditorInfo</A><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.Fragment.html" class="hiddenlink" target="rightframe">Fragment</A><br>
+<A NAME="J"></A>
+<br><font size="+2">J</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.job.JobInfo.html" class="hiddenlink" target="rightframe">JobInfo</A><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.content.pm.LauncherApps.html" class="hiddenlink" target="rightframe">LauncherApps</A><br>
+<A HREF="android.content.pm.LauncherApps.Callback.html" class="hiddenlink" target="rightframe">LauncherApps.Callback</A><br>
+<A HREF="android.text.style.LocaleSpan.html" class="hiddenlink" target="rightframe">LocaleSpan</A><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html" class="hiddenlink" target="rightframe">MediaCodecInfo.CodecProfileLevel</A><br>
+<A HREF="android.test.mock.MockContentProvider.html" class="hiddenlink" target="rightframe">MockContentProvider</A><br>
+<A HREF="android.test.mock.MockContentResolver.html" class="hiddenlink" target="rightframe">MockContentResolver</A><br>
+<A HREF="android.test.mock.MockContext.html" class="hiddenlink" target="rightframe">MockContext</A><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.net.NetworkInfo.html" class="hiddenlink" target="rightframe">NetworkInfo</A><br>
+<A HREF="android.app.usage.NetworkStats.Bucket.html" class="hiddenlink" target="rightframe">NetworkStats.Bucket</A><br>
+<A HREF="android.app.usage.NetworkStatsManager.html" class="hiddenlink" target="rightframe">NetworkStatsManager</A><br>
+<A HREF="android.nfc.cardemulation.NfcFCardEmulation.html" class="hiddenlink" target="rightframe">NfcFCardEmulation</A><br>
+<A HREF="android.app.Notification.html" class="hiddenlink" target="rightframe">Notification</A><br>
+<A HREF="android.app.Notification.BigPictureStyle.html" class="hiddenlink" target="rightframe">Notification.BigPictureStyle</A><br>
+<A HREF="android.app.Notification.BigTextStyle.html" class="hiddenlink" target="rightframe">Notification.BigTextStyle</A><br>
+<A HREF="android.app.Notification.Builder.html" class="hiddenlink" target="rightframe">Notification.Builder</A><br>
+<A HREF="android.app.Notification.DecoratedCustomViewStyle.html" class="hiddenlink" target="rightframe">Notification.DecoratedCustomViewStyle</A><br>
+<A HREF="android.app.Notification.DecoratedMediaCustomViewStyle.html" class="hiddenlink" target="rightframe">Notification.DecoratedMediaCustomViewStyle</A><br>
+<A HREF="android.app.Notification.InboxStyle.html" class="hiddenlink" target="rightframe">Notification.InboxStyle</A><br>
+<A HREF="android.app.Notification.MediaStyle.html" class="hiddenlink" target="rightframe">Notification.MediaStyle</A><br>
+<A HREF="android.service.notification.NotificationListenerService.html" class="hiddenlink" target="rightframe">NotificationListenerService</A><br>
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html" class="hiddenlink" target="rightframe">NotificationListenerService.Ranking</A><br>
+<A HREF="android.app.NotificationManager.html" class="hiddenlink" target="rightframe">NotificationManager</A><br>
+<A HREF="android.icu.text.NumberFormat.html" class="hiddenlink" target="rightframe">NumberFormat</A><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.graphics.Paint.html" class="hiddenlink" target="rightframe">Paint</A><br>
+<A HREF="android.view.PointerIcon.html" class="hiddenlink" target="rightframe">PointerIcon</A><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.R.attr.html" class="hiddenlink" target="rightframe">R.attr</A><br>
+<A HREF="android.R.style.html" class="hiddenlink" target="rightframe">R.style</A><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.provider.Settings.html" class="hiddenlink" target="rightframe">Settings</A><br>
+<A HREF="android.provider.Settings.Global.html" class="hiddenlink" target="rightframe">Settings.Global</A><br>
+<A HREF="java.lang.StringBuffer.html" class="hiddenlink" target="rightframe">StringBuffer</A><br>
+<A HREF="java.lang.StringBuilder.html" class="hiddenlink" target="rightframe">StringBuilder</A><br>
+<A HREF="android.os.health.SystemHealthManager.html" class="hiddenlink" target="rightframe">SystemHealthManager</A><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.telephony.TelephonyManager.html" class="hiddenlink" target="rightframe">TelephonyManager</A><br>
+<A HREF="android.widget.TextView.html" class="hiddenlink" target="rightframe">TextView</A><br>
+<A HREF="android.media.tv.TvInputInfo.Builder.html" class="hiddenlink" target="rightframe">TvInputInfo.Builder</A><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.UiAutomation.html" class="hiddenlink" target="rightframe">UiAutomation</A><br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<A HREF="android.provider.VoicemailContract.html" class="hiddenlink" target="rightframe">VoicemailContract</A><br>
+<A HREF="android.provider.VoicemailContract.Status.html" class="hiddenlink" target="rightframe">VoicemailContract.Status</A><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.WallpaperManager.html" class="hiddenlink" target="rightframe">WallpaperManager</A><br>
+<A HREF="android.webkit.WebViewClient.html" class="hiddenlink" target="rightframe">WebViewClient</A><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/classes_index_removals.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/classes_index_removals.html
new file mode 100644
index 0000000..8c4ed48
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/classes_index_removals.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Class Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Classes" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="classes_index_all.html" class="staysblack">All Classes</a>
+  <br>
+<b>Removals</b>
+  <br>
+<A HREF="classes_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="classes_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.icu.text.html#Collator.CollatorFactory" class="hiddenlink" target="rightframe"><strike>Collator.CollatorFactory</strike></A><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.app.usage.html#DataUsagePolicy" class="hiddenlink" target="rightframe"><strike>DataUsagePolicy</strike></A><br>
+<A HREF="pkg_android.app.usage.html#DataUsagePolicy.Builder" class="hiddenlink" target="rightframe"><strike>DataUsagePolicy.Builder</strike></A><br>
+<A HREF="pkg_android.net.html#DataUsageRequest" class="hiddenlink" target="rightframe"><strike>DataUsageRequest</strike></A><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.content.pm.html#LauncherApps.ShortcutQuery" class="hiddenlink" target="rightframe"><strike>LauncherApps.ShortcutQuery</strike></A><br>
+<A HREF="pkg_android.util.html#LocaleList" class="hiddenlink" target="rightframe"><strike>LocaleList</strike></A><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.app.usage.html#NetworkStatsManager.DataUsageCallback" class="hiddenlink" target="rightframe"><strike>NetworkStatsManager.DataUsageCallback</strike></A><br>
+<A HREF="pkg_android.icu.text.html#NumberFormat.NumberFormatFactory" class="hiddenlink" target="rightframe"><strike>NumberFormat.NumberFormatFactory</strike></A><br>
+<A HREF="pkg_android.icu.text.html#NumberFormat.SimpleNumberFormatFactory" class="hiddenlink" target="rightframe"><strike>NumberFormat.SimpleNumberFormatFactory</strike></A><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.content.pm.html#ShortcutInfo" class="hiddenlink" target="rightframe"><strike>ShortcutInfo</strike></A><br>
+<A HREF="pkg_android.content.pm.html#ShortcutInfo.Builder" class="hiddenlink" target="rightframe"><strike>ShortcutInfo.Builder</strike></A><br>
+<A HREF="pkg_android.content.pm.html#ShortcutManager" class="hiddenlink" target="rightframe"><strike>ShortcutManager</strike></A><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/constructors_index_additions.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/constructors_index_additions.html
new file mode 100644
index 0000000..db43daa
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/constructors_index_additions.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Constructor Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Constructors" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="constructors_index_all.html" class="staysblack">All Constructors</a>
+  <br>
+<A HREF="constructors_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="constructors_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.ctor_added(android.os.LocaleList)" class="hiddenlink" target="rightframe"><b>LocaleSpan</b>
+(<code>LocaleList</code>)</A></nobr>&nbsp;constructor<br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/constructors_index_all.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/constructors_index_all.html
new file mode 100644
index 0000000..889bcc4
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/constructors_index_all.html
@@ -0,0 +1,98 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Constructor Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Constructors" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Constructors</b>
+  <br>
+<A HREF="constructors_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="constructors_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="constructors_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.Display.HdrCapabilities.html#android.view.Display.HdrCapabilities.ctor_removed(int[], float, float, float)" class="hiddenlink" target="rightframe"><strike>Display.HdrCapabilities</strike>
+(<code>int[], float, float, float</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>LocaleSpan</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.ctor_removed(android.util.LocaleList)" class="hiddenlink" target="rightframe"><strike>LocaleSpan</strike>
+(<code>LocaleList</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.ctor_added(android.os.LocaleList)" class="hiddenlink" target="rightframe"><b>LocaleSpan</b>
+(<code>LocaleList</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.Notification.BigPictureStyle.html#android.app.Notification.BigPictureStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.BigPictureStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.app.Notification.BigTextStyle.html#android.app.Notification.BigTextStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.BigTextStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.app.Notification.DecoratedCustomViewStyle.html#android.app.Notification.DecoratedCustomViewStyle.ctor_removed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe"><strike>Notification.DecoratedCustomViewStyle</strike>
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.app.Notification.DecoratedMediaCustomViewStyle.html#android.app.Notification.DecoratedMediaCustomViewStyle.ctor_removed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe"><strike>Notification.DecoratedMediaCustomViewStyle</strike>
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.app.Notification.InboxStyle.html#android.app.Notification.InboxStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.InboxStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.app.Notification.MediaStyle.html#android.app.Notification.MediaStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.MediaStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/constructors_index_changes.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/constructors_index_changes.html
new file mode 100644
index 0000000..6166159
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/constructors_index_changes.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Constructor Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Constructors" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="constructors_index_all.html" class="staysblack">All Constructors</a>
+  <br>
+<A HREF="constructors_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="constructors_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.Notification.BigPictureStyle.html#android.app.Notification.BigPictureStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.BigPictureStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.app.Notification.BigTextStyle.html#android.app.Notification.BigTextStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.BigTextStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.app.Notification.InboxStyle.html#android.app.Notification.InboxStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.InboxStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.app.Notification.MediaStyle.html#android.app.Notification.MediaStyle.ctor_changed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe">Notification.MediaStyle
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/constructors_index_removals.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/constructors_index_removals.html
new file mode 100644
index 0000000..54beb0e
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/constructors_index_removals.html
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Constructor Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Constructors" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="constructors_index_all.html" class="staysblack">All Constructors</a>
+  <br>
+<b>Removals</b>
+  <br>
+<A HREF="constructors_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="constructors_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.Display.HdrCapabilities.html#android.view.Display.HdrCapabilities.ctor_removed(int[], float, float, float)" class="hiddenlink" target="rightframe"><strike>Display.HdrCapabilities</strike>
+(<code>int[], float, float, float</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.ctor_removed(android.util.LocaleList)" class="hiddenlink" target="rightframe"><strike>LocaleSpan</strike>
+(<code>LocaleList</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.Notification.DecoratedCustomViewStyle.html#android.app.Notification.DecoratedCustomViewStyle.ctor_removed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe"><strike>Notification.DecoratedCustomViewStyle</strike>
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.app.Notification.DecoratedMediaCustomViewStyle.html#android.app.Notification.DecoratedMediaCustomViewStyle.ctor_removed(android.app.Notification.Builder)" class="hiddenlink" target="rightframe"><strike>Notification.DecoratedMediaCustomViewStyle</strike>
+(<code>Builder</code>)</A></nobr>&nbsp;constructor<br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/fields_index_additions.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/fields_index_additions.html
new file mode 100644
index 0000000..0d8f948
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/fields_index_additions.html
@@ -0,0 +1,290 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Field Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Fields" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="fields_index_all.html" class="staysblack">All Fields</a>
+  <br>
+<A HREF="fields_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="fields_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_WEBVIEW_SETTINGS" class="hiddenlink" target="rightframe">ACTION_WEBVIEW_SETTINGS</A>
+</nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.CONTACT_METADATA_SYNC_ENABLED" class="hiddenlink" target="rightframe">CONTACT_METADATA_SYNC_ENABLED</A>
+</nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>ERROR_DEAD_OBJECT</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioRecord.html#android.media.AudioRecord.ERROR_DEAD_OBJECT" class="hiddenlink" target="rightframe">android.media.AudioRecord</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioTrack.html#android.media.AudioTrack.ERROR_DEAD_OBJECT" class="hiddenlink" target="rightframe">android.media.AudioTrack</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_CHRONOMETER_COUNT_DOWN" class="hiddenlink" target="rightframe">EXTRA_CHRONOMETER_COUNT_DOWN</A>
+</nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_DEFAULT" class="hiddenlink" target="rightframe">IMPORTANCE_DEFAULT</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_HIGH" class="hiddenlink" target="rightframe">IMPORTANCE_HIGH</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_LOW" class="hiddenlink" target="rightframe">IMPORTANCE_LOW</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_MAX" class="hiddenlink" target="rightframe">IMPORTANCE_MAX</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_MIN" class="hiddenlink" target="rightframe">IMPORTANCE_MIN</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_NONE" class="hiddenlink" target="rightframe">IMPORTANCE_NONE</A>
+</nobr><br>
+<nobr><A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_UNSPECIFIED" class="hiddenlink" target="rightframe">IMPORTANCE_UNSPECIFIED</A>
+</nobr><br>
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_REMOTE_INPUT" class="hiddenlink" target="rightframe">KEYGUARD_DISABLE_REMOTE_INPUT</A>
+</nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.ActivityInfo.WindowLayout.html#android.content.pm.ActivityInfo.WindowLayout.minHeight" class="hiddenlink" target="rightframe">minHeight</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ActivityInfo.WindowLayout.html#android.content.pm.ActivityInfo.WindowLayout.minWidth" class="hiddenlink" target="rightframe">minWidth</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG2LevelHP" class="hiddenlink" target="rightframe">MPEG2LevelHP</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level3b" class="hiddenlink" target="rightframe">MPEG4Level3b</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level6" class="hiddenlink" target="rightframe">MPEG4Level6</A>
+</nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.networkSecurityConfig" class="hiddenlink" target="rightframe">networkSecurityConfig</A>
+</nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.pointerIcon" class="hiddenlink" target="rightframe">pointerIcon</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.Call.Details.html#android.telecom.Call.Details.PROPERTY_ENTERPRISE_CALL" class="hiddenlink" target="rightframe">PROPERTY_ENTERPRISE_CALL</A>
+</nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE" class="hiddenlink" target="rightframe">RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE</A>
+</nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.TAG_NONE" class="hiddenlink" target="rightframe">TAG_NONE</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Material_Widget_Button_Borderless_Colored" class="hiddenlink" target="rightframe">TextAppearance_Material_Widget_Button_Borderless_Colored</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Material_Widget_Button_Colored" class="hiddenlink" target="rightframe">TextAppearance_Material_Widget_Button_Colored</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ALIAS" class="hiddenlink" target="rightframe">TYPE_ALIAS</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ALL_SCROLL" class="hiddenlink" target="rightframe">TYPE_ALL_SCROLL</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ARROW" class="hiddenlink" target="rightframe">TYPE_ARROW</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_CELL" class="hiddenlink" target="rightframe">TYPE_CELL</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_CONTEXT_MENU" class="hiddenlink" target="rightframe">TYPE_CONTEXT_MENU</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_COPY" class="hiddenlink" target="rightframe">TYPE_COPY</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_CROSSHAIR" class="hiddenlink" target="rightframe">TYPE_CROSSHAIR</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_DEFAULT" class="hiddenlink" target="rightframe">TYPE_DEFAULT</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_GRAB" class="hiddenlink" target="rightframe">TYPE_GRAB</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_GRABBING" class="hiddenlink" target="rightframe">TYPE_GRABBING</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_HAND" class="hiddenlink" target="rightframe">TYPE_HAND</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_HELP" class="hiddenlink" target="rightframe">TYPE_HELP</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_HORIZONTAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe">TYPE_HORIZONTAL_DOUBLE_ARROW</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_NO_DROP" class="hiddenlink" target="rightframe">TYPE_NO_DROP</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_NULL" class="hiddenlink" target="rightframe">TYPE_NULL</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_TEXT" class="hiddenlink" target="rightframe">TYPE_TEXT</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe">TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe">TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_VERTICAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe">TYPE_VERTICAL_DOUBLE_ARROW</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_VERTICAL_TEXT" class="hiddenlink" target="rightframe">TYPE_VERTICAL_TEXT</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_WAIT" class="hiddenlink" target="rightframe">TYPE_WAIT</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ZOOM_IN" class="hiddenlink" target="rightframe">TYPE_ZOOM_IN</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ZOOM_OUT" class="hiddenlink" target="rightframe">TYPE_ZOOM_OUT</A>
+</nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/fields_index_all.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/fields_index_all.html
new file mode 100644
index 0000000..7370def
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/fields_index_all.html
@@ -0,0 +1,839 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Field Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Fields" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Fields</b>
+  <br>
+<A HREF="fields_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="fields_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="fields_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.VoicemailContract.html#android.provider.VoicemailContract.ACTION_SYNC_VOICEMAIL" class="hiddenlink" target="rightframe">ACTION_SYNC_VOICEMAIL</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_WEBVIEW_SETTINGS" class="hiddenlink" target="rightframe">ACTION_WEBVIEW_SETTINGS</A>
+</nobr><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.backupInForeground" class="hiddenlink" target="rightframe">backupInForeground</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.bitmap" class="hiddenlink" target="rightframe">bitmap</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.buttonGravity" class="hiddenlink" target="rightframe">buttonGravity</A>
+</nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.canControlMagnification" class="hiddenlink" target="rightframe">canControlMagnification</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.canPerformGestures" class="hiddenlink" target="rightframe">canPerformGestures</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.canRecord" class="hiddenlink" target="rightframe">canRecord</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.collapseIcon" class="hiddenlink" target="rightframe">collapseIcon</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.CONTACT_METADATA_SYNC" class="hiddenlink" target="rightframe"><strike>CONTACT_METADATA_SYNC</strike></A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.CONTACT_METADATA_SYNC_ENABLED" class="hiddenlink" target="rightframe">CONTACT_METADATA_SYNC_ENABLED</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentInsetEndWithActions" class="hiddenlink" target="rightframe">contentInsetEndWithActions</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentInsetStartWithNavigation" class="hiddenlink" target="rightframe">contentInsetStartWithNavigation</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.contextPopupMenuStyle" class="hiddenlink" target="rightframe">contextPopupMenuStyle</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.countDown" class="hiddenlink" target="rightframe">countDown</A>
+</nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.defaultToDeviceProtectedStorage" class="hiddenlink" target="rightframe">defaultToDeviceProtectedStorage</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.directBootAware" class="hiddenlink" target="rightframe">directBootAware</A>
+</nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.enableVrMode" class="hiddenlink" target="rightframe">enableVrMode</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.endX" class="hiddenlink" target="rightframe">endX</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.endY" class="hiddenlink" target="rightframe">endY</A>
+</nobr><br>
+<i>ERROR_DEAD_OBJECT</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioRecord.html#android.media.AudioRecord.ERROR_DEAD_OBJECT" class="hiddenlink" target="rightframe">android.media.AudioRecord</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.media.AudioTrack.html#android.media.AudioTrack.ERROR_DEAD_OBJECT" class="hiddenlink" target="rightframe">android.media.AudioTrack</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.externalService" class="hiddenlink" target="rightframe">externalService</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_CHRONOMETER_COUNT_DOWN" class="hiddenlink" target="rightframe">EXTRA_CHRONOMETER_COUNT_DOWN</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_CHRONOMETER_COUNTS_DOWN" class="hiddenlink" target="rightframe"><strike>EXTRA_CHRONOMETER_COUNTS_DOWN</strike></A>
+</nobr><br>
+<nobr><A HREF="android.service.notification.ConditionProviderService.html#android.service.notification.ConditionProviderService.EXTRA_RULE_ID" class="hiddenlink" target="rightframe">EXTRA_RULE_ID</A>
+</nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.fillType" class="hiddenlink" target="rightframe">fillType</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.forceHasOverlappingRendering" class="hiddenlink" target="rightframe">forceHasOverlappingRendering</A>
+</nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.inputmethod.EditorInfo.html#android.view.inputmethod.EditorInfo.hintLocales" class="hiddenlink" target="rightframe">hintLocales</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.hotSpotX" class="hiddenlink" target="rightframe">hotSpotX</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.hotSpotY" class="hiddenlink" target="rightframe">hotSpotY</A>
+</nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>IMPORTANCE_DEFAULT</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_DEFAULT" class="hiddenlink" target="rightframe">android.app.NotificationManager</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_DEFAULT" class="hiddenlink" target="rightframe"><strike>android.service.notification.NotificationListenerService.Ranking</strike></A>
+</nobr><br>
+<i>IMPORTANCE_HIGH</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_HIGH" class="hiddenlink" target="rightframe">android.app.NotificationManager</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_HIGH" class="hiddenlink" target="rightframe"><strike>android.service.notification.NotificationListenerService.Ranking</strike></A>
+</nobr><br>
+<i>IMPORTANCE_LOW</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_LOW" class="hiddenlink" target="rightframe">android.app.NotificationManager</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_LOW" class="hiddenlink" target="rightframe"><strike>android.service.notification.NotificationListenerService.Ranking</strike></A>
+</nobr><br>
+<i>IMPORTANCE_MAX</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_MAX" class="hiddenlink" target="rightframe">android.app.NotificationManager</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_MAX" class="hiddenlink" target="rightframe"><strike>android.service.notification.NotificationListenerService.Ranking</strike></A>
+</nobr><br>
+<i>IMPORTANCE_MIN</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_MIN" class="hiddenlink" target="rightframe">android.app.NotificationManager</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_MIN" class="hiddenlink" target="rightframe"><strike>android.service.notification.NotificationListenerService.Ranking</strike></A>
+</nobr><br>
+<i>IMPORTANCE_NONE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_NONE" class="hiddenlink" target="rightframe">android.app.NotificationManager</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_NONE" class="hiddenlink" target="rightframe"><strike>android.service.notification.NotificationListenerService.Ranking</strike></A>
+</nobr><br>
+<i>IMPORTANCE_UNSPECIFIED</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.app.NotificationManager.html#android.app.NotificationManager.IMPORTANCE_UNSPECIFIED" class="hiddenlink" target="rightframe">android.app.NotificationManager</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_UNSPECIFIED" class="hiddenlink" target="rightframe"><strike>android.service.notification.NotificationListenerService.Ranking</strike></A>
+</nobr><br>
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL" class="hiddenlink" target="rightframe">KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_VVM_PREFETCH_BOOL" class="hiddenlink" target="rightframe">KEY_VVM_PREFETCH_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_REMOTE_INPUT" class="hiddenlink" target="rightframe">KEYGUARD_DISABLE_REMOTE_INPUT</A>
+</nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.languageTag" class="hiddenlink" target="rightframe">languageTag</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.level" class="hiddenlink" target="rightframe">level</A>
+</nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.maxButtonHeight" class="hiddenlink" target="rightframe">maxButtonHeight</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ActivityInfo.WindowLayout.html#android.content.pm.ActivityInfo.WindowLayout.minHeight" class="hiddenlink" target="rightframe">minHeight</A>
+</nobr><br>
+<i>minimalHeight</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.minimalHeight" class="hiddenlink" target="rightframe"><strike>android.R.attr</strike></A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ActivityInfo.WindowLayout.html#android.content.pm.ActivityInfo.WindowLayout.minimalHeight" class="hiddenlink" target="rightframe"><strike>android.content.pm.ActivityInfo.WindowLayout</strike></A>
+</nobr><br>
+<i>minimalWidth</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.minimalWidth" class="hiddenlink" target="rightframe"><strike>android.R.attr</strike></A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ActivityInfo.WindowLayout.html#android.content.pm.ActivityInfo.WindowLayout.minimalWidth" class="hiddenlink" target="rightframe"><strike>android.content.pm.ActivityInfo.WindowLayout</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ActivityInfo.WindowLayout.html#android.content.pm.ActivityInfo.WindowLayout.minWidth" class="hiddenlink" target="rightframe">minWidth</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG2LevelHP" class="hiddenlink" target="rightframe">MPEG2LevelHP</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level3b" class="hiddenlink" target="rightframe">MPEG4Level3b</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html#android.media.MediaCodecInfo.CodecProfileLevel.MPEG4Level6" class="hiddenlink" target="rightframe">MPEG4Level6</A>
+</nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.N" class="hiddenlink" target="rightframe">N</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.networkSecurityConfig" class="hiddenlink" target="rightframe">networkSecurityConfig</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.nfcAntennaPositionDrawable" class="hiddenlink" target="rightframe"><strike>nfcAntennaPositionDrawable</strike></A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.numberPickerStyle" class="hiddenlink" target="rightframe">numberPickerStyle</A>
+</nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.offset" class="hiddenlink" target="rightframe">offset</A>
+</nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.pointerIcon" class="hiddenlink" target="rightframe">pointerIcon</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.pointerShape" class="hiddenlink" target="rightframe"><strike>pointerShape</strike></A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.popupEnterTransition" class="hiddenlink" target="rightframe">popupEnterTransition</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.popupExitTransition" class="hiddenlink" target="rightframe">popupExitTransition</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.preferenceFragmentStyle" class="hiddenlink" target="rightframe">preferenceFragmentStyle</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.Call.Details.html#android.telecom.Call.Details.PROPERTY_ENTERPRISE_CALL" class="hiddenlink" target="rightframe">PROPERTY_ENTERPRISE_CALL</A>
+</nobr><br>
+<nobr><A HREF="android.telecom.Call.Details.html#android.telecom.Call.Details.PROPERTY_WORK_CALL" class="hiddenlink" target="rightframe"><strike>PROPERTY_WORK_CALL</strike></A>
+</nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_ENCRYPTED_STORAGE_UNAVAILABLE" class="hiddenlink" target="rightframe"><strike>RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_ENCRYPTED_STORAGE_UNAVAILABLE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE" class="hiddenlink" target="rightframe">RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.resizeableActivity" class="hiddenlink" target="rightframe">resizeableActivity</A>
+</nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.Context.html#android.content.Context.SHORTCUT_SERVICE" class="hiddenlink" target="rightframe"><strike>SHORTCUT_SERVICE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.startX" class="hiddenlink" target="rightframe">startX</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.startY" class="hiddenlink" target="rightframe">startY</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ALIAS" class="hiddenlink" target="rightframe"><strike>STYLE_ALIAS</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ALL_SCROLL" class="hiddenlink" target="rightframe"><strike>STYLE_ALL_SCROLL</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_ARROW</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_CELL" class="hiddenlink" target="rightframe"><strike>STYLE_CELL</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_CONTEXT_MENU" class="hiddenlink" target="rightframe"><strike>STYLE_CONTEXT_MENU</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_COPY" class="hiddenlink" target="rightframe"><strike>STYLE_COPY</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_CROSSHAIR" class="hiddenlink" target="rightframe"><strike>STYLE_CROSSHAIR</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_DEFAULT" class="hiddenlink" target="rightframe"><strike>STYLE_DEFAULT</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_GRAB" class="hiddenlink" target="rightframe"><strike>STYLE_GRAB</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_GRABBING" class="hiddenlink" target="rightframe"><strike>STYLE_GRABBING</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_HAND" class="hiddenlink" target="rightframe"><strike>STYLE_HAND</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_HELP" class="hiddenlink" target="rightframe"><strike>STYLE_HELP</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_HORIZONTAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_HORIZONTAL_DOUBLE_ARROW</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_NO_DROP" class="hiddenlink" target="rightframe"><strike>STYLE_NO_DROP</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_NULL" class="hiddenlink" target="rightframe"><strike>STYLE_NULL</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_TEXT" class="hiddenlink" target="rightframe"><strike>STYLE_TEXT</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_VERTICAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_VERTICAL_DOUBLE_ARROW</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_VERTICAL_TEXT" class="hiddenlink" target="rightframe"><strike>STYLE_VERTICAL_TEXT</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_WAIT" class="hiddenlink" target="rightframe"><strike>STYLE_WAIT</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ZOOM_IN" class="hiddenlink" target="rightframe"><strike>STYLE_ZOOM_IN</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ZOOM_OUT" class="hiddenlink" target="rightframe"><strike>STYLE_ZOOM_OUT</strike></A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.supportsLocalInteraction" class="hiddenlink" target="rightframe">supportsLocalInteraction</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.supportsPictureInPicture" class="hiddenlink" target="rightframe">supportsPictureInPicture</A>
+</nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.TAG_ALL" class="hiddenlink" target="rightframe"><strike>TAG_ALL</strike></A>
+</nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.TAG_ANY" class="hiddenlink" target="rightframe"><strike>TAG_ANY</strike></A>
+</nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.TAG_NONE" class="hiddenlink" target="rightframe">TAG_NONE</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Material_Widget_Button_Borderless_Colored" class="hiddenlink" target="rightframe">TextAppearance_Material_Widget_Button_Borderless_Colored</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Material_Widget_Button_Colored" class="hiddenlink" target="rightframe">TextAppearance_Material_Widget_Button_Colored</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAppearancePopupMenuHeader" class="hiddenlink" target="rightframe">textAppearancePopupMenuHeader</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMark" class="hiddenlink" target="rightframe">tickMark</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMarkTint" class="hiddenlink" target="rightframe">tickMarkTint</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMarkTintMode" class="hiddenlink" target="rightframe">tickMarkTintMode</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMargin" class="hiddenlink" target="rightframe">titleMargin</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginBottom" class="hiddenlink" target="rightframe">titleMarginBottom</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginEnd" class="hiddenlink" target="rightframe">titleMarginEnd</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginStart" class="hiddenlink" target="rightframe">titleMarginStart</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginTop" class="hiddenlink" target="rightframe">titleMarginTop</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tunerCount" class="hiddenlink" target="rightframe">tunerCount</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ALIAS" class="hiddenlink" target="rightframe">TYPE_ALIAS</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ALL_SCROLL" class="hiddenlink" target="rightframe">TYPE_ALL_SCROLL</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ARROW" class="hiddenlink" target="rightframe">TYPE_ARROW</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_CELL" class="hiddenlink" target="rightframe">TYPE_CELL</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_CONTEXT_MENU" class="hiddenlink" target="rightframe">TYPE_CONTEXT_MENU</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_COPY" class="hiddenlink" target="rightframe">TYPE_COPY</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_CROSSHAIR" class="hiddenlink" target="rightframe">TYPE_CROSSHAIR</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_DEFAULT" class="hiddenlink" target="rightframe">TYPE_DEFAULT</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_GRAB" class="hiddenlink" target="rightframe">TYPE_GRAB</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_GRABBING" class="hiddenlink" target="rightframe">TYPE_GRABBING</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_HAND" class="hiddenlink" target="rightframe">TYPE_HAND</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_HELP" class="hiddenlink" target="rightframe">TYPE_HELP</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_HORIZONTAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe">TYPE_HORIZONTAL_DOUBLE_ARROW</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_NO_DROP" class="hiddenlink" target="rightframe">TYPE_NO_DROP</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_NULL" class="hiddenlink" target="rightframe">TYPE_NULL</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_TEXT" class="hiddenlink" target="rightframe">TYPE_TEXT</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe">TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe">TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_VERTICAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe">TYPE_VERTICAL_DOUBLE_ARROW</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_VERTICAL_TEXT" class="hiddenlink" target="rightframe">TYPE_VERTICAL_TEXT</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_WAIT" class="hiddenlink" target="rightframe">TYPE_WAIT</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ZOOM_IN" class="hiddenlink" target="rightframe">TYPE_ZOOM_IN</A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.TYPE_ZOOM_OUT" class="hiddenlink" target="rightframe">TYPE_ZOOM_OUT</A>
+</nobr><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.use32bitAbi" class="hiddenlink" target="rightframe">use32bitAbi</A>
+</nobr><br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.version" class="hiddenlink" target="rightframe">version</A>
+</nobr><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.windowBackgroundFallback" class="hiddenlink" target="rightframe">windowBackgroundFallback</A>
+</nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/fields_index_changes.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/fields_index_changes.html
new file mode 100644
index 0000000..56adb5a
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/fields_index_changes.html
@@ -0,0 +1,585 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Field Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Fields" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="fields_index_all.html" class="staysblack">All Fields</a>
+  <br>
+<A HREF="fields_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="fields_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.VoicemailContract.html#android.provider.VoicemailContract.ACTION_SYNC_VOICEMAIL" class="hiddenlink" target="rightframe">ACTION_SYNC_VOICEMAIL</A>
+</nobr><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.backupInForeground" class="hiddenlink" target="rightframe">backupInForeground</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.bitmap" class="hiddenlink" target="rightframe">bitmap</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.buttonGravity" class="hiddenlink" target="rightframe">buttonGravity</A>
+</nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.canControlMagnification" class="hiddenlink" target="rightframe">canControlMagnification</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.canPerformGestures" class="hiddenlink" target="rightframe">canPerformGestures</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.canRecord" class="hiddenlink" target="rightframe">canRecord</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.collapseIcon" class="hiddenlink" target="rightframe">collapseIcon</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentInsetEndWithActions" class="hiddenlink" target="rightframe">contentInsetEndWithActions</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentInsetStartWithNavigation" class="hiddenlink" target="rightframe">contentInsetStartWithNavigation</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.contextPopupMenuStyle" class="hiddenlink" target="rightframe">contextPopupMenuStyle</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.countDown" class="hiddenlink" target="rightframe">countDown</A>
+</nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.defaultToDeviceProtectedStorage" class="hiddenlink" target="rightframe">defaultToDeviceProtectedStorage</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.directBootAware" class="hiddenlink" target="rightframe">directBootAware</A>
+</nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.enableVrMode" class="hiddenlink" target="rightframe">enableVrMode</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.endX" class="hiddenlink" target="rightframe">endX</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.endY" class="hiddenlink" target="rightframe">endY</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.externalService" class="hiddenlink" target="rightframe">externalService</A>
+</nobr><br>
+<nobr><A HREF="android.service.notification.ConditionProviderService.html#android.service.notification.ConditionProviderService.EXTRA_RULE_ID" class="hiddenlink" target="rightframe">EXTRA_RULE_ID</A>
+</nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.fillType" class="hiddenlink" target="rightframe">fillType</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.forceHasOverlappingRendering" class="hiddenlink" target="rightframe">forceHasOverlappingRendering</A>
+</nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.inputmethod.EditorInfo.html#android.view.inputmethod.EditorInfo.hintLocales" class="hiddenlink" target="rightframe">hintLocales</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.hotSpotX" class="hiddenlink" target="rightframe">hotSpotX</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.hotSpotY" class="hiddenlink" target="rightframe">hotSpotY</A>
+</nobr><br>
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL" class="hiddenlink" target="rightframe">KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.KEY_VVM_PREFETCH_BOOL" class="hiddenlink" target="rightframe">KEY_VVM_PREFETCH_BOOL</A>
+</nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.languageTag" class="hiddenlink" target="rightframe">languageTag</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.level" class="hiddenlink" target="rightframe">level</A>
+</nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.maxButtonHeight" class="hiddenlink" target="rightframe">maxButtonHeight</A>
+</nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.N" class="hiddenlink" target="rightframe">N</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.numberPickerStyle" class="hiddenlink" target="rightframe">numberPickerStyle</A>
+</nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.offset" class="hiddenlink" target="rightframe">offset</A>
+</nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.popupEnterTransition" class="hiddenlink" target="rightframe">popupEnterTransition</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.popupExitTransition" class="hiddenlink" target="rightframe">popupExitTransition</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.preferenceFragmentStyle" class="hiddenlink" target="rightframe">preferenceFragmentStyle</A>
+</nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.resizeableActivity" class="hiddenlink" target="rightframe">resizeableActivity</A>
+</nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.startX" class="hiddenlink" target="rightframe">startX</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.startY" class="hiddenlink" target="rightframe">startY</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.supportsLocalInteraction" class="hiddenlink" target="rightframe">supportsLocalInteraction</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.supportsPictureInPicture" class="hiddenlink" target="rightframe">supportsPictureInPicture</A>
+</nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAppearancePopupMenuHeader" class="hiddenlink" target="rightframe">textAppearancePopupMenuHeader</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMark" class="hiddenlink" target="rightframe">tickMark</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMarkTint" class="hiddenlink" target="rightframe">tickMarkTint</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tickMarkTintMode" class="hiddenlink" target="rightframe">tickMarkTintMode</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMargin" class="hiddenlink" target="rightframe">titleMargin</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginBottom" class="hiddenlink" target="rightframe">titleMarginBottom</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginEnd" class="hiddenlink" target="rightframe">titleMarginEnd</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginStart" class="hiddenlink" target="rightframe">titleMarginStart</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.titleMarginTop" class="hiddenlink" target="rightframe">titleMarginTop</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tunerCount" class="hiddenlink" target="rightframe">tunerCount</A>
+</nobr><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.use32bitAbi" class="hiddenlink" target="rightframe">use32bitAbi</A>
+</nobr><br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.version" class="hiddenlink" target="rightframe">version</A>
+</nobr><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.windowBackgroundFallback" class="hiddenlink" target="rightframe">windowBackgroundFallback</A>
+</nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/fields_index_removals.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/fields_index_removals.html
new file mode 100644
index 0000000..f5dbd33
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/fields_index_removals.html
@@ -0,0 +1,261 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Field Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Fields" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="fields_index_all.html" class="staysblack">All Fields</a>
+  <br>
+<b>Removals</b>
+  <br>
+<A HREF="fields_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="fields_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.Settings.Global.html#android.provider.Settings.Global.CONTACT_METADATA_SYNC" class="hiddenlink" target="rightframe"><strike>CONTACT_METADATA_SYNC</strike></A>
+</nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.Notification.html#android.app.Notification.EXTRA_CHRONOMETER_COUNTS_DOWN" class="hiddenlink" target="rightframe"><strike>EXTRA_CHRONOMETER_COUNTS_DOWN</strike></A>
+</nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_DEFAULT" class="hiddenlink" target="rightframe"><strike>IMPORTANCE_DEFAULT</strike></A>
+</nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_HIGH" class="hiddenlink" target="rightframe"><strike>IMPORTANCE_HIGH</strike></A>
+</nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_LOW" class="hiddenlink" target="rightframe"><strike>IMPORTANCE_LOW</strike></A>
+</nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_MAX" class="hiddenlink" target="rightframe"><strike>IMPORTANCE_MAX</strike></A>
+</nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_MIN" class="hiddenlink" target="rightframe"><strike>IMPORTANCE_MIN</strike></A>
+</nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_NONE" class="hiddenlink" target="rightframe"><strike>IMPORTANCE_NONE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html#android.service.notification.NotificationListenerService.Ranking.IMPORTANCE_UNSPECIFIED" class="hiddenlink" target="rightframe"><strike>IMPORTANCE_UNSPECIFIED</strike></A>
+</nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>minimalHeight</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.minimalHeight" class="hiddenlink" target="rightframe"><strike>android.R.attr</strike></A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ActivityInfo.WindowLayout.html#android.content.pm.ActivityInfo.WindowLayout.minimalHeight" class="hiddenlink" target="rightframe"><strike>android.content.pm.ActivityInfo.WindowLayout</strike></A>
+</nobr><br>
+<i>minimalWidth</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.minimalWidth" class="hiddenlink" target="rightframe"><strike>android.R.attr</strike></A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ActivityInfo.WindowLayout.html#android.content.pm.ActivityInfo.WindowLayout.minimalWidth" class="hiddenlink" target="rightframe"><strike>android.content.pm.ActivityInfo.WindowLayout</strike></A>
+</nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.nfcAntennaPositionDrawable" class="hiddenlink" target="rightframe"><strike>nfcAntennaPositionDrawable</strike></A>
+</nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.pointerShape" class="hiddenlink" target="rightframe"><strike>pointerShape</strike></A>
+</nobr><br>
+<nobr><A HREF="android.telecom.Call.Details.html#android.telecom.Call.Details.PROPERTY_WORK_CALL" class="hiddenlink" target="rightframe"><strike>PROPERTY_WORK_CALL</strike></A>
+</nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.service.carrier.CarrierMessagingService.html#android.service.carrier.CarrierMessagingService.RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_ENCRYPTED_STORAGE_UNAVAILABLE" class="hiddenlink" target="rightframe"><strike>RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_ENCRYPTED_STORAGE_UNAVAILABLE</strike></A>
+</nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.Context.html#android.content.Context.SHORTCUT_SERVICE" class="hiddenlink" target="rightframe"><strike>SHORTCUT_SERVICE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ALIAS" class="hiddenlink" target="rightframe"><strike>STYLE_ALIAS</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ALL_SCROLL" class="hiddenlink" target="rightframe"><strike>STYLE_ALL_SCROLL</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_ARROW</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_CELL" class="hiddenlink" target="rightframe"><strike>STYLE_CELL</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_CONTEXT_MENU" class="hiddenlink" target="rightframe"><strike>STYLE_CONTEXT_MENU</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_COPY" class="hiddenlink" target="rightframe"><strike>STYLE_COPY</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_CROSSHAIR" class="hiddenlink" target="rightframe"><strike>STYLE_CROSSHAIR</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_DEFAULT" class="hiddenlink" target="rightframe"><strike>STYLE_DEFAULT</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_GRAB" class="hiddenlink" target="rightframe"><strike>STYLE_GRAB</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_GRABBING" class="hiddenlink" target="rightframe"><strike>STYLE_GRABBING</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_HAND" class="hiddenlink" target="rightframe"><strike>STYLE_HAND</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_HELP" class="hiddenlink" target="rightframe"><strike>STYLE_HELP</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_HORIZONTAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_HORIZONTAL_DOUBLE_ARROW</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_NO_DROP" class="hiddenlink" target="rightframe"><strike>STYLE_NO_DROP</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_NULL" class="hiddenlink" target="rightframe"><strike>STYLE_NULL</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_TEXT" class="hiddenlink" target="rightframe"><strike>STYLE_TEXT</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_VERTICAL_DOUBLE_ARROW" class="hiddenlink" target="rightframe"><strike>STYLE_VERTICAL_DOUBLE_ARROW</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_VERTICAL_TEXT" class="hiddenlink" target="rightframe"><strike>STYLE_VERTICAL_TEXT</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_WAIT" class="hiddenlink" target="rightframe"><strike>STYLE_WAIT</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ZOOM_IN" class="hiddenlink" target="rightframe"><strike>STYLE_ZOOM_IN</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.STYLE_ZOOM_OUT" class="hiddenlink" target="rightframe"><strike>STYLE_ZOOM_OUT</strike></A>
+</nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.TAG_ALL" class="hiddenlink" target="rightframe"><strike>TAG_ALL</strike></A>
+</nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStats.Bucket.html#android.app.usage.NetworkStats.Bucket.TAG_ANY" class="hiddenlink" target="rightframe"><strike>TAG_ANY</strike></A>
+</nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/java.lang.AbstractStringBuilder.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/java.lang.AbstractStringBuilder.html
new file mode 100644
index 0000000..221fcde
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/java.lang.AbstractStringBuilder.html
@@ -0,0 +1,344 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.AbstractStringBuilder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/AbstractStringBuilder.html" target="_top"><font size="+2"><code>AbstractStringBuilder</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.lang.Appendable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.append_removed(boolean)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;append(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.append_removed(char)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;append(<code>char</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.append_removed(char[])"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;append(<code>char[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.append_removed(char[], int, int)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;append(<code>char[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.append_removed(double)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;append(<code>double</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.append_removed(float)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;append(<code>float</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.append_removed(int)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;append(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.append_removed(java.lang.CharSequence)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;append(<code>CharSequence</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.append_removed(java.lang.CharSequence, int, int)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;append(<code>CharSequence,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.append_removed(java.lang.Object)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;append(<code>Object</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.append_removed(java.lang.String)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;append(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.append_removed(java.lang.StringBuffer)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;append(<code>StringBuffer</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.append_removed(long)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;append(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.appendCodePoint_removed(int)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;appendCodePoint(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.delete_removed(int, int)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;delete(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.deleteCharAt_removed(int)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;deleteCharAt(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.insert_removed(int, boolean)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;insert(<code>int,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.insert_removed(int, char)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;insert(<code>int,</nobr> char<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.insert_removed(int, char[])"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;insert(<code>int,</nobr> char[]<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.insert_removed(int, char[], int, int)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;insert(<code>int,</nobr> char[]<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.insert_removed(int, double)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;insert(<code>int,</nobr> double<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.insert_removed(int, float)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;insert(<code>int,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.insert_removed(int, int)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;insert(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.insert_removed(int, java.lang.CharSequence)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;insert(<code>int,</nobr> CharSequence<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.insert_removed(int, java.lang.CharSequence, int, int)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;insert(<code>int,</nobr> CharSequence<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.insert_removed(int, java.lang.Object)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;insert(<code>int,</nobr> Object<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.insert_removed(int, java.lang.String)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;insert(<code>int,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.insert_removed(int, long)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;insert(<code>int,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.replace_removed(int, int, java.lang.String)"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;replace(<code>int,</nobr> int<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.reverse_removed()"></A>
+  <nobr><code>AbstractStringBuilder</code>&nbsp;reverse()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.AbstractStringBuilder.toString_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/java/lang/Object.html#toString()" target="_top"><code>toString</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/Object.html#toString()" target="_top"><code>Object</code></a>. Changed from abstract to non-abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/java.lang.StringBuffer.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/java.lang.StringBuffer.html
new file mode 100644
index 0000000..f1f1e6f
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/java.lang.StringBuffer.html
@@ -0,0 +1,364 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.StringBuffer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/StringBuffer.html" target="_top"><font size="+2"><code>StringBuffer</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>java.lang.Appendable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.append_added(boolean)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#append(boolean)" target="_top"><code>append</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.append_added(char)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#append(char)" target="_top"><code>append</code></A>(<code>char</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.append_added(char[])"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#append(char[])" target="_top"><code>append</code></A>(<code>char[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.append_added(char[], int, int)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#append(char[], int, int)" target="_top"><code>append</code></A>(<code>char[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.append_added(double)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#append(double)" target="_top"><code>append</code></A>(<code>double</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.append_added(float)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#append(float)" target="_top"><code>append</code></A>(<code>float</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.append_added(int)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#append(int)" target="_top"><code>append</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.append_added(java.lang.CharSequence)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#append(java.lang.CharSequence)" target="_top"><code>append</code></A>(<code>CharSequence</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.append_added(java.lang.CharSequence, int, int)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#append(java.lang.CharSequence, int, int)" target="_top"><code>append</code></A>(<code>CharSequence,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.append_added(java.lang.Object)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#append(java.lang.Object)" target="_top"><code>append</code></A>(<code>Object</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.append_added(java.lang.String)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#append(java.lang.String)" target="_top"><code>append</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.append_added(java.lang.StringBuffer)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#append(java.lang.StringBuffer)" target="_top"><code>append</code></A>(<code>StringBuffer</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.append_added(long)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#append(long)" target="_top"><code>append</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.insert_added(int, boolean)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#insert(int, boolean)" target="_top"><code>insert</code></A>(<code>int,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.insert_added(int, char)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#insert(int, char)" target="_top"><code>insert</code></A>(<code>int,</nobr> char<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.insert_added(int, char[])"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#insert(int, char[])" target="_top"><code>insert</code></A>(<code>int,</nobr> char[]<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.insert_added(int, char[], int, int)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#insert(int, char[], int, int)" target="_top"><code>insert</code></A>(<code>int,</nobr> char[]<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.insert_added(int, double)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#insert(int, double)" target="_top"><code>insert</code></A>(<code>int,</nobr> double<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.insert_added(int, float)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#insert(int, float)" target="_top"><code>insert</code></A>(<code>int,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.insert_added(int, int)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#insert(int, int)" target="_top"><code>insert</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.insert_added(int, java.lang.CharSequence)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#insert(int, java.lang.CharSequence)" target="_top"><code>insert</code></A>(<code>int,</nobr> CharSequence<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.insert_added(int, java.lang.CharSequence, int, int)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#insert(int, java.lang.CharSequence, int, int)" target="_top"><code>insert</code></A>(<code>int,</nobr> CharSequence<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.insert_added(int, java.lang.Object)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#insert(int, java.lang.Object)" target="_top"><code>insert</code></A>(<code>int,</nobr> Object<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.insert_added(int, java.lang.String)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#insert(int, java.lang.String)" target="_top"><code>insert</code></A>(<code>int,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.insert_added(int, long)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#insert(int, long)" target="_top"><code>insert</code></A>(<code>int,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.appendCodePoint_changed(int)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#appendCodePoint(int)" target="_top"><code>appendCodePoint</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>AbstractStringBuilder</code> to <code>StringBuffer</code>.<br>
+ Method was inherited from <code>java.lang.AbstractStringBuilder</code>, but is now defined locally.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.delete_changed(int, int)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#delete(int, int)" target="_top"><code>delete</code></A>(<code>int,</nobr> int<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>AbstractStringBuilder</code> to <code>StringBuffer</code>.<br>
+ Method was inherited from <code>java.lang.AbstractStringBuilder</code>, but is now defined locally.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.deleteCharAt_changed(int)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#deleteCharAt(int)" target="_top"><code>deleteCharAt</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>AbstractStringBuilder</code> to <code>StringBuffer</code>.<br>
+ Method was inherited from <code>java.lang.AbstractStringBuilder</code>, but is now defined locally.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.replace_changed(int, int, java.lang.String)"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#replace(int, int, java.lang.String)" target="_top"><code>replace</code></A>(<code>int,</nobr> int<nobr>,</nobr> String<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>AbstractStringBuilder</code> to <code>StringBuffer</code>.<br>
+ Method was inherited from <code>java.lang.AbstractStringBuilder</code>, but is now defined locally.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.reverse_changed()"></A>
+  <nobr><code>StringBuffer</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuffer.html#reverse()" target="_top"><code>reverse</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>AbstractStringBuilder</code> to <code>StringBuffer</code>.<br>
+ Method was inherited from <code>java.lang.AbstractStringBuilder</code>, but is now defined locally.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuffer.toString_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/java/lang/Object.html#toString()" target="_top"><code>toString</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/Object.html#toString()" target="_top"><code>Object</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/java.lang.StringBuilder.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/java.lang.StringBuilder.html
new file mode 100644
index 0000000..b654cc8
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/java.lang.StringBuilder.html
@@ -0,0 +1,364 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.StringBuilder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.<A HREF="../../../../reference/java/lang/StringBuilder.html" target="_top"><font size="+2"><code>StringBuilder</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>java.lang.Appendable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.append_added(boolean)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#append(boolean)" target="_top"><code>append</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.append_added(char)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#append(char)" target="_top"><code>append</code></A>(<code>char</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.append_added(char[])"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#append(char[])" target="_top"><code>append</code></A>(<code>char[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.append_added(char[], int, int)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#append(char[], int, int)" target="_top"><code>append</code></A>(<code>char[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.append_added(double)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#append(double)" target="_top"><code>append</code></A>(<code>double</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.append_added(float)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#append(float)" target="_top"><code>append</code></A>(<code>float</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.append_added(int)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#append(int)" target="_top"><code>append</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.append_added(java.lang.CharSequence)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#append(java.lang.CharSequence)" target="_top"><code>append</code></A>(<code>CharSequence</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.append_added(java.lang.CharSequence, int, int)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#append(java.lang.CharSequence, int, int)" target="_top"><code>append</code></A>(<code>CharSequence,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.append_added(java.lang.Object)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#append(java.lang.Object)" target="_top"><code>append</code></A>(<code>Object</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.append_added(java.lang.String)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#append(java.lang.String)" target="_top"><code>append</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.append_added(java.lang.StringBuffer)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#append(java.lang.StringBuffer)" target="_top"><code>append</code></A>(<code>StringBuffer</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.append_added(long)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#append(long)" target="_top"><code>append</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.insert_added(int, boolean)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#insert(int, boolean)" target="_top"><code>insert</code></A>(<code>int,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.insert_added(int, char)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#insert(int, char)" target="_top"><code>insert</code></A>(<code>int,</nobr> char<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.insert_added(int, char[])"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#insert(int, char[])" target="_top"><code>insert</code></A>(<code>int,</nobr> char[]<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.insert_added(int, char[], int, int)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#insert(int, char[], int, int)" target="_top"><code>insert</code></A>(<code>int,</nobr> char[]<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.insert_added(int, double)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#insert(int, double)" target="_top"><code>insert</code></A>(<code>int,</nobr> double<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.insert_added(int, float)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#insert(int, float)" target="_top"><code>insert</code></A>(<code>int,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.insert_added(int, int)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#insert(int, int)" target="_top"><code>insert</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.insert_added(int, java.lang.CharSequence)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#insert(int, java.lang.CharSequence)" target="_top"><code>insert</code></A>(<code>int,</nobr> CharSequence<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.insert_added(int, java.lang.CharSequence, int, int)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#insert(int, java.lang.CharSequence, int, int)" target="_top"><code>insert</code></A>(<code>int,</nobr> CharSequence<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.insert_added(int, java.lang.Object)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#insert(int, java.lang.Object)" target="_top"><code>insert</code></A>(<code>int,</nobr> Object<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.insert_added(int, java.lang.String)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#insert(int, java.lang.String)" target="_top"><code>insert</code></A>(<code>int,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.insert_added(int, long)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#insert(int, long)" target="_top"><code>insert</code></A>(<code>int,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.appendCodePoint_changed(int)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#appendCodePoint(int)" target="_top"><code>appendCodePoint</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>AbstractStringBuilder</code> to <code>StringBuilder</code>.<br>
+ Method was inherited from <code>java.lang.AbstractStringBuilder</code>, but is now defined locally.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.delete_changed(int, int)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#delete(int, int)" target="_top"><code>delete</code></A>(<code>int,</nobr> int<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>AbstractStringBuilder</code> to <code>StringBuilder</code>.<br>
+ Method was inherited from <code>java.lang.AbstractStringBuilder</code>, but is now defined locally.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.deleteCharAt_changed(int)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#deleteCharAt(int)" target="_top"><code>deleteCharAt</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>AbstractStringBuilder</code> to <code>StringBuilder</code>.<br>
+ Method was inherited from <code>java.lang.AbstractStringBuilder</code>, but is now defined locally.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.replace_changed(int, int, java.lang.String)"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#replace(int, int, java.lang.String)" target="_top"><code>replace</code></A>(<code>int,</nobr> int<nobr>,</nobr> String<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>AbstractStringBuilder</code> to <code>StringBuilder</code>.<br>
+ Method was inherited from <code>java.lang.AbstractStringBuilder</code>, but is now defined locally.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.reverse_changed()"></A>
+  <nobr><code>StringBuilder</code>&nbsp;<A HREF="../../../../reference/java/lang/StringBuilder.html#reverse()" target="_top"><code>reverse</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>AbstractStringBuilder</code> to <code>StringBuilder</code>.<br>
+ Method was inherited from <code>java.lang.AbstractStringBuilder</code>, but is now defined locally.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.StringBuilder.toString_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/java/lang/Object.html#toString()" target="_top"><code>toString</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/Object.html#toString()" target="_top"><code>Object</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/java.lang.reflect.Constructor.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/java.lang.reflect.Constructor.html
new file mode 100644
index 0000000..df5016f
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/java.lang.reflect.Constructor.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.reflect.Constructor
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.lang.reflect.<A HREF="../../../../reference/java/lang/reflect/Constructor.html" target="_top"><font size="+2"><code>Constructor</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.reflect.Constructor.getDeclaredAnnotations_changed()"></A>
+  <nobr><code>Annotation[]</code>&nbsp;<A HREF="../../../../reference/java/lang/reflect/AccessibleObject.html#getDeclaredAnnotations()" target="_top"><code>getDeclaredAnnotations</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/reflect/AccessibleObject.html#getDeclaredAnnotations()" target="_top"><code>AccessibleObject</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/jdiff_help.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/jdiff_help.html
new file mode 100644
index 0000000..4bfdad3
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/jdiff_help.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+JDiff Help
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<TABLE summary="Navigation bar" BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+  <TABLE summary="Navigation bar" BORDER="0" CELLPADDING="0" CELLSPACING="3">
+    <TR ALIGN="center" VALIGN="top">
+      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../reference/index.html" target="_top"><FONT CLASS="NavBarFont1"><B><code>24</code></B></FONT></A>&nbsp;</TD>
+      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="changes-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> &nbsp;<FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+      <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> &nbsp;<FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="jdiff_statistics.html"><FONT CLASS="NavBarFont1"><B>Statistics</B></FONT></A>&nbsp;</TD>
+      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
+    </TR>
+  </TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><b>Generated by<br><a href="http://www.jdiff.org" class="staysblack" target="_top">JDiff</a></b></EM></TD>
+</TR>
+<TR>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell2"><FONT SIZE="-2"></FONT>
+</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../changes.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+  &nbsp;<A HREF="jdiff_help.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
+</TR>
+</TABLE>
+<HR>
+<!-- End of nav bar -->
+<center>
+<H1>JDiff Documentation</H1>
+</center>
+<BLOCKQUOTE>
+JDiff is a <a href="http://java.sun.com/j2se/javadoc/" target="_top">Javadoc</a> doclet which generates a report of the API differences between two versions of a product. It does not report changes in Javadoc comments, or changes in what a class or method does. 
+This help page describes the different parts of the output from JDiff.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+ See the reference page in the <a href="http://www.jdiff.org">source for JDiff</a> for information about how to generate a report like this one.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+The indexes shown in the top-left frame help show each type of change in more detail. The index "All Differences" contains all the differences between the APIs, in alphabetical order. 
+These indexes all use the same format:
+<ul>
+<li>Removed packages, classes, constructors, methods and fields are <strike>struck through</strike>.</li>
+<li>Added packages, classes, constructors, methods and fields appear in <b>bold</b>.</li>
+<li>Changed packages, classes, constructors, methods and fields appear in normal text.</li>
+</ul>
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+You can always tell when you are reading a JDiff page, rather than a Javadoc page, by the color of the index bar and the color of the background. 
+Links which take you to a Javadoc page are always in a <code>typewriter</code> font. 
+Just like Javadoc, all interface names are in <i>italic</i>, and class names are not italicized. Where there are multiple entries in an index with the same name, the heading for them is also in italics, but is not a link.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3><b><code>Javadoc</code></b></H3>
+This is a link to the <a href="../../../../reference/index.html" target="_top">top-level</a> Javadoc page for the new version of the product.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Overview</H3>
+The <a href="changes-summary.html">overview</a> is the top-level summary of what was removed, added and changed between versions.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Package</H3>
+This is a link to the package containing the current changed class or interface.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Class</H3>
+This is highlighted when you are looking at the changed class or interface.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Text Changes</H3>
+This is a link to the top-level index of all documentation changes for the current package or class. 
+If it is not present, then there are no documentation changes for the current package or class. 
+This link can be removed entirely by not using the <code>-docchanges</code> option.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Statistics</H3>
+This is a link to a page which shows statistics about the changes between the two APIs.
+This link can be removed entirely by not using the <code>-stats</code> option.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Help</H3>
+A link to this Help page for JDiff.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Prev/Next</H3>
+These links take you to the previous  and next changed package or class.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Frames/No Frames</H3>
+These links show and hide the HTML frames. All pages are available with or without frames.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H2>Complex Changes</H2>
+There are some complex changes which can occur between versions, for example, when two or more methods with the same name change simultaneously, or when a method or field is moved into or from a superclass. 
+In these cases, the change will be seen as a removal and an addition, rather than as a change. Unexpected removals or additions are often part of one of these type of changes. 
+</BLOCKQUOTE>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/jdiff_statistics.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/jdiff_statistics.html
new file mode 100644
index 0000000..fc1bfc5
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/jdiff_statistics.html
@@ -0,0 +1,647 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+API Change Statistics
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<body class="gc-documentation">
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;xborder-bottom:none;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="../changes.html" target="_top">Top of Report</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<h1>API&nbsp;Change&nbsp;Statistics</h1>
+<p>The overall difference between API Levels n-preview-3 and 24 is approximately <span style="color:222;font-weight:bold;">0.38%</span>.
+</p>
+<br>
+<a name="numbers"></a>
+<h2>Total of Differences, by Number and Type</h2>
+<p>
+The table below lists the numbers of program elements (packages, classes, constructors, methods, and fields) that were added, changed, or removed. The table includes only the highest-level program elements &mdash; that is, if a class with two methods was added, the number of methods added does not include those two methods, but the number of classes added does include that class.
+</p>
+<TABLE summary="Number of differences" WIDTH="100%">
+<TR>
+  <th>Type</th>
+  <TH ALIGN="center"><b>Additions</b></TH>
+  <TH ALIGN="center"><b>Changes</b></TH>
+  <TH ALIGN="center">Removals</TH>
+  <TH ALIGN="center"><b>Total</b></TH>
+</TR>
+<TR>
+  <TD>Packages</TD>
+  <TD ALIGN="right">0</TD>
+  <TD ALIGN="right">31</TD>
+  <TD ALIGN="right">0</TD>
+  <TD ALIGN="right">31</TD>
+</TR>
+<TR>
+  <TD>Classes and <i>Interfaces</i></TD>
+  <TD ALIGN="right">2</TD>
+  <TD ALIGN="right">66</TD>
+  <TD ALIGN="right">12</TD>
+  <TD ALIGN="right">80</TD>
+</TR>
+<TR>
+  <TD>Constructors</TD>
+  <TD ALIGN="right">1</TD>
+  <TD ALIGN="right">4</TD>
+  <TD ALIGN="right">4</TD>
+  <TD ALIGN="right">9</TD>
+</TR>
+<TR>
+  <TD>Methods</TD>
+  <TD ALIGN="right">70</TD>
+  <TD ALIGN="right">39</TD>
+  <TD ALIGN="right">104</TD>
+  <TD ALIGN="right">213</TD>
+</TR>
+<TR>
+  <TD>Fields</TD>
+  <TD ALIGN="right">48</TD>
+  <TD ALIGN="right">53</TD>
+  <TD ALIGN="right">43</TD>
+  <TD ALIGN="right">144</TD>
+</TR>
+<TR>
+  <TD style="background-color:#FAFAFA"><b>Total</b></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>121</strong></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>193</strong></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>163</strong></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>477</strong></TD>
+</TR>
+</TABLE>
+<br>
+<a name="packages"></a>
+<h2>Changed Packages, Sorted by Percentage Difference</h2>
+<TABLE summary="Packages sorted by percentage difference" WIDTH="100%">
+<TR>
+  <TH  WIDTH="10%">Percentage Difference*</TH>
+  <TH>Package</TH>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="pkg_android.app.usage.html">android.app.usage</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="pkg_android.nfc.cardemulation.html">android.nfc.cardemulation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="pkg_android.content.pm.html">android.content.pm</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="pkg_android.service.notification.html">android.service.notification</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="pkg_android.test.mock.html">android.test.mock</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="pkg_java.lang.html">java.lang</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.icu.text.html">android.icu.text</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.os.health.html">android.os.health</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.net.html">android.net</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.app.html">android.app</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.app.job.html">android.app.job</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.util.html">android.util</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.os.html">android.os</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.view.html">android.view</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.service.carrier.html">android.service.carrier</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.telephony.html">android.telephony</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.media.tv.html">android.media.tv</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.text.style.html">android.text.style</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.media.html">android.media</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_java.lang.reflect.html">java.lang.reflect</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.icu.util.html">android.icu.util</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.html">android</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.provider.html">android.provider</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.telecom.html">android.telecom</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.content.res.html">android.content.res</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.view.inputmethod.html">android.view.inputmethod</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.webkit.html">android.webkit</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.app.admin.html">android.app.admin</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.graphics.html">android.graphics</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.widget.html">android.widget</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.content.html">android.content</A></TD>
+</TR>
+</TABLE>
+<p style="font-size:10px">* See <a href="#calculation">Calculation of Change Percentages</a>, below.</p>
+<br>
+<a name="classes"></a>
+<h2>Changed Classes and <i>Interfaces</i>, Sorted by Percentage Difference</h2>
+<TABLE summary="Classes sorted by percentage difference" WIDTH="100%">
+<TR WIDTH="20%">
+  <TH WIDTH="10%">Percentage<br>Difference*</TH>
+  <TH><b>Class or <i>Interface</i></b></TH>
+</TR>
+<TR>
+  <TD ALIGN="center">86</TD>
+  <TD><A HREF="android.view.PointerIcon.html">
+android.view.PointerIcon</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">79</TD>
+  <TD><A HREF="java.lang.StringBuffer.html">
+java.lang.StringBuffer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">79</TD>
+  <TD><A HREF="java.lang.StringBuilder.html">
+java.lang.StringBuilder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">62</TD>
+  <TD><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html">
+android.nfc.cardemulation.NfcFCardEmulation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">45</TD>
+  <TD><A HREF="android.app.usage.NetworkStatsManager.html">
+android.app.usage.NetworkStatsManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">44</TD>
+  <TD><A HREF="java.lang.AbstractStringBuilder.html">
+java.lang.AbstractStringBuilder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="android.app.Notification.DecoratedCustomViewStyle.html">
+android.app.Notification.DecoratedCustomViewStyle</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="android.app.Notification.DecoratedMediaCustomViewStyle.html">
+android.app.Notification.DecoratedMediaCustomViewStyle</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">28</TD>
+  <TD><A HREF="android.content.pm.LauncherApps.html">
+android.content.pm.LauncherApps</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">28</TD>
+  <TD><A HREF="android.service.notification.NotificationListenerService.Ranking.html">
+android.service.notification.NotificationListenerService.Ranking</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="android.app.Notification.MediaStyle.html">
+android.app.Notification.MediaStyle</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="android.content.pm.ActivityInfo.WindowLayout.html">
+android.content.pm.ActivityInfo.WindowLayout</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="android.media.AudioManager.AudioRecordingCallback.html">
+android.media.AudioManager.AudioRecordingCallback</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.app.Notification.BigTextStyle.html">
+android.app.Notification.BigTextStyle</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.app.Notification.InboxStyle.html">
+android.app.Notification.InboxStyle</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="android.test.mock.MockContentResolver.html">
+android.test.mock.MockContentResolver</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">15</TD>
+  <TD><A HREF="android.text.style.LocaleSpan.html">
+android.text.style.LocaleSpan</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.app.Notification.BigPictureStyle.html">
+android.app.Notification.BigPictureStyle</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.os.health.SystemHealthManager.html">
+android.os.health.SystemHealthManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="android.telephony.TelephonyManager.html">
+android.telephony.TelephonyManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.app.NotificationManager.html">
+android.app.NotificationManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.media.tv.TvInputInfo.Builder.html">
+android.media.tv.TvInputInfo.Builder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.provider.VoicemailContract.html">
+android.provider.VoicemailContract</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.app.usage.NetworkStats.Bucket.html">
+android.app.usage.NetworkStats.Bucket</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.app.job.JobInfo.html">
+android.app.job.JobInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.content.pm.LauncherApps.Callback.html">
+android.content.pm.LauncherApps.Callback</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.test.mock.MockContentProvider.html">
+android.test.mock.MockContentProvider</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.app.WallpaperManager.html">
+android.app.WallpaperManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.service.carrier.CarrierMessagingService.html">
+android.service.carrier.CarrierMessagingService</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.view.Display.HdrCapabilities.html">
+android.view.Display.HdrCapabilities</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.service.notification.ConditionProviderService.html">
+android.service.notification.ConditionProviderService</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.icu.util.Currency.html">
+android.icu.util.Currency</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.provider.ContactsContract.Directory.html">
+android.provider.ContactsContract.Directory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.icu.text.Collator.html">
+android.icu.text.Collator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="java.lang.reflect.Constructor.html">
+java.lang.reflect.Constructor</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.icu.text.BreakIterator.html">
+android.icu.text.BreakIterator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.net.NetworkInfo.html">
+android.net.NetworkInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.service.notification.NotificationListenerService.html">
+android.service.notification.NotificationListenerService</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.telephony.CarrierConfigManager.html">
+android.telephony.CarrierConfigManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.webkit.WebViewClient.html">
+android.webkit.WebViewClient</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.telecom.Call.Details.html">
+android.telecom.Call.Details</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.R.attr.html">
+android.R.attr</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.service.notification.Condition.html">
+android.service.notification.Condition</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.app.UiAutomation.html">
+android.app.UiAutomation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.os.Build.VERSION_CODES.html">
+android.os.Build.VERSION_CODES</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.provider.Settings.Global.html">
+android.provider.Settings.Global</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.provider.VoicemailContract.Status.html">
+android.provider.VoicemailContract.Status</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.app.Notification.Builder.html">
+android.app.Notification.Builder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.icu.text.NumberFormat.html">
+android.icu.text.NumberFormat</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.view.inputmethod.EditorInfo.html">
+android.view.inputmethod.EditorInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.media.AudioRecord.html">
+android.media.AudioRecord</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.content.res.Configuration.html">
+android.content.res.Configuration</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.widget.TextView.html">
+android.widget.TextView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html">
+android.media.MediaCodecInfo.CodecProfileLevel</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.app.Notification.html">
+android.app.Notification</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.graphics.Paint.html">
+android.graphics.Paint</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.app.Activity.html">
+android.app.Activity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.provider.Settings.html">
+android.provider.Settings</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.media.AudioTrack.html">
+android.media.AudioTrack</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.test.mock.MockContext.html">
+android.test.mock.MockContext</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.app.Fragment.html">
+android.app.Fragment</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.view.View.html">
+android.view.View</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.media.AudioManager.html">
+android.media.AudioManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.content.Context.html">
+android.content.Context</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.app.admin.DevicePolicyManager.html">
+android.app.admin.DevicePolicyManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.R.style.html">
+android.R.style</A></TD>
+</TR>
+</TABLE>
+<p style="font-size:10px">* See <a href="#calculation">Calculation of Change Percentages</a>, below.</p>
+<br>
+<h2 id="calculation">Calculation of Change Percentages</h2>
+<p>
+The percent change statistic reported for all elements in the &quot;to&quot; API Level specification is defined recursively as follows:</p>
+<pre>
+Percentage difference = 100 * (added + removed + 2*changed)
+                        -----------------------------------
+                        sum of public elements in BOTH APIs
+</pre>
+<p>where <code>added</code> is the number of packages added, <code>removed</code> is the number of packages removed, and <code>changed</code> is the number of packages changed.
+This definition is applied recursively for the classes and their program elements, so the value for a changed package will be less than 1, unless every class in that package has changed.
+The definition ensures that if all packages are removed and all new packages are
+added, the change will be 100%.</p>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY></HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/jdiff_topleftframe.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/jdiff_topleftframe.html
new file mode 100644
index 0000000..d39a99c
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/jdiff_topleftframe.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Android API Version Differences
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<table class="jdiffIndex" summary="Links to diff index files" BORDER="0" WIDTH="100%" cellspacing="0" cellpadding="0" style="margin:0">
+<TR>
+  <th class="indexHeader" nowrap>
+  Select a Diffs Index:</th>
+</TR>
+<TR>
+  <TD><FONT CLASS="indexText" size="-2"><A HREF="alldiffs_index_all.html" TARGET="bottomleftframe">All Differences</A></FONT><br></TD>
+</TR>
+<TR>
+  <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="packages_index_all.html" TARGET="bottomleftframe">By Package</A></FONT><br></TD>
+</TR>
+<TR>
+  <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="classes_index_all.html" TARGET="bottomleftframe">By Class</A></FONT><br></TD>
+</TR>
+<TR>
+  <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="constructors_index_all.html" TARGET="bottomleftframe">By Constructor</A></FONT><br></TD>
+</TR>
+<TR>
+  <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="methods_index_all.html" TARGET="bottomleftframe">By Method</A></FONT><br></TD>
+</TR>
+<TR>
+  <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="fields_index_all.html" TARGET="bottomleftframe">By Field</A></FONT><br></TD>
+</TR>
+</TABLE>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/methods_index_additions.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/methods_index_additions.html
new file mode 100644
index 0000000..fb81021
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/methods_index_additions.html
@@ -0,0 +1,439 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Method Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Methods" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="methods_index_all.html" class="staysblack">All Methods</a>
+  <br>
+<A HREF="methods_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="methods_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>append</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[]</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[], int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence, int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.StringBuffer)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>StringBuffer</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[]</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[], int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence, int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.StringBuffer)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>StringBuffer</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.create_added(android.graphics.Bitmap, float, float)" class="hiddenlink" target="rightframe"><b>create</b>
+(<code>Bitmap, float, float</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.createForSubscriptionId_added(int)" class="hiddenlink" target="rightframe"><b>createForSubscriptionId</b>
+(<code>int</code>)</A></nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.disableService_added(android.app.Activity)" class="hiddenlink" target="rightframe"><b>disableService</b>
+(<code>Activity</code>)</A></nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.enableService_added(android.app.Activity, android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>enableService</b>
+(<code>Activity, ComponentName</code>)</A></nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>getBuiltInDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getBuiltInDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getBuiltInDrawable_added(int, int, boolean, float, float, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, boolean, float, float, int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinFlexMillis_added()" class="hiddenlink" target="rightframe"><b>getMinFlexMillis</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinPeriodMillis_added()" class="hiddenlink" target="rightframe"><b>getMinPeriodMillis</b>
+()</A></nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>insert</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, boolean</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char[]</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char[], int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, double</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, float</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, CharSequence</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, CharSequence, int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Object</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, long</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, boolean</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char[]</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char[], int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, double</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, float</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, CharSequence</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, CharSequence, int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Object</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, long</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.isRemoteDirectoryId_added(long)" class="hiddenlink" target="rightframe"><b>isRemoteDirectoryId</b>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.isSetWallpaperAllowed_added()" class="hiddenlink" target="rightframe"><b>isSetWallpaperAllowed</b>
+()</A></nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.load_added(android.content.res.Resources, int)" class="hiddenlink" target="rightframe"><b>load</b>
+(<code>Resources, int</code>)</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onAttachFragment_added(android.app.Fragment)" class="hiddenlink" target="rightframe"><b>onAttachFragment</b>
+(<code>Fragment</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onResolvePointerIcon_added(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe"><b>onResolvePointerIcon</b>
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.View.html#android.view.View.performContextClick_added(float, float)" class="hiddenlink" target="rightframe"><b>performContextClick</b>
+(<code>float, float</code>)</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>registerUsageCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String, long, UsageCallback</code>)</b>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String, long, UsageCallback, Handler</code>)</b>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.requestShowKeyboardShortcuts_added()" class="hiddenlink" target="rightframe"><b>requestShowKeyboardShortcuts</b>
+()</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setChronometerCountDown_added(boolean)" class="hiddenlink" target="rightframe"><b>setChronometerCountDown</b>
+(<code>boolean</code>)</A></nobr><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.unregisterSystemCodeForService_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>unregisterSystemCodeForService</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.unregisterUsageCallback_added(android.app.usage.NetworkStatsManager.UsageCallback)" class="hiddenlink" target="rightframe"><b>unregisterUsageCallback</b>
+(<code>UsageCallback</code>)</A></nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/methods_index_all.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/methods_index_all.html
new file mode 100644
index 0000000..726f996
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/methods_index_all.html
@@ -0,0 +1,1003 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Method Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Methods" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Methods</b>
+  <br>
+<A HREF="methods_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="methods_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="methods_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>append</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>boolean</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(char)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>char</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(char[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>char[]</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>char[], int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(double)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>double</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(float)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>float</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CharSequence</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CharSequence, int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.StringBuffer)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>StringBuffer</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(long)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>long</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[]</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[], int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence, int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(java.lang.StringBuffer)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>StringBuffer</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.append_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[]</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>char[], int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>double</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>float</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence, int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Object</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(java.lang.StringBuffer)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>StringBuffer</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.append_added(long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<i>appendCodePoint</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.appendCodePoint_removed(int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.appendCodePoint_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.appendCodePoint_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.tv.TvInputInfo.Builder.html#android.media.tv.TvInputInfo.Builder.build_changed()" class="hiddenlink" target="rightframe">build
+()</A></nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.create_added(android.graphics.Bitmap, float, float)" class="hiddenlink" target="rightframe"><b>create</b>
+(<code>Bitmap, float, float</code>)</A></nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.createCustomIcon_removed(android.graphics.Bitmap, float, float)" class="hiddenlink" target="rightframe"><strike>createCustomIcon</strike>
+(<code>Bitmap, float, float</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.createForSubscriptionId_added(int)" class="hiddenlink" target="rightframe"><b>createForSubscriptionId</b>
+(<code>int</code>)</A></nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>delete</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.delete_removed(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.delete_changed(int, int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int</code>)&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.delete_changed(int, int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int</code>)&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<i>deleteCharAt</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.deleteCharAt_removed(int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.deleteCharAt_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.deleteCharAt_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<nobr><A HREF="android.app.UiAutomation.html#android.app.UiAutomation.destroy_removed()" class="hiddenlink" target="rightframe"><strike>destroy</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.disableNfcFForegroundService_removed(android.app.Activity)" class="hiddenlink" target="rightframe"><strike>disableNfcFForegroundService</strike>
+(<code>Activity</code>)</A></nobr><br>
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.disableService_added(android.app.Activity)" class="hiddenlink" target="rightframe"><b>disableService</b>
+(<code>Activity</code>)</A></nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.enableNfcFForegroundService_removed(android.app.Activity, android.content.ComponentName)" class="hiddenlink" target="rightframe"><strike>enableNfcFForegroundService</strike>
+(<code>Activity, ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.enableService_added(android.app.Activity, android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>enableService</b>
+(<code>Activity, ComponentName</code>)</A></nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.health.SystemHealthManager.html#android.os.health.SystemHealthManager.from_removed(android.content.Context)" class="hiddenlink" target="rightframe"><strike>from</strike>
+(<code>Context</code>)</A></nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.getActiveRecordingConfigurations_changed()" class="hiddenlink" target="rightframe">getActiveRecordingConfigurations
+()</A></nobr><br>
+<i>getBuiltInDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getBuiltInDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.getBuiltInDrawable_added(int, int, boolean, float, float, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int, boolean, float, float, int</code>)</b>&nbsp;in&nbsp;android.app.WallpaperManager
+</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getCallState_removed(int)" class="hiddenlink" target="rightframe"><strike>getCallState</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.getConfig_removed(int)" class="hiddenlink" target="rightframe"><strike>getConfig</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.getConfigForSubId_changed(int)" class="hiddenlink" target="rightframe">getConfigForSubId
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getDataNetworkType_changed()" class="hiddenlink" target="rightframe">getDataNetworkType
+()</A></nobr><br>
+<nobr><A HREF="java.lang.reflect.Constructor.html#java.lang.reflect.Constructor.getDeclaredAnnotations_changed()" class="hiddenlink" target="rightframe">getDeclaredAnnotations
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getGroupIdLevel1_removed(int)" class="hiddenlink" target="rightframe"><strike>getGroupIdLevel1</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getIccAuthentication_removed(int, int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>getIccAuthentication</strike>
+(<code>int, int, int, String</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getImeHintLocales_changed()" class="hiddenlink" target="rightframe">getImeHintLocales
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getLine1AlphaTag_removed(int)" class="hiddenlink" target="rightframe"><strike>getLine1AlphaTag</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getLine1Number_removed(int)" class="hiddenlink" target="rightframe"><strike>getLine1Number</strike>
+(<code>int</code>)</A></nobr><br>
+<i>getLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.getLocales_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.content.res.Configuration
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.getLocales_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.text.style.LocaleSpan
+</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinFlexMillis_added()" class="hiddenlink" target="rightframe"><b>getMinFlexMillis</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinimumFlex_removed()" class="hiddenlink" target="rightframe"><strike>getMinimumFlex</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinimumPeriod_removed()" class="hiddenlink" target="rightframe"><strike>getMinimumPeriod</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinPeriodMillis_added()" class="hiddenlink" target="rightframe"><b>getMinPeriodMillis</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getNetworkCountryIso_removed(int)" class="hiddenlink" target="rightframe"><strike>getNetworkCountryIso</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getNetworkOperator_removed(int)" class="hiddenlink" target="rightframe"><strike>getNetworkOperator</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getNetworkOperatorName_removed(int)" class="hiddenlink" target="rightframe"><strike>getNetworkOperatorName</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getNetworkType_removed(int)" class="hiddenlink" target="rightframe"><strike>getNetworkType</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.getNfcid2ForService_changed(android.content.ComponentName)" class="hiddenlink" target="rightframe">getNfcid2ForService
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.getPointerIcon_changed()" class="hiddenlink" target="rightframe">getPointerIcon
+()</A></nobr><br>
+<i>getShortcutIconFd</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.getShortcutIconFd_removed(android.content.pm.ShortcutInfo)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>ShortcutInfo</code>)</strike>&nbsp;in&nbsp;android.content.pm.LauncherApps
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.getShortcutIconFd_removed(java.lang.String, java.lang.String, android.os.UserHandle)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String, String, UserHandle</code>)</strike>&nbsp;in&nbsp;android.content.pm.LauncherApps
+</A></nobr><br>
+<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.getShortcuts_removed(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle)" class="hiddenlink" target="rightframe"><strike>getShortcuts</strike>
+(<code>ShortcutQuery, UserHandle</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSimCountryIso_removed(int)" class="hiddenlink" target="rightframe"><strike>getSimCountryIso</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSimOperator_removed(int)" class="hiddenlink" target="rightframe"><strike>getSimOperator</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSimOperatorName_removed(int)" class="hiddenlink" target="rightframe"><strike>getSimOperatorName</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSimSerialNumber_removed(int)" class="hiddenlink" target="rightframe"><strike>getSimSerialNumber</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSubscriberId_removed(int)" class="hiddenlink" target="rightframe"><strike>getSubscriberId</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.getSystemCodeForService_changed(android.content.ComponentName)" class="hiddenlink" target="rightframe">getSystemCodeForService
+(<code>ComponentName</code>)</A></nobr><br>
+<i>getTextLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.getTextLocales_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.graphics.Paint
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getTextLocales_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoiceMailAlphaTag_removed(int)" class="hiddenlink" target="rightframe"><strike>getVoiceMailAlphaTag</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoiceMailNumber_removed(int)" class="hiddenlink" target="rightframe"><strike>getVoiceMailNumber</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoiceNetworkType_changed()" class="hiddenlink" target="rightframe">getVoiceNetworkType
+()</A></nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.hasCarrierPrivileges_removed(int)" class="hiddenlink" target="rightframe"><strike>hasCarrierPrivileges</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.hasPointerCapture_removed()" class="hiddenlink" target="rightframe"><strike>hasPointerCapture</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.hasShortcutHostPermission_removed()" class="hiddenlink" target="rightframe"><strike>hasShortcutHostPermission</strike>
+()</A></nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccCloseLogicalChannel_removed(int, int)" class="hiddenlink" target="rightframe"><strike>iccCloseLogicalChannel</strike>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccExchangeSimIO_removed(int, int, int, int, int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>iccExchangeSimIO</strike>
+(<code>int, int, int, int, int, int, String</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccOpenLogicalChannel_removed(int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>iccOpenLogicalChannel</strike>
+(<code>int, String</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccTransmitApduBasicChannel_removed(int, int, int, int, int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>iccTransmitApduBasicChannel</strike>
+(<code>int, int, int, int, int, int, String</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccTransmitApduLogicalChannel_removed(int, int, int, int, int, int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>iccTransmitApduLogicalChannel</strike>
+(<code>int, int, int, int, int, int, int, String</code>)</A></nobr><br>
+<i>insert</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, boolean</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, char)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, char</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, char[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, char[]</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, char[], int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, double)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, double</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, float)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, float</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, CharSequence</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, CharSequence, int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, Object</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, String</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, long)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, long</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, boolean</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char[]</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char[], int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, double</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, float</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, CharSequence</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, CharSequence, int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Object</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.insert_added(int, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, long</code>)</b>&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, boolean</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, char)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, char[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char[]</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, char[], int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, double)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, double</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, float)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, float</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, CharSequence</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, CharSequence, int, int</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Object</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.insert_added(int, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, long</code>)</b>&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<nobr><A HREF="android.net.NetworkInfo.html#android.net.NetworkInfo.isMetered_removed()" class="hiddenlink" target="rightframe"><strike>isMetered</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.isNetworkRoaming_removed(int)" class="hiddenlink" target="rightframe"><strike>isNetworkRoaming</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.isOverlayWithDecorCaptionEnabled_removed()" class="hiddenlink" target="rightframe"><strike>isOverlayWithDecorCaptionEnabled</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.isRemoteDirectory_removed(long)" class="hiddenlink" target="rightframe"><strike>isRemoteDirectory</strike>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.isRemoteDirectoryId_added(long)" class="hiddenlink" target="rightframe"><b>isRemoteDirectoryId</b>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.isSetWallpaperAllowed_added()" class="hiddenlink" target="rightframe"><b>isSetWallpaperAllowed</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.isWallpaperSettingAllowed_removed()" class="hiddenlink" target="rightframe"><strike>isWallpaperSettingAllowed</strike>
+()</A></nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.load_added(android.content.res.Resources, int)" class="hiddenlink" target="rightframe"><b>load</b>
+(<code>Resources, int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.loadCustomIcon_removed(android.content.res.Resources, int)" class="hiddenlink" target="rightframe"><strike>loadCustomIcon</strike>
+(<code>Resources, int</code>)</A></nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.notifyConfigChanged_removed(int)" class="hiddenlink" target="rightframe"><strike>notifyConfigChanged</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.notifyConfigChangedForSubId_changed(int)" class="hiddenlink" target="rightframe">notifyConfigChangedForSubId
+(<code>int</code>)</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onAttachFragment_added(android.app.Fragment)" class="hiddenlink" target="rightframe"><b>onAttachFragment</b>
+(<code>Fragment</code>)</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.AudioRecordingCallback.html#android.media.AudioManager.AudioRecordingCallback.onRecordingConfigChanged_changed(java.util.List<android.media.AudioRecordingConfiguration>)" class="hiddenlink" target="rightframe">onRecordingConfigChanged
+(<code>List&lt;AudioRecordingConfiguration&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onResolvePointerIcon_added(android.view.MotionEvent, int)" class="hiddenlink" target="rightframe"><b>onResolvePointerIcon</b>
+(<code>MotionEvent, int</code>)</A></nobr><br>
+<nobr><A HREF="android.content.pm.LauncherApps.Callback.html#android.content.pm.LauncherApps.Callback.onShortcutsChanged_removed(java.lang.String, java.util.List<android.content.pm.ShortcutInfo>, android.os.UserHandle)" class="hiddenlink" target="rightframe"><strike>onShortcutsChanged</strike>
+(<code>String, List&lt;ShortcutInfo&gt;, UserHandle</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onUnhandledInputEvent_removed(android.webkit.WebView, android.view.InputEvent)" class="hiddenlink" target="rightframe"><strike>onUnhandledInputEvent</strike>
+(<code>WebView, InputEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onUnhandledKeyEvent_changed(android.webkit.WebView, android.view.KeyEvent)" class="hiddenlink" target="rightframe">onUnhandledKeyEvent
+(<code>WebView, KeyEvent</code>)</A></nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.View.html#android.view.View.performContextClick_added(float, float)" class="hiddenlink" target="rightframe"><b>performContextClick</b>
+(<code>float, float</code>)</A></nobr><br>
+<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.pinShortcuts_removed(java.lang.String, java.util.List<java.lang.String>, android.os.UserHandle)" class="hiddenlink" target="rightframe"><strike>pinShortcuts</strike>
+(<code>String, List&lt;String&gt;, UserHandle</code>)</A></nobr><br>
+<A NAME="Q"></A>
+<br><font size="+2">Q</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.queryDetailsForUidTag_changed(int, java.lang.String, long, long, int, int)" class="hiddenlink" target="rightframe">queryDetailsForUidTag
+(<code>int, String, long, long, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.querySummary_removed(int, java.lang.String, long, long, boolean)" class="hiddenlink" target="rightframe"><strike>querySummary</strike>
+(<code>int, String, long, long, boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.querySummaryForUser_removed(int, java.lang.String, long, long, boolean)" class="hiddenlink" target="rightframe"><strike>querySummaryForUser</strike>
+(<code>int, String, long, long, boolean</code>)</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>registerDataUsageCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerDataUsageCallback_removed(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>DataUsagePolicy, DataUsageCallback</code>)</strike>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerDataUsageCallback_removed(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>DataUsagePolicy, DataUsageCallback, Handler</code>)</strike>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<i>registerFactory</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.Collator.html#android.icu.text.Collator.registerFactory_removed(android.icu.text.Collator.CollatorFactory)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CollatorFactory</code>)</strike>&nbsp;in&nbsp;android.icu.text.Collator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.NumberFormat.html#android.icu.text.NumberFormat.registerFactory_removed(android.icu.text.NumberFormat.NumberFormatFactory)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>NumberFormatFactory</code>)</strike>&nbsp;in&nbsp;android.icu.text.NumberFormat
+</A></nobr><br>
+<i>registerInstance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.BreakIterator.html#android.icu.text.BreakIterator.registerInstance_removed(android.icu.text.BreakIterator, android.icu.util.ULocale, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>BreakIterator, ULocale, int</code>)</strike>&nbsp;in&nbsp;android.icu.text.BreakIterator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.BreakIterator.html#android.icu.text.BreakIterator.registerInstance_removed(android.icu.text.BreakIterator, java.util.Locale, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>BreakIterator, Locale, int</code>)</strike>&nbsp;in&nbsp;android.icu.text.BreakIterator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.Collator.html#android.icu.text.Collator.registerInstance_removed(android.icu.text.Collator, android.icu.util.ULocale)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Collator, ULocale</code>)</strike>&nbsp;in&nbsp;android.icu.text.Collator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.util.Currency.html#android.icu.util.Currency.registerInstance_removed(android.icu.util.Currency, android.icu.util.ULocale)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Currency, ULocale</code>)</strike>&nbsp;in&nbsp;android.icu.util.Currency
+</A></nobr><br>
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.registerSystemCodeForService_changed(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe">registerSystemCodeForService
+(<code>ComponentName, String</code>)</A></nobr><br>
+<i>registerUsageCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String, long, UsageCallback</code>)</b>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerUsageCallback_added(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, String, long, UsageCallback, Handler</code>)</b>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.releasePointerCapture_removed()" class="hiddenlink" target="rightframe"><strike>releasePointerCapture</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.removeSystemCodeForService_removed(android.content.ComponentName)" class="hiddenlink" target="rightframe"><strike>removeSystemCodeForService</strike>
+(<code>ComponentName</code>)</A></nobr><br>
+<i>replace</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.replace_removed(int, int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, String</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.replace_changed(int, int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int, String</code>)&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.replace_changed(int, int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int, String</code>)&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.requestKeyboardShortcutsHelper_removed()" class="hiddenlink" target="rightframe"><strike>requestKeyboardShortcutsHelper</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.requestRebind_changed(android.content.ComponentName)" class="hiddenlink" target="rightframe">requestRebind
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.requestShowKeyboardShortcuts_added()" class="hiddenlink" target="rightframe"><b>requestShowKeyboardShortcuts</b>
+()</A></nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.requestUnbind_changed()" class="hiddenlink" target="rightframe">requestUnbind
+()</A></nobr><br>
+<i>reverse</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.reverse_removed()" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+()</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.reverse_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.reverse_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.sendEnvelopeWithStatus_removed(int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>sendEnvelopeWithStatus</strike>
+(<code>int, String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setChronometerCountDown_added(boolean)" class="hiddenlink" target="rightframe"><b>setChronometerCountDown</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setChronometerCountsDown_removed(boolean)" class="hiddenlink" target="rightframe"><strike>setChronometerCountsDown</strike>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setImeHintLocales_changed(android.os.LocaleList)" class="hiddenlink" target="rightframe">setImeHintLocales
+(<code>LocaleList</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setLine1NumberForDisplay_removed(int, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><strike>setLine1NumberForDisplay</strike>
+(<code>int, String, String</code>)</A></nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.setLocales_changed(android.os.LocaleList)" class="hiddenlink" target="rightframe">setLocales
+(<code>LocaleList</code>)</A></nobr><br>
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.setNfcid2ForService_changed(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe">setNfcid2ForService
+(<code>ComponentName, String</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setOperatorBrandOverride_removed(int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>setOperatorBrandOverride</strike>
+(<code>int, String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setOverlayWithDecorCaptionEnabled_removed(boolean)" class="hiddenlink" target="rightframe"><strike>setOverlayWithDecorCaptionEnabled</strike>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setPointerCapture_removed()" class="hiddenlink" target="rightframe"><strike>setPointerCapture</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setPreferredNetworkTypeToGlobal_removed(int)" class="hiddenlink" target="rightframe"><strike>setPreferredNetworkTypeToGlobal</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.setQuota_removed(android.content.Context, android.telecom.PhoneAccountHandle, int, int)" class="hiddenlink" target="rightframe"><strike>setQuota</strike>
+(<code>Context, PhoneAccountHandle, int, int</code>)</A></nobr><br>
+<i>setTextLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.setTextLocales_changed(android.os.LocaleList)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>LocaleList</code>)&nbsp;in&nbsp;android.graphics.Paint
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setTextLocales_changed(android.os.LocaleList)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>LocaleList</code>)&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setVoiceMailNumber_removed(int, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><strike>setVoiceMailNumber</strike>
+(<code>int, String, String</code>)</A></nobr><br>
+<i>startShortcut</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.startShortcut_removed(android.content.pm.ShortcutInfo, android.graphics.Rect, android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>ShortcutInfo, Rect, Bundle</code>)</strike>&nbsp;in&nbsp;android.content.pm.LauncherApps
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.startShortcut_removed(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String, String, Rect, Bundle, UserHandle</code>)</strike>&nbsp;in&nbsp;android.content.pm.LauncherApps
+</A></nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>toString</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.toString_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.toString_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.toString_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>unregister</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.BreakIterator.html#android.icu.text.BreakIterator.unregister_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;android.icu.text.BreakIterator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.Collator.html#android.icu.text.Collator.unregister_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;android.icu.text.Collator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.NumberFormat.html#android.icu.text.NumberFormat.unregister_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;android.icu.text.NumberFormat
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.util.Currency.html#android.icu.util.Currency.unregister_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;android.icu.util.Currency
+</A></nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.unregisterDataUsageCallback_removed(android.app.usage.NetworkStatsManager.DataUsageCallback)" class="hiddenlink" target="rightframe"><strike>unregisterDataUsageCallback</strike>
+(<code>DataUsageCallback</code>)</A></nobr><br>
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.unregisterSystemCodeForService_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>unregisterSystemCodeForService</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.unregisterUsageCallback_added(android.app.usage.NetworkStatsManager.UsageCallback)" class="hiddenlink" target="rightframe"><b>unregisterUsageCallback</b>
+(<code>UsageCallback</code>)</A></nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/methods_index_changes.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/methods_index_changes.html
new file mode 100644
index 0000000..10950fb
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/methods_index_changes.html
@@ -0,0 +1,297 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Method Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Methods" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="methods_index_all.html" class="staysblack">All Methods</a>
+  <br>
+<A HREF="methods_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="methods_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>appendCodePoint</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.appendCodePoint_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.appendCodePoint_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.tv.TvInputInfo.Builder.html#android.media.tv.TvInputInfo.Builder.build_changed()" class="hiddenlink" target="rightframe">build
+()</A></nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>delete</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.delete_changed(int, int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int</code>)&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.delete_changed(int, int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int</code>)&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<i>deleteCharAt</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.deleteCharAt_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.deleteCharAt_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.getActiveRecordingConfigurations_changed()" class="hiddenlink" target="rightframe">getActiveRecordingConfigurations
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.getConfigForSubId_changed(int)" class="hiddenlink" target="rightframe">getConfigForSubId
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getDataNetworkType_changed()" class="hiddenlink" target="rightframe">getDataNetworkType
+()</A></nobr><br>
+<nobr><A HREF="java.lang.reflect.Constructor.html#java.lang.reflect.Constructor.getDeclaredAnnotations_changed()" class="hiddenlink" target="rightframe">getDeclaredAnnotations
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getImeHintLocales_changed()" class="hiddenlink" target="rightframe">getImeHintLocales
+()</A></nobr><br>
+<i>getLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.getLocales_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.content.res.Configuration
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.LocaleSpan.html#android.text.style.LocaleSpan.getLocales_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.text.style.LocaleSpan
+</A></nobr><br>
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.getNfcid2ForService_changed(android.content.ComponentName)" class="hiddenlink" target="rightframe">getNfcid2ForService
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.getPointerIcon_changed()" class="hiddenlink" target="rightframe">getPointerIcon
+()</A></nobr><br>
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.getSystemCodeForService_changed(android.content.ComponentName)" class="hiddenlink" target="rightframe">getSystemCodeForService
+(<code>ComponentName</code>)</A></nobr><br>
+<i>getTextLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.getTextLocales_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.graphics.Paint
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getTextLocales_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoiceNetworkType_changed()" class="hiddenlink" target="rightframe">getVoiceNetworkType
+()</A></nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.notifyConfigChangedForSubId_changed(int)" class="hiddenlink" target="rightframe">notifyConfigChangedForSubId
+(<code>int</code>)</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.AudioManager.AudioRecordingCallback.html#android.media.AudioManager.AudioRecordingCallback.onRecordingConfigChanged_changed(java.util.List<android.media.AudioRecordingConfiguration>)" class="hiddenlink" target="rightframe">onRecordingConfigChanged
+(<code>List&lt;AudioRecordingConfiguration&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onUnhandledKeyEvent_changed(android.webkit.WebView, android.view.KeyEvent)" class="hiddenlink" target="rightframe">onUnhandledKeyEvent
+(<code>WebView, KeyEvent</code>)</A></nobr><br>
+<A NAME="Q"></A>
+<br><font size="+2">Q</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.queryDetailsForUidTag_changed(int, java.lang.String, long, long, int, int)" class="hiddenlink" target="rightframe">queryDetailsForUidTag
+(<code>int, String, long, long, int, int</code>)</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.registerSystemCodeForService_changed(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe">registerSystemCodeForService
+(<code>ComponentName, String</code>)</A></nobr><br>
+<i>replace</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.replace_changed(int, int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int, String</code>)&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.replace_changed(int, int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int, String</code>)&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.requestRebind_changed(android.content.ComponentName)" class="hiddenlink" target="rightframe">requestRebind
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.service.notification.NotificationListenerService.html#android.service.notification.NotificationListenerService.requestUnbind_changed()" class="hiddenlink" target="rightframe">requestUnbind
+()</A></nobr><br>
+<i>reverse</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.reverse_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.reverse_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setImeHintLocales_changed(android.os.LocaleList)" class="hiddenlink" target="rightframe">setImeHintLocales
+(<code>LocaleList</code>)</A></nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.setLocales_changed(android.os.LocaleList)" class="hiddenlink" target="rightframe">setLocales
+(<code>LocaleList</code>)</A></nobr><br>
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.setNfcid2ForService_changed(android.content.ComponentName, java.lang.String)" class="hiddenlink" target="rightframe">setNfcid2ForService
+(<code>ComponentName, String</code>)</A></nobr><br>
+<i>setTextLocales</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.setTextLocales_changed(android.os.LocaleList)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>LocaleList</code>)&nbsp;in&nbsp;android.graphics.Paint
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setTextLocales_changed(android.os.LocaleList)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>LocaleList</code>)&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>toString</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.toString_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuffer.html#java.lang.StringBuffer.toString_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.StringBuffer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.StringBuilder.html#java.lang.StringBuilder.toString_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.lang.StringBuilder
+</A></nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/methods_index_removals.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/methods_index_removals.html
new file mode 100644
index 0000000..fc11c86
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/methods_index_removals.html
@@ -0,0 +1,622 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Method Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Methods" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="methods_index_all.html" class="staysblack">All Methods</a>
+  <br>
+<b>Removals</b>
+  <br>
+<A HREF="methods_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="methods_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>append</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>boolean</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(char)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>char</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(char[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>char[]</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>char[], int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(double)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>double</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(float)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>float</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CharSequence</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CharSequence, int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(java.lang.StringBuffer)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>StringBuffer</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.append_removed(long)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>long</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.appendCodePoint_removed(int)" class="hiddenlink" target="rightframe"><strike>appendCodePoint</strike>
+(<code>int</code>)</A></nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.createCustomIcon_removed(android.graphics.Bitmap, float, float)" class="hiddenlink" target="rightframe"><strike>createCustomIcon</strike>
+(<code>Bitmap, float, float</code>)</A></nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.delete_removed(int, int)" class="hiddenlink" target="rightframe"><strike>delete</strike>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.deleteCharAt_removed(int)" class="hiddenlink" target="rightframe"><strike>deleteCharAt</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.UiAutomation.html#android.app.UiAutomation.destroy_removed()" class="hiddenlink" target="rightframe"><strike>destroy</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.disableNfcFForegroundService_removed(android.app.Activity)" class="hiddenlink" target="rightframe"><strike>disableNfcFForegroundService</strike>
+(<code>Activity</code>)</A></nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.enableNfcFForegroundService_removed(android.app.Activity, android.content.ComponentName)" class="hiddenlink" target="rightframe"><strike>enableNfcFForegroundService</strike>
+(<code>Activity, ComponentName</code>)</A></nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.health.SystemHealthManager.html#android.os.health.SystemHealthManager.from_removed(android.content.Context)" class="hiddenlink" target="rightframe"><strike>from</strike>
+(<code>Context</code>)</A></nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getCallState_removed(int)" class="hiddenlink" target="rightframe"><strike>getCallState</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.getConfig_removed(int)" class="hiddenlink" target="rightframe"><strike>getConfig</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getGroupIdLevel1_removed(int)" class="hiddenlink" target="rightframe"><strike>getGroupIdLevel1</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getIccAuthentication_removed(int, int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>getIccAuthentication</strike>
+(<code>int, int, int, String</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getLine1AlphaTag_removed(int)" class="hiddenlink" target="rightframe"><strike>getLine1AlphaTag</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getLine1Number_removed(int)" class="hiddenlink" target="rightframe"><strike>getLine1Number</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinimumFlex_removed()" class="hiddenlink" target="rightframe"><strike>getMinimumFlex</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.app.job.JobInfo.html#android.app.job.JobInfo.getMinimumPeriod_removed()" class="hiddenlink" target="rightframe"><strike>getMinimumPeriod</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getNetworkCountryIso_removed(int)" class="hiddenlink" target="rightframe"><strike>getNetworkCountryIso</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getNetworkOperator_removed(int)" class="hiddenlink" target="rightframe"><strike>getNetworkOperator</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getNetworkOperatorName_removed(int)" class="hiddenlink" target="rightframe"><strike>getNetworkOperatorName</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getNetworkType_removed(int)" class="hiddenlink" target="rightframe"><strike>getNetworkType</strike>
+(<code>int</code>)</A></nobr><br>
+<i>getShortcutIconFd</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.getShortcutIconFd_removed(android.content.pm.ShortcutInfo)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>ShortcutInfo</code>)</strike>&nbsp;in&nbsp;android.content.pm.LauncherApps
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.getShortcutIconFd_removed(java.lang.String, java.lang.String, android.os.UserHandle)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String, String, UserHandle</code>)</strike>&nbsp;in&nbsp;android.content.pm.LauncherApps
+</A></nobr><br>
+<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.getShortcuts_removed(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle)" class="hiddenlink" target="rightframe"><strike>getShortcuts</strike>
+(<code>ShortcutQuery, UserHandle</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSimCountryIso_removed(int)" class="hiddenlink" target="rightframe"><strike>getSimCountryIso</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSimOperator_removed(int)" class="hiddenlink" target="rightframe"><strike>getSimOperator</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSimOperatorName_removed(int)" class="hiddenlink" target="rightframe"><strike>getSimOperatorName</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSimSerialNumber_removed(int)" class="hiddenlink" target="rightframe"><strike>getSimSerialNumber</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getSubscriberId_removed(int)" class="hiddenlink" target="rightframe"><strike>getSubscriberId</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoiceMailAlphaTag_removed(int)" class="hiddenlink" target="rightframe"><strike>getVoiceMailAlphaTag</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.getVoiceMailNumber_removed(int)" class="hiddenlink" target="rightframe"><strike>getVoiceMailNumber</strike>
+(<code>int</code>)</A></nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.hasCarrierPrivileges_removed(int)" class="hiddenlink" target="rightframe"><strike>hasCarrierPrivileges</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.hasPointerCapture_removed()" class="hiddenlink" target="rightframe"><strike>hasPointerCapture</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.hasShortcutHostPermission_removed()" class="hiddenlink" target="rightframe"><strike>hasShortcutHostPermission</strike>
+()</A></nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccCloseLogicalChannel_removed(int, int)" class="hiddenlink" target="rightframe"><strike>iccCloseLogicalChannel</strike>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccExchangeSimIO_removed(int, int, int, int, int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>iccExchangeSimIO</strike>
+(<code>int, int, int, int, int, int, String</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccOpenLogicalChannel_removed(int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>iccOpenLogicalChannel</strike>
+(<code>int, String</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccTransmitApduBasicChannel_removed(int, int, int, int, int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>iccTransmitApduBasicChannel</strike>
+(<code>int, int, int, int, int, int, String</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.iccTransmitApduLogicalChannel_removed(int, int, int, int, int, int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>iccTransmitApduLogicalChannel</strike>
+(<code>int, int, int, int, int, int, int, String</code>)</A></nobr><br>
+<i>insert</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, boolean</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, char)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, char</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, char[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, char[]</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, char[], int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, char[], int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, double)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, double</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, float)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, float</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, CharSequence</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, java.lang.CharSequence, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, CharSequence, int, int</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, Object</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, String</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.insert_removed(int, long)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, long</code>)</strike>&nbsp;in&nbsp;java.lang.AbstractStringBuilder
+</A></nobr><br>
+<nobr><A HREF="android.net.NetworkInfo.html#android.net.NetworkInfo.isMetered_removed()" class="hiddenlink" target="rightframe"><strike>isMetered</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.isNetworkRoaming_removed(int)" class="hiddenlink" target="rightframe"><strike>isNetworkRoaming</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.isOverlayWithDecorCaptionEnabled_removed()" class="hiddenlink" target="rightframe"><strike>isOverlayWithDecorCaptionEnabled</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Directory.html#android.provider.ContactsContract.Directory.isRemoteDirectory_removed(long)" class="hiddenlink" target="rightframe"><strike>isRemoteDirectory</strike>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.isWallpaperSettingAllowed_removed()" class="hiddenlink" target="rightframe"><strike>isWallpaperSettingAllowed</strike>
+()</A></nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.PointerIcon.html#android.view.PointerIcon.loadCustomIcon_removed(android.content.res.Resources, int)" class="hiddenlink" target="rightframe"><strike>loadCustomIcon</strike>
+(<code>Resources, int</code>)</A></nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.CarrierConfigManager.html#android.telephony.CarrierConfigManager.notifyConfigChanged_removed(int)" class="hiddenlink" target="rightframe"><strike>notifyConfigChanged</strike>
+(<code>int</code>)</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.LauncherApps.Callback.html#android.content.pm.LauncherApps.Callback.onShortcutsChanged_removed(java.lang.String, java.util.List<android.content.pm.ShortcutInfo>, android.os.UserHandle)" class="hiddenlink" target="rightframe"><strike>onShortcutsChanged</strike>
+(<code>String, List&lt;ShortcutInfo&gt;, UserHandle</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onUnhandledInputEvent_removed(android.webkit.WebView, android.view.InputEvent)" class="hiddenlink" target="rightframe"><strike>onUnhandledInputEvent</strike>
+(<code>WebView, InputEvent</code>)</A></nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.pinShortcuts_removed(java.lang.String, java.util.List<java.lang.String>, android.os.UserHandle)" class="hiddenlink" target="rightframe"><strike>pinShortcuts</strike>
+(<code>String, List&lt;String&gt;, UserHandle</code>)</A></nobr><br>
+<A NAME="Q"></A>
+<br><font size="+2">Q</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.querySummary_removed(int, java.lang.String, long, long, boolean)" class="hiddenlink" target="rightframe"><strike>querySummary</strike>
+(<code>int, String, long, long, boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.querySummaryForUser_removed(int, java.lang.String, long, long, boolean)" class="hiddenlink" target="rightframe"><strike>querySummaryForUser</strike>
+(<code>int, String, long, long, boolean</code>)</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>registerDataUsageCallback</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerDataUsageCallback_removed(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>DataUsagePolicy, DataUsageCallback</code>)</strike>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.registerDataUsageCallback_removed(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>DataUsagePolicy, DataUsageCallback, Handler</code>)</strike>&nbsp;in&nbsp;android.app.usage.NetworkStatsManager
+</A></nobr><br>
+<i>registerFactory</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.Collator.html#android.icu.text.Collator.registerFactory_removed(android.icu.text.Collator.CollatorFactory)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CollatorFactory</code>)</strike>&nbsp;in&nbsp;android.icu.text.Collator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.NumberFormat.html#android.icu.text.NumberFormat.registerFactory_removed(android.icu.text.NumberFormat.NumberFormatFactory)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>NumberFormatFactory</code>)</strike>&nbsp;in&nbsp;android.icu.text.NumberFormat
+</A></nobr><br>
+<i>registerInstance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.BreakIterator.html#android.icu.text.BreakIterator.registerInstance_removed(android.icu.text.BreakIterator, android.icu.util.ULocale, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>BreakIterator, ULocale, int</code>)</strike>&nbsp;in&nbsp;android.icu.text.BreakIterator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.BreakIterator.html#android.icu.text.BreakIterator.registerInstance_removed(android.icu.text.BreakIterator, java.util.Locale, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>BreakIterator, Locale, int</code>)</strike>&nbsp;in&nbsp;android.icu.text.BreakIterator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.Collator.html#android.icu.text.Collator.registerInstance_removed(android.icu.text.Collator, android.icu.util.ULocale)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Collator, ULocale</code>)</strike>&nbsp;in&nbsp;android.icu.text.Collator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.util.Currency.html#android.icu.util.Currency.registerInstance_removed(android.icu.util.Currency, android.icu.util.ULocale)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Currency, ULocale</code>)</strike>&nbsp;in&nbsp;android.icu.util.Currency
+</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.releasePointerCapture_removed()" class="hiddenlink" target="rightframe"><strike>releasePointerCapture</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html#android.nfc.cardemulation.NfcFCardEmulation.removeSystemCodeForService_removed(android.content.ComponentName)" class="hiddenlink" target="rightframe"><strike>removeSystemCodeForService</strike>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.replace_removed(int, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>replace</strike>
+(<code>int, int, String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.requestKeyboardShortcutsHelper_removed()" class="hiddenlink" target="rightframe"><strike>requestKeyboardShortcutsHelper</strike>
+()</A></nobr><br>
+<nobr><A HREF="java.lang.AbstractStringBuilder.html#java.lang.AbstractStringBuilder.reverse_removed()" class="hiddenlink" target="rightframe"><strike>reverse</strike>
+()</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.sendEnvelopeWithStatus_removed(int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>sendEnvelopeWithStatus</strike>
+(<code>int, String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setChronometerCountsDown_removed(boolean)" class="hiddenlink" target="rightframe"><strike>setChronometerCountsDown</strike>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setLine1NumberForDisplay_removed(int, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><strike>setLine1NumberForDisplay</strike>
+(<code>int, String, String</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setOperatorBrandOverride_removed(int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>setOperatorBrandOverride</strike>
+(<code>int, String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.setOverlayWithDecorCaptionEnabled_removed(boolean)" class="hiddenlink" target="rightframe"><strike>setOverlayWithDecorCaptionEnabled</strike>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setPointerCapture_removed()" class="hiddenlink" target="rightframe"><strike>setPointerCapture</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setPreferredNetworkTypeToGlobal_removed(int)" class="hiddenlink" target="rightframe"><strike>setPreferredNetworkTypeToGlobal</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.provider.VoicemailContract.Status.html#android.provider.VoicemailContract.Status.setQuota_removed(android.content.Context, android.telecom.PhoneAccountHandle, int, int)" class="hiddenlink" target="rightframe"><strike>setQuota</strike>
+(<code>Context, PhoneAccountHandle, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setVoiceMailNumber_removed(int, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><strike>setVoiceMailNumber</strike>
+(<code>int, String, String</code>)</A></nobr><br>
+<i>startShortcut</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.startShortcut_removed(android.content.pm.ShortcutInfo, android.graphics.Rect, android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>ShortcutInfo, Rect, Bundle</code>)</strike>&nbsp;in&nbsp;android.content.pm.LauncherApps
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.LauncherApps.html#android.content.pm.LauncherApps.startShortcut_removed(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String, String, Rect, Bundle, UserHandle</code>)</strike>&nbsp;in&nbsp;android.content.pm.LauncherApps
+</A></nobr><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>unregister</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.BreakIterator.html#android.icu.text.BreakIterator.unregister_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;android.icu.text.BreakIterator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.Collator.html#android.icu.text.Collator.unregister_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;android.icu.text.Collator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.text.NumberFormat.html#android.icu.text.NumberFormat.unregister_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;android.icu.text.NumberFormat
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.icu.util.Currency.html#android.icu.util.Currency.unregister_removed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Object</code>)</strike>&nbsp;in&nbsp;android.icu.util.Currency
+</A></nobr><br>
+<nobr><A HREF="android.app.usage.NetworkStatsManager.html#android.app.usage.NetworkStatsManager.unregisterDataUsageCallback_removed(android.app.usage.NetworkStatsManager.DataUsageCallback)" class="hiddenlink" target="rightframe"><strike>unregisterDataUsageCallback</strike>
+(<code>DataUsageCallback</code>)</A></nobr><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/packages_index_additions.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/packages_index_additions.html
new file mode 100644
index 0000000..1d53148
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/packages_index_additions.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Package Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Packages" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="packages_index_all.html" class="staysblack">All Packages</a>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<font color="#999999">Additions</font>
+  <br>
+<A HREF="packages_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<br>
+<div id="indexTableEntries">
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/packages_index_all.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/packages_index_all.html
new file mode 100644
index 0000000..0e16a82
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/packages_index_all.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Package Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Packages" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Packages</b>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<font color="#999999">Additions</font>
+  <br>
+<A HREF="packages_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<br>
+<div id="indexTableEntries">
+<A NAME="A"></A>
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<A HREF="pkg_android.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<A HREF="pkg_android.app.admin.html" class="hiddenlink" target="rightframe">android.app.admin</A><br>
+<A HREF="pkg_android.app.job.html" class="hiddenlink" target="rightframe">android.app.job</A><br>
+<A HREF="pkg_android.app.usage.html" class="hiddenlink" target="rightframe">android.app.usage</A><br>
+<A HREF="pkg_android.content.html" class="hiddenlink" target="rightframe">android.content</A><br>
+<A HREF="pkg_android.content.pm.html" class="hiddenlink" target="rightframe">android.content.pm</A><br>
+<A HREF="pkg_android.content.res.html" class="hiddenlink" target="rightframe">android.content.res</A><br>
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<A HREF="pkg_android.icu.text.html" class="hiddenlink" target="rightframe">android.icu.text</A><br>
+<A HREF="pkg_android.icu.util.html" class="hiddenlink" target="rightframe">android.icu.util</A><br>
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<A HREF="pkg_android.media.tv.html" class="hiddenlink" target="rightframe">android.media.tv</A><br>
+<A HREF="pkg_android.net.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<A HREF="pkg_android.nfc.cardemulation.html" class="hiddenlink" target="rightframe">android.nfc.cardemulation</A><br>
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<A HREF="pkg_android.os.health.html" class="hiddenlink" target="rightframe">android.os.health</A><br>
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<A HREF="pkg_android.service.carrier.html" class="hiddenlink" target="rightframe">android.service.carrier</A><br>
+<A HREF="pkg_android.service.notification.html" class="hiddenlink" target="rightframe">android.service.notification</A><br>
+<A HREF="pkg_android.telecom.html" class="hiddenlink" target="rightframe">android.telecom</A><br>
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<A HREF="pkg_android.test.mock.html" class="hiddenlink" target="rightframe">android.test.mock</A><br>
+<A HREF="pkg_android.text.style.html" class="hiddenlink" target="rightframe">android.text.style</A><br>
+<A HREF="pkg_android.util.html" class="hiddenlink" target="rightframe">android.util</A><br>
+<A HREF="pkg_android.view.html" class="hiddenlink" target="rightframe">android.view</A><br>
+<A HREF="pkg_android.view.inputmethod.html" class="hiddenlink" target="rightframe">android.view.inputmethod</A><br>
+<A HREF="pkg_android.webkit.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<A HREF="pkg_android.widget.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<A NAME="J"></A>
+<A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<A HREF="pkg_java.lang.reflect.html" class="hiddenlink" target="rightframe">java.lang.reflect</A><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/packages_index_changes.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/packages_index_changes.html
new file mode 100644
index 0000000..6638ec4
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/packages_index_changes.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Package Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Packages" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="packages_index_all.html" class="staysblack">All Packages</a>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<font color="#999999">Additions</font>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<br>
+<div id="indexTableEntries">
+<A NAME="A"></A>
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<A HREF="pkg_android.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<A HREF="pkg_android.app.admin.html" class="hiddenlink" target="rightframe">android.app.admin</A><br>
+<A HREF="pkg_android.app.job.html" class="hiddenlink" target="rightframe">android.app.job</A><br>
+<A HREF="pkg_android.app.usage.html" class="hiddenlink" target="rightframe">android.app.usage</A><br>
+<A HREF="pkg_android.content.html" class="hiddenlink" target="rightframe">android.content</A><br>
+<A HREF="pkg_android.content.pm.html" class="hiddenlink" target="rightframe">android.content.pm</A><br>
+<A HREF="pkg_android.content.res.html" class="hiddenlink" target="rightframe">android.content.res</A><br>
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<A HREF="pkg_android.icu.text.html" class="hiddenlink" target="rightframe">android.icu.text</A><br>
+<A HREF="pkg_android.icu.util.html" class="hiddenlink" target="rightframe">android.icu.util</A><br>
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<A HREF="pkg_android.media.tv.html" class="hiddenlink" target="rightframe">android.media.tv</A><br>
+<A HREF="pkg_android.net.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<A HREF="pkg_android.nfc.cardemulation.html" class="hiddenlink" target="rightframe">android.nfc.cardemulation</A><br>
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<A HREF="pkg_android.os.health.html" class="hiddenlink" target="rightframe">android.os.health</A><br>
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<A HREF="pkg_android.service.carrier.html" class="hiddenlink" target="rightframe">android.service.carrier</A><br>
+<A HREF="pkg_android.service.notification.html" class="hiddenlink" target="rightframe">android.service.notification</A><br>
+<A HREF="pkg_android.telecom.html" class="hiddenlink" target="rightframe">android.telecom</A><br>
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<A HREF="pkg_android.test.mock.html" class="hiddenlink" target="rightframe">android.test.mock</A><br>
+<A HREF="pkg_android.text.style.html" class="hiddenlink" target="rightframe">android.text.style</A><br>
+<A HREF="pkg_android.util.html" class="hiddenlink" target="rightframe">android.util</A><br>
+<A HREF="pkg_android.view.html" class="hiddenlink" target="rightframe">android.view</A><br>
+<A HREF="pkg_android.view.inputmethod.html" class="hiddenlink" target="rightframe">android.view.inputmethod</A><br>
+<A HREF="pkg_android.webkit.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<A HREF="pkg_android.widget.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<A NAME="J"></A>
+<A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<A HREF="pkg_java.lang.reflect.html" class="hiddenlink" target="rightframe">java.lang.reflect</A><br>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/packages_index_removals.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/packages_index_removals.html
new file mode 100644
index 0000000..1fc14ea
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/packages_index_removals.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+Package Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Packages" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="packages_index_all.html" class="staysblack">All Packages</a>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<font color="#999999">Additions</font>
+  <br>
+<A HREF="packages_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+Listed as: <span style="color:#069"><strong>Added</strong></span>,  <span style="color:#069"><strike>Removed</strike></span>,  <span style="color:#069">Changed</span></font>
+</div>
+<br>
+<div id="indexTableEntries">
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.app.admin.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.app.admin.html
new file mode 100644
index 0000000..eb48e1d
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.app.admin.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.admin
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/app/admin/package-summary.html" target="_top"><font size="+1"><code>android.app.admin</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DevicePolicyManager"></A>
+  <nobr><A HREF="android.app.admin.DevicePolicyManager.html">DevicePolicyManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.app.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.app.html
new file mode 100644
index 0000000..bf1be87
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.app.html
@@ -0,0 +1,203 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/app/package-summary.html" target="_top"><font size="+1"><code>android.app</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Activity"></A>
+  <nobr><A HREF="android.app.Activity.html">Activity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Fragment"></A>
+  <nobr><A HREF="android.app.Fragment.html">Fragment</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification"></A>
+  <nobr><A HREF="android.app.Notification.html">Notification</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.BigPictureStyle"></A>
+  <nobr><A HREF="android.app.Notification.BigPictureStyle.html">Notification.BigPictureStyle</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.BigTextStyle"></A>
+  <nobr><A HREF="android.app.Notification.BigTextStyle.html">Notification.BigTextStyle</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.Builder"></A>
+  <nobr><A HREF="android.app.Notification.Builder.html">Notification.Builder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.DecoratedCustomViewStyle"></A>
+  <nobr><A HREF="android.app.Notification.DecoratedCustomViewStyle.html">Notification.DecoratedCustomViewStyle</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.DecoratedMediaCustomViewStyle"></A>
+  <nobr><A HREF="android.app.Notification.DecoratedMediaCustomViewStyle.html">Notification.DecoratedMediaCustomViewStyle</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.InboxStyle"></A>
+  <nobr><A HREF="android.app.Notification.InboxStyle.html">Notification.InboxStyle</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.MediaStyle"></A>
+  <nobr><A HREF="android.app.Notification.MediaStyle.html">Notification.MediaStyle</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NotificationManager"></A>
+  <nobr><A HREF="android.app.NotificationManager.html">NotificationManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="UiAutomation"></A>
+  <nobr><A HREF="android.app.UiAutomation.html">UiAutomation</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WallpaperManager"></A>
+  <nobr><A HREF="android.app.WallpaperManager.html">WallpaperManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.app.job.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.app.job.html
new file mode 100644
index 0000000..2cd5d4a
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.app.job.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.job
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/app/job/package-summary.html" target="_top"><font size="+1"><code>android.app.job</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="JobInfo"></A>
+  <nobr><A HREF="android.app.job.JobInfo.html">JobInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.app.usage.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.app.usage.html
new file mode 100644
index 0000000..a4369a7
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.app.usage.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.usage
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/app/usage/package-summary.html" target="_top"><font size="+1"><code>android.app.usage</code></font></A>
+</H2>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DataUsagePolicy"></A>
+  DataUsagePolicy
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DataUsagePolicy.Builder"></A>
+  DataUsagePolicy.Builder
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NetworkStatsManager.DataUsageCallback"></A>
+  NetworkStatsManager.DataUsageCallback
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NetworkStatsManager.UsageCallback"></A>
+  <nobr><A HREF="../../../../reference/android/app/usage/NetworkStatsManager.UsageCallback.html" target="_top"><code>NetworkStatsManager.UsageCallback</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NetworkStats.Bucket"></A>
+  <nobr><A HREF="android.app.usage.NetworkStats.Bucket.html">NetworkStats.Bucket</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NetworkStatsManager"></A>
+  <nobr><A HREF="android.app.usage.NetworkStatsManager.html">NetworkStatsManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.content.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.content.html
new file mode 100644
index 0000000..8026bfbc
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.content.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/content/package-summary.html" target="_top"><font size="+1"><code>android.content</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Context"></A>
+  <nobr><A HREF="android.content.Context.html">Context</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.content.pm.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.content.pm.html
new file mode 100644
index 0000000..025b54d
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.content.pm.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.pm
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/content/pm/package-summary.html" target="_top"><font size="+1"><code>android.content.pm</code></font></A>
+</H2>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LauncherApps.ShortcutQuery"></A>
+  LauncherApps.ShortcutQuery
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ShortcutInfo"></A>
+  ShortcutInfo
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ShortcutInfo.Builder"></A>
+  ShortcutInfo.Builder
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ShortcutManager"></A>
+  ShortcutManager
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ActivityInfo.WindowLayout"></A>
+  <nobr><A HREF="android.content.pm.ActivityInfo.WindowLayout.html">ActivityInfo.WindowLayout</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LauncherApps"></A>
+  <nobr><A HREF="android.content.pm.LauncherApps.html">LauncherApps</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LauncherApps.Callback"></A>
+  <nobr><A HREF="android.content.pm.LauncherApps.Callback.html">LauncherApps.Callback</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.content.res.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.content.res.html
new file mode 100644
index 0000000..16b77d3
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.content.res.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.res
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/content/res/package-summary.html" target="_top"><font size="+1"><code>android.content.res</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Configuration"></A>
+  <nobr><A HREF="android.content.res.Configuration.html">Configuration</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.graphics.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.graphics.html
new file mode 100644
index 0000000..650fa83
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.graphics.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.graphics
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/graphics/package-summary.html" target="_top"><font size="+1"><code>android.graphics</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Paint"></A>
+  <nobr><A HREF="android.graphics.Paint.html">Paint</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.html
new file mode 100644
index 0000000..920a7ba
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/package-summary.html" target="_top"><font size="+1"><code>android</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="R.attr"></A>
+  <nobr><A HREF="android.R.attr.html">R.attr</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="R.style"></A>
+  <nobr><A HREF="android.R.style.html">R.style</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.icu.text.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.icu.text.html
new file mode 100644
index 0000000..49e2887
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.icu.text.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.icu.text
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/icu/text/package-summary.html" target="_top"><font size="+1"><code>android.icu.text</code></font></A>
+</H2>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Collator.CollatorFactory"></A>
+  Collator.CollatorFactory
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NumberFormat.NumberFormatFactory"></A>
+  NumberFormat.NumberFormatFactory
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NumberFormat.SimpleNumberFormatFactory"></A>
+  NumberFormat.SimpleNumberFormatFactory
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BreakIterator"></A>
+  <nobr><A HREF="android.icu.text.BreakIterator.html">BreakIterator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Collator"></A>
+  <nobr><A HREF="android.icu.text.Collator.html">Collator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NumberFormat"></A>
+  <nobr><A HREF="android.icu.text.NumberFormat.html">NumberFormat</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.icu.util.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.icu.util.html
new file mode 100644
index 0000000..4d9f4d0
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.icu.util.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.icu.util
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/icu/util/package-summary.html" target="_top"><font size="+1"><code>android.icu.util</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Currency"></A>
+  <nobr><A HREF="android.icu.util.Currency.html">Currency</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.media.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.media.html
new file mode 100644
index 0000000..cfdc60f
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.media.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/media/package-summary.html" target="_top"><font size="+1"><code>android.media</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioManager"></A>
+  <nobr><A HREF="android.media.AudioManager.html">AudioManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioManager.AudioRecordingCallback"></A>
+  <nobr><A HREF="android.media.AudioManager.AudioRecordingCallback.html">AudioManager.AudioRecordingCallback</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioRecord"></A>
+  <nobr><A HREF="android.media.AudioRecord.html">AudioRecord</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioTrack"></A>
+  <nobr><A HREF="android.media.AudioTrack.html">AudioTrack</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaCodecInfo.CodecProfileLevel"></A>
+  <nobr><A HREF="android.media.MediaCodecInfo.CodecProfileLevel.html">MediaCodecInfo.CodecProfileLevel</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.media.tv.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.media.tv.html
new file mode 100644
index 0000000..c2aa990
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.media.tv.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.tv
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/media/tv/package-summary.html" target="_top"><font size="+1"><code>android.media.tv</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TvInputInfo.Builder"></A>
+  <nobr><A HREF="android.media.tv.TvInputInfo.Builder.html">TvInputInfo.Builder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.net.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.net.html
new file mode 100644
index 0000000..77de244
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.net.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.net
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/net/package-summary.html" target="_top"><font size="+1"><code>android.net</code></font></A>
+</H2>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DataUsageRequest"></A>
+  DataUsageRequest
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NetworkInfo"></A>
+  <nobr><A HREF="android.net.NetworkInfo.html">NetworkInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.nfc.cardemulation.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.nfc.cardemulation.html
new file mode 100644
index 0000000..eca6710
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.nfc.cardemulation.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.nfc.cardemulation
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/nfc/cardemulation/package-summary.html" target="_top"><font size="+1"><code>android.nfc.cardemulation</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NfcFCardEmulation"></A>
+  <nobr><A HREF="android.nfc.cardemulation.NfcFCardEmulation.html">NfcFCardEmulation</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.os.health.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.os.health.html
new file mode 100644
index 0000000..e3993ab
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.os.health.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.os.health
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/os/health/package-summary.html" target="_top"><font size="+1"><code>android.os.health</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SystemHealthManager"></A>
+  <nobr><A HREF="android.os.health.SystemHealthManager.html">SystemHealthManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.os.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.os.html
new file mode 100644
index 0000000..b859b62
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.os.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.os
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/os/package-summary.html" target="_top"><font size="+1"><code>android.os</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LocaleList"></A>
+  <nobr><A HREF="../../../../reference/android/os/LocaleList.html" target="_top"><code>LocaleList</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Build.VERSION_CODES"></A>
+  <nobr><A HREF="android.os.Build.VERSION_CODES.html">Build.VERSION_CODES</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.provider.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.provider.html
new file mode 100644
index 0000000..90a521e
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.provider.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/provider/package-summary.html" target="_top"><font size="+1"><code>android.provider</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.Directory"></A>
+  <nobr><A HREF="android.provider.ContactsContract.Directory.html">ContactsContract.Directory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Settings"></A>
+  <nobr><A HREF="android.provider.Settings.html">Settings</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Settings.Global"></A>
+  <nobr><A HREF="android.provider.Settings.Global.html">Settings.Global</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VoicemailContract"></A>
+  <nobr><A HREF="android.provider.VoicemailContract.html">VoicemailContract</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VoicemailContract.Status"></A>
+  <nobr><A HREF="android.provider.VoicemailContract.Status.html">VoicemailContract.Status</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.service.carrier.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.service.carrier.html
new file mode 100644
index 0000000..1fd1c59
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.service.carrier.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.carrier
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/service/carrier/package-summary.html" target="_top"><font size="+1"><code>android.service.carrier</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CarrierMessagingService"></A>
+  <nobr><A HREF="android.service.carrier.CarrierMessagingService.html">CarrierMessagingService</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.service.notification.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.service.notification.html
new file mode 100644
index 0000000..600d207
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.service.notification.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.service.notification
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/service/notification/package-summary.html" target="_top"><font size="+1"><code>android.service.notification</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Condition"></A>
+  <nobr><A HREF="android.service.notification.Condition.html">Condition</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConditionProviderService"></A>
+  <nobr><A HREF="android.service.notification.ConditionProviderService.html">ConditionProviderService</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NotificationListenerService"></A>
+  <nobr><A HREF="android.service.notification.NotificationListenerService.html">NotificationListenerService</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NotificationListenerService.Ranking"></A>
+  <nobr><A HREF="android.service.notification.NotificationListenerService.Ranking.html">NotificationListenerService.<br>Ranking</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.telecom.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.telecom.html
new file mode 100644
index 0000000..5c7d275
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.telecom.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telecom
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/telecom/package-summary.html" target="_top"><font size="+1"><code>android.telecom</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Call.Details"></A>
+  <nobr><A HREF="android.telecom.Call.Details.html">Call.Details</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.telephony.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.telephony.html
new file mode 100644
index 0000000..9867ca0
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.telephony.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telephony
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/telephony/package-summary.html" target="_top"><font size="+1"><code>android.telephony</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CarrierConfigManager"></A>
+  <nobr><A HREF="android.telephony.CarrierConfigManager.html">CarrierConfigManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TelephonyManager"></A>
+  <nobr><A HREF="android.telephony.TelephonyManager.html">TelephonyManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.test.mock.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.test.mock.html
new file mode 100644
index 0000000..afa63e3
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.test.mock.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.mock
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/test/mock/package-summary.html" target="_top"><font size="+1"><code>android.test.mock</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MockContentProvider"></A>
+  <nobr><A HREF="android.test.mock.MockContentProvider.html">MockContentProvider</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MockContentResolver"></A>
+  <nobr><A HREF="android.test.mock.MockContentResolver.html">MockContentResolver</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MockContext"></A>
+  <nobr><A HREF="android.test.mock.MockContext.html">MockContext</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.text.style.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.text.style.html
new file mode 100644
index 0000000..5466f5a
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.text.style.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.text.style
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/text/style/package-summary.html" target="_top"><font size="+1"><code>android.text.style</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LocaleSpan"></A>
+  <nobr><A HREF="android.text.style.LocaleSpan.html">LocaleSpan</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.util.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.util.html
new file mode 100644
index 0000000..173779a
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.util.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.util
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/util/package-summary.html" target="_top"><font size="+1"><code>android.util</code></font></A>
+</H2>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LocaleList"></A>
+  LocaleList
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.view.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.view.html
new file mode 100644
index 0000000..61d34fb
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.view.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/view/package-summary.html" target="_top"><font size="+1"><code>android.view</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Display.HdrCapabilities"></A>
+  <nobr><A HREF="android.view.Display.HdrCapabilities.html">Display.HdrCapabilities</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PointerIcon"></A>
+  <nobr><A HREF="android.view.PointerIcon.html">PointerIcon</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="View"></A>
+  <nobr><A HREF="android.view.View.html">View</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.view.inputmethod.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.view.inputmethod.html
new file mode 100644
index 0000000..2467c42
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.view.inputmethod.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.inputmethod
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/view/inputmethod/package-summary.html" target="_top"><font size="+1"><code>android.view.inputmethod</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="EditorInfo"></A>
+  <nobr><A HREF="android.view.inputmethod.EditorInfo.html">EditorInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.webkit.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.webkit.html
new file mode 100644
index 0000000..6a5e347
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.webkit.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.webkit
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/webkit/package-summary.html" target="_top"><font size="+1"><code>android.webkit</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WebViewClient"></A>
+  <nobr><A HREF="android.webkit.WebViewClient.html">WebViewClient</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.widget.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.widget.html
new file mode 100644
index 0000000..6fb89a2
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_android.widget.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.widget
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/widget/package-summary.html" target="_top"><font size="+1"><code>android.widget</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TextView"></A>
+  <nobr><A HREF="android.widget.TextView.html">TextView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_java.lang.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_java.lang.html
new file mode 100644
index 0000000..675d5f6
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_java.lang.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/lang/package-summary.html" target="_top"><font size="+1"><code>java.lang</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AbstractStringBuilder"></A>
+  <nobr><A HREF="java.lang.AbstractStringBuilder.html">AbstractStringBuilder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StringBuffer"></A>
+  <nobr><A HREF="java.lang.StringBuffer.html">StringBuffer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StringBuilder"></A>
+  <nobr><A HREF="java.lang.StringBuilder.html">StringBuilder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_java.lang.reflect.html b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_java.lang.reflect.html
new file mode 100644
index 0000000..768eea3
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/changes/pkg_java.lang.reflect.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.reflect
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">24</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">n-preview-3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2016.06.13 13:32</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/lang/reflect/package-summary.html" target="_top"><font size="+1"><code>java.lang.reflect</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Constructor"></A>
+  <nobr><A HREF="java.lang.reflect.Constructor.html">Constructor</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/n-preview-4-incr/stylesheet-jdiff.css b/docs/html/sdk/api_diff/n-preview-4-incr/stylesheet-jdiff.css
new file mode 100644
index 0000000..edafaa3
--- /dev/null
+++ b/docs/html/sdk/api_diff/n-preview-4-incr/stylesheet-jdiff.css
@@ -0,0 +1,44 @@
+
+/* (http://www.jdiff.org) */
+
+div.and-diff-id {border: 1px solid #eee;position:relative;float:right;clear:both;padding:0px;}
+table.diffspectable {border:1px;padding:0px;margin:0px;}
+.diffspechead {background-color:#eee;}
+.diffspectable tr {border:0px;padding:0px;}
+.diffspectable td  {background-color:eee;border:0px;font-size:90%;font-weight:normal;padding:0px;padding-left:1px;padding-right:1px;text-align:center;color:777;}
+td.diffvalueold {color:orange;background-color:white;border:0px;font-size:80%;font-style:normal;text-align:left;padding:0px;padding-left:1px;padding-right:1px;line-height:.95em;}
+td.diffvaluenew {color:green;background-color:white;border:0px;font-size:80%;font-weight:normal;text-align:left;padding:0px;padding-left:1px;padding-right:1px;line-height:.95em;}
+td.diffvalue {color:444;background-color:white;border:0px;font-size:80%;font-weight:normal;text-align:left;padding:0px;padding-left:1px;padding-right:1px;line-height:.95em;}
+td.diffspec {background-color:white;border:0px;font-size:80%;font-weight:normal;padding:1px;color:444;text-align:right;padding-right:.5em;line-height:.95em;}
+tt {font-size:11pt;font-family:monospace;}
+.indexHeader {
+  font-size:96%;
+  line-height:.8em;}
+.jdiffIndex td {
+  font-size:96%;
+  xline-height:.8em;
+  padding:2px;
+  padding-left:1em;}
+.indexText {
+  font-size:100%;
+  padding-left:1em;}
+#indexTableCaption {
+  font-size:96%;
+  margin-top:.25em;
+  margin-bottom:0;
+  }
+.hiddenlink {
+  font-size:96%;
+  line-height:.8em;
+  text-decoration:none;}
+a {
+  text-decoration:none;}
+a:hover {
+  text-decoration:underline;}
+.indexBox {
+  border: 1px solid red;
+  margin:1em 0 0 0;}
+.letterIndexHead {
+  font-size: 1.5em;font-weight:9;
+  margin:0 0 0em 0;
+  border: 1px solid red;}
diff --git a/docs/html/sdk/sdk_vars.cs b/docs/html/sdk/sdk_vars.cs
index 32fdb0a..af13043 100644
--- a/docs/html/sdk/sdk_vars.cs
+++ b/docs/html/sdk/sdk_vars.cs
@@ -1,21 +1,22 @@
 <?cs
-set:ndk.mac64_download='android-ndk-r11c-darwin-x86_64.zip' ?><?cs
-set:ndk.mac64_bytes='772428792' ?><?cs
-set:ndk.mac64_checksum='4ce8e7ed8dfe08c5fe58aedf7f46be2a97564696' ?><?cs
+set:ndk.mac64_download='android-ndk-r12b-darwin-x86_64.zip' ?><?cs
+set:ndk.mac64_bytes='734135279' ?><?cs
+set:ndk.mac64_checksum='e257fe12f8947be9f79c10c3fffe87fb9406118a' ?><?cs
 
-set:ndk.linux64_download='android-ndk-r11c-linux-x86_64.zip' ?><?cs
-set:ndk.linux64_bytes='794135138' ?><?cs
-set:ndk.linux64_checksum='de5ce9bddeee16fb6af2b9117e9566352aa7e279' ?><?cs
+set:ndk.linux64_download='android-ndk-r12b-linux-x86_64.zip' ?><?cs
+set:ndk.linux64_bytes='755551010' ?><?cs
+set:ndk.linux64_checksum='170a119bfa0f0ce5dc932405eaa3a7cc61b27694' ?><?cs
 
-set:ndk.win64_download='android-ndk-r11c-windows-x86_64.zip' ?><?cs
-set:ndk.win64_bytes='771407642' ?><?cs
-set:ndk.win64_checksum='3d89deb97b3191c7e5555f1313ad35059479f071' ?><?cs
-set:ndk.win32_download='android-ndk-r11c-windows-x86.zip' ?><?cs
-set:ndk.win32_bytes='728899082' ?><?cs
-set:ndk.win32_checksum='ff939bde6cd374eecbd2c3b2ad218697f9a5038c'
+set:ndk.win32_download='android-ndk-r12b-windows-x86.zip' ?><?cs
+set:ndk.win32_bytes='706453972' ?><?cs
+set:ndk.win32_checksum='8e6eef0091dac2f3c7a1ecbb7070d4fa22212c04' ?><?cs
+
+set:ndk.win64_download='android-ndk-r12b-windows-x86_64.zip' ?><?cs
+set:ndk.win64_bytes='749567353' ?><?cs
+set:ndk.win64_checksum='337746d8579a1c65e8a69bf9cbdc9849bcacf7f5'
 ?>
 <?cs
 def:size_in_mb(bytes)
   ?><?cs set:mb = bytes / 1024 / 1024
   ?><?cs var:mb ?><?cs
-/def ?>
+/def ?>
\ No newline at end of file
diff --git a/docs/html/topic/instant-apps/faqs.jd b/docs/html/topic/instant-apps/faqs.jd
index bf37241..f69a4da 100644
--- a/docs/html/topic/instant-apps/faqs.jd
+++ b/docs/html/topic/instant-apps/faqs.jd
@@ -46,10 +46,7 @@
   <strong>How do permissions work in Android Instant Apps?</strong>
   <br/>
   Android Instant Apps uses the runtime permissions model introduced in
-  Android 6.0.
-  If an app supports the permission model introduced in Android 6.0
-  (API level 23), it does not require any additional work to become an Instant
-  App that runs on older devices.
+  Android 6.0 (API level 23).
 </p>
 
 <p>
diff --git a/docs/html/topic/instant-apps/index.jd b/docs/html/topic/instant-apps/index.jd
index e2da9c5..8980982 100644
--- a/docs/html/topic/instant-apps/index.jd
+++ b/docs/html/topic/instant-apps/index.jd
@@ -81,7 +81,7 @@
     Get people to your flagship Android experience from links that would
     otherwise open your mobile web page &mdash; like
     search, social media, messaging, and other deep links &mdash; without them
-    needing to stop and install your app first.
+    needing to install your app first.
   </p>
 
   <div class="cols" style="margin-top:1em;">
diff --git a/docs/html/topic/libraries/data-binding/index.jd b/docs/html/topic/libraries/data-binding/index.jd
index ca8784e..293de51 100644
--- a/docs/html/topic/libraries/data-binding/index.jd
+++ b/docs/html/topic/libraries/data-binding/index.jd
@@ -18,7 +18,7 @@
         <a href="#data_binding_layout_files">Data Binding Layout Files</a>
         <ol>
           <li>
-            <a href="#writing_expressions">Writing your first data binding
+            <a href="#writing_expressions">Writing your first set of data binding
             expressions</a>
           </li>
 
@@ -29,9 +29,16 @@
           <li>
             <a href="#binding_data">Binding Data</a>
           </li>
-
           <li>
-            <a href="#binding_events">Binding Events</a>
+            <a href="#event_handling">Event Handling</a>
+            <ol>
+              <li>
+                <a href="#method_references">Method References</a>
+              </li>
+              <li>
+                <a href="#listener_bindings">Listener Bindings</a>
+              </li>
+            </ol>
           </li>
         </ol>
       </li>
@@ -147,27 +154,34 @@
   application logic and layouts.
 </p>
 
-<p>The Data Binding Library offers both flexibility and broad compatibility
-&mdash; it's a support library, so you can use it with all Android platform
-versions back to <strong>Android 2.1</strong> (API level 7+).</p>
+<p>
+  The Data Binding Library offers both flexibility and broad compatibility —
+  it's a support library, so you can use it with all Android platform versions
+  back to <strong>Android 2.1</strong> (API level 7+).
+</p>
 
-<p>To use data binding, Android Plugin for Gradle <strong>1.5.0-alpha1</strong>
-or higher is required.</p>
+<p>
+  To use data binding, Android Plugin for Gradle <strong>1.5.0-alpha1</strong>
+  or higher is required.
+</p>
 
 <h2 id="build_environment">
   Build Environment
 </h2>
 
-<p>To get started with Data Binding, download the library from the Support
-repository in the Android SDK manager. </p>
-
 <p>
-To configure your app to use data binding, add the <code>dataBinding</code> element to your
-<code>build.gradle</code> file in the app module.
+  To get started with Data Binding, download the library from the Support
+  repository in the Android SDK manager.
 </p>
 
- <p>Use the following code snippet to configure data binding: </p>
+<p>
+  To configure your app to use data binding, add the <code>dataBinding</code>
+  element to your <code>build.gradle</code> file in the app module.
+</p>
 
+<p>
+  Use the following code snippet to configure data binding:
+</p>
 <pre>
 android {
     ....
@@ -176,13 +190,17 @@
     }
 }
 </pre>
+<p>
+  If you have an app module that depends on a library which uses data binding,
+  your app module must configure data binding in its <code>build.gradle</code>
+  file as well.
+</p>
 
-<p>If you have an app module that depends on a library which uses data binding, your app module
- must configure data binding in its <code>build.gradle</code> file as well.</p>
-
-<p>Also, make sure you are using a compatible version of Android Studio.
-<strong>Android Studio 1.3</strong> and later provides support for data binding as described in
-<a href="#studio_support">Android Studio Support for Data Binding</a>.
+<p>
+  Also, make sure you are using a compatible version of Android Studio.
+  <strong>Android Studio 1.3</strong> and later provides support for data
+  binding as described in <a href="#studio_support">Android Studio Support for
+  Data Binding</a>.
 </p>
 
 <h2 id="data_binding_layout_files">
@@ -190,7 +208,7 @@
 </h2>
 
 <h3 id="writing_expressions">
-  Writing your first data binding expressions
+  Writing your first set of data binding expressions
 </h3>
 
 <p>
@@ -223,20 +241,19 @@
   The user <strong>variable</strong> within <strong>data</strong> describes a
   property that may be used within this layout.
 </p>
-
 <pre>
 &lt;<strong>variable name="user" type="com.example.User"</strong>/&gt;
 </pre>
 <p>
   Expressions within the layout are written in the attribute properties using
-  the “<code>&commat;{}</code>” syntax. Here, the TextView’s text is set to the
-  firstName property of user:
+  the “<code>&amp;commat;{}</code>” syntax. Here, the TextView’s text is set to
+  the firstName property of user:
 </p>
 
 <pre>
 &lt;TextView android:layout_width="wrap_content"
           android:layout_height="wrap_content"
-          android:text="&commat;{user.firstName}"/&gt;
+          android:text="&amp;commat;{user.firstName}"/&gt;
 </pre>
 <h3 id="data_object">
   Data Object
@@ -261,7 +278,6 @@
   to have data that is read once and never changes thereafter. It is also
   possible to use a JavaBeans objects:
 </p>
-
 <pre>
 public class User {
    private final String firstName;
@@ -280,11 +296,12 @@
 </pre>
 <p>
   From the perspective of data binding, these two classes are equivalent. The
-  expression <strong><code>&commat;{user.firstName}</code></strong> used for
-  the TextView’s <strong><code>android:text</code></strong> attribute will
+  expression <strong><code>&amp;commat;{user.firstName}</code></strong> used
+  for the TextView’s <strong><code>android:text</code></strong> attribute will
   access the <strong><code>firstName</code></strong> field in the former class
-  and the <code>getFirstName()</code> method in the latter class. Alternatively, it
-  will also be resolved to <code>firstName()</code> if that method exists.
+  and the <code>getFirstName()</code> method in the latter class.
+  Alternatively, it will also be resolved to <code>firstName()</code> if that
+  method exists.
 </p>
 
 <h3 id="binding_data">
@@ -328,16 +345,38 @@
 //or
 ListItemBinding binding = DataBindingUtil.<em>inflate</em>(layoutInflater, R.layout.<em><strong>list_item</strong></em>, viewGroup, <strong>false</strong>);
 </pre>
-
-<h3 id="binding_events">
-  Binding Events
-</h3>
+<h3 id="event_handling">Event Handling</h3>
 <p>
-  Events may be bound to handler methods directly, similar to the way
-  <strong><code>android:onClick</code></strong> can be assigned to a method in the Activity.
-  Event attribute names are governed by the name of the listener method with a few exceptions.
-  For example, {@link android.view.View.OnLongClickListener} has a method {@link android.view.View.OnLongClickListener#onLongClick onLongClick()},
-  so the attribute for this event is <code>android:onLongClick</code>.
+Data Binding allows you to write expressions handling events that are dispatched from the views (e.g. onClick).
+Event attribute names are governed by the name of the listener method with a few exceptions.
+For example, {@link android.view.View.OnLongClickListener} has a method {@link android.view.View.OnLongClickListener#onLongClick onLongClick()},
+so the attribute for this event is <code>android:onLongClick</code>.
+There are two ways to handle an event.
+</p>
+<ul>
+  <li>
+    <a href="#method_references">Method References</a>: In your expressions, you can reference methods that conform to the signature of the listener method. When an expression evaluates to a method reference, Data Binding wraps the method reference and owner object in a listener, and sets that listener on the target view. If the expression evaluates to null, Data Binding does not create a listener and sets a null listener instead.
+  </li>
+  <li>
+    <a href="#listener_bindings">Listener Bindings</a>: These are lambda expressions that are evaluated when the event happens.
+Data Binding always creates a listener, which it sets on the view. When the event is dispatched, the listener evaluates the lambda expression.
+  </li>
+</ul>
+<h4 id="method_references">
+  Method References
+</h4>
+<p>
+  Events can be bound to handler methods directly, similar to the way
+  <strong><code>android:onClick</code></strong> can be assigned to a method in an Activity.
+  One major advantage compared to the {@code View#onClick} attribute is that the expression
+  is processed at compile time, so if the method does not exist or its signature is not
+  correct, you receive a compile time error.</p>
+<p>
+  The major difference between Method References and Listener Bindings is that
+  the actual listener implementation is created when the data is bound, not
+  when the event is triggered. If you prefer to evaluate the expression when
+  the event happens, you should use <a href="#listener_bindings">listener
+  binding</a>.
 </p>
 <p>
   To assign an event to its handler, use a normal binding expression, with the value
@@ -345,7 +384,6 @@
 </p>
 <pre>public class MyHandlers {
     public void onClickFriend(View view) { ... }
-    public void onClickEnemy(View view) { ... }
 }
 </pre>
 <p>
@@ -365,14 +403,121 @@
        &lt;TextView android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="&commat;{user.firstName}"
-           android:onClick="&commat;{user.isFriend ? handlers.onClickFriend : handlers.onClickEnemy}"/&gt;
-       &lt;TextView android:layout_width="wrap_content"
-           android:layout_height="wrap_content"
-           android:text="&commat;{user.lastName}"
-           android:onClick="&commat;{user.isFriend ? handlers.onClickFriend : handlers.onClickEnemy}"/&gt;
+           android:onClick="&commat;{handlers::onClickFriend}"/&gt;
    &lt;/LinearLayout&gt;
 &lt;/layout&gt;
 </pre>
+<p>
+Note that the signature of the method in the expression must exactly match the signature of the method in the
+Listener object.
+</p>
+<h4 id="listener_bindings">
+  Listener Bindings
+</h4>
+<p>
+  Listener Bindings are binding expressions that run when an event happens.
+  They are similar to method references, but they let you run arbitrary data
+  binding expressions. This feature is available with Android Gradle Plugin for Gradle
+  version 2.0 and later.
+</p>
+<p>
+  In method references, the parameters of the method must
+  match the parameters of the event listener. In Listener Bindings, only your
+  return value must match the expected return value of the listener (unless it
+  is expecting void).
+  For example, you can have a presenter class that has the following method:
+</p>
+<pre>
+public class Presenter {
+    public void onSaveClick(Task task){}
+}
+</pre>
+  Then you can bind the click event to your class as follows:
+<pre>
+  &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
+  &lt;layout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&gt;
+      &lt;data&gt;
+          &lt;variable name=&quot;task&quot; type=&quot;com.android.example.Task&quot; /&gt;
+          &lt;variable name=&quot;presenter&quot; type=&quot;com.android.example.Presenter&quot; /&gt;
+      &lt;/data&gt;
+      &lt;LinearLayout android:layout_width=&quot;match_parent&quot; android:layout_height=&quot;match_parent&quot;&gt;
+          &lt;Button android:layout_width=&quot;wrap_content&quot; android:layout_height=&quot;wrap_content&quot;
+          android:onClick=&quot;@{() -&gt; presenter.onSaveClick(task)}&quot; /&gt;
+      &lt;/LinearLayout&gt;
+  &lt;/layout&gt;
+</pre>
+<p>
+  Listeners are represented by lambda expressions that are allowed only as root
+  elements of your expressions. When a callback is used in an expression, Data
+  Binding automatically creates the necessary listener and registers for the
+  event. When the view fires the event, Data Binding evaluates the given
+  expression. As in regular binding expressions, you still get the null and
+  thread safety of Data Binding while these listener expressions are being
+  evaluated.
+</p>
+<p>
+  Note that in the example above, we haven't defined the {@code view} parameter
+  that is passed into {@link
+  android.view.View.OnClickListener#onClick(android.view.View view)}. Listener
+  bindings provide two choices for listener parameters: you can either ignore
+  all parameters to the method or name all of them. If you prefer to name the
+  parameters, you can use them in your expression. For example, the expression
+  above could be written as:
+</p>
+<pre>
+  android:onClick=&quot;@{(view) -&gt; presenter.onSaveClick(task)}&quot;
+</pre>
+Or if you wanted to use the parameter in the expression, it could work as follows:
+<pre>
+public class Presenter {
+    public void onSaveClick(View view, Task task){}
+}
+</pre>
+<pre>
+  android:onClick=&quot;@{(theView) -&gt; presenter.onSaveClick(theView, task)}&quot;
+</pre>
+You can use a lambda expression with more than one parameter:
+<pre>
+public class Presenter {
+    public void onCompletedChanged(Task task, boolean completed){}
+}
+</pre>
+<pre>
+  &lt;CheckBox android:layout_width=&quot;wrap_content&quot; android:layout_height=&quot;wrap_content&quot;
+        android:onCheckedChanged=&quot;@{(cb, isChecked) -&gt; presenter.completeChanged(task, isChecked)}&quot; /&gt;
+</pre>
+<p>
+  If the event you are listening to returns a value whose type is not {@code
+  void}, your expressions must return the same type of value as well. For
+  example, if you want to listen for the long click event, your expression
+  should return {@code boolean}.
+</p>
+<pre>
+public class Presenter {
+    public boolean onLongClick(View view, Task task){}
+}
+</pre>
+<pre>
+  android:onLongClick=&quot;@{(theView) -&gt; presenter.onLongClick(theView, task)}&quot;
+</pre>
+<p>
+If the expression cannot be evaluated due to {@code null} objects, Data Binding returns
+the default Java value for that type. For example, {@code null} for reference types, {@code 0} for {@code int},
+{@code false} for {@code boolean}, etc.
+</p>
+<p>
+If you need to use an expression with a predicate (e.g. ternary), you can use
+{@code void} as a symbol.
+</p>
+<pre>
+  android:onClick=&quot;@{(v) -&gt; v.isVisible() ? doSomething() : void}&quot;
+</pre>
+
+<h5>Avoid Complex Listeners</h5>
+Listener expressions are very powerful and can make your code very easy to read.
+On the other hand, listeners containing complex expressions make your layouts hard to read and unmaintainable. 
+These expressions should be as simple as passing available data from your UI to your callback method. You should implement 
+any business logic inside the callback method that you invoked from the listener expression.
 
 <p>
   Some specialized click event handlers exist and they need an attribute other than
diff --git a/docs/html/topic/libraries/support-library/features.jd b/docs/html/topic/libraries/support-library/features.jd
index d9616d9..584bef8 100755
--- a/docs/html/topic/libraries/support-library/features.jd
+++ b/docs/html/topic/libraries/support-library/features.jd
@@ -619,7 +619,7 @@
 <a href="{@docRoot}reference/android/support/customtabs/CustomTabsService.html">Custom Tabs
 Service</a>
 and
-<a href="{@docRoot}reference/android/support/customtabs/CustomTabsSCallback.html">Custom Tabs
+<a href="{@docRoot}reference/android/support/customtabs/CustomTabsCallback.html">Custom Tabs
 Callback</a>.  </p>
 
 
diff --git a/docs/html/topic/libraries/support-library/revisions.jd b/docs/html/topic/libraries/support-library/revisions.jd
index 7525760..47d2ac1 100644
--- a/docs/html/topic/libraries/support-library/revisions.jd
+++ b/docs/html/topic/libraries/support-library/revisions.jd
@@ -6,6 +6,118 @@
 <p>This page provides details about the Support Library package releases.</p>
 
 <div class="toggle-content opened">
+  <p id="rev24-0-0">
+    <a href="#" onclick="return toggleContent(this)"><img src=
+    "{@docRoot}assets/images/styles/disclosure_up.png" class=
+    "toggle-content-img" alt="">Android Support Library, revision 24.0.0</a>
+    <em>(June 2016)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
+    <dl>
+      <dt>
+        Changes for <a href=
+        "{@docRoot}tools/support-library/features.html#v4">v4 Support
+        Library</a>:
+      </dt>
+
+      <dd>
+          <ul>
+            <li>Added <code>Fragment.commitNow()</code>
+            for synchronous commit
+            </li>
+
+            <li>Added <code>NotificationCompat.MessagingStyle</code>
+            for multi-party conversations
+            </li>
+
+            <li>Added <code>NotificationManagerCompat.areNotificationsEnabled()</code>
+            and <code>getImportance()</code>
+            </li>
+
+            <li>{@link android.support.v4.media.session.MediaSessionCompat}
+            now mirrors the functionality of {@link
+            android.media.session.MediaSession} and no longer calls {@link
+            android.media.session.MediaSession#setMediaButtonReceiver
+            setMediaButtonReceiver()} automatically
+            </li>
+          </ul>
+          <p class="note">
+            <strong>Note:</strong> Only <a href=
+            "{@docRoot}reference/android/support/v4/media/MediaBrowserServiceCompat.html"
+            ><code>MediaBrowserServiceCompat</code></a> in version 24.0.0 is
+            forward-compatible with future versions of Android beyond API 24.
+            If you are using previous versions, update to this version to
+            ensure compatibility.
+
+          </p>
+
+      <dt>
+        Changes for <a href=
+        "{@docRoot}tools/support-library/features.html#v7-appcompat">v7
+        appcompat library</a>:
+      </dt>
+
+      <dd>
+        <ul>
+          <li>Added support for referencing themed {@link
+            android.content.res.ColorStateList} objects from XML
+          </li>
+        </ul>
+      </dd>
+
+      <dt>
+        Changes for <a href=
+        "{@docRoot}tools/support-library/features.html#design">Design Support
+        Library</a>:
+      </dt>
+
+      <dd>
+        <ul>
+          <li>Improvements to {@link android.support.design.widget.AppBarLayout}
+            handling of elevation using {@link
+            android.animation.StateListAnimator}
+          </li>
+        </ul>
+      </dd>
+
+      <dt>
+        Changes for <a href=
+        "{@docRoot}topic/libraries/support-library/features.html#v17-leanback"
+        >v17 Leanback library</a>:
+      </dt>
+
+      <dd>
+        <ul>
+          <li>Added <code>OnboardingFragment</code> to provide first-run welcome
+            and setup flow
+          </li>
+        </ul>
+      </dd>
+
+      <dt>
+        Changes for <a href=
+        "{@docRoot}topic/libraries/support-library/features.html#custom-tabs"
+        >custom tabs</a>:
+      </dt>
+
+      <dd>
+        <ul>
+          <li>Added support for providing a {@link android.widget.RemoteViews}
+            hierarchy for the secondary toolbar</li>
+          <li>Added <code>CustomTabsClient.connectAndInitialize()</code>
+            for one-line warm up</li>
+        </ul>
+      </dd>
+
+    </dl>
+  </div>
+</div>
+
+<!-- end of collapsible section: 24.0.0 -->
+
+
+<div class="toggle-content closed">
   <p id="rev23-4-0">
     <a href="#" onclick="return toggleContent(this)"><img src=
     "{@docRoot}assets/images/styles/disclosure_up.png" class=
@@ -45,10 +157,9 @@
 
       <dd>
         <ul>
-          <li>Added <!-- TODO: Link to method -->
-             <code><a href=
-            "{@docRoot}reference/android/support/v7/app/AppCompatDelegate.html">
-            AppCompatDelegate</a>.setCompatVectorFromResourcesEnabled()</code>
+          <li>Added
+            {@link android.support.v7.app.AppCompatDelegate#setCompatVectorFromResourcesEnabled
+            AppCompatDelegate.setCompatVectorFromResourcesEnabled()}
             method to re-enable usage of vector drawables in {@link
             android.graphics.drawable.DrawableContainer} objects on devices
             running Android 4.4 (API level 19) and lower. See <a href=
@@ -118,8 +229,9 @@
 
       <dd>
         <ul>
-          <li>Fixed a bug where <!-- TODO: Javadoc link -->
-             <code>VectorDrawableCompat</code> does not render correctly in
+          <li>Fixed a bug where {@link
+            android.support.graphics.drawable.VectorDrawableCompat} does
+            not render correctly in
             {@link android.widget.TextView} on API level 23. (<a class=
             "external-link" href=
             "https://code.google.com/p/android/issues/detail?id=206227">Issue
diff --git a/docs/html/topic/libraries/testing-support-library/index.jd b/docs/html/topic/libraries/testing-support-library/index.jd
index 8b23f73..941f5c3 100644
--- a/docs/html/topic/libraries/testing-support-library/index.jd
+++ b/docs/html/topic/libraries/testing-support-library/index.jd
@@ -523,7 +523,7 @@
 mDevice = UiDevice.getInstance(getInstrumentation());
 
 // Perform a short press on the HOME button
-mDevice().pressHome();
+mDevice.pressHome();
 
 // Bring up the default launcher by searching for
 // a UI component that matches the content-description for the launcher button
diff --git a/docs/html/training/appbar/setting-up.jd b/docs/html/training/appbar/setting-up.jd
index cc963c6..cf564d0 100644
--- a/docs/html/training/appbar/setting-up.jd
+++ b/docs/html/training/appbar/setting-up.jd
@@ -68,7 +68,7 @@
 as your activity's app bar:
 
 <ol>
-  <li>Add the the
+  <li>Add the
   <a href="{@docRoot}tools/support-library/features.html#v7-appcompat">v7
   appcompat</a> support library to your project, as described in <a href=
   "{@docRoot}tools/support-library/setup.html">Support Library Setup</a>.
diff --git a/docs/html/training/articles/user-data-ids.jd b/docs/html/training/articles/user-data-ids.jd
index 5a4648b..9102166 100644
--- a/docs/html/training/articles/user-data-ids.jd
+++ b/docs/html/training/articles/user-data-ids.jd
@@ -189,15 +189,15 @@
 
 <div style="padding:.5em 2em;">
 <div style="border-left:4px solid #999;padding:0 1em;font-style:italic;">
-<p>...upon reset, a new advertising
+<p>...if reset, a new advertising
   identifier must not be connected to a previous advertising identifier or data
   derived from a previous advertising identifier without the explicit consent
-  of the user</span></p>
+  of the user.</span></p>
 </div>
 </div>
 
 <p>
-  <em><strong>Always respect the associated Interest Based Advertising
+  <em><strong>Always respect the associated Personalized Ads
   flag</strong></em>. Advertising IDs are configurable in that users can limit
   the amount of tracking associated with the ID. Always use the <code><a href=
   "https://developers.google.com/android/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient.Info.html#isLimitAdTrackingEnabled()">
@@ -210,10 +210,10 @@
 
 <div style="padding:.5em 2em;">
 <div style="border-left:4px solid #999;padding:0 1em;font-style:italic;">
-<p>...you must abide by a user’s ‘opt out of
-  interest-based advertising’ setting. If a user has enabled this setting, you
+<p>...you must abide by a user’s ‘Opt out of interest-based advertising’ or 'Opt
+  out of Ads Personalization' setting. If a user has enabled this setting, you
   may not use the advertising identifier for creating user profiles for
-  advertising purposes or for targeting users with interest-based advertising.
+  advertising purposes or for targeting users with personalized advertising.
   Allowed activities include contextual advertising, frequency capping,
   conversion tracking, reporting and security and fraud detection.</span></p>
 </div>
@@ -286,7 +286,8 @@
   <code>account_id</code> column in both tables, which would be a violation of
   the <a href=
   "https://play.google.com/about/developer-content-policy.html">Google Play
-  Developer Content Policy</a>.
+  Developer Content Policy</a>, if you did not get explicit permission from
+  your users.
 </p>
 
 <p>
diff --git a/docs/html/training/auto/audio/index.jd b/docs/html/training/auto/audio/index.jd
index 9144900..3a1b1e8 100644
--- a/docs/html/training/auto/audio/index.jd
+++ b/docs/html/training/auto/audio/index.jd
@@ -20,6 +20,8 @@
       <li><a href="#overview">Provide Audio Services</a></li>
       <li><a href="#config_manifest">Configure Your Manifest</a></li>
       <li><a href="#isconnected">Determine if Your App is Connected</a></li>
+      <li><a href="#alarm">Handle Alarms</a></li>
+      <li><a href="#mediaadv">Handle Media Advertisements</a></li>
       <li><a href="#implement_browser">Build a Browser Service</a></li>
       <li><a href="#implement_callback">Implement Play Controls</a></li>
       <li><a href="#support_voice">Support Voice Actions</a></li>
@@ -239,6 +241,71 @@
 registerReceiver(receiver, filter);
 </pre>
 
+<h2 id="alarm">Handle Alarms</h2>
+<p>
+To prevent user distraction, Android Auto media apps must not start playing audio
+ through the car speakers unless a user consciously starts playback (such as
+ when the user presses play in your app). Even a user-scheduled alarm from the
+ media app must not start playing music through the car speakers.
+ If your media app has an alarm feature, the app should determine if the phone
+ is in
+<a href="{@docRoot}reference/android/content/res/Configuration.html#UI_MODE_TYPE_CAR">car mode</a>
+before playing any audio. Your app can do this by calling
+<a href="{@docRoot}reference/android/app/UiModeManager.html">UiModeManager.getCurrentModeType()</a>,
+ which checks whether the device is running in car mode.
+</p>
+
+<p>
+If the device is in car mode, media apps that support alarms must do one of the
+following things:
+
+<ul>
+<li>Disable the alarm.</li>
+<li>Play the alarm over
+<a href="{@docRoot}reference/android/media/AudioManager.html#STREAM_ALARM">STREAM_ALARM</a>,
+ and provide a UI on the phone screen to disable the alarm.</li>
+</ul>
+
+The following code snippet checks whether an app is running in car mode:
+<pre>
+ public static boolean isCarUiMode(Context c) {
+      UiModeManager uiModeManager = (UiModeManager) c.getSystemService(Context.UI_MODE_SERVICE);
+      if (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_CAR) {
+            LogHelper.d(TAG, "Running in Car mode");
+            return true;
+      } else {
+          LogHelper.d(TAG, "Running on a non-Car mode");
+          return false;
+        }
+  }
+</pre>
+
+<h2 id="mediaadv">Handle Media Advertisements</h2>
+<p>By default, Android Auto displays a notification when
+the media metadata changes during an audio playback session. When a media
+app switches from playing music to running an advertisement, it is distracting
+(and unnecessary) to display a notification to the user. To prevent Android Auto
+from displaying a notification in this case, you must set the media metadata
+key {@code android.media.metadata.ADVERTISEMENT} to 1, as shown in the code
+snippet below:
+
+<pre>
+
+&#64;Override
+public static final String EXTRA_METADATA_ADVERTISEMENT =
+            "android.media.metadata.ADVERTISEMENT";
+
+public void onPlayFromMediaId(String mediaId, Bundle extras) {
+    MediaMetadata.Builder builder = new MediaMetadata.Builder();
+    // ...
+    if (isAd(mediaId)) {
+        builder.putLong(EXTRA_METADATA_ADVERTISEMENT, 1);
+    }
+    // ...
+    mediaSession.setMetadata(builder.build());
+}
+
+</pre>
 
 <h2 id="implement_browser">Build a Browser Service</h2>
 
diff --git a/docs/html/training/basics/supporting-devices/languages.jd b/docs/html/training/basics/supporting-devices/languages.jd
index 7d4d474..ba7c016 100644
--- a/docs/html/training/basics/supporting-devices/languages.jd
+++ b/docs/html/training/basics/supporting-devices/languages.jd
@@ -41,7 +41,7 @@
 <p>To add support for more languages, create additional <code>values</code> directories inside
 <code>res/</code> that include a hyphen and the ISO language code at the end of the
 directory name. For example, <code>values-es/</code> is the directory containing simple
-resourcess for the Locales with the language code "es".  Android loads the appropriate resources
+resources for the Locales with the language code "es".  Android loads the appropriate resources
 according to the locale settings of the device at run time. For more information, see
  <a href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">Providing Alternative Resources</a>.</p>
 
diff --git a/docs/html/training/material/animations.jd b/docs/html/training/material/animations.jd
index 9c78545..96cc5a1 100644
--- a/docs/html/training/material/animations.jd
+++ b/docs/html/training/material/animations.jd
@@ -415,12 +415,16 @@
 &lt;/selector>
 </pre>
 
-<p>To attach custom view state animations to a view, define an animator using the
-<code>selector</code> element in an XML resource file as in this example, and assign it to your
-view with the <code>android:stateListAnimator</code> attribute. To assign a state list animator
-to a view in your code, use the {@link android.animation.AnimatorInflater#loadStateListAnimator
-AnimationInflater.loadStateListAnimator()} method, and assign the animator to your view with the
-{@link android.view.View#setStateListAnimator View.setStateListAnimator()} method.</p>
+<p>
+  To attach custom view state animations to a view, define an animator using
+  the <code>selector</code> element in an XML resource file as in this example,
+  and assign it to your view with the <code>android:stateListAnimator</code>
+  attribute. To assign a state list animator to a view in your code, use the
+  {@link android.animation.AnimatorInflater#loadStateListAnimator
+  AnimatorInflater.loadStateListAnimator()} method, and assign the animator to
+  your view with the {@link android.view.View#setStateListAnimator
+  View.setStateListAnimator()} method.
+</p>
 
 <p>When your theme extends the material theme, buttons have a Z animation by default. To avoid this
 behavior in your buttons, set the <code>android:stateListAnimator</code> attribute to
diff --git a/docs/html/training/material/compatibility.jd b/docs/html/training/material/compatibility.jd
index 9ea88b2..8ebe6f6 100644
--- a/docs/html/training/material/compatibility.jd
+++ b/docs/html/training/material/compatibility.jd
@@ -127,7 +127,7 @@
 
 <p>To use these features in versions of Android earlier than 5.0 (API level 21), include the
 Android v7 Support Library in your project as a <a
-href="{@docRoot}/studio/build/index.html#dependencies">Gradle dependency</a>:</p>
+href="{@docRoot}studio/build/index.html#dependencies">Gradle dependency</a>:</p>
 
 <pre>
 dependencies {
diff --git a/docs/html/training/testing/performance.jd b/docs/html/training/testing/performance.jd
index 8592c0f..0c0ab7f 100644
--- a/docs/html/training/testing/performance.jd
+++ b/docs/html/training/testing/performance.jd
@@ -437,15 +437,25 @@
 </p>
 
 <ul>
-  <li>Rendering Performance 101
+  <li>
+    <a class="external-link" href="https://www.youtube.com/watch?v=HXQhu6qfTVU">
+      Rendering Performance 101</a>
   </li>
-  <li>Why 60fps?
+  <li>
+    <a class="external-link" href="https://www.youtube.com/watch?v=CaMTIgxCSqU">
+      Why 60fps?</a>
   </li>
-  <li>Android UI and the GPU
+  <li>
+    <a class="external-link" href="https://www.youtube.com/watch?v=WH9AFhgwmDw">
+      Android, UI, and the GPU</a>
   </li>
-  <li>Invalidations Layouts and performance
+  <li>
+    <a class="external-link" href="https://www.youtube.com/watch?v=we6poP0kw6E">
+      Invalidations, Layouts, and Performance</a>
   </li>
-  <li>Analyzing UI Performance with Systrace
+  <li>
+    <a href="{@docRoot}studio/profile/systrace.html">
+      Analyzing UI Performance with Systrace</a>
   </li>
 </ul>
 
diff --git a/docs/html/training/testing/start/index.jd b/docs/html/training/testing/start/index.jd
index 707ba9d..aa0473f 100644
--- a/docs/html/training/testing/start/index.jd
+++ b/docs/html/training/testing/start/index.jd
@@ -9,51 +9,20 @@
   <div id="tb">
 
     <h2>
-      Dependencies and prerequisites
-    </h2>
-
-    <ul>
-      <li>
-        <a href="{@docRoot}tools/studio/index.html">Android Studio 2.0</a>, or
-        later.
-      </li>
-
-      <li>The Android Support Repository (available from the <a href=
-      "{@docRoot}tools/help/sdk-manager.html">SDK Manager</a>)
-      </li>
-    </ul>
-
-    <h2>
-      This lesson teaches you to
+      In this document
     </h2>
 
       <ol>
-        <li>
-          <a href="#config-local-tests">Configure Your Project for Local Unit
-          Tests</a>
-        </li>
-
-        <li>
-          <a href="#config-instrumented-tests">Configure Your Project for
-          Instrumented Tests</a>
-        </li>
-
-        <li>
-          <a href="#build">Build and Run Your Tests</a>
+        <li><a href="#test-types">Test Types</a></li>
+        <li><a href="#test-apis">Test APIs</a>
           <ol>
-            <li>
-              <a href="#run-local-tests">Run Local Unit Tests</a>
-            </li>
-
-            <li>
-              <a href="#run-instrumented-tests">Run Instrumented Tests</a>
-            </li>
-
-            <li>
-              <a href="#run-ctl">Run Instrumented Tests with Cloud Test Lab</a>
-            </li>
+            <li><a href="#junit">JUnit</a></li>
+            <li><a href="#support-library">Android Testing Support Library</a></li>
+            <li><a href="#assertion">Assertion classes</a></li>
+            <li><a href="#monkeyrunner">Monkey and monkeyrunner</a></li>
           </ol>
         </li>
+        <li><a href="#build">Guides for Building Android Tests</a>
       </ol>
 
     <h2>
@@ -61,10 +30,6 @@
     </h2>
 
     <ul>
-      <li>
-        <a href="{@docRoot}tools/testing/testing_android.html">Testing
-        Concepts</a>
-      </li>
 
       <li>
         <a href="https://github.com/googlesamples/android-testing" class=
@@ -80,484 +45,356 @@
 </div>
 
 <p>
-  Writing and running tests are important parts of the Android app development
-  cycle. Well-written tests can help you catch bugs early in development and
-  give you confidence in your code. Using Android Studio, you can run local
-  unit tests or instrumented tests on a variety of physical or virtual Android
-  devices. You can then analyze the results and make changes to your code
-  without leaving the development environment.
+  Android tests are based on <a href="http://junit.org/" class=
+  "external-link">JUnit</a>, and you can run them either as local
+  unit tests on the JVM or as instrumented tests on an Android device.
+  This page provides an introduction to the concepts and
+  tools for building Android tests.
 </p>
 
-<p>
-  <em>Local unit tests</em> are tests that run on your local machine, without
-  needing access to the Android framework or an Android device. To learn how to
-  develop local units tests, see <a href=
-  "{@docRoot}training/testing/unit-testing/local-unit-tests.html">Building
-  Local Unit Tests</a>.
-</p>
 
-<p>
-  <em>Instrumented tests</em> are tests that run on an Android device or
-  emulator. These tests have access to {@link android.app.Instrumentation}
-  information, such as the {@link android.content.Context} for the app under
-  test. Instrumented tests can be used for unit, user interface (UI), or app
-  component integration testing. To learn how to develop instrumented tests for
-  your specific needs, see these additional topics:
-</p>
+<h2 id="test-types">Test Types</h2>
+
+
+<p>When using Android Studio to write any of your tests, your test code must go
+into one of two different code directories (source sets). For each module in
+your project, Android Studio includes both source sets, corresponding to the
+following test types:</p>
+
+<dl>
+<dt><b>Local unit tests</b></dt>
+<dd>Located at <code><var>module-name</var>/src/test/java/</code>.
+<p>These tests run on the local JVM
+and do not have access to functional Android framework APIs.</p>
+<p>To get started, see <a
+href="/training/testing/unit-testing/local-unit-tests.html">Building Local
+Unit Tests</a>.</p>
+</dd>
+
+<dt><b>Instrumented tests</b></dt>
+<dd>Located at <code><var>module-name</var>/src/androidTest/java/</code>.
+<p>These are all tests that must run on an Android hardware device or
+an Android emulator.</p>
+
+<p>Instrumented tests are built into an APK that runs on the device alongside
+your app under test. The system runs your test APK and your app under tests in
+the same process, so your tests can invoke methods and modify fields in the
+app, and automate user interaction with your app.</p>
+
+<p>For information about how to create instrumented tests, see the
+following topics:</p>
 
 <ul>
   <li>
     <a href=
-    "{@docRoot}training/testing/unit-testing/instrumented-unit-tests.html">Building
-    Instrumented Unit Tests</a> - Build more complex unit tests that have
-    Android dependencies which cannot be easily filled by using mock objects.
+    "{@docRoot}training/testing/unit-testing/instrumented-unit-tests.html"
+    >Building Instrumented Unit Tests</a>: Build complex unit tests with
+    Android dependencies that cannot be satisfied with mock objects.
   </li>
 
   <li>
     <a href="{@docRoot}training/testing/ui-testing/index.html">Automating User
-    Interface Tests</a> - Create tests to verify that the user interface
+    Interface Tests</a>: Create tests to verify that the user interface
     behaves correctly for user interactions within a single app or for
     interactions across multiple apps.
   </li>
 
   <li>
     <a href="{@docRoot}training/testing/integration-testing/index.html">Testing
-    App Component Integrations</a> - Verify the behavior of components that
+    App Component Integrations</a>: Verify the behavior of components that
     users do not directly interact with, such as a <a href=
     "{@docRoot}guide/components/services.html">Service</a> or a <a href=
-    "guide/topics/providers/content-providers.html">Content Provider</a>.
+    "{@docRoot}guide/topics/providers/content-providers.html">Content Provider</a>.
   </li>
 </ul>
 
-<p>
-  This lesson teaches you how to build and run your tests using using Android
-  Studio. If you are not using Android Studio, you can learn how to
-  <a href="{@docRoot}tools/testing/testing_otheride.html">run your tests from
-  the command-line</a>.
-</p>
+</dd>
+</dl>
 
-<h3 id="config-local-tests">
-  Configure Your Project for Local Unit Tests
-</h3>
+<img src="/images/testing/test-types_2x.png" alt="" width="798" />
 
-<p>
-  In your Android Studio project, you must store the source files for local
-  unit tests under a specific source directory ({@code src/test/java}). This
-  improves project organization by grouping your unit tests together into a
-  single source set.
-</p>
-
-<p>
-  As with production code, you can create local unit tests for a <a href=
-  "{@docRoot}tools/building/configuring-gradle.html#workBuildVariants">specific
-  flavor or build type</a>. Keep your unit tests in a test source tree location
-  that corresponds to your production source tree, such as:
-</p>
+<p>However, the <em>local unit tests</em> and <em>instrumented tests</em>
+described above are just terms that help distinguish the tests that run on your
+local JVM from the tests that run on the Android platform (on a hardware device
+or emulator). The real testing types that you should understand when building a
+complete test suite are described in the following table.</p>
 
 <table>
-<tr>
-<th>Path to Production Class</th>
-<th>Path to Local Unit Test Class</th>
-</tr>
-<tr>
-<td>{@code src/main/java/Foo.java}</td>
-<td>{@code src/test/java/FooTest.java}</td>
-</tr>
-<tr>
-<td>{@code src/debug/java/Foo.java}</td>
-<td>{@code src/testDebug/java/FooTest.java}</td>
-</tr>
-<tr>
-<td>{@code src/myFlavor/java/Foo.java}</td>
-<td>{@code src/testMyFlavor/java/FooTest.java}</td>
-</tr>
+  <tr>
+    <th>
+      Type
+    </th>
+    <th>
+      Subtype
+    </th>
+    <th>
+      Description
+    </th>
+  </tr>
+
+  <tr>
+    <td rowspan="3">
+      Unit tests
+    </td>
+  </tr>
+
+  <tr>
+    <td>
+      Local Unit Tests
+    </td>
+    <td>
+      Unit tests that run locally on the Java Virtual Machine (JVM). Use these
+tests to minimize execution time when your tests have no Android framework
+dependencies or when you can mock the Android framework dependencies.
+    </td>
+  </tr>
+
+  <tr>
+    <td>
+      Instrumented unit tests
+    </td>
+    <td>
+      Unit tests that run on an Android device or emulator. These tests have
+access to <code><a href=
+"/reference/android/app/Instrumentation.html">Instrumentation</a></code>
+information, such as the <code><a href=
+"/reference/android/content/Context.html">Context</a></code> of the app you are
+testing. Use these tests when your tests have Android dependencies that mock
+objects cannot satisfy.
+    </td>
+  </tr>
+
+  <tr>
+    <td style="white-space:nowrap" rowspan="3">
+      Integration Tests
+    </td>
+  </tr>
+
+  <tr>
+    <td>
+      Components within your app only
+    </td>
+    <td>
+      This type of test verifies that the target app behaves as expected when
+a user performs a specific action or enters a specific input in its activities.
+For example, it allows you to check that the target app returns the correct UI
+output in response to user interactions in the app’s activities. UI testing
+frameworks like <a href=
+      "/tools/testing-support-library/index.html#Espresso">Espresso</a> allow
+you to programmatically simulate user actions and test complex intra-app user
+interactions.
+    </td>
+  </tr>
+
+  <tr>
+    <td>
+      Cross-app Components
+    </td>
+    <td>
+      This type of test verifies the correct behavior of interactions between
+different user apps or between user apps and system apps. For example, you might
+want to test that your app behaves correctly when the user performs an action
+in the Android Settings menu. UI testing frameworks that support cross-app
+interactions, such as <a
+href="/topic/libraries/testing-support-library/index.html#UIAutomator"
+>UI Automator</a>, allow you to create tests for such scenarios.
+    </td>
+  </tr>
 </table>
 
-<p>
-  You'll need to configure the testing dependencies for your project to use the
-  standard APIs provided by the JUnit 4 framework. If your test needs to
-  interact with Android dependencies, include the <a href=
-  "https://github.com/mockito/mockito" class="external-link">Mockito</a>
-  library to simplify your local unit tests. To learn more about using mock
-  objects in your local unit tests, see <a href=
-  "{@docRoot}training/testing/unit-testing/local-unit-tests.html#mocking-dependencies">
-  Mocking Android dependencies</a>.
-</p>
 
-<p>
-  In your app's top-level {@code build.gradle} file, you need to specify these
-  libraries as dependencies:
-</p>
+
+
+
+
+<h2 id="test-apis">Test APIs</h2>
+
+<p>The following are common APIs used for testing apps on Android.</p>
+
+
+<h3 id="junit">JUnit</h3>
+
+<p>You should write your unit or integration test class as a <a href=
+"http://junit.org/" class="external-link">JUnit 4</a> test class. The framework
+offers a convenient way to perform common setup, teardown, and assertion
+operations in your test.</p>
+
+<p>A basic JUnit 4 test class is a Java class that contains one or more test
+methods. A test method begins with the <code>@Test</code> annotation and
+contains the code to exercise and verify a single functionality (that is, a
+logical unit) in the component that you want to test.</p>
+
+<p>The following snippet shows an example JUnit 4 integration test that uses the
+<a href="/topic/libraries/testing-support-library/index.html#Espresso">Espresso
+APIs</a> to perform a click action on a UI element, then checks to see if
+an expected string is displayed.</p>
 
 <pre>
-dependencies {
-    // Required -- JUnit 4 framework
-    testCompile 'junit:junit:4.12'
-    // Optional -- Mockito framework
-    testCompile 'org.mockito:mockito-core:1.10.19'
-}
-</pre>
+&#64;RunWith(AndroidJUnit4.class)
+&#64;LargeTest
+public class MainActivityInstrumentationTest {
 
-<h3 id="config-instrumented-tests">
-  Configure Your Project for Instrumented Tests
-</h3>
+    &#64;Rule
+    public ActivityTestRule mActivityRule = new ActivityTestRule<>(
+            MainActivity.class);
 
-<p>
-  In your Android Studio project, you must place the source code for your
-  instrumentated tests under a specific directory
-  (<code>src/androidTest/java</code>).
-</p>
+    &#64;Test
+    public void sayHello(){
+        onView(withText("Say hello!")).perform(click());
 
-<p>
-  <a href="{@docRoot}tools/testing-support-library/index.html#setup">Download
-  the Android Testing Support Library Setup</a>, which provides APIs that allow
-  you to quickly build and run instrumented test code for your apps. The
-  Testing Support Library includes a JUnit 4 test runner (<a href=
-  "{@docRoot}tools/testing-support-library/index.html#AndroidJUnitRunner">AndroidJUnitRunner</a>
-  ) and APIs for functional UI tests (<a href=
-  "{@docRoot}tools/testing-support-library/index.html#Espresso">Espresso</a>
-  and <a href=
-  "{@docRoot}tools/testing-support-library/index.html#UIAutomator">UI
-  Automator</a>).
-</p>
-
-<p>
-  You'll need to configure the Android testing dependencies for your project to
-  use the test runner and the rules APIs provided by the Testing Support
-  Library. To simplify your test development, we also recommend that you
-  include the <a href="https://github.com/hamcrest" class=
-  "external-link">Hamcrest</a> library, which lets you create more flexible
-  assertions using the Hamcrest matcher APIs.
-</p>
-
-<p>
-  In your app's top-level {@code build.gradle} file, you need to specify these
-  libraries as dependencies:
-</p>
-
-<pre>
-dependencies {
-    androidTestCompile 'com.android.support:support-annotations:23.0.1'
-    androidTestCompile 'com.android.support.test:runner:0.4.1'
-    androidTestCompile 'com.android.support.test:rules:0.4.1'
-    // Optional -- Hamcrest library
-    androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
-    // Optional -- UI testing with Espresso
-    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
-    // Optional -- UI testing with UI Automator
-    androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'
-}
-</pre>
-
-
-<p>
-  To use JUnit 4 test classes, make sure to specify <a href=
-  "{@docRoot}reference/android/support/test/runner/AndroidJUnitRunner.html">{@code
-  AndroidJUnitRunner}</a> as the default test instrumentation runner in your
-  project by including the following setting in your app's module-level {@code build.gradle}
-  file:
-</p>
-
-<pre>
-android {
-    defaultConfig {
-        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+        onView(withId(R.id.textView)).check(matches(withText("Hello, World!")));
     }
 }
 </pre>
 
-<h3 id="testartifacts">Work With Test Artifacts</h3>
-<p>Android Studio has two types of test artifacts: Android Instrumentation Tests
-and Unit Tests. Previously, you could work with just one test artifact at a
-time. Now, both test artifacts are enabled.
-The advantage of enabling both test artifacts is that any changes you make to
-the underlying code affect
-them both. For example, if you rename a class that both test artifacts access,
-both will know about the class name refactoring.</p>
-
-<p>The figure shows what your project looks like with both test
-artifacts enabled. Notice the shading of both test artifacts.</p>
-
-<!-- Commenting out for now, but leaving it in case we need to add it back.
-<img src="{@docRoot}images/training/testartifactseparate.png" style="float:left;width:250px;margin-right:20px" /> -->
-<img src="{@docRoot}images/training/testartifactcombined.png" style="float:left;width:250px" />
-<!-- Commenting out for now, but leaving it in case we need to add it back.
-<p>
-By default, both test artifacts are enabled in Android Studio. To enable just
-one, deselect <strong>Enable all test artifacts</strong> in your preferences:
-</p>
-
-<ol>
-<li>Select
-<strong>Android Studio</strong> > <strong>Preferences</strong> > <strong>Build,
-Execution, Deployment</strong> > <strong>Build Tools</strong> >
-<strong>Gradle</strong> > <strong>Experimental</strong>.</li>
-<li>Deselect the test artifacts option.</li>
-<li>Click <strong>OK</strong>.</li>
-</ol>
--->
-
-<h2 id="build">Build and Run Your Tests</h2>
-
-
-<p>
-  Android Studio provides all the tools you need to build, run, and analyze
-  your tests within the development environment. You can also run instrumented
-  tests on multiple device configurations, simultaneously, using <a href=
-  "https://developers.google.com/cloud-test-lab/">Cloud Test Lab</a>
-  integration.
-</p>
-
-<p class="note">
-  <strong>Note:</strong> While running or debugging instrumented tests,
-  Android Studio does not inject the additional methods required for <a href=
-  "{@docRoot}tools/building/building-studio.html#instant-run">Instant Run</a>
-  and turns the feature off.
-</p>
-
-<h3 id="run-local-tests">
-  Run Local Unit Tests
-</h3>
-
-<p>
-  To run your local unit tests:
-</p>
-
-<ol>
-
-  <li>In the <em>Project</em> window, right click on the project and
-  synchronize your project.
-  </li>
-
-  <!--
-<li>If you enabled one test artifact only, open the
-<strong>Build Variants</strong> window by clicking the left-hand tab, then
-change the test artifact to <em>Unit Tests</em>.
-</li>
--->
-
-  <li>In the <em>Project</em> window, navigate to your unit test class or
-  method, then right-click it and select <strong>Run</strong> <img src=
-  "{@docRoot}images/tools/as-run.png" alt="" style=
-  "vertical-align:bottom;margin:0;">.
-    <ul>
-      <li>To run all tests in the unit test directory, right-click on the
-      directory and select <strong>Run tests</strong> <img src=
-      "{@docRoot}images/tools/as-run.png" alt="" style=
-      "vertical-align:bottom;margin:0;">.
-      </li>
-    </ul>
-  </li>
-
-</ol>
-
-<p>
-  The Android Plugin for Gradle compiles the local unit test code located in
-  the default directory ({@code src/test/java}), builds a test app, and
-  executes it locally using the default test runner class. Android Studio then
-  displays the results in the <em>Run</em> window.
-</p>
-
-<h3 id="run-instrumented-tests">
-  Run Instrumented Tests
-</h3>
-
-<p>
-  To run your instrumented tests:
-</p>
+<p>In your JUnit 4 test class, you can call out sections in your test code for
+special processing by using the following annotations:</p>
 
 <ul>
-  <!--
-<li>If you enabled one test artifact only, open the
-<strong>Build Variants</strong> window by clicking the left-hand tab, then set
-the test artifact to <em>Android Instrumentation Tests</em>.
-</li>
--->
+<li><code>@Before</code>: Use this annotation to specify a block of code that
+contains test setup operations. The test class invokes this code block before
+each test. You can have multiple <code>@Before</code> methods but the order in
+which the test class calls these methods is not guaranteed.</li>
 
-  <li>In the <em>Project</em> window, navigate to your instrumented test class
-  or method, then right-click and run it using the Android Test configuration.
-  To run all tests in the instrumented test directory, right-click the
-  directory and select <strong>Run tests</strong> <img src=
-  "{@docRoot}images/tools/as-run.png" alt="" style=
-  "vertical-align:bottom;margin:0;">.
-  </li>
+<li><code>@After</code>: This annotation specifies a block of code that
+contains test tear-down operations. The test class calls this code block after
+every test method. You can define multiple <code>@After</code> operations in
+your test code. Use this annotation to release any resources from memory.</li>
+
+<li><code>@Test</code>: Use this annotation to mark a test method. A single
+test class can contain multiple test methods, each prefixed with this
+annotation.</li>
+
+<li><code>@Rule</code>: Rules allow you to flexibly add or redefine the
+behavior of each test method in a reusable way. In Android testing, use this
+annotation together with one of the test rule classes that the Android Testing
+Support Library provides, such as <a href=
+"/reference/android/support/test/rule/ActivityTestRule.html"><code>ActivityTestRule</code></a>
+or <a href=
+"/reference/android/support/test/rule/ServiceTestRule.html"><code>ServiceTestRule</code></a>.</li>
+
+<li><code>@BeforeClass</code>: Use this annotation to specify static methods
+for each test class to invoke only once. This testing step is useful for
+expensive operations such as connecting to a database.</li>
+
+<li><code>@AfterClass</code>: Use this annotation to specify static methods for
+the test class to invoke only after all tests in the class have run. This
+testing step is useful for releasing any resources allocated in the
+<code>@BeforeClass</code> block.</li>
+
+<li><code>@Test(timeout=)</code>: Some annotations support the ability to pass
+in elements for which you can set values. For example, you can specify a
+timeout period for the test. If the test starts but does not complete within
+the given timeout period, it automatically fails. You must specify the timeout
+period in milliseconds, for example: <code>@Test(timeout=5000)</code>.</li>
 </ul>
 
-<p>
-  The <a href="{@docRoot}tools/building/plugin-for-gradle.html">Android Plugin
-  for Gradle</a> compiles the instrumented test code located in the default
-  directory ({@code src/androidTest/java}), builds a test APK and production
-  APK, installs both APKs on the connected device or emulator, and runs the
-  tests. Android Studio then displays the results of the instrumented test execution in the
-  <em>Run</em> window.
+<p>For more annotations, see the documentation for <a
+href="http://junit.sourceforge.net/javadoc/org/junit/package-summary.html"
+class="external-link">JUnit annotations</a> and the <a
+href="/reference/android/support/annotation/package-summary.html">Android
+annotations</a>.</p>
+
+<p>Use the JUnit <code><a href=
+"/reference/junit/framework/Assert.html">Assert</a></code> class to verify the
+correctness of an object's state. The assert methods compare values you expect
+from a test to the actual results and throw an exception if the comparison
+fails. <a href="#AssertionClasses">Assertion classes</a> describes these
+methods in more detail.</p>
+
+
+<h3 id="support-library">Android Testing Support Library</h3>
+
+<p>The <a href="/topic/libraries/testing-support-library/index.html">Android
+Testing Support Library</a> provides a set of APIs that allow you
+to quickly build and run test code for your apps, including JUnit 4 and
+functional UI tests. The library includes the following instrumentation-based
+APIs that are useful when you want to automate your tests:</p>
+
+<dt><a href="/topic/libraries/testing-support-library/index.html#AndroidJUnitRunner"
+>AndroidJUnitRunner</a></dt>
+<dd>A JUnit 4-compatible test runner for Android.</dd>
+
+<dt><a href="/topic/libraries/testing-support-library/index.html#Espresso"
+>Espresso</a></dt>
+<dd>A UI testing framework; suitable for functional UI testing within an
+app.</dd>
+
+<dt><a href="/topic/libraries/testing-support-library/index.html#UIAutomator"
+>UI Automator</a></dt>
+<dd>A UI testing framework suitable for cross-app functional UI testing between
+both system and installed apps.</dd>
+
+
+<h3 id="assertion">Assertion classes</h3>
+
+<p>Because Android Testing Support Library APIs extend JUnit, you can use
+assertion methods to display the results of tests. An assertion method compares
+an actual value returned by a test to an expected value, and throws an
+AssertionException if the comparison test fails. Using assertions is more
+convenient than logging, and provides better test performance.</p>
+
+<p>To simplify test development, you should use the <a href=
+"https://github.com/hamcrest" class="external-link">Hamcrest library</a>, which
+lets you create more flexible tests using the Hamcrest matcher APIs.</p>
+
+
+
+<h3 id="monkeyrunner">Monkey and monkeyrunner</h3>
+
+<p>The Android SDK includes two tools for functional-level app testing:</p>
+
+<dl>
+<dt>Monkey</dt>
+<dd>This is a command-line tool that sends pseudo-random streams of keystrokes,
+touches, and gestures to a device. You run it with the <a href=
+"/studio/command-line/adb.html">Android Debug Bridge (adb)</a> tool, and use it
+to stress-test your app, report back errors any that are encountered, or repeat
+a stream of events by running the tool multiple times with the same random
+number seed.</dd>
+
+
+<dt>monkeyrunner</dt>
+<dd>This tool is an API and execution environment for test programs written in
+Python. The API includes functions for connecting to a device, installing and
+uninstalling packages, taking screenshots, comparing two images, and running a
+test package against an app. Using the API, you can write a wide range of
+large, powerful, and complex tests. You run programs that use the API with the
+<code>monkeyrunner</code> command-line tool.</dd>
+</dl>
+
+
+
+
+<h2 id="build">Guides for Building Android Tests</h2>
+
+<p>The following documents provide more detail about how to build and run
+a variety of test types:
 </p>
 
-<h3 id="run-ctl">Run Instrumented Tests with Cloud Test Lab</h3>
-
-<p>
-  Using <a href="https://developers.google.com/cloud-test-lab/">Cloud Test
-  Lab</a>, you can simultaneously test your app on many popular Android
-  devices, across multiple languages, screen orientations, and versions of the
-  Android platform. These tests run on actual physical devices in remote Google
-  data centers. You can also <a href=
-  "https://developers.google.com/cloud-test-lab/test-screenshots">configure
-  your instrumented tests to take screenshots</a> while Cloud Test Lab runs its
-  tests. You can <a href=
-  "https://developers.google.com/cloud-test-lab/command-line">deploy tests to
-  Cloud Test Lab from the command line</a>, or from Android Studio's integrated
-  testing tools.
-</p>
-
-<p>
-  Android Studio allows you to connect to your Google Cloud Platform account,
-  configure your tests, deploy them to Cloud Test Lab, and analyze the results
-  all within the development environment. Cloud Test Lab in Android Studio
-  supports the following Android test frameworks: <a href=
-  "{@docRoot}training/testing/ui-testing/espresso-testing.html">Espresso</a>,
-  <a href="{@docRoot}tools/testing-support-library/index.html#UIAutomator">UI
-  Automator 2.0</a>, or <a class="external-link" href=
-  "https://github.com/robotiumtech/robotium">Robotium</a>. Test results provide
-  test logs and include the details of any app failures.
-</p>
-
-<p>
-  Before you can start using Cloud Test Lab, you need to:
-</p>
-
-<ol>
-  <li>
-    <a href="https://console.developers.google.com/freetrial">Create a
-    Google Cloud Platform account</a> to use with active billing.
-  </li>
-
-  <li>
-    <a href="https://support.google.com/cloud/answer/6251787">Create a Google
-    Cloud project</a> for your app.
-  </li>
-
-  <li>
-    <a href="https://support.google.com/cloud/answer/6288653">Set up an active
-    billing account</a> and associate it with the project you just created.
-  </li>
-</ol>
-
-
-<h4 id="configure-matrix">
-Configure a test matrix and run a test
-</h4>
-
-<p>
-  Android Studio provides integrated tools that allow you to configure how you
-  want to deploy your tests to Cloud Test Lab. After you have created a Google
-  Cloud project with active billing, you can create a test configuration and
-  run your tests:
-</p>
-
-<ol>
-  <li>Click <strong>Run</strong> &gt; <strong>Edit Configurations</strong> from
-  the main menu.
-  </li>
-
-  <li>Click <strong>Add New Configuration (+)</strong> and select
-  <strong>Android Tests</strong>.
-  </li>
-
-  <li>In the Android Test configuration dialog:
-    <ol type="a">
-      <li>Enter or select the details of your test, such as the test name, module
-      type, test type, and test class.
-      </li>
-
-      <li>From the <em>Target</em> drop-down menu under <em>Deployment Target
-      Options</em>, select <strong>Cloud Test Lab Device Matrix</strong>.
-      </li>
-
-      <li>If you are not logged in, click <strong>Connect to Google Cloud
-      Platform</strong> and allow Android Studio access to your account.
-      </li>
-
-      <li>Next to <em>Cloud Project</em>, click the <img src=
-      "{@docRoot}images/tools/as-wrench.png" alt="wrench and nut" style=
-      "vertical-align:bottom;margin:0;"> button and select your Google Cloud
-      Platform project from the list.
-      </li>
-    </ol>
-  </li>
-
-  <li>Create and configure a test matrix:
-    <ol type="a">
-      <li>Next to the <em>Matrix Configuration</em> drop-down list, click <strong>
-        Open Dialog</strong> <img src="{@docRoot}images/tools/as-launchavdm.png"
-        alt="ellipses button" style="vertical-align:bottom;margin:0;">.
-      </li>
-
-      <li>Click <strong>Add New Configuration (+)</strong>.
-      </li>
-
-      <li>In the <strong>Name</strong> field, enter a name for your new
-      configuration.
-      </li>
-
-      <li>Select the device(s), Android version(s), locale(s) and screen
-      orientation(s) that you want to test your app with. Cloud Test Lab will test
-      your app against every combination of your selections when generating test
-      results.
-      </li>
-
-      <li>Click <strong>OK</strong> to save your configuration.
-      </li>
-    </ol>
-  </li>
-
-  <li>Click <strong>OK</strong> in the <em>Run/Debug Configurations</em> dialog
-  to exit.
-  </li>
-
-  <li>Run your tests by clicking <strong>Run</strong> <img src=
-  "{@docRoot}images/tools/as-run.png" alt="" style=
-  "vertical-align:bottom;margin:0;">.
-  </li>
-</ol>
-
-<img src="{@docRoot}images/training/ctl-config.png" alt="">
-<p class="img-caption">
-  <strong>Figure 1.</strong> Creating a test configuration for Cloud Test
-  Lab.
-</p>
-
-<h4 id="ctl-results">
-  Analyzing test results
-</h4>
-
-<p>
-  When Cloud Test Lab completes running your tests, the <em>Run</em> window will
-  open to show the results, as shown in figure 2. You may need to click
-  <strong>Show Passed</strong> <img src="{@docRoot}images/tools/as-ok.png" alt=
-  "" style="vertical-align:bottom;margin:0;"> to see all your executed tests.
-</p>
-
-<img src="{@docRoot}images/training/ctl-test-results.png" alt="">
-
-<p class="img-caption">
-  <strong>Figure 2.</strong> Viewing the results of instrumented tests using
-  Cloud Test Lab.
-</p>
-
-<p>
-  You can also analyze your tests on the web by following the link displayed at
-  the beginning of the test execution log in the <em>Run</em> window, as shown
-  in figure 3.
-</p>
-
-<img src="{@docRoot}images/training/ctl-exec-log.png" alt="">
-
-<p class="img-caption">
-  <strong>Figure 3.</strong> Click the link to view detailed test results on
-  the web.
-</p>
-
-<p>
-  To learn more about interpreting web results, see <a href=
-  "https://developers.google.com/cloud-test-lab/analyzing-results">Analyzing
-  Cloud Test Lab Web Results</a>.
-</p>
\ No newline at end of file
+<dl>
+  <dt><a href="/training/testing/unit-testing/local-unit-tests.html"
+    >Building Local Unit Tests</a></dt>
+  <dd>Build unit tests that have no dependencies or only simple dependencies
+    that you can mock, which run on your local JVM.</dd>
+  <dt><a href=
+    "/training/testing/unit-testing/instrumented-unit-tests.html"
+    >Building Instrumented Unit Tests</a></dt>
+  <dd>Build complex unit tests with
+    Android dependencies that cannot be satisfied with mock objects,
+    which run on a hardware device or emulator.</dd>
+  <dt><a href="/training/testing/ui-testing/index.html">Automating User
+    Interface Tests</a></dt>
+  <dd>Create tests to verify that the user interface
+    behaves correctly for user interactions within a single app or for
+    interactions across multiple apps.</dd>
+  <dt><a href="/training/testing/integration-testing/index.html">Testing App
+    Compontent Integrations</a></dt>
+  <dd>Verify the behavior of components that
+    users do not directly interact with, such as a service or a content
+    provider.</dd>
+  <dt><a href="/training/testing/performance.html">Testing Display
+    Performance</a></dt>
+  <dd>Write tests that measure your app's UI performance to ensure
+    a consistently smooth user experience.</dd>
+</dl>
\ No newline at end of file
diff --git a/docs/html/training/testing/unit-testing/instrumented-unit-tests.jd b/docs/html/training/testing/unit-testing/instrumented-unit-tests.jd
index 38321ee..f65766d 100644
--- a/docs/html/training/testing/unit-testing/instrumented-unit-tests.jd
+++ b/docs/html/training/testing/unit-testing/instrumented-unit-tests.jd
@@ -7,21 +7,20 @@
 <!-- This is the training bar -->
 <div id="tb-wrapper">
 <div id="tb">
-  <h2>Dependencies and Prerequisites</h2>
-
-  <ul>
-    <li>Android 2.2 (API level 8) or higher</li>
-    <li><a href="{@docRoot}tools/testing-support-library/index.html">
-      Android Testing Support Library</a></li>
-    <li><a href="{@docRoot}tools/studio/index.html">Android Studio (latest version)</a>.</li>
-  </ul>
-
   <h2>This lesson teaches you to</h2>
 
   <ol>
     <li><a href="#setup">Set Up Your Testing Environment</a></li>
-    <li><a href="#build">Create a Instrumented Unit Test Class</a></li>
-    <li><a href="#run">Run Instrumented Unit Tests</a></li>
+    <li><a href="#build">Create a Instrumented Unit Test Class</a>
+      <ol>
+        <li><a href="#test-suites">Create a test suite</a></li>
+      </ol>
+    </li>
+    <li><a href="#run">Run Instrumented Unit Tests</a>
+      <ol>
+        <li><a href="#run-ctl">Run your tests with Firebase Test Lab</a></li>
+      </ol>
+    </li>
   </ol>
 
   <h2>Try it out</h2>
@@ -36,25 +35,88 @@
 </div>
 </div>
 
-<p>
-Instrumented unit tests are unit tests that run on physical devices and emulators, instead of
-the Java Virtual Machine (JVM) on your local machine. You should create instrumented unit tests
-if your tests need access to instrumentation information (such as the target app's
-{@link android.content.Context}) or if they require the real implementation of an Android framework
-component (such as a {@link android.os.Parcelable} or {@link android.content.SharedPreferences}
-object). Using instrumented unit tests also helps to reduce the effort required to write and
-maintain mock code. You are still free to use a mocking framework, if you choose, to simulate any
-dependency relationships. Instrumented unit tests can take advantage of the Android framework APIs
-and supporting APIs, such as the Android Testing Support Library.
-</p>
+<p>Instrumented unit tests are tests that run on physical devices and
+emulators, and they can take advantage of the Android framework APIs and
+supporting APIs, such as the Android Testing Support Library. You should create
+instrumented unit tests if your tests need access to instrumentation
+information (such as the target app's {@link android.content.Context}) or if
+they require the real implementation of an Android framework component (such as
+a {@link android.os.Parcelable} or {@link android.content.SharedPreferences}
+object).</p>
+
+<p>Using instrumented unit tests also helps to reduce the effort required to
+write and maintain mock code. You are still free to use a mocking framework, if
+you choose, to simulate any dependency relationships.</p>
+
 
 <h2 id="setup">Set Up Your Testing Environment</h2>
-<p>Before building your instrumented unit test, make sure to configure your test source code
-location and project dependencies, as described in
-<a href="{@docRoot}training/testing/start/index.html#config-instrumented-tests">
-Getting Started with Testing</a>.</p>
+
+<p>In your Android Studio project, you must store the source files for
+instrumented tests at
+<code><var>module-name</var>/src/androidTests/java/</code>. This directory
+already exists when you create a new project.</p>
+
+<p>Before you begin, you should
+  <a href="{@docRoot}tools/testing-support-library/index.html#setup">download
+  the Android Testing Support Library Setup</a>, which provides APIs that allow
+  you to quickly build and run instrumented test code for your apps. The
+  Testing Support Library includes a JUnit 4 test runner (<a href=
+  "{@docRoot}tools/testing-support-library/index.html#AndroidJUnitRunner">AndroidJUnitRunner</a>
+  ) and APIs for functional UI tests (<a href=
+  "{@docRoot}tools/testing-support-library/index.html#Espresso">Espresso</a>
+  and <a href=
+  "{@docRoot}tools/testing-support-library/index.html#UIAutomator">UI
+  Automator</a>).
+</p>
+
+<p>You also need to configure the Android testing dependencies for your project
+to use the test runner and the rules APIs provided by the Testing Support
+Library. To simplify your test development, you should also include the
+<a href="https://github.com/hamcrest" class="external-link">Hamcrest</a>
+library, which lets you create more flexible assertions using the Hamcrest
+matcher APIs.</p>
+
+<p>
+  In your app's top-level {@code build.gradle} file, you need to specify these
+  libraries as dependencies:
+</p>
+
+<pre>
+dependencies {
+    androidTestCompile 'com.android.support:support-annotations:24.0.0'
+    androidTestCompile 'com.android.support.test:runner:0.5'
+    androidTestCompile 'com.android.support.test:rules:0.5'
+    // Optional -- Hamcrest library
+    androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
+    // Optional -- UI testing with Espresso
+    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
+    // Optional -- UI testing with UI Automator
+    androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
+}
+</pre>
+
+
+<p>
+  To use JUnit 4 test classes, make sure to specify <a href=
+  "{@docRoot}reference/android/support/test/runner/AndroidJUnitRunner.html">{@code
+  AndroidJUnitRunner}</a> as the default test instrumentation runner in your
+  project by including the following setting in your app's module-level {@code build.gradle}
+  file:
+</p>
+
+<pre>
+android {
+    defaultConfig {
+        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+    }
+}
+</pre>
+
+
+
 
 <h2 id="build">Create an Instrumented Unit Test Class</h2>
+
 <p>
 Your instrumented unit test class should be written as a JUnit 4 test class. To learn more about
 creating JUnit 4 test classes and using JUnit 4 assertions and annotations, see
@@ -119,7 +181,7 @@
 }
 </pre>
 
-<h3 id="test-suites">Creating a test suite</h3>
+<h3 id="test-suites">Create a test suite</h3>
 <p>
 To organize the execution of your instrumented unit tests, you can group a collection of test
 classes in a <em>test suite</em> class and run these tests together. Test suites can be nested;
@@ -162,9 +224,198 @@
 public class UnitTestSuite {}
 </pre>
 
+
 <h2 id="run">Run Instrumented Unit Tests</h2>
+
+<p>To run your instrumented tests, follow these steps:</p>
+
+<ol>
+  <li>Be sure your project is synchronized with Gradle by clicking
+  <b>Sync Project</b> <img src="/images/tools/sync-project.png" alt=""
+  class="inline-icon"> in the toolbar.</li>
+
+  <li>Run your test in one of the following ways:
+    <ul>
+      <li>To run a single test, open the <b>Project</b> window, and then
+  right-click a test and click <strong>Run</strong> <img src=
+  "{@docRoot}images/tools/as-run.png" alt="" class="inline-icon">.</li>
+      <li>To test all methods in a class, right-click a class or method in the
+test file and click <b>Run</b> <img src=
+  "{@docRoot}images/tools/as-run.png" alt="" class="inline-icon">.
+      <li>To run all tests in a directory, right-click on the
+      directory and select <strong>Run tests</strong> <img src=
+      "{@docRoot}images/tools/as-run.png" alt="" class="inline-icon">.
+      </li>
+    </ul>
+  </li>
+
+</ol>
+
 <p>
-To run your test, follow the steps for running instrumented tests
-described in <a href="{@docRoot}training/testing/start/index.html#run-instrumented-tests">
-Getting Started with Testing</a>.
+  The <a href="{@docRoot}tools/building/plugin-for-gradle.html">Android Plugin
+  for Gradle</a> compiles the instrumented test code located in the default
+  directory ({@code src/androidTest/java/}), builds a test APK and production
+  APK, installs both APKs on the connected device or emulator, and runs the
+  tests. Android Studio then displays the results of the instrumented test execution in the
+  <em>Run</em> window.
+</p>
+
+<p class="note">
+  <strong>Note:</strong> While running or debugging instrumented tests,
+  Android Studio does not inject the additional methods required for <a href=
+  "{@docRoot}tools/building/building-studio.html#instant-run">Instant Run</a>
+  and turns the feature off.
+</p>
+
+
+<h3 id="run-ctl">Run your tests with Firebase Test Lab</h3>
+
+<p>Using <a href="https://firebase.google.com/docs/test-lab/">Firebase Test
+Lab</a>, you can simultaneously test your app on many popular Android devices
+and configurations such as locale, orientation, screen size, and platform
+version. These tests run on actual physical devices in remote Google data
+centers. You can deploy to Firebase Test Lab directly from Android Studio or
+from the command line. Test results provide test logs and include the details
+of any app failures.</p>
+
+<p>
+  Before you can start using Firebase Test Lab, you need to:
+</p>
+
+<ol>
+  <li>
+    <a href="https://console.developers.google.com/freetrial">Create a
+    Google Cloud Platform account</a> to use with active billing.
+  </li>
+
+  <li>
+    <a href="https://support.google.com/cloud/answer/6251787">Create a Google
+    Cloud project</a> for your app.
+  </li>
+
+  <li>
+    <a href="https://support.google.com/cloud/answer/6288653">Set up an active
+    billing account</a> and associate it with the project you just created.
+  </li>
+</ol>
+
+
+<h4 id="configure-matrix">
+Configure a test matrix and run a test
+</h4>
+
+<p>
+  Android Studio provides integrated tools that allow you to configure how you
+ want to deploy your tests to Firebase Test Lab. After you have created a Google
+  Cloud project with active billing, you can create a test configuration and
+  run your tests:
+</p>
+
+<ol>
+  <li>Click <strong>Run</strong> &gt; <strong>Edit Configurations</strong> from
+  the main menu.
+  </li>
+
+  <li>Click <strong>Add New Configuration (+)</strong> and select
+  <strong>Android Tests</strong>.
+  </li>
+
+  <li>In the Android Test configuration dialog:
+    <ol type="a">
+      <li>Enter or select the details of your test, such as the test name, module
+      type, test type, and test class.
+      </li>
+
+      <li>From the <em>Target</em> drop-down menu under <em>Deployment Target
+      Options</em>, select <strong>Cloud Test Lab Device Matrix</strong>.
+      </li>
+
+      <li>If you are not logged in, click <strong>Connect to Google Cloud
+      Platform</strong> and allow Android Studio access to your account.
+      </li>
+
+      <li>Next to <em>Cloud Project</em>, click the <img src=
+      "{@docRoot}images/tools/as-wrench.png" alt="wrench and nut" style=
+      "vertical-align:bottom;margin:0;"> button and select your Google Cloud
+      Platform project from the list.
+      </li>
+    </ol>
+  </li>
+
+  <li>Create and configure a test matrix:
+    <ol type="a">
+      <li>Next to the <em>Matrix Configuration</em> drop-down list, click <strong>
+        Open Dialog</strong> <img src="{@docRoot}images/tools/as-launchavdm.png"
+        alt="ellipses button" style="vertical-align:bottom;margin:0;">.
+      </li>
+
+      <li>Click <strong>Add New Configuration (+)</strong>.
+      </li>
+
+      <li>In the <strong>Name</strong> field, enter a name for your new
+      configuration.
+      </li>
+
+      <li>Select the device(s), Android version(s), locale(s) and screen
+      orientation(s) that you want to test your app with. Firebase Test Lab will
+      test your app against every combination of your selections when generating
+      test results.
+      </li>
+
+      <li>Click <strong>OK</strong> to save your configuration.
+      </li>
+    </ol>
+  </li>
+
+  <li>Click <strong>OK</strong> in the <em>Run/Debug Configurations</em> dialog
+  to exit.
+  </li>
+
+  <li>Run your tests by clicking <strong>Run</strong> <img src=
+  "{@docRoot}images/tools/as-run.png" alt="" style=
+  "vertical-align:bottom;margin:0;">.
+  </li>
+</ol>
+
+<img src="{@docRoot}images/training/ctl-config.png" alt="">
+<p class="img-caption">
+  <strong>Figure 1.</strong> Creating a test configuration for Firebase Test
+  Lab.
+</p>
+
+<h4 id="ctl-results">
+  Analyzing test results
+</h4>
+
+<p>
+  When Firebase Test Lab completes running your tests, the <em>Run</em> window
+  will open to show the results, as shown in figure 2. You may need to click
+  <strong>Show Passed</strong> <img src="{@docRoot}images/tools/as-ok.png" alt=
+  "" style="vertical-align:bottom;margin:0;"> to see all your executed tests.
+</p>
+
+<img src="{@docRoot}images/training/ctl-test-results.png" alt="">
+
+<p class="img-caption">
+  <strong>Figure 2.</strong> Viewing the results of instrumented tests using
+  Firebase Test Lab.
+</p>
+
+<p>
+  You can also analyze your tests on the web by following the link displayed at
+  the beginning of the test execution log in the <em>Run</em> window, as shown
+  in figure 3.
+</p>
+
+<img src="{@docRoot}images/training/ctl-exec-log.png" alt="">
+
+<p class="img-caption">
+  <strong>Figure 3.</strong> Click the link to view detailed test results on
+  the web.
+</p>
+
+<p>
+  To learn more about interpreting web results, see <a href=
+  "https://firebase.google.com/docs/test-lab/analyzing-results">Analyze
+  Firebase Test Lab for Android Results</a>.
 </p>
\ No newline at end of file
diff --git a/docs/html/training/testing/unit-testing/local-unit-tests.jd b/docs/html/training/testing/unit-testing/local-unit-tests.jd
index 893d957..25b62fa 100644
--- a/docs/html/training/testing/unit-testing/local-unit-tests.jd
+++ b/docs/html/training/testing/unit-testing/local-unit-tests.jd
@@ -7,17 +7,16 @@
 <!-- This is the training bar -->
 <div id="tb-wrapper">
 <div id="tb">
-  <h2>Dependencies and Prerequisites</h2>
-
-  <ul>
-    <li><a href="{@docRoot}tools/studio/index.html">Android Studio (latest version)</a>.</li>
-  </ul>
 
   <h2>This lesson teaches you to</h2>
 
   <ol>
     <li><a href="#setup">Set Up Your Testing Environment</a></li>
-    <li><a href="#build">Create a Local Unit Test Class</a></li>
+    <li><a href="#build">Create a Local Unit Test Class</a>
+      <ol>
+        <li><a href="#mocking-dependencies">Mock Android dependencies</a></li>
+      </ol>
+    </li>
     <li><a href="#run">Run Local Unit Tests</a></li>
   </ol>
 
@@ -42,13 +41,35 @@
 dependency relationships.</p>
 
 <h2 id="setup">Set Up Your Testing Environment</h2>
-<p>Before building your local unit test, make sure to configure your test source code location and
-project dependencies, as described in
-<a href="{@docRoot}training/testing/start/index.html#config-local-tests">
-Getting Started with Testing</a>.</p>
+
+<p>In your Android Studio project, you must store the source files for local
+unit tests at <code><var>module-name</var>/src/test/java/</code>. This directory
+already exists when you create a new project.</p>
+
+<p>You also need to configure the testing dependencies for your project to use
+the standard APIs provided by the JUnit 4 framework. If your test needs to
+interact with Android dependencies, include the <a href=
+"https://github.com/mockito/mockito" class="external-link">Mockito</a> library
+to simplify your local unit tests. To learn more about using mock objects in
+your local unit tests, see <a href=
+"{@docRoot}training/testing/unit-testing/local-unit-tests.html#mocking-dependencies">
+Mocking Android dependencies</a>.</p>
+
+<p>In your app's top-level {@code build.gradle} file, you need to specify these
+libraries as dependencies:</p>
+
+<pre>
+dependencies {
+    // Required -- JUnit 4 framework
+    testCompile 'junit:junit:4.12'
+    // Optional -- Mockito framework
+    testCompile 'org.mockito:mockito-core:1.10.19'
+}
+</pre>
 
 
 <h2 id="build">Create a Local Unit Test Class</h2>
+
 <p>Your local unit test class should be written as a JUnit 4 test class.
 <a href="http://junit.org/" class="external-link">JUnit</a> is the most popular
 and widely-used unit testing framework for Java. The latest version of this framework, JUnit 4,
@@ -90,7 +111,7 @@
 Hamcrest matchers</a> (such as the {@code is()} and {@code equalTo()} methods) to match the
 returned result against the expected result.</p>
 
-<h3 id="mocking-dependencies">Mocking Android dependencies</h3>
+<h3 id="mocking-dependencies">Mock Android dependencies</h3>
 <p>
 By default, the <a href="{@docRoot}tools/building/plugin-for-gradle.html">
 Android Plug-in for Gradle</a> executes your local unit tests against a modified
@@ -174,10 +195,37 @@
 class="external-link">sample code</a>.
 </p>
 
-<h2 id="run">Run Local Unit Tests</h2>
-<p>
-To run your tests, follow the steps for running local unit tests
-described in <a href="{@docRoot}training/testing/start/index.html#run-local-tests">
-Getting Started with Testing</a>.
-</p>
 
+<h2 id="run">Run Local Unit Tests</h2>
+
+<p>To run your local unit tests, follow these steps:</p>
+
+<ol>
+
+  <li>Be sure your project is synchronized with Gradle by clicking
+  <b>Sync Project</b> <img src="/images/tools/sync-project.png" alt=""
+  class="inline-icon"> in the toolbar.</li>
+
+  <li>Run your test in one of the following ways:
+    <ul>
+      <li>To run a single test, open the <b>Project</b> window, and then
+  right-click a test and click <strong>Run</strong> <img src=
+  "{@docRoot}images/tools/as-run.png" alt="" class="inline-icon">.</li>
+      <li>To test all methods in a class, right-click a class or method in the
+test file and click <b>Run</b> <img src=
+  "{@docRoot}images/tools/as-run.png" alt="" class="inline-icon">.
+      <li>To run all tests in a directory, right-click on the
+      directory and select <strong>Run tests</strong> <img src=
+      "{@docRoot}images/tools/as-run.png" alt="" class="inline-icon">.
+      </li>
+    </ul>
+  </li>
+
+</ol>
+
+<p>
+  The Android Plugin for Gradle compiles the local unit test code located in
+  the default directory ({@code src/test/java/}), builds a test app, and
+  executes it locally using the default test runner class. Android Studio then
+  displays the results in the <b>Run</b> window.
+</p>
diff --git a/docs/html/training/wearables/data-layer/events.jd b/docs/html/training/wearables/data-layer/events.jd
index 9bed9d5..20f219d 100644
--- a/docs/html/training/wearables/data-layer/events.jd
+++ b/docs/html/training/wearables/data-layer/events.jd
@@ -22,21 +22,21 @@
 <h2 id="Wait">Wait for the Status of Data Layer Calls</h2>
 
 <p>You'll notice that calls to the Data Layer API sometimes return a
-<a href="{@docRoot}reference/com/google/android/gms/common/api/PendingResult.html"><code>PendingResult</code></a>,
+<a href="https://developers.google.com/android/reference/com/google/android/gms/common/api/PendingResult.html"><code>PendingResult</code></a>,
 such as
-<a href="{@docRoot}reference/com/google/android/gms/wearable/DataApi.html#putDataItem(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.PutDataRequest)"><code>putDataItem()</code></a>.
-As soon as the <a href="{@docRoot}reference/com/google/android/gms/common/api/PendingResult.html"><code>PendingResult</code></a> is created,
+<a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/DataApi.html#putDataItem(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.PutDataRequest)"><code>putDataItem()</code></a>.
+As soon as the <a href="https://developers.google.com/android/reference/com/google/android/gms/common/api/PendingResult.html"><code>PendingResult</code></a> is created,
 the operation is queued in the background. If you do nothing else after this, the operation
 eventually completes silently. However, you'll usually want to do something with the result
 after the operation completes, so the
-<a href="{@docRoot}reference/com/google/android/gms/common/api/PendingResult.html"><code>PendingResult</code></a>
+<a href="https://developers.google.com/android/reference/com/google/android/gms/common/api/PendingResult.html"><code>PendingResult</code></a>
 lets you wait for the result status, either synchronously or asynchronously.
 </p>
 
 <h3 id="async-waiting">Asynchronous calls</h3>
 <p>If your code is running on the main UI thread, do not make blocking calls
 to the Data Layer API. You can run the calls asynchronously by adding a callback method
-to the <a href="{@docRoot}reference/com/google/android/gms/common/api/PendingResult.html"><code>PendingResult</code></a> object,
+to the <a href="https://developers.google.com/android/reference/com/google/android/gms/common/api/PendingResult.html"><code>PendingResult</code></a> object,
 which fires when the operation is completed:</p>
 <pre>
 pendingResult.setResultCallback(new ResultCallback&lt;DataItemResult&gt;() {
@@ -51,12 +51,12 @@
 
 <h3 id="sync-waiting">Synchronous calls</h3>
 <p>If your code is running on a separate handler thread in a background service (which is the case
-in a <a href="{@docRoot}reference/com/google/android/gms/wearable/WearableListenerService.html"><code>WearableListenerService</code></a>),
+in a <a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/WearableListenerService.html"><code>WearableListenerService</code></a>),
 it's fine for the calls to block. In this case, you can call
-<a href="{@docRoot}reference/com/google/android/gms/common/api/PendingResult.html#await()"><code>await()</code></a>
-on the <a href="{@docRoot}reference/com/google/android/gms/common/api/PendingResult.html"><code>PendingResult</code></a>
+<a href="https://developers.google.com/android/reference/com/google/android/gms/common/api/PendingResult.html#await()"><code>await()</code></a>
+on the <a href="https://developers.google.com/android/reference/com/google/android/gms/common/api/PendingResult.html"><code>PendingResult</code></a>
 object, which blocks until the request completes and returns a
-<a href="{@docRoot}reference/com/google/android/gms/common/api/Result.html"><code>Result</code></a>
+<a href="https://developers.google.com/android/reference/com/google/android/gms/common/api/Result.html"><code>Result</code></a>
 object:
 </p>
 
@@ -79,7 +79,7 @@
 </p>
 <ul>
    <li>Create a service that extends <a href
-="https://developer.android.com/reference/com/google/android/gms/wearable/WearableListenerService.html">
+="https://developers.google.com/android/reference/com/google/android/gms/wearable/WearableListenerService.html">
 {@code WearableListenerService}</a>.</li>
    <li>Create an activity that implements <a
 href="https://developer.android.com/reference/com/google/android/gms/wearable/DataApi.DataListener.html">
@@ -215,7 +215,7 @@
 
 <p>
 An intent filter for the
-<a href="{@docRoot}reference/com/google/android/gms/wearable/WearableListenerService.html">
+<a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/WearableListenerService.html">
 {@code WearableListenerService}</a> example shown in the previous section might look like this:
 
 <pre>
@@ -250,14 +250,14 @@
 or path prefix, you must specify a wildcard or specific host.
 If you do not do so, the system ignores the path you specified.
 </p>
+
 <p>
 For more information on the filter types that Wear supports, see the
 API reference documentation for <a
 href="https://developers.google.com/android/reference/com/google/android/gms/wearable/WearableListenerService">
 {@code WearableListenerService}</a>.
-
-
 </p>
+
 <p>
 For more information on data filters and matching rules, see the API reference
 documentation for the <a
@@ -265,7 +265,6 @@
 manifest element.
 </p>
 
-
 <p>When matching intent filters, there are two important rules to remember:</p>
 <ul>
     <li>If a scheme is not specified for the intent filter, the system ignores
@@ -282,10 +281,10 @@
 implementing one or more of the following interfaces:
 </p>
 <ul>
-  <li><a href="{@docRoot}reference/com/google/android/gms/wearable/DataApi.DataListener.html"><code>
+  <li><a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/DataApi.DataListener.html"><code>
   DataApi.DataListener</code></a></li>
 
-  <li><a href="{@docRoot}reference/com/google/android/gms/wearable/MessageApi.MessageListener.html">
+  <li><a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/MessageApi.MessageListener.html">
   <code>MessageApi.MessageListener</code></a></li>
 
   <li><a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener.html">{@code CapabilityApi.CapabilityListener}</a></li>
@@ -295,21 +294,21 @@
 <ol>
 <li>Implement the desired interfaces.</li>
 <li>In {@link android.app.Activity#onCreate onCreate()}, create an instance of
-<a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.html"><code>GoogleApiClient</code>
+<a href="https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApiClient.html"><code>GoogleApiClient</code>
 </a>to work with the Data Layer API.</li>
 
 <li>
-In {@link android.app.Activity#onStart onStart()}, call <a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.html#connect()">
+In {@link android.app.Activity#onStart onStart()}, call <a href="https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApiClient.html#connect()">
 <code>connect()</code></a> to connect the client to Google Play services.
 </li>
 
 <li>When the connection to Google Play services is established, the system calls
-<a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)"><code>onConnected()</code></a>. This is where you call
+<a href="https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApiClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)"><code>onConnected()</code></a>. This is where you call
 
-<a href="{@docRoot}reference/com/google/android/gms/wearable/DataApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.DataApi.DataListener)">
+<a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/DataApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.DataApi.DataListener)">
 <code>DataApi.addListener()</code></a>,
 
-<a href="{@docRoot}android/reference/com/google/android/gms/wearable/CapabilityApi.CapabilityListener">
+<a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/MessageApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.MessageApi.MessageListener, android.net.Uri, int)">
 <code>MessageApi.addListener()</code></a>, or
 
 <a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/CapabilityApi.html#addListener(com.google.android.gms.common.api.GoogleApiClient,%20com.google.android.gms.wearable.CapabilityApi.CapabilityListener,%20android.net.Uri,%20int)">
@@ -317,14 +316,16 @@
 interested in listening for data layer events.</li>
 
 <li>In {@link android.app.Activity#onStop onStop()}, unregister any listeners with
-<a href="{@docRoot}reference/com/google/android/gms/wearable/DataApi.html#removeListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.DataApi.DataListener)"><code>DataApi.removeListener()</code></a>,
-<a href="{@docRoot}reference/com/google/android/gms/wearable/MessageApi.html#removeListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.MessageApi.MessageListener)"><code>MessageApi.removeListener()</code></a>, or
-<a href="http://developer.android.com/reference/com/google/android/gms/wearable/MessageApi.html#removeListener(com.google.android.gms.common.api.GoogleApiClient,%20com.google.android.gms.wearable.MessageApi.MessageListener)">
+<a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/DataApi.html#removeListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.DataApi.DataListener)"><code>DataApi.removeListener()</code></a>,
+
+<a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/MessageApi.html#removeListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.MessageApi.MessageListener)"><code>MessageApi.removeListener()</code></a>, or
+
+<a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/CapabilityApi.html#removeListener(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.wearable.CapabilityApi.CapabilityListener)">
 {@code CapabilityApi.removeListener()}</a>.</li>
 
 
 <p>An alternative to adding listeners in
-<a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)"><code>onConnected()</code></a>
+<a href="https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApiClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)"><code>onConnected()</code></a>
 and removing them in
 {@link android.app.Activity#onStop onStop()} is to add a filtered listener in an activity’s {@link android.app.Activity#onResume onResume()} and
 remove it in {@link android.app.Activity#onPause onPause()}, so as to only receive data that is relevant to the
@@ -332,18 +333,18 @@
 
 
 <li>Implement
-<a href="{@docRoot}reference/com/google/android/gms/wearable/DataApi.DataListener.html#onDataChanged(com.google.android.gms.wearable.DataEventBuffer)">
+<a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/DataApi.DataListener.html#onDataChanged(com.google.android.gms.wearable.DataEventBuffer)">
 <code>onDataChanged()</code></a>,
   <a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/MessageApi.MessageListener.html#onMessageReceived(com.google.android.gms.wearable.MessageEvent)">
   <code>onMessageReceived()</code></a>,
   <a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/WearableListenerService.html#onCapabilityChanged(com.google.android.gms.wearable.CapabilityInfo)">
 {@code onCapabilityChanged()}</a>,
-or methods from <a href="http://developer.android.com/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">
+or methods from <a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/ChannelApi.ChannelListener.html">
 Channel API listener methods</a>, depending on the interfaces that you implemented.</li>
 </ol>
 
 <p>Here's an example that implements
-<a href="{@docRoot}reference/com/google/android/gms/wearable/DataApi.DataListener.html"><code>DataApi.DataListener</code></a>:</p>
+<a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/DataApi.DataListener.html"><code>DataApi.DataListener</code></a>:</p>
 
 <pre>
 public class MainActivity extends Activity implements
@@ -403,7 +404,7 @@
 <h3>Using Filters with Listener Activities</h3>
 <p>
 Just as you can specify intent filters for manifest-based
-<a href="{@docRoot}reference/com/google/android/gms/wearable/WearableListenerService.html">
+<a href="https://developers.google.com/android/reference/com/google/android/gms/wearable/WearableListenerService.html">
 <code>WearableListenerService</code></a> objects, you can also use intent filters when registering a
 listener through the Wearable API. The same rules are applicable to both
 API-based listeners manifest-based listeners.
@@ -411,7 +412,7 @@
 
 <p>
 A common pattern is to register a listener with a specific path or path prefix
-in an activity’s{@link android.app.Activity#onResume onResume()} method, and to
+in an activity’s {@link android.app.Activity#onResume onResume()} method, and to
 remove the listener in the activity’s {@link android.app.Activity#onPause onPause()} method.
 Implementing listeners in this fashion allows your application to more selectively receive events,
 improving its design and efficiency.
diff --git a/docs/html/training/wearables/watch-faces/performance.jd b/docs/html/training/wearables/watch-faces/performance.jd
index 4a96545..a83a72b 100644
--- a/docs/html/training/wearables/watch-faces/performance.jd
+++ b/docs/html/training/wearables/watch-faces/performance.jd
@@ -6,30 +6,117 @@
 <div id="tb">
 <h2>This lesson teaches you to</h2>
 <ol>
+  <li><a href="#Basic">Basic Optimization</a></li>
+  <li><a href="#Animations">Best Practices for Animations</a></li>
   <li><a href="#ReduceSize">Reduce the Size of Your Bitmap Assets</a></li>
   <li><a href="#CombineBitmaps">Combine Bitmap Assets</a></li>
   <li><a href="#AntiAlias">Disable Anti-Aliasing when Drawing Scaled Bitmaps</a></li>
   <li><a href="#OutDrawing">Move Expensive Operations Outside the Drawing Method</a></li>
-  <li><a href="#SavePower">Follow Best Practices to Save Power</a></li>
 </ol>
 <h2>You should also read</h2>
 <ul>
   <li><a href="{@docRoot}design/wear/watchfaces.html">Watch Faces for Android Wear</a></li>
   <li><a href="http://android-developers.blogspot.com/2014/12/making-performant-watch-face.html">
 Making a performant watch face</a></li>
+  <li><a href="http://android-developers.blogspot.com/2016/04/deprecation-of-bindlistener.html">
+Deprecation of BIND_LISTENER with Android Wear APIs</a></li>
 </ul>
 </div>
 </div>
 
-<p>In addition to accommodating notification cards and system indicators, you need to ensure that
-the animations in your watch face run smoothly and that your service does not perform unnecessary
-computations. Watch faces in Android Wear run continuously on the device, so it is critical
-that your watch face uses power efficiently.</p>
+<p>This lesson has tips for conserving power and improving performance.
+A watch face runs continuously, so it must use power
+efficiently. </p>
 
-<p>This lesson provides some tips to speed up your animations and to measure and conserve
-power on the device.</p>
+<p>Services must not perform unnecessary computations.
+Watch faces with animations must run smoothly while accommodating
+notification cards and system indicators.</p>
 
+<h2 id="Basic">Basic Optimization</h2>
 
+<p>This section contains best practices for improving efficiency during
+periods when a watch face is inactive.</p>
+
+<h3>Use callbacks in WatchFaceService.Engine</h3>
+
+<p>Ensure that your watch face performs
+computations only when active; use callbacks
+in <a href="{@docRoot}reference/android/support/wearable/watchface/
+WatchFaceService.Engine.html">{@code WatchFaceService.Engine}</a>.
+Preferably, use the following methods of that class to determine if
+the watch face is visible:</p>
+
+<ul>
+  <li>{@code onVisibilityChanged(boolean)}</li>
+  <li>{@code isVisible()}</li>
+</ul>
+
+<p>Alternatively, use the following methods of the same class
+(<a href="{@docRoot}reference/android/support/wearable/watchface/
+WatchFaceService.Engine.html">{@code WatchFaceService.Engine}</a>):</p>
+
+<ul>
+  <li>{@code onCreate()}</li>
+  <li>{@code onDestroy()}</li>
+</ul>
+
+<h3>Use listeners registered with the DataApi interface</h3>
+
+<p>To listen for events, use live listeners that are registered
+with <a href="https://developers.google.com/android/reference/com/google/
+android/gms/wearable/DataApi.html#addListener
+(com.google.android.gms.common.api.GoogleApiClient, com.
+google.android.gms.wearable.DataApi.DataListener)">{@code DataApi.addListener}</a>.
+For an example, see <a href="{@docRoot}training/wearables/data-layer/
+data-items.html#ListenEvents">Syncing Data Items</a>.</p>
+
+<p>Do not use <a href="https://developers.google.com/
+android/reference/com/google/android/gms/wearable/
+WearableListenerService">{@code WearableListenerService}</a> to listen for
+events, because it is
+called whether or not a watch face is active. For more information, see
+<a href="http://android-developers.blogspot.com/2016/04/
+deprecation-of-bindlistener.html">Deprecation of BIND_LISTENER
+with Android Wear APIs</a>.</p>
+
+<p>Do not register a broadcast receiver in the Android manifest file
+to get system events such as time zone changes, battery events, etc., because
+the <a href="{@docRoot}reference/android/content/BroadcastReceiver.html">{@code BroadcastReceiver}</a>
+is called whether or not a watch face is active. However, you can use the
+<a href="{@docRoot}reference/android/content/Context.html#registerReceiver(android.
+content.BroadcastReceiver, android.content.IntentFilter)">{@code registerReceiver}</a> method
+of the {@code Context} class to register a receiver.</p>
+
+<h3>Monitor power consumption</h3>
+
+<p>The <a href="https://play.google.com/store/apps/details?id=com.google.android.wearable.app&hl=en">
+Android Wear companion app</a> enables developers and users to see how much battery
+is consumed by different processes
+on the wearable device (under <strong>Settings</strong> > <strong>Watch
+battery</strong>).</p>
+
+<p>For information about features introduced in Android 5.0 that help you improve battery life,
+see <a href="{@docRoot}about/versions/android-5.0.html#Power">Project Volta</a>.</p>
+
+<h2 id="Animations">Best Practices for Animations</h2>
+
+<p>The best practices in this section help to reduce the power consumption of animations.</p>
+
+<h3>Reduce the frame rate of animations</h3>
+
+<p>Animations are often computationally expensive and consume a significant amount of power. Most
+animations look fluid at 30 frames per second, so you should avoid running your animations
+at a higher frame rate.</p>
+
+<h3>Let the CPU sleep between animations</h3>
+
+<p>Animations and small changes to the contents of the watch face wake up the CPU. Your watch
+face should let the CPU sleep in between animations. For example, you can use short bursts of
+animation every second in interactive mode and then let the CPU sleep until the next second.
+Letting the CPU sleep often, even briefly, can significantly reduce power consumption.</p>
+
+<p>To maximize battery life, use animations sparingly. Even a blinking colon wakes up the CPU with
+every blink and hurts battery life.</p>
 
 <h2 id="ReduceSize">Reduce the Size of Your Bitmap Assets</h2>
 
@@ -68,16 +155,12 @@
 <p>Reducing the size of your bitmap assets as described in this section not only improves
 the performance of your animations, but it also saves power.</p>
 
-
-
 <h2 id="CombineBitmaps">Combine Bitmap Assets</h2>
 
 <p>If you have bitmaps that are often drawn together, consider combining them into the same
 graphic asset. You can often combine the background image in interactive mode with the tick
 marks to avoid drawing two full-screen bitmaps every time the system redraws the watch face.</p>
 
-
-
 <h2 id="AntiAlias">Disable Anti-Aliasing when Drawing Scaled Bitmaps</h2>
 
 <p>When you draw a scaled bitmap on the {@link android.graphics.Canvas} object using the {@link
@@ -139,35 +222,3 @@
 consistent across invocations. For more information, see
 <a href="{@docRoot}tools/debugging/ddms.html">Using DDMS</a>.</p>
 
-
-
-<h2 id="SavePower">Follow Best Practices to Save Power</h2>
-
-<p>In addition to the techniques described in the previous sections, follow the best
-practices in this section to reduce the power consumption of your watch face.</p>
-
-<h3>Reduce the frame rate of animations</h3>
-
-<p>Animations are often computationally expensive and consume a significant amount of power. Most
-animations look fluid at 30 frames per second, so you should avoid running your animations
-at a higher frame rate.</p>
-
-<h3>Let the CPU sleep</h3>
-
-<p>Animations and small changes to the contents of the watch face wake up the CPU. Your watch
-face should let the CPU sleep in between animations. For example, you can use short bursts of
-animation every second in interactive mode and then let the CPU sleep until the next second.
-Letting the CPU sleep often, even briefly, can significantly reduce power consumption.</p>
-
-<p>To maximize battery life, use animations sparingly. Even a blinking colon wakes up the CPU with
-every blink and hurts battery life.</p>
-
-<h3>Monitor power consumption</h3>
-
-<p>The <a href="https://play.google.com/store/apps/details?id=com.google.android.wearable.app&hl=en">
-Android Wear companion app</a> lets developers and users see how much battery different processes
-on the wearable device are consuming under <strong>Settings</strong> > <strong>Watch
-battery</strong>.</p>
-
-<p>For more information about new features in Android 5.0 that help you improve battery life,
-see <a href="{@docRoot}about/versions/android-5.0.html#Power">Project Volta</a>.</p>
diff --git a/docs/html/training/wearables/watch-faces/service.jd b/docs/html/training/wearables/watch-faces/service.jd
index 20eb0c77..b54f51a 100755
--- a/docs/html/training/wearables/watch-faces/service.jd
+++ b/docs/html/training/wearables/watch-faces/service.jd
@@ -93,24 +93,20 @@
 
 <h3 id="Permissions">Declare Permissions</h3>
 
-<p>Watch faces require the <code>PROVIDE_BACKGROUND</code> and <code>WAKE_LOCK</code> permissions.
-Add the following permissions to the manifest files of both the wearable app and the mobile
-app under the <code>manifest</code> element:</p>
+<p>A watch face requires the <code>WAKE_LOCK</code> permission.
+Add the following permission to the manifest files of both the wearable app
+and the mobile app under the <code>manifest</code> element:</p>
 
 <pre>
 &lt;manifest ...>
     &lt;uses-permission
-        android:name="com.google.android.permission.PROVIDE_BACKGROUND" />
-    &lt;uses-permission
         android:name="android.permission.WAKE_LOCK" />
     ...
 &lt;/manifest>
 </pre>
 
-<p class="caution"><strong>Caution:</strong> The handheld app must include all the permissions
-declared in the wearable app.</p>
-
-
+<p class="caution"><strong>Caution:</strong> The handheld app must include all
+of the permissions declared in the wearable app.</p>
 
 <h2 id="CallbackMethods">Implement the Service and Callback Methods</h2>
 
diff --git a/docs/html/wear/preview/api-overview.jd b/docs/html/wear/preview/api-overview.jd
index 543313a..11331a7 100644
--- a/docs/html/wear/preview/api-overview.jd
+++ b/docs/html/wear/preview/api-overview.jd
@@ -4,9 +4,6 @@
 page.image=images/cards/card-n-apis_2x.png
 @jd:body
 
-
-
-
 <div id="qv-wrapper">
 <div id="qv">
   <h2>Key developer features</h2>
@@ -298,36 +295,35 @@
  authentication capabilities will be more powerful; apps will have new ways to
  authenticate.</p>
 
- <h4> Authentication tokens can be passed over the Wearable Data Layer </h4>
-
-<p>For Android-paired watches (only), the phone will securely transfer authentication
- data to a watch app via the
- <a href="{@docRoot}training/wearables/data-layer/index.html">
- Wearable Data Layer API</a>. The data can be transferred as
- Messages or Data Items. </p>
-
-<p>If your watch app needs to determine if your phone app is installed, you can
-advertise a capability on the phone app and retrieve the capability on the watch.
- For more information, see following sections of
- <a href="{@docRoot}training/wearables/data-layer/messages.html">
- Sending and Receiving Messages</a>:
- <ul>
- <li>Advertise Capabilities</li>
- <li>Retrieve the Nodes with the Required Capabilities</li>
- </ul>
 <h4>Users can enter a username and password on a watch</h4>
 
-<p>Google Keyboard will be standard on Android Wear, allowing for direct text entry.
- This feature will work as expected with standard
- <a href="{@docRoot}reference/android/widget/EditText.html">
-  EditText widgets</a>. For passwords, the {@code textPassword} attribute will be
-   used.
+<p>Google Keyboard will be standard on Android Wear, allowing for direct text
+entry. This feature will work as expected with standard
+<a href="{@docRoot}reference/android/widget/EditText.html">EditText widgets</a>.
+For passwords, the {@code textPassword} attribute will be used.</p>
 
 <h4>Utilizing Account Manager</h4>
-Android Wear will include the <a href="{@docRoot}reference/android/accounts/AccountManager.html">
+
+<p>Android Wear will include the
+<a href="{@docRoot}reference/android/accounts/AccountManager.html">
 AccountManager</a>, which will be accessible for syncing and storing account
- data, as it is on an Android phone.
-</p>
+data, as it is on an Android phone.</p>
 
+<h4>Authentication tokens can be passed over the Wearable Data Layer</h4>
 
+<p>For Android-paired watches (only), a phone securely
+transfers authentication credentials to a watch app via the
+<a href="{@docRoot}training/wearables/data-layer/index.html">
+Wearable Data Layer API</a>. The credentials can be transferred as
+messages or data items.</p>
 
+<p>If your watch app needs to determine if your phone app is installed, you can
+advertise a capability on the phone app and retrieve the capability on the
+watch. For more information, see the following sections of
+<a href="{@docRoot}training/wearables/data-layer/messages.html">
+Sending and Receiving Messages</a>:</p>
+
+<ul>
+  <li>Advertise Capabilities</li>
+  <li>Retrieve the Nodes with the Required Capabilities</li>
+</ul>
diff --git a/docs/html/wear/preview/features/complications.jd b/docs/html/wear/preview/features/complications.jd
index d33fd2a..3334cb7 100644
--- a/docs/html/wear/preview/features/complications.jd
+++ b/docs/html/wear/preview/features/complications.jd
@@ -113,8 +113,8 @@
 
     <p>
       To start receiving complication data, a watch face calls
-      <code>setActiveComplications</code> within the
-      <code>WatchFaceService.Engine</code> class with a list of watch face
+      <code>setActiveComplications</code>, in the
+      <code>WatchFaceService.Engine</code> class, with a list of watch face
       complication IDs. A watch face creates these IDs to uniquely identify
       slots on the watch face where complications can appear, and passes them
       to the <code>createProviderChooserIntent</code> method (of the
@@ -283,7 +283,12 @@
     </p>
 
     <p>
-      The configuration activity may also be used as an opportunity to request
+      If a data provider needs a specific permission to access a user's data,
+      then standard code
+      for runtime <a href="{@docRoot}training/articles/wear-permissions.html">
+      permissions</a> is needed.
+      A <a href="{@docRoot}training/wearables/watch-faces/configuration.html">
+      configuration activity</a> may be used as an opportunity to request
       any permissions required by the provider.
     </p>
 
diff --git a/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java b/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
index 6762bea..0bdc76f 100644
--- a/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
+++ b/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
@@ -46,6 +46,7 @@
 import android.util.Log;
 import android.util.LongArray;
 import android.util.PathParser;
+import android.util.Property;
 import android.util.TimeUtils;
 import android.view.Choreographer;
 import android.view.DisplayListCanvas;
@@ -157,7 +158,7 @@
     private static final boolean DBG_ANIMATION_VECTOR_DRAWABLE = false;
 
     /** Local, mutable animator set. */
-    private VectorDrawableAnimator mAnimatorSet = new VectorDrawableAnimatorUI(this);
+    private VectorDrawableAnimator mAnimatorSet;
 
     /**
      * The resources against which this drawable was created. Used to attempt
@@ -182,6 +183,7 @@
 
     private AnimatedVectorDrawable(AnimatedVectorDrawableState state, Resources res) {
         mAnimatedVectorState = new AnimatedVectorDrawableState(state, mCallback, res);
+        mAnimatorSet = new VectorDrawableAnimatorRT(this);
         mRes = res;
     }
 
@@ -237,6 +239,17 @@
 
     @Override
     public void draw(Canvas canvas) {
+        if (!canvas.isHardwareAccelerated() && mAnimatorSet instanceof VectorDrawableAnimatorRT) {
+            // If we have SW canvas and the RT animation is waiting to start, We need to fallback
+            // to UI thread animation for AVD.
+            if (!mAnimatorSet.isRunning() &&
+                    ((VectorDrawableAnimatorRT) mAnimatorSet).mPendingAnimationActions.size() > 0) {
+                VectorDrawableAnimatorRT oldAnim = (VectorDrawableAnimatorRT) mAnimatorSet;
+                mAnimatorSet = new VectorDrawableAnimatorUI(this);
+                mAnimatorSet.init(mAnimatorSetFromXml);
+                oldAnim.transferPendingActions(mAnimatorSet);
+            }
+        }
         mAnimatorSet.onDraw(canvas);
         mAnimatedVectorState.mVectorDrawable.draw(canvas);
     }
@@ -390,9 +403,12 @@
                             R.styleable.AnimatedVectorDrawableTarget_animation, 0);
                     if (animResId != 0) {
                         if (theme != null) {
-                            final Animator objectAnimator = AnimatorInflater.loadAnimator(
+                            // The animator here could be ObjectAnimator or AnimatorSet.
+                            final Animator animator = AnimatorInflater.loadAnimator(
                                     res, theme, animResId, pathErrorScale);
-                            state.addTargetAnimator(target, objectAnimator);
+                            updateAnimatorProperty(animator, target, state.mVectorDrawable,
+                                    state.mShouldIgnoreInvalidAnim);
+                            state.addTargetAnimator(target, animator);
                         } else {
                             // The animation may be theme-dependent. As a
                             // workaround until Animator has full support for
@@ -414,6 +430,55 @@
         mRes = state.mPendingAnims == null ? null : res;
     }
 
+    private static void updateAnimatorProperty(Animator animator, String targetName,
+            VectorDrawable vectorDrawable, boolean ignoreInvalidAnim) {
+        if (animator instanceof ObjectAnimator) {
+            // Change the property of the Animator from using reflection based on the property
+            // name to a Property object that wraps the setter and getter for modifying that
+            // specific property for a given object. By replacing the reflection with a direct call,
+            // we can largely reduce the time it takes for a animator to modify a VD property.
+            PropertyValuesHolder[] holders = ((ObjectAnimator) animator).getValues();
+            for (int i = 0; i < holders.length; i++) {
+                PropertyValuesHolder pvh = holders[i];
+                String propertyName = pvh.getPropertyName();
+                Object targetNameObj = vectorDrawable.getTargetByName(targetName);
+                Property property = null;
+                if (targetNameObj instanceof VectorDrawable.VObject) {
+                    property = ((VectorDrawable.VObject) targetNameObj).getProperty(propertyName);
+                } else if (targetNameObj instanceof VectorDrawable.VectorDrawableState) {
+                    property = ((VectorDrawable.VectorDrawableState) targetNameObj)
+                            .getProperty(propertyName);
+                }
+                if (property != null) {
+                    if (containsSameValueType(pvh, property)) {
+                        pvh.setProperty(property);
+                    } else if (!ignoreInvalidAnim) {
+                        throw new RuntimeException("Wrong valueType for Property: " + propertyName
+                                + ".  Expected type: " + property.getType().toString() + ". Actual "
+                                + "type defined in resources: " + pvh.getValueType().toString());
+
+                    }
+                }
+            }
+        } else if (animator instanceof AnimatorSet) {
+            for (Animator anim : ((AnimatorSet) animator).getChildAnimations()) {
+                updateAnimatorProperty(anim, targetName, vectorDrawable, ignoreInvalidAnim);
+            }
+        }
+    }
+
+    private static boolean containsSameValueType(PropertyValuesHolder holder, Property property) {
+        Class type1 = holder.getValueType();
+        Class type2 = property.getType();
+        if (type1 == float.class || type1 == Float.class) {
+            return type2 == float.class || type2 == Float.class;
+        } else if (type1 == int.class || type1 == Integer.class) {
+            return type2 == int.class || type2 == Integer.class;
+        } else {
+            return type1 == type2;
+        }
+    }
+
     /**
      * Force to animate on UI thread.
      * @hide
@@ -462,6 +527,8 @@
         @Config int mChangingConfigurations;
         VectorDrawable mVectorDrawable;
 
+        private final boolean mShouldIgnoreInvalidAnim;
+
         /** Animators that require a theme before inflation. */
         ArrayList<PendingAnimator> mPendingAnims;
 
@@ -473,6 +540,7 @@
 
         public AnimatedVectorDrawableState(AnimatedVectorDrawableState copy,
                 Callback owner, Resources res) {
+            mShouldIgnoreInvalidAnim = shouldIgnoreInvalidAnimation();
             if (copy != null) {
                 mChangingConfigurations = copy.mChangingConfigurations;
 
@@ -616,8 +684,10 @@
 
                 for (int i = 0, count = pendingAnims.size(); i < count; i++) {
                     final PendingAnimator pendingAnimator = pendingAnims.get(i);
-                    final Animator objectAnimator = pendingAnimator.newInstance(res, t);
-                    addTargetAnimator(pendingAnimator.target, objectAnimator);
+                    final Animator animator = pendingAnimator.newInstance(res, t);
+                    updateAnimatorProperty(animator, pendingAnimator.target, mVectorDrawable,
+                            mShouldIgnoreInvalidAnim);
+                    addTargetAnimator(pendingAnimator.target, animator);
                 }
             }
         }
@@ -982,6 +1052,9 @@
         private static final int REVERSE_ANIMATION = 2;
         private static final int RESET_ANIMATION = 3;
         private static final int END_ANIMATION = 4;
+
+        // If the duration of an animation is more than 300 frames, we cap the sample size to 300.
+        private static final int MAX_SAMPLE_POINTS = 300;
         private AnimatorListener mListener = null;
         private final LongArray mStartDelays = new LongArray();
         private PropertyValuesHolder.PropertyValues mTmpValues =
@@ -992,14 +1065,12 @@
         private boolean mInitialized = false;
         private boolean mIsReversible = false;
         private boolean mIsInfinite = false;
-        // This needs to be set before parsing starts.
-        private boolean mShouldIgnoreInvalidAnim;
         // TODO: Consider using NativeAllocationRegistery to track native allocation
         private final VirtualRefBasePtr mSetRefBasePtr;
         private WeakReference<RenderNode> mLastSeenTarget = null;
         private int mLastListenerId = 0;
         private final IntArray mPendingAnimationActions = new IntArray();
-        private final Drawable mDrawable;
+        private final AnimatedVectorDrawable mDrawable;
 
         VectorDrawableAnimatorRT(AnimatedVectorDrawable drawable) {
             mDrawable = drawable;
@@ -1016,8 +1087,10 @@
                 throw new UnsupportedOperationException("VectorDrawableAnimator cannot be " +
                         "re-initialized");
             }
-            mShouldIgnoreInvalidAnim = shouldIgnoreInvalidAnimation();
             parseAnimatorSet(set, 0);
+            long vectorDrawableTreePtr = mDrawable.mAnimatedVectorState.mVectorDrawable
+                    .getNativeTree();
+            nSetVectorDrawableTarget(mSetPtr, vectorDrawableTreePtr);
             mInitialized = true;
             mIsInfinite = set.getTotalDuration() == Animator.DURATION_INFINITE;
 
@@ -1077,7 +1150,7 @@
                     }  else if (target instanceof VectorDrawable.VFullPath) {
                         createRTAnimatorForFullPath(animator, (VectorDrawable.VFullPath) target,
                                 startTime);
-                    } else if (!mShouldIgnoreInvalidAnim) {
+                    } else if (!mDrawable.mAnimatedVectorState.mShouldIgnoreInvalidAnim) {
                         throw new IllegalArgumentException("ClipPath only supports PathData " +
                                 "property");
                     }
@@ -1086,7 +1159,7 @@
             } else if (target instanceof VectorDrawable.VectorDrawableState) {
                 createRTAnimatorForRootGroup(values, animator,
                         (VectorDrawable.VectorDrawableState) target, startTime);
-            } else if (!mShouldIgnoreInvalidAnim) {
+            } else if (!mDrawable.mAnimatedVectorState.mShouldIgnoreInvalidAnim) {
                 // Should never get here
                 throw new UnsupportedOperationException("Target should be either VGroup, VPath, " +
                         "or ConstantState, " + target == null ? "Null target" : target.getClass() +
@@ -1121,8 +1194,8 @@
                 long propertyPtr = nCreateGroupPropertyHolder(nativePtr, propertyId,
                         (Float) mTmpValues.startValue, (Float) mTmpValues.endValue);
                 if (mTmpValues.dataSource != null) {
-                    float[] dataPoints = createDataPoints(mTmpValues.dataSource, animator
-                            .getDuration());
+                    float[] dataPoints = createFloatDataPoints(mTmpValues.dataSource,
+                            animator.getDuration());
                     nSetPropertyHolderData(propertyPtr, dataPoints, dataPoints.length);
                 }
                 createNativeChildAnimator(propertyPtr, startTime, animator);
@@ -1149,7 +1222,7 @@
             long nativePtr = target.getNativePtr();
             if (mTmpValues.type == Float.class || mTmpValues.type == float.class) {
                 if (propertyId < 0) {
-                    if (mShouldIgnoreInvalidAnim) {
+                    if (mDrawable.mAnimatedVectorState.mShouldIgnoreInvalidAnim) {
                         return;
                     } else {
                         throw new IllegalArgumentException("Property: " + mTmpValues.propertyName
@@ -1158,12 +1231,24 @@
                 }
                 propertyPtr = nCreatePathPropertyHolder(nativePtr, propertyId,
                         (Float) mTmpValues.startValue, (Float) mTmpValues.endValue);
+                if (mTmpValues.dataSource != null) {
+                    // Pass keyframe data to native, if any.
+                    float[] dataPoints = createFloatDataPoints(mTmpValues.dataSource,
+                            animator.getDuration());
+                    nSetPropertyHolderData(propertyPtr, dataPoints, dataPoints.length);
+                }
 
             } else if (mTmpValues.type == Integer.class || mTmpValues.type == int.class) {
                 propertyPtr = nCreatePathColorPropertyHolder(nativePtr, propertyId,
                         (Integer) mTmpValues.startValue, (Integer) mTmpValues.endValue);
+                if (mTmpValues.dataSource != null) {
+                    // Pass keyframe data to native, if any.
+                    int[] dataPoints = createIntDataPoints(mTmpValues.dataSource,
+                            animator.getDuration());
+                    nSetPropertyHolderData(propertyPtr, dataPoints, dataPoints.length);
+                }
             } else {
-                if (mShouldIgnoreInvalidAnim) {
+                if (mDrawable.mAnimatedVectorState.mShouldIgnoreInvalidAnim) {
                     return;
                 } else {
                     throw new UnsupportedOperationException("Unsupported type: " +
@@ -1171,45 +1256,63 @@
                             "supported for Paths.");
                 }
             }
-            if (mTmpValues.dataSource != null) {
-                float[] dataPoints = createDataPoints(mTmpValues.dataSource, animator
-                        .getDuration());
-                nSetPropertyHolderData(propertyPtr, dataPoints, dataPoints.length);
-            }
             createNativeChildAnimator(propertyPtr, startTime, animator);
         }
 
         private void createRTAnimatorForRootGroup(PropertyValuesHolder[] values,
                 ObjectAnimator animator, VectorDrawable.VectorDrawableState target,
                 long startTime) {
-                long nativePtr = target.getNativeRenderer();
-                if (!animator.getPropertyName().equals("alpha")) {
-                    if (mShouldIgnoreInvalidAnim) {
-                        return;
-                    } else {
-                        throw new UnsupportedOperationException("Only alpha is supported for root "
-                                + "group");
-                    }
+            long nativePtr = target.getNativeRenderer();
+            if (!animator.getPropertyName().equals("alpha")) {
+                if (mDrawable.mAnimatedVectorState.mShouldIgnoreInvalidAnim) {
+                    return;
+                } else {
+                    throw new UnsupportedOperationException("Only alpha is supported for root "
+                            + "group");
                 }
-                Float startValue = null;
-                Float endValue = null;
-                for (int i = 0; i < values.length; i++) {
-                    values[i].getPropertyValues(mTmpValues);
-                    if (mTmpValues.propertyName.equals("alpha")) {
-                        startValue = (Float) mTmpValues.startValue;
-                        endValue = (Float) mTmpValues.endValue;
-                        break;
-                    }
+            }
+            Float startValue = null;
+            Float endValue = null;
+            for (int i = 0; i < values.length; i++) {
+                values[i].getPropertyValues(mTmpValues);
+                if (mTmpValues.propertyName.equals("alpha")) {
+                    startValue = (Float) mTmpValues.startValue;
+                    endValue = (Float) mTmpValues.endValue;
+                    break;
                 }
-                if (startValue == null && endValue == null) {
-                    if (mShouldIgnoreInvalidAnim) {
-                        return;
-                    } else {
-                        throw new UnsupportedOperationException("No alpha values are specified");
-                    }
+            }
+            if (startValue == null && endValue == null) {
+                if (mDrawable.mAnimatedVectorState.mShouldIgnoreInvalidAnim) {
+                    return;
+                } else {
+                    throw new UnsupportedOperationException("No alpha values are specified");
                 }
-                long propertyPtr = nCreateRootAlphaPropertyHolder(nativePtr, startValue, endValue);
-                createNativeChildAnimator(propertyPtr, startTime, animator);
+            }
+            long propertyPtr = nCreateRootAlphaPropertyHolder(nativePtr, startValue, endValue);
+            if (mTmpValues.dataSource != null) {
+                // Pass keyframe data to native, if any.
+                float[] dataPoints = createFloatDataPoints(mTmpValues.dataSource,
+                        animator.getDuration());
+                nSetPropertyHolderData(propertyPtr, dataPoints, dataPoints.length);
+            }
+            createNativeChildAnimator(propertyPtr, startTime, animator);
+        }
+
+        /**
+         * Calculate the amount of frames an animation will run based on duration.
+         */
+        private static int getFrameCount(long duration) {
+            long frameIntervalNanos = Choreographer.getInstance().getFrameIntervalNanos();
+            int animIntervalMs = (int) (frameIntervalNanos / TimeUtils.NANOS_PER_MS);
+            int numAnimFrames = (int) Math.ceil(((double) duration) / animIntervalMs);
+            // We need 2 frames of data minimum.
+            numAnimFrames = Math.max(2, numAnimFrames);
+            if (numAnimFrames > MAX_SAMPLE_POINTS) {
+                Log.w("AnimatedVectorDrawable", "Duration for the animation is too long :" +
+                        duration + ", the animation will subsample the keyframe or path data.");
+                numAnimFrames = MAX_SAMPLE_POINTS;
+            }
+            return numAnimFrames;
         }
 
         // These are the data points that define the value of the animating properties.
@@ -1217,11 +1320,9 @@
         // a point on the path corresponds to the values of translateX and translateY.
         // TODO: (Optimization) We should pass the path down in native and chop it into segments
         // in native.
-        private static float[] createDataPoints(
+        private static float[] createFloatDataPoints(
                 PropertyValuesHolder.PropertyValues.DataSource dataSource, long duration) {
-            long frameIntervalNanos = Choreographer.getInstance().getFrameIntervalNanos();
-            int animIntervalMs = (int) (frameIntervalNanos / TimeUtils.NANOS_PER_MS);
-            int numAnimFrames = (int) Math.ceil(((double) duration) / animIntervalMs);
+            int numAnimFrames = getFrameCount(duration);
             float values[] = new float[numAnimFrames];
             float lastFrame = numAnimFrames - 1;
             for (int i = 0; i < numAnimFrames; i++) {
@@ -1231,6 +1332,18 @@
             return values;
         }
 
+        private static int[] createIntDataPoints(
+                PropertyValuesHolder.PropertyValues.DataSource dataSource, long duration) {
+            int numAnimFrames = getFrameCount(duration);
+            int values[] = new int[numAnimFrames];
+            float lastFrame = numAnimFrames - 1;
+            for (int i = 0; i < numAnimFrames; i++) {
+                float fraction = i / lastFrame;
+                values[i] = (Integer) dataSource.getValueAtFraction(fraction);
+            }
+            return values;
+        }
+
         private void createNativeChildAnimator(long propertyPtr, long extraDelay,
                                                ObjectAnimator animator) {
             long duration = animator.getDuration();
@@ -1254,16 +1367,19 @@
          * to the last seen RenderNode target and start right away.
          */
         protected void recordLastSeenTarget(DisplayListCanvas canvas) {
-            mLastSeenTarget = new WeakReference<RenderNode>(
-                    RenderNodeAnimatorSetHelper.getTarget(canvas));
-            if (mPendingAnimationActions.size() > 0 && useLastSeenTarget()) {
-                if (DBG_ANIMATION_VECTOR_DRAWABLE) {
-                    Log.d(LOGTAG, "Target is set in the next frame");
+            final RenderNode node = RenderNodeAnimatorSetHelper.getTarget(canvas);
+            mLastSeenTarget = new WeakReference<RenderNode>(node);
+            // Add the animator to the list of animators on every draw
+            if (mInitialized || mPendingAnimationActions.size() > 0) {
+                if (useTarget(node)) {
+                    if (DBG_ANIMATION_VECTOR_DRAWABLE) {
+                        Log.d(LOGTAG, "Target is set in the next frame");
+                    }
+                    for (int i = 0; i < mPendingAnimationActions.size(); i++) {
+                        handlePendingAction(mPendingAnimationActions.get(i));
+                    }
+                    mPendingAnimationActions.clear();
                 }
-                for (int i = 0; i < mPendingAnimationActions.size(); i++) {
-                    handlePendingAction(mPendingAnimationActions.get(i));
-                }
-                mPendingAnimationActions.clear();
             }
         }
 
@@ -1285,10 +1401,15 @@
         private boolean useLastSeenTarget() {
             if (mLastSeenTarget != null) {
                 final RenderNode target = mLastSeenTarget.get();
-                if (target != null && target.isAttached()) {
-                    target.addAnimator(this);
-                    return true;
-                }
+                return useTarget(target);
+            }
+            return false;
+        }
+
+        private boolean useTarget(RenderNode target) {
+            if (target != null && target.isAttached()) {
+                target.registerVectorDrawableAnimator(this);
+                return true;
             }
             return false;
         }
@@ -1480,9 +1601,29 @@
         private static void callOnFinished(VectorDrawableAnimatorRT set, int id) {
             set.onAnimationEnd(id);
         }
+
+        private void transferPendingActions(VectorDrawableAnimator animatorSet) {
+            for (int i = 0; i < mPendingAnimationActions.size(); i++) {
+                int pendingAction = mPendingAnimationActions.get(i);
+                if (pendingAction == START_ANIMATION) {
+                    animatorSet.start();
+                } else if (pendingAction == END_ANIMATION) {
+                    animatorSet.end();
+                } else if (pendingAction == REVERSE_ANIMATION) {
+                    animatorSet.reverse();
+                } else if (pendingAction == RESET_ANIMATION) {
+                    animatorSet.reset();
+                } else {
+                    throw new UnsupportedOperationException("Animation action " +
+                            pendingAction + "is not supported");
+                }
+            }
+            mPendingAnimationActions.clear();
+        }
     }
 
     private static native long nCreateAnimatorSet();
+    private static native void nSetVectorDrawableTarget(long animatorPtr, long vectorDrawablePtr);
     private static native void nAddAnimator(long setPtr, long propertyValuesHolder,
              long nativeInterpolator, long startDelay, long duration, int repeatCount);
 
@@ -1498,6 +1639,7 @@
     private static native long nCreateRootAlphaPropertyHolder(long nativePtr, float startValue,
             float endValue);
     private static native void nSetPropertyHolderData(long nativePtr, float[] data, int length);
+    private static native void nSetPropertyHolderData(long nativePtr, int[] data, int length);
     private static native void nStart(long animatorSetPtr, VectorDrawableAnimatorRT set, int id);
     private static native void nReverse(long animatorSetPtr, VectorDrawableAnimatorRT set, int id);
     private static native void nEnd(long animatorSetPtr);
diff --git a/graphics/java/android/graphics/drawable/DrawableContainer.java b/graphics/java/android/graphics/drawable/DrawableContainer.java
index c6977746..d5143da 100644
--- a/graphics/java/android/graphics/drawable/DrawableContainer.java
+++ b/graphics/java/android/graphics/drawable/DrawableContainer.java
@@ -75,6 +75,9 @@
     private long mEnterAnimationEnd;
     private long mExitAnimationEnd;
 
+    /** Callback that blocks invalidation. Used for drawable initialization. */
+    private BlockInvalidateCallback mBlockInvalidateCallback;
+
     // overrides from Drawable
 
     @Override
@@ -500,11 +503,14 @@
      * @param d The drawable to initialize.
      */
     private void initializeDrawableForDisplay(Drawable d) {
+        if (mBlockInvalidateCallback == null) {
+            mBlockInvalidateCallback = new BlockInvalidateCallback();
+        }
+
         // Temporary fix for suspending callbacks during initialization. We
         // don't want any of these setters causing an invalidate() since that
         // may call back into DrawableContainer.
-        final Callback cb = d.getCallback();
-        d.setCallback(null);
+        d.setCallback(mBlockInvalidateCallback.wrap(d.getCallback()));
 
         try {
             if (mDrawableContainerState.mEnterFadeDuration <= 0 && mHasAlpha) {
@@ -537,7 +543,7 @@
                         hotspotBounds.right, hotspotBounds.bottom);
             }
         } finally {
-            d.setCallback(cb);
+            d.setCallback(mBlockInvalidateCallback.unwrap());
         }
     }
 
@@ -1215,4 +1221,41 @@
         mLastIndex = -1;
         mLastDrawable = null;
     }
+
+    /**
+     * Callback that blocks drawable invalidation.
+     */
+    private static class BlockInvalidateCallback implements Drawable.Callback {
+        private Drawable.Callback mCallback;
+
+        public BlockInvalidateCallback wrap(Drawable.Callback callback) {
+            mCallback = callback;
+            return this;
+        }
+
+        public Drawable.Callback unwrap() {
+            final Drawable.Callback callback = mCallback;
+            mCallback = null;
+            return callback;
+        }
+
+        @Override
+        public void invalidateDrawable(@NonNull Drawable who) {
+            // Ignore invalidation.
+        }
+
+        @Override
+        public void scheduleDrawable(@NonNull Drawable who, @NonNull Runnable what, long when) {
+            if (mCallback != null) {
+                mCallback.scheduleDrawable(who, what, when);
+            }
+        }
+
+        @Override
+        public void unscheduleDrawable(@NonNull Drawable who, @NonNull Runnable what) {
+            if (mCallback != null) {
+                mCallback.unscheduleDrawable(who, what);
+            }
+        }
+    }
 }
diff --git a/graphics/java/android/graphics/drawable/GradientDrawable.java b/graphics/java/android/graphics/drawable/GradientDrawable.java
index bcc354c..3dbd2a9 100644
--- a/graphics/java/android/graphics/drawable/GradientDrawable.java
+++ b/graphics/java/android/graphics/drawable/GradientDrawable.java
@@ -699,7 +699,7 @@
             float rad = mStrokePaint.getStrokeWidth();
             canvas.saveLayer(mRect.left - rad, mRect.top - rad,
                              mRect.right + rad, mRect.bottom + rad,
-                             mLayerPaint, Canvas.HAS_ALPHA_LAYER_SAVE_FLAG);
+                             mLayerPaint);
 
             // don't perform the filter in our individual paints
             // since the layer will do it for us
diff --git a/graphics/java/android/graphics/drawable/VectorDrawable.java b/graphics/java/android/graphics/drawable/VectorDrawable.java
index f5592fa..4f6368c 100644
--- a/graphics/java/android/graphics/drawable/VectorDrawable.java
+++ b/graphics/java/android/graphics/drawable/VectorDrawable.java
@@ -34,9 +34,12 @@
 import android.util.ArrayMap;
 import android.util.AttributeSet;
 import android.util.DisplayMetrics;
+import android.util.FloatProperty;
+import android.util.IntProperty;
 import android.util.LayoutDirection;
 import android.util.Log;
 import android.util.PathParser;
+import android.util.Property;
 import android.util.Xml;
 
 import com.android.internal.R;
@@ -386,6 +389,11 @@
     protected boolean onStateChange(int[] stateSet) {
         boolean changed = false;
 
+        // When the VD is stateful, we need to mutate the drawable such that we don't share the
+        // cache bitmap with others. Such that the state change only affect this new cached bitmap.
+        if (isStateful()) {
+            mutate();
+        }
         final VectorDrawableState state = mVectorState;
         if (state.onStateChange(stateSet)) {
             changed = true;
@@ -758,6 +766,13 @@
         return mVectorState.mAutoMirrored;
     }
 
+    /**
+     * @hide
+     */
+    public long getNativeTree() {
+        return mVectorState.getNativeRenderer();
+    }
+
     static class VectorDrawableState extends ConstantState {
         // Variables below need to be copied (deep copy if applicable) for mutation.
         int[] mThemeAttrs;
@@ -790,6 +805,26 @@
         int mLastSWCachePixelCount = 0;
         int mLastHWCachePixelCount = 0;
 
+        final static Property<VectorDrawableState, Float> ALPHA =
+                new FloatProperty<VectorDrawableState>("alpha") {
+                    @Override
+                    public void setValue(VectorDrawableState state, float value) {
+                        state.setAlpha(value);
+                    }
+
+                    @Override
+                    public Float get(VectorDrawableState state) {
+                        return state.getAlpha();
+                    }
+                };
+
+        Property getProperty(String propertyName) {
+            if (ALPHA.getName().equals(propertyName)) {
+                return ALPHA;
+            }
+            return null;
+        }
+
         // This tracks the total native allocation for all the nodes.
         private int mAllocationOfAllNodes = 0;
 
@@ -967,7 +1002,7 @@
     }
 
     static class VGroup extends VObject {
-        private static final int ROTATE_INDEX = 0;
+        private static final int ROTATION_INDEX = 0;
         private static final int PIVOT_X_INDEX = 1;
         private static final int PIVOT_Y_INDEX = 2;
         private static final int SCALE_X_INDEX = 3;
@@ -978,7 +1013,7 @@
 
         private static final int NATIVE_ALLOCATION_SIZE = 100;
 
-        private static final HashMap<String, Integer> sPropertyMap =
+        private static final HashMap<String, Integer> sPropertyIndexMap =
                 new HashMap<String, Integer>() {
                     {
                         put("translateX", TRANSLATE_X_INDEX);
@@ -987,19 +1022,123 @@
                         put("scaleY", SCALE_Y_INDEX);
                         put("pivotX", PIVOT_X_INDEX);
                         put("pivotY", PIVOT_Y_INDEX);
-                        put("rotation", ROTATE_INDEX);
+                        put("rotation", ROTATION_INDEX);
                     }
                 };
 
         static int getPropertyIndex(String propertyName) {
-            if (sPropertyMap.containsKey(propertyName)) {
-                return sPropertyMap.get(propertyName);
+            if (sPropertyIndexMap.containsKey(propertyName)) {
+                return sPropertyIndexMap.get(propertyName);
             } else {
                 // property not found
                 return -1;
             }
         }
 
+        // Below are the Properties that wrap the setters to avoid reflection overhead in animations
+        private static final Property<VGroup, Float> TRANSLATE_X =
+                new FloatProperty<VGroup> ("translateX") {
+                    @Override
+                    public void setValue(VGroup object, float value) {
+                        object.setTranslateX(value);
+                    }
+
+                    @Override
+                    public Float get(VGroup object) {
+                        return object.getTranslateX();
+                    }
+                };
+
+        private static final Property<VGroup, Float> TRANSLATE_Y =
+                new FloatProperty<VGroup> ("translateY") {
+                    @Override
+                    public void setValue(VGroup object, float value) {
+                        object.setTranslateY(value);
+                    }
+
+                    @Override
+                    public Float get(VGroup object) {
+                        return object.getTranslateY();
+                    }
+        };
+
+        private static final Property<VGroup, Float> SCALE_X =
+                new FloatProperty<VGroup> ("scaleX") {
+                    @Override
+                    public void setValue(VGroup object, float value) {
+                        object.setScaleX(value);
+                    }
+
+                    @Override
+                    public Float get(VGroup object) {
+                        return object.getScaleX();
+                    }
+                };
+
+        private static final Property<VGroup, Float> SCALE_Y =
+                new FloatProperty<VGroup> ("scaleY") {
+                    @Override
+                    public void setValue(VGroup object, float value) {
+                        object.setScaleY(value);
+                    }
+
+                    @Override
+                    public Float get(VGroup object) {
+                        return object.getScaleY();
+                    }
+                };
+
+        private static final Property<VGroup, Float> PIVOT_X =
+                new FloatProperty<VGroup> ("pivotX") {
+                    @Override
+                    public void setValue(VGroup object, float value) {
+                        object.setPivotX(value);
+                    }
+
+                    @Override
+                    public Float get(VGroup object) {
+                        return object.getPivotX();
+                    }
+                };
+
+        private static final Property<VGroup, Float> PIVOT_Y =
+                new FloatProperty<VGroup> ("pivotY") {
+                    @Override
+                    public void setValue(VGroup object, float value) {
+                        object.setPivotY(value);
+                    }
+
+                    @Override
+                    public Float get(VGroup object) {
+                        return object.getPivotY();
+                    }
+                };
+
+        private static final Property<VGroup, Float> ROTATION =
+                new FloatProperty<VGroup> ("rotation") {
+                    @Override
+                    public void setValue(VGroup object, float value) {
+                        object.setRotation(value);
+                    }
+
+                    @Override
+                    public Float get(VGroup object) {
+                        return object.getRotation();
+                    }
+                };
+
+        private static final HashMap<String, Property> sPropertyMap =
+                new HashMap<String, Property>() {
+                    {
+                        put("translateX", TRANSLATE_X);
+                        put("translateY", TRANSLATE_Y);
+                        put("scaleX", SCALE_X);
+                        put("scaleY", SCALE_Y);
+                        put("pivotX", PIVOT_X);
+                        put("pivotY", PIVOT_Y);
+                        put("rotation", ROTATION);
+                    }
+                };
         // Temp array to store transform values obtained from native.
         private float[] mTransform;
         /////////////////////////////////////////////////////
@@ -1055,6 +1194,15 @@
             mNativePtr = nCreateGroup();
         }
 
+        Property getProperty(String propertyName) {
+            if (sPropertyMap.containsKey(propertyName)) {
+                return sPropertyMap.get(propertyName);
+            } else {
+                // property not found
+                return null;
+            }
+        }
+
         public String getGroupName() {
             return mGroupName;
         }
@@ -1102,7 +1250,7 @@
                 throw new RuntimeException("Error: inconsistent property count");
             }
             float rotate = a.getFloat(R.styleable.VectorDrawableGroup_rotation,
-                    mTransform[ROTATE_INDEX]);
+                    mTransform[ROTATION_INDEX]);
             float pivotX = a.getFloat(R.styleable.VectorDrawableGroup_pivotX,
                     mTransform[PIVOT_X_INDEX]);
             float pivotY = a.getFloat(R.styleable.VectorDrawableGroup_pivotY,
@@ -1288,6 +1436,27 @@
         String mPathName;
         @Config int mChangingConfigurations;
 
+        private static final Property<VPath, PathParser.PathData> PATH_DATA =
+                new Property<VPath, PathParser.PathData>(PathParser.PathData.class, "pathData") {
+                    @Override
+                    public void set(VPath object, PathParser.PathData data) {
+                        object.setPathData(data);
+                    }
+
+                    @Override
+                    public PathParser.PathData get(VPath object) {
+                        return object.getPathData();
+                    }
+                };
+
+        Property getProperty(String propertyName) {
+            if (PATH_DATA.getName().equals(propertyName)) {
+                return PATH_DATA;
+            }
+            // property not found
+            return null;
+        }
+
         public VPath() {
             // Empty constructor.
         }
@@ -1410,7 +1579,7 @@
 
         private static final int NATIVE_ALLOCATION_SIZE = 264;
         // Property map for animatable attributes.
-        private final static HashMap<String, Integer> sPropertyMap
+        private final static HashMap<String, Integer> sPropertyIndexMap
                 = new HashMap<String, Integer> () {
             {
                 put("strokeWidth", STROKE_WIDTH_INDEX);
@@ -1424,6 +1593,125 @@
             }
         };
 
+        // Below are the Properties that wrap the setters to avoid reflection overhead in animations
+        private static final Property<VFullPath, Float> STROKE_WIDTH =
+                new FloatProperty<VFullPath> ("strokeWidth") {
+                    @Override
+                    public void setValue(VFullPath object, float value) {
+                        object.setStrokeWidth(value);
+                    }
+
+                    @Override
+                    public Float get(VFullPath object) {
+                        return object.getStrokeWidth();
+                    }
+                };
+
+        private static final Property<VFullPath, Integer> STROKE_COLOR =
+                new IntProperty<VFullPath> ("strokeColor") {
+                    @Override
+                    public void setValue(VFullPath object, int value) {
+                        object.setStrokeColor(value);
+                    }
+
+                    @Override
+                    public Integer get(VFullPath object) {
+                        return object.getStrokeColor();
+                    }
+                };
+
+        private static final Property<VFullPath, Float> STROKE_ALPHA =
+                new FloatProperty<VFullPath> ("strokeAlpha") {
+                    @Override
+                    public void setValue(VFullPath object, float value) {
+                        object.setStrokeAlpha(value);
+                    }
+
+                    @Override
+                    public Float get(VFullPath object) {
+                        return object.getStrokeAlpha();
+                    }
+                };
+
+        private static final Property<VFullPath, Integer> FILL_COLOR =
+                new IntProperty<VFullPath>("fillColor") {
+                    @Override
+                    public void setValue(VFullPath object, int value) {
+                        object.setFillColor(value);
+                    }
+
+                    @Override
+                    public Integer get(VFullPath object) {
+                        return object.getFillColor();
+                    }
+                };
+
+        private static final Property<VFullPath, Float> FILL_ALPHA =
+                new FloatProperty<VFullPath> ("fillAlpha") {
+                    @Override
+                    public void setValue(VFullPath object, float value) {
+                        object.setFillAlpha(value);
+                    }
+
+                    @Override
+                    public Float get(VFullPath object) {
+                        return object.getFillAlpha();
+                    }
+                };
+
+        private static final Property<VFullPath, Float> TRIM_PATH_START =
+                new FloatProperty<VFullPath> ("trimPathStart") {
+                    @Override
+                    public void setValue(VFullPath object, float value) {
+                        object.setTrimPathStart(value);
+                    }
+
+                    @Override
+                    public Float get(VFullPath object) {
+                        return object.getTrimPathStart();
+                    }
+                };
+
+        private static final Property<VFullPath, Float> TRIM_PATH_END =
+                new FloatProperty<VFullPath> ("trimPathEnd") {
+                    @Override
+                    public void setValue(VFullPath object, float value) {
+                        object.setTrimPathEnd(value);
+                    }
+
+                    @Override
+                    public Float get(VFullPath object) {
+                        return object.getTrimPathEnd();
+                    }
+                };
+
+        private static final Property<VFullPath, Float> TRIM_PATH_OFFSET =
+                new FloatProperty<VFullPath> ("trimPathOffset") {
+                    @Override
+                    public void setValue(VFullPath object, float value) {
+                        object.setTrimPathOffset(value);
+                    }
+
+                    @Override
+                    public Float get(VFullPath object) {
+                        return object.getTrimPathOffset();
+                    }
+                };
+
+        private final static HashMap<String, Property> sPropertyMap
+                = new HashMap<String, Property> () {
+            {
+                put("strokeWidth", STROKE_WIDTH);
+                put("strokeColor", STROKE_COLOR);
+                put("strokeAlpha", STROKE_ALPHA);
+                put("fillColor", FILL_COLOR);
+                put("fillAlpha", FILL_ALPHA);
+                put("trimPathStart", TRIM_PATH_START);
+                put("trimPathEnd", TRIM_PATH_END);
+                put("trimPathOffset", TRIM_PATH_OFFSET);
+            }
+        };
+
         // Temp array to store property data obtained from native getter.
         private byte[] mPropertyData;
         /////////////////////////////////////////////////////
@@ -1446,11 +1734,24 @@
             mFillColors = copy.mFillColors;
         }
 
+        Property getProperty(String propertyName) {
+            Property p = super.getProperty(propertyName);
+            if (p != null) {
+                return p;
+            }
+            if (sPropertyMap.containsKey(propertyName)) {
+                return sPropertyMap.get(propertyName);
+            } else {
+                // property not found
+                return null;
+            }
+        }
+
         int getPropertyIndex(String propertyName) {
-            if (!sPropertyMap.containsKey(propertyName)) {
+            if (!sPropertyIndexMap.containsKey(propertyName)) {
                 return -1;
             } else {
-                return sPropertyMap.get(propertyName);
+                return sPropertyIndexMap.get(propertyName);
             }
         }
 
@@ -1784,6 +2085,7 @@
         abstract boolean onStateChange(int[] state);
         abstract boolean isStateful();
         abstract int getNativeSize();
+        abstract Property getProperty(String propertyName);
     }
 
     private static native long nCreateTree(long rootGroupPtr);
diff --git a/keystore/java/android/security/GateKeeper.java b/keystore/java/android/security/GateKeeper.java
index c1df28c..7a2cbd0 100644
--- a/keystore/java/android/security/GateKeeper.java
+++ b/keystore/java/android/security/GateKeeper.java
@@ -16,6 +16,7 @@
 
 package android.security;
 
+import android.content.Context;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.UserHandle;
@@ -32,7 +33,7 @@
 
     public static IGateKeeperService getService() {
         IGateKeeperService service = IGateKeeperService.Stub.asInterface(
-                ServiceManager.getService("android.service.gatekeeper.IGateKeeperService"));
+                ServiceManager.getService(Context.GATEKEEPER_SERVICE));
         if (service == null) {
             throw new IllegalStateException("Gatekeeper service not available");
         }
diff --git a/keystore/java/android/security/keystore/KeyGenParameterSpec.java b/keystore/java/android/security/keystore/KeyGenParameterSpec.java
index c3dd223..cbef540 100644
--- a/keystore/java/android/security/keystore/KeyGenParameterSpec.java
+++ b/keystore/java/android/security/keystore/KeyGenParameterSpec.java
@@ -582,11 +582,6 @@
      *
      * @see Builder#setAttestationChallenge(byte[])
      */
-    /*
-     * TODO(swillden): Update this documentation to describe the hardware and software root keys,
-     * including information about CRL/OCSP services for discovering revocations, and to link to
-     * documentation of the extension format and content.
-     */
     public byte[] getAttestationChallenge() {
         return Utils.cloneIfNotNull(mAttestationChallenge);
     }
@@ -601,10 +596,10 @@
     }
 
     /**
-     * Returns {@code true} if the key will remain authorized while the device is on the user's
-     * body, even after the validity duration has expired.  This option has no effect on keys that
-     * don't have an authentication validity duration, and has no effect if the device lacks a
-     * secure on-body sensor.
+     * Returns {@code true} if the key will remain authorized only until the device is removed from
+     * the user's body, up to the validity duration.  This option has no effect on keys that don't
+     * have an authentication validity duration, and has no effect if the device lacks an on-body
+     * sensor.
      *
      * <p>Authorization applies only to secret key and private key operations. Public key operations
      * are not restricted.
@@ -1109,26 +1104,21 @@
         }
 
         /**
-         * Sets whether the key is authorized for use after the authentication validity period is
-         * expired (see {@link #setUserAuthenticationValidityDurationSeconds} and {@link
-         * #setUserAuthenticationRequired}) if the device has a secure on-body sensor and if the
-         * device has not been removed from the user's body since the last successful
-         * authentication.
+         * Sets whether the key will remain authorized only until the device is removed from the
+         * user's body up to the limit of the authentication validity period (see
+         * {@link #setUserAuthenticationValidityDurationSeconds} and
+         * {@link #setUserAuthenticationRequired}). Once the device has been removed from the
+         * user's body, the key will be considered unauthorized and the user will need to
+         * re-authenticate to use it. For keys without an authentication validity period this
+         * parameter has no effect.
          *
-         * <p>On devices that do not have a secure on-body sensor, creating a key with this
-         * parameter set to {@code true} will have no effect; the private or secret key will no
-         * longer be authorized for use after the validity period ends, and a fresh authentication
-         * will be required to use it again.
+         * <p>Similarly, on devices that do not have an on-body sensor, this parameter will have no
+         * effect; the device will always be considered to be "on-body" and the key will therefore
+         * remain authorized until the validity period ends.
          *
-         * <p>Note that "secure" on-body sensors are required by Android to have a secure path to
-         * the secure hardware, but the sensors themselves may not be difficult to fool.  It is
-         * recommended that this feature be used to increase slightly the security of keys which
-         * would otherwise have to allow unauthenticated access, or have a very long validity
-         * period. Keys that require high assurance of user authorization should not use this
-         * feature and should set a short validity period.
-         *
-         * @param remainsValid if {@code true}, and if the device supports secure on-body detection,
-         * key will remain valid after authentication validity duration has expired.
+         * @param remainsValid if {@code true}, and if the device supports on-body detection, key
+         * will be invalidated when the device is removed from the user's body or when the
+         * authentication validity expires, whichever occurs first.
          */
         @NonNull
         public Builder setUserAuthenticationValidWhileOnBody(boolean remainsValid) {
diff --git a/keystore/java/android/security/keystore/KeyInfo.java b/keystore/java/android/security/keystore/KeyInfo.java
index fa6d8b3..f553319 100644
--- a/keystore/java/android/security/keystore/KeyInfo.java
+++ b/keystore/java/android/security/keystore/KeyInfo.java
@@ -285,10 +285,10 @@
     }
 
     /**
-     * Returns {@code true} if this key will remain usable after its specified validity duration
-     * for as long as the device remains on the user's body.  This is possible only for keys with
-     * a specified validity duration.  Always returns {@code false} on devices that lack a secure
-     * on-body sensor.
+     * Returns {@code true} if this key will become unusable when the device is removed from the
+     * user's body.  This is possible only for keys with a specified validity duration, and only on
+     * devices with an on-body sensor.  Always returns {@code false} on devices that lack an on-body
+     * sensor.
      */
     public boolean isUserAuthenticationValidWhileOnBody() {
         return mUserAuthenticationValidWhileOnBody;
diff --git a/keystore/java/android/security/keystore/KeyProtection.java b/keystore/java/android/security/keystore/KeyProtection.java
index a5fb833..e70d33a 100644
--- a/keystore/java/android/security/keystore/KeyProtection.java
+++ b/keystore/java/android/security/keystore/KeyProtection.java
@@ -407,10 +407,9 @@
     }
 
     /**
-     * Returns {@code true} if the key will remain authorized while the device is on the user's
-     * body, even after the validity duration has expired.  This option has no effect on keys that
-     * don't have an authentication validity duration, and has no effect if the device lacks a
-     * secure on-body sensor.
+     * Returns {@code true} if the key will be de-authorized when the device is removed from the
+     * user's body.  This option has no effect on keys that don't have an authentication validity
+     * duration, and has no effect if the device lacks an on-body sensor.
      *
      * <p>Authorization applies only to secret key and private key operations. Public key operations
      * are not restricted.
@@ -728,26 +727,21 @@
         }
 
         /**
-         * Sets whether the key is authorized for use after the authentication validity period is
-         * expired (see {@link #setUserAuthenticationValidityDurationSeconds} and {@link
-         * #setUserAuthenticationRequired}) if the device has a secure on-body sensor and if the
-         * device has not been removed from the user's body since the last successful
-         * authentication.
+         * Sets whether the key will remain authorized only until the device is removed from the
+         * user's body up to the limit of the authentication validity period (see
+         * {@link #setUserAuthenticationValidityDurationSeconds} and
+         * {@link #setUserAuthenticationRequired}). Once the device has been removed from the
+         * user's body, the key will be considered unauthorized and the user will need to
+         * re-authenticate to use it. For keys without an authentication validity period this
+         * parameter has no effect.
          *
-         * <p>On devices that do not have a secure on-body sensor, creating a key with this
-         * parameter set to {@code true} will have no effect; the private or secret key will no
-         * longer be authorized for use after the validity period ends, and a fresh authentication
-         * will be required to use it again.
+         * <p>Similarly, on devices that do not have an on-body sensor, this parameter will have no
+         * effect; the device will always be considered to be "on-body" and the key will therefore
+         * remain authorized until the validity period ends.
          *
-         * <p>Note that "secure" on-body sensors are required by Android to have a secure path to
-         * the secure hardware, but the sensors themselves may not be difficult to fool.  It is
-         * recommended that this feature be used to increase slightly the security of keys which
-         * would otherwise have to allow unauthenticated access, or have a very long validity
-         * period. Keys that require high assurance of user authorization should not use this
-         * feature and should set a short validity period.
-         *
-         * @param remainsValid if {@code true}, and if the device supports secure on-body detection,
-         * key will remain valid after authentication validity duration has expired.
+         * @param remainsValid if {@code true}, and if the device supports on-body detection, key
+         * will be invalidated when the device is removed from the user's body or when the
+         * authentication validity expires, whichever occurs first.
          */
         @NonNull
         public Builder setUserAuthenticationValidWhileOnBody(boolean remainsValid) {
diff --git a/libs/androidfw/ResourceTypes.cpp b/libs/androidfw/ResourceTypes.cpp
index d447a38..ceeb12b 100644
--- a/libs/androidfw/ResourceTypes.cpp
+++ b/libs/androidfw/ResourceTypes.cpp
@@ -6174,7 +6174,7 @@
     if (id >= 256) {
         LOG_ALWAYS_FATAL("Package id out of range");
         return NO_ERROR;
-    } else if (id == 0 || appAsLib || isSystemAsset) {
+    } else if (id == 0 || (id == 0x7f && appAsLib) || isSystemAsset) {
         // This is a library or a system asset, so assign an ID
         id = mNextPackageId++;
     }
diff --git a/libs/hwui/Android.mk b/libs/hwui/Android.mk
index faf6a52..c9d4af6 100644
--- a/libs/hwui/Android.mk
+++ b/libs/hwui/Android.mk
@@ -256,6 +256,7 @@
     tests/unit/MatrixTests.cpp \
     tests/unit/OffscreenBufferPoolTests.cpp \
     tests/unit/RenderNodeTests.cpp \
+    tests/unit/RenderPropertiesTests.cpp \
     tests/unit/SkiaBehaviorTests.cpp \
     tests/unit/SnapshotTests.cpp \
     tests/unit/StringUtilsTests.cpp \
diff --git a/libs/hwui/AnimationContext.cpp b/libs/hwui/AnimationContext.cpp
index 097be08..5759ccd 100644
--- a/libs/hwui/AnimationContext.cpp
+++ b/libs/hwui/AnimationContext.cpp
@@ -63,7 +63,7 @@
         mCurrentFrameAnimations.mNextHandle = head;
         head->mPreviousHandle = &mCurrentFrameAnimations;
     }
-    mFrameTimeMs = mClock.computeFrameTimeMs();
+    mFrameTimeMs = ns2ms(mClock.latestVsync());
 }
 
 void AnimationContext::runRemainingAnimations(TreeInfo& info) {
diff --git a/libs/hwui/AnimationContext.h b/libs/hwui/AnimationContext.h
index 909ed36..801fd87 100644
--- a/libs/hwui/AnimationContext.h
+++ b/libs/hwui/AnimationContext.h
@@ -100,6 +100,8 @@
 
     ANDROID_API virtual void destroy();
 
+    ANDROID_API virtual void detachAnimators() {}
+
 private:
     friend class AnimationHandle;
     void addAnimationHandle(AnimationHandle* handle);
diff --git a/libs/hwui/Animator.cpp b/libs/hwui/Animator.cpp
index 4d65782..dc18018 100644
--- a/libs/hwui/Animator.cpp
+++ b/libs/hwui/Animator.cpp
@@ -274,6 +274,10 @@
     return playTime >= mDuration;
 }
 
+nsecs_t BaseRenderNodeAnimator::getRemainingPlayTime() {
+    return mPlayState == PlayState::Reversing ? mPlayTime : mDuration - mPlayTime;
+}
+
 void BaseRenderNodeAnimator::forceEndNow(AnimationContext& context) {
     if (mPlayState < PlayState::Finished) {
         mPlayState = PlayState::Finished;
diff --git a/libs/hwui/Animator.h b/libs/hwui/Animator.h
index fdae0f3..9476750 100644
--- a/libs/hwui/Animator.h
+++ b/libs/hwui/Animator.h
@@ -62,19 +62,23 @@
     }
     bool mayRunAsync() { return mMayRunAsync; }
     ANDROID_API void start();
-    ANDROID_API void reset();
+    ANDROID_API virtual void reset();
     ANDROID_API void reverse();
     // Terminates the animation at its current progress.
     ANDROID_API void cancel();
 
     // Terminates the animation and skip to the end of the animation.
-    ANDROID_API void end();
+    ANDROID_API virtual void end();
 
     void attach(RenderNode* target);
     virtual void onAttached() {}
     void detach() { mTarget = nullptr; }
-    void pushStaging(AnimationContext& context);
-    bool animate(AnimationContext& context);
+    ANDROID_API void pushStaging(AnimationContext& context);
+    ANDROID_API bool animate(AnimationContext& context);
+
+    // Returns the remaining time in ms for the animation. Note this should only be called during
+    // an animation on RenderThread.
+    ANDROID_API nsecs_t getRemainingPlayTime();
 
     bool isRunning() { return mPlayState == PlayState::Running
             || mPlayState == PlayState::Reversing; }
diff --git a/libs/hwui/BakedOpRenderer.cpp b/libs/hwui/BakedOpRenderer.cpp
index ea2e15b..6db345a 100644
--- a/libs/hwui/BakedOpRenderer.cpp
+++ b/libs/hwui/BakedOpRenderer.cpp
@@ -66,8 +66,13 @@
             offscreenBuffer->texture.id(), 0);
     GL_CHECKPOINT(LOW);
 
-    LOG_ALWAYS_FATAL_IF(glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE,
-            "framebuffer incomplete!");
+    int status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
+    LOG_ALWAYS_FATAL_IF(status != GL_FRAMEBUFFER_COMPLETE,
+            "framebuffer incomplete, status %d, textureId %d, size %dx%d",
+            status,
+            offscreenBuffer->texture.id(),
+            offscreenBuffer->texture.width(),
+            offscreenBuffer->texture.height());
 
     // Change the viewport & ortho projection
     setViewport(offscreenBuffer->viewportWidth, offscreenBuffer->viewportHeight);
diff --git a/libs/hwui/ClipArea.cpp b/libs/hwui/ClipArea.cpp
index fe68239..39b8d3d 100644
--- a/libs/hwui/ClipArea.cpp
+++ b/libs/hwui/ClipArea.cpp
@@ -464,10 +464,7 @@
             }
             case ClipMode::Region:
                 other = getRegion(recordedClip);
-
-                // TODO: handle non-translate transforms properly!
-                other.translate(recordedClipTransform.getTranslateX(),
-                        recordedClipTransform.getTranslateY());
+                applyTransformToRegion(recordedClipTransform, &other);
             }
 
             ClipRegion* regionClip = allocator.create<ClipRegion>();
@@ -527,11 +524,29 @@
         }
     } else {
         SkRegion region(getRegion(clip));
-        // TODO: handle non-translate transforms properly!
-        region.translate(transform.getTranslateX(), transform.getTranslateY());
+        applyTransformToRegion(transform, &region);
         clipRegion(region, SkRegion::kIntersect_Op);
     }
 }
 
+void ClipArea::applyTransformToRegion(const Matrix4& transform, SkRegion* region) {
+    if (transform.isSimple() && !transform.isPureTranslate()) {
+        // handle matrices with scale manually by mapping each rect
+        SkRegion other;
+        SkRegion::Iterator it(*region);
+        while (!it.done()) {
+            Rect rect(it.rect());
+            transform.mapRect(rect);
+            rect.roundOut();
+            other.op(rect.left, rect.top, rect.right, rect.bottom, SkRegion::kUnion_Op);
+            it.next();
+        }
+        region->swap(other);
+    } else {
+        // TODO: handle non-translate transforms properly!
+        region->translate(transform.getTranslateX(), transform.getTranslateY());
+    }
+}
+
 } /* namespace uirenderer */
 } /* namespace android */
diff --git a/libs/hwui/ClipArea.h b/libs/hwui/ClipArea.h
index 6eb2eef..53d9d03 100644
--- a/libs/hwui/ClipArea.h
+++ b/libs/hwui/ClipArea.h
@@ -179,6 +179,8 @@
             const ClipBase* recordedClip, const Matrix4& recordedClipTransform);
     void applyClip(const ClipBase* recordedClip, const Matrix4& recordedClipTransform);
 
+    static void applyTransformToRegion(const Matrix4& transform, SkRegion* region);
+
 private:
     void enterRectangleMode();
     void rectangleModeClipRectWithTransform(const Rect& r, const mat4* transform, SkRegion::Op op);
diff --git a/libs/hwui/DisplayList.cpp b/libs/hwui/DisplayList.cpp
index b572bda..28be05c 100644
--- a/libs/hwui/DisplayList.cpp
+++ b/libs/hwui/DisplayList.cpp
@@ -45,7 +45,7 @@
         , regions(stdAllocator)
         , referenceHolders(stdAllocator)
         , functors(stdAllocator)
-        , pushStagingFunctors(stdAllocator)
+        , vectorDrawables(stdAllocator)
         , hasDrawOps(false) {
 }
 
diff --git a/libs/hwui/DisplayList.h b/libs/hwui/DisplayList.h
index 5b3227b..ccf71c6 100644
--- a/libs/hwui/DisplayList.h
+++ b/libs/hwui/DisplayList.h
@@ -69,6 +69,11 @@
 typedef DrawRenderNodeOp NodeOpType;
 #endif
 
+namespace VectorDrawable {
+class Tree;
+};
+typedef uirenderer::VectorDrawable::Tree VectorDrawableRoot;
+
 /**
  * Holds data used in the playback a tree of DisplayLists.
  */
@@ -110,16 +115,6 @@
     LinearAllocator mReplayAllocator;
 };
 
-/**
- * Functor that can be used for objects with data in both UI thread and RT to keep the data
- * in sync. This functor, when added to DisplayList, will be call during DisplayList sync.
- */
-struct PushStagingFunctor {
-    PushStagingFunctor() {}
-    virtual ~PushStagingFunctor() {}
-    virtual void operator ()() {}
-};
-
 struct FunctorContainer {
     Functor* functor;
     GlFunctorLifecycleListener* listener;
@@ -161,7 +156,7 @@
 
     const LsaVector<const SkBitmap*>& getBitmapResources() const { return bitmapResources; }
     const LsaVector<FunctorContainer>& getFunctors() const { return functors; }
-    const LsaVector<PushStagingFunctor*>& getPushStagingFunctors() { return pushStagingFunctors; }
+    const LsaVector<VectorDrawableRoot*>& getVectorDrawables() { return vectorDrawables; }
 
     size_t addChild(NodeOpType* childOp);
 
@@ -203,10 +198,10 @@
     // List of functors
     LsaVector<FunctorContainer> functors;
 
-    // List of functors that need to be notified of pushStaging. Note that this list gets nothing
+    // List of VectorDrawables that need to be notified of pushStaging. Note that this list gets nothing
     // but a callback during sync DisplayList, unlike the list of functors defined above, which
     // gets special treatment exclusive for webview.
-    LsaVector<PushStagingFunctor*> pushStagingFunctors;
+    LsaVector<VectorDrawableRoot*> vectorDrawables;
 
     bool hasDrawOps; // only used if !HWUI_NEW_OPS
 
diff --git a/libs/hwui/DisplayListCanvas.cpp b/libs/hwui/DisplayListCanvas.cpp
index ca968ce..bec66295 100644
--- a/libs/hwui/DisplayListCanvas.cpp
+++ b/libs/hwui/DisplayListCanvas.cpp
@@ -417,7 +417,7 @@
 
 void DisplayListCanvas::drawVectorDrawable(VectorDrawableRoot* tree) {
     mDisplayList->ref(tree);
-    mDisplayList->pushStagingFunctors.push_back(tree->getFunctor());
+    mDisplayList->vectorDrawables.push_back(tree);
     addDrawOp(new (alloc()) DrawVectorDrawableOp(tree, tree->stagingProperties()->getBounds()));
 }
 
diff --git a/libs/hwui/FrameBuilder.cpp b/libs/hwui/FrameBuilder.cpp
index cb8e55f..37d9d0e7 100644
--- a/libs/hwui/FrameBuilder.cpp
+++ b/libs/hwui/FrameBuilder.cpp
@@ -86,7 +86,9 @@
             ATRACE_FORMAT("Optimize HW Layer DisplayList %s %ux%u",
                     layerNode->getName(), layerNode->getWidth(), layerNode->getHeight());
 
-            const Rect& layerDamage = layers.entries()[i].damage;
+            Rect layerDamage = layers.entries()[i].damage;
+            // TODO: ensure layer damage can't be larger than layer
+            layerDamage.doIntersect(0, 0, layer->viewportWidth, layer->viewportHeight);
             layerNode->computeOrdering();
 
             // map current light center into RenderNode's coordinate space
@@ -944,6 +946,7 @@
 
     Rect dstRect(op.unmappedBounds);
     boundsTransform.mapRect(dstRect);
+    dstRect.roundOut();
     dstRect.doIntersect(mCanvasState.currentSnapshot()->getRenderTargetClip());
 
     if (dstRect.isEmpty()) {
diff --git a/libs/hwui/LayerUpdateQueue.cpp b/libs/hwui/LayerUpdateQueue.cpp
index db5f676..95f5cfb 100644
--- a/libs/hwui/LayerUpdateQueue.cpp
+++ b/libs/hwui/LayerUpdateQueue.cpp
@@ -26,6 +26,7 @@
 }
 
 void LayerUpdateQueue::enqueueLayerWithDamage(RenderNode* renderNode, Rect damage) {
+    damage.roundOut();
     damage.doIntersect(0, 0, renderNode->getWidth(), renderNode->getHeight());
     if (!damage.isEmpty()) {
         for (Entry& entry : mEntries) {
diff --git a/libs/hwui/PropertyValuesAnimatorSet.cpp b/libs/hwui/PropertyValuesAnimatorSet.cpp
index b29f91f..796c73b 100644
--- a/libs/hwui/PropertyValuesAnimatorSet.cpp
+++ b/libs/hwui/PropertyValuesAnimatorSet.cpp
@@ -29,7 +29,11 @@
     PropertyAnimator* animator = new PropertyAnimator(propertyValuesHolder,
             interpolator, startDelay, duration, repeatCount);
     mAnimators.emplace_back(animator);
-    setListener(new PropertyAnimatorSetListener(this));
+
+    // Check whether any child animator is infinite after adding it them to the set.
+    if (repeatCount == -1) {
+        mIsInfinite = true;
+    }
 }
 
 PropertyValuesAnimatorSet::PropertyValuesAnimatorSet()
@@ -37,6 +41,7 @@
     setStartValue(0);
     mLastFraction = 0.0f;
     setInterpolator(new LinearInterpolator());
+    setListener(new PropertyAnimatorSetListener(this));
 }
 
 void PropertyValuesAnimatorSet::onFinished(BaseRenderNodeAnimator* animator) {
@@ -78,15 +83,27 @@
 void PropertyValuesAnimatorSet::start(AnimationListener* listener) {
     init();
     mOneShotListener = listener;
+    mRequestId++;
     BaseRenderNodeAnimator::start();
 }
 
 void PropertyValuesAnimatorSet::reverse(AnimationListener* listener) {
     init();
     mOneShotListener = listener;
+    mRequestId++;
     BaseRenderNodeAnimator::reverse();
 }
 
+void PropertyValuesAnimatorSet::reset() {
+    mRequestId++;
+    BaseRenderNodeAnimator::reset();
+}
+
+void PropertyValuesAnimatorSet::end() {
+    mRequestId++;
+    BaseRenderNodeAnimator::end();
+}
+
 void PropertyValuesAnimatorSet::init() {
     if (mInitialized) {
         return;
@@ -98,7 +115,7 @@
     std::sort(mAnimators.begin(), mAnimators.end(), [](auto& a, auto&b) {
         return a->getTotalDuration() < b->getTotalDuration();
     });
-    mDuration = mAnimators[mAnimators.size() - 1]->getTotalDuration();
+    mDuration = mAnimators.empty() ? 0 : mAnimators[mAnimators.size() - 1]->getTotalDuration();
     mInitialized = true;
 }
 
diff --git a/libs/hwui/PropertyValuesAnimatorSet.h b/libs/hwui/PropertyValuesAnimatorSet.h
index c7ae7c0..49021bc 100644
--- a/libs/hwui/PropertyValuesAnimatorSet.h
+++ b/libs/hwui/PropertyValuesAnimatorSet.h
@@ -43,6 +43,7 @@
     float mLatestFraction = 0.0f;
 };
 
+// TODO: This class should really be named VectorDrawableAnimator
 class ANDROID_API PropertyValuesAnimatorSet : public BaseRenderNodeAnimator {
 public:
     friend class PropertyAnimatorSetListener;
@@ -50,11 +51,19 @@
 
     void start(AnimationListener* listener);
     void reverse(AnimationListener* listener);
+    virtual void reset() override;
+    virtual void end() override;
 
     void addPropertyAnimator(PropertyValuesHolder* propertyValuesHolder,
             Interpolator* interpolators, int64_t startDelays,
             nsecs_t durations, int repeatCount);
     virtual uint32_t dirtyMask();
+    bool isInfinite() { return mIsInfinite; }
+    void setVectorDrawable(VectorDrawableRoot* vd) { mVectorDrawable = vd; }
+    VectorDrawableRoot* getVectorDrawable() const { return mVectorDrawable; }
+    AnimationListener* getOneShotListener() { return mOneShotListener.get(); }
+    void clearOneShotListener() { mOneShotListener = nullptr; }
+    uint32_t getRequestId() const { return mRequestId; }
 
 protected:
     virtual float getValue(RenderNode* target) const override;
@@ -69,6 +78,11 @@
     std::vector< std::unique_ptr<PropertyAnimator> > mAnimators;
     float mLastFraction = 0.0f;
     bool mInitialized = false;
+    VectorDrawableRoot* mVectorDrawable = nullptr;
+    bool mIsInfinite = false;
+    // This request id gets incremented (on UI thread only) when a new request to modfiy the
+    // lifecycle of an animation happens, namely when start/end/reset/reverse is called.
+    uint32_t mRequestId = 0;
 };
 
 class PropertyAnimatorSetListener : public AnimationListener {
diff --git a/libs/hwui/PropertyValuesHolder.cpp b/libs/hwui/PropertyValuesHolder.cpp
index 0932d65..6ba0ab5 100644
--- a/libs/hwui/PropertyValuesHolder.cpp
+++ b/libs/hwui/PropertyValuesHolder.cpp
@@ -25,7 +25,27 @@
 
 using namespace VectorDrawable;
 
-float PropertyValuesHolder::getValueFromData(float fraction) {
+inline U8CPU lerp(U8CPU fromValue, U8CPU toValue, float fraction) {
+    return (U8CPU) (fromValue * (1 - fraction) + toValue * fraction);
+}
+
+// TODO: Add a test for this
+void ColorEvaluator::evaluate(SkColor* outColor,
+        const SkColor& fromColor, const SkColor& toColor, float fraction) const {
+    U8CPU alpha = lerp(SkColorGetA(fromColor), SkColorGetA(toColor), fraction);
+    U8CPU red = lerp(SkColorGetR(fromColor), SkColorGetR(toColor), fraction);
+    U8CPU green = lerp(SkColorGetG(fromColor), SkColorGetG(toColor), fraction);
+    U8CPU blue = lerp(SkColorGetB(fromColor), SkColorGetB(toColor), fraction);
+    *outColor = SkColorSetARGB(alpha, red, green, blue);
+}
+
+void PathEvaluator::evaluate(PathData* out,
+        const PathData& from, const PathData& to, float fraction) const {
+    VectorDrawableUtils::interpolatePaths(out, from, to, fraction);
+}
+
+template<typename T>
+const T PropertyValuesHolderImpl<T>::getValueFromData(float fraction) const {
     if (mDataSource.size() == 0) {
         LOG_ALWAYS_FATAL("No data source is defined");
         return 0;
@@ -41,57 +61,44 @@
     int lowIndex = floor(fraction);
     fraction -= lowIndex;
 
-    float value = mDataSource[lowIndex] * (1.0f - fraction)
-            + mDataSource[lowIndex + 1] * fraction;
+    T value;
+    mEvaluator->evaluate(&value, mDataSource[lowIndex], mDataSource[lowIndex + 1], fraction);
     return value;
 }
 
-void GroupPropertyValuesHolder::setFraction(float fraction) {
-    float animatedValue;
+template<typename T>
+const T PropertyValuesHolderImpl<T>::calculateAnimatedValue(float fraction) const {
     if (mDataSource.size() > 0) {
-        animatedValue = getValueFromData(fraction);
+        return getValueFromData(fraction);
     } else {
-        animatedValue = mStartValue * (1 - fraction) + mEndValue * fraction;
+        T value;
+        mEvaluator->evaluate(&value, mStartValue, mEndValue, fraction);
+        return value;
     }
+}
+
+void GroupPropertyValuesHolder::setFraction(float fraction) {
+    float animatedValue = calculateAnimatedValue(fraction);
     mGroup->mutateProperties()->setPropertyValue(mPropertyId, animatedValue);
 }
 
-inline U8CPU lerp(U8CPU fromValue, U8CPU toValue, float fraction) {
-    return (U8CPU) (fromValue * (1 - fraction) + toValue * fraction);
-}
-
-// TODO: Add a test for this
-SkColor FullPathColorPropertyValuesHolder::interpolateColors(SkColor fromColor, SkColor toColor,
-        float fraction) {
-    U8CPU alpha = lerp(SkColorGetA(fromColor), SkColorGetA(toColor), fraction);
-    U8CPU red = lerp(SkColorGetR(fromColor), SkColorGetR(toColor), fraction);
-    U8CPU green = lerp(SkColorGetG(fromColor), SkColorGetG(toColor), fraction);
-    U8CPU blue = lerp(SkColorGetB(fromColor), SkColorGetB(toColor), fraction);
-    return SkColorSetARGB(alpha, red, green, blue);
-}
-
 void FullPathColorPropertyValuesHolder::setFraction(float fraction) {
-    SkColor animatedValue = interpolateColors(mStartValue, mEndValue, fraction);
+    SkColor animatedValue = calculateAnimatedValue(fraction);
     mFullPath->mutateProperties()->setColorPropertyValue(mPropertyId, animatedValue);
 }
 
 void FullPathPropertyValuesHolder::setFraction(float fraction) {
-    float animatedValue;
-    if (mDataSource.size() > 0) {
-        animatedValue = getValueFromData(fraction);
-    } else {
-        animatedValue = mStartValue * (1 - fraction) + mEndValue * fraction;
-    }
+    float animatedValue = calculateAnimatedValue(fraction);
     mFullPath->mutateProperties()->setPropertyValue(mPropertyId, animatedValue);
 }
 
 void PathDataPropertyValuesHolder::setFraction(float fraction) {
-    VectorDrawableUtils::interpolatePaths(&mPathData, mStartValue, mEndValue, fraction);
+    mEvaluator->evaluate(&mPathData, mStartValue, mEndValue, fraction);
     mPath->mutateProperties()->setData(mPathData);
 }
 
 void RootAlphaPropertyValuesHolder::setFraction(float fraction) {
-    float animatedValue = mStartValue * (1 - fraction) + mEndValue * fraction;
+    float animatedValue = calculateAnimatedValue(fraction);
     mTree->mutateProperties()->setRootAlpha(animatedValue);
 }
 
diff --git a/libs/hwui/PropertyValuesHolder.h b/libs/hwui/PropertyValuesHolder.h
index b905fae..432f8ba 100644
--- a/libs/hwui/PropertyValuesHolder.h
+++ b/libs/hwui/PropertyValuesHolder.h
@@ -31,91 +31,130 @@
 class ANDROID_API PropertyValuesHolder {
 public:
     virtual void setFraction(float fraction) = 0;
-    void setPropertyDataSource(float* dataSource, int length) {
-        mDataSource.insert(mDataSource.begin(), dataSource, dataSource + length);
-    }
-   float getValueFromData(float fraction);
-   virtual ~PropertyValuesHolder() {}
-protected:
-   std::vector<float> mDataSource;
+    virtual ~PropertyValuesHolder() {}
 };
 
-class ANDROID_API GroupPropertyValuesHolder : public PropertyValuesHolder {
+template <typename T>
+class Evaluator {
+public:
+    virtual void evaluate(T* out, const T& from, const T& to, float fraction) const {};
+    virtual ~Evaluator() {}
+};
+
+class FloatEvaluator : public Evaluator<float> {
+public:
+    virtual void evaluate(float* out, const float& from, const float& to, float fraction)
+            const override {
+        *out = from * (1 - fraction) + to * fraction;
+    }
+};
+
+class ANDROID_API ColorEvaluator : public Evaluator<SkColor> {
+public:
+    virtual void evaluate(SkColor* outColor, const SkColor& from, const SkColor& to,
+            float fraction) const override;
+};
+
+class ANDROID_API PathEvaluator : public Evaluator<PathData> {
+    virtual void evaluate(PathData* out, const PathData& from, const PathData& to, float fraction)
+            const override;
+};
+
+template <typename T>
+class ANDROID_API PropertyValuesHolderImpl : public PropertyValuesHolder {
+public:
+    PropertyValuesHolderImpl(const T& startValue, const T& endValue)
+            : mStartValue(startValue)
+            , mEndValue(endValue) {}
+    void setPropertyDataSource(T* dataSource, int length) {
+        mDataSource.insert(mDataSource.begin(), dataSource, dataSource + length);
+    }
+    // Calculate the animated value from the data source.
+    const T getValueFromData(float fraction) const;
+    // Convenient method to favor getting animated value from data source. If no data source is set
+    // fall back to linear interpolation.
+    const T calculateAnimatedValue(float fraction) const;
+protected:
+   std::unique_ptr<Evaluator<T>> mEvaluator = nullptr;
+   // This contains uniformly sampled data throughout the animation duration. The first element
+   // should be the start value and the last should be the end value of the animation. When the
+   // data source is set, we'll favor data source over the linear interpolation of start/end value
+   // for calculation of animated value.
+   std::vector<T> mDataSource;
+   T mStartValue;
+   T mEndValue;
+};
+
+class ANDROID_API GroupPropertyValuesHolder : public PropertyValuesHolderImpl<float> {
 public:
     GroupPropertyValuesHolder(VectorDrawable::Group* ptr, int propertyId, float startValue,
             float endValue)
-            : mGroup(ptr)
-            , mPropertyId(propertyId)
-            , mStartValue(startValue)
-            , mEndValue(endValue){
+            : PropertyValuesHolderImpl(startValue, endValue)
+            , mGroup(ptr)
+            , mPropertyId(propertyId) {
+        mEvaluator.reset(new FloatEvaluator());
     }
     void setFraction(float fraction) override;
 private:
     VectorDrawable::Group* mGroup;
     int mPropertyId;
-    float mStartValue;
-    float mEndValue;
 };
 
-class ANDROID_API FullPathColorPropertyValuesHolder : public PropertyValuesHolder {
+class ANDROID_API FullPathColorPropertyValuesHolder : public PropertyValuesHolderImpl<SkColor> {
 public:
-    FullPathColorPropertyValuesHolder(VectorDrawable::FullPath* ptr, int propertyId, int32_t startValue,
-            int32_t endValue)
-            : mFullPath(ptr)
-            , mPropertyId(propertyId)
-            , mStartValue(startValue)
-            , mEndValue(endValue) {};
+    FullPathColorPropertyValuesHolder(VectorDrawable::FullPath* ptr, int propertyId,
+            SkColor startValue, SkColor endValue)
+            : PropertyValuesHolderImpl(startValue, endValue)
+            , mFullPath(ptr)
+            , mPropertyId(propertyId) {
+        mEvaluator.reset(new ColorEvaluator());
+    }
     void setFraction(float fraction) override;
     static SkColor interpolateColors(SkColor fromColor, SkColor toColor, float fraction);
 private:
     VectorDrawable::FullPath* mFullPath;
     int mPropertyId;
-    int32_t mStartValue;
-    int32_t mEndValue;
 };
 
-class ANDROID_API FullPathPropertyValuesHolder : public PropertyValuesHolder {
+class ANDROID_API FullPathPropertyValuesHolder : public PropertyValuesHolderImpl<float> {
 public:
     FullPathPropertyValuesHolder(VectorDrawable::FullPath* ptr, int propertyId, float startValue,
             float endValue)
-            : mFullPath(ptr)
-            , mPropertyId(propertyId)
-            , mStartValue(startValue)
-            , mEndValue(endValue) {};
+            : PropertyValuesHolderImpl(startValue, endValue)
+            , mFullPath(ptr)
+            , mPropertyId(propertyId) {
+        mEvaluator.reset(new FloatEvaluator());
+    };
     void setFraction(float fraction) override;
 private:
     VectorDrawable::FullPath* mFullPath;
     int mPropertyId;
-    float mStartValue;
-    float mEndValue;
 };
 
-class ANDROID_API PathDataPropertyValuesHolder : public PropertyValuesHolder {
+class ANDROID_API PathDataPropertyValuesHolder : public PropertyValuesHolderImpl<PathData> {
 public:
     PathDataPropertyValuesHolder(VectorDrawable::Path* ptr, PathData* startValue,
             PathData* endValue)
-            : mPath(ptr)
-            , mStartValue(*startValue)
-            , mEndValue(*endValue) {};
+            : PropertyValuesHolderImpl(*startValue, *endValue)
+            , mPath(ptr) {
+        mEvaluator.reset(new PathEvaluator());
+    };
     void setFraction(float fraction) override;
 private:
     VectorDrawable::Path* mPath;
     PathData mPathData;
-    PathData mStartValue;
-    PathData mEndValue;
 };
 
-class ANDROID_API RootAlphaPropertyValuesHolder : public PropertyValuesHolder {
+class ANDROID_API RootAlphaPropertyValuesHolder : public PropertyValuesHolderImpl<float> {
 public:
     RootAlphaPropertyValuesHolder(VectorDrawable::Tree* tree, float startValue, float endValue)
-            : mTree(tree)
-            , mStartValue(startValue)
-            , mEndValue(endValue) {}
+            : PropertyValuesHolderImpl(startValue, endValue)
+            , mTree(tree) {
+        mEvaluator.reset(new FloatEvaluator());
+    }
     void setFraction(float fraction) override;
 private:
     VectorDrawable::Tree* mTree;
-    float mStartValue;
-    float mEndValue;
 };
 }
 }
diff --git a/libs/hwui/RecordingCanvas.cpp b/libs/hwui/RecordingCanvas.cpp
index b49f9b5..cbefccb 100644
--- a/libs/hwui/RecordingCanvas.cpp
+++ b/libs/hwui/RecordingCanvas.cpp
@@ -127,7 +127,8 @@
     // operations will be able to store and restore the current clip and transform info, and
     // quick rejection will be correct (for display lists)
 
-    const Rect unmappedBounds(left, top, right, bottom);
+    Rect unmappedBounds(left, top, right, bottom);
+    unmappedBounds.roundOut();
 
     // determine clipped bounds relative to previous viewport.
     Rect visibleBounds = unmappedBounds;
@@ -440,8 +441,8 @@
 }
 
 void RecordingCanvas::drawVectorDrawable(VectorDrawableRoot* tree) {
-    mDisplayList->pushStagingFunctors.push_back(tree->getFunctor());
     mDisplayList->ref(tree);
+    mDisplayList->vectorDrawables.push_back(tree);
     addOp(alloc().create_trivial<VectorDrawableOp>(
             tree,
             Rect(tree->stagingProperties()->getBounds()),
diff --git a/libs/hwui/Rect.h b/libs/hwui/Rect.h
index de4fa55..5786668 100644
--- a/libs/hwui/Rect.h
+++ b/libs/hwui/Rect.h
@@ -73,6 +73,13 @@
             bottom(height) {
     }
 
+    inline Rect(const SkIRect& rect):
+            left(rect.fLeft),
+            top(rect.fTop),
+            right(rect.fRight),
+            bottom(rect.fBottom) {
+    }
+
     inline Rect(const SkRect& rect):
             left(rect.fLeft),
             top(rect.fTop),
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp
index 6e848fd..f8797bf 100644
--- a/libs/hwui/RenderNode.cpp
+++ b/libs/hwui/RenderNode.cpp
@@ -319,6 +319,8 @@
         transformUpdateNeeded = true;
     } else if (!layerMatchesWidthAndHeight(mLayer, getWidth(), getHeight())) {
 #if HWUI_NEW_OPS
+        // TODO: remove now irrelevant, currently enqueued damage (respecting damage ordering)
+        // Or, ideally, maintain damage between frames on node/layer so ordering is always correct
         RenderState& renderState = mLayer->renderState;
         if (properties().fitsOnLayer()) {
             mLayer = renderState.layerPool().resize(mLayer, getWidth(), getHeight());
@@ -419,6 +421,16 @@
     prepareSubTree(info, childFunctorsNeedLayer, mDisplayList);
     pushLayerUpdate(info);
 
+    if (mDisplayList) {
+        for (auto& vectorDrawable : mDisplayList->getVectorDrawables()) {
+            // If any vector drawable in the display list needs update, damage the node.
+            if (vectorDrawable->isDirty()) {
+                damageSelf(info);
+            }
+            vectorDrawable->setPropertyChangeWillBeConsumed(true);
+        }
+    }
+
     info.damageAccumulator->popTransform();
 }
 
@@ -462,7 +474,7 @@
 }
 #endif
 
-void RenderNode::syncDisplayList(TreeObserver* observer) {
+void RenderNode::syncDisplayList(TreeInfo* info) {
     // Make sure we inc first so that we don't fluctuate between 0 and 1,
     // which would thrash the layer cache
     if (mStagingDisplayList) {
@@ -470,15 +482,15 @@
             child->renderNode->incParentRefCount();
         }
     }
-    deleteDisplayList(observer);
+    deleteDisplayList(info ? info->observer : nullptr, info);
     mDisplayList = mStagingDisplayList;
     mStagingDisplayList = nullptr;
     if (mDisplayList) {
         for (auto& iter : mDisplayList->getFunctors()) {
             (*iter.functor)(DrawGlInfo::kModeSync, nullptr);
         }
-        for (size_t i = 0; i < mDisplayList->getPushStagingFunctors().size(); i++) {
-            (*mDisplayList->getPushStagingFunctors()[i])();
+        for (auto& vectorDrawable : mDisplayList->getVectorDrawables()) {
+            vectorDrawable->syncProperties();
         }
     }
 }
@@ -489,15 +501,15 @@
         // Damage with the old display list first then the new one to catch any
         // changes in isRenderable or, in the future, bounds
         damageSelf(info);
-        syncDisplayList(info.observer);
+        syncDisplayList(&info);
         damageSelf(info);
     }
 }
 
-void RenderNode::deleteDisplayList(TreeObserver* observer) {
+void RenderNode::deleteDisplayList(TreeObserver* observer, TreeInfo* info) {
     if (mDisplayList) {
         for (auto&& child : mDisplayList->getChildren()) {
-            child->renderNode->decParentRefCount(observer);
+            child->renderNode->decParentRefCount(observer, info);
         }
     }
     delete mDisplayList;
@@ -529,35 +541,38 @@
     }
 }
 
-void RenderNode::destroyHardwareResources(TreeObserver* observer) {
+void RenderNode::destroyHardwareResources(TreeObserver* observer, TreeInfo* info) {
     if (mLayer) {
         destroyLayer(mLayer);
         mLayer = nullptr;
     }
     if (mDisplayList) {
         for (auto&& child : mDisplayList->getChildren()) {
-            child->renderNode->destroyHardwareResources(observer);
+            child->renderNode->destroyHardwareResources(observer, info);
         }
         if (mNeedsDisplayListSync) {
             // Next prepare tree we are going to push a new display list, so we can
             // drop our current one now
-            deleteDisplayList(observer);
+            deleteDisplayList(observer, info);
         }
     }
 }
 
-void RenderNode::decParentRefCount(TreeObserver* observer) {
+void RenderNode::decParentRefCount(TreeObserver* observer, TreeInfo* info) {
     LOG_ALWAYS_FATAL_IF(!mParentCount, "already 0!");
     mParentCount--;
     if (!mParentCount) {
         if (observer) {
             observer->onMaybeRemovedFromTree(this);
         }
+        if (CC_UNLIKELY(mPositionListener.get())) {
+            mPositionListener->onPositionLost(*this, info);
+        }
         // If a child of ours is being attached to our parent then this will incorrectly
         // destroy its hardware resources. However, this situation is highly unlikely
         // and the failure is "just" that the layer is re-created, so this should
         // be safe enough
-        destroyHardwareResources(observer);
+        destroyHardwareResources(observer, info);
     }
 }
 
diff --git a/libs/hwui/RenderNode.h b/libs/hwui/RenderNode.h
index acdc3d8..47fef6d 100644
--- a/libs/hwui/RenderNode.h
+++ b/libs/hwui/RenderNode.h
@@ -196,7 +196,7 @@
     }
 
     ANDROID_API virtual void prepareTree(TreeInfo& info);
-    void destroyHardwareResources(TreeObserver* observer);
+    void destroyHardwareResources(TreeObserver* observer, TreeInfo* info = nullptr);
 
     // UI thread only!
     ANDROID_API void addAnimator(const sp<BaseRenderNodeAnimator>& animator);
@@ -228,17 +228,26 @@
     OffscreenBuffer** getLayerHandle() { return &mLayer; } // ugh...
 #endif
 
-    class ANDROID_API PositionListener {
+    // Note: The position callbacks are relying on the listener using
+    // the frameNumber to appropriately batch/synchronize these transactions.
+    // There is no other filtering/batching to ensure that only the "final"
+    // state called once per frame.
+    class ANDROID_API PositionListener : public VirtualLightRefBase {
     public:
         virtual ~PositionListener() {}
+        // Called when the RenderNode's position changes
         virtual void onPositionUpdated(RenderNode& node, const TreeInfo& info) = 0;
+        // Called when the RenderNode no longer has a position. As in, it's
+        // no longer being drawn.
+        // Note, tree info might be null
+        virtual void onPositionLost(RenderNode& node, const TreeInfo* info) = 0;
     };
 
     // Note this is not thread safe, this needs to be called
     // before the RenderNode is used for drawing.
     // RenderNode takes ownership of the pointer
     ANDROID_API void setPositionListener(PositionListener* listener) {
-        mPositionListener.reset(listener);
+        mPositionListener = listener;
     }
 
     // This is only modified in MODE_FULL, so it can be safely accessed
@@ -306,7 +315,7 @@
 
 
     void syncProperties();
-    void syncDisplayList(TreeObserver* observer);
+    void syncDisplayList(TreeInfo* info);
 
     void prepareTreeImpl(TreeInfo& info, bool functorsNeedLayer);
     void pushStagingPropertiesChanges(TreeInfo& info);
@@ -317,11 +326,11 @@
 #endif
     void prepareLayer(TreeInfo& info, uint32_t dirtyMask);
     void pushLayerUpdate(TreeInfo& info);
-    void deleteDisplayList(TreeObserver* observer);
+    void deleteDisplayList(TreeObserver* observer, TreeInfo* info = nullptr);
     void damageSelf(TreeInfo& info);
 
     void incParentRefCount() { mParentCount++; }
-    void decParentRefCount(TreeObserver* observer);
+    void decParentRefCount(TreeObserver* observer, TreeInfo* info = nullptr);
 
     String8 mName;
     sp<VirtualLightRefBase> mUserContext;
@@ -357,7 +366,7 @@
     // mDisplayList, not mStagingDisplayList.
     uint32_t mParentCount;
 
-    std::unique_ptr<PositionListener> mPositionListener;
+    sp<PositionListener> mPositionListener;
 }; // class RenderNode
 
 } /* namespace uirenderer */
diff --git a/libs/hwui/RenderProperties.h b/libs/hwui/RenderProperties.h
index 3952798..696cc29 100644
--- a/libs/hwui/RenderProperties.h
+++ b/libs/hwui/RenderProperties.h
@@ -611,7 +611,9 @@
     bool fitsOnLayer() const {
         const DeviceInfo* deviceInfo = DeviceInfo::get();
         return mPrimitiveFields.mWidth <= deviceInfo->maxTextureSize()
-                        && mPrimitiveFields.mHeight <= deviceInfo->maxTextureSize();
+                        && mPrimitiveFields.mHeight <= deviceInfo->maxTextureSize()
+                        && mPrimitiveFields.mWidth > 0
+                        && mPrimitiveFields.mHeight > 0;
     }
 
     bool promotedToLayer() const {
diff --git a/libs/hwui/VectorDrawable.h b/libs/hwui/VectorDrawable.h
index a5d1d4b..e67dfdd 100644
--- a/libs/hwui/VectorDrawable.h
+++ b/libs/hwui/VectorDrawable.h
@@ -673,21 +673,16 @@
     void onPropertyChanged(TreeProperties* prop);
     TreeProperties* mutateStagingProperties() { return &mStagingProperties; }
     const TreeProperties* stagingProperties() const { return &mStagingProperties; }
-    PushStagingFunctor* getFunctor() { return &mFunctor;}
 
     // This should only be called from animations on RT
     TreeProperties* mutateProperties() { return &mProperties; }
 
+    // This should always be called from RT.
+    bool isDirty() const { return mCache.dirty; }
+    bool getPropertyChangeWillBeConsumed() const { return mWillBeConsumed; }
+    void setPropertyChangeWillBeConsumed(bool willBeConsumed) { mWillBeConsumed = willBeConsumed; }
+
 private:
-    class VectorDrawableFunctor : public PushStagingFunctor {
-    public:
-        VectorDrawableFunctor(Tree* tree) : mTree(tree) {}
-        virtual void operator ()() {
-            mTree->syncProperties();
-        }
-    private:
-        Tree* mTree;
-    };
 
     SkPaint* updatePaint(SkPaint* outPaint, TreeProperties* prop);
     bool allocateBitmapIfNeeded(SkBitmap* outCache, int width, int height);
@@ -704,8 +699,6 @@
     TreeProperties mProperties = TreeProperties(this);
     TreeProperties mStagingProperties = TreeProperties(this);
 
-    VectorDrawableFunctor mFunctor = VectorDrawableFunctor(this);
-
     SkPaint mPaint;
     struct Cache {
         SkBitmap bitmap;
@@ -717,6 +710,8 @@
 
     PropertyChangedListener mPropertyChangedListener
             = PropertyChangedListener(&mCache.dirty, &mStagingCache.dirty);
+
+    mutable bool mWillBeConsumed = false;
 };
 
 } // namespace VectorDrawable
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp
index e6399d4..ceef9c7 100644
--- a/libs/hwui/renderthread/CanvasContext.cpp
+++ b/libs/hwui/renderthread/CanvasContext.cpp
@@ -149,6 +149,8 @@
             if (mEglManager.isCurrent(mEglSurface)) {
                 mEglManager.makeCurrent(EGL_NO_SURFACE);
             }
+        } else if (mIsDirty && hasSurface()) {
+            mRenderThread.postFrameCallback(this);
         }
     }
 }
@@ -231,6 +233,8 @@
     freePrefetchedLayers(info.observer);
     GL_CHECKPOINT(MODERATE);
 
+    mIsDirty = true;
+
     if (CC_UNLIKELY(!mNativeSurface.get())) {
         mCurrentFrameInfo->addFlag(FrameInfoFlags::SkippedFrame);
         info.out.canDrawThisFrame = false;
@@ -278,6 +282,7 @@
 
 void CanvasContext::stopDrawing() {
     mRenderThread.removeFrameCallback(this);
+    mAnimationContext->detachAnimators();
 }
 
 void CanvasContext::notifyFramePending() {
@@ -503,6 +508,7 @@
     // Even if we decided to cancel the frame, from the perspective of jank
     // metrics the frame was swapped at this point
     mCurrentFrameInfo->markSwapBuffers();
+    mIsDirty = false;
 
     if (drew || mEglManager.damageRequiresSwap()) {
         if (CC_UNLIKELY(!mEglManager.swapBuffers(frame, screenDirty))) {
@@ -778,6 +784,7 @@
     }
     sp<FuncTask> task(new FuncTask());
     task->func = func;
+    mFrameFences.push_back(task);
     mFrameWorkProcessor->add(task);
 }
 
diff --git a/libs/hwui/renderthread/CanvasContext.h b/libs/hwui/renderthread/CanvasContext.h
index e739b29..a6eb7ad 100644
--- a/libs/hwui/renderthread/CanvasContext.h
+++ b/libs/hwui/renderthread/CanvasContext.h
@@ -187,7 +187,12 @@
     EglManager& mEglManager;
     sp<Surface> mNativeSurface;
     EGLSurface mEglSurface = EGL_NO_SURFACE;
+    // stopped indicates the CanvasContext will reject actual redraw operations,
+    // and defer repaint until it is un-stopped
     bool mStopped = false;
+    // CanvasContext is dirty if it has received an update that it has not
+    // painted onto its surface.
+    bool mIsDirty = false;
     bool mBufferPreserved = false;
     SwapBehavior mSwapBehavior = kSwap_default;
     struct SwapHistory {
diff --git a/libs/hwui/renderthread/TimeLord.cpp b/libs/hwui/renderthread/TimeLord.cpp
index f846d6a..6c2575f 100644
--- a/libs/hwui/renderthread/TimeLord.cpp
+++ b/libs/hwui/renderthread/TimeLord.cpp
@@ -43,10 +43,6 @@
     return mFrameTimeNanos;
 }
 
-nsecs_t TimeLord::computeFrameTimeMs() {
-    return nanoseconds_to_milliseconds(computeFrameTimeNanos());
-}
-
 } /* namespace renderthread */
 } /* namespace uirenderer */
 } /* namespace android */
diff --git a/libs/hwui/renderthread/TimeLord.h b/libs/hwui/renderthread/TimeLord.h
index 5464399..68a0f7f 100644
--- a/libs/hwui/renderthread/TimeLord.h
+++ b/libs/hwui/renderthread/TimeLord.h
@@ -34,7 +34,6 @@
     // returns true if the vsync is newer, false if it was rejected for staleness
     bool vsyncReceived(nsecs_t vsync);
     nsecs_t latestVsync() { return mFrameTimeNanos; }
-    nsecs_t computeFrameTimeMs();
     nsecs_t computeFrameTimeNanos();
 
 private:
diff --git a/libs/hwui/tests/unit/ClipAreaTests.cpp b/libs/hwui/tests/unit/ClipAreaTests.cpp
index 54ca68d..afabd35 100644
--- a/libs/hwui/tests/unit/ClipAreaTests.cpp
+++ b/libs/hwui/tests/unit/ClipAreaTests.cpp
@@ -275,5 +275,64 @@
     }
 }
 
+TEST(ClipArea, serializeIntersectedClip_scale) {
+    ClipArea area(createClipArea());
+    area.setClip(0, 0, 400, 400);
+    LinearAllocator allocator;
+
+    SkPath circlePath;
+    circlePath.addCircle(50, 50, 50);
+
+    ClipRegion recordedClip;
+    recordedClip.region.setPath(circlePath, SkRegion(SkIRect::MakeWH(100, 100)));
+    recordedClip.rect = Rect(100, 100);
+
+    Matrix4 translateScale;
+    translateScale.loadTranslate(100, 100, 0);
+    translateScale.scale(2, 2, 1);
+    auto resolvedClip = area.serializeIntersectedClip(allocator, &recordedClip, translateScale);
+
+    ASSERT_NE(nullptr, resolvedClip);
+    EXPECT_EQ(ClipMode::Region, resolvedClip->mode);
+    EXPECT_EQ(Rect(100, 100, 300, 300), resolvedClip->rect);
+    auto clipRegion = reinterpret_cast<const ClipRegion*>(resolvedClip);
+    EXPECT_EQ(SkIRect::MakeLTRB(100, 100, 300, 300), clipRegion->region.getBounds());
+}
+
+TEST(ClipArea, applyTransformToRegion_identity) {
+    SkRegion region(SkIRect::MakeLTRB(1, 2, 3, 4));
+    ClipArea::applyTransformToRegion(Matrix4::identity(), &region);
+    EXPECT_TRUE(region.isRect());
+    EXPECT_EQ(SkIRect::MakeLTRB(1, 2, 3, 4), region.getBounds());
+}
+
+TEST(ClipArea, applyTransformToRegion_translate) {
+    SkRegion region(SkIRect::MakeLTRB(1, 2, 3, 4));
+    Matrix4 transform;
+    transform.loadTranslate(10, 20, 0);
+    ClipArea::applyTransformToRegion(transform, &region);
+    EXPECT_TRUE(region.isRect());
+    EXPECT_EQ(SkIRect::MakeLTRB(11, 22, 13, 24), region.getBounds());
+}
+
+TEST(ClipArea, applyTransformToRegion_scale) {
+    SkRegion region(SkIRect::MakeLTRB(1, 2, 3, 4));
+    Matrix4 transform;
+    transform.loadScale(2, 3, 1);
+    ClipArea::applyTransformToRegion(transform, &region);
+    EXPECT_TRUE(region.isRect());
+    EXPECT_EQ(SkIRect::MakeLTRB(2, 6, 6, 12), region.getBounds());
+}
+
+TEST(ClipArea, applyTransformToRegion_translateScale) {
+    SkRegion region(SkIRect::MakeLTRB(1, 2, 3, 4));
+    Matrix4 transform;
+    transform.translate(10, 20);
+    transform.scale(2, 3, 1);
+    ClipArea::applyTransformToRegion(transform, &region);
+    EXPECT_TRUE(region.isRect());
+    EXPECT_EQ(SkIRect::MakeLTRB(12, 26, 16, 32), region.getBounds());
+}
+
 } // namespace uirenderer
 } // namespace android
diff --git a/libs/hwui/tests/unit/FrameBuilderTests.cpp b/libs/hwui/tests/unit/FrameBuilderTests.cpp
index af1fbd8..af54e07 100644
--- a/libs/hwui/tests/unit/FrameBuilderTests.cpp
+++ b/libs/hwui/tests/unit/FrameBuilderTests.cpp
@@ -1007,6 +1007,40 @@
     EXPECT_EQ(4, renderer.getIndex());
 }
 
+RENDERTHREAD_TEST(FrameBuilder, saveLayerUnclipped_round) {
+    class SaveLayerUnclippedRoundTestRenderer : public TestRendererBase {
+    public:
+        void onCopyToLayerOp(const CopyToLayerOp& op, const BakedOpState& state) override {
+            EXPECT_EQ(0, mIndex++);
+            EXPECT_EQ(Rect(10, 10, 190, 190), state.computedState.clippedBounds)
+                    << "Bounds rect should round out";
+        }
+        void onSimpleRectsOp(const SimpleRectsOp& op, const BakedOpState& state) override {}
+        void onRectOp(const RectOp& op, const BakedOpState& state) override {}
+        void onCopyFromLayerOp(const CopyFromLayerOp& op, const BakedOpState& state) override {
+            EXPECT_EQ(1, mIndex++);
+            EXPECT_EQ(Rect(10, 10, 190, 190), state.computedState.clippedBounds)
+                    << "Bounds rect should round out";
+        }
+    };
+
+    auto node = TestUtils::createNode(0, 0, 200, 200,
+            [](RenderProperties& props, RecordingCanvas& canvas) {
+        canvas.saveLayerAlpha(10.95f, 10.5f, 189.75f, 189.25f, // values should all round out
+                128, (SaveFlags::Flags)(0));
+        canvas.drawRect(0, 0, 200, 200, SkPaint());
+        canvas.restore();
+    });
+
+    FrameBuilder frameBuilder(SkRect::MakeWH(200, 200), 200, 200,
+            sLightGeometry, Caches::getInstance());
+    frameBuilder.deferRenderNode(*TestUtils::getSyncedNode(node));
+
+    SaveLayerUnclippedRoundTestRenderer renderer;
+    frameBuilder.replayBakedOps<TestDispatcher>(renderer);
+    EXPECT_EQ(2, renderer.getIndex());
+}
+
 RENDERTHREAD_TEST(FrameBuilder, saveLayerUnclipped_mergedClears) {
     class SaveLayerUnclippedMergedClearsTestRenderer : public TestRendererBase {
     public:
diff --git a/libs/hwui/tests/unit/LayerUpdateQueueTests.cpp b/libs/hwui/tests/unit/LayerUpdateQueueTests.cpp
index 8b0e91c..4db1cb9 100644
--- a/libs/hwui/tests/unit/LayerUpdateQueueTests.cpp
+++ b/libs/hwui/tests/unit/LayerUpdateQueueTests.cpp
@@ -39,17 +39,21 @@
 TEST(LayerUpdateQueue, enqueueSimple) {
     sp<RenderNode> a = createSyncedNode(100, 100);
     sp<RenderNode> b = createSyncedNode(200, 200);
+    sp<RenderNode> c = createSyncedNode(200, 200);
 
     LayerUpdateQueue queue;
     queue.enqueueLayerWithDamage(a.get(), Rect(25, 25, 75, 75));
     queue.enqueueLayerWithDamage(b.get(), Rect(100, 100, 300, 300));
+    queue.enqueueLayerWithDamage(c.get(), Rect(.5, .5, .5, .5));
 
-    EXPECT_EQ(2u, queue.entries().size());
+    EXPECT_EQ(3u, queue.entries().size());
 
     EXPECT_EQ(a.get(), queue.entries()[0].renderNode);
     EXPECT_EQ(Rect(25, 25, 75, 75), queue.entries()[0].damage);
     EXPECT_EQ(b.get(), queue.entries()[1].renderNode);
     EXPECT_EQ(Rect(100, 100, 200, 200), queue.entries()[1].damage); // clipped to bounds
+    EXPECT_EQ(c.get(), queue.entries()[2].renderNode);
+    EXPECT_EQ(Rect(0, 0, 1, 1), queue.entries()[2].damage); // rounded out
 }
 
 TEST(LayerUpdateQueue, enqueueUnion) {
diff --git a/libs/hwui/tests/unit/RecordingCanvasTests.cpp b/libs/hwui/tests/unit/RecordingCanvasTests.cpp
index 18171de..9cd504e 100644
--- a/libs/hwui/tests/unit/RecordingCanvasTests.cpp
+++ b/libs/hwui/tests/unit/RecordingCanvasTests.cpp
@@ -340,6 +340,36 @@
     EXPECT_EQ(3, count);
 }
 
+TEST(RecordingCanvas, saveLayer_rounding) {
+    auto dl = TestUtils::createDisplayList<RecordingCanvas>(100, 100, [](RecordingCanvas& canvas) {
+            canvas.saveLayerAlpha(10.25f, 10.75f, 89.25f, 89.75f, 128, SaveFlags::ClipToLayer);
+            canvas.drawRect(20, 20, 80, 80, SkPaint());
+            canvas.restore();
+        });
+        int count = 0;
+        playbackOps(*dl, [&count](const RecordedOp& op) {
+            Matrix4 expectedMatrix;
+            switch(count++) {
+            case 0:
+                EXPECT_EQ(RecordedOpId::BeginLayerOp, op.opId);
+                EXPECT_EQ(Rect(10, 10, 90, 90), op.unmappedBounds) << "Expect bounds rounded out";
+                break;
+            case 1:
+                EXPECT_EQ(RecordedOpId::RectOp, op.opId);
+                expectedMatrix.loadTranslate(-10, -10, 0);
+                EXPECT_MATRIX_APPROX_EQ(expectedMatrix, op.localMatrix) << "Expect rounded offset";
+                break;
+            case 2:
+                EXPECT_EQ(RecordedOpId::EndLayerOp, op.opId);
+                // Don't bother asserting recording state data - it's not used
+                break;
+            default:
+                ADD_FAILURE();
+            }
+        });
+        EXPECT_EQ(3, count);
+}
+
 TEST(RecordingCanvas, saveLayer_missingRestore) {
     auto dl = TestUtils::createDisplayList<RecordingCanvas>(200, 200, [](RecordingCanvas& canvas) {
         canvas.saveLayerAlpha(0, 0, 200, 200, 128, SaveFlags::ClipToLayer);
diff --git a/libs/hwui/tests/unit/RenderNodeTests.cpp b/libs/hwui/tests/unit/RenderNodeTests.cpp
index b2997df..cf76a86 100644
--- a/libs/hwui/tests/unit/RenderNodeTests.cpp
+++ b/libs/hwui/tests/unit/RenderNodeTests.cpp
@@ -16,13 +16,26 @@
 
 #include <gtest/gtest.h>
 
+#include "AnimationContext.h"
+#include "DamageAccumulator.h"
+#include "IContextFactory.h"
 #include "RenderNode.h"
 #include "TreeInfo.h"
+#include "renderthread/CanvasContext.h"
 #include "tests/common/TestUtils.h"
 #include "utils/Color.h"
 
 using namespace android;
 using namespace android::uirenderer;
+using namespace android::uirenderer::renderthread;
+
+class ContextFactory : public android::uirenderer::IContextFactory {
+public:
+    android::uirenderer::AnimationContext* createAnimationContext
+        (android::uirenderer::renderthread::TimeLord& clock) override {
+        return new android::uirenderer::AnimationContext(clock);
+    }
+};
 
 TEST(RenderNode, hasParents) {
     auto child = TestUtils::createNode(0, 0, 200, 400,
@@ -89,3 +102,31 @@
     TestUtils::syncHierarchyPropertiesAndDisplayList(node);
     EXPECT_EQ(0, refcnt);
 }
+
+RENDERTHREAD_TEST(RenderNode, prepareTree_nullableDisplayList) {
+    ContextFactory contextFactory;
+    CanvasContext canvasContext(renderThread, false, nullptr, &contextFactory);
+    TreeInfo info(TreeInfo::MODE_RT_ONLY, canvasContext);
+    DamageAccumulator damageAccumulator;
+    info.damageAccumulator = &damageAccumulator;
+    info.observer = nullptr;
+
+    {
+        auto nonNullDLNode = TestUtils::createNode(0, 0, 200, 400,
+                [](RenderProperties& props, TestCanvas& canvas) {
+            canvas.drawColor(Color::Red_500, SkXfermode::kSrcOver_Mode);
+        });
+        TestUtils::syncHierarchyPropertiesAndDisplayList(nonNullDLNode);
+        EXPECT_TRUE(nonNullDLNode->getDisplayList());
+        nonNullDLNode->prepareTree(info);
+    }
+
+    {
+        auto nullDLNode = TestUtils::createNode(0, 0, 200, 400, nullptr);
+        TestUtils::syncHierarchyPropertiesAndDisplayList(nullDLNode);
+        EXPECT_FALSE(nullDLNode->getDisplayList());
+        nullDLNode->prepareTree(info);
+    }
+
+    canvasContext.destroy(nullptr);
+}
diff --git a/libs/hwui/tests/unit/RenderPropertiesTests.cpp b/libs/hwui/tests/unit/RenderPropertiesTests.cpp
new file mode 100644
index 0000000..9001098
--- /dev/null
+++ b/libs/hwui/tests/unit/RenderPropertiesTests.cpp
@@ -0,0 +1,48 @@
+/*
+ * 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 <gtest/gtest.h>
+
+#include <RenderProperties.h>
+
+using namespace android;
+using namespace android::uirenderer;
+
+TEST(RenderProperties, layerValidity) {
+    DeviceInfo::initialize();
+
+    const int maxTextureSize = DeviceInfo::get()->maxTextureSize();
+    ASSERT_LE(2048, maxTextureSize);
+    ASSERT_GT(100000, maxTextureSize);
+
+    RenderProperties props;
+
+    // simple cases that all should fit on layers
+    props.setLeftTopRightBottom(0, 0, 100, 100);
+    ASSERT_TRUE(props.fitsOnLayer());
+    props.setLeftTopRightBottom(100, 2000, 300, 4000);
+    ASSERT_TRUE(props.fitsOnLayer());
+    props.setLeftTopRightBottom(-10, -10, 510, 512);
+    ASSERT_TRUE(props.fitsOnLayer());
+
+    // Too big - can't have layer bigger than max texture size
+    props.setLeftTopRightBottom(0, 0, maxTextureSize + 1, maxTextureSize + 1);
+    ASSERT_FALSE(props.fitsOnLayer());
+
+    // Too small - can't have 0 dimen layer
+    props.setLeftTopRightBottom(0, 0, 100, 0);
+    ASSERT_FALSE(props.fitsOnLayer());
+}
diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java
index b246360..2b3ed87 100644
--- a/location/java/android/location/LocationManager.java
+++ b/location/java/android/location/LocationManager.java
@@ -2008,7 +2008,7 @@
      * No-op method to keep backward-compatibility.
      * Don't use it. Use {@link #registerGnssMeasurementsCallback} instead.
      * @hide
-     * @deprecated
+     * @deprecated Not supported anymore.
      */
     @Deprecated
     @SystemApi
@@ -2065,7 +2065,7 @@
      * No-op method to keep backward-compatibility.
      * Don't use it. Use {@link #registerGnssNavigationMessageCallback} instead.
      * @hide
-     * @deprecated
+     * @deprecated Not supported anymore.
      */
     @Deprecated
     @SystemApi
diff --git a/media/java/android/media/AudioRecord.java b/media/java/android/media/AudioRecord.java
index 8efd599..39184f1 100644
--- a/media/java/android/media/AudioRecord.java
+++ b/media/java/android/media/AudioRecord.java
@@ -467,11 +467,11 @@
      * <p>
      * If the audio source is not set with {@link #setAudioSource(int)},
      * {@link MediaRecorder.AudioSource#DEFAULT} is used.
-     * <br>If the audio format is not specified or is incomplete, its sample rate will be the
-     * default output sample rate of the device (see
-     * {@link AudioManager#PROPERTY_OUTPUT_SAMPLE_RATE}), its channel configuration will be
+     * <br>If the audio format is not specified or is incomplete, its channel configuration will be
      * {@link AudioFormat#CHANNEL_IN_MONO}, and the encoding will be
      * {@link AudioFormat#ENCODING_PCM_16BIT}.
+     * The sample rate will depend on the device actually selected for capture and can be queried
+     * with {@link #getSampleRate()} method.
      * <br>If the buffer size is not specified with {@link #setBufferSizeInBytes(int)},
      * the minimum buffer size for the source is used.
      */
diff --git a/media/java/android/media/AudioTrack.java b/media/java/android/media/AudioTrack.java
index 9a81668..12d5ead 100644
--- a/media/java/android/media/AudioTrack.java
+++ b/media/java/android/media/AudioTrack.java
@@ -619,11 +619,11 @@
      * <p>
      * If the audio attributes are not set with {@link #setAudioAttributes(AudioAttributes)},
      * attributes comprising {@link AudioAttributes#USAGE_MEDIA} will be used.
-     * <br>If the audio format is not specified or is incomplete, its sample rate will be the
-     * default output sample rate of the device (see
-     * {@link AudioManager#PROPERTY_OUTPUT_SAMPLE_RATE}), its channel configuration will be
+     * <br>If the audio format is not specified or is incomplete, its channel configuration will be
      * {@link AudioFormat#CHANNEL_OUT_STEREO} and the encoding will be
      * {@link AudioFormat#ENCODING_PCM_16BIT}.
+     * The sample rate will depend on the device actually selected for playback and can be queried
+     * with {@link #getSampleRate()} method.
      * <br>If the buffer size is not specified with {@link #setBufferSizeInBytes(int)},
      * and the mode is {@link AudioTrack#MODE_STREAM}, the minimum buffer size is used.
      * <br>If the transfer mode is not specified with {@link #setTransferMode(int)},
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java
index 5b0845c..542dced 100644
--- a/media/java/android/media/MediaCodec.java
+++ b/media/java/android/media/MediaCodec.java
@@ -125,6 +125,77 @@
  All video codecs support flexible YUV 4:2:0 buffers since {@link
  android.os.Build.VERSION_CODES#LOLLIPOP_MR1}.
 
+ <h4>Accessing Raw Video ByteBuffers on Older Devices</h4>
+ <p>
+ Prior to {@link android.os.Build.VERSION_CODES#LOLLIPOP} and {@link Image} support, you need to
+ use the {@link MediaFormat#KEY_STRIDE} and {@link MediaFormat#KEY_SLICE_HEIGHT} output format
+ values to understand the layout of the raw output buffers.
+ <p class=note>
+ Note that on some devices the slice-height is advertised as 0. This could mean either that the
+ slice-height is the same as the frame height, or that the slice-height is the frame height
+ aligned to some value (usually a power of 2). Unfortunately, there is no way to tell the actual
+ slice height in this case. Furthermore, the vertical stride of the {@code U} plane in planar
+ formats is also not specified or defined, though usually it is half of the slice height.
+ <p>
+ The {@link MediaFormat#KEY_WIDTH} and {@link MediaFormat#KEY_HEIGHT} keys specify the size of the
+ video frames; however, for most encondings the video (picture) only occupies a portion of the
+ video frame. This is represented by the 'crop rectangle'.
+ <p>
+ You need to use the following keys to get the crop rectangle of raw output images from the
+ {@linkplain #getOutputFormat output format}. If these keys are not present, the video occupies the
+ entire video frame.The crop rectangle is understood in the context of the output frame
+ <em>before</em> applying any {@linkplain MediaFormat#KEY_ROTATION rotation}.
+ <table style="width: 0%">
+  <thead>
+   <tr>
+    <th>Format Key</th>
+    <th>Type</th>
+    <th>Description</th>
+   </tr>
+  </thead>
+  <tbody>
+   <tr>
+    <td>{@code "crop-left"}</td>
+    <td>Integer</td>
+    <td>The left-coordinate (x) of the crop rectangle</td>
+   </tr><tr>
+    <td>{@code "crop-top"}</td>
+    <td>Integer</td>
+    <td>The top-coordinate (y) of the crop rectangle</td>
+   </tr><tr>
+    <td>{@code "crop-right"}</td>
+    <td>Integer</td>
+    <td>The right-coordinate (x) <strong>MINUS 1</strong> of the crop rectangle</td>
+   </tr><tr>
+    <td>{@code "crop-bottom"}</td>
+    <td>Integer</td>
+    <td>The bottom-coordinate (y) <strong>MINUS 1</strong> of the crop rectangle</td>
+   </tr><tr>
+    <td colspan=3>
+     The right and bottom coordinates can be understood as the coordinates of the right-most
+     valid column/bottom-most valid row of the cropped output image.
+    </td>
+   </tr>
+  </tbody>
+ </table>
+ <p>
+ The size of the video frame (before rotation) can be calculated as such:
+ <pre class=prettyprint>
+ MediaFormat format = decoder.getOutputFormat(&hellip;);
+ int width = format.getInteger(MediaFormat.KEY_WIDTH);
+ if (format.containsKey("crop-left") && format.containsKey("crop-right")) {
+     width = format.getInteger("crop-right") + 1 - format.getInteger("crop-left");
+ }
+ int height = format.getInteger(MediaFormat.KEY_HEIGHT);
+ if (format.containsKey("crop-top") && format.containsKey("crop-bottom")) {
+     height = format.getInteger("crop-bottom") + 1 - format.getInteger("crop-top");
+ }
+ </pre>
+ <p class=note>
+ Also note that the meaning of {@link BufferInfo#offset BufferInfo.offset} was not consistent across
+ devices. On some devices the offset pointed to the top-left pixel of the crop rectangle, while on
+ most devices it pointed to the top-left pixel of the entire frame.
+
  <h3>States</h3>
  <p>
  During its life a codec conceptually exists in one of three states: Stopped, Executing or
@@ -226,8 +297,8 @@
  Codec-specific data in the format is automatically submitted to the codec upon {@link #start};
  you <strong>MUST NOT</strong> submit this data explicitly. If the format did not contain codec
  specific data, you can choose to submit it using the specified number of buffers in the correct
- order, according to the format requirements. Alternately, you can concatenate all codec-specific
- data and submit it as a single codec-config buffer.
+ order, according to the format requirements. In case of H.264 AVC, you can also concatenate all
+ codec-specific data and submit it as a single codec-config buffer.
  <p>
  Android uses the following codec-specific data buffers. These are also required to be set in
  the track format for proper {@link MediaMuxer} track configuration. Each parameter set and the
@@ -284,6 +355,13 @@
     <td class=NA>Not Used</td>
     <td class=NA>Not Used</td>
    </tr>
+   <tr>
+    <td>VP9</td>
+    <td>VP9 <a href="http://wiki.webmproject.org/vp9-codecprivate">CodecPrivate</a> Data
+        (optional)</td>
+    <td class=NA>Not Used</td>
+    <td class=NA>Not Used</td>
+   </tr>
   </tbody>
  </table>
 
@@ -535,6 +613,32 @@
  Also since {@link android.os.Build.VERSION_CODES#M}, you can change the output Surface
  dynamically using {@link #setOutputSurface setOutputSurface}.
 
+ <h4>Transformations When Rendering onto Surface</h4>
+
+ If the codec is configured into Surface mode, any crop rectangle, {@linkplain
+ MediaFormat#KEY_ROTATION rotation} and {@linkplain #setVideoScalingMode video scaling
+ mode} will be automatically applied with one exception:
+ <p class=note>
+ Prior to the {@link android.os.Build.VERSION_CODES#M} release, software decoders may not
+ have applied the rotation when being rendered onto a Surface. Unfortunately, there is no way to
+ identify software decoders, or if they apply the rotation other than by trying it out.
+ <p>
+ There are also some caveats.
+ <p class=note>
+ Note that the pixel aspect ratio is not considered when displaying the output onto the
+ Surface. This means that if you are using {@link #VIDEO_SCALING_MODE_SCALE_TO_FIT} mode, you
+ must position the output Surface so that it has the proper final display aspect ratio. Conversely,
+ you can only use {@link #VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING} mode for content with
+ square pixels (pixel aspect ratio or 1:1).
+ <p class=note>
+ Note also that as of {@link android.os.Build.VERSION_CODES#N} release, {@link
+ #VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING} mode may not work correctly for videos rotated
+ by 90 or 270 degrees.
+ <p class=note>
+ When setting the video scaling mode, note that it must be reset after each time the output
+ buffers change. Since the {@link #INFO_OUTPUT_BUFFERS_CHANGED} event is deprecated, you can
+ do this after each time the output format changes.
+
  <h4>Using an Input Surface</h4>
  <p>
  When using an input Surface, there are no accessible input buffers, as buffers are automatically
@@ -2984,7 +3088,13 @@
 
     /**
      * The content is scaled, maintaining its aspect ratio, the whole
-     * surface area is used, content may be cropped
+     * surface area is used, content may be cropped.
+     * <p class=note>
+     * This mode is only suitable for content with 1:1 pixel aspect ratio as you cannot
+     * configure the pixel aspect ratio for a {@link Surface}.
+     * <p class=note>
+     * As of {@link android.os.Build.VERSION_CODES#N} release, this mode may not work if
+     * the video is {@linkplain MediaFormat#KEY_ROTATION rotated} by 90 or 270 degrees.
      */
     public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2;
 
@@ -2999,10 +3109,15 @@
     /**
      * If a surface has been specified in a previous call to {@link #configure}
      * specifies the scaling mode to use. The default is "scale to fit".
-     * <p class=note>The scaling mode may be reset to the <strong>default</strong> each time an
+     * <p class=note>
+     * The scaling mode may be reset to the <strong>default</strong> each time an
      * {@link #INFO_OUTPUT_BUFFERS_CHANGED} event is received from the codec; therefore, the client
      * must call this method after every buffer change event (and before the first output buffer is
-     * released for rendering) to ensure consistent scaling mode.</p>
+     * released for rendering) to ensure consistent scaling mode.
+     * <p class=note>
+     * Since the {@link #INFO_OUTPUT_BUFFERS_CHANGED} event is deprecated, this can also be done
+     * after each {@link #INFO_OUTPUT_FORMAT_CHANGED} event.
+     *
      * @throws IllegalArgumentException if mode is not recognized.
      * @throws IllegalStateException if in the Released state.
      */
diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java
index 45d0cc0..0bfeaed 100644
--- a/media/java/android/media/MediaCodecInfo.java
+++ b/media/java/android/media/MediaCodecInfo.java
@@ -541,6 +541,72 @@
          * frame rate}. Use
          * <code class=prettyprint>format.setString(MediaFormat.KEY_FRAME_RATE, null)</code>
          * to clear any existing frame rate setting in the format.
+         * <p>
+         *
+         * The following table summarizes the format keys considered by this method.
+         *
+         * <table style="width: 0%">
+         *  <thead>
+         *   <tr>
+         *    <th rowspan=3>OS Version(s)</th>
+         *    <td colspan=3>{@code MediaFormat} keys considered for</th>
+         *   </tr><tr>
+         *    <th>Audio Codecs</th>
+         *    <th>Video Codecs</th>
+         *    <th>Encoders</th>
+         *   </tr>
+         *  </thead>
+         *  <tbody>
+         *   <tr>
+         *    <td>{@link android.os.Build.VERSION_CODES#LOLLIPOP}</th>
+         *    <td rowspan=3>{@link MediaFormat#KEY_MIME}<sup>*</sup>,<br>
+         *        {@link MediaFormat#KEY_SAMPLE_RATE},<br>
+         *        {@link MediaFormat#KEY_CHANNEL_COUNT},</td>
+         *    <td>{@link MediaFormat#KEY_MIME}<sup>*</sup>,<br>
+         *        {@link CodecCapabilities#FEATURE_AdaptivePlayback}<sup>D</sup>,<br>
+         *        {@link CodecCapabilities#FEATURE_SecurePlayback}<sup>D</sup>,<br>
+         *        {@link CodecCapabilities#FEATURE_TunneledPlayback}<sup>D</sup>,<br>
+         *        {@link MediaFormat#KEY_WIDTH},<br>
+         *        {@link MediaFormat#KEY_HEIGHT},<br>
+         *        <strong>no</strong> {@code KEY_FRAME_RATE}</td>
+         *    <td rowspan=4>{@link MediaFormat#KEY_BITRATE_MODE},<br>
+         *        {@link MediaFormat#KEY_PROFILE}
+         *        (and/or {@link MediaFormat#KEY_AAC_PROFILE}<sup>~</sup>),<br>
+         *        <!-- {link MediaFormat#KEY_QUALITY},<br> -->
+         *        {@link MediaFormat#KEY_COMPLEXITY}
+         *        (and/or {@link MediaFormat#KEY_FLAC_COMPRESSION_LEVEL}<sup>~</sup>)</td>
+         *   </tr><tr>
+         *    <td>{@link android.os.Build.VERSION_CODES#LOLLIPOP_MR1}</th>
+         *    <td rowspan=2>as above, plus<br>
+         *        {@link MediaFormat#KEY_FRAME_RATE}</td>
+         *   </tr><tr>
+         *    <td>{@link android.os.Build.VERSION_CODES#M}</th>
+         *   </tr><tr>
+         *    <td>{@link android.os.Build.VERSION_CODES#N}</th>
+         *    <td>as above, plus<br>
+         *        {@link MediaFormat#KEY_PROFILE},<br>
+         *        <!-- {link MediaFormat#KEY_MAX_BIT_RATE},<br> -->
+         *        {@link MediaFormat#KEY_BIT_RATE}</td>
+         *    <td>as above, plus<br>
+         *        {@link MediaFormat#KEY_PROFILE},<br>
+         *        {@link MediaFormat#KEY_LEVEL}<sup>+</sup>,<br>
+         *        <!-- {link MediaFormat#KEY_MAX_BIT_RATE},<br> -->
+         *        {@link MediaFormat#KEY_BIT_RATE},<br>
+         *        {@link CodecCapabilities#FEATURE_IntraRefresh}<sup>E</sup></td>
+         *   </tr>
+         *   <tr>
+         *    <td colspan=4>
+         *     <p class=note><strong>Notes:</strong><br>
+         *      *: must be specified; otherwise, method returns {@code false}.<br>
+         *      +: method does not verify that the format parameters are supported
+         *      by the specified level.<br>
+         *      D: decoders only<br>
+         *      E: encoders only<br>
+         *      ~: if both keys are provided values must match
+         *    </td>
+         *   </tr>
+         *  </tbody>
+         * </table>
          *
          * @param format media format with optional feature directives.
          * @throws IllegalArgumentException if format is not a valid media format.
@@ -1372,16 +1438,33 @@
          * May return {@code null}, if the codec did not publish any measurement
          * data.
          * <p>
-         * This is a performance estimate provided by the device manufacturer
-         * based on full-speed decoding and encoding measurements in various configurations
+         * This is a performance estimate provided by the device manufacturer based on statistical
+         * sampling of full-speed decoding and encoding measurements in various configurations
          * of common video sizes supported by the codec. As such it should only be used to
          * compare individual codecs on the device. The value is not suitable for comparing
          * different devices or even different android releases for the same device.
          * <p>
-         * The returned range corresponds to the fastest frame rates achieved in the tested
-         * configurations. It is interpolated from the nearest frame size(s) tested. Codec
-         * performance is severely impacted by other activity on the device, and can vary
-         * significantly.
+         * <em>On {@link android.os.Build.VERSION_CODES#M} release</em> the returned range
+         * corresponds to the fastest frame rates achieved in the tested configurations. As
+         * such, it should not be used to gauge guaranteed or even average codec performance
+         * on the device.
+         * <p>
+         * <em>On {@link android.os.Build.VERSION_CODES#N} release</em> the returned range
+         * corresponds closer to sustained performance <em>in tested configurations</em>.
+         * One can expect to achieve sustained performance higher than the lower limit more than
+         * 50% of the time, and higher than half of the lower limit at least 90% of the time
+         * <em>in tested configurations</em>.
+         * Conversely, one can expect performance lower than twice the upper limit at least
+         * 90% of the time.
+         * <p class=note>
+         * Tested configurations use a single active codec. For use cases where multiple
+         * codecs are active, applications can expect lower and in most cases significantly lower
+         * performance.
+         * <p class=note>
+         * The returned range value is interpolated from the nearest frame size(s) tested.
+         * Codec performance is severely impacted by other activity on the device as well
+         * as environmental factors (such as battery level, temperature or power source), and can
+         * vary significantly even in a steady environment.
          * <p class=note>
          * Use this method in cases where only codec performance matters, e.g. to evaluate if
          * a codec has any chance of meeting a performance target. Codecs are listed
diff --git a/media/java/android/media/MediaCodecList.java b/media/java/android/media/MediaCodecList.java
index 42ce511..3cb4cbe 100644
--- a/media/java/android/media/MediaCodecList.java
+++ b/media/java/android/media/MediaCodecList.java
@@ -201,6 +201,9 @@
      * <code class=prettyprint>format.setString(MediaFormat.KEY_FRAME_RATE, null)</code>
      * to clear any existing frame rate setting in the format.
      *
+     * @see MediaCodecList.CodecCapabilities.isFormatSupported for format keys
+     * considered per android versions when evaluating suitable codecs.
+     *
      * @param format A decoder media format with optional feature directives.
      * @throws IllegalArgumentException if format is not a valid media format.
      * @throws NullPointerException if format is null.
@@ -222,6 +225,9 @@
      * <code class=prettyprint>format.setString(MediaFormat.KEY_FRAME_RATE, null)</code>
      * to clear any existing frame rate setting in the format.
      *
+     * @see MediaCodecList.CodecCapabilities.isFormatSupported for format keys
+     * considered per android versions when evaluating suitable codecs.
+     *
      * @param format An encoder media format with optional feature directives.
      * @throws IllegalArgumentException if format is not a valid media format.
      * @throws NullPointerException if format is null.
diff --git a/media/java/android/media/MediaExtractor.java b/media/java/android/media/MediaExtractor.java
index 24a400e4..6f5199b 100644
--- a/media/java/android/media/MediaExtractor.java
+++ b/media/java/android/media/MediaExtractor.java
@@ -333,7 +333,113 @@
 
     /**
      * Get the track format at the specified index.
+     *
      * More detail on the representation can be found at {@link android.media.MediaCodec}
+     * <p>
+     * The following table summarizes support for format keys across android releases:
+     *
+     * <table style="width: 0%">
+     *  <thead>
+     *   <tr>
+     *    <th rowspan=2>OS Version(s)</th>
+     *    <td colspan=3>{@code MediaFormat} keys used for</th>
+     *   </tr><tr>
+     *    <th>All Tracks</th>
+     *    <th>Audio Tracks</th>
+     *    <th>Video Tracks</th>
+     *   </tr>
+     *  </thead>
+     *  <tbody>
+     *   <tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#JELLY_BEAN}</td>
+     *    <td rowspan=8>{@link MediaFormat#KEY_MIME},<br>
+     *        {@link MediaFormat#KEY_DURATION},<br>
+     *        {@link MediaFormat#KEY_MAX_INPUT_SIZE}</td>
+     *    <td rowspan=5>{@link MediaFormat#KEY_SAMPLE_RATE},<br>
+     *        {@link MediaFormat#KEY_CHANNEL_COUNT},<br>
+     *        {@link MediaFormat#KEY_CHANNEL_MASK},<br>
+     *        gapless playback information<sup>.mp3, .mp4</sup>,<br>
+     *        {@link MediaFormat#KEY_IS_ADTS}<sup>AAC if streaming</sup>,<br>
+     *        codec-specific data<sup>AAC, Vorbis</sup></td>
+     *    <td rowspan=2>{@link MediaFormat#KEY_WIDTH},<br>
+     *        {@link MediaFormat#KEY_HEIGHT},<br>
+     *        codec-specific data<sup>AVC, MPEG4</sup></td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}</td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR2}</td>
+     *    <td rowspan=3>as above, plus<br>
+     *        Pixel aspect ratio information<sup>AVC, *</sup></td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#KITKAT}</td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#KITKAT_WATCH}</td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#LOLLIPOP}</td>
+     *    <td rowspan=2>as above, plus<br>
+     *        {@link MediaFormat#KEY_BIT_RATE}<sup>AAC</sup>,<br>
+     *        codec-specific data<sup>Opus</sup></td>
+     *    <td rowspan=2>as above, plus<br>
+     *        {@link MediaFormat#KEY_ROTATION}<sup>.mp4</sup>,<br>
+     *        {@link MediaFormat#KEY_BIT_RATE}<sup>MPEG4</sup>,<br>
+     *        codec-specific data<sup>HEVC</sup></td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#LOLLIPOP_MR1}</td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#M}</td>
+     *    <td>as above, plus<br>
+     *        gapless playback information<sup>Opus</sup></td>
+     *    <td>as above, plus<br>
+     *        {@link MediaFormat#KEY_FRAME_RATE} (integer)</td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#N}</td>
+     *    <td>as above, plus<br>
+     *        {@link MediaFormat#KEY_TRACK_ID},<br>
+     *        <!-- {link MediaFormat#KEY_MAX_BIT_RATE}<sup>#, .mp4</sup>,<br> -->
+     *        {@link MediaFormat#KEY_BIT_RATE}<sup>#, .mp4</sup></td>
+     *    <td>as above, plus<br>
+     *        {@link MediaFormat#KEY_PCM_ENCODING},<br>
+     *        {@link MediaFormat#KEY_PROFILE}<sup>AAC</sup></td>
+     *    <td>as above, plus<br>
+     *        {@link MediaFormat#KEY_HDR_STATIC_INFO}<sup>#, .webm</sup>,<br>
+     *        {@link MediaFormat#KEY_COLOR_STANDARD}<sup>#</sup>,<br>
+     *        {@link MediaFormat#KEY_COLOR_TRANSFER}<sup>#</sup>,<br>
+     *        {@link MediaFormat#KEY_COLOR_RANGE}<sup>#</sup>,<br>
+     *        {@link MediaFormat#KEY_PROFILE}<sup>MPEG2, H.263, MPEG4, AVC, HEVC, VP9</sup>,<br>
+     *        {@link MediaFormat#KEY_LEVEL}<sup>H.263, MPEG4, AVC, HEVC, VP9</sup>,<br>
+     *        codec-specific data<sup>VP9</sup></td>
+     *   </tr>
+     *   <tr>
+     *    <td colspan=4>
+     *     <p class=note><strong>Notes:</strong><br>
+     *      #: container-specified value only.<br>
+     *      .mp4, .webm&hellip;: for listed containers<br>
+     *      MPEG4, AAC&hellip;: for listed codecs
+     *    </td>
+     *   </tr><tr>
+     *    <td colspan=4>
+     *     <p class=note>Note that that level information contained in the container many times
+     *     does not match the level of the actual bitstream. You may want to clear the level using
+     *     {@code MediaFormat.setString(KEY_LEVEL, null)} before using the track format to find a
+     *     decoder that can play back a particular track.
+     *    </td>
+     *   </tr><tr>
+     *    <td colspan=4>
+     *     <p class=note><strong>*Pixel (sample) aspect ratio</strong> is returned in the following
+     *     keys. The display width can be calculated for example as:
+     *     <p align=center>
+     *     display-width = display-height * crop-width / crop-height * sar-width / sar-height
+     *    </td>
+     *   </tr><tr>
+     *    <th>Format Key</th><th>Value Type</th><th colspan=2>Description</th>
+     *   </tr><tr>
+     *    <td>{@code "sar-width"}</td><td>Integer</td><td colspan=2>Pixel aspect ratio width</td>
+     *   </tr><tr>
+     *    <td>{@code "sar-height"}</td><td>Integer</td><td colspan=2>Pixel aspect ratio height</td>
+     *   </tr>
+     *  </tbody>
+     * </table>
+     *
      */
     @NonNull
     public MediaFormat getTrackFormat(int index) {
diff --git a/media/java/android/media/MediaFormat.java b/media/java/android/media/MediaFormat.java
index 33e3957..d7a18d9 100644
--- a/media/java/android/media/MediaFormat.java
+++ b/media/java/android/media/MediaFormat.java
@@ -295,17 +295,19 @@
      * Stride (or row increment) is the difference between the index of a pixel
      * and that of the pixel directly underneath. For YUV 420 formats, the
      * stride corresponds to the Y plane; the stride of the U and V planes can
-     * be calculated based on the color format.
+     * be calculated based on the color format, though it is generally undefined
+     * and depends on the device and release.
      * The associated value is an integer, representing number of bytes.
      */
     public static final String KEY_STRIDE = "stride";
 
     /**
      * A key describing the plane height of a multi-planar (YUV) video bytebuffer layout.
-     * Slice height (or plane height) is the number of rows that must be skipped to get
-     * from the top of the Y plane to the top of the U plane in the bytebuffer. In essence
+     * Slice height (or plane height/vertical stride) is the number of rows that must be skipped
+     * to get from the top of the Y plane to the top of the U plane in the bytebuffer. In essence
      * the offset of the U plane is sliceHeight * stride. The height of the U/V planes
-     * can be calculated based on the color format.
+     * can be calculated based on the color format, though it is generally undefined
+     * and depends on the device and release.
      * The associated value is an integer, representing number of rows.
      */
     public static final String KEY_SLICE_HEIGHT = "slice-height";
@@ -552,7 +554,9 @@
     /**
      * A key describing the desired clockwise rotation on an output surface.
      * This key is only used when the codec is configured using an output surface.
-     * The associated value is an integer, representing degrees.
+     * The associated value is an integer, representing degrees. Supported values
+     * are 0, 90, 180 or 270. This is an optional field; if not specified, rotation
+     * defaults to 0.
      *
      * @see MediaCodecInfo.CodecCapabilities#profileLevels
      */
diff --git a/media/java/android/media/MediaMuxer.java b/media/java/android/media/MediaMuxer.java
index 7117fbd..e481aa1 100644
--- a/media/java/android/media/MediaMuxer.java
+++ b/media/java/android/media/MediaMuxer.java
@@ -266,6 +266,121 @@
 
     /**
      * Adds a track with the specified format.
+     * <p>
+     * The following table summarizes support for specific format keys across android releases.
+     * Keys marked with '+:' are required.
+     *
+     * <table style="width: 0%">
+     *  <thead>
+     *   <tr>
+     *    <th rowspan=2>OS Version(s)</th>
+     *    <td colspan=3>{@code MediaFormat} keys used for</th>
+     *   </tr><tr>
+     *    <th>All Tracks</th>
+     *    <th>Audio Tracks</th>
+     *    <th>Video Tracks</th>
+     *   </tr>
+     *  </thead>
+     *  <tbody>
+     *   <tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR2}</td>
+     *    <td rowspan=7>+: {@link MediaFormat#KEY_MIME}</td>
+     *    <td rowspan=3>+: {@link MediaFormat#KEY_SAMPLE_RATE},<br>
+     *        +: {@link MediaFormat#KEY_CHANNEL_COUNT},<br>
+     *        +: <strong>codec-specific data<sup>AAC</sup></strong></td>
+     *    <td rowspan=5>+: {@link MediaFormat#KEY_WIDTH},<br>
+     *        +: {@link MediaFormat#KEY_HEIGHT},<br>
+     *        no {@code KEY_ROTATION},
+     *        use {@link #setOrientationHint setOrientationHint()}<sup>.mp4</sup>,<br>
+     *        +: <strong>codec-specific data<sup>AVC, MPEG4</sup></strong></td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#KITKAT}</td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#KITKAT_WATCH}</td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#LOLLIPOP}</td>
+     *    <td rowspan=4>as above, plus<br>
+     *        +: <strong>codec-specific data<sup>Vorbis & .webm</sup></strong></td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#LOLLIPOP_MR1}</td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#M}</td>
+     *    <td>as above, plus<br>
+     *        {@link MediaFormat#KEY_BIT_RATE}<sup>AAC</sup></td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#N}</td>
+     *    <td>as above, plus<br>
+     *        <!-- {link MediaFormat#KEY_MAX_BIT_RATE}<sup>AAC, MPEG4</sup>,<br> -->
+     *        {@link MediaFormat#KEY_BIT_RATE}<sup>MPEG4</sup>,<br>
+     *        {@link MediaFormat#KEY_HDR_STATIC_INFO}<sup>#, .webm</sup>,<br>
+     *        {@link MediaFormat#KEY_COLOR_STANDARD}<sup>#</sup>,<br>
+     *        {@link MediaFormat#KEY_COLOR_TRANSFER}<sup>#</sup>,<br>
+     *        {@link MediaFormat#KEY_COLOR_RANGE}<sup>#</sup>,<br>
+     *        +: <strong>codec-specific data<sup>HEVC</sup></strong>,<br>
+     *        codec-specific data<sup>VP9</sup></td>
+     *   </tr>
+     *   <tr>
+     *    <td colspan=4>
+     *     <p class=note><strong>Notes:</strong><br>
+     *      #: storing into container metadata.<br>
+     *      .mp4, .webm&hellip;: for listed containers<br>
+     *      MPEG4, AAC&hellip;: for listed codecs
+     *    </td>
+     *   </tr><tr>
+     *    <td colspan=4>
+     *     <p class=note>Note that the codec-specific data for the track must be specified using
+     *     this method. Furthermore, codec-specific data must not be passed/specified via the
+     *     {@link #writeSampleData writeSampleData()} call.
+     *    </td>
+     *   </tr>
+     *  </tbody>
+     * </table>
+     *
+     * <p>
+     * The following table summarizes codec support for containers across android releases:
+     *
+     * <table style="width: 0%">
+     *  <thead>
+     *   <tr>
+     *    <th rowspan=2>OS Version(s)</th>
+     *    <td colspan=3>Codec support</th>
+     *   </tr><tr>
+     *    <th>{@linkplain OutputFormat#MUXER_OUTPUT_MPEG_4 MP4}</th>
+     *    <th>{@linkplain OutputFormat#MUXER_OUTPUT_WEBM WEBM}</th>
+     *   </tr>
+     *  </thead>
+     *  <tbody>
+     *   <tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR2}</td>
+     *    <td rowspan=6>{@link MediaFormat#MIMETYPE_AUDIO_AAC AAC},<br>
+     *        {@link MediaFormat#MIMETYPE_AUDIO_AMR_NB NB-AMR},<br>
+     *        {@link MediaFormat#MIMETYPE_AUDIO_AMR_WB WB-AMR},<br>
+     *        {@link MediaFormat#MIMETYPE_VIDEO_H263 H.263},<br>
+     *        {@link MediaFormat#MIMETYPE_VIDEO_MPEG4 MPEG-4},<br>
+     *        {@link MediaFormat#MIMETYPE_VIDEO_AVC AVC} (H.264)</td>
+     *    <td rowspan=3>Not supported</td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#KITKAT}</td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#KITKAT_WATCH}</td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#LOLLIPOP}</td>
+     *    <td rowspan=3>{@link MediaFormat#MIMETYPE_AUDIO_VORBIS Vorbis},<br>
+     *        {@link MediaFormat#MIMETYPE_VIDEO_VP8 VP8}</td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#LOLLIPOP_MR1}</td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#M}</td>
+     *   </tr><tr>
+     *    <td>{@link android.os.Build.VERSION_CODES#N}</td>
+     *    <td>as above, plus<br>
+     *        {@link MediaFormat#MIMETYPE_VIDEO_HEVC HEVC} (H.265)</td>
+     *    <td>as above, plus<br>
+     *        {@link MediaFormat#MIMETYPE_VIDEO_VP9 VP9}</td>
+     *   </tr>
+     *  </tbody>
+     * </table>
+     *
      * @param format The media format for the track.  This must not be an empty
      *               MediaFormat.
      * @return The track index for this newly added track, and it should be used
diff --git a/media/java/android/media/MediaPlayer.java b/media/java/android/media/MediaPlayer.java
index 3f6081b..8d4a151 100644
--- a/media/java/android/media/MediaPlayer.java
+++ b/media/java/android/media/MediaPlayer.java
@@ -476,10 +476,10 @@
  *     <td>This method can be called in any state and calling it does not change
  *         the object state. </p></td></tr>
  * <tr><td>setPlaybackParams</p></td>
- *     <td>any </p></td>
- *     <td>{} </p></td>
- *     <td>This method can be called in any state and calling it does not change
- *         the object state. </p></td></tr>
+ *     <td>{Initialized, Prepared, Started, Paused, PlaybackCompleted, Error}</p></td>
+ *     <td>{Idle, Stopped} </p></td>
+ *     <td>This method will change state in some cases, depending on when it's called.
+ *         </p></td></tr>
  * <tr><td>setScreenOnWhilePlaying</></td>
  *     <td>any </p></td>
  *     <td>{} </p></td>
@@ -709,6 +709,8 @@
      * played.
      *
      * @param sh the SurfaceHolder to use for video display
+     * @throws IllegalStateException if the internal player engine has not been
+     * initialized or has been released.
      */
     public void setDisplay(SurfaceHolder sh) {
         mSurfaceHolder = sh;
@@ -739,6 +741,8 @@
      *
      * @param surface The {@link Surface} to be used for the video portion of
      * the media.
+     * @throws IllegalStateException if the internal player engine has not been
+     * initialized or has been released.
      */
     public void setSurface(Surface surface) {
         if (mScreenOnWhilePlaying && surface != null) {
@@ -1445,12 +1449,18 @@
     }
 
     /**
-     * Sets playback rate using {@link PlaybackParams}.
+     * Sets playback rate using {@link PlaybackParams}. The object sets its internal
+     * PlaybackParams to the input, except that the object remembers previous speed
+     * when input speed is zero. This allows the object to resume at previous speed
+     * when start() is called. Calling it before the object is prepared does not change
+     * the object state. After the object is prepared, calling it with zero speed is
+     * equivalent to calling pause(). After the object is prepared, calling it with
+     * non-zero speed is equivalent to calling start().
      *
      * @param params the playback params.
      *
      * @throws IllegalStateException if the internal player engine has not been
-     * initialized.
+     * initialized or has been released.
      * @throws IllegalArgumentException if params is not supported.
      */
     public native void setPlaybackParams(@NonNull PlaybackParams params);
diff --git a/media/jni/android_media_Utils.cpp b/media/jni/android_media_Utils.cpp
index 359ebad..c62d930 100644
--- a/media/jni/android_media_Utils.cpp
+++ b/media/jni/android_media_Utils.cpp
@@ -68,16 +68,19 @@
         if (sizeToRead <= kMinSizeToRead) {
             sizeToRead = kMinSizeToRead;
         }
+
         void* tempBuffer = malloc(sizeToRead);
-        if (tempBuffer != NULL) {
-            size_t bytesRead = mStream->read(tempBuffer, sizeToRead);
-            if (bytesRead != sizeToRead) {
-                free(tempBuffer);
-                return piex::Error::kFail;
-            }
-            mStreamBuffer.write(tempBuffer, bytesRead);
-            free(tempBuffer);
+        if (tempBuffer == NULL) {
+          return piex::Error::kFail;
         }
+
+        size_t bytesRead = mStream->read(tempBuffer, sizeToRead);
+        if (bytesRead != sizeToRead) {
+            free(tempBuffer);
+            return piex::Error::kFail;
+        }
+        mStreamBuffer.write(tempBuffer, bytesRead);
+        free(tempBuffer);
     }
 
     // Read bytes.
@@ -126,8 +129,8 @@
     size_t size = fread((void*)data, sizeof(std::uint8_t), length, mFile);
     mPosition += size;
 
-    // Handle errors.
-    if (ferror(mFile)) {
+    // Handle errors and verify the size.
+    if (ferror(mFile) || size != length) {
         ALOGV("GetData read failed: (offset: %zu, length: %zu)", offset, length);
         return piex::Error::kFail;
     }
diff --git a/packages/CtsShim/Android.mk b/packages/CtsShim/Android.mk
index cd5b288..fa6423e 100644
--- a/packages/CtsShim/Android.mk
+++ b/packages/CtsShim/Android.mk
@@ -53,3 +53,4 @@
 
 include $(BUILD_PREBUILT)
 
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/packages/CtsShim/CtsShim.apk b/packages/CtsShim/CtsShim.apk
index 40f7dbd..2728903 100644
--- a/packages/CtsShim/CtsShim.apk
+++ b/packages/CtsShim/CtsShim.apk
Binary files differ
diff --git a/packages/CtsShim/CtsShimPriv.apk b/packages/CtsShim/CtsShimPriv.apk
index b5dcc60..9a8e75c 100644
--- a/packages/CtsShim/CtsShimPriv.apk
+++ b/packages/CtsShim/CtsShimPriv.apk
Binary files differ
diff --git a/packages/CtsShim/build/Android.mk b/packages/CtsShim/build/Android.mk
index b550c1c..21f0afe 100644
--- a/packages/CtsShim/build/Android.mk
+++ b/packages/CtsShim/build/Android.mk
@@ -17,6 +17,25 @@
 LOCAL_PATH := $(my-dir)
 
 ###########################################################
+# Variant: Privileged app upgrade
+
+include $(CLEAR_VARS)
+# this needs to be a privileged application
+LOCAL_PRIVILEGED_MODULE := true
+
+LOCAL_MODULE_TAGS := optional
+LOCAL_SDK_VERSION := current
+LOCAL_PROGUARD_ENABLED := disabled
+LOCAL_DEX_PREOPT := false
+
+LOCAL_PACKAGE_NAME := CtsShimPrivUpgrade
+
+LOCAL_MANIFEST_FILE := shim_priv_upgrade/AndroidManifest.xml
+
+include $(BUILD_PACKAGE)
+my_shim_priv_upgrade_apk := $(LOCAL_BUILT_MODULE)
+
+###########################################################
 # Variant: Privileged app
 
 include $(CLEAR_VARS)
@@ -30,13 +49,21 @@
 
 LOCAL_PACKAGE_NAME := CtsShimPriv
 
-LOCAL_MANIFEST_FILE := shim_priv/AndroidManifest.xml
+# Generate the upgrade key by taking the hash of the built CtsShimPrivUpgrade apk
+gen := $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),,true)/AndroidManifest.xml
+$(gen): PRIVATE_CUSTOM_TOOL = sed -e "s/__HASH__/`sha512sum $(PRIVATE_INPUT_APK) | cut -d' ' -f1`/" $< >$@
+$(gen): PRIVATE_INPUT_APK := $(my_shim_priv_upgrade_apk)
+$(gen): $(LOCAL_PATH)/shim_priv/AndroidManifest.xml $(my_shim_priv_upgrade_apk)
+	$(transform-generated-source)
+
+my_shim_priv_upgrade_apk :=
+
+LOCAL_FULL_MANIFEST_FILE := $(gen)
 
 include $(BUILD_PACKAGE)
 
-
 ###########################################################
-# Variant: Privileged app upgrade
+# Variant: Privileged app upgrade w/ the wrong SHA
 
 include $(CLEAR_VARS)
 # this needs to be a privileged application
@@ -46,8 +73,10 @@
 LOCAL_SDK_VERSION := current
 LOCAL_PROGUARD_ENABLED := disabled
 LOCAL_DEX_PREOPT := false
+# anything to make this package's SHA different from CtsShimPrivUpgrade
+LOCAL_AAPT_FLAGS := --version-name WrongSHA
 
-LOCAL_PACKAGE_NAME := CtsShimPrivUpgrade
+LOCAL_PACKAGE_NAME := CtsShimPrivUpgradeWrongSHA
 
 LOCAL_MANIFEST_FILE := shim_priv_upgrade/AndroidManifest.xml
 
diff --git a/packages/CtsShim/build/README b/packages/CtsShim/build/README
index 1f154e1..9869377 100644
--- a/packages/CtsShim/build/README
+++ b/packages/CtsShim/build/README
@@ -6,31 +6,20 @@
 NOTE: The need to include a binary on the system image may be deprecated if a
 solution involving a temporarily writable /system partition is implemented.
 
-MAKING THE PREBUILTS
-In order to generate the upgrade key, the shim directory needs to be built multiple
-times. First to generate the upgrade APK [so its hash can be obtained] and again
-once the hash has been included as part of the pre-installed APK.
-
 build:
-    $ mmm frameworks/base/packages/CtsShim/build
+    $ tapas CtsShim CtsShimPriv CtsShimPrivUpgrade CtsShimPrivUpgradeWrongSHA
+    $ m
 
-update the manifest:
-    $ sed -i -e "s/__HASH__/`sha512sum out/target/product/shamu/system/priv-app/CtsShimPrivUpgrade/CtsShimPrivUpgrade.apk | cut -d' ' -f1`/" \
-        frameworks/base/packages/CtsShim/build/shim_priv/AndroidManifest.xml
-
-build:
-    $ mmm frameworks/base/packages/CtsShim/build
-
-update prebuilts:
-    $ cp out/target/product/shamu/system/priv-app/CtsShimPrivUpgrade/CtsShimPrivUpgrade.apk \
+local testing:
+    $ cp $OUT/system/priv-app/CtsShimPrivUpgrade/CtsShimPrivUpgrade.apk \
         cts/hostsidetests/appsecurity/test-apps/PrivilegedUpdateApp
-    $ cp out/target/product/shamu/system/priv-app/CtsShimPriv/CtsShimPriv.apk \
+    $ cp $OUT/system/priv-app/CtsShimPrivUpgradeWrongSHA/CtsShimPrivUpgradeWrongSHA.apk \
+        cts/hostsidetests/appsecurity/test-apps/PrivilegedUpdateApp
+    $ cp $OUT/system/priv-app/CtsShimPriv/CtsShimPriv.apk \
         frameworks/base/packages/CtsShim
-    $ cp out/target/product/shamu/system/app/CtsShim/CtsShim.apk \
+    $ cp $OUT/system/app/CtsShim/CtsShim.apk \
         frameworks/base/packages/CtsShim
 
-revert manifest:
-    $ pushd frameworks/base && git checkout -- packages/CtsShim/build/shim_priv/AndroidManifest.xml && popd
-
-Finally, upload and submit both the cts/ and frameworks/base/ repos.
+For final submission, the APKs should be downloaded from the build server, then
+submitted to the cts/ and frameworks/base/ repos.
 
diff --git a/packages/CtsShim/build/shim/AndroidManifest.xml b/packages/CtsShim/build/shim/AndroidManifest.xml
index 24e942b..9b813ac 100644
--- a/packages/CtsShim/build/shim/AndroidManifest.xml
+++ b/packages/CtsShim/build/shim/AndroidManifest.xml
@@ -22,6 +22,9 @@
     <uses-sdk android:minSdkVersion="24"
         android:targetSdkVersion="24" />
 
+    <restrict-update
+        android:hash="__CAN_NOT_BE_UPDATED__" />
+
     <application
         android:hasCode="false"
         tools:ignore="AllowBackup,MissingApplicationIcon" >
diff --git a/packages/CtsShim/build/shim_priv/AndroidManifest.xml b/packages/CtsShim/build/shim_priv/AndroidManifest.xml
index 7ba76cf..5195ef7 100644
--- a/packages/CtsShim/build/shim_priv/AndroidManifest.xml
+++ b/packages/CtsShim/build/shim_priv/AndroidManifest.xml
@@ -22,7 +22,7 @@
     <uses-sdk android:minSdkVersion="24"
         android:targetSdkVersion="24" />
 
-    <restrict-upgrade
+    <restrict-update
         android:hash="__HASH__" />
 
     <application
diff --git a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java
index 9d4b50c..1922773 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java
@@ -215,9 +215,12 @@
         includeState(state);
 
         // Advanced roots are shown by default without menu option if forced by config or intent.
-        state.showAdvanced = Shared.shouldShowDeviceRoot(this, intent);
+        boolean forceAdvanced = Shared.shouldShowDeviceRoot(this, intent);
+        boolean chosenAdvanced = LocalPreferences.getShowDeviceRoot(this, state.action);
+        state.showAdvanced = forceAdvanced || chosenAdvanced;
+
         // Menu option is shown for whitelisted intents if advanced roots are not shown by default.
-        state.showAdvancedOption = !state.showAdvanced && (
+        state.showAdvancedOption = !forceAdvanced && (
                 Shared.shouldShowFancyFeatures(this)
                 || state.action == ACTION_OPEN
                 || state.action == ACTION_CREATE
@@ -483,6 +486,7 @@
         Metrics.logUserAction(this,
                 display ? Metrics.USER_ACTION_SHOW_ADVANCED : Metrics.USER_ACTION_HIDE_ADVANCED);
 
+        LocalPreferences.setShowDeviceRoot(this, mState.action, display);
         mState.showAdvanced = display;
         RootsFragment.get(getFragmentManager()).onDisplayStateChanged();
         invalidateOptionsMenu();
diff --git a/packages/DocumentsUI/src/com/android/documentsui/LocalPreferences.java b/packages/DocumentsUI/src/com/android/documentsui/LocalPreferences.java
index 2315664..d2e9885 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/LocalPreferences.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/LocalPreferences.java
@@ -18,9 +18,6 @@
 
 import static com.android.documentsui.State.MODE_UNKNOWN;
 
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
 import android.annotation.IntDef;
 import android.annotation.Nullable;
 import android.content.Context;
@@ -28,11 +25,16 @@
 import android.os.UserHandle;
 import android.preference.PreferenceManager;
 
+import com.android.documentsui.State.ActionType;
 import com.android.documentsui.State.ViewMode;
 import com.android.documentsui.model.RootInfo;
 
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
 public class LocalPreferences {
     private static final String KEY_FILE_SIZE = "fileSize";
+    private static final String INCLUDE_DEVICE_ROOT = "includeDeviceRoot-";
     private static final String ROOT_VIEW_MODE_PREFIX = "rootViewMode-";
 
     public static boolean getDisplayFileSize(Context context) {
@@ -48,9 +50,17 @@
         getPrefs(context).edit().putBoolean(KEY_FILE_SIZE, display).apply();
     }
 
+    public static boolean getShowDeviceRoot(Context context, @ActionType int action) {
+        return getPrefs(context).getBoolean(INCLUDE_DEVICE_ROOT + action, false);
+    }
+
+    public static void setShowDeviceRoot(
+            Context context, @ActionType int action, boolean display) {
+        getPrefs(context).edit().putBoolean(INCLUDE_DEVICE_ROOT + action, display).apply();
+    }
+
     public static void setViewMode(Context context, RootInfo root, @ViewMode int viewMode) {
         assert(viewMode != MODE_UNKNOWN);
-
         getPrefs(context).edit().putInt(createKey(root), viewMode).apply();
     }
 
diff --git a/packages/DocumentsUI/src/com/android/documentsui/OpenExternalDirectoryActivity.java b/packages/DocumentsUI/src/com/android/documentsui/OpenExternalDirectoryActivity.java
index b0e5e4e..6588ee1 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/OpenExternalDirectoryActivity.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/OpenExternalDirectoryActivity.java
@@ -20,6 +20,7 @@
 import static android.os.Environment.STANDARD_DIRECTORIES;
 import static android.os.storage.StorageVolume.EXTRA_DIRECTORY_NAME;
 import static android.os.storage.StorageVolume.EXTRA_STORAGE_VOLUME;
+
 import static com.android.documentsui.LocalPreferences.getScopedAccessPermissionStatus;
 import static com.android.documentsui.LocalPreferences.PERMISSION_ASK;
 import static com.android.documentsui.LocalPreferences.PERMISSION_ASK_AGAIN;
@@ -201,14 +202,23 @@
         final List<VolumeInfo> volumes = sm.getVolumes();
         if (DEBUG) Log.d(TAG, "Number of volumes: " + volumes.size());
         File internalRoot = null;
+        boolean found = true;
         for (VolumeInfo volume : volumes) {
             if (isRightVolume(volume, root, userId)) {
+                found = true;
                 internalRoot = volume.getInternalPathForUser(userId);
                 // Must convert path before calling getDocIdForFileCreateNewDir()
                 if (DEBUG) Log.d(TAG, "Converting " + root + " to " + internalRoot);
                 file = isRoot ? internalRoot : new File(internalRoot, directory);
+                volumeUuid = storageVolume.getUuid();
                 volumeLabel = sm.getBestVolumeDescription(volume);
-                volumeUuid = volume.getFsUuid();
+                if (TextUtils.isEmpty(volumeLabel)) {
+                    volumeLabel = storageVolume.getDescription(activity);
+                }
+                if (TextUtils.isEmpty(volumeLabel)) {
+                    volumeLabel = activity.getString(android.R.string.unknownName);
+                    Log.w(TAG, "No volume description  for " + volume + "; using " + volumeLabel);
+                }
                 break;
             }
         }
@@ -229,7 +239,7 @@
             return true;
         }
 
-        if (volumeLabel == null) {
+        if (!found) {
             Log.e(TAG, "Could not get volume for " + file);
             logInvalidScopedAccessRequest(activity, SCOPED_DIRECTORY_ACCESS_ERROR);
             return false;
@@ -277,15 +287,16 @@
     private static boolean isRightVolume(VolumeInfo volume, String root, int userId) {
         final File userPath = volume.getPathForUser(userId);
         final String path = userPath == null ? null : volume.getPathForUser(userId).getPath();
-        final boolean isVisible = volume.isVisibleForWrite(userId);
+        final boolean isMounted = volume.isMountedReadable();
         if (DEBUG)
-            Log.d(TAG, "Volume: " + volume + " userId: " + userId + " root: " + root
-                    + " volumePath: " + volume.getPath().getPath()
-                    + " pathForUser: " + path
-                    + " internalPathForUser: " + volume.getInternalPath()
-                    + " isVisible: " + isVisible);
+            Log.d(TAG, "Volume: " + volume
+                    + "\n\tuserId: " + userId
+                    + "\n\tuserPath: " + userPath
+                    + "\n\troot: " + root
+                    + "\n\tpath: " + path
+                    + "\n\tisMounted: " + isMounted);
 
-        return volume.isVisibleForWrite(userId) && root.equals(path);
+        return isMounted && root.equals(path);
     }
 
     private static Uri getGrantedUriPermission(Context context, ContentProviderClient provider,
@@ -455,7 +466,7 @@
                 message = TextUtils.expandTemplate(
                         getText(mIsPrimary ? R.string.open_external_dialog_request_primary_volume
                                 : R.string.open_external_dialog_request),
-                        mAppLabel, directory, mVolumeLabel);
+                                mAppLabel, directory, mVolumeLabel);
             }
             final TextView messageField = (TextView) view.findViewById(R.id.message);
             messageField.setText(message);
diff --git a/packages/DocumentsUI/src/com/android/documentsui/QuickViewIntentBuilder.java b/packages/DocumentsUI/src/com/android/documentsui/QuickViewIntentBuilder.java
index af6aee7..5e3bbbb 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/QuickViewIntentBuilder.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/QuickViewIntentBuilder.java
@@ -28,6 +28,7 @@
 import android.content.res.Resources;
 import android.database.Cursor;
 import android.net.Uri;
+import android.os.Build;
 import android.provider.DocumentsContract;
 import android.provider.DocumentsContract.Document;
 import android.support.annotation.Nullable;
@@ -73,7 +74,7 @@
     @Nullable Intent build() {
         if (DEBUG) Log.d(TAG, "Preparing intent for doc:" + mDocument.documentId);
 
-        String trustedPkg = mResources.getString(R.string.trusted_quick_viewer_package);
+        String trustedPkg = getQuickViewPackage();
 
         if (!TextUtils.isEmpty(trustedPkg)) {
             Intent intent = new Intent(Intent.ACTION_QUICK_VIEW);
@@ -116,6 +117,16 @@
         return null;
     }
 
+    private String getQuickViewPackage() {
+        String resValue = mResources.getString(R.string.trusted_quick_viewer_package);
+        if (Build.IS_DEBUGGABLE ) {
+            // Allow users of debug devices to override default quick viewer
+            // for the purposes of testing.
+            return android.os.SystemProperties.get("debug.quick_viewer", resValue);
+        }
+        return resValue;
+    }
+
     private int collectViewableUris(ArrayList<Uri> uris) {
         final String[] siblingIds = mModel.getModelIds();
         uris.ensureCapacity(siblingIds.length);
diff --git a/packages/DocumentsUI/src/com/android/documentsui/services/CopyJob.java b/packages/DocumentsUI/src/com/android/documentsui/services/CopyJob.java
index f10af43..53fa3cc4 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/services/CopyJob.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/services/CopyJob.java
@@ -227,7 +227,7 @@
         try {
             mBatchSize = calculateSize(mSrcs);
         } catch (ResourceException e) {
-            Log.w(TAG, "Failed to calculate total size. Copying without progress.");
+            Log.w(TAG, "Failed to calculate total size. Copying without progress.", e);
             mBatchSize = -1;
         }
 
@@ -236,25 +236,19 @@
         for (int i = 0; i < mSrcs.size() && !isCanceled(); ++i) {
             srcInfo = mSrcs.get(i);
 
-            // Guard unsupported recursive operation.
-            try {
-                if (dstInfo.equals(srcInfo) || isDescendentOf(srcInfo, dstInfo)) {
-                    throw new ResourceException("Cannot copy to itself recursively.");
-                }
-            } catch (ResourceException e) {
-                Log.e(TAG, e.toString());
-                onFileFailed(srcInfo);
-                continue;
-            }
-
             if (DEBUG) Log.d(TAG,
                     "Copying " + srcInfo.displayName + " (" + srcInfo.derivedUri + ")"
                     + " to " + dstInfo.displayName + " (" + dstInfo.derivedUri + ")");
 
             try {
-                processDocument(srcInfo, null, dstInfo);
+                if (dstInfo.equals(srcInfo) || isDescendentOf(srcInfo, dstInfo)) {
+                    Log.e(TAG, "Skipping recursive copy of " + srcInfo.derivedUri);
+                    onFileFailed(srcInfo);
+                } else {
+                    processDocument(srcInfo, null, dstInfo);
+                }
             } catch (ResourceException e) {
-                Log.e(TAG, e.toString());
+                Log.e(TAG, "Failed to copy " + srcInfo.derivedUri, e);
                 onFileFailed(srcInfo);
             }
         }
@@ -306,7 +300,7 @@
                     }
                 } catch (RemoteException | RuntimeException e) {
                     Log.e(TAG, "Provider side copy failed for: " + src.derivedUri
-                            + " due to an exception: " + e);
+                            + " due to an exception.", e);
                 }
                 // If optimized copy fails, then fallback to byte-by-byte copy.
                 if (DEBUG) Log.d(TAG, "Fallback to byte-by-byte copy for: " + src.derivedUri);
diff --git a/packages/DocumentsUI/src/com/android/documentsui/services/DeleteJob.java b/packages/DocumentsUI/src/com/android/documentsui/services/DeleteJob.java
index 8f45162..36a0f32 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/services/DeleteJob.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/services/DeleteJob.java
@@ -86,7 +86,7 @@
             try {
                 deleteDocument(doc, mSrcParent);
             } catch (ResourceException e) {
-                Log.e(TAG, "Failed to delete document @ " + doc.derivedUri);
+                Log.e(TAG, "Failed to delete document @ " + doc.derivedUri, e);
                 onFileFailed(doc);
             }
         }
diff --git a/packages/DocumentsUI/src/com/android/documentsui/services/MoveJob.java b/packages/DocumentsUI/src/com/android/documentsui/services/MoveJob.java
index aaa7596..1118171 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/services/MoveJob.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/services/MoveJob.java
@@ -98,7 +98,7 @@
                     }
                 } catch (RemoteException | RuntimeException e) {
                     Log.e(TAG, "Provider side move failed for: " + src.derivedUri
-                            + " due to an exception: " + e);
+                            + " due to an exception: ", e);
                 }
                 // If optimized move fails, then fallback to byte-by-byte copy.
                 if (DEBUG) Log.d(TAG, "Fallback to byte-by-byte move for: " + src.derivedUri);
diff --git a/packages/EasterEgg/Android.mk b/packages/EasterEgg/Android.mk
new file mode 100644
index 0000000..df081f4
--- /dev/null
+++ b/packages/EasterEgg/Android.mk
@@ -0,0 +1,21 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := optional
+LOCAL_STATIC_JAVA_LIBRARIES := \
+    android-support-v4 \
+    android-support-v13 \
+    android-support-v7-recyclerview \
+    android-support-v7-preference \
+    android-support-v7-appcompat \
+    android-support-v14-preference \
+    jsr305
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := EasterEgg
+LOCAL_CERTIFICATE := platform
+
+include $(BUILD_PACKAGE)
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/packages/EasterEgg/AndroidManifest.xml b/packages/EasterEgg/AndroidManifest.xml
new file mode 100644
index 0000000..50e8b5c
--- /dev/null
+++ b/packages/EasterEgg/AndroidManifest.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+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.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+          package="com.android.egg"
+          android:versionCode="1"
+          android:versionName="1.0">
+
+    <uses-sdk android:minSdkVersion="24" />
+
+    <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+
+    <application android:label="@string/app_name" android:icon="@drawable/icon">
+        <!-- Long press the QS tile to get here -->
+        <activity android:name=".neko.NekoLand"
+                  android:theme="@android:style/Theme.Material.NoActionBar"
+                  android:label="@string/app_name">
+            <intent-filter>
+                <action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES" />
+            </intent-filter>
+        </activity>
+
+        <!-- This is where the magic happens -->
+        <service
+            android:name=".neko.NekoService"
+            android:enabled="true"
+            android:permission="android.permission.BIND_JOB_SERVICE"
+            android:exported="true" >
+        </service>
+
+        <!-- Used to show over lock screen -->
+        <activity android:name=".neko.NekoLockedActivity"
+                  android:excludeFromRecents="true"
+                  android:theme="@android:style/Theme.Material.Light.Dialog.NoActionBar"
+                  android:showOnLockScreen="true" />
+
+        <!-- Used to enable easter egg -->
+        <activity android:name=".neko.NekoActivationActivity"
+            android:excludeFromRecents="true"
+            android:theme="@android:style/Theme.NoDisplay"
+            >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN"/>
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="com.android.internal.category.PLATLOGO" />
+            </intent-filter>
+        </activity>
+
+        <!-- The quick settings tile, disabled by default -->
+        <service
+            android:name=".neko.NekoTile"
+            android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"
+            android:icon="@drawable/stat_icon"
+            android:enabled="false"
+            android:label="@string/default_tile_name">
+            <intent-filter>
+                <action android:name="android.service.quicksettings.action.QS_TILE" />
+            </intent-filter>
+        </service>
+    </application>
+</manifest>
diff --git a/packages/EasterEgg/res/drawable/back.xml b/packages/EasterEgg/res/drawable/back.xml
new file mode 100644
index 0000000..b55d65c
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/back.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="back" android:fillColor="#FF000000" android:pathData="M37.1,22c-1.1,0 -1.9,0.8 -1.9,1.9v5.6c0,1.1 0.8,1.9 1.9,1.9H39v-1.9v-5.6V22H37.1z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/belly.xml b/packages/EasterEgg/res/drawable/belly.xml
new file mode 100644
index 0000000..8b0e9af
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/belly.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="belly" android:fillColor="#FF000000" android:pathData="M20.5,25c-3.6,0 -6.5,2.9 -6.5,6.5V38h13v-6.5C27,27.9 24.1,25 20.5,25z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/body.xml b/packages/EasterEgg/res/drawable/body.xml
new file mode 100644
index 0000000..8608720
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/body.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="body" android:fillColor="#FF000000" android:pathData="M9,20h30v18h-30z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/bowtie.xml b/packages/EasterEgg/res/drawable/bowtie.xml
new file mode 100644
index 0000000..33fa921
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/bowtie.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="bowtie" android:fillColor="#FF000000" android:pathData="M29,16.8l-10,5l0,-5l10,5z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/cap.xml b/packages/EasterEgg/res/drawable/cap.xml
new file mode 100644
index 0000000..d8b4cc5
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/cap.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="cap" android:fillColor="#FF000000" android:pathData="M27.2,3.8c-1,-0.2 -2.1,-0.3 -3.2,-0.3s-2.1,0.1 -3.2,0.3c0.2,1.3 1.5,2.2 3.2,2.2C25.6,6.1 26.9,5.1 27.2,3.8z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/collar.xml b/packages/EasterEgg/res/drawable/collar.xml
new file mode 100644
index 0000000..6c0d90a
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/collar.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="collar" android:fillColor="#FF000000" android:pathData="M9,18.4h30v1.6h-30z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/face_spot.xml b/packages/EasterEgg/res/drawable/face_spot.xml
new file mode 100644
index 0000000..a89fb4f
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/face_spot.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="face_spot" android:fillColor="#FF000000" android:pathData="M19.5,15.2a4.5,3.2 0,1 0,9 0a4.5,3.2 0,1 0,-9 0z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/food_bits.xml b/packages/EasterEgg/res/drawable/food_bits.xml
new file mode 100644
index 0000000..1b2bb6f
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/food_bits.xml
@@ -0,0 +1,33 @@
+<!--
+Copyright (C) 2015 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M19.1,34l-3.5,1.3c-1,0.4,-2.2,-0.1,-2.6,-1.1l-1.2,-3c-0.4,-1,0.1,-2.2,1.1,-2.6l3.5,-1.3c1,-0.4,2.2,0.1,2.6,1.1l1.2,3   C20.6,32.4,20.1,33.6,19.1,34z"/>
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M25.2,28.1L22.9,28c-0.8,0,-1.5,-0.7,-1.4,-1.6l0.1,-2c0,-0.8,0.7,-1.5,1.6,-1.4l2.4,0.1c0.8,0,1.5,0.7,1.4,1.6l-0.1,2   C26.8,27.5,26.1,28.1,25.2,28.1z"/>
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M18.7,23.1L16.5,23c-0.5,0,-0.9,-0.4,-0.8,-0.9l0.1,-2.2c0,-0.5,0.4,-0.9,0.9,-0.8l2.2,0.1c0.5,0,0.9,0.4,0.8,0.9   l-0.1,2.2C19.6,22.8,19.2,23.1,18.7,23.1z"/>
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M32.2,35.3l-3.6,-1.8c-1,-0.5,-1.4,-1.7,-0.9,-2.7l1.6,-3.1c0.5,-1,1.7,-1.4,2.7,-0.9l3.6,1.8c1,0.5,1.4,1.7,0.9,2.7   l-1.6,3.1C34.4,35.4,33.2,35.7,32.2,35.3z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/food_chicken.xml b/packages/EasterEgg/res/drawable/food_chicken.xml
new file mode 100644
index 0000000..95b2fb5
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/food_chicken.xml
@@ -0,0 +1,39 @@
+<!--
+Copyright (C) 2015 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M9,12v14h10V11H9z M11.7,16.3c-0.7,0,-1.3,-0.6,-1.3,-1.3s0.6,-1.3,1.3,-1.3S13,14.3,13,15S12.4,16.3,11.7,16.3z"/>
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M5.7,20.1l1.6,-3.0l-1.6,-3.0l4.4,3.0z"/>
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M19.0,6.0l-2.3,2.3l-2.7,-2.6l-2.7,2.6l-2.3,-2.3l0.0,4.0l10.0,0.0z"/>
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M9,25c0,8.3,6.7,15,15,15s15,-6.7,15,-15H9z M29.9,31.5h-11v-1h12L29.9,31.5z M31.9,29.5h-13v-1h14L31.9,29.5z M33.9,27.5   h-15v-1h16L33.9,27.5z"/>
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M27.0,38.6h2.0v6.0h-2.0z"/>
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M17.4,44.6l-2.1999998,0.0l4.4000006,-6.0l2.1999989,0.0z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/food_dish.xml b/packages/EasterEgg/res/drawable/food_dish.xml
new file mode 100644
index 0000000..3fff6a9
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/food_dish.xml
@@ -0,0 +1,24 @@
+<!--
+Copyright (C) 2015 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M24,13.8C11.3,13.8,1,18.3,1,24c0,5.7,10.3,10.2,23,10.2S47,29.7,47,24C47,18.3,36.7,13.8,24,13.8z M33.7,26.6   c1.1,-0.6,1.8,-1.3,1.8,-2c0,-2.1,-5.2,-3.8,-11.7,-3.8s-11.7,1.7,-11.7,3.8c0,0.6,0.4,1.2,1.2,1.7c-1.7,-0.8,-2.8,-1.7,-2.8,-2.8   c0,-2.5,6,-4.5,13.4,-4.5s13.4,2,13.4,4.5C37.4,24.7,36,25.8,33.7,26.6z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/food_donut.xml b/packages/EasterEgg/res/drawable/food_donut.xml
new file mode 100644
index 0000000..eaf831e
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/food_donut.xml
@@ -0,0 +1,24 @@
+<!--
+Copyright (C) 2015 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M24,4.5c-10.5,0,-19,8.5,-19,19s8.5,19,19,19s19,-8.5,19,-19S34.5,4.5,24,4.5z M35.2,15.5l1.6,-1.1   c0.3,-0.2,0.6,-0.1,0.8,0.1l0.1,0.1c0.2,0.3,0.1,0.6,-0.1,0.8l-1.6,1.1c-0.3,0.2,-0.6,0.1,-0.8,-0.1l-0.1,-0.1   C34.9,16.1,35,15.7,35.2,15.5z M32.7,10.7c0,-0.3,0.3,-0.5,0.6,-0.5l0.1,0c0.3,0,0.5,0.3,0.5,0.6l-0.2,2c0,0.3,-0.3,0.5,-0.6,0.5l-0.1,0   c-0.3,0,-0.5,-0.3,-0.5,-0.6L32.7,10.7z M31.7,15.1l1.5,-0.2c0.2,0,0.5,0.1,0.5,0.4l0,0.1c0,0.2,-0.1,0.5,-0.4,0.5l-1.5,0.2   c-0.2,0,-0.5,-0.1,-0.5,-0.4l0,-0.1C31.3,15.4,31.5,15.2,31.7,15.1z M28.8,10.6l1.6,-1.1c0.3,-0.2,0.6,-0.1,0.8,0.1l0.1,0.1   c0.2,0.3,0.1,0.6,-0.1,0.8l-1.6,1.1c-0.3,0.2,-0.6,0.1,-0.8,-0.1l-0.1,-0.1C28.4,11.1,28.5,10.8,28.8,10.6z M25.8,6   c0,-0.3,0.3,-0.5,0.6,-0.5l0.1,0c0.3,0,0.5,0.3,0.5,0.6l-0.2,2c0,0.3,-0.3,0.5,-0.6,0.5l-0.1,0c-0.3,0,-0.5,-0.3,-0.5,-0.6L25.8,6z    M20.7,6.5l1.9,-0.7c0.3,-0.1,0.6,0,0.7,0.3l0,0.1c0.1,0.3,0,0.6,-0.3,0.7l-1.9,0.7c-0.3,0.1,-0.6,0,-0.7,-0.3l0,-0.1   C20.3,6.9,20.4,6.6,20.7,6.5z M19.9,10.9l1.5,-0.2c0.2,0,0.5,0.1,0.5,0.4l0,0.1c0,0.2,-0.1,0.5,-0.4,0.5l-1.5,0.2   c-0.2,0,-0.5,-0.1,-0.5,-0.4l0,-0.1C19.5,11.1,19.7,10.9,19.9,10.9z M16,10.9L16,10.9c0.2,-0.3,0.4,-0.4,0.6,-0.3l1.3,0.7   c0.2,0.1,0.3,0.4,0.2,0.6L18,12c-0.1,0.2,-0.4,0.3,-0.6,0.2l-1.3,-0.7C15.9,11.4,15.8,11.1,16,10.9z M15.8,18.5c0.2,0,0.4,0.1,0.5,0.4   l0,0.1c0,0.2,-0.1,0.4,-0.4,0.5l-1.5,0.2c-0.2,0,-0.4,-0.1,-0.5,-0.4l0,-0.1c0,-0.2,0.1,-0.4,0.4,-0.5L15.8,18.5z M14,21.8l-1.6,1.1   c-0.3,0.2,-0.6,0.1,-0.8,-0.1l-0.1,-0.1c-0.2,-0.3,-0.1,-0.6,0.1,-0.8l1.6,-1.1c0.3,-0.2,0.6,-0.1,0.8,0.1l0.1,0.1   C14.3,21.3,14.3,21.6,14,21.8z M12.4,12L12.4,12c0.3,-0.2,0.5,-0.2,0.7,-0.1l1,1.1c0.2,0.2,0.2,0.4,0,0.6L14,13.7   c-0.2,0.2,-0.4,0.2,-0.6,0l-1,-1.1C12.2,12.4,12.2,12.1,12.4,12z M8.3,24.5c0,0.3,-0.3,0.5,-0.6,0.5l-0.1,0c-0.3,0,-0.5,-0.3,-0.5,-0.6   l0.2,-2c0,-0.3,0.3,-0.5,0.6,-0.5l0.1,0c0.3,0,0.5,0.3,0.5,0.6L8.3,24.5z M8.5,16.2v-0.1c0,-0.3,0.2,-0.6,0.6,-0.6h2   c0.3,0,0.6,0.2,0.6,0.6v0.1c0,0.3,-0.2,0.6,-0.6,0.6H9C8.7,16.7,8.5,16.5,8.5,16.2z M10.3,20.7c-0.3,0.2,-0.6,0.1,-0.8,-0.1l-0.1,-0.1   c-0.2,-0.3,-0.1,-0.6,0.1,-0.8l1.6,-1.1c0.3,-0.2,0.6,-0.1,0.8,0.1l0.1,0.1c0.2,0.3,0.1,0.6,-0.1,0.8L10.3,20.7z M11.3,28.3l0,-0.1   c-0.1,-0.3,0,-0.6,0.3,-0.7l1.9,-0.7c0.3,-0.1,0.6,0,0.7,0.3l0,0.1c0.1,0.3,0,0.6,-0.3,0.7L12,28.6C11.7,28.7,11.4,28.6,11.3,28.3z    M14.4,33c0,0.2,-0.2,0.4,-0.4,0.4h-1.5c-0.2,0,-0.4,-0.2,-0.4,-0.4v-0.1c0,-0.2,0.2,-0.4,0.4,-0.4H14c0.2,0,0.4,0.2,0.4,0.4V33z M17.9,35.2   l-1.6,1.1c-0.3,0.2,-0.6,0.1,-0.8,-0.1l-0.1,-0.1c-0.2,-0.3,-0.1,-0.6,0.1,-0.8l1.6,-1.1c0.3,-0.2,0.6,-0.1,0.8,0.1l0.1,0.1   C18.2,34.7,18.2,35.1,17.9,35.2z M20.7,33.8l-0.1,0.1c-0.1,0.3,-0.5,0.4,-0.8,0.2l-1.7,-1c-0.3,-0.1,-0.4,-0.5,-0.2,-0.8l0.1,-0.1   c0.1,-0.3,0.5,-0.4,0.8,-0.2l1.7,1C20.7,33.2,20.8,33.5,20.7,33.8z M17.5,23.5c0,-3.6,2.9,-6.5,6.5,-6.5s6.5,2.9,6.5,6.5   c0,3.6,-2.9,6.5,-6.5,6.5S17.5,27.1,17.5,23.5z M27.4,35.7l-1.9,0.7c-0.3,0.1,-0.6,0,-0.7,-0.3l0,-0.1c-0.1,-0.3,0,-0.6,0.3,-0.7l1.9,-0.7   c0.3,-0.1,0.6,0,0.7,0.3l0,0.1C27.9,35.3,27.7,35.6,27.4,35.7z M29.7,32.7l-1.4,0.5c-0.2,0.1,-0.5,0,-0.5,-0.3l0,-0.1   c-0.1,-0.2,0,-0.5,0.3,-0.5l1.4,-0.5c0.2,-0.1,0.5,0,0.5,0.3l0,0.1C30,32.3,29.9,32.6,29.7,32.7z M32.8,35.5l-0.1,0.1   c-0.1,0.3,-0.5,0.4,-0.8,0.2l-1.7,-1c-0.3,-0.1,-0.4,-0.5,-0.2,-0.8l0.1,-0.1c0.1,-0.3,0.5,-0.4,0.8,-0.2l1.7,1C32.8,34.9,32.9,35.2,32.8,35.5z    M33.7,30.9c0,0.2,-0.2,0.4,-0.5,0.4l-0.1,0c-0.2,0,-0.4,-0.2,-0.4,-0.5l0.1,-1.5c0,-0.2,0.2,-0.4,0.5,-0.4l0.1,0c0.2,0,0.4,0.2,0.4,0.5   L33.7,30.9z M34.5,26.5l-1.3,0.9c-0.2,0.1,-0.5,0.1,-0.6,-0.1l-0.1,-0.1c-0.1,-0.2,-0.1,-0.5,0.1,-0.6l1.3,-0.9c0.2,-0.1,0.5,-0.1,0.6,0.1   l0.1,0.1C34.8,26.1,34.7,26.3,34.5,26.5z M35.6,20.6l-1.7,-1c-0.3,-0.1,-0.4,-0.5,-0.2,-0.8l0.1,-0.1c0.1,-0.3,0.5,-0.4,0.8,-0.2l1.7,1   c0.3,0.1,0.4,0.5,0.2,0.8l-0.1,0.1C36.2,20.6,35.8,20.7,35.6,20.6z M38.6,27.1l-1.6,1.1c-0.3,0.2,-0.6,0.1,-0.8,-0.1L36.1,28   c-0.2,-0.3,-0.1,-0.6,0.1,-0.8l1.6,-1.1c0.3,-0.2,0.6,-0.1,0.8,0.1l0.1,0.1C38.9,26.6,38.8,27,38.6,27.1z M39,19.4l-1.5,0.2   c-0.2,0,-0.5,-0.1,-0.5,-0.4l0,-0.1c0,-0.2,0.1,-0.5,0.4,-0.5l1.5,-0.2c0.2,0,0.5,0.1,0.5,0.4l0,0.1C39.4,19.1,39.2,19.3,39,19.4z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/food_sysuituna.xml b/packages/EasterEgg/res/drawable/food_sysuituna.xml
new file mode 100644
index 0000000..28cf4a2
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/food_sysuituna.xml
@@ -0,0 +1,24 @@
+<!--
+Copyright (C) 2015 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M46,18.4l-5.8,4.6c-3.9,-3.2,-8.9,-5.6,-14.6,-6.3l1.2,-6l-7.3,5.9C12.5,17.2,6.4,20,2,24.3l7.2,1.4L2,27   c4.3,4.2,10.4,7.1,17.3,7.6l3.1,2.5L22,34.8c7.1,0,13.5,-2.5,18.2,-6.5l5.8,4.6l-1.4,-7.2L46,18.4z M14.3,24.8l-0.6,0.6l-1.1,-1.1   l-1.1,1.1l-0.6,-0.6l1.1,-1.1l-1.1,-1.1l0.6,-0.6l1.1,1.1l1.1,-1.1l0.6,0.6l-1.1,1.1L14.3,24.8z M18.8,29.1c0.7,-0.8,1.1,-2.2,1.1,-3.8   c0,-1.6,-0.4,-3,-1.1,-3.8c1.1,0.5,1.9,2,1.9,3.8S19.9,28.5,18.8,29.1z M20.7,29.1c0.7,-0.8,1.1,-2.2,1.1,-3.8c0,-1.6,-0.4,-3,-1.1,-3.8   c1.1,0.5,1.9,2,1.9,3.8S21.8,28.5,20.7,29.1z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/foot1.xml b/packages/EasterEgg/res/drawable/foot1.xml
new file mode 100644
index 0000000..0d90859
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/foot1.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="foot1" android:fillColor="#FF000000" android:pathData="M11.5,43m-2.5,0a2.5,2.5 0,1 1,5 0a2.5,2.5 0,1 1,-5 0"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/foot2.xml b/packages/EasterEgg/res/drawable/foot2.xml
new file mode 100644
index 0000000..364ba0c
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/foot2.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="foot2" android:fillColor="#FF000000" android:pathData="M18.5,43m-2.5,0a2.5,2.5 0,1 1,5 0a2.5,2.5 0,1 1,-5 0"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/foot3.xml b/packages/EasterEgg/res/drawable/foot3.xml
new file mode 100644
index 0000000..e3a512a
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/foot3.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="foot3" android:fillColor="#FF000000" android:pathData="M29.5,43m-2.5,0a2.5,2.5 0,1 1,5 0a2.5,2.5 0,1 1,-5 0"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/foot4.xml b/packages/EasterEgg/res/drawable/foot4.xml
new file mode 100644
index 0000000..66b78fa
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/foot4.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="foot4" android:fillColor="#FF000000" android:pathData="M36.5,43m-2.5,0a2.5,2.5 0,1 1,5 0a2.5,2.5 0,1 1,-5 0"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/head.xml b/packages/EasterEgg/res/drawable/head.xml
new file mode 100644
index 0000000..df600a8
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/head.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="head" android:fillColor="#FF000000" android:pathData="M9,18.5c0,-8.3 6.8,-15 15,-15s15,6.7 15,15H9z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/ic_close.xml b/packages/EasterEgg/res/drawable/ic_close.xml
new file mode 100644
index 0000000..60ea36b
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/ic_close.xml
@@ -0,0 +1,24 @@
+<!--
+    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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24.0dp"
+        android:height="24.0dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0">
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M19.0,6.41L17.59,5.0 12.0,10.59 6.41,5.0 5.0,6.41 10.59,12.0 5.0,17.59 6.41,19.0 12.0,13.41 17.59,19.0 19.0,17.59 13.41,12.0z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/ic_share.xml b/packages/EasterEgg/res/drawable/ic_share.xml
new file mode 100644
index 0000000..8cebc7e
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/ic_share.xml
@@ -0,0 +1,24 @@
+<!--
+    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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24.0dp"
+        android:height="24.0dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0">
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M18.0,16.08c-0.76,0.0 -1.4,0.3 -1.9,0.77L8.91,12.7c0.05,-0.2 0.09,-0.4 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.5,0.5 1.2,0.81 2.0,0.81 1.66,0.0 3.0,-1.34 3.0,-3.0s-1.34,-3.0 -3.0,-3.0 -3.0,1.34 -3.0,3.0c0.0,0.2 0.0,0.4 0.0,0.7L8.04,9.81C7.5,9.31 6.79,9.0 6.0,9.0c-1.66,0.0 -3.0,1.34 -3.0,3.0s1.34,3.0 3.0,3.0c0.79,0.0 1.5,-0.31 2.04,-0.81l7.12,4.16c0.0,0.21 0.0,0.43 0.0,0.65 0.0,1.61 1.31,2.92 2.92,2.92 1.61,0.0 2.92,-1.31 2.92,-2.92s-1.31,-2.92 -2.92,-2.92z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/icon.xml b/packages/EasterEgg/res/drawable/icon.xml
new file mode 100644
index 0000000..defa83a
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/icon.xml
@@ -0,0 +1,37 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="512dp"
+        android:height="512dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path
+        android:fillColor="#FF7E5BBF"
+        android:pathData="M32.0,12.5l0.0,28.0l12.0,-5.0l0.0,-28.0z"/>
+    <path
+        android:fillColor="#FF7E5BBF"
+        android:pathData="M4.0,40.5l12.0,-5.0l0.0,-11.0l-12.0,-12.0z"/>
+    <path
+        android:fillColor="#40000000"
+        android:pathData="M44.0,35.5l-12.0,-12.0l0.0,-4.0z"/>
+    <path
+        android:fillColor="#40000000"
+        android:pathData="M4.0,12.5l12.0,12.0l0.0,4.0z"/>
+    <path
+        android:fillColor="#FF55C4F5"
+        android:pathData="M32.0,23.5l-16.0,-16.0l-12.0,5.0l0.0,0.0l12.0,12.0l16.0,16.0l12.0,-5.0l0.0,0.0z"/>
+</vector>
+
diff --git a/packages/EasterEgg/res/drawable/left_ear.xml b/packages/EasterEgg/res/drawable/left_ear.xml
new file mode 100644
index 0000000..2b98736
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/left_ear.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="left_ear" android:fillColor="#FF000000" android:pathData="M15.4,1l5.1000004,5.3l-6.3,2.8000002z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/left_ear_inside.xml b/packages/EasterEgg/res/drawable/left_ear_inside.xml
new file mode 100644
index 0000000..1d947ed
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/left_ear_inside.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="left_ear_inside" android:fillColor="#FF000000" android:pathData="M15.4,1l3.5,6.2l-4.7,1.9z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/left_eye.xml b/packages/EasterEgg/res/drawable/left_eye.xml
new file mode 100644
index 0000000..4dde1b6
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/left_eye.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="left_eye" android:fillColor="#FF000000" android:pathData="M20.5,11c0,1.7 -3,1.7 -3,0C17.5,9.3 20.5,9.3 20.5,11z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/leg1.xml b/packages/EasterEgg/res/drawable/leg1.xml
new file mode 100644
index 0000000..6257333
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/leg1.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="leg1" android:fillColor="#FF000000" android:pathData="M9,38h5v5h-5z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/leg2.xml b/packages/EasterEgg/res/drawable/leg2.xml
new file mode 100644
index 0000000..73352f6
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/leg2.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="leg2" android:fillColor="#FF000000" android:pathData="M16,38h5v5h-5z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/leg2_shadow.xml b/packages/EasterEgg/res/drawable/leg2_shadow.xml
new file mode 100644
index 0000000..77f4893
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/leg2_shadow.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="leg2_shadow" android:fillColor="#FF000000" android:pathData="M16,38h5v1h-5z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/leg3.xml b/packages/EasterEgg/res/drawable/leg3.xml
new file mode 100644
index 0000000..53dea5c
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/leg3.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="leg3" android:fillColor="#FF000000" android:pathData="M27,38h5v5h-5z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/leg4.xml b/packages/EasterEgg/res/drawable/leg4.xml
new file mode 100644
index 0000000..f2ce73e
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/leg4.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="leg4" android:fillColor="#FF000000" android:pathData="M34,38h5v5h-5z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/mouth.xml b/packages/EasterEgg/res/drawable/mouth.xml
new file mode 100644
index 0000000..ddcf2e8
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/mouth.xml
@@ -0,0 +1,27 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="mouth"
+        android:strokeColor="#FF000000"
+        android:strokeWidth="1.2"
+        android:strokeLineCap="round"
+        android:pathData="M29,14.3c-0.4,0.8 -1.3,1.4 -2.3,1.4c-1.4,0 -2.7,-1.3 -2.7,-2.7
+                          M24,13c0,1.5 -1.2,2.7 -2.7,2.7c-1,0 -1.9,-0.5 -2.3,-1.4"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/nose.xml b/packages/EasterEgg/res/drawable/nose.xml
new file mode 100644
index 0000000..d403cd1
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/nose.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="nose" android:fillColor="#FF000000" android:pathData="M25.2,13c0,1.3 -2.3,1.3 -2.3,0S25.2,11.7 25.2,13z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/right_ear.xml b/packages/EasterEgg/res/drawable/right_ear.xml
new file mode 100644
index 0000000..b9fb4d1
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/right_ear.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="right_ear" android:fillColor="#FF000000" android:pathData="M32.6,1l-5.0999985,5.3l6.299999,2.8000002z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/right_ear_inside.xml b/packages/EasterEgg/res/drawable/right_ear_inside.xml
new file mode 100644
index 0000000..86b6e34
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/right_ear_inside.xml
@@ -0,0 +1,23 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+
+    <path android:name="right_ear_inside" android:fillColor="#FF000000" android:pathData="M33.8,9.1l-4.7,-1.9l3.5,-6.2z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/right_eye.xml b/packages/EasterEgg/res/drawable/right_eye.xml
new file mode 100644
index 0000000..a1871a6
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/right_eye.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="right_eye" android:fillColor="#FF000000" android:pathData="M30.5,11c0,1.7 -3,1.7 -3,0C27.5,9.3 30.5,9.3 30.5,11z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/stat_icon.xml b/packages/EasterEgg/res/drawable/stat_icon.xml
new file mode 100644
index 0000000..608cb20
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/stat_icon.xml
@@ -0,0 +1,30 @@
+<!--
+Copyright (C) 2015 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M12,2C6.5,2 2,6.5 2,12c0,5.5 4.5,10 10,10s10,-4.5 10,-10C22,6.5 17.5,2 12,2zM5.5,11c0,-1.6 3,-1.6 3,0C8.5,12.7 5.5,12.7 5.5,11zM17.5,14.6c-0.6,1 -1.7,1.7 -2.9,1.7c-1.1,0 -2,-0.6 -2.6,-1.4c-0.6,0.9 -1.6,1.4 -2.7,1.4c-1.3,0 -2.3,-0.7 -2.9,-1.8c-0.2,-0.3 0,-0.7 0.3,-0.8c0.3,-0.2 0.7,0 0.8,0.3c0.3,0.7 1,1.1 1.8,1.1c0.9,0 1.6,-0.5 1.9,-1.3c-0.2,-0.2 -0.4,-0.4 -0.4,-0.7c0,-1.3 2.3,-1.3 2.3,0c0,0.3 -0.2,0.6 -0.4,0.7c0.3,0.8 1.1,1.3 1.9,1.3c0.8,0 1.5,-0.6 1.8,-1.1c0.2,-0.3 0.6,-0.4 0.9,-0.2C17.6,13.9 17.7,14.3 17.5,14.6zM15.5,11c0,-1.6 3,-1.6 3,0C18.5,12.7 15.5,12.7 15.5,11z"/>
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M5.2,1.0l4.1000004,4.2l-5.0,2.1000004z"/>
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M18.8,1.0l-4.0999994,4.2l5.000001,2.1000004z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/tail.xml b/packages/EasterEgg/res/drawable/tail.xml
new file mode 100644
index 0000000..0cca23c
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/tail.xml
@@ -0,0 +1,26 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="tail"
+        android:strokeColor="#FF000000"
+        android:strokeWidth="5"
+        android:strokeLineCap="round"
+        android:pathData="M35,35.5h5.9c2.1,0 3.8,-1.7 3.8,-3.8v-6.2"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/tail_cap.xml b/packages/EasterEgg/res/drawable/tail_cap.xml
new file mode 100644
index 0000000..b82f6f9
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/tail_cap.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="tail_cap" android:fillColor="#FF000000" android:pathData="M42.2,25.5c0,-1.4 1.1,-2.5 2.5,-2.5s2.5,1.1 2.5,2.5H42.2z"/>
+</vector>
diff --git a/packages/EasterEgg/res/drawable/tail_shadow.xml b/packages/EasterEgg/res/drawable/tail_shadow.xml
new file mode 100644
index 0000000..bb1ff12
--- /dev/null
+++ b/packages/EasterEgg/res/drawable/tail_shadow.xml
@@ -0,0 +1,22 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path android:name="tail_shadow" android:fillColor="#FF000000" android:pathData="M40,38l0,-5l-1,0l0,5z"/>
+</vector>
diff --git a/packages/EasterEgg/res/layout/cat_view.xml b/packages/EasterEgg/res/layout/cat_view.xml
new file mode 100644
index 0000000..82ced2f2
--- /dev/null
+++ b/packages/EasterEgg/res/layout/cat_view.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  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.
+  -->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:minHeight="?android:attr/listPreferredItemHeightSmall"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+    android:background="?android:attr/selectableItemBackgroundBorderless"
+    android:gravity="center_horizontal"
+    android:clipToPadding="false">
+
+    <FrameLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content">
+
+        <ImageView
+            android:id="@android:id/icon"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:padding="10dp"
+            android:scaleType="fitCenter" />
+
+        <LinearLayout
+            android:id="@+id/contextGroup"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:visibility="invisible"
+            android:layout_gravity="bottom">
+
+            <ImageView
+                android:id="@android:id/shareText"
+                android:layout_width="40dp"
+                android:layout_height="40dp"
+                android:padding="8dp"
+                android:src="@drawable/ic_share"
+                android:scaleType="fitCenter"
+                android:background="#40000000"/>
+
+            <Space
+                android:layout_width="0dp"
+                android:layout_height="0dp"
+                android:layout_weight="1" />
+
+            <ImageView
+                android:id="@android:id/closeButton"
+                android:layout_width="40dp"
+                android:layout_height="40dp"
+                android:padding="4dp"
+                android:src="@drawable/ic_close"
+                android:scaleType="fitCenter"
+                android:background="#40000000"/>
+
+        </LinearLayout>
+
+    </FrameLayout>
+
+    <TextView
+        android:id="@android:id/title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:textAppearance="?android:attr/textAppearanceListItem"
+        android:gravity="center"/>
+</LinearLayout>
+
diff --git a/packages/EasterEgg/res/layout/edit_text.xml b/packages/EasterEgg/res/layout/edit_text.xml
new file mode 100644
index 0000000..9f7ac802
--- /dev/null
+++ b/packages/EasterEgg/res/layout/edit_text.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  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.
+  -->
+
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:paddingStart="20dp"
+    android:paddingEnd="20dp">
+
+    <EditText
+        android:id="@android:id/edit"
+        android:maxLines="1"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"/>
+
+</FrameLayout>
\ No newline at end of file
diff --git a/packages/EasterEgg/res/layout/food_layout.xml b/packages/EasterEgg/res/layout/food_layout.xml
new file mode 100644
index 0000000..d0ca0c8
--- /dev/null
+++ b/packages/EasterEgg/res/layout/food_layout.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  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.
+  -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              android:orientation="vertical"
+              android:layout_width="wrap_content"
+              android:layout_height="wrap_content"
+              android:background="?android:attr/selectableItemBackgroundBorderless"
+              android:paddingLeft="4dp" android:paddingRight="4dp"
+              android:paddingBottom="6dp" android:paddingTop="6dp">
+    <ImageView
+        android:layout_width="64dp"
+        android:layout_height="64dp"
+        android:id="@+id/icon"
+        android:tint="?android:attr/colorControlNormal"/>
+    <TextView android:layout_width="64dp" android:layout_height="wrap_content"
+        android:gravity="top|center_horizontal"
+        android:id="@+id/text" />
+</LinearLayout>
diff --git a/packages/EasterEgg/res/layout/neko_activity.xml b/packages/EasterEgg/res/layout/neko_activity.xml
new file mode 100644
index 0000000..21a4600
--- /dev/null
+++ b/packages/EasterEgg/res/layout/neko_activity.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+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.
+-->
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+             android:layout_width="match_parent"
+             android:layout_height="match_parent">
+    <android.support.v7.widget.RecyclerView
+        android:id="@+id/holder"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_horizontal"/>
+</FrameLayout>
\ No newline at end of file
diff --git a/packages/EasterEgg/res/values/strings.xml b/packages/EasterEgg/res/values/strings.xml
new file mode 100644
index 0000000..a2440c7b
--- /dev/null
+++ b/packages/EasterEgg/res/values/strings.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+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.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+    <string name="app_name" translatable="false">Android Easter Egg</string>
+    <string name="notification_name" translatable="false">Android Neko</string>
+    <string name="default_tile_name" translatable="false">\????</string>
+    <string name="notification_title" translatable="false">A cat is here.</string>
+    <string name="default_cat_name" translatable="false">Cat #%s</string>
+    <string name="directory_name" translatable="false">Cats</string>
+    <string-array name="food_names" translatable="false">
+        <item>Empty dish</item>
+        <item>Bits</item>
+        <item>Fish</item>
+        <item>Chicken</item>
+        <item>Treat</item>
+    </string-array>
+    <array name="food_icons">
+        <item>@drawable/food_dish</item>
+        <item>@drawable/food_bits</item>
+        <item>@drawable/food_sysuituna</item>
+        <item>@drawable/food_chicken</item>
+        <item>@drawable/food_donut</item>
+    </array>
+    <integer-array name="food_intervals">
+        <item>0</item>
+        <item>15</item>
+        <item>30</item>
+        <item>60</item>
+        <item>120</item>
+    </integer-array>
+    <integer-array name="food_new_cat_prob">
+        <item>0</item>
+        <item>5</item>
+        <item>35</item>
+        <item>65</item>
+        <item>90</item>
+    </integer-array>
+</resources>
diff --git a/packages/EasterEgg/src/com/android/egg/neko/Cat.java b/packages/EasterEgg/src/com/android/egg/neko/Cat.java
new file mode 100644
index 0000000..8c44fd6
--- /dev/null
+++ b/packages/EasterEgg/src/com/android/egg/neko/Cat.java
@@ -0,0 +1,413 @@
+/*
+ * 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.
+ */
+
+package com.android.egg.neko;
+
+import android.app.Notification;
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.content.res.Resources;
+import android.graphics.*;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.Icon;
+import android.os.Bundle;
+
+import java.util.Random;
+import java.util.concurrent.ThreadLocalRandom;
+
+import com.android.egg.R;
+import com.android.internal.logging.MetricsLogger;
+
+public class Cat extends Drawable {
+    public static final long[] PURR = {0, 40, 20, 40, 20, 40, 20, 40, 20, 40, 20, 40};
+
+    private Random mNotSoRandom;
+    private Bitmap mBitmap;
+    private long mSeed;
+    private String mName;
+    private int mBodyColor;
+    private int mFootType;
+    private boolean mBowTie;
+
+    private synchronized Random notSoRandom(long seed) {
+        if (mNotSoRandom == null) {
+            mNotSoRandom = new Random();
+            mNotSoRandom.setSeed(seed);
+        }
+        return mNotSoRandom;
+    }
+
+    public static final float frandrange(Random r, float a, float b) {
+        return (b-a)*r.nextFloat() + a;
+    }
+
+    public static final Object choose(Random r, Object...l) {
+        return l[r.nextInt(l.length)];
+    }
+
+    public static final int chooseP(Random r, int[] a) {
+        int pct = r.nextInt(1000);
+        final int stop = a.length-2;
+        int i=0;
+        while (i<stop) {
+            pct -= a[i];
+            if (pct < 0) break;
+            i+=2;
+        }
+        return a[i+1];
+    }
+
+    public static final int getColorIndex(int q, int[] a) {
+        for(int i = 1; i < a.length; i+=2) {
+            if (a[i] == q) {
+                return i/2;
+            }
+        }
+        return -1;
+    }
+
+    public static final int[] P_BODY_COLORS = {
+            180, 0xFF212121, // black
+            180, 0xFFFFFFFF, // white
+            140, 0xFF616161, // gray
+            140, 0xFF795548, // brown
+            100, 0xFF90A4AE, // steel
+            100, 0xFFFFF9C4, // buff
+            100, 0xFFFF8F00, // orange
+              5, 0xFF29B6F6, // blue..?
+              5, 0xFFFFCDD2, // pink!?
+              5, 0xFFCE93D8, // purple?!?!?
+              4, 0xFF43A047, // yeah, why not green
+              1, 0,          // ?!?!?!
+    };
+
+    public static final int[] P_COLLAR_COLORS = {
+            250, 0xFFFFFFFF,
+            250, 0xFF000000,
+            250, 0xFFF44336,
+             50, 0xFF1976D2,
+             50, 0xFFFDD835,
+             50, 0xFFFB8C00,
+             50, 0xFFF48FB1,
+             50, 0xFF4CAF50,
+    };
+
+    public static final int[] P_BELLY_COLORS = {
+            750, 0,
+            250, 0xFFFFFFFF,
+    };
+
+    public static final int[] P_DARK_SPOT_COLORS = {
+            700, 0,
+            250, 0xFF212121,
+             50, 0xFF6D4C41,
+    };
+
+    public static final int[] P_LIGHT_SPOT_COLORS = {
+            700, 0,
+            300, 0xFFFFFFFF,
+    };
+
+    private CatParts D;
+
+    public static void tint(int color, Drawable ... ds) {
+        for (Drawable d : ds) {
+            if (d != null) {
+                d.mutate().setTint(color);
+            }
+        }
+    }
+
+    public static boolean isDark(int color) {
+        final int r = (color & 0xFF0000) >> 16;
+        final int g = (color & 0x00FF00) >> 8;
+        final int b = color & 0x0000FF;
+        return (r + g + b) < 0x80;
+    }
+
+    public Cat(Context context, long seed) {
+        D = new CatParts(context);
+        mSeed = seed;
+
+        setName(context.getString(R.string.default_cat_name,
+                String.valueOf(mSeed).substring(0, 3)));
+
+        final Random nsr = notSoRandom(seed);
+
+        // body color
+        mBodyColor = chooseP(nsr, P_BODY_COLORS);
+        if (mBodyColor == 0) mBodyColor = Color.HSVToColor(new float[] {
+                nsr.nextFloat()*360f, frandrange(nsr,0.5f,1f), frandrange(nsr,0.5f, 1f)});
+
+        tint(mBodyColor, D.body, D.head, D.leg1, D.leg2, D.leg3, D.leg4, D.tail,
+                D.leftEar, D.rightEar, D.foot1, D.foot2, D.foot3, D.foot4, D.tailCap);
+        tint(0x20000000, D.leg2Shadow, D.tailShadow);
+        if (isDark(mBodyColor)) {
+            tint(0xFFFFFFFF, D.leftEye, D.rightEye, D.mouth, D.nose);
+        }
+        tint(isDark(mBodyColor) ? 0xFFEF9A9A : 0x20D50000, D.leftEarInside, D.rightEarInside);
+
+        tint(chooseP(nsr, P_BELLY_COLORS), D.belly);
+        tint(chooseP(nsr, P_BELLY_COLORS), D.back);
+        final int faceColor = chooseP(nsr, P_BELLY_COLORS);
+        tint(faceColor, D.faceSpot);
+        if (!isDark(faceColor)) {
+            tint(0xFF000000, D.mouth, D.nose);
+        }
+
+        mFootType = 0;
+        if (nsr.nextFloat() < 0.25f) {
+            mFootType = 4;
+            tint(0xFFFFFFFF, D.foot1, D.foot2, D.foot3, D.foot4);
+        } else {
+            if (nsr.nextFloat() < 0.25f) {
+                mFootType = 2;
+                tint(0xFFFFFFFF, D.foot1, D.foot2);
+            } else if (nsr.nextFloat() < 0.25f) {
+                mFootType = 3; // maybe -2 would be better? meh.
+                tint(0xFFFFFFFF, D.foot3, D.foot4);
+            } else if (nsr.nextFloat() < 0.1f) {
+                mFootType = 1;
+                tint(0xFFFFFFFF, (Drawable) choose(nsr, D.foot1, D.foot2, D.foot3, D.foot4));
+            }
+        }
+
+        tint(nsr.nextFloat() < 0.333f ? 0xFFFFFFFF : mBodyColor, D.tailCap);
+
+        final int capColor = chooseP(nsr, isDark(mBodyColor) ? P_LIGHT_SPOT_COLORS : P_DARK_SPOT_COLORS);
+        tint(capColor, D.cap);
+        //tint(chooseP(nsr, isDark(bodyColor) ? P_LIGHT_SPOT_COLORS : P_DARK_SPOT_COLORS), D.nose);
+
+        final int collarColor = chooseP(nsr, P_COLLAR_COLORS);
+        tint(collarColor, D.collar);
+        mBowTie = nsr.nextFloat() < 0.1f;
+        tint(mBowTie ? collarColor : 0, D.bowtie);
+    }
+
+    public static Cat create(Context context) {
+        return new Cat(context, Math.abs(ThreadLocalRandom.current().nextInt()));
+    }
+
+    public Notification.Builder buildNotification(Context context) {
+        final Bundle extras = new Bundle();
+        extras.putString("android.substName", context.getString(R.string.notification_name));
+        final Intent intent = new Intent(Intent.ACTION_MAIN)
+                .setClass(context, NekoLand.class)
+                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        return new Notification.Builder(context)
+                .setSmallIcon(Icon.createWithResource(context, R.drawable.stat_icon))
+                .setLargeIcon(createLargeIcon(context))
+                .setColor(getBodyColor())
+                .setPriority(Notification.PRIORITY_LOW)
+                .setContentTitle(context.getString(R.string.notification_title))
+                .setShowWhen(true)
+                .setCategory(Notification.CATEGORY_STATUS)
+                .setContentText(getName())
+                .setContentIntent(PendingIntent.getActivity(context, 0, intent, 0))
+                .setAutoCancel(true)
+                .setVibrate(PURR)
+                .addExtras(extras);
+    }
+
+    public long getSeed() {
+        return mSeed;
+    }
+
+    @Override
+    public void draw(Canvas canvas) {
+        final int w = Math.min(canvas.getWidth(), canvas.getHeight());
+        final int h = w;
+
+        if (mBitmap == null || mBitmap.getWidth() != w || mBitmap.getHeight() != h) {
+            mBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
+            final Canvas bitCanvas = new Canvas(mBitmap);
+            slowDraw(bitCanvas, 0, 0, w, h);
+        }
+        canvas.drawBitmap(mBitmap, 0, 0, null);
+    }
+
+    private void slowDraw(Canvas canvas, int x, int y, int w, int h) {
+        for (int i = 0; i < D.drawingOrder.length; i++) {
+            final Drawable d = D.drawingOrder[i];
+            if (d != null) {
+                d.setBounds(x, y, x+w, y+h);
+                d.draw(canvas);
+            }
+        }
+
+    }
+
+    public Bitmap createBitmap(int w, int h) {
+        if (mBitmap != null && mBitmap.getWidth() == w && mBitmap.getHeight() == h) {
+            return mBitmap.copy(mBitmap.getConfig(), true);
+        }
+        Bitmap result = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
+        slowDraw(new Canvas(result), 0, 0, w, h);
+        return result;
+    }
+
+    public Icon createLargeIcon(Context context) {
+        final Resources res = context.getResources();
+        final int w = res.getDimensionPixelSize(android.R.dimen.notification_large_icon_width);
+        final int h = res.getDimensionPixelSize(android.R.dimen.notification_large_icon_height);
+
+        Bitmap result = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
+        final Canvas canvas = new Canvas(result);
+        final Paint pt = new Paint();
+        float[] hsv = new float[3];
+        Color.colorToHSV(mBodyColor, hsv);
+        hsv[2] = (hsv[2]>0.5f)
+                ? (hsv[2] - 0.25f)
+                : (hsv[2] + 0.25f);
+        pt.setColor(Color.HSVToColor(hsv));
+        float r = w/2;
+        canvas.drawCircle(r, r, r, pt);
+        int m = w/10;
+
+        slowDraw(canvas, m, m, w-m-m, h-m-m);
+
+        return Icon.createWithBitmap(result);
+    }
+
+    @Override
+    public void setAlpha(int i) {
+
+    }
+
+    @Override
+    public void setColorFilter(ColorFilter colorFilter) {
+
+    }
+
+    @Override
+    public int getOpacity() {
+        return PixelFormat.TRANSLUCENT;
+    }
+
+    public String getName() {
+        return mName;
+    }
+
+    public void setName(String name) {
+        this.mName = name;
+    }
+
+    public int getBodyColor() {
+        return mBodyColor;
+    }
+
+    public void logAdd(Context context) {
+        logCatAction(context, "egg_neko_add");
+    }
+
+    public void logRemove(Context context) {
+        logCatAction(context, "egg_neko_remove");
+    }
+
+    public void logShare(Context context) {
+        logCatAction(context, "egg_neko_share");
+    }
+
+    private void logCatAction(Context context, String prefix) {
+        MetricsLogger.count(context, prefix, 1);
+        MetricsLogger.histogram(context, prefix +"_color",
+                getColorIndex(mBodyColor, P_BODY_COLORS));
+        MetricsLogger.histogram(context, prefix + "_bowtie", mBowTie ? 1 : 0);
+        MetricsLogger.histogram(context, prefix + "_feet", mFootType);
+    }
+
+    public static class CatParts {
+        public Drawable leftEar;
+        public Drawable rightEar;
+        public Drawable rightEarInside;
+        public Drawable leftEarInside;
+        public Drawable head;
+        public Drawable faceSpot;
+        public Drawable cap;
+        public Drawable mouth;
+        public Drawable body;
+        public Drawable foot1;
+        public Drawable leg1;
+        public Drawable foot2;
+        public Drawable leg2;
+        public Drawable foot3;
+        public Drawable leg3;
+        public Drawable foot4;
+        public Drawable leg4;
+        public Drawable tail;
+        public Drawable leg2Shadow;
+        public Drawable tailShadow;
+        public Drawable tailCap;
+        public Drawable belly;
+        public Drawable back;
+        public Drawable rightEye;
+        public Drawable leftEye;
+        public Drawable nose;
+        public Drawable bowtie;
+        public Drawable collar;
+        public Drawable[] drawingOrder;
+
+        public CatParts(Context context) {
+            body = context.getDrawable(R.drawable.body);
+            head = context.getDrawable(R.drawable.head);
+            leg1 = context.getDrawable(R.drawable.leg1);
+            leg2 = context.getDrawable(R.drawable.leg2);
+            leg3 = context.getDrawable(R.drawable.leg3);
+            leg4 = context.getDrawable(R.drawable.leg4);
+            tail = context.getDrawable(R.drawable.tail);
+            leftEar = context.getDrawable(R.drawable.left_ear);
+            rightEar = context.getDrawable(R.drawable.right_ear);
+            rightEarInside = context.getDrawable(R.drawable.right_ear_inside);
+            leftEarInside = context.getDrawable(R.drawable.left_ear_inside);
+            faceSpot = context.getDrawable(R.drawable.face_spot);
+            cap = context.getDrawable(R.drawable.cap);
+            mouth = context.getDrawable(R.drawable.mouth);
+            foot4 = context.getDrawable(R.drawable.foot4);
+            foot3 = context.getDrawable(R.drawable.foot3);
+            foot1 = context.getDrawable(R.drawable.foot1);
+            foot2 = context.getDrawable(R.drawable.foot2);
+            leg2Shadow = context.getDrawable(R.drawable.leg2_shadow);
+            tailShadow = context.getDrawable(R.drawable.tail_shadow);
+            tailCap = context.getDrawable(R.drawable.tail_cap);
+            belly = context.getDrawable(R.drawable.belly);
+            back = context.getDrawable(R.drawable.back);
+            rightEye = context.getDrawable(R.drawable.right_eye);
+            leftEye = context.getDrawable(R.drawable.left_eye);
+            nose = context.getDrawable(R.drawable.nose);
+            collar = context.getDrawable(R.drawable.collar);
+            bowtie = context.getDrawable(R.drawable.bowtie);
+            drawingOrder = getDrawingOrder();
+        }
+        private Drawable[] getDrawingOrder() {
+            return new Drawable[] {
+                    collar,
+                    leftEar, leftEarInside, rightEar, rightEarInside,
+                    head,
+                    faceSpot,
+                    cap,
+                    leftEye, rightEye,
+                    nose, mouth,
+                    tail, tailCap, tailShadow,
+                    foot1, leg1,
+                    foot2, leg2,
+                    foot3, leg3,
+                    foot4, leg4,
+                    leg2Shadow,
+                    body, belly,
+                    bowtie
+            };
+        }
+    }
+}
diff --git a/packages/EasterEgg/src/com/android/egg/neko/Food.java b/packages/EasterEgg/src/com/android/egg/neko/Food.java
new file mode 100644
index 0000000..5c0f12e
--- /dev/null
+++ b/packages/EasterEgg/src/com/android/egg/neko/Food.java
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+
+package com.android.egg.neko;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.Icon;
+
+import com.android.egg.R;
+
+public class Food {
+    private final int mType;
+
+    private static int[] sIcons;
+    private static String[] sNames;
+
+    public Food(int type) {
+        mType = type;
+    }
+
+    public Icon getIcon(Context context) {
+        if (sIcons == null) {
+            TypedArray icons = context.getResources().obtainTypedArray(R.array.food_icons);
+            sIcons = new int[icons.length()];
+            for (int i = 0; i < sIcons.length; i++) {
+                sIcons[i] = icons.getResourceId(i, 0);
+            }
+            icons.recycle();
+        }
+        return Icon.createWithResource(context, sIcons[mType]);
+    }
+
+    public String getName(Context context) {
+        if (sNames == null) {
+            sNames = context.getResources().getStringArray(R.array.food_names);
+        }
+        return sNames[mType];
+    }
+
+    public long getInterval(Context context) {
+        return context.getResources().getIntArray(R.array.food_intervals)[mType];
+    }
+
+    public int getType() {
+        return mType;
+    }
+}
diff --git a/packages/EasterEgg/src/com/android/egg/neko/NekoActivationActivity.java b/packages/EasterEgg/src/com/android/egg/neko/NekoActivationActivity.java
new file mode 100644
index 0000000..c0b725c
--- /dev/null
+++ b/packages/EasterEgg/src/com/android/egg/neko/NekoActivationActivity.java
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+package com.android.egg.neko;
+
+import android.app.Activity;
+import android.content.ComponentName;
+import android.content.pm.PackageManager;
+import android.util.Log;
+import android.widget.Toast;
+
+import com.android.internal.logging.MetricsLogger;
+
+public class NekoActivationActivity extends Activity {
+    private void toastUp(String s) {
+        Toast toast = Toast.makeText(this, s, Toast.LENGTH_SHORT);
+        toast.getView().setBackgroundDrawable(null);
+        toast.show();
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+
+        final PackageManager pm = getPackageManager();
+        final ComponentName cn = new ComponentName(this, NekoTile.class);
+        if (pm.getComponentEnabledSetting(cn) == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) {
+            if (NekoLand.DEBUG) {
+                Log.v("Neko", "Disabling tile.");
+            }
+            pm.setComponentEnabledSetting(cn, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
+                    PackageManager.DONT_KILL_APP);
+            MetricsLogger.histogram(this, "egg_neko_enable", 0);
+            toastUp("\uD83D\uDEAB");
+        } else {
+            if (NekoLand.DEBUG) {
+                Log.v("Neko", "Enabling tile.");
+            }
+            pm.setComponentEnabledSetting(cn, PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
+                    PackageManager.DONT_KILL_APP);
+            MetricsLogger.histogram(this, "egg_neko_enable", 1);
+            toastUp("\uD83D\uDC31");
+        }
+        finish();
+    }
+}
diff --git a/packages/EasterEgg/src/com/android/egg/neko/NekoDialog.java b/packages/EasterEgg/src/com/android/egg/neko/NekoDialog.java
new file mode 100644
index 0000000..2d2fbe8
--- /dev/null
+++ b/packages/EasterEgg/src/com/android/egg/neko/NekoDialog.java
@@ -0,0 +1,107 @@
+/*
+ * 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.
+ */
+
+package com.android.egg.neko;
+
+import android.support.annotation.NonNull;
+import android.app.Dialog;
+import android.content.Context;
+import android.support.v7.widget.GridLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.android.egg.R;
+import com.android.internal.logging.MetricsLogger;
+
+import java.util.ArrayList;
+
+public class NekoDialog extends Dialog {
+
+    private final Adapter mAdapter;
+
+    public NekoDialog(@NonNull Context context) {
+        super(context, android.R.style.Theme_Material_Dialog_NoActionBar);
+        RecyclerView view = new RecyclerView(getContext());
+        mAdapter = new Adapter(getContext());
+        view.setLayoutManager(new GridLayoutManager(getContext(), 2));
+        view.setAdapter(mAdapter);
+        final float dp = context.getResources().getDisplayMetrics().density;
+        final int pad = (int)(16*dp);
+        view.setPadding(pad, pad, pad, pad);
+        setContentView(view);
+    }
+
+    private void onFoodSelected(Food food) {
+        PrefState prefs = new PrefState(getContext());
+        int currentState = prefs.getFoodState();
+        if (currentState == 0 && food.getType() != 0) {
+            NekoService.registerJob(getContext(), food.getInterval(getContext()));
+        }
+        MetricsLogger.histogram(getContext(), "egg_neko_offered_food", food.getType());
+        prefs.setFoodState(food.getType());
+        dismiss();
+    }
+
+    private class Adapter extends RecyclerView.Adapter<Holder> {
+
+        private final Context mContext;
+        private final ArrayList<Food> mFoods = new ArrayList<>();
+
+        public Adapter(Context context) {
+            mContext = context;
+            int[] foods = context.getResources().getIntArray(R.array.food_names);
+            // skip food 0, you can't choose it
+            for (int i=1; i<foods.length; i++) {
+                mFoods.add(new Food(i));
+            }
+        }
+
+        @Override
+        public Holder onCreateViewHolder(ViewGroup parent, int viewType) {
+            return new Holder(LayoutInflater.from(parent.getContext())
+                    .inflate(R.layout.food_layout, parent, false));
+        }
+
+        @Override
+        public void onBindViewHolder(final Holder holder, int position) {
+            final Food food = mFoods.get(position);
+            ((ImageView) holder.itemView.findViewById(R.id.icon))
+                    .setImageIcon(food.getIcon(mContext));
+            ((TextView) holder.itemView.findViewById(R.id.text))
+                    .setText(food.getName(mContext));
+            holder.itemView.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    onFoodSelected(mFoods.get(holder.getAdapterPosition()));
+                }
+            });
+        }
+
+        @Override
+        public int getItemCount() {
+            return mFoods.size();
+        }
+    }
+
+    public static class Holder extends RecyclerView.ViewHolder {
+
+        public Holder(View itemView) {
+            super(itemView);
+        }
+    }
+}
diff --git a/packages/EasterEgg/src/com/android/egg/neko/NekoLand.java b/packages/EasterEgg/src/com/android/egg/neko/NekoLand.java
new file mode 100644
index 0000000..feada7f
--- /dev/null
+++ b/packages/EasterEgg/src/com/android/egg/neko/NekoLand.java
@@ -0,0 +1,286 @@
+/*
+ * 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.
+ */
+
+package com.android.egg.neko;
+
+import android.Manifest;
+import android.app.ActionBar;
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.DialogInterface.OnClickListener;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.graphics.Bitmap;
+import android.graphics.drawable.Drawable;
+import android.media.MediaScannerConnection;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Environment;
+import android.provider.MediaStore.Images;
+import android.support.v7.widget.GridLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.util.Log;
+import android.view.ContextThemeWrapper;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.View.OnLongClickListener;
+import android.view.ViewGroup;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.android.egg.R;
+import com.android.egg.neko.PrefState.PrefsListener;
+import com.android.internal.logging.MetricsLogger;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+public class NekoLand extends Activity implements PrefsListener {
+    public static boolean DEBUG = false;
+    public static boolean DEBUG_NOTIFICATIONS = false;
+
+    private static final int STORAGE_PERM_REQUEST = 123;
+
+    private static boolean CAT_GEN = false;
+    private PrefState mPrefs;
+    private CatAdapter mAdapter;
+    private Cat mPendingShareCat;
+
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.neko_activity);
+        final ActionBar actionBar = getActionBar();
+        if (actionBar != null) {
+            actionBar.setLogo(Cat.create(this));
+            actionBar.setDisplayUseLogoEnabled(false);
+            actionBar.setDisplayShowHomeEnabled(true);
+        }
+
+        mPrefs = new PrefState(this);
+        mPrefs.setListener(this);
+        final RecyclerView recyclerView = (RecyclerView) findViewById(R.id.holder);
+        mAdapter = new CatAdapter();
+        recyclerView.setAdapter(mAdapter);
+        recyclerView.setLayoutManager(new GridLayoutManager(this, 3));
+        int numCats = updateCats();
+        MetricsLogger.histogram(this, "egg_neko_visit_gallery", numCats);
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        mPrefs.setListener(null);
+    }
+
+    private int updateCats() {
+        Cat[] cats;
+        if (CAT_GEN) {
+            cats = new Cat[50];
+            for (int i = 0; i < cats.length; i++) {
+                cats[i] = Cat.create(this);
+            }
+        } else {
+            cats = mPrefs.getCats().toArray(new Cat[0]);
+        }
+        mAdapter.setCats(cats);
+        return cats.length;
+    }
+
+    private void onCatClick(Cat cat) {
+        if (CAT_GEN) {
+            mPrefs.addCat(cat);
+            new AlertDialog.Builder(NekoLand.this)
+                    .setTitle("Cat added")
+                    .setPositiveButton(android.R.string.ok, null)
+                    .show();
+        } else {
+            showNameDialog(cat);
+        }
+//      noman.notify(1, cat.buildNotification(NekoLand.this).build());
+    }
+
+    private void onCatRemove(Cat cat) {
+        cat.logRemove(this);
+        mPrefs.removeCat(cat);
+    }
+
+    private void showNameDialog(final Cat cat) {
+        final Context context = new ContextThemeWrapper(this,
+                android.R.style.Theme_Material_Light_Dialog_NoActionBar);
+        // TODO: Move to XML, add correct margins.
+        View view = LayoutInflater.from(context).inflate(R.layout.edit_text, null);
+        final EditText text = (EditText) view.findViewById(android.R.id.edit);
+        text.setText(cat.getName());
+        text.setSelection(cat.getName().length());
+        Drawable catIcon = cat.createLargeIcon(this).loadDrawable(this);
+        new AlertDialog.Builder(context)
+                .setTitle(" ")
+                .setIcon(catIcon)
+                .setView(view)
+                .setPositiveButton(android.R.string.ok, new OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialog, int which) {
+                        MetricsLogger.count(context, "egg_neko_rename_cat", 1);
+                        cat.setName(text.getText().toString().trim());
+                        mPrefs.addCat(cat);
+                    }
+                }).show();
+    }
+
+    @Override
+    public void onPrefsChanged() {
+        updateCats();
+    }
+
+    private class CatAdapter extends RecyclerView.Adapter<CatHolder> {
+
+        private Cat[] mCats;
+
+        public void setCats(Cat[] cats) {
+            mCats = cats;
+            notifyDataSetChanged();
+        }
+
+        @Override
+        public CatHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+            return new CatHolder(LayoutInflater.from(parent.getContext())
+                    .inflate(R.layout.cat_view, parent, false));
+        }
+
+        @Override
+        public void onBindViewHolder(final CatHolder holder, int position) {
+            Context context = holder.itemView.getContext();
+            holder.imageView.setImageIcon(mCats[position].createLargeIcon(context));
+            holder.textView.setText(mCats[position].getName());
+            holder.itemView.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    onCatClick(mCats[holder.getAdapterPosition()]);
+                }
+            });
+            holder.itemView.setOnLongClickListener(new OnLongClickListener() {
+                @Override
+                public boolean onLongClick(View v) {
+                    holder.contextGroup.removeCallbacks((Runnable) holder.contextGroup.getTag());
+                    holder.contextGroup.setVisibility(View.VISIBLE);
+                    Runnable hideAction = new Runnable() {
+                        @Override
+                        public void run() {
+                            holder.contextGroup.setVisibility(View.INVISIBLE);
+                        }
+                    };
+                    holder.contextGroup.setTag(hideAction);
+                    holder.contextGroup.postDelayed(hideAction, 5000);
+                    return true;
+                }
+            });
+            holder.delete.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    holder.contextGroup.setVisibility(View.INVISIBLE);
+                    holder.contextGroup.removeCallbacks((Runnable) holder.contextGroup.getTag());
+                    onCatRemove(mCats[holder.getAdapterPosition()]);
+                }
+            });
+            holder.share.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    Cat cat = mCats[holder.getAdapterPosition()];
+                    if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
+                            != PackageManager.PERMISSION_GRANTED) {
+                        mPendingShareCat = cat; 
+                        requestPermissions(
+                                new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
+                                STORAGE_PERM_REQUEST);
+                        return;
+                    }
+                    shareCat(cat);
+                }
+            });
+        }
+
+        @Override
+        public int getItemCount() {
+            return mCats.length;
+        }
+    }
+
+    private void shareCat(Cat cat) {
+        final File dir = new File(
+                Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
+                getString(R.string.directory_name));
+        if (!dir.exists() && !dir.mkdirs()) {
+            Log.e("NekoLand", "save: error: can't create Pictures directory");
+            return;
+        }
+        final File png = new File(dir, cat.getName().replaceAll("[/ #:]+", "_") + ".png");
+        Bitmap bitmap = cat.createBitmap(512, 512);
+        if (bitmap != null) {
+            try {
+                OutputStream os = new FileOutputStream(png);
+                bitmap.compress(Bitmap.CompressFormat.PNG, 0, os);
+                os.close();
+                MediaScannerConnection.scanFile(
+                        this,
+                        new String[] {png.toString()},
+                        new String[] {"image/png"},
+                        null);
+                Uri uri = Uri.fromFile(png);
+                Intent intent = new Intent(Intent.ACTION_SEND);
+                intent.putExtra(Intent.EXTRA_STREAM, uri);
+                intent.putExtra(Intent.EXTRA_SUBJECT, cat.getName());
+                intent.setType("image/png");
+                startActivity(Intent.createChooser(intent, null));
+                cat.logShare(this);
+            } catch (IOException e) {
+                Log.e("NekoLand", "save: error: " + e);
+            }
+        }
+    }
+
+    @Override
+    public void onRequestPermissionsResult(int requestCode,
+                                           String permissions[], int[] grantResults) {
+        if (requestCode == STORAGE_PERM_REQUEST) {
+            if (mPendingShareCat != null) {
+                shareCat(mPendingShareCat);
+                mPendingShareCat = null;
+            }
+        }
+    }
+
+    private static class CatHolder extends RecyclerView.ViewHolder {
+        private final ImageView imageView;
+        private final TextView textView;
+        private final View contextGroup;
+        private final View delete;
+        private final View share;
+
+        public CatHolder(View itemView) {
+            super(itemView);
+            imageView = (ImageView) itemView.findViewById(android.R.id.icon);
+            textView = (TextView) itemView.findViewById(android.R.id.title);
+            contextGroup = itemView.findViewById(R.id.contextGroup);
+            delete = itemView.findViewById(android.R.id.closeButton);
+            share = itemView.findViewById(android.R.id.shareText);
+        }
+    }
+}
diff --git a/packages/EasterEgg/src/com/android/egg/neko/NekoLockedActivity.java b/packages/EasterEgg/src/com/android/egg/neko/NekoLockedActivity.java
new file mode 100644
index 0000000..5f01da8
--- /dev/null
+++ b/packages/EasterEgg/src/com/android/egg/neko/NekoLockedActivity.java
@@ -0,0 +1,45 @@
+/*
+ * 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.
+ */
+
+package com.android.egg.neko;
+
+import android.support.annotation.Nullable;
+import android.app.Activity;
+import android.content.DialogInterface;
+import android.content.DialogInterface.OnDismissListener;
+import android.os.Bundle;
+import android.view.WindowManager;
+
+public class NekoLockedActivity extends Activity implements OnDismissListener {
+
+    private NekoDialog mDialog;
+
+    @Override
+    public void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
+        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
+        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
+        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
+
+        mDialog = new NekoDialog(this);
+        mDialog.setOnDismissListener(this);
+        mDialog.show();
+    }
+
+    @Override
+    public void onDismiss(DialogInterface dialog) {
+        finish();
+    }
+}
diff --git a/packages/EasterEgg/src/com/android/egg/neko/NekoService.java b/packages/EasterEgg/src/com/android/egg/neko/NekoService.java
new file mode 100644
index 0000000..32e3358
--- /dev/null
+++ b/packages/EasterEgg/src/com/android/egg/neko/NekoService.java
@@ -0,0 +1,137 @@
+/*
+ * 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.
+ */
+
+package com.android.egg.neko;
+
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.app.job.JobInfo;
+import android.app.job.JobParameters;
+import android.app.job.JobScheduler;
+import android.app.job.JobService;
+import android.content.BroadcastReceiver;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+
+import java.util.List;
+import android.util.Log;
+
+import com.android.egg.R;
+
+import java.util.Random;
+
+public class NekoService extends JobService {
+
+    private static final String TAG = "NekoService";
+
+    public static int JOB_ID = 42;
+
+    public static int CAT_NOTIFICATION = 1;
+
+    public static float CAT_CAPTURE_PROB = 1.0f; // generous
+
+    public static long SECONDS = 1000;
+    public static long MINUTES = 60 * SECONDS;
+
+    public static long INTERVAL_FLEX = 5 * MINUTES;
+
+    public static float INTERVAL_JITTER_FRAC = 0.25f;
+
+    @Override
+    public boolean onStartJob(JobParameters params) {
+        Log.v(TAG, "Starting job: " + String.valueOf(params));
+
+        NotificationManager noman = getSystemService(NotificationManager.class);
+        if (NekoLand.DEBUG_NOTIFICATIONS) {
+            final Bundle extras = new Bundle();
+            extras.putString("android.substName", getString(R.string.notification_name));
+            final int size = getResources()
+                    .getDimensionPixelSize(android.R.dimen.notification_large_icon_width);
+            final Cat cat = Cat.create(this);
+            final Notification.Builder builder
+                    = cat.buildNotification(this)
+                        .setContentTitle("DEBUG")
+                        .setContentText("Ran job: " + params);
+            noman.notify(1, builder.build());
+        }
+
+        final PrefState prefs = new PrefState(this);
+        int food = prefs.getFoodState();
+        if (food != 0) {
+            prefs.setFoodState(0); // nom
+            final Random rng = new Random();
+            if (rng.nextFloat() <= CAT_CAPTURE_PROB) {
+                Cat cat;
+                List<Cat> cats = prefs.getCats();
+                final int[] probs = getResources().getIntArray(R.array.food_new_cat_prob);
+                final float new_cat_prob = (float)((food < probs.length) ? probs[food] : 50) / 100f;
+
+                if (cats.size() == 0 || rng.nextFloat() <= new_cat_prob) {
+                    cat = Cat.create(this);
+                    prefs.addCat(cat);
+                    cat.logAdd(this);
+                    Log.v(TAG, "A new cat is here: " + cat.getName());
+                } else {
+                    cat = cats.get(rng.nextInt(cats.size()));
+                    Log.v(TAG, "A cat has returned: " + cat.getName());
+                }
+
+                final Notification.Builder builder = cat.buildNotification(this);
+                noman.notify(CAT_NOTIFICATION, builder.build());
+            }
+        }
+        cancelJob(this);
+        return false;
+    }
+
+    @Override
+    public boolean onStopJob(JobParameters jobParameters) {
+        return false;
+    }
+
+    public static void registerJob(Context context, long intervalMinutes) {
+        JobScheduler jss = context.getSystemService(JobScheduler.class);
+        jss.cancel(JOB_ID);
+        long interval = intervalMinutes * MINUTES;
+        long jitter = (long)(INTERVAL_JITTER_FRAC * interval);
+        interval += (long)(Math.random() * (2 * jitter)) - jitter;
+        final JobInfo jobInfo = new JobInfo.Builder(JOB_ID,
+                new ComponentName(context, NekoService.class))
+                .setPeriodic(interval, INTERVAL_FLEX)
+                .build();
+
+        Log.v(TAG, "A cat will visit in " + interval + "ms: " + String.valueOf(jobInfo));
+        jss.schedule(jobInfo);
+
+        if (NekoLand.DEBUG_NOTIFICATIONS) {
+            NotificationManager noman = context.getSystemService(NotificationManager.class);
+            noman.notify(500, new Notification.Builder(context)
+                    .setSmallIcon(R.drawable.stat_icon)
+                    .setContentTitle(String.format("Job scheduled in %d min", (interval / MINUTES)))
+                    .setContentText(String.valueOf(jobInfo))
+                    .setPriority(Notification.PRIORITY_MIN)
+                    .setCategory(Notification.CATEGORY_SERVICE)
+                    .setShowWhen(true)
+                    .build());
+        }
+    }
+
+    public static void cancelJob(Context context) {
+        JobScheduler jss = context.getSystemService(JobScheduler.class);
+        Log.v(TAG, "Canceling job");
+        jss.cancel(JOB_ID);
+    }
+}
diff --git a/packages/EasterEgg/src/com/android/egg/neko/NekoTile.java b/packages/EasterEgg/src/com/android/egg/neko/NekoTile.java
new file mode 100644
index 0000000..8a3ec8f
--- /dev/null
+++ b/packages/EasterEgg/src/com/android/egg/neko/NekoTile.java
@@ -0,0 +1,111 @@
+/*
+ * 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.
+ */
+
+package com.android.egg.neko;
+
+import android.content.Intent;
+import android.service.quicksettings.Tile;
+import android.service.quicksettings.TileService;
+import android.util.Log;
+
+import com.android.egg.neko.PrefState.PrefsListener;
+import com.android.internal.logging.MetricsLogger;
+
+public class NekoTile extends TileService implements PrefsListener {
+
+    private static final String TAG = "NekoTile";
+
+    private PrefState mPrefs;
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+        mPrefs = new PrefState(this);
+    }
+
+    @Override
+    public void onStartListening() {
+        super.onStartListening();
+        mPrefs.setListener(this);
+        updateState();
+    }
+
+    @Override
+    public void onStopListening() {
+        super.onStopListening();
+        mPrefs.setListener(null);
+    }
+
+    @Override
+    public void onTileAdded() {
+        super.onTileAdded();
+        MetricsLogger.count(this, "egg_neko_tile_added", 1);
+    }
+
+    @Override
+    public void onTileRemoved() {
+        super.onTileRemoved();
+        MetricsLogger.count(this, "egg_neko_tile_removed", 1);
+    }
+
+    @Override
+    public void onPrefsChanged() {
+        updateState();
+    }
+
+    private void updateState() {
+        Tile tile = getQsTile();
+        int foodState = mPrefs.getFoodState();
+        Food food = new Food(foodState);
+        tile.setIcon(food.getIcon(this));
+        tile.setLabel(food.getName(this));
+        tile.setState(foodState != 0 ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE);
+        tile.updateTile();
+    }
+
+    @Override
+    public void onClick() {
+        if (mPrefs.getFoodState() != 0) {
+            // there's already food loaded, let's empty it
+            MetricsLogger.count(this, "egg_neko_empty_food", 1);
+            mPrefs.setFoodState(0);
+            NekoService.cancelJob(this);
+        } else {
+            // time to feed the cats
+            if (isLocked()) {
+                if (isSecure()) {
+                    Log.d(TAG, "startActivityAndCollapse");
+                    Intent intent = new Intent(this, NekoLockedActivity.class);
+                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+                    startActivityAndCollapse(intent);
+                } else {
+                    unlockAndRun(new Runnable() {
+                        @Override
+                        public void run() {
+                            showNekoDialog();
+                        }
+                    });
+                }
+            } else {
+                showNekoDialog();
+            }
+        }
+    }
+
+    private void showNekoDialog() {
+        Log.d(TAG, "showNekoDialog");
+        MetricsLogger.count(this, "egg_neko_select_food", 1);
+        showDialog(new NekoDialog(this));
+    }
+}
diff --git a/packages/EasterEgg/src/com/android/egg/neko/PrefState.java b/packages/EasterEgg/src/com/android/egg/neko/PrefState.java
new file mode 100644
index 0000000..5f54180
--- /dev/null
+++ b/packages/EasterEgg/src/com/android/egg/neko/PrefState.java
@@ -0,0 +1,94 @@
+/*
+ * 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.
+ */
+
+package com.android.egg.neko;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+public class PrefState implements OnSharedPreferenceChangeListener {
+
+    private static final String FILE_NAME = "mPrefs";
+
+    private static final String FOOD_STATE = "food";
+
+    private static final String CAT_KEY_PREFIX = "cat:";
+
+    private final Context mContext;
+    private final SharedPreferences mPrefs;
+    private PrefsListener mListener;
+
+    public PrefState(Context context) {
+        mContext = context;
+        mPrefs = mContext.getSharedPreferences(FILE_NAME, 0);
+    }
+
+    // Can also be used for renaming.
+    public void addCat(Cat cat) {
+        mPrefs.edit()
+              .putString(CAT_KEY_PREFIX + String.valueOf(cat.getSeed()), cat.getName())
+              .commit();
+    }
+
+    public void removeCat(Cat cat) {
+        mPrefs.edit()
+                .remove(CAT_KEY_PREFIX + String.valueOf(cat.getSeed()))
+                .commit();
+    }
+
+    public List<Cat> getCats() {
+        ArrayList<Cat> cats = new ArrayList<>();
+        Map<String, ?> map = mPrefs.getAll();
+        for (String key : map.keySet()) {
+            if (key.startsWith(CAT_KEY_PREFIX)) {
+                long seed = Long.parseLong(key.substring(CAT_KEY_PREFIX.length()));
+                Cat cat = new Cat(mContext, seed);
+                cat.setName(String.valueOf(map.get(key)));
+                cats.add(cat);
+            }
+        }
+        return cats;
+    }
+
+    public int getFoodState() {
+        return mPrefs.getInt(FOOD_STATE, 0);
+    }
+
+    public void setFoodState(int foodState) {
+        mPrefs.edit().putInt(FOOD_STATE, foodState).commit();
+    }
+
+    public void setListener(PrefsListener listener) {
+        mListener = listener;
+        if (mListener != null) {
+            mPrefs.registerOnSharedPreferenceChangeListener(this);
+        } else {
+            mPrefs.unregisterOnSharedPreferenceChangeListener(this);
+        }
+    }
+
+    @Override
+    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+        mListener.onPrefsChanged();
+    }
+
+    public interface PrefsListener {
+        void onPrefsChanged();
+    }
+}
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
index a8419bf..94d9550 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -1040,10 +1040,9 @@
                         public void onForegroundProfileSwitch(int newProfileId) {
                             // Ignore.
                         }
-                    });
+                    }, TAG);
         } catch (RemoteException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
+            e.rethrowAsRuntimeException();
         }
 
         IntentFilter strongAuthTimeoutFilter = new IntentFilter();
diff --git a/packages/MtpDocumentsProvider/res/values-af/strings.xml b/packages/MtpDocumentsProvider/res/values-af/strings.xml
new file mode 100644
index 0000000..c2c8761
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-af/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP-gasheer"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Aflaaie"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Toegang tot lêers word tans van <xliff:g id="DEVICE_MODEL">%1$s</xliff:g> af verkry"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Die ander toestel is besig. Jy kan nie lêers oordra voordat dit beskikbaar is nie."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Geen lêers is gevind nie. Die ander toestel is dalk gesluit. Indien wel, ontsluit dit en probeer weer."</string>
+</resources>
diff --git a/packages/MtpDocumentsProvider/res/values-sv/strings.xml b/packages/MtpDocumentsProvider/res/values-sv/strings.xml
new file mode 100644
index 0000000..26818eb
--- /dev/null
+++ b/packages/MtpDocumentsProvider/res/values-sv/strings.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="6271216747302322594">"MTP-värd"</string>
+    <string name="downloads_app_label" msgid="7120690641874849726">"Nedladdningar"</string>
+    <string name="root_name" msgid="5819495383921089536">"<xliff:g id="DEVICE_MODEL">%1$s</xliff:g> <xliff:g id="STORAGE_NAME">%2$s</xliff:g>"</string>
+    <string name="accessing_notification_title" msgid="3030133609230917944">"Åtkomst till filer från <xliff:g id="DEVICE_MODEL">%1$s</xliff:g>"</string>
+    <string name="error_busy_device" msgid="3997316850357386589">"Den andra enheten är upptagen. Du kan inte överföra filer förrän den är tillgänglig."</string>
+    <string name="error_locked_device" msgid="7557872102188356147">"Inga filer hittades. Den andra enheten kan vara låst. Om den är det låser du upp den och försöker igen."</string>
+</resources>
diff --git a/packages/PrintRecommendationService/AndroidManifest.xml b/packages/PrintRecommendationService/AndroidManifest.xml
index 0eb218c..c6736d7 100644
--- a/packages/PrintRecommendationService/AndroidManifest.xml
+++ b/packages/PrintRecommendationService/AndroidManifest.xml
@@ -17,7 +17,12 @@
  */
 -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.android.printservice.recommendation">
+    package="com.android.printservice.recommendation"
+    android:versionCode="1"
+    android:versionName="1.0.0">
+
+    <uses-sdk android:minSdkVersion="24"
+        android:targetSdkVersion="24" />
 
     <uses-permission android:name="android.permission.INTERNET" />
 
diff --git a/packages/PrintRecommendationService/res/values/strings.xml b/packages/PrintRecommendationService/res/values/strings.xml
index 348fcac..b6c45b7 100644
--- a/packages/PrintRecommendationService/res/values/strings.xml
+++ b/packages/PrintRecommendationService/res/values/strings.xml
@@ -26,6 +26,6 @@
     <string name="plugin_vendor_samsung">Samsung</string>
     <string name="plugin_vendor_epson">Epson</string>
     <string name="plugin_vendor_konica_minolta">Konica Minolta</string>
-    <string name="plugin_vendor_fuji">Fuji</string>
+    <string name="plugin_vendor_fuji_xerox">Fuji Xerox</string>
     <string name="plugin_vendor_morpia">Mopria</string>
 </resources>
diff --git a/packages/PrintRecommendationService/res/xml/vendorconfigs.xml b/packages/PrintRecommendationService/res/xml/vendorconfigs.xml
index 52889ce..703cf6f 100644
--- a/packages/PrintRecommendationService/res/xml/vendorconfigs.xml
+++ b/packages/PrintRecommendationService/res/xml/vendorconfigs.xml
@@ -60,7 +60,7 @@
     </vendor>
 
     <vendor>
-        <name>@string/plugin_vendor_fuji</name>
+        <name>@string/plugin_vendor_fuji_xerox</name>
         <package>jp.co.fujixerox.prt.PrintUtil.PCL</package>
         <mdns-names>
             <mdns-name>FUJI XEROX</mdns-name>
diff --git a/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/xerox/MDnsUtils.java b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/xerox/MDnsUtils.java
index 7a2d0d8..b0da08b 100755
--- a/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/xerox/MDnsUtils.java
+++ b/packages/PrintRecommendationService/src/com/android/printservice/recommendation/plugin/xerox/MDnsUtils.java
@@ -39,8 +39,10 @@
         String usbMfg = getString(attributes.get(ATTRIBUTE__USB_MFG));
         String usbMdl = getString(attributes.get(ATTRIBUTE__USB_MDL));
         String mfg = getString(attributes.get(ATTRIBUTE__MFG));
-        return containsVendor(product, vendorValues) || containsVendor(ty, vendorValues) || containsVendor(usbMfg, vendorValues) || containsVendor(mfg, vendorValues) && !(containsString(ty, EXCLUDE_FUJI) || containsString(product, EXCLUDE_FUJI) || containsString(usbMdl, EXCLUDE_FUJI));
-
+        return (containsVendor(product, vendorValues) || containsVendor(ty, vendorValues) ||
+                containsVendor(usbMfg, vendorValues) || containsVendor(mfg, vendorValues)) &&
+                !(containsString(ty, EXCLUDE_FUJI) || containsString(product, EXCLUDE_FUJI) ||
+                        containsString(usbMdl, EXCLUDE_FUJI));
     }
 
     public static String getVendor(NsdServiceInfo networkDevice) {
diff --git a/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java b/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java
index 999d82d..6140428 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java
@@ -838,9 +838,15 @@
 
                     try (ParcelFileDescriptor source = pipe[0]) {
                         try (ParcelFileDescriptor destination = pipe[1]) {
-
-                            mRenderer.renderPage(mPageIndex, bitmap.getWidth(), bitmap.getHeight(),
-                                    mRenderSpec.printAttributes, destination);
+                            synchronized (mLock) {
+                                if (mRenderer != null) {
+                                    mRenderer.renderPage(mPageIndex, bitmap.getWidth(),
+                                            bitmap.getHeight(), mRenderSpec.printAttributes,
+                                            destination);
+                                } else {
+                                    throw new IllegalStateException("Renderer is disconnected");
+                                }
+                            }
                         }
 
                         BitmapSerializeUtils.readBitmapPixels(bitmap, source);
diff --git a/packages/PrintSpooler/src/com/android/printspooler/ui/AddPrinterActivity.java b/packages/PrintSpooler/src/com/android/printspooler/ui/AddPrinterActivity.java
index 42ef10e..2f58de5 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/ui/AddPrinterActivity.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/ui/AddPrinterActivity.java
@@ -26,6 +26,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.Loader;
+import android.content.pm.ResolveInfo;
 import android.database.DataSetObserver;
 import android.net.Uri;
 import android.os.Bundle;
@@ -450,20 +451,42 @@
     private class EnabledServicesAdapter extends PrintServiceInfoAdapter {
         @Override
         public void performAction(@IntRange(from = 0) int position) {
-            PrintServiceInfo service = (PrintServiceInfo) getItem(position);
+            Intent intent = getAddPrinterIntent((PrintServiceInfo) getItem(position));
+            if (intent != null) {
+                try {
+                    startActivity(intent);
+                } catch (ActivityNotFoundException|SecurityException e) {
+                    Log.e(LOG_TAG, "Cannot start add printers activity", e);
+                }
+            }
+        }
+
+        /**
+         * Get the intent used to launch the add printers activity.
+         *
+         * @param service The service the printer should be added for
+         *
+         * @return The intent to launch the activity or null if the activity could not be launched.
+         */
+        private Intent getAddPrinterIntent(@NonNull PrintServiceInfo service) {
             String addPrinterActivityName = service.getAddPrintersActivityName();
 
             if (!TextUtils.isEmpty(addPrinterActivityName)) {
                 Intent intent = new Intent(Intent.ACTION_MAIN);
                 intent.setComponent(new ComponentName(service.getComponentName().getPackageName(),
-                        addPrinterActivityName));
+                                addPrinterActivityName));
 
-                try {
-                    startActivity(intent);
-                } catch (ActivityNotFoundException e) {
-                    Log.e(LOG_TAG, "Cannot start add printers activity", e);
+                List<ResolveInfo> resolvedActivities = getPackageManager().queryIntentActivities(
+                        intent, 0);
+                if (!resolvedActivities.isEmpty()) {
+                    // The activity is a component name, therefore it is one or none.
+                    if (resolvedActivities.get(0).activityInfo.exported) {
+                        return intent;
+                    }
                 }
             }
+
+            return null;
         }
 
         @Override
@@ -494,7 +517,7 @@
             title.setText(service.getResolveInfo().loadLabel(getPackageManager()));
             icon.setImageDrawable(service.getResolveInfo().loadIcon(getPackageManager()));
 
-            if (TextUtils.isEmpty(service.getAddPrintersActivityName())) {
+            if (getAddPrinterIntent(service) == null) {
                 subtitle.setText(getString(R.string.cannot_add_printer));
             } else {
                 subtitle.setText(getString(R.string.select_to_add_printers));
diff --git a/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java b/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java
index be3df54..2c4025d 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java
@@ -614,6 +614,9 @@
     @Override
     public void onConfigurationChanged(Configuration newConfig) {
         super.onConfigurationChanged(newConfig);
+
+        mMediaSizeComparator.onConfigurationChanged(newConfig);
+
         if (mPrintPreviewController != null) {
             mPrintPreviewController.onOrientationChanged();
         }
@@ -2057,6 +2060,7 @@
 
         if (mPrinterRegistry != null) {
             mPrinterRegistry.setTrackedPrinter(null);
+            mPrinterRegistry.setOnPrintersChangeListener(null);
         }
 
         if (mPrintersObserver != null) {
diff --git a/packages/PrintSpooler/src/com/android/printspooler/ui/PrinterRegistry.java b/packages/PrintSpooler/src/com/android/printspooler/ui/PrinterRegistry.java
index 86366dd..9fca959 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/ui/PrinterRegistry.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/ui/PrinterRegistry.java
@@ -120,13 +120,11 @@
         @Override
         public void onLoaderReset(Loader<List<PrinterInfo>> loader) {
             mPrinters.clear();
-            if (mOnPrintersChangeListener != null) {
-                // Post a message as we are in onLoadFinished and certain operations
-                // are not allowed in this callback, such as fragment transactions.
-                // Clients should not handle this explicitly.
-                mHandler.obtainMessage(MyHandler.MSG_PRINTERS_INVALID,
-                        mOnPrintersChangeListener).sendToTarget();
-            }
+
+            // Post a message as we are in onLoadFinished and certain operations
+            // are not allowed in this callback, such as fragment transactions.
+            // Clients should not handle this explicitly.
+            mHandler.obtainMessage(MyHandler.MSG_PRINTERS_INVALID).sendToTarget();
         }
 
         // LoaderCallbacks#onLoadFinished
@@ -134,15 +132,12 @@
         public void onLoadFinished(Loader<List<PrinterInfo>> loader, List<PrinterInfo> printers) {
             mPrinters.clear();
             mPrinters.addAll(printers);
-            if (mOnPrintersChangeListener != null) {
-                // Post a message as we are in onLoadFinished and certain operations
-                // are not allowed in this callback, such as fragment transactions.
-                // Clients should not handle this explicitly.
-                SomeArgs args = SomeArgs.obtain();
-                args.arg1 = mOnPrintersChangeListener;
-                args.arg2 = printers;
-                mHandler.obtainMessage(MyHandler.MSG_PRINTERS_CHANGED, args).sendToTarget();
-            }
+
+            // Post a message as we are in onLoadFinished and certain operations
+            // are not allowed in this callback, such as fragment transactions.
+            // Clients should not handle this explicitly.
+            mHandler.obtainMessage(MyHandler.MSG_PRINTERS_CHANGED, printers).sendToTarget();
+
             if (!mReady) {
                 mReady = true;
                 if (mReadyCallback != null) {
@@ -158,7 +153,7 @@
         }
     };
 
-    private static final class MyHandler extends Handler {
+    private final class MyHandler extends Handler {
         public static final int MSG_PRINTERS_CHANGED = 0;
         public static final int MSG_PRINTERS_INVALID = 1;
 
@@ -171,16 +166,17 @@
         public void handleMessage(Message message) {
             switch (message.what) {
                 case MSG_PRINTERS_CHANGED: {
-                    SomeArgs args = (SomeArgs) message.obj;
-                    OnPrintersChangeListener callback = (OnPrintersChangeListener) args.arg1;
-                    List<PrinterInfo> printers = (List<PrinterInfo>) args.arg2;
-                    args.recycle();
-                    callback.onPrintersChanged(printers);
+                    List<PrinterInfo> printers = (List<PrinterInfo>) message.obj;
+
+                    if (mOnPrintersChangeListener != null) {
+                        mOnPrintersChangeListener.onPrintersChanged(printers);
+                    }
                 } break;
 
                 case MSG_PRINTERS_INVALID: {
-                    OnPrintersChangeListener callback = (OnPrintersChangeListener) message.obj;
-                    callback.onPrintersInvalid();
+                    if (mOnPrintersChangeListener != null) {
+                        mOnPrintersChangeListener.onPrintersInvalid();
+                    }
                 } break;
             }
         }
diff --git a/packages/PrintSpooler/src/com/android/printspooler/util/MediaSizeUtils.java b/packages/PrintSpooler/src/com/android/printspooler/util/MediaSizeUtils.java
index 912ee1d..7289301 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/util/MediaSizeUtils.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/util/MediaSizeUtils.java
@@ -16,13 +16,16 @@
 
 package com.android.printspooler.util;
 
+import android.annotation.NonNull;
 import android.content.Context;
+import android.content.pm.ActivityInfo;
+import android.content.res.Configuration;
 import android.print.PrintAttributes.MediaSize;
-import android.util.ArrayMap;
 
 import com.android.printspooler.R;
 
 import java.util.Comparator;
+import java.util.HashMap;
 import java.util.Map;
 
 /**
@@ -30,7 +33,10 @@
  */
 public final class MediaSizeUtils {
 
-    private static Map<MediaSize, String> sMediaSizeToStandardMap;
+    private static Map<MediaSize, Integer> sMediaSizeToStandardMap;
+
+    /** The media size standard for all media sizes no standard is defined for */
+    private static int sMediaSizeStandardIso;
 
     private MediaSizeUtils() {
         /* do nothing - hide constructor */
@@ -47,22 +53,32 @@
         return MediaSize.getStandardMediaSizeById(mediaSizeId);
     }
 
-    private static String getStandardForMediaSize(Context context, MediaSize mediaSize) {
+    /**
+     * Get the standard the {@link MediaSize} belongs to.
+     *
+     * @param context   The context of the caller
+     * @param mediaSize The {@link MediaSize} to be resolved
+     *
+     * @return The standard the {@link MediaSize} belongs to
+     */
+    private static int getStandardForMediaSize(Context context, MediaSize mediaSize) {
         if (sMediaSizeToStandardMap == null) {
-            sMediaSizeToStandardMap = new ArrayMap<MediaSize, String>();
+            sMediaSizeStandardIso = Integer.parseInt(context.getString(
+                    R.string.mediasize_standard_iso));
+
+            sMediaSizeToStandardMap = new HashMap<>();
             String[] mediaSizeToStandardMapValues = context.getResources()
                     .getStringArray(R.array.mediasize_to_standard_map);
             final int mediaSizeToStandardCount = mediaSizeToStandardMapValues.length;
             for (int i = 0; i < mediaSizeToStandardCount; i += 2) {
                 String mediaSizeId = mediaSizeToStandardMapValues[i];
                 MediaSize key = MediaSize.getStandardMediaSizeById(mediaSizeId);
-                String value = mediaSizeToStandardMapValues[i + 1];
+                int value = Integer.parseInt(mediaSizeToStandardMapValues[i + 1]);
                 sMediaSizeToStandardMap.put(key, value);
             }
         }
-        String standard = sMediaSizeToStandardMap.get(mediaSize);
-        return (standard != null) ? standard : context.getString(
-                R.string.mediasize_standard_iso);
+        Integer standard = sMediaSizeToStandardMap.get(mediaSize);
+        return (standard != null) ? standard : sMediaSizeStandardIso;
     }
 
     /**
@@ -73,32 +89,76 @@
     public static final class MediaSizeComparator implements Comparator<MediaSize> {
         private final Context mContext;
 
+        /** Current configuration */
+        private Configuration mCurrentConfig;
+
+        /** The standard to use for the current locale */
+        private int mCurrentStandard;
+
+        /** Mapping from media size to label */
+        private final @NonNull Map<MediaSize, String> mMediaSizeToLabel;
+
         public MediaSizeComparator(Context context) {
             mContext = context;
+            mMediaSizeToLabel = new HashMap<>();
+            mCurrentStandard = Integer.parseInt(mContext.getString(R.string.mediasize_standard));
+        }
+
+        /**
+         * Handle a configuration change by reloading all resources.
+         *
+         * @param newConfig The new configuration that will be applied.
+         */
+        public void onConfigurationChanged(@NonNull Configuration newConfig) {
+            if (mCurrentConfig == null ||
+                    (newConfig.diff(mCurrentConfig) & ActivityInfo.CONFIG_LOCALE) != 0) {
+                mCurrentStandard = Integer
+                        .parseInt(mContext.getString(R.string.mediasize_standard));
+                mMediaSizeToLabel.clear();
+
+                mCurrentConfig = newConfig;
+            }
+        }
+
+        /**
+         * Get the label for a {@link MediaSize}.
+         *
+         * @param context   The context the label should be loaded for
+         * @param mediaSize The {@link MediaSize} to resolve
+         *
+         * @return The label for the media size
+         */
+        public @NonNull String getLabel(@NonNull Context context, @NonNull MediaSize mediaSize) {
+            String label = mMediaSizeToLabel.get(mediaSize);
+
+            if (label == null) {
+                label = mediaSize.getLabel(context.getPackageManager());
+                mMediaSizeToLabel.put(mediaSize, label);
+            }
+
+            return label;
         }
 
         @Override
         public int compare(MediaSize lhs, MediaSize rhs) {
-            String currentStandard = mContext.getString(R.string.mediasize_standard);
-            String lhsStandard = getStandardForMediaSize(mContext, lhs);
-            String rhsStandard = getStandardForMediaSize(mContext, rhs);
+            int lhsStandard = getStandardForMediaSize(mContext, lhs);
+            int rhsStandard = getStandardForMediaSize(mContext, rhs);
 
             // The current standard always wins.
-            if (lhsStandard.equals(currentStandard)) {
-                if (!rhsStandard.equals(currentStandard)) {
+            if (lhsStandard == mCurrentStandard) {
+                if (rhsStandard != mCurrentStandard) {
                     return -1;
                 }
-            } else if (rhsStandard.equals(currentStandard)) {
+            } else if (rhsStandard == mCurrentStandard) {
                 return 1;
             }
 
-            if (!lhsStandard.equals(rhsStandard)) {
+            if (lhsStandard != rhsStandard) {
                 // Different standards - use the standard ordering.
-                return lhsStandard.compareTo(rhsStandard);
+                return Integer.valueOf(lhsStandard).compareTo(rhsStandard);
             } else {
                 // Same standard - sort alphabetically by label.
-                return lhs.getLabel(mContext.getPackageManager()).
-                        compareTo(rhs.getLabel(mContext.getPackageManager()));
+                return getLabel(mContext, lhs).compareTo(getLabel(mContext, rhs));
             }
         }
     }
diff --git a/packages/SettingsLib/res/values-af/strings.xml b/packages/SettingsLib/res/values-af/strings.xml
index eae49c4..04617a1 100644
--- a/packages/SettingsLib/res/values-af/strings.xml
+++ b/packages/SettingsLib/res/values-af/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Laat skynliggings toe"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Laat skynliggings toe"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Aktiveer aansigkenmerkinspeksie"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Gebruik eerder die DHCP-kliënt van Lollipop af as die nuwe Android DHCP-kliënt."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Hou mobiele data altyd aktief, selfs wanneer Wi‑Fi aktief is (vir vinnige netwerkwisseling)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Laat USB-ontfouting toe?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB-ontfouting is net vir ontwikkelingsdoeleindes bedoel. Gebruik dit om data te kopieer tussen jou rekenaar en jou toestel, programme op jou toestel te installeer sonder kennisgewing en om loglêerdata te lees."</string>
diff --git a/packages/SettingsLib/res/values-am/strings.xml b/packages/SettingsLib/res/values-am/strings.xml
index 4fd4259..1e02ac4 100644
--- a/packages/SettingsLib/res/values-am/strings.xml
+++ b/packages/SettingsLib/res/values-am/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"አስቂኝ ሥፍራዎችን ፍቀድ"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"አስቂኝ ሥፍራዎችን ፍቀድ"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"የእይታ አይነታ ምርመራን አንቃ"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"ከአዲሱ የAndroid DHCP ደንበኛ ይልቅ የLollipop DHCP ደንበኛውን ይጠቀሙ።"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"ምንም እንኳን Wi‑Fi ንቁ ቢሆንም የሞባይል ውሂብን ንቁ እንደሆነ አቆይ (ለፈጣን የአውታረ መረብ ቅይይር)።"</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"የUSB ማረሚያ ይፈቀድ?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"የUSB አድስ ለግንባታ አላማ ብቻ የታሰበ ነው። ከኮምፒዩተርህ ወደ መሳሪያህ ውሂብ ለመገልበጥ፣ መሣሪያህ ላይ ያለ ማሳወቂያ መተግበሪያዎችን መጫን፣ እና ማስታወሻ ውሂብ ማንበብ ለመጠቀም ይቻላል።"</string>
diff --git a/packages/SettingsLib/res/values-ar/strings.xml b/packages/SettingsLib/res/values-ar/strings.xml
index 246880c..028aa05 100644
--- a/packages/SettingsLib/res/values-ar/strings.xml
+++ b/packages/SettingsLib/res/values-ar/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"السماح بمواقع وهمية"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"السماح بمواقع وهمية"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"تمكين فحص سمة العرض"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"‏يمكنك استخدام برنامج DHCP من Lollipop بدلاً من برنامج DHCP الجديد على Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"‏اجعل بيانات الجوّال نشطة دائمًا، حتى عندما يكون اتصال Wi‑Fi نشطًا (لتبديل الشبكة بسرعة)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"‏هل تريد السماح بتصحيح أخطاء USB؟"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"‏تم تصميم تصحيح أخطاء USB لأغراض التطوير فقط. يمكن استخدامه لنسخ البيانات بين الكمبيوتر والجهاز، وتثبيت التطبيقات على جهازك بدون تنبيه، وقراءة بيانات السجل."</string>
diff --git a/packages/SettingsLib/res/values-az-rAZ/strings.xml b/packages/SettingsLib/res/values-az-rAZ/strings.xml
index 0caeea0..7af4c02 100644
--- a/packages/SettingsLib/res/values-az-rAZ/strings.xml
+++ b/packages/SettingsLib/res/values-az-rAZ/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Sınaq yerləşmələrə icazə verin"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Sınaq yerləşmələrə icazə verin"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Atribut inspeksiyasına baxışa icazə verin"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Android DHCP klienti əvəzinə Lollipopdan DHCP klient istifadə edin."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Hətta Wi‑Fi aktiv olanda da mobil datanı həmişə aktiv saxlayın (sürətli şəbəkək keçidi üçün)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB debaq funksiyasına icazə verilsin?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB sazlanması yalnız inkişaf məqsədlidir. Kompüteriniz və cihazınız arasında datanı kopyalamaq üçün ondan istifadə edin, bildiriş olmadan tətbiqləri cihazınıza quraşdırın və qeydiyyat datasını oxuyun."</string>
diff --git a/packages/SettingsLib/res/values-bg/strings.xml b/packages/SettingsLib/res/values-bg/strings.xml
index efc88ca..138f318 100644
--- a/packages/SettingsLib/res/values-bg/strings.xml
+++ b/packages/SettingsLib/res/values-bg/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Разрешаване на измислени местоположения"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Разрешаване на измислени местоположения"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Актив. на инспектирането на атрибутите за преглед"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Използване на клиентската програма за DHCP от Lollipop вместо новата програма на Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Мобилните данни са активни винаги – дори когато функцията за Wi‑Fi е включена (за бързо превключване между мрежите)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Разрешаване на отстраняването на грешки през USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Отстраняването на грешки през USB е предназначено само за програмни цели. Използвайте го за копиране на данни между компютъра и устройството си, за инсталиране на приложения на устройството си без известяване и за четене на регистрационни данни."</string>
diff --git a/packages/SettingsLib/res/values-bn-rBD/strings.xml b/packages/SettingsLib/res/values-bn-rBD/strings.xml
index 3717643..d8cd85cb 100644
--- a/packages/SettingsLib/res/values-bn-rBD/strings.xml
+++ b/packages/SettingsLib/res/values-bn-rBD/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"নকল অবস্থানের অনুমতি দিন"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"মক অবস্থানগুলি মঞ্জুর করুন"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"অ্যাট্রিবিউট পরিদর্শন দেখা সক্ষম করুন"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"নতুন Android DHCP ক্লায়েন্টের পরিবর্তে Lollipop এর থেকে DHCP ক্লায়েন্ট ব্যবহার করুন৷"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"ওয়াই-ফাই সক্রিয় থাকার সময়েও (দ্রুত নেটওয়ার্কে পাল্টানোর জন্য) সর্বদা মোবাইল ডেটা সক্রিয় রাখুন।"</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB ডিবাগিং মঞ্জুর করবেন?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB ডিবাগিং কেবলমাত্র বিকাশ করার উদ্দেশ্যে। আপনার কম্পিউটার এবং আপনার ডিভাইসের মধ্যে ডেটা অনুলিপি করতে এটি ব্যবহার করুন, বিজ্ঞপ্তি ছাড়া আপনার ডিভাইসে অ্যাপ্লিকেশানগুলি ইনস্টল করুন এবং ডেটা লগ পড়ুন।"</string>
diff --git a/packages/SettingsLib/res/values-ca/strings.xml b/packages/SettingsLib/res/values-ca/strings.xml
index 2487313..ec3718e 100644
--- a/packages/SettingsLib/res/values-ca/strings.xml
+++ b/packages/SettingsLib/res/values-ca/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Ubicacions simulades"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Permet les ubicacions simulades"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Inspecció d\'atributs de visualització"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Utilitza el client DHCP de Lollipop en lloc del nou client DHCP d\'Android"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Mantén les dades mòbils sempre actives, fins i tot quan la Wi‑Fi està activada (per canviar de xarxa ràpidament)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Voleu permetre la depuració USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"La depuració USB només està indicada per a activitats de desenvolupament. Fes-la servir intercanviar dades entre l\'ordinador i el dispositiu, per instal·lar aplicacions al dispositiu sense rebre notificacions i per llegir dades de registre."</string>
diff --git a/packages/SettingsLib/res/values-cs/strings.xml b/packages/SettingsLib/res/values-cs/strings.xml
index 42c7bdf..71ef930 100644
--- a/packages/SettingsLib/res/values-cs/strings.xml
+++ b/packages/SettingsLib/res/values-cs/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Povolit simulované polohy"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Povolit simulované polohy"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Kontrola atributu zobrazení"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Namísto nového klientu DHCP Android použít klient DHCP z verze Lollipop."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Mobilní data budou vždy ponechána aktivní, i když bude aktivní Wi-Fi (za účelem rychlého přepínání sítí)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Povolit ladění USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Ladění prostřednictvím rozhraní USB je určeno pouze pro účely vývoje. Použijte je ke kopírování dat mezi počítačem a zařízením, instalaci aplikací do zařízení bez upozornění a čtení dat protokolů."</string>
diff --git a/packages/SettingsLib/res/values-da/strings.xml b/packages/SettingsLib/res/values-da/strings.xml
index 8f8d7a6..3685684 100644
--- a/packages/SettingsLib/res/values-da/strings.xml
+++ b/packages/SettingsLib/res/values-da/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Imiterede placeringer"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Tillad imiterede placeringer"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Aktivér visning af attributinspektion"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Brug DHCP-klienten fra Lollipop i stedet for den nye DHCP-klient i Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Hold altid mobildata aktiveret, selv når Wi-Fi er aktiveret (for at skifte hurtigt mellem netværk)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Vil du tillade USB-fejlretning?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB-fejlretning er kun beregnet til udvikling og kan bruges til at kopiere data mellem din computer og enheden, installere apps på enheden uden meddelelser og læse logdata."</string>
diff --git a/packages/SettingsLib/res/values-de/strings.xml b/packages/SettingsLib/res/values-de/strings.xml
index 169d6b0..2773a34 100644
--- a/packages/SettingsLib/res/values-de/strings.xml
+++ b/packages/SettingsLib/res/values-de/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Simulierte Standorte"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Simulierte Standorte zulassen"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Inspektion der Anzeigeattribute aktivieren"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"DHCP-Client von Lollipop statt des neuen Android-DHCP-Clients verwenden"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Die mobile Datennutzung bleibt auch dann aktiviert, wenn WLAN aktiviert ist. Dies dient einem schnelleren Wechsel zwischen Netzwerken."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB-Debugging zulassen?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB-Debugging ist nur für Entwicklungszwecke vorgesehen. Damit kannst du Daten zwischen deinem Computer und deinem Gerät kopieren, Apps auf deinem Gerät ohne Benachrichtigung installieren und Protokolldaten lesen."</string>
@@ -284,8 +283,8 @@
     <string name="convert_to_file_encryption_enabled" msgid="2861258671151428346">"Wechseln…"</string>
     <string name="convert_to_file_encryption_done" msgid="7859766358000523953">"Dateiverschlüsselung wird bereits verwendet."</string>
     <string name="title_convert_fbe" msgid="1263622876196444453">"Zu Dateiverschlüsselung wechseln"</string>
-    <string name="convert_to_fbe_warning" msgid="6139067817148865527">"Stelle von Datenpartitions- auf dateibasierte Verschlüsselung um.\n !!Achtung!! Dadurch werden alle deine Daten gelöscht.\n Es handelt sich um eine Alphaversion, die möglicherweise nicht korrekt funktioniert.\n Wähle \"Wischen und wechseln…\" aus, um fortzufahren."</string>
-    <string name="button_convert_fbe" msgid="5152671181309826405">"Wischen und wechseln…"</string>
+    <string name="convert_to_fbe_warning" msgid="6139067817148865527">"Du möchtest von Datenpartitions- zur dateibasierten Verschlüsselung wechseln.\nAchtung! Dadurch werden alle deine Daten gelöscht.\nEs handelt sich um eine Alphaversion, die möglicherweise nicht korrekt funktioniert.\nWähle \"Löschen und wechseln…\" aus, um fortzufahren."</string>
+    <string name="button_convert_fbe" msgid="5152671181309826405">"Löschen und wechseln…"</string>
     <string name="picture_color_mode" msgid="4560755008730283695">"Farbmodus für Bilder"</string>
     <string name="picture_color_mode_desc" msgid="1141891467675548590">"sRGB verwenden"</string>
     <string name="daltonizer_mode_disabled" msgid="7482661936053801862">"Deaktiviert"</string>
diff --git a/packages/SettingsLib/res/values-el/strings.xml b/packages/SettingsLib/res/values-el/strings.xml
index c525145..1c54833 100644
--- a/packages/SettingsLib/res/values-el/strings.xml
+++ b/packages/SettingsLib/res/values-el/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Να επιτρέπονται ψευδείς τοποθεσίες"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Να επιτρέπονται ψευδείς τοποθεσίες"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Ενεργοποίηση του ελέγχου χαρακτηριστικών προβολής"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Χρήση εφαρμογής-πελάτη DHCP παλαιού τύπου από το Lollipop αντί για τη νέα εφαρμογή-πελάτη DHCP Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Τα δεδομένα κινητής τηλεφωνίας να διατηρούνται πάντα ενεργά, ακόμα και όταν είναι ενεργό το Wi-Fi (για γρήγορη εναλλαγή δικτύου)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Να επιτρέπεται ο εντοπισμός σφαλμάτων USB;"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Ο εντοπισμός σφαλμάτων USB προορίζεται μόνο για σκοπούς προγραμματισμού. Χρησιμοποιήστε τον για αντιγραφή δεδομένων μεταξύ του υπολογιστή και της συσκευής σας, για την εγκατάσταση εφαρμογών στη συσκευή σας χωρίς προειδοποίηση και για την ανάγνωση δεδομένων καταγραφής."</string>
diff --git a/packages/SettingsLib/res/values-en-rAU/strings.xml b/packages/SettingsLib/res/values-en-rAU/strings.xml
index 05fc9db..012e279 100644
--- a/packages/SettingsLib/res/values-en-rAU/strings.xml
+++ b/packages/SettingsLib/res/values-en-rAU/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Allow mock locations"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Allow mock locations"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Enable view attribute inspection"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Use the DHCP client from Lollipop instead of the new Android DHCP client."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Always keep mobile data active, even when Wi‑Fi is active (for fast network switching)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Allow USB debugging?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB debugging is intended for development purposes only. Use it to copy data between your computer and your device, install apps on your device without notification and read log data."</string>
diff --git a/packages/SettingsLib/res/values-en-rGB/strings.xml b/packages/SettingsLib/res/values-en-rGB/strings.xml
index 05fc9db..012e279 100644
--- a/packages/SettingsLib/res/values-en-rGB/strings.xml
+++ b/packages/SettingsLib/res/values-en-rGB/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Allow mock locations"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Allow mock locations"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Enable view attribute inspection"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Use the DHCP client from Lollipop instead of the new Android DHCP client."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Always keep mobile data active, even when Wi‑Fi is active (for fast network switching)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Allow USB debugging?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB debugging is intended for development purposes only. Use it to copy data between your computer and your device, install apps on your device without notification and read log data."</string>
diff --git a/packages/SettingsLib/res/values-en-rIN/strings.xml b/packages/SettingsLib/res/values-en-rIN/strings.xml
index 05fc9db..012e279 100644
--- a/packages/SettingsLib/res/values-en-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-en-rIN/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Allow mock locations"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Allow mock locations"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Enable view attribute inspection"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Use the DHCP client from Lollipop instead of the new Android DHCP client."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Always keep mobile data active, even when Wi‑Fi is active (for fast network switching)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Allow USB debugging?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB debugging is intended for development purposes only. Use it to copy data between your computer and your device, install apps on your device without notification and read log data."</string>
diff --git a/packages/SettingsLib/res/values-es-rUS/strings.xml b/packages/SettingsLib/res/values-es-rUS/strings.xml
index 2fd5e9b..2e21bb1 100644
--- a/packages/SettingsLib/res/values-es-rUS/strings.xml
+++ b/packages/SettingsLib/res/values-es-rUS/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Ubicaciones de prueba"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Permitir ubicaciones de prueba"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Habilitar inspección de atributos de vista"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Usar el cliente DHCP de Lollipop en lugar del nuevo cliente DHCP de Android"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Siempre mantén los datos móviles activos, incluso cuando esté activada la conexión Wi‑Fi (para cambiar de red de forma rápida)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"¿Permitir depuración por USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"La depuración por USB solo está indicada para actividades de programación. Úsala para copiar datos entre tu computadora y el dispositivo, para instalar aplicaciones en el dispositivo sin recibir notificaciones y para leer datos de registro."</string>
diff --git a/packages/SettingsLib/res/values-es/strings.xml b/packages/SettingsLib/res/values-es/strings.xml
index c6cddd9..19e7c27 100644
--- a/packages/SettingsLib/res/values-es/strings.xml
+++ b/packages/SettingsLib/res/values-es/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Ubicaciones simuladas"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Permitir ubicaciones simuladas"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Inspección de atributos de vista"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Utiliza el cliente DHCP de Lollipop en lugar del nuevo cliente DHCP de Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Mantén los datos móviles siempre activos, aunque la conexión Wi‑Fi esté activada (para cambiar de red rápidamente)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"¿Permitir depuración por USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"La depuración por USB solo está indicada para actividades de desarrollo. Puedes utilizarla para intercambiar datos entre el ordenador y el dispositivo, para instalar aplicaciones en el dispositivo sin recibir notificaciones y para leer datos de registro."</string>
diff --git a/packages/SettingsLib/res/values-et-rEE/strings.xml b/packages/SettingsLib/res/values-et-rEE/strings.xml
index cda3d9f..90638e5 100644
--- a/packages/SettingsLib/res/values-et-rEE/strings.xml
+++ b/packages/SettingsLib/res/values-et-rEE/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Luba võltsasukohti"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Luba võltsasukohti"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Luba kuva atribuudi hindamine"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Kasutage uue Androidi DHCP-kliendi asemel Lollipopi DHCP-klienti."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Hoidke mobiilne andmeside alati aktiivsena, isegi kui WiFi on aktiivne (võrkude kiireks vahetamiseks)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Luban USB silumise?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB-silumine on mõeldud ainult arendamiseks. Kasutage seda andmete kopeerimiseks oma arvuti ja seadme vahel, seadmesse rakenduste installimiseks ilma teatisteta ning logiandmete lugemiseks."</string>
diff --git a/packages/SettingsLib/res/values-eu-rES/strings.xml b/packages/SettingsLib/res/values-eu-rES/strings.xml
index 76f7798..f03856b 100644
--- a/packages/SettingsLib/res/values-eu-rES/strings.xml
+++ b/packages/SettingsLib/res/values-eu-rES/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Onartu kokapen faltsuak"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Onartu kokapen faltsuak"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Gaitu ikuspegiaren atributuak ikuskatzeko aukera"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Erabili Lollipop bertsioko DHCP bezeroa eta ez Android DHCP bezero berria."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Mantendu mugikorreko datuak beti aktibo, baita Wi-Fi konexioa aktibo dagoenean ere (sarez bizkor aldatu ahal izateko)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB arazketa onartu?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB arazketa garapen-xedeetarako soilik dago diseinatuta. Erabil ezazu ordenagailuaren eta gailuaren artean datuak kopiatzeko, aplikazioak gailuan jakinarazi gabe instalatzeko eta erregistro-datuak irakurtzeko."</string>
diff --git a/packages/SettingsLib/res/values-fa/strings.xml b/packages/SettingsLib/res/values-fa/strings.xml
index 8729ffd..4a02b33 100644
--- a/packages/SettingsLib/res/values-fa/strings.xml
+++ b/packages/SettingsLib/res/values-fa/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"مکان‌های کاذب مجاز هستند"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"مکان‌های کاذب مجاز هستند"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"فعال کردن بازبینی ویژگی بازدید"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"‏به جای کلاینت Android DHCP جدید، از کلاینت Lollipop DHCP استفاده کنید."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"‏داده سلولی همیشه فعال نگه داشته می‌شود، حتی وقتی Wi-Fi فعال است (برای جابه‌جایی سریع شبکه)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"‏اشکال‌زدایی USB انجام شود؟"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"‏اشکال‌زدایی USB فقط برای اهداف برنامه‌نویسی در نظر گرفته شده است. از آن برای رونوشت‌برداری داده بین رایانه و دستگاهتان، نصب برنامه‌ها در دستگاهتان بدون اعلان و خواندن داده‌های گزارش استفاده کنید."</string>
diff --git a/packages/SettingsLib/res/values-fi/strings.xml b/packages/SettingsLib/res/values-fi/strings.xml
index 5c4287a..bb53056 100644
--- a/packages/SettingsLib/res/values-fi/strings.xml
+++ b/packages/SettingsLib/res/values-fi/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Salli sijaintien imitointi"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Salli sijaintien imitointi"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Ota attribuuttinäkymän tarkistus käyttöön"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Käytä Lollipopin DHCP-asiakassovellusta Androidin uuden DHCP-asiakassovelluksen sijasta."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Pidä mobiilidata aina käytössä, vaikka Wi-Fi olisi aktiivinen. Tämä mahdollistaa nopeamman vaihtelun verkkojen välillä."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Sallitaanko USB-vianetsintä?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB-vianetsintä on tarkoitettu vain kehittäjien käyttöön. Sen avulla voidaan kopioida tietoja tietokoneesi ja laitteesi välillä, asentaa laitteeseesi sovelluksia ilmoittamatta siitä sinulle ja lukea lokitietoja."</string>
diff --git a/packages/SettingsLib/res/values-fr-rCA/strings.xml b/packages/SettingsLib/res/values-fr-rCA/strings.xml
index 6f7982d..b5bb68c 100644
--- a/packages/SettingsLib/res/values-fr-rCA/strings.xml
+++ b/packages/SettingsLib/res/values-fr-rCA/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Autoriser les positions fictives"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Autoriser les positions fictives"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Activer l\'inspection d\'attribut d\'affichage"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Utiliser le client DHCP de Lollipop au lieu du nouveau client DHCP Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Toujours garder les données cellulaires actives, même lorsque le Wi-Fi est activé (pour la commutation rapide entre les réseaux)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Autoriser le débogage USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Le débogage USB est conçu uniquement pour le développement. Utilisez-le pour copier des données entre votre ordinateur et votre appareil, installer des applications sur votre appareil sans notification et lire les données de journal."</string>
diff --git a/packages/SettingsLib/res/values-fr/strings.xml b/packages/SettingsLib/res/values-fr/strings.xml
index a72ecd6..456fea1 100644
--- a/packages/SettingsLib/res/values-fr/strings.xml
+++ b/packages/SettingsLib/res/values-fr/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Positions fictives"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Autoriser les positions fictives"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Activer inspect. attribut affich."</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Utiliser le client DHCP de Lollipop au lieu du nouveau client DHCP Android"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Maintenir l\'état actif des données mobiles, même lorsque le Wi‑Fi est actif (pour changer rapidement de réseau)"</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Autoriser le débogage USB ?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Le débogage USB est conçu uniquement pour le développement. Utilisez-le pour copier des données entre votre ordinateur et votre appareil, installer des applications sur votre appareil sans notification et lire les données de journal."</string>
diff --git a/packages/SettingsLib/res/values-gl-rES/strings.xml b/packages/SettingsLib/res/values-gl-rES/strings.xml
index 8fb4431..9545f19 100644
--- a/packages/SettingsLib/res/values-gl-rES/strings.xml
+++ b/packages/SettingsLib/res/values-gl-rES/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Permitir localizacións falsas"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Permite localizacións falsas"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Activar a inspección de atributos de visualización"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Utiliza o cliente DHCP de Lollipop en lugar do novo cliente DHCP de Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Mantén sempre os datos móbiles activos, aínda que a wifi estea activada (para un rápido cambio de rede)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Queres permitir a depuración USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"A depuración de erros USB está deseñada unicamente para fins de programación. Utilízaa para copiar datos entre o ordenador e o dispositivo, instalar aplicacións no dispositivo sen enviar notificacións e ler os datos do rexistro."</string>
diff --git a/packages/SettingsLib/res/values-gu-rIN/strings.xml b/packages/SettingsLib/res/values-gu-rIN/strings.xml
index fcb3968..905ca43 100644
--- a/packages/SettingsLib/res/values-gu-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-gu-rIN/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"મોક સ્થાનોની મંજૂરી આપો"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"મોક સ્થાનોની મંજૂરી આપો"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"લક્ષણ નિરીક્ષણ જોવાનું સક્ષમ કરો"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"નવા Android DHCP ક્લાઇન્ટને બદલે Lollipop પરના DHCP ક્લાઇન્ટનો ઉપયોગ કરો."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Wi‑Fi  સક્રિય હોય ત્યારે પણ, હંમેશા મોબાઇલ ડેટાને સક્રિય રાખો (ઝડપી નેટવર્ક સ્વિચિંગ માટે)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB ડિબગિંગને મંજૂરી આપીએ?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB ડિબગીંગ ફક્ત વિકાસ હેતુઓ માટે જ બનાવાયેલ છે. તેનો ઉપયોગ તમારા કમ્પ્યુટર અને તમારા ઉપકરણ વચ્ચે ડેટાને કૉપિ કરવા, સૂચના વગર તમારા ઉપકરણ પર ઍપ્લિકેશનો ઇન્સ્ટોલ કરવા અને લૉગ ડેટા વાંચવા માટે કરો."</string>
diff --git a/packages/SettingsLib/res/values-hi/strings.xml b/packages/SettingsLib/res/values-hi/strings.xml
index 65338cc..93fbb9c 100644
--- a/packages/SettingsLib/res/values-hi/strings.xml
+++ b/packages/SettingsLib/res/values-hi/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"कृत्रिम स्‍थानों को अनुमति दें"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"कृत्रिम स्‍थानों को अनुमति दें"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"दृश्य विशेषता निरीक्षण सक्षम करें"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"नए Android DHCP क्‍लाइंट के बजाय Lollipop के DHCP क्‍लाइंट का उपयोग करें."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"वाई-फ़ाई के सक्रिय रहने पर भी, हमेशा मोबाइल डेटा सक्रिय रखें (तेज़ी से नेटवर्क स्विच करने के लिए)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB डीबग करने की अनुमति दें?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB डीबग डीबग करने का उद्देश्‍य केवल विकास है. इसका उपयोग आपके कंप्‍यूटर और आपके डिवाइस के बीच डेटा की प्रतिलिपि बनाने, बिना नोटिफिकेशन के आपके डिवाइस पर ऐप्स इंस्‍टॉल करने और लॉग डेटा पढ़ने के लिए करें."</string>
diff --git a/packages/SettingsLib/res/values-hr/strings.xml b/packages/SettingsLib/res/values-hr/strings.xml
index 974af2c..d6a7c1d 100644
--- a/packages/SettingsLib/res/values-hr/strings.xml
+++ b/packages/SettingsLib/res/values-hr/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Dopusti probne lokacije"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Dopusti probne lokacije"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Omogući pregled atributa prikaza"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Upotrebljavajte DHCP klijent iz Lollipopa umjesto novog Android DHCP klijenta."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Neka mobilni podaci uvijek budu aktivni, čak i kada je Wi‑Fi aktivan (za brzo prebacivanje s jedne na drugu mrežu)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Omogućiti otklanjanje pogrešaka putem USB-a?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Otklanjanje pogrešaka putem USB-a namijenjeno je samo u razvojne svrhe. Može se upotrijebiti za kopiranje podataka s računala na uređaj i obrnuto, instalaciju aplikacija na uređaju bez obavijesti i za čitanje dnevničkih zapisa."</string>
diff --git a/packages/SettingsLib/res/values-hu/strings.xml b/packages/SettingsLib/res/values-hu/strings.xml
index 059a8bb..6ea9ae5 100644
--- a/packages/SettingsLib/res/values-hu/strings.xml
+++ b/packages/SettingsLib/res/values-hu/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Helyutánzatok engedélyezése"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Helyutánzatok engedélyezése"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Nézetattribútum vizsgálatának engedélyezése"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"A Lollipop DHCP-kliensének használata az új androidos DHCP-kliens helyett."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"A mobiladat-kapcsolat mindig maradjon aktív, még akkor is, ha a Wi‑Fi aktív (a gyors hálózatváltás érdekében)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Engedélyezi az USB hibakeresést?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Az USB hibakeresés fejlesztési célokat szolgál. Használhatja adatok másolására a számítógép és a készülék között, alkalmazások a készülékre való értesítés nélküli telepítésére és naplózási adatok olvasására."</string>
diff --git a/packages/SettingsLib/res/values-hy-rAM/strings.xml b/packages/SettingsLib/res/values-hy-rAM/strings.xml
index 70118de..e48fe31 100644
--- a/packages/SettingsLib/res/values-hy-rAM/strings.xml
+++ b/packages/SettingsLib/res/values-hy-rAM/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Թույատրել կեղծ տեղադրությունները"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Թույլ տալ կեղծ տեղադրություններ"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Միացնել ցուցադրման հատկանիշների ստուգումը"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Օգտագործել Lollipop-ի DHCP ծրագիրը՝ նոր Android DHCP ծրագրի փոխարեն:"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Միշտ ակտիվացրած պահել բջջային տվյալները, նույնիսկ Wi‑Fi-ը միացրած ժամանակ (ցանցերի միջև արագ փոխարկման համար):"</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Թույլատրե՞լ USB-ի վրիպազերծումը:"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB վրիպազերծումը միայն ծրագրավորման նպատակների համար է: Օգտագործեք այն ձեր համակարգչից տվյալները ձեր սարք պատճենելու համար, առանց ծանուցման ձեր սարքի վրա ծրագրեր տեղադրելու և տվյալների մատյանը ընթերցելու համար:"</string>
diff --git a/packages/SettingsLib/res/values-in/strings.xml b/packages/SettingsLib/res/values-in/strings.xml
index acbbb4c..c50c983 100644
--- a/packages/SettingsLib/res/values-in/strings.xml
+++ b/packages/SettingsLib/res/values-in/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Mengizinkan lokasi palsu"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Mengizinkan lokasi palsu"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Aktifkan inspeksi atribut tampilan"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Gunakan klien DHCP dari Lollipop alih-alih klien DHCP Android baru."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Selalu aktifkan data seluler, meski Wi-Fi aktif (agar jaringan beralih dengan cepat)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Izinkan melakukan debug USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Debugging USB dimaksudkan untuk tujuan pengembangan saja. Gunakan untuk menyalin data antara komputer dan perangkat Anda, memasang apl pada perangkat tanpa notifikasi, dan membaca data log."</string>
diff --git a/packages/SettingsLib/res/values-is-rIS/strings.xml b/packages/SettingsLib/res/values-is-rIS/strings.xml
index 4bfc0a6..09f962f 100644
--- a/packages/SettingsLib/res/values-is-rIS/strings.xml
+++ b/packages/SettingsLib/res/values-is-rIS/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Leyfa gervistaðsetningar"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Leyfa gervistaðsetningar"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Virkja yfirlit skoðunar eiginda"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Nota gamla DHCP-biðlarann úr Lollipop í staðinn fyrir nýja Android DHCP-biðlarann."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Hafa alltaf kveikt á farsímagögnum, líka þegar kveikt er á Wi-Fi (til að skipta megi hratt milli kerfa)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Leyfa USB-villuleit?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB-villuleit er aðeins ætluð til nota í þróunarskyni. Hana má nota til að afrita gögn á milli tölvu og tækis, setja forrit upp í tækinu án tilkynninga og lesa annálagögn."</string>
diff --git a/packages/SettingsLib/res/values-it/strings.xml b/packages/SettingsLib/res/values-it/strings.xml
index 959b661..b9462bf 100644
--- a/packages/SettingsLib/res/values-it/strings.xml
+++ b/packages/SettingsLib/res/values-it/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Posizioni fittizie"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Consenti posizioni fittizie"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Attiva controllo attributi visualizzazione"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Utilizza il client DHCP di Lollipop anziché il nuovo client DHCP Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Mantieni sempre i dati cellulare attivi, anche se il Wi‑Fi è attivo (per un passaggio fra reti rapido)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Consentire debug USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Il debug USB è solo a scopo di sviluppo. Utilizzalo per copiare dati tra il computer e il dispositivo, per installare applicazioni sul tuo dispositivo senza notifica e per leggere i dati dei log."</string>
diff --git a/packages/SettingsLib/res/values-iw/strings.xml b/packages/SettingsLib/res/values-iw/strings.xml
index 44016ef..b48f15c8 100644
--- a/packages/SettingsLib/res/values-iw/strings.xml
+++ b/packages/SettingsLib/res/values-iw/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"אפשר מיקומים מדומים"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"אפשר מיקומים מדומים"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"אפשר בדיקת תכונת תצוגה"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"‏השתמש בלקוח DHCP של Lollipop במקום לקוח DHCP החדש של Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"‏השאר את הנתונים לנייד פעילים תמיד, גם כש-Wi‑Fi פעיל (למעבר מהיר בין רשתות)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"‏לאפשר ניפוי באגים של USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"‏ניפוי באגים באמצעות USB מיועד למטרות פיתוח בלבד. השתמש בו להעתקת נתונים בין המחשב והמכשיר שלך, להתקנת אפליקציות במכשיר ללא התראה ולקריאת נתוני יומן."</string>
diff --git a/packages/SettingsLib/res/values-ja/strings.xml b/packages/SettingsLib/res/values-ja/strings.xml
index 12c5e25..b43013c 100644
--- a/packages/SettingsLib/res/values-ja/strings.xml
+++ b/packages/SettingsLib/res/values-ja/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"擬似ロケーションを許可"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"擬似ロケーションを許可する"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"表示属性検査を有効にする"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"新しいAndroid DHCPクライアントの代わりにLollipopのDHCPクライアントを使用します。"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Wi‑Fiが(ネットワークの自動切り替えで)ONのときでもモバイルデータが常にONになります。"</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USBデバッグを許可しますか?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USBデバッグは開発専用に設計されています。パソコンと端末の間でデータをコピーする場合や、アプリを通知なしで端末にインストールする場合、ログデータを読み取る場合に使用できます。"</string>
diff --git a/packages/SettingsLib/res/values-ka-rGE/strings.xml b/packages/SettingsLib/res/values-ka-rGE/strings.xml
index 5ac2382..50e09f1 100644
--- a/packages/SettingsLib/res/values-ka-rGE/strings.xml
+++ b/packages/SettingsLib/res/values-ka-rGE/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"ფიქტიური მდებარეობების დაშვება"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"ფიქტიური მდებარეობების დაშვება"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"ნახვის ატრიბუტის ინსპექტირების ჩართვა"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"ახალი Android DHCP კლიენტის ნაცვლად, Lollipop-ის DHCP კლიენტის გამოყენება."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"მობილური მოწყობილობის მონაცემები ყოველთვის აქტიური დარჩეს, მაშინაც კი, როდესაც Wi-Fi აქტიურია (ქსელის სწრაფი გადართვისთვის)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"ჩაირთოს USB გამართვა?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB გამართვა განკუთვნილია მხოლოდ დეველოპერული მიზნებისთვის. გამოიყენეთ კომპიუტერსა და თქვენ მოწყობილობას შორის მონაცემების გადასატანად, თქვენ მოწყობილობაზე აპების შეტყობინების გარეშე დასაყენებლად და ჟურნალის მონაცემების წასაკითხად."</string>
diff --git a/packages/SettingsLib/res/values-kk-rKZ/strings.xml b/packages/SettingsLib/res/values-kk-rKZ/strings.xml
index ab5e338..d163386 100644
--- a/packages/SettingsLib/res/values-kk-rKZ/strings.xml
+++ b/packages/SettingsLib/res/values-kk-rKZ/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Жасанды аймақтарға рұқсат беру"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Жасанды аймақтарды пайдалануға рұқсат беру"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Көру төлсипатын тексеруді қосу"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Жаңа Android DHCP клиентінің орнына Lollipop ішіндегі DHCP клиентін пайдалану"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Wi‑Fi қосулы кезде де ұялы деректерді белсенді етіп ұстау (желіні жылдам ауыстыру үшін)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB жөндеулеріне рұқсат берілсін бе?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB жөндеу дамыту мақсаттарына ғана арналған. Оны компьютер және құрылғы арасында дерек көшіру, құрылғыға ескертусіз қолданба орнату және тіркелім деректерін оқу үшін қолданыңыз."</string>
diff --git a/packages/SettingsLib/res/values-km-rKH/strings.xml b/packages/SettingsLib/res/values-km-rKH/strings.xml
index 30b7f7a..7585447a 100644
--- a/packages/SettingsLib/res/values-km-rKH/strings.xml
+++ b/packages/SettingsLib/res/values-km-rKH/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"ឲ្យ​ក្លែង​ទីតាំង"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"អនុញ្ញាត​ទីតាំង​ក្លែងក្លាយ"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"បើក​ការ​ត្រួតពិនិត្យ​គុណ​លក្ខណៈ​ទិដ្ឋភាព"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"ប្រើម៉ាស៊ីនកូន DHCP ចេញពី Lollipop ជំនួសឲ្យម៉ាស៊ីនកូន Android DHCP ថ្មី។"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"រក្សាទិន្នន័យចល័តឲ្យសកម្មជានិច្ច បើទោះបីជា Wi‑Fi សកម្មក៏ដោយ (សម្រាប់ការប្តូរបណ្តាញដែលមានល្បឿនលឿន)។"</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"អនុញ្ញាត​ការ​កែ​កំហុស​យូអេសប៊ី?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"ការ​កែ​កំហុស​​យូអេសប៊ី​គឺ​សម្រាប់​តែ​ការ​អភិវឌ្ឍ​ប៉ុណ្ណោះ។ ប្រើ​វា​ដើម្បី​ចម្លង​ទិន្នន័យ​រវាង​កុំព្យូទ័រ និង​ឧបករណ៍​របស់​អ្នក ដំឡើង​កម្មវិធី​ក្នុង​ឧបករណ៍​របស់​អ្នក​ដោយ​មិន​ជូន​ដំណឹង និង​អាន​ទិន្នន័យ​កំណត់ហេតុ។"</string>
diff --git a/packages/SettingsLib/res/values-kn-rIN/strings.xml b/packages/SettingsLib/res/values-kn-rIN/strings.xml
index 9b322c8..8f0d4ff 100644
--- a/packages/SettingsLib/res/values-kn-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-kn-rIN/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"ಅಣಕು ಸ್ಥಾನಗಳನ್ನು ಅನುಮತಿಸು"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"ಅಣಕು ಸ್ಥಾನಗಳನ್ನು ಅನುಮತಿಸು"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"ವೀಕ್ಷಣೆ ಆಟ್ರಿಬ್ಯೂಟ್ ಪರಿಶೀಲನೆ"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"ಹೊಸ Android DHCP ಕ್ಲೈಂಟ್ ಬದಲಾಗಿ Lollipop ನಿಂದ DHCP ಕ್ಲೈಂಟ್ ಬಳಸಿ."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"ವೈ-ಫೈ ಸಕ್ರಿಯವಾಗಿರುವಾಗಲೂ, ಯಾವಾಗಲೂ ಮೊಬೈಲ್‌ ಡೇಟಾ ಸಕ್ರಿಯವಾಗಿರಿಸಿ (ವೇಗವಾಗಿ ನೆಟ್‌ವರ್ಕ್‌ ಬದಲಾಯಿಸಲು)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB ಡೀಬಗ್ ಮಾಡುವಿಕೆಯನ್ನು ಅನುಮತಿಸುವುದೇ?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB ಡೀಬಗ್ ಮಾಡುವಿಕೆಯು ಅಭಿವೃದ್ಧಿ ಉದ್ದೇಶಗಳಿಗೆ ಮಾತ್ರ ಆಗಿದೆ. ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ ಮತ್ತು ನಿಮ್ಮ ಸಾಧನದ ನಡುವೆ ಡೇಟಾವನ್ನು ನಕಲಿಸಲು, ಅಧಿಸೂಚನೆ ಇಲ್ಲದೆ ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಸ್ಥಾಪಿಸಲು ಮತ್ತು ಲಾಗ್ ಡೇಟಾ ಓದಲು ಅದನ್ನು ಬಳಸಿ."</string>
diff --git a/packages/SettingsLib/res/values-ko/strings.xml b/packages/SettingsLib/res/values-ko/strings.xml
index dace41b..157a93d 100644
--- a/packages/SettingsLib/res/values-ko/strings.xml
+++ b/packages/SettingsLib/res/values-ko/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"모의 위치 허용"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"모의 위치 허용"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"보기 속성 검사 사용"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"새로운 Android DHCP 클라이언트 대신 Lollipop의 DHCP 클라이언트 사용"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Wi‑Fi가 활성화되어 있을 때에도 빠른 네트워크 전환을 위하여 항상 모바일 데이터를 활성 상태로 유지합니다."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB 디버깅을 허용하시겠습니까?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB 디버깅은 개발용으로만 설계되었습니다. 이 기능을 사용하면 컴퓨터와 기기 간에 데이터를 복사하고 알림 없이 기기에 앱을 설치하며 로그 데이터를 읽을 수 있습니다."</string>
diff --git a/packages/SettingsLib/res/values-ky-rKG/strings.xml b/packages/SettingsLib/res/values-ky-rKG/strings.xml
index 5bc08ac..0ecc03e 100644
--- a/packages/SettingsLib/res/values-ky-rKG/strings.xml
+++ b/packages/SettingsLib/res/values-ky-rKG/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Жасалма жайгашкан жерди көрсөтүүгө уруксат берилсин"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Жасалма жайгашкан жерди көрсөтүүгө уруксат берилсин"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Аттрибут текшерүүсүнүн көрүнүшүн иштетүү"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Жаңы Android DHCP кардарынын ордуна Lollipop\'тон DHCP кардарын колдонуңуз."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Wi-Fi иштеп турганда да дайындар мобилдик тармак аркылуу өткөрүлө берсин (тармактар ортосунда тезирээк которулуу үчүн)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB аркылуу жөндөөгө уруксат берилсинби?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB-жөндөө - өндүрүү максатында гана  түзүлгөн. Аны компүтериңиз менен түзмөгүңүздүн ортосунда берилиштерди алмашуу, түзмөгүңүзгө колдонмолорду эскертүүсүз орнотуу жана лог берилиштерин окуу үчүн колдонсоңуз болот."</string>
diff --git a/packages/SettingsLib/res/values-lo-rLA/strings.xml b/packages/SettingsLib/res/values-lo-rLA/strings.xml
index 6e13c9f..9c999a1 100644
--- a/packages/SettingsLib/res/values-lo-rLA/strings.xml
+++ b/packages/SettingsLib/res/values-lo-rLA/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"ອະນຸຍາດໃຫ້ຈຳລອງຕຳແໜ່ງ"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"ອະນຸຍາດໃຫ້ຈຳລອງຕຳແໜ່ງ"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"ເປີດ​ນຳ​ໃຊ້​ການກວດ​ສອບ​ຄຸນ​ສົມ​ບັດ​ມຸມມອງ"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"ໃຊ້​ລູກ​ຄ້າ DHCP ຈາກ Lollipop ແທນ​ລູກ​ຄ້າ Android DHCP ໃໝ່."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"ໃຫ້​ຂໍ້​ມູນ​ມື​ຖື​ເປີດ​ຢູ່​ສະ​ເໝີ, ແມ້​ແຕ່​ເມື່ອ Wi‑Fi ເປີດ​ຢູ່ (ສຳ​ລັບ​ການ​ສະ​ຫຼັບ​ເຄືອ​ຂ່າຍ​ໄວ)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"ອະນຸຍາດໃຫ້ດີບັ໊ກຜ່ານ USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"ການດີບັ໊ກຜ່ານ USB ແມ່ນມີຈຸດປະສົງເພື່ອການພັດທະນາເທົ່ານັ້ນ. ມັນສາມາດໃຊ້ເພື່ອສຳເນົາຂໍ້ມູນລະຫວ່າງຄອມພິວເຕີ ແລະອຸປະກອນຂອງທ່ານ, ຕິດຕັ້ງແອັບຯໂດຍບໍ່ຜ່ານການແຈ້ງເຕືອນ ແລະອ່ານຂໍ້ມູນການບັນທຶກ."</string>
diff --git a/packages/SettingsLib/res/values-lt/strings.xml b/packages/SettingsLib/res/values-lt/strings.xml
index d409366..7ab915f 100644
--- a/packages/SettingsLib/res/values-lt/strings.xml
+++ b/packages/SettingsLib/res/values-lt/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Leisti imituoti vietas"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Leisti imituoti vietas"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Įgalinti peržiūros atributų tikrinimą"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"DHCP kliento programos iš „Lollipop“ versijos naudojimas vietoje naujos „Android“ DHCP kliento programos."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Visada suaktyvinti mobiliojo ryšio duomenis, net kai aktyvus „Wi‑Fi“ ryšys (kad būtų galima greitai perjungti tinklą)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Leisti USB perkrovimą?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB derinimas skirtas naudoti tik kūrimo tikslais. Jis gali būti naudojamas norint kopijuoti duomenis iš kompiuterio į įrenginį ir atvirkščiai, įdiegti programas įrenginyje be pranešimo ir skaityti žurnalo duomenis."</string>
diff --git a/packages/SettingsLib/res/values-lv/strings.xml b/packages/SettingsLib/res/values-lv/strings.xml
index 7dfd9ac..3bd4def 100644
--- a/packages/SettingsLib/res/values-lv/strings.xml
+++ b/packages/SettingsLib/res/values-lv/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Atļaut neīstas vietas"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Atļaut neīstas vietas"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Iespējot atribūtu pārbaudi"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Lietot DHCP klientu no operētājsistēmas Lollipop, nevis jauno Android DHCP klientu."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Mobilo datu savienojums būs vienmēr aktīvs, pat ja būs aktīvs Wi-Fi savienojums (ātrai ierīces pārslēgšanai uz citu tīklu)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Vai atļaut USB atkļūdošanu?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB atkļūdošana ir paredzēta tikai ar izstrādi saistītām darbībām. Izmantojiet to datu kopēšanai no datora uz ierīci un pretēji, lietotņu instalēšanai ierīcē bez paziņojumiem un žurnāla datu lasīšanai."</string>
diff --git a/packages/SettingsLib/res/values-mk-rMK/strings.xml b/packages/SettingsLib/res/values-mk-rMK/strings.xml
index 7d6e43b..58c0cbf 100644
--- a/packages/SettingsLib/res/values-mk-rMK/strings.xml
+++ b/packages/SettingsLib/res/values-mk-rMK/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Овозможи лажни локации"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Овозможи лажни локации"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Овозможете проверка на атрибутот на приказот"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Користете го клиентот на DHCP од Lollipop наместо новиот клиент на DHCP на Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Секогаш држи го активен мобилниот интернет, дури и при активно Wi-Fi (за брзо префрлување мрежа)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Овозможи отстранување грешки на УСБ?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Отстранувањето грешки на УСБ е наменето само за целите на развој. Користете го за копирање податоци меѓу вашиот компјутер и вашиот уред, за инсталирање апликации на вашиот уред без известување и за читање евиденција на податоци."</string>
diff --git a/packages/SettingsLib/res/values-ml-rIN/strings.xml b/packages/SettingsLib/res/values-ml-rIN/strings.xml
index 17b42e9..87c66e2 100644
--- a/packages/SettingsLib/res/values-ml-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-ml-rIN/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"വ്യാജ ലൊക്കേഷനുകൾ അനുവദിക്കുക"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"വ്യാജ ലൊക്കേഷനുകൾ അനുവദിക്കുക"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"ആട്രിബ്യൂട്ട് പരിശോധന കാണൽ സജീവമാക്കൂ"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"പുതിയ Android DHCP ക്ലയന്റിനുപകരം Lollipop-ൽ നിന്ന് DHCP ക്ലയന്റ് ഉപയോഗിക്കുക."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"വൈഫൈ സജീവമാണെങ്കിലും, മൊബൈൽ ഡാറ്റ സജീവമായി നിർത്തുക (വേഗത്തിൽ നെറ്റ്‌വർക്ക് മാറുന്നതിനായി)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB ഡീബഗ്ഗുചെയ്യാൻ അനുവദിക്കണോ?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB ഡീബഗ്ഗിംഗ് വികസന ആവശ്യകതകൾക്ക് മാത്രമുള്ളതാണ്. നിങ്ങളുടെ കമ്പ്യൂട്ടറിനും ഉപകരണത്തിനുമിടയിൽ ഡാറ്റ പകർത്തുന്നതിനും അറിയിപ്പില്ലാതെ തന്നെ നിങ്ങളുടെ ഉപകരണത്തിൽ അപ്ലിക്കേഷനുകൾ ഇൻസ്‌റ്റാളുചെയ്യുന്നതിനും ലോഗ് ഡാറ്റ റീഡുചെയ്യുന്നതിനും ഇത് ഉപയോഗിക്കുക."</string>
diff --git a/packages/SettingsLib/res/values-mn-rMN/strings.xml b/packages/SettingsLib/res/values-mn-rMN/strings.xml
index 359c041..da28495 100644
--- a/packages/SettingsLib/res/values-mn-rMN/strings.xml
+++ b/packages/SettingsLib/res/values-mn-rMN/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Хуурамч байршлыг зөвшөөрөх"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Хуурамч байршлыг зөвшөөрөх"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Харах тохируулгын шалгалтыг идэвхжүүлэх"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Шинэ Андройд DHCP харилцагчийн оронд Lollipop-ийн DHCP харилцагчийг хэрэглэ."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Wi‑Fi идэвхтэй байхад ч гэсэн гар утасны датаг идэвхтэй байлгадаг (сүлжээг түргэн солихын тулд)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB дебаг хийхийг зөвшөөрөх үү?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB дебаг нь зөвхөн хөгжүүлэлтийн зорилготой. Үүнийг өөрийн компьютер болон төхөөрөмжийн хооронд өгөгдөл хуулах, өөрийн төхөөрөмж дээр мэдэгдэлгүйгээр аппликешн суулгах, лог датаг унших зэрэгт ашиглаж болно."</string>
diff --git a/packages/SettingsLib/res/values-mr-rIN/strings.xml b/packages/SettingsLib/res/values-mr-rIN/strings.xml
index 1d5dc19..4462814 100644
--- a/packages/SettingsLib/res/values-mr-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-mr-rIN/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"बनावट स्थानांना अनुमती द्या"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"बनावट स्थानांना अनुमती द्या"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"दृश्‍य विशेषता तपासणी सक्षम करा"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"नवीन Android DHCP क्लायंट ऐवजी Lollipop वरून DHCP क्लायंटचा वापर करा."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"जरी वाय-फाय सक्रिय असले तरीही, नेहमी मोबाईल डेटा सक्रिय ठेवा (जलद नेटवर्क स्विच करण्यासाठी)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB डीबग करण्यास अनुमती द्यायची?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB डीबग करण्याचा हेतू फक्त विकासाच्या उद्देशांसाठी आहे. याचा वापर आपला संगणक आणि आपले डिव्हाइस यांच्या दरम्यान डेटा कॉपी करण्यासाठी करा, सूचनेशिवाय आपल्या डिव्हाइसवर अॅप्स स्थापित करा आणि लॉग डेटा वाचा."</string>
diff --git a/packages/SettingsLib/res/values-ms-rMY/strings.xml b/packages/SettingsLib/res/values-ms-rMY/strings.xml
index 8809f71..cbb67b3 100644
--- a/packages/SettingsLib/res/values-ms-rMY/strings.xml
+++ b/packages/SettingsLib/res/values-ms-rMY/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Benarkan lokasi olokan"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Benarkan lokasi olokan"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Dayakan pemeriksaan atribut paparan"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Gunakan pelanggan DHCP daripada Lollipop bukannya pelanggan DHCP Android baharu."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Pastikan data mudah alih sentiasa aktif, walaupun Wi-Fi aktif (untuk penukaran rangkaian yang pantas)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Benarkan penyahpepijatan USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Penyahpepijatan USB adalah dimaksudkan untuk tujuan pembangunan sahaja. Gunakannya untuk menyalin data antara komputer dan peranti anda, memasang aplikasi pada peranti anda tanpa pemberitahuan, dan membaca data log."</string>
diff --git a/packages/SettingsLib/res/values-my-rMM/strings.xml b/packages/SettingsLib/res/values-my-rMM/strings.xml
index d035e13..905ccc9 100644
--- a/packages/SettingsLib/res/values-my-rMM/strings.xml
+++ b/packages/SettingsLib/res/values-my-rMM/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"ပုံစံတုတည်နေရာများကို ခွင့်ပြုရန်"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"ပုံစံတုတည်နေရာများကို ခွင့်ပြုရန်"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"အရည်အချင်းများ စူးစမ်းမှု မြင်ကွင်းကို ဖွင့်ပေးရန်"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Android DHCP ကလိုင်းယင့် အသစ် အစား Lollipop မှ DHCP ကလိုင်းယင့်အား သုံးပါ။"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"ဝိုင်ဖိုင်ဖွင့်ထားလျှင်တောင် မိုဘိုင်းဒေတာအမြဲတမ်းဖွင့်မည် (မြန်ဆန်သည့် ကွန်ရက် ပြောင်းခြင်းအတွက်)။"</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB ပြသနာရှာခြင်း ခွင့်ပြုပါမလား?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USBအမှားရှားခြင်းမှာ ဆော့ဝဲလ်ရေးသားရန်အတွက်သာ ရည်ရွယ်ပါသည်။ သင့်ကွန်ပြုတာနှင့်သင့်စက်ကြားတွင် ဒေတာများကိုကူးယူရန်၊ အကြောင်းမကြားပဲနှင့် သင့်စက်အတွင်းသို့ အပလီကေးရှင်းများထည့်သွင်းခြင်းနှင့် ဒေတာမှတ်တမ်းများဖတ်ရန်အတွက် အသုံးပြုပါ"</string>
diff --git a/packages/SettingsLib/res/values-nb/strings.xml b/packages/SettingsLib/res/values-nb/strings.xml
index 1c13fc3..eff9070 100644
--- a/packages/SettingsLib/res/values-nb/strings.xml
+++ b/packages/SettingsLib/res/values-nb/strings.xml
@@ -98,7 +98,7 @@
     <string name="launch_defaults_some" msgid="313159469856372621">"Noen standardvalg er angitt"</string>
     <string name="launch_defaults_none" msgid="4241129108140034876">"Ingen standardvalg er angitt"</string>
     <string name="tts_settings" msgid="8186971894801348327">"Talesyntese-kontroller"</string>
-    <string name="tts_settings_title" msgid="1237820681016639683">"Tekst-til-tale"</string>
+    <string name="tts_settings_title" msgid="1237820681016639683">"Tekst til tale"</string>
     <string name="tts_default_rate_title" msgid="6030550998379310088">"Talehastighet"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"Hvor raskt teksten leses"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"Stemmeleie"</string>
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Tillat simulert posisjon"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Tillat bruk av simulerte GPS-koordinater"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Slå på inspeksjon av visningsattributt"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Bruk DHCP-klienten fra Lollipop i stedet for den nye DHCP-klienten for Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Ha alltid mobildata slått på, selv når Wi-Fi er aktiv (for hurtig nettverksbytting)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Tillate USB-feilsøking?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB-feilsøking er bare ment for utviklingsformål. Bruk det til å kopiere data mellom datamaskinen og enheten, installere apper på enheten uten varsel og lese loggdata."</string>
diff --git a/packages/SettingsLib/res/values-ne-rNP/strings.xml b/packages/SettingsLib/res/values-ne-rNP/strings.xml
index f8ba831..db13926 100644
--- a/packages/SettingsLib/res/values-ne-rNP/strings.xml
+++ b/packages/SettingsLib/res/values-ne-rNP/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"नक्कली स्थानहरूलाई अनुमति दिनुहोस्"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"नक्कली स्थानहरूलाई अनुमति दिनुहोस्"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"दृष्टिकोण विशेषता निरीक्षण सक्षम पार्नुहोस्"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"नयाँ Android DHCP ग्राहकको सट्टा Lollipop बाट DHCP ग्राहक प्रयोग गर्नुहोस्।"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Wi-Fi सक्रिय हुँदा पनि मोबाइल डेटा सधैँ सक्रिय राख्नुहोस् (द्रूत नेटवर्क स्विच गर्नको लागि)।"</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB डिबग गर्न लागि अनुमति दिने हो?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"युएसबी डिबगिङ विकास प्रयोजनका लागि मात्र निर्मित हुन्छ। यसलाई तपाईँको कम्प्युटर र तपाईँको उपकरणका बीच डेटा प्रतिलिपि गर्न, बिना सूचना तपाईँको उपकरणमा अनुप्रयोगहरू स्थापना गर्न र लग डेटा पढ्नका लागि प्रयोग गर्नुहोस्।"</string>
diff --git a/packages/SettingsLib/res/values-nl/strings.xml b/packages/SettingsLib/res/values-nl/strings.xml
index b080131..3bb0005 100644
--- a/packages/SettingsLib/res/values-nl/strings.xml
+++ b/packages/SettingsLib/res/values-nl/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Neplocaties toestaan"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Neplocaties toestaan"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Inspectie van weergavekenmerk inschakelen"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"De DHCP-client van Lollipop gebruiken in plaats van de nieuwe Android DHCP-client."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Mobiele gegevens altijd actief houden, ook als wifi actief is (voor sneller schakelen tussen netwerken)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB-foutopsporing toestaan?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB-foutopsporing is alleen bedoeld voor ontwikkeldoeleinden. Het kan worden gebruikt om gegevens te kopiëren tussen je computer en je apparaat, apps zonder melding op je apparaat te installeren en loggegevens te lezen."</string>
diff --git a/packages/SettingsLib/res/values-pa-rIN/strings.xml b/packages/SettingsLib/res/values-pa-rIN/strings.xml
index f2bb190..0670bf8 100644
--- a/packages/SettingsLib/res/values-pa-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-pa-rIN/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"ਨਕਲੀ ਨਿਰਧਾਰਿਤ ਸਥਾਨਾਂ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"ਨਕਲੀ ਨਿਰਧਾਰਿਤ ਸਥਾਨਾਂ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"ਗੁਣ ਛਾਣਬੀਣ ਦੇਖੋ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"ਨਵੇਂ Android DHCP ਕਲਾਈਂਟ ਦੀ ਬਜਾਇ Lollipop ਦਾ DHCP ਕਲਾਈਂਟ ਵਰਤੋ।"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"ਹਮੇਸ਼ਾ ਮੋਬਾਈਲ ਡੇਟਾ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਰੱਖੋ ਭਾਵੇਂ Wi‑Fi ਕਿਰਿਆਸ਼ੀਲ ਹੋਵੇ (ਤੇਜ਼ ਨੈੱਟਵਰਕ ਸਵਿੱਚਿੰਗ ਲਈ)।"</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"ਕੀ USB ਡੀਬਗਿੰਗ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB ਡੀਬਗਿੰਗ ਕੇਵਲ ਵਿਕਾਸ ਮੰਤਵਾਂ ਲਈ ਹੁੰਦੀ ਹੈ। ਇਸਨੂੰ ਆਪਣੇ ਕੰਪਿਊਟਰ ਅਤੇ ਆਪਣੀ ਡੀਵਾਈਸ ਵਿਚਕਾਰ ਡੈਟਾ ਕਾਪੀ ਕਰਨ ਲਈ ਵਰਤੋ, ਸੂਚਨਾ ਦੇ ਬਿਨਾਂ ਆਪਣੀ ਡੀਵਾਈਸ ਤੇ ਐਪਸ ਇੰਸਟੌਲ ਕਰੋ ਅਤੇ ਲੌਗ ਡੈਟਾ ਪੜ੍ਹੋ।"</string>
diff --git a/packages/SettingsLib/res/values-pl/strings.xml b/packages/SettingsLib/res/values-pl/strings.xml
index c72f0c6..3339f8e 100644
--- a/packages/SettingsLib/res/values-pl/strings.xml
+++ b/packages/SettingsLib/res/values-pl/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Pozorowanie lokalizacji"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Zezwalaj na pozorowanie lokalizacji"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Inspekcja wyświetlania atrybutu"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Użyj klienta DHCP z Lollipop zamiast nowego klienta DHCP Androida"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Nie wyłączaj transmisji danych przez sieć komórkową, nawet gdy aktywne jest połączenie Wi-Fi (aby szybko przełączać sieci)"</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Czy zezwalać na debugowanie USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Debugowanie USB jest przeznaczone wyłącznie do celów programistycznych. Może służyć do kopiowania danych między komputerem a urządzeniem, instalowania aplikacji na urządzeniu bez powiadamiania, a także odczytu danych dziennika."</string>
diff --git a/packages/SettingsLib/res/values-pt-rBR/strings.xml b/packages/SettingsLib/res/values-pt-rBR/strings.xml
index d01ddb7..afa5a50 100644
--- a/packages/SettingsLib/res/values-pt-rBR/strings.xml
+++ b/packages/SettingsLib/res/values-pt-rBR/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Permitir locais fictícios"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Permitir locais fictícios"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Ativar visualiz. insp. atributo"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Usar cliente DHCP do Lollipop, em vez do novo cliente DHCP do Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Sempre manter dados móveis ativos, mesmo quando o Wi-Fi estiver ativado (para troca rápida de rede)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Permitir a depuração USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"A depuração USB serve apenas para fins de desenvolvimento. Use-a para copiar dados entre o computador e o dispositivo, instalar apps no seu aparelho sem notificação e ler dados de registro."</string>
diff --git a/packages/SettingsLib/res/values-pt-rPT/strings.xml b/packages/SettingsLib/res/values-pt-rPT/strings.xml
index 8e05d8c..6efd782 100644
--- a/packages/SettingsLib/res/values-pt-rPT/strings.xml
+++ b/packages/SettingsLib/res/values-pt-rPT/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Permitir locais fictícios"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Permitir locais fictícios"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Ativar a inspeção do atributo de visualização"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Utilizar o cliente DHCP do Lollipop em vez do novo cliente DHCP do Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Manter sempre os dados móveis ativados, mesmo quando o Wi‑Fi estiver ativado (para mudança de rede rápida)"</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Permitir depuração USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"A depuração USB é utilizada apenas para fins de programação. Utilize-a para copiar dados entre o computador e o aparelho, instalar aplicações no aparelho sem notificação e ler dados de registo."</string>
diff --git a/packages/SettingsLib/res/values-pt/strings.xml b/packages/SettingsLib/res/values-pt/strings.xml
index d01ddb7..afa5a50 100644
--- a/packages/SettingsLib/res/values-pt/strings.xml
+++ b/packages/SettingsLib/res/values-pt/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Permitir locais fictícios"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Permitir locais fictícios"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Ativar visualiz. insp. atributo"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Usar cliente DHCP do Lollipop, em vez do novo cliente DHCP do Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Sempre manter dados móveis ativos, mesmo quando o Wi-Fi estiver ativado (para troca rápida de rede)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Permitir a depuração USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"A depuração USB serve apenas para fins de desenvolvimento. Use-a para copiar dados entre o computador e o dispositivo, instalar apps no seu aparelho sem notificação e ler dados de registro."</string>
diff --git a/packages/SettingsLib/res/values-ro/strings.xml b/packages/SettingsLib/res/values-ro/strings.xml
index c8587ef..20f746d 100644
--- a/packages/SettingsLib/res/values-ro/strings.xml
+++ b/packages/SettingsLib/res/values-ro/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Permiteți locațiile fictive"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Permiteți locațiile fictive"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Activați inspectarea atributelor de vizualizare"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Folosiți clientul DHCP din Lollipop în locul noului client Android DHCP."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Păstrați întotdeauna conexiunea de date mobile activată, chiar și atunci când funcția Wi‑Fi este activată (pentru comutarea rapidă între rețele)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Permiteți depanarea USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Depanarea USB are exclusiv scopuri de dezvoltare. Utilizați-o pentru a copia date de pe computer pe dispozitiv, pentru a instala aplicații pe dispozitiv fără notificare și pentru a citi datele din jurnale."</string>
diff --git a/packages/SettingsLib/res/values-ru/strings.xml b/packages/SettingsLib/res/values-ru/strings.xml
index 5721a8d..ca85c14 100644
--- a/packages/SettingsLib/res/values-ru/strings.xml
+++ b/packages/SettingsLib/res/values-ru/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Фиктивные местоположения"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Разрешить использование фиктивных местоположений"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Включить проверку атрибутов"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Использовать DHCP-клиент для Android 5.0, а не для новой версии."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Не отключать передачу данных по мобильной сети даже при активном Wi-Fi-подключении (для быстрого переключения между сетями)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Разрешить отладку USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Отладка по USB – это режим, который позволяет использовать ваше устройство как внешний накопитель: перемещать файлы (с компьютера и на компьютер), напрямую устанавливать приложения, а также просматривать системные журналы."</string>
diff --git a/packages/SettingsLib/res/values-si-rLK/strings.xml b/packages/SettingsLib/res/values-si-rLK/strings.xml
index 0087352..0374b4d 100644
--- a/packages/SettingsLib/res/values-si-rLK/strings.xml
+++ b/packages/SettingsLib/res/values-si-rLK/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"ව්‍යාජ ස්ථානයන්ට අවසර දෙන්න"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"ව්‍යාජ ස්ථාන අනුමත කරන්න"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"උපලක්ෂණ පරික්ෂාව බැලීම සබල කරන්න"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"නව Android DHCP සේවාලාභියා වෙනුවට Lollipop වෙතින් DHCP සේවාලාභියා භාවිත කරන්න."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Wi‑Fi අක්‍රිය විට පවා, සැම විටම ජංගම දත්ත ක්‍රියාකාරීව තබන්න (අවසන් ජාල මාරුව සඳහා)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB දෝශාවේක්ෂණයට ඉඩ දෙන්නද?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB දෝශාවේක්ෂණය සංවර්ධන කටයුතු සඳහා පමණක් යොදාගැනේ. එය ඔබගේ පරිගණකය සහ ඔබගේ උපාංගය අතර දත්ත පිටපත් කිරීමට පමණක් භාවිතා කරන්න, ඔබගේ උපාංගය මත දැනුම්දීම් රහිතව යෙදුම් ස්ථාපනය කරන්න, සහ ලොග් දත්ත කියවන්න."</string>
diff --git a/packages/SettingsLib/res/values-sk/strings.xml b/packages/SettingsLib/res/values-sk/strings.xml
index a791a1e..43514b7 100644
--- a/packages/SettingsLib/res/values-sk/strings.xml
+++ b/packages/SettingsLib/res/values-sk/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Povoliť simulované polohy"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Povoliť simulované polohy"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Kontrola atribútov zobrazenia"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Použitie klienta DHCP z verzie Lollipop namiesto nového klienta Android DHCP."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Vždy ponechávať mobilné dáta aktívne, dokonca aj pri aktívnej sieti Wi‑Fi (na rýchle prepínanie sietí)"</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Povoliť ladenie cez USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Ladenie prostredníctvom USB je určené iba na účely vývoja. Použite ho na kopírovanie dát medzi počítačom a zariadením, inštaláciu aplikácií do zariadenia bez upozornenia a čítanie údajov denníka."</string>
diff --git a/packages/SettingsLib/res/values-sl/strings.xml b/packages/SettingsLib/res/values-sl/strings.xml
index 25972d0..76e14cf 100644
--- a/packages/SettingsLib/res/values-sl/strings.xml
+++ b/packages/SettingsLib/res/values-sl/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Dovoli lažne lokacije"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Dovoli lažne lokacije"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Omogoči pregled atributa pogleda"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Uporaba odjemalca DHCP za Lollipop namesto novega odjemalca DHCP za Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Prenos podatkov v mobilnih omrežjih je vedno aktiven – tudi ko je aktivna povezava Wi-Fi (za hiter preklop med omrežji)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Ali dovolite odpravljanje težav s povezavo USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Odpravljanje težav s povezavo USB je namenjeno samo za razvoj. Lahko ga uporabljate za kopiranje podatkov med računalnikom in napravo, nameščanje aplikacij v napravo brez obveščanja in branje podatkov v dnevniku."</string>
diff --git a/packages/SettingsLib/res/values-sq-rAL/strings.xml b/packages/SettingsLib/res/values-sq-rAL/strings.xml
index 4ab5025..7056ea4 100644
--- a/packages/SettingsLib/res/values-sq-rAL/strings.xml
+++ b/packages/SettingsLib/res/values-sq-rAL/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Lejo vendndodhje të simuluara"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Lejo vendndodhje të simuluara"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Aktivizo shikimin e inspektimit të atributeve"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Përdor klientin DHCP nga Lollipop në vend të klientit të ri DHCP të Androidit."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Mbaji të dhënat celulare gjithmonë aktive edhe kur Wi‑Fi është aktiv (për ndërrim të shpejtë të rrjetit)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Të lejohet korrigjimi i USB-së?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Korrigjuesi i USB-së është vetëm për qëllime zhvillimore. Përdore për të kopjuar të dhëna mes kompjuterit dhe pajisjes tënde, për të instaluar aplikacione në pajisjen tënde pa asnjë njoftim si dhe për të lexuar të dhënat e ditarit."</string>
diff --git a/packages/SettingsLib/res/values-sr/strings.xml b/packages/SettingsLib/res/values-sr/strings.xml
index 9858580..7e2f887 100644
--- a/packages/SettingsLib/res/values-sr/strings.xml
+++ b/packages/SettingsLib/res/values-sr/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Дозволи лажне локације"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Дозволи лажне локације"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Омогући проверу атрибута за преглед"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Користите DHCP клијент из Lollipop-а уместо новог Android DHCP клијента."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Нека подаци за мобилне уређаје увек буду активни, чак и када је Wi‑Fi активан (ради брзе промене мреже)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Дозволи отклањање USB грешака?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Отклањање USB грешака намењено је само за сврхе програмирања. Користите га за копирање података са рачунара на уређај и обрнуто, инсталирање апликација на уређају без обавештења и читање података из евиденције."</string>
diff --git a/packages/SettingsLib/res/values-sv/strings.xml b/packages/SettingsLib/res/values-sv/strings.xml
index 45b1b6c..4145d57 100644
--- a/packages/SettingsLib/res/values-sv/strings.xml
+++ b/packages/SettingsLib/res/values-sv/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Tillåt skenplatser"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Tillåt skenplatser"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Aktivera inspektion av visningsattribut"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Använd DHCP-klienten från Lollipop i stället för den nya Android DHCP-klienten."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Håll alltid mobildata aktiverad, även när Wi-Fi är aktiverat (så att du snabbt kan byta mellan nätverk)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Ska USB-felsökning tillåtas?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB-felsökning ska endast användas i utvecklingssyfte. Använd den för att kopiera data mellan datorn och enheten, installera appar på enheten utan meddelanden och läsa loggdata."</string>
diff --git a/packages/SettingsLib/res/values-sw/strings.xml b/packages/SettingsLib/res/values-sw/strings.xml
index 89545f9..1c8c810 100644
--- a/packages/SettingsLib/res/values-sw/strings.xml
+++ b/packages/SettingsLib/res/values-sw/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Ruhusu maeneo ya jaribio"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Ruhusu maeneo ya majaribio"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Washa ukaguzi wa sifa ya onyesho"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Tumia kiteja cha DHCP kutoka Lollipop badala ya kiteja kipya cha DHCP cha Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Washa kila wakati data ya kifaa cha mkononi, hata kama Wi-Fi inatumika (katika uzimaji wa haraka wa mtandao)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Ruhusu utatuaji USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Ueuaji wa USB umekusudiwa kwa malengo ya utengenezaji tu. Itumi kunakili data kati ya kompyuta yako na kifaa chako, kusanidi programu kwa kifaa chako bila arifa, na kusoma data ya rajisi."</string>
diff --git a/packages/SettingsLib/res/values-ta-rIN/strings.xml b/packages/SettingsLib/res/values-ta-rIN/strings.xml
index 75a69a5..6b0e378 100644
--- a/packages/SettingsLib/res/values-ta-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-ta-rIN/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"போலி இருப்பிடங்களை அனுமதி"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"போலி இருப்பிடங்களை அனுமதி"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"காட்சி பண்புக்கூறு சோதனையை இயக்கு"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"புதிய Android DHCP க்ளையன்ட்டிற்குப் பதிலாக, Lollipop இலிருந்து DHCP க்ளையன்ட்டைப் பயன்படுத்தவும்."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"வைஃபை இயங்கும் போதும் (வேகமான நெட்வொர்க் மாற்றத்திற்கு), மொபைல் தரவை எப்போதும் இயக்கத்தில் வைக்கும்."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB பிழைத்திருத்தத்தை அனுமதிக்கவா?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB பிழைத்திருத்தம் மேம்படுத்தல் நோக்கங்களுக்காக மட்டுமே. அதை உங்கள் கணினி மற்றும் சாதனத்திற்கு இடையில் தரவை நகலெடுக்கவும், அறிவிப்பு இல்லாமல் உங்கள் சாதனத்தில் பயன்பாடுகளை நிறுவவும், பதிவு தரவைப் படிக்கவும் பயன்படுத்தவும்."</string>
diff --git a/packages/SettingsLib/res/values-te-rIN/strings.xml b/packages/SettingsLib/res/values-te-rIN/strings.xml
index 5a7a7ae..2b054db 100644
--- a/packages/SettingsLib/res/values-te-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-te-rIN/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"అనుకృత స్థానాలను అనుమతించు"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"అనుకృత స్థానాలను అనుమతించు"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"వీక్షణ లక్షణ పర్యవేక్షణను ప్రారంభించు"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"కొత్త Android DHCP క్లయింట్‌కి బదులుగా Lollipop నుండి DHCP క్లయింట్‌ను ఉపయోగించండి."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"ఎల్లప్పుడూ మొబైల్ డేటాను సక్రియంగా ఉంచు, Wi‑Fi సక్రియంగా ఉన్నా కూడా (వేగవంతమైన నెట్‌వర్క్ మార్పు కోసం)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB డీబగ్గింగ్‌ను అనుమతించాలా?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB డీబగ్గింగ్ అనేది అభివృద్ధి ప్రయోజనాల కోసం మాత్రమే ఉద్దేశించబడింది. మీ కంప్యూటర్ మరియు మీ పరికరం మధ్య డేటాను కాపీ చేయడానికి, నోటిఫికేషన్ లేకుండా మీ పరికరంలో అనువర్తనాలను ఇన్‌స్టాల్ చేయడానికి మరియు లాగ్ డేటాను చదవడానికి దీన్ని ఉపయోగించండి."</string>
diff --git a/packages/SettingsLib/res/values-th/strings.xml b/packages/SettingsLib/res/values-th/strings.xml
index d7fe2b6..f250c7d 100644
--- a/packages/SettingsLib/res/values-th/strings.xml
+++ b/packages/SettingsLib/res/values-th/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"อนุญาตให้จำลองตำแหน่ง"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"อนุญาตให้จำลองตำแหน่ง"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"เปิดใช้การตรวจสอบแอตทริบิวต์มุมมอง"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"ใช้ไคลเอ็นต์ DHCP จาก Lollipop แทนไคลเอ็นต์ DHCP ใหม่บน Android"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"เปิดใช้ข้อมูลมือถืออยู่เสมอ แม้ในเวลาที่ใช้งาน Wi-Fi อยู่ (สำหรับสวิตชิงเครือข่ายความเร็วสูง)"</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"อนุญาตให้แก้ไขข้อบกพร่อง USB หรือไม่"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"การแก้ไขข้อบกพร่อง USB มีไว้เพื่อการพัฒนาเท่านั้น ให้ใช้การแก้ไขนี้เพื่อคัดลอกข้อมูลระหว่างคอมพิวเตอร์และอุปกรณ์ ติดตั้งแอปพลิเคชันบนอุปกรณ์โดยไม่มีการแจ้งเตือน และอ่านข้อมูลบันทึก"</string>
diff --git a/packages/SettingsLib/res/values-tl/strings.xml b/packages/SettingsLib/res/values-tl/strings.xml
index 08dbb01..8ec9b253 100644
--- a/packages/SettingsLib/res/values-tl/strings.xml
+++ b/packages/SettingsLib/res/values-tl/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Payagan ang mga kunwaring lokasyon"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Payagan ang mga kunwaring lokasyon"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"I-enable ang pagsisiyasat sa attribute na view"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Gamitin ang DHCP client mula sa Lollipop sa halip na ang bagong Android DHCP client."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Palaging panatilihing aktibo ang mobile data, kahit na aktibo ang Wi‑Fi (para sa mabilis na paglipat ng network)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Payagan ang pag-debug ng USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Ang pag-debug ng USB ay nilalayon para sa mga layuning pagpapabuti lamang. Gamitin ito upang kumopya ng data sa pagitan ng iyong computer at iyong device, mag-install ng apps sa iyong device nang walang notification, at magbasa ng data ng log."</string>
@@ -242,7 +241,7 @@
     <string name="transition_animation_scale_title" msgid="387527540523595875">"Scale ng transition animation"</string>
     <string name="animator_duration_scale_title" msgid="3406722410819934083">"Scale ng tagal ng animator"</string>
     <string name="overlay_display_devices_title" msgid="5364176287998398539">"I-simulate, ika-2 display"</string>
-    <string name="debug_applications_category" msgid="4206913653849771549">"Apps"</string>
+    <string name="debug_applications_category" msgid="4206913653849771549">"Mga App"</string>
     <string name="immediately_destroy_activities" msgid="1579659389568133959">"Huwag magtago ng mga aktibidad"</string>
     <string name="immediately_destroy_activities_summary" msgid="3592221124808773368">"Sirain ang bawat aktibidad sa sandaling iwan ito ng user"</string>
     <string name="app_process_limit_title" msgid="4280600650253107163">"Limitasyon ng proseso sa background"</string>
diff --git a/packages/SettingsLib/res/values-tr/strings.xml b/packages/SettingsLib/res/values-tr/strings.xml
index ceb1292..d31793a 100644
--- a/packages/SettingsLib/res/values-tr/strings.xml
+++ b/packages/SettingsLib/res/values-tr/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Sahte konumlara izin ver"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Sahte konumlara izin ver"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Görünüm özelliği incelemeyi etkinleştir"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Yeni Android DHCP istemcisi yerine Lollipop DHCP istemcisini kullan."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Kablosuz bağlantı etkin bile olsa mobil veri kullanımını her zaman etkin tut (ağlar arasında hızlı geçiş yapmak için)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB hata ayıklamasına izin verilsin mi?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB hata ayıklaması yalnızca geliştirme amaçlıdır. Verileri bilgisayarınızla cihazınız arasında kopyalamak, bildirim göndermeksizin uygulamaları cihazınıza yüklemek ve günlük verilerini okumak için kullanın."</string>
diff --git a/packages/SettingsLib/res/values-uk/strings.xml b/packages/SettingsLib/res/values-uk/strings.xml
index 44c9be7..fa30b39 100644
--- a/packages/SettingsLib/res/values-uk/strings.xml
+++ b/packages/SettingsLib/res/values-uk/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Фіктивні місцезнаходження"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Дозв. фіктивні місцезн."</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Увімкнути оцінку атрибуції переглядів"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Використовувати клієнт DHCP з Lollipop, а не новий клієнт DHCP з Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Не вимикати мобільний Інтернет, навіть якщо ввімкнено Wi‑Fi (щоб швидше переходити між мережами)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Дозвол. налагодж. USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Налагодження USB застосовується лише з метою розробки. Його можна використовувати для копіювання даних між комп’ютером і пристроєм, встановлення програм на вашому пристрої без сповіщення та читання даних журналу."</string>
diff --git a/packages/SettingsLib/res/values-ur-rPK/strings.xml b/packages/SettingsLib/res/values-ur-rPK/strings.xml
index 6490204..e62e8ca 100644
--- a/packages/SettingsLib/res/values-ur-rPK/strings.xml
+++ b/packages/SettingsLib/res/values-ur-rPK/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"فرضی مقامات کی اجازت دیں"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"فرضی مقامات کی اجازت دیں"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"منظر انتساب کے معائنہ کو فعال کریں"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"‏نئے Android DHCP کلائنٹ کی بجائے Lollipop کا DHCP کلائنٹ استعمال کریں۔"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"‏Wi‑Fi فعال ہونے پر بھی موبائل ڈیٹا کو ہمیشہ فعال رکھیں (تیزی سے نیٹ ورک سوئچ کرنے کیلئے)۔"</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"‏USB ڈیبگ کرنے کی اجازت دیں؟"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"‏USB ڈیبگ کرنا صرف ڈیولپمنٹ کے مقاصد کیلئے ہے۔ اپنے کمپیوٹر اور اپنے آلہ کے درمیان ڈیٹا کاپی کرنے کیلئے اسے استعمال کریں، بغیر اطلاع کے اپنے آلہ پر ایپس انسٹال کریں اور لاگ ڈیٹا پڑھیں۔"</string>
diff --git a/packages/SettingsLib/res/values-uz-rUZ/strings.xml b/packages/SettingsLib/res/values-uz-rUZ/strings.xml
index 13fdb05..35e3e88 100644
--- a/packages/SettingsLib/res/values-uz-rUZ/strings.xml
+++ b/packages/SettingsLib/res/values-uz-rUZ/strings.xml
@@ -85,7 +85,7 @@
     <string name="accessibility_wifi_signal_full" msgid="7061045677694702">"Wi-Fi: signal to‘liq"</string>
     <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string>
     <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"O‘chirilgan ilovalar"</string>
-    <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"O‘chirib yuborilgan ilovalar va foydalanuvchilar"</string>
+    <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"O‘chirib tashlangan ilova va foydalanuvchilar"</string>
     <string name="tether_settings_title_usb" msgid="6688416425801386511">"USB modem"</string>
     <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Ixcham hotspot"</string>
     <string name="tether_settings_title_bluetooth" msgid="355855408317564420">"Bluetooth modem"</string>
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Qo‘lbola joylashuvlarga ruxsat berish"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Joylashuv emulyatsiyasiga ruxsat berish"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Alomatlar tekshiruvini yoqish"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Yangi Android DHCP mijoz-dasturi o‘rniga Lollipop tizimi DHCP mijoz-dasturidan foydalanilsin."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Mobil internet har doim yoniq tursin, hatto Wi-Fi yoniq bo‘lsa ham (bir tarmoqdan ikkinchisiga tezroq o‘tish uchun)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"USB orqali nosozliklarni tuzatishga ruxsat berilsinmi?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB orqali nosozliklarni tuzatish faqat dasturlash maqsadlarida yoqiladi. Undan ma‘lumotlarni qurilmangiz va kompyuter o‘rtasida ko‘chirish, ilovalarni xabarnomasiz o‘rnatish va jurnal ma‘lumotlarini o‘qish uchun foydalaniladi."</string>
diff --git a/packages/SettingsLib/res/values-vi/strings.xml b/packages/SettingsLib/res/values-vi/strings.xml
index c6b47fd..1fd9874 100644
--- a/packages/SettingsLib/res/values-vi/strings.xml
+++ b/packages/SettingsLib/res/values-vi/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Cho phép vị trí mô phỏng"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Cho phép vị trí mô phỏng"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Cho phép kiểm tra thuộc tính của chế độ xem"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Sử dụng ứng dụng DHCP từ Lollipop thay vì ứng dụng DHCP mới của Android."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Luôn giữ cho dữ liệu di động hoạt động, ngay cả khi Wi-Fi đang hoạt động (để chuyển đổi mạng nhanh)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Cho phép gỡ lỗi USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Gỡ lỗi USB chỉ dành cho mục đích phát triển. Hãy sử dụng tính năng này để sao chép dữ liệu giữa máy tính và thiết bị của bạn, cài đặt ứng dụng trên thiết bị của bạn mà không thông báo và đọc dữ liệu nhật ký."</string>
diff --git a/packages/SettingsLib/res/values-zh-rCN/strings.xml b/packages/SettingsLib/res/values-zh-rCN/strings.xml
index 6b4c453..09c12dc 100644
--- a/packages/SettingsLib/res/values-zh-rCN/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rCN/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"允许模拟位置"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"允许模拟位置"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"启用视图属性检查功能"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"使用 Lollipop 的 DHCP 客户端,而不是新的 Android DHCP 客户端。"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"始终开启移动数据网络,即使 WLAN 网络已开启(便于快速切换网络)。"</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"是否允许USB调试?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB调试仅适用于开发工作。该功能可用于在您的计算机和设备之间复制数据、在您的设备上安装应用而不发送通知以及读取日志数据。"</string>
diff --git a/packages/SettingsLib/res/values-zh-rHK/strings.xml b/packages/SettingsLib/res/values-zh-rHK/strings.xml
index c8cb2d9..3161540 100644
--- a/packages/SettingsLib/res/values-zh-rHK/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rHK/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"允許模擬位置"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"允許模擬位置"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"啟用檢視屬性檢查"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"使用 Lollipop 的 DHCP 用戶端,而不是新的 Android DHCP 用戶端。"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"即使 Wi‑Fi 已啟用,仍永遠啟用流動數據 (可快速切換網絡)。"</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"允許 USB 偵錯嗎?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB 偵錯是針對應用程式開發而設計的功能,可讓您在電腦與裝置間複製資料、不用通知即可在裝置上安裝應用程式,以及讀取記錄資料。"</string>
diff --git a/packages/SettingsLib/res/values-zh-rTW/strings.xml b/packages/SettingsLib/res/values-zh-rTW/strings.xml
index 75f9758..dbadc0a 100644
--- a/packages/SettingsLib/res/values-zh-rTW/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rTW/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"允許模擬位置"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"允許模擬位置"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"啟用檢視屬性檢查"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"使用 Lollipop 的 DHCP 用戶端,不使用新型 Android DHCP 用戶端。"</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"即使 Wi‑Fi 連線已啟用,一律將行動數據連線保持啟用狀態 (以便快速切換網路)。"</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"允許 USB 偵錯嗎?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"USB 偵錯是針對應用程式開發而設計的功能,可讓您複製電腦和裝置中的資料、不需經由通知即可在裝置上安裝應用程式,以及讀取記錄資料。"</string>
diff --git a/packages/SettingsLib/res/values-zu/strings.xml b/packages/SettingsLib/res/values-zu/strings.xml
index 1217183..895ce63 100644
--- a/packages/SettingsLib/res/values-zu/strings.xml
+++ b/packages/SettingsLib/res/values-zu/strings.xml
@@ -180,7 +180,6 @@
     <string name="allow_mock_location" msgid="2787962564578664888">"Vumela izindawo mbumbulu"</string>
     <string name="allow_mock_location_summary" msgid="317615105156345626">"Vumela izindawo mbumbulu"</string>
     <string name="debug_view_attributes" msgid="6485448367803310384">"Nika amandla ukubuka"</string>
-    <string name="legacy_dhcp_client_summary" msgid="163383566317652040">"Sebenzisa iklayenti le-DHCP kusukela ku-Lollipop esikhundleni seklayenti elisha le-Android DHCP."</string>
     <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Hlala ugcine idatha yeselula isebenza, nanoma i-Wi-Fi isebenza (ngokushintshwa kwenethiwekhi okusheshayo)."</string>
     <string name="adb_warning_title" msgid="6234463310896563253">"Vumela ukulungisa iphutha le-USB?"</string>
     <string name="adb_warning_message" msgid="7316799925425402244">"Ukulungisa iphutha le-USB kuhloselwe izinjongo zokuthuthukisa kuphela. Ingasebenziselwa ukukopisha idatha phakathi kwekhompyutha yakho nedivaysi yakho, faka izinhlelo zokusebenza kwidivaysi yakho ngaphandle kwesaziso, bese ufunda idatha yefayela lokungena."</string>
diff --git a/packages/SettingsLib/res/values/colors.xml b/packages/SettingsLib/res/values/colors.xml
index 796273d..02b7ea6 100644
--- a/packages/SettingsLib/res/values/colors.xml
+++ b/packages/SettingsLib/res/values/colors.xml
@@ -17,5 +17,5 @@
 <resources>
     <color name="disabled_text_color">#66000000</color> <!-- 38% black -->
 
-    <color name="usage_graph_dots">#455A64</color>
+    <color name="usage_graph_dots">@*android:color/tertiary_device_default_settings</color>
 </resources>
diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml
index 89c46d7..97121e9 100644
--- a/packages/SettingsLib/res/values/strings.xml
+++ b/packages/SettingsLib/res/values/strings.xml
@@ -448,8 +448,6 @@
     <string name="allow_mock_location_summary">Allow mock locations</string>
     <!-- Setting Checkbox title whether to enable view attribute inspection -->
     <string name="debug_view_attributes">Enable view attribute inspection</string>
-    <!-- Setting Checkbox summary whether to use DHCP client from Lollipop (Android 5.0) [CHAR LIMIT=130] -->
-    <string name="legacy_dhcp_client_summary">Use the DHCP client from Lollipop instead of the new Android DHCP client.</string>
     <string name="mobile_data_always_on_summary">Always keep mobile data active, even when Wi\u2011Fi is active (for fast network switching).</string>
     <!-- Title of warning dialog about the implications of enabling USB debugging -->
     <string name="adb_warning_title">Allow USB debugging?</string>
diff --git a/packages/SettingsLib/src/com/android/settingslib/HelpUtils.java b/packages/SettingsLib/src/com/android/settingslib/HelpUtils.java
index 76ba0a7..5791168 100644
--- a/packages/SettingsLib/src/com/android/settingslib/HelpUtils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/HelpUtils.java
@@ -24,6 +24,7 @@
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.res.Resources.Theme;
+import android.content.res.TypedArray;
 import android.net.Uri;
 import android.text.TextUtils;
 import android.util.Log;
@@ -162,10 +163,9 @@
             intent.putExtra(EXTRA_CONTEXT, backupContext);
         }
         intent.putExtra(EXTRA_THEME, 1 /* Light, dark action bar */);
-        Theme theme = context.getTheme();
-        TypedValue typedValue = new TypedValue();
-        theme.resolveAttribute(android.R.attr.colorPrimary, typedValue, true);
-        intent.putExtra(EXTRA_PRIMARY_COLOR, context.getColor(typedValue.resourceId));
+        TypedArray array = context.obtainStyledAttributes(new int[]{android.R.attr.colorPrimary});
+        intent.putExtra(EXTRA_PRIMARY_COLOR, array.getColor(0, 0));
+        array.recycle();
     }
 
     /**
diff --git a/packages/SettingsLib/src/com/android/settingslib/Utils.java b/packages/SettingsLib/src/com/android/settingslib/Utils.java
index d98f1a4..548ddf8 100644
--- a/packages/SettingsLib/src/com/android/settingslib/Utils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/Utils.java
@@ -1,5 +1,6 @@
 package com.android.settingslib;
 
+import android.annotation.ColorInt;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageInfo;
@@ -8,12 +9,14 @@
 import android.content.pm.UserInfo;
 import android.content.pm.Signature;
 import android.content.res.Resources;
+import android.content.res.TypedArray;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.graphics.drawable.Drawable;
 import android.net.ConnectivityManager;
 import android.os.BatteryManager;
 import android.os.UserManager;
+import android.print.PrintManager;
 import com.android.internal.util.UserIcons;
 import com.android.settingslib.drawable.UserIconDrawable;
 
@@ -154,6 +157,14 @@
         return statusString;
     }
 
+    @ColorInt
+    public static int getColorAccent(Context context) {
+        TypedArray ta = context.obtainStyledAttributes(new int[]{android.R.attr.colorAccent});
+        @ColorInt int colorAccent = ta.getColor(0, 0);
+        ta.recycle();
+        return colorAccent;
+    }
+
     /**
      * Determine whether a package is a "system package", in which case certain things (like
      * disabling notifications or disabling the package altogether) should be disallowed.
@@ -175,7 +186,8 @@
                         && sSystemSignature[0].equals(getFirstSignature(pkg)))
                 || pkg.packageName.equals(sPermissionControllerPackageName)
                 || pkg.packageName.equals(sServicesSystemSharedLibPackageName)
-                || pkg.packageName.equals(sSharedSystemSharedLibPackageName);
+                || pkg.packageName.equals(sSharedSystemSharedLibPackageName)
+                || pkg.packageName.equals(PrintManager.PRINT_SPOOLER_PACKAGE_NAME);
     }
 
     private static Signature getFirstSignature(PackageInfo pkg) {
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java
index c075703..a879d16f 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java
@@ -809,7 +809,9 @@
             // No separate prompt is displayed after pairing.
             if (getPhonebookPermissionChoice() == CachedBluetoothDevice.ACCESS_UNKNOWN) {
                 if (mDevice.getBluetoothClass().getDeviceClass()
-                        == BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE) {
+                        == BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE ||
+                    mDevice.getBluetoothClass().getDeviceClass()
+                        == BluetoothClass.Device.AUDIO_VIDEO_WEARABLE_HEADSET) {
                     setPhonebookPermissionChoice(CachedBluetoothDevice.ACCESS_ALLOWED);
                 } else {
                     setPhonebookPermissionChoice(CachedBluetoothDevice.ACCESS_REJECTED);
diff --git a/packages/SettingsLib/src/com/android/settingslib/drawer/SettingsDrawerActivity.java b/packages/SettingsLib/src/com/android/settingslib/drawer/SettingsDrawerActivity.java
index 8df7ac5..6658c14 100644
--- a/packages/SettingsLib/src/com/android/settingslib/drawer/SettingsDrawerActivity.java
+++ b/packages/SettingsLib/src/com/android/settingslib/drawer/SettingsDrawerActivity.java
@@ -20,14 +20,17 @@
 import android.app.Activity;
 import android.content.ActivityNotFoundException;
 import android.content.BroadcastReceiver;
+import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
+import android.content.pm.PackageManager;
 import android.content.res.TypedArray;
 import android.os.AsyncTask;
 import android.os.Bundle;
 import android.provider.Settings;
 import android.support.v4.widget.DrawerLayout;
+import android.util.ArraySet;
 import android.util.Log;
 import android.util.Pair;
 import android.view.Gravity;
@@ -58,6 +61,9 @@
 
     private static List<DashboardCategory> sDashboardCategories;
     private static HashMap<Pair<String, String>, Tile> sTileCache;
+    // Serves as a temporary list of tiles to ignore until we heard back from the PM that they
+    // are disabled.
+    private static ArraySet<ComponentName> sTileBlacklist = new ArraySet<>();
     private static InterestingConfigChanges sConfigTracker;
 
     private final PackageReceiver mPackageReceiver = new PackageReceiver();
@@ -288,6 +294,24 @@
         finish();
     }
 
+    public void setTileEnabled(ComponentName component, boolean enabled) {
+        PackageManager pm = getPackageManager();
+        int state = pm.getComponentEnabledSetting(component);
+        boolean isEnabled = state == PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
+        if (isEnabled != enabled || state == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT) {
+            if (enabled) {
+                sTileBlacklist.remove(component);
+            } else {
+                sTileBlacklist.add(component);
+            }
+            pm.setComponentEnabledSetting(component, enabled
+                    ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
+                    : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
+                    PackageManager.DONT_KILL_APP);
+            new CategoriesUpdater().execute();
+        }
+    }
+
     public interface CategoryListener {
         void onCategoriesChanged();
     }
@@ -302,7 +326,23 @@
         }
 
         @Override
+        protected void onPreExecute() {
+            if (sConfigTracker == null || sTileCache == null) {
+                getDashboardCategories();
+            }
+        }
+
+        @Override
         protected void onPostExecute(List<DashboardCategory> dashboardCategories) {
+            for (int i = 0; i < dashboardCategories.size(); i++) {
+                DashboardCategory category = dashboardCategories.get(i);
+                for (int j = 0; j < category.tiles.size(); j++) {
+                    Tile tile = category.tiles.get(j);
+                    if (sTileBlacklist.contains(tile.intent.getComponent())) {
+                        category.tiles.remove(j--);
+                    }
+                }
+            }
             sDashboardCategories = dashboardCategories;
             onCategoriesChanged();
         }
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java
index e071f6a..284827b 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java
@@ -28,13 +28,10 @@
 import android.text.TextUtils;
 import android.util.AttributeSet;
 import android.util.SparseArray;
-import android.view.View;
 import android.widget.TextView;
 
 import com.android.settingslib.R;
 
-import java.util.Objects;
-
 public class AccessPointPreference extends Preference {
 
     private static final int[] STATE_SECURED = {
@@ -111,7 +108,6 @@
             mTitleView.setCompoundDrawablePadding(mBadgePadding);
         }
         view.itemView.setContentDescription(mContentDescription);
-        view.itemView.setAccessibilityLiveRegion(View.ACCESSIBILITY_LIVE_REGION_POLITE);
     }
 
     protected void updateIcon(int level, Context context) {
@@ -152,7 +148,6 @@
      * Updates the title and summary; may indirectly call notifyChanged().
      */
     public void refresh() {
-        boolean updated = false;
         if (mForSavedNetworks) {
             setTitle(mAccessPoint.getConfigName());
         } else {
@@ -164,28 +159,21 @@
         if (level != mLevel) {
             mLevel = level;
             updateIcon(mLevel, context);
-            updated = true;
+            notifyChanged();
         }
         updateBadge(context);
 
         setSummary(mForSavedNetworks ? mAccessPoint.getSavedNetworkSummary()
                 : mAccessPoint.getSettingsSummary());
 
-        CharSequence contentDescription = getTitle();
+        mContentDescription = getTitle();
         if (getSummary() != null) {
-            contentDescription = TextUtils.concat(contentDescription, ",", getSummary());
+            mContentDescription = TextUtils.concat(mContentDescription, ",", getSummary());
         }
         if (level >= 0 && level < WIFI_CONNECTION_STRENGTH.length) {
-            contentDescription = TextUtils.concat(contentDescription, ",",
+            mContentDescription = TextUtils.concat(mContentDescription, ",",
                     getContext().getString(WIFI_CONNECTION_STRENGTH[level]));
         }
-        if (!Objects.equals(contentDescription, mContentDescription)) {
-            mContentDescription = contentDescription;
-            updated = true;
-        }
-        if (updated) {
-            notifyChanged();
-        }
     }
 
     @Override
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/GenerationRegistry.java b/packages/SettingsProvider/src/com/android/providers/settings/GenerationRegistry.java
index 8512dca..f4f7986 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/GenerationRegistry.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/GenerationRegistry.java
@@ -76,6 +76,8 @@
                         bundle.putParcelable(Settings.CALL_METHOD_TRACK_GENERATION_KEY,
                                 backingStore);
                         bundle.putInt(Settings.CALL_METHOD_GENERATION_INDEX_KEY, index);
+                        bundle.putInt(Settings.CALL_METHOD_GENERATION_KEY,
+                                backingStore.get(index));
                         if (DEBUG) {
                             Slog.i(LOG_TAG, "Exported index:" + index + " for key:"
                                     + SettingsProvider.keyToString(key));
diff --git a/packages/Shell/AndroidManifest.xml b/packages/Shell/AndroidManifest.xml
index 9c0aa35..2efefb3 100644
--- a/packages/Shell/AndroidManifest.xml
+++ b/packages/Shell/AndroidManifest.xml
@@ -90,7 +90,7 @@
     <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
     <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
     <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
-    <uses-permission android:name="android.permission.MANAGE_USERS" />
+    <uses-permission android:name="android.permission.CREATE_USERS" />
     <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" />
     <uses-permission android:name="android.permission.BLUETOOTH_STACK" />
     <uses-permission android:name="android.permission.GET_ACCOUNTS" />
diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml
index 25dc357..20b562c 100644
--- a/packages/SystemUI/AndroidManifest.xml
+++ b/packages/SystemUI/AndroidManifest.xml
@@ -165,6 +165,9 @@
     <!-- the ability to rename notifications posted by other apps -->
     <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
 
+    <!-- shortcut manager -->
+    <uses-permission android:name="android.permission.RESET_SHORTCUT_MANAGER_THROTTLING" />
+
     <application
         android:name=".SystemUIApplication"
         android:persistent="true"
@@ -436,7 +439,6 @@
             <intent-filter>
                 <action android:name="android.intent.action.MAIN"/>
                 <category android:name="android.intent.category.DEFAULT" />
-                <category android:name="com.android.internal.category.PLATLOGO" />
             </intent-filter>
         </activity>
 
diff --git a/packages/SystemUI/res/color/notification_guts_buttons.xml b/packages/SystemUI/res/color/notification_guts_buttons.xml
index c211e43..3b8d59b 100644
--- a/packages/SystemUI/res/color/notification_guts_buttons.xml
+++ b/packages/SystemUI/res/color/notification_guts_buttons.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_checked="true"
-          android:color="@*android:color/material_deep_teal_500" />
+          android:color="?android:attr/colorAccent" />
     <item android:color="@android:color/black"
           android:alpha=".54" />
 </selector>
\ No newline at end of file
diff --git a/packages/SystemUI/res/color/qs_detail_empty.xml b/packages/SystemUI/res/color/qs_detail_empty.xml
new file mode 100644
index 0000000..4be39c7
--- /dev/null
+++ b/packages/SystemUI/res/color/qs_detail_empty.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:alpha="0.14" android:color="@*android:color/quaternary_device_default_settings" />
+</selector>
\ No newline at end of file
diff --git a/packages/SystemUI/res/color/qs_detail_progress_track.xml b/packages/SystemUI/res/color/qs_detail_progress_track.xml
new file mode 100644
index 0000000..c56382e
--- /dev/null
+++ b/packages/SystemUI/res/color/qs_detail_progress_track.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <!-- I really don't want to define this, but the View that uses this asset uses both the
+         light and dark accent colors. -->
+    <item android:alpha="0.6" android:drawable="@*android:color/accent_device_default_light" />
+</selector>
diff --git a/packages/SystemUI/res/color/qs_user_detail_avatar_frame.xml b/packages/SystemUI/res/color/qs_user_detail_avatar_frame.xml
index 20251c2..344859c 100644
--- a/packages/SystemUI/res/color/qs_user_detail_avatar_frame.xml
+++ b/packages/SystemUI/res/color/qs_user_detail_avatar_frame.xml
@@ -17,6 +17,6 @@
   -->
 
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_activated="true" android:color="@color/current_user_border_color" />
+    <item android:state_activated="true" android:color="?android:attr/colorAccent" />
     <item android:color="@android:color/transparent" />
 </selector>
\ No newline at end of file
diff --git a/packages/SystemUI/res/color/qs_user_detail_name.xml b/packages/SystemUI/res/color/qs_user_detail_name.xml
index 35c7a4f..e262209 100644
--- a/packages/SystemUI/res/color/qs_user_detail_name.xml
+++ b/packages/SystemUI/res/color/qs_user_detail_name.xml
@@ -17,7 +17,7 @@
   -->
 
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_activated="true" android:color="@color/current_user_border_color" />
+    <item android:state_activated="true" android:color="?android:attr/colorAccent" />
     <item android:state_enabled="false" android:color="@color/qs_tile_disabled_color" />
     <item android:color="#66ffffff" /> <!-- 40% white -->
 </selector>
\ No newline at end of file
diff --git a/packages/SystemUI/res/color/screen_pinning_nav_icon_highlight_outer.xml b/packages/SystemUI/res/color/screen_pinning_nav_icon_highlight_outer.xml
new file mode 100644
index 0000000..5370f7a
--- /dev/null
+++ b/packages/SystemUI/res/color/screen_pinning_nav_icon_highlight_outer.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:alpha="0.25" android:color="?android:attr/colorAccent" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/brightness_mirror_background.xml b/packages/SystemUI/res/drawable/brightness_mirror_background.xml
index e901e40..0c69d89 100644
--- a/packages/SystemUI/res/drawable/brightness_mirror_background.xml
+++ b/packages/SystemUI/res/drawable/brightness_mirror_background.xml
@@ -15,5 +15,5 @@
   ~ limitations under the License
   -->
 <shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <solid android:color="@color/system_primary_color" />
+    <solid android:color="?android:attr/colorPrimary" />
 </shape>
diff --git a/packages/SystemUI/res/drawable/fab_background.xml b/packages/SystemUI/res/drawable/fab_background.xml
deleted file mode 100644
index 7f23f2b..0000000
--- a/packages/SystemUI/res/drawable/fab_background.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<ripple xmlns:android="http://schemas.android.com/apk/res/android"
-        android:color="@color/fab_ripple">
-    <item>
-        <shape>
-            <solid android:color="@color/fab_shape" />
-        </shape>
-    </item>
-</ripple>
diff --git a/packages/SystemUI/res/drawable/ic_brightness_thumb.xml b/packages/SystemUI/res/drawable/ic_brightness_thumb.xml
index dc978fe..24ac018 100644
--- a/packages/SystemUI/res/drawable/ic_brightness_thumb.xml
+++ b/packages/SystemUI/res/drawable/ic_brightness_thumb.xml
@@ -20,7 +20,7 @@
         android:viewportHeight="24.0">
     <path
         android:pathData="m18.250000,12.000000a6.250000,6.250000 0.000000,1.000000 1.000000,-12.500000 0.000000,6.250000 6.250000,0.000000 1.000000,1.000000 12.500000,0.000000z"
-        android:fillColor="@color/system_primary_color" />
+        android:fillColor="?android:attr/colorPrimary" />
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M20.000000,8.700000L20.000000,4.000000L15.300000,4.000000L12.000000,0.700000 8.700000,4.000000L4.000000,4.000000L4.000000,8.700000L0.700000,12.000000 4.000000,15.300000L4.000000,20.000000L8.700000,20.000000L12.000000,23.299999 15.300000,20.000000L20.000000,20.000000L20.000000,15.300000L23.299999,12.000000 20.000000,8.700000zM12.000000,18.000000C8.700000,18.000000 6.000000,15.300000 6.000000,12.000000 6.000000,8.700000 8.700000,6.000000 12.000000,6.000000c3.300000,0.000000 6.000000,2.700000 6.000000,6.000000 0.000000,3.300000 -2.700000,6.000000 -6.000000,6.000000zM12.000000,8.000000c-2.200000,0.000000 -4.000000,1.800000 -4.000000,4.000000 0.000000,2.200000 1.800000,4.000000 4.000000,4.000000 2.200000,0.000000 4.000000,-1.800000 4.000000,-4.000000 0.000000,-2.200000 -1.800000,-4.000000 -4.000000,-4.000000z"/>
diff --git a/packages/SystemUI/res/drawable/ic_qs_signal_4g_plus.xml b/packages/SystemUI/res/drawable/ic_qs_signal_4g_plus.xml
new file mode 100644
index 0000000..258bd0f
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_qs_signal_4g_plus.xml
@@ -0,0 +1,37 @@
+<!--
+     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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="18.0dp"
+    android:height="24dp"
+    android:viewportWidth="36.0"
+    android:viewportHeight="36.0">
+
+    <path
+        android:fillColor="#FFFFFF"
+        android:pathData="M6.797,13.334h1.231v1.522H6.797v2.509h-1.62v-2.509H1.101l-0.039-1.157l4.069-7.643h1.666V13.334z
+M2.648,13.334h2.53V8.721L5.137,8.713L4.984,9.148L2.648,13.334z" />
+    <path
+        android:fillColor="#FFFFFF"
+        android:pathData="M16.155,15.836c-0.269,0.439-0.695,0.832-1.282,1.177c-0.587,0.344-1.344,0.517-2.271,0.517
+c-1.151,0-2.098-0.432-2.841-1.294c-0.744-0.862-1.115-1.978-1.115-3.345v-2.36c0-1.367,0.359-2.481,1.077-3.343
+c0.719-0.863,1.643-1.293,2.772-1.293c1.132,0,2.017,0.331,2.649,0.994c0.633,0.663,0.941,1.528,0.924,2.594l-0.021,0.047h-1.545
+c0-0.638-0.171-1.15-0.513-1.538c-0.341-0.389-0.831-0.583-1.469-0.583c-0.674,0-1.217,0.292-1.63,0.877
+c-0.413,0.585-0.619,1.328-0.619,2.229v2.375c0,0.912,0.215,1.662,0.645,2.25c0.431,0.587,0.992,0.881,1.684,0.881
+c0.522,0,0.935-0.068,1.238-0.205c0.304-0.138,0.533-0.305,0.688-0.502v-2.338h-2.041v-1.413h3.668V15.836z" />
+    <path
+        android:fillColor="#FFFFFF"
+        android:pathData="M19.366,14.701v-2.232h-2.25v-1.541h2.25V8.695h1.5v2.232h2.256v1.541h-2.256v2.232H19.366z" />
+</vector>
diff --git a/packages/SystemUI/res/drawable/notification_header_bg.xml b/packages/SystemUI/res/drawable/notification_header_bg.xml
deleted file mode 100644
index 1f46502..0000000
--- a/packages/SystemUI/res/drawable/notification_header_bg.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2014 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
-  -->
-
-<ripple xmlns:android="http://schemas.android.com/apk/res/android"
-    android:color="?android:attr/colorControlHighlight" >
-    <item android:drawable="@color/system_secondary_color"/>
-</ripple>
\ No newline at end of file
diff --git a/packages/SystemUI/res/drawable/qs_background_primary.xml b/packages/SystemUI/res/drawable/qs_background_primary.xml
index 1bf7d4c..8ea9e06 100644
--- a/packages/SystemUI/res/drawable/qs_background_primary.xml
+++ b/packages/SystemUI/res/drawable/qs_background_primary.xml
@@ -15,6 +15,6 @@
 -->
 <inset xmlns:android="http://schemas.android.com/apk/res/android">
     <shape>
-        <solid android:color="@color/system_primary_color"/>
+        <solid android:color="?android:attr/colorPrimary"/>
     </shape>
 </inset>
diff --git a/packages/SystemUI/res/drawable/qs_customizer_background.xml b/packages/SystemUI/res/drawable/qs_customizer_background.xml
index d90f820..12d8016 100644
--- a/packages/SystemUI/res/drawable/qs_customizer_background.xml
+++ b/packages/SystemUI/res/drawable/qs_customizer_background.xml
@@ -15,5 +15,5 @@
 -->
 <transition xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:drawable="@color/qs_detail_transition" />
-    <item android:drawable="@color/system_primary_color" />
+    <item android:drawable="?android:attr/colorPrimary" />
 </transition>
diff --git a/packages/SystemUI/res/drawable/qs_detail_background.xml b/packages/SystemUI/res/drawable/qs_detail_background.xml
index 692cd44..84c793f 100644
--- a/packages/SystemUI/res/drawable/qs_detail_background.xml
+++ b/packages/SystemUI/res/drawable/qs_detail_background.xml
@@ -15,5 +15,5 @@
 -->
 <transition xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:drawable="@color/qs_detail_transition" />
-    <item android:drawable="@color/system_primary_color" />
+    <item android:drawable="?android:attr/colorPrimary" />
 </transition>
\ No newline at end of file
diff --git a/packages/SystemUI/res/drawable/quick_header_bg.xml b/packages/SystemUI/res/drawable/quick_header_bg.xml
index d45d673..920e6f5 100644
--- a/packages/SystemUI/res/drawable/quick_header_bg.xml
+++ b/packages/SystemUI/res/drawable/quick_header_bg.xml
@@ -17,5 +17,5 @@
 
 <ripple xmlns:android="http://schemas.android.com/apk/res/android"
     android:color="?android:attr/colorControlHighlight" >
-    <item android:drawable="@color/system_primary_color"/>
+    <item android:drawable="?android:attr/colorPrimary"/>
 </ripple>
diff --git a/packages/SystemUI/res/drawable/screen_pinning_bg_circ.xml b/packages/SystemUI/res/drawable/screen_pinning_bg_circ.xml
index 354b8bd..1303bdb 100644
--- a/packages/SystemUI/res/drawable/screen_pinning_bg_circ.xml
+++ b/packages/SystemUI/res/drawable/screen_pinning_bg_circ.xml
@@ -19,7 +19,7 @@
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
     android:shape="oval" >
 
-    <solid android:color="@color/system_accent_color" />
+    <solid android:color="?android:attr/colorAccent" />
 
     <size
         android:height="@dimen/screen_pinning_nav_highlight_size"
diff --git a/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_4g_plus.xml b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_4g_plus.xml
new file mode 100644
index 0000000..17a4394
--- /dev/null
+++ b/packages/SystemUI/res/drawable/stat_sys_data_fully_connected_4g_plus.xml
@@ -0,0 +1,37 @@
+<!--
+     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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="15dp"
+    android:height="20dp"
+    android:viewportWidth="36"
+    android:viewportHeight="36">
+
+    <path
+        android:fillColor="#FFFFFF"
+        android:pathData="M6.797,13.334h1.231v1.522H6.797v2.509h-1.62v-2.509H1.101l-0.039-1.157l4.069-7.643h1.666V13.334z
+M2.648,13.334h2.53V8.721L5.137,8.713L4.984,9.148L2.648,13.334z" />
+    <path
+        android:fillColor="#FFFFFF"
+        android:pathData="M16.155,15.836c-0.269,0.439-0.695,0.832-1.282,1.177c-0.587,0.344-1.344,0.517-2.271,0.517
+c-1.151,0-2.098-0.432-2.841-1.294c-0.744-0.862-1.115-1.978-1.115-3.345v-2.36c0-1.367,0.359-2.481,1.077-3.343
+c0.719-0.863,1.643-1.293,2.772-1.293c1.132,0,2.017,0.331,2.649,0.994c0.633,0.663,0.941,1.528,0.924,2.594l-0.021,0.047h-1.545
+c0-0.638-0.171-1.15-0.513-1.538c-0.341-0.389-0.831-0.583-1.469-0.583c-0.674,0-1.217,0.292-1.63,0.877
+c-0.413,0.585-0.619,1.328-0.619,2.229v2.375c0,0.912,0.215,1.662,0.645,2.25c0.431,0.587,0.992,0.881,1.684,0.881
+c0.522,0,0.935-0.068,1.238-0.205c0.304-0.138,0.533-0.305,0.688-0.502v-2.338h-2.041v-1.413h3.668V15.836z" />
+    <path
+        android:fillColor="#FFFFFF"
+        android:pathData="M19.366,14.701v-2.232h-2.25v-1.541h2.25V8.695h1.5v2.232h2.256v1.541h-2.256v2.232H19.366z" />
+</vector>
diff --git a/packages/SystemUI/res/drawable/switchbar_background.xml b/packages/SystemUI/res/drawable/switchbar_background.xml
index 8d97c46..fb59633 100644
--- a/packages/SystemUI/res/drawable/switchbar_background.xml
+++ b/packages/SystemUI/res/drawable/switchbar_background.xml
@@ -16,6 +16,6 @@
 
 <ripple xmlns:android="http://schemas.android.com/apk/res/android"
     android:color="?android:attr/colorControlHighlight">
-    <item android:drawable="@color/switch_bar_background" />
+    <item android:drawable="?android:attr/colorSecondary" />
 </ripple>
 
diff --git a/packages/SystemUI/res/drawable/volume_dialog_background.xml b/packages/SystemUI/res/drawable/volume_dialog_background.xml
index e98bfb8..d6adea9 100644
--- a/packages/SystemUI/res/drawable/volume_dialog_background.xml
+++ b/packages/SystemUI/res/drawable/volume_dialog_background.xml
@@ -14,5 +14,5 @@
      limitations under the License.
 -->
 <shape xmlns:android="http://schemas.android.com/apk/res/android" >
-    <solid android:color="@color/system_primary_color" />
+    <solid android:color="?android:attr/colorPrimary" />
 </shape>
\ No newline at end of file
diff --git a/packages/SystemUI/res/drawable/zen_introduction_message_background.xml b/packages/SystemUI/res/drawable/zen_introduction_message_background.xml
index 352fb57..e5b41a3 100644
--- a/packages/SystemUI/res/drawable/zen_introduction_message_background.xml
+++ b/packages/SystemUI/res/drawable/zen_introduction_message_background.xml
@@ -17,6 +17,6 @@
 
       <corners android:radius="@dimen/borderless_button_radius" />
 
-      <solid android:color="@color/zen_introduction_message_background" />
+      <solid android:color="?android:attr/colorAccent" />
 
 </shape>
\ No newline at end of file
diff --git a/packages/SystemUI/res/layout-sw410dp/status_bar_alarm_group.xml b/packages/SystemUI/res/layout-sw410dp/status_bar_alarm_group.xml
new file mode 100644
index 0000000..a726161
--- /dev/null
+++ b/packages/SystemUI/res/layout-sw410dp/status_bar_alarm_group.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     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.
+-->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:systemui="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/date_time_alarm_group"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginTop="16dp"
+    android:layout_marginStart="16dp"
+    android:gravity="start"
+    android:orientation="vertical">
+    <LinearLayout
+        android:id="@+id/date_time_group"
+        android:layout_width="wrap_content"
+        android:layout_height="19dp"
+        android:orientation="horizontal"
+        android:focusable="true" >
+
+        <include layout="@layout/split_clock_view"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:id="@+id/clock" />
+
+        <com.android.systemui.statusbar.policy.DateView
+            android:id="@+id/date"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="6dp"
+            android:drawableStart="@drawable/header_dot"
+            android:drawablePadding="6dp"
+            android:singleLine="true"
+            android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock"
+            android:textSize="@dimen/qs_time_collapsed_size"
+            android:gravity="top"
+            systemui:datePattern="@string/abbrev_wday_month_day_no_year_alarm" />
+
+        <com.android.systemui.statusbar.AlphaOptimizedImageView
+            android:id="@+id/alarm_status_collapsed"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:src="@drawable/ic_access_alarms_small"
+            android:paddingStart="6dp"
+            android:gravity="center"
+            android:visibility="gone" />
+    </LinearLayout>
+
+    <com.android.systemui.statusbar.AlphaOptimizedButton
+        android:id="@+id/alarm_status"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:minHeight="20dp"
+        android:paddingTop="3dp"
+        android:drawablePadding="8dp"
+        android:drawableStart="@drawable/ic_access_alarms_small"
+        android:textColor="#64ffffff"
+        android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date"
+        android:gravity="top"
+        android:background="?android:attr/selectableItemBackground"
+        android:visibility="gone" />
+
+</LinearLayout>
diff --git a/packages/SystemUI/res/layout/keyboard_shortcut_app_item.xml b/packages/SystemUI/res/layout/keyboard_shortcut_app_item.xml
index 52cab72..69e52c5 100644
--- a/packages/SystemUI/res/layout/keyboard_shortcut_app_item.xml
+++ b/packages/SystemUI/res/layout/keyboard_shortcut_app_item.xml
@@ -53,5 +53,6 @@
             android:layout_alignParentEnd="true"
             android:textSize="14sp"
             android:scrollHorizontally="false"
-            android:layout_centerVertical="true"/>
+            android:layout_centerVertical="true"
+            android:focusable="true"/>
 </RelativeLayout>
diff --git a/packages/SystemUI/res/layout/keyboard_shortcuts_key_icon_view.xml b/packages/SystemUI/res/layout/keyboard_shortcuts_key_icon_view.xml
index 5db6789..a3901d0 100644
--- a/packages/SystemUI/res/layout/keyboard_shortcuts_key_icon_view.xml
+++ b/packages/SystemUI/res/layout/keyboard_shortcuts_key_icon_view.xml
@@ -21,4 +21,4 @@
         android:padding="@dimen/ksh_item_padding"
         android:layout_marginStart="@dimen/ksh_item_margin_start"
         android:scaleType="fitXY"
-        android:background="@drawable/ksh_key_item_background"/>
+        android:background="@drawable/ksh_key_item_background" />
diff --git a/packages/SystemUI/res/layout/keyboard_shortcuts_key_view.xml b/packages/SystemUI/res/layout/keyboard_shortcuts_key_view.xml
index 31a8773..b06f7fc 100644
--- a/packages/SystemUI/res/layout/keyboard_shortcuts_key_view.xml
+++ b/packages/SystemUI/res/layout/keyboard_shortcuts_key_view.xml
@@ -23,4 +23,5 @@
           android:textColor="@color/ksh_key_item_color"
           android:singleLine="true"
           android:gravity="center"
-          android:textSize="@dimen/ksh_item_text_size"/>
+          android:textSize="@dimen/ksh_item_text_size"
+          android:textAllCaps="true"/>
diff --git a/packages/SystemUI/res/layout/notification_guts.xml b/packages/SystemUI/res/layout/notification_guts.xml
index d09c42b..e84ed23 100644
--- a/packages/SystemUI/res/layout/notification_guts.xml
+++ b/packages/SystemUI/res/layout/notification_guts.xml
@@ -26,7 +26,8 @@
         android:orientation="vertical"
         android:paddingStart="@*android:dimen/notification_content_margin_start"
         android:paddingEnd="8dp"
-        android:background="@color/notification_guts_bg_color">
+        android:background="@color/notification_guts_bg_color"
+        android:theme="@*android:style/Theme.DeviceDefault.Light">
 
     <!-- header -->
     <LinearLayout
@@ -145,8 +146,8 @@
                     android:focusable="true"
                     android:background="#00ffffff"
                     android:progressBackgroundTint="@color/notification_guts_secondary_slider_color"
-                    android:thumbTint="@color/notification_guts_slider_color"
-                    android:progressTint="@color/notification_guts_slider_color"
+                    android:thumbTint="?android:attr/colorAccent"
+                    android:progressTint="?android:attr/colorAccent"
                     style="@android:style/Widget.Material.SeekBar.Discrete"
                     android:tickMarkTint="@android:color/black" />
 
diff --git a/packages/SystemUI/res/layout/qs_user_detail_item.xml b/packages/SystemUI/res/layout/qs_user_detail_item.xml
index 58fc069..8c6c7cf 100644
--- a/packages/SystemUI/res/layout/qs_user_detail_item.xml
+++ b/packages/SystemUI/res/layout/qs_user_detail_item.xml
@@ -28,6 +28,7 @@
         android:minHeight="112dp"
         android:clipChildren="false"
         android:clipToPadding="false"
+        android:focusable="true"
         android:background="@drawable/ripple_drawable"
         systemui:activatedFontFamily="sans-serif-medium">
 
@@ -65,4 +66,4 @@
                 android:visibility="gone" />
     </LinearLayout>
 
-</com.android.systemui.qs.tiles.UserDetailItemView>
\ No newline at end of file
+</com.android.systemui.qs.tiles.UserDetailItemView>
diff --git a/packages/SystemUI/res/layout/quick_status_bar_expanded_header.xml b/packages/SystemUI/res/layout/quick_status_bar_expanded_header.xml
index 678ec4e..3b8b909 100644
--- a/packages/SystemUI/res/layout/quick_status_bar_expanded_header.xml
+++ b/packages/SystemUI/res/layout/quick_status_bar_expanded_header.xml
@@ -44,6 +44,7 @@
             android:layout_width="48dp"
             android:layout_height="48dp"
             android:layout_alignParentEnd="true"
+            android:focusable="true"
             android:background="@drawable/ripple_drawable" >
             <ImageView android:id="@+id/multi_user_avatar"
                 android:layout_width="@dimen/multi_user_avatar_expanded_size"
@@ -118,64 +119,11 @@
         android:gravity="center_vertical"
         android:focusable="true" />
 
-    <LinearLayout
+    <include
         android:id="@+id/date_time_alarm_group"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
+        layout="@layout/status_bar_alarm_group"
         android:layout_alignParentStart="true"
-        android:layout_alignParentTop="true"
-        android:layout_marginTop="16dp"
-        android:layout_marginStart="16dp"
-        android:gravity="start"
-        android:orientation="vertical">
-        <LinearLayout
-            android:id="@+id/date_time_group"
-            android:layout_width="wrap_content"
-            android:layout_height="19dp"
-            android:orientation="horizontal"
-            android:focusable="true" >
-
-            <include layout="@layout/split_clock_view"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:id="@+id/clock" />
-
-            <com.android.systemui.statusbar.policy.DateView
-                android:id="@+id/date"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginStart="6dp"
-                android:drawableStart="@drawable/header_dot"
-                android:drawablePadding="6dp"
-                android:singleLine="true"
-                android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock"
-                android:textSize="@dimen/qs_time_collapsed_size"
-                android:gravity="top"
-                systemui:datePattern="@string/abbrev_wday_month_day_no_year_alarm" />
-
-            <com.android.systemui.statusbar.AlphaOptimizedImageView
-                android:id="@+id/alarm_status_collapsed"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:src="@drawable/ic_access_alarms_small"
-                android:paddingStart="6dp"
-                android:gravity="center"
-                android:visibility="gone" />
-        </LinearLayout>
-
-        <com.android.systemui.statusbar.AlphaOptimizedButton
-            android:id="@+id/alarm_status"
-            android:layout_width="wrap_content"
-            android:layout_height="20dp"
-            android:paddingTop="3dp"
-            android:drawablePadding="8dp"
-            android:drawableStart="@drawable/ic_access_alarms_small"
-            android:textColor="#64ffffff"
-            android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date"
-            android:gravity="top"
-            android:background="?android:attr/selectableItemBackground"
-            android:visibility="gone" />
-    </LinearLayout>
+        android:layout_alignParentTop="true" />
 
     <com.android.systemui.qs.QuickQSPanel
         android:id="@+id/quick_qs_panel"
@@ -189,7 +137,7 @@
         android:clipToPadding="false"
         android:importantForAccessibility="yes"
         android:focusable="true"
-        android:accessibilityTraversalAfter="@id/date_time_group"
+        android:accessibilityTraversalAfter="@+id/date_time_group"
         android:accessibilityTraversalBefore="@id/expand_indicator" />
 
     <com.android.systemui.statusbar.AlphaOptimizedImageView
diff --git a/packages/SystemUI/res/layout/remote_input.xml b/packages/SystemUI/res/layout/remote_input.xml
index 2db97a6..0c8cc9b 100644
--- a/packages/SystemUI/res/layout/remote_input.xml
+++ b/packages/SystemUI/res/layout/remote_input.xml
@@ -43,7 +43,7 @@
             android:ellipsize="start"
             android:inputType="textShortMessage|textAutoCorrect|textCapSentences"
             android:textIsSelectable="true"
-            android:imeOptions="actionSend|flagNoExtractUi" />
+            android:imeOptions="actionNone|flagNoExtractUi" />
 
     <FrameLayout
             android:layout_width="wrap_content"
diff --git a/packages/SystemUI/res/layout/screen_pinning_request.xml b/packages/SystemUI/res/layout/screen_pinning_request.xml
index fea45cc..d55ba94 100644
--- a/packages/SystemUI/res/layout/screen_pinning_request.xml
+++ b/packages/SystemUI/res/layout/screen_pinning_request.xml
@@ -21,7 +21,8 @@
     android:layout_height="wrap_content"
     android:gravity="bottom|center_horizontal"
     android:layoutDirection="ltr"
-    android:orientation="vertical" >
+    android:orientation="vertical"
+    android:theme="@android:style/Theme.DeviceDefault.Light">
 
     <include
         android:layout_width="@dimen/screen_pinning_request_width"
@@ -32,7 +33,7 @@
         android:id="@+id/spacer"
         android:layout_width="@dimen/screen_pinning_request_width"
         android:layout_height="18dp"
-        android:background="@color/screen_pinning_request_bg" />
+        android:background="?android:attr/colorAccent" />
 
     <include
         android:layout_width="@dimen/screen_pinning_request_width"
diff --git a/packages/SystemUI/res/layout/screen_pinning_request_buttons.xml b/packages/SystemUI/res/layout/screen_pinning_request_buttons.xml
index 60112be..e3662f17 100644
--- a/packages/SystemUI/res/layout/screen_pinning_request_buttons.xml
+++ b/packages/SystemUI/res/layout/screen_pinning_request_buttons.xml
@@ -28,7 +28,7 @@
     android:id="@+id/screen_pinning_buttons"
     android:layout_width="match_parent"
     android:layout_height="@dimen/screen_pinning_request_button_height"
-    android:background="@color/screen_pinning_request_bg" >
+    android:background="?android:attr/colorAccent">
 
     <View
         android:layout_width="@dimen/screen_pinning_request_side_width"
@@ -42,7 +42,8 @@
         android:layout_height="@dimen/screen_pinning_request_button_height"
         android:layout_weight="0"
         android:paddingStart="@dimen/screen_pinning_request_frame_padding"
-        android:paddingEnd="@dimen/screen_pinning_request_frame_padding" >
+        android:paddingEnd="@dimen/screen_pinning_request_frame_padding"
+        android:theme="@*android:style/ThemeOverlay.DeviceDefault.Accent">
 
         <ImageView
             android:id="@+id/screen_pinning_back_bg_light"
diff --git a/packages/SystemUI/res/layout/screen_pinning_request_buttons_land.xml b/packages/SystemUI/res/layout/screen_pinning_request_buttons_land.xml
index ebad7a4..3649ffb 100644
--- a/packages/SystemUI/res/layout/screen_pinning_request_buttons_land.xml
+++ b/packages/SystemUI/res/layout/screen_pinning_request_buttons_land.xml
@@ -25,8 +25,8 @@
     android:id="@+id/screen_pinning_buttons"
     android:layout_height="match_parent"
     android:layout_width="@dimen/screen_pinning_request_button_height"
-    android:background="@color/screen_pinning_request_bg"
-    android:orientation="vertical" >
+    android:background="?android:attr/colorAccent"
+    android:orientation="vertical">
 
     <View
         android:layout_height="@dimen/screen_pinning_request_side_width"
@@ -82,7 +82,8 @@
         android:id="@+id/screen_pinning_back_group"
         android:layout_height="@dimen/screen_pinning_request_button_width"
         android:layout_width="@dimen/screen_pinning_request_button_height"
-        android:layout_weight="0" >
+        android:layout_weight="0"
+        android:theme="@*android:style/ThemeOverlay.DeviceDefault.Accent">
 
         <ImageView
             android:id="@+id/screen_pinning_back_bg_light"
diff --git a/packages/SystemUI/res/layout/screen_pinning_request_land_phone.xml b/packages/SystemUI/res/layout/screen_pinning_request_land_phone.xml
index e6c22d4..ec16991 100644
--- a/packages/SystemUI/res/layout/screen_pinning_request_land_phone.xml
+++ b/packages/SystemUI/res/layout/screen_pinning_request_land_phone.xml
@@ -20,7 +20,8 @@
     android:layout_height="@dimen/screen_pinning_request_width"
     android:layout_width="wrap_content"
     android:gravity="right|center_vertical"
-    android:orientation="horizontal" >
+    android:orientation="horizontal"
+    android:theme="@android:style/Theme.DeviceDefault.Light">
 
     <include
         android:layout_width="360dp"
diff --git a/packages/SystemUI/res/layout/screen_pinning_request_text_area.xml b/packages/SystemUI/res/layout/screen_pinning_request_text_area.xml
index df957f4..cdad94b 100644
--- a/packages/SystemUI/res/layout/screen_pinning_request_text_area.xml
+++ b/packages/SystemUI/res/layout/screen_pinning_request_text_area.xml
@@ -20,8 +20,8 @@
     android:id="@+id/screen_pinning_text_area"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:background="@color/screen_pinning_request_bg"
-    android:gravity="center_vertical" >
+    android:background="?android:attr/colorAccent"
+    android:gravity="center_vertical">
 
     <TextView
         android:id="@+id/screen_pinning_title"
diff --git a/packages/SystemUI/res/layout/status_bar_alarm_group.xml b/packages/SystemUI/res/layout/status_bar_alarm_group.xml
new file mode 100644
index 0000000..701b621
--- /dev/null
+++ b/packages/SystemUI/res/layout/status_bar_alarm_group.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     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.
+-->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:systemui="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/date_time_alarm_group"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginTop="16dp"
+    android:layout_marginStart="16dp"
+    android:gravity="start"
+    android:orientation="vertical">
+    <LinearLayout
+        android:id="@+id/date_time_group"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        android:focusable="true" >
+
+        <include layout="@layout/split_clock_view"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:id="@+id/clock" />
+
+        <com.android.systemui.statusbar.AlphaOptimizedImageView
+            android:id="@+id/alarm_status_collapsed"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:src="@drawable/ic_access_alarms_small"
+            android:paddingStart="6dp"
+            android:gravity="center"
+            android:visibility="gone" />
+    </LinearLayout>
+
+    <com.android.systemui.statusbar.policy.DateView
+        android:id="@+id/date"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:singleLine="true"
+        android:layout_marginTop="-4dp"
+        android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock"
+        android:textSize="@dimen/qs_time_collapsed_size"
+        android:gravity="top"
+        systemui:datePattern="@string/abbrev_wday_month_day_no_year_alarm" />
+
+    <com.android.systemui.statusbar.AlphaOptimizedButton
+        android:id="@+id/alarm_status"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:minHeight="20dp"
+        android:paddingTop="3dp"
+        android:drawablePadding="8dp"
+        android:drawableStart="@drawable/ic_access_alarms_small"
+        android:textColor="#64ffffff"
+        android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date"
+        android:gravity="top"
+        android:background="?android:attr/selectableItemBackground"
+        android:visibility="gone" />
+
+</LinearLayout>
diff --git a/packages/SystemUI/res/layout/status_bar_expanded_header.xml b/packages/SystemUI/res/layout/status_bar_expanded_header.xml
deleted file mode 100644
index c5cd65e..0000000
--- a/packages/SystemUI/res/layout/status_bar_expanded_header.xml
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-** Copyright 2012, 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.
--->
-
-<!-- Extends RelativeLayout -->
-<com.android.systemui.statusbar.phone.StatusBarHeaderView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:systemui="http://schemas.android.com/apk/res-auto"
-    android:id="@+id/header"
-    android:layout_width="@dimen/notification_panel_width"
-    android:layout_height="@dimen/status_bar_header_height"
-    android:layout_gravity="@integer/notification_panel_layout_gravity"
-    android:baselineAligned="false"
-    android:elevation="4dp"
-    android:background="@drawable/notification_header_bg"
-    android:clickable="true"
-    android:focusable="true"
-    >
-
-    <com.android.systemui.statusbar.phone.MultiUserSwitch android:id="@+id/multi_user_switch"
-        android:layout_width="@dimen/multi_user_switch_width_collapsed"
-        android:layout_height="@dimen/status_bar_header_height"
-        android:layout_alignParentEnd="true"
-        android:background="@drawable/ripple_drawable" >
-        <ImageView android:id="@+id/multi_user_avatar"
-            android:layout_width="@dimen/multi_user_avatar_expanded_size"
-            android:layout_height="@dimen/multi_user_avatar_expanded_size"
-            android:layout_gravity="center"
-            android:scaleType="centerInside"/>
-    </com.android.systemui.statusbar.phone.MultiUserSwitch>
-
-    <com.android.systemui.statusbar.AlphaOptimizedFrameLayout
-        android:id="@+id/settings_button_container"
-        android:layout_width="48dp"
-        android:layout_height="@dimen/status_bar_header_height"
-        android:clipChildren="false"
-        android:clipToPadding="false"
-        android:layout_toStartOf="@id/multi_user_switch">
-
-        <com.android.systemui.statusbar.phone.SettingsButton android:id="@+id/settings_button"
-            style="@android:style/Widget.Material.Button.Borderless"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:background="@drawable/ripple_drawable"
-            android:src="@drawable/ic_settings"
-            android:contentDescription="@string/accessibility_desc_settings" />
-        <com.android.systemui.statusbar.AlphaOptimizedImageView android:id="@+id/tuner_icon"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:paddingStart="36dp"
-            android:tint="#4DFFFFFF"
-            android:tintMode="src_in"
-            android:visibility="invisible"
-            android:src="@drawable/tuner" />
-
-    </com.android.systemui.statusbar.AlphaOptimizedFrameLayout>
-
-    <LinearLayout android:id="@+id/system_icons_super_container"
-        android:layout_width="wrap_content"
-        android:layout_height="@dimen/status_bar_header_height"
-        android:layout_toStartOf="@id/multi_user_switch"
-        android:layout_alignWithParentIfMissing="true"
-        android:layout_marginStart="16dp"
-        android:background="@drawable/ripple_drawable"
-        android:paddingEnd="4dp" >
-        <FrameLayout android:id="@+id/system_icons_container"
-            android:layout_width="wrap_content"
-            android:layout_height="@dimen/status_bar_height"
-            android:layout_gravity="center_vertical"
-            >
-            <include layout="@layout/system_icons" />
-        </FrameLayout>
-        <TextView android:id="@+id/battery_level"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical"
-            android:layout_marginStart="@dimen/header_battery_margin_expanded"
-            android:paddingEnd="@dimen/battery_level_padding_end"
-            android:textColor="#ffffff"
-            android:textSize="@dimen/battery_level_text_size"
-            android:importantForAccessibility="noHideDescendants"/>
-    </LinearLayout>
-
-    <TextView
-        android:id="@+id/header_emergency_calls_only"
-        android:layout_height="@dimen/status_bar_header_height"
-        android:layout_width="wrap_content"
-        android:layout_alignParentStart="true"
-        android:layout_toStartOf="@id/system_icons_super_container"
-        android:paddingStart="16dp"
-        android:paddingEnd="16dp"
-        android:visibility="gone"
-        android:textAppearance="@style/TextAppearance.StatusBar.Expanded.EmergencyCallsOnly"
-        android:text="@*android:string/emergency_calls_only"
-        android:singleLine="true"
-        android:gravity="center_vertical" />
-
-    <FrameLayout
-        android:id="@+id/date_group"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="@dimen/clock_collapsed_bottom_margin"
-        android:layout_alignParentBottom="true">
-        <com.android.systemui.statusbar.policy.DateView android:id="@+id/date_collapsed"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="16dp"
-            android:singleLine="true"
-            android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date"
-            android:layout_below="@id/clock"
-            systemui:datePattern="@string/abbrev_wday_month_day_no_year_alarm"
-            />
-
-        <com.android.systemui.statusbar.policy.DateView android:id="@+id/date_expanded"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="16dp"
-            android:singleLine="true"
-            android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date"
-            android:layout_below="@id/clock"
-            systemui:datePattern="eeeeMMMMd"
-            />
-    </FrameLayout>
-
-    <include layout="@layout/split_clock_view"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="16dp"
-        android:layout_above="@id/date_group"
-        android:id="@+id/clock"
-        />
-
-    <com.android.systemui.statusbar.AlphaOptimizedButton android:id="@+id/alarm_status"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignParentBottom="true"
-        android:layout_toEndOf="@id/date_group"
-        android:layout_marginBottom="4dp"
-        android:drawablePadding="6dp"
-        android:drawableStart="@drawable/ic_access_alarms_small"
-        android:textColor="#64ffffff"
-        android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date"
-        android:paddingEnd="6dp"
-        android:paddingStart="6dp"
-        android:paddingTop="16dp"
-        android:paddingBottom="16dp"
-        android:background="?android:attr/selectableItemBackground"
-        android:visibility="gone"
-        />
-
-    <include
-        android:id="@+id/qs_detail_header"
-        layout="@layout/qs_detail_header"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_alignParentBottom="true"
-        />
-
-    <com.android.systemui.statusbar.AlphaOptimizedImageView
-        android:id="@+id/qs_detail_header_progress"
-        android:src="@drawable/indeterminate_anim"
-        android:alpha="0"
-        android:background="@color/qs_detail_progress_track"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_alignParentBottom="true"
-        />
-
-    <TextView
-        android:id="@+id/header_debug_info"
-        android:visibility="invisible"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical"
-        android:fontFamily="sans-serif-condensed"
-        android:textSize="11dp"
-        android:textStyle="bold"
-        android:textColor="#00A040"
-        android:padding="2dp"
-        />
-
-</com.android.systemui.statusbar.phone.StatusBarHeaderView>
diff --git a/packages/SystemUI/res/layout/switch_bar.xml b/packages/SystemUI/res/layout/switch_bar.xml
index f98de96..41cdb78 100644
--- a/packages/SystemUI/res/layout/switch_bar.xml
+++ b/packages/SystemUI/res/layout/switch_bar.xml
@@ -22,7 +22,8 @@
     android:paddingStart="16dp"
     android:paddingEnd="16dp"
     android:clickable="true"
-    android:gravity="center">
+    android:gravity="center"
+    android:theme="@*android:style/ThemeOverlay.DeviceDefault.Accent">
 
     <TextView android:id="@+id/switch_text"
         android:layout_height="wrap_content"
@@ -42,7 +43,6 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="center_vertical"
-        android:background="@null"
-        android:theme="@style/ThemeOverlay.SwitchBar" />
+        android:background="@null" />
 
 </LinearLayout>
diff --git a/packages/SystemUI/res/layout/tile_listing.xml b/packages/SystemUI/res/layout/tile_listing.xml
deleted file mode 100644
index 9ab62ca..0000000
--- a/packages/SystemUI/res/layout/tile_listing.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- ** Copyright 2015, The Android Open Source Project
- **
- ** Licensed under the Apache License, Version 2.0 (the "License"); 
- ** you may not use this file except in compliance with the License. 
- ** You may obtain a copy of the License at 
- **
- **     http://www.apache.org/licenses/LICENSE-2.0 
- **
- ** Unless required by applicable law or agreed to in writing, software 
- ** distributed under the License is distributed on an "AS IS" BASIS, 
- ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- ** See the License for the specific language governing permissions and 
- ** limitations under the License.
- -->
-
- <LinearLayout
-     xmlns:android="http://schemas.android.com/apk/res/android"
-     android:layout_width="match_parent"
-     android:layout_height="wrap_content"
-     android:background="@drawable/qs_background_primary"
-     android:paddingBottom="20dp"
-     android:orientation="vertical">
-
-     <LinearLayout
-         android:layout_width="match_parent"
-         android:layout_height="wrap_content"
-         android:background="@drawable/notification_header_bg"
-         android:paddingStart="?android:attr/listPreferredItemPaddingStart"
-         android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
-         android:paddingTop="10dp"
-         android:paddingBottom="10dp"
-         android:orientation="horizontal">
-         <ImageView
-             android:id="@android:id/icon"
-             android:layout_width="36dp"
-             android:layout_height="36dp" />
-         <TextView
-             android:id="@android:id/title"
-             android:paddingStart="10dp"
-             android:textColor="@android:color/white"
-             android:textAppearance="?android:attr/textAppearanceSmall"
-             android:layout_width="wrap_content"
-             android:layout_height="wrap_content"
-             android:layout_gravity="center_vertical" />
-     </LinearLayout>
-
-     <GridLayout
-         android:id="@+id/tile_grid"
-         android:layout_width="match_parent"
-         android:layout_height="wrap_content"
-         android:columnCount="4" />
-
- </LinearLayout>
diff --git a/packages/SystemUI/res/layout/tuner_qs.xml b/packages/SystemUI/res/layout/tuner_qs.xml
deleted file mode 100644
index 9a51e0c..0000000
--- a/packages/SystemUI/res/layout/tuner_qs.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2015 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<com.android.systemui.tuner.AutoScrollView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@color/system_secondary_color" >
-    <LinearLayout
-        android:id="@+id/all_details"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:paddingStart="?android:attr/listPreferredItemPaddingStart"
-        android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
-        android:gravity="center"
-        android:orientation="vertical">
-
-        <View
-            android:background="@color/qs_tile_divider"
-            android:layout_width="match_parent"
-            android:layout_height="2dp" />
-
-        <FrameLayout
-            android:id="@+id/remove_target"
-            android:layout_width="105dp"
-            android:layout_height="@dimen/qs_tile_height" />
-
-        <FrameLayout
-            android:id="@+id/add_target"
-            android:layout_width="105dp"
-            android:layout_height="@dimen/qs_tile_height" />
-    </LinearLayout>
-</com.android.systemui.tuner.AutoScrollView>
diff --git a/packages/SystemUI/res/layout/volume_dialog.xml b/packages/SystemUI/res/layout/volume_dialog.xml
index d3f2a25..68395cd 100644
--- a/packages/SystemUI/res/layout/volume_dialog.xml
+++ b/packages/SystemUI/res/layout/volume_dialog.xml
@@ -20,16 +20,14 @@
     android:layout_height="wrap_content"
     android:layout_marginBottom="@dimen/volume_dialog_margin_bottom"
     android:background="@drawable/volume_dialog_background"
-    android:translationZ="4dp"
-    android:paddingTop="8dp">
+    android:translationZ="4dp" >
 
     <LinearLayout
         android:id="@+id/volume_dialog_content"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical"
-        android:paddingBottom="8dp"
-        android:paddingStart="8dp"
+        android:paddingTop="@dimen/volume_dialog_collapsed_padding_top"
         android:animateLayoutChanges="true" >
 
         <!-- volume rows added and removed here! :-) -->
@@ -52,6 +50,8 @@
             android:src="@drawable/ic_volume_collapse_animation"
             tools:ignore="RtlHardcoded"
             android:layout_alignParentEnd="true"
-            android:layout_alignParentTop="true"/>
+            android:layout_alignParentTop="true"
+            android:layout_marginTop="@dimen/volume_expander_margin_top"
+            android:layout_marginEnd="@dimen/volume_expander_margin_end"/>
 
 </RelativeLayout>
diff --git a/packages/SystemUI/res/layout/volume_dialog_row.xml b/packages/SystemUI/res/layout/volume_dialog_row.xml
index be05a3a..a30fc43 100644
--- a/packages/SystemUI/res/layout/volume_dialog_row.xml
+++ b/packages/SystemUI/res/layout/volume_dialog_row.xml
@@ -13,14 +13,16 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<RelativeLayout
+<LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content"
+    android:layout_height="@dimen/volume_row_height"
     android:clipChildren="false"
     android:clipToPadding="false"
     android:id="@+id/volume_dialog_row"
-    android:paddingEnd="@dimen/volume_button_size" >
+    android:paddingEnd="@dimen/volume_dialog_padding_end"
+    android:orientation="vertical"
+    android:paddingBottom="@dimen/volume_row_padding_bottom" >
 
     <TextView
         android:id="@+id/volume_row_header"
@@ -29,32 +31,28 @@
         android:ellipsize="end"
         android:maxLines="1"
         android:textAppearance="@style/TextAppearance.Volume.Header"
-        android:paddingBottom="0dp"
-        android:paddingEnd="12dp"
-        android:paddingStart="12dp"
-        android:paddingTop="4dp"
-        android:visibility="gone" />
+        android:paddingStart="@dimen/volume_row_header_padding_start" />
 
-    <com.android.keyguard.AlphaOptimizedImageButton
-        android:id="@+id/volume_row_icon"
-        style="@style/VolumeButtons"
-        android:layout_width="@dimen/volume_button_size"
-        android:layout_height="@dimen/volume_button_size"
-        android:layout_below="@id/volume_row_header"
-        android:soundEffectsEnabled="false" />
+    <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/volume_row_slider_height"
+            android:orientation="horizontal"
+            android:paddingStart="@dimen/volume_row_padding_start" >
+        <com.android.keyguard.AlphaOptimizedImageButton
+                android:id="@+id/volume_row_icon"
+                style="@style/VolumeButtons"
+                android:layout_width="@dimen/volume_button_size"
+                android:layout_height="@dimen/volume_button_size"
+                android:soundEffectsEnabled="false" />
 
-    <SeekBar
-        android:id="@+id/volume_row_slider"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignBottom="@+id/volume_row_icon"
-        android:layout_alignWithParentIfMissing="true"
-        android:layout_below="@id/volume_row_header"
-        android:layout_toEndOf="@id/volume_row_icon"
-        android:layout_toStartOf="@+id/volume_settings_button"
-        android:focusable="true"
-        android:focusableInTouchMode="true"
-        android:paddingEnd="8dp"
-        android:paddingStart="8dp" />
+        <SeekBar
+                android:id="@+id/volume_row_slider"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_alignWithParentIfMissing="true"
+                android:focusable="true"
+                android:focusableInTouchMode="true"
+                android:paddingStart="@dimen/volume_row_slider_padding_start"/>
+    </LinearLayout>
 
-</RelativeLayout>
\ No newline at end of file
+</LinearLayout>
\ No newline at end of file
diff --git a/packages/SystemUI/res/layout/volume_zen_footer.xml b/packages/SystemUI/res/layout/volume_zen_footer.xml
index f30023d..ea26bba 100644
--- a/packages/SystemUI/res/layout/volume_zen_footer.xml
+++ b/packages/SystemUI/res/layout/volume_zen_footer.xml
@@ -78,7 +78,7 @@
         android:paddingStart="15dp"
         android:paddingEnd="15dp"
         android:text="@string/volume_zen_end_now"
-        android:textColor="@color/system_accent_color"
+        android:textColor="?android:attr/colorAccent"
         android:textAppearance="@style/TextAppearance.QS.DetailButton" />
 
 </com.android.systemui.volume.ZenFooter>
\ No newline at end of file
diff --git a/packages/SystemUI/res/layout/zen_mode_panel.xml b/packages/SystemUI/res/layout/zen_mode_panel.xml
index 906b867..c0be676 100644
--- a/packages/SystemUI/res/layout/zen_mode_panel.xml
+++ b/packages/SystemUI/res/layout/zen_mode_panel.xml
@@ -40,7 +40,8 @@
         android:layout_marginEnd="16dp"
         android:paddingTop="8dp"
         android:paddingBottom="8dp"
-        android:background="@drawable/zen_introduction_message_background" >
+        android:background="@drawable/zen_introduction_message_background"
+        android:theme="@*android:style/ThemeOverlay.DeviceDefault.Accent.Light">
 
         <ImageView
             android:id="@+id/zen_introduction_confirm"
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index d9138ef..710be7a 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Swerwing"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> is die volumedialoog"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Tik om die oorspronklike terug te stel."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Jy gebruik tans jou werkprofiel"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Bel"</item>
+    <item msgid="5997713001067658559">"Stelsel"</item>
+    <item msgid="7858983209929864160">"Laat toestel lui"</item>
+    <item msgid="1850038478268896762">"Media"</item>
+    <item msgid="8265110906352372092">"Wekker"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Tik om te ontdemp."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Tik om op vibreer te stel. Toeganklikheidsdienste kan dalk gedemp wees."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Tik om te demp. Toeganklikheidsdienste kan dalk gedemp wees."</string>
diff --git a/packages/SystemUI/res/values-af/strings_tv.xml b/packages/SystemUI/res/values-af/strings_tv.xml
index 6b28cfd..f90c426 100644
--- a/packages/SystemUI/res/values-af/strings_tv.xml
+++ b/packages/SystemUI/res/values-af/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Dit hou jou video in sig totdat jy \'n ander een speel. Druk en hou "<b>"HOME"</b>" om dit te beheer."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Het dit"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Maak toe"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml
index 69d6642..7e0cfef 100644
--- a/packages/SystemUI/res/values-am/strings.xml
+++ b/packages/SystemUI/res/values-am/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"ኤል ቲ ኢ"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ውሂብን በማዛወር ላይ"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> የድምጽ መጠን መገናኛው ነው"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"የመጀመሪያውን ወደነበረበት ለመመለስ መታ ያድርጉ።"</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"የስራ መገለጫዎን እየተጠቀሙ ነው"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"ደውል"</item>
+    <item msgid="5997713001067658559">"ሥርዓት"</item>
+    <item msgid="7858983209929864160">"ጥሪ"</item>
+    <item msgid="1850038478268896762">"ማህደረመረጃ"</item>
+    <item msgid="8265110906352372092">"ማንቂያ"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"ብሉቱዝ"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s። ድምጸ-ከል ለማድረግ መታ ያድርጉ"</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s። ወደ ንዝረት ለማቀናበር መታ ያድርጉ። የተደራሽነት አገልግሎቶች ድምጸ-ከል ሊደረግባቸው ይችላል።"</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s። ድምጸ-ከል ለማድረግ መታ ያድርጉ። የተደራሽነት አገልግሎቶች ድምጸ-ከል ሊደረግባቸው ይችላል።"</string>
diff --git a/packages/SystemUI/res/values-am/strings_tv.xml b/packages/SystemUI/res/values-am/strings_tv.xml
index c4a47e3..493ae48 100644
--- a/packages/SystemUI/res/values-am/strings_tv.xml
+++ b/packages/SystemUI/res/values-am/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"ይሄ ሌላ እስኪያጫውቱ ድረስ ቪዲዮዎን በእይታ ውስጥ እንዳለ ያቆየዋል። እሱን ለመቆጣጠር "<b>"መነሻ"</b>"ን ተጭነው ይያዙት።"</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"ገባኝ"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"አሰናብት"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index d7962de..7ef02c1 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -147,6 +147,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"شبكة الجيل الثالث"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"‏شبكة 3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"شبكة الجيل الرابع"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"شبكة الجيل الرابع أو أحدث"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"تجوال"</string>
@@ -442,6 +443,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> هو مربع حوار مستوى الصوت"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"انقر لاستعادة النسخة الأصلية."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"أنت تستخدم ملفك الشخصي للعمل"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"الاتصال"</item>
+    <item msgid="5997713001067658559">"النظام"</item>
+    <item msgid="7858983209929864160">"الرنين"</item>
+    <item msgid="1850038478268896762">"الوسائط"</item>
+    <item msgid="8265110906352372092">"المنبه"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"البلوتوث"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"‏%1$s. انقر لإلغاء التجاهل."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"‏%1$s. انقر للتعيين على الاهتزاز. قد يتم تجاهل خدمات إمكانية الوصول."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"‏%1$s. انقر للتجاهل. قد يتم تجاهل خدمات إمكانية الوصول."</string>
diff --git a/packages/SystemUI/res/values-ar/strings_tv.xml b/packages/SystemUI/res/values-ar/strings_tv.xml
index 081e4e3..f8cbe54 100644
--- a/packages/SystemUI/res/values-ar/strings_tv.xml
+++ b/packages/SystemUI/res/values-ar/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"يؤدي هذا إلى الاحتفاظ بعرض الفيديو إلى أن يتم تشغيل فيديو آخر. اضغط مع الاستمرار على زر "<b>"الشاشة الرئيسية"</b>" للتحكم في هذا الإعداد."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"حسنًا"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"رفض"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-az-rAZ/strings.xml b/packages/SystemUI/res/values-az-rAZ/strings.xml
index acb58ce..a081e0a 100644
--- a/packages/SystemUI/res/values-az-rAZ/strings.xml
+++ b/packages/SystemUI/res/values-az-rAZ/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Rominq"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> proqramı səs səviyyəsi dialoqudur"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Orijinalı bərpa etmək üçün tıklayın."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"İş profilinizi istifadə edirsiniz"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Çağrı"</item>
+    <item msgid="5997713001067658559">"Sistem"</item>
+    <item msgid="7858983209929864160">"Zəng"</item>
+    <item msgid="1850038478268896762">"Media"</item>
+    <item msgid="8265110906352372092">"Siqnal"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Səsli etmək üçün tıklayın."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Vibrasiyanı ayarlamaq üçün tıklayın. Əlçatımlılıq xidmətləri səssiz edilmiş ola bilər."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Səssiz etmək üçün tıklayın. Əlçatımlılıq xidmətləri səssiz edilmiş ola bilər."</string>
diff --git a/packages/SystemUI/res/values-az-rAZ/strings_tv.xml b/packages/SystemUI/res/values-az-rAZ/strings_tv.xml
index 6b0a18e..94e61f1 100644
--- a/packages/SystemUI/res/values-az-rAZ/strings_tv.xml
+++ b/packages/SystemUI/res/values-az-rAZ/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Digərini oxudana kimi videonuzu görünən edir. Nəzarət etmək üçün "<b>"ƏSAS SƏHİFƏ"</b>" düyməsini basıb saxlayın."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Anladım"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Rədd edin"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index 8d7e8da..d313af1 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Роуминг"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> изпълнява ролята на диалоговия прозорец за силата на звука"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Докоснете, за да се възстанови първоначалната стойност."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Използвате служебния си потребителски профил"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Обаждане"</item>
+    <item msgid="5997713001067658559">"Система"</item>
+    <item msgid="7858983209929864160">"Позвъняване"</item>
+    <item msgid="1850038478268896762">"Мултимедия"</item>
+    <item msgid="8265110906352372092">"Будилник"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Докоснете, за да включите отново звука."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Докоснете, за да зададете вибриране. Възможно е звукът на услугите за достъпност да бъде заглушен."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Докоснете, за да заглушите звука. Възможно е звукът на услугите за достъпност да бъде заглушен."</string>
diff --git a/packages/SystemUI/res/values-bg/strings_tv.xml b/packages/SystemUI/res/values-bg/strings_tv.xml
index a943261..17038ad 100644
--- a/packages/SystemUI/res/values-bg/strings_tv.xml
+++ b/packages/SystemUI/res/values-bg/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Видеоклипът ви ще остане видим, докато не пуснете друг. Натиснете и задръжте "<b>"HOME"</b>", за да контролирате функцията."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Разбрах"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Отхвърляне"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-bn-rBD/strings.xml b/packages/SystemUI/res/values-bn-rBD/strings.xml
index e32fb06..9d8b351 100644
--- a/packages/SystemUI/res/values-bn-rBD/strings.xml
+++ b/packages/SystemUI/res/values-bn-rBD/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"রোমিং"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> হল ভলিউম ডায়লগ"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"আসলটি পুনঃস্থাপন করতে আলতো চাপ দিন৷"</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"আপনি আপনার কাজের প্রোফাইল ব্যবহার করছেন"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"কল করুন"</item>
+    <item msgid="5997713001067658559">"সিস্টেম"</item>
+    <item msgid="7858983209929864160">"রিং"</item>
+    <item msgid="1850038478268896762">"মিডিয়া"</item>
+    <item msgid="8265110906352372092">"অ্যালার্ম"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"ব্লুটুথ"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s। সশব্দ করতে আলতো চাপুন।"</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s। কম্পন এ সেট করতে আলতো চাপুন। অ্যাক্সেসযোগ্যতার পরিষেবাগুলিকে নিঃশব্দ করা হতে পারে।"</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s। নিঃশব্দ করতে আলতো চাপুন। অ্যাক্সেসযোগ্যতার পরিষেবাগুলিকে নিঃশব্দ করা হতে পারে।"</string>
diff --git a/packages/SystemUI/res/values-bn-rBD/strings_tv.xml b/packages/SystemUI/res/values-bn-rBD/strings_tv.xml
index c61dc83..99eb537 100644
--- a/packages/SystemUI/res/values-bn-rBD/strings_tv.xml
+++ b/packages/SystemUI/res/values-bn-rBD/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"আপনি অন্য একটি না প্লে করা পর্যন্ত এটি আপনার ভিডিও দেখা বজায় রাখে৷ এটিকে নিয়ন্ত্রণ করতে "<b>"হোম"</b>" টিপুন এবং ধরে রাখুন৷"</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"বুঝেছি"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"খারিজ করুন"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index 789fdc3..a3054f2 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Itinerància"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> és el diàleg de volum"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Toca la notificació per restaurar el valor original."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Estàs utilitzant el perfil professional"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Truca"</item>
+    <item msgid="5997713001067658559">"Sistema"</item>
+    <item msgid="7858983209929864160">"Fes sonar"</item>
+    <item msgid="1850038478268896762">"Multimèdia"</item>
+    <item msgid="8265110906352372092">"Alarma"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Toca per activar el so."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Toca per activar la vibració. Pot ser que els serveis d\'accessibilitat se silenciïn."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Toca per silenciar el so. Pot ser que els serveis d\'accessibilitat se silenciïn."</string>
diff --git a/packages/SystemUI/res/values-ca/strings_tv.xml b/packages/SystemUI/res/values-ca/strings_tv.xml
index 0a3e220..bc094a9 100644
--- a/packages/SystemUI/res/values-ca/strings_tv.xml
+++ b/packages/SystemUI/res/values-ca/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Amb aquesta opció el vídeo continua veient-se fins que en reprodueixes un altre. Mantén premut el botó "<b>"INICI"</b>" per controlar-la."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"D\'acord"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Ignora"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index 2f5d97c..e29cd82 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -72,7 +72,7 @@
     <string name="screenshot_saving_ticker" msgid="7403652894056693515">"Ukládání snímku obrazovky..."</string>
     <string name="screenshot_saving_title" msgid="8242282144535555697">"Ukládání snímku obrazovky..."</string>
     <string name="screenshot_saving_text" msgid="2419718443411738818">"Probíhá ukládání snímku obrazovky."</string>
-    <string name="screenshot_saved_title" msgid="6461865960961414961">"Snímek obrazovky Snímek obrazovky pořízen."</string>
+    <string name="screenshot_saved_title" msgid="6461865960961414961">"Snímek obrazovky pořízen"</string>
     <string name="screenshot_saved_text" msgid="2685605830386712477">"Klepnutím zobrazíte snímek obrazovky."</string>
     <string name="screenshot_failed_title" msgid="705781116746922771">"Snímek obrazovky se nepodařilo zachytit."</string>
     <string name="screenshot_failed_to_save_unknown_text" msgid="7887826345701753830">"Při ukládání snímku obrazovky došlo k problému."</string>
@@ -145,6 +145,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -440,6 +441,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> je dialog hlasitosti"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Klepnutím obnovíte původní nastavení."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Používáte pracovní profil"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Hovor"</item>
+    <item msgid="5997713001067658559">"Systém"</item>
+    <item msgid="7858983209929864160">"Prozvonit"</item>
+    <item msgid="1850038478268896762">"Média"</item>
+    <item msgid="8265110906352372092">"Budík"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Klepnutím zapnete zvuk."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Klepnutím aktivujete režim vibrací. Služby přístupnosti mohou být ztlumeny."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Klepnutím vypnete zvuk. Služby přístupnosti mohou být ztlumeny."</string>
diff --git a/packages/SystemUI/res/values-cs/strings_tv.xml b/packages/SystemUI/res/values-cs/strings_tv.xml
index 731ff5a..459b8bc 100644
--- a/packages/SystemUI/res/values-cs/strings_tv.xml
+++ b/packages/SystemUI/res/values-cs/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Video bude připnuto v zobrazení, dokud nepřehrajete další. Funkci lze ovládat podržením tlačítka "<b>"Plocha"</b>"."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Rozumím"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Zavřít"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index 19d612d..d0dcdc7 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"Over 4G"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -402,16 +403,16 @@
     <string name="monitoring_title" msgid="169206259253048106">"Overvågning af netværk"</string>
     <string name="disable_vpn" msgid="4435534311510272506">"Deaktiver VPN"</string>
     <string name="disconnect_vpn" msgid="1324915059568548655">"Afbryd VPN-forbindelse"</string>
-    <string name="monitoring_description_device_owned" msgid="5780988291898461883">"Din enhed administreres af <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nDin administrator kan overvåge og administrere indstillinger, virksomhedsadgang, apps, data, der er knyttet til din enhed, og din enheds placeringsoplysninger. Kontakt din administrator, hvis du vil have flere oplysninger."</string>
+    <string name="monitoring_description_device_owned" msgid="5780988291898461883">"Din enhed administreres af <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nDin administrator kan overvåge og administrere indstillinger, virksomhedsadgang, apps, data, der er knyttet til din enhed, og din enheds stedoplysninger. Kontakt din administrator, hvis du vil have flere oplysninger."</string>
     <string name="monitoring_description_vpn" msgid="4445150119515393526">"Du gav en app tilladelse til at konfigurere en VPN-forbindelse.\n\nDenne app kan overvåge din enhed og netværksaktivitet, bl.a. e-mails, apps og websites."</string>
-    <string name="monitoring_description_vpn_device_owned" msgid="3090670777499161246">"Din enhed administreres af <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nDin administrator kan overvåge og administrere indstillinger, virksomhedsadgang, apps, data, der er knyttet til din enhed, og din enheds placeringsoplysninger.\n\nDu har forbindelse til et VPN, som kan overvåge din netværksaktivitet, herunder e-mails, apps og websites.\n\nKontakt din administrator, hvis du vil have flere oplysninger."</string>
+    <string name="monitoring_description_vpn_device_owned" msgid="3090670777499161246">"Din enhed administreres af <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nDin administrator kan overvåge og administrere indstillinger, virksomhedsadgang, apps, data, der er knyttet til din enhed, og din enheds stedoplysninger.\n\nDu har forbindelse til et VPN, som kan overvåge din netværksaktivitet, herunder e-mails, apps og websites.\n\nKontakt din administrator, hvis du vil have flere oplysninger."</string>
     <string name="monitoring_description_vpn_profile_owned" msgid="2054949132145039290">"Din arbejdsprofil administreres af <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nDin administrator kan overvåge din netværksaktivitet, bl.a. e-mails, apps og websites.\n\nKontakt din administrator for at få flere oplysninger.\n\nDu er også forbundet til en VPN-forbindelse, som kan overvåge din netværksaktivitet."</string>
     <string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
     <string name="monitoring_description_app" msgid="6259179342284742878">"Du har forbindelse til <xliff:g id="APPLICATION">%1$s</xliff:g>, som kan overvåge din netværksaktivitet, bl.a. e-mails, apps og websites."</string>
     <string name="monitoring_description_app_personal" msgid="484599052118316268">"Du har forbindelse til <xliff:g id="APPLICATION">%1$s</xliff:g>, som kan overvåge din private netværksaktivitet, bl.a. e-mails, apps og websites."</string>
     <string name="monitoring_description_app_work" msgid="1754325860918060897">"Din arbejdsprofil administreres af <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Den er forbundet til <xliff:g id="APPLICATION">%2$s</xliff:g>, som kan overvåge din arbejdsrelaterede netværksaktivitet, bl.a. e-mails, apps og websites.\n\nKontakt din administrator for at få flere oplysninger."</string>
     <string name="monitoring_description_app_personal_work" msgid="4946600443852045903">"Din arbejdsprofil administreres af <xliff:g id="ORGANIZATION">%1$s</xliff:g>. Den er forbundet til <xliff:g id="APPLICATION_WORK">%2$s</xliff:g>, som kan overvåge din arbejdsrelaterede netværksaktivitet, bl.a. e-mails, apps og websites.\n\nDu er også forbundet til <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g>, som kan overvåge din private netværksaktivitet."</string>
-    <string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Din enhed administreres af <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nDin administrator kan overvåge og administrere indstillinger, virksomhedens adgang, data tilknyttet din enhed og enhedens placeringsoplysninger.\n\nDu er forbundet til <xliff:g id="APPLICATION">%2$s</xliff:g>, som kan overvåge din netværksaktivitet, bl.a. e-mails, apps og websites.\n\nKontakt din administrator for at få flere oplysninger."</string>
+    <string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Din enhed administreres af <xliff:g id="ORGANIZATION">%1$s</xliff:g>.\n\nDin administrator kan overvåge og administrere indstillinger, virksomhedens adgang, data tilknyttet din enhed og enhedens stedoplysninger.\n\nDu er forbundet til <xliff:g id="APPLICATION">%2$s</xliff:g>, som kan overvåge din netværksaktivitet, bl.a. e-mails, apps og websites.\n\nKontakt din administrator for at få flere oplysninger."</string>
     <string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Enheden vil forblive låst, indtil du manuelt låser den op"</string>
     <string name="hidden_notifications_title" msgid="7139628534207443290">"Modtag underretninger hurtigere"</string>
     <string name="hidden_notifications_text" msgid="2326409389088668981">"Se dem, før du låser op"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> er dialogboksen for lydstyrke"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Tryk for at gendanne det oprindelige."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Du bruger din arbejdsprofil"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Opkald"</item>
+    <item msgid="5997713001067658559">"System"</item>
+    <item msgid="7858983209929864160">"Ring"</item>
+    <item msgid="1850038478268896762">"Medier"</item>
+    <item msgid="8265110906352372092">"Alarm"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Tryk for at slå lyden til."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Tryk for at konfigurere til at vibrere. Tilgængelighedstjenester kan blive deaktiveret."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Tryk for at slå lyden fra. Lyden i tilgængelighedstjenester kan blive slået fra."</string>
diff --git a/packages/SystemUI/res/values-da/strings_tv.xml b/packages/SystemUI/res/values-da/strings_tv.xml
index edafd7c..babb671 100644
--- a/packages/SystemUI/res/values-da/strings_tv.xml
+++ b/packages/SystemUI/res/values-da/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Dette fastholder visningen af din video, indtil du afspiller en anden. Tryk på "<b>"START"</b>", og hold fingeren nede for at styre det."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Afvis"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index 47040db..e6fe48c 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> regelt die Lautstärke."</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Tippe, um das Original wiederherzustellen."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Du verwendest dein Arbeitsprofil."</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Anruf"</item>
+    <item msgid="5997713001067658559">"System"</item>
+    <item msgid="7858983209929864160">"Klingeln lassen"</item>
+    <item msgid="1850038478268896762">"Medien"</item>
+    <item msgid="8265110906352372092">"Wecker"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Zum Aufheben der Stummschaltung tippen."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Tippen, um Vibrieren festzulegen. Bedienungshilfen werden unter Umständen stummgeschaltet."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Zum Stummschalten tippen. Bedienungshilfen werden unter Umständen stummgeschaltet."</string>
diff --git a/packages/SystemUI/res/values-de/strings_tv.xml b/packages/SystemUI/res/values-de/strings_tv.xml
index 373d26c..1adf279 100644
--- a/packages/SystemUI/res/values-de/strings_tv.xml
+++ b/packages/SystemUI/res/values-de/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Dein Video wird dir so lange angezeigt, bis du ein anderes ansiehst. Taste "<b>"STARTBILDSCHIRM"</b>" zum Steuern drücken und halten."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Beenden"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index 0c3c6ff..12f5ccf 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Περιαγωγή"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"Η εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> αποτελεί το παράθυρο διαλόγου ελέγχου έντασης"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Πατήστε για να επαναφέρετε την αρχική μορφή της εικόνας."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Χρησιμοποιείτε το προφίλ εργασίας σας"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Κλήση"</item>
+    <item msgid="5997713001067658559">"Σύστημα"</item>
+    <item msgid="7858983209929864160">"Κλήση"</item>
+    <item msgid="1850038478268896762">"Μέσα"</item>
+    <item msgid="8265110906352372092">"Ξυπνητήρι"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Πατήστε για κατάργηση σίγασης."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Πατήστε για ενεργοποιήσετε τη δόνηση. Οι υπηρεσίες προσβασιμότητας ενδέχεται να τεθούν σε σίγαση."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Πατήστε για σίγαση. Οι υπηρεσίες προσβασιμότητας ενδέχεται να τεθούν σε σίγαση."</string>
diff --git a/packages/SystemUI/res/values-el/strings_tv.xml b/packages/SystemUI/res/values-el/strings_tv.xml
index 655b424..d3d2463 100644
--- a/packages/SystemUI/res/values-el/strings_tv.xml
+++ b/packages/SystemUI/res/values-el/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Αυτό διατηρεί το βίντεό σας σε προβολή έως ότου γίνει αναπαραγωγή κάποιου άλλου. Πατήστε παρατεταμένα το πλήκτρο "<b></b>" (ΑΡΧΙΚΗ ΣΕΛΙΔΑ) για να ελέγξετε αυτήν την επιλογή."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Κατάλαβα"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Παράβλεψη"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml
index 2ede279..3530761 100644
--- a/packages/SystemUI/res/values-en-rAU/strings.xml
+++ b/packages/SystemUI/res/values-en-rAU/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> is the volume dialogue"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Tap to restore the original."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"You\'re using your work profile"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Call"</item>
+    <item msgid="5997713001067658559">"System"</item>
+    <item msgid="7858983209929864160">"Ring"</item>
+    <item msgid="1850038478268896762">"Media"</item>
+    <item msgid="8265110906352372092">"Alarm"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Tap to unmute."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Tap to set to vibrate. Accessibility services may be muted."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Tap to mute. Accessibility services may be muted."</string>
diff --git a/packages/SystemUI/res/values-en-rAU/strings_tv.xml b/packages/SystemUI/res/values-en-rAU/strings_tv.xml
index 730cf74..dff61c0 100644
--- a/packages/SystemUI/res/values-en-rAU/strings_tv.xml
+++ b/packages/SystemUI/res/values-en-rAU/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"This keeps your video in view until you play another one. Press and hold "<b>"HOME"</b>" to control it."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Understood"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Dismiss"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index 2ede279..3530761 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> is the volume dialogue"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Tap to restore the original."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"You\'re using your work profile"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Call"</item>
+    <item msgid="5997713001067658559">"System"</item>
+    <item msgid="7858983209929864160">"Ring"</item>
+    <item msgid="1850038478268896762">"Media"</item>
+    <item msgid="8265110906352372092">"Alarm"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Tap to unmute."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Tap to set to vibrate. Accessibility services may be muted."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Tap to mute. Accessibility services may be muted."</string>
diff --git a/packages/SystemUI/res/values-en-rGB/strings_tv.xml b/packages/SystemUI/res/values-en-rGB/strings_tv.xml
index 730cf74..dff61c0 100644
--- a/packages/SystemUI/res/values-en-rGB/strings_tv.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"This keeps your video in view until you play another one. Press and hold "<b>"HOME"</b>" to control it."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Understood"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Dismiss"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml
index 2ede279..3530761 100644
--- a/packages/SystemUI/res/values-en-rIN/strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> is the volume dialogue"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Tap to restore the original."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"You\'re using your work profile"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Call"</item>
+    <item msgid="5997713001067658559">"System"</item>
+    <item msgid="7858983209929864160">"Ring"</item>
+    <item msgid="1850038478268896762">"Media"</item>
+    <item msgid="8265110906352372092">"Alarm"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Tap to unmute."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Tap to set to vibrate. Accessibility services may be muted."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Tap to mute. Accessibility services may be muted."</string>
diff --git a/packages/SystemUI/res/values-en-rIN/strings_tv.xml b/packages/SystemUI/res/values-en-rIN/strings_tv.xml
index 730cf74..dff61c0 100644
--- a/packages/SystemUI/res/values-en-rIN/strings_tv.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"This keeps your video in view until you play another one. Press and hold "<b>"HOME"</b>" to control it."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Understood"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Dismiss"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index 6a57c13..de7832f 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> es el cuadro de diálogo de volumen."</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Presiona para restablecer el original."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Estás usando tu perfil de trabajo"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Llamar"</item>
+    <item msgid="5997713001067658559">"Sistema"</item>
+    <item msgid="7858983209929864160">"Hacer sonar"</item>
+    <item msgid="1850038478268896762">"Multimedia"</item>
+    <item msgid="8265110906352372092">"Alarma"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Presiona para dejar de silenciar."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Presiona para establecer el modo vibración. Es posible que los servicios de accesibilidad estén silenciados."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Presiona para silenciar. Es posible que los servicios de accesibilidad estén silenciados."</string>
@@ -580,7 +593,7 @@
     <string name="accessibility_data_saver_on" msgid="8454111686783887148">"Reducir datos está activada"</string>
     <string name="accessibility_data_saver_off" msgid="8841582529453005337">"Reducir datos está desactivada"</string>
     <string name="switch_bar_on" msgid="1142437840752794229">"Activado"</string>
-    <string name="switch_bar_off" msgid="8803270596930432874">"Desactivar"</string>
+    <string name="switch_bar_off" msgid="8803270596930432874">"Desactivado"</string>
     <string name="nav_bar" msgid="1993221402773877607">"Barra de navegación"</string>
     <string name="start" msgid="6873794757232879664">"Iniciar"</string>
     <string name="center" msgid="4327473927066010960">"Centro"</string>
diff --git a/packages/SystemUI/res/values-es-rUS/strings_tv.xml b/packages/SystemUI/res/values-es-rUS/strings_tv.xml
index 1dfa04c..9703b75 100644
--- a/packages/SystemUI/res/values-es-rUS/strings_tv.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Mantiene el video a la vista hasta que reproduzcas otro. Mantén presionado "<b>"INICIO"</b>" para controlar la función."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Entendido"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Descartar"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index 5e0fa43e..e078865 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5 G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Itinerancia"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> es el cuadro de diálogo de volumen"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Toca para restaurar el original."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Estás usando tu perfil de trabajo"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Llamar"</item>
+    <item msgid="5997713001067658559">"Sistema"</item>
+    <item msgid="7858983209929864160">"Hacer sonar"</item>
+    <item msgid="1850038478268896762">"Multimedia"</item>
+    <item msgid="8265110906352372092">"Alarma"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Toca para activar el sonido."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Toca para poner el dispositivo en vibración. Los servicios de accesibilidad pueden silenciarse."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Toca para silenciar. Los servicios de accesibilidad pueden silenciarse."</string>
diff --git a/packages/SystemUI/res/values-es/strings_tv.xml b/packages/SystemUI/res/values-es/strings_tv.xml
index 32b3b8c..53e4637 100644
--- a/packages/SystemUI/res/values-es/strings_tv.xml
+++ b/packages/SystemUI/res/values-es/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"El vídeo estará visible hasta que reproduzcas otro. Mantén pulsado el botón "<b>"INICIO"</b>" para controlarlo."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Entendido"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Descartar"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-et-rEE/strings.xml b/packages/SystemUI/res/values-et-rEE/strings.xml
index 405d351..b0b56c5 100644
--- a/packages/SystemUI/res/values-et-rEE/strings.xml
+++ b/packages/SystemUI/res/values-et-rEE/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Rändlus"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> on helitugevuse dialoog"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Puudutage originaali taastamiseks."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Kasutate oma tööprofiili"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Helistamine"</item>
+    <item msgid="5997713001067658559">"Süsteem"</item>
+    <item msgid="7858983209929864160">"Helin"</item>
+    <item msgid="1850038478268896762">"Meedia"</item>
+    <item msgid="8265110906352372092">"Äratus"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Puudutage vaigistuse tühistamiseks."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Puudutage värinarežiimi määramiseks. Juurdepääsetavuse teenused võidakse vaigistada."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Puudutage vaigistamiseks. Juurdepääsetavuse teenused võidakse vaigistada."</string>
diff --git a/packages/SystemUI/res/values-et-rEE/strings_tv.xml b/packages/SystemUI/res/values-et-rEE/strings_tv.xml
index 3386f57..1a79310 100644
--- a/packages/SystemUI/res/values-et-rEE/strings_tv.xml
+++ b/packages/SystemUI/res/values-et-rEE/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"See hoiab teie videot kuval, kuni esitate järgmise. Selle juhtimiseks vajutage pikalt nuppu "<b>"AVAEKRAAN"</b>"."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Selge"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Loobu"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-eu-rES/strings.xml b/packages/SystemUI/res/values-eu-rES/strings.xml
index d8e3446..5308811 100644
--- a/packages/SystemUI/res/values-eu-rES/strings.xml
+++ b/packages/SystemUI/res/values-eu-rES/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Ibiltaritza"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> da bolumenaren leihoa"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Sakatu jatorrizkora leheneratzeko."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Work profila erabiltzen ari zara"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Deitu"</item>
+    <item msgid="5997713001067658559">"Sistema"</item>
+    <item msgid="7858983209929864160">"Tonua"</item>
+    <item msgid="1850038478268896762">"Multimedia-edukia"</item>
+    <item msgid="8265110906352372092">"Alarma"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth konexioa"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Sakatu audioa aktibatzeko."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Sakatu dardara ezartzeko. Baliteke erabilerraztasun-eginbideen audioa desaktibatzea."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Sakatu audioa desaktibatzeko. Baliteke erabilerraztasun-eginbideen audioa desaktibatzea."</string>
diff --git a/packages/SystemUI/res/values-eu-rES/strings_tv.xml b/packages/SystemUI/res/values-eu-rES/strings_tv.xml
index e1bd3a8..381e86e 100644
--- a/packages/SystemUI/res/values-eu-rES/strings_tv.xml
+++ b/packages/SystemUI/res/values-eu-rES/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Horrela, ikusgai egongo da bideoa beste bat erreproduzitu arte. Pantaila txikia kontrolatzeko, eduki sakatuta "<b>"HOME"</b>" botoia."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Ados"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Baztertu"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index 7c77d59..cfe8078 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+‎"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"رومینگ"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> کنترل‌کننده صدا است"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"برای بازیابی نسخه اصلی ضربه بزنید."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"درحال استفاده از نمایه کاری‌تان هستید"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"تماس"</item>
+    <item msgid="5997713001067658559">"سیستم"</item>
+    <item msgid="7858983209929864160">"تماس"</item>
+    <item msgid="1850038478268896762">"رسانه"</item>
+    <item msgid="8265110906352372092">"هشدار"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"بلوتوث"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"‏%1$s. برای باصدا کردن ضربه بزنید."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"‏%1$s. برای تنظیم روی لرزش ضربه بزنید. ممکن است سرویس‌های دسترس‌پذیری بی‌صدا شوند."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"‏%1$s. برای بی‌صدا کردن ضربه بزنید. ممکن است سرویس‌های دسترس‌پذیری بی‌صدا شوند."</string>
diff --git a/packages/SystemUI/res/values-fa/strings_tv.xml b/packages/SystemUI/res/values-fa/strings_tv.xml
index 86e578d..2894abba 100644
--- a/packages/SystemUI/res/values-fa/strings_tv.xml
+++ b/packages/SystemUI/res/values-fa/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"تا زمانی که ویدیوی دیگری را پخش کنید، این صفحه حالت ویدیو در ویدیوی شما را حفظ می‌کند. برای کنترل آن، دکمه "<b>"صفحه اصلی"</b>" را فشار دهید و نگه دارید."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"متوجه شدم"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"رد کردن"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index 3ae25e1..2a0f8d4 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> on äänenvoimakkuusvalinta."</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Palauta alkuperäinen napauttamalla."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Käytät työprofiilia."</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Soita"</item>
+    <item msgid="5997713001067658559">"Järjestelmä"</item>
+    <item msgid="7858983209929864160">"Soittoääni"</item>
+    <item msgid="1850038478268896762">"Media"</item>
+    <item msgid="8265110906352372092">"Herätys"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Poista mykistys koskettamalla."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Siirry värinätilaan koskettamalla. Myös esteettömyyspalvelut saattavat mykistyä."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Mykistä koskettamalla. Myös esteettömyyspalvelut saattavat mykistyä."</string>
diff --git a/packages/SystemUI/res/values-fi/strings_tv.xml b/packages/SystemUI/res/values-fi/strings_tv.xml
index 5edd349..20c3fe4 100644
--- a/packages/SystemUI/res/values-fi/strings_tv.xml
+++ b/packages/SystemUI/res/values-fi/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Videosi pysyy näkyvissä, kunnes toistat toisen videon. Hallinnoi tilaa painamalla "<b>"HOME"</b>"-painiketta pitkään."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Selvä"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Hylkää"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index 9aa176f..2cde9b72 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3G+"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Itinérance"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> correspond à la boîte de dialogue du volume"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Touchez pour restaurer l\'original."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Vous utilisez votre profil professionnel."</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Appeler"</item>
+    <item msgid="5997713001067658559">"Système"</item>
+    <item msgid="7858983209929864160">"Sonnerie"</item>
+    <item msgid="1850038478268896762">"Multimédia"</item>
+    <item msgid="8265110906352372092">"Alarme"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Touchez pour réactiver le son."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Touchez pour activer les vibrations. Il est possible de couper le son des services d\'accessibilité."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Touchez pour couper le son. Il est possible de couper le son des services d\'accessibilité."</string>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings_tv.xml b/packages/SystemUI/res/values-fr-rCA/strings_tv.xml
index 8b382a2..41a6f1b1 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings_tv.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Cette option maintient une vidéo affichée jusqu\'à la lecture de la suivante. Maintenez enfoncée la touche "<b>"ACCUEIL"</b>" pour la contrôler."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Fermer"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index b6c08ca..585d439 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3G+"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Itinérance"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> correspond à la boîte de dialogue du volume"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Appuyez pour rétablir la version d\'origine."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Vous utilisez votre profil professionnel."</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Appeler"</item>
+    <item msgid="5997713001067658559">"Système"</item>
+    <item msgid="7858983209929864160">"Faire sonner"</item>
+    <item msgid="1850038478268896762">"Multimédia"</item>
+    <item msgid="8265110906352372092">"Alarme"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Appuyez pour ne plus ignorer."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Appuyez pour mettre en mode vibreur. Vous pouvez ignorer les services d\'accessibilité."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Appuyez pour ignorer. Vous pouvez ignorer les services d\'accessibilité."</string>
diff --git a/packages/SystemUI/res/values-fr/strings_tv.xml b/packages/SystemUI/res/values-fr/strings_tv.xml
index db0c464..01905b8 100644
--- a/packages/SystemUI/res/values-fr/strings_tv.xml
+++ b/packages/SystemUI/res/values-fr/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Cette option maintient une vidéo affichée jusqu\'à la lecture de la suivante. Appuyez de manière prolongée sur le bouton "<b>"ACCUEIL"</b>" pour la contrôler."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Ignorer"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-gl-rES/strings.xml b/packages/SystemUI/res/values-gl-rES/strings.xml
index c18bae7..6274e36 100644
--- a/packages/SystemUI/res/values-gl-rES/strings.xml
+++ b/packages/SystemUI/res/values-gl-rES/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Itinerancia"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> é o cadro de diálogo de volume"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Toca para restaurar o orixinal."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Estás usando o perfil de traballo"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Chamar"</item>
+    <item msgid="5997713001067658559">"Sistema"</item>
+    <item msgid="7858983209929864160">"Facer soar"</item>
+    <item msgid="1850038478268896762">"Multimedia"</item>
+    <item msgid="8265110906352372092">"Alarma"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Toca para activar o son."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Toca para establecer a vibración. Pódense silenciar os servizos de accesibilidade."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Toca para silenciar. Pódense silenciar os servizos de accesibilidade."</string>
diff --git a/packages/SystemUI/res/values-gl-rES/strings_tv.xml b/packages/SystemUI/res/values-gl-rES/strings_tv.xml
index bd840aa..019f475 100644
--- a/packages/SystemUI/res/values-gl-rES/strings_tv.xml
+++ b/packages/SystemUI/res/values-gl-rES/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"O vídeo manterase visible ata que reproduzas outro. Mantén premido "<b>"INICIO"</b>" para controlalo."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"De acordo"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Ignorar"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-gu-rIN/strings.xml b/packages/SystemUI/res/values-gu-rIN/strings.xml
index 8c00ebd..a992f8e 100644
--- a/packages/SystemUI/res/values-gu-rIN/strings.xml
+++ b/packages/SystemUI/res/values-gu-rIN/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"રોમિંગ"</string>
@@ -344,8 +345,7 @@
     <string name="zen_silence_introduction" msgid="3137882381093271568">"એલાર્મ્સ, સંગીત, વિડિઓઝ અને રમતો સહિત તમામ ધ્વનિઓ અને વાઇબ્રેશન્સને આ અવરોધિત કરે છે."</string>
     <string name="keyguard_more_overflow_text" msgid="9195222469041601365">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string>
     <string name="speed_bump_explanation" msgid="1288875699658819755">"નીચે ઓછી તાકીદની સૂચનાઓ"</string>
-    <!-- no translation found for notification_tap_again (7590196980943943842) -->
-    <skip />
+    <string name="notification_tap_again" msgid="7590196980943943842">"ખોલવા માટે ફરીથી ટૅપ કરો"</string>
     <string name="keyguard_unlock" msgid="8043466894212841998">"અનલૉક કરવા માટે ઉપર સ્વાઇપ કરો"</string>
     <string name="phone_hint" msgid="4872890986869209950">"ફોન માટે આયકનમાંથી સ્વાઇપ કરો"</string>
     <string name="voice_hint" msgid="8939888732119726665">"વૉઇસ સહાય માટે આયકનમાંથી સ્વાઇપ કરો"</string>
@@ -435,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> એ વૉલ્યૂમ સંવાદ છે"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"મૂળને પુનઃસ્થાપિત કરવા માટે ટૅપ કરો."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"તમે તમારી કાર્ય પ્રોફાઇલનો ઉપયોગ કરી રહ્યાં છો"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"કૉલ કરો"</item>
+    <item msgid="5997713001067658559">"સિસ્ટમ"</item>
+    <item msgid="7858983209929864160">"રિંગ કરો"</item>
+    <item msgid="1850038478268896762">"મીડિયા"</item>
+    <item msgid="8265110906352372092">"એલાર્મ"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. અનમ્યૂટ કરવા માટે ટૅપ કરો."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. વાઇબ્રેટ પર સેટ કરવા માટે ટૅપ કરો. ઍક્સેસિબિલિટી સેવાઓ મ્યૂટ કરવામાં આવી શકે છે."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. મ્યૂટ કરવા માટે ટૅપ કરો. ઍક્સેસિબિલિટી સેવાઓ મ્યૂટ કરવામાં આવી શકે છે."</string>
diff --git a/packages/SystemUI/res/values-gu-rIN/strings_tv.xml b/packages/SystemUI/res/values-gu-rIN/strings_tv.xml
index 4af9f52..e2ce121 100644
--- a/packages/SystemUI/res/values-gu-rIN/strings_tv.xml
+++ b/packages/SystemUI/res/values-gu-rIN/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"તમે બીજી વિડિઓ ચલાવો નહીં ત્યાં સુધી આ તમારી વિડિઓને દૃશ્યક્ષમ રાખે છે. તેને નિયંત્રિત કરવા માટે "<b>"હોમ"</b>" દબાવી અને પકડી રાખો."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"સમજાઈ ગયું"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"છોડી દો"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index 983faed..a92dc93 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"रोमिंग"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> वॉल्यूम संवाद है"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"मूल को पुन: स्थापित करने के लिए टैप करें."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"आप अपनी कार्य प्रोफ़ाइल का उपयोग कर रहे हैं"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"कॉल करें"</item>
+    <item msgid="5997713001067658559">"सिस्‍टम"</item>
+    <item msgid="7858983209929864160">"रिंग करें"</item>
+    <item msgid="1850038478268896762">"मीडिया"</item>
+    <item msgid="8265110906352372092">"अलार्म"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"ब्लूटूथ"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. अनम्यूट करने के लिए टैप करें."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. कंपन पर सेट करने के लिए टैप करें. एक्सेस-योग्यता सेवाएं म्यूट हो सकती हैं."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. म्यूट करने के लिए टैप करें. एक्सेस-योग्यता सेवाएं म्यूट हो सकती हैं."</string>
diff --git a/packages/SystemUI/res/values-hi/strings_tv.xml b/packages/SystemUI/res/values-hi/strings_tv.xml
index e0b0903..8f0f898 100644
--- a/packages/SystemUI/res/values-hi/strings_tv.xml
+++ b/packages/SystemUI/res/values-hi/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"यह आपके वीडियो को तब तक दृश्यमान बनाए रखता है जब तक कि आप कोई दूसरा वीडियो नहीं चलाते. उसे नियंत्रित करने के लिए "<b>"HOME"</b>" को दबाए रखें."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"समझ लिया"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"ख़ारिज करें"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index e1afb4d..07fc68a 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -144,6 +144,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G i više"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> predstavlja dijaloški okvir za upravljanje glasnoćom"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Dodirnite da biste vratili izvornik."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Upotrebljavate radni profil"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Poziv"</item>
+    <item msgid="5997713001067658559">"Sustav"</item>
+    <item msgid="7858983209929864160">"Zvonjenje"</item>
+    <item msgid="1850038478268896762">"Mediji"</item>
+    <item msgid="8265110906352372092">"Alarm"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Dodirnite da biste uključili zvuk."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Dodirnite da biste postavili na vibraciju. Usluge pristupačnosti možda neće imati zvuk."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Dodirnite da biste isključili zvuk. Usluge pristupačnosti možda neće imati zvuk."</string>
diff --git a/packages/SystemUI/res/values-hr/strings_tv.xml b/packages/SystemUI/res/values-hr/strings_tv.xml
index e4c31c9..5d69704 100644
--- a/packages/SystemUI/res/values-hr/strings_tv.xml
+++ b/packages/SystemUI/res/values-hr/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Videozapis će se prikazivati dok ne počnete reproducirati neki drugi. Pritisnite i zadržite tipku "<b>"HOME"</b>" da biste upravljali tom značajkom."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Shvaćam"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Odbaci"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index ca2ca61..8fa6757 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Barangolás"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> alkalmazás kezeli a hangerőt"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Koppintson az eredeti visszaállításához."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"A munkaprofilt használja"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Hívás"</item>
+    <item msgid="5997713001067658559">"Rendszer"</item>
+    <item msgid="7858983209929864160">"Csörgetés"</item>
+    <item msgid="1850038478268896762">"Média"</item>
+    <item msgid="8265110906352372092">"Ébresztő"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Koppintson a némítás megszüntetéséhez."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Koppintson a rezgés beállításához. Előfordulhat, hogy a kisegítő lehetőségek szolgáltatásai le vannak némítva."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Koppintson a némításhoz. Előfordulhat, hogy a kisegítő lehetőségek szolgáltatásai le vannak némítva."</string>
diff --git a/packages/SystemUI/res/values-hu/strings_tv.xml b/packages/SystemUI/res/values-hu/strings_tv.xml
index db20b43..08112f5 100644
--- a/packages/SystemUI/res/values-hu/strings_tv.xml
+++ b/packages/SystemUI/res/values-hu/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"A következő lejátszásáig ezt a videót tartja előtérben. A vezérléshez tartsa nyomva a "<b>"HOME"</b>" gombot."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Rendben"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Elvetés"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-hy-rAM/strings.xml b/packages/SystemUI/res/values-hy-rAM/strings.xml
index 01dcee2..f1c3eba 100644
--- a/packages/SystemUI/res/values-hy-rAM/strings.xml
+++ b/packages/SystemUI/res/values-hy-rAM/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Ռոումինգ"</string>
@@ -153,7 +154,7 @@
     <string name="accessibility_cell_data_on" msgid="4310018593519761767">"Բջջային տվյալներն ակտիվ են"</string>
     <string name="accessibility_cell_data_off" msgid="8000803571751407635">"Բջջային ցանցով տվյալների փոխանցումն անջատված է"</string>
     <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth-ը կապվում է:"</string>
-    <string name="accessibility_airplane_mode" msgid="834748999790763092">"Ինքնաթիռային ռեժիմ"</string>
+    <string name="accessibility_airplane_mode" msgid="834748999790763092">"Ինքնաթիռի ռեժիմ"</string>
     <string name="accessibility_no_sims" msgid="3957997018324995781">"SIM քարտ չկա:"</string>
     <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Օպերատորի ցանցի փոփոխում:"</string>
     <string name="accessibility_battery_details" msgid="7645516654955025422">"Բացել մարտկոցի տվյալները"</string>
@@ -189,10 +190,10 @@
     <string name="accessibility_quick_settings_wifi_changed_on" msgid="6440117170789528622">"Wifi-ը միացավ:"</string>
     <string name="accessibility_quick_settings_mobile" msgid="4876806564086241341">"Շարժական <xliff:g id="SIGNAL">%1$s</xliff:g>: <xliff:g id="TYPE">%2$s</xliff:g>: <xliff:g id="NETWORK">%3$s</xliff:g>:"</string>
     <string name="accessibility_quick_settings_battery" msgid="1480931583381408972">"Մարտկոցը <xliff:g id="STATE">%s</xliff:g> է:"</string>
-    <string name="accessibility_quick_settings_airplane_off" msgid="7786329360056634412">"Ինքնաթիռային ռեժիմն անջատված է:"</string>
-    <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Ինքնաթիռային ռեժիմը միացված է:"</string>
-    <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Ինքնաթիռային ռեժիմն անջատվեց:"</string>
-    <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Ինքնաթիռային ռեժիմը միացավ:"</string>
+    <string name="accessibility_quick_settings_airplane_off" msgid="7786329360056634412">"Ինքնաթիռի ռեժիմն անջատված է:"</string>
+    <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Ինքնաթիռի ռեժիմը միացված է:"</string>
+    <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Ինքնաթիռի ռեժիմն անջատվեց:"</string>
+    <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Ինքնաթիռի ռեժիմը միացավ:"</string>
     <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Չխանգարելու ընտրանքը միացված է: Ընդհատել միայն կարևոր ծանուցումների դեպքում:"</string>
     <string name="accessibility_quick_settings_dnd_none_on" msgid="6882582132662613537">"Չանհանգստացնել՝ ընդհանուր լուռ վիճակը:"</string>
     <string name="accessibility_quick_settings_dnd_alarms_on" msgid="9152834845587554157">"Չանհանգստացնել՝ միայն զարթուցիչ"</string>
@@ -423,7 +424,7 @@
     <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Կոծկել"</string>
     <string name="screen_pinning_title" msgid="3273740381976175811">"Էկրանն ամրացված է"</string>
     <string name="screen_pinning_description" msgid="7238941806855968768">"Էկրանը կմնա տեսադաշտում, մինչև այն ապամրացնեք: Ապամրացնելու համար հպեք և պահեք Հետ կոճակը:"</string>
-    <string name="screen_pinning_positive" msgid="3783985798366751226">"Հասկանալի է"</string>
+    <string name="screen_pinning_positive" msgid="3783985798366751226">"Եղավ"</string>
     <string name="screen_pinning_negative" msgid="3741602308343880268">"Ոչ, շնորհակալություն"</string>
     <string name="quick_settings_reset_confirmation_title" msgid="748792586749897883">"Թաքցնե՞լ <xliff:g id="TILE_LABEL">%1$s</xliff:g>-ը:"</string>
     <string name="quick_settings_reset_confirmation_message" msgid="2235970126803317374">"Այն դարձյալ կհայտնվի, երբ նորից միացնեք կարգավորումներում:"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g>-ը ձայնի ուժգնության երկխոսության հավելված է"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Հպեք՝ բնօրինակը վերականգնելու համար:"</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Դուք օգտագործում եք ձեր աշխատանքային պրոֆիլը"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Զանգել"</item>
+    <item msgid="5997713001067658559">"Համակարգ"</item>
+    <item msgid="7858983209929864160">"Զանգ"</item>
+    <item msgid="1850038478268896762">"Մեդիա"</item>
+    <item msgid="8265110906352372092">"Զարթուցիչ"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s: Հպեք՝ ձայնը միացնելու համար:"</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s: Հպեք՝ թրթռումը միացնելու համար: Մատչելիության ծառայությունների ձայնը կարող է անջատվել:"</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s: Հպեք՝ ձայնն անջատելու համար: Մատչելիության ծառայությունների ձայնը կարող է անջատվել:"</string>
@@ -451,7 +464,7 @@
     <string name="status_bar_ethernet" msgid="5044290963549500128">"Ethernet"</string>
     <string name="status_bar_alarm" msgid="8536256753575881818">"Զարթուցիչ"</string>
     <string name="status_bar_work" msgid="6022553324802866373">"Android for Work-ի պրոֆիլ"</string>
-    <string name="status_bar_airplane" msgid="7057575501472249002">"Ինքնաթիռային ռեժիմ"</string>
+    <string name="status_bar_airplane" msgid="7057575501472249002">"Ինքնաթիռի ռեժիմ"</string>
     <string name="add_tile" msgid="2995389510240786221">"Սալիկի ավելացում"</string>
     <string name="broadcast_tile" msgid="3894036511763289383">"Սալիկի հեռարձակում"</string>
     <string name="zen_alarm_warning_indef" msgid="3482966345578319605">"Ժամը <xliff:g id="WHEN">%1$s</xliff:g>-ի զարթուցիչը չի զանգի, եթե մինչ այդ չանջատեք այս կարգավորումը"</string>
@@ -464,7 +477,7 @@
     <string name="tuner_warning_title" msgid="7094689930793031682">"Զվարճանք մեկ՝ որոշակի մարդու համար"</string>
     <string name="tuner_warning" msgid="8730648121973575701">"Համակարգի ՕՄ-ի ընդունիչը հնարավորություն է տալիս հարմարեցնել Android-ի օգտվողի միջերեսը: Այս փորձնական գործառույթները կարող են հետագա թողարկումների մեջ փոփոխվել, խափանվել կամ ընդհանրապես չհայտնվել: Եթե շարունակում եք, զգուշացեք:"</string>
     <string name="tuner_persistent_warning" msgid="8597333795565621795">"Այս փորձնական գործառույթները կարող են հետագա թողարկումների մեջ փոփոխվել, խափանվել կամ ընդհանրապես չհայտնվել: Եթե շարունակում եք, զգուշացեք:"</string>
-    <string name="got_it" msgid="2239653834387972602">"Հասկանալի է"</string>
+    <string name="got_it" msgid="2239653834387972602">"Եղավ"</string>
     <string name="tuner_toast" msgid="603429811084428439">"Համակարգի ՕՄ-ի ընդունիչը ավելացվել է կարգավորումներին"</string>
     <string name="remove_from_settings" msgid="8389591916603406378">"Հեռացնել կարգավորումներից"</string>
     <string name="remove_from_settings_prompt" msgid="6069085993355887748">"Հեռացնե՞լ Համակարգի ՕՄ-ի ընդունիչը կարգավորումներից և չօգտվել այլևս նրա գործառույթներից:"</string>
diff --git a/packages/SystemUI/res/values-hy-rAM/strings_tv.xml b/packages/SystemUI/res/values-hy-rAM/strings_tv.xml
index cd9b159..a447ba8 100644
--- a/packages/SystemUI/res/values-hy-rAM/strings_tv.xml
+++ b/packages/SystemUI/res/values-hy-rAM/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Տեսանյութը կմնա տեսադաշտում մինչև մեկ այլ տեսանյութ նվագարկելը: Կառավարելու համար սեղմեք և պահեք "<b>"HOME"</b>" կոճակը:"</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Պարզ է"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Փակել"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index 293cd00..d295d6e 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> adalah dialog volume"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Ketuk untuk memulihkan aslinya."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Anda menggunakan profil kerja"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Telepon"</item>
+    <item msgid="5997713001067658559">"Sistem"</item>
+    <item msgid="7858983209929864160">"Deringkan"</item>
+    <item msgid="1850038478268896762">"Media"</item>
+    <item msgid="8265110906352372092">"Alarm"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Ketuk untuk menyuarakan."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Ketuk untuk menyetel agar bergetar. Layanan aksesibilitas mungkin dibisukan."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Ketuk untuk membisukan. Layanan aksesibilitas mungkin dibisukan."</string>
diff --git a/packages/SystemUI/res/values-in/strings_tv.xml b/packages/SystemUI/res/values-in/strings_tv.xml
index a997703..14f64b2 100644
--- a/packages/SystemUI/res/values-in/strings_tv.xml
+++ b/packages/SystemUI/res/values-in/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Tindakan ini terus menampilkan video hingga Anda memutar yang lain. Tekan dan tahan tombol "<b>"UTAMA"</b>" untuk mengontrolnya."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Mengerti"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Tutup"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-is-rIS/strings.xml b/packages/SystemUI/res/values-is-rIS/strings.xml
index 05e6256..d298eb4 100644
--- a/packages/SystemUI/res/values-is-rIS/strings.xml
+++ b/packages/SystemUI/res/values-is-rIS/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Reiki"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> er hljóðstyrksvalmyndin"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Ýttu til að færa í upprunalegt horf."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Þú ert að nota vinnusniðið"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Hringja"</item>
+    <item msgid="5997713001067658559">"Kerfi"</item>
+    <item msgid="7858983209929864160">"Hringing"</item>
+    <item msgid="1850038478268896762">"Margmiðlun"</item>
+    <item msgid="8265110906352372092">"Vekjari"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Ýttu til að hætta að þagga."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Ýttu til að stilla á titring. Hugsanlega verður slökkt á hljóði aðgengisþjónustu."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Ýttu til að þagga. Hugsanlega verður slökkt á hljóði aðgengisþjónustu."</string>
diff --git a/packages/SystemUI/res/values-is-rIS/strings_tv.xml b/packages/SystemUI/res/values-is-rIS/strings_tv.xml
index 582c044..6e1918e 100644
--- a/packages/SystemUI/res/values-is-rIS/strings_tv.xml
+++ b/packages/SystemUI/res/values-is-rIS/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Þetta heldur myndskeiðinu sýnilegu þar til þú spilar annað. Haltu inni "<b>"HOME"</b>" til að stjórna."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Ég skil"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Hunsa"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index e8aacd5..0fd8fdc 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> rappresenta la finestra di dialogo relativa al volume"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Tocca per ripristinare l\'originale."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Stai utilizzando il profilo di lavoro"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Chiamata"</item>
+    <item msgid="5997713001067658559">"Sistema"</item>
+    <item msgid="7858983209929864160">"Suoneria"</item>
+    <item msgid="1850038478268896762">"Contenuti multimediali"</item>
+    <item msgid="8265110906352372092">"Sveglia"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Tocca per riattivare l\'audio."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Tocca per attivare la vibrazione. L\'audio dei servizi di accessibilità può essere disattivato."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Tocca per disattivare l\'audio. L\'audio dei servizi di accessibilità può essere disattivato."</string>
diff --git a/packages/SystemUI/res/values-it/strings_tv.xml b/packages/SystemUI/res/values-it/strings_tv.xml
index 8c47e56..7269bfa 100644
--- a/packages/SystemUI/res/values-it/strings_tv.xml
+++ b/packages/SystemUI/res/values-it/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Il video rimane visualizzato fino alla riproduzione di un altro video. Tieni premuto "<b>"HOME"</b>" per controllare la funzione."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Ignora"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index 2f1393e..40ce8e6 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -145,6 +145,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"+4G"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"נדידה"</string>
@@ -438,6 +439,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> הוא תיבת הדו-שיח של עוצמת הקול"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"הקש כדי לשחזר את המקור."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"אתה משתמש בפרופיל העבודה שלך"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"שיחה"</item>
+    <item msgid="5997713001067658559">"מערכת"</item>
+    <item msgid="7858983209929864160">"השמע צלצול"</item>
+    <item msgid="1850038478268896762">"מדיה"</item>
+    <item msgid="8265110906352372092">"התראה"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"‏%1$s. הקש כדי לבטל את ההשתקה."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"‏%1$s. הקש כדי להגדיר רטט. ייתכן ששירותי הנגישות מושתקים."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"‏%1$s. הקש כדי להשתיק. ייתכן ששירותי הנגישות מושתקים."</string>
diff --git a/packages/SystemUI/res/values-iw/strings_tv.xml b/packages/SystemUI/res/values-iw/strings_tv.xml
index eea7a91..0556bb0 100644
--- a/packages/SystemUI/res/values-iw/strings_tv.xml
+++ b/packages/SystemUI/res/values-iw/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"תכונה זו שומרת על תצוגת הסרטון עד שתפעיל סרטון אחר. לחץ לחיצה ממושכת על לחצן ה"<b>"בית"</b>" כדי לשלוט בתכונה."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"הבנתי"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"דחה"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index 39b9ea7..eaeeec4 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ローミング中"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g>を音量ダイアログとして使用"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"タップすると元に戻ります。"</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"仕事用プロファイルを使用しています"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"通話"</item>
+    <item msgid="5997713001067658559">"システム"</item>
+    <item msgid="7858983209929864160">"着信音"</item>
+    <item msgid="1850038478268896762">"メディア"</item>
+    <item msgid="8265110906352372092">"アラーム"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s。タップしてミュートを解除します。"</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s。タップしてバイブレーションに設定します。ユーザー補助機能サービスがミュートされる場合があります。"</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s。タップしてミュートします。ユーザー補助機能サービスがミュートされる場合があります。"</string>
diff --git a/packages/SystemUI/res/values-ja/strings_tv.xml b/packages/SystemUI/res/values-ja/strings_tv.xml
index 85cddf4..dce5874 100644
--- a/packages/SystemUI/res/values-ja/strings_tv.xml
+++ b/packages/SystemUI/res/values-ja/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"これにより、別のビデオを再生するまでこのビデオが表示されます。["<b>"ホーム"</b>"] を押し続けると、操作できます。"</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"閉じる"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"閉じる"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ka-rGE/strings.xml b/packages/SystemUI/res/values-ka-rGE/strings.xml
index 378b36c..222e24b 100644
--- a/packages/SystemUI/res/values-ka-rGE/strings.xml
+++ b/packages/SystemUI/res/values-ka-rGE/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5გბ"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"როუმინგი"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> ხმოვან დიალოგშია"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"შეეხეთ ორიგინალის აღსადგენად."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"თქვენ სამსახურის პროფილს იყენებთ"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"დარეკვა"</item>
+    <item msgid="5997713001067658559">"სისტემა"</item>
+    <item msgid="7858983209929864160">"ზარი"</item>
+    <item msgid="1850038478268896762">"მედია"</item>
+    <item msgid="8265110906352372092">"მაღვიძარა"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. შეეხეთ დადუმების გასაუქმებლად."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. შეეხეთ ვიბრაციაზე დასაყენებლად. შეიძლება დადუმდეს მარტივი წვდომის სერვისებიც."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. შეეხეთ დასადუმებლად. შეიძლება დადუმდეს მარტივი წვდომის სერვისებიც."</string>
diff --git a/packages/SystemUI/res/values-ka-rGE/strings_tv.xml b/packages/SystemUI/res/values-ka-rGE/strings_tv.xml
index 67957c9..d3b5fa8 100644
--- a/packages/SystemUI/res/values-ka-rGE/strings_tv.xml
+++ b/packages/SystemUI/res/values-ka-rGE/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"ვიდეო ჩამაგრებული იქნება, სანამ ახალს არ დაუკრავთ. სამართავად, ხანგრძლივად დააჭირეთ "<b>"მთავარ ღილაკზე"</b>"."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"გასაგებია"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"დახურვა"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-kk-rKZ/strings.xml b/packages/SystemUI/res/values-kk-rKZ/strings.xml
index 1e1544b..a07513a 100644
--- a/packages/SystemUI/res/values-kk-rKZ/strings.xml
+++ b/packages/SystemUI/res/values-kk-rKZ/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3Г"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5Г"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4Г"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"ҰМД"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA (кодтармен бөлінген бірнеше қол жетімділік)"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Роуминг"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> — көлем диалогтық терезесі"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Бастапқы қалпына келтіру үшін түртіңіз."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Сіз жұмыс профиліңізді пайдаланып жатырсыз"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Қоңырау шалу"</item>
+    <item msgid="5997713001067658559">"Жүйе"</item>
+    <item msgid="7858983209929864160">"Шылдырлау"</item>
+    <item msgid="1850038478268896762">"Мультимeдиа"</item>
+    <item msgid="8265110906352372092">"Дабыл"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Дыбысын қосу үшін түртіңіз."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Діріл режимін орнату үшін түртіңіз. Арнайы мүмкіндік қызметтерінің дыбысы өшуі мүмкін."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Дыбысын өшіру үшін түртіңіз. Арнайы мүмкіндік қызметтерінің дыбысы өшуі мүмкін."</string>
diff --git a/packages/SystemUI/res/values-kk-rKZ/strings_tv.xml b/packages/SystemUI/res/values-kk-rKZ/strings_tv.xml
index c9823e9..1e0caf7 100644
--- a/packages/SystemUI/res/values-kk-rKZ/strings_tv.xml
+++ b/packages/SystemUI/res/values-kk-rKZ/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Басқа бейне ойнатылғанға дейін ағымдағы бейне көрсетіле береді. Оны басқару үшін "<b>"HOME"</b>" түймесін басып тұрыңыз."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Түсіндім"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Жабу"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-km-rKH/strings.xml b/packages/SystemUI/res/values-km-rKH/strings.xml
index 84d3470..1f2a988 100644
--- a/packages/SystemUI/res/values-km-rKH/strings.xml
+++ b/packages/SystemUI/res/values-km-rKH/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"រ៉ូ​មីង"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> គឺជាប្រអប់សម្លេង"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"ប៉ះដើម្បីស្តារច្បាប់ដើម"</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"អ្នកកំពុងប្រើប្រវត្តិរូបការងាររបស់អ្នក"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"ហៅ"</item>
+    <item msgid="5997713001067658559">"ប្រព័ន្ធ"</item>
+    <item msgid="7858983209929864160">"រោទ៍"</item>
+    <item msgid="1850038478268896762">"មេឌៀ"</item>
+    <item msgid="8265110906352372092">"ម៉ោងរោទ៍"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"ប៊្លូធូស"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s។ ប៉ះដើម្បីបើកសំឡេង។"</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s។ ប៉ះដើម្បីកំណត់ឲ្យញ័រ។ សេវាកម្មលទ្ធភាពប្រើប្រាស់អាចនឹងត្រូវបានបិទសំឡេង។"</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s។ ប៉ះដើម្បីបិទសំឡេង។ សេវាកម្មលទ្ធភាពប្រើប្រាស់អាចនឹងត្រូវបានបិទសំឡេង។"</string>
diff --git a/packages/SystemUI/res/values-km-rKH/strings_tv.xml b/packages/SystemUI/res/values-km-rKH/strings_tv.xml
index 0e7b3f2..e4d4f32 100644
--- a/packages/SystemUI/res/values-km-rKH/strings_tv.xml
+++ b/packages/SystemUI/res/values-km-rKH/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"វាបន្តផ្អាកវីដេអូរបស់អ្នក រហូតដល់អ្នកចុចចាក់វីដេអូមួយផ្សេងទៀត។ ចុច ហើយសង្កត់ប៊ូតុង"<b>"ដើម"</b>" ដើម្បីគ្រប់គ្រងវា។"</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"យល់ហើយ"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"បដិសេធ"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-kn-rIN/strings.xml b/packages/SystemUI/res/values-kn-rIN/strings.xml
index ed48bcb..ce085ce 100644
--- a/packages/SystemUI/res/values-kn-rIN/strings.xml
+++ b/packages/SystemUI/res/values-kn-rIN/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ರೋಮಿಂಗ್"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> ವಾಲ್ಯೂಮ್ ಸಂವಾದವಾಗಿದೆ"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"ಮೂಲಕ್ಕೆ ಮರುಸ್ಥಾಪಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ ಅನ್ನು ನೀವು ಬಳಸುತ್ತಿರುವಿರಿ"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"ಕರೆಮಾಡಿ"</item>
+    <item msgid="5997713001067658559">"ಸಿಸ್ಟಂ"</item>
+    <item msgid="7858983209929864160">"ಉಂಗುರ"</item>
+    <item msgid="1850038478268896762">"ಮಾಧ್ಯಮ"</item>
+    <item msgid="8265110906352372092">"ಅಲಾರಮ್"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"ಬ್ಲೂಟೂತ್‌"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. ಅನ್‌ಮ್ಯೂಟ್‌ ಮಾಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. ಕಂಪನಕ್ಕೆ ಹೊಂದಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ. ಪ್ರವೇಶಿಸುವಿಕೆ ಸೇವೆಗಳನ್ನು ಮ್ಯೂಟ್‌ ಮಾಡಬಹುದು."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. ಮ್ಯೂಟ್ ಮಾಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ. ಪ್ರವೇಶಿಸುವಿಕೆ ಸೇವೆಗಳನ್ನು ಮ್ಯೂಟ್‌ ಮಾಡಬಹುದು."</string>
diff --git a/packages/SystemUI/res/values-kn-rIN/strings_tv.xml b/packages/SystemUI/res/values-kn-rIN/strings_tv.xml
index e617c6e..5afb322 100644
--- a/packages/SystemUI/res/values-kn-rIN/strings_tv.xml
+++ b/packages/SystemUI/res/values-kn-rIN/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"ನೀವು ಮತ್ತೊಂದನ್ನು ಪ್ಲೇ ಮಾಡುವ ತನಕ ಇದು ನಿಮ್ಮ ವೀಡಿಯೋವನ್ನು ವೀಕ್ಷಣೆಯಲ್ಲಿರಿಸುತ್ತದೆ. ಅದನ್ನು ನಿಯಂತ್ರಿಸಲು "<b>"ಹೋಮ್"</b>" ಅನ್ನು ಒತ್ತಿ ಹಿಡಿಯಿರಿ."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"ಅರ್ಥವಾಯಿತು"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"ವಜಾಗೊಳಿಸಿ"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index 5c46e00..8aec874 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G 이상"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"로밍"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g>은(는) 볼륨 대화입니다."</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"원본을 복원하려면 탭하세요."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"직장 프로필을 사용하고 있습니다."</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"통화"</item>
+    <item msgid="5997713001067658559">"시스템"</item>
+    <item msgid="7858983209929864160">"벨 울리기"</item>
+    <item msgid="1850038478268896762">"미디어"</item>
+    <item msgid="8265110906352372092">"알람"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"블루투스"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. 탭하여 음소거를 해제하세요."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. 탭하여 진동으로 설정하세요. 접근성 서비스가 음소거될 수 있습니다."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. 탭하여 음소거로 설정하세요. 접근성 서비스가 음소거될 수 있습니다."</string>
diff --git a/packages/SystemUI/res/values-ko/strings_tv.xml b/packages/SystemUI/res/values-ko/strings_tv.xml
index b0e9f45..df22a24 100644
--- a/packages/SystemUI/res/values-ko/strings_tv.xml
+++ b/packages/SystemUI/res/values-ko/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"다른 동영상을 재생할 때까지 동영상이 계속 표시됩니다. 제어하려면 "<b>"홈"</b>"을 길게 누릅니다."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"확인"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"닫기"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ky-rKG/strings.xml b/packages/SystemUI/res/values-ky-rKG/strings.xml
index 46fed8b..cc88276 100644
--- a/packages/SystemUI/res/values-ky-rKG/strings.xml
+++ b/packages/SystemUI/res/values-ky-rKG/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Роуминг"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> үндү катуулатуу диалогу"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Үндүн баштапкы деңгээлин калыбына келтирүү үчүн таптап коюңуз."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Жумуш профилиңизди колдонуп жатасыз"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Чалуу"</item>
+    <item msgid="5997713001067658559">"Тутум"</item>
+    <item msgid="7858983209929864160">"Шыңгыратуу"</item>
+    <item msgid="1850038478268896762">"Мультимедия"</item>
+    <item msgid="8265110906352372092">"Ойготкуч"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Үнүн чыгаруу үчүн таптап коюңуз."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Дирилдөөгө коюу үчүн таптап коюңуз. Атайын мүмкүнчүлүктөр кызматынын үнүн өчүрүп койсо болот."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Үнүн өчүрүү үчүн таптап коюңуз. Атайын мүмкүнчүлүктөр кызматынын үнүн өчүрүп койсо болот."</string>
diff --git a/packages/SystemUI/res/values-ky-rKG/strings_tv.xml b/packages/SystemUI/res/values-ky-rKG/strings_tv.xml
index 771e395..3d34e2f 100644
--- a/packages/SystemUI/res/values-ky-rKG/strings_tv.xml
+++ b/packages/SystemUI/res/values-ky-rKG/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Ушуну менен, башка видео ойнотмоюнча видеоңуз көрсөтүлө берет. Аны башкаруу үчүн "<b>"БАШКЫ БЕТ"</b>" баскычын басып, кармап туруңуз."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Түшүндүм"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Көз жаздымда калтыруу"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-lo-rLA/strings.xml b/packages/SystemUI/res/values-lo-rLA/strings.xml
index f8aea26..f692329 100644
--- a/packages/SystemUI/res/values-lo-rLA/strings.xml
+++ b/packages/SystemUI/res/values-lo-rLA/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ໂຣມມິງ"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> ແມ່ນ​ໜ້າ​ຕ່າງ​ລະ​ດັບ​ສຽງ"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"ແຕະເພື່ອກູ້ຕົ້ນສະບັບຄືນມາ."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"ທ່ານກຳລັງໃຊ້ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກຂອງທ່ານ"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"ໂທ"</item>
+    <item msgid="5997713001067658559">"ລະບົບ"</item>
+    <item msgid="7858983209929864160">"​ເຕືອນ​ດ້ວຍ​ສຽງ"</item>
+    <item msgid="1850038478268896762">"ມີເດຍ"</item>
+    <item msgid="8265110906352372092">"ໂມງປຸກ"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. ແຕະເພື່ອເຊົາປິດສຽງ."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. ແຕະເພື່ອຕັ້ງເປັນສັ່ນ. ບໍລິການຊ່ວຍເຂົ້າເຖິງອາດຖືກປິດສຽງໄວ້."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. ແຕະເພື່ອປິດສຽງ. ບໍລິການຊ່ວຍເຂົ້າເຖິງອາດຖືກປິດສຽງໄວ້."</string>
diff --git a/packages/SystemUI/res/values-lo-rLA/strings_tv.xml b/packages/SystemUI/res/values-lo-rLA/strings_tv.xml
index ba32597..cf2ef1e 100644
--- a/packages/SystemUI/res/values-lo-rLA/strings_tv.xml
+++ b/packages/SystemUI/res/values-lo-rLA/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"ນີ້ຈະເປັນການເຮັດໃຫ້ວິດີໂອຂອງທ່ານຢູ່ໃນມຸມມອງຈົນກວ່າທ່ານຈະຫຼິ້ນວິດີໂອອື່ນ. ໃຫ້ກົດປຸ່ມ "<b>"HOME"</b>" ຄ້າງໄວ້ເພື່ອຄວບຄຸມມັນ."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"ເຂົ້າໃຈແລ້ວ"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"ປິດໄວ້"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index a40bef9..fef7077 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -145,6 +145,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Tarptinklinis ryšys"</string>
@@ -438,6 +439,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"„<xliff:g id="APP_NAME">%1$s</xliff:g>“ yra garsumo valdymo dialogo langas"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Palieskite, kad atkurtumėte originalą."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Naudojate darbo profilį"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Skambinti"</item>
+    <item msgid="5997713001067658559">"Sistema"</item>
+    <item msgid="7858983209929864160">"Skambinti"</item>
+    <item msgid="1850038478268896762">"Medija"</item>
+    <item msgid="8265110906352372092">"Signalas"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Palieskite, kad įjungtumėte garsą."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Palieskite, kad nustatytumėte vibravimą. Gali būti nutildytos pritaikymo neįgaliesiems paslaugos."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Palieskite, kad nutildytumėte. Gali būti nutildytos pritaikymo neįgaliesiems paslaugos."</string>
diff --git a/packages/SystemUI/res/values-lt/strings_tv.xml b/packages/SystemUI/res/values-lt/strings_tv.xml
index e263da4..0cdc085 100644
--- a/packages/SystemUI/res/values-lt/strings_tv.xml
+++ b/packages/SystemUI/res/values-lt/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Vaizdo įrašas bus rodomas, kol paleisite kitą vaizdo įrašą. Jei norite valdyti, palaikykite paspaudę mygtuką "<b>"HOME"</b>"."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Supratau"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Atsisakyti"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index d5b29c4..e977e1c 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -144,6 +144,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Viesabonēšana"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> ir skaļuma dialoglodziņš"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Pieskarieties, lai atjaunotu sākotnējo saturu."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Jūs izmantojat darba profilu."</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Zvans"</item>
+    <item msgid="5997713001067658559">"Sistēma"</item>
+    <item msgid="7858983209929864160">"Zvanīt"</item>
+    <item msgid="1850038478268896762">"Multivide"</item>
+    <item msgid="8265110906352372092">"Signāls"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Pieskarieties, lai ieslēgtu skaņu."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Pieskarieties, lai iestatītu uz vibrozvanu. Var tikt izslēgti pieejamības pakalpojumu signāli."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Pieskarieties, lai izslēgtu skaņu. Var tikt izslēgti pieejamības pakalpojumu signāli."</string>
diff --git a/packages/SystemUI/res/values-lv/strings_tv.xml b/packages/SystemUI/res/values-lv/strings_tv.xml
index cafc10d..33450fa 100644
--- a/packages/SystemUI/res/values-lv/strings_tv.xml
+++ b/packages/SystemUI/res/values-lv/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Šādi videoklips būs redzams, līdz atskaņosiet citu videoklipu. Lai to kontrolētu, nospiediet un turiet nospiestu pogu "<b>"HOME"</b>"."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Labi"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Nerādīt"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-mk-rMK/strings.xml b/packages/SystemUI/res/values-mk-rMK/strings.xml
index f4dd7bc..bc7a1c1 100644
--- a/packages/SystemUI/res/values-mk-rMK/strings.xml
+++ b/packages/SystemUI/res/values-mk-rMK/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Роаминг"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> е дијалог за јачина на звук"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Допрете за да го вратите оригиналот."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Го користите работниот профил"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Повикај"</item>
+    <item msgid="5997713001067658559">"Систем"</item>
+    <item msgid="7858983209929864160">"Ѕвони"</item>
+    <item msgid="1850038478268896762">"Аудио-визуелни содржини"</item>
+    <item msgid="8265110906352372092">"Аларм"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Допрете за да вклучите звук."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Допрете за да поставите на вибрации. Можеби ќе се исклучи звукот на услугите за достапност."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Допрете за да исклучите звук. Можеби ќе се исклучи звукот на услугите за достапност."</string>
diff --git a/packages/SystemUI/res/values-mk-rMK/strings_tv.xml b/packages/SystemUI/res/values-mk-rMK/strings_tv.xml
index 453272c..6d7a53a 100644
--- a/packages/SystemUI/res/values-mk-rMK/strings_tv.xml
+++ b/packages/SystemUI/res/values-mk-rMK/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Видеото се прикажува сѐ додека не пуштите друго. Притиснете и задржете "<b>"ПОЧЕТЕН ЕКРАН"</b>" за да го контролирате."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Разбрав"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Отфрли"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ml-rIN/strings.xml b/packages/SystemUI/res/values-ml-rIN/strings.xml
index 7178b29..c78e2e3 100644
--- a/packages/SystemUI/res/values-ml-rIN/strings.xml
+++ b/packages/SystemUI/res/values-ml-rIN/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"റോമിംഗ്"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g>, വോളിയം ഡയലോഗാണ്"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"ഒറിജിനൽ പുനഃസ്ഥാപിക്കാൻ ടാപ്പുചെയ്യുക."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"നിങ്ങൾ ഉപയോഗിക്കുന്നത് ഔദ്യോഗിക പ്രൊഫൈലാണ്"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"വിളിക്കുക"</item>
+    <item msgid="5997713001067658559">"സിസ്‌റ്റം"</item>
+    <item msgid="7858983209929864160">"റിംഗുചെയ്യുക"</item>
+    <item msgid="1850038478268896762">"മീഡിയ"</item>
+    <item msgid="8265110906352372092">"അലാറം"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"ബ്ലൂടൂത്ത്"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. അൺമ്യൂട്ടുചെയ്യുന്നതിന് ടാപ്പുചെയ്യുക."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. വൈബ്രേറ്റിലേക്ക് സജ്ജമാക്കുന്നതിന് ടാപ്പുചെയ്യുക. പ്രവേശനക്ഷമതാ സേവനങ്ങൾ മ്യൂട്ടുചെയ്യപ്പെട്ടേക്കാം."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. മ്യൂട്ടുചെയ്യുന്നതിന് ടാപ്പുചെയ്യുക. പ്രവേശനക്ഷമതാ സേവനങ്ങൾ മ്യൂട്ടുചെയ്യപ്പെട്ടേക്കാം."</string>
diff --git a/packages/SystemUI/res/values-ml-rIN/strings_tv.xml b/packages/SystemUI/res/values-ml-rIN/strings_tv.xml
index 48bdb51..e971b9a 100644
--- a/packages/SystemUI/res/values-ml-rIN/strings_tv.xml
+++ b/packages/SystemUI/res/values-ml-rIN/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"മറ്റൊരു വീഡിയോ പ്ലേ ചെയ്യുന്നത് വരെ നിങ്ങളുടെ വീഡിയോയെ ഇത് കാഴ്ചയിൽ നിലനിർത്തുന്നു. ഇത് നിയന്ത്രിക്കുന്നതിന് "<b>"ഹോം"</b>" അമർത്തിപ്പിടിക്കുക."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"മനസ്സിലായി"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"ഡിസ്മിസ് ചെയ്യുക"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-mn-rMN/strings.xml b/packages/SystemUI/res/values-mn-rMN/strings.xml
index 296658b..0a24ae1 100644
--- a/packages/SystemUI/res/values-mn-rMN/strings.xml
+++ b/packages/SystemUI/res/values-mn-rMN/strings.xml
@@ -141,6 +141,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Рүүминг"</string>
@@ -432,6 +433,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> нь дууны диалог юм."</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Эх хувилбарыг сэргээхийн тулд дарна уу."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Та өөрийн ажлын профайлыг ашиглаж байна"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Дуудлага"</item>
+    <item msgid="5997713001067658559">"Систем"</item>
+    <item msgid="7858983209929864160">"Хонх дуугаргах"</item>
+    <item msgid="1850038478268896762">"Медиа"</item>
+    <item msgid="8265110906352372092">"Сэрүүлэг"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Дууг нь нээхийн тулд товшино уу."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Чичиргээнд тохируулахын тулд товшино уу. Хүртээмжийн үйлчилгээний дууг хаасан."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Дууг нь хаахын тулд товшино уу. Хүртээмжийн үйлчилгээний дууг хаасан."</string>
diff --git a/packages/SystemUI/res/values-mn-rMN/strings_tv.xml b/packages/SystemUI/res/values-mn-rMN/strings_tv.xml
index 8c6ffbb..40933d8 100644
--- a/packages/SystemUI/res/values-mn-rMN/strings_tv.xml
+++ b/packages/SystemUI/res/values-mn-rMN/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Таныг өөр видео тоглуулах хүртэл таны видеог гаргасаар байх болно. Үүнийг удирдахын тулд "<b>"НҮҮР ХУУДАС"</b>" товчлуурыг дараад, хүлээнэ үү."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Ойлголоо"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Хаах"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-mr-rIN/strings.xml b/packages/SystemUI/res/values-mr-rIN/strings.xml
index 1fb4beb..525bece 100644
--- a/packages/SystemUI/res/values-mr-rIN/strings.xml
+++ b/packages/SystemUI/res/values-mr-rIN/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"रोमिंग"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> हा व्हॉल्यूम संवाद आहे"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"मूळ पुनर्संचयित करण्यासाठी टॅप करा."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"आपण आपले कार्य प्रोफाईल वापरत आहात"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"कॉल करा"</item>
+    <item msgid="5997713001067658559">"सिस्टीम"</item>
+    <item msgid="7858983209929864160">"रिंग करा"</item>
+    <item msgid="1850038478268896762">"मीडिया"</item>
+    <item msgid="8265110906352372092">"अलार्म"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"ब्लूटुथ"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. सशब्द करण्यासाठी टॅप करा."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. कंपन सेट करण्यासाठी टॅप करा. प्रवेशयोग्यता सेवा नि:शब्द केल्या जाऊ शकतात."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. नि:शब्द करण्यासाठी टॅप करा. प्रवेशक्षमता सेवा नि:शब्द केल्या जाऊ शकतात."</string>
diff --git a/packages/SystemUI/res/values-mr-rIN/strings_tv.xml b/packages/SystemUI/res/values-mr-rIN/strings_tv.xml
index 5841500..bfada64 100644
--- a/packages/SystemUI/res/values-mr-rIN/strings_tv.xml
+++ b/packages/SystemUI/res/values-mr-rIN/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"आपण दुसरा व्हिडिओ प्ले करेपर्यंत हे आपल्या व्हिडिओस दृश्यामध्ये ठेवते. ते नियंत्रित करण्यासाठी "<b>"मुख्यपृष्ठ"</b>" दाबा आणि धरून ठेवा."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"समजले"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"डिसमिस करा"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ms-rMY/strings.xml b/packages/SystemUI/res/values-ms-rMY/strings.xml
index 8729ae8..4c55344 100644
--- a/packages/SystemUI/res/values-ms-rMY/strings.xml
+++ b/packages/SystemUI/res/values-ms-rMY/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Perayauan"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> ialah dialog kelantangan"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Ketik untuk memulihkan yang asal."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Anda sedang menggunakan profil kerja"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Panggil"</item>
+    <item msgid="5997713001067658559">"Sistem"</item>
+    <item msgid="7858983209929864160">"Dering"</item>
+    <item msgid="1850038478268896762">"Media"</item>
+    <item msgid="8265110906352372092">"Penggera"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Ketik untuk menyahredam."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Ketik untuk menetapkan pada getar. Perkhidmatan kebolehaksesan mungkin diredamkan."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Ketik untuk meredam. Perkhidmatan kebolehaksesan mungkin diredamkan."</string>
diff --git a/packages/SystemUI/res/values-ms-rMY/strings_tv.xml b/packages/SystemUI/res/values-ms-rMY/strings_tv.xml
index 502f231..de221cc 100644
--- a/packages/SystemUI/res/values-ms-rMY/strings_tv.xml
+++ b/packages/SystemUI/res/values-ms-rMY/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Tindakan ini memastikan video anda sentiasa dipaparkan sehingga anda memainkan video lain. Tekan dan tahan "<b>"SKRIN UTAMA"</b>" untuk mengawalnya."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Ketepikan"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-my-rMM/strings.xml b/packages/SystemUI/res/values-my-rMM/strings.xml
index 2522e39..e31c11c 100644
--- a/packages/SystemUI/res/values-my-rMM/strings.xml
+++ b/packages/SystemUI/res/values-my-rMM/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"မြန်နှုန်းမြင့်လိုင်း"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ကွန်ယက်ပြင်ပဒေတာအသုံးပြုခြင်း"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> သည် အသံဒိုင်ယာလော့ခ်ဖြစ်သည်"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"မူရင်းကိုပြန်ယူရန် တို့ပါ။"</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"သင်သည် အလုပ်ပရိုဖိုင်းအား သုံးနေသည်"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"ခေါ်ဆိုမှု"</item>
+    <item msgid="5997713001067658559">"စနစ်"</item>
+    <item msgid="7858983209929864160">"ဖုန်းခေါ်ဆိုမှု"</item>
+    <item msgid="1850038478268896762">"မီဒီယာ"</item>
+    <item msgid="8265110906352372092">"နှိုးစက်"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"ဘလူးတုသ်"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s။ အသံပြန်ဖွင့်ရန် တို့ပါ။"</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s။ တုန်ခါမှုကို သတ်မှတ်ရန် တို့ပါ။ အများသုံးစွဲနိုင်မှု ဝန်ဆောင်မှုများကို အသံပိတ်ထားနိုင်ပါသည်။"</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s။ အသံပိတ်ရန် တို့ပါ။ အများသုံးစွဲနိုင်မှု ဝန်ဆောင်မှုများကို အသံပိတ်ထားနိုင်ပါသည်။"</string>
diff --git a/packages/SystemUI/res/values-my-rMM/strings_tv.xml b/packages/SystemUI/res/values-my-rMM/strings_tv.xml
index 4ce1992..2c5b94b 100644
--- a/packages/SystemUI/res/values-my-rMM/strings_tv.xml
+++ b/packages/SystemUI/res/values-my-rMM/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"နောက်တစ်ခုမဖွင့်မချင်း သင့်ဗီဒီယိုကို ပြသထားပါမည်။ ၎င်းကိုထိန်းချုပ်ရန် "<b>"ပင်မ"</b>" ခလုတ်ကို နှိပ်ပြီးဖိထားပါ။"</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"ရပါပြီ"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"ပယ်ပါ"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index fc81c3c..ae6f71e 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> er volumdialogen"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Trykk for å gjenopprette originalen."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Du bruker jobbprofilen din"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Ring"</item>
+    <item msgid="5997713001067658559">"System"</item>
+    <item msgid="7858983209929864160">"Varsellyd"</item>
+    <item msgid="1850038478268896762">"Medier"</item>
+    <item msgid="8265110906352372092">"Alarmen"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Trykk for å slå på lyden."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Trykk for å angi vibrasjon. Lyden kan bli slått av for tilgjengelighetstjenestene."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Trykk for å slå av lyden. Lyden kan bli slått av for tilgjengelighetstjenestene."</string>
diff --git a/packages/SystemUI/res/values-nb/strings_tv.xml b/packages/SystemUI/res/values-nb/strings_tv.xml
index 3dc7ae0..20b0f24 100644
--- a/packages/SystemUI/res/values-nb/strings_tv.xml
+++ b/packages/SystemUI/res/values-nb/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Dette holder videoen din synlig frem til du spiller av en annen video. Trykk og hold inne "<b>"HOME"</b>" for å styre dette."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Greit"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Avvis"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ne-rNP/strings.xml b/packages/SystemUI/res/values-ne-rNP/strings.xml
index 4f321cf..a099136 100644
--- a/packages/SystemUI/res/values-ne-rNP/strings.xml
+++ b/packages/SystemUI/res/values-ne-rNP/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"रोमिङ"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> भोल्यूम संवाद हो"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"मूललाई पुनर्स्थापना गर्न ट्याप गर्नुहोस्।"</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"तपाईँले कार्य प्रोफाइल प्रयोग गर्दै हुनुहुन्छ"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"कल"</item>
+    <item msgid="5997713001067658559">"प्रणाली"</item>
+    <item msgid="7858983209929864160">"रिङटोन"</item>
+    <item msgid="1850038478268896762">"मिडिया"</item>
+    <item msgid="8265110906352372092">"अलार्म"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"ब्लुटुथ"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s। अनम्यूट गर्नका लागि ट्याप गर्नुहोस्।"</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s। कम्पनमा सेट गर्नका लागि ट्याप गर्नुहोस्। पहुँच सम्बन्धी सेवाहरू म्यूट हुन सक्छन्।"</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s। म्यूट गर्नका लागि ट्याप गर्नुहोस्। पहुँच सम्बन्धी सेवाहरू म्यूट हुन सक्छन्।"</string>
diff --git a/packages/SystemUI/res/values-ne-rNP/strings_tv.xml b/packages/SystemUI/res/values-ne-rNP/strings_tv.xml
index 61a1669..648eed0 100644
--- a/packages/SystemUI/res/values-ne-rNP/strings_tv.xml
+++ b/packages/SystemUI/res/values-ne-rNP/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"तपाईँले अर्को भिडियोलाई प्ले नगरेसम्म यसले तपाईँको भिडियोलाई दृश्यमा राख्दछ। यसलाई नियन्त्रण गर्नका लागि "<b>"HOME"</b>" लाई थिचिरहनुहोस्।"</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"बुझेँ"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"खारेज गर्नुहोस्"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index 72f04bb..94636cc 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> is het volumedialoogvenster"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Tik om het origineel te herstellen."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"U gebruikt je werkprofiel"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Bellen"</item>
+    <item msgid="5997713001067658559">"Systeem"</item>
+    <item msgid="7858983209929864160">"Bellen"</item>
+    <item msgid="1850038478268896762">"Media"</item>
+    <item msgid="8265110906352372092">"Alarm"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Tik om dempen op te heffen."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Tik om in te stellen op trillen. Toegankelijkheidsservices kunnen zijn gedempt."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Tik om te dempen. Toegankelijkheidsservices kunnen zijn gedempt."</string>
diff --git a/packages/SystemUI/res/values-nl/strings_tv.xml b/packages/SystemUI/res/values-nl/strings_tv.xml
index ee0510c..4fdaf5d 100644
--- a/packages/SystemUI/res/values-nl/strings_tv.xml
+++ b/packages/SystemUI/res/values-nl/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Hiermee blijft je video in beeld totdat je een andere afspeelt. Houd "<b>"HOME"</b>" ingedrukt om de functie te bedienen."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Sluiten"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-pa-rIN/strings.xml b/packages/SystemUI/res/values-pa-rIN/strings.xml
index d9cb04f..7b67779 100644
--- a/packages/SystemUI/res/values-pa-rIN/strings.xml
+++ b/packages/SystemUI/res/values-pa-rIN/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ਰੋਮਿੰਗ"</string>
@@ -344,8 +345,7 @@
     <string name="zen_silence_introduction" msgid="3137882381093271568">"ਇਹ ਅਲਾਰਮ, ਸੰਗੀਤ, ਵੀਡੀਓਜ਼, ਅਤੇ ਗੇਮਸ ਸਮੇਤ, ਸਾਰੀਆਂ ਧੁਨੀਆਂ ਅਤੇ ਵਾਇਬ੍ਰੇਸ਼ਨ ਨੂੰ ਬਲੌਕ ਕਰਦਾ ਹੈ।"</string>
     <string name="keyguard_more_overflow_text" msgid="9195222469041601365">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string>
     <string name="speed_bump_explanation" msgid="1288875699658819755">"ਹੇਠਾਂ ਘੱਟ ਲਾਜ਼ਮੀ ਸੂਚਨਾਵਾਂ"</string>
-    <!-- no translation found for notification_tap_again (7590196980943943842) -->
-    <skip />
+    <string name="notification_tap_again" msgid="7590196980943943842">"ਖੋਲ੍ਹਣ ਲਈ ਦੁਬਾਰਾ ਟੈਪ ਕਰੋ"</string>
     <string name="keyguard_unlock" msgid="8043466894212841998">"ਅਨਲੌਕ ਕਰਨ ਲਈ ਉੱਪਰ ਸਵਾਈਪ ਕਰੋ।"</string>
     <string name="phone_hint" msgid="4872890986869209950">"ਫ਼ੋਨ ਲਈ ਆਈਕਨ ਤੋਂ ਸਵਾਈਪ ਕਰੋ"</string>
     <string name="voice_hint" msgid="8939888732119726665">"ਵੌਇਸ ਅਸਿਸਟ ਲਈ ਆਈਕਨ ਤੋਂ ਸਵਾਈਪ ਕਰੋ"</string>
@@ -435,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਵੋਲਯੂਮ ਡਾਇਲੌਗ ਹੈ"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"ਅਸਲ ਨੂੰ ਮੁੜ-ਬਹਾਲ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ।"</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"ਤੁਸੀਂ ਆਪਣੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਵਰਤ ਰਹੇ ਹੋ"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"ਕਾਲ ਕਰੋ"</item>
+    <item msgid="5997713001067658559">"ਸਿਸਟਮ"</item>
+    <item msgid="7858983209929864160">"ਰਿੰਗ ਕਰੋ"</item>
+    <item msgid="1850038478268896762">"ਮੀਡੀਆ"</item>
+    <item msgid="8265110906352372092">"ਅਲਾਰਮ"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"ਬਲੂਟੁੱਥ"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s। ਅਣਮਿਊਟ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ।"</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s। ਥਰਥਰਾਹਟ ਸੈੱਟ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ। ਪਹੁੰਚਯੋਗਤਾ ਸੇਵਾਵਾਂ ਮਿਊਟ ਹੋ ਸਕਦੀਆਂ ਹਨ।"</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s। ਮਿਊਟ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ। ਪਹੁੰਚਯੋਗਤਾ ਸੇਵਾਵਾਂ ਮਿਊਟ ਹੋ ਸਕਦੀਆਂ ਹਨ।"</string>
diff --git a/packages/SystemUI/res/values-pa-rIN/strings_tv.xml b/packages/SystemUI/res/values-pa-rIN/strings_tv.xml
index afaa658..cbd5cbf 100644
--- a/packages/SystemUI/res/values-pa-rIN/strings_tv.xml
+++ b/packages/SystemUI/res/values-pa-rIN/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"ਇਹ ਤੁਹਾਡੀ ਵੀਡੀਓ ਨੂੰ ਤਦ ਤੱਕ ਦ੍ਰਿਸ਼ ਵਿੱਚ ਰੱਖਦਾ ਹੈ, ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਕੋਈ ਹੋਰ ਵੀਡੀਓ ਨਹੀਂ ਚਲਾਉਂਦੇ ਹੋ। ਇਸ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਲਈ "<b>"ਹੋਮ"</b>" ਬਟਨ ਨੂੰ ਦੱਬੋ ਅਤੇ ਦਬਾਈ ਰੱਖੋ।"</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"ਸਮਝ ਲਿਆ"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"ਖ਼ਾਰਜ ਕਰੋ"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index 3cf8294..59c1888 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -145,6 +145,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -438,6 +439,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> steruje głośnością"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Kliknij, by przywrócić ustawienie początkowe."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Używasz profilu do pracy"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Połączenie"</item>
+    <item msgid="5997713001067658559">"System"</item>
+    <item msgid="7858983209929864160">"Dzwonek"</item>
+    <item msgid="1850038478268896762">"Multimedia"</item>
+    <item msgid="8265110906352372092">"Alarm"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Kliknij, by wyłączyć wyciszenie."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Kliknij, by włączyć wibracje. Ułatwienia dostępu mogą być wyciszone."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Kliknij, by wyciszyć. Ułatwienia dostępu mogą być wyciszone."</string>
diff --git a/packages/SystemUI/res/values-pl/strings_tv.xml b/packages/SystemUI/res/values-pl/strings_tv.xml
index 03a18bd..09c63e4 100644
--- a/packages/SystemUI/res/values-pl/strings_tv.xml
+++ b/packages/SystemUI/res/values-pl/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"W tym trybie film pozostaje na ekranie do czasu, aż odtworzysz kolejny. Aby sterować trybem, przytrzymaj przycisk "<b>"EKRAN GŁÓWNY"</b>"."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Zamknij"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml
index 6feea20..b916810 100644
--- a/packages/SystemUI/res/values-pt-rBR/strings.xml
+++ b/packages/SystemUI/res/values-pt-rBR/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> é a caixa de diálogo referente ao volume"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Toque para restaurar o original."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Você está usando seu perfil de trabalho"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Chamar"</item>
+    <item msgid="5997713001067658559">"Sistema"</item>
+    <item msgid="7858983209929864160">"Tocar"</item>
+    <item msgid="1850038478268896762">"Mídia"</item>
+    <item msgid="8265110906352372092">"Alarme"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Toque para ativar o som."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Toque para configurar para vibrar. É possível que os serviços de acessibilidade sejam silenciados."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Toque para silenciar. É possível que os serviços de acessibilidade sejam silenciados."</string>
diff --git a/packages/SystemUI/res/values-pt-rBR/strings_tv.xml b/packages/SystemUI/res/values-pt-rBR/strings_tv.xml
index 1857fee..4b76e64 100644
--- a/packages/SystemUI/res/values-pt-rBR/strings_tv.xml
+++ b/packages/SystemUI/res/values-pt-rBR/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Esse recurso faz com que seu vídeo continue sendo exibido até que você reproduza outro. Mantenha "<b>"INÍCIO"</b>" pressionado para controlá-lo."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Entendi"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Dispensar"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index c393400..144dbef 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> é a caixa de diálogo do volume"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Toque para restaurar o original."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Está a utilizar o seu perfil de trabalho"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Telefonar"</item>
+    <item msgid="5997713001067658559">"Sistema"</item>
+    <item msgid="7858983209929864160">"Tocar"</item>
+    <item msgid="1850038478268896762">"Multimédia"</item>
+    <item msgid="8265110906352372092">"Alarme"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Toque para reativar o som."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Toque para ativar a vibração. Os serviços de acessibilidade podem ser silenciados."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Toque para desativar o som. Os serviços de acessibilidade podem ser silenciados."</string>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings_tv.xml b/packages/SystemUI/res/values-pt-rPT/strings_tv.xml
index 915b227..9465cc2 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings_tv.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Esta opção mantém o vídeo visível até reproduzir outro vídeo. Prima sem soltar "<b>"HOME"</b>" para o controlar."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Compreendi"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Ignorar"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index 6feea20..b916810 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> é a caixa de diálogo referente ao volume"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Toque para restaurar o original."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Você está usando seu perfil de trabalho"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Chamar"</item>
+    <item msgid="5997713001067658559">"Sistema"</item>
+    <item msgid="7858983209929864160">"Tocar"</item>
+    <item msgid="1850038478268896762">"Mídia"</item>
+    <item msgid="8265110906352372092">"Alarme"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Toque para ativar o som."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Toque para configurar para vibrar. É possível que os serviços de acessibilidade sejam silenciados."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Toque para silenciar. É possível que os serviços de acessibilidade sejam silenciados."</string>
diff --git a/packages/SystemUI/res/values-pt/strings_tv.xml b/packages/SystemUI/res/values-pt/strings_tv.xml
index 1857fee..4b76e64 100644
--- a/packages/SystemUI/res/values-pt/strings_tv.xml
+++ b/packages/SystemUI/res/values-pt/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Esse recurso faz com que seu vídeo continue sendo exibido até que você reproduza outro. Mantenha "<b>"INÍCIO"</b>" pressionado para controlá-lo."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Entendi"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Dispensar"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index 5f3eed7..523880d 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -71,7 +71,7 @@
     <string name="screenshot_saving_ticker" msgid="7403652894056693515">"Se salv. captura de ecran..."</string>
     <string name="screenshot_saving_title" msgid="8242282144535555697">"Se salvează captura de ecran..."</string>
     <string name="screenshot_saving_text" msgid="2419718443411738818">"Captura de ecran este salvată."</string>
-    <string name="screenshot_saved_title" msgid="6461865960961414961">"Captură de ecran realizată."</string>
+    <string name="screenshot_saved_title" msgid="6461865960961414961">"Captură de ecran salvată."</string>
     <string name="screenshot_saved_text" msgid="2685605830386712477">"Atingeți pentru a vedea captura de ecran."</string>
     <string name="screenshot_failed_title" msgid="705781116746922771">"Captura de ecran nu a putut fi realizată."</string>
     <string name="screenshot_failed_to_save_unknown_text" msgid="7887826345701753830">"Problemă întâmpinată la salvarea capturii de ecran."</string>
@@ -144,6 +144,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -438,6 +439,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> afișează caseta de dialog pentru volum"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Atingeți pentru a restabili versiunea originală."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Acum folosiți profilul de serviciu"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Apel"</item>
+    <item msgid="5997713001067658559">"Sistem"</item>
+    <item msgid="7858983209929864160">"Sonerie"</item>
+    <item msgid="1850038478268896762">"Conținut media"</item>
+    <item msgid="8265110906352372092">"Alarmă"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Atingeți pentru a activa sunetul."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Atingeți pentru a seta vibrarea. Sunetul se poate dezactiva pentru serviciile de accesibilitate."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Atingeți pentru a dezactiva sunetul. Sunetul se poate dezactiva pentru serviciile de accesibilitate."</string>
diff --git a/packages/SystemUI/res/values-ro/strings_tv.xml b/packages/SystemUI/res/values-ro/strings_tv.xml
index 0287cb7..233eb3a 100644
--- a/packages/SystemUI/res/values-ro/strings_tv.xml
+++ b/packages/SystemUI/res/values-ro/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Astfel, videoclipul este afișat până când redați alt videoclip. Apăsați lung pe butonul "<b>"ACASĂ"</b>" pentru a controla funcția."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Am înțeles"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Închideți"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index 062ea48..60a3896 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -145,6 +145,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Роуминг"</string>
@@ -440,6 +441,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"Приложение <xliff:g id="APP_NAME">%1$s</xliff:g> назначено регулятором громкости"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Нажмите, чтобы восстановить оригинал"</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Вы перешли в рабочий профиль"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Вызов"</item>
+    <item msgid="5997713001067658559">"Система"</item>
+    <item msgid="7858983209929864160">"Рингтон"</item>
+    <item msgid="1850038478268896762">"Мультимедиа"</item>
+    <item msgid="8265110906352372092">"Будильник"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Нажмите, чтобы включить звук."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Нажмите, чтобы включить вибрацию. Специальные возможности могут прекратить работу."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Нажмите, чтобы выключить звук. Специальные возможности могут прекратить работу."</string>
diff --git a/packages/SystemUI/res/values-ru/strings_tv.xml b/packages/SystemUI/res/values-ru/strings_tv.xml
index 3c00160..d60a114 100644
--- a/packages/SystemUI/res/values-ru/strings_tv.xml
+++ b/packages/SystemUI/res/values-ru/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Позволяет смотреть одно видео в другом. Для управления нажмите и удерживайте клавишу "<b>"HOME"</b>"."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"ОК"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Закрыть"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-si-rLK/strings.xml b/packages/SystemUI/res/values-si-rLK/strings.xml
index 90f75a6..bffb443 100644
--- a/packages/SystemUI/res/values-si-rLK/strings.xml
+++ b/packages/SystemUI/res/values-si-rLK/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"රෝමිං"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> ධාරිතා සංවාදයයි"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"මුල් තත්ත්වය නැවත ප්‍රතිසාධනය කිරීමට තට්ටු කරන්න."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"ඔබ ඔබේ කාර්යාල පැතිකඩ භාවිත කරමින් සිටී"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"ඇමතුම"</item>
+    <item msgid="5997713001067658559">"පද්ධතිය"</item>
+    <item msgid="7858983209929864160">"නාද කරන්න"</item>
+    <item msgid="1850038478268896762">"මාධ්‍ය"</item>
+    <item msgid="8265110906352372092">"එලාමය"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"බ්ලූටූත්"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. නිහඬ කිරීම ඉවත් කිරීමට තට්ටු කරන්න."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. කම්පනය කිරීමට තට්ටු කරන්න. ප්‍රවේශ්‍යතා සේවා නිහඬ කළ හැකිය."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. නිහඬ කිරීමට තට්ටු කරන්න. ප්‍රවේශ්‍යතා සේවා නිහඬ කළ හැකිය."</string>
diff --git a/packages/SystemUI/res/values-si-rLK/strings_tv.xml b/packages/SystemUI/res/values-si-rLK/strings_tv.xml
index 7c3d4fc..7fd7641 100644
--- a/packages/SystemUI/res/values-si-rLK/strings_tv.xml
+++ b/packages/SystemUI/res/values-si-rLK/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"මෙය ඔබේ වීඩියෝව ඔබ වෙනත් එකක් ධාවනය කරන තෙක් දසුනෙහි තබා ගනියි. එය පාලනය කිරීමට "<b>"මුල් පිටුව"</b>" ඔබා අල්ලාගෙන සිටින්න."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"හරි, තේරුණා"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"අස් කරන්න"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index f0537c3..e05d30d 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -145,6 +145,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -326,7 +327,7 @@
     <string name="recents_empty_message" msgid="808480104164008572">"Žiadne nedávne položky"</string>
     <string name="recents_empty_message_dismissed_all" msgid="2791312568666558651">"Vymazali ste všetko"</string>
     <string name="recents_app_info_button_label" msgid="2890317189376000030">"Informácie o aplikácii"</string>
-    <string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"pripnutie k obrazovke"</string>
+    <string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"pripnutie obrazovky"</string>
     <string name="recents_search_bar_label" msgid="8074997400187836677">"hľadať"</string>
     <string name="recents_launch_error_message" msgid="2969287838120550506">"Aplikáciu <xliff:g id="APP">%s</xliff:g> sa nepodarilo spustiť"</string>
     <string name="recents_launch_disabled_message" msgid="1624523193008871793">"Aplikácia <xliff:g id="APP">%s</xliff:g> je v núdzovom režime zakázaná."</string>
@@ -440,6 +441,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> je dialóg hlasitosti"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Klepnutím obnovíte pôvodnú verziu."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Používate svoj pracovný profil."</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Hovor"</item>
+    <item msgid="5997713001067658559">"Systém"</item>
+    <item msgid="7858983209929864160">"Zvonenie"</item>
+    <item msgid="1850038478268896762">"Médiá"</item>
+    <item msgid="8265110906352372092">"Budík"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Klepnutím zapnite zvuk."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Klepnutím aktivujte režim vibrovania. Služby dostupnosti je možné stlmiť."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Klepnutím vypnite zvuk. Služby dostupnosti je možné stlmiť."</string>
diff --git a/packages/SystemUI/res/values-sk/strings_tv.xml b/packages/SystemUI/res/values-sk/strings_tv.xml
index f4e781a..2972862 100644
--- a/packages/SystemUI/res/values-sk/strings_tv.xml
+++ b/packages/SystemUI/res/values-sk/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Táto možnosť podrží video v obraze, dokým prehráte ďalšie. Stlačením a podržaním tlačidla "<b>"HOME"</b>" ho môžete ovládať."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Dobre"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Odmietnuť"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index 4eafc0b..f993f4d 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -145,6 +145,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Gostovanje"</string>
@@ -440,6 +441,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> je pogovorno okno glede prostornine"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Dotaknite se, če želite obnoviti prvotno stanje."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Uporabljate delovni profil"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Klic"</item>
+    <item msgid="5997713001067658559">"Sistem"</item>
+    <item msgid="7858983209929864160">"Zvonjenje"</item>
+    <item msgid="1850038478268896762">"Predstavnost"</item>
+    <item msgid="8265110906352372092">"Alarm"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Dotaknite se, če želite vklopiti zvok."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Dotaknite se, če želite nastaviti vibriranje. V storitvah za ljudi s posebnimi potrebami bo morda izklopljen zvok."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Dotaknite se, če želite izklopiti zvok. V storitvah za ljudi s posebnimi potrebami bo morda izklopljen zvok."</string>
diff --git a/packages/SystemUI/res/values-sl/strings_tv.xml b/packages/SystemUI/res/values-sl/strings_tv.xml
index b29253f..72f3c0c 100644
--- a/packages/SystemUI/res/values-sl/strings_tv.xml
+++ b/packages/SystemUI/res/values-sl/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"S tem videoposnetek ostane v pogledu, dokler ne predvajate drugega. Pridržite tipko "<b>"HOME"</b>", če ga želite upravljati."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Razumem"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Opusti"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-sq-rAL/strings.xml b/packages/SystemUI/res/values-sq-rAL/strings.xml
index 688e643..4fbd833 100644
--- a/packages/SystemUI/res/values-sq-rAL/strings.xml
+++ b/packages/SystemUI/res/values-sq-rAL/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"Lidhje CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -344,8 +345,7 @@
     <string name="zen_silence_introduction" msgid="3137882381093271568">"Kjo bllokon TË GJITHË tingujt dhe dridhjet, duke përfshirë edhe nga alarmet, muzika, videot dhe lojërat."</string>
     <string name="keyguard_more_overflow_text" msgid="9195222469041601365">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string>
     <string name="speed_bump_explanation" msgid="1288875699658819755">"Njoftimet më pak urgjente, më poshtë!"</string>
-    <!-- no translation found for notification_tap_again (7590196980943943842) -->
-    <skip />
+    <string name="notification_tap_again" msgid="7590196980943943842">"Trokit përsëri për ta hapur"</string>
     <string name="keyguard_unlock" msgid="8043466894212841998">"Rrëshqit për të shkyçur"</string>
     <string name="phone_hint" msgid="4872890986869209950">"Rrëshqit për të hapur telefonin"</string>
     <string name="voice_hint" msgid="8939888732119726665">"Rrëshqit për të hapur ndihmën zanore"</string>
@@ -435,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> është dialogu i volumit"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Trokit për të restauruar origjinalin."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Po përdor profilin tënd të punës"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Telefono"</item>
+    <item msgid="5997713001067658559">"Sistemi"</item>
+    <item msgid="7858983209929864160">"Bjeri ziles"</item>
+    <item msgid="1850038478268896762">"Media"</item>
+    <item msgid="8265110906352372092">"Alarmi"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Trokit për të aktivizuar."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Trokit për ta caktuar te dridhja. Shërbimet e qasshmërisë mund të çaktivizohen."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Trokit për të çaktivizuar. Shërbimet e qasshmërisë mund të çaktivizohen."</string>
diff --git a/packages/SystemUI/res/values-sq-rAL/strings_tv.xml b/packages/SystemUI/res/values-sq-rAL/strings_tv.xml
index 4d9ed2b..9bfd18f 100644
--- a/packages/SystemUI/res/values-sq-rAL/strings_tv.xml
+++ b/packages/SystemUI/res/values-sq-rAL/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Kjo e mban videon të dukshme derisa të luash një tjetër. Shtyp dhe mbaj shtypur "<b>"HOME"</b>" për ta kontrolluar."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"E kuptova"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Hiqe"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index 2bfdc88..eed01c1 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -144,6 +144,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Роминг"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> је дијалог за јачину звука"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Додирните да бисте вратили оригинал."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Користите профил за Work"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Позови"</item>
+    <item msgid="5997713001067658559">"Систем"</item>
+    <item msgid="7858983209929864160">"Прстен"</item>
+    <item msgid="1850038478268896762">"Медијуми"</item>
+    <item msgid="8265110906352372092">"Аларм"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Додирните да бисте укључили звук."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Додирните да бисте подесили на вибрацију. Звук услуга приступачности ће можда бити искључен."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Додирните да бисте искључили звук. Звук услуга приступачности ће можда бити искључен."</string>
diff --git a/packages/SystemUI/res/values-sr/strings_tv.xml b/packages/SystemUI/res/values-sr/strings_tv.xml
index f5d948d..85a21a9 100644
--- a/packages/SystemUI/res/values-sr/strings_tv.xml
+++ b/packages/SystemUI/res/values-sr/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"На овај начин ће видео бити приказан док не пустите неки други. Притисните и задржите "<b>"ПОЧЕТНА"</b>" да бисте га контролисали."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Важи"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Одбаци"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index 7c2f3af..39a6b2f 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> används som volymkontroll"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Återställ originalet genom att trycka här."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Du använder din jobbprofil"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Ring"</item>
+    <item msgid="5997713001067658559">"System"</item>
+    <item msgid="7858983209929864160">"Ring"</item>
+    <item msgid="1850038478268896762">"Media"</item>
+    <item msgid="8265110906352372092">"Alarm"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Tryck här om du vill slå på ljudet."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Tryck här om du vill sätta på vibrationen. Tillgänglighetstjänster kanske inaktiveras."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Tryck här om du vill stänga av ljudet. Tillgänglighetstjänsterna kanske inaktiveras."</string>
diff --git a/packages/SystemUI/res/values-sv/strings_tv.xml b/packages/SystemUI/res/values-sv/strings_tv.xml
index 6341d5f..4e1281b 100644
--- a/packages/SystemUI/res/values-sv/strings_tv.xml
+++ b/packages/SystemUI/res/values-sv/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Då visas videon tills du spelar upp en annan. Tryck länge på "<b>"startknappen"</b>" om du vill styra uppspelningen."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Ignorera"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index 28b6153..d1ca28b 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Inatumia data nje mtandao wako wa kawaida"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> ni mazungumzo ya sauti"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Gonga ili urejeshe picha ya asili."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Unatumia wasifu wako wa kazini"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Piga simu"</item>
+    <item msgid="5997713001067658559">"Mfumo"</item>
+    <item msgid="7858983209929864160">"Pete"</item>
+    <item msgid="1850038478268896762">"Media"</item>
+    <item msgid="8265110906352372092">"Kengele"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Gonga ili urejeshe."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Gonga ili uweke mtetemo. Huenda ikakomesha huduma za zana za walio na matatizo ya kuona au kusikia."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Gonga ili ukomeshe. Huenda ikakomesha huduma za zana za walio na matatizo ya kuona au kusikia."</string>
diff --git a/packages/SystemUI/res/values-sw/strings_tv.xml b/packages/SystemUI/res/values-sw/strings_tv.xml
index 20e9629..02c28ae 100644
--- a/packages/SystemUI/res/values-sw/strings_tv.xml
+++ b/packages/SystemUI/res/values-sw/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Hali hii itaendelea kuonyesha video yako hadi utakapocheza video nyingine. Bonyeza na ushikilie kitufe cha "<b>"HOME"</b>" ili uidhibiti."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Nimeelewa"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Ondoa"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-sw410dp/config.xml b/packages/SystemUI/res/values-sw410dp/config.xml
index 049a535..b04b28c 100644
--- a/packages/SystemUI/res/values-sw410dp/config.xml
+++ b/packages/SystemUI/res/values-sw410dp/config.xml
@@ -22,5 +22,5 @@
 <resources>
     <integer name="quick_settings_num_rows">2</integer>
 
-    <bool name="quick_settings_show_date">true</bool>
+    <bool name="quick_settings_show_full_alarm">true</bool>
 </resources>
diff --git a/packages/SystemUI/res/values-ta-rIN/strings.xml b/packages/SystemUI/res/values-ta-rIN/strings.xml
index d7ba719..6ba18c3 100644
--- a/packages/SystemUI/res/values-ta-rIN/strings.xml
+++ b/packages/SystemUI/res/values-ta-rIN/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"ரோமிங்"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"ஒலியளவு செய்தி: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"அசலை மீட்டமைக்க, தட்டவும்."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"பணி சுயவிவரத்தைப் பயன்படுத்துகிறீர்கள்"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"அழைப்பு"</item>
+    <item msgid="5997713001067658559">"சாதனம்"</item>
+    <item msgid="7858983209929864160">"ரிங்"</item>
+    <item msgid="1850038478268896762">"மீடியா"</item>
+    <item msgid="8265110906352372092">"அலாரம்"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"புளூடூத்"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. ஒலி இயக்க, தட்டவும்."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. அதிர்விற்கு அமைக்க, தட்டவும். அணுகல்தன்மை சேவைகள் ஒலியடக்கப்படக்கூடும்."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. ஒலியடக்க, தட்டவும். அணுகல்தன்மை சேவைகள் ஒலியடக்கப்படக்கூடும்."</string>
diff --git a/packages/SystemUI/res/values-ta-rIN/strings_tv.xml b/packages/SystemUI/res/values-ta-rIN/strings_tv.xml
index f875a37..cf9a500 100644
--- a/packages/SystemUI/res/values-ta-rIN/strings_tv.xml
+++ b/packages/SystemUI/res/values-ta-rIN/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"இது நீங்கள் அடுத்த வீடியோவை இயக்கும் வரை தற்போதுள்ள வீடியோவை வைத்திருக்கும். அதைக் கட்டுப்படுத்த, "<b>"முகப்பு"</b>" என்பதை அழுத்திப் பிடிக்கவும்."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"சரி"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"நிராகரி"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-te-rIN/strings.xml b/packages/SystemUI/res/values-te-rIN/strings.xml
index 1843ee4..42705fe 100644
--- a/packages/SystemUI/res/values-te-rIN/strings.xml
+++ b/packages/SystemUI/res/values-te-rIN/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"రోమింగ్"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> అనేది వాల్యూమ్ డైలాగ్"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"అసలు దాన్ని పునరుద్ధరించడానికి నొక్కండి."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"మీరు మీ కార్యాలయ ప్రొఫైల్‌ను ఉపయోగిస్తున్నారు"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"కాల్"</item>
+    <item msgid="5997713001067658559">"సిస్టమ్"</item>
+    <item msgid="7858983209929864160">"రింగ్"</item>
+    <item msgid="1850038478268896762">"మీడియా"</item>
+    <item msgid="8265110906352372092">"అలారం"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"బ్లూటూత్"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. అన్‌మ్యూట్ చేయడానికి నొక్కండి."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. వైబ్రేషన్‌కు సెట్ చేయడానికి నొక్కండి. ప్రాప్యత సేవలు మ్యూట్ చేయబడవచ్చు."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. మ్యూట్ చేయడానికి నొక్కండి. ప్రాప్యత సేవలు మ్యూట్ చేయబడవచ్చు."</string>
diff --git a/packages/SystemUI/res/values-te-rIN/strings_tv.xml b/packages/SystemUI/res/values-te-rIN/strings_tv.xml
index c48b6b9..d065cbd 100644
--- a/packages/SystemUI/res/values-te-rIN/strings_tv.xml
+++ b/packages/SystemUI/res/values-te-rIN/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"ఇది మీరు మరొకటి ప్లే చేసే వరకు మీ వీడియోను వీక్షణలో ఉంచుతుంది. దాన్ని నియంత్రించడానికి "<b>"హోమ్"</b>" నొక్కి, పట్టుకోండి."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"అర్థమైంది"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"తీసివేస్తుంది"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index a20033a..7474ab3 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"โรมมิ่ง"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> เป็นช่องโต้ตอบระดับเสียง"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"แตะเพื่อคืนค่าเป็นค่าเดิม"</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"คุณกำลังใช้โปรไฟล์งานของคุณ"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"โทร"</item>
+    <item msgid="5997713001067658559">"ระบบ"</item>
+    <item msgid="7858983209929864160">"ทำให้ส่งเสียง"</item>
+    <item msgid="1850038478268896762">"สื่อ"</item>
+    <item msgid="8265110906352372092">"การปลุก"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"บลูทูธ"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s แตะเพื่อเปิดเสียง"</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s แตะเพื่อตั้งค่าให้สั่น อาจมีการปิดเสียงบริการการเข้าถึง"</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s แตะเพื่อปิดเสียง อาจมีการปิดเสียงบริการการเข้าถึง"</string>
diff --git a/packages/SystemUI/res/values-th/strings_tv.xml b/packages/SystemUI/res/values-th/strings_tv.xml
index 7ac4807..b6c61f1 100644
--- a/packages/SystemUI/res/values-th/strings_tv.xml
+++ b/packages/SystemUI/res/values-th/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"การตั้งค่านี้จะทำให้คุณมองเห็นวิดีโอนี้จนกว่าคุณจะเล่นวิดีโออีกรายการหนึ่ง กดปุ่ม"<b>"หน้าแรก"</b>"ค้างไว้เพื่อควบคุม"</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"รับทราบ"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"ปิด"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index 41326ab..35b2392 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Roaming"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"Ang <xliff:g id="APP_NAME">%1$s</xliff:g> ang volume dialog"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"I-tap upang i-restore ang orihinal."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Ginagamit mo ang iyong profile sa trabaho"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Tawag"</item>
+    <item msgid="5997713001067658559">"System"</item>
+    <item msgid="7858983209929864160">"Ipa-ring"</item>
+    <item msgid="1850038478268896762">"Media"</item>
+    <item msgid="8265110906352372092">"Alarm"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. I-tap upang i-unmute."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. I-tap upang itakda na mag-vibrate. Maaaring i-mute ang mga serbisyo sa Accessibility."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. I-tap upang i-mute. Maaaring i-mute ang mga serbisyo sa Accessibility."</string>
diff --git a/packages/SystemUI/res/values-tl/strings_tv.xml b/packages/SystemUI/res/values-tl/strings_tv.xml
index 45fa081..83244de 100644
--- a/packages/SystemUI/res/values-tl/strings_tv.xml
+++ b/packages/SystemUI/res/values-tl/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Pinapanatili nitong nakikita ang iyong video hanggang sa mag-play ka ng iba. Pindutin nang matagal ang "<b>"HOME"</b>" upang kontrolin ito."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"I-dismiss"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index e95785f..49dfc95 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Dolaşımda"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> ses denetimi iletişim kutusu olarak ayarlandı"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Orijinali geri yüklemek için dokunun."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"İş profilinizi kullanıyorsunuz"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Çağrı"</item>
+    <item msgid="5997713001067658559">"Sistem"</item>
+    <item msgid="7858983209929864160">"Zili Çaldır"</item>
+    <item msgid="1850038478268896762">"Medya"</item>
+    <item msgid="8265110906352372092">"Alarm"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Sesi açmak için hafifçe dokunun."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Titreşime ayarlamak için hafifçe dokunun. Erişilebilirlik hizmetlerinin sesi kapatılabilir."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Sesi kapatmak için hafifçe dokunun. Erişilebilirlik hizmetlerinin sesi kapatılabilir."</string>
diff --git a/packages/SystemUI/res/values-tr/strings_tv.xml b/packages/SystemUI/res/values-tr/strings_tv.xml
index 8fe5395..bcce465 100644
--- a/packages/SystemUI/res/values-tr/strings_tv.xml
+++ b/packages/SystemUI/res/values-tr/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Bu işlev, videonuzu, başka bir video oynatılıncaya kadar görünür tutar. Bu işlevi kontrol etmek için "<b>"ANA EKRAN"</b>" tuşunu basılı tutun."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Anladım"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Kapat"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index f68521c..79333a9 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -145,6 +145,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Роумінг"</string>
@@ -440,6 +441,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> призначено регулятором гучності"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Торкніться, щоб відновити оригінал."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Ви в робочому профілі"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Виклик"</item>
+    <item msgid="5997713001067658559">"Система"</item>
+    <item msgid="7858983209929864160">"Дзвонити"</item>
+    <item msgid="1850038478268896762">"Медіа"</item>
+    <item msgid="8265110906352372092">"Будильник"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Торкніться, щоб увімкнути звук."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Торкніться, щоб налаштувати вібросигнал. Спеціальні можливості може бути вимкнено."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Торкніться, щоб вимкнути звук. Спеціальні можливості може бути вимкнено."</string>
diff --git a/packages/SystemUI/res/values-uk/strings_tv.xml b/packages/SystemUI/res/values-uk/strings_tv.xml
index 76277d6..0d5750a 100644
--- a/packages/SystemUI/res/values-uk/strings_tv.xml
+++ b/packages/SystemUI/res/values-uk/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Відео буде закріплено, доки ви не запустите інше відео. Щоб керувати, утримуйте кнопку "<b>"HOME"</b>"."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Закрити"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ur-rPK/strings.xml b/packages/SystemUI/res/values-ur-rPK/strings.xml
index 92139f1..e652aee 100644
--- a/packages/SystemUI/res/values-ur-rPK/strings.xml
+++ b/packages/SystemUI/res/values-ur-rPK/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+‎"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"رومنگ"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> والیوم ڈائلاگ ہے"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"اصل بحال کرنے کیلئے تھپتھپائیں۔"</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"آپ اپنا دفتری پروفائل استعمال کر رہے ہیں۔"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"کال"</item>
+    <item msgid="5997713001067658559">"سسٹم"</item>
+    <item msgid="7858983209929864160">"رِنگ"</item>
+    <item msgid="1850038478268896762">"میڈیا"</item>
+    <item msgid="8265110906352372092">"الارم"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"بلوٹوتھ"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"‏‎%1$s۔ آواز چالو کرنے کیلئے تھپتھپائیں۔"</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"‏‎%1$s۔ ارتعاش پر سیٹ کرنے کیلئے تھپتھپائیں۔ Accessibility سروسز شاید خاموش ہوں۔"</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"‏‎%1$s۔ خاموش کرنے کیلئے تھپتھپائیں۔ Accessibility سروسز شاید خاموش ہوں۔"</string>
diff --git a/packages/SystemUI/res/values-ur-rPK/strings_tv.xml b/packages/SystemUI/res/values-ur-rPK/strings_tv.xml
index 1844c96..b5b0b72 100644
--- a/packages/SystemUI/res/values-ur-rPK/strings_tv.xml
+++ b/packages/SystemUI/res/values-ur-rPK/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"یہ آپ کی ویڈیو تب تک دکھاتا رہتا ہے جب تک آپ کوئی دوسری نہیں چلاتے۔ اسے کنٹرول کرنے کیلئے "<b>"ہوم"</b>" دبائیں اور پکڑے رہیں۔"</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"سمجھ آ گئی"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"برخاست کریں"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-uz-rUZ/strings.xml b/packages/SystemUI/res/values-uz-rUZ/strings.xml
index 84e2a29..a8923dc 100644
--- a/packages/SystemUI/res/values-uz-rUZ/strings.xml
+++ b/packages/SystemUI/res/values-uz-rUZ/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Rouming"</string>
@@ -213,7 +214,7 @@
     <string name="accessibility_quick_settings_location_on" msgid="5809937096590102036">"Joylashuv ma’lumotini yuborish yoqilgan."</string>
     <string name="accessibility_quick_settings_location_changed_off" msgid="8526845571503387376">"Joylashuv ma’lumotini yuborish o‘chirildi."</string>
     <string name="accessibility_quick_settings_location_changed_on" msgid="339403053079338468">"Joylashuv ma’lumotini yuborish yoqildi."</string>
-    <string name="accessibility_quick_settings_alarm" msgid="3959908972897295660">"Uyg‘otkich signali <xliff:g id="TIME">%s</xliff:g> da chalinadi."</string>
+    <string name="accessibility_quick_settings_alarm" msgid="3959908972897295660">"Signal <xliff:g id="TIME">%s</xliff:g> da chalinadi."</string>
     <string name="accessibility_quick_settings_close" msgid="3115847794692516306">"Panelni yopish."</string>
     <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Ko‘proq vaqt."</string>
     <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Kamroq vaqt."</string>
@@ -265,7 +266,7 @@
     <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Bezovta qilinmasin"</string>
     <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Faqat muhimlari"</string>
     <string name="quick_settings_dnd_alarms_label" msgid="2559229444312445858">"Faqat signallar"</string>
-    <string name="quick_settings_dnd_none_label" msgid="5025477807123029478">"Tinchlik saqlansin"</string>
+    <string name="quick_settings_dnd_none_label" msgid="5025477807123029478">"Jimjitlik"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Bluetooth (<xliff:g id="NUMBER">%d</xliff:g>ta qurilma)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth o‘chirilgan"</string>
@@ -340,7 +341,7 @@
     <string name="description_target_search" msgid="3091587249776033139">"Qidirish"</string>
     <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> uchun yuqoriga suring."</string>
     <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> uchun chapga suring."</string>
-    <string name="zen_priority_introduction" msgid="3070506961866919502">"Turli ovoz va tebranishlar endi sizni bezovta qilmaydi. Biroq uyg‘otkich signallari, eslatmalar, tadbirlar haqidagi bildirishnomalar va siz tanlagan abonentlardan kelgan qo‘ng‘iroqlar bundan mustasno."</string>
+    <string name="zen_priority_introduction" msgid="3070506961866919502">"Turli ovoz va tebranishlar endi sizni bezovta qilmaydi. Biroq signallar, eslatmalar, tadbirlar haqidagi bildirishnomalar va siz tanlagan abonentlardan kelgan qo‘ng‘iroqlar bundan mustasno."</string>
     <string name="zen_priority_customize_button" msgid="7948043278226955063">"Sozlash"</string>
     <string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Bu BARCHA, jumladan signallar, musiqa, videolar va o‘yinlardan keladigan tovush va tebranishlarni to‘sib qo‘yadi. Siz telefon qo‘ng‘iroqlarini bemalol amalga oshirishingiz mumkin."</string>
     <string name="zen_silence_introduction" msgid="3137882381093271568">"Bu BARCHA, jumladan, signallar, musiqa, videolar va o‘yinlardan keladigan tovush va tebranishlarni to‘sib qo‘yadi."</string>
@@ -351,8 +352,8 @@
     <string name="phone_hint" msgid="4872890986869209950">"Telefonni ochish uchun suring"</string>
     <string name="voice_hint" msgid="8939888732119726665">"Ovozli yordam: belgidan boshlab suring"</string>
     <string name="camera_hint" msgid="7939688436797157483">"Kamerani ochish uchun suring"</string>
-    <string name="interruption_level_none_with_warning" msgid="5114872171614161084">"Tinchlik saqlansin. Ekrandan o‘qish dasturlari ham ishlamaydi."</string>
-    <string name="interruption_level_none" msgid="6000083681244492992">"Tinchlik saqlansin"</string>
+    <string name="interruption_level_none_with_warning" msgid="5114872171614161084">"Jimjitlik – tinchlik saqlanadi. Ekrandan o‘qish dasturlari ham ishlamaydi."</string>
+    <string name="interruption_level_none" msgid="6000083681244492992">"Jimjitlik"</string>
     <string name="interruption_level_priority" msgid="6426766465363855505">"Faqat muhimlari"</string>
     <string name="interruption_level_alarms" msgid="5226306993448328896">"Faqat signallar"</string>
     <string name="interruption_level_none_twoline" msgid="3957581548190765889">"Tinchlik\nsaqlansin"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> ovoz balandligini boshqaradi"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Aslini tiklash uchun bosing."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Siz ishchi profildan foydalanmoqdasiz"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Qo‘ng‘iroq"</item>
+    <item msgid="5997713001067658559">"Tizim"</item>
+    <item msgid="7858983209929864160">"Jiringlatish"</item>
+    <item msgid="1850038478268896762">"Multimedia"</item>
+    <item msgid="8265110906352372092">"Signal"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Ovozini yoqish uchun ustiga bosing."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Tebranishni yoqish uchun ustiga bosing. Maxsus imkoniyatlar ishlamasligi mumkin."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Ovozini o‘chirish uchun ustiga bosing. Maxsus imkoniyatlar ishlamasligi mumkin."</string>
@@ -642,7 +655,7 @@
     <string name="accessibility_quick_settings_settings" msgid="6132460890024942157">"Sozlamalarni ochish."</string>
     <string name="accessibility_quick_settings_expand" msgid="2375165227880477530">"Tezkor sozlamalarni ochish."</string>
     <string name="accessibility_quick_settings_collapse" msgid="1792625797142648105">"Tezkor sozlamalarni yopish."</string>
-    <string name="accessibility_quick_settings_alarm_set" msgid="1863000242431528676">"Uyg‘otkich o‘rnatildi."</string>
+    <string name="accessibility_quick_settings_alarm_set" msgid="1863000242431528676">"Signal o‘rnatildi."</string>
     <string name="accessibility_quick_settings_user" msgid="1567445362870421770">"<xliff:g id="ID_1">%s</xliff:g> sifatida kirgansiz"</string>
     <string name="accessibility_quick_settings_no_internet" msgid="31890692343084075">"Internet yo‘q."</string>
     <string name="accessibility_quick_settings_open_details" msgid="4230931801728005194">"Tafsilotlarini ko‘rsatish."</string>
diff --git a/packages/SystemUI/res/values-uz-rUZ/strings_tv.xml b/packages/SystemUI/res/values-uz-rUZ/strings_tv.xml
index 2af885e..a9cbac4 100644
--- a/packages/SystemUI/res/values-uz-rUZ/strings_tv.xml
+++ b/packages/SystemUI/res/values-uz-rUZ/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Bir videoni boshqasida ko‘rish imkonini beradi. Boshqarish uchun "<b>"HOME"</b>" tugmasini bosib turing."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Yopish"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index 24c2907..edc8e48 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3,5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Chuyển vùng"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> là hộp thoại khối lượng"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Nhấn để khôi phục ảnh chụp màn hình gốc."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Bạn đang sử dụng hồ sơ công việc của mình"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Gọi"</item>
+    <item msgid="5997713001067658559">"Hệ thống"</item>
+    <item msgid="7858983209929864160">"Chuông"</item>
+    <item msgid="1850038478268896762">"Phương tiện"</item>
+    <item msgid="8265110906352372092">"Báo thức"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Nhấn để bật tiếng."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Nhấn để đặt chế độ rung. Bạn có thể tắt tiếng dịch vụ trợ năng."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Nhấn để tắt tiếng. Bạn có thể tắt tiếng dịch vụ trợ năng."</string>
diff --git a/packages/SystemUI/res/values-vi/strings_tv.xml b/packages/SystemUI/res/values-vi/strings_tv.xml
index 21343be..30b1e88 100644
--- a/packages/SystemUI/res/values-vi/strings_tv.xml
+++ b/packages/SystemUI/res/values-vi/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Màn hình này sẽ giữ video của bạn ở chế độ xem cho đến khi bạn phát video khác. Nhấn và giữ "<b>"HOME"</b>" để điều khiển màn hình."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"OK"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Loại bỏ"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index 7613099..beb08d1 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"漫游中"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"“<xliff:g id="APP_NAME">%1$s</xliff:g>”已用作音量控制对话框"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"点按即可恢复原始设置。"</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"您当前正在使用工作资料"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"通话"</item>
+    <item msgid="5997713001067658559">"系统"</item>
+    <item msgid="7858983209929864160">"铃声"</item>
+    <item msgid="1850038478268896762">"媒体"</item>
+    <item msgid="8265110906352372092">"闹钟"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"蓝牙"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s。点按即可取消静音。"</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s。点按即可设为振动,但可能会同时将无障碍服务设为静音。"</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s。点按即可设为静音,但可能会同时将无障碍服务设为静音。"</string>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings_tv.xml b/packages/SystemUI/res/values-zh-rCN/strings_tv.xml
index e29dec3..db9b2c8 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings_tv.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"这样会固定显示您的视频,直到您播放其他视频为止。按住"<b>"主屏幕"</b>"按钮即可控制该功能。"</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"知道了"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"关闭"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml
index 40d3429..9d25d71 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"漫遊"</string>
@@ -436,6 +437,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」為音量對話框"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"輕按即可復原。"</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"您正在使用工作設定檔"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"通話"</item>
+    <item msgid="5997713001067658559">"系統"</item>
+    <item msgid="7858983209929864160">"鈴聲"</item>
+    <item msgid="1850038478268896762">"媒體"</item>
+    <item msgid="8265110906352372092">"鬧鐘"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"藍牙"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s。輕按即可取消靜音。"</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s。輕按即可設為震動。無障礙功能服務可能已經設為靜音。"</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s。輕按即可設為靜音。無障礙功能服務可能已經設為靜音。"</string>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings_tv.xml b/packages/SystemUI/res/values-zh-rHK/strings_tv.xml
index bc164c8..deba65b 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings_tv.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"這讓您繼續觀看影片,直至您播放下一部影片。按住"<b>"主按鈕"</b>"即可控制「畫中畫」。"</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"知道了"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"關閉"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index 7f03c5d..8979b85 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"漫遊中"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」現在是預設的音量控制對話方塊。"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"輕觸即可恢復原始設定。"</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"您正在使用 Work 設定檔"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"通話"</item>
+    <item msgid="5997713001067658559">"系統"</item>
+    <item msgid="7858983209929864160">"鈴聲"</item>
+    <item msgid="1850038478268896762">"媒體"</item>
+    <item msgid="8265110906352372092">"鬧鐘"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"藍牙"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s。輕觸即可取消靜音。"</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s。輕觸即可設為震動,但系統可能會將無障礙服務一併設為靜音。"</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s。輕觸即可設為靜音,但系統可能會將無障礙服務一併設為靜音。"</string>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings_tv.xml b/packages/SystemUI/res/values-zh-rTW/strings_tv.xml
index 583a6ed..890995c 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings_tv.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"您的影片會一直顯示在畫面中,直到您播放其他影片為止。按住 [HOME] (主畫面) 按鈕即可控制子母畫面。"<b></b></string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"我知道了"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"關閉"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index bedaeca..b4526bd 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -143,6 +143,7 @@
     <string name="accessibility_data_connection_3g" msgid="8628562305003568260">"3G"</string>
     <string name="accessibility_data_connection_3.5g" msgid="8664845609981692001">"3.5G"</string>
     <string name="accessibility_data_connection_4g" msgid="7741000750630089612">"4G"</string>
+    <string name="accessibility_data_connection_4g_plus" msgid="3032226872470658661">"4G+"</string>
     <string name="accessibility_data_connection_lte" msgid="5413468808637540658">"I-LTE"</string>
     <string name="accessibility_data_connection_cdma" msgid="6132648193978823023">"CDMA"</string>
     <string name="accessibility_data_connection_roaming" msgid="5977362333466556094">"Iyazulazula"</string>
@@ -434,6 +435,18 @@
     <string name="volumeui_notification_title" msgid="4906770126345910955">"I-<xliff:g id="APP_NAME">%1$s</xliff:g> yingxoxo yevolumu"</string>
     <string name="volumeui_notification_text" msgid="8819536904234337445">"Thepha ukuze ubuyisele okwasekuqaleni."</string>
     <string name="managed_profile_foreground_toast" msgid="5421487114739245972">"Usebenzisa iphrofayela yakho yomsebenzi"</string>
+  <string-array name="volume_stream_titles">
+    <item msgid="5841843895402729630">"Shayela"</item>
+    <item msgid="5997713001067658559">"Isistimu"</item>
+    <item msgid="7858983209929864160">"Khalisa"</item>
+    <item msgid="1850038478268896762">"Abezindaba"</item>
+    <item msgid="8265110906352372092">"I-Alamu"</item>
+    <item msgid="5339394737636839168"></item>
+    <item msgid="2951313578278086204">"I-Bluetooth"</item>
+    <item msgid="2919807739709798970"></item>
+    <item msgid="150349973435223405"></item>
+    <item msgid="6761963760295549099"></item>
+  </string-array>
     <string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. Thepha ukuze ususe ukuthula."</string>
     <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. Thepha ukuze usethe ukudlidliza. Amasevisi okufinyelela angathuliswa."</string>
     <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. Thepha ukuze uthulise. Amasevisi okufinyelela angathuliswa."</string>
diff --git a/packages/SystemUI/res/values-zu/strings_tv.xml b/packages/SystemUI/res/values-zu/strings_tv.xml
index e1d0b5b..71c2e09 100644
--- a/packages/SystemUI/res/values-zu/strings_tv.xml
+++ b/packages/SystemUI/res/values-zu/strings_tv.xml
@@ -28,4 +28,6 @@
     <string name="pip_onboarding_description" msgid="4028124563309465267">"Lokhu kugcina ividiyo yakho ibonakala uze udlale enye. Cindezela futhi ubambe okuthi "<b>"EKHAYA"</b>" ukuze uyilawule."</string>
     <string name="pip_onboarding_button" msgid="3957426748484904611">"Ngiyezwa"</string>
     <string name="recents_tv_dismiss" msgid="3555093879593377731">"Cashisa"</string>
+  <string-array name="recents_tv_blacklist_array">
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index cb51649..9061376 100644
--- a/packages/SystemUI/res/values/colors.xml
+++ b/packages/SystemUI/res/values/colors.xml
@@ -30,18 +30,13 @@
     <color name="batterymeter_charge_color">#FFFFFFFF</color>
     <color name="batterymeter_bolt_color">#FFFFFFFF</color>
     <color name="qs_batterymeter_frame_color">#FF404040</color>
-    <color name="system_primary_color">#ff263238</color><!-- blue grey 900 -->
-    <color name="system_secondary_color">#ff37474F</color><!-- blue grey 800 -->
-    <color name="system_accent_color">#ff80CBC4</color><!-- deep teal 200 -->
     <color name="system_warning_color">#fff4511e</color><!-- deep orange 600 -->
     <color name="qs_text">#FFFFFFFF</color>
     <color name="qs_tile_divider">#29ffffff</color><!-- 16% white -->
     <color name="qs_subhead">#99FFFFFF</color><!-- 60% white -->
-    <color name="qs_detail_empty">#24B0BEC5</color><!-- 14% blue grey 200 -->
-    <color name="qs_detail_button">#FFB0BEC5</color><!-- 100% blue grey 200 -->
+    <color name="qs_detail_button">@*android:color/quaternary_device_default_settings</color>
     <color name="qs_detail_button_white">#B3FFFFFF</color><!-- 70% white -->
     <color name="qs_detail_transition">#66FFFFFF</color>
-    <color name="qs_detail_progress_track">#99009688</color><!-- 60% deep teal 500 -->
     <color name="data_usage_secondary">#99FFFFFF</color><!-- 60% white -->
     <color name="data_usage_graph_track">#33FFFFFF</color><!-- 20% white -->
     <color name="data_usage_graph_warning">#FFFFFFFF</color>
@@ -99,15 +94,11 @@
     <!-- The color of the ripples on the tinted notifications -->
     <color name="notification_ripple_tinted_color">#30ffffff</color>
 
-    <!-- The color of the circle around the primary user in the user switcher -->
-    <color name="current_user_border_color">@color/system_accent_color</color>
-
     <!-- The color of the gear shown behind a notification -->
     <color name="notification_gear_color">#ff757575</color>
 
     <!-- The "inside" of a notification, reached via longpress -->
     <color name="notification_guts_bg_color">#eeeeee</color>
-    <color name="notification_guts_slider_color">@*android:color/material_deep_teal_500</color>
     <color name="notification_guts_disabled_slider_color">@*android:color/material_grey_300</color>
     <color name="notification_guts_secondary_slider_color">#858383</color>
     <color name="notification_guts_icon_tint">#8a000000</color>
@@ -126,13 +117,11 @@
     <!-- Shadow color for the furthest pixels around the fake shadow for recents. -->
     <color name="fake_shadow_end_color">#03000000</color>
 
-    <color name="screen_pinning_nav_icon_highlight_outer">#4080cbc4</color><!-- 25% deep teal 200 -->
-    <color name="screen_pinning_request_bg">#ff009688</color><!-- deep teal 500 -->
     <color name="screen_pinning_request_window_bg">#80000000</color>
 
     <color name="segmented_buttons_background">#14FFFFFF</color><!-- 8% white -->
     <color name="segmented_button_selected">#FFFFFFFF</color>
-    <color name="segmented_button_unselected">#FFB0BEC5</color><!-- blue grey 200 -->
+    <color name="segmented_button_unselected">@*android:color/quaternary_device_default_settings</color>
 
     <color name="dark_mode_icon_color_single_tone">#99000000</color>
     <color name="dark_mode_icon_color_dual_tone_background">#3d000000</color>
@@ -142,13 +131,9 @@
     <color name="light_mode_icon_color_dual_tone_background">#4dffffff</color>
     <color name="light_mode_icon_color_dual_tone_fill">#ffffff</color>
 
-    <color name="zen_introduction_message_background">#ff009688</color><!-- deep teal 500 -->
     <color name="volume_icon_color">#ffffffff</color>
     <color name="volume_settings_icon_color">#7fffffff</color>
-    <color name="volume_slider_inactive">#FFB0BEC5</color><!-- blue grey 200 -->
-
-    <color name="fab_ripple">#1fffffff</color><!-- 12% white -->
-    <color name="fab_shape">#ff009688</color><!-- Teal 500 -->
+    <color name="volume_slider_inactive">@*android:color/quaternary_device_default_settings</color>
 
     <color name="docked_divider_background">#ff000000</color>
     <color name="docked_divider_handle">#ffffff</color>
@@ -166,16 +151,10 @@
     <color name="qs_tile_tint_inactive">#4dffffff</color>
     <color name="qs_tile_tint_active">#ffffffff</color>
 
-    <color name="switch_bar_background">#ff37474f</color>
-    <color name="switch_accent_color">#ff7fcac3</color>
-
     <!-- Keyboard shortcuts colors -->
-    <color name="ksh_system_group_color">@color/material_deep_teal_500</color>
     <color name="ksh_application_group_color">#fff44336</color>
     <color name="ksh_keyword_color">#d9000000</color>
     <color name="ksh_key_item_color">@color/material_grey_600</color>
     <color name="ksh_key_item_background">@color/material_grey_100</color>
 
-    <!-- Background color of edit overflow -->
-    <color name="qs_edit_overflow_bg">#455A64</color>
 </resources>
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index fd75a54..134388f 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -272,6 +272,6 @@
     <!-- Nav bar button default ordering/layout -->
     <string name="config_navBarLayout" translatable="false">space,back;home;recent,menu_ime</string>
 
-    <bool name="quick_settings_show_date">false</bool>
+    <bool name="quick_settings_show_full_alarm">false</bool>
 
 </resources>
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index eef5717..cd861e14 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -172,8 +172,6 @@
     <dimen name="qs_tile_margin_top">16dp</dimen>
     <dimen name="qs_quick_tile_size">48dp</dimen>
     <dimen name="qs_quick_tile_padding">12dp</dimen>
-    <dimen name="qs_date_collapsed_text_size">14sp</dimen>
-    <dimen name="qs_date_text_size">16sp</dimen>
     <dimen name="qs_header_gear_translation">16dp</dimen>
     <dimen name="qs_page_indicator_width">16dp</dimen>
     <dimen name="qs_page_indicator_height">8dp</dimen>
@@ -535,6 +533,19 @@
 
     <!-- Volume dialog root view bottom margin, at rest -->
     <dimen name="volume_dialog_margin_bottom">4dp</dimen>
+    <dimen name="volume_dialog_collapsed_padding_top">8dp</dimen>
+    <dimen name="volume_dialog_expanded_padding_top">22dp</dimen>
+    <dimen name="volume_dialog_padding_end">40dp</dimen>
+
+    <dimen name="volume_row_padding_bottom">9.4dp</dimen>
+    <dimen name="volume_row_padding_start">4dp</dimen>
+    <dimen name="volume_row_header_padding_start">16dp</dimen>
+    <dimen name="volume_row_height">64dp</dimen>
+    <dimen name="volume_row_slider_height">48dp</dimen>
+    <dimen name="volume_row_slider_padding_start">12dp</dimen>
+
+    <dimen name="volume_expander_margin_end">2dp</dimen>
+    <dimen name="volume_expander_margin_top">6dp</dimen>
 
     <!-- Padding between icon and text for managed profile toast -->
     <dimen name="managed_profile_toast_padding">4dp</dimen>
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index f7a169c..4f523f3 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -348,6 +348,9 @@
     <!-- Content description of the data connection type 4G for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
     <string name="accessibility_data_connection_4g">4G</string>
 
+    <!-- Content description of the data connection type 4G for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
+    <string name="accessibility_data_connection_4g_plus">4G+</string>
+
     <!-- Content description of the data connection type LTE for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
     <string name="accessibility_data_connection_lte">LTE</string>
 
@@ -1093,14 +1096,14 @@
     <!-- Toast shown when user unlocks screen and managed profile activity is in the foreground -->
     <string name="managed_profile_foreground_toast">You\'re using your work profile</string>
 
-    <string-array name="volume_stream_titles" translatable="false">
-        <item>Voice calls</item> <!-- STREAM_VOICE_CALL -->
+    <string-array name="volume_stream_titles">
+        <item>Call</item> <!-- STREAM_VOICE_CALL -->
         <item>System</item> <!-- STREAM_SYSTEM -->
-        <item>Notifications</item> <!-- STREAM_RING -->
+        <item>Ring</item> <!-- STREAM_RING -->
         <item>Media</item> <!-- STREAM_MUSIC -->
-        <item>Alarms</item> <!-- STREAM_ALARM -->
+        <item>Alarm</item> <!-- STREAM_ALARM -->
         <item></item> <!-- STREAM_NOTIFICATION -->
-        <item>Bluetooth calls</item> <!-- STREAM_BLUETOOTH_SCO -->
+        <item>Bluetooth</item> <!-- STREAM_BLUETOOTH_SCO -->
         <item></item> <!-- STREAM_SYSTEM_ENFORCED -->
         <item></item> <!-- STREAM_DTMF -->
         <item></item> <!-- STREAM_TTS -->
diff --git a/packages/SystemUI/res/values/strings_tv.xml b/packages/SystemUI/res/values/strings_tv.xml
index b1d23d8..f49d201 100644
--- a/packages/SystemUI/res/values/strings_tv.xml
+++ b/packages/SystemUI/res/values/strings_tv.xml
@@ -44,4 +44,8 @@
     <string name="font_roboto_regular" translatable="false">sans-serif</string>
     <!-- DO NOT TRANSLATE -->
     <string name="font_roboto_light" translatable="false">sans-serif-light</string>
+    <!-- Package names to be blacklisted in Recents, add package names into overlay as needed -->
+    <string-array name="recents_tv_blacklist_array">
+    </string-array>
+
 </resources>
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index aeb484f..1ee13e9 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -132,7 +132,7 @@
 
     <style name="TextAppearance.QS.DetailItemSecondary">
         <item name="android:textSize">@dimen/qs_detail_item_secondary_text_size</item>
-        <item name="android:textColor">@color/system_accent_color</item>
+        <item name="android:textColor">?android:attr/colorAccent</item>
     </style>
 
     <style name="TextAppearance.QS.Introduction">
@@ -177,7 +177,7 @@
 
     <style name="TextAppearance.QS.DataUsage.Usage">
         <item name="android:textSize">@dimen/qs_data_usage_usage_text_size</item>
-        <item name="android:textColor">@color/system_accent_color</item>
+        <item name="android:textColor">?android:attr/colorAccent</item>
     </style>
 
     <style name="TextAppearance.QS.DataUsage.Secondary">
@@ -217,19 +217,13 @@
     <style name="Animation.StatusBar">
     </style>
 
-    <style name="systemui_theme" parent="@android:style/Theme.DeviceDefault">
-        <item name="android:colorPrimary">@color/system_primary_color</item>
-        <item name="android:colorControlActivated">@color/system_accent_color</item>
-    </style>
+    <style name="systemui_theme" parent="@android:style/Theme.DeviceDefault" />
 
     <style name="systemui_theme_remote_input" parent="@android:style/Theme.DeviceDefault.Light">
         <item name="android:colorAccent">@color/remote_input_accent</item>
     </style>
 
-    <style name="Theme.SystemUI.Dialog" parent="@android:style/Theme.DeviceDefault.Light.Dialog">
-        <item name="android:colorPrimary">@color/system_primary_color</item>
-        <item name="android:colorControlActivated">@color/system_accent_color</item>
-    </style>
+    <style name="Theme.SystemUI.Dialog" parent="@android:style/Theme.DeviceDefault.Light.Dialog" />
 
     <style name="Theme.SystemUI.Dialog.Alert" parent="@*android:style/Theme.DeviceDefault.Light.Dialog.Alert" />
 
@@ -296,7 +290,7 @@
     <style name="TextAppearance.Volume.ZenDetail">
         <item name="android:textSize">14sp</item>
         <item name="android:fontFamily">sans-serif</item>
-        <item name="android:textColor">#ffb0b3c5</item>
+        <item name="android:textColor">@*android:color/quaternary_device_default_settings</item>
     </style>
 
     <style name="VolumeButtons" parent="@android:style/Widget.Material.Button.Borderless">
@@ -320,12 +314,12 @@
         <item name="android:layout_height">48dp</item>
     </style>
 
-    <style name="TunerSettings" parent="@android:style/Theme.Material.Settings">
+    <style name="TunerSettings" parent="@android:style/Theme.DeviceDefault.Settings">
         <item name="android:windowActionBar">false</item>
         <item name="preferenceTheme">@style/TunerPreferenceTheme</item>
     </style>
 
-    <style name="TunerPreferenceTheme" parent="@android:style/Theme.Material.Settings">
+    <style name="TunerPreferenceTheme" parent="@android:style/Theme.DeviceDefault.Settings">
         <item name="dropdownPreferenceStyle">@style/Preference.DropDown.Material</item>
     </style>
 
@@ -341,16 +335,16 @@
     </style>
 
     <style name="TextAppearance.NotificationGuts.Secondary">
-        <item name="android:alpha">.54</item>
+        <item name="android:textColor">?android:attr/textColorSecondary</item>
     </style>
 
     <style name="TextAppearance.NotificationGuts.Primary">
-        <item name="android:alpha">.87</item>
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
         <item name="android:textSize">16sp</item>
     </style>
 
     <style name="TextAppearance.NotificationGuts.Radio">
-        <item name="android:alpha">.87</item>
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
     </style>
 
     <style name="TextAppearance.NotificationGuts.Button">
@@ -358,15 +352,11 @@
         <item name="android:textAllCaps">true</item>
         <item name="android:fontFamily">sans-serif-medium</item>
         <item name="android:gravity">center</item>
-        <item name="android:textColor">@*android:color/material_deep_teal_500</item>
+        <item name="android:textColor">?android:attr/colorAccent</item>
     </style>
 
-    <style name="ThemeOverlay.SwitchBar" parent="@android:style/ThemeOverlay">
-        <item name="android:colorAccent">@color/switch_accent_color</item>
-    </style>
-
-    <style name="edit_theme" parent="@android:style/Theme.Material">
-        <item name="android:colorBackground">@color/qs_edit_overflow_bg</item>
+    <style name="edit_theme" parent="@*android:style/Theme.DeviceDefault.Settings.Dark">
+        <item name="android:colorBackground">?android:attr/colorSecondary</item>
     </style>
 
 </resources>
diff --git a/packages/SystemUI/src/com/android/systemui/Interpolators.java b/packages/SystemUI/src/com/android/systemui/Interpolators.java
index 17f4dab..fd3bd92 100644
--- a/packages/SystemUI/src/com/android/systemui/Interpolators.java
+++ b/packages/SystemUI/src/com/android/systemui/Interpolators.java
@@ -36,6 +36,7 @@
     public static final Interpolator ACCELERATE = new AccelerateInterpolator();
     public static final Interpolator ACCELERATE_DECELERATE = new AccelerateDecelerateInterpolator();
     public static final Interpolator DECELERATE_QUINT = new DecelerateInterpolator(2.5f);
+    public static final Interpolator CUSTOM_40_40 = new PathInterpolator(0.4f, 0f, 0.6f, 1f);
 
     /**
      * Interpolator to be used when animating a move based on a click. Pair with enough duration.
diff --git a/packages/SystemUI/src/com/android/systemui/SystemUI.java b/packages/SystemUI/src/com/android/systemui/SystemUI.java
index 85befff..f30baee 100644
--- a/packages/SystemUI/src/com/android/systemui/SystemUI.java
+++ b/packages/SystemUI/src/com/android/systemui/SystemUI.java
@@ -16,8 +16,10 @@
 
 package com.android.systemui;
 
+import android.app.Notification;
 import android.content.Context;
 import android.content.res.Configuration;
+import android.os.Bundle;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
@@ -48,4 +50,12 @@
             mComponents.put(interfaceType, component);
         }
     }
+
+    public static void overrideNotificationAppName(Context context, Notification.Builder n) {
+        final Bundle extras = new Bundle();
+        extras.putString(Notification.EXTRA_SUBSTITUTE_APP_NAME,
+                context.getString(com.android.internal.R.string.android_system_label));
+
+        n.addExtras(extras);
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/assist/AssistDisclosure.java b/packages/SystemUI/src/com/android/systemui/assist/AssistDisclosure.java
index 5878219..8bd38db 100644
--- a/packages/SystemUI/src/com/android/systemui/assist/AssistDisclosure.java
+++ b/packages/SystemUI/src/com/android/systemui/assist/AssistDisclosure.java
@@ -95,39 +95,34 @@
     private class AssistDisclosureView extends View
             implements ValueAnimator.AnimatorUpdateListener {
 
-        public static final int TRACING_ANIMATION_DURATION = 600;
-        public static final int ALPHA_IN_ANIMATION_DURATION = 450;
-        public static final int ALPHA_OUT_ANIMATION_DURATION = 400;
+        static final int FULL_ALPHA = 222; // 87%
+        static final int ALPHA_IN_ANIMATION_DURATION = 400;
+        static final int ALPHA_OUT_ANIMATION_DURATION = 300;
+
 
         private float mThickness;
         private float mShadowThickness;
         private final Paint mPaint = new Paint();
         private final Paint mShadowPaint = new Paint();
 
-        private final ValueAnimator mTracingAnimator;
         private final ValueAnimator mAlphaOutAnimator;
         private final ValueAnimator mAlphaInAnimator;
         private final AnimatorSet mAnimator;
 
-        private float mTracingProgress = 0;
         private int mAlpha = 0;
 
         public AssistDisclosureView(Context context) {
             super(context);
 
-            mTracingAnimator = ValueAnimator.ofFloat(0, 1).setDuration(TRACING_ANIMATION_DURATION);
-            mTracingAnimator.addUpdateListener(this);
-            mTracingAnimator.setInterpolator(AnimationUtils.loadInterpolator(mContext,
-                    R.interpolator.assist_disclosure_trace));
-            mAlphaInAnimator = ValueAnimator.ofInt(0, 255).setDuration(ALPHA_IN_ANIMATION_DURATION);
+            mAlphaInAnimator = ValueAnimator.ofInt(0, FULL_ALPHA)
+                    .setDuration(ALPHA_IN_ANIMATION_DURATION);
             mAlphaInAnimator.addUpdateListener(this);
-            mAlphaInAnimator.setInterpolator(Interpolators.FAST_OUT_SLOW_IN);
-            mAlphaOutAnimator = ValueAnimator.ofInt(255, 0).setDuration(
+            mAlphaInAnimator.setInterpolator(Interpolators.CUSTOM_40_40);
+            mAlphaOutAnimator = ValueAnimator.ofInt(FULL_ALPHA, 0).setDuration(
                     ALPHA_OUT_ANIMATION_DURATION);
             mAlphaOutAnimator.addUpdateListener(this);
-            mAlphaOutAnimator.setInterpolator(Interpolators.FAST_OUT_LINEAR_IN);
+            mAlphaOutAnimator.setInterpolator(Interpolators.CUSTOM_40_40);
             mAnimator = new AnimatorSet();
-            mAnimator.play(mAlphaInAnimator).with(mTracingAnimator);
             mAnimator.play(mAlphaInAnimator).before(mAlphaOutAnimator);
             mAnimator.addListener(new AnimatorListenerAdapter() {
                 boolean mCancelled;
@@ -174,8 +169,6 @@
             super.onDetachedFromWindow();
 
             mAnimator.cancel();
-
-            mTracingProgress = 0;
             mAlpha = 0;
         }
 
@@ -197,45 +190,32 @@
             final int width = getWidth();
             final int height = getHeight();
             float thickness = mThickness;
-            final float pixelProgress = mTracingProgress * (width + height - 2 * thickness);
 
-            float bottomProgress = Math.min(pixelProgress, width / 2f);
-            if (bottomProgress > 0) {
-                drawBeam(canvas,
-                        width / 2f - bottomProgress,
-                        height - thickness,
-                        width / 2f + bottomProgress,
-                        height, paint, padding);
-            }
+            // bottom
+            drawBeam(canvas,
+                    0,
+                    height - thickness,
+                    width,
+                    height, paint, padding);
 
-            float sideProgress = Math.min(pixelProgress - bottomProgress, height - thickness);
-            if (sideProgress > 0) {
-                drawBeam(canvas,
-                        0,
-                        (height - thickness) - sideProgress,
-                        thickness,
-                        height - thickness, paint, padding);
-                drawBeam(canvas,
-                        width - thickness,
-                        (height - thickness) - sideProgress,
-                        width,
-                        height - thickness, paint, padding);
-            }
+            // sides
+            drawBeam(canvas,
+                    0,
+                    0,
+                    thickness,
+                    height - thickness, paint, padding);
+            drawBeam(canvas,
+                    width - thickness,
+                    0,
+                    width,
+                    height - thickness, paint, padding);
 
-            float topProgress = Math.min(pixelProgress - bottomProgress - sideProgress,
-                    width / 2 - thickness);
-            if (sideProgress > 0 && topProgress > 0) {
-                drawBeam(canvas,
-                        thickness,
-                        0,
-                        thickness + topProgress,
-                        thickness, paint, padding);
-                drawBeam(canvas,
-                        (width - thickness) - topProgress,
-                        0,
-                        width - thickness,
-                        thickness, paint, padding);
-            }
+            // top
+            drawBeam(canvas,
+                    thickness,
+                    0,
+                    width - thickness,
+                    thickness, paint, padding);
         }
 
         private void drawBeam(Canvas canvas, float left, float top, float right, float bottom,
@@ -253,8 +233,6 @@
                 mAlpha = (int) mAlphaOutAnimator.getAnimatedValue();
             } else if (animation == mAlphaInAnimator) {
                 mAlpha = (int) mAlphaInAnimator.getAnimatedValue();
-            } else if (animation == mTracingAnimator) {
-                mTracingProgress = (float) mTracingAnimator.getAnimatedValue();
             }
             invalidate();
         }
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeService.java b/packages/SystemUI/src/com/android/systemui/doze/DozeService.java
index 3370091..5f1b042 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeService.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeService.java
@@ -39,6 +39,8 @@
 import android.util.Log;
 import android.view.Display;
 
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.logging.MetricsProto.MetricsEvent;
 import com.android.systemui.SystemUIApplication;
 import com.android.systemui.statusbar.phone.DozeParameters;
 import com.android.systemui.statusbar.phone.DozeParameters.PulseSchedule;
@@ -538,6 +540,10 @@
             mWakeLock.acquire();
             try {
                 if (DEBUG) Log.d(mTag, "onTrigger: " + triggerEventToString(event));
+                if (mSensor.getType() == Sensor.TYPE_PICK_UP_GESTURE) {
+                    int subType = (int) event.values[0];
+                    MetricsLogger.action(mContext, MetricsEvent.ACTION_AMBIENT_GESTURE, subType);
+                }
                 if (mDebugVibrate) {
                     final Vibrator v = (Vibrator) mContext.getSystemService(
                             Context.VIBRATOR_SERVICE);
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
index 3bbcf6e..42a9ed5 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
@@ -926,6 +926,11 @@
             // In this case, send out ACTION_USER_PRESENT here instead of in
             // handleKeyguardDone()
             sendUserPresentBroadcast();
+        } else if (mSystemReady && shouldWaitForProvisioning()) {
+            // Skipping the lockscreen because we're not yet provisioned, but we still need to
+            // notify the StrongAuthTracker that it's now safe to run trust agents, in case the
+            // user sets a credential later.
+            getLockPatternUtils().userPresent(KeyguardUpdateMonitor.getCurrentUser());
         }
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java
index ea1c9bf..b831235 100644
--- a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java
+++ b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java
@@ -38,6 +38,7 @@
 import android.util.Slog;
 
 import com.android.systemui.R;
+import com.android.systemui.SystemUI;
 import com.android.systemui.statusbar.phone.PhoneStatusBar;
 import com.android.systemui.statusbar.phone.SystemUIDialog;
 
@@ -143,6 +144,7 @@
                 .setVisibility(Notification.VISIBILITY_PUBLIC)
                 .setColor(mContext.getColor(
                         com.android.internal.R.color.system_notification_accent_color));
+        SystemUI.overrideNotificationAppName(mContext, nb);
         final Notification n = nb.build();
         mNoMan.notifyAsUser(TAG_NOTIFICATION, R.id.notification_power, n, UserHandle.ALL);
     }
@@ -173,8 +175,8 @@
             attachLowBatterySound(nb);
             mPlaySound = false;
         }
-        final Notification n = nb.build();
-        mNoMan.notifyAsUser(TAG_NOTIFICATION, R.id.notification_power, n, UserHandle.ALL);
+        SystemUI.overrideNotificationAppName(mContext, nb);
+        mNoMan.notifyAsUser(TAG_NOTIFICATION, R.id.notification_power, nb.build(), UserHandle.ALL);
     }
 
     private PendingIntent pendingActivity(Intent intent) {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/DataUsageGraph.java b/packages/SystemUI/src/com/android/systemui/qs/DataUsageGraph.java
index aff5d2b..5f23a40 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/DataUsageGraph.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/DataUsageGraph.java
@@ -24,6 +24,7 @@
 import android.util.AttributeSet;
 import android.view.View;
 
+import com.android.settingslib.Utils;
 import com.android.systemui.R;
 
 public class DataUsageGraph extends View {
@@ -45,7 +46,7 @@
         super(context, attrs);
         final Resources res = context.getResources();
         mTrackColor = context.getColor(R.color.data_usage_graph_track);
-        mUsageColor = context.getColor(R.color.system_accent_color);
+        mUsageColor = Utils.getColorAccent(context);
         mOverlimitColor = context.getColor(R.color.system_warning_color);
         mWarningColor = context.getColor(R.color.data_usage_graph_warning);
         mMarkerWidth = res.getDimensionPixelSize(R.dimen.data_usage_graph_marker_width);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
index cf96457..71bd798 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
@@ -109,18 +109,18 @@
         if (mListening) {
             if (mPosition != position) {
                 // Clear out the last pages from listening.
-                mPages.get(mPosition).setListening(false);
+                setPageListening(mPosition, false);
                 if (mOffPage) {
-                    mPages.get(mPosition + 1).setListening(false);
+                    setPageListening(mPosition + 1, false);
                 }
                 // Set the new pages to listening
-                mPages.get(position).setListening(true);
+                setPageListening(position, true);
                 if (offPage) {
-                    mPages.get(position + 1).setListening(true);
+                    setPageListening(position + 1, true);
                 }
             } else if (mOffPage != offPage) {
                 // Whether we are showing position + 1 has changed.
-                mPages.get(mPosition + 1).setListening(offPage);
+                setPageListening(mPosition + 1, offPage);
             }
         }
         // Save the current state.
@@ -128,6 +128,11 @@
         mOffPage = offPage;
     }
 
+    private void setPageListening(int position, boolean listening) {
+        if (position >= mPages.size()) return;
+        mPages.get(position).setListening(listening);
+    }
+
     @Override
     public boolean hasOverlappingRendering() {
         return false;
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java b/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java
index f92c51f..aaa4e51 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java
@@ -20,6 +20,7 @@
 import android.view.View.OnAttachStateChangeListener;
 import android.view.View.OnLayoutChangeListener;
 import android.widget.TextView;
+
 import com.android.systemui.qs.PagedTileLayout.PageListener;
 import com.android.systemui.qs.QSPanel.QSTileLayout;
 import com.android.systemui.qs.QSTile.Host.Callback;
@@ -40,8 +41,7 @@
     private static final String ALLOW_FANCY_ANIMATION = "sysui_qs_fancy_anim";
     private static final String MOVE_FULL_ROWS = "sysui_qs_move_whole_rows";
 
-    public static final float EXPANDED_TILE_DELAY = .7f;
-    private static final float LAST_ROW_EXPANDED_DELAY = .86f;
+    public static final float EXPANDED_TILE_DELAY = .86f;
 
     private final ArrayList<View> mAllViews = new ArrayList<>();
     private final ArrayList<View> mTopFiveQs = new ArrayList<>();
@@ -57,7 +57,7 @@
     private TouchAnimator mTranslationXAnimator;
     private TouchAnimator mTranslationYAnimator;
     private TouchAnimator mNonfirstPageAnimator;
-    private TouchAnimator mLastRowAnimator;
+    private TouchAnimator mBrightnessAnimator;
 
     private boolean mOnKeyguard;
 
@@ -65,6 +65,7 @@
     private boolean mFullRows;
     private int mNumQuickTiles;
     private float mLastPosition;
+    private QSTileHost mHost;
 
     public QSAnimator(QSContainer container, QuickQSPanel quickPanel, QSPanel panel) {
         mQsContainer = container;
@@ -94,6 +95,7 @@
     }
 
     public void setHost(QSTileHost qsh) {
+        mHost = qsh;
         qsh.addCallback(this);
         updateAnimators();
     }
@@ -106,6 +108,9 @@
 
     @Override
     public void onViewDetachedFromWindow(View v) {
+        if (mHost != null) {
+            mHost.removeCallback(this);
+        }
         TunerService.get(mQsContainer.getContext()).removeTunable(this);
     }
 
@@ -138,7 +143,6 @@
         TouchAnimator.Builder firstPageBuilder = new Builder();
         TouchAnimator.Builder translationXBuilder = new Builder();
         TouchAnimator.Builder translationYBuilder = new Builder();
-        TouchAnimator.Builder lastRowBuilder = new Builder();
 
         if (mQsPanel.getHost() == null) return;
         Collection<QSTile<?>> tiles = mQsPanel.getHost().getTiles();
@@ -146,7 +150,6 @@
         int[] loc1 = new int[2];
         int[] loc2 = new int[2];
         int lastXDiff = 0;
-        int lastYDiff = 0;
         int lastX = 0;
 
         clearAnimationState();
@@ -169,7 +172,6 @@
                 final int xDiff = loc2[0] - loc1[0];
                 final int yDiff = loc2[1] - loc1[1];
                 lastXDiff = loc1[0] - lastX;
-                lastYDiff = yDiff;
                 // Move the quick tile right from its location to the new one.
                 translationXBuilder.addFloat(quickTileView, "translationX", 0, xDiff);
                 translationYBuilder.addFloat(quickTileView, "translationY", 0, yDiff);
@@ -203,13 +205,25 @@
 
                 mAllViews.add(tileIcon);
             } else {
-                lastRowBuilder.addFloat(tileView, "alpha", 0, 1);
+                firstPageBuilder.addFloat(tileView, "alpha", 0, 1);
             }
             mAllViews.add(tileView);
             mAllViews.add(label);
             count++;
         }
         if (mAllowFancy) {
+            // Make brightness appear static position and alpha in through second half.
+            View brightness = mQsPanel.getBrightnessView();
+            if (brightness != null) {
+                firstPageBuilder.addFloat(brightness, "translationY", mQsPanel.getHeight(), 0);
+                mBrightnessAnimator = new TouchAnimator.Builder()
+                        .addFloat(brightness, "alpha", 0, 1)
+                        .setStartDelay(.5f)
+                        .build();
+                mAllViews.add(brightness);
+            } else {
+                mBrightnessAnimator = null;
+            }
             mFirstPageAnimator = firstPageBuilder
                     .setListener(this)
                     .build();
@@ -217,9 +231,6 @@
             mFirstPageDelayedAnimator = new TouchAnimator.Builder()
                     .setStartDelay(EXPANDED_TILE_DELAY)
                     .addFloat(mQsPanel.getTileLayout(), "alpha", 0, 1).build();
-            mLastRowAnimator = lastRowBuilder
-                    .setStartDelay(LAST_ROW_EXPANDED_DELAY)
-                    .build();
             Path path = new Path();
             path.moveTo(0, 0);
             path.cubicTo(0, 0, 0, 1, 1, 1);
@@ -273,7 +284,9 @@
             mFirstPageDelayedAnimator.setPosition(position);
             mTranslationXAnimator.setPosition(position);
             mTranslationYAnimator.setPosition(position);
-            mLastRowAnimator.setPosition(position);
+            if (mBrightnessAnimator != null) {
+                mBrightnessAnimator.setPosition(position);
+            }
         } else {
             mNonfirstPageAnimator.setPosition(position);
         }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSContainer.java b/packages/SystemUI/src/com/android/systemui/qs/QSContainer.java
index 8d6e17e..d5fb8f2 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSContainer.java
@@ -178,6 +178,7 @@
     private void updateQsState() {
         boolean expandVisually = mQsExpanded || mStackScrollerOverscrolling || mHeaderAnimating;
         mQSPanel.setExpanded(mQsExpanded);
+        mQSDetail.setExpanded(mQsExpanded);
         mHeader.setVisibility((mQsExpanded || !mKeyguardShowing || mHeaderAnimating)
                 ? View.VISIBLE
                 : View.INVISIBLE);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java b/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java
index 0cf7e479..a40e5b7 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java
@@ -31,6 +31,7 @@
 import android.widget.LinearLayout;
 import android.widget.Switch;
 import android.widget.TextView;
+
 import com.android.internal.logging.MetricsLogger;
 import com.android.systemui.FontSizeUtils;
 import com.android.systemui.R;
@@ -64,6 +65,9 @@
     private boolean mFullyExpanded;
     private View mQsDetailHeaderBack;
     private BaseStatusBarHeader mHeader;
+    private boolean mTriggeredExpand;
+    private int mOpenX;
+    private int mOpenY;
 
     public QSDetail(Context context, @Nullable AttributeSet attrs) {
         super(context, attrs);
@@ -112,6 +116,7 @@
     public void setQsPanel(QSPanel panel, BaseStatusBarHeader header) {
         mQsPanel = panel;
         mHeader = header;
+        mHeader.setCallback(mQsPanelCallback);
         mQsPanel.setCallback(mQsPanelCallback);
     }
 
@@ -126,6 +131,12 @@
         mFullyExpanded = fullyExpanded;
     }
 
+    public void setExpanded(boolean qsExpanded) {
+        if (!qsExpanded) {
+            mTriggeredExpand = false;
+        }
+    }
+
     private void updateDetailText() {
         mDetailDoneButton.setText(R.string.quick_settings_done);
         mDetailSettingsButton.setText(R.string.quick_settings_more_settings);
@@ -161,6 +172,22 @@
                     }
                 });
             }
+            if (!mFullyExpanded) {
+                mTriggeredExpand = true;
+                mHost.animateToggleQSExpansion();
+            } else {
+                mTriggeredExpand = false;
+            }
+            mOpenX = x;
+            mOpenY = y;
+        } else {
+            // Ensure we collapse into the same point we opened from.
+            x = mOpenX;
+            y = mOpenY;
+            if (mTriggeredExpand) {
+                mHost.animateToggleQSExpansion();
+                mTriggeredExpand = false;
+            }
         }
 
         boolean visibleDiff = (mDetailAdapter != null) != (adapter != null);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java b/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java
index 0549afa..65d6805 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java
@@ -138,7 +138,7 @@
     public void onClick(DialogInterface dialog, int which) {
         if (which == DialogInterface.BUTTON_NEGATIVE) {
             final Intent settingsIntent = new Intent(ACTION_VPN_SETTINGS);
-            mContext.startActivityAsUser(settingsIntent, UserHandle.CURRENT);
+            mHost.startActivityDismissingKeyguard(settingsIntent);
         }
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
index 8148844..890279f 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
@@ -23,6 +23,7 @@
 import android.os.Handler;
 import android.os.Message;
 import android.util.AttributeSet;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.ImageView;
@@ -56,7 +57,7 @@
 
     private int mPanelPaddingBottom;
     private int mBrightnessPaddingTop;
-    private boolean mExpanded;
+    protected boolean mExpanded;
     protected boolean mListening;
 
     private Callback mCallback;
@@ -70,7 +71,8 @@
 
     private QSCustomizer mCustomizePanel;
     private Record mDetailRecord;
-    private boolean mTriggeredExpand;
+
+    private BrightnessMirrorController mBrightnessMirrorController;
 
     public QSPanel(Context context) {
         this(context, null);
@@ -157,13 +159,17 @@
     }
 
     public void setBrightnessMirror(BrightnessMirrorController c) {
-        super.onFinishInflate();
+        mBrightnessMirrorController = c;
         ToggleSlider brightnessSlider = (ToggleSlider) findViewById(R.id.brightness_slider);
         ToggleSlider mirror = (ToggleSlider) c.getMirror().findViewById(R.id.brightness_slider);
         brightnessSlider.setMirror(mirror);
         brightnessSlider.setMirrorController(c);
     }
 
+    View getBrightnessView() {
+        return mBrightnessView;
+    }
+
     public void setCallback(Callback callback) {
         mCallback = callback;
     }
@@ -203,6 +209,11 @@
     protected void onConfigurationChanged(Configuration newConfig) {
         super.onConfigurationChanged(newConfig);
         mFooter.onConfigurationChanged();
+
+        if (mBrightnessMirrorController != null) {
+            // Reload the mirror in case it got reinflated but we didn't.
+            setBrightnessMirror(mBrightnessMirrorController);
+        }
     }
 
     public void onCollapse() {
@@ -219,7 +230,6 @@
         }
         MetricsLogger.visibility(mContext, MetricsEvent.QS_PANEL, mExpanded);
         if (!mExpanded) {
-            mTriggeredExpand = false;
             closeDetail();
         } else {
             logTiles();
@@ -277,6 +287,7 @@
     public void setTiles(Collection<QSTile<?>> tiles, boolean collapsedView) {
         for (TileRecord record : mRecords) {
             mTileLayout.removeTile(record);
+            record.tile.removeCallback(record.callback);
         }
         mRecords.clear();
         for (QSTile<?> tile : tiles) {
@@ -292,6 +303,10 @@
         return new QSTileView(mContext, tile.createTileView(mContext), collapsedView);
     }
 
+    protected boolean shouldShowDetail() {
+        return mExpanded;
+    }
+
     protected void addTile(final QSTile<?> tile, boolean collapsedView) {
         final TileRecord r = new TileRecord();
         r.tile = tile;
@@ -304,7 +319,11 @@
 
             @Override
             public void onShowDetail(boolean show) {
-                QSPanel.this.showDetail(show, r);
+                // Both the collapsed and full QS panels get this callback, this check determines
+                // which one should handle showing the detail.
+                if (shouldShowDetail()) {
+                    QSPanel.this.showDetail(show, r);
+                }
             }
 
             @Override
@@ -328,6 +347,7 @@
             }
         };
         r.tile.addCallback(callback);
+        r.callback = callback;
         final View.OnClickListener click = new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -342,7 +362,6 @@
             }
         };
         r.tileView.init(click, longClick);
-        callback.onStateChanged(r.tile.getState());
         r.tile.refreshState();
         mRecords.add(r);
 
@@ -388,17 +407,6 @@
     }
 
     protected void handleShowDetail(Record r, boolean show) {
-        if (show) {
-            if (!mExpanded) {
-                mTriggeredExpand = true;
-                mHost.animateToggleQSExpansion();
-            } else {
-                mTriggeredExpand = false;
-            }
-        } else if (mTriggeredExpand) {
-            mHost.animateToggleQSExpansion();
-            mTriggeredExpand = false;
-        }
         if (r instanceof TileRecord) {
             handleShowDetailTile((TileRecord) r, show);
         } else {
@@ -518,6 +526,7 @@
         public QSTile<?> tile;
         public QSTileBaseView tileView;
         public boolean scanState;
+        public QSTile.Callback callback;
     }
 
     public interface Callback {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java
index 8d9f23f..27b079a 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java
@@ -161,6 +161,10 @@
         mHandler.obtainMessage(H.ADD_CALLBACK, callback).sendToTarget();
     }
 
+    public void removeCallback(Callback callback) {
+        mHandler.obtainMessage(H.REMOVE_CALLBACK, callback).sendToTarget();
+    }
+
     public void removeCallbacks() {
         mHandler.sendEmptyMessage(H.REMOVE_CALLBACKS);
     }
@@ -221,7 +225,11 @@
 
     private void handleAddCallback(Callback callback) {
         mCallbacks.add(callback);
-        handleRefreshState(null);
+        callback.onStateChanged(mState);
+    }
+
+    private void handleRemoveCallback(Callback callback) {
+        mCallbacks.remove(callback);
     }
 
     private void handleRemoveCallbacks() {
@@ -334,7 +342,8 @@
         private static final int DESTROY = 10;
         private static final int CLEAR_STATE = 11;
         private static final int REMOVE_CALLBACKS = 12;
-        private static final int SET_LISTENING = 13;
+        private static final int REMOVE_CALLBACK = 13;
+        private static final int SET_LISTENING = 14;
 
         private H(Looper looper) {
             super(looper);
@@ -350,6 +359,9 @@
                 } else if (msg.what == REMOVE_CALLBACKS) {
                     name = "handleRemoveCallbacks";
                     handleRemoveCallbacks();
+                } else if (msg.what == REMOVE_CALLBACK) {
+                    name = "handleRemoveCallback";
+                    handleRemoveCallback((QSTile.Callback) msg.obj);
                 } else if (msg.what == CLICK) {
                     name = "handleClick";
                     if (mState.disabledByPolicy) {
@@ -622,6 +634,18 @@
         }
     }
 
+    public static class AirplaneBooleanState extends BooleanState {
+        public boolean isAirplaneMode;
+
+        @Override
+        public boolean copyTo(State other) {
+            final AirplaneBooleanState o = (AirplaneBooleanState) other;
+            final boolean changed = super.copyTo(other) || o.isAirplaneMode != isAirplaneMode;
+            o.isAirplaneMode = isAirplaneMode;
+            return changed;
+        }
+    }
+
     public static final class SignalState extends BooleanState {
         public boolean connected;
         public boolean activityIn;
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTileBaseView.java b/packages/SystemUI/src/com/android/systemui/qs/QSTileBaseView.java
index feacaa0..5ed19ef 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSTileBaseView.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSTileBaseView.java
@@ -63,6 +63,7 @@
         setClipChildren(false);
         setClipToPadding(false);
         mCollapsedView = collapsedView;
+        setFocusable(true);
     }
 
     private Drawable newTileBackground() {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java
index 2a0e6b3..f09275d 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java
@@ -77,6 +77,11 @@
     }
 
     @Override
+    protected boolean shouldShowDetail() {
+        return !mExpanded;
+    }
+
+    @Override
     protected void drawTile(TileRecord r, State state) {
         if (state instanceof SignalState) {
             State copy = r.tile.newTileState();
@@ -90,11 +95,6 @@
     }
 
     @Override
-    protected void showDetail(boolean show, Record r) {
-        // Do nothing, will be handled by the QSPanel.
-    }
-
-    @Override
     protected QSTileBaseView createTileView(QSTile<?> tile, boolean collapsedView) {
         return new QSTileBaseView(mContext, tile.createTileView(mContext), collapsedView);
     }
@@ -113,6 +113,11 @@
     }
 
     @Override
+    protected void onTileClick(QSTile<?> tile) {
+        tile.secondaryClick();
+    }
+
+    @Override
     public void onTuningChanged(String key, String newValue) {
         // No tunings for you.
         if (key.equals(QS_SHOW_BRIGHTNESS)) {
@@ -130,7 +135,7 @@
                 break;
             }
         }
-        super.setTiles(quickTiles, false);
+        super.setTiles(quickTiles, true);
     }
 
     private final Tunable mNumTiles = new Tunable() {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java
index 4bf85c7..0de1e30 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java
@@ -42,6 +42,7 @@
 import com.android.systemui.statusbar.phone.NotificationsQuickSettingsContainer;
 import com.android.systemui.statusbar.phone.PhoneStatusBar;
 import com.android.systemui.statusbar.phone.QSTileHost;
+import com.android.systemui.statusbar.policy.KeyguardMonitor.Callback;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -141,6 +142,7 @@
             mNotifQsContainer.setCustomizerShowing(true);
             announceForAccessibility(mContext.getString(
                     R.string.accessibility_desc_quick_settings_edit));
+            mHost.getKeyguardMonitor().addCallback(mKeyguardCallback);
         }
     }
 
@@ -156,6 +158,7 @@
             mNotifQsContainer.setCustomizerShowing(false);
             announceForAccessibility(mContext.getString(
                     R.string.accessibility_desc_quick_settings));
+            mHost.getKeyguardMonitor().removeCallback(mKeyguardCallback);
         }
     }
 
@@ -201,6 +204,15 @@
         mTileAdapter.saveSpecs(mHost);
     }
 
+    private final Callback mKeyguardCallback = new Callback() {
+        @Override
+        public void onKeyguardChanged() {
+            if (mHost.getKeyguardMonitor().isShowing()) {
+                hide(0, 0);
+            }
+        }
+    };
+
     private final AnimatorListener mExpandAnimationListener = new AnimatorListenerAdapter() {
         @Override
         public void onAnimationEnd(Animator animation) {
@@ -221,6 +233,7 @@
                 setVisibility(View.GONE);
             }
             mNotifQsContainer.setCustomizerAnimating(false);
+            mRecyclerView.setAdapter(mTileAdapter);
         }
 
         @Override
diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java
index 60c24d0..3a693cf 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java
@@ -19,6 +19,7 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.DialogInterface;
+import android.content.res.TypedArray;
 import android.graphics.Canvas;
 import android.graphics.drawable.ColorDrawable;
 import android.os.Handler;
@@ -37,6 +38,7 @@
 import android.view.accessibility.AccessibilityManager;
 import android.widget.FrameLayout;
 import android.widget.TextView;
+
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.MetricsProto;
 import com.android.systemui.R;
@@ -70,6 +72,7 @@
     private final Handler mHandler = new Handler();
     private final List<TileInfo> mTiles = new ArrayList<>();
     private final ItemTouchHelper mItemTouchHelper;
+    private final ItemDecoration mDecoration;
     private final AccessibilityManager mAccessibilityManager;
     private int mEditIndex;
     private int mTileDividerIndex;
@@ -87,6 +90,7 @@
         mContext = context;
         mAccessibilityManager = context.getSystemService(AccessibilityManager.class);
         mItemTouchHelper = new ItemTouchHelper(mCallbacks);
+        mDecoration = new TileItemDecoration(context);
     }
 
     public void setHost(QSTileHost host) {
@@ -111,6 +115,9 @@
     }
 
     public void setTileSpecs(List<String> currentSpecs) {
+        if (currentSpecs.equals(mCurrentSpecs)) {
+            return;
+        }
         mCurrentSpecs = currentSpecs;
         recalcSpecs();
     }
@@ -227,6 +234,8 @@
             });
             if (mNeedsFocus) {
                 // Wait for this to get laid out then set its focus.
+                // Ensure that tile gets laid out so we get the callback.
+                holder.mTileView.requestLayout();
                 holder.mTileView.addOnLayoutChangeListener(new OnLayoutChangeListener() {
                     @Override
                     public void onLayoutChange(View v, int left, int top, int right, int bottom,
@@ -254,7 +263,7 @@
         }
         holder.mTileView.onStateChanged(info.state);
         holder.mTileView.setAppLabel(info.appLabel);
-        holder.mTileView.setShowAppLabel(mTileDividerIndex > -1 && position > mTileDividerIndex);
+        holder.mTileView.setShowAppLabel(position > mEditIndex && !info.isSystem);
 
         if (mAccessibilityManager.isTouchExplorationEnabled()) {
             final boolean selectable = !mAccessibilityMoving || position < mEditIndex;
@@ -289,13 +298,11 @@
         mTiles.remove(mEditIndex--);
         notifyItemRemoved(mEditIndex - 1);
         move(mAccessibilityFromIndex, position, v);
-        updateDividerLocations();
         notifyDataSetChanged();
-        saveSpecs(mHost);
     }
 
     private void showAccessibilityDialog(final int position, final View v) {
-        TileInfo info = mTiles.get(position);
+        final TileInfo info = mTiles.get(position);
         CharSequence[] options = new CharSequence[] {
                 mContext.getString(R.string.accessibility_qs_edit_move_tile, info.state.label),
                 mContext.getString(R.string.accessibility_qs_edit_remove_tile, info.state.label),
@@ -307,7 +314,9 @@
                         if (which == 0) {
                             startAccessibleDrag(position);
                         } else {
-                            move(position, mEditIndex, v);
+                            move(position, info.isSystem ? mEditIndex : mTileDividerIndex, v);
+                            notifyItemChanged(mTileDividerIndex);
+                            notifyDataSetChanged();
                         }
                     }
                 }).setNegativeButton(android.R.string.cancel, null)
@@ -331,40 +340,12 @@
     }
 
     private boolean move(int from, int to, View v) {
-        if (to >= mEditIndex) {
-            if (from < mEditIndex) {
-                // Removing a tile.
-                // Sort tiles into system/non-system groups.
-                TileInfo tile = mTiles.get(from);
-                if (tile.isSystem) {
-                    if (to > mTileDividerIndex) {
-                        to = mTileDividerIndex;
-                    }
-                } else {
-                    if (mTileDividerIndex == mTiles.size() - 1) {
-                        notifyItemChanged(mTileDividerIndex);
-                    }
-                    if (to <= mTileDividerIndex) {
-                        to = mTileDividerIndex;
-                    }
-                }
-            } else {
-                if (to > mEditIndex) {
-                    // Don't allow tiles to be dragged around when they aren't added.
-                    to = from;
-                }
-                // Allow the case where to == mEditIndex to fall through and swap which
-                // side the tile is currently on.
-                // This lets the the cases where all tiles are on one side of the line
-                // work.
-            }
+        if (to == from) {
+            return true;
         }
         CharSequence fromLabel = mTiles.get(from).state.label;
         move(from, to, mTiles);
         updateDividerLocations();
-        if (to == from) {
-            return true;
-        }
         CharSequence announcement;
         if (to >= mEditIndex) {
             MetricsLogger.action(mContext, MetricsProto.MetricsEvent.ACTION_QS_EDIT_REMOVE_SPEC,
@@ -424,7 +405,6 @@
     private <T> void move(int from, int to, List<T> list) {
         list.add(to, list.remove(from));
         notifyItemMoved(from, to);
-        notifyItemChanged(to);
     }
 
     public class Holder extends ViewHolder {
@@ -482,9 +462,16 @@
         }
     };
 
-    private final ItemDecoration mDecoration = new ItemDecoration() {
-        // TODO: Move this to resource.
-        private final ColorDrawable mDrawable = new ColorDrawable(0xff384248);
+    private class TileItemDecoration extends ItemDecoration {
+        private final ColorDrawable mDrawable;
+
+        private TileItemDecoration(Context context) {
+            TypedArray ta =
+                    context.obtainStyledAttributes(new int[]{android.R.attr.colorSecondary});
+            mDrawable = new ColorDrawable(ta.getColor(0, 0));
+            ta.recycle();
+        }
+
 
         @Override
         public void onDraw(Canvas c, RecyclerView parent, State state) {
@@ -496,7 +483,7 @@
             for (int i = 0; i < childCount; i++) {
                 final View child = parent.getChildAt(i);
                 final ViewHolder holder = parent.getChildViewHolder(child);
-                if (holder.getAdapterPosition() < mEditIndex) {
+                if (holder.getAdapterPosition() < mEditIndex && !(child instanceof TextView)) {
                     continue;
                 }
 
@@ -527,7 +514,15 @@
         @Override
         public void onSelectedChanged(ViewHolder viewHolder, int actionState) {
             super.onSelectedChanged(viewHolder, actionState);
+            if (actionState != ItemTouchHelper.ACTION_STATE_DRAG) {
+                viewHolder = null;
+            }
+            if (viewHolder == mCurrentDrag) return;
             if (mCurrentDrag != null) {
+                int position = mCurrentDrag.getAdapterPosition();
+                TileInfo info = mTiles.get(position);
+                mCurrentDrag.mTileView.setShowAppLabel(
+                        position > mEditIndex && !info.isSystem);
                 mCurrentDrag.stopDrag();
                 mCurrentDrag = null;
             }
@@ -544,6 +539,12 @@
         }
 
         @Override
+        public boolean canDropOver(RecyclerView recyclerView, ViewHolder current,
+                ViewHolder target) {
+            return target.getAdapterPosition() <= mEditIndex + 1;
+        }
+
+        @Override
         public int getMovementFlags(RecyclerView recyclerView, ViewHolder viewHolder) {
             if (viewHolder.getItemViewType() == TYPE_EDIT) {
                 return makeMovementFlags(0, 0);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
index b38dd17..40ef6eb 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
@@ -28,6 +28,8 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.service.quicksettings.TileService;
+import android.widget.Button;
+
 import com.android.systemui.R;
 import com.android.systemui.qs.QSTile;
 import com.android.systemui.qs.QSTile.DrawableIcon;
@@ -109,6 +111,8 @@
         }
         TileInfo info = new TileInfo();
         info.state = state;
+        info.state.minimalAccessibilityClassName = info.state.expandedAccessibilityClassName =
+                Button.class.getName();
         info.spec = spec;
         info.appLabel = appLabel;
         info.isSystem = isSystem;
@@ -157,7 +161,7 @@
                     addTile(spec, appLabel, state, false);
                     continue;
                 }
-                if (info.serviceInfo.icon == 0) {
+                if (info.serviceInfo.icon == 0 && info.serviceInfo.applicationInfo.icon == 0) {
                     continue;
                 }
                 Drawable icon = info.serviceInfo.loadIcon(pm);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java b/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
index 23a3ca1..569a567 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
@@ -71,29 +71,29 @@
         super(host);
         mWindowManager = WindowManagerGlobal.getWindowManagerService();
         mComponent = ComponentName.unflattenFromString(action);
+        mTile = new Tile(mComponent);
+        setTileIcon();
         mServiceManager = host.getTileServices().getTileWrapper(this);
         mService = mServiceManager.getTileService();
         mServiceManager.setTileChangeListener(this);
-        mTile = new Tile(mComponent);
         mUser = ActivityManager.getCurrentUser();
-        setTileIcon();
-        try {
-            mService.setQSTile(mTile);
-        } catch (RemoteException e) {
-            // Called through wrapper, won't happen here.
-        }
     }
 
     private void setTileIcon() {
         try {
             PackageManager pm = mContext.getPackageManager();
-            ServiceInfo info = pm.getServiceInfo(mComponent,
-                    PackageManager.MATCH_ENCRYPTION_AWARE_AND_UNAWARE);
+            int flags = PackageManager.MATCH_ENCRYPTION_AWARE_AND_UNAWARE;
+            if (isSystemApp(pm)) {
+                flags |= PackageManager.MATCH_DISABLED_COMPONENTS;
+            }
+            ServiceInfo info = pm.getServiceInfo(mComponent, flags);
+            int icon = info.icon != 0 ? info.icon
+                    : info.applicationInfo.icon;
             // Update the icon if its not set or is the default icon.
             boolean updateIcon = mTile.getIcon() == null
                     || iconEquals(mTile.getIcon(), mDefaultIcon);
-            mDefaultIcon = info.icon != 0 ? android.graphics.drawable.Icon
-                    .createWithResource(mComponent.getPackageName(), info.icon) : null;
+            mDefaultIcon = icon != 0 ? android.graphics.drawable.Icon
+                    .createWithResource(mComponent.getPackageName(), icon) : null;
             if (updateIcon) {
                 mTile.setIcon(mDefaultIcon);
             }
@@ -106,6 +106,10 @@
         }
     }
 
+    private boolean isSystemApp(PackageManager pm) throws PackageManager.NameNotFoundException {
+        return pm.getApplicationInfo(mComponent.getPackageName(), 0).isSystemApp();
+    }
+
     /**
      * Compare two icons, only works for resources.
      */
diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/QSTileServiceWrapper.java b/packages/SystemUI/src/com/android/systemui/qs/external/QSTileServiceWrapper.java
index 3830ac5..407453c 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/external/QSTileServiceWrapper.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/external/QSTileServiceWrapper.java
@@ -35,16 +35,6 @@
         return mService.asBinder();
     }
 
-    public boolean setQSTile(Tile tile) {
-        try {
-            mService.setQSTile(tile);
-            return true;
-        } catch (Exception e) {
-            Log.d(TAG, "Caught exception from TileService", e);
-            return false;
-        }
-    }
-
     public boolean onTileAdded() {
         try {
             mService.onTileAdded();
@@ -95,16 +85,6 @@
         }
     }
 
-    public boolean setQSService(IQSService service) {
-        try {
-            mService.setQSService(service);
-            return true;
-        } catch (Exception e) {
-            Log.d(TAG, "Caught exception from TileService", e);
-            return false;
-        }
-    }
-
     public boolean onUnlockComplete() {
         try {
             mService.onUnlockComplete();
diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java b/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
index 16b1158..79f9de6 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
@@ -71,23 +71,24 @@
     private Set<Integer> mQueuedMessages = new ArraySet<>();
     private QSTileServiceWrapper mWrapper;
     private boolean mListening;
-    private Tile mTile;
     private IBinder mClickBinder;
 
     private int mBindTryCount;
     private boolean mBound;
     @VisibleForTesting
     boolean mReceiverRegistered;
-    private IQSService mService;
     private boolean mUnbindImmediate;
     private TileChangeListener mChangeListener;
     // Return value from bindServiceAsUser, determines whether safe to call unbind.
     private boolean mIsBound;
 
-    public TileLifecycleManager(Handler handler, Context context, Intent intent, UserHandle user) {
+    public TileLifecycleManager(Handler handler, Context context, IQSService service,
+            Tile tile, Intent intent, UserHandle user) {
         mContext = context;
         mHandler = handler;
         mIntent = intent;
+        mIntent.putExtra(TileService.EXTRA_SERVICE, service.asBinder());
+        mIntent.putExtra(TileService.EXTRA_COMPONENT, intent.getComponent());
         mUser = user;
         if (DEBUG) Log.d(TAG, "Creating " + mIntent + " " + mUser);
     }
@@ -134,9 +135,14 @@
             }
             if (DEBUG) Log.d(TAG, "Binding service " + mIntent + " " + mUser);
             mBindTryCount++;
-            mIsBound = mContext.bindServiceAsUser(mIntent, this,
-                    Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE_WHILE_AWAKE,
-                    mUser);
+            try {
+                mIsBound = mContext.bindServiceAsUser(mIntent, this,
+                        Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE_WHILE_AWAKE,
+                        mUser);
+            } catch (SecurityException e) {
+                Log.e(TAG, "Failed to bind to service", e);
+                mIsBound = false;
+            }
         } else {
             if (DEBUG) Log.d(TAG, "Unbinding service " + mIntent + " " + mUser);
             // Give it another chance next time it needs to be bound, out of kindness.
@@ -159,14 +165,6 @@
             service.linkToDeath(this, 0);
         } catch (RemoteException e) {
         }
-        if (!wrapper.setQSService(mService)) {
-            handleDeath();
-            return;
-        }
-        if (!wrapper.setQSTile(mTile)) {
-            handleDeath();
-            return;
-        }
         mWrapper = wrapper;
         handlePendingMessages();
     }
@@ -250,15 +248,6 @@
         }
     }
 
-    @Override
-    public void setQSTile(Tile tile) {
-        if (DEBUG) Log.d(TAG, "setQSTile " + tile);
-        mTile = tile;
-        if (mWrapper != null && !mWrapper.setQSTile(tile)) {
-            handleDeath();
-        }
-    }
-
     private boolean checkComponentState() {
         PackageManager pm = mContext.getPackageManager();
         if (!isPackageAvailable(pm) || !isComponentAvailable(pm)) {
@@ -342,14 +331,6 @@
     }
 
     @Override
-    public void setQSService(IQSService service) {
-        mService = service;
-        if (mWrapper == null || !mWrapper.setQSService(service)) {
-            handleDeath();
-        }
-    }
-
-    @Override
     public void onTileAdded() {
         if (DEBUG) Log.d(TAG, "onTileAdded");
         if (mWrapper == null || !mWrapper.onTileAdded()) {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/TileServiceManager.java b/packages/SystemUI/src/com/android/systemui/qs/external/TileServiceManager.java
index 82a5622..3d030f9 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/external/TileServiceManager.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/external/TileServiceManager.java
@@ -21,13 +21,21 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
 import android.net.Uri;
 import android.os.Handler;
 import android.os.UserHandle;
 import android.service.quicksettings.IQSTileService;
+import android.service.quicksettings.Tile;
+import android.service.quicksettings.TileService;
 import android.support.annotation.VisibleForTesting;
 import android.util.Log;
+
 import com.android.systemui.qs.external.TileLifecycleManager.TileChangeListener;
+
+import java.util.List;
+
 import libcore.util.Objects;
 
 /**
@@ -61,9 +69,10 @@
     // This defaults to true to ensure tiles start out unavailable.
     private boolean mPendingBind = true;
 
-    TileServiceManager(TileServices tileServices, Handler handler, ComponentName component) {
+    TileServiceManager(TileServices tileServices, Handler handler, ComponentName component,
+            Tile tile) {
         this(tileServices, handler, new TileLifecycleManager(handler,
-                tileServices.getContext(), new Intent().setComponent(component),
+                tileServices.getContext(), tileServices, tile, new Intent().setComponent(component),
                 new UserHandle(ActivityManager.getCurrentUser())));
     }
 
@@ -73,7 +82,6 @@
         mServices = tileServices;
         mHandler = handler;
         mStateManager = tileLifecycleManager;
-        mStateManager.setQSService(tileServices);
 
         IntentFilter filter = new IntentFilter();
         filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
@@ -222,15 +230,29 @@
             if (!Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) {
                 return;
             }
-            if (intent.getBooleanExtra(Intent.EXTRA_REPLACING, false)) {
-                return;
-            }
+
             Uri data = intent.getData();
             String pkgName = data.getEncodedSchemeSpecificPart();
             final ComponentName component = mStateManager.getComponent();
             if (!Objects.equal(pkgName, component.getPackageName())) {
                 return;
             }
+
+            // If the package is being updated, verify the component still exists.
+            if (intent.getBooleanExtra(Intent.EXTRA_REPLACING, false)) {
+                Intent queryIntent = new Intent(TileService.ACTION_QS_TILE);
+                queryIntent.setPackage(pkgName);
+                PackageManager pm = context.getPackageManager();
+                List<ResolveInfo> services = pm.queryIntentServicesAsUser(
+                        queryIntent, 0, ActivityManager.getCurrentUser());
+                for (ResolveInfo info : services) {
+                    if (Objects.equal(info.serviceInfo.packageName, component.getPackageName())
+                            && Objects.equal(info.serviceInfo.name, component.getClassName())) {
+                        return;
+                    }
+                }
+            }
+
             mServices.getHost().removeTile(component);
         }
     };
diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java b/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java
index 2ab6b5f..6f0bed2 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java
@@ -78,7 +78,7 @@
 
     public TileServiceManager getTileWrapper(CustomTile tile) {
         ComponentName component = tile.getComponent();
-        TileServiceManager service = onCreateTileService(component);
+        TileServiceManager service = onCreateTileService(component, tile.getQsTile());
         synchronized (mServices) {
             mServices.put(tile, service);
             mTiles.put(component, tile);
@@ -86,8 +86,8 @@
         return service;
     }
 
-    protected TileServiceManager onCreateTileService(ComponentName component) {
-        return new TileServiceManager(this, mHandler, component);
+    protected TileServiceManager onCreateTileService(ComponentName component, Tile tile) {
+        return new TileServiceManager(this, mHandler, component, tile);
     }
 
     public void freeService(CustomTile tile, TileServiceManager service) {
@@ -263,6 +263,16 @@
     }
 
     @Override
+    public Tile getTile(ComponentName componentName) {
+        verifyCaller(componentName.getPackageName());
+        CustomTile customTile = getTileForComponent(componentName);
+        if (customTile != null) {
+            return customTile.getQsTile();
+        }
+        return null;
+    }
+
+    @Override
     public void startUnlockAndRun(Tile tile) {
         ComponentName componentName = tile.getComponentName();
         verifyCaller(componentName.getPackageName());
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
index 18191cf..0de5105 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
@@ -95,14 +95,6 @@
     }
 
     @Override
-    protected void handleSecondaryClick() {
-        boolean dataEnabled = mDataController.isMobileDataSupported()
-                && mDataController.isMobileDataEnabled();
-        MetricsLogger.action(mContext, MetricsEvent.QS_CELLULAR_TOGGLE, !dataEnabled);
-        mDataController.setMobileDataEnabled(!dataEnabled);
-    }
-
-    @Override
     public CharSequence getTileLabel() {
         return mContext.getString(R.string.quick_settings_cellular_detail_title);
     }
@@ -152,8 +144,8 @@
         }
         state.contentDescription = state.contentDescription + "," + r.getString(
                 R.string.accessibility_quick_settings_open_settings, getTileLabel());
-        state.expandedAccessibilityClassName = Button.class.getName();
-        state.minimalAccessibilityClassName = Switch.class.getName();
+        state.minimalAccessibilityClassName = state.expandedAccessibilityClassName
+                = Button.class.getName();
         state.value = mDataController.isMobileDataSupported()
                 && mDataController.isMobileDataEnabled();
     }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/DataUsageDetailView.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/DataUsageDetailView.java
index bad4e79..a63eabc 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/DataUsageDetailView.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/DataUsageDetailView.java
@@ -16,6 +16,7 @@
 
 package com.android.systemui.qs.tiles;
 
+import android.annotation.ColorInt;
 import android.content.Context;
 import android.content.res.Configuration;
 import android.content.res.Resources;
@@ -24,6 +25,7 @@
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
+import com.android.settingslib.Utils;
 import com.android.settingslib.net.DataUsageController;
 import com.android.systemui.FontSizeUtils;
 import com.android.systemui.R;
@@ -64,7 +66,7 @@
         final Resources res = mContext.getResources();
         final int titleId;
         final long bytes;
-        int usageColor = R.color.system_accent_color;
+        @ColorInt int usageColor = 0;
         final String top;
         String bottom = null;
         if (info.usageLevel < info.warningLevel || info.limitLevel <= 0) {
@@ -89,14 +91,18 @@
                     formatBytes(info.usageLevel));
             bottom = res.getString(R.string.quick_settings_cellular_detail_data_limit,
                     formatBytes(info.limitLevel));
-            usageColor = R.color.system_warning_color;
+            usageColor = mContext.getColor(R.color.system_warning_color);
+        }
+
+        if (usageColor == 0) {
+            usageColor = Utils.getColorAccent(mContext);
         }
 
         final TextView title = (TextView) findViewById(android.R.id.title);
         title.setText(titleId);
         final TextView usage = (TextView) findViewById(R.id.usage_text);
         usage.setText(formatBytes(bytes));
-        usage.setTextColor(mContext.getColor(usageColor));
+        usage.setTextColor(usageColor);
         final DataUsageGraph graph = (DataUsageGraph) findViewById(R.id.usage_graph);
         graph.setLevels(info.limitLevel, info.warningLevel, info.usageLevel);
         final TextView carrier = (TextView) findViewById(R.id.usage_carrier_text);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/FlashlightTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/FlashlightTile.java
index 5ff0bd0..0aa723e 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/FlashlightTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/FlashlightTile.java
@@ -102,7 +102,8 @@
     protected void handleUpdateState(BooleanState state, Object arg) {
         state.label = mHost.getContext().getString(R.string.quick_settings_flashlight_label);
         if (!mFlashlightController.isAvailable()) {
-            Drawable icon = mHost.getContext().getDrawable(R.drawable.ic_signal_flashlight_disable);
+            Drawable icon = mHost.getContext().getDrawable(R.drawable.ic_signal_flashlight_disable)
+                    .mutate();
             final int disabledColor = mHost.getContext().getColor(R.color.qs_tile_tint_unavailable);
             icon.setTint(disabledColor);
             state.icon = new DrawableIcon(icon);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
index 1c134c1..016c4b7 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
@@ -36,15 +36,16 @@
 import com.android.systemui.statusbar.policy.HotspotController;
 
 /** Quick settings tile: Hotspot **/
-public class HotspotTile extends QSTile<QSTile.BooleanState> {
+public class HotspotTile extends QSTile<QSTile.AirplaneBooleanState> {
     private final AnimationIcon mEnable =
             new AnimationIcon(R.drawable.ic_hotspot_enable_animation,
                     R.drawable.ic_hotspot_disable);
     private final AnimationIcon mDisable =
             new AnimationIcon(R.drawable.ic_hotspot_disable_animation,
                     R.drawable.ic_hotspot_enable);
-    private final Icon mUnavailable =
-            ResourceIcon.get(R.drawable.ic_hotspot_unavailable);
+    private final Icon mDisableNoAnimation = ResourceIcon.get(R.drawable.ic_hotspot_enable);
+    private final Icon mUnavailable = ResourceIcon.get(R.drawable.ic_hotspot_unavailable);
+
     private final HotspotController mController;
     private final Callback mCallback = new Callback();
     private final GlobalSetting mAirplaneMode;
@@ -72,8 +73,8 @@
     }
 
     @Override
-    public BooleanState newTileState() {
-        return new BooleanState();
+    public AirplaneBooleanState newTileState() {
+        return new AirplaneBooleanState();
     }
 
     @Override
@@ -84,10 +85,9 @@
             mController.addCallback(mCallback);
             final IntentFilter filter = new IntentFilter();
             filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED);
-            mContext.registerReceiver(mReceiver, filter);
+            refreshState();
         } else {
             mController.removeCallback(mCallback);
-            mContext.unregisterReceiver(mReceiver);
         }
         mAirplaneMode.setListening(listening);
     }
@@ -113,7 +113,7 @@
     }
 
     @Override
-    protected void handleUpdateState(BooleanState state, Object arg) {
+    protected void handleUpdateState(AirplaneBooleanState state, Object arg) {
         state.label = mContext.getString(R.string.quick_settings_hotspot_label);
 
         checkIfRestrictionEnforcedByAdminOnly(state, UserManager.DISALLOW_CONFIG_TETHERING);
@@ -123,12 +123,16 @@
             state.value = mController.isHotspotEnabled();
         }
         state.icon = state.value ? mEnable : mDisable;
-        if (mAirplaneMode.getValue() != 0) {
+        boolean wasAirplane = state.isAirplaneMode;
+        state.isAirplaneMode = mAirplaneMode.getValue() != 0;
+        if (state.isAirplaneMode) {
             final int disabledColor = mHost.getContext().getColor(R.color.qs_tile_tint_unavailable);
             state.label = new SpannableStringBuilder().append(state.label,
                     new ForegroundColorSpan(disabledColor),
                     SpannableStringBuilder.SPAN_INCLUSIVE_INCLUSIVE);
             state.icon = mUnavailable;
+        } else if (wasAirplane) {
+            state.icon = mDisableNoAnimation;
         }
         state.minimalAccessibilityClassName = state.expandedAccessibilityClassName
                 = Switch.class.getName();
@@ -155,13 +159,4 @@
             refreshState(enabled);
         }
     };
-
-    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            if (Intent.ACTION_AIRPLANE_MODE_CHANGED.equals(intent.getAction())) {
-                refreshState();
-            }
-        }
-    };
 }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/RotationLockTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/RotationLockTile.java
index 521df37..499eb50 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/RotationLockTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/RotationLockTile.java
@@ -77,7 +77,7 @@
         if (mController == null) return;
         MetricsLogger.action(mContext, getMetricsCategory(), !mState.value);
         final boolean newState = !mState.value;
-        mController.setRotationLocked(newState);
+        mController.setRotationLocked(!newState);
         refreshState(newState);
     }
 
@@ -89,15 +89,10 @@
     @Override
     protected void handleUpdateState(BooleanState state, Object arg) {
         if (mController == null) return;
-        final boolean rotationLocked = arg != null ? (Boolean) arg
-                : mController.isRotationLocked();
+        final boolean rotationLocked = mController.isRotationLocked();
         // TODO: Handle accessibility rotation lock and whatnot.
-//        state.visible = mController.isRotationLockAffordanceVisible();
-        if (state.value == rotationLocked && state.contentDescription != null) {
-            // No change and initialized, no need to update all the values.
-            return;
-        }
-        state.value = rotationLocked;
+
+        state.value = !rotationLocked;
         final boolean portrait = isCurrentOrientationLockPortrait(mController, mContext);
         if (rotationLocked) {
             final int label = portrait ? R.string.quick_settings_rotation_locked_portrait_label
diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java
index b20f46f..7e1deec 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java
@@ -184,7 +184,9 @@
         mHeaderBar = (TaskViewHeader) inflater.inflate(R.layout.recents_task_view_header,
                 null, false);
         reloadResources();
+    }
 
+    public void onBootCompleted() {
         // When we start, preload the data associated with the previous recent tasks.
         // We can use a new plan since the caches will be the same.
         RecentsTaskLoader loader = Recents.getTaskLoader();
@@ -197,10 +199,6 @@
         loader.loadTasks(mContext, plan, launchOpts);
     }
 
-    public void onBootCompleted() {
-        // Do nothing
-    }
-
     public void onConfigurationChanged() {
         reloadResources();
         mDummyStackView.reloadOnConfigurationChange();
diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsSystemUser.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsSystemUser.java
index 913da18..3921a20 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/RecentsSystemUser.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsSystemUser.java
@@ -30,6 +30,7 @@
 import com.android.systemui.recents.events.activity.DockedTopTaskEvent;
 import com.android.systemui.recents.events.activity.RecentsActivityStartingEvent;
 import com.android.systemui.recents.events.ui.RecentsDrawnEvent;
+import com.android.systemui.recents.misc.ForegroundThread;
 
 /**
  * An implementation of the system user's Recents interface to be called remotely by secondary
@@ -78,12 +79,16 @@
 
     @Override
     public void updateRecentsVisibility(boolean visible) {
-        mImpl.onVisibilityChanged(mContext, visible);
+        ForegroundThread.getHandler().post(() -> {
+            mImpl.onVisibilityChanged(mContext, visible);
+        });
     }
 
     @Override
     public void startScreenPinning(int taskId) {
-        mImpl.onStartScreenPinning(mContext, taskId);
+        ForegroundThread.getHandler().post(() -> {
+            mImpl.onStartScreenPinning(mContext, taskId);
+        });
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/recents/ScreenPinningRequest.java b/packages/SystemUI/src/com/android/systemui/recents/ScreenPinningRequest.java
index 992b13f..b961055 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/ScreenPinningRequest.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/ScreenPinningRequest.java
@@ -72,7 +72,12 @@
     }
 
     public void showPrompt(int taskId, boolean allowCancel) {
-        clearPrompt();
+        try {
+            clearPrompt();
+        } catch (IllegalArgumentException e) {
+            // If the call to show the prompt fails due to the request window not already being
+            // attached, then just ignore the error since we will be re-adding it below.
+        }
 
         this.taskId = taskId;
 
diff --git a/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java b/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java
index 1a944ce..37a4948 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java
@@ -29,6 +29,7 @@
 import android.app.AppGlobals;
 import android.app.IActivityManager;
 import android.app.ITaskStackListener;
+import android.app.UiModeManager;
 import android.content.ComponentName;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -38,6 +39,7 @@
 import android.content.pm.IPackageManager;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
+import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
@@ -83,6 +85,7 @@
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Random;
@@ -234,6 +237,13 @@
             mDummyIcon = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888);
             mDummyIcon.eraseColor(0xFF999999);
         }
+
+        UiModeManager uiModeManager = (UiModeManager) context.
+                getSystemService(Context.UI_MODE_SERVICE);
+        if (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION) {
+            Collections.addAll(sRecentsBlacklist,
+                    res.getStringArray(R.array.recents_tv_blacklist_array));
+        }
     }
 
     /**
@@ -304,8 +314,12 @@
         if (includeFrontMostExcludedTask) {
             flags |= ActivityManager.RECENT_WITH_EXCLUDED;
         }
-        List<ActivityManager.RecentTaskInfo> tasks = mAm.getRecentTasksForUser(numTasksToQuery,
-                flags, userId);
+        List<ActivityManager.RecentTaskInfo> tasks = null;
+        try {
+            tasks = mAm.getRecentTasksForUser(numTasksToQuery, flags, userId);
+        } catch (Exception e) {
+            Log.e(TAG, "Failed to get recent tasks", e);
+        }
 
         // Break early if we can't get a valid set of tasks
         if (tasks == null) {
@@ -320,8 +334,9 @@
             // NOTE: The order of these checks happens in the expected order of the traversal of the
             // tasks
 
-            // Remove the task if it is blacklisted
-            if (sRecentsBlacklist.contains(t.realActivity.getClassName())) {
+            // Remove the task if it or it's package are blacklsited
+            if (sRecentsBlacklist.contains(t.realActivity.getClassName()) ||
+                    sRecentsBlacklist.contains(t.realActivity.getPackageName())) {
                 iter.remove();
                 continue;
             }
diff --git a/packages/SystemUI/src/com/android/systemui/recents/misc/Utilities.java b/packages/SystemUI/src/com/android/systemui/recents/misc/Utilities.java
index 9fb8bd5..2c5c437 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/misc/Utilities.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/misc/Utilities.java
@@ -34,6 +34,7 @@
 import android.util.Property;
 import android.util.TypedValue;
 import android.view.View;
+import android.view.ViewGroup;
 import android.view.ViewParent;
 import android.view.ViewStub;
 
@@ -285,6 +286,26 @@
     }
 
     /**
+     * Returns whether this view, or one of its descendants have accessibility focus.
+     */
+    public static boolean isDescendentAccessibilityFocused(View v) {
+        if (v.isAccessibilityFocused()) {
+            return true;
+        }
+
+        if (v instanceof ViewGroup) {
+            ViewGroup vg = (ViewGroup) v;
+            int childCount = vg.getChildCount();
+            for (int i = 0; i < childCount; i++) {
+                if (isDescendentAccessibilityFocused(vg.getChildAt(i))) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    /**
      * Returns the application configuration, which is independent of the activity's current
      * configuration in multiwindow.
      */
diff --git a/packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskCardView.java b/packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskCardView.java
index 72a589f..e757560 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskCardView.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/tv/views/TaskCardView.java
@@ -56,6 +56,7 @@
     private ImageView mBadgeView;
     private Task mTask;
     private boolean mDismissState;
+    private boolean mTouchExplorationEnabled;
     private int mCornerRadius;
 
     private ViewFocusAnimator mViewFocusAnimator;
@@ -90,7 +91,8 @@
                 R.dimen.recents_task_view_rounded_corners_radius);
         mRecentsRowFocusAnimationHolder = new RecentsRowFocusAnimationHolder(this, mInfoFieldView);
         SystemServicesProxy ssp = Recents.getSystemServices();
-        if (!ssp.isTouchExplorationEnabled()) {
+        mTouchExplorationEnabled = ssp.isTouchExplorationEnabled();
+        if (!mTouchExplorationEnabled) {
             mDismissIconView.setVisibility(VISIBLE);
         } else {
             mDismissIconView.setVisibility(GONE);
@@ -237,10 +239,15 @@
     private void setDismissState(boolean dismissState) {
         if (mDismissState != dismissState) {
             mDismissState = dismissState;
-            if (dismissState) {
-                mDismissAnimationsHolder.startEnterAnimation();
-            } else {
-                mDismissAnimationsHolder.startExitAnimation();
+            // Check for touch exploration to ensure dismiss icon/text do not
+            // get animated. This should be removed based on decision from
+            // b/29208918
+            if (!mTouchExplorationEnabled) {
+                if (dismissState) {
+                    mDismissAnimationsHolder.startEnterAnimation();
+                } else {
+                    mDismissAnimationsHolder.startExitAnimation();
+                }
             }
         }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/RecentsTransitionHelper.java b/packages/SystemUI/src/com/android/systemui/recents/views/RecentsTransitionHelper.java
index 41869dd..e503c56 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/RecentsTransitionHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/RecentsTransitionHelper.java
@@ -209,7 +209,9 @@
             EventBus.getDefault().send(new LaunchTaskSucceededEvent(taskIndexFromFront));
         } else {
             // Dismiss the task if we fail to launch it
-            taskView.dismissTask();
+            if (taskView != null) {
+                taskView.dismissTask();
+            }
 
             // Keep track of failed launches
             EventBus.getDefault().send(new LaunchTaskFailedEvent());
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java
index 231360e..586a8bc 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java
@@ -44,6 +44,7 @@
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.FrameLayout;
+import android.widget.ScrollView;
 
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.MetricsProto.MetricsEvent;
@@ -170,7 +171,7 @@
     @ViewDebug.ExportedProperty(category="recents")
     private boolean mEnterAnimationComplete = false;
     @ViewDebug.ExportedProperty(category="recents")
-    private boolean mTouchExplorationEnabled;
+    boolean mTouchExplorationEnabled;
     @ViewDebug.ExportedProperty(category="recents")
     boolean mScreenPinningEnabled;
 
@@ -579,7 +580,7 @@
             if (task.isFreeformTask() || (transform != null && transform.visible)) {
                 mTmpTaskViewMap.put(task.key, tv);
             } else {
-                if (mTouchExplorationEnabled) {
+                if (mTouchExplorationEnabled && Utilities.isDescendentAccessibilityFocused(tv)) {
                     lastFocusedTaskIndex = taskIndex;
                     resetFocusedTask(task);
                 }
@@ -630,12 +631,14 @@
 
         // Update the focus if the previous focused task was returned to the view pool
         if (lastFocusedTaskIndex != -1) {
-            if (lastFocusedTaskIndex < visibleTaskRange[1]) {
-                setFocusedTask(visibleTaskRange[1], false /* scrollToTask */,
-                        true /* requestViewFocus */);
-            } else {
-                setFocusedTask(visibleTaskRange[0], false /* scrollToTask */,
-                        true /* requestViewFocus */);
+            int newFocusedTaskIndex = (lastFocusedTaskIndex < visibleTaskRange[1])
+                    ? visibleTaskRange[1]
+                    : visibleTaskRange[0];
+            setFocusedTask(newFocusedTaskIndex, false /* scrollToTask */,
+                    true /* requestViewFocus */);
+            TaskView focusedTaskView = getChildViewForTask(mFocusedTask);
+            if (focusedTaskView != null) {
+                focusedTaskView.requestAccessibilityFocus();
             }
         }
     }
@@ -938,24 +941,7 @@
      *                            focus.
      */
     public void setRelativeFocusedTask(boolean forward, boolean stackTasksOnly, boolean animated) {
-        setRelativeFocusedTask(forward, stackTasksOnly, animated, false);
-    }
-
-    /**
-     * Sets the focused task relative to the currently focused task.
-     *
-     * @param forward whether to go to the next task in the stack (along the curve) or the previous
-     * @param stackTasksOnly if set, will ensure that the traversal only goes along stack tasks, and
-     *                       if the currently focused task is not a stack task, will set the focus
-     *                       to the first visible stack task
-     * @param animated determines whether to actually draw the highlight along with the change in
-     *                            focus.
-     * @param cancelWindowAnimations if set, will attempt to cancel window animations if a scroll
-     *                               happens.
-     */
-    public void setRelativeFocusedTask(boolean forward, boolean stackTasksOnly, boolean animated,
-                                       boolean cancelWindowAnimations) {
-        setRelativeFocusedTask(forward, stackTasksOnly, animated, cancelWindowAnimations, 0);
+        setRelativeFocusedTask(forward, stackTasksOnly, animated, false, 0);
     }
 
     /**
@@ -972,13 +958,13 @@
      * @param timerIndicatorDuration the duration to initialize the auto-advance timer indicator
      */
     public void setRelativeFocusedTask(boolean forward, boolean stackTasksOnly, boolean animated,
-                                       boolean cancelWindowAnimations,
-                                       int timerIndicatorDuration) {
-        int newIndex = mStack.indexOfStackTask(mFocusedTask);
-        if (mFocusedTask != null) {
+                                       boolean cancelWindowAnimations, int timerIndicatorDuration) {
+        Task focusedTask = getFocusedTask();
+        int newIndex = mStack.indexOfStackTask(focusedTask);
+        if (focusedTask != null) {
             if (stackTasksOnly) {
                 List<Task> tasks =  mStack.getStackTasks();
-                if (mFocusedTask.isFreeformTask()) {
+                if (focusedTask.isFreeformTask()) {
                     // Try and focus the front most stack task
                     TaskView tv = getFrontMostTaskView(stackTasksOnly);
                     if (tv != null) {
@@ -1054,6 +1040,25 @@
         return mFocusedTask;
     }
 
+    /**
+     * Returns the accessibility focused task.
+     */
+    Task getAccessibilityFocusedTask() {
+        List<TaskView> taskViews = getTaskViews();
+        int taskViewCount = taskViews.size();
+        for (int i = 0; i < taskViewCount; i++) {
+            TaskView tv = taskViews.get(i);
+            if (Utilities.isDescendentAccessibilityFocused(tv)) {
+                return tv.getTask();
+            }
+        }
+        TaskView frontTv = getFrontMostTaskView(true /* stackTasksOnly */);
+        if (frontTv != null) {
+            return frontTv.getTask();
+        }
+        return null;
+    }
+
     @Override
     public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
         super.onInitializeAccessibilityEvent(event);
@@ -1078,21 +1083,23 @@
         super.onInitializeAccessibilityNodeInfo(info);
         List<TaskView> taskViews = getTaskViews();
         int taskViewCount = taskViews.size();
-        if (taskViewCount > 1 && mFocusedTask != null) {
+        if (taskViewCount > 1) {
+            // Find the accessibility focused task
+            Task focusedTask = getAccessibilityFocusedTask();
             info.setScrollable(true);
-            int focusedTaskIndex = mStack.indexOfStackTask(mFocusedTask);
+            int focusedTaskIndex = mStack.indexOfStackTask(focusedTask);
             if (focusedTaskIndex > 0) {
-                info.addAction(AccessibilityNodeInfo.ACTION_SCROLL_FORWARD);
-            }
-            if (focusedTaskIndex < mStack.getTaskCount() - 1) {
                 info.addAction(AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD);
             }
+            if (0 <= focusedTaskIndex && focusedTaskIndex < mStack.getTaskCount() - 1) {
+                info.addAction(AccessibilityNodeInfo.ACTION_SCROLL_FORWARD);
+            }
         }
     }
 
     @Override
     public CharSequence getAccessibilityClassName() {
-        return TaskStackView.class.getName();
+        return ScrollView.class.getName();
     }
 
     @Override
@@ -1100,14 +1107,20 @@
         if (super.performAccessibilityAction(action, arguments)) {
             return true;
         }
-        switch (action) {
-            case AccessibilityNodeInfo.ACTION_SCROLL_FORWARD: {
-                setRelativeFocusedTask(true, false /* stackTasksOnly */, false /* animated */);
-                return true;
-            }
-            case AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD: {
-                setRelativeFocusedTask(false, false /* stackTasksOnly */, false /* animated */);
-                return true;
+        Task focusedTask = getAccessibilityFocusedTask();
+        int taskIndex = mStack.indexOfStackTask(focusedTask);
+        if (0 <= taskIndex && taskIndex < mStack.getTaskCount()) {
+            switch (action) {
+                case AccessibilityNodeInfo.ACTION_SCROLL_FORWARD: {
+                    setFocusedTask(taskIndex + 1, true /* scrollToTask */, true /* requestViewFocus */,
+                            0);
+                    return true;
+                }
+                case AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD: {
+                    setFocusedTask(taskIndex - 1, true /* scrollToTask */, true /* requestViewFocus */,
+                            0);
+                    return true;
+                }
             }
         }
         return false;
@@ -1489,6 +1502,7 @@
         unbindTaskView(tv, task);
 
         // Reset the view properties and view state
+        tv.clearAccessibilityFocus();
         tv.resetViewProperties();
         tv.setFocusedState(false, false /* requestViewFocus */);
         tv.setClipViewInStack(false);
@@ -1949,6 +1963,10 @@
                         RecentsActivityLaunchState launchState = config.getLaunchState();
                         setFocusedTask(mStack.indexOfStackTask(mFocusedTask),
                                 false /* scrollToTask */, launchState.launchedWithAltTab);
+                        TaskView focusedTaskView = getChildViewForTask(mFocusedTask);
+                        if (mTouchExplorationEnabled && focusedTaskView != null) {
+                            focusedTaskView.requestAccessibilityFocus();
+                        }
                     }
 
                     EventBus.getDefault().send(new EnterRecentsTaskStackAnimationCompletedEvent());
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java
index b554a46..67a2595 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java
@@ -343,7 +343,9 @@
                     }
 
                     // Reset the focused task after the user has scrolled
-                    mSv.resetFocusedTask(mSv.getFocusedTask());
+                    if (!mSv.mTouchExplorationEnabled) {
+                        mSv.resetFocusedTask(mSv.getFocusedTask());
+                    }
                 } else if (mActiveTaskView == null) {
                     // This tap didn't start on a task.
                     maybeHideRecentsFromBackgroundTap((int) ev.getX(), (int) ev.getY());
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java
index 612c41d..4ecdd77 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java
@@ -133,8 +133,6 @@
     @ViewDebug.ExportedProperty(deepExport=true, prefix="task_")
     private Task mTask;
     @ViewDebug.ExportedProperty(category="recents")
-    private boolean mTaskDataLoaded;
-    @ViewDebug.ExportedProperty(category="recents")
     private boolean mClipViewInStack = true;
     @ViewDebug.ExportedProperty(category="recents")
     private boolean mTouchExplorationEnabled;
@@ -451,16 +449,12 @@
      * Explicitly sets the focused state of this task.
      */
     public void setFocusedState(boolean isFocused, boolean requestViewFocus) {
-        SystemServicesProxy ssp = Recents.getSystemServices();
         if (isFocused) {
             if (requestViewFocus && !isFocused()) {
                 requestFocus();
             }
-            if (requestViewFocus && !isAccessibilityFocused() && ssp.isTouchExplorationEnabled()) {
-                requestAccessibilityFocus();
-            }
         } else {
-            if (isAccessibilityFocused() && ssp.isTouchExplorationEnabled()) {
+            if (isAccessibilityFocused() && mTouchExplorationEnabled) {
                 clearAccessibilityFocus();
             }
         }
@@ -622,7 +616,6 @@
         // Update each of the views to the new task data
         mThumbnailView.onTaskDataLoaded(thumbnailInfo);
         mHeaderView.onTaskDataLoaded();
-        mTaskDataLoaded = true;
     }
 
     @Override
@@ -631,7 +624,6 @@
         mTask.removeCallback(this);
         mThumbnailView.unbindFromTask();
         mHeaderView.unbindFromTask(mTouchExplorationEnabled);
-        mTaskDataLoaded = false;
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java
index 7b372ec..691e599 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java
@@ -31,6 +31,7 @@
 import android.graphics.PorterDuff;
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
+import android.graphics.drawable.RippleDrawable;
 import android.os.CountDownTimer;
 import android.support.v4.graphics.ColorUtils;
 import android.util.AttributeSet;
@@ -460,6 +461,7 @@
         mDismissButton.setContentDescription(t.dismissDescription);
         mDismissButton.setOnClickListener(this);
         mDismissButton.setClickable(false);
+        ((RippleDrawable) mDismissButton.getBackground()).setForceSoftware(true);
 
         // When freeform workspaces are enabled, then update the move-task button depending on the
         // current task
@@ -477,6 +479,7 @@
             }
             mMoveTaskButton.setOnClickListener(this);
             mMoveTaskButton.setClickable(false);
+            ((RippleDrawable) mMoveTaskButton.getBackground()).setForceSoftware(true);
         }
 
         if (Recents.getDebugFlags().isFastToggleRecentsEnabled()) {
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
index e6cbbea..d789477 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
@@ -60,6 +60,7 @@
 import android.widget.ImageView;
 
 import com.android.systemui.R;
+import com.android.systemui.SystemUI;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -165,11 +166,6 @@
         c.drawColor(overlayColor);
         c.setBitmap(null);
 
-        // swap "System UI" out for "Android System"
-        final Bundle extras = new Bundle();
-        extras.putString(Notification.EXTRA_SUBSTITUTE_APP_NAME,
-                context.getString(com.android.internal.R.string.android_system_label));
-
         // Show the intermediate notification
         mTickerAddSpace = !mTickerAddSpace;
         mNotificationManager = nManager;
@@ -187,9 +183,9 @@
                 .setCategory(Notification.CATEGORY_PROGRESS)
                 .setWhen(now)
                 .setShowWhen(true)
-                .addExtras(extras)
                 .setColor(r.getColor(
                         com.android.internal.R.color.system_notification_accent_color));
+        SystemUI.overrideNotificationAppName(context, mPublicNotificationBuilder);
 
         mNotificationBuilder = new Notification.Builder(context)
             .setTicker(r.getString(R.string.screenshot_saving_ticker)
@@ -199,11 +195,11 @@
             .setSmallIcon(R.drawable.stat_notify_image)
             .setWhen(now)
             .setShowWhen(true)
-            .addExtras(extras)
             .setColor(r.getColor(com.android.internal.R.color.system_notification_accent_color))
             .setStyle(mNotificationStyle)
             .setPublicVersion(mPublicNotificationBuilder.build());
         mNotificationBuilder.setFlag(Notification.FLAG_NO_CLEAR, true);
+        SystemUI.overrideNotificationAppName(context, mNotificationBuilder);
 
         mNotificationManager.notify(R.id.notification_screenshot, mNotificationBuilder.build());
 
@@ -864,6 +860,7 @@
             .setAutoCancel(true)
             .setColor(context.getColor(
                         com.android.internal.R.color.system_notification_accent_color));
+        SystemUI.overrideNotificationAppName(context, b);
 
         Notification n = new Notification.BigTextStyle(b)
                 .bigText(errorMsg)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
index 91889d3..8530d66 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
@@ -134,6 +134,7 @@
             = SystemProperties.getBoolean("debug.child_notifs", true);
     public static final boolean FORCE_REMOTE_INPUT_HISTORY =
             SystemProperties.getBoolean("debug.force_remoteinput_history", false);
+    private static boolean ENABLE_LOCK_SCREEN_ALLOW_REMOTE_INPUT = false;
 
     protected static final int MSG_SHOW_RECENT_APPS = 1019;
     protected static final int MSG_HIDE_RECENT_APPS = 1020;
@@ -511,7 +512,7 @@
                     recentTask = ActivityManagerNative.getDefault().getRecentTasks(1,
                             ActivityManager.RECENT_WITH_EXCLUDED
                             | ActivityManager.RECENT_INCLUDE_PROFILES,
-                            mCurrentUserId);
+                            mCurrentUserId).getList();
                 } catch (RemoteException e) {
                     // Abandon hope activity manager not running.
                 }
@@ -704,10 +705,13 @@
                 Settings.Secure.getUriFor(Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS), false,
                 mSettingsObserver,
                 UserHandle.USER_ALL);
-        mContext.getContentResolver().registerContentObserver(
-                Settings.Secure.getUriFor(Settings.Secure.LOCK_SCREEN_ALLOW_REMOTE_INPUT), false,
-                mSettingsObserver,
-                UserHandle.USER_ALL);
+        if (ENABLE_LOCK_SCREEN_ALLOW_REMOTE_INPUT) {
+            mContext.getContentResolver().registerContentObserver(
+                    Settings.Secure.getUriFor(Settings.Secure.LOCK_SCREEN_ALLOW_REMOTE_INPUT),
+                    false,
+                    mSettingsObserver,
+                    UserHandle.USER_ALL);
+        }
 
         mContext.getContentResolver().registerContentObserver(
                 Settings.Secure.getUriFor(Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS),
@@ -840,7 +844,6 @@
                     new Intent(BANNER_ACTION_SETUP).setPackage(packageName),
                     PendingIntent.FLAG_CANCEL_CURRENT);
 
-            final Resources res = mContext.getResources();
             final int colorRes = com.android.internal.R.color.system_notification_accent_color;
             Notification.Builder note = new Notification.Builder(mContext)
                     .setSmallIcon(R.drawable.ic_android)
@@ -856,6 +859,7 @@
                     .addAction(R.drawable.ic_settings,
                             mContext.getString(R.string.hidden_notifications_setup),
                             setupIntent);
+            overrideNotificationAppName(mContext, note);
 
             NotificationManager noMan =
                     (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
@@ -1079,10 +1083,10 @@
             pkgicon = pmUser.getDefaultActivityIcon();
         }
 
-        ((ImageView) row.findViewById(R.id.app_icon)).setImageDrawable(pkgicon);
-        ((TextView) row.findViewById(R.id.pkgname)).setText(appname);
+        ((ImageView) guts.findViewById(R.id.app_icon)).setImageDrawable(pkgicon);
+        ((TextView) guts.findViewById(R.id.pkgname)).setText(appname);
 
-        final View settingsButton = guts.findViewById(R.id.more_settings);
+        final TextView settingsButton = (TextView) guts.findViewById(R.id.more_settings);
         if (appUid >= 0) {
             final int appUidF = appUid;
             settingsButton.setOnClickListener(new View.OnClickListener() {
@@ -1092,11 +1096,16 @@
                     startAppNotificationSettingsActivity(pkg, appUidF);
                 }
             });
+            settingsButton.setText(R.string.notification_more_settings);
         } else {
             settingsButton.setVisibility(View.GONE);
         }
 
-        row.findViewById(R.id.done).setOnClickListener(new View.OnClickListener() {
+        guts.bindImportance(pmUser, sbn, mNotificationData.getImportance(sbn.getKey()));
+
+        final TextView doneButton = (TextView) guts.findViewById(R.id.done);
+        doneButton.setText(R.string.notification_done);
+        doneButton.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 // If the user has security enabled, show challenge if the setting is changed.
@@ -1116,7 +1125,6 @@
                 }
             }
         });
-        guts.bindImportance(pmUser, sbn, row, mNotificationData.getImportance(sbn.getKey()));
     }
 
     private void saveImportanceCloseControls(StatusBarNotification sbn,
@@ -2304,16 +2312,20 @@
         final boolean allowedByDpm = (dpmFlags
                 & DevicePolicyManager.KEYGUARD_DISABLE_SECURE_NOTIFICATIONS) == 0;
 
-        final boolean remoteInput = Settings.Secure.getIntForUser(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_ALLOW_REMOTE_INPUT,
-                0,
-                mCurrentUserId) != 0;
-        final boolean remoteInputDpm = (dpmFlags
-                & DevicePolicyManager.KEYGUARD_DISABLE_REMOTE_INPUT) == 0;
-
-
         setShowLockscreenNotifications(show && allowedByDpm);
-        setLockScreenAllowRemoteInput(remoteInput && remoteInputDpm);
+
+        if (ENABLE_LOCK_SCREEN_ALLOW_REMOTE_INPUT) {
+            final boolean remoteInput = Settings.Secure.getIntForUser(mContext.getContentResolver(),
+                    Settings.Secure.LOCK_SCREEN_ALLOW_REMOTE_INPUT,
+                    0,
+                    mCurrentUserId) != 0;
+            final boolean remoteInputDpm =
+                    (dpmFlags & DevicePolicyManager.KEYGUARD_DISABLE_REMOTE_INPUT) == 0;
+
+            setLockScreenAllowRemoteInput(remoteInput && remoteInputDpm);
+        } else {
+            setLockScreenAllowRemoteInput(false);
+        }
     }
 
     protected abstract void setAreThereNotifications();
@@ -2483,7 +2495,7 @@
     }
 
     protected boolean shouldPeek(Entry entry, StatusBarNotification sbn) {
-        if (isDeviceInVrMode()) {
+        if (!mUseHeadsUp || isDeviceInVrMode()) {
             return false;
         }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
index 7b23c80..419c91b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
@@ -23,6 +23,7 @@
 import android.os.IBinder;
 import android.os.Message;
 import android.util.Pair;
+import android.view.KeyEvent;
 
 import com.android.internal.os.SomeArgs;
 import com.android.internal.statusbar.IStatusBar;
@@ -75,6 +76,7 @@
     private static final int MSG_TOGGLE_APP_SPLIT_SCREEN       = 30 << MSG_SHIFT;
     private static final int MSG_APP_TRANSITION_FINISHED       = 31 << MSG_SHIFT;
     private static final int MSG_DISMISS_KEYBOARD_SHORTCUTS    = 32 << MSG_SHIFT;
+    private static final int MSG_HANDLE_SYSNAV_KEY             = 33 << MSG_SHIFT;
 
     public static final int FLAG_EXCLUDE_NONE = 0;
     public static final int FLAG_EXCLUDE_SEARCH_PANEL = 1 << 0;
@@ -129,6 +131,8 @@
         void addQsTile(ComponentName tile);
         void remQsTile(ComponentName tile);
         void clickTile(ComponentName tile);
+
+        void handleSystemNavigationKey(int arg1);
     }
 
     public CommandQueue(Callbacks callbacks) {
@@ -388,6 +392,13 @@
         }
     }
 
+    @Override
+    public void handleSystemNavigationKey(int key) {
+        synchronized (mLock) {
+            mHandler.obtainMessage(MSG_HANDLE_SYSNAV_KEY, key, 0).sendToTarget();
+        }
+    }
+
     private final class H extends Handler {
         public void handleMessage(Message msg) {
             final int what = msg.what & MSG_MASK;
@@ -503,6 +514,9 @@
                 case MSG_TOGGLE_APP_SPLIT_SCREEN:
                     mCallbacks.toggleSplitScreen();
                     break;
+                case MSG_HANDLE_SYSNAV_KEY:
+                    mCallbacks.handleSystemNavigationKey(msg.arg1);
+                    break;
             }
         }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
index aedc7df..f09eae8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
@@ -27,6 +27,7 @@
 import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.os.Build;
+import android.os.Bundle;
 import android.service.notification.StatusBarNotification;
 import android.util.AttributeSet;
 import android.util.FloatProperty;
@@ -37,11 +38,11 @@
 import android.view.View;
 import android.view.ViewStub;
 import android.view.accessibility.AccessibilityEvent;
+import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.Chronometer;
 import android.widget.ImageView;
 
 import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.MetricsProto;
 import com.android.internal.logging.MetricsProto.MetricsEvent;
 import com.android.internal.util.NotificationColorUtil;
 import com.android.systemui.R;
@@ -50,6 +51,7 @@
 import com.android.systemui.statusbar.phone.NotificationGroupManager;
 import com.android.systemui.statusbar.policy.HeadsUpManager;
 import com.android.systemui.statusbar.stack.NotificationChildrenContainer;
+import com.android.systemui.statusbar.stack.NotificationStackScrollLayout;
 import com.android.systemui.statusbar.stack.StackScrollState;
 import com.android.systemui.statusbar.stack.StackStateAnimator;
 import com.android.systemui.statusbar.stack.StackViewState;
@@ -140,15 +142,17 @@
         @Override
         public void onClick(View v) {
             if (!mShowingPublic && mGroupManager.isSummaryOfGroup(mStatusBarNotification)) {
+                mGroupExpansionChanging = true;
                 final boolean wasExpanded = mGroupManager.isGroupExpanded(mStatusBarNotification);
                 boolean nowExpanded = mGroupManager.toggleGroupExpansion(mStatusBarNotification);
                 mOnExpandClickListener.onExpandClicked(mEntry, nowExpanded);
-                mGroupExpansionChanging = true;
-                updateBackgroundForGroupState();
                 MetricsLogger.action(mContext, MetricsEvent.ACTION_NOTIFICATION_GROUP_EXPANDER,
                         nowExpanded);
                 logExpansionEvent(true /* userAction */, wasExpanded);
             } else {
+                if (v.isAccessibilityFocused()) {
+                    mPrivateLayout.setFocusOnVisibilityChange();
+                }
                 boolean nowExpanded;
                 if (isPinned()) {
                     nowExpanded = !mExpandedWhenPinned;
@@ -181,6 +185,10 @@
                 }
     };
     private OnClickListener mOnClickListener;
+    private boolean mHeadsupDisappearRunning;
+    private View mChildAfterViewWhenDismissed;
+    private View mGroupParentWhenDismissed;
+    private boolean mRefocusOnDismiss;
 
     public boolean isGroupExpansionChanging() {
         if (isChildInGroup()) {
@@ -193,6 +201,13 @@
         mGroupExpansionChanging = changing;
     }
 
+    @Override
+    public void setActualHeightAnimating(boolean animating) {
+        if (mPrivateLayout != null) {
+            mPrivateLayout.setContentHeightAnimating(animating);
+        }
+    }
+
     public NotificationContentView getPrivateLayout() {
         return mPrivateLayout;
     }
@@ -710,8 +725,19 @@
         }
     }
 
-    public void setDismissed(boolean dismissed) {
+    public void setDismissed(boolean dismissed, boolean fromAccessibility) {
         mDismissed = dismissed;
+        mGroupParentWhenDismissed = mNotificationParent;
+        mRefocusOnDismiss = fromAccessibility;
+        mChildAfterViewWhenDismissed = null;
+        if (isChildInGroup()) {
+            List<ExpandableNotificationRow> notificationChildren =
+                    mNotificationParent.getNotificationChildren();
+            int i = notificationChildren.indexOf(this);
+            if (i != -1 && i < notificationChildren.size() - 1) {
+                mChildAfterViewWhenDismissed = notificationChildren.get(i + 1);
+            }
+        }
     }
 
     public boolean isDismissed() {
@@ -734,15 +760,25 @@
         mRemoved = true;
 
         mPrivateLayout.setRemoved();
-        if (mChildrenContainer != null) {
-            mChildrenContainer.setRemoved();
-        }
     }
 
     public NotificationChildrenContainer getChildrenContainer() {
         return mChildrenContainer;
     }
 
+    public void setHeadsupDisappearRunning(boolean running) {
+        mHeadsupDisappearRunning = running;
+        mPrivateLayout.setHeadsupDisappearRunning(running);
+    }
+
+    public View getChildAfterViewWhenDismissed() {
+        return mChildAfterViewWhenDismissed;
+    }
+
+    public View getGroupParentWhenDismissed() {
+        return mGroupParentWhenDismissed;
+    }
+
     public interface ExpansionLogger {
         public void logNotificationExpansion(String key, boolean userAction, boolean expanded);
     }
@@ -1140,8 +1176,8 @@
             return getMinHeight();
         } else if (mIsSummaryWithChildren && !mOnKeyguard) {
             return mChildrenContainer.getIntrinsicHeight();
-        } else if (mIsHeadsUp) {
-            if (isPinned()) {
+        } else if (mIsHeadsUp || mHeadsupDisappearRunning) {
+            if (isPinned() || mHeadsupDisappearRunning) {
                 return getPinnedHeadsUpHeight(true /* atLeastMinHeight */);
             } else if (isExpanded()) {
                 return Math.max(getMaxExpandHeight(), mHeadsUpHeight);
@@ -1267,6 +1303,10 @@
         if (!animated) {
             mPublicLayout.animate().cancel();
             mPrivateLayout.animate().cancel();
+            if (mChildrenContainer != null) {
+                mChildrenContainer.animate().cancel();
+                mChildrenContainer.setAlpha(1f);
+            }
             mPublicLayout.setAlpha(1f);
             mPrivateLayout.setAlpha(1f);
             mPublicLayout.setVisibility(mShowingPublic ? View.VISIBLE : View.INVISIBLE);
@@ -1319,8 +1359,11 @@
 
     private void updateClearability() {
         // public versions cannot be dismissed
-        mVetoButton.setVisibility(isClearable() && (!mShowingPublic
-                || !mSensitiveHiddenInGeneral) ? View.VISIBLE : View.GONE);
+        mVetoButton.setVisibility(canViewBeDismissed() ? View.VISIBLE : View.GONE);
+    }
+
+    private boolean canViewBeDismissed() {
+        return isClearable() && (!mShowingPublic || !mSensitiveHiddenInGeneral);
     }
 
     public void makeActionsVisibile() {
@@ -1336,6 +1379,7 @@
         if (mChildrenContainer != null) {
             mChildrenContainer.setChildrenExpanded(expanded);
         }
+        updateBackgroundForGroupState();
         updateClickAndFocus();
     }
 
@@ -1561,6 +1605,32 @@
         }
     }
 
+    @Override
+    public void onInitializeAccessibilityNodeInfoInternal(AccessibilityNodeInfo info) {
+        super.onInitializeAccessibilityNodeInfoInternal(info);
+        if (canViewBeDismissed()) {
+            info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_DISMISS);
+        }
+    }
+
+    @Override
+    public boolean performAccessibilityActionInternal(int action, Bundle arguments) {
+        if (super.performAccessibilityActionInternal(action, arguments)) {
+            return true;
+        }
+        switch (action) {
+            case AccessibilityNodeInfo.ACTION_DISMISS:
+                NotificationStackScrollLayout.performDismiss(this, mGroupManager,
+                        true /* fromAccessibility */);
+                return true;
+        }
+        return false;
+    }
+
+    public boolean shouldRefocusOnDismiss() {
+        return mRefocusOnDismiss || isAccessibilityFocused();
+    }
+
     public interface OnExpandClickListener {
         void onExpandClicked(NotificationData.Entry clickedEntry, boolean nowExpanded);
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java
index 2c302ed..83b0ee0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java
@@ -305,6 +305,10 @@
     @Override
     public void getBoundsOnScreen(Rect outRect, boolean clipToParent) {
         super.getBoundsOnScreen(outRect, clipToParent);
+        if (getTop() + getTranslationY() < 0) {
+            // We got clipped to the parent here - make sure we undo that.
+            outRect.top += getTop() + getTranslationY();
+        }
         outRect.bottom = outRect.top + getActualHeight();
         outRect.top += getClipTopAmount();
     }
@@ -432,6 +436,8 @@
         return false;
     }
 
+    public void setActualHeightAnimating(boolean animating) {}
+
     /**
      * A listener notifying when {@link #getActualHeight} changes.
      */
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyboardShortcuts.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyboardShortcuts.java
index 9211562..016e1f2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyboardShortcuts.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyboardShortcuts.java
@@ -16,6 +16,8 @@
 
 package com.android.systemui.statusbar;
 
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.app.AlertDialog;
 import android.app.AppGlobals;
 import android.app.Dialog;
@@ -45,15 +47,18 @@
 import android.view.KeyboardShortcutInfo;
 import android.view.LayoutInflater;
 import android.view.View;
+import android.view.View.AccessibilityDelegate;
 import android.view.ViewGroup;
 import android.view.Window;
 import android.view.WindowManager.KeyboardShortcutsReceiver;
+import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
 import com.android.internal.app.AssistUtils;
+import com.android.settingslib.Utils;
 import com.android.systemui.R;
 import com.android.systemui.recents.Recents;
 
@@ -63,6 +68,7 @@
 import java.util.List;
 
 import static android.content.Context.LAYOUT_INFLATER_SERVICE;
+import static android.view.View.IMPORTANT_FOR_ACCESSIBILITY_YES;
 import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG;
 
 /**
@@ -112,7 +118,7 @@
     private KeyCharacterMap mKeyCharacterMap;
 
     private KeyboardShortcuts(Context context) {
-        this.mContext = new ContextThemeWrapper(context, android.R.style.Theme_Material_Light);
+        this.mContext = new ContextThemeWrapper(context, android.R.style.Theme_DeviceDefault_Light);
         this.mPackageManager = AppGlobals.getPackageManager();
         loadResources(context);
     }
@@ -582,7 +588,7 @@
                     R.layout.keyboard_shortcuts_category_title, keyboardShortcutsLayout, false);
             categoryTitle.setText(group.getLabel());
             categoryTitle.setTextColor(group.isSystemGroup()
-                    ? mContext.getColor(R.color.ksh_system_group_color)
+                    ? Utils.getColorAccent(mContext)
                     : mContext.getColor(R.color.ksh_application_group_color));
             keyboardShortcutsLayout.addView(categoryTitle);
 
@@ -591,7 +597,7 @@
             final int itemsSize = group.getItems().size();
             for (int j = 0; j < itemsSize; j++) {
                 KeyboardShortcutInfo info = group.getItems().get(j);
-                List<StringOrDrawable> shortcutKeys = getHumanReadableShortcutKeys(info);
+                List<StringDrawableContainer> shortcutKeys = getHumanReadableShortcutKeys(info);
                 if (shortcutKeys == null) {
                     // Ignore shortcuts we can't display keys for.
                     Log.w(TAG, "Keyboard Shortcut contains unsupported keys, skipping.");
@@ -621,25 +627,33 @@
                         .findViewById(R.id.keyboard_shortcuts_item_container);
                 final int shortcutKeysSize = shortcutKeys.size();
                 for (int k = 0; k < shortcutKeysSize; k++) {
-                    StringOrDrawable shortcutRepresentation = shortcutKeys.get(k);
-                    if (shortcutRepresentation.drawable != null) {
+                    StringDrawableContainer shortcutRepresentation = shortcutKeys.get(k);
+                    if (shortcutRepresentation.mDrawable != null) {
                         ImageView shortcutKeyIconView = (ImageView) inflater.inflate(
                                 R.layout.keyboard_shortcuts_key_icon_view, shortcutItemsContainer,
                                 false);
                         Bitmap bitmap = Bitmap.createBitmap(shortcutKeyIconItemHeightWidth,
                                 shortcutKeyIconItemHeightWidth, Bitmap.Config.ARGB_8888);
                         Canvas canvas = new Canvas(bitmap);
-                        shortcutRepresentation.drawable.setBounds(0, 0, canvas.getWidth(),
+                        shortcutRepresentation.mDrawable.setBounds(0, 0, canvas.getWidth(),
                                 canvas.getHeight());
-                        shortcutRepresentation.drawable.draw(canvas);
+                        shortcutRepresentation.mDrawable.draw(canvas);
                         shortcutKeyIconView.setImageBitmap(bitmap);
+                        shortcutKeyIconView.setImportantForAccessibility(
+                                IMPORTANT_FOR_ACCESSIBILITY_YES);
+                        shortcutKeyIconView.setAccessibilityDelegate(
+                                new ShortcutKeyAccessibilityDelegate(
+                                        shortcutRepresentation.mString));
                         shortcutItemsContainer.addView(shortcutKeyIconView);
-                    } else if (shortcutRepresentation.string != null) {
+                    } else if (shortcutRepresentation.mString != null) {
                         TextView shortcutKeyTextView = (TextView) inflater.inflate(
                                 R.layout.keyboard_shortcuts_key_view, shortcutItemsContainer,
                                 false);
                         shortcutKeyTextView.setMinimumWidth(shortcutKeyTextItemMinWidth);
-                        shortcutKeyTextView.setText(shortcutRepresentation.string);
+                        shortcutKeyTextView.setText(shortcutRepresentation.mString);
+                        shortcutKeyTextView.setAccessibilityDelegate(
+                                new ShortcutKeyAccessibilityDelegate(
+                                        shortcutRepresentation.mString));
                         shortcutItemsContainer.addView(shortcutKeyTextView);
                     }
                 }
@@ -655,19 +669,20 @@
         }
     }
 
-    private List<StringOrDrawable> getHumanReadableShortcutKeys(KeyboardShortcutInfo info) {
-        List<StringOrDrawable> shortcutKeys = getHumanReadableModifiers(info);
+    private List<StringDrawableContainer> getHumanReadableShortcutKeys(KeyboardShortcutInfo info) {
+        List<StringDrawableContainer> shortcutKeys = getHumanReadableModifiers(info);
         if (shortcutKeys == null) {
             return null;
         }
-        String displayLabelString = null;
-        Drawable displayLabelDrawable = null;
+        String shortcutKeyString = null;
+        Drawable shortcutKeyDrawable = null;
         if (info.getBaseCharacter() > Character.MIN_VALUE) {
-            displayLabelString = String.valueOf(info.getBaseCharacter());
+            shortcutKeyString = String.valueOf(info.getBaseCharacter());
         } else if (mSpecialCharacterDrawables.get(info.getKeycode()) != null) {
-            displayLabelDrawable = mSpecialCharacterDrawables.get(info.getKeycode());
+            shortcutKeyDrawable = mSpecialCharacterDrawables.get(info.getKeycode());
+            shortcutKeyString = mSpecialCharacterNames.get(info.getKeycode());
         } else if (mSpecialCharacterNames.get(info.getKeycode()) != null) {
-            displayLabelString = mSpecialCharacterNames.get(info.getKeycode());
+            shortcutKeyString = mSpecialCharacterNames.get(info.getKeycode());
         } else {
             // Special case for shortcuts with no base key or keycode.
             if (info.getKeycode() == KeyEvent.KEYCODE_UNKNOWN) {
@@ -675,22 +690,23 @@
             }
             char displayLabel = mKeyCharacterMap.getDisplayLabel(info.getKeycode());
             if (displayLabel != 0) {
-                displayLabelString = String.valueOf(displayLabel);
+                shortcutKeyString = String.valueOf(displayLabel);
             } else {
                 return null;
             }
         }
 
-        if (displayLabelDrawable != null) {
-            shortcutKeys.add(new StringOrDrawable(displayLabelDrawable));
-        } else if (displayLabelString != null) {
-            shortcutKeys.add(new StringOrDrawable(displayLabelString.toUpperCase()));
+        if (shortcutKeyString != null) {
+            shortcutKeys.add(new StringDrawableContainer(shortcutKeyString, shortcutKeyDrawable));
+        } else {
+            Log.w(TAG, "Keyboard Shortcut does not have a text representation, skipping.");
         }
+
         return shortcutKeys;
     }
 
-    private List<StringOrDrawable> getHumanReadableModifiers(KeyboardShortcutInfo info) {
-        final List<StringOrDrawable> shortcutKeys = new ArrayList<>();
+    private List<StringDrawableContainer> getHumanReadableModifiers(KeyboardShortcutInfo info) {
+        final List<StringDrawableContainer> shortcutKeys = new ArrayList<>();
         int modifiers = info.getModifiers();
         if (modifiers == 0) {
             return shortcutKeys;
@@ -698,13 +714,9 @@
         for(int i = 0; i < mModifierNames.size(); ++i) {
             final int supportedModifier = mModifierNames.keyAt(i);
             if ((modifiers & supportedModifier) != 0) {
-                if (mModifierDrawables.get(supportedModifier) != null) {
-                    shortcutKeys.add(new StringOrDrawable(
-                            mModifierDrawables.get(supportedModifier)));
-                } else {
-                    shortcutKeys.add(new StringOrDrawable(
-                            mModifierNames.get(supportedModifier).toUpperCase()));
-                }
+                shortcutKeys.add(new StringDrawableContainer(
+                        mModifierNames.get(supportedModifier),
+                        mModifierDrawables.get(supportedModifier)));
                 modifiers &= ~supportedModifier;
             }
         }
@@ -715,16 +727,31 @@
         return shortcutKeys;
     }
 
-    private static final class StringOrDrawable {
-        public String string;
-        public Drawable drawable;
+    private final class ShortcutKeyAccessibilityDelegate extends AccessibilityDelegate {
+        private String mContentDescription;
 
-        public StringOrDrawable(String string) {
-            this.string = string;
+        ShortcutKeyAccessibilityDelegate(String contentDescription) {
+            mContentDescription = contentDescription;
         }
 
-        public StringOrDrawable(Drawable drawable) {
-            this.drawable = drawable;
+        @Override
+        public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
+            super.onInitializeAccessibilityNodeInfo(host, info);
+            if (mContentDescription != null) {
+                info.setContentDescription(mContentDescription.toLowerCase());
+            }
+        }
+    }
+
+    private static final class StringDrawableContainer {
+        @NonNull
+        public String mString;
+        @Nullable
+        public Drawable mDrawable;
+
+        StringDrawableContainer(String string, Drawable drawable) {
+            mString = string;
+            mDrawable = drawable;
         }
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
index 21fed3c..9fd09d9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
@@ -29,6 +29,7 @@
 import android.view.ViewGroup;
 import android.view.ViewTreeObserver;
 import android.widget.FrameLayout;
+import android.widget.ImageView;
 
 import com.android.internal.util.NotificationColorUtil;
 import com.android.systemui.R;
@@ -106,13 +107,21 @@
     private boolean mExpandable;
     private boolean mClipToActualHeight = true;
     private ExpandableNotificationRow mContainingNotification;
+    /** The visible type at the start of a touch driven transformation */
     private int mTransformationStartVisibleType;
+    /** The visible type at the start of an animation driven transformation */
+    private int mAnimationStartVisibleType = UNDEFINED;
     private boolean mUserExpanding;
     private int mSingleLineWidthIndention;
     private boolean mForceSelectNextLayout = true;
     private PendingIntent mPreviousExpandedRemoteInputIntent;
     private PendingIntent mPreviousHeadsUpRemoteInputIntent;
 
+    private int mContentHeightAtAnimationStart = UNDEFINED;
+    private boolean mFocusOnVisibilityChange;
+    private boolean mHeadsupDisappearRunning;
+
+
     public NotificationContentView(Context context, AttributeSet attrs) {
         super(context, attrs);
         mHybridGroupManager = new HybridGroupManager(getContext(), this);
@@ -258,7 +267,14 @@
 
     @Override
     protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
+        int previousHeight = 0;
+        if (mExpandedChild != null) {
+            previousHeight = mExpandedChild.getHeight();
+        }
         super.onLayout(changed, left, top, right, bottom);
+        if (previousHeight != 0 && mExpandedChild.getHeight() != previousHeight) {
+            mContentHeightAtAnimationStart = previousHeight;
+        }
         updateClipping();
         invalidateOutline();
         selectLayout(false /* animate */, mForceSelectNextLayout /* force */);
@@ -382,6 +398,19 @@
         }
     }
 
+    private void focusExpandButtonIfNecessary() {
+        if (mFocusOnVisibilityChange) {
+            NotificationHeaderView header = getVisibleNotificationHeader();
+            if (header != null) {
+                ImageView expandButton = header.getExpandButton();
+                if (expandButton != null) {
+                    expandButton.requestAccessibilityFocus();
+                }
+            }
+            mFocusOnVisibilityChange = false;
+        }
+    }
+
     public void setContentHeight(int contentHeight) {
         mContentHeight = Math.max(Math.min(contentHeight, getHeight()), getMinHeight());
         selectLayout(mAnimate /* animate */, false /* force */);
@@ -408,24 +437,55 @@
      *         height, the notification is clipped instead of being further shrunk.
      */
     private int getMinContentHeightHint() {
-        if (mIsChildInGroup && (mVisibleType == VISIBLE_TYPE_SINGLELINE
-                || mTransformationStartVisibleType == VISIBLE_TYPE_SINGLELINE)) {
+        if (mIsChildInGroup && isVisibleOrTransitioning(VISIBLE_TYPE_SINGLELINE)) {
             return mContext.getResources().getDimensionPixelSize(
                         com.android.internal.R.dimen.notification_action_list_height);
         }
+
+        // Transition between heads-up & expanded, or pinned.
+        if (mHeadsUpChild != null && mExpandedChild != null) {
+            boolean transitioningBetweenHunAndExpanded =
+                    isTransitioningFromTo(VISIBLE_TYPE_HEADSUP, VISIBLE_TYPE_EXPANDED) ||
+                    isTransitioningFromTo(VISIBLE_TYPE_EXPANDED, VISIBLE_TYPE_HEADSUP);
+            boolean pinned = !isVisibleOrTransitioning(VISIBLE_TYPE_CONTRACTED)
+                    && (mIsHeadsUp || mHeadsupDisappearRunning);
+            if (transitioningBetweenHunAndExpanded || pinned) {
+                return Math.min(mHeadsUpChild.getHeight(), mExpandedChild.getHeight());
+            }
+        }
+
+        // Size change of the expanded version
+        if ((mVisibleType == VISIBLE_TYPE_EXPANDED) && mContentHeightAtAnimationStart >= 0
+                && mExpandedChild != null) {
+            return Math.min(mContentHeightAtAnimationStart, mExpandedChild.getHeight());
+        }
+
         int hint;
-        if (mHeadsUpChild != null) {
+        if (mHeadsUpChild != null && isVisibleOrTransitioning(VISIBLE_TYPE_HEADSUP)) {
             hint = mHeadsUpChild.getHeight();
+        } else if (mExpandedChild != null) {
+            hint = mExpandedChild.getHeight();
         } else {
             hint = mContractedChild.getHeight() + mContext.getResources().getDimensionPixelSize(
                     com.android.internal.R.dimen.notification_action_list_height);
         }
-        if (mExpandedChild != null) {
+
+        if (mExpandedChild != null && isVisibleOrTransitioning(VISIBLE_TYPE_EXPANDED)) {
             hint = Math.min(hint, mExpandedChild.getHeight());
         }
         return hint;
     }
 
+    private boolean isTransitioningFromTo(int from, int to) {
+        return (mTransformationStartVisibleType == from || mAnimationStartVisibleType == from)
+                && mVisibleType == to;
+    }
+
+    private boolean isVisibleOrTransitioning(int type) {
+        return mVisibleType == type || mTransformationStartVisibleType == type
+                || mAnimationStartVisibleType == type;
+    }
+
     private void updateContentTransformation() {
         int visibleType = calculateVisibleType();
         if (visibleType != mVisibleType) {
@@ -541,7 +601,8 @@
             updateContentTransformation();
         } else {
             int visibleType = calculateVisibleType();
-            if (visibleType != mVisibleType || force) {
+            boolean changedType = visibleType != mVisibleType;
+            if (changedType || force) {
                 View visibleView = getViewForVisibleType(visibleType);
                 if (visibleView != null) {
                     visibleView.setVisibility(VISIBLE);
@@ -561,6 +622,9 @@
                     updateViewVisibilities(visibleType);
                 }
                 mVisibleType = visibleType;
+                if (changedType) {
+                    focusExpandButtonIfNecessary();
+                }
                 updateBackgroundColor(animate);
             }
         }
@@ -656,6 +720,7 @@
             shownView.setVisible(true);
             return;
         }
+        mAnimationStartVisibleType = mVisibleType;
         shownView.transformFrom(hiddenView);
         getViewForVisibleType(visibleType).setVisibility(View.VISIBLE);
         hiddenView.transformTo(shownView, new Runnable() {
@@ -664,6 +729,7 @@
                 if (hiddenView != getTransformableViewForVisibleType(mVisibleType)) {
                     hiddenView.setVisible(false);
                 }
+                mAnimationStartVisibleType = UNDEFINED;
             }
         });
     }
@@ -766,7 +832,7 @@
             return VISIBLE_TYPE_SINGLELINE;
         }
 
-        if (mIsHeadsUp && mHeadsUpChild != null) {
+        if ((mIsHeadsUp || mHeadsupDisappearRunning) && mHeadsUpChild != null) {
             if (viewHeight <= mHeadsUpChild.getHeight() || noExpandedChild) {
                 return VISIBLE_TYPE_HEADSUP;
             } else {
@@ -1082,4 +1148,19 @@
             mHeadsUpRemoteInput.setRemoved();
         }
     }
+
+    public void setContentHeightAnimating(boolean animating) {
+        if (!animating) {
+            mContentHeightAtAnimationStart = UNDEFINED;
+        }
+    }
+
+    public void setHeadsupDisappearRunning(boolean headsupDisappearRunning) {
+        mHeadsupDisappearRunning = headsupDisappearRunning;
+        selectLayout(false /* animate */, true /* force */);
+    }
+
+    public void setFocusOnVisibilityChange() {
+        mFocusOnVisibilityChange = true;
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java
index 5bbca15..b66a4fb 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java
@@ -173,7 +173,7 @@
     }
 
     void bindImportance(final PackageManager pm, final StatusBarNotification sbn,
-            final ExpandableNotificationRow row, final int importance) {
+            final int importance) {
         mINotificationManager = INotificationManager.Stub.asInterface(
                 ServiceManager.getService(Context.NOTIFICATION_SERVICE));
         mStartingUserImportance = NotificationListenerService.Ranking.IMPORTANCE_UNSPECIFIED;
@@ -191,8 +191,8 @@
             // unlikely.
         }
 
-        final View importanceSlider = row.findViewById(R.id.importance_slider);
-        final View importanceButtons = row.findViewById(R.id.importance_buttons);
+        final View importanceSlider = findViewById(R.id.importance_slider);
+        final View importanceButtons = findViewById(R.id.importance_buttons);
         if (mShowSlider) {
             bindSlider(importanceSlider, systemApp);
             importanceSlider.setVisibility(View.VISIBLE);
@@ -256,6 +256,8 @@
         } else {
             mReset.setText(mContext.getString(R.string.do_not_silence_block));
         }
+        mBlock.setText(mContext.getString(R.string.block));
+        mSilent.setText(mContext.getString(R.string.show_silently));
         if (importance == NotificationListenerService.Ranking.IMPORTANCE_LOW) {
             mSilent.setChecked(true);
         } else {
@@ -264,7 +266,7 @@
     }
 
     private void bindSlider(final View importanceSlider, final boolean systemApp) {
-        mActiveSliderTint = loadColorStateList(R.color.notification_guts_slider_color);
+        mActiveSliderTint = ColorStateList.valueOf(Utils.getColorAccent(mContext));
         mInactiveSliderTint = loadColorStateList(R.color.notification_guts_disabled_slider_color);
 
         mImportanceSummary = ((TextView) importanceSlider.findViewById(R.id.summary));
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/RemoteInputController.java b/packages/SystemUI/src/com/android/systemui/statusbar/RemoteInputController.java
index 5fea674..6cbacea 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/RemoteInputController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/RemoteInputController.java
@@ -130,6 +130,28 @@
         }
     }
 
+    public void closeRemoteInputs() {
+        if (mOpen.size() == 0) {
+            return;
+        }
+
+        // Make a copy because closing the remote inputs will modify mOpen.
+        ArrayList<NotificationData.Entry> list = new ArrayList<>(mOpen.size());
+        for (int i = mOpen.size() - 1; i >= 0; i--) {
+            NotificationData.Entry item = mOpen.get(i).get();
+            if (item != null && item.row != null) {
+                list.add(item);
+            }
+        }
+
+        for (int i = list.size() - 1; i >= 0; i--) {
+            NotificationData.Entry item = list.get(i);
+            if (item.row != null) {
+                item.row.closeRemoteInput();
+            }
+        }
+    }
+
     public interface Callback {
         default void onRemoteInputActive(boolean active) {}
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ScrimView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ScrimView.java
index dba7130..bfa43fd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ScrimView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ScrimView.java
@@ -42,6 +42,7 @@
     private float mViewAlpha = 1.0f;
     private ValueAnimator mAlphaAnimator;
     private Rect mExcludedRect = new Rect();
+    private int mLeftInset = 0;
     private boolean mHasExcludedArea;
     private ValueAnimator.AnimatorUpdateListener mAlphaUpdateListener
             = new ValueAnimator.AnimatorUpdateListener() {
@@ -87,12 +88,12 @@
                 if (mExcludedRect.top > 0) {
                     canvas.drawRect(0, 0, getWidth(), mExcludedRect.top, mPaint);
                 }
-                if (mExcludedRect.left > 0) {
-                    canvas.drawRect(0,  mExcludedRect.top, mExcludedRect.left, mExcludedRect.bottom,
-                            mPaint);
+                if (mExcludedRect.left + mLeftInset > 0) {
+                    canvas.drawRect(0,  mExcludedRect.top, mExcludedRect.left + mLeftInset,
+                            mExcludedRect.bottom, mPaint);
                 }
-                if (mExcludedRect.right < getWidth()) {
-                    canvas.drawRect(mExcludedRect.right,
+                if (mExcludedRect.right + mLeftInset < getWidth()) {
+                    canvas.drawRect(mExcludedRect.right + mLeftInset,
                             mExcludedRect.top,
                             getWidth(),
                             mExcludedRect.bottom,
@@ -183,4 +184,14 @@
     public void setChangeRunnable(Runnable changeRunnable) {
         mChangeRunnable = changeRunnable;
     }
+
+    public void setLeftInset(int leftInset) {
+        if (mLeftInset != leftInset) {
+            mLeftInset = leftInset;
+
+            if (mHasExcludedArea) {
+                invalidate();
+            }
+        }
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
index a2ad46a..74caa53 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
@@ -237,6 +237,14 @@
         super.onDetachedFromWindow();
     }
 
+    @Override
+    protected void onLayout(boolean changed, int l, int t, int r, int b) {
+        super.onLayout(changed, l, t, r, b);
+
+        // Re-run all checks against the tint area for all icons
+        applyIconTint();
+    }
+
     // From SecurityController.
     @Override
     public void onStateChanged() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ViewTransformationHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/ViewTransformationHelper.java
index f75f3574..1ff2b13 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ViewTransformationHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ViewTransformationHelper.java
@@ -20,6 +20,7 @@
 import android.animation.AnimatorListenerAdapter;
 import android.animation.ValueAnimator;
 import android.util.ArrayMap;
+import android.util.ArraySet;
 import android.view.View;
 import android.view.ViewGroup;
 
@@ -194,7 +195,7 @@
         for (Integer viewType : mTransformedViews.keySet()) {
             TransformState ownState = getCurrentState(viewType);
             if (ownState != null) {
-                ownState.setVisible(visible);
+                ownState.setVisible(visible, false /* force */);
                 ownState.recycle();
             }
         }
@@ -252,6 +253,19 @@
         }
     }
 
+    public void resetTransformedView(View view) {
+        TransformState state = TransformState.createFrom(view);
+        state.setVisible(true /* visible */, true /* force */);
+        state.recycle();
+    }
+
+    /**
+     * @return a set of all views are being transformed.
+     */
+    public ArraySet<View> getAllTransformingViews() {
+        return new ArraySet<>(mTransformedViews.values());
+    }
+
     public static abstract class CustomTransformation {
         /**
          * Transform a state to the given view
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/ActionListTransformState.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/ActionListTransformState.java
index c0373be..8c72544 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/ActionListTransformState.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/ActionListTransformState.java
@@ -44,6 +44,16 @@
     }
 
     @Override
+    public void transformViewFullyFrom(TransformState otherState, float transformationAmount) {
+        // Don't do Y transform - let the wrapper handle this based on the content height
+    }
+
+    @Override
+    public void transformViewFullyTo(TransformState otherState, float transformationAmount) {
+        // Don't do Y transform - let the wrapper handle this based on the content height
+    }
+
+    @Override
     protected void resetTransformedView() {
         // We need to keep the Y transformation, because this is used to keep the action list
         // aligned at the bottom, unrelated to transforms.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/HeaderTransformState.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/HeaderTransformState.java
index 8463e06..9501f90 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/HeaderTransformState.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/HeaderTransformState.java
@@ -123,8 +123,9 @@
         }
     }
 
-    public void setVisible(boolean visible) {
-        super.setVisible(visible);
+    @Override
+    public void setVisible(boolean visible, boolean force) {
+        super.setVisible(visible, force);
         if (!(mTransformedView instanceof NotificationHeaderView)) {
             return;
         }
@@ -132,11 +133,13 @@
         int childCount = header.getChildCount();
         for (int i = 0; i < childCount; i++) {
             View headerChild = header.getChildAt(i);
-            if (headerChild.getVisibility() == View.GONE) {
+            if (!force && headerChild.getVisibility() == View.GONE) {
                 continue;
             }
             headerChild.animate().cancel();
-            headerChild.setVisibility(visible ? View.VISIBLE : View.INVISIBLE);
+            if (headerChild.getVisibility() != View.GONE) {
+                headerChild.setVisibility(visible ? View.VISIBLE : View.INVISIBLE);
+            }
             if (headerChild == mExpandButton) {
                 headerChild.setAlpha(visible ? 1.0f : 0.0f);
             }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationHeaderViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationHeaderViewWrapper.java
index 1bfbaa2..7794d5b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationHeaderViewWrapper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationHeaderViewWrapper.java
@@ -22,18 +22,17 @@
 import android.content.Context;
 import android.graphics.Color;
 import android.graphics.ColorFilter;
-import android.graphics.ColorMatrix;
 import android.graphics.ColorMatrixColorFilter;
 import android.graphics.PorterDuff;
 import android.graphics.PorterDuffColorFilter;
 import android.graphics.drawable.Drawable;
 import android.service.notification.StatusBarNotification;
+import android.util.ArraySet;
 import android.view.NotificationHeaderView;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ImageView;
 
-import com.android.systemui.Interpolators;
 import com.android.systemui.R;
 import com.android.systemui.ViewInvertHelper;
 import com.android.systemui.statusbar.ExpandableNotificationRow;
@@ -92,12 +91,25 @@
     @Override
     public void notifyContentUpdated(StatusBarNotification notification) {
         super.notifyContentUpdated(notification);
+
+        ArraySet<View> previousViews = mTransformationHelper.getAllTransformingViews();
+
         // Reinspect the notification.
         resolveHeaderViews();
         updateInvertHelper();
         updateTransformedTypes();
         addRemainingTransformTypes();
         updateCropToPaddingForImageViews();
+
+        // We need to reset all views that are no longer transforming in case a view was previously
+        // transformed, but now we decided to transform its container instead.
+        ArraySet<View> currentViews = mTransformationHelper.getAllTransformingViews();
+        for (int i = 0; i < previousViews.size(); i++) {
+            View view = previousViews.valueAt(i);
+            if (!currentViews.contains(view)) {
+                mTransformationHelper.resetTransformedView(view);
+            }
+        }
     }
 
     /**
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationMessagingTemplateViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationMessagingTemplateViewWrapper.java
new file mode 100644
index 0000000..ff2febf
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationMessagingTemplateViewWrapper.java
@@ -0,0 +1,73 @@
+/*
+ * 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
+ */
+
+package com.android.systemui.statusbar.notification;
+
+import com.android.internal.widget.MessagingLinearLayout;
+import com.android.systemui.statusbar.ExpandableNotificationRow;
+import com.android.systemui.statusbar.TransformableView;
+
+import android.content.Context;
+import android.service.notification.StatusBarNotification;
+import android.view.View;
+
+/**
+ * Wraps a notification containing a messaging template
+ */
+public class NotificationMessagingTemplateViewWrapper extends NotificationTemplateViewWrapper {
+
+    private View mContractedMessage;
+
+    protected NotificationMessagingTemplateViewWrapper(Context ctx, View view,
+            ExpandableNotificationRow row) {
+        super(ctx, view, row);
+    }
+
+    private void resolveViews() {
+        mContractedMessage = null;
+
+        View container = mView.findViewById(com.android.internal.R.id.notification_messaging);
+        if (container instanceof MessagingLinearLayout
+                && ((MessagingLinearLayout) container).getChildCount() > 0) {
+            MessagingLinearLayout messagingContainer = (MessagingLinearLayout) container;
+
+            // Only consider the first child - transforming to a position other than the first
+            // looks bad because we have to move across other messages that are fading in.
+            View child = messagingContainer.getChildAt(0);
+            if (child.getId() == messagingContainer.getContractedChildId()) {
+                mContractedMessage = child;
+            }
+        }
+    }
+
+    @Override
+    public void notifyContentUpdated(StatusBarNotification notification) {
+        // Reinspect the notification. Before the super call, because the super call also updates
+        // the transformation types and we need to have our values set by then.
+        resolveViews();
+        super.notifyContentUpdated(notification);
+    }
+
+    @Override
+    protected void updateTransformedTypes() {
+        // This also clears the existing types
+        super.updateTransformedTypes();
+        if (mContractedMessage != null) {
+            mTransformationHelper.addTransformedView(TransformableView.TRANSFORMING_VIEW_TEXT,
+                    mContractedMessage);
+        }
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationViewWrapper.java
index 22519e6..16348dfe 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationViewWrapper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationViewWrapper.java
@@ -50,6 +50,8 @@
                 return new NotificationBigTextTemplateViewWrapper(ctx, v, row);
             } else if ("media".equals(v.getTag()) || "bigMediaNarrow".equals(v.getTag())) {
                 return new NotificationMediaTemplateViewWrapper(ctx, v, row);
+            } else if ("messaging".equals(v.getTag())) {
+                return new NotificationMessagingTemplateViewWrapper(ctx, v, row);
             }
             return new NotificationTemplateViewWrapper(ctx, v, row);
         } else if (v instanceof NotificationHeaderView) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/TransformState.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/TransformState.java
index 7d3da1b..f0f5c8d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/TransformState.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/TransformState.java
@@ -301,6 +301,9 @@
     }
 
     public static void setClippingDeactivated(final View transformedView, boolean deactivated) {
+        if (!(transformedView.getParent() instanceof ViewGroup)) {
+            return;
+        }
         ViewGroup view = (ViewGroup) transformedView.getParent();
         while (true) {
             ArraySet<View> clipSet = (ArraySet<View>) view.getTag(CLIP_CLIPPING_SET);
@@ -456,12 +459,14 @@
         mTransformationEndY = UNDEFINED;
     }
 
-    public void setVisible(boolean visible) {
-        if (mTransformedView.getVisibility() == View.GONE) {
+    public void setVisible(boolean visible, boolean force) {
+        if (!force && mTransformedView.getVisibility() == View.GONE) {
             return;
         }
+        if (mTransformedView.getVisibility() != View.GONE) {
+            mTransformedView.setVisibility(visible ? View.VISIBLE : View.INVISIBLE);
+        }
         mTransformedView.animate().cancel();
-        mTransformedView.setVisibility(visible ? View.VISIBLE : View.INVISIBLE);
         mTransformedView.setAlpha(visible ? 1.0f : 0.0f);
         resetTransformedView();
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoTileManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoTileManager.java
index 6d0fbb15..58fbd4c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoTileManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoTileManager.java
@@ -80,14 +80,16 @@
             new NightModeController.Listener() {
         @Override
         public void onNightModeChanged() {
-            mHost.addTile("night");
-            Prefs.putBoolean(mContext, Key.QS_NIGHT_ADDED, true);
-            mHandler.post(new Runnable() {
-                @Override
-                public void run() {
-                    mHost.getNightModeController().removeListener(mNightModeListener);
-                }
-            });
+            if (mHost.getNightModeController().isEnabled()) {
+                mHost.addTile("night");
+                Prefs.putBoolean(mContext, Key.QS_NIGHT_ADDED, true);
+                mHandler.post(new Runnable() {
+                    @Override
+                    public void run() {
+                        mHost.getNightModeController().removeListener(mNightModeListener);
+                    }
+                });
+            }
         }
 
         @Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/BaseStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/BaseStatusBarHeader.java
index 6e1c862..79eef43 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/BaseStatusBarHeader.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/BaseStatusBarHeader.java
@@ -20,6 +20,7 @@
 import android.util.AttributeSet;
 import android.widget.RelativeLayout;
 import com.android.systemui.qs.QSPanel;
+import com.android.systemui.qs.QSPanel.Callback;
 import com.android.systemui.statusbar.policy.BatteryController;
 import com.android.systemui.statusbar.policy.NetworkControllerImpl;
 import com.android.systemui.statusbar.policy.NextAlarmController;
@@ -44,4 +45,5 @@
     public abstract void setBatteryController(BatteryController batteryController);
     public abstract void setNextAlarmController(NextAlarmController nextAlarmController);
     public abstract void setUserInfoController(UserInfoController userInfoController);
+    public abstract void setCallback(Callback qsPanelCallback);
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
index 772c766..a98601a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
@@ -18,6 +18,7 @@
 
 import android.app.ActivityManager;
 import android.app.ActivityManagerNative;
+import android.app.ActivityOptions;
 import android.app.admin.DevicePolicyManager;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
@@ -44,6 +45,7 @@
 import android.util.TypedValue;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.WindowManager;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.FrameLayout;
 import android.widget.TextView;
@@ -448,12 +450,24 @@
                 @Override
                 public void run() {
                     int result = ActivityManager.START_CANCELED;
+
+                    // Normally an activity will set it's requested rotation
+                    // animation on its window. However when launching an activity
+                    // causes the orientation to change this is too late. In these cases
+                    // the default animation is used. This doesn't look good for
+                    // the camera (as it rotates the camera contents out of sync
+                    // with physical reality). So, we ask the WindowManager to
+                    // force the crossfade animation if an orientation change
+                    // happens to occur during the launch.
+                    ActivityOptions o = ActivityOptions.makeBasic();
+                    o.setRotationAnimationHint(
+                            WindowManager.LayoutParams.ROTATION_ANIMATION_CROSSFADE);
                     try {
                         result = ActivityManagerNative.getDefault().startActivityAsUser(
                                 null, getContext().getBasePackageName(),
                                 intent,
                                 intent.resolveTypeIfNeeded(getContext().getContentResolver()),
-                                null, null, 0, Intent.FLAG_ACTIVITY_NEW_TASK, null, null,
+                                null, null, 0, Intent.FLAG_ACTIVITY_NEW_TASK, null, o.toBundle(),
                                 UserHandle.CURRENT.getIdentifier());
                     } catch (RemoteException e) {
                         Log.w(TAG, "Unable to start camera activity", e);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
index 7db2870..42f398d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
@@ -56,6 +56,7 @@
 
     private BatteryController mBatteryController;
     private KeyguardUserSwitcher mKeyguardUserSwitcher;
+    private UserSwitcherController mUserSwitcherController;
 
     private int mSystemIconsSwitcherHiddenExpandedMargin;
     private View mSystemIconsContainer;
@@ -149,6 +150,16 @@
         } else if (mMultiUserSwitch.getParent() == this && mKeyguardUserSwitcherShowing) {
             removeView(mMultiUserSwitch);
         }
+        if (mKeyguardUserSwitcher == null) {
+            // If we have no keyguard switcher, the screen width is under 600dp. In this case,
+            // we don't show the multi-user avatar unless there is more than 1 user on the device.
+            if (mUserSwitcherController != null
+                    && mUserSwitcherController.getSwitchableUserCount() > 1) {
+                mMultiUserSwitch.setVisibility(View.VISIBLE);
+            } else {
+                mMultiUserSwitch.setVisibility(View.GONE);
+            }
+        }
         mBatteryLevel.setVisibility(mBatteryCharging ? View.VISIBLE : View.GONE);
     }
 
@@ -187,6 +198,7 @@
     }
 
     public void setUserSwitcherController(UserSwitcherController controller) {
+        mUserSwitcherController = controller;
         mMultiUserSwitch.setUserSwitcherController(controller);
     }
 
@@ -287,6 +299,8 @@
             mSystemIconsSuperContainer.animate().cancel();
             mMultiUserSwitch.animate().cancel();
             mMultiUserSwitch.setAlpha(1f);
+        } else {
+            updateVisibilities();
         }
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java
index ab5ee93..9bb4936 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java
@@ -168,6 +168,7 @@
             setContentDescription(contentDescription);
             mHasFingerPrintIcon = anyFingerprintIcon;
             if (animation != null && isAnim) {
+                animation.forceAnimationOnUI();
                 animation.start();
             }
             mLastState = state;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java
index dd46b08..b7faf15 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java
@@ -28,7 +28,6 @@
 import android.widget.Space;
 
 import com.android.systemui.R;
-import com.android.systemui.SystemUIFactory;
 import com.android.systemui.statusbar.policy.KeyButtonView;
 import com.android.systemui.tuner.TunerService;
 
@@ -71,6 +70,8 @@
     private View mLastRot0;
     private View mLastRot90;
 
+    private boolean mAlternativeOrder;
+
     public NavigationBarInflaterView(Context context, AttributeSet attrs) {
         super(context, attrs);
         mDensity = context.getResources().getConfiguration().densityDpi;
@@ -114,6 +115,7 @@
                 false);
         mRot90.setId(R.id.rot90);
         addView(mRot90);
+        updateAlternativeOrder();
         if (getParent() instanceof NavigationBarView) {
             ((NavigationBarView) getParent()).updateRotatedViews();
         }
@@ -152,6 +154,20 @@
         }
     }
 
+    public void setAlternativeOrder(boolean alternativeOrder) {
+        if (alternativeOrder != mAlternativeOrder) {
+            mAlternativeOrder = alternativeOrder;
+            updateAlternativeOrder();
+        }
+    }
+
+    private void updateAlternativeOrder() {
+        ((ReverseLinearLayout) mRot90.findViewById(R.id.ends_group)).setAlternativeOrder(
+                mAlternativeOrder);
+        ((ReverseLinearLayout) mRot90.findViewById(R.id.center_group)).setAlternativeOrder(
+                mAlternativeOrder);
+    }
+
     private void initiallyFill(ButtonDispatcher buttonDispatcher) {
         addAll(buttonDispatcher, (ViewGroup) mRot0.findViewById(R.id.ends_group));
         addAll(buttonDispatcher, (ViewGroup) mRot0.findViewById(R.id.center_group));
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
index 53fe6ce..23aeae8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
@@ -99,6 +99,8 @@
     private final SparseArray<ButtonDispatcher> mButtonDisatchers = new SparseArray<>();
     private Configuration mConfiguration;
 
+    private NavigationBarInflaterView mNavigationInflaterView;
+
     private class NavTransitionListener implements TransitionListener {
         private boolean mBackTransitioning;
         private boolean mHomeAppearing;
@@ -472,9 +474,10 @@
 
     @Override
     public void onFinishInflate() {
+        mNavigationInflaterView = (NavigationBarInflaterView) findViewById(
+                R.id.navigation_inflater);
         updateRotatedViews();
-        ((NavigationBarInflaterView) findViewById(R.id.navigation_inflater)).setButtonDispatchers(
-                mButtonDisatchers);
+        mNavigationInflaterView.setButtonDispatchers(mButtonDisatchers);
 
         getImeSwitchButton().setOnClickListener(mImeSwitcherClickListener);
 
@@ -530,6 +533,7 @@
         }
         mCurrentView = mRotatedViews[rot];
         mCurrentView.setVisibility(View.VISIBLE);
+        mNavigationInflaterView.setAlternativeOrder(rot == Surface.ROTATION_90);
         for (int i = 0; i < mButtonDisatchers.size(); i++) {
             mButtonDisatchers.valueAt(i).setCurrentView(mCurrentView);
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
index 9ecff18d..204ab7e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
@@ -213,18 +213,18 @@
         return isGroupSuppressed(getGroupKey(sbn)) && sbn.getNotification().isGroupSummary();
     }
 
-    public boolean isOnlyChildInSuppressedGroup(StatusBarNotification sbn) {
-        return isGroupSuppressed(sbn.getGroupKey())
-                && isOnlyChild(sbn);
-    }
-
     private boolean isOnlyChild(StatusBarNotification sbn) {
         return !sbn.getNotification().isGroupSummary()
                 && getTotalNumberOfChildren(sbn) == 1;
     }
 
     public boolean isOnlyChildInGroup(StatusBarNotification sbn) {
-        return isOnlyChild(sbn) && getLogicalGroupSummary(sbn) != null;
+        if (!isOnlyChild(sbn)) {
+            return false;
+        }
+        ExpandableNotificationRow logicalGroupSummary = getLogicalGroupSummary(sbn);
+        return logicalGroupSummary != null
+                && !logicalGroupSummary.getStatusBarNotification().equals(sbn);
     }
 
     private int getTotalNumberOfChildren(StatusBarNotification sbn) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
index 5064d8e..4b82279 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -1296,7 +1296,7 @@
         }
     }
 
-    private void flingSettings(float vel, boolean expand) {
+    public void flingSettings(float vel, boolean expand) {
         flingSettings(vel, expand, null, false /* isClick */);
     }
 
@@ -1390,10 +1390,14 @@
         return maxHeight;
     }
 
-    private boolean isInSettings() {
+    public boolean isInSettings() {
         return mQsExpanded;
     }
 
+    public boolean isExpanding() {
+        return mIsExpanding;
+    }
+
     @Override
     protected void onHeightUpdated(float expandedHeight) {
         if (!mQsExpanded || mQsExpandImmediate || mIsExpanding && mQsExpandedWhenExpandingStarted) {
@@ -2108,6 +2112,7 @@
         onEmptySpaceClick(x);
     }
 
+    @Override
     protected boolean onMiddleClicked() {
         switch (mStatusBar.getBarState()) {
             case StatusBarState.KEYGUARD:
@@ -2257,6 +2262,7 @@
         mStatusBar.clearNotificationEffects();
     }
 
+    @Override
     protected boolean isPanelVisibleBecauseOfHeadsUp() {
         return mHeadsUpManager.hasPinnedHeadsUp() || mHeadsUpAnimatingAway;
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index 376f724..fcb1da0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -22,6 +22,7 @@
 import android.annotation.NonNull;
 import android.app.ActivityManager;
 import android.app.ActivityManagerNative;
+import android.app.ActivityOptions;
 import android.app.IActivityManager;
 import android.app.Notification;
 import android.app.PendingIntent;
@@ -1235,6 +1236,7 @@
     }
 
     private View.OnClickListener mRecentsClickListener = new View.OnClickListener() {
+        @Override
         public void onClick(View v) {
             awakenDreams();
             toggleRecentApps();
@@ -1299,6 +1301,7 @@
     };
 
     private final View.OnTouchListener mHomeActionListener = new View.OnTouchListener() {
+        @Override
         public boolean onTouch(View v, MotionEvent event) {
             switch (event.getAction()) {
                 case MotionEvent.ACTION_UP:
@@ -1409,7 +1412,7 @@
         if (shadeEntry == null) {
             return;
         }
-        boolean isHeadsUped = mUseHeadsUp && shouldPeek(shadeEntry);
+        boolean isHeadsUped = shouldPeek(shadeEntry);
         if (isHeadsUped) {
             mHeadsUpManager.showNotification(shadeEntry);
             // Mark as seen immediately
@@ -2232,6 +2235,7 @@
     /**
      * State is one or more of the DISABLE constants from StatusBarManager.
      */
+    @Override
     public void disable(int state1, int state2, boolean animate) {
         animate &= mStatusBarWindowState != WINDOW_STATE_HIDDEN;
         mDisabledUnmodified1 = state1;
@@ -2461,6 +2465,7 @@
 
     }
 
+    @Override
     protected void updateHeadsUp(String key, Entry entry, boolean shouldPeek,
             boolean alertAgain) {
         final boolean wasHeadsUp = isHeadsUp(key);
@@ -2477,6 +2482,7 @@
         }
     }
 
+    @Override
     protected void setHeadsUpUser(int newUserId) {
         if (mHeadsUpManager != null) {
             mHeadsUpManager.setUser(newUserId);
@@ -2487,6 +2493,7 @@
         return mHeadsUpManager.isHeadsUp(key);
     }
 
+    @Override
     protected boolean isSnoozedPackage(StatusBarNotification sbn) {
         return mHeadsUpManager.isSnoozed(sbn.getPackageName());
     }
@@ -2527,6 +2534,7 @@
      * All changes to the status bar and notifications funnel through here and are batched.
      */
     private class H extends BaseStatusBar.H {
+        @Override
         public void handleMessage(Message m) {
             super.handleMessage(m);
             switch (m.what) {
@@ -2568,6 +2576,32 @@
         mHeadsUpManager.releaseAllImmediately();
     }
 
+    /**
+     * Called for system navigation gestures. First action opens the panel, second opens
+     * settings. Down action closes the entire panel.
+     */
+    @Override
+    public void handleSystemNavigationKey(int key) {
+        if (SPEW) Log.d(TAG, "handleSystemNavigationKey: " + key);
+        if (!panelsEnabled()) {
+            return;
+        }
+
+        // Panels are not available in setup
+        if (!mUserSetup) return;
+
+        if (KeyEvent.KEYCODE_SYSTEM_NAVIGATION_UP == key) {
+            mNotificationPanel.collapse(false /* delayed */, 1.0f /* speedUpFactor */);
+        } else if (KeyEvent.KEYCODE_SYSTEM_NAVIGATION_DOWN == key) {
+            if (mNotificationPanel.isFullyCollapsed()) {
+                mNotificationPanel.expand(true /* animate */);
+            } else if (!mNotificationPanel.isInSettings() && !mNotificationPanel.isExpanding()){
+                mNotificationPanel.flingSettings(0 /* velocity */, true /* expand */);
+            }
+        }
+
+    }
+
     boolean panelsEnabled() {
         return (mDisabled1 & StatusBarManager.DISABLE_EXPAND) == 0 && !ONLY_CORE_APPS;
     }
@@ -2609,15 +2643,18 @@
         mHandler.sendEmptyMessage(MSG_OPEN_SETTINGS_PANEL);
     }
 
+    @Override
     public void animateCollapsePanels(int flags) {
         animateCollapsePanels(flags, false /* force */, false /* delayed */,
                 1.0f /* speedUpFactor */);
     }
 
+    @Override
     public void animateCollapsePanels(int flags, boolean force) {
         animateCollapsePanels(flags, force, false /* delayed */, 1.0f /* speedUpFactor */);
     }
 
+    @Override
     public void animateCollapsePanels(int flags, boolean force, boolean delayed) {
         animateCollapsePanels(flags, force, delayed, 1.0f /* speedUpFactor */);
     }
@@ -3054,6 +3091,7 @@
         }
     }
 
+    @Override
     public void topAppWindowChanged(boolean showMenu) {
         if (SPEW) {
             Log.d(TAG, (showMenu?"showing":"hiding") + " the MENU button");
@@ -3090,6 +3128,7 @@
                 + ") " + v.getWidth() + "x" + v.getHeight() + "]";
     }
 
+    @Override
     public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
         synchronized (mQueueLock) {
             pw.println("Current Status Bar state:");
@@ -3167,6 +3206,7 @@
                 pw.println("see the logcat for a dump of the views we have created.");
                 // must happen on ui thread
                 mHandler.post(new Runnable() {
+                        @Override
                         public void run() {
                             mStatusBarView.getLocationOnScreen(mAbsPos);
                             Log.d(TAG, "mStatusBarView: ----- (" + mAbsPos[0] + "," + mAbsPos[1]
@@ -3277,18 +3317,32 @@
                 mContext, intent, mCurrentUserId);
         final boolean keyguardShowing = mStatusBarKeyguardViewManager.isShowing();
         Runnable runnable = new Runnable() {
+            @Override
             public void run() {
                 mAssistManager.hideAssist();
                 intent.setFlags(
                         Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
                 int result = ActivityManager.START_CANCELED;
+                ActivityOptions options = new ActivityOptions(getActivityOptions());
+                if (intent == KeyguardBottomAreaView.INSECURE_CAMERA_INTENT) {
+                    // Normally an activity will set it's requested rotation
+                    // animation on its window. However when launching an activity
+                    // causes the orientation to change this is too late. In these cases
+                    // the default animation is used. This doesn't look good for
+                    // the camera (as it rotates the camera contents out of sync
+                    // with physical reality). So, we ask the WindowManager to
+                    // force the crossfade animation if an orientation change
+                    // happens to occur during the launch.
+                    options.setRotationAnimationHint(
+                            WindowManager.LayoutParams.ROTATION_ANIMATION_CROSSFADE);
+                }
                 try {
                     result = ActivityManagerNative.getDefault().startActivityAsUser(
                             null, mContext.getBasePackageName(),
                             intent,
                             intent.resolveTypeIfNeeded(mContext.getContentResolver()),
                             null, null, 0, Intent.FLAG_ACTIVITY_NEW_TASK, null,
-                            getActivityOptions(), UserHandle.CURRENT.getIdentifier());
+                            options.toBundle(), UserHandle.CURRENT.getIdentifier());
                 } catch (RemoteException e) {
                     Log.w(TAG, "Unable to start activity", e);
                 }
@@ -3321,6 +3375,7 @@
             @Override
             public boolean onDismiss() {
                 AsyncTask.execute(new Runnable() {
+                    @Override
                     public void run() {
                         try {
                             if (keyguardShowing && !afterKeyguardGone) {
@@ -3344,11 +3399,15 @@
     }
 
     private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
+        @Override
         public void onReceive(Context context, Intent intent) {
             if (DEBUG) Log.v(TAG, "onReceive: " + intent);
             String action = intent.getAction();
             if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action)) {
                 KeyboardShortcuts.dismiss();
+                if (mRemoteInputController != null) {
+                    mRemoteInputController.closeRemoteInputs();
+                }
                 if (isCurrentProfile(getSendingUserId())) {
                     int flags = CommandQueue.FLAG_EXCLUDE_NONE;
                     String reason = intent.getStringExtra("reason");
@@ -3371,6 +3430,7 @@
     };
 
     private BroadcastReceiver mDemoReceiver = new BroadcastReceiver() {
+        @Override
         public void onReceive(Context context, Intent intent) {
             if (DEBUG) Log.v(TAG, "onReceive: " + intent);
             String action = intent.getAction();
@@ -3630,6 +3690,7 @@
     }
 
     Runnable mStartTracing = new Runnable() {
+        @Override
         public void run() {
             vibrate();
             SystemClock.sleep(250);
@@ -3640,6 +3701,7 @@
     };
 
     Runnable mStopTracing = new Runnable() {
+        @Override
         public void run() {
             android.os.Debug.stopMethodTracing();
             Log.d(TAG, "stopTracing");
@@ -4592,7 +4654,7 @@
 
     private void vibrateForCameraGesture() {
         // Make sure to pass -1 for repeat so VibratorService doesn't stop us when going to sleep.
-        mVibrator.vibrate(new long[]{0, 750L}, -1 /* repeat */);
+        mVibrator.vibrate(new long[]{0, 400}, -1 /* repeat */);
     }
 
     public void onScreenTurnedOn() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
index 81c0d81..a13138d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
@@ -144,7 +144,7 @@
 
         // listen for user / profile change.
         try {
-            ActivityManagerNative.getDefault().registerUserSwitchObserver(mUserSwitchListener);
+            ActivityManagerNative.getDefault().registerUserSwitchObserver(mUserSwitchListener, TAG);
         } catch (RemoteException e) {
             // Ignore
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java
index ae1e5d0..011ec22 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java
@@ -30,6 +30,7 @@
 import android.os.UserManager;
 import android.provider.Settings;
 import android.provider.Settings.Secure;
+import android.service.quicksettings.Tile;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
@@ -403,10 +404,11 @@
             String tileSpec = previousTiles.get(i);
             if (!tileSpec.startsWith(CustomTile.PREFIX)) continue;
             if (!newTiles.contains(tileSpec)) {
-                Intent intent = new Intent().setComponent(
-                        CustomTile.getComponentFromSpec(tileSpec));
+                ComponentName component = CustomTile.getComponentFromSpec(tileSpec);
+                Intent intent = new Intent().setComponent(component);
                 TileLifecycleManager lifecycleManager = new TileLifecycleManager(new Handler(),
-                        mContext, intent, new UserHandle(ActivityManager.getCurrentUser()));
+                        mContext, mServices, new Tile(component), intent,
+                        new UserHandle(ActivityManager.getCurrentUser()));
                 lifecycleManager.onStopListening();
                 lifecycleManager.onTileRemoved();
                 lifecycleManager.flushMessagesAndUnbind();
@@ -416,10 +418,11 @@
             String tileSpec = newTiles.get(i);
             if (!tileSpec.startsWith(CustomTile.PREFIX)) continue;
             if (!previousTiles.contains(tileSpec)) {
-                Intent intent = new Intent().setComponent(
-                        CustomTile.getComponentFromSpec(tileSpec));
+                ComponentName component = CustomTile.getComponentFromSpec(tileSpec);
+                Intent intent = new Intent().setComponent(component);
                 TileLifecycleManager lifecycleManager = new TileLifecycleManager(new Handler(),
-                        mContext, intent, new UserHandle(ActivityManager.getCurrentUser()));
+                        mContext, mServices, new Tile(component), intent,
+                        new UserHandle(ActivityManager.getCurrentUser()));
                 lifecycleManager.onTileAdded();
                 lifecycleManager.flushMessagesAndUnbind();
             }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java
index 473a816..85303f4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java
@@ -39,6 +39,7 @@
 import com.android.systemui.R;
 import com.android.systemui.qs.QSAnimator;
 import com.android.systemui.qs.QSPanel;
+import com.android.systemui.qs.QSPanel.Callback;
 import com.android.systemui.qs.QuickQSPanel;
 import com.android.systemui.qs.TouchAnimator;
 import com.android.systemui.statusbar.policy.BatteryController;
@@ -82,16 +83,14 @@
     protected MultiUserSwitch mMultiUserSwitch;
     private ImageView mMultiUserAvatar;
 
-    private float mDateScaleFactor;
-    protected float mGearTranslation;
 
     private TouchAnimator mSecondHalfAnimator;
     private TouchAnimator mFirstHalfAnimator;
-    private TouchAnimator mDateSizeAnimator;
     protected TouchAnimator mSettingsAlpha;
     private float mExpansionAmount;
     private QSTileHost mHost;
     private View mEdit;
+    private boolean mShowFullAlarm;
 
     public QuickStatusBarHeader(Context context, AttributeSet attrs) {
         super(context, attrs);
@@ -112,8 +111,7 @@
         mDateTimeGroup = (ViewGroup) findViewById(R.id.date_time_group);
         mDateTimeGroup.setPivotX(0);
         mDateTimeGroup.setPivotY(0);
-        boolean showDate = getResources().getBoolean(R.bool.quick_settings_show_date);
-        findViewById(R.id.date).setVisibility(showDate ? View.VISIBLE : View.GONE);
+        mShowFullAlarm = getResources().getBoolean(R.bool.quick_settings_show_full_alarm);
 
         mExpandIndicator = (ExpandableIndicator) findViewById(R.id.expand_indicator);
 
@@ -154,39 +152,23 @@
         FontSizeUtils.updateFontSize(mAlarmStatus, R.dimen.qs_date_collapsed_size);
         FontSizeUtils.updateFontSize(mEmergencyOnly, R.dimen.qs_emergency_calls_only_text_size);
 
-        mGearTranslation = mContext.getResources().getDimension(R.dimen.qs_header_gear_translation);
-
-        float dateCollapsedSize = mContext.getResources().getDimension(
-                R.dimen.qs_date_collapsed_text_size);
-        float dateExpandedSize = mContext.getResources().getDimension(
-                R.dimen.qs_date_text_size);
-        mDateScaleFactor = dateExpandedSize / dateCollapsedSize;
-
         mSecondHalfAnimator = new TouchAnimator.Builder()
-                .addFloat(mAlarmStatus, "alpha", 0, 1)
+                .addFloat(mShowFullAlarm ? mAlarmStatus : findViewById(R.id.date), "alpha", 0, 1)
                 .addFloat(mEmergencyOnly, "alpha", 0, 1)
-                .setStartDelay(.5f)
                 .build();
-        mFirstHalfAnimator = new TouchAnimator.Builder()
-                .addFloat(mAlarmStatusCollapsed, "alpha", 1, 0)
-                .setEndDelay(.5f)
-                .build();
-        mDateSizeAnimator = new TouchAnimator.Builder()
-                .addFloat(mDateTimeGroup, "scaleX", 1, mDateScaleFactor)
-                .addFloat(mDateTimeGroup, "scaleY", 1, mDateScaleFactor)
-                .setStartDelay(.36f)
-                .build();
+        if (mShowFullAlarm) {
+            mFirstHalfAnimator = new TouchAnimator.Builder()
+                    .addFloat(mAlarmStatusCollapsed, "alpha", 1, 0)
+                    .build();
+        }
 
         updateSettingsAnimator();
     }
 
     protected void updateSettingsAnimator() {
         mSettingsAlpha = new TouchAnimator.Builder()
-                .addFloat(mEdit, "translationY", -mGearTranslation, 0)
-                .addFloat(mMultiUserSwitch, "translationY", -mGearTranslation, 0)
                 .addFloat(mEdit, "alpha", 0, 1)
                 .addFloat(mMultiUserSwitch, "alpha", 0, 1)
-                .setStartDelay(QSAnimator.EXPANDED_TILE_DELAY)
                 .build();
 
         final boolean isRtl = isLayoutRtl();
@@ -217,6 +199,7 @@
     @Override
     public void setExpanded(boolean expanded) {
         mExpanded = expanded;
+        mHeaderQsPanel.setExpanded(expanded);
         updateEverything();
     }
 
@@ -241,8 +224,9 @@
     public void setExpansion(float headerExpansionFraction) {
         mExpansionAmount = headerExpansionFraction;
         mSecondHalfAnimator.setPosition(headerExpansionFraction);
-        mFirstHalfAnimator.setPosition(headerExpansionFraction);
-        mDateSizeAnimator.setPosition(headerExpansionFraction);
+        if (mShowFullAlarm) {
+            mFirstHalfAnimator.setPosition(headerExpansionFraction);
+        }
         mSettingsAlpha.setPosition(headerExpansionFraction);
 
         updateAlarmVisibilities();
@@ -259,7 +243,7 @@
     }
 
     private void updateAlarmVisibilities() {
-        mAlarmStatus.setVisibility(mAlarmShowing ? View.VISIBLE : View.INVISIBLE);
+        mAlarmStatus.setVisibility(mAlarmShowing && mShowFullAlarm ? View.VISIBLE : View.INVISIBLE);
         mAlarmStatusCollapsed.setVisibility(mAlarmShowing ? View.VISIBLE : View.INVISIBLE);
     }
 
@@ -287,7 +271,7 @@
         final boolean isDemo = UserManager.isDeviceInDemoMode(mContext);
         mMultiUserSwitch.setVisibility(mExpanded && mMultiUserSwitch.hasMultipleUsers() && !isDemo
                 ? View.VISIBLE : View.INVISIBLE);
-        mEdit.setVisibility(isDemo ? View.INVISIBLE : View.VISIBLE);
+        mEdit.setVisibility(isDemo || !mExpanded ? View.INVISIBLE : View.VISIBLE);
     }
 
     private void updateListeners() {
@@ -376,6 +360,11 @@
     }
 
     @Override
+    public void setCallback(Callback qsPanelCallback) {
+        mHeaderQsPanel.setCallback(qsPanelCallback);
+    }
+
+    @Override
     public void setEmergencyCallsOnly(boolean show) {
         boolean changed = show != mShowEmergencyCallsOnly;
         if (changed) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ReverseLinearLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ReverseLinearLayout.java
index 3682aa1..f45967a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ReverseLinearLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ReverseLinearLayout.java
@@ -30,7 +30,11 @@
  */
 public class ReverseLinearLayout extends LinearLayout {
 
-    private boolean mIsLayoutRtl;
+    /** If true, the layout is reversed vs. a regular linear layout */
+    private boolean mIsLayoutReverse;
+
+    /** If true, the layout is opposite to it's natural reversity from the layout direction */
+    private boolean mIsAlternativeOrder;
 
     public ReverseLinearLayout(Context context, @Nullable AttributeSet attrs) {
         super(context, attrs);
@@ -39,45 +43,50 @@
     @Override
     protected void onFinishInflate() {
         super.onFinishInflate();
-        mIsLayoutRtl = getResources().getConfiguration()
-                .getLayoutDirection() == LAYOUT_DIRECTION_RTL;
+        updateOrder();
     }
 
     @Override
     public void addView(View child) {
         reversParams(child.getLayoutParams());
-        if (mIsLayoutRtl) {
-            super.addView(child);
-        } else {
+        if (mIsLayoutReverse) {
             super.addView(child, 0);
+        } else {
+            super.addView(child);
         }
     }
 
     @Override
     public void addView(View child, ViewGroup.LayoutParams params) {
         reversParams(params);
-        if (mIsLayoutRtl) {
-            super.addView(child, params);
-        } else {
+        if (mIsLayoutReverse) {
             super.addView(child, 0, params);
+        } else {
+            super.addView(child, params);
         }
     }
 
     @Override
-    protected void onConfigurationChanged(Configuration newConfig) {
-        super.onConfigurationChanged(newConfig);
-        updateRTLOrder();
+    public void onRtlPropertiesChanged(int layoutDirection) {
+        super.onRtlPropertiesChanged(layoutDirection);
+        updateOrder();
+    }
+
+    public void setAlternativeOrder(boolean alternative) {
+        mIsAlternativeOrder = alternative;
+        updateOrder();
     }
 
     /**
      * In landscape, the LinearLayout is not auto mirrored since it is vertical. Therefore we
      * have to do it manually
      */
-    private void updateRTLOrder() {
-        boolean isLayoutRtl = getResources().getConfiguration()
-                .getLayoutDirection() == LAYOUT_DIRECTION_RTL;
-        if (mIsLayoutRtl != isLayoutRtl) {
-            // RTL changed, swap the order of all views.
+    private void updateOrder() {
+        boolean isLayoutRtl = getLayoutDirection() == LAYOUT_DIRECTION_RTL;
+        boolean isLayoutReverse = isLayoutRtl ^ mIsAlternativeOrder;
+
+        if (mIsLayoutReverse != isLayoutReverse) {
+            // reversity changed, swap the order of all views.
             int childCount = getChildCount();
             ArrayList<View> childList = new ArrayList<>(childCount);
             for (int i = 0; i < childCount; i++) {
@@ -87,7 +96,7 @@
             for (int i = childCount - 1; i >= 0; i--) {
                 super.addView(childList.get(i));
             }
-            mIsLayoutRtl = isLayoutRtl;
+            mIsLayoutReverse = isLayoutReverse;
         }
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
index 9c4480e..135c294 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
@@ -524,6 +524,10 @@
         mScrimBehind.setExcludedArea(area);
     }
 
+    public void setLeftInset(int inset) {
+        mScrimBehind.setLeftInset(inset);
+    }
+
     public int getScrimBehindColor() {
         return mScrimBehind.getScrimColorWithAlpha();
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java
deleted file mode 100644
index a051973..0000000
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java
+++ /dev/null
@@ -1,837 +0,0 @@
-/*
- * Copyright (C) 2014 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
- */
-
-package com.android.systemui.statusbar.phone;
-
-import android.app.AlarmManager;
-import android.app.PendingIntent;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Configuration;
-import android.content.res.Resources;
-import android.graphics.Outline;
-import android.graphics.Rect;
-import android.graphics.drawable.Animatable;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.RippleDrawable;
-import android.util.AttributeSet;
-import android.util.MathUtils;
-import android.util.TypedValue;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.ViewOutlineProvider;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.RelativeLayout;
-import android.widget.Switch;
-import android.widget.TextView;
-import android.widget.Toast;
-import com.android.keyguard.KeyguardStatusView;
-import com.android.systemui.BatteryMeterView;
-import com.android.systemui.FontSizeUtils;
-import com.android.systemui.R;
-import com.android.systemui.qs.QSPanel;
-import com.android.systemui.qs.QSTile;
-import com.android.systemui.qs.QSTile.DetailAdapter;
-import com.android.systemui.statusbar.policy.BatteryController;
-import com.android.systemui.statusbar.policy.NetworkController.EmergencyListener;
-import com.android.systemui.statusbar.policy.NextAlarmController;
-import com.android.systemui.statusbar.policy.UserInfoController;
-import com.android.systemui.tuner.TunerService;
-
-import java.text.NumberFormat;
-
-/**
- * The view to manage the header area in the expanded status bar.
- */
-public class StatusBarHeaderView extends BaseStatusBarHeader implements View.OnClickListener,
-        BatteryController.BatteryStateChangeCallback, NextAlarmController.NextAlarmChangeCallback,
-        EmergencyListener {
-
-    private boolean mExpanded;
-    private boolean mListening;
-
-    private ViewGroup mSystemIconsContainer;
-    private View mSystemIconsSuperContainer;
-    private View mDateGroup;
-    private View mClock;
-    private TextView mTime;
-    private TextView mAmPm;
-    private MultiUserSwitch mMultiUserSwitch;
-    private ImageView mMultiUserAvatar;
-    private TextView mDateCollapsed;
-    private TextView mDateExpanded;
-    private LinearLayout mSystemIcons;
-    private View mSignalCluster;
-    private SettingsButton mSettingsButton;
-    private View mSettingsContainer;
-    private View mQsDetailHeader;
-    private TextView mQsDetailHeaderTitle;
-    private Switch mQsDetailHeaderSwitch;
-    private ImageView mQsDetailHeaderProgress;
-    private TextView mEmergencyCallsOnly;
-    private TextView mBatteryLevel;
-    private TextView mAlarmStatus;
-
-    private boolean mShowEmergencyCallsOnly;
-    private boolean mAlarmShowing;
-    private AlarmManager.AlarmClockInfo mNextAlarm;
-
-    private int mCollapsedHeight;
-    private int mExpandedHeight;
-
-    private int mMultiUserExpandedMargin;
-    private int mMultiUserCollapsedMargin;
-
-    private int mClockMarginBottomExpanded;
-    private int mClockMarginBottomCollapsed;
-    private int mMultiUserSwitchWidthCollapsed;
-    private int mMultiUserSwitchWidthExpanded;
-
-    private int mClockCollapsedSize;
-    private int mClockExpandedSize;
-
-    /**
-     * In collapsed QS, the clock and avatar are scaled down a bit post-layout to allow for a nice
-     * transition. These values determine that factor.
-     */
-    private float mClockCollapsedScaleFactor;
-    private float mAvatarCollapsedScaleFactor;
-
-    private ActivityStarter mActivityStarter;
-    private BatteryController mBatteryController;
-    private NextAlarmController mNextAlarmController;
-    private QSPanel mQSPanel;
-
-    private final Rect mClipBounds = new Rect();
-
-    private boolean mCaptureValues;
-    private boolean mSignalClusterDetached;
-    private final LayoutValues mCollapsedValues = new LayoutValues();
-    private final LayoutValues mExpandedValues = new LayoutValues();
-    private final LayoutValues mCurrentValues = new LayoutValues();
-
-    private float mCurrentT;
-    private boolean mShowingDetail;
-    private boolean mDetailTransitioning;
-
-    private boolean mAllowExpand = true;
-
-    public StatusBarHeaderView(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    @Override
-    protected void onFinishInflate() {
-        super.onFinishInflate();
-        mSystemIconsSuperContainer = findViewById(R.id.system_icons_super_container);
-        mSystemIconsContainer = (ViewGroup) findViewById(R.id.system_icons_container);
-        mSystemIconsSuperContainer.setOnClickListener(this);
-        mDateGroup = findViewById(R.id.date_group);
-        mClock = findViewById(R.id.clock);
-        mTime = (TextView) findViewById(R.id.time_view);
-        mAmPm = (TextView) findViewById(R.id.am_pm_view);
-        mMultiUserSwitch = (MultiUserSwitch) findViewById(R.id.multi_user_switch);
-        mMultiUserAvatar = (ImageView) findViewById(R.id.multi_user_avatar);
-        mDateCollapsed = (TextView) findViewById(R.id.date_collapsed);
-        mDateExpanded = (TextView) findViewById(R.id.date_expanded);
-        mSettingsButton = (SettingsButton) findViewById(R.id.settings_button);
-        mSettingsContainer = findViewById(R.id.settings_button_container);
-        mSettingsButton.setOnClickListener(this);
-        mQsDetailHeader = findViewById(R.id.qs_detail_header);
-        mQsDetailHeader.setAlpha(0);
-        mQsDetailHeaderTitle = (TextView) mQsDetailHeader.findViewById(android.R.id.title);
-        mQsDetailHeaderSwitch = (Switch) mQsDetailHeader.findViewById(android.R.id.toggle);
-        mQsDetailHeaderProgress = (ImageView) findViewById(R.id.qs_detail_header_progress);
-        mEmergencyCallsOnly = (TextView) findViewById(R.id.header_emergency_calls_only);
-        mBatteryLevel = (TextView) findViewById(R.id.battery_level);
-        mAlarmStatus = (TextView) findViewById(R.id.alarm_status);
-        mAlarmStatus.setOnClickListener(this);
-        mSignalCluster = findViewById(R.id.signal_cluster);
-        mSystemIcons = (LinearLayout) findViewById(R.id.system_icons);
-        loadDimens();
-        updateVisibilities();
-        updateClockScale();
-        updateAvatarScale();
-        addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
-            @Override
-            public void onLayoutChange(View v, int left, int top, int right,
-                    int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
-                if ((right - left) != (oldRight - oldLeft)) {
-                    // width changed, update clipping
-                    setClipping(getHeight());
-                }
-                boolean rtl = getLayoutDirection() == LAYOUT_DIRECTION_RTL;
-                mTime.setPivotX(rtl ? mTime.getWidth() : 0);
-                mTime.setPivotY(mTime.getBaseline());
-                updateAmPmTranslation();
-            }
-        });
-        setOutlineProvider(new ViewOutlineProvider() {
-            @Override
-            public void getOutline(View view, Outline outline) {
-                outline.setRect(mClipBounds);
-            }
-        });
-        requestCaptureValues();
-
-        // RenderThread is doing more harm than good when touching the header (to expand quick
-        // settings), so disable it for this view
-        ((RippleDrawable) getBackground()).setForceSoftware(true);
-        ((RippleDrawable) mSettingsButton.getBackground()).setForceSoftware(true);
-        ((RippleDrawable) mSystemIconsSuperContainer.getBackground()).setForceSoftware(true);
-    }
-
-    @Override
-    protected void onLayout(boolean changed, int l, int t, int r, int b) {
-        super.onLayout(changed, l, t, r, b);
-        if (mCaptureValues) {
-            if (mExpanded) {
-                captureLayoutValues(mExpandedValues);
-            } else {
-                captureLayoutValues(mCollapsedValues);
-            }
-            mCaptureValues = false;
-            updateLayoutValues(mCurrentT);
-        }
-        mAlarmStatus.setX(mDateGroup.getLeft() + mDateCollapsed.getRight());
-    }
-
-    @Override
-    protected void onConfigurationChanged(Configuration newConfig) {
-        super.onConfigurationChanged(newConfig);
-        FontSizeUtils.updateFontSize(mBatteryLevel, R.dimen.battery_level_text_size);
-        FontSizeUtils.updateFontSize(mEmergencyCallsOnly,
-                R.dimen.qs_emergency_calls_only_text_size);
-        FontSizeUtils.updateFontSize(mDateCollapsed, R.dimen.qs_date_collapsed_size);
-        FontSizeUtils.updateFontSize(mDateExpanded, R.dimen.qs_date_collapsed_size);
-        FontSizeUtils.updateFontSize(mAlarmStatus, R.dimen.qs_date_collapsed_size);
-        FontSizeUtils.updateFontSize(this, android.R.id.title, R.dimen.qs_detail_header_text_size);
-        FontSizeUtils.updateFontSize(this, android.R.id.toggle, R.dimen.qs_detail_header_text_size);
-        FontSizeUtils.updateFontSize(mAmPm, R.dimen.qs_time_collapsed_size);
-        FontSizeUtils.updateFontSize(this, R.id.empty_time_view, R.dimen.qs_time_expanded_size);
-
-        mEmergencyCallsOnly.setText(com.android.internal.R.string.emergency_calls_only);
-
-        mClockCollapsedSize = getResources().getDimensionPixelSize(R.dimen.qs_time_collapsed_size);
-        mClockExpandedSize = getResources().getDimensionPixelSize(R.dimen.qs_time_expanded_size);
-        mClockCollapsedScaleFactor = (float) mClockCollapsedSize / (float) mClockExpandedSize;
-
-        updateClockScale();
-        updateClockCollapsedMargin();
-    }
-
-    private void updateClockCollapsedMargin() {
-        Resources res = getResources();
-        int padding = res.getDimensionPixelSize(R.dimen.clock_collapsed_bottom_margin);
-        int largePadding = res.getDimensionPixelSize(
-                R.dimen.clock_collapsed_bottom_margin_large_text);
-        float largeFactor = (MathUtils.constrain(getResources().getConfiguration().fontScale, 1.0f,
-                FontSizeUtils.LARGE_TEXT_SCALE) - 1f) / (FontSizeUtils.LARGE_TEXT_SCALE - 1f);
-        mClockMarginBottomCollapsed = Math.round((1 - largeFactor) * padding + largeFactor * largePadding);
-        requestLayout();
-    }
-
-    private void requestCaptureValues() {
-        mCaptureValues = true;
-        requestLayout();
-    }
-
-    private void loadDimens() {
-        mCollapsedHeight = getResources().getDimensionPixelSize(R.dimen.status_bar_header_height);
-        mExpandedHeight = getResources().getDimensionPixelSize(
-                R.dimen.status_bar_header_height_expanded);
-        mMultiUserExpandedMargin =
-                getResources().getDimensionPixelSize(R.dimen.multi_user_switch_expanded_margin);
-        mMultiUserCollapsedMargin =
-                getResources().getDimensionPixelSize(R.dimen.multi_user_switch_collapsed_margin);
-        mClockMarginBottomExpanded =
-                getResources().getDimensionPixelSize(R.dimen.clock_expanded_bottom_margin);
-        updateClockCollapsedMargin();
-        mMultiUserSwitchWidthCollapsed =
-                getResources().getDimensionPixelSize(R.dimen.multi_user_switch_width_collapsed);
-        mMultiUserSwitchWidthExpanded =
-                getResources().getDimensionPixelSize(R.dimen.multi_user_switch_width_expanded);
-        mAvatarCollapsedScaleFactor =
-                getResources().getDimensionPixelSize(R.dimen.multi_user_avatar_collapsed_size)
-                / (float) mMultiUserAvatar.getLayoutParams().width;
-        mClockCollapsedSize = getResources().getDimensionPixelSize(R.dimen.qs_time_collapsed_size);
-        mClockExpandedSize = getResources().getDimensionPixelSize(R.dimen.qs_time_expanded_size);
-        mClockCollapsedScaleFactor = (float) mClockCollapsedSize / (float) mClockExpandedSize;
-
-    }
-
-    public void setActivityStarter(ActivityStarter activityStarter) {
-        mActivityStarter = activityStarter;
-    }
-
-    public void setBatteryController(BatteryController batteryController) {
-        mBatteryController = batteryController;
-        ((BatteryMeterView) findViewById(R.id.battery)).setBatteryController(batteryController);
-    }
-
-    public void setNextAlarmController(NextAlarmController nextAlarmController) {
-        mNextAlarmController = nextAlarmController;
-    }
-
-    public int getCollapsedHeight() {
-        return mCollapsedHeight;
-    }
-
-    public int getExpandedHeight() {
-        return mAllowExpand ? mExpandedHeight : mCollapsedHeight;
-    }
-
-    public void setListening(boolean listening) {
-        if (listening == mListening) {
-            return;
-        }
-        mListening = listening;
-        updateListeners();
-    }
-
-    public void setExpanded(boolean expanded) {
-        if (!mAllowExpand) {
-            expanded = false;
-        }
-        boolean changed = expanded != mExpanded;
-        mExpanded = expanded;
-        if (changed) {
-            updateEverything();
-        }
-    }
-
-    public void updateEverything() {
-        updateHeights();
-        updateVisibilities();
-        updateSystemIconsLayoutParams();
-        updateClickTargets();
-        updateMultiUserSwitch();
-        updateClockScale();
-        updateAvatarScale();
-        updateClockLp();
-        requestCaptureValues();
-    }
-
-    private void updateHeights() {
-        int height = mExpanded ? mExpandedHeight : mCollapsedHeight;
-        ViewGroup.LayoutParams lp = getLayoutParams();
-        if (lp.height != height) {
-            lp.height = height;
-            setLayoutParams(lp);
-        }
-    }
-
-    private void updateVisibilities() {
-        mDateCollapsed.setVisibility(mExpanded && mAlarmShowing ? View.VISIBLE : View.INVISIBLE);
-        mDateExpanded.setVisibility(mExpanded && mAlarmShowing ? View.INVISIBLE : View.VISIBLE);
-        mAlarmStatus.setVisibility(mExpanded && mAlarmShowing ? View.VISIBLE : View.INVISIBLE);
-        mSettingsContainer.setVisibility(mExpanded ? View.VISIBLE : View.INVISIBLE);
-        mQsDetailHeader.setVisibility(mExpanded && mShowingDetail? View.VISIBLE : View.INVISIBLE);
-        if (mSignalCluster != null) {
-            updateSignalClusterDetachment();
-        }
-        mEmergencyCallsOnly.setVisibility(mExpanded && mShowEmergencyCallsOnly ? VISIBLE : GONE);
-        mBatteryLevel.setVisibility(mExpanded ? View.VISIBLE : View.GONE);
-        mSettingsContainer.findViewById(R.id.tuner_icon).setVisibility(
-                TunerService.isTunerEnabled(mContext) ? View.VISIBLE : View.INVISIBLE);
-    }
-
-    private void updateSignalClusterDetachment() {
-        boolean detached = mExpanded;
-        if (detached != mSignalClusterDetached) {
-            if (detached) {
-                getOverlay().add(mSignalCluster);
-            } else {
-                reattachSignalCluster();
-            }
-        }
-        mSignalClusterDetached = detached;
-    }
-
-    private void reattachSignalCluster() {
-        getOverlay().remove(mSignalCluster);
-        mSystemIcons.addView(mSignalCluster, 1);
-    }
-
-    private void updateSystemIconsLayoutParams() {
-        RelativeLayout.LayoutParams lp = (LayoutParams) mSystemIconsSuperContainer.getLayoutParams();
-        int rule = mExpanded
-                ? mSettingsContainer.getId()
-                : mMultiUserSwitch.getId();
-        if (rule != lp.getRules()[RelativeLayout.START_OF]) {
-            lp.addRule(RelativeLayout.START_OF, rule);
-            mSystemIconsSuperContainer.setLayoutParams(lp);
-        }
-    }
-
-    private void updateListeners() {
-        if (mListening) {
-            mBatteryController.addStateChangedCallback(this);
-            mNextAlarmController.addStateChangedCallback(this);
-        } else {
-            mBatteryController.removeStateChangedCallback(this);
-            mNextAlarmController.removeStateChangedCallback(this);
-        }
-    }
-
-    private void updateAvatarScale() {
-        if (mExpanded) {
-            mMultiUserAvatar.setScaleX(1f);
-            mMultiUserAvatar.setScaleY(1f);
-        } else {
-            mMultiUserAvatar.setScaleX(mAvatarCollapsedScaleFactor);
-            mMultiUserAvatar.setScaleY(mAvatarCollapsedScaleFactor);
-        }
-    }
-
-    private void updateClockScale() {
-        mTime.setTextSize(TypedValue.COMPLEX_UNIT_PX, mExpanded
-                ? mClockExpandedSize
-                : mClockCollapsedSize);
-        mTime.setScaleX(1f);
-        mTime.setScaleY(1f);
-        updateAmPmTranslation();
-    }
-
-    private void updateAmPmTranslation() {
-        boolean rtl = getLayoutDirection() == LAYOUT_DIRECTION_RTL;
-        mAmPm.setTranslationX((rtl ? 1 : -1) * mTime.getWidth() * (1 - mTime.getScaleX()));
-    }
-
-    @Override
-    public void onBatteryLevelChanged(int level, boolean pluggedIn, boolean charging) {
-        String percentage = NumberFormat.getPercentInstance().format((double) level / 100.0);
-        mBatteryLevel.setText(percentage);
-    }
-
-    @Override
-    public void onPowerSaveChanged(boolean isPowerSave) {
-        // could not care less
-    }
-
-    @Override
-    public void onNextAlarmChanged(AlarmManager.AlarmClockInfo nextAlarm) {
-        mNextAlarm = nextAlarm;
-        if (nextAlarm != null) {
-            mAlarmStatus.setText(KeyguardStatusView.formatNextAlarm(getContext(), nextAlarm));
-        }
-        mAlarmShowing = nextAlarm != null;
-        updateEverything();
-        requestCaptureValues();
-    }
-
-    private void updateClickTargets() {
-        mMultiUserSwitch.setClickable(mExpanded);
-        mMultiUserSwitch.setFocusable(mExpanded);
-        mSystemIconsSuperContainer.setClickable(mExpanded);
-        mSystemIconsSuperContainer.setFocusable(mExpanded);
-        mAlarmStatus.setClickable(mNextAlarm != null && mNextAlarm.getShowIntent() != null);
-    }
-
-    private void updateClockLp() {
-        int marginBottom = mExpanded
-                ? mClockMarginBottomExpanded
-                : mClockMarginBottomCollapsed;
-        LayoutParams lp = (LayoutParams) mDateGroup.getLayoutParams();
-        if (marginBottom != lp.bottomMargin) {
-            lp.bottomMargin = marginBottom;
-            mDateGroup.setLayoutParams(lp);
-        }
-    }
-
-    private void updateMultiUserSwitch() {
-        int marginEnd;
-        int width;
-        if (mExpanded) {
-            marginEnd = mMultiUserExpandedMargin;
-            width = mMultiUserSwitchWidthExpanded;
-        } else {
-            marginEnd = mMultiUserCollapsedMargin;
-            width = mMultiUserSwitchWidthCollapsed;
-        }
-        MarginLayoutParams lp = (MarginLayoutParams) mMultiUserSwitch.getLayoutParams();
-        if (marginEnd != lp.getMarginEnd() || lp.width != width) {
-            lp.setMarginEnd(marginEnd);
-            lp.width = width;
-            mMultiUserSwitch.setLayoutParams(lp);
-        }
-    }
-
-    public void setExpansion(float t) {
-        if (!mExpanded) {
-            t = 0f;
-        }
-        mCurrentT = t;
-        float height = mCollapsedHeight + t * (mExpandedHeight - mCollapsedHeight);
-        if (height < mCollapsedHeight) {
-            height = mCollapsedHeight;
-        }
-        if (height > mExpandedHeight) {
-            height = mExpandedHeight;
-        }
-        setClipping(height);
-        updateLayoutValues(t);
-    }
-
-    private void updateLayoutValues(float t) {
-        if (mCaptureValues) {
-            return;
-        }
-        mCurrentValues.interpoloate(mCollapsedValues, mExpandedValues, t);
-        applyLayoutValues(mCurrentValues);
-    }
-
-    private void setClipping(float height) {
-        mClipBounds.set(getPaddingLeft(), 0, getWidth() - getPaddingRight(), (int) height);
-        setClipBounds(mClipBounds);
-        invalidateOutline();
-    }
-
-    public void setUserInfoController(UserInfoController userInfoController) {
-        userInfoController.addListener(new UserInfoController.OnUserInfoChangedListener() {
-            @Override
-            public void onUserInfoChanged(String name, Drawable picture) {
-                mMultiUserAvatar.setImageDrawable(picture);
-            }
-        });
-    }
-
-    @Override
-    public void onClick(View v) {
-        if (v == mSettingsButton) {
-            if (mSettingsButton.isTunerClick()) {
-                if (TunerService.isTunerEnabled(mContext)) {
-                    TunerService.showResetRequest(mContext, new Runnable() {
-                        @Override
-                        public void run() {
-                            // Relaunch settings so that the tuner disappears.
-                            startSettingsActivity();
-                        }
-                    });
-                } else {
-                    Toast.makeText(getContext(), R.string.tuner_toast, Toast.LENGTH_LONG).show();
-                    TunerService.setTunerEnabled(mContext, true);
-                }
-            }
-            startSettingsActivity();
-        } else if (v == mSystemIconsSuperContainer) {
-            startBatteryActivity();
-        } else if (v == mAlarmStatus && mNextAlarm != null) {
-            PendingIntent showIntent = mNextAlarm.getShowIntent();
-            if (showIntent != null) {
-                mActivityStarter.startPendingIntentDismissingKeyguard(showIntent);
-            }
-        }
-    }
-
-    private void startSettingsActivity() {
-        mActivityStarter.startActivity(new Intent(android.provider.Settings.ACTION_SETTINGS),
-                true /* dismissShade */);
-    }
-
-    private void startBatteryActivity() {
-        mActivityStarter.startActivity(new Intent(Intent.ACTION_POWER_USAGE_SUMMARY),
-                true /* dismissShade */);
-    }
-
-    public void setQSPanel(QSPanel qsp) {
-        mQSPanel = qsp;
-        if (mQSPanel != null) {
-            mQSPanel.setCallback(mQsPanelCallback);
-        }
-        mMultiUserSwitch.setQsPanel(qsp);
-    }
-
-    @Override
-    public boolean shouldDelayChildPressedState() {
-        return true;
-    }
-
-    @Override
-    public void setEmergencyCallsOnly(boolean show) {
-        boolean changed = show != mShowEmergencyCallsOnly;
-        if (changed) {
-            mShowEmergencyCallsOnly = show;
-            if (mExpanded) {
-                updateEverything();
-                requestCaptureValues();
-            }
-        }
-    }
-
-    @Override
-    protected void dispatchSetPressed(boolean pressed) {
-        // We don't want that everything lights up when we click on the header, so block the request
-        // here.
-    }
-
-    private void captureLayoutValues(LayoutValues target) {
-        target.timeScale = mExpanded ? 1f : mClockCollapsedScaleFactor;
-        target.clockY = mClock.getBottom();
-        target.dateY = mDateGroup.getTop();
-        target.emergencyCallsOnlyAlpha = getAlphaForVisibility(mEmergencyCallsOnly);
-        target.alarmStatusAlpha = getAlphaForVisibility(mAlarmStatus);
-        target.dateCollapsedAlpha = getAlphaForVisibility(mDateCollapsed);
-        target.dateExpandedAlpha = getAlphaForVisibility(mDateExpanded);
-        target.avatarScale = mMultiUserAvatar.getScaleX();
-        target.avatarX = mMultiUserSwitch.getLeft() + mMultiUserAvatar.getLeft();
-        target.avatarY = mMultiUserSwitch.getTop() + mMultiUserAvatar.getTop();
-        if (getLayoutDirection() == LAYOUT_DIRECTION_LTR) {
-            target.batteryX = mSystemIconsSuperContainer.getLeft()
-                    + mSystemIconsContainer.getRight();
-        } else {
-            target.batteryX = mSystemIconsSuperContainer.getLeft()
-                    + mSystemIconsContainer.getLeft();
-        }
-        target.batteryY = mSystemIconsSuperContainer.getTop() + mSystemIconsContainer.getTop();
-        target.batteryLevelAlpha = getAlphaForVisibility(mBatteryLevel);
-        target.settingsAlpha = getAlphaForVisibility(mSettingsContainer);
-        target.settingsTranslation = mExpanded
-                ? 0
-                : mMultiUserSwitch.getLeft() - mSettingsContainer.getLeft();
-        target.signalClusterAlpha = mSignalClusterDetached ? 0f : 1f;
-        target.settingsRotation = !mExpanded ? 90f : 0f;
-    }
-
-    private float getAlphaForVisibility(View v) {
-        return v == null || v.getVisibility() == View.VISIBLE ? 1f : 0f;
-    }
-
-    private void applyAlpha(View v, float alpha) {
-        if (v == null || v.getVisibility() == View.GONE) {
-            return;
-        }
-        if (alpha == 0f) {
-            v.setVisibility(View.INVISIBLE);
-        } else {
-            v.setVisibility(View.VISIBLE);
-            v.setAlpha(alpha);
-        }
-    }
-
-    private void applyLayoutValues(LayoutValues values) {
-        mTime.setScaleX(values.timeScale);
-        mTime.setScaleY(values.timeScale);
-        mClock.setY(values.clockY - mClock.getHeight());
-        mDateGroup.setY(values.dateY);
-        mAlarmStatus.setY(values.dateY - mAlarmStatus.getPaddingTop());
-        mMultiUserAvatar.setScaleX(values.avatarScale);
-        mMultiUserAvatar.setScaleY(values.avatarScale);
-        mMultiUserAvatar.setX(values.avatarX - mMultiUserSwitch.getLeft());
-        mMultiUserAvatar.setY(values.avatarY - mMultiUserSwitch.getTop());
-        if (getLayoutDirection() == LAYOUT_DIRECTION_LTR) {
-            mSystemIconsSuperContainer.setX(values.batteryX - mSystemIconsContainer.getRight());
-        } else {
-            mSystemIconsSuperContainer.setX(values.batteryX - mSystemIconsContainer.getLeft());
-        }
-        mSystemIconsSuperContainer.setY(values.batteryY - mSystemIconsContainer.getTop());
-        if (mSignalCluster != null && mExpanded) {
-            if (getLayoutDirection() == LAYOUT_DIRECTION_LTR) {
-                mSignalCluster.setX(mSystemIconsSuperContainer.getX()
-                        - mSignalCluster.getWidth());
-            } else {
-                mSignalCluster.setX(mSystemIconsSuperContainer.getX()
-                        + mSystemIconsSuperContainer.getWidth());
-            }
-            mSignalCluster.setY(
-                    mSystemIconsSuperContainer.getY() + mSystemIconsSuperContainer.getHeight()/2
-                            - mSignalCluster.getHeight()/2);
-        } else if (mSignalCluster != null) {
-            mSignalCluster.setTranslationX(0f);
-            mSignalCluster.setTranslationY(0f);
-        }
-        if (!mSettingsButton.isAnimating()) {
-            mSettingsContainer.setTranslationY(mSystemIconsSuperContainer.getTranslationY());
-            mSettingsContainer.setTranslationX(values.settingsTranslation);
-            mSettingsButton.setRotation(values.settingsRotation);
-        }
-        applyAlpha(mEmergencyCallsOnly, values.emergencyCallsOnlyAlpha);
-        if (!mShowingDetail && !mDetailTransitioning) {
-            // Otherwise it needs to stay invisible
-            applyAlpha(mAlarmStatus, values.alarmStatusAlpha);
-        }
-        applyAlpha(mDateCollapsed, values.dateCollapsedAlpha);
-        applyAlpha(mDateExpanded, values.dateExpandedAlpha);
-        applyAlpha(mBatteryLevel, values.batteryLevelAlpha);
-        applyAlpha(mSettingsContainer, values.settingsAlpha);
-        applyAlpha(mSignalCluster, values.signalClusterAlpha);
-        if (!mExpanded) {
-            mTime.setScaleX(1f);
-            mTime.setScaleY(1f);
-        }
-        updateAmPmTranslation();
-    }
-
-    /**
-     * Captures all layout values (position, visibility) for a certain state. This is used for
-     * animations.
-     */
-    private static final class LayoutValues {
-
-        float dateExpandedAlpha;
-        float dateCollapsedAlpha;
-        float emergencyCallsOnlyAlpha;
-        float alarmStatusAlpha;
-        float timeScale = 1f;
-        float clockY;
-        float dateY;
-        float avatarScale;
-        float avatarX;
-        float avatarY;
-        float batteryX;
-        float batteryY;
-        float batteryLevelAlpha;
-        float settingsAlpha;
-        float settingsTranslation;
-        float signalClusterAlpha;
-        float settingsRotation;
-
-        public void interpoloate(LayoutValues v1, LayoutValues v2, float t) {
-            timeScale = v1.timeScale * (1 - t) + v2.timeScale * t;
-            clockY = v1.clockY * (1 - t) + v2.clockY * t;
-            dateY = v1.dateY * (1 - t) + v2.dateY * t;
-            avatarScale = v1.avatarScale * (1 - t) + v2.avatarScale * t;
-            avatarX = v1.avatarX * (1 - t) + v2.avatarX * t;
-            avatarY = v1.avatarY * (1 - t) + v2.avatarY * t;
-            batteryX = v1.batteryX * (1 - t) + v2.batteryX * t;
-            batteryY = v1.batteryY * (1 - t) + v2.batteryY * t;
-            settingsTranslation = v1.settingsTranslation * (1 - t) + v2.settingsTranslation * t;
-
-            float t1 = Math.max(0, t - 0.5f) * 2;
-            settingsRotation = v1.settingsRotation * (1 - t1) + v2.settingsRotation * t1;
-            emergencyCallsOnlyAlpha =
-                    v1.emergencyCallsOnlyAlpha * (1 - t1) + v2.emergencyCallsOnlyAlpha * t1;
-
-            float t2 = Math.min(1, 2 * t);
-            signalClusterAlpha = v1.signalClusterAlpha * (1 - t2) + v2.signalClusterAlpha * t2;
-
-            float t3 = Math.max(0, t - 0.7f) / 0.3f;
-            batteryLevelAlpha = v1.batteryLevelAlpha * (1 - t3) + v2.batteryLevelAlpha * t3;
-            settingsAlpha = v1.settingsAlpha * (1 - t3) + v2.settingsAlpha * t3;
-            dateExpandedAlpha = v1.dateExpandedAlpha * (1 - t3) + v2.dateExpandedAlpha * t3;
-            dateCollapsedAlpha = v1.dateCollapsedAlpha * (1 - t3) + v2.dateCollapsedAlpha * t3;
-            alarmStatusAlpha = v1.alarmStatusAlpha * (1 - t3) + v2.alarmStatusAlpha * t3;
-        }
-    }
-
-    private final QSPanel.Callback mQsPanelCallback = new QSPanel.Callback() {
-        private boolean mScanState;
-
-        @Override
-        public void onToggleStateChanged(final boolean state) {
-            post(new Runnable() {
-                @Override
-                public void run() {
-                    handleToggleStateChanged(state);
-                }
-            });
-        }
-
-        @Override
-        public void onShowingDetail(final DetailAdapter detail, int x, int y) {
-            mDetailTransitioning = true;
-            post(new Runnable() {
-                @Override
-                public void run() {
-                    handleShowingDetail(detail);
-                }
-            });
-        }
-
-        @Override
-        public void onScanStateChanged(final boolean state) {
-            post(new Runnable() {
-                @Override
-                public void run() {
-                    handleScanStateChanged(state);
-                }
-            });
-        }
-
-        private void handleToggleStateChanged(boolean state) {
-            mQsDetailHeaderSwitch.setChecked(state);
-        }
-
-        private void handleScanStateChanged(boolean state) {
-            if (mScanState == state) return;
-            mScanState = state;
-            final Animatable anim = (Animatable) mQsDetailHeaderProgress.getDrawable();
-            if (state) {
-                mQsDetailHeaderProgress.animate().alpha(1f);
-                anim.start();
-            } else {
-                mQsDetailHeaderProgress.animate().alpha(0f);
-                anim.stop();
-            }
-        }
-
-        private void handleShowingDetail(final QSTile.DetailAdapter detail) {
-            final boolean showingDetail = detail != null;
-            transition(mClock, !showingDetail);
-            transition(mDateGroup, !showingDetail);
-            if (mAlarmShowing) {
-                transition(mAlarmStatus, !showingDetail);
-            }
-            transition(mQsDetailHeader, showingDetail);
-            mShowingDetail = showingDetail;
-            if (showingDetail) {
-                mQsDetailHeaderTitle.setText(detail.getTitle());
-                final Boolean toggleState = detail.getToggleState();
-                if (toggleState == null) {
-                    mQsDetailHeaderSwitch.setVisibility(INVISIBLE);
-                    mQsDetailHeader.setClickable(false);
-                } else {
-                    mQsDetailHeaderSwitch.setVisibility(VISIBLE);
-                    mQsDetailHeaderSwitch.setChecked(toggleState);
-                    mQsDetailHeader.setClickable(true);
-                    mQsDetailHeader.setOnClickListener(new OnClickListener() {
-                        @Override
-                        public void onClick(View v) {
-                            boolean checked = !mQsDetailHeaderSwitch.isChecked();
-                            mQsDetailHeaderSwitch.setChecked(checked);
-                            detail.setToggleState(checked);
-                        }
-                    });
-                }
-            } else {
-                mQsDetailHeader.setClickable(false);
-            }
-        }
-
-        private void transition(final View v, final boolean in) {
-            if (in) {
-                v.bringToFront();
-                v.setVisibility(VISIBLE);
-            }
-            if (v.hasOverlappingRendering()) {
-                v.animate().withLayer();
-            }
-            v.animate()
-                    .alpha(in ? 1 : 0)
-                    .withEndAction(new Runnable() {
-                        @Override
-                        public void run() {
-                            if (!in) {
-                                v.setVisibility(INVISIBLE);
-                            }
-                            mDetailTransitioning = false;
-                        }
-                    })
-                    .start();
-        }
-    };
-}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java
index ebfa018..7b22b88 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java
@@ -70,6 +70,7 @@
     private View mBrightnessMirror;
 
     private int mRightInset = 0;
+    private int mLeftInset = 0;
 
     private PhoneStatusBar mService;
     private final Paint mTransparentSrcPaint = new Paint();
@@ -93,25 +94,26 @@
     @Override
     protected boolean fitSystemWindows(Rect insets) {
         if (getFitsSystemWindows()) {
-            boolean paddingChanged = insets.left != getPaddingLeft()
-                    || insets.top != getPaddingTop()
+            boolean paddingChanged = insets.top != getPaddingTop()
                     || insets.bottom != getPaddingBottom();
 
             // Super-special right inset handling, because scrims and backdrop need to ignore it.
-            if (insets.right != mRightInset) {
+            if (insets.right != mRightInset || insets.left != mLeftInset) {
                 mRightInset = insets.right;
+                mLeftInset = insets.left;
                 applyMargins();
             }
-            // Drop top inset, apply left inset and pass through bottom inset.
+            // Drop top inset, and pass through bottom inset.
             if (paddingChanged) {
-                setPadding(insets.left, 0, 0, 0);
+                setPadding(0, 0, 0, 0);
             }
             insets.left = 0;
             insets.top = 0;
             insets.right = 0;
         } else {
-            if (mRightInset != 0) {
+            if (mRightInset != 0 || mLeftInset != 0) {
                 mRightInset = 0;
+                mLeftInset = 0;
                 applyMargins();
             }
             boolean changed = getPaddingLeft() != 0
@@ -127,13 +129,16 @@
     }
 
     private void applyMargins() {
+        mService.mScrimController.setLeftInset(mLeftInset);
         final int N = getChildCount();
         for (int i = 0; i < N; i++) {
             View child = getChildAt(i);
             if (child.getLayoutParams() instanceof LayoutParams) {
                 LayoutParams lp = (LayoutParams) child.getLayoutParams();
-                if (!lp.ignoreRightInset && lp.rightMargin != mRightInset) {
+                if (!lp.ignoreRightInset
+                        && (lp.rightMargin != mRightInset || lp.leftMargin != mLeftInset)) {
                     lp.rightMargin = mRightInset;
+                    lp.leftMargin = mLeftInset;
                     child.requestLayout();
                 }
             }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java
index 6439bea..014cc49 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java
@@ -40,7 +40,6 @@
     private static final String TAG = "BluetoothController";
     private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
 
-    private final ArrayList<Callback> mCallbacks = new ArrayList<Callback>();
     private final LocalBluetoothManager mLocalBluetoothManager;
     private final UserManager mUserManager;
     private final int mCurrentUser;
@@ -78,7 +77,7 @@
         pw.print("  mEnabled="); pw.println(mEnabled);
         pw.print("  mConnectionState="); pw.println(stateToString(mConnectionState));
         pw.print("  mLastDevice="); pw.println(mLastDevice);
-        pw.print("  mCallbacks.size="); pw.println(mCallbacks.size());
+        pw.print("  mCallbacks.size="); pw.println(mHandler.mCallbacks.size());
         pw.println("  Bluetooth Devices:");
         for (CachedBluetoothDevice device :
                 mLocalBluetoothManager.getCachedDeviceManager().getCachedDevicesCopy()) {
@@ -106,13 +105,13 @@
 
     @Override
     public void addStateChangedCallback(Callback cb) {
-        mCallbacks.add(cb);
+        mHandler.obtainMessage(H.MSG_ADD_CALLBACK, cb).sendToTarget();
         mHandler.sendEmptyMessage(H.MSG_STATE_CHANGED);
     }
 
     @Override
     public void removeStateChangedCallback(Callback cb) {
-        mCallbacks.remove(cb);
+        mHandler.obtainMessage(H.MSG_REMOVE_CALLBACK, cb).sendToTarget();
     }
 
     @Override
@@ -236,8 +235,12 @@
     }
 
     private final class H extends Handler {
+        private final ArrayList<BluetoothController.Callback> mCallbacks = new ArrayList<>();
+
         private static final int MSG_PAIRED_DEVICES_CHANGED = 1;
         private static final int MSG_STATE_CHANGED = 2;
+        private static final int MSG_ADD_CALLBACK = 3;
+        private static final int MSG_REMOVE_CALLBACK = 4;
 
         @Override
         public void handleMessage(Message msg) {
@@ -248,6 +251,12 @@
                 case MSG_STATE_CHANGED:
                     fireStateChange();
                     break;
+                case MSG_ADD_CALLBACK:
+                    mCallbacks.add((BluetoothController.Callback) msg.obj);
+                    break;
+                case MSG_REMOVE_CALLBACK:
+                    mCallbacks.remove((BluetoothController.Callback) msg.obj);
+                    break;
             }
         }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/DateView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/DateView.java
index 186005c..a92422a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/DateView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/DateView.java
@@ -21,7 +21,8 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.res.TypedArray;
-import android.text.format.DateFormat;
+import android.icu.text.DateFormat;
+import android.icu.text.DisplayContext;
 import android.util.AttributeSet;
 import android.widget.TextView;
 
@@ -36,7 +37,7 @@
 
     private final Date mCurrentTime = new Date();
 
-    private SimpleDateFormat mDateFormat;
+    private DateFormat mDateFormat;
     private String mLastText;
     private String mDatePattern;
 
@@ -100,8 +101,9 @@
     protected void updateClock() {
         if (mDateFormat == null) {
             final Locale l = Locale.getDefault();
-            final String fmt = DateFormat.getBestDateTimePattern(l, mDatePattern);
-            mDateFormat = new SimpleDateFormat(fmt, l);
+            DateFormat format = DateFormat.getInstanceForSkeleton(mDatePattern, l);
+            format.setContext(DisplayContext.CAPITALIZATION_FOR_STANDALONE);
+            mDateFormat = format;
         }
 
         mCurrentTime.setTime(System.currentTimeMillis());
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
index 9041341..4664851 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
@@ -16,12 +16,14 @@
 
 package com.android.systemui.statusbar.policy;
 
+import android.app.ActivityManager;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.net.ConnectivityManager;
 import android.net.wifi.WifiManager;
+import android.os.UserManager;
 import android.util.Log;
 
 import java.io.FileDescriptor;
@@ -49,7 +51,8 @@
     @Override
     public boolean isHotspotSupported() {
         return mConnectivityManager.isTetheringSupported()
-                && mConnectivityManager.getTetherableWifiRegexs().length != 0;
+                && mConnectivityManager.getTetherableWifiRegexs().length != 0
+                && UserManager.get(mContext).isUserAdmin(ActivityManager.getCurrentUser());
     }
 
     public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
index 83e25eb..ac3246d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
@@ -197,8 +197,11 @@
 
         if (mConfig.show4gForLte) {
             mNetworkToIconLookup.put(TelephonyManager.NETWORK_TYPE_LTE, TelephonyIcons.FOUR_G);
+            mNetworkToIconLookup.put(TelephonyManager.NETWORK_TYPE_LTE_CA,
+                TelephonyIcons.FOUR_G_PLUS);
         } else {
             mNetworkToIconLookup.put(TelephonyManager.NETWORK_TYPE_LTE, TelephonyIcons.LTE);
+            mNetworkToIconLookup.put(TelephonyManager.NETWORK_TYPE_LTE_CA, TelephonyIcons.LTE);
         }
         mNetworkToIconLookup.put(TelephonyManager.NETWORK_TYPE_IWLAN, TelephonyIcons.WFC);
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
index b27bfcb..7a042af 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
@@ -781,6 +781,7 @@
                             datatype.equals("1x") ? TelephonyIcons.ONE_X :
                             datatype.equals("3g") ? TelephonyIcons.THREE_G :
                             datatype.equals("4g") ? TelephonyIcons.FOUR_G :
+                            datatype.equals("4g+") ? TelephonyIcons.FOUR_G_PLUS :
                             datatype.equals("e") ? TelephonyIcons.E :
                             datatype.equals("g") ? TelephonyIcons.G :
                             datatype.equals("h") ? TelephonyIcons.H :
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
index 7704a07..a2289c8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
@@ -21,6 +21,7 @@
 import android.app.RemoteInput;
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.ShortcutManager;
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
@@ -132,6 +133,15 @@
         mEditText.mShowImeOnInputConnection = false;
         mController.remoteInputSent(mEntry);
 
+        // Tell ShortcutManager that this package has been "activated".  ShortcutManager
+        // will reset the throttling for this package.
+        // Strictly speaking, the intent receiver may be different from the notification publisher,
+        // but that's an edge case, and also because we can't always know which package will receive
+        // an intent, so we just reset for the publisher.
+        getContext().getSystemService(ShortcutManager.class).onApplicationActive(
+                mEntry.notification.getPackageName(),
+                mEntry.notification.getUser().getIdentifier());
+
         MetricsLogger.action(mContext, MetricsProto.MetricsEvent.ACTION_REMOTE_INPUT_SEND,
                 mEntry.notification.getPackageName());
         try {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java
index 6ff8f77..d91b332 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java
@@ -182,6 +182,19 @@
 
     static final int QS_DATA_4G = R.drawable.ic_qs_signal_4g;
 
+    static final int[][] DATA_4G_PLUS = {
+            { R.drawable.stat_sys_data_fully_connected_4g_plus,
+              R.drawable.stat_sys_data_fully_connected_4g_plus,
+              R.drawable.stat_sys_data_fully_connected_4g_plus,
+              R.drawable.stat_sys_data_fully_connected_4g_plus },
+            { R.drawable.stat_sys_data_fully_connected_4g_plus,
+              R.drawable.stat_sys_data_fully_connected_4g_plus,
+              R.drawable.stat_sys_data_fully_connected_4g_plus,
+              R.drawable.stat_sys_data_fully_connected_4g_plus }
+    };
+
+    static final int QS_DATA_4G_PLUS = R.drawable.ic_qs_signal_4g_plus;
+
     // LTE branded "LTE"
     static final int[][] DATA_LTE = {
             { R.drawable.stat_sys_data_fully_connected_lte,
@@ -204,6 +217,7 @@
     static final int ICON_H = R.drawable.stat_sys_data_fully_connected_h;
     static final int ICON_3G = R.drawable.stat_sys_data_fully_connected_3g;
     static final int ICON_4G = R.drawable.stat_sys_data_fully_connected_4g;
+    static final int ICON_4G_PLUS = R.drawable.stat_sys_data_fully_connected_4g_plus;
     static final int ICON_1X = R.drawable.stat_sys_data_fully_connected_1x;
     static final int ICON_CARRIER_NETWORK_CHANGE =
             R.drawable.stat_sys_signal_carrier_network_change_animation;
@@ -213,6 +227,7 @@
     static final int QS_ICON_LTE = R.drawable.ic_qs_signal_lte;
     static final int QS_ICON_3G = R.drawable.ic_qs_signal_3g;
     static final int QS_ICON_4G = R.drawable.ic_qs_signal_4g;
+    static final int QS_ICON_4G_PLUS = R.drawable.ic_qs_signal_4g_plus;
     static final int QS_ICON_1X = R.drawable.ic_qs_signal_1x;
     static final int QS_ICON_CARRIER_NETWORK_CHANGE =
             R.drawable.ic_qs_signal_carrier_network_change_animation;
@@ -348,6 +363,21 @@
             TelephonyIcons.QS_DATA_4G
             );
 
+    static final MobileIconGroup FOUR_G_PLUS = new MobileIconGroup(
+            "4G+",
+            TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
+            TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
+            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
+            0,0,
+            TelephonyIcons.TELEPHONY_NO_NETWORK,
+            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
+            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
+            R.string.accessibility_data_connection_4g_plus,
+            TelephonyIcons.ICON_4G_PLUS,
+            true,
+            TelephonyIcons.QS_DATA_4G_PLUS
+            );
+
     static final MobileIconGroup LTE = new MobileIconGroup(
             "LTE",
             TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java
index 415b7a1..27ba003 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java
@@ -51,6 +51,7 @@
 import com.android.settingslib.RestrictedLockUtils;
 import com.android.systemui.GuestResumeSessionReceiver;
 import com.android.systemui.R;
+import com.android.systemui.SystemUI;
 import com.android.systemui.SystemUISecondaryUserService;
 import com.android.systemui.qs.QSTile;
 import com.android.systemui.qs.tiles.UserDetailView;
@@ -380,6 +381,18 @@
         Log.e(TAG, "Couldn't switch to user, id=" + userId);
     }
 
+    public int getSwitchableUserCount() {
+        int count = 0;
+        final int N = mUsers.size();
+        for (int i = 0; i < N; ++i) {
+            UserRecord record = mUsers.get(i);
+            if (record.info != null && record.info.supportsSwitchTo()) {
+                count++;
+            }
+        }
+        return count;
+    }
+
     private void switchToUserId(int id) {
         try {
             pauseRefreshUsers();
@@ -418,23 +431,27 @@
     }
 
     private void listenForCallState() {
-        TelephonyManager.from(mContext).listen(new PhoneStateListener() {
-            private int mCallState;
-            @Override
-            public void onCallStateChanged(int state, String incomingNumber) {
-                if (mCallState == state) return;
-                if (DEBUG) Log.v(TAG, "Call state changed: " + state);
-                mCallState = state;
-                int currentUserId = ActivityManager.getCurrentUser();
-                UserInfo userInfo = mUserManager.getUserInfo(currentUserId);
-                if (userInfo != null && userInfo.isGuest()) {
-                    showGuestNotification(currentUserId);
-                }
-                refreshUsers(UserHandle.USER_NULL);
-            }
-        }, PhoneStateListener.LISTEN_CALL_STATE);
+        TelephonyManager.from(mContext).listen(mPhoneStateListener,
+                PhoneStateListener.LISTEN_CALL_STATE);
     }
 
+    private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
+        private int mCallState;
+
+        @Override
+        public void onCallStateChanged(int state, String incomingNumber) {
+            if (mCallState == state) return;
+            if (DEBUG) Log.v(TAG, "Call state changed: " + state);
+            mCallState = state;
+            int currentUserId = ActivityManager.getCurrentUser();
+            UserInfo userInfo = mUserManager.getUserInfo(currentUserId);
+            if (userInfo != null && userInfo.isGuest()) {
+                showGuestNotification(currentUserId);
+            }
+            refreshUsers(UserHandle.USER_NULL);
+        }
+    };
+
     private BroadcastReceiver mReceiver = new BroadcastReceiver() {
         @Override
         public void onReceive(Context context, Intent intent) {
@@ -523,7 +540,7 @@
         private void showLogoutNotification(int userId) {
             PendingIntent logoutPI = PendingIntent.getBroadcastAsUser(mContext,
                     0, new Intent(ACTION_LOGOUT_USER), 0, UserHandle.SYSTEM);
-            Notification notification = new Notification.Builder(mContext)
+            Notification.Builder builder = new Notification.Builder(mContext)
                     .setVisibility(Notification.VISIBILITY_SECRET)
                     .setPriority(Notification.PRIORITY_MIN)
                     .setSmallIcon(R.drawable.ic_person)
@@ -534,10 +551,10 @@
                     .setShowWhen(false)
                     .addAction(R.drawable.ic_delete,
                             mContext.getString(R.string.user_logout_notification_action),
-                            logoutPI)
-                    .build();
+                            logoutPI);
+            SystemUI.overrideNotificationAppName(mContext, builder);
             NotificationManager.from(mContext).notifyAsUser(TAG_LOGOUT_USER, ID_LOGOUT_USER,
-                    notification, new UserHandle(userId));
+                    builder.build(), new UserHandle(userId));
         }
     };
 
@@ -547,7 +564,7 @@
         PendingIntent removeGuestPI = canSwitchUsers ? PendingIntent.getBroadcastAsUser(mContext,
                 0, new Intent(ACTION_REMOVE_GUEST), 0, UserHandle.SYSTEM) : null;
 
-        Notification notification = new Notification.Builder(mContext)
+        Notification.Builder builder = new Notification.Builder(mContext)
                 .setVisibility(Notification.VISIBILITY_SECRET)
                 .setPriority(Notification.PRIORITY_MIN)
                 .setSmallIcon(R.drawable.ic_person)
@@ -557,10 +574,10 @@
                 .setShowWhen(false)
                 .addAction(R.drawable.ic_delete,
                         mContext.getString(R.string.guest_notification_remove_action),
-                        removeGuestPI)
-                .build();
+                        removeGuestPI);
+        SystemUI.overrideNotificationAppName(mContext, builder);
         NotificationManager.from(mContext).notifyAsUser(TAG_REMOVE_GUEST, ID_REMOVE_GUEST,
-                notification, new UserHandle(guestUserId));
+                builder.build(), new UserHandle(guestUserId));
     }
 
     private final Runnable mUnpauseRefreshUsers = new Runnable() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java
index ba191cd..3c9373b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java
@@ -856,14 +856,6 @@
                 mNotificationParent.getNotificationColor());
     }
 
-    public void setRemoved() {
-        int childCount = mChildren.size();
-        for (int i = 0; i < childCount; i++) {
-            ExpandableNotificationRow child = mChildren.get(i);
-            child.setRemoved();
-        }
-    }
-
     public int getPositionInLinearLayout(View childInGroup) {
         int position = mNotificationHeaderMargin + mNotificatonTopPadding;
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
index d5f1707..7de3879 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
@@ -769,7 +769,7 @@
                 mHeadsUpManager.addSwipedOutNotification(row.getStatusBarNotification().getKey());
             }
         }
-        performDismiss(v);
+        performDismiss(v, mGroupManager, false /* fromAccessibility */);
 
         mFalsingManager.onNotificationDismissed();
         if (mFalsingManager.shouldEnforceBouncer()) {
@@ -778,17 +778,18 @@
         }
     }
 
-    private void performDismiss(View v) {
+    public static void performDismiss(View v, NotificationGroupManager groupManager,
+            boolean fromAccessibility) {
         if (v instanceof ExpandableNotificationRow) {
             ExpandableNotificationRow row = (ExpandableNotificationRow) v;
-            if (mGroupManager.isOnlyChildInSuppressedGroup(row.getStatusBarNotification())) {
+            if (groupManager.isOnlyChildInGroup(row.getStatusBarNotification())) {
                 ExpandableNotificationRow groupSummary =
-                        mGroupManager.getLogicalGroupSummary(row.getStatusBarNotification());
+                        groupManager.getLogicalGroupSummary(row.getStatusBarNotification());
                 if (groupSummary.isClearable()) {
-                    performDismiss(groupSummary);
+                    performDismiss(groupSummary, groupManager, fromAccessibility);
                 }
             }
-            row.setDismissed(true);
+            row.setDismissed(true, fromAccessibility);
         }
         final View veto = v.findViewById(R.id.veto);
         if (veto != null && veto.getVisibility() != View.GONE) {
@@ -873,7 +874,8 @@
             ExpandableNotificationRow row = (ExpandableNotificationRow) child;
             ExpandableNotificationRow parent = row.getNotificationParent();
             if (parent != null && parent.areChildrenExpanded()
-                    && (mGearExposedView == parent
+                    && (parent.areGutsExposed()
+                        || mGearExposedView == parent
                         || (parent.getNotificationChildren().size() == 1
                                 && parent.isClearable()))) {
                 // In this case the group is expanded and showing the gear for the
@@ -961,6 +963,7 @@
     public boolean canChildBeExpanded(View v) {
         return v instanceof ExpandableNotificationRow
                 && ((ExpandableNotificationRow) v).isExpandable()
+                && !((ExpandableNotificationRow) v).areGutsExposed()
                 && (mIsExpanded || !((ExpandableNotificationRow) v).isPinned());
     }
 
@@ -1958,8 +1961,7 @@
                 // we're ending up at the same location as we are now, lets just skip the animation
                 bottom = finalBottom;
             } else {
-                bottom = (int) (lastView.getTranslationY() + lastView.getActualHeight()
-                        - lastView.getExtraBottomPadding());
+                bottom = (int) (lastView.getTranslationY() + lastView.getActualHeight());
                 bottom = Math.min(bottom, getHeight());
             }
         } else {
@@ -2097,7 +2099,9 @@
         final ExpandableView firstChild = getFirstChildNotGone();
         int firstChildMinHeight = firstChild != null
                 ? firstChild.getIntrinsicHeight()
-                : mCollapsedSize;
+                : mEmptyShadeView != null
+                        ? mEmptyShadeView.getMinHeight()
+                        : mCollapsedSize;
         if (mOwnScrollY > 0) {
             firstChildMinHeight = Math.max(firstChildMinHeight - mOwnScrollY, mCollapsedSize);
         }
@@ -2261,6 +2265,27 @@
 
         // Make sure the clipRect we might have set is removed
         expandableView.setClipTopAmount(0);
+
+        focusNextViewIfFocused(child);
+    }
+
+    private void focusNextViewIfFocused(View view) {
+        if (view instanceof ExpandableNotificationRow) {
+            ExpandableNotificationRow row = (ExpandableNotificationRow) view;
+            if (row.shouldRefocusOnDismiss()) {
+                View nextView = row.getChildAfterViewWhenDismissed();
+                if (nextView == null) {
+                    View groupParentWhenDismissed = row.getGroupParentWhenDismissed();
+                    nextView = getFirstChildBelowTranlsationY(groupParentWhenDismissed != null
+                            ? groupParentWhenDismissed.getTranslationY()
+                            : view.getTranslationY());
+                }
+                if (nextView != null) {
+                    nextView.requestAccessibilityFocus();
+                }
+            }
+        }
+
     }
 
     private boolean isChildInGroup(View child) {
@@ -3664,6 +3689,9 @@
         if (mAnimationsEnabled) {
             mHeadsUpChangeAnimations.add(new Pair<>(row, isHeadsUp));
             mNeedsAnimation = true;
+            if (!mIsExpanded && !isHeadsUp) {
+                row.setHeadsupDisappearRunning(true);
+            }
             requestChildrenUpdate();
         }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java
index 5d26988..87e87c8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java
@@ -152,8 +152,10 @@
             float newYTranslation = state.yTranslation;
             float newHeight = state.height;
             float newNotificationEnd = newYTranslation + newHeight;
-
-            if (newYTranslation < previousNotificationEnd) {
+            boolean isHeadsUp = (child instanceof ExpandableNotificationRow)
+                    && ((ExpandableNotificationRow) child).isPinned();
+            if (newYTranslation < previousNotificationEnd
+                    && (!isHeadsUp || ambientState.isShadeExpanded())) {
                 // The previous view is overlapping on top, clip!
                 float overlapAmount = previousNotificationEnd - newYTranslation;
                 state.clipTopAmount = (int) overlapAmount;
@@ -171,6 +173,12 @@
     }
 
     public static boolean canChildBeDismissed(View v) {
+        if (v instanceof ExpandableNotificationRow) {
+            ExpandableNotificationRow row = (ExpandableNotificationRow) v;
+            if (row.areGutsExposed()) {
+                return false;
+            }
+        }
         final View veto = v.findViewById(R.id.veto);
         return (veto != null && veto.getVisibility() != View.GONE);
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java
index 0f94227..659eaf7 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java
@@ -225,16 +225,22 @@
         // start height animation
         if (heightChanging) {
             startHeightAnimation(child, viewState, duration, delay);
+        }  else {
+            abortAnimation(child, TAG_ANIMATOR_HEIGHT);
         }
 
         // start shadow alpha animation
         if (shadowAlphaChanging) {
             startShadowAlphaAnimation(child, viewState, duration, delay);
+        } else {
+            abortAnimation(child, TAG_ANIMATOR_SHADOW_ALPHA);
         }
 
         // start top inset animation
         if (topInsetChanging) {
             startInsetAnimation(child, viewState, duration, delay);
+        } else {
+            abortAnimation(child, TAG_ANIMATOR_TOP_INSET);
         }
 
         // start dimmed animation
@@ -286,16 +292,29 @@
         // start translationY animation
         if (yTranslationChanging) {
             startYTranslationAnimation(child, viewState, duration, delay);
+        } else {
+            abortAnimation(child, TAG_ANIMATOR_TRANSLATION_Y);
         }
 
         // start translationZ animation
         if (zTranslationChanging) {
             startZTranslationAnimation(child, viewState, duration, delay);
+        } else {
+            abortAnimation(child, TAG_ANIMATOR_TRANSLATION_Z);
         }
 
         // start alpha animation
         if (alphaChanging && child.getTranslationX() == 0) {
             startAlphaAnimation(child, viewState, duration, delay);
+        }  else {
+            abortAnimation(child, TAG_ANIMATOR_ALPHA);
+        }
+    }
+
+    private void abortAnimation(View child, int animatorTag) {
+        Animator previousAnimator = getChildTag(child, animatorTag);
+        if (previousAnimator != null) {
+            previousAnimator.cancel();
         }
     }
 
@@ -413,7 +432,8 @@
         animator.setInterpolator(Interpolators.FAST_OUT_SLOW_IN);
         long newDuration = cancelAnimatorAndGetNewDuration(duration, previousAnimator);
         animator.setDuration(newDuration);
-        if (delay > 0 && (previousAnimator == null || !previousAnimator.isRunning())) {
+        if (delay > 0 && (previousAnimator == null
+                || previousAnimator.getAnimatedFraction() == 0)) {
             animator.setStartDelay(delay);
         }
         animator.addListener(getGlobalAnimationFinishedListener());
@@ -472,7 +492,8 @@
         animator.setInterpolator(Interpolators.FAST_OUT_SLOW_IN);
         long newDuration = cancelAnimatorAndGetNewDuration(duration, previousAnimator);
         animator.setDuration(newDuration);
-        if (delay > 0 && (previousAnimator == null || !previousAnimator.isRunning())) {
+        if (delay > 0 && (previousAnimator == null
+                || previousAnimator.getAnimatedFraction() == 0)) {
             animator.setStartDelay(delay);
         }
         animator.addListener(getGlobalAnimationFinishedListener());
@@ -485,6 +506,7 @@
                 child.setTag(TAG_ANIMATOR_HEIGHT, null);
                 child.setTag(TAG_START_HEIGHT, null);
                 child.setTag(TAG_END_HEIGHT, null);
+                child.setActualHeightAnimating(false);
                 if (!mWasCancelled && child instanceof ExpandableNotificationRow) {
                     ((ExpandableNotificationRow) child).setGroupExpansionChanging(
                             false /* isExpansionChanging */);
@@ -505,6 +527,7 @@
         child.setTag(TAG_ANIMATOR_HEIGHT, animator);
         child.setTag(TAG_START_HEIGHT, child.getActualHeight());
         child.setTag(TAG_END_HEIGHT, newEndValue);
+        child.setActualHeightAnimating(true);
     }
 
     private void startInsetAnimation(final ExpandableView child,
@@ -546,7 +569,8 @@
         animator.setInterpolator(Interpolators.FAST_OUT_SLOW_IN);
         long newDuration = cancelAnimatorAndGetNewDuration(duration, previousAnimator);
         animator.setDuration(newDuration);
-        if (delay > 0 && (previousAnimator == null || !previousAnimator.isRunning())) {
+        if (delay > 0 && (previousAnimator == null
+                || previousAnimator.getAnimatedFraction() == 0)) {
             animator.setStartDelay(delay);
         }
         animator.addListener(getGlobalAnimationFinishedListener());
@@ -628,7 +652,8 @@
         });
         long newDuration = cancelAnimatorAndGetNewDuration(duration, previousAnimator);
         animator.setDuration(newDuration);
-        if (delay > 0 && (previousAnimator == null || !previousAnimator.isRunning())) {
+        if (delay > 0 && (previousAnimator == null
+                || previousAnimator.getAnimatedFraction() == 0)) {
             animator.setStartDelay(delay);
         }
         animator.addListener(getGlobalAnimationFinishedListener());
@@ -672,7 +697,8 @@
         animator.setInterpolator(Interpolators.FAST_OUT_SLOW_IN);
         long newDuration = cancelAnimatorAndGetNewDuration(duration, previousAnimator);
         animator.setDuration(newDuration);
-        if (delay > 0 && (previousAnimator == null || !previousAnimator.isRunning())) {
+        if (delay > 0 && (previousAnimator == null
+                || previousAnimator.getAnimatedFraction() == 0)) {
             animator.setStartDelay(delay);
         }
         animator.addListener(getGlobalAnimationFinishedListener());
@@ -727,10 +753,12 @@
         animator.setInterpolator(interpolator);
         long newDuration = cancelAnimatorAndGetNewDuration(duration, previousAnimator);
         animator.setDuration(newDuration);
-        if (delay > 0 && (previousAnimator == null || !previousAnimator.isRunning())) {
+        if (delay > 0 && (previousAnimator == null
+                || previousAnimator.getAnimatedFraction() == 0)) {
             animator.setStartDelay(delay);
         }
         animator.addListener(getGlobalAnimationFinishedListener());
+        final boolean isHeadsUpDisappear = mHeadsUpDisappearChildren.contains(child);
         // remove the tag when the animation is finished
         animator.addListener(new AnimatorListenerAdapter() {
             @Override
@@ -739,6 +767,9 @@
                 child.setTag(TAG_ANIMATOR_TRANSLATION_Y, null);
                 child.setTag(TAG_START_TRANSLATION_Y, null);
                 child.setTag(TAG_END_TRANSLATION_Y, null);
+                if (isHeadsUpDisappear) {
+                    ((ExpandableNotificationRow) child).setHeadsupDisappearRunning(false);
+                }
             }
         });
         startAnimator(animator);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java
index 27726af..2d4900b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java
@@ -257,4 +257,9 @@
         } catch (RemoteException ex) {
         }
     }
+
+    @Override
+    public void handleSystemNavigationKey(int arg1) {
+        // Not implemented
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/BatteryPreference.java b/packages/SystemUI/src/com/android/systemui/tuner/BatteryPreference.java
index 8881c79..6e08139 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/BatteryPreference.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/BatteryPreference.java
@@ -47,9 +47,9 @@
     @Override
     public void onAttached() {
         super.onAttached();
-        TunerService.get(getContext()).addTunable(this, StatusBarIconController.ICON_BLACKLIST);
         mHasPercentage = Settings.System.getInt(getContext().getContentResolver(),
                 SHOW_PERCENT_SETTING, 0) != 0;
+        TunerService.get(getContext()).addTunable(this, StatusBarIconController.ICON_BLACKLIST);
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/ClockPreference.java b/packages/SystemUI/src/com/android/systemui/tuner/ClockPreference.java
index ea92443..caa0527 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/ClockPreference.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/ClockPreference.java
@@ -32,6 +32,8 @@
     private boolean mHasSeconds;
     private ArraySet<String> mBlacklist;
     private boolean mHasSetValue;
+    private boolean mReceivedSeconds;
+    private boolean mReceivedClock;
 
     public ClockPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
@@ -55,12 +57,14 @@
     @Override
     public void onTuningChanged(String key, String newValue) {
         if (StatusBarIconController.ICON_BLACKLIST.equals(key)) {
+            mReceivedClock = true;
             mBlacklist = StatusBarIconController.getIconBlacklist(newValue);
             mClockEnabled = !mBlacklist.contains(mClock);
         } else if (Clock.CLOCK_SECONDS.equals(key)) {
+            mReceivedSeconds = true;
             mHasSeconds = newValue != null && Integer.parseInt(newValue) != 0;
         }
-        if (!mHasSetValue) {
+        if (!mHasSetValue && mReceivedClock && mReceivedSeconds) {
             // Because of the complicated tri-state it can end up looping and setting state back to
             // what the user didn't choose.  To avoid this, just set the state once and rely on the
             // preference to handle updates.
diff --git a/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java b/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java
index 36dd727..97d5e10 100644
--- a/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java
+++ b/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java
@@ -198,7 +198,7 @@
                         rec.getNickname());
                 final CharSequence text = mContext.getString(R.string.ext_media_missing_message);
 
-                final Notification notif = new Notification.Builder(mContext)
+                Notification.Builder builder = new Notification.Builder(mContext)
                         .setSmallIcon(R.drawable.ic_sd_card_48dp)
                         .setColor(mContext.getColor(R.color.system_notification_accent_color))
                         .setContentTitle(title)
@@ -208,10 +208,11 @@
                         .setVisibility(Notification.VISIBILITY_PUBLIC)
                         .setLocalOnly(true)
                         .setCategory(Notification.CATEGORY_SYSTEM)
-                        .setDeleteIntent(buildSnoozeIntent(fsUuid))
-                        .build();
+                        .setDeleteIntent(buildSnoozeIntent(fsUuid));
+                SystemUI.overrideNotificationAppName(mContext, builder);
 
-                mNotificationManager.notifyAsUser(fsUuid, PRIVATE_ID, notif, UserHandle.ALL);
+                mNotificationManager.notifyAsUser(fsUuid, PRIVATE_ID, builder
+                        .build(), UserHandle.ALL);
             }
         }
     }
@@ -224,7 +225,7 @@
             final CharSequence text = mContext.getString(
                     R.string.ext_media_unsupported_notification_message, disk.getDescription());
 
-            final Notification notif = new Notification.Builder(mContext)
+            Notification.Builder builder = new Notification.Builder(mContext)
                     .setSmallIcon(getSmallIcon(disk, VolumeInfo.STATE_UNMOUNTABLE))
                     .setColor(mContext.getColor(R.color.system_notification_accent_color))
                     .setContentTitle(title)
@@ -233,10 +234,11 @@
                     .setStyle(new Notification.BigTextStyle().bigText(text))
                     .setVisibility(Notification.VISIBILITY_PUBLIC)
                     .setLocalOnly(true)
-                    .setCategory(Notification.CATEGORY_ERROR)
-                    .build();
+                    .setCategory(Notification.CATEGORY_ERROR);
+            SystemUI.overrideNotificationAppName(mContext, builder);
 
-            mNotificationManager.notifyAsUser(disk.getId(), DISK_ID, notif, UserHandle.ALL);
+            mNotificationManager.notifyAsUser(disk.getId(), DISK_ID, builder.build(),
+                    UserHandle.ALL);
 
         } else {
             // Yay, we have volumes!
@@ -471,7 +473,7 @@
             intent = buildWizardMigratePendingIntent(move);
         }
 
-        final Notification notif = new Notification.Builder(mContext)
+        Notification.Builder builder = new Notification.Builder(mContext)
                 .setSmallIcon(R.drawable.ic_sd_card_48dp)
                 .setColor(mContext.getColor(R.color.system_notification_accent_color))
                 .setContentTitle(title)
@@ -483,10 +485,11 @@
                 .setCategory(Notification.CATEGORY_PROGRESS)
                 .setPriority(Notification.PRIORITY_LOW)
                 .setProgress(100, status, false)
-                .setOngoing(true)
-                .build();
+                .setOngoing(true);
+        SystemUI.overrideNotificationAppName(mContext, builder);
 
-        mNotificationManager.notifyAsUser(move.packageName, MOVE_ID, notif, UserHandle.ALL);
+        mNotificationManager.notifyAsUser(move.packageName, MOVE_ID,
+                builder.build(), UserHandle.ALL);
     }
 
     private void onMoveFinished(MoveInfo move, int status) {
@@ -520,7 +523,7 @@
             intent = null;
         }
 
-        final Notification notif = new Notification.Builder(mContext)
+        Notification.Builder builder = new Notification.Builder(mContext)
                 .setSmallIcon(R.drawable.ic_sd_card_48dp)
                 .setColor(mContext.getColor(R.color.system_notification_accent_color))
                 .setContentTitle(title)
@@ -531,10 +534,11 @@
                 .setLocalOnly(true)
                 .setCategory(Notification.CATEGORY_SYSTEM)
                 .setPriority(Notification.PRIORITY_LOW)
-                .setAutoCancel(true)
-                .build();
+                .setAutoCancel(true);
+        SystemUI.overrideNotificationAppName(mContext, builder);
 
-        mNotificationManager.notifyAsUser(move.packageName, MOVE_ID, notif, UserHandle.ALL);
+        mNotificationManager.notifyAsUser(move.packageName, MOVE_ID, builder.build(),
+                UserHandle.ALL);
     }
 
     private int getSmallIcon(DiskInfo disk, int state) {
@@ -555,7 +559,7 @@
 
     private Notification.Builder buildNotificationBuilder(VolumeInfo vol, CharSequence title,
             CharSequence text) {
-        return new Notification.Builder(mContext)
+        Notification.Builder builder = new Notification.Builder(mContext)
                 .setSmallIcon(getSmallIcon(vol.getDisk(), vol.getState()))
                 .setColor(mContext.getColor(R.color.system_notification_accent_color))
                 .setContentTitle(title)
@@ -563,6 +567,8 @@
                 .setStyle(new Notification.BigTextStyle().bigText(text))
                 .setVisibility(Notification.VISIBILITY_PUBLIC)
                 .setLocalOnly(true);
+        overrideNotificationAppName(mContext, builder);
+        return builder;
     }
 
     private PendingIntent buildInitPendingIntent(DiskInfo disk) {
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java
index c6992aa..af6fec2 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java
@@ -68,6 +68,7 @@
 import android.widget.SeekBar.OnSeekBarChangeListener;
 import android.widget.TextView;
 
+import com.android.settingslib.Utils;
 import com.android.systemui.R;
 import com.android.systemui.statusbar.policy.ZenModeController;
 import com.android.systemui.tuner.TunerService;
@@ -152,7 +153,7 @@
         mKeyguard = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
         mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
         mAccessibilityMgr = (AccessibilityManager) mContext.getSystemService(Context.ACCESSIBILITY_SERVICE);
-        mActiveSliderTint = loadColorStateList(R.color.system_accent_color);
+        mActiveSliderTint = ColorStateList.valueOf(Utils.getColorAccent(mContext));
         mInactiveSliderTint = loadColorStateList(R.color.volume_slider_inactive);
 
         initDialog();
@@ -562,6 +563,14 @@
         if (!mExpanded && mExpandButtonAnimationRunning) {
             prepareForCollapse();
         }
+        final Resources res = mContext.getResources();
+        int paddingTop = mExpanded
+                ? res.getDimensionPixelSize(R.dimen.volume_dialog_expanded_padding_top)
+                : res.getDimensionPixelSize(R.dimen.volume_dialog_collapsed_padding_top);
+        mDialogContentView.setPaddingRelative(mDialogContentView.getPaddingStart(),
+                paddingTop,
+                mDialogContentView.getPaddingEnd(),
+                mDialogContentView.getPaddingBottom());
         updateRowsH();
         if (mExpandButtonAnimationRunning) {
             final Drawable d = mExpandButton.getDrawable();
@@ -622,7 +631,6 @@
             Util.setVisOrGone(row.view, visible);
             Util.setVisOrGone(row.space, visible && mExpanded);
             updateVolumeRowHeaderVisibleH(row);
-            row.header.setAlpha(mExpanded && isActive ? 1 : 0.5f);
             updateVolumeRowSliderTintH(row, isActive);
         }
     }
@@ -740,21 +748,7 @@
         updateVolumeRowHeaderVisibleH(row);
 
         // update header text
-        String text = ss.name;
-        if (mShowHeaders) {
-            if (isRingZenNone) {
-                text = mContext.getString(R.string.volume_stream_muted_dnd, ss.name);
-            } else if (isRingVibrate && isRingLimited) {
-                text = mContext.getString(R.string.volume_stream_vibrate_dnd, ss.name);
-            } else if (isRingVibrate) {
-                text = mContext.getString(R.string.volume_stream_vibrate, ss.name);
-            } else if (ss.muted || mAutomute && ss.level == 0) {
-                text = mContext.getString(R.string.volume_stream_muted, ss.name);
-            } else if (isRingLimited) {
-                text = mContext.getString(R.string.volume_stream_limited_dnd, ss.name);
-            }
-        }
-        Util.setText(row.header, text);
+        Util.setText(row.header, ss.name);
 
         // update icon
         final boolean iconEnabled = (mAutomute || ss.muteSupported) && !zenMuted;
@@ -823,7 +817,7 @@
 
     private void updateVolumeRowHeaderVisibleH(VolumeRow row) {
         final boolean dynamic = row.ss != null && row.ss.dynamic;
-        final boolean showHeaders = mShowHeaders || mExpanded && dynamic;
+        final boolean showHeaders = mExpanded && (mShowHeaders || dynamic);
         if (row.cachedShowHeaders != showHeaders) {
             row.cachedShowHeaders = showHeaders;
             Util.setVisOrGone(row.header, showHeaders);
@@ -977,6 +971,7 @@
             final int density = newConfig.densityDpi;
             if (density != mDensity) {
                 mDialog.dismiss();
+                mZenFooter.cleanup();
                 initDialog();
             }
             updateWindowWidthH();
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java
index 3d33809..44a435e 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java
@@ -122,7 +122,6 @@
     private void applyConfiguration() {
         mDialog.setStreamImportant(AudioManager.STREAM_ALARM, true);
         mDialog.setStreamImportant(AudioManager.STREAM_SYSTEM, false);
-        mDialog.setShowHeaders(false);
         mDialog.setAutomute(true);
         mDialog.setSilentMode(false);
         mController.setVolumePolicy(mVolumePolicy);
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumePrefs.java b/packages/SystemUI/src/com/android/systemui/volume/VolumePrefs.java
index bbb70ed..04339eb 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumePrefs.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumePrefs.java
@@ -43,7 +43,7 @@
     public static final String PREF_ADJUST_ALARMS = "pref_adjust_alarms";
     public static final String PREF_ADJUST_NOTIFICATION = "pref_adjust_notification";
 
-    public static final boolean DEFAULT_SHOW_HEADERS = false;
+    public static final boolean DEFAULT_SHOW_HEADERS = true;
     public static final boolean DEFAULT_ENABLE_AUTOMUTE = true;
     public static final boolean DEFAULT_ENABLE_SILENT_MODE = true;
 
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java
index 2688813..c820302 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java
@@ -228,22 +228,23 @@
             }
             final Intent intent =  new Intent(Receiver.DISABLE)
                     .putExtra(Receiver.EXTRA_COMPONENT, component);
+            Notification.Builder builder = new Notification.Builder(mContext)
+                    .setSmallIcon(R.drawable.ic_volume_media)
+                    .setWhen(0)
+                    .setShowWhen(false)
+                    .setOngoing(true)
+                    .setContentTitle(mContext.getString(
+                            R.string.volumeui_notification_title, getAppLabel(component)))
+                    .setContentText(mContext.getString(R.string.volumeui_notification_text))
+                    .setContentIntent(PendingIntent.getBroadcast(mContext, 0, intent,
+                            PendingIntent.FLAG_UPDATE_CURRENT))
+                    .setPriority(Notification.PRIORITY_MIN)
+                    .setVisibility(Notification.VISIBILITY_PUBLIC)
+                    .setColor(mContext.getColor(
+                            com.android.internal.R.color.system_notification_accent_color));
+            overrideNotificationAppName(mContext, builder);
             mNotificationManager.notify(R.id.notification_volumeui,
-                    new Notification.Builder(mContext)
-                            .setSmallIcon(R.drawable.ic_volume_media)
-                            .setWhen(0)
-                            .setShowWhen(false)
-                            .setOngoing(true)
-                            .setContentTitle(mContext.getString(
-                                    R.string.volumeui_notification_title, getAppLabel(component)))
-                            .setContentText(mContext.getString(R.string.volumeui_notification_text))
-                            .setContentIntent(PendingIntent.getBroadcast(mContext, 0, intent,
-                                    PendingIntent.FLAG_UPDATE_CURRENT))
-                            .setPriority(Notification.PRIORITY_MIN)
-                            .setVisibility(Notification.VISIBILITY_PUBLIC)
-                            .setColor(mContext.getColor(
-                                    com.android.internal.R.color.system_notification_accent_color))
-                            .build());
+                    builder.build());
         }
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java b/packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java
index 65975d9..f01e95f 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java
@@ -79,18 +79,11 @@
         mZen = controller.getZen();
         mConfig = controller.getConfig();
         mController = controller;
+        mController.addCallback(mZenCallback);
         update();
     }
 
-    @Override
-    protected void onAttachedToWindow() {
-        super.onAttachedToWindow();
-        mController.addCallback(mZenCallback);
-    }
-
-    @Override
-    protected void onDetachedFromWindow() {
-        super.onDetachedFromWindow();
+    public void cleanup() {
         mController.removeCallback(mZenCallback);
     }
 
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/external/TileLifecycleManagerTests.java b/packages/SystemUI/tests/src/com/android/systemui/qs/external/TileLifecycleManagerTests.java
index a30f507..c93377a 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/external/TileLifecycleManagerTests.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/external/TileLifecycleManagerTests.java
@@ -36,6 +36,8 @@
 import android.util.ArraySet;
 import android.util.Log;
 
+import org.mockito.Mockito;
+
 @SmallTest
 public class TileLifecycleManagerTests extends AndroidTestCase {
     public static final String TILE_UPDATE_BROADCAST = "com.android.systemui.tests.TILE_UPDATE";
@@ -54,8 +56,11 @@
         mThread = new HandlerThread("TestThread");
         mThread.start();
         mHandler = new Handler(mThread.getLooper());
+        ComponentName component = new ComponentName(mContext, FakeTileService.class);
         mStateManager = new TileLifecycleManager(mHandler, getContext(),
-                new Intent(mContext, FakeTileService.class), new UserHandle(UserHandle.myUserId()));
+                Mockito.mock(IQSService.class), new Tile(component),
+                new Intent().setComponent(component),
+                new UserHandle(UserHandle.myUserId()));
         mCallbacks.clear();
         getContext().registerReceiver(mReceiver, new IntentFilter(TILE_UPDATE_BROADCAST));
     }
@@ -251,16 +256,6 @@
         @Override
         public IBinder onBind(Intent intent) {
             return new IQSTileService.Stub() {
-
-                @Override
-                public void setQSService(IQSService service) {
-
-                }
-
-                @Override
-                public void setQSTile(Tile tile) throws RemoteException {
-                }
-
                 @Override
                 public void onTileAdded() throws RemoteException {
                     sendCallback("onTileAdded");
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/external/TileServicesTests.java b/packages/SystemUI/tests/src/com/android/systemui/qs/external/TileServicesTests.java
index 94c98d6..de3864d 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/external/TileServicesTests.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/external/TileServicesTests.java
@@ -17,6 +17,7 @@
 
 import android.content.ComponentName;
 import android.os.Looper;
+import android.service.quicksettings.Tile;
 import android.test.suitebuilder.annotation.SmallTest;
 import com.android.systemui.SysuiTestCase;
 import com.android.systemui.statusbar.phone.QSTileHost;
@@ -109,7 +110,7 @@
         }
 
         @Override
-        protected TileServiceManager onCreateTileService(ComponentName component) {
+        protected TileServiceManager onCreateTileService(ComponentName component, Tile qsTile) {
             TileServiceManager manager = Mockito.mock(TileServiceManager.class);
             mManagers.add(manager);
             return manager;
diff --git a/packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java b/packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java
index a3ea592..47d1493 100644
--- a/packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java
+++ b/packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java
@@ -92,6 +92,11 @@
                 if (DEBUG) {
                     Slog.v(TAG, "Wallpaper is backup-eligible; linking & writing");
                 }
+
+                // In case of prior muddled state
+                infoStage.delete();
+                imageStage.delete();
+
                 Os.link(mWallpaperInfo.getCanonicalPath(), infoStage.getCanonicalPath());
                 fullBackupFile(infoStage, data);
                 Os.link(mWallpaperFile.getCanonicalPath(), imageStage.getCanonicalPath());
diff --git a/proto/src/metrics_constants.proto b/proto/src/metrics_constants.proto
index 1dcb13c..1fb9642 100644
--- a/proto/src/metrics_constants.proto
+++ b/proto/src/metrics_constants.proto
@@ -2219,6 +2219,12 @@
     // Notification group expansion state toggled by the expand gesture.
     ACTION_NOTIFICATION_GROUP_GESTURE_EXPANDER = 410;
 
+    // User performs gesture that activates the ambient display
+    // 1: Gesture performed is Nudge
+    // 2: Gesture performed is Pickup
+    // 4: Gesture performed is Double Tap
+    ACTION_AMBIENT_GESTURE = 411;
+
     // ---- End N Constants, all N constants go above this line ----
 
     // ------- Begin N App Disambig Shade -----
@@ -2256,8 +2262,112 @@
     // CATEGORY: SETTINGS
     SETTINGS_GESTURES = 459;
 
-    // ---- End N-MR1 Constants, all N-MR1 constants go above this line ----
+    // ------ Begin Deletion Helper ------
+    // ACTION: Settings > Storage > Free Up Space > Photos & Videos > Toggle
+    //   SUBTYPE: false is off, true is on
+    // CATEGORY: SETTINGS
+    ACTION_DELETION_SELECTION_PHOTOS = 460;
 
+    // ACTION: Settings > Storage > Free Up Space > Apps > Toggle
+    //   SUBTYPE: false is off, true is on
+    // CATEGORY: SETTINGS
+    ACTION_DELETION_SELECTION_ALL_APPS = 461;
+
+    // ACTION: Settings > Storage > Free Up Space > Apps > Click an unchecked app
+    // CATEGORY: SETTINGS
+    //   PACKAGE: Unchecked app
+    ACTION_DELETION_SELECTION_APP_ON = 462;
+
+    // ACTION: Settings > Storage > Free Up Space > Apps > Click a checked app
+    // CATEGORY: SETTINGS
+    //   PACKAGE: Checked app
+    ACTION_DELETION_SELECTION_APP_OFF = 463;
+
+    // ACTION: Settings > Storage > Free Up Space > Apps > Click category
+    //   SUBTYPE: false is expanded, true is collapsed
+    // CATEGORY: SETTINGS
+    ACTION_DELETION_APPS_COLLAPSED = 464;
+
+    // ACTION: Settings > Storage > Free Up Space > Downloads > Check On
+    //   SUBTYPE: false is off, true is on
+    // CATEGORY: SETTINGS
+    ACTION_DELETION_SELECTION_DOWNLOADS = 465;
+
+    // ACTION: Settings > Storage > Free Up Space > Downloads > Click category
+    //   SUBTYPE: false is expanded, true is collapsed
+    // CATEGORY: SETTINGS
+    ACTION_DELETION_DOWNLOADS_COLLAPSED = 466;
+
+    // ACTION: Settings > Storage > Free Up Space > Free up ... GB
+    // CATEGORY: SETTINGS
+    ACTION_DELETION_HELPER_CLEAR = 467;
+
+    // ACTION: Settings > Storage > Free Up Space > Cancel
+    // CATEGORY: SETTINGS
+    ACTION_DELETION_HELPER_CANCEL = 468;
+
+    // ACTION: Settings > Storage > Free Up Space > Free up ... GB > Remove
+    // CATEGORY: SETTINGS
+    ACTION_DELETION_HELPER_REMOVE_CONFIRM = 469;
+
+    // ACTION: Settings > Storage > Free Up Space > Free up ... GB > Cancel
+    // CATEGORY: SETTINGS
+    ACTION_DELETION_HELPER_REMOVE_CANCEL = 470;
+
+    // Deletion helper encountered an error during package deletion.
+    ACTION_DELETION_HELPER_APPS_DELETION_FAIL = 471;
+
+    // Deletion helper encountered an error during downloads folder deletion.
+    ACTION_DELETION_HELPER_DOWNLOADS_DELETION_FAIL = 472;
+
+    // Deletion helper encountered an error during photo and video deletion.
+    ACTION_DELETION_HELPER_PHOTOS_VIDEOS_DELETION_FAIL = 473;
+
+    // OPEN: Settings (root page if there are multiple tabs)
+    // CATEGORY: SETTINGS
+    DASHBOARD_CONTAINER = 474;
+
+    // OPEN: Settings -> SUPPORT TAB
+    // CATEGORY: SETTINGS
+    SUPPORT_FRAGMENT = 475;
+
+    // ACTION: Settings -> Select summary tab.
+    ACTION_SELECT_SUMMARY=476;
+
+    // ACTION: Settings -> Select support tab.
+    ACTION_SELECT_SUPPORT_FRAGMENT = 477;
+
+    // ACTION: Settings -> Support -> Tips & tricks
+    ACTION_SUPPORT_TIPS_AND_TRICKS = 478;
+
+    // ACTION: Settings -> Support -> Help & feedback
+    ACTION_SUPPORT_HELP_AND_FEEDBACK = 479;
+
+    // ACTION: Settings -> Support -> Sign in
+    ACTION_SUPPORT_SIGN_IN = 480;
+
+    // ACTION: Settings -> Support -> Phone
+    ACTION_SUPPORT_PHONE = 481;
+
+    // ACTION: Settings -> Support -> Chat
+    ACTION_SUPPORT_CHAT = 482;
+
+    // ACTION: Settings -> Support -> Phone/Chat -> Disclaimer Cancel
+    ACTION_SUPPORT_DISCLAIMER_CANCEL = 483;
+
+    // ACTION: Settings -> Support -> Phone/Chat -> Disclaimer OK
+    ACTION_SUPPORT_DISCLAIMER_OK = 484;
+
+    // ACTION: Settings -> Support -> Toll-Free Phone
+    ACTION_SUPPORT_DAIL_TOLLFREE = 485;
+
+    // ACTION: Settings -> Support -> "Travel Abroad" Button
+    ACTION_SUPPORT_VIEW_TRAVEL_ABROAD_DIALOG = 486;
+
+    // ACTION: Settings -> Support -> "Travel Abroad" Button -> Tolled Phone
+    ACTION_SUPPORT_DIAL_TOLLED = 487;
+
+    // ---- End N-MR1 Constants, all N-MR1 constants go above this line ----
     // Add new aosp constants above this line.
     // END OF AOSP CONSTANTS
   }
diff --git a/rs/java/android/renderscript/RenderScript.java b/rs/java/android/renderscript/RenderScript.java
index 3d1370a..3333aa8 100644
--- a/rs/java/android/renderscript/RenderScript.java
+++ b/rs/java/android/renderscript/RenderScript.java
@@ -752,20 +752,12 @@
         rsnScriptForEach(mContext, id, slot, ains, aout, params, limits);
     }
 
-    native void rsnScriptReduce(long con, long id, int slot, long ain,
+    native void rsnScriptReduce(long con, long id, int slot, long[] ains,
                                 long aout, int[] limits);
-    synchronized void nScriptReduce(long id, int slot, long ain, long aout,
+    synchronized void nScriptReduce(long id, int slot, long ains[], long aout,
                                     int[] limits) {
         validate();
-        rsnScriptReduce(mContext, id, slot, ain, aout, limits);
-    }
-
-    native void rsnScriptReduceNew(long con, long id, int slot, long[] ains,
-                                   long aout, int[] limits);
-    synchronized void nScriptReduceNew(long id, int slot, long ains[], long aout,
-                                       int[] limits) {
-        validate();
-        rsnScriptReduceNew(mContext, id, slot, ains, aout, limits);
+        rsnScriptReduce(mContext, id, slot, ains, aout, limits);
     }
 
     native void rsnScriptInvokeV(long con, long id, int slot, byte[] params);
diff --git a/rs/java/android/renderscript/Script.java b/rs/java/android/renderscript/Script.java
index fc3280b..13d5fcd 100644
--- a/rs/java/android/renderscript/Script.java
+++ b/rs/java/android/renderscript/Script.java
@@ -286,35 +286,6 @@
     }
 
     /**
-     * Only intended for use by generated reflected code.  (Simple reduction)
-     *
-     * @hide
-     */
-    protected void reduce(int slot, Allocation ain, Allocation aout, LaunchOptions sc) {
-        mRS.validate();
-        mRS.validateObject(ain);
-        mRS.validateObject(aout);
-
-        if (ain == null || aout == null) {
-            throw new RSIllegalArgumentException(
-                "Both ain and aout are required to be non-null.");
-        }
-
-        long in_id = ain.getID(mRS);
-        long out_id = aout.getID(mRS);
-
-        int[] limits = null;
-        if (sc != null) {
-            limits = new int[2];
-
-            limits[0] = sc.xstart;
-            limits[1] = sc.xend;
-        }
-
-        mRS.nScriptReduce(getID(mRS), slot, in_id, out_id, limits);
-    }
-
-    /**
      * Only intended for use by generated reflected code.  (General reduction)
      *
      */
@@ -350,7 +321,7 @@
             limits[5] = sc.zend;
         }
 
-        mRS.nScriptReduceNew(getID(mRS), slot, in_ids, out_id, limits);
+        mRS.nScriptReduce(getID(mRS), slot, in_ids, out_id, limits);
     }
 
     long[] mInIdsBuffer;
diff --git a/rs/jni/android_renderscript_RenderScript.cpp b/rs/jni/android_renderscript_RenderScript.cpp
index e0f5934..aa2a607 100644
--- a/rs/jni/android_renderscript_RenderScript.cpp
+++ b/rs/jni/android_renderscript_RenderScript.cpp
@@ -2094,67 +2094,10 @@
 
 static void
 nScriptReduce(JNIEnv *_env, jobject _this, jlong con, jlong script, jint slot,
-              jlong ain, jlong aout, jintArray limits)
+              jlongArray ains, jlong aout, jintArray limits)
 {
     if (kLogApi) {
-        ALOGD("nScriptReduce, con(%p), s(%p), slot(%i) ain(%" PRId64 ") aout(%" PRId64 ")", (RsContext)con, (void *)script, slot, ain, aout);
-    }
-
-    RsScriptCall sc, *sca = nullptr;
-    uint32_t sc_size = 0;
-
-    jint  limit_len = 0;
-    jint *limit_ptr = nullptr;
-
-    // If the caller passed limits, reflect them in the RsScriptCall.
-    if (limits != nullptr) {
-        limit_len = _env->GetArrayLength(limits);
-        limit_ptr = _env->GetIntArrayElements(limits, nullptr);
-        if (limit_ptr == nullptr) {
-            ALOGE("Failed to get Java array elements");
-            return;
-        }
-
-        // We expect to be passed an array [x1, x2] which specifies
-        // the sub-range for a 1-dimensional reduction.
-        assert(limit_len == 2);
-        UNUSED(limit_len);  // As the assert might not be compiled.
-
-        sc.xStart     = limit_ptr[0];
-        sc.xEnd       = limit_ptr[1];
-        sc.yStart     = 0;
-        sc.yEnd       = 0;
-        sc.zStart     = 0;
-        sc.zEnd       = 0;
-        sc.strategy   = RS_FOR_EACH_STRATEGY_DONT_CARE;
-        sc.arrayStart = 0;
-        sc.arrayEnd = 0;
-        sc.array2Start = 0;
-        sc.array2End = 0;
-        sc.array3Start = 0;
-        sc.array3End = 0;
-        sc.array4Start = 0;
-        sc.array4End = 0;
-
-        sca = &sc;
-        sc_size = sizeof(sc);
-    }
-
-    rsScriptReduce((RsContext)con, (RsScript)script, slot,
-                   (RsAllocation)ain, (RsAllocation)aout,
-                   sca, sc_size);
-
-    if (limits != nullptr) {
-        _env->ReleaseIntArrayElements(limits, limit_ptr, JNI_ABORT);
-    }
-}
-
-static void
-nScriptReduceNew(JNIEnv *_env, jobject _this, jlong con, jlong script, jint slot,
-                 jlongArray ains, jlong aout, jintArray limits)
-{
-    if (kLogApi) {
-        ALOGD("nScriptReduceNew, con(%p), s(%p), slot(%i) ains(%p) aout(%" PRId64 ")", (RsContext)con, (void *)script, slot, ains, aout);
+        ALOGD("nScriptReduce, con(%p), s(%p), slot(%i) ains(%p) aout(%" PRId64 ")", (RsContext)con, (void *)script, slot, ains, aout);
     }
 
     if (ains == nullptr) {
@@ -2233,9 +2176,9 @@
         sc_size = sizeof(sc);
     }
 
-    rsScriptReduceNew((RsContext)con, (RsScript)script, slot,
-                      in_allocs, in_len, (RsAllocation)aout,
-                      sca, sc_size);
+    rsScriptReduce((RsContext)con, (RsScript)script, slot,
+                   in_allocs, in_len, (RsAllocation)aout,
+                   sca, sc_size);
 
     _env->ReleaseLongArrayElements(ains, in_ptr, JNI_ABORT);
 
@@ -2951,8 +2894,7 @@
 {"rsnScriptInvokeV",                 "(JJI[B)V",                              (void*)nScriptInvokeV },
 
 {"rsnScriptForEach",                 "(JJI[JJ[B[I)V",                         (void*)nScriptForEach },
-{"rsnScriptReduce",                  "(JJIJJ[I)V",                            (void*)nScriptReduce },
-{"rsnScriptReduceNew",               "(JJI[JJ[I)V",                           (void*)nScriptReduceNew },
+{"rsnScriptReduce",                  "(JJI[JJ[I)V",                           (void*)nScriptReduce },
 
 {"rsnScriptSetVarI",                 "(JJII)V",                               (void*)nScriptSetVarI },
 {"rsnScriptGetVarI",                 "(JJI)I",                                (void*)nScriptGetVarI },
diff --git a/services/Android.mk b/services/Android.mk
index 1918db5..3385bed 100644
--- a/services/Android.mk
+++ b/services/Android.mk
@@ -28,6 +28,7 @@
     net \
     print \
     restrictions \
+    retaildemo \
     usage \
     usb \
     voiceinteraction
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
index 7da969f..60d3339 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
@@ -2228,7 +2228,8 @@
             @Override
             public void handleMessage(Message message) {
                 final int eventType =  message.what;
-                notifyAccessibilityEventInternal(eventType);
+                AccessibilityEvent event = (AccessibilityEvent) message.obj;
+                notifyAccessibilityEventInternal(eventType, event);
             }
         };
 
@@ -3130,16 +3131,22 @@
                 // be modified to remove its source if the receiving service does
                 // not have permission to access the window content.
                 AccessibilityEvent newEvent = AccessibilityEvent.obtain(event);
-                AccessibilityEvent oldEvent = mPendingEvents.get(eventType);
-                mPendingEvents.put(eventType, newEvent);
-
-                final int what = eventType;
-                if (oldEvent != null) {
-                    mEventDispatchHandler.removeMessages(what);
-                    oldEvent.recycle();
+                Message message;
+                if ((mNotificationTimeout > 0)
+                        && (eventType != AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED)) {
+                    // Allow at most one pending event
+                    final AccessibilityEvent oldEvent = mPendingEvents.get(eventType);
+                    mPendingEvents.put(eventType, newEvent);
+                    if (oldEvent != null) {
+                        mEventDispatchHandler.removeMessages(eventType);
+                        oldEvent.recycle();
+                    }
+                    message = mEventDispatchHandler.obtainMessage(eventType);
+                } else {
+                    // Send all messages, bypassing mPendingEvents
+                    message = mEventDispatchHandler.obtainMessage(eventType, newEvent);
                 }
 
-                Message message = mEventDispatchHandler.obtainMessage(what);
                 mEventDispatchHandler.sendMessageDelayed(message, mNotificationTimeout);
             }
         }
@@ -3149,9 +3156,8 @@
          *
          * @param eventType The type of the event to dispatch.
          */
-        private void notifyAccessibilityEventInternal(int eventType) {
+        private void notifyAccessibilityEventInternal(int eventType, AccessibilityEvent event) {
             IAccessibilityServiceClient listener;
-            AccessibilityEvent event;
 
             synchronized (mLock) {
                 listener = mServiceInterface;
@@ -3162,28 +3168,32 @@
                     return;
                 }
 
-                event = mPendingEvents.get(eventType);
-
-                // Check for null here because there is a concurrent scenario in which this
-                // happens: 1) A binder thread calls notifyAccessibilityServiceDelayedLocked
-                // which posts a message for dispatching an event. 2) The message is pulled
-                // from the queue by the handler on the service thread and the latter is
-                // just about to acquire the lock and call this method. 3) Now another binder
-                // thread acquires the lock calling notifyAccessibilityServiceDelayedLocked
-                // so the service thread waits for the lock; 4) The binder thread replaces
-                // the event with a more recent one (assume the same event type) and posts a
-                // dispatch request releasing the lock. 5) Now the main thread is unblocked and
-                // dispatches the event which is removed from the pending ones. 6) And ... now
-                // the service thread handles the last message posted by the last binder call
-                // but the event is already dispatched and hence looking it up in the pending
-                // ones yields null. This check is much simpler that keeping count for each
-                // event type of each service to catch such a scenario since only one message
-                // is processed at a time.
+                // There are two ways we notify for events, throttled and non-throttled. If we
+                // are not throttling, then messages come with events, which we handle with
+                // minimal fuss.
                 if (event == null) {
-                    return;
+                    // We are throttling events, so we'll send the event for this type in
+                    // mPendingEvents as long as it it's null. It can only null due to a race
+                    // condition:
+                    //
+                    //   1) A binder thread calls notifyAccessibilityServiceDelayedLocked
+                    //      which posts a message for dispatching an event and stores the event
+                    //      in mPendingEvents.
+                    //   2) The message is pulled from the queue by the handler on the service
+                    //      thread and this method is just about to acquire the lock.
+                    //   3) Another binder thread acquires the lock in notifyAccessibilityEvent
+                    //   4) notifyAccessibilityEvent recycles the event that this method was about
+                    //      to process, replaces it with a new one, and posts a second message
+                    //   5) This method grabs the new event, processes it, and removes it from
+                    //      mPendingEvents
+                    //   6) The second message dispatched in (4) arrives, but the event has been
+                    //      remvoved in (5).
+                    event = mPendingEvents.get(eventType);
+                    if (event == null) {
+                        return;
+                    }
+                    mPendingEvents.remove(eventType);
                 }
-
-                mPendingEvents.remove(eventType);
                 if (mSecurityPolicy.canRetrieveWindowContentLocked(this)) {
                     event.setConnectionId(mId);
                 } else {
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
index 04a0990..feceb14 100644
--- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
+++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
@@ -20,6 +20,7 @@
 import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS;
 import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
 
+import android.annotation.UserIdInt;
 import android.app.AlarmManager;
 import android.app.AppGlobals;
 import android.app.AppOpsManager;
@@ -67,6 +68,7 @@
 import android.os.SystemClock;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.os.storage.StorageManager;
 import android.text.TextUtils;
 import android.util.ArraySet;
 import android.util.AtomicFile;
@@ -650,7 +652,7 @@
     }
 
     private void ensureGroupStateLoadedLocked(int userId, boolean enforceUserUnlockingOrUnlocked) {
-        if (enforceUserUnlockingOrUnlocked && !mUserManager.isUserUnlockingOrUnlocked(userId)) {
+        if (enforceUserUnlockingOrUnlocked && !isUserRunningAndUnlocked(userId)) {
             throw new IllegalStateException(
                     "User " + userId + " must be unlocked for widgets to be available");
         }
@@ -695,6 +697,10 @@
         loadGroupStateLocked(newProfileIds);
     }
 
+    private boolean isUserRunningAndUnlocked(@UserIdInt int userId) {
+        return mUserManager.isUserRunning(userId) && StorageManager.isUserKeyUnlocked(userId);
+    }
+
     @Override
     public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
         mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DUMP,
@@ -3381,7 +3387,7 @@
             if (userInfo != null && userInfo.isManagedProfile()) {
                 UserInfo parentInfo = mUserManager.getProfileParent(userId);
                 if (parentInfo != null
-                        && !mUserManager.isUserUnlockingOrUnlocked(parentInfo.getUserHandle())) {
+                        && !isUserRunningAndUnlocked(parentInfo.getUserHandle().getIdentifier())) {
                     return true;
                 }
             }
diff --git a/services/backup/java/com/android/server/backup/BackupManagerService.java b/services/backup/java/com/android/server/backup/BackupManagerService.java
index acc2ec3..e6f99c1 100644
--- a/services/backup/java/com/android/server/backup/BackupManagerService.java
+++ b/services/backup/java/com/android/server/backup/BackupManagerService.java
@@ -725,6 +725,19 @@
         return true;
     }
 
+    /* adb backup: is this app only capable of doing key/value?  We say otherwise if
+     * the app has a backup agent and does not say fullBackupOnly, *unless* it
+     * is a package that we know _a priori_ explicitly supports both key/value and
+     * full-data backup.
+     */
+    private static boolean appIsKeyValueOnly(PackageInfo pkg) {
+        if ("com.android.providers.settings".equals(pkg.packageName)) {
+            return false;
+        }
+
+        return !appGetsFullBackup(pkg);
+    }
+
     // ----- Asynchronous backup/restore handler thread -----
 
     private class BackupHandler extends Handler {
@@ -2356,7 +2369,8 @@
             mConnecting = true;
             mConnectedAgent = null;
             try {
-                if (mActivityManager.bindBackupAgent(app, mode)) {
+                if (mActivityManager.bindBackupAgent(app.packageName, mode,
+                        UserHandle.USER_OWNER)) {
                     Slog.d(TAG, "awaiting agent for " + app);
 
                     // success; wait for the agent to arrive
@@ -3445,8 +3459,8 @@
             Intent obbIntent = new Intent().setComponent(new ComponentName(
                     "com.android.sharedstoragebackup",
                     "com.android.sharedstoragebackup.ObbBackupService"));
-            BackupManagerService.this.mContext.bindService(
-                    obbIntent, this, Context.BIND_AUTO_CREATE);
+            BackupManagerService.this.mContext.bindServiceAsUser(
+                    obbIntent, this, Context.BIND_AUTO_CREATE, UserHandle.SYSTEM);
         }
 
         public void tearDown() {
@@ -3964,7 +3978,7 @@
     }
 
     // Full backup task variant used for adb backup
-    class PerformAdbBackupTask extends FullBackupTask {
+    class PerformAdbBackupTask extends FullBackupTask implements BackupRestoreTask {
         FullBackupEngine mBackupEngine;
         final AtomicBoolean mLatch;
 
@@ -3978,6 +3992,7 @@
         boolean mIncludeSystem;
         boolean mCompress;
         ArrayList<String> mPackages;
+        PackageInfo mCurrentTarget;
         String mCurrentPassword;
         String mEncryptPassword;
 
@@ -4008,6 +4023,9 @@
             } else {
                 mEncryptPassword = encryptPassword;
             }
+            if (MORE_DEBUG) {
+                Slog.w(TAG, "Encrypting backup with passphrase=" + mEncryptPassword);
+            }
             mCompress = doCompress;
         }
 
@@ -4164,7 +4182,9 @@
             Iterator<Entry<String, PackageInfo>> iter = packagesToBackup.entrySet().iterator();
             while (iter.hasNext()) {
                 PackageInfo pkg = iter.next().getValue();
-                if (!appIsEligibleForBackup(pkg.applicationInfo)) {
+                if (!appIsEligibleForBackup(pkg.applicationInfo)
+                        || appIsStopped(pkg.applicationInfo)
+                        || appIsKeyValueOnly(pkg)) {
                     iter.remove();
                 }
             }
@@ -4266,9 +4286,11 @@
                     final boolean isSharedStorage =
                             pkg.packageName.equals(SHARED_BACKUP_AGENT_PACKAGE);
 
-                    mBackupEngine = new FullBackupEngine(out, null, pkg, mIncludeApks, null);
+                    mBackupEngine = new FullBackupEngine(out, null, pkg, mIncludeApks, this);
                     sendOnBackupPackage(isSharedStorage ? "Shared storage" : pkg.packageName);
+
                     // Don't need to check preflight result as there is no preflight hook.
+                    mCurrentTarget = pkg;
                     mBackupEngine.backupOnePackage();
 
                     // after the app's agent runs to handle its private filesystem
@@ -4307,6 +4329,28 @@
                 mWakelock.release();
             }
         }
+
+        // BackupRestoreTask methods, used for timeout handling
+        @Override
+        public void execute() {
+            // Unused
+        }
+
+        @Override
+        public void operationComplete(long result) {
+            // Unused
+        }
+
+        @Override
+        public void handleTimeout() {
+            final PackageInfo target = mCurrentTarget;
+            if (DEBUG) {
+                Slog.w(TAG, "adb backup timeout of " + target);
+            }
+            if (target != null) {
+                tearDownAgentAndKill(mCurrentTarget.applicationInfo);
+            }
+        }
     }
 
     // Full backup task extension used for transport-oriented operation
@@ -5254,7 +5298,7 @@
         byte[] mWidgetData = null;
 
         // Runner that can be placed in a separate thread to do in-process
-        // invocations of the full restore API asynchronously
+        // invocations of the full restore API asynchronously. Used by adb restore.
         class RestoreFileRunnable implements Runnable {
             IBackupAgent mAgent;
             FileMetadata mInfo;
@@ -6403,6 +6447,46 @@
 
     // ***** end new engine class ***
 
+    // Used for synchronizing doRestoreFinished during adb restore
+    class AdbRestoreFinishedLatch implements BackupRestoreTask {
+        static final String TAG = "AdbRestoreFinishedLatch";
+        final CountDownLatch mLatch;
+
+        AdbRestoreFinishedLatch() {
+            mLatch = new CountDownLatch(1);
+        }
+
+        void await() {
+            boolean latched = false;
+            try {
+                latched = mLatch.await(TIMEOUT_FULL_BACKUP_INTERVAL, TimeUnit.MILLISECONDS);
+            } catch (InterruptedException e) {
+                Slog.w(TAG, "Interrupted!");
+            }
+        }
+
+        @Override
+        public void execute() {
+            // Unused
+        }
+
+        @Override
+        public void operationComplete(long result) {
+            if (MORE_DEBUG) {
+                Slog.w(TAG, "adb onRestoreFinished() complete");
+            }
+            mLatch.countDown();
+        }
+
+        @Override
+        public void handleTimeout() {
+            if (DEBUG) {
+                Slog.w(TAG, "adb onRestoreFinished() timed out");
+            }
+            mLatch.countDown();
+        }
+    }
+
     class PerformAdbRestoreTask implements Runnable {
         ParcelFileDescriptor mInputFile;
         String mCurrentPassword;
@@ -6418,6 +6502,27 @@
 
         long mBytes;
 
+        // Runner that can be placed on a separate thread to do in-process invocation
+        // of the "restore finished" API asynchronously.  Used by adb restore.
+        class RestoreFinishedRunnable implements Runnable {
+            final IBackupAgent mAgent;
+            final int mToken;
+
+            RestoreFinishedRunnable(IBackupAgent agent, int token) {
+                mAgent = agent;
+                mToken = token;
+            }
+
+            @Override
+            public void run() {
+                try {
+                    mAgent.doRestoreFinished(mToken, mBackupManagerBinder);
+                } catch (RemoteException e) {
+                    // never happens; this is used only for local binder calls
+                }
+            }
+        }
+
         // possible handling states for a given package in the restore dataset
         final HashMap<String, RestorePolicy> mPackagePolicies
                 = new HashMap<String, RestorePolicy>();
@@ -6559,7 +6664,7 @@
                 Slog.e(TAG, "Unable to read restore input");
             } finally {
                 tearDownPipes();
-                tearDownAgent(mTargetApp);
+                tearDownAgent(mTargetApp, true);
 
                 try {
                     if (rawDataIn != null) rawDataIn.close();
@@ -6713,7 +6818,7 @@
                             if (DEBUG) Slog.d(TAG, "Saw new package; finalizing old one");
                             // Now we're really done
                             tearDownPipes();
-                            tearDownAgent(mTargetApp);
+                            tearDownAgent(mTargetApp, true);
                             mTargetApp = null;
                             mAgentPackage = null;
                         }
@@ -6935,10 +7040,12 @@
                             // okay, if the remote end failed at any point, deal with
                             // it by ignoring the rest of the restore on it
                             if (!agentSuccess) {
+                                if (DEBUG) {
+                                    Slog.d(TAG, "Agent failure restoring " + pkg + "; now ignoring");
+                                }
                                 mBackupHandler.removeMessages(MSG_TIMEOUT);
                                 tearDownPipes();
-                                tearDownAgent(mTargetApp);
-                                mAgent = null;
+                                tearDownAgent(mTargetApp, false);
                                 mPackagePolicies.put(pkg, RestorePolicy.IGNORE);
                             }
                         }
@@ -6987,9 +7094,27 @@
             }
         }
 
-        void tearDownAgent(ApplicationInfo app) {
+        void tearDownAgent(ApplicationInfo app, boolean doRestoreFinished) {
             if (mAgent != null) {
                 try {
+                    // In the adb restore case, we do restore-finished here
+                    if (doRestoreFinished) {
+                        final int token = generateToken();
+                        final AdbRestoreFinishedLatch latch = new AdbRestoreFinishedLatch();
+                        prepareOperationTimeout(token, TIMEOUT_FULL_BACKUP_INTERVAL, latch);
+                        if (mTargetApp.processName.equals("system")) {
+                            if (MORE_DEBUG) {
+                                Slog.d(TAG, "system agent - restoreFinished on thread");
+                            }
+                            Runnable runner = new RestoreFinishedRunnable(mAgent, token);
+                            new Thread(runner, "restore-sys-finished-runner").start();
+                        } else {
+                            mAgent.doRestoreFinished(token, mBackupManagerBinder);
+                        }
+
+                        latch.await();
+                    }
+
                     // unbind and tidy up even on timeout or failure, just in case
                     mActivityManager.unbindBackupAgent(app);
 
@@ -9353,7 +9478,7 @@
                     "com.android.backupconfirm.BackupRestoreConfirmation");
             confIntent.putExtra(FullBackup.CONF_TOKEN_INTENT_EXTRA, token);
             confIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-            mContext.startActivity(confIntent);
+            mContext.startActivityAsUser(confIntent, UserHandle.SYSTEM);
         } catch (ActivityNotFoundException e) {
             return false;
         }
@@ -9597,6 +9722,15 @@
         return list;
     }
 
+    public String[] getTransportWhitelist() {
+        // No permission check, intentionally.
+        String[] whitelist = new String[mTransportWhitelist.size()];
+        for (int i = mTransportWhitelist.size() - 1; i >= 0; i--) {
+            whitelist[i] = mTransportWhitelist.valueAt(i).flattenToShortString();
+        }
+        return whitelist;
+    }
+
     // Select which transport to use for the next backup operation.
     public String selectBackupTransport(String transport) {
         mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BACKUP,
@@ -9849,7 +9983,11 @@
 
         synchronized(this) {
             if (mActiveRestoreSession != null) {
-                Slog.d(TAG, "Restore session requested but one already active");
+                Slog.i(TAG, "Restore session requested but one already active");
+                return null;
+            }
+            if (mBackupRunning) {
+                Slog.i(TAG, "Restore session requested but currently running backups");
                 return null;
             }
             mActiveRestoreSession = new ActiveRestoreSession(packageName, transport);
diff --git a/services/backup/java/com/android/server/backup/Trampoline.java b/services/backup/java/com/android/server/backup/Trampoline.java
index e745263..312b878 100644
--- a/services/backup/java/com/android/server/backup/Trampoline.java
+++ b/services/backup/java/com/android/server/backup/Trampoline.java
@@ -275,6 +275,12 @@
     }
 
     @Override
+    public String[] getTransportWhitelist() {
+        BackupManagerService svc = mService;
+        return (svc != null) ? svc.getTransportWhitelist() : null;
+    }
+
+    @Override
     public String selectBackupTransport(String transport) throws RemoteException {
         BackupManagerService svc = mService;
         return (svc != null) ? svc.selectBackupTransport(transport) : null;
diff --git a/services/core/java/com/android/server/AlarmManagerService.java b/services/core/java/com/android/server/AlarmManagerService.java
index 8ad6e6a..312553a 100644
--- a/services/core/java/com/android/server/AlarmManagerService.java
+++ b/services/core/java/com/android/server/AlarmManagerService.java
@@ -3073,9 +3073,11 @@
                 fs.numWakeup++;
                 if (alarm.workSource != null && alarm.workSource.size() > 0) {
                     for (int wi=0; wi<alarm.workSource.size(); wi++) {
+                        final String wsName = alarm.workSource.getName(wi);
                         ActivityManagerNative.noteWakeupAlarm(
                                 alarm.operation, alarm.workSource.get(wi),
-                                alarm.workSource.getName(wi), alarm.statsTag);
+                                (wsName != null) ? wsName : alarm.packageName,
+                                alarm.statsTag);
                     }
                 } else {
                     ActivityManagerNative.noteWakeupAlarm(
diff --git a/services/core/java/com/android/server/AnyMotionDetector.java b/services/core/java/com/android/server/AnyMotionDetector.java
index e98b4aa..a8ae914d 100644
--- a/services/core/java/com/android/server/AnyMotionDetector.java
+++ b/services/core/java/com/android/server/AnyMotionDetector.java
@@ -308,7 +308,7 @@
     /**
      * A timestamped three dimensional vector and some vector operations.
      */
-    private static class Vector3 {
+    public static final class Vector3 {
         public long timeMillisSinceBoot;
         public float x;
         public float y;
@@ -321,11 +321,11 @@
             this.z = z;
         }
 
-        private float norm() {
+        public float norm() {
             return (float) Math.sqrt(dotProduct(this));
         }
 
-        private Vector3 normalized() {
+        public Vector3 normalized() {
             float mag = norm();
             return new Vector3(timeMillisSinceBoot, x / mag, y / mag, z / mag);
         }
@@ -338,12 +338,20 @@
          * @return angle between this vector and the other given one.
          */
         public float angleBetween(Vector3 other) {
-            double degrees = Math.toDegrees(Math.acos(this.dotProduct(other)));
-            float returnValue = (float) degrees;
+            Vector3 crossVector = cross(other);
+            float degrees = Math.abs((float)Math.toDegrees(
+                    Math.atan2(crossVector.norm(), dotProduct(other))));
             Slog.d(TAG, "angleBetween: this = " + this.toString() +
-                    ", other = " + other.toString());
-            Slog.d(TAG, "    degrees = " + degrees + ", returnValue = " + returnValue);
-            return returnValue;
+                ", other = " + other.toString() + ", degrees = " + degrees);
+            return degrees;
+        }
+
+        public Vector3 cross(Vector3 v) {
+            return new Vector3(
+                v.timeMillisSinceBoot,
+                y * v.z - z * v.y,
+                z * v.x - x * v.z,
+                x * v.y - y * v.x);
         }
 
         @Override
diff --git a/services/core/java/com/android/server/AttributeCache.java b/services/core/java/com/android/server/AttributeCache.java
index 57f18c0..58ec836 100644
--- a/services/core/java/com/android/server/AttributeCache.java
+++ b/services/core/java/com/android/server/AttributeCache.java
@@ -25,23 +25,24 @@
 import android.content.res.TypedArray;
 import android.os.UserHandle;
 import android.util.ArrayMap;
+import android.util.LruCache;
 import android.util.SparseArray;
 
 import com.android.internal.annotations.GuardedBy;
 
-import java.lang.ref.WeakReference;
-
 /**
  * TODO: This should be better integrated into the system so it doesn't need
  * special calls from the activity manager to clear it.
  */
 public final class AttributeCache {
+    private static final int CACHE_SIZE = 4;
     private static AttributeCache sInstance = null;
 
     private final Context mContext;
 
     @GuardedBy("this")
-    private final ArrayMap<String, WeakReference<Package>> mPackages = new ArrayMap<>();
+    private final LruCache<String, Package> mPackages = new LruCache<>(CACHE_SIZE);
+
     @GuardedBy("this")
     private final Configuration mConfiguration = new Configuration();
 
@@ -86,15 +87,12 @@
 
     public void removePackage(String packageName) {
         synchronized (this) {
-            final WeakReference<Package> ref = mPackages.remove(packageName);
-            final Package pkg = (ref != null) ? ref.get() : null;
+            final Package pkg = mPackages.remove(packageName);
             if (pkg != null) {
-                if (pkg.mMap != null) {
-                    for (int i = 0; i < pkg.mMap.size(); i++) {
-                        final ArrayMap<int[], Entry> map = pkg.mMap.valueAt(i);
-                        for (int j = 0; j < map.size(); j++) {
-                            map.valueAt(j).recycle();
-                        }
+                for (int i = 0; i < pkg.mMap.size(); i++) {
+                    final ArrayMap<int[], Entry> map = pkg.mMap.valueAt(i);
+                    for (int j = 0; j < map.size(); j++) {
+                        map.valueAt(j).recycle();
                     }
                 }
 
@@ -113,15 +111,14 @@
                 // The configurations being masked out are ones that commonly
                 // change so we don't want flushing the cache... all others
                 // will flush the cache.
-                mPackages.clear();
+                mPackages.evictAll();
             }
         }
     }
     
     public Entry get(String packageName, int resId, int[] styleable, int userId) {
         synchronized (this) {
-            WeakReference<Package> ref = mPackages.get(packageName);
-            Package pkg = (ref != null) ? ref.get() : null;
+            Package pkg = mPackages.get(packageName);
             ArrayMap<int[], Entry> map = null;
             Entry ent = null;
             if (pkg != null) {
@@ -144,7 +141,7 @@
                     return null;
                 }
                 pkg = new Package(context);
-                mPackages.put(packageName, new WeakReference<>(pkg));
+                mPackages.put(packageName, pkg);
             }
             
             if (map == null) {
diff --git a/services/core/java/com/android/server/BluetoothManagerService.java b/services/core/java/com/android/server/BluetoothManagerService.java
index d58f864..8c5887f 100644
--- a/services/core/java/com/android/server/BluetoothManagerService.java
+++ b/services/core/java/com/android/server/BluetoothManagerService.java
@@ -61,7 +61,7 @@
 
 class BluetoothManagerService extends IBluetoothManager.Stub {
     private static final String TAG = "BluetoothManagerService";
-    private static final boolean DBG = false;
+    private static final boolean DBG = true;
 
     private static final String BLUETOOTH_ADMIN_PERM = android.Manifest.permission.BLUETOOTH_ADMIN;
     private static final String BLUETOOTH_PERM = android.Manifest.permission.BLUETOOTH;
@@ -222,7 +222,7 @@
                             } catch (RemoteException e) {
                                 Slog.e(TAG,"Unable to call onBrEdrDown", e);
                             } finally {
-                                mBluetoothLock.readLock().lock();
+                                mBluetoothLock.readLock().unlock();
                             }
                         } else if (st == BluetoothAdapter.STATE_ON){
                             // disable without persisting the setting
@@ -1171,8 +1171,27 @@
                     }
                     mHandler.removeMessages(MESSAGE_RESTART_BLUETOOTH_SERVICE);
                     mEnable = true;
+
+                    // Use service interface to get the exact state
+                    try {
+                        mBluetoothLock.readLock().lock();
+                        if (mBluetooth != null) {
+                            int state = mBluetooth.getState();
+                            if (state == BluetoothAdapter.STATE_BLE_ON) {
+                                Slog.w(TAG, "BT is in BLE_ON State");
+                                mBluetooth.onLeServiceUp();
+                                break;
+                            }
+                        }
+                    } catch (RemoteException e) {
+                        Slog.e(TAG, "", e);
+                    } finally {
+                        mBluetoothLock.readLock().unlock();
+                    }
+
+                    mQuietEnable = (msg.arg1 == 1);
                     if (mBluetooth == null) {
-                        handleEnable(msg.arg1 == 1);
+                        handleEnable(mQuietEnable);
                     } else {
                         //
                         // We need to wait until transitioned to STATE_OFF and
@@ -1190,7 +1209,6 @@
                         // on the order of (2 * SERVICE_RESTART_TIME_MS).
                         //
                         waitForOnOff(false, true);
-                        mQuietEnable = (msg.arg1 == 1);
                         Message restartMsg = mHandler.obtainMessage(
                                 MESSAGE_RESTART_BLUETOOTH_SERVICE);
                         mHandler.sendMessageDelayed(restartMsg,
@@ -1353,17 +1371,30 @@
                     // handle error state transition case from TURNING_ON to OFF
                     // unbind and rebind bluetooth service and enable bluetooth
                     if ((prevState == BluetoothAdapter.STATE_BLE_TURNING_ON) &&
-                        (newState == BluetoothAdapter.STATE_OFF) &&
-                        (mBluetooth != null) && mEnable) {
+                            (newState == BluetoothAdapter.STATE_OFF) &&
+                            (mBluetooth != null) && mEnable) {
                         recoverBluetoothServiceFromError();
                     }
                     if ((prevState == BluetoothAdapter.STATE_TURNING_ON) &&
-                        (newState == BluetoothAdapter.STATE_BLE_ON) &&
-                        (mBluetooth != null) && mEnable) {
+                            (newState == BluetoothAdapter.STATE_BLE_ON) &&
+                            (mBluetooth != null) && mEnable) {
                         recoverBluetoothServiceFromError();
                     }
+                    // If we tried to enable BT while BT was in the process of shutting down,
+                    // wait for the BT process to fully tear down and then force a restart
+                    // here.  This is a bit of a hack (b/29363429).
+                    if ((prevState == BluetoothAdapter.STATE_BLE_TURNING_OFF) &&
+                            (newState == BluetoothAdapter.STATE_OFF)) {
+                        if (mEnable) {
+                            Slog.d(TAG, "Entering STATE_OFF but mEnabled is true; restarting.");
+                            waitForOnOff(false, true);
+                            Message restartMsg = mHandler.obtainMessage(
+                                    MESSAGE_RESTART_BLUETOOTH_SERVICE);
+                            mHandler.sendMessageDelayed(restartMsg, 2 * SERVICE_RESTART_TIME_MS);
+                        }
+                    }
                     if (newState == BluetoothAdapter.STATE_ON ||
-                        newState == BluetoothAdapter.STATE_BLE_ON) {
+                            newState == BluetoothAdapter.STATE_BLE_ON) {
                         // bluetooth is working, reset the counter
                         if (mErrorRecoveryRetryCounter != 0) {
                             Slog.w(TAG, "bluetooth is recovered from error");
@@ -1406,7 +1437,7 @@
                     // Send BT state broadcast to update
                     // the BT icon correctly
                     if ((mState == BluetoothAdapter.STATE_TURNING_ON) ||
-                        (mState == BluetoothAdapter.STATE_ON)) {
+                            (mState == BluetoothAdapter.STATE_ON)) {
                         bluetoothStateChangeHandler(BluetoothAdapter.STATE_ON,
                                                     BluetoothAdapter.STATE_TURNING_OFF);
                         mState = BluetoothAdapter.STATE_TURNING_OFF;
@@ -1481,7 +1512,7 @@
                         bluetoothStateChangeHandler(BluetoothAdapter.STATE_ON,
                                                     BluetoothAdapter.STATE_TURNING_OFF);
 
-                        waitForOnOff(false, true);
+                        boolean didDisableTimeout = !waitForOnOff(false, true);
 
                         bluetoothStateChangeHandler(BluetoothAdapter.STATE_TURNING_OFF,
                                                     BluetoothAdapter.STATE_OFF);
@@ -1499,7 +1530,16 @@
                             mBluetoothLock.writeLock().unlock();
                         }
 
-                        SystemClock.sleep(100);
+                        //
+                        // If disabling Bluetooth times out, wait for an
+                        // additional amount of time to ensure the process is
+                        // shut down completely before attempting to restart.
+                        //
+                        if (didDisableTimeout) {
+                            SystemClock.sleep(3000);
+                        } else {
+                            SystemClock.sleep(100);
+                        }
 
                         mHandler.removeMessages(MESSAGE_BLUETOOTH_STATE_CHANGE);
                         mState = BluetoothAdapter.STATE_OFF;
@@ -1639,8 +1679,8 @@
         boolean isStandardBroadcast = true;
         if (prevState != newState) {
             //Notify all proxy objects first of adapter state change
-            if (newState == BluetoothAdapter.STATE_BLE_ON
-                   || newState == BluetoothAdapter.STATE_OFF) {
+            if (newState == BluetoothAdapter.STATE_BLE_ON ||
+                    newState == BluetoothAdapter.STATE_OFF) {
                 boolean intermediate_off = (prevState == BluetoothAdapter.STATE_TURNING_OFF
                    && newState == BluetoothAdapter.STATE_BLE_ON);
 
@@ -1685,13 +1725,13 @@
                 sendBluetoothStateCallback(isUp);
                 sendBleStateChanged(prevState, newState);
 
-            } else if (newState == BluetoothAdapter.STATE_BLE_TURNING_ON
-                || newState == BluetoothAdapter.STATE_BLE_TURNING_OFF ) {
+            } else if (newState == BluetoothAdapter.STATE_BLE_TURNING_ON ||
+                    newState == BluetoothAdapter.STATE_BLE_TURNING_OFF ) {
                 sendBleStateChanged(prevState, newState);
                 isStandardBroadcast = false;
 
-            } else if (newState == BluetoothAdapter.STATE_TURNING_ON
-                || newState == BluetoothAdapter.STATE_TURNING_OFF) {
+            } else if (newState == BluetoothAdapter.STATE_TURNING_ON ||
+                    newState == BluetoothAdapter.STATE_TURNING_OFF) {
                 sendBleStateChanged(prevState, newState);
             }
 
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index 1adefc4..7abb967 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -30,8 +30,6 @@
 import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED;
 import static android.net.NetworkPolicyManager.RULE_ALLOW_ALL;
 import static android.net.NetworkPolicyManager.RULE_ALLOW_METERED;
-import static android.net.NetworkPolicyManager.MASK_METERED_NETWORKS;
-import static android.net.NetworkPolicyManager.MASK_ALL_NETWORKS;
 import static android.net.NetworkPolicyManager.RULE_NONE;
 import static android.net.NetworkPolicyManager.RULE_REJECT_ALL;
 import static android.net.NetworkPolicyManager.RULE_REJECT_METERED;
@@ -78,6 +76,7 @@
 import android.net.UidRange;
 import android.net.Uri;
 import android.net.metrics.DefaultNetworkEvent;
+import android.net.metrics.IpConnectivityLog;
 import android.net.metrics.NetworkEvent;
 import android.os.Binder;
 import android.os.Build;
@@ -456,6 +455,8 @@
         }
     }
 
+    private final IpConnectivityLog mMetricsLog = new IpConnectivityLog();
+
     /**
      * Implements support for the legacy "one network per network type" model.
      *
@@ -489,8 +490,16 @@
          *
          * The actual lists are populated when we scan the network types that
          * are supported on this device.
+         *
+         * Threading model:
+         *  - addSupportedType() is only called in the constructor
+         *  - add(), update(), remove() are only called from the ConnectivityService handler thread.
+         *    They are therefore not thread-safe with respect to each other.
+         *  - getNetworkForType() can be called at any time on binder threads. It is synchronized
+         *    on mTypeLists to be thread-safe with respect to a concurrent remove call.
+         *  - dump is thread-safe with respect to concurrent add and remove calls.
          */
-        private ArrayList<NetworkAgentInfo> mTypeLists[];
+        private final ArrayList<NetworkAgentInfo> mTypeLists[];
 
         public LegacyTypeTracker() {
             mTypeLists = (ArrayList<NetworkAgentInfo>[])
@@ -510,11 +519,12 @@
         }
 
         public NetworkAgentInfo getNetworkForType(int type) {
-            if (isTypeSupported(type) && !mTypeLists[type].isEmpty()) {
-                return mTypeLists[type].get(0);
-            } else {
-                return null;
+            synchronized (mTypeLists) {
+                if (isTypeSupported(type) && !mTypeLists[type].isEmpty()) {
+                    return mTypeLists[type].get(0);
+                }
             }
+            return null;
         }
 
         private void maybeLogBroadcast(NetworkAgentInfo nai, DetailedState state, int type,
@@ -537,12 +547,13 @@
             if (list.contains(nai)) {
                 return;
             }
-
-            list.add(nai);
+            synchronized (mTypeLists) {
+                list.add(nai);
+            }
 
             // Send a broadcast if this is the first network of its type or if it's the default.
             final boolean isDefaultNetwork = isDefaultNetwork(nai);
-            if (list.size() == 1 || isDefaultNetwork) {
+            if ((list.size() == 1) || isDefaultNetwork) {
                 maybeLogBroadcast(nai, DetailedState.CONNECTED, type, isDefaultNetwork);
                 sendLegacyNetworkBroadcast(nai, DetailedState.CONNECTED, type);
             }
@@ -554,11 +565,12 @@
             if (list == null || list.isEmpty()) {
                 return;
             }
-
             final boolean wasFirstNetwork = list.get(0).equals(nai);
 
-            if (!list.remove(nai)) {
-                return;
+            synchronized (mTypeLists) {
+                if (!list.remove(nai)) {
+                    return;
+                }
             }
 
             final DetailedState state = DetailedState.DISCONNECTED;
@@ -593,8 +605,8 @@
             for (int type = 0; type < mTypeLists.length; type++) {
                 final ArrayList<NetworkAgentInfo> list = mTypeLists[type];
                 final boolean contains = (list != null && list.contains(nai));
-                final boolean isFirst = (list != null && list.size() > 0 && nai == list.get(0));
-                if (isFirst || (contains && isDefault)) {
+                final boolean isFirst = contains && (nai == list.get(0));
+                if (isFirst || contains && isDefault) {
                     maybeLogBroadcast(nai, state, type, isDefault);
                     sendLegacyNetworkBroadcast(nai, state, type);
                 }
@@ -619,10 +631,12 @@
             pw.println();
             pw.println("Current state:");
             pw.increaseIndent();
-            for (int type = 0; type < mTypeLists.length; type++) {
-                if (mTypeLists[type] == null|| mTypeLists[type].size() == 0) continue;
-                for (NetworkAgentInfo nai : mTypeLists[type]) {
-                    pw.println(type + " " + naiToString(nai));
+            synchronized (mTypeLists) {
+                for (int type = 0; type < mTypeLists.length; type++) {
+                    if (mTypeLists[type] == null || mTypeLists[type].isEmpty()) continue;
+                    for (NetworkAgentInfo nai : mTypeLists[type]) {
+                        pw.println(type + " " + naiToString(nai));
+                    }
                 }
             }
             pw.decreaseIndent();
@@ -642,8 +656,7 @@
         if (DBG) log("ConnectivityService starting up");
 
         mDefaultRequest = createInternetRequestForTransport(-1);
-        NetworkRequestInfo defaultNRI = new NetworkRequestInfo(null, mDefaultRequest,
-                new Binder(), NetworkRequestType.REQUEST);
+        NetworkRequestInfo defaultNRI = new NetworkRequestInfo(null, mDefaultRequest, new Binder());
         mNetworkRequests.put(mDefaultRequest, defaultNRI);
         mNetworkRequestInfoLogs.log("REGISTER " + defaultNRI);
 
@@ -794,7 +807,8 @@
         if (transportType > -1) {
             netCap.addTransportType(transportType);
         }
-        return new NetworkRequest(netCap, TYPE_NONE, nextNetworkRequestId());
+        return new NetworkRequest(netCap, TYPE_NONE, nextNetworkRequestId(),
+                NetworkRequest.Type.REQUEST);
     }
 
     // Used only for testing.
@@ -818,7 +832,7 @@
 
         if (enable) {
             handleRegisterNetworkRequest(new NetworkRequestInfo(
-                    null, mDefaultMobileDataRequest, new Binder(), NetworkRequestType.REQUEST));
+                    null, mDefaultMobileDataRequest, new Binder()));
         } else {
             handleReleaseNetworkRequest(mDefaultMobileDataRequest, Process.SYSTEM_UID);
         }
@@ -932,7 +946,7 @@
         // Networks aren't blocked when ignoring blocked status
         if (ignoreBlocked) return false;
         // Networks are never blocked for system services
-        if (uid < Process.FIRST_APPLICATION_UID) return false;
+        if (isSystem(uid)) return false;
 
         final boolean networkMetered;
         final int uidRules;
@@ -1890,8 +1904,8 @@
             pw.increaseIndent();
             pw.println("Requests:");
             pw.increaseIndent();
-            for (int i = 0; i < nai.networkRequests.size(); i++) {
-                pw.println(nai.networkRequests.valueAt(i).toString());
+            for (int i = 0; i < nai.numNetworkRequests(); i++) {
+                pw.println(nai.requestAt(i).toString());
             }
             pw.decreaseIndent();
             pw.println("Lingered:");
@@ -2000,10 +2014,6 @@
         return false;
     }
 
-    private boolean isRequest(NetworkRequest request) {
-        return mNetworkRequests.get(request).isRequest();
-    }
-
     // must be stateless - things change under us.
     private class NetworkStateTrackerHandler extends Handler {
         public NetworkStateTrackerHandler(Looper looper) {
@@ -2194,7 +2204,7 @@
 
     private void linger(NetworkAgentInfo nai) {
         nai.lingering = true;
-        NetworkEvent.logEvent(nai.network.netId, NetworkEvent.NETWORK_LINGER);
+        logNetworkEvent(nai, NetworkEvent.NETWORK_LINGER);
         nai.networkMonitor.sendMessage(NetworkMonitor.CMD_NETWORK_LINGER);
         notifyNetworkCallbacks(nai, ConnectivityManager.CALLBACK_LOSING);
     }
@@ -2208,7 +2218,7 @@
         nai.networkLingered.clear();
         if (!nai.lingering) return;
         nai.lingering = false;
-        NetworkEvent.logEvent(nai.network.netId, NetworkEvent.NETWORK_UNLINGER);
+        logNetworkEvent(nai, NetworkEvent.NETWORK_UNLINGER);
         if (VDBG) log("Canceling linger of " + nai.name());
         nai.networkMonitor.sendMessage(NetworkMonitor.CMD_NETWORK_CONNECTED);
     }
@@ -2220,7 +2230,7 @@
                 if (VDBG) log("NetworkFactory connected");
                 // A network factory has connected.  Send it all current NetworkRequests.
                 for (NetworkRequestInfo nri : mNetworkRequests.values()) {
-                    if (!nri.isRequest()) continue;
+                    if (!nri.request.isRequest()) continue;
                     NetworkAgentInfo nai = mNetworkForRequestId.get(nri.request.requestId);
                     ac.sendMessage(android.net.NetworkFactory.CMD_REQUEST_NETWORK,
                             (nai != null ? nai.getCurrentScore() : 0), 0, nri.request);
@@ -2255,7 +2265,7 @@
         NetworkAgentInfo nai = mNetworkAgentInfos.get(msg.replyTo);
         if (nai != null) {
             if (DBG) {
-                log(nai.name() + " got DISCONNECTED, was satisfying " + nai.networkRequests.size());
+                log(nai.name() + " got DISCONNECTED, was satisfying " + nai.numNetworkRequests());
             }
             // A network agent has disconnected.
             // TODO - if we move the logic to the network agent (have them disconnect
@@ -2292,15 +2302,15 @@
                 mNetworkForNetId.remove(nai.network.netId);
             }
             // Remove all previously satisfied requests.
-            for (int i = 0; i < nai.networkRequests.size(); i++) {
-                NetworkRequest request = nai.networkRequests.valueAt(i);
+            for (int i = 0; i < nai.numNetworkRequests(); i++) {
+                NetworkRequest request = nai.requestAt(i);
                 NetworkAgentInfo currentNetwork = mNetworkForRequestId.get(request.requestId);
                 if (currentNetwork != null && currentNetwork.network.netId == nai.network.netId) {
                     mNetworkForRequestId.remove(request.requestId);
                     sendUpdatedScoreToFactories(request, 0);
                 }
             }
-            if (nai.networkRequests.get(mDefaultRequest.requestId) != null) {
+            if (nai.isSatisfyingRequest(mDefaultRequest.requestId)) {
                 removeDataActivityTracking(nai);
                 notifyLockdownVpn(nai);
                 requestNetworkTransitionWakelock(nai.name());
@@ -2361,7 +2371,7 @@
     private void handleRegisterNetworkRequest(NetworkRequestInfo nri) {
         mNetworkRequests.put(nri.request, nri);
         mNetworkRequestInfoLogs.log("REGISTER " + nri);
-        if (!nri.isRequest()) {
+        if (!nri.request.isRequest()) {
             for (NetworkAgentInfo network : mNetworkAgentInfos.values()) {
                 if (nri.request.networkCapabilities.hasSignalStrength() &&
                         network.satisfiesImmutableCapabilitiesOf(nri.request)) {
@@ -2370,7 +2380,7 @@
             }
         }
         rematchAllNetworksAndRequests(null, 0);
-        if (nri.isRequest() && mNetworkForRequestId.get(nri.request.requestId) == null) {
+        if (nri.request.isRequest() && mNetworkForRequestId.get(nri.request.requestId) == null) {
             sendUpdatedScoreToFactories(nri.request, 0);
         }
     }
@@ -2391,8 +2401,8 @@
         for (NetworkRequestInfo nri : mNetworkRequests.values()) {
             // If this Network is already the highest scoring Network for a request, or if
             // there is hope for it to become one if it validated, then it is needed.
-            if (nri.isRequest() && nai.satisfies(nri.request) &&
-                    (nai.networkRequests.get(nri.request.requestId) != null ||
+            if (nri.request.isRequest() && nai.satisfies(nri.request) &&
+                    (nai.isSatisfyingRequest(nri.request.requestId) ||
                     // Note that this catches two important cases:
                     // 1. Unvalidated cellular will not be reaped when unvalidated WiFi
                     //    is currently satisfying the request.  This is desirable when
@@ -2415,7 +2425,7 @@
                 if (DBG) log("Attempt to release unowned NetworkRequest " + request);
                 return;
             }
-            if (VDBG || (DBG && nri.isRequest())) log("releasing NetworkRequest " + request);
+            if (VDBG || (DBG && nri.request.isRequest())) log("releasing " + request);
             nri.unlinkDeathRecipient();
             mNetworkRequests.remove(request);
             synchronized (mUidToNetworkRequestCount) {
@@ -2431,19 +2441,18 @@
                 }
             }
             mNetworkRequestInfoLogs.log("RELEASE " + nri);
-            if (nri.isRequest()) {
+            if (nri.request.isRequest()) {
                 // Find all networks that are satisfying this request and remove the request
                 // from their request lists.
                 // TODO - it's my understanding that for a request there is only a single
                 // network satisfying it, so this loop is wasteful
                 boolean wasKept = false;
                 for (NetworkAgentInfo nai : mNetworkAgentInfos.values()) {
-                    if (nai.networkRequests.get(nri.request.requestId) != null) {
-                        nai.networkRequests.remove(nri.request.requestId);
+                    if (nai.isSatisfyingRequest(nri.request.requestId)) {
+                        nai.removeRequest(nri.request.requestId);
                         if (VDBG) {
                             log(" Removing from current network " + nai.name() +
-                                    ", leaving " + nai.networkRequests.size() +
-                                    " requests.");
+                                    ", leaving " + nai.numNetworkRequests() + " requests.");
                         }
                         if (unneeded(nai)) {
                             if (DBG) log("no live requests for " + nai.name() + "; disconnecting");
@@ -2470,10 +2479,10 @@
                     if (wasKept) {
                         // check if any of the remaining requests for this network are for the
                         // same legacy type - if so, don't remove the nai
-                        for (int i = 0; i < nai.networkRequests.size(); i++) {
-                            NetworkRequest otherRequest = nai.networkRequests.valueAt(i);
+                        for (int i = 0; i < nai.numNetworkRequests(); i++) {
+                            NetworkRequest otherRequest = nai.requestAt(i);
                             if (otherRequest.legacyType == nri.request.legacyType &&
-                                    isRequest(otherRequest)) {
+                                    otherRequest.isRequest()) {
                                 if (DBG) log(" still have other legacy request - leaving");
                                 doRemove = false;
                             }
@@ -2493,7 +2502,7 @@
                 // listens don't have a singular affectedNetwork.  Check all networks to see
                 // if this listen request applies and remove it.
                 for (NetworkAgentInfo nai : mNetworkAgentInfos.values()) {
-                    nai.networkRequests.remove(nri.request.requestId);
+                    nai.removeRequest(nri.request.requestId);
                     if (nri.request.networkCapabilities.hasSignalStrength() &&
                             nai.satisfiesImmutableCapabilitiesOf(nri.request)) {
                         updateSignalStrengthThresholds(nai, "RELEASE", nri.request);
@@ -3431,10 +3440,6 @@
                 Slog.w(TAG, "User " + userId + " has no Vpn configuration");
                 return false;
             }
-            // If the current VPN package is the same as the new one, this is a no-op
-            if (TextUtils.equals(packageName, vpn.getAlwaysOnPackage())) {
-                return true;
-            }
             if (!vpn.setAlwaysOnPackage(packageName, lockdown)) {
                 return false;
             }
@@ -3566,14 +3571,14 @@
                     .build();
 
             try {
-                notificationManager.notify(NOTIFICATION_ID, id, notification);
+                notificationManager.notifyAsUser(NOTIFICATION_ID, id, notification, UserHandle.ALL);
             } catch (NullPointerException npe) {
                 loge("setNotificationVisible: visible notificationManager npe=" + npe);
                 npe.printStackTrace();
             }
         } else {
             try {
-                notificationManager.cancel(NOTIFICATION_ID, id);
+                notificationManager.cancelAsUser(NOTIFICATION_ID, id, UserHandle.ALL);
             } catch (NullPointerException npe) {
                 loge("setNotificationVisible: cancel notificationManager npe=" + npe);
                 npe.printStackTrace();
@@ -3814,32 +3819,6 @@
     }
 
     /**
-     * A NetworkRequest as registered by an application can be one of three
-     * types:
-     *
-     *     - "listen", for which the framework will issue callbacks about any
-     *       and all networks that match the specified NetworkCapabilities,
-     *
-     *     - "request", capable of causing a specific network to be created
-     *       first (e.g. a telephony DUN request), the framework will issue
-     *       callbacks about the single, highest scoring current network
-     *       (if any) that matches the specified NetworkCapabilities, or
-     *
-     *     - "track the default network", a hybrid of the two designed such
-     *       that the framework will issue callbacks for the single, highest
-     *       scoring current network (if any) that matches the capabilities of
-     *       the default Internet request (mDefaultRequest), but which cannot
-     *       cause the framework to either create or retain the existence of
-     *       any specific network.
-     *
-     */
-    private static enum NetworkRequestType {
-        LISTEN,
-        TRACK_DEFAULT,
-        REQUEST
-    };
-
-    /**
      * Tracks info about the requester.
      * Also used to notice when the calling process dies so we can self-expire
      */
@@ -3851,27 +3830,26 @@
         final int mPid;
         final int mUid;
         final Messenger messenger;
-        private final NetworkRequestType mType;
 
-        NetworkRequestInfo(NetworkRequest r, PendingIntent pi, NetworkRequestType type) {
+        NetworkRequestInfo(NetworkRequest r, PendingIntent pi) {
             request = r;
+            ensureRequestHasType();
             mPendingIntent = pi;
             messenger = null;
             mBinder = null;
             mPid = getCallingPid();
             mUid = getCallingUid();
-            mType = type;
             enforceRequestCountLimit();
         }
 
-        NetworkRequestInfo(Messenger m, NetworkRequest r, IBinder binder, NetworkRequestType type) {
+        NetworkRequestInfo(Messenger m, NetworkRequest r, IBinder binder) {
             super();
             messenger = m;
             request = r;
+            ensureRequestHasType();
             mBinder = binder;
             mPid = getCallingPid();
             mUid = getCallingUid();
-            mType = type;
             mPendingIntent = null;
             enforceRequestCountLimit();
 
@@ -3882,6 +3860,13 @@
             }
         }
 
+        private void ensureRequestHasType() {
+            if (request.type == NetworkRequest.Type.NONE) {
+                throw new IllegalArgumentException(
+                        "All NetworkRequests in ConnectivityService must have a type");
+            }
+        }
+
         private void enforceRequestCountLimit() {
             synchronized (mUidToNetworkRequestCount) {
                 int networkRequests = mUidToNetworkRequestCount.get(mUid, 0) + 1;
@@ -3892,16 +3877,6 @@
             }
         }
 
-        private String typeString() {
-            switch (mType) {
-                case LISTEN: return "Listen";
-                case REQUEST: return "Request";
-                case TRACK_DEFAULT: return "Track default";
-                default:
-                    return "unknown type";
-            }
-        }
-
         void unlinkDeathRecipient() {
             if (mBinder != null) {
                 mBinder.unlinkToDeath(this, 0);
@@ -3914,29 +3889,8 @@
             releaseNetworkRequest(request);
         }
 
-        /**
-         * Returns true iff. the contained NetworkRequest is one that:
-         *
-         *     - should be associated with at most one satisfying network
-         *       at a time;
-         *
-         *     - should cause a network to be kept up if it is the only network
-         *       which can satisfy the NetworkReqeust.
-         *
-         * For full detail of how isRequest() is used for pairing Networks with
-         * NetworkRequests read rematchNetworkAndRequests().
-         *
-         * TODO: Rename to something more properly descriptive.
-         */
-        public boolean isRequest() {
-            return (mType == NetworkRequestType.TRACK_DEFAULT) ||
-                   (mType == NetworkRequestType.REQUEST);
-        }
-
         public String toString() {
-            return typeString() +
-                    " from uid/pid:" + mUid + "/" + mPid +
-                    " for " + request +
+            return "uid/pid:" + mUid + "/" + mPid + " " + request +
                     (mPendingIntent == null ? "" : " to trigger " + mPendingIntent);
         }
     }
@@ -3986,13 +3940,13 @@
     @Override
     public NetworkRequest requestNetwork(NetworkCapabilities networkCapabilities,
             Messenger messenger, int timeoutMs, IBinder binder, int legacyType) {
-        final NetworkRequestType type = (networkCapabilities == null)
-                ? NetworkRequestType.TRACK_DEFAULT
-                : NetworkRequestType.REQUEST;
+        final NetworkRequest.Type type = (networkCapabilities == null)
+                ? NetworkRequest.Type.TRACK_DEFAULT
+                : NetworkRequest.Type.REQUEST;
         // If the requested networkCapabilities is null, take them instead from
         // the default network request. This allows callers to keep track of
         // the system default network.
-        if (type == NetworkRequestType.TRACK_DEFAULT) {
+        if (type == NetworkRequest.Type.TRACK_DEFAULT) {
             networkCapabilities = new NetworkCapabilities(mDefaultRequest.networkCapabilities);
             enforceAccessPermission();
         } else {
@@ -4013,8 +3967,8 @@
         }
 
         NetworkRequest networkRequest = new NetworkRequest(networkCapabilities, legacyType,
-                nextNetworkRequestId());
-        NetworkRequestInfo nri = new NetworkRequestInfo(messenger, networkRequest, binder, type);
+                nextNetworkRequestId(), type);
+        NetworkRequestInfo nri = new NetworkRequestInfo(messenger, networkRequest, binder);
         if (DBG) log("requestNetwork for " + nri);
 
         mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_REQUEST, nri));
@@ -4050,12 +4004,18 @@
         return false;
     }
 
+    private boolean isSystem(int uid) {
+        return uid < Process.FIRST_APPLICATION_UID;
+    }
 
     private void enforceMeteredApnPolicy(NetworkCapabilities networkCapabilities) {
+        final int uid = Binder.getCallingUid();
+        if (isSystem(uid)) {
+            return;
+        }
         // if UID is restricted, don't allow them to bring up metered APNs
         if (networkCapabilities.hasCapability(NET_CAPABILITY_NOT_METERED) == false) {
             final int uidRules;
-            final int uid = Binder.getCallingUid();
             synchronized(mRulesLock) {
                 uidRules = mUidRules.get(uid, RULE_ALLOW_ALL);
             }
@@ -4078,9 +4038,8 @@
         ensureRequestableCapabilities(networkCapabilities);
 
         NetworkRequest networkRequest = new NetworkRequest(networkCapabilities, TYPE_NONE,
-                nextNetworkRequestId());
-        NetworkRequestInfo nri = new NetworkRequestInfo(networkRequest, operation,
-                NetworkRequestType.REQUEST);
+                nextNetworkRequestId(), NetworkRequest.Type.REQUEST);
+        NetworkRequestInfo nri = new NetworkRequestInfo(networkRequest, operation);
         if (DBG) log("pendingRequest for " + nri);
         mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_REQUEST_WITH_INTENT,
                 nri));
@@ -4130,9 +4089,9 @@
         }
 
         NetworkRequest networkRequest = new NetworkRequest(
-                new NetworkCapabilities(networkCapabilities), TYPE_NONE, nextNetworkRequestId());
-        NetworkRequestInfo nri = new NetworkRequestInfo(messenger, networkRequest, binder,
-                NetworkRequestType.LISTEN);
+                new NetworkCapabilities(networkCapabilities), TYPE_NONE, nextNetworkRequestId(),
+                NetworkRequest.Type.LISTEN);
+        NetworkRequestInfo nri = new NetworkRequestInfo(messenger, networkRequest, binder);
         if (VDBG) log("listenForNetwork for " + nri);
 
         mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_LISTENER, nri));
@@ -4148,9 +4107,9 @@
         }
 
         NetworkRequest networkRequest = new NetworkRequest(
-                new NetworkCapabilities(networkCapabilities), TYPE_NONE, nextNetworkRequestId());
-        NetworkRequestInfo nri = new NetworkRequestInfo(networkRequest, operation,
-                NetworkRequestType.LISTEN);
+                new NetworkCapabilities(networkCapabilities), TYPE_NONE, nextNetworkRequestId(),
+                NetworkRequest.Type.LISTEN);
+        NetworkRequestInfo nri = new NetworkRequestInfo(networkRequest, operation);
         if (VDBG) log("pendingListenForNetwork for " + nri);
 
         mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_LISTENER, nri));
@@ -4466,10 +4425,10 @@
     }
 
     private void sendUpdatedScoreToFactories(NetworkAgentInfo nai) {
-        for (int i = 0; i < nai.networkRequests.size(); i++) {
-            NetworkRequest nr = nai.networkRequests.valueAt(i);
+        for (int i = 0; i < nai.numNetworkRequests(); i++) {
+            NetworkRequest nr = nai.requestAt(i);
             // Don't send listening requests to factories. b/17393458
-            if (!isRequest(nr)) continue;
+            if (!nr.isRequest()) continue;
             sendUpdatedScoreToFactories(nr, nai.getCurrentScore());
         }
     }
@@ -4559,12 +4518,14 @@
     }
 
     private void teardownUnneededNetwork(NetworkAgentInfo nai) {
-        for (int i = 0; i < nai.networkRequests.size(); i++) {
-            NetworkRequest nr = nai.networkRequests.valueAt(i);
-            // Ignore listening requests.
-            if (!isRequest(nr)) continue;
-            loge("Dead network still had at least " + nr);
-            break;
+        if (nai.numRequestNetworkRequests() != 0) {
+            for (int i = 0; i < nai.numNetworkRequests(); i++) {
+                NetworkRequest nr = nai.requestAt(i);
+                // Ignore listening requests.
+                if (!nr.isRequest()) continue;
+                loge("Dead network still had at least " + nr);
+                break;
+            }
         }
         nai.asyncChannel.disconnect();
     }
@@ -4646,7 +4607,7 @@
             // check if it satisfies the NetworkCapabilities
             if (VDBG) log("  checking if request is satisfied: " + nri.request);
             if (satisfies) {
-                if (!nri.isRequest()) {
+                if (!nri.request.isRequest()) {
                     // This is not a request, it's a callback listener.
                     // Add it to newNetwork regardless of score.
                     if (newNetwork.addRequest(nri.request)) addedRequests.add(nri);
@@ -4665,7 +4626,7 @@
                     if (VDBG) log("rematch for " + newNetwork.name());
                     if (currentNetwork != null) {
                         if (VDBG) log("   accepting network in place of " + currentNetwork.name());
-                        currentNetwork.networkRequests.remove(nri.request.requestId);
+                        currentNetwork.removeRequest(nri.request.requestId);
                         currentNetwork.networkLingered.add(nri.request);
                         affectedNetworks.add(currentNetwork);
                     } else {
@@ -4689,7 +4650,7 @@
                         oldDefaultNetwork = currentNetwork;
                     }
                 }
-            } else if (newNetwork.networkRequests.get(nri.request.requestId) != null) {
+            } else if (newNetwork.isSatisfyingRequest(nri.request.requestId)) {
                 // If "newNetwork" is listed as satisfying "nri" but no longer satisfies "nri",
                 // mark it as no longer satisfying "nri".  Because networks are processed by
                 // rematchAllNetworkAndRequests() in descending score order, "currentNetwork" will
@@ -4701,12 +4662,12 @@
                     log("Network " + newNetwork.name() + " stopped satisfying" +
                             " request " + nri.request.requestId);
                 }
-                newNetwork.networkRequests.remove(nri.request.requestId);
+                newNetwork.removeRequest(nri.request.requestId);
                 if (currentNetwork == newNetwork) {
                     mNetworkForRequestId.remove(nri.request.requestId);
                     sendUpdatedScoreToFactories(nri.request, 0);
                 } else {
-                    if (nri.isRequest()) {
+                    if (nri.request.isRequest()) {
                         Slog.wtf(TAG, "BUG: Removing request " + nri.request.requestId + " from " +
                                 newNetwork.name() +
                                 " without updating mNetworkForRequestId or factories!");
@@ -4806,9 +4767,9 @@
             // (notification callbacks) and then uses the old api (getNetworkInfo(type))
             // they may get old info.  Reverse this after the old startUsing api is removed.
             // This is on top of the multiple intent sequencing referenced in the todo above.
-            for (int i = 0; i < newNetwork.networkRequests.size(); i++) {
-                NetworkRequest nr = newNetwork.networkRequests.valueAt(i);
-                if (nr.legacyType != TYPE_NONE && isRequest(nr)) {
+            for (int i = 0; i < newNetwork.numNetworkRequests(); i++) {
+                NetworkRequest nr = newNetwork.requestAt(i);
+                if (nr.legacyType != TYPE_NONE && nr.isRequest()) {
                     // legacy type tracker filters out repeat adds
                     mLegacyTypeTracker.add(nr.legacyType, newNetwork);
                 }
@@ -5067,7 +5028,7 @@
                 intent.putExtra(ConnectivityManager.EXTRA_EXTRA_INFO, info.getExtraInfo());
             }
             NetworkAgentInfo newDefaultAgent = null;
-            if (nai.networkRequests.get(mDefaultRequest.requestId) != null) {
+            if (nai.isSatisfyingRequest(mDefaultRequest.requestId)) {
                 newDefaultAgent = getDefaultNetwork();
                 if (newDefaultAgent != null) {
                     intent.putExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO,
@@ -5087,8 +5048,8 @@
 
     protected void notifyNetworkCallbacks(NetworkAgentInfo networkAgent, int notifyType) {
         if (VDBG) log("notifyType " + notifyTypeToName(notifyType) + " for " + networkAgent.name());
-        for (int i = 0; i < networkAgent.networkRequests.size(); i++) {
-            NetworkRequest nr = networkAgent.networkRequests.valueAt(i);
+        for (int i = 0; i < networkAgent.numNetworkRequests(); i++) {
+            NetworkRequest nr = networkAgent.requestAt(i);
             NetworkRequestInfo nri = mNetworkRequests.get(nr);
             if (VDBG) log(" sending notification for " + nr);
             if (nri.mPendingIntent == null) {
@@ -5229,7 +5190,7 @@
         return new NetworkMonitor(context, handler, nai, defaultRequest);
     }
 
-    private static void logDefaultNetworkEvent(NetworkAgentInfo newNai, NetworkAgentInfo prevNai) {
+    private void logDefaultNetworkEvent(NetworkAgentInfo newNai, NetworkAgentInfo prevNai) {
         int newNetid = NETID_UNSET;
         int prevNetid = NETID_UNSET;
         int[] transports = new int[0];
@@ -5247,6 +5208,10 @@
             hadIPv6 = lp.hasGlobalIPv6Address() && lp.hasIPv6DefaultRoute();
         }
 
-        DefaultNetworkEvent.logEvent(newNetid, transports, prevNetid, hadIPv4, hadIPv6);
+        mMetricsLog.log(new DefaultNetworkEvent(newNetid, transports, prevNetid, hadIPv4, hadIPv6));
+    }
+
+    private void logNetworkEvent(NetworkAgentInfo nai, int evtype) {
+        mMetricsLog.log(new NetworkEvent(nai.network.netId, evtype));
     }
 }
diff --git a/services/core/java/com/android/server/DeviceIdleController.java b/services/core/java/com/android/server/DeviceIdleController.java
index bb966f7..afed5ef 100644
--- a/services/core/java/com/android/server/DeviceIdleController.java
+++ b/services/core/java/com/android/server/DeviceIdleController.java
@@ -212,7 +212,6 @@
 
     private int mActiveIdleOpCount;
     private PowerManager.WakeLock mActiveIdleWakeLock;
-    private IBinder mDownloadServiceActive;
     private boolean mJobsActive;
     private boolean mAlarmsActive;
     private boolean mReportedMaintenanceActivity;
@@ -607,7 +606,7 @@
          * This is the minimum amount of time that we will stay in maintenance mode after
          * a light doze.  We have this minimum to allow various things to respond to switching
          * in to maintenance mode and scheduling their work -- otherwise we may
-         * see there is nothing to do (no jobs or downloads pending) and go out of maintenance
+         * see there is nothing to do (no jobs pending) and go out of maintenance
          * mode immediately.
          * @see Settings.Global#DEVICE_IDLE_CONSTANTS
          * @see #KEY_MIN_LIGHT_MAINTENANCE_TIME
@@ -618,7 +617,7 @@
          * This is the minimum amount of time that we will stay in maintenance mode after
          * a full doze.  We have this minimum to allow various things to respond to switching
          * in to maintenance mode and scheduling their work -- otherwise we may
-         * see there is nothing to do (no jobs or downloads pending) and go out of maintenance
+         * see there is nothing to do (no jobs pending) and go out of maintenance
          * mode immediately.
          * @see Settings.Global#DEVICE_IDLE_CONSTANTS
          * @see #KEY_MIN_DEEP_MAINTENANCE_TIME
@@ -1220,28 +1219,6 @@
             }
         }
 
-        @Override public void downloadServiceActive(IBinder token) {
-            getContext().enforceCallingOrSelfPermission(
-                    "android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS", null);
-            long ident = Binder.clearCallingIdentity();
-            try {
-                DeviceIdleController.this.downloadServiceActive(token);
-            } finally {
-                Binder.restoreCallingIdentity(ident);
-            }
-        }
-
-        @Override public void downloadServiceInactive() {
-            getContext().enforceCallingOrSelfPermission(
-                    "android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS", null);
-            long ident = Binder.clearCallingIdentity();
-            try {
-                DeviceIdleController.this.downloadServiceInactive();
-            } finally {
-                Binder.restoreCallingIdentity(ident);
-            }
-        }
-
         @Override public boolean registerMaintenanceActivityListener(
                 IMaintenanceActivityListener listener) {
             return DeviceIdleController.this.registerMaintenanceActivityListener(listener);
@@ -2086,30 +2063,6 @@
         }
     }
 
-    void downloadServiceActive(IBinder token) {
-        synchronized (this) {
-            mDownloadServiceActive = token;
-            reportMaintenanceActivityIfNeededLocked();
-            try {
-                token.linkToDeath(new IBinder.DeathRecipient() {
-                    @Override public void binderDied() {
-                        downloadServiceInactive();
-                    }
-                }, 0);
-            } catch (RemoteException e) {
-                mDownloadServiceActive = null;
-            }
-        }
-    }
-
-    void downloadServiceInactive() {
-        synchronized (this) {
-            mDownloadServiceActive = null;
-            reportMaintenanceActivityIfNeededLocked();
-            exitMaintenanceEarlyIfNeededLocked();
-        }
-    }
-
     void setJobsActive(boolean active) {
         synchronized (this) {
             mJobsActive = active;
@@ -2143,7 +2096,7 @@
     }
 
     void reportMaintenanceActivityIfNeededLocked() {
-        boolean active = mJobsActive | (mDownloadServiceActive != null);
+        boolean active = mJobsActive;
         if (active == mReportedMaintenanceActivity) {
             return;
         }
@@ -2154,8 +2107,7 @@
     }
 
     boolean isOpsInactiveLocked() {
-        return mActiveIdleOpCount <= 0 && mDownloadServiceActive == null
-                && !mJobsActive && !mAlarmsActive;
+        return mActiveIdleOpCount <= 0 && !mJobsActive && !mAlarmsActive;
     }
 
     void exitMaintenanceEarlyIfNeededLocked() {
@@ -3053,9 +3005,6 @@
             if (mAlarmsActive) {
                 pw.print("  mAlarmsActive="); pw.println(mAlarmsActive);
             }
-            if (mDownloadServiceActive != null) {
-                pw.print("  mDownloadServiceActive="); pw.println(mDownloadServiceActive);
-            }
         }
     }
 
diff --git a/services/core/java/com/android/server/InputContentUriTokenHandler.java b/services/core/java/com/android/server/InputContentUriTokenHandler.java
new file mode 100644
index 0000000..3f4972b
--- /dev/null
+++ b/services/core/java/com/android/server/InputContentUriTokenHandler.java
@@ -0,0 +1,121 @@
+/*
+** Copyright 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.
+*/
+
+package com.android.server;
+
+import android.annotation.NonNull;
+import android.annotation.UserIdInt;
+import android.app.ActivityManagerNative;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Binder;
+import android.os.IBinder;
+import android.os.RemoteException;
+
+import com.android.internal.annotations.GuardedBy;
+import com.android.internal.inputmethod.IInputContentUriToken;
+
+final class InputContentUriTokenHandler extends IInputContentUriToken.Stub {
+
+    @NonNull
+    private final Uri mUri;
+    private final int mSourceUid;
+    @NonNull
+    private final String mTargetPackage;
+    @UserIdInt
+    private final int mSourceUserId;
+    @UserIdInt
+    private final int mTargetUserId;
+
+    private final Object mLock = new Object();
+
+    @GuardedBy("mLock")
+    private IBinder mPermissionOwnerToken = null;
+
+    InputContentUriTokenHandler(@NonNull Uri contentUri, int sourceUid,
+            @NonNull String targetPackage, @UserIdInt int sourceUserId,
+            @UserIdInt int targetUserId) {
+        mUri = contentUri;
+        mSourceUid = sourceUid;
+        mTargetPackage = targetPackage;
+        mSourceUserId = sourceUserId;
+        mTargetUserId = targetUserId;
+    }
+
+    @Override
+    public void take() {
+        synchronized (mLock) {
+            if (mPermissionOwnerToken != null) {
+                // Permission is already granted.
+                return;
+            }
+
+            try {
+                mPermissionOwnerToken = ActivityManagerNative.getDefault()
+                        .newUriPermissionOwner("InputContentUriTokenHandler");
+            } catch (RemoteException e) {
+                e.rethrowFromSystemServer();
+            }
+
+            doTakeLocked(mPermissionOwnerToken);
+        }
+    }
+
+    private void doTakeLocked(@NonNull IBinder permissionOwner) {
+        long origId = Binder.clearCallingIdentity();
+        try {
+            try {
+                ActivityManagerNative.getDefault().grantUriPermissionFromOwner(
+                        permissionOwner, mSourceUid, mTargetPackage, mUri,
+                        Intent.FLAG_GRANT_READ_URI_PERMISSION, mSourceUserId, mTargetUserId);
+            } catch (RemoteException e) {
+                e.rethrowFromSystemServer();
+            }
+        } finally {
+            Binder.restoreCallingIdentity(origId);
+        }
+    }
+
+    @Override
+    public void release() {
+        synchronized (mLock) {
+            if (mPermissionOwnerToken == null) {
+                return;
+            }
+            try {
+                ActivityManagerNative.getDefault().revokeUriPermissionFromOwner(
+                        mPermissionOwnerToken, mUri,
+                        Intent.FLAG_GRANT_READ_URI_PERMISSION, mSourceUserId);
+            } catch (RemoteException e) {
+                e.rethrowFromSystemServer();
+            } finally {
+                mPermissionOwnerToken = null;
+            }
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    protected void finalize() throws Throwable {
+        try {
+            release();
+        } finally {
+            super.finalize();
+        }
+    }
+}
diff --git a/services/core/java/com/android/server/InputMethodManagerService.java b/services/core/java/com/android/server/InputMethodManagerService.java
index 5d8fe7c..71ac544 100644
--- a/services/core/java/com/android/server/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/InputMethodManagerService.java
@@ -18,6 +18,7 @@
 import static java.lang.annotation.RetentionPolicy.SOURCE;
 
 import com.android.internal.content.PackageMonitor;
+import com.android.internal.inputmethod.IInputContentUriToken;
 import com.android.internal.inputmethod.InputMethodSubtypeSwitchingController;
 import com.android.internal.inputmethod.InputMethodSubtypeSwitchingController.ImeSubtypeListItem;
 import com.android.internal.inputmethod.InputMethodUtils;
@@ -137,6 +138,7 @@
 import java.io.PrintWriter;
 import java.lang.annotation.Retention;
 import java.nio.charset.StandardCharsets;
+import java.security.InvalidParameterException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -175,6 +177,8 @@
 
     static final int MSG_HARD_KEYBOARD_SWITCH_CHANGED = 4000;
 
+    static final int MSG_SYSTEM_UNLOCK_USER = 5000;
+
     static final long TIME_TO_RECONNECT = 3 * 1000;
 
     static final int SECURE_SUGGESTION_SPANS_MAX_SIZE = 20;
@@ -798,14 +802,14 @@
 
         @Override
         public void onSwitchUser(@UserIdInt int userHandle) {
-            // Called on the system server's main looper thread.
+            // Called on ActivityManager thread.
             // TODO: Dispatch this to a worker thread as needed.
             mService.onSwitchUser(userHandle);
         }
 
         @Override
         public void onBootPhase(int phase) {
-            // Called on the system server's main looper thread.
+            // Called on ActivityManager thread.
             // TODO: Dispatch this to a worker thread as needed.
             if (phase == SystemService.PHASE_ACTIVITY_MANAGER_READY) {
                 StatusBarManagerService statusBarService = (StatusBarManagerService) ServiceManager
@@ -815,10 +819,10 @@
         }
 
         @Override
-        public void onUnlockUser(@UserIdInt int userHandle) {
-            // Called on the system server's main looper thread.
-            // TODO: Dispatch this to a worker thread as needed.
-            mService.onUnlockUser(userHandle);
+        public void onUnlockUser(final @UserIdInt int userHandle) {
+            // Called on ActivityManager thread.
+            mService.mHandler.sendMessage(mService.mHandler.obtainMessage(MSG_SYSTEM_UNLOCK_USER,
+                    userHandle));
         }
     }
 
@@ -2968,6 +2972,10 @@
             case MSG_HARD_KEYBOARD_SWITCH_CHANGED:
                 mHardKeyboardListener.handleHardKeyboardStatusChange(msg.arg1 == 1);
                 return true;
+            case MSG_SYSTEM_UNLOCK_USER:
+                final int userId = msg.arg1;
+                onUnlockUser(userId);
+                return true;
         }
         return false;
     }
@@ -3911,6 +3919,52 @@
     }
 
     @Override
+    public IInputContentUriToken createInputContentUriToken(@Nullable IBinder token,
+            @Nullable Uri contentUri, @Nullable String packageName) {
+        if (!calledFromValidUser()) {
+            return null;
+        }
+
+        if (token == null) {
+            throw new NullPointerException("token");
+        }
+        if (packageName == null) {
+            throw new NullPointerException("packageName");
+        }
+        if (contentUri == null) {
+            throw new NullPointerException("contentUri");
+        }
+        final String contentUriScheme = contentUri.getScheme();
+        if (!"content".equals(contentUriScheme)) {
+            throw new InvalidParameterException("contentUri must have content scheme");
+        }
+
+        synchronized (mMethodMap) {
+            final int uid = Binder.getCallingUid();
+            if (mCurMethodId == null) {
+                return null;
+            }
+            if (mCurToken != token) {
+                Slog.e(TAG, "Ignoring createInputContentUriToken mCurToken=" + mCurToken
+                        + " token=" + token);
+                return null;
+            }
+            // We cannot simply distinguish a bad IME that reports an arbitrary package name from
+            // an unfortunate IME whose internal state is already obsolete due to the asynchronous
+            // nature of our system.  Let's compare it with our internal record.
+            if (!TextUtils.equals(mCurAttribute.packageName, packageName)) {
+                Slog.e(TAG, "Ignoring createInputContentUriToken mCurAttribute.packageName="
+                    + mCurAttribute.packageName + " packageName=" + packageName);
+                return null;
+            }
+            final int imeUserId = UserHandle.getUserId(uid);
+            final int appUserId = UserHandle.getUserId(mCurClient.uid);
+            return new InputContentUriTokenHandler(contentUri, uid, packageName, imeUserId,
+                    appUserId);
+        }
+    }
+
+    @Override
     protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
         if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DUMP)
                 != PackageManager.PERMISSION_GRANTED) {
diff --git a/services/core/java/com/android/server/LocationManagerService.java b/services/core/java/com/android/server/LocationManagerService.java
index e0b4960..36ec2eb 100644
--- a/services/core/java/com/android/server/LocationManagerService.java
+++ b/services/core/java/com/android/server/LocationManagerService.java
@@ -1431,6 +1431,13 @@
                 for (UpdateRecord record : records) {
                     if (isCurrentProfile(UserHandle.getUserId(record.mReceiver.mUid))) {
                         LocationRequest locationRequest = record.mRequest;
+
+                        // Don't assign battery blame for update records whose
+                        // client has no permission to receive location data.
+                        if (!providerRequest.locationRequests.contains(locationRequest)) {
+                            continue;
+                        }
+
                         if (locationRequest.getInterval() <= thresholdInterval) {
                             if (record.mReceiver.mWorkSource != null
                                     && record.mReceiver.mWorkSource.size() > 0
diff --git a/services/core/java/com/android/server/LockSettingsService.java b/services/core/java/com/android/server/LockSettingsService.java
index fb1021e..d64fe32 100644
--- a/services/core/java/com/android/server/LockSettingsService.java
+++ b/services/core/java/com/android/server/LockSettingsService.java
@@ -423,6 +423,9 @@
             if (Intent.ACTION_USER_ADDED.equals(intent.getAction())) {
                 // Notify keystore that a new user was added.
                 final int userHandle = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, 0);
+                if (userHandle > UserHandle.USER_SYSTEM) {
+                    removeUser(userHandle, /* unknownUser= */ true);
+                }
                 final KeyStore ks = KeyStore.getInstance();
                 final UserInfo parentInfo = mUserManager.getProfileParent(userHandle);
                 final int parentHandle = parentInfo != null ? parentInfo.id : -1;
@@ -433,7 +436,7 @@
             } else if (Intent.ACTION_USER_REMOVED.equals(intent.getAction())) {
                 final int userHandle = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, 0);
                 if (userHandle > 0) {
-                    removeUser(userHandle);
+                    removeUser(userHandle, /* unknownUser= */ false);
                 }
             }
         }
@@ -617,6 +620,7 @@
 
     @Override
     public boolean getSeparateProfileChallengeEnabled(int userId) throws RemoteException {
+        checkReadPermission(SEPARATE_PROFILE_CHALLENGE_KEY, userId);
         synchronized (mSeparateChallengeLock) {
             return getBoolean(SEPARATE_PROFILE_CHALLENGE_KEY, false, userId);
         }
@@ -625,6 +629,7 @@
     @Override
     public void setSeparateProfileChallengeEnabled(int userId, boolean enabled,
             String managedUserPassword) throws RemoteException {
+        checkWritePermission(userId);
         synchronized (mSeparateChallengeLock) {
             setBoolean(SEPARATE_PROFILE_CHALLENGE_KEY, enabled, userId);
             if (enabled) {
@@ -672,7 +677,6 @@
     @Override
     public long getLong(String key, long defaultValue, int userId) throws RemoteException {
         checkReadPermission(key, userId);
-
         String value = getStringUnchecked(key, null, userId);
         return TextUtils.isEmpty(value) ? defaultValue : Long.parseLong(value);
     }
@@ -680,7 +684,6 @@
     @Override
     public String getString(String key, String defaultValue, int userId) throws RemoteException {
         checkReadPermission(key, userId);
-
         return getStringUnchecked(key, defaultValue, userId);
     }
 
@@ -899,7 +902,7 @@
         }
     }
 
-    public void setLockPatternInternal(String pattern, String savedCredential, int userId)
+    private void setLockPatternInternal(String pattern, String savedCredential, int userId)
             throws RemoteException {
         byte[] currentHandle = getCurrentHandle(userId);
 
@@ -962,7 +965,7 @@
         }
     }
 
-    public void setLockPasswordInternal(String password, String savedCredential, int userId)
+    private void setLockPasswordInternal(String password, String savedCredential, int userId)
             throws RemoteException {
         byte[] currentHandle = getCurrentHandle(userId);
         if (password == null) {
@@ -1145,11 +1148,18 @@
 
     private void fixateNewestUserKeyAuth(int userId)
             throws RemoteException {
-        getMountService().fixateNewestUserKeyAuth(userId);
+        final IMountService mountService = getMountService();
+        final long callingId = Binder.clearCallingIdentity();
+        try {
+            mountService.fixateNewestUserKeyAuth(userId);
+        } finally {
+            Binder.restoreCallingIdentity(callingId);
+        }
     }
 
     @Override
     public void resetKeyStore(int userId) throws RemoteException {
+        checkWritePermission(userId);
         if (DEBUG) Slog.v(TAG, "Reset keystore for user: " + userId);
         int managedUserId = -1;
         String managedUserDecryptedPassword = null;
@@ -1458,7 +1468,7 @@
         return false;
     }
 
-    private void removeUser(int userId) {
+    private void removeUser(int userId, boolean unknownUser) {
         mStorage.removeUser(userId);
         mStrongAuth.removeUser(userId);
 
@@ -1473,7 +1483,7 @@
         } catch (RemoteException ex) {
             Slog.w(TAG, "unable to clear GK secure user id");
         }
-        if (mUserManager.getUserInfo(userId).isManagedProfile()) {
+        if (unknownUser || mUserManager.getUserInfo(userId).isManagedProfile()) {
             removeKeystoreProfileKey(userId);
         }
     }
@@ -1552,6 +1562,7 @@
             LockPatternUtils.LOCK_PASSWORD_SALT_KEY,
             LockPatternUtils.PASSWORD_HISTORY_KEY,
             LockPatternUtils.PASSWORD_TYPE_KEY,
+            SEPARATE_PROFILE_CHALLENGE_KEY
     };
 
     private static final String[] SETTINGS_TO_BACKUP = new String[] {
@@ -1582,7 +1593,7 @@
         }
 
         final IBinder service =
-            ServiceManager.getService("android.service.gatekeeper.IGateKeeperService");
+            ServiceManager.getService(Context.GATEKEEPER_SERVICE);
         if (service != null) {
             service.linkToDeath(new GateKeeperDiedRecipient(), 0);
             mGateKeeperService = IGateKeeperService.Stub.asInterface(service);
diff --git a/services/core/java/com/android/server/MountService.java b/services/core/java/com/android/server/MountService.java
index c89b6ea..cdd977b 100644
--- a/services/core/java/com/android/server/MountService.java
+++ b/services/core/java/com/android/server/MountService.java
@@ -827,8 +827,9 @@
                 if (provider != null) {
                     final IActivityManager am = ActivityManagerNative.getDefault();
                     try {
-                        am.killApplicationWithAppId(provider.applicationInfo.packageName,
-                                UserHandle.getAppId(provider.applicationInfo.uid), "vold reset");
+                        am.killApplication(provider.applicationInfo.packageName,
+                                UserHandle.getAppId(provider.applicationInfo.uid),
+                                UserHandle.USER_ALL, "vold reset");
                         // We only need to run this once. It will kill all users' media processes.
                         break;
                     } catch (RemoteException e) {
@@ -2030,6 +2031,9 @@
         enforcePermission(android.Manifest.permission.MOUNT_UNMOUNT_FILESYSTEMS);
         waitForReady();
 
+        final VolumeInfo from;
+        final VolumeInfo to;
+
         synchronized (mLock) {
             if (Objects.equals(mPrimaryStorageUuid, volumeUuid)) {
                 throw new IllegalArgumentException("Primary storage already at " + volumeUuid);
@@ -2049,10 +2053,11 @@
                 onMoveStatusLocked(MOVE_STATUS_COPY_FINISHED);
                 onMoveStatusLocked(PackageManager.MOVE_SUCCEEDED);
                 mHandler.obtainMessage(H_RESET).sendToTarget();
+                return;
 
             } else {
-                final VolumeInfo from = findStorageForUuid(mPrimaryStorageUuid);
-                final VolumeInfo to = findStorageForUuid(volumeUuid);
+                from = findStorageForUuid(mPrimaryStorageUuid);
+                to = findStorageForUuid(volumeUuid);
 
                 if (from == null) {
                     Slog.w(TAG, "Failing move due to missing from volume " + mPrimaryStorageUuid);
@@ -2063,14 +2068,14 @@
                     onMoveStatusLocked(PackageManager.MOVE_FAILED_INTERNAL_ERROR);
                     return;
                 }
-
-                try {
-                    mConnector.execute("volume", "move_storage", from.id, to.id);
-                } catch (NativeDaemonConnectorException e) {
-                    throw e.rethrowAsParcelableException();
-                }
             }
         }
+
+        try {
+            mConnector.execute("volume", "move_storage", from.id, to.id);
+        } catch (NativeDaemonConnectorException e) {
+            throw e.rethrowAsParcelableException();
+        }
     }
 
     @Override
@@ -3031,7 +3036,8 @@
                 if (forWrite) {
                     match = vol.isVisibleForWrite(userId);
                 } else {
-                    match = vol.isVisibleForRead(userId) || includeInvisible;
+                    match = vol.isVisibleForRead(userId)
+                            || (includeInvisible && vol.getPath() != null);
                 }
                 if (!match) continue;
 
diff --git a/services/core/java/com/android/server/NativeDaemonConnectorException.java b/services/core/java/com/android/server/NativeDaemonConnectorException.java
index 590bbcc..4d8881c 100644
--- a/services/core/java/com/android/server/NativeDaemonConnectorException.java
+++ b/services/core/java/com/android/server/NativeDaemonConnectorException.java
@@ -41,7 +41,7 @@
     }
 
     public int getCode() {
-        return mEvent.getCode();
+        return mEvent != null ? mEvent.getCode() : -1;
     }
 
     public String getCmd() {
diff --git a/services/core/java/com/android/server/PersistentDataBlockService.java b/services/core/java/com/android/server/PersistentDataBlockService.java
index 1e0b693..e233b1c 100644
--- a/services/core/java/com/android/server/PersistentDataBlockService.java
+++ b/services/core/java/com/android/server/PersistentDataBlockService.java
@@ -466,12 +466,13 @@
             enforceOemUnlockWritePermission();
             enforceIsAdmin();
 
-            // Do not allow oem unlock modification if it has been disallowed.
-            if (Settings.Global.getInt(getContext().getContentResolver(),
-                    Settings.Global.OEM_UNLOCK_DISALLOWED, 0) == 1) {
-                throw new SecurityException("OEM unlock has been disallowed.");
-            }
             if (enabled) {
+                // Do not allow oem unlock to be enabled if it has been disallowed.
+                if (Settings.Global.getInt(getContext().getContentResolver(),
+                        Settings.Global.OEM_UNLOCK_DISALLOWED, 0) == 1) {
+                    throw new SecurityException(
+                            "OEM unlock has been disallowed by OEM_UNLOCK_DISALLOWED.");
+                }
                 enforceFactoryResetAllowed();
             }
             synchronized (mLock) {
diff --git a/services/core/java/com/android/server/PinnerService.java b/services/core/java/com/android/server/PinnerService.java
index d48aeed..e63f536 100644
--- a/services/core/java/com/android/server/PinnerService.java
+++ b/services/core/java/com/android/server/PinnerService.java
@@ -17,18 +17,29 @@
 package com.android.server;
 
 import android.content.Context;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
 import android.content.res.Resources;
+import android.content.Intent;
 import android.util.EventLog;
 import android.util.Slog;
 import android.os.Binder;
 import android.os.Build;
+import android.provider.MediaStore;
 import android.system.ErrnoException;
 import android.system.Os;
 import android.system.OsConstants;
 import android.system.StructStat;
 
+import com.android.internal.app.ResolverActivity;
+
+import dalvik.system.VMRuntime;
+
 import java.util.ArrayList;
+import java.util.List;
 import java.io.FileDescriptor;
 import java.io.FileOutputStream;
 import java.io.IOException;
@@ -37,80 +48,268 @@
 /**
  * <p>PinnerService pins important files for key processes in memory.</p>
  * <p>Files to pin are specified in the config_defaultPinnerServiceFiles
- * overlay. </p>
+ * overlay.</p>
+ * <p>Pin the default camera application if specified in config_pinnerCameraApp.</p>
  */
 public final class PinnerService extends SystemService {
     private static final boolean DEBUG = false;
     private static final String TAG = "PinnerService";
 
     private final Context mContext;
-    private final ArrayList<String> mPinnedFiles = new ArrayList<String>();
+    private final ArrayList<PinnedFile> mPinnedFiles = new ArrayList<PinnedFile>();
+    private final ArrayList<PinnedFile> mPinnedCameraFiles = new ArrayList<PinnedFile>();
+    private final boolean mShouldPinCamera;
 
     private BinderService mBinderService;
 
+    private final long MAX_CAMERA_PIN_SIZE = 50 * (1 << 20); //50MB max
+
 
     public PinnerService(Context context) {
         super(context);
 
         mContext = context;
-
+        mShouldPinCamera = context.getResources().getBoolean(
+                com.android.internal.R.bool.config_pinnerCameraApp);
     }
 
     @Override
     public void onStart() {
-        Slog.e(TAG, "Starting PinnerService");
-
+        if (DEBUG) {
+            Slog.i(TAG, "Starting PinnerService");
+        }
         mBinderService = new BinderService();
         publishBinderService("pinner", mBinderService);
 
         // Files to pin come from the overlay and can be specified per-device config
+        String[] filesToPin = mContext.getResources().getStringArray(
+                com.android.internal.R.array.config_defaultPinnerServiceFiles);
         // Continue trying to pin remaining files even if there is a failure
-        String[] filesToPin = mContext.getResources().getStringArray(com.android.internal.R.array.config_defaultPinnerServiceFiles);
         for (int i = 0; i < filesToPin.length; i++){
-            boolean success = pinFile(filesToPin[i], 0, 0);
-            if (success == true) {
-                mPinnedFiles.add(filesToPin[i]);
-                Slog.i(TAG, "Pinned file = " + filesToPin[i]);
+            PinnedFile pf = pinFile(filesToPin[i], 0, 0, 0);
+            if (pf != null) {
+                mPinnedFiles.add(pf);
+                if (DEBUG) {
+                    Slog.i(TAG, "Pinned file = " + pf.mFilename);
+                }
             } else {
                 Slog.e(TAG, "Failed to pin file = " + filesToPin[i]);
             }
         }
     }
 
-    // mlock length bytes of fileToPin in memory, starting at offset
-    // length == 0 means pin from offset to end of file
-    private boolean pinFile(String fileToPin, long offset, long length) {
+    /**
+     * Pin camera on unlock.
+     * We have to wait for unlock because the user's
+     * preference for camera is not available from PackageManager until after
+     * unlock
+     */
+    @Override
+    public void onUnlockUser(int userHandle) {
+        handlePin(userHandle);
+    }
+
+    /**
+    * Pin camera on user switch.
+    * If more than one user is using the device
+    * each user may set a different preference for the camera app.
+    * Make sure that user's preference is pinned into memory.
+    */
+    @Override
+    public void onSwitchUser(int userHandle) {
+        handlePin(userHandle);
+    }
+
+    private void handlePin(int userHandle) {
+        if (mShouldPinCamera) {
+            boolean success = pinCamera(userHandle);
+            if (!success) {
+                //this is not necessarily an error
+                if (DEBUG) {
+                    Slog.v(TAG, "Failed to pin camera.");
+                }
+            }
+        }
+    }
+
+    /**
+     *  determine if the camera app is already pinned by comparing the
+     *  intent resolution to the pinned files list
+     */
+    private boolean alreadyPinned(int userHandle) {
+        ApplicationInfo cameraInfo = getCameraInfo(userHandle);
+        if (cameraInfo == null ) {
+            return false;
+        }
+        for (int i = 0; i < mPinnedCameraFiles.size(); i++) {
+            if (mPinnedCameraFiles.get(i).mFilename.equals(cameraInfo.sourceDir)) {
+                if (DEBUG) {
+                  Slog.v(TAG, "Camera is already pinned");
+                }
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private void unpinCameraApp() {
+        for (int i = 0; i < mPinnedCameraFiles.size(); i++) {
+            unpinFile(mPinnedCameraFiles.get(i));
+        }
+        mPinnedCameraFiles.clear();
+    }
+
+    private boolean isResolverActivity(ActivityInfo info) {
+        return ResolverActivity.class.getName().equals(info.name);
+    }
+
+    private ApplicationInfo getCameraInfo(int userHandle) {
+        //  find the camera via an intent
+        //  use INTENT_ACTION_STILL_IMAGE_CAMERA instead of _SECURE.  On a
+        //  device without a fbe enabled, the _SECURE intent will never get set.
+        Intent cameraIntent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
+        PackageManager pm = mContext.getPackageManager();
+        ResolveInfo cameraResolveInfo = pm.resolveActivityAsUser(
+                cameraIntent, PackageManager.MATCH_DEFAULT_ONLY, userHandle);
+        if (cameraResolveInfo == null ) {
+            //this is not necessarily an error
+            if (DEBUG) {
+              Slog.v(TAG, "Unable to resolve camera intent");
+            }
+            return null;
+        }
+
+        if (isResolverActivity(cameraResolveInfo.activityInfo))
+        {
+            return null;
+        }
+
+        return cameraResolveInfo.activityInfo.applicationInfo;
+    }
+
+    private boolean pinCamera(int userHandle){
+        //we may have already pinned a camera app.  If we've pinned this
+        //camera app, we're done.  otherwise, unpin and pin the new app
+        if (alreadyPinned(userHandle)){
+            return true;
+        }
+
+        ApplicationInfo cameraInfo = getCameraInfo(userHandle);
+        if (cameraInfo == null) {
+            return false;
+        }
+
+        //unpin after checking that the camera intent has resolved
+        //this prevents us from thrashing when switching users with
+        //FBE enabled, because the intent won't resolve until the unlock
+        unpinCameraApp();
+
+        //pin APK
+        String camAPK = cameraInfo.sourceDir;
+        PinnedFile pf = pinFile(camAPK, 0, 0, MAX_CAMERA_PIN_SIZE);
+        if (pf == null) {
+            Slog.e(TAG, "Failed to pin " + camAPK);
+            return false;
+        }
+        if (DEBUG) {
+            Slog.i(TAG, "Pinned " + pf.mFilename);
+        }
+        mPinnedCameraFiles.add(pf);
+
+        //find the location of the odex based on the location of the APK
+        int lastPeriod = camAPK.lastIndexOf('.');
+        int lastSlash = camAPK.lastIndexOf('/', lastPeriod);
+        String base = camAPK.substring(0, lastSlash);
+        String appName = camAPK.substring(lastSlash + 1, lastPeriod);
+
+        // determine the ABI from either ApplicationInfo or Build
+        String arch = "arm";
+        if (cameraInfo.primaryCpuAbi != null
+            && VMRuntime.is64BitAbi(cameraInfo.primaryCpuAbi)) {
+            arch = arch + "64";
+        } else {
+            if (VMRuntime.is64BitAbi(Build.SUPPORTED_ABIS[0])) {
+                arch = arch + "64";
+            }
+        }
+        String odex = base + "/oat/" + arch + "/" + appName + ".odex";
+        //not all apps have odex files, so not pinning the odex is not a fatal error
+        pf = pinFile(odex, 0, 0, MAX_CAMERA_PIN_SIZE);
+        if (pf != null) {
+            mPinnedCameraFiles.add(pf);
+            if (DEBUG) {
+                Slog.i(TAG, "Pinned " + pf.mFilename);
+            }
+        }
+        return true;
+    }
+
+
+    /** mlock length bytes of fileToPin in memory, starting at offset
+     *  length == 0 means pin from offset to end of file
+     *  maxSize == 0 means infinite
+     */
+    private static PinnedFile pinFile(String fileToPin, long offset, long length, long maxSize) {
         FileDescriptor fd = new FileDescriptor();
         try {
-            fd = Os.open(fileToPin, OsConstants.O_RDONLY | OsConstants.O_CLOEXEC | OsConstants.O_NOFOLLOW, OsConstants.O_RDONLY);
+            fd = Os.open(fileToPin,
+                    OsConstants.O_RDONLY | OsConstants.O_CLOEXEC | OsConstants.O_NOFOLLOW,
+                    OsConstants.O_RDONLY);
 
             StructStat sb = Os.fstat(fd);
 
             if (offset + length > sb.st_size) {
                 Os.close(fd);
-                return false;
+                Slog.e(TAG, "Failed to pin file " + fileToPin +
+                        ", request extends beyond end of file.  offset + length =  "
+                        + (offset + length) + ", file length = " + sb.st_size);
+                return null;
             }
 
             if (length == 0) {
                 length = sb.st_size - offset;
             }
 
-            long address = Os.mmap(0, length, OsConstants.PROT_READ, OsConstants.MAP_PRIVATE, fd, offset);
+            if (maxSize > 0 && length > maxSize) {
+                Slog.e(TAG, "Could not pin file " + fileToPin +
+                        ", size = " + length + ", maxSize = " + maxSize);
+                Os.close(fd);
+                return null;
+            }
+
+            long address = Os.mmap(0, length, OsConstants.PROT_READ,
+                    OsConstants.MAP_PRIVATE, fd, offset);
             Os.close(fd);
 
             Os.mlock(address, length);
 
-            return true;
+            return new PinnedFile(address, length, fileToPin);
         } catch (ErrnoException e) {
-            Slog.e(TAG, "Failed to pin file " + fileToPin + " with error " + e.getMessage());
+            Slog.e(TAG, "Could not pin file " + fileToPin + " with error " + e.getMessage());
             if(fd.valid()) {
-                try { Os.close(fd); }
-                catch (ErrnoException eClose) {Slog.e(TAG, "Failed to close fd, error = " + eClose.getMessage());}
+                try {
+                    Os.close(fd);
+                }
+                catch (ErrnoException eClose) {
+                    Slog.e(TAG, "Failed to close fd, error = " + eClose.getMessage());
+                }
             }
-            return false;
+            return null;
         }
     }
 
+    private static boolean unpinFile(PinnedFile pf) {
+        try {
+            Os.munlock(pf.mAddress, pf.mLength);
+        } catch (ErrnoException e) {
+            Slog.e(TAG, "Failed to unpin file " + pf.mFilename + " with error " + e.getMessage());
+            return false;
+        }
+        if (DEBUG) {
+            Slog.i(TAG, "Unpinned file " + pf.mFilename );
+        }
+        return true;
+    }
 
     private final class BinderService extends Binder {
         @Override
@@ -118,8 +317,23 @@
             mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DUMP, TAG);
             pw.println("Pinned Files:");
             for (int i = 0; i < mPinnedFiles.size(); i++) {
-                pw.println(mPinnedFiles.get(i));
+                pw.println(mPinnedFiles.get(i).mFilename);
             }
+            for (int i = 0; i < mPinnedCameraFiles.size(); i++) {
+                pw.println(mPinnedCameraFiles.get(i).mFilename);
+            }
+        }
+    }
+
+    private static class PinnedFile {
+        long mAddress;
+        long mLength;
+        String mFilename;
+
+        PinnedFile(long address, long length, String filename) {
+             mAddress = address;
+             mLength = length;
+             mFilename = filename;
         }
     }
 }
diff --git a/services/core/java/com/android/server/SystemServiceManager.java b/services/core/java/com/android/server/SystemServiceManager.java
index ecc69e9..90f507c 100644
--- a/services/core/java/com/android/server/SystemServiceManager.java
+++ b/services/core/java/com/android/server/SystemServiceManager.java
@@ -156,12 +156,15 @@
         final int serviceLen = mServices.size();
         for (int i = 0; i < serviceLen; i++) {
             final SystemService service = mServices.get(i);
+            Trace.traceBegin(Trace.TRACE_TAG_SYSTEM_SERVER, "onStartUser "
+                    + service.getClass().getName());
             try {
                 service.onStartUser(userHandle);
             } catch (Exception ex) {
                 Slog.wtf(TAG, "Failure reporting start of user " + userHandle
                         + " to service " + service.getClass().getName(), ex);
             }
+            Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER);
         }
     }
 
@@ -169,12 +172,15 @@
         final int serviceLen = mServices.size();
         for (int i = 0; i < serviceLen; i++) {
             final SystemService service = mServices.get(i);
+            Trace.traceBegin(Trace.TRACE_TAG_SYSTEM_SERVER, "onUnlockUser "
+                    + service.getClass().getName());
             try {
                 service.onUnlockUser(userHandle);
             } catch (Exception ex) {
                 Slog.wtf(TAG, "Failure reporting unlock of user " + userHandle
                         + " to service " + service.getClass().getName(), ex);
             }
+            Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER);
         }
     }
 
@@ -182,12 +188,15 @@
         final int serviceLen = mServices.size();
         for (int i = 0; i < serviceLen; i++) {
             final SystemService service = mServices.get(i);
+            Trace.traceBegin(Trace.TRACE_TAG_SYSTEM_SERVER, "onSwitchUser "
+                    + service.getClass().getName());
             try {
                 service.onSwitchUser(userHandle);
             } catch (Exception ex) {
                 Slog.wtf(TAG, "Failure reporting switch of user " + userHandle
                         + " to service " + service.getClass().getName(), ex);
             }
+            Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER);
         }
     }
 
@@ -195,12 +204,15 @@
         final int serviceLen = mServices.size();
         for (int i = 0; i < serviceLen; i++) {
             final SystemService service = mServices.get(i);
+            Trace.traceBegin(Trace.TRACE_TAG_SYSTEM_SERVER, "onStopUser "
+                    + service.getClass().getName());
             try {
                 service.onStopUser(userHandle);
             } catch (Exception ex) {
                 Slog.wtf(TAG, "Failure reporting stop of user " + userHandle
                         + " to service " + service.getClass().getName(), ex);
             }
+            Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER);
         }
     }
 
@@ -208,12 +220,15 @@
         final int serviceLen = mServices.size();
         for (int i = 0; i < serviceLen; i++) {
             final SystemService service = mServices.get(i);
+            Trace.traceBegin(Trace.TRACE_TAG_SYSTEM_SERVER, "onCleanupUser "
+                    + service.getClass().getName());
             try {
                 service.onCleanupUser(userHandle);
             } catch (Exception ex) {
                 Slog.wtf(TAG, "Failure reporting cleanup of user " + userHandle
                         + " to service " + service.getClass().getName(), ex);
             }
+            Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER);
         }
     }
 
diff --git a/services/core/java/com/android/server/VibratorService.java b/services/core/java/com/android/server/VibratorService.java
index 7f3eb15..ab036c7 100644
--- a/services/core/java/com/android/server/VibratorService.java
+++ b/services/core/java/com/android/server/VibratorService.java
@@ -487,7 +487,7 @@
 
     private boolean shouldVibrateForRingtone() {
         AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
-        int ringerMode = audioManager.getRingerMode();
+        int ringerMode = audioManager.getRingerModeInternal();
         // "Also vibrate for calls" Setting in Sound
         if (Settings.System.getInt(
                 mContext.getContentResolver(), Settings.System.VIBRATE_WHEN_RINGING, 0) != 0) {
diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java
index 4084542..f7bd04b 100644
--- a/services/core/java/com/android/server/accounts/AccountManagerService.java
+++ b/services/core/java/com/android/server/accounts/AccountManagerService.java
@@ -3425,7 +3425,7 @@
     /** {@hide} */
     @NonNull
     public AccountAndUser[] getAllAccounts() {
-        final List<UserInfo> users = getUserManager().getUsers();
+        final List<UserInfo> users = getUserManager().getUsers(true);
         final int[] userIds = new int[users.size()];
         for (int i = 0; i < userIds.length; i++) {
             userIds[i] = users.get(i).id;
@@ -3538,7 +3538,7 @@
 
     @Override
     public void addSharedAccountsFromParentUser(int parentUserId, int userId) {
-        checkManageUsersPermission("addSharedAccountsFromParentUser");
+        checkManageOrCreateUsersPermission("addSharedAccountsFromParentUser");
         Account[] accounts = getAccountsAsUser(null, parentUserId, mContext.getOpPackageName());
         for (Account account : accounts) {
             addSharedAccountAsUser(account, userId);
@@ -5092,6 +5092,16 @@
         }
     }
 
+    private static void checkManageOrCreateUsersPermission(String message) {
+        if (ActivityManager.checkComponentPermission(android.Manifest.permission.MANAGE_USERS,
+                Binder.getCallingUid(), -1, true) != PackageManager.PERMISSION_GRANTED &&
+                ActivityManager.checkComponentPermission(android.Manifest.permission.CREATE_USERS,
+                        Binder.getCallingUid(), -1, true) != PackageManager.PERMISSION_GRANTED) {
+            throw new SecurityException("You need MANAGE_USERS or CREATE_USERS permission to: "
+                    + message);
+        }
+    }
+
     private boolean hasExplicitlyGrantedPermission(Account account, String authTokenType,
             int callerUid) {
         if (callerUid == Process.SYSTEM_UID) {
diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java
index dcd9b0c..ee2fa51 100755
--- a/services/core/java/com/android/server/am/ActiveServices.java
+++ b/services/core/java/com/android/server/am/ActiveServices.java
@@ -43,7 +43,6 @@
 import android.util.ArrayMap;
 import android.util.ArraySet;
 
-import com.android.internal.app.procstats.ProcessStats;
 import com.android.internal.app.procstats.ServiceState;
 import com.android.internal.os.BatteryStatsImpl;
 import com.android.internal.os.TransferPipe;
@@ -751,6 +750,17 @@
         mAm.updateProcessForegroundLocked(proc, anyForeground, oomAdj);
     }
 
+    private void updateWhitelistManagerLocked(ProcessRecord proc) {
+        proc.whitelistManager = false;
+        for (int i=proc.services.size()-1; i>=0; i--) {
+            ServiceRecord sr = proc.services.valueAt(i);
+            if (sr.whitelistManager) {
+                proc.whitelistManager = true;
+                break;
+            }
+        }
+    }
+
     public void updateServiceConnectionActivitiesLocked(ProcessRecord clientProc) {
         ArraySet<ProcessRecord> updatedProcesses = null;
         for (int i = 0; i < clientProc.connections.size(); i++) {
@@ -997,6 +1007,9 @@
             if ((c.flags&Context.BIND_ABOVE_CLIENT) != 0) {
                 b.client.hasAboveClient = true;
             }
+            if ((c.flags&Context.BIND_ALLOW_WHITELIST_MANAGEMENT) != 0) {
+                s.whitelistManager = true;
+            }
             if (s.app != null) {
                 updateServiceClientActivitiesLocked(s.app, c, true);
             }
@@ -1019,6 +1032,9 @@
                 if ((flags&Context.BIND_TREAT_LIKE_ACTIVITY) != 0) {
                     s.app.treatLikeActivity = true;
                 }
+                if (s.whitelistManager) {
+                    s.app.whitelistManager = true;
+                }
                 // This could have made the service more important.
                 mAm.updateLruProcessLocked(s.app, s.app.hasClientActivities
                         || s.app.treatLikeActivity, b.client);
@@ -1132,9 +1148,7 @@
 
                 if (r.binding.service.app != null) {
                     if (r.binding.service.app.whitelistManager) {
-                        // Must reset flag here because on computeOomAdjLocked() the service
-                        // connection will be gone...
-                        r.binding.service.app.whitelistManager = false;
+                        updateWhitelistManagerLocked(r.binding.service.app);
                     }
                     // This could have made the service less important.
                     if ((r.flags&Context.BIND_TREAT_LIKE_ACTIVITY) != 0) {
@@ -1443,6 +1457,12 @@
             boolean allowCancel) {
         boolean canceled = false;
 
+        if (mAm.isShuttingDownLocked()) {
+            Slog.w(TAG, "Not scheduling restart of crashed service " + r.shortName
+                    + " - system is shutting down");
+            return false;
+        }
+
         ServiceMap smap = getServiceMap(r.userId);
         if (smap.mServicesByName.get(r.name) != r) {
             ServiceRecord cur = smap.mServicesByName.get(r.name);
@@ -1801,6 +1821,10 @@
             }
         }
 
+        if (r.whitelistManager) {
+            app.whitelistManager = true;
+        }
+
         requestServiceBindingsLocked(r, execInFg);
 
         updateServiceClientActivitiesLocked(app, null, true);
@@ -2012,6 +2036,9 @@
                 r.stats.stopLaunchedLocked();
             }
             r.app.services.remove(r);
+            if (r.whitelistManager) {
+                updateWhitelistManagerLocked(r.app);
+            }
             if (r.app.thread != null) {
                 updateServiceForegroundLocked(r.app, false);
                 try {
@@ -2079,6 +2106,14 @@
             if ((c.flags&Context.BIND_ABOVE_CLIENT) != 0) {
                 b.client.updateHasAboveClientLocked();
             }
+            // If this connection requested whitelist management, see if we should
+            // now clear that state.
+            if ((c.flags&Context.BIND_ALLOW_WHITELIST_MANAGEMENT) != 0) {
+                s.updateWhitelistManager();
+                if (!s.whitelistManager && s.app != null) {
+                    updateWhitelistManagerLocked(s.app);
+                }
+            }
             if (s.app != null) {
                 updateServiceClientActivitiesLocked(s.app, c, true);
             }
@@ -2278,6 +2313,9 @@
             if (finishing) {
                 if (r.app != null && !r.app.persistent) {
                     r.app.services.remove(r);
+                    if (r.whitelistManager) {
+                        updateWhitelistManagerLocked(r.app);
+                    }
                 }
                 r.app = null;
             }
@@ -2373,6 +2411,9 @@
                     service.app.removed = killProcess;
                     if (!service.app.persistent) {
                         service.app.services.remove(service);
+                        if (service.whitelistManager) {
+                            updateWhitelistManagerLocked(service.app);
+                        }
                     }
                 }
                 service.app = null;
@@ -2491,6 +2532,8 @@
         updateServiceConnectionActivitiesLocked(app);
         app.connections.clear();
 
+        app.whitelistManager = false;
+
         // Clear app state from services.
         for (int i = app.services.size() - 1; i >= 0; i--) {
             ServiceRecord sr = app.services.valueAt(i);
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 37d214b..e5579e2 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -63,6 +63,7 @@
 import org.xmlpull.v1.XmlSerializer;
 
 import android.Manifest;
+import android.annotation.NonNull;
 import android.annotation.UserIdInt;
 import android.app.Activity;
 import android.app.ActivityManager;
@@ -102,7 +103,6 @@
 import android.app.PendingIntent;
 import android.app.ProfilerInfo;
 import android.app.admin.DevicePolicyManager;
-import android.app.admin.DevicePolicyManagerInternal;
 import android.app.assist.AssistContent;
 import android.app.assist.AssistStructure;
 import android.app.backup.IBackupManager;
@@ -205,6 +205,7 @@
 import android.util.ArraySet;
 import android.util.AtomicFile;
 import android.util.DebugUtils;
+import android.util.DisplayMetrics;
 import android.util.EventLog;
 import android.util.Log;
 import android.util.Pair;
@@ -267,11 +268,16 @@
 import static android.content.pm.PackageManager.FEATURE_PICTURE_IN_PICTURE;
 import static android.content.pm.PackageManager.GET_PROVIDERS;
 import static android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING;
+import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE;
 import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE;
 import static android.content.pm.PackageManager.MATCH_SYSTEM_ONLY;
 import static android.content.pm.PackageManager.MATCH_UNINSTALLED_PACKAGES;
 import static android.content.pm.PackageManager.PERMISSION_GRANTED;
 import static android.content.res.Configuration.UI_MODE_TYPE_TELEVISION;
+import static android.os.Process.PROC_CHAR;
+import static android.os.Process.PROC_OUT_LONG;
+import static android.os.Process.PROC_PARENS;
+import static android.os.Process.PROC_SPACE_TERM;
 import static android.provider.Settings.Global.ALWAYS_FINISH_ACTIVITIES;
 import static android.provider.Settings.Global.DEBUG_APP;
 import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT;
@@ -499,7 +505,10 @@
     static final String[] EMPTY_STRING_ARRAY = new String[0];
 
     // How many bytes to write into the dropbox log before truncating
-    static final int DROPBOX_MAX_SIZE = 256 * 1024;
+    static final int DROPBOX_MAX_SIZE = 192 * 1024;
+    // Assumes logcat entries average around 100 bytes; that's not perfect stack traces count
+    // as one line, but close enough for now.
+    static final int RESERVED_BYTES_PER_LOGCAT_LINE = 100;
 
     // Access modes for handleIncomingUser.
     static final int ALLOW_NON_FULL = 0;
@@ -1512,6 +1521,7 @@
     static final int NOTIFY_FORCED_RESIZABLE_MSG = 67;
     static final int NOTIFY_ACTIVITY_DISMISSING_DOCKED_STACK_MSG = 68;
     static final int VR_MODE_APPLY_IF_NEEDED_MSG = 69;
+    static final int SHOW_UNSUPPORTED_DISPLAY_SIZE_DIALOG_MSG = 70;
 
     static final int FIRST_ACTIVITY_STACK_MSG = 100;
     static final int FIRST_BROADCAST_QUEUE_MSG = 200;
@@ -1522,6 +1532,7 @@
     static KillHandler sKillHandler = null;
 
     CompatModeDialog mCompatModeDialog;
+    UnsupportedDisplaySizeDialog mUnsupportedDisplaySizeDialog;
     long mLastMemUsageReportTime = 0;
 
     /**
@@ -1692,6 +1703,22 @@
                 }
                 break;
             }
+            case SHOW_UNSUPPORTED_DISPLAY_SIZE_DIALOG_MSG: {
+                synchronized (ActivityManagerService.this) {
+                    final ActivityRecord ar = (ActivityRecord) msg.obj;
+                    if (mUnsupportedDisplaySizeDialog != null) {
+                        mUnsupportedDisplaySizeDialog.dismiss();
+                        mUnsupportedDisplaySizeDialog = null;
+                    }
+                    if (ar != null && mCompatModePackages.getPackageNotifyUnsupportedZoomLocked(
+                            ar.packageName)) {
+                        mUnsupportedDisplaySizeDialog = new UnsupportedDisplaySizeDialog(
+                                ActivityManagerService.this, mContext, ar.info.applicationInfo);
+                        mUnsupportedDisplaySizeDialog.show();
+                    }
+                }
+                break;
+            }
             case START_USER_SWITCH_UI_MSG: {
                 mUserController.showUserSwitchDialog((Pair<UserInfo, UserInfo>) msg.obj);
                 break;
@@ -1826,13 +1853,13 @@
             } break;
             case KILL_APPLICATION_MSG: {
                 synchronized (ActivityManagerService.this) {
-                    int appid = msg.arg1;
-                    boolean restart = (msg.arg2 == 1);
+                    final int appId = msg.arg1;
+                    final int userId = msg.arg2;
                     Bundle bundle = (Bundle)msg.obj;
                     String pkg = bundle.getString("pkg");
                     String reason = bundle.getString("reason");
-                    forceStopPackageLocked(pkg, appid, restart, false, true, false,
-                            false, UserHandle.USER_ALL, reason);
+                    forceStopPackageLocked(pkg, appId, false, false, true, false,
+                            false, userId, reason);
                 }
             } break;
             case FINALIZE_PENDING_INTENT_MSG: {
@@ -2283,6 +2310,20 @@
                     if (mInVrMode != vrMode) {
                         mInVrMode = vrMode;
                         mShowDialogs = shouldShowDialogs(mConfiguration, mInVrMode);
+                        if (r.app != null) {
+                            ProcessRecord proc = r.app;
+                            if (proc.vrThreadTid > 0) {
+                                if (proc.curSchedGroup == ProcessList.SCHED_GROUP_TOP_APP) {
+                                    if (mInVrMode == true) {
+                                        Process.setThreadScheduler(proc.vrThreadTid,
+                                            Process.SCHED_FIFO | Process.SCHED_RESET_ON_FORK, 1);
+                                    } else {
+                                        Process.setThreadScheduler(proc.vrThreadTid,
+                                            Process.SCHED_OTHER, 0);
+                                    }
+                                }
+                            }
+                        }
                     }
                 }
                 vrService.setVrMode(vrMode, requestedPackage, userId, callingPackage);
@@ -2291,11 +2332,8 @@
                 final ActivityRecord r = (ActivityRecord) msg.obj;
                 final boolean needsVrMode = r != null && r.requestedVrComponent != null;
                 if (needsVrMode) {
-                    VrManagerInternal vrService =
-                            LocalServices.getService(VrManagerInternal.class);
-                    boolean enable = msg.arg1 == 1;
-                    vrService.setVrMode(enable, r.requestedVrComponent, r.userId,
-                            r.info.getComponentName());
+                    applyVrMode(msg.arg1 == 1, r.requestedVrComponent, r.userId,
+                            r.info.getComponentName(), false);
                 }
             } break;
             }
@@ -3083,6 +3121,17 @@
                 mHandler.obtainMessage(VR_MODE_APPLY_IF_NEEDED_MSG, enable ? 1 : 0, 0, r));
     }
 
+    private void applyVrMode(boolean enabled, ComponentName packageName, int userId,
+            ComponentName callingPackage, boolean immediate) {
+        VrManagerInternal vrService =
+                LocalServices.getService(VrManagerInternal.class);
+        if (immediate) {
+            vrService.setVrModeImmediate(enabled, packageName, userId, callingPackage);
+        } else {
+            vrService.setVrMode(enabled, packageName, userId, callingPackage);
+        }
+    }
+
     final void showAskCompatModeDialogLocked(ActivityRecord r) {
         Message msg = Message.obtain();
         msg.what = SHOW_COMPAT_MODE_DIALOG_UI_MSG;
@@ -3090,6 +3139,16 @@
         mUiHandler.sendMessage(msg);
     }
 
+    final void showUnsupportedZoomDialogIfNeededLocked(ActivityRecord r) {
+        if (mConfiguration.densityDpi != DisplayMetrics.DENSITY_DEVICE_STABLE
+                && r.appInfo.requiresSmallestWidthDp > mConfiguration.smallestScreenWidthDp) {
+            final Message msg = Message.obtain();
+            msg.what = SHOW_UNSUPPORTED_DISPLAY_SIZE_DIALOG_MSG;
+            msg.obj = r;
+            mUiHandler.sendMessage(msg);
+        }
+    }
+
     private int updateLruProcessInternalLocked(ProcessRecord app, long now, int index,
             String what, Object obj, ProcessRecord srcApp) {
         app.lastActivityTime = now;
@@ -3483,13 +3542,11 @@
 
         // app launch boost for big.little configurations
         // use cpusets to migrate freshly launched tasks to big cores
-        synchronized(ActivityManagerService.this) {
-            nativeMigrateToBoost();
-            mIsBoosted = true;
-            mBoostStartTime = SystemClock.uptimeMillis();
-            Message msg = mHandler.obtainMessage(APP_BOOST_DEACTIVATE_MSG);
-            mHandler.sendMessageDelayed(msg, APP_BOOST_MESSAGE_DELAY);
-        }
+        nativeMigrateToBoost();
+        mIsBoosted = true;
+        mBoostStartTime = SystemClock.uptimeMillis();
+        Message msg = mHandler.obtainMessage(APP_BOOST_DEACTIVATE_MSG);
+        mHandler.sendMessageDelayed(msg, APP_BOOST_MESSAGE_DELAY);
 
         // We don't have to do anything more if:
         // (1) There is an existing application record; and
@@ -3502,7 +3559,7 @@
                 + " thread=" + (app != null ? app.thread : null)
                 + " pid=" + (app != null ? app.pid : -1));
         if (app != null && app.pid > 0) {
-            if (!knownToBeDead || app.thread == null) {
+            if ((!knownToBeDead && !app.killed) || app.thread == null) {
                 // We already have the app running, or are waiting for it to
                 // come up (we have a pid but not yet its thread), so keep it.
                 if (DEBUG_PROCESSES) Slog.v(TAG_PROCESSES, "App already running: " + app);
@@ -5374,17 +5431,18 @@
         userId = mUserController.handleIncomingUser(pid, uid, userId, false,
                 ALLOW_FULL_ONLY, "clearApplicationUserData", null);
 
-        final DevicePolicyManagerInternal dpmi = LocalServices
-                .getService(DevicePolicyManagerInternal.class);
-        if (dpmi != null && dpmi.hasDeviceOwnerOrProfileOwner(packageName, userId)) {
-            throw new SecurityException("Cannot clear data for a device owner or a profile owner");
-        }
 
         long callingId = Binder.clearCallingIdentity();
         try {
             IPackageManager pm = AppGlobals.getPackageManager();
             int pkgUid = -1;
             synchronized(this) {
+                if (getPackageManagerInternalLocked().isPackageDataProtected(
+                        userId, packageName)) {
+                    throw new SecurityException(
+                            "Cannot clear data for a protected package: " + packageName);
+                }
+
                 try {
                     pkgUid = pm.getPackageUid(packageName, MATCH_UNINSTALLED_PACKAGES, userId);
                 } catch (RemoteException e) {
@@ -5677,12 +5735,12 @@
      * The pkg name and app id have to be specified.
      */
     @Override
-    public void killApplicationWithAppId(String pkg, int appid, String reason) {
+    public void killApplication(String pkg, int appId, int userId, String reason) {
         if (pkg == null) {
             return;
         }
         // Make sure the uid is valid.
-        if (appid < 0) {
+        if (appId < 0) {
             Slog.w(TAG, "Invalid appid specified for pkg : " + pkg);
             return;
         }
@@ -5691,8 +5749,8 @@
         if (UserHandle.getAppId(callerUid) == Process.SYSTEM_UID) {
             // Post an aysnc message to kill the application
             Message msg = mHandler.obtainMessage(KILL_APPLICATION_MSG);
-            msg.arg1 = appid;
-            msg.arg2 = 0;
+            msg.arg1 = appId;
+            msg.arg2 = userId;
             Bundle bundle = new Bundle();
             bundle.putString("pkg", pkg);
             bundle.putString("reason", reason);
@@ -6035,7 +6093,7 @@
         if (appId < 0 && packageName != null) {
             try {
                 appId = UserHandle.getAppId(AppGlobals.getPackageManager()
-                        .getPackageUid(packageName, MATCH_DEBUG_TRIAGED_MISSING, userId));
+                        .getPackageUid(packageName, MATCH_DEBUG_TRIAGED_MISSING, 0));
             } catch (RemoteException e) {
             }
         }
@@ -6376,7 +6434,7 @@
         EventLog.writeEvent(EventLogTags.AM_PROC_BOUND, app.userId, app.pid, app.processName);
 
         app.makeActive(thread, mProcessStats);
-        app.curAdj = app.setAdj = ProcessList.INVALID_ADJ;
+        app.curAdj = app.setAdj = app.verifiedAdj = ProcessList.INVALID_ADJ;
         app.curSchedGroup = app.setSchedGroup = ProcessList.SCHED_GROUP_DEFAULT;
         app.forcingToForeground = null;
         updateProcessForegroundLocked(app, false, false);
@@ -7820,7 +7878,7 @@
         return ActivityManager.APP_START_MODE_NORMAL;
     }
 
-    private ProviderInfo getProviderInfoLocked(String authority, int userHandle) {
+    private ProviderInfo getProviderInfoLocked(String authority, int userHandle, int pmFlags) {
         ProviderInfo pi = null;
         ContentProviderRecord cpr = mProviderMap.getProviderByName(authority, userHandle);
         if (cpr != null) {
@@ -7828,7 +7886,8 @@
         } else {
             try {
                 pi = AppGlobals.getPackageManager().resolveContentProvider(
-                        authority, PackageManager.GET_URI_PERMISSION_PATTERNS, userHandle);
+                        authority, PackageManager.GET_URI_PERMISSION_PATTERNS | pmFlags,
+                        userHandle);
             } catch (RemoteException ex) {
             }
         }
@@ -7951,7 +8010,8 @@
         }
 
         final String authority = grantUri.uri.getAuthority();
-        final ProviderInfo pi = getProviderInfoLocked(authority, grantUri.sourceUserId);
+        final ProviderInfo pi = getProviderInfoLocked(authority, grantUri.sourceUserId,
+                MATCH_DEBUG_TRIAGED_MISSING);
         if (pi == null) {
             Slog.w(TAG, "No content provider found for permission check: " +
                     grantUri.uri.toSafeString());
@@ -8078,7 +8138,8 @@
                 "Granting " + targetPkg + "/" + targetUid + " permission to " + grantUri);
 
         final String authority = grantUri.uri.getAuthority();
-        final ProviderInfo pi = getProviderInfoLocked(authority, grantUri.sourceUserId);
+        final ProviderInfo pi = getProviderInfoLocked(authority, grantUri.sourceUserId,
+                MATCH_DEBUG_TRIAGED_MISSING);
         if (pi == null) {
             Slog.w(TAG, "No content provider found for grant: " + grantUri.toSafeString());
             return;
@@ -8293,7 +8354,8 @@
 
         final IPackageManager pm = AppGlobals.getPackageManager();
         final String authority = grantUri.uri.getAuthority();
-        final ProviderInfo pi = getProviderInfoLocked(authority, grantUri.sourceUserId);
+        final ProviderInfo pi = getProviderInfoLocked(authority, grantUri.sourceUserId,
+                MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE);
         if (pi == null) {
             Slog.w(TAG, "No content provider found for permission revoke: "
                     + grantUri.toSafeString());
@@ -8390,7 +8452,8 @@
             }
 
             final String authority = uri.getAuthority();
-            final ProviderInfo pi = getProviderInfoLocked(authority, userId);
+            final ProviderInfo pi = getProviderInfoLocked(authority, userId,
+                    MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE);
             if (pi == null) {
                 Slog.w(TAG, "No content provider found for permission revoke: "
                         + uri.toSafeString());
@@ -8624,8 +8687,11 @@
                         final long createdTime = readLongAttribute(in, ATTR_CREATED_TIME, now);
 
                         // Sanity check that provider still belongs to source package
+                        // Both direct boot aware and unaware packages are fine as we
+                        // will do filtering at query time to avoid multiple parsing.
                         final ProviderInfo pi = getProviderInfoLocked(
-                                uri.getAuthority(), sourceUserId);
+                                uri.getAuthority(), sourceUserId, MATCH_DIRECT_BOOT_AWARE
+                                        | MATCH_DIRECT_BOOT_UNAWARE);
                         if (pi != null && sourcePkg.equals(pi.packageName)) {
                             int targetUid = -1;
                             try {
@@ -8784,10 +8850,11 @@
         Preconditions.checkNotNull(packageName, "packageName");
 
         final int callingUid = Binder.getCallingUid();
+        final int callingUserId = UserHandle.getUserId(callingUid);
         final IPackageManager pm = AppGlobals.getPackageManager();
         try {
-            final int packageUid = pm.getPackageUid(packageName, MATCH_DEBUG_TRIAGED_MISSING,
-                    UserHandle.getUserId(callingUid));
+            final int packageUid = pm.getPackageUid(packageName,
+                    MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE, callingUserId);
             if (packageUid != callingUid) {
                 throw new SecurityException(
                         "Package " + packageName + " does not belong to calling UID " + callingUid);
@@ -9025,7 +9092,8 @@
     }
 
     @Override
-    public List<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum, int flags, int userId) {
+    public ParceledListSlice<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum, int flags,
+            int userId) {
         final int callingUid = Binder.getCallingUid();
         userId = mUserController.handleIncomingUser(Binder.getCallingPid(), callingUid, userId,
                 false, ALLOW_FULL_ONLY, "getRecentTasks", null);
@@ -9041,7 +9109,7 @@
 
             if (!isUserRunning(userId, ActivityManager.FLAG_AND_UNLOCKED)) {
                 Slog.i(TAG, "user " + userId + " is still locked. Cannot load recents");
-                return Collections.emptyList();
+                return ParceledListSlice.emptyList();
             }
             mRecentTasks.loadUserRecentsLocked(userId);
 
@@ -9140,7 +9208,7 @@
                     maxNum--;
                 }
             }
-            return res;
+            return new ParceledListSlice<>(res);
         }
     }
 
@@ -9194,9 +9262,6 @@
                         // sense, so turn off auto-remove.
                         intent.addFlags(Intent.FLAG_ACTIVITY_RETAIN_IN_RECENTS);
                     }
-                } else if ((intent.getFlags()&Intent.FLAG_ACTIVITY_NEW_TASK) != 0) {
-                    // Must be a new task.
-                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                 }
                 if (!comp.equals(mLastAddedTaskComponent) || callingUid != mLastAddedTaskUid) {
                     mLastAddedTaskActivity = null;
@@ -10469,6 +10534,30 @@
         }
     }
 
+    private static final int[] PROCESS_STATE_STATS_FORMAT = new int[] {
+            PROC_SPACE_TERM,
+            PROC_SPACE_TERM|PROC_PARENS,
+            PROC_SPACE_TERM|PROC_CHAR|PROC_OUT_LONG,        // 3: process state
+    };
+
+    private final long[] mProcessStateStatsLongs = new long[1];
+
+    boolean isProcessAliveLocked(ProcessRecord proc) {
+        if (proc.procStatFile == null) {
+            proc.procStatFile = "/proc/" + proc.pid + "/stat";
+        }
+        mProcessStateStatsLongs[0] = 0;
+        if (!Process.readProcFile(proc.procStatFile, PROCESS_STATE_STATS_FORMAT, null,
+                mProcessStateStatsLongs, null)) {
+            if (DEBUG_OOM_ADJ) Slog.d(TAG, "UNABLE TO RETRIEVE STATE FOR " + proc.procStatFile);
+            return false;
+        }
+        final long state = mProcessStateStatsLongs[0];
+        if (DEBUG_OOM_ADJ) Slog.d(TAG, "RETRIEVED STATE FOR " + proc.procStatFile + ": "
+                + (char)state);
+        return state != 'Z' && state != 'X' && state != 'x' && state != 'K';
+    }
+
     private ContentProviderHolder getContentProviderImpl(IApplicationThread caller,
             String name, IBinder token, boolean stable, int userId) {
         ContentProviderRecord cpr;
@@ -10513,7 +10602,7 @@
                 }
             }
 
-            boolean providerRunning = cpr != null;
+            boolean providerRunning = cpr != null && cpr.proc != null && !cpr.proc.killed;
             if (providerRunning) {
                 cpi = cpr.info;
                 String msg;
@@ -10555,35 +10644,44 @@
                     }
                 }
 
-                if (cpr.proc != null) {
-                    checkTime(startTime, "getContentProviderImpl: before updateOomAdj");
-                    boolean success = updateOomAdjLocked(cpr.proc);
-                    maybeUpdateProviderUsageStatsLocked(r, cpr.info.packageName, name);
-                    checkTime(startTime, "getContentProviderImpl: after updateOomAdj");
-                    if (DEBUG_PROVIDER) Slog.i(TAG_PROVIDER, "Adjust success: " + success);
-                    // NOTE: there is still a race here where a signal could be
-                    // pending on the process even though we managed to update its
-                    // adj level.  Not sure what to do about this, but at least
-                    // the race is now smaller.
-                    if (!success) {
-                        // Uh oh...  it looks like the provider's process
-                        // has been killed on us.  We need to wait for a new
-                        // process to be started, and make sure its death
-                        // doesn't kill our process.
-                        Slog.i(TAG, "Existing provider " + cpr.name.flattenToShortString()
-                                + " is crashing; detaching " + r);
-                        boolean lastRef = decProviderCountLocked(conn, cpr, token, stable);
-                        checkTime(startTime, "getContentProviderImpl: before appDied");
-                        appDiedLocked(cpr.proc);
-                        checkTime(startTime, "getContentProviderImpl: after appDied");
-                        if (!lastRef) {
-                            // This wasn't the last ref our process had on
-                            // the provider...  we have now been killed, bail.
-                            return null;
-                        }
-                        providerRunning = false;
-                        conn = null;
+                checkTime(startTime, "getContentProviderImpl: before updateOomAdj");
+                final int verifiedAdj = cpr.proc.verifiedAdj;
+                boolean success = updateOomAdjLocked(cpr.proc);
+                // XXX things have changed so updateOomAdjLocked doesn't actually tell us
+                // if the process has been successfully adjusted.  So to reduce races with
+                // it, we will check whether the process still exists.  Note that this doesn't
+                // completely get rid of races with LMK killing the process, but should make
+                // them much smaller.
+                if (success && verifiedAdj != cpr.proc.setAdj && !isProcessAliveLocked(cpr.proc)) {
+                    success = false;
+                }
+                maybeUpdateProviderUsageStatsLocked(r, cpr.info.packageName, name);
+                checkTime(startTime, "getContentProviderImpl: after updateOomAdj");
+                if (DEBUG_PROVIDER) Slog.i(TAG_PROVIDER, "Adjust success: " + success);
+                // NOTE: there is still a race here where a signal could be
+                // pending on the process even though we managed to update its
+                // adj level.  Not sure what to do about this, but at least
+                // the race is now smaller.
+                if (!success) {
+                    // Uh oh...  it looks like the provider's process
+                    // has been killed on us.  We need to wait for a new
+                    // process to be started, and make sure its death
+                    // doesn't kill our process.
+                    Slog.i(TAG, "Existing provider " + cpr.name.flattenToShortString()
+                            + " is crashing; detaching " + r);
+                    boolean lastRef = decProviderCountLocked(conn, cpr, token, stable);
+                    checkTime(startTime, "getContentProviderImpl: before appDied");
+                    appDiedLocked(cpr.proc);
+                    checkTime(startTime, "getContentProviderImpl: after appDied");
+                    if (!lastRef) {
+                        // This wasn't the last ref our process had on
+                        // the provider...  we have now been killed, bail.
+                        return null;
                     }
+                    providerRunning = false;
+                    conn = null;
+                } else {
+                    cpr.proc.verifiedAdj = cpr.proc.setAdj;
                 }
 
                 Binder.restoreCallingIdentity(origId);
@@ -10727,7 +10825,7 @@
                         checkTime(startTime, "getContentProviderImpl: looking for process record");
                         ProcessRecord proc = getProcessRecordLocked(
                                 cpi.processName, cpr.appInfo.uid, false);
-                        if (proc != null && proc.thread != null) {
+                        if (proc != null && proc.thread != null && !proc.killed) {
                             if (DEBUG_PROVIDER) Slog.d(TAG_PROVIDER,
                                     "Installing in existing process " + proc);
                             if (!proc.pubProviders.containsKey(cpi.name)) {
@@ -11436,11 +11534,15 @@
 
     // Actually is sleeping or shutting down or whatever else in the future
     // is an inactive state.
-    public boolean isSleepingOrShuttingDown() {
-        return isSleeping() || mShuttingDown;
+    boolean isSleepingOrShuttingDownLocked() {
+        return isSleepingLocked() || mShuttingDown;
     }
 
-    public boolean isSleeping() {
+    boolean isShuttingDownLocked() {
+        return mShuttingDown;
+    }
+
+    boolean isSleepingLocked() {
         return mSleeping;
     }
 
@@ -12420,6 +12522,34 @@
         }
     }
 
+    public void setVrThread(int tid) {
+        if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_VR_MODE)) {
+            throw new UnsupportedOperationException("VR mode not supported on this device!");
+        }
+
+        synchronized (this) {
+            ProcessRecord proc;
+            synchronized (mPidsSelfLocked) {
+                final int pid = Binder.getCallingPid();
+                proc = mPidsSelfLocked.get(pid);
+                if (proc != null && mInVrMode && tid >= 0) {
+                    // reset existing VR thread to CFS
+                    if (proc.vrThreadTid != 0) {
+                        Process.setThreadScheduler(proc.vrThreadTid, Process.SCHED_OTHER, 0);
+                    }
+                    // add check to guarantee that tid belongs to pid?
+                    proc.vrThreadTid = tid;
+                    // promote to FIFO now if the tid is non-zero
+                    if (proc.curSchedGroup == ProcessList.SCHED_GROUP_TOP_APP && proc.vrThreadTid > 0) {
+                        Process.setThreadScheduler(proc.vrThreadTid, Process.SCHED_FIFO | Process.SCHED_RESET_ON_FORK, 1);
+                    }
+                } else {
+                    //Slog.e("VR_FIFO", "Didn't set thread from setVrThread?");
+                }
+            }
+        }
+    }
+
     @Override
     public int setVrMode(IBinder token, boolean enabled, ComponentName packageName) {
         if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_VR_MODE)) {
@@ -12810,7 +12940,7 @@
                     proc.notCachedSinceIdle = true;
                     proc.initialIdlePss = 0;
                     proc.nextPssTime = ProcessList.computeNextPssTime(proc.setProcState, true,
-                            mTestPssMode, isSleeping(), now);
+                            mTestPssMode, isSleepingLocked(), now);
                 }
             }
 
@@ -13458,13 +13588,13 @@
      * @param parent activity related to the error, null if unknown
      * @param subject line related to the error, null if absent
      * @param report in long form describing the error, null if absent
-     * @param logFile to include in the report, null if none
+     * @param dataFile text file to include in the report, null if none
      * @param crashInfo giving an application stack trace, null if absent
      */
     public void addErrorToDropBox(String eventType,
             ProcessRecord process, String processName, ActivityRecord activity,
             ActivityRecord parent, String subject,
-            final String report, final File logFile,
+            final String report, final File dataFile,
             final ApplicationErrorReport.CrashInfo crashInfo) {
         // NOTE -- this must never acquire the ActivityManagerService lock,
         // otherwise the watchdog may be prevented from resetting the system.
@@ -13519,20 +13649,24 @@
                 if (report != null) {
                     sb.append(report);
                 }
-                if (logFile != null) {
+
+                String setting = Settings.Global.ERROR_LOGCAT_PREFIX + dropboxTag;
+                int lines = Settings.Global.getInt(mContext.getContentResolver(), setting, 0);
+                int maxDataFileSize = DROPBOX_MAX_SIZE - sb.length()
+                        - lines * RESERVED_BYTES_PER_LOGCAT_LINE;
+
+                if (dataFile != null && maxDataFileSize > 0) {
                     try {
-                        sb.append(FileUtils.readTextFile(logFile, DROPBOX_MAX_SIZE,
+                        sb.append(FileUtils.readTextFile(dataFile, maxDataFileSize,
                                     "\n\n[[TRUNCATED]]"));
                     } catch (IOException e) {
-                        Slog.e(TAG, "Error reading " + logFile, e);
+                        Slog.e(TAG, "Error reading " + dataFile, e);
                     }
                 }
                 if (crashInfo != null && crashInfo.stackTrace != null) {
                     sb.append(crashInfo.stackTrace);
                 }
 
-                String setting = Settings.Global.ERROR_LOGCAT_PREFIX + dropboxTag;
-                int lines = Settings.Global.getInt(mContext.getContentResolver(), setting, 0);
                 if (lines > 0) {
                     sb.append("\n");
 
@@ -13850,7 +13984,12 @@
                             args.length - opti);
                 }
                 synchronized (this) {
-                    dumpBroadcastStatsLocked(fd, pw, args, opti, true, dumpPackage);
+                    if (dumpCheckinFormat) {
+                        dumpBroadcastStatsCheckinLocked(fd, pw, args, opti, dumpCheckin,
+                                dumpPackage);
+                    } else {
+                        dumpBroadcastStatsLocked(fd, pw, args, opti, true, dumpPackage);
+                    }
                 }
             } else if ("intents".equals(cmd) || "i".equals(cmd)) {
                 String[] newArgs;
@@ -16523,7 +16662,8 @@
                         && capp.pid != MY_PID) {
                     capp.kill("depends on provider "
                             + cpr.name.flattenToShortString()
-                            + " in dying proc " + (proc != null ? proc.processName : "??"), true);
+                            + " in dying proc " + (proc != null ? proc.processName : "??")
+                            + " (adj " + (proc != null ? proc.setAdj : "??") + ")", true);
                 }
             } else if (capp.thread != null && conn.provider.provider != null) {
                 try {
@@ -16996,11 +17136,22 @@
     // Cause the target app to be launched if necessary and its backup agent
     // instantiated.  The backup agent will invoke backupAgentCreated() on the
     // activity manager to announce its creation.
-    public boolean bindBackupAgent(ApplicationInfo app, int backupMode) {
-        if (DEBUG_BACKUP) Slog.v(TAG_BACKUP,
-                "bindBackupAgent: app=" + app + " mode=" + backupMode);
+    public boolean bindBackupAgent(String packageName, int backupMode, int userId) {
+        if (DEBUG_BACKUP) Slog.v(TAG, "bindBackupAgent: app=" + packageName + " mode=" + backupMode);
         enforceCallingPermission("android.permission.CONFIRM_FULL_BACKUP", "bindBackupAgent");
 
+        IPackageManager pm = AppGlobals.getPackageManager();
+        ApplicationInfo app = null;
+        try {
+            app = pm.getApplicationInfo(packageName, 0, userId);
+        } catch (RemoteException e) {
+            // can't happen; package manager is process-local
+        }
+        if (app == null) {
+            Slog.w(TAG, "Unable to bind backup agent for " + packageName);
+            return false;
+        }
+
         synchronized(this) {
             // !!! TODO: currently no check here that we're already bound
             BatteryStatsImpl.Uid.Pkg.Serv ss = null;
@@ -17707,6 +17858,14 @@
                                         removeUriPermissionsForPackageLocked(ssp, userId, true);
 
                                         removeTasksByPackageNameLocked(ssp, userId);
+
+                                        // Hide the "unsupported display" dialog if necessary.
+                                        if (mUnsupportedDisplaySizeDialog != null && ssp.equals(
+                                                mUnsupportedDisplaySizeDialog.getPackageName())) {
+                                            mUnsupportedDisplaySizeDialog.dismiss();
+                                            mUnsupportedDisplaySizeDialog = null;
+                                        }
+                                        mCompatModePackages.handlePackageUninstalledLocked(ssp);
                                         mBatteryStatsService.notePackageUninstalled(ssp);
                                     }
                                 } else {
@@ -17747,6 +17906,11 @@
                                 getPackageManagerInternalLocked().getApplicationInfo(
                                         ssp,
                                         userId);
+                        if (aInfo == null) {
+                            Slog.w(TAG, "Dropping ACTION_PACKAGE_REPLACED for non-existent pkg:"
+                                    + " ssp=" + ssp + " data=" + data);
+                            return ActivityManager.BROADCAST_SUCCESS;
+                        }
                         mStackSupervisor.updateActivityApplicationInfoLocked(aInfo);
                         sendPackageBroadcastLocked(IApplicationThread.PACKAGE_REPLACED,
                                 new String[] {ssp}, userId);
@@ -17773,6 +17937,21 @@
                     }
                     break;
                 }
+                case Intent.ACTION_PACKAGE_DATA_CLEARED:
+                {
+                    Uri data = intent.getData();
+                    String ssp;
+                    if (data != null && (ssp = data.getSchemeSpecificPart()) != null) {
+                        // Hide the "unsupported display" dialog if necessary.
+                        if (mUnsupportedDisplaySizeDialog != null && ssp.equals(
+                                mUnsupportedDisplaySizeDialog.getPackageName())) {
+                            mUnsupportedDisplaySizeDialog.dismiss();
+                            mUnsupportedDisplaySizeDialog = null;
+                        }
+                        mCompatModePackages.handlePackageDataClearedLocked(ssp);
+                    }
+                    break;
+                }
                 case Intent.ACTION_TIMEZONE_CHANGED:
                     // If this is the time zone changed action, queue up a message that will reset
                     // the timezone of all currently running processes. This message will get
@@ -17804,6 +17983,19 @@
                     // Apps should use JobScehduler to monitor for media provider changes.
                     Slog.w(TAG, action + " no longer allowed; dropping from "
                             + UserHandle.formatUid(callingUid));
+                    if (resultTo != null) {
+                        final BroadcastQueue queue = broadcastQueueForIntent(intent);
+                        try {
+                            queue.performReceiveLocked(callerApp, resultTo, intent,
+                                    Activity.RESULT_CANCELED, null, null,
+                                    false, false, userId);
+                        } catch (RemoteException e) {
+                            Slog.w(TAG, "Failure ["
+                                    + queue.mQueueName + "] sending broadcast result of "
+                                    + intent, e);
+
+                        }
+                    }
                     // Lie; we don't want to crash the app.
                     return ActivityManager.BROADCAST_SUCCESS;
             }
@@ -18595,6 +18787,9 @@
 
                 final boolean isDensityChange = (changes & ActivityInfo.CONFIG_DENSITY) != 0;
                 if (isDensityChange) {
+                    // Reset the unsupported display size dialog.
+                    mUiHandler.sendEmptyMessage(SHOW_UNSUPPORTED_DISPLAY_SIZE_DIALOG_MSG);
+
                     killAllBackgroundProcessesExcept(Build.VERSION_CODES.N,
                             ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE);
                 }
@@ -19182,8 +19377,6 @@
                 }
             }
 
-            app.whitelistManager = false;
-
             for (int conni = s.connections.size()-1;
                     conni >= 0 && (adj > ProcessList.FOREGROUND_APP_ADJ
                             || schedGroup == ProcessList.SCHED_GROUP_BACKGROUND
@@ -19202,9 +19395,6 @@
                         // Binding to ourself is not interesting.
                         continue;
                     }
-                    if ((cr.flags & Context.BIND_ALLOW_WHITELIST_MANAGEMENT) != 0) {
-                        app.whitelistManager = true;
-                    }
 
                     if ((cr.flags&Context.BIND_WAIVE_PRIORITY) == 0) {
                         ProcessRecord client = cr.binding.client;
@@ -19697,7 +19887,7 @@
             if (memLowered || now > (app.lastStateTime+ProcessList.PSS_ALL_INTERVAL)) {
                 app.pssProcState = app.setProcState;
                 app.nextPssTime = ProcessList.computeNextPssTime(app.curProcState, true,
-                        mTestPssMode, isSleeping(), now);
+                        mTestPssMode, isSleepingLocked(), now);
                 mPendingPssProcesses.add(app);
             }
         }
@@ -19745,7 +19935,7 @@
             }
         }
         return !processingBroadcasts
-                && (isSleeping() || mStackSupervisor.allResumedActivitiesIdle());
+                && (isSleepingLocked() || mStackSupervisor.allResumedActivitiesIdle());
     }
 
     /**
@@ -19955,9 +20145,11 @@
                     "Set " + app.pid + " " + app.processName + " adj " + app.curAdj + ": "
                     + app.adjType);
             app.setAdj = app.curAdj;
+            app.verifiedAdj = ProcessList.INVALID_ADJ;
         }
 
         if (app.setSchedGroup != app.curSchedGroup) {
+            int oldSchedGroup = app.setSchedGroup;
             app.setSchedGroup = app.curSchedGroup;
             if (DEBUG_SWITCH || DEBUG_OOM_ADJ) Slog.v(TAG_OOM_ADJ,
                     "Setting sched group of " + app.processName
@@ -19983,6 +20175,23 @@
                     long oldId = Binder.clearCallingIdentity();
                     try {
                         Process.setProcessGroup(app.pid, processGroup);
+                        if (app.curSchedGroup == ProcessList.SCHED_GROUP_TOP_APP) {
+                            // do nothing if we already switched to RT
+                            if (oldSchedGroup != ProcessList.SCHED_GROUP_TOP_APP) {
+                                // Switch VR thread for app to SCHED_FIFO
+                                if (mInVrMode && app.vrThreadTid != 0) {
+                                    Process.setThreadScheduler(app.vrThreadTid,
+                                        Process.SCHED_FIFO | Process.SCHED_RESET_ON_FORK, 1);
+                                }
+                            }
+                        } else if (oldSchedGroup == ProcessList.SCHED_GROUP_TOP_APP &&
+                                   app.curSchedGroup != ProcessList.SCHED_GROUP_TOP_APP) {
+                            // Reset VR thread to SCHED_OTHER
+                            // Safe to do even if we're not in VR mode
+                            if (app.vrThreadTid != 0) {
+                                Process.setThreadScheduler(app.vrThreadTid, Process.SCHED_OTHER, 0);
+                            }
+                        }
                     } catch (Exception e) {
                         Slog.w(TAG, "Failed setting process group of " + app.pid
                                 + " to " + app.curSchedGroup);
@@ -20036,7 +20245,7 @@
             }
             app.lastStateTime = now;
             app.nextPssTime = ProcessList.computeNextPssTime(app.curProcState, true,
-                    mTestPssMode, isSleeping(), now);
+                    mTestPssMode, isSleepingLocked(), now);
             if (DEBUG_PSS) Slog.d(TAG_PSS, "Process state change from "
                     + ProcessList.makeProcStateString(app.setProcState) + " to "
                     + ProcessList.makeProcStateString(app.curProcState) + " next pss in "
@@ -20047,7 +20256,7 @@
                     mTestPssMode)))) {
                 requestPssLocked(app, app.setProcState);
                 app.nextPssTime = ProcessList.computeNextPssTime(app.curProcState, false,
-                        mTestPssMode, isSleeping(), now);
+                        mTestPssMode, isSleepingLocked(), now);
             } else if (false && DEBUG_PSS) Slog.d(TAG_PSS,
                     "Not requesting PSS of " + app + ": next=" + (app.nextPssTime-now));
         }
@@ -20573,7 +20782,7 @@
         }
         mLastMemoryLevel = memFactor;
         mLastNumProcesses = mLruProcesses.size();
-        boolean allChanged = mProcessStats.setMemFactorLocked(memFactor, !isSleeping(), now);
+        boolean allChanged = mProcessStats.setMemFactorLocked(memFactor, !isSleepingLocked(), now);
         final int trackerMemFactor = mProcessStats.getMemFactorLocked();
         if (memFactor != ProcessStats.ADJ_MEM_FACTOR_NORMAL) {
             if (mLowRamStartTime == 0) {
@@ -21230,8 +21439,8 @@
     }
 
     @Override
-    public void registerUserSwitchObserver(IUserSwitchObserver observer) {
-        mUserController.registerUserSwitchObserver(observer);
+    public void registerUserSwitchObserver(IUserSwitchObserver observer, String name) {
+        mUserController.registerUserSwitchObserver(observer, name);
     }
 
     @Override
@@ -21378,11 +21587,25 @@
         public SleepToken acquireSleepToken(String tag) {
             Preconditions.checkNotNull(tag);
 
+            ComponentName requestedVrService = null;
+            ComponentName callingVrActivity = null;
+            int userId = -1;
+            synchronized (ActivityManagerService.this) {
+                if (mFocusedActivity != null) {
+                    requestedVrService = mFocusedActivity.requestedVrComponent;
+                    callingVrActivity = mFocusedActivity.info.getComponentName();
+                    userId = mFocusedActivity.userId;
+                }
+            }
+
+            if (requestedVrService != null) {
+                applyVrMode(false, requestedVrService, userId, callingVrActivity, true);
+            }
+
             synchronized (ActivityManagerService.this) {
                 SleepTokenImpl token = new SleepTokenImpl(tag);
                 mSleepTokens.add(token);
                 updateSleepIfNeededLocked();
-                applyVrModeIfNeededLocked(mFocusedActivity, false);
                 return token;
             }
         }
@@ -21491,6 +21714,43 @@
             }
             ((PendingIntentRecord) target).setWhitelistDuration(duration);
         }
+
+        @Override
+        public void updatePersistentConfigurationForUser(@NonNull Configuration values,
+                int userId) {
+            Preconditions.checkNotNull(values, "Configuration must not be null");
+            Preconditions.checkArgumentNonnegative(userId, "userId " + userId + " not supported");
+            synchronized (ActivityManagerService.this) {
+                updateConfigurationLocked(values, null, false, true, userId);
+            }
+        }
+
+        @Override
+        public IIntentSender getActivityIntentSenderAsPackage(
+                String packageName, int userId, int requestCode, Intent intent,
+                int flags, Bundle bOptions) {
+            String resolvedType = intent != null ? intent.resolveTypeIfNeeded(
+                    mContext.getContentResolver()) : null;
+
+            // UID of the package on user userId.
+            // "= 0" is needed because otherwise catch(RemoteException) would make it look like
+            // packageUid may not be initialized.
+            int packageUid = 0;
+            try {
+                packageUid = AppGlobals.getPackageManager().getPackageUid(
+                        packageName, PackageManager.MATCH_DEBUG_TRIAGED_MISSING, userId);
+            } catch (RemoteException e) {
+                // Shouldn't happen.
+            }
+
+            synchronized (ActivityManagerService.this) {
+                return getIntentSenderLocked(
+                        ActivityManager.INTENT_SENDER_ACTIVITY, packageName, packageUid,
+                        UserHandle.getUserId(packageUid), /*token*/ null, /*resultWho*/ null,
+                        requestCode, new Intent[] {intent}, new String[]{resolvedType},
+                        flags, bOptions);
+            }
+        }
     }
 
     private final class SleepTokenImpl extends SleepToken {
diff --git a/services/core/java/com/android/server/am/ActivityRecord.java b/services/core/java/com/android/server/am/ActivityRecord.java
index 3ccac9e..6e40cff 100755
--- a/services/core/java/com/android/server/am/ActivityRecord.java
+++ b/services/core/java/com/android/server/am/ActivityRecord.java
@@ -221,6 +221,8 @@
     boolean pendingVoiceInteractionStart;   // Waiting for activity-invoked voice session
     IVoiceInteractionSession voiceSession;  // Voice interaction session for this activity
 
+    int mRotationAnimationHint;
+
     private static String startingWindowStateToString(int state) {
         switch (state) {
             case STARTING_WINDOW_NOT_SHOWN:
@@ -444,10 +446,17 @@
             return;
         }
         try {
+            // Make sure fontScale is always equal to global. For fullscreen apps, config is
+            // the shared EMPTY config, which has default fontScale of 1.0. We don't want it
+            // to be applied as an override config.
+            Configuration overrideConfig = new Configuration(config);
+            overrideConfig.fontScale = service.mConfiguration.fontScale;
+
             if (DEBUG_CONFIGURATION) Slog.v(TAG, "Sending new config to " + this + " " +
-                    "reportToActivity=" + reportToActivity + " and config: " + config);
+                    "reportToActivity=" + reportToActivity + " and config: " + overrideConfig);
+
             app.thread.scheduleActivityConfigurationChanged(
-                    appToken, new Configuration(config), reportToActivity);
+                    appToken, overrideConfig, reportToActivity);
         } catch (RemoteException e) {
             // If process died, whatever.
         }
@@ -628,6 +637,7 @@
         if (options != null) {
             pendingOptions = options;
             mLaunchTaskBehind = pendingOptions.getLaunchTaskBehind();
+            mRotationAnimationHint = pendingOptions.getRotationAnimationHint();
             PendingIntent usageReport = pendingOptions.getUsageTimeReport();
             if (usageReport != null) {
                 appTimeTracker = new AppTimeTracker(usageReport);
@@ -931,7 +941,7 @@
         final ReferrerIntent rintent = new ReferrerIntent(intent, referrer);
         boolean unsent = true;
         if ((state == ActivityState.RESUMED
-                || (service.isSleeping() && task.stack != null
+                || (service.isSleepingLocked() && task.stack != null
                     && task.stack.topRunningActivityLocked() == this))
                 && app != null && app.thread != null) {
             try {
@@ -1150,13 +1160,6 @@
 
     public void reportFullyDrawnLocked() {
         final long curTime = SystemClock.uptimeMillis();
-        // Normally launch time counts from the point when the activity is resumed, to when the
-        // first window is drawn. However the activity could become visible before it is resumed,
-        // due to some other activity in the same task being launched. In this case we still need
-        // to report launch time to unblock ActivityStarter.startActivityMayWait().
-        if (displayStartTime == 0 && task != null && task.isLaunching) {
-            displayStartTime = curTime;
-        }
         if (displayStartTime != 0) {
             reportLaunchTimeLocked(curTime);
         }
@@ -1222,22 +1225,13 @@
             //service.mUsageStatsService.noteLaunchTime(realActivity, (int)totalTime);
         }
         displayStartTime = 0;
-        task.isLaunching = false;
         stack.mLaunchStartTime = 0;
     }
 
     void windowsDrawnLocked() {
         mStackSupervisor.mActivityMetricsLogger.notifyWindowsDrawn();
-        final long curTime = SystemClock.uptimeMillis();
-        // Normally launch time counts from the point when the activity is resumed, to when the
-        // first window is drawn. However the activity could become visible before it is resumed,
-        // due to some other activity in the same task being launched. In this case we still need
-        // to report launch time to unblock ActivityStarter.startActivityMayWait().
-        if (displayStartTime == 0 && task != null && task.isLaunching) {
-            displayStartTime = curTime;
-        }
         if (displayStartTime != 0) {
-            reportLaunchTimeLocked(curTime);
+            reportLaunchTimeLocked(SystemClock.uptimeMillis());
         }
         mStackSupervisor.sendWaitingVisibleReportLocked(this);
         startTime = 0;
diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java
index d83a750..fc649a1 100644
--- a/services/core/java/com/android/server/am/ActivityStack.java
+++ b/services/core/java/com/android/server/am/ActivityStack.java
@@ -825,7 +825,8 @@
      * is the same as the given activity.  Returns null if no such activity
      * is found.
      */
-    ActivityRecord findActivityLocked(Intent intent, ActivityInfo info) {
+    ActivityRecord findActivityLocked(Intent intent, ActivityInfo info,
+                                      boolean compareIntentFilters) {
         ComponentName cls = intent.getComponent();
         if (info.targetActivity != null) {
             cls = new ComponentName(info.packageName, info.targetActivity);
@@ -843,8 +844,16 @@
                 if (notCurrentUserTask && (r.info.flags & FLAG_SHOW_FOR_ALL_USERS) == 0) {
                     continue;
                 }
-                if (!r.finishing && r.intent.getComponent().equals(cls) && r.userId == userId) {
-                    return r;
+                if (!r.finishing && r.userId == userId) {
+                    if (compareIntentFilters) {
+                        if (r.intent.filterEquals(intent)) {
+                            return r;
+                        }
+                    } else {
+                        if (r.intent.getComponent().equals(cls)) {
+                            return r;
+                        }
+                    }
                 }
             }
         }
@@ -924,9 +933,6 @@
     void setLaunchTime(ActivityRecord r) {
         if (r.displayStartTime == 0) {
             r.fullyDrawnStartTime = r.displayStartTime = SystemClock.uptimeMillis();
-            if (r.task != null) {
-                r.task.isLaunching = true;
-            }
             if (mLaunchStartTime == 0) {
                 startLaunchTraces(r.packageName);
                 mLaunchStartTime = mFullyDrawnStartTime = r.displayStartTime;
@@ -941,9 +947,6 @@
         // Make sure that there is no activity waiting for this to launch.
         if (mStackSupervisor.mWaitingActivityLaunched.isEmpty()) {
             r.displayStartTime = r.fullyDrawnStartTime = 0;
-            if (r.task != null) {
-                r.task.isLaunching = false;
-            }
         } else {
             mStackSupervisor.removeTimeoutsForActivityLocked(r);
             mStackSupervisor.scheduleIdleTimeoutLocked(r);
@@ -1075,7 +1078,7 @@
         if (mPausingActivity != null) {
             Slog.wtf(TAG, "Going to pause when pause is already pending for " + mPausingActivity
                     + " state=" + mPausingActivity.state);
-            if (!mService.isSleeping()) {
+            if (!mService.isSleepingLocked()) {
                 // Avoid recursion among check for sleep and complete pause during sleeping.
                 // Because activity will be paused immediately after resume, just let pause
                 // be completed by the order of activity paused from clients.
@@ -1139,7 +1142,7 @@
 
         // If we are not going to sleep, we want to ensure the device is
         // awake until the next activity is started.
-        if (!uiSleeping && !mService.isSleepingOrShuttingDown()) {
+        if (!uiSleeping && !mService.isSleepingOrShuttingDownLocked()) {
             mStackSupervisor.acquireLaunchWakelock();
         }
 
@@ -1292,7 +1295,7 @@
                     // We don't need to schedule another stop, we only need to let it happen.
                     prev.state = ActivityState.STOPPING;
                 } else if ((!prev.visible && !hasVisibleBehindActivity())
-                        || mService.isSleepingOrShuttingDown()) {
+                        || mService.isSleepingOrShuttingDownLocked()) {
                     // If we were visible then resumeTopActivities will release resources before
                     // stopping.
                     addToStopping(prev, true /* immediate */);
@@ -1310,7 +1313,7 @@
 
         if (resumeNext) {
             final ActivityStack topStack = mStackSupervisor.getFocusedStack();
-            if (!mService.isSleepingOrShuttingDown()) {
+            if (!mService.isSleepingOrShuttingDownLocked()) {
                 mStackSupervisor.resumeFocusedStackTopActivityLocked(topStack, prev, null);
             } else {
                 mStackSupervisor.checkReadyForSleepLocked();
@@ -1398,6 +1401,7 @@
 
         if (next.nowVisible) {
             // We won't get a call to reportActivityVisibleLocked() so dismiss lockscreen now.
+            mStackSupervisor.reportActivityVisibleLocked(next);
             mStackSupervisor.notifyActivityDrawnForKeyguard();
         }
 
@@ -1702,7 +1706,8 @@
         final boolean stackInvisible = stackVisibility != STACK_VISIBLE;
         final boolean stackVisibleBehind = stackVisibility == STACK_VISIBLE_ACTIVITY_BEHIND;
         boolean behindFullscreenActivity = stackInvisible;
-        boolean resumeNextActivity = isFocusable() && (isInStackLocked(starting) == null);
+        boolean resumeNextActivity = mStackSupervisor.isFocusedStack(this)
+                && (isInStackLocked(starting) == null);
         boolean behindTranslucentActivity = false;
         final ActivityRecord visibleBehind = getVisibleBehindActivity();
         for (int taskNdx = mTaskHistory.size() - 1; taskNdx >= 0; --taskNdx) {
@@ -2195,7 +2200,7 @@
 
         // If we are sleeping, and there is no resumed activity, and the top
         // activity is paused, well that is the state we want.
-        if (mService.isSleepingOrShuttingDown()
+        if (mService.isSleepingOrShuttingDownLocked()
                 && mLastPausedActivity == next
                 && mStackSupervisor.allPausedActivitiesComplete()) {
             // Make sure we have executed any pending transitions, since there
@@ -2277,7 +2282,7 @@
         // If the most recent activity was noHistory but was only stopped rather
         // than stopped+finished because the device went to sleep, we need to make
         // sure to finish it as we're making a new activity topmost.
-        if (mService.isSleeping() && mLastNoHistoryActivity != null &&
+        if (mService.isSleepingLocked() && mLastNoHistoryActivity != null &&
                 !mLastNoHistoryActivity.finishing) {
             if (DEBUG_STATES) Slog.d(TAG_STATES,
                     "no-history finish of " + mLastNoHistoryActivity + " on new resume");
@@ -2480,6 +2485,7 @@
                         System.identityHashCode(next), next.task.taskId, next.shortComponentName);
 
                 next.sleeping = false;
+                mService.showUnsupportedZoomDialogIfNeededLocked(next);
                 mService.showAskCompatModeDialogLocked(next);
                 next.app.pendingUiClean = true;
                 next.app.forceProcessStateUpTo(mService.mTopProcessState);
@@ -3211,7 +3217,7 @@
         if ((r.intent.getFlags()&Intent.FLAG_ACTIVITY_NO_HISTORY) != 0
                 || (r.info.flags&ActivityInfo.FLAG_NO_HISTORY) != 0) {
             if (!r.finishing) {
-                if (!mService.isSleeping()) {
+                if (!mService.isSleepingLocked()) {
                     if (DEBUG_STATES) Slog.d(TAG_STATES, "no-history finish of " + r);
                     if (requestFinishActivityLocked(r.appToken, Activity.RESULT_CANCELED, null,
                             "stop-no-history", false)) {
@@ -3243,7 +3249,7 @@
                 EventLogTags.writeAmStopActivity(
                         r.userId, System.identityHashCode(r), r.shortComponentName);
                 r.app.thread.scheduleStopActivity(r.appToken, r.visible, r.configChangeFlags);
-                if (mService.isSleepingOrShuttingDown()) {
+                if (mService.isSleepingOrShuttingDownLocked()) {
                     r.setSleeping(true);
                 }
                 Message msg = mHandler.obtainMessage(STOP_TIMEOUT_MSG, r);
@@ -3754,6 +3760,10 @@
         if (getVisibleBehindActivity() == r) {
             mStackSupervisor.requestVisibleBehindLocked(r, false);
         }
+
+        // Clean-up activities are no longer relaunching (e.g. app process died). Notify window
+        // manager so it can update its bookkeeping.
+        mWindowManager.notifyAppRelaunchesCleared(r.appToken);
     }
 
     private void removeTimeoutsForActivityLocked(ActivityRecord r) {
@@ -4447,7 +4457,7 @@
             }
         }
         if (updatedConfig) {
-            // Ensure the resumed state of the focus activity if we updated the confiugaration of
+            // Ensure the resumed state of the focus activity if we updated the configuration of
             // any activity.
             mStackSupervisor.resumeFocusedStackTopActivityLocked();
         }
@@ -4467,6 +4477,15 @@
             return true;
         }
 
+        // TODO: We could probably make the condition below just check that the activity state is
+        // stopped, but also checking the sleep state for now to reduce change impact late in
+        // development cycle.
+        if (mService.isSleepingOrShuttingDownLocked() && r.state == ActivityState.STOPPED) {
+            if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Slog.v(TAG_CONFIGURATION,
+                    "Skipping config check (stopped while sleeping): " + r);
+            return true;
+        }
+
         if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Slog.v(TAG_CONFIGURATION,
                 "Ensuring correct configuration: " + r);
 
@@ -4727,6 +4746,8 @@
                 r.results = null;
                 r.newIntents = null;
             }
+            mService.showUnsupportedZoomDialogIfNeededLocked(r);
+            mService.showAskCompatModeDialogLocked(r);
         } else {
             mHandler.removeMessages(PAUSE_TIMEOUT_MSG, r);
             r.state = ActivityState.PAUSED;
@@ -5177,7 +5198,8 @@
                 r.task.taskId, mStackId, r.info.screenOrientation, r.fullscreen,
                 (r.info.flags & FLAG_SHOW_FOR_ALL_USERS) != 0, r.userId, r.info.configChanges,
                 task.voiceSession != null, r.mLaunchTaskBehind, bounds, task.mOverrideConfig,
-                task.mResizeMode, r.isAlwaysFocusable(), task.isHomeTask());
+                task.mResizeMode, r.isAlwaysFocusable(), task.isHomeTask(),
+                r.appInfo.targetSdkVersion, r.mRotationAnimationHint);
         r.taskConfigOverride = task.mOverrideConfig;
     }
 
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index 1d1dc2b..82668e4 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -111,6 +111,7 @@
 import static android.app.ActivityManager.LOCK_TASK_MODE_PINNED;
 import static android.app.ActivityManager.RESIZE_MODE_FORCED;
 import static android.app.ActivityManager.RESIZE_MODE_SYSTEM;
+import static android.app.ActivityManager.START_TASK_TO_FRONT;
 import static android.app.ActivityManager.StackId.DOCKED_STACK_ID;
 import static android.app.ActivityManager.StackId.FIRST_DYNAMIC_STACK_ID;
 import static android.app.ActivityManager.StackId.FIRST_STATIC_STACK_ID;
@@ -1004,6 +1005,24 @@
         }
     }
 
+    void reportTaskToFrontNoLaunch(ActivityRecord r) {
+        boolean changed = false;
+        for (int i = mWaitingActivityLaunched.size() - 1; i >= 0; i--) {
+            WaitResult w = mWaitingActivityLaunched.remove(i);
+            if (w.who == null) {
+                changed = true;
+                // Set result to START_TASK_TO_FRONT so that startActivityMayWait() knows that
+                // the starting activity ends up moving another activity to front, and it should
+                // wait for this new activity to become visible instead.
+                // Do not modify other fields.
+                w.result = START_TASK_TO_FRONT;
+            }
+        }
+        if (changed) {
+            mService.notifyAll();
+        }
+    }
+
     void reportActivityLaunchedLocked(boolean timeout, ActivityRecord r,
             long thisTime, long totalTime) {
         boolean changed = false;
@@ -1017,6 +1036,7 @@
                 }
                 w.thisTime = thisTime;
                 w.totalTime = totalTime;
+                // Do not modify w.result.
             }
         }
         if (changed) {
@@ -1099,21 +1119,7 @@
             // Don't debug things in the system process
             if (!aInfo.processName.equals("system")) {
                 if ((startFlags & ActivityManager.START_FLAG_DEBUG) != 0) {
-                    final ProcessRecord app = mService.getProcessRecordLocked(
-                            aInfo.processName, aInfo.applicationInfo.uid, true);
-                    // If the process already started, we can't wait for debugger and shouldn't
-                    // modify the debug settings.
-                    // For non-persistent debug, normally we set the debug app here, and restores
-                    // to the original at attachApplication time. However, if the app process
-                    // already exists, we won't get another attachApplication, and the debug setting
-                    // never gets restored. Furthermore, if we get two such calls back-to-back,
-                    // both mOrigDebugApp and mDebugApp will become the same app, and it won't be
-                    // cleared even if we get attachApplication after the app process is killed.
-                    if (app == null || app.thread == null) {
-                        mService.setDebugApp(aInfo.processName, true, false);
-                    } else {
-                        Slog.w(TAG, "Ignoring waitForDebugger because process already exists");
-                    }
+                    mService.setDebugApp(aInfo.processName, true, false);
                 }
 
                 if ((startFlags & ActivityManager.START_FLAG_NATIVE_DEBUGGING) != 0) {
@@ -1233,6 +1239,7 @@
                                       PackageManager.NOTIFY_PACKAGE_USE_ACTIVITY);
             r.sleeping = false;
             r.forceNewConfig = false;
+            mService.showUnsupportedZoomDialogIfNeededLocked(r);
             mService.showAskCompatModeDialogLocked(r);
             r.compat = mService.compatibilityInfoForPackageLocked(r.info.applicationInfo);
             ProfilerInfo profilerInfo = null;
@@ -2044,7 +2051,7 @@
         continueUpdateBounds(HOME_STACK_ID);
         for (int i = mResizingTasksDuringAnimation.size() - 1; i >= 0; i--) {
             final int taskId = mResizingTasksDuringAnimation.valueAt(i);
-            if (anyTaskForIdLocked(taskId) != null) {
+            if (anyTaskForIdLocked(taskId, !RESTORE_FROM_RECENTS, INVALID_STACK_ID) != null) {
                 mWindowManager.setTaskDockedResizing(taskId, false);
             }
         }
@@ -2634,11 +2641,13 @@
         return mTmpFindTaskResult.r;
     }
 
-    ActivityRecord findActivityLocked(Intent intent, ActivityInfo info) {
+    ActivityRecord findActivityLocked(Intent intent, ActivityInfo info,
+                                      boolean compareIntentFilters) {
         for (int displayNdx = mActivityDisplays.size() - 1; displayNdx >= 0; --displayNdx) {
             final ArrayList<ActivityStack> stacks = mActivityDisplays.valueAt(displayNdx).mStacks;
             for (int stackNdx = stacks.size() - 1; stackNdx >= 0; --stackNdx) {
-                final ActivityRecord ar = stacks.get(stackNdx).findActivityLocked(intent, info);
+                final ActivityRecord ar = stacks.get(stackNdx)
+                        .findActivityLocked(intent, info, compareIntentFilters);
                 if (ar != null) {
                     return ar;
                 }
@@ -2723,7 +2732,7 @@
     }
 
     void checkReadyForSleepLocked() {
-        if (!mService.isSleepingOrShuttingDown()) {
+        if (!mService.isSleepingOrShuttingDownLocked()) {
             // Do not care.
             return;
         }
@@ -3041,8 +3050,9 @@
 
     /** Checks whether the activity should be shown for current user. */
     boolean okToShowLocked(ActivityRecord r) {
-        return r != null && (isCurrentProfileLocked(r.userId)
-                || (r.info.flags & FLAG_SHOW_FOR_ALL_USERS) != 0);
+        return r != null && ((r.info.flags & FLAG_SHOW_FOR_ALL_USERS) != 0
+                || (isCurrentProfileLocked(r.userId)
+                && !mService.mUserController.isUserStoppingOrShuttingDownLocked(r.userId)));
     }
 
     final ArrayList<ActivityRecord> processStoppingActivitiesLocked(boolean remove) {
@@ -3066,7 +3076,7 @@
                     mWindowManager.setAppVisibility(s.appToken, false);
                 }
             }
-            if ((!waitingVisible || mService.isSleepingOrShuttingDown()) && remove) {
+            if ((!waitingVisible || mService.isSleepingOrShuttingDownLocked()) && remove) {
                 if (DEBUG_STATES) Slog.v(TAG, "Ready to stop: " + s);
                 if (stops == null) {
                     stops = new ArrayList<>();
@@ -3790,7 +3800,7 @@
                 } break;
                 case SLEEP_TIMEOUT_MSG: {
                     synchronized (mService) {
-                        if (mService.isSleepingOrShuttingDown()) {
+                        if (mService.isSleepingOrShuttingDownLocked()) {
                             Slog.w(TAG, "Sleep timeout!  Sleeping now.");
                             mSleepTimeout = true;
                             checkReadyForSleepLocked();
diff --git a/services/core/java/com/android/server/am/ActivityStartInterceptor.java b/services/core/java/com/android/server/am/ActivityStartInterceptor.java
index 566d8d9..f26e47e 100644
--- a/services/core/java/com/android/server/am/ActivityStartInterceptor.java
+++ b/services/core/java/com/android/server/am/ActivityStartInterceptor.java
@@ -147,6 +147,9 @@
         }
         DevicePolicyManagerInternal devicePolicyManager = LocalServices.getService(
                 DevicePolicyManagerInternal.class);
+        if (devicePolicyManager == null) {
+            return false;
+        }
         mIntent = devicePolicyManager.createPackageSuspendedDialogIntent(
                 mAInfo.packageName, mUserId);
         mCallingPid = mRealCallingPid;
@@ -183,9 +186,13 @@
         if (mActivityOptions == null) {
             mActivityOptions = ActivityOptions.makeBasic();
         }
-        // Showing credential confirmation activity in home task to avoid stopping multi-windowed
-        // mode after showing the full-screen credential confirmation activity.
-        mActivityOptions.setLaunchTaskId(mSupervisor.getHomeActivity().task.taskId);
+
+        ActivityRecord homeActivityRecord = mSupervisor.getHomeActivity();
+        if (homeActivityRecord != null && homeActivityRecord.task != null) {
+            // Showing credential confirmation activity in home task to avoid stopping multi-windowed
+            // mode after showing the full-screen credential confirmation activity.
+            mActivityOptions.setLaunchTaskId(homeActivityRecord.task.taskId);
+        }
 
         final UserInfo parent = mUserManager.getProfileParent(mUserId);
         mRInfo = mSupervisor.resolveIntent(mIntent, mResolvedType, parent.id);
diff --git a/services/core/java/com/android/server/am/ActivityStarter.java b/services/core/java/com/android/server/am/ActivityStarter.java
index b89cae7..77b450f 100644
--- a/services/core/java/com/android/server/am/ActivityStarter.java
+++ b/services/core/java/com/android/server/am/ActivityStarter.java
@@ -167,8 +167,9 @@
     private Intent mNewTaskIntent;
     private ActivityStack mSourceStack;
     private ActivityStack mTargetStack;
-    // TODO: Is the mMoveHome flag really needed?
-    private boolean mMovedHome;
+    // Indicates that we moved other task and are going to put something on top soon, so
+    // we don't want to show it redundantly or accidentally change what's shown below.
+    private boolean mMovedOtherTask;
     private boolean mMovedToFront;
     private boolean mNoAnimation;
     private boolean mKeepCurTransition;
@@ -206,7 +207,7 @@
         mSourceStack = null;
 
         mTargetStack = null;
-        mMovedHome = false;
+        mMovedOtherTask = false;
         mMovedToFront = false;
         mNoAnimation = false;
         mKeepCurTransition = false;
@@ -554,6 +555,13 @@
             return;
         }
 
+        // We're waiting for an activity launch to finish, but that activity simply
+        // brought another activity to front. Let startActivityMayWait() know about
+        // this, so it waits for the new activity to become visible instead.
+        if (result == START_TASK_TO_FRONT && !mSupervisor.mWaitingActivityLaunched.isEmpty()) {
+            mSupervisor.reportTaskToFrontNoLaunch(mStartActivity);
+        }
+
         int startedActivityStackId = INVALID_STACK_ID;
         if (r.task != null && r.task.stack != null) {
             startedActivityStackId = r.task.stack.mStackId;
@@ -841,8 +849,13 @@
                             mService.wait();
                         } catch (InterruptedException e) {
                         }
-                    } while (!outResult.timeout && outResult.who == null);
-                } else if (res == START_TASK_TO_FRONT) {
+                    } while (outResult.result != START_TASK_TO_FRONT
+                            && !outResult.timeout && outResult.who == null);
+                    if (outResult.result == START_TASK_TO_FRONT) {
+                        res = START_TASK_TO_FRONT;
+                    }
+                }
+                if (res == START_TASK_TO_FRONT) {
                     ActivityRecord r = stack.topRunningActivityLocked();
                     if (r.nowVisible && r.state == RESUMED) {
                         outResult.timeout = false;
@@ -1039,7 +1052,6 @@
                 resumeTargetStackIfNeeded();
                 return START_RETURN_INTENT_TO_CALLER;
             }
-
             setTaskFromIntentActivity(mReusedActivity);
 
             if (!mAddingToTask && mReuseTask == null) {
@@ -1108,7 +1120,7 @@
                 Slog.e(TAG, "Attempted Lock Task Mode violation mStartActivity=" + mStartActivity);
                 return START_RETURN_LOCK_TASK_MODE_VIOLATION;
             }
-            if (!mMovedHome) {
+            if (!mMovedOtherTask) {
                 updateTaskReturnToType(mStartActivity.task, mLaunchFlags, topStack);
             }
         } else if (mSourceRecord != null) {
@@ -1438,11 +1450,12 @@
             if (mLaunchSingleInstance) {
                 // There can be one and only one instance of single instance activity in the
                 // history, and it is always in its own unique task, so we do a special search.
-               intentActivity = mSupervisor.findActivityLocked(mIntent, mStartActivity.info);
+               intentActivity = mSupervisor.findActivityLocked(mIntent, mStartActivity.info, false);
             } else if ((mLaunchFlags & FLAG_ACTIVITY_LAUNCH_ADJACENT) != 0) {
                 // For the launch adjacent case we only want to put the activity in an existing
                 // task if the activity already exists in the history.
-                intentActivity = mSupervisor.findActivityLocked(mIntent, mStartActivity.info);
+                intentActivity = mSupervisor.findActivityLocked(mIntent, mStartActivity.info,
+                        !mLaunchSingleTask);
             } else {
                 // Otherwise find the best task to put the activity in.
                 intentActivity = mSupervisor.findTaskLocked(mStartActivity);
@@ -1472,7 +1485,7 @@
                 if (mLaunchTaskBehind && mSourceRecord != null) {
                     intentActivity.setTaskToAffiliateWith(mSourceRecord.task);
                 }
-                mMovedHome = true;
+                mMovedOtherTask = true;
 
                 // If the launch flags carry both NEW_TASK and CLEAR_TASK, the task's activities
                 // will be cleared soon by ActivityStarter in setTaskFromIntentActivity().
@@ -1494,14 +1507,23 @@
                                 intentActivity.task, mNoAnimation, mOptions,
                                 mStartActivity.appTimeTracker, "bringingFoundTaskToFront");
                         mMovedToFront = true;
-                    } else if ((launchStack.mStackId == DOCKED_STACK_ID
-                            || launchStack.mStackId == FULLSCREEN_WORKSPACE_STACK_ID)
-                            && (mLaunchFlags & FLAG_ACTIVITY_LAUNCH_ADJACENT) != 0) {
-                        // If we want to launch adjacent and mTargetStack is not the computed
-                        // launch stack - move task to top of computed stack.
-                        mSupervisor.moveTaskToStackLocked(intentActivity.task.taskId,
-                                launchStack.mStackId, ON_TOP, FORCE_FOCUS, "launchToSide",
-                                ANIMATE);
+                    } else if (launchStack.mStackId == DOCKED_STACK_ID
+                            || launchStack.mStackId == FULLSCREEN_WORKSPACE_STACK_ID) {
+                        if ((mLaunchFlags & FLAG_ACTIVITY_LAUNCH_ADJACENT) != 0) {
+                            // If we want to launch adjacent and mTargetStack is not the computed
+                            // launch stack - move task to top of computed stack.
+                            mSupervisor.moveTaskToStackLocked(intentActivity.task.taskId,
+                                    launchStack.mStackId, ON_TOP, FORCE_FOCUS, "launchToSide",
+                                    ANIMATE);
+                        } else {
+                            // TODO: This should be reevaluated in MW v2.
+                            // We choose to move task to front instead of launching it adjacent
+                            // when specific stack was requested explicitly and it appeared to be
+                            // adjacent stack, but FLAG_ACTIVITY_LAUNCH_ADJACENT was not set.
+                            mTargetStack.moveTaskToFrontLocked(intentActivity.task, mNoAnimation,
+                                    mOptions, mStartActivity.appTimeTracker,
+                                    "bringToFrontInsteadOfAdjacentLaunch");
+                        }
                         mMovedToFront = true;
                     }
                     mOptions = null;
@@ -1550,6 +1572,10 @@
             mReuseTask = intentActivity.task;
             mReuseTask.performClearTaskLocked();
             mReuseTask.setIntent(mStartActivity);
+            // When we clear the task - focus will be adjusted, which will bring another task
+            // to top before we launch the activity we need. This will temporary swap their
+            // mTaskToReturnTo values and we don't want to overwrite them accidentally.
+            mMovedOtherTask = true;
         } else if ((mLaunchFlags & FLAG_ACTIVITY_CLEAR_TOP) != 0
                 || mLaunchSingleInstance || mLaunchSingleTask) {
             ActivityRecord top = intentActivity.task.performClearTaskLocked(mStartActivity,
diff --git a/services/core/java/com/android/server/am/BroadcastQueue.java b/services/core/java/com/android/server/am/BroadcastQueue.java
index 88645c1..a279290 100644
--- a/services/core/java/com/android/server/am/BroadcastQueue.java
+++ b/services/core/java/com/android/server/am/BroadcastQueue.java
@@ -456,7 +456,7 @@
         }
     }
 
-    private void performReceiveLocked(ProcessRecord app, IIntentReceiver receiver,
+    void performReceiveLocked(ProcessRecord app, IIntentReceiver receiver,
             Intent intent, int resultCode, String data, Bundle extras,
             boolean ordered, boolean sticky, int sendingUser) throws RemoteException {
         // Send the intent to the receiver asynchronously using one-way binder calls.
diff --git a/services/core/java/com/android/server/am/CompatModePackages.java b/services/core/java/com/android/server/am/CompatModePackages.java
index 26264e5..a54df4b 100644
--- a/services/core/java/com/android/server/am/CompatModePackages.java
+++ b/services/core/java/com/android/server/am/CompatModePackages.java
@@ -57,6 +57,8 @@
     public static final int COMPAT_FLAG_DONT_ASK = 1<<0;
     // Compatibility state: compatibility mode is enabled.
     public static final int COMPAT_FLAG_ENABLED = 1<<1;
+    // Unsupported zoom state: don't warn the user about unsupported zoom mode.
+    public static final int UNSUPPORTED_ZOOM_FLAG_DONT_NOTIFY = 1<<2;
 
     private final HashMap<String, Integer> mPackages = new HashMap<String, Integer>();
 
@@ -147,6 +149,24 @@
         return flags != null ? flags : 0;
     }
 
+    public void handlePackageDataClearedLocked(String packageName) {
+        // User has explicitly asked to clear all associated data.
+        removePackage(packageName);
+    }
+
+    public void handlePackageUninstalledLocked(String packageName) {
+        // Clear settings when app is uninstalled since this is an explicit
+        // signal from the user to remove the app and all associated data.
+        removePackage(packageName);
+    }
+
+    private void removePackage(String packageName) {
+        if (mPackages.containsKey(packageName)) {
+            mPackages.remove(packageName);
+            scheduleWrite();
+        }
+    }
+
     public void handlePackageAddedLocked(String packageName, boolean updated) {
         ApplicationInfo ai = null;
         try {
@@ -165,13 +185,17 @@
             // any current settings for it.
             if (!mayCompat && mPackages.containsKey(packageName)) {
                 mPackages.remove(packageName);
-                mHandler.removeMessages(MSG_WRITE);
-                Message msg = mHandler.obtainMessage(MSG_WRITE);
-                mHandler.sendMessageDelayed(msg, 10000);
+                scheduleWrite();
             }
         }
     }
 
+    private void scheduleWrite() {
+        mHandler.removeMessages(MSG_WRITE);
+        Message msg = mHandler.obtainMessage(MSG_WRITE);
+        mHandler.sendMessageDelayed(msg, 10000);
+    }
+
     public CompatibilityInfo compatibilityInfoForPackageLocked(ApplicationInfo ai) {
         CompatibilityInfo ci = new CompatibilityInfo(ai, mService.mConfiguration.screenLayout,
                 mService.mConfiguration.smallestScreenWidthDp,
@@ -207,6 +231,10 @@
         return (getPackageFlags(packageName)&COMPAT_FLAG_DONT_ASK) == 0;
     }
 
+    public boolean getPackageNotifyUnsupportedZoomLocked(String packageName) {
+        return (getPackageFlags(packageName)&UNSUPPORTED_ZOOM_FLAG_DONT_NOTIFY) == 0;
+    }
+
     public void setFrontActivityAskCompatModeLocked(boolean ask) {
         ActivityRecord r = mService.getFocusedStack().topRunningActivityLocked();
         if (r != null) {
@@ -223,9 +251,21 @@
             } else {
                 mPackages.remove(packageName);
             }
-            mHandler.removeMessages(MSG_WRITE);
-            Message msg = mHandler.obtainMessage(MSG_WRITE);
-            mHandler.sendMessageDelayed(msg, 10000);
+            scheduleWrite();
+        }
+    }
+
+    public void setPackageNotifyUnsupportedZoomLocked(String packageName, boolean notify) {
+        final int curFlags = getPackageFlags(packageName);
+        final int newFlags = notify ? (curFlags&~UNSUPPORTED_ZOOM_FLAG_DONT_NOTIFY) :
+                (curFlags|UNSUPPORTED_ZOOM_FLAG_DONT_NOTIFY);
+        if (curFlags != newFlags) {
+            if (newFlags != 0) {
+                mPackages.put(packageName, newFlags);
+            } else {
+                mPackages.remove(packageName);
+            }
+            scheduleWrite();
         }
     }
 
@@ -321,9 +361,7 @@
             // Need to get compatibility info in new state.
             ci = compatibilityInfoForPackageLocked(ai);
 
-            mHandler.removeMessages(MSG_WRITE);
-            Message msg = mHandler.obtainMessage(MSG_WRITE);
-            mHandler.sendMessageDelayed(msg, 10000);
+            scheduleWrite();
 
             final ActivityStack stack = mService.getFocusedStack();
             ActivityRecord starting = stack.restartPackage(packageName);
diff --git a/services/core/java/com/android/server/am/PreBootBroadcaster.java b/services/core/java/com/android/server/am/PreBootBroadcaster.java
index 1f3ccf5..3ed3d9a 100644
--- a/services/core/java/com/android/server/am/PreBootBroadcaster.java
+++ b/services/core/java/com/android/server/am/PreBootBroadcaster.java
@@ -19,17 +19,23 @@
 import static android.content.pm.PackageManager.MATCH_SYSTEM_ONLY;
 
 import android.app.AppOpsManager;
+import android.app.Notification;
+import android.app.NotificationManager;
 import android.content.ComponentName;
+import android.content.Context;
 import android.content.IIntentReceiver;
 import android.content.Intent;
 import android.content.pm.ResolveInfo;
 import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
 import android.os.Process;
 import android.os.UserHandle;
 import android.util.Slog;
 
 import com.android.internal.R;
 import com.android.internal.util.ProgressReporter;
+import com.android.server.UiThread;
 
 import java.util.List;
 
@@ -61,16 +67,20 @@
 
         mTargets = mService.mContext.getPackageManager().queryBroadcastReceiversAsUser(mIntent,
                 MATCH_SYSTEM_ONLY, UserHandle.of(userId));
+
+        mHandler.obtainMessage(MSG_SHOW).sendToTarget();
     }
 
     public void sendNext() {
         if (mIndex >= mTargets.size()) {
+            mHandler.obtainMessage(MSG_HIDE).sendToTarget();
             onFinished();
             return;
         }
 
         if (!mService.isUserRunning(mUserId, 0)) {
             Slog.i(TAG, "User " + mUserId + " is no longer running; skipping remaining receivers");
+            mHandler.obtainMessage(MSG_HIDE).sendToTarget();
             onFinished();
             return;
         }
@@ -100,5 +110,44 @@
         sendNext();
     }
 
+    private static final int MSG_SHOW = 1;
+    private static final int MSG_HIDE = 2;
+
+    private Handler mHandler = new Handler(UiThread.get().getLooper(), null, true) {
+        @Override
+        public void handleMessage(Message msg) {
+            final Context context = mService.mContext;
+            final NotificationManager notifManager = context
+                    .getSystemService(NotificationManager.class);
+
+            switch (msg.what) {
+                case MSG_SHOW:
+                    final CharSequence title = context
+                            .getText(R.string.android_upgrading_notification_title);
+                    final CharSequence message = context
+                            .getText(R.string.android_upgrading_notification_body);
+                    final Notification notif = new Notification.Builder(mService.mContext)
+                            .setSmallIcon(R.drawable.stat_sys_adb)
+                            .setWhen(0)
+                            .setOngoing(true)
+                            .setTicker(title)
+                            .setDefaults(0)
+                            .setPriority(Notification.PRIORITY_MAX)
+                            .setColor(context.getColor(
+                                    com.android.internal.R.color.system_notification_accent_color))
+                            .setContentTitle(title)
+                            .setContentText(message)
+                            .setVisibility(Notification.VISIBILITY_PUBLIC)
+                            .build();
+                    notifManager.notifyAsUser(TAG, 0, notif, UserHandle.of(mUserId));
+                    break;
+
+                case MSG_HIDE:
+                    notifManager.cancelAsUser(TAG, 0, UserHandle.of(mUserId));
+                    break;
+            }
+        }
+    };
+
     public abstract void onFinished();
 }
diff --git a/services/core/java/com/android/server/am/ProcessRecord.java b/services/core/java/com/android/server/am/ProcessRecord.java
index 691fd2a..0f7c89d 100644
--- a/services/core/java/com/android/server/am/ProcessRecord.java
+++ b/services/core/java/com/android/server/am/ProcessRecord.java
@@ -75,6 +75,7 @@
     ProcessState baseProcessTracker;
     BatteryStatsImpl.Uid.Proc curProcBatteryStats;
     int pid;                    // The process of this application; 0 if none
+    String procStatFile;        // path to /proc/<pid>/stat
     int[] gids;                 // The gids this process was launched with
     String requiredAbi;         // The ABI this process was launched with
     String instructionSet;      // The instruction set this process was launched with
@@ -93,8 +94,10 @@
     int setRawAdj;              // Last set OOM unlimited adjustment for this process
     int curAdj;                 // Current OOM adjustment for this process
     int setAdj;                 // Last set OOM adjustment for this process
+    int verifiedAdj;            // The last adjustment that was verified as actually being set
     int curSchedGroup;          // Currently desired scheduling class
     int setSchedGroup;          // Last set to background scheduling class
+    int vrThreadTid;            // Thread currently set for VR scheduling
     int trimMemoryLevel;        // Last selected memory trimming level
     int curProcState = PROCESS_STATE_NONEXISTENT; // Currently computed process state
     int repProcState = PROCESS_STATE_NONEXISTENT; // Last reported process state
@@ -291,6 +294,7 @@
                 pw.print(" setSchedGroup="); pw.print(setSchedGroup);
                 pw.print(" systemNoUi="); pw.print(systemNoUi);
                 pw.print(" trimMemoryLevel="); pw.println(trimMemoryLevel);
+        pw.print(prefix); pw.print("vrThreadTid="); pw.print(vrThreadTid);
         pw.print(prefix); pw.print("curProcState="); pw.print(curProcState);
                 pw.print(" repProcState="); pw.print(repProcState);
                 pw.print(" pssProcState="); pw.print(pssProcState);
@@ -441,7 +445,7 @@
         pkgList.put(_info.packageName, new ProcessStats.ProcessStateHolder(_info.versionCode));
         maxAdj = ProcessList.UNKNOWN_ADJ;
         curRawAdj = setRawAdj = ProcessList.INVALID_ADJ;
-        curAdj = setAdj = ProcessList.INVALID_ADJ;
+        curAdj = setAdj = verifiedAdj = ProcessList.INVALID_ADJ;
         persistent = false;
         removed = false;
         lastStateTime = lastPssTime = nextPssTime = SystemClock.uptimeMillis();
@@ -449,6 +453,7 @@
 
     public void setPid(int _pid) {
         pid = _pid;
+        procStatFile = null;
         shortStringName = null;
         stringName = null;
     }
diff --git a/services/core/java/com/android/server/am/RecentTasks.java b/services/core/java/com/android/server/am/RecentTasks.java
index cea76f2..5c05ab6 100644
--- a/services/core/java/com/android/server/am/RecentTasks.java
+++ b/services/core/java/com/android/server/am/RecentTasks.java
@@ -621,6 +621,9 @@
         for (int i = 0; i < recentsCount; i++) {
             final TaskRecord tr = get(i);
             if (task != tr) {
+                if (task.stack != null && tr.stack != null && task.stack != tr.stack) {
+                    continue;
+                }
                 if (task.userId != tr.userId) {
                     continue;
                 }
diff --git a/services/core/java/com/android/server/am/RetailDemoModeService.java b/services/core/java/com/android/server/am/RetailDemoModeService.java
deleted file mode 100644
index 6a5ec96..0000000
--- a/services/core/java/com/android/server/am/RetailDemoModeService.java
+++ /dev/null
@@ -1,318 +0,0 @@
-/*
- * 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
- */
-
-package com.android.server.am;
-
-import android.app.ActivityManagerNative;
-import android.app.AppGlobals;
-import android.app.Notification;
-import android.app.NotificationManager;
-import android.app.PendingIntent;
-import android.content.BroadcastReceiver;
-import android.content.ComponentName;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.pm.IPackageManager;
-import android.content.pm.PackageManager;
-import android.content.pm.UserInfo;
-import android.database.ContentObserver;
-import android.net.Uri;
-import android.os.Environment;
-import android.os.FileUtils;
-import android.os.Handler;
-import android.os.Looper;
-import android.os.Message;
-import android.os.PowerManager;
-import android.os.RemoteException;
-import android.os.SystemClock;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.provider.Settings;
-import android.util.Slog;
-
-import com.android.internal.os.BackgroundThread;
-import com.android.internal.R;
-import com.android.internal.widget.LockPatternUtils;
-import com.android.server.ServiceThread;
-import com.android.server.SystemService;
-import java.io.File;
-
-public class RetailDemoModeService extends SystemService {
-    private static final boolean DEBUG = false;
-
-    private static final String TAG = RetailDemoModeService.class.getSimpleName();
-    private static final String DEMO_USER_NAME = "Demo";
-    private static final String ACTION_RESET_DEMO = "com.android.server.am.ACTION_RESET_DEMO";
-
-    private static final int MSG_TURN_SCREEN_ON = 0;
-    private static final int MSG_INACTIVITY_TIME_OUT = 1;
-    private static final int MSG_START_NEW_SESSION = 2;
-
-    private static final long SCREEN_WAKEUP_DELAY = 2500;
-    private static final long USER_INACTIVITY_TIMEOUT = 30000;
-
-    boolean mDeviceInDemoMode = false;
-    private ActivityManagerService mAms;
-    private NotificationManager mNm;
-    private UserManager mUm;
-    private PowerManager mPm;
-    private PowerManager.WakeLock mWakeLock;
-    Handler mHandler;
-    private ServiceThread mHandlerThread;
-    private PendingIntent mResetDemoPendingIntent;
-
-    private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            if (!mDeviceInDemoMode) {
-                return;
-            }
-            switch (intent.getAction()) {
-                case Intent.ACTION_SCREEN_OFF:
-                    mHandler.removeMessages(MSG_TURN_SCREEN_ON);
-                    mHandler.sendEmptyMessageDelayed(MSG_TURN_SCREEN_ON, SCREEN_WAKEUP_DELAY);
-                    break;
-                case ACTION_RESET_DEMO:
-                    mHandler.sendEmptyMessage(MSG_START_NEW_SESSION);
-                    break;
-            }
-        }
-    };
-
-    final class MainHandler extends Handler {
-
-        MainHandler(Looper looper) {
-            super(looper, null, true);
-        }
-
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case MSG_TURN_SCREEN_ON:
-                    if (mWakeLock.isHeld()) {
-                        mWakeLock.release();
-                    }
-                    mWakeLock.acquire();
-                    break;
-                case MSG_INACTIVITY_TIME_OUT:
-                    IPackageManager pm = AppGlobals.getPackageManager();
-                    int enabledState = PackageManager.COMPONENT_ENABLED_STATE_DEFAULT;
-                    String demoLauncherComponent = getContext().getResources()
-                            .getString(R.string.config_demoModeLauncherComponent);
-                    try {
-                        enabledState = pm.getComponentEnabledSetting(
-                                ComponentName.unflattenFromString(demoLauncherComponent),
-                            getActivityManager().getCurrentUser().id);
-                    } catch (RemoteException exc) {
-                        // XXX: shouldn't happen
-                    }
-                    if (enabledState == PackageManager.COMPONENT_ENABLED_STATE_DISABLED) {
-                        Slog.i(TAG, "Restarting session due to user inactivity timeout");
-                        sendEmptyMessage(MSG_START_NEW_SESSION);
-                    }
-                    break;
-                case MSG_START_NEW_SESSION:
-                    if (DEBUG) {
-                        Slog.d(TAG, "Switching to a new demo user");
-                    }
-                    removeMessages(MSG_START_NEW_SESSION);
-                    UserInfo demoUser = getUserManager().createUser(DEMO_USER_NAME,
-                            UserInfo.FLAG_DEMO | UserInfo.FLAG_EPHEMERAL);
-                    if (demoUser != null) {
-                        setupDemoUser(demoUser);
-                        getActivityManager().switchUser(demoUser.id);
-                    }
-                    break;
-            }
-        }
-    }
-
-    public RetailDemoModeService(Context context) {
-        super(context);
-    }
-
-    private Notification createResetNotification() {
-        return new Notification.Builder(getContext())
-                .setContentTitle(getContext().getString(R.string.reset_retail_demo_mode_title))
-                .setContentText(getContext().getString(R.string.reset_retail_demo_mode_text))
-                .setOngoing(true)
-                .setSmallIcon(R.drawable.platlogo)
-                .setShowWhen(false)
-                .setVisibility(Notification.VISIBILITY_PUBLIC)
-                .setContentIntent(getResetDemoPendingIntent())
-                .setColor(getContext().getColor(R.color.system_notification_accent_color))
-                .build();
-    }
-
-    private PendingIntent getResetDemoPendingIntent() {
-        if (mResetDemoPendingIntent == null) {
-            Intent intent = new Intent(ACTION_RESET_DEMO);
-            mResetDemoPendingIntent = PendingIntent.getBroadcast(getContext(), 0, intent, 0);
-        }
-        return mResetDemoPendingIntent;
-    }
-
-    void setupDemoUser(UserInfo userInfo) {
-        UserManager um = getUserManager();
-        UserHandle user = UserHandle.of(userInfo.id);
-        LockPatternUtils lockPatternUtils = new LockPatternUtils(getContext());
-        lockPatternUtils.setLockScreenDisabled(true, userInfo.id);
-        um.setUserRestriction(UserManager.DISALLOW_CONFIG_WIFI, true, user);
-        um.setUserRestriction(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES, true, user);
-        um.setUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS, true, user);
-        um.setUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER, true, user);
-        Settings.Secure.putIntForUser(getContext().getContentResolver(),
-                Settings.Secure.SKIP_FIRST_USE_HINTS, 1, userInfo.id);
-    }
-
-    private ActivityManagerService getActivityManager() {
-        if (mAms == null) {
-            mAms = (ActivityManagerService) ActivityManagerNative.getDefault();
-        }
-        return mAms;
-    }
-
-    private UserManager getUserManager() {
-        if (mUm == null) {
-            mUm = getContext().getSystemService(UserManager.class);
-        }
-        return mUm;
-    }
-
-    private void registerSettingsChangeObserver() {
-        final Uri deviceDemoModeUri = Settings.Global.getUriFor(Settings.Global.DEVICE_DEMO_MODE);
-        final Uri deviceProvisionedUri = Settings.Global.getUriFor(
-                Settings.Global.DEVICE_PROVISIONED);
-        final ContentResolver cr = getContext().getContentResolver();
-        final ContentObserver deviceDemoModeSettingObserver = new ContentObserver(mHandler) {
-            @Override
-            public void onChange(boolean selfChange, Uri uri, int userId) {
-                if (deviceDemoModeUri.equals(uri)) {
-                    mDeviceInDemoMode = UserManager.isDeviceInDemoMode(getContext());
-                    if (mDeviceInDemoMode) {
-                        mHandler.sendEmptyMessage(MSG_START_NEW_SESSION);
-                    } else if (mWakeLock.isHeld()) {
-                        mWakeLock.release();
-                    }
-                }
-                // If device is provisioned and left demo mode - run the cleanup in demo folder
-                if (!mDeviceInDemoMode && isDeviceProvisioned()) {
-                    // Run on the bg thread to not block the fg thread
-                    BackgroundThread.getHandler().post(new Runnable() {
-                        @Override
-                        public void run() {
-                            if (!deleteDemoFolderContents()) {
-                                Slog.w(TAG, "Failed to delete demo folder contents");
-                            }
-                        }
-                    });
-                }
-            }
-        };
-        cr.registerContentObserver(deviceDemoModeUri, false, deviceDemoModeSettingObserver,
-                UserHandle.USER_SYSTEM);
-        cr.registerContentObserver(deviceProvisionedUri, false, deviceDemoModeSettingObserver,
-                UserHandle.USER_SYSTEM);
-    }
-
-    boolean isDeviceProvisioned() {
-        return Settings.Global.getInt(
-                getContext().getContentResolver(), Settings.Global.DEVICE_PROVISIONED, 0) != 0;
-    }
-
-    private boolean deleteDemoFolderContents() {
-        File dir = Environment.getDataPreloadsDemoDirectory();
-        Slog.i(TAG, "Deleting contents of " + dir);
-        return FileUtils.deleteContents(dir);
-    }
-
-    private void registerBroadcastReceiver() {
-        final IntentFilter filter = new IntentFilter();
-        filter.addAction(Intent.ACTION_SCREEN_OFF);
-        filter.addAction(ACTION_RESET_DEMO);
-        getContext().registerReceiver(mBroadcastReceiver, filter);
-    }
-
-    @Override
-    public void onStart() {
-        if (DEBUG) {
-            Slog.d(TAG, "Service starting up");
-        }
-        mHandlerThread = new ServiceThread(TAG, android.os.Process.THREAD_PRIORITY_FOREGROUND,
-                false);
-        mHandlerThread.start();
-        mHandler = new MainHandler(mHandlerThread.getLooper());
-        publishLocalService(RetailDemoModeServiceInternal.class, mLocalService);
-    }
-
-    @Override
-    public void onBootPhase(int bootPhase) {
-        if (bootPhase != PHASE_THIRD_PARTY_APPS_CAN_START) {
-            return;
-        }
-        mPm = (PowerManager) getContext().getSystemService(Context.POWER_SERVICE);
-        mWakeLock = mPm
-                .newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, TAG);
-        mNm = NotificationManager.from(getContext());
-
-        if (UserManager.isDeviceInDemoMode(getContext())) {
-            mDeviceInDemoMode = true;
-            mHandler.sendEmptyMessage(MSG_START_NEW_SESSION);
-        }
-        registerSettingsChangeObserver();
-        registerBroadcastReceiver();
-    }
-
-    @Override
-    public void onSwitchUser(int userId) {
-        if (!mDeviceInDemoMode) {
-            return;
-        }
-        if (DEBUG) {
-            Slog.d(TAG, "onSwitchUser: " + userId);
-        }
-        UserInfo ui = getUserManager().getUserInfo(userId);
-        if (!ui.isDemo()) {
-            Slog.wtf(TAG, "Should not allow switch to non-demo user in demo mode");
-            return;
-        }
-        if (!mWakeLock.isHeld()) {
-            mWakeLock.acquire();
-        }
-        mNm.notifyAsUser(TAG, 1, createResetNotification(), UserHandle.of(userId));
-    }
-
-    public RetailDemoModeServiceInternal mLocalService = new RetailDemoModeServiceInternal() {
-        private static final long USER_ACTIVITY_DEBOUNCE_TIME = 2000;
-        private long mLastUserActivityTime = 0;
-
-        @Override
-        public void onUserActivity() {
-            if (!mDeviceInDemoMode) {
-                return;
-            }
-            long timeOfActivity = SystemClock.uptimeMillis();
-            if (timeOfActivity < mLastUserActivityTime + USER_ACTIVITY_DEBOUNCE_TIME) {
-                return;
-            }
-            mLastUserActivityTime = timeOfActivity;
-            mHandler.removeMessages(MSG_INACTIVITY_TIME_OUT);
-            mHandler.sendEmptyMessageDelayed(MSG_INACTIVITY_TIME_OUT, USER_INACTIVITY_TIMEOUT);
-        }
-    };
-}
diff --git a/services/core/java/com/android/server/am/RetailDemoModeServiceInternal.java b/services/core/java/com/android/server/am/RetailDemoModeServiceInternal.java
deleted file mode 100644
index 32de03a..0000000
--- a/services/core/java/com/android/server/am/RetailDemoModeServiceInternal.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * 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
- */
-
-package com.android.server.am;
-
-public interface RetailDemoModeServiceInternal {
-    public void onUserActivity();
-}
\ No newline at end of file
diff --git a/services/core/java/com/android/server/am/ServiceRecord.java b/services/core/java/com/android/server/am/ServiceRecord.java
index 0a081e9..2bfc402 100644
--- a/services/core/java/com/android/server/am/ServiceRecord.java
+++ b/services/core/java/com/android/server/am/ServiceRecord.java
@@ -90,6 +90,7 @@
     ProcessRecord isolatedProc; // keep track of isolated process, if requested
     ServiceState tracker; // tracking service execution, may be null
     ServiceState restartTracker; // tracking service restart
+    boolean whitelistManager; // any bindings to this service have BIND_ALLOW_WHITELIST_MANAGEMENT?
     boolean delayed;        // are we waiting to start this service in the background?
     boolean isForeground;   // is service currently in foreground mode?
     int foregroundId;       // Notification ID of last foreground req.
@@ -225,6 +226,9 @@
         if (isolatedProc != null) {
             pw.print(prefix); pw.print("isolatedProc="); pw.println(isolatedProc);
         }
+        if (whitelistManager) {
+            pw.print(prefix); pw.print("whitelistManager="); pw.println(whitelistManager);
+        }
         if (delayed) {
             pw.print(prefix); pw.print("delayed="); pw.println(delayed);
         }
@@ -391,6 +395,19 @@
         return false;
     }
 
+    public void updateWhitelistManager() {
+        whitelistManager = false;
+        for (int conni=connections.size()-1; conni>=0; conni--) {
+            ArrayList<ConnectionRecord> cr = connections.valueAt(conni);
+            for (int i=0; i<cr.size(); i++) {
+                if ((cr.get(i).flags&Context.BIND_ALLOW_WHITELIST_MANAGEMENT) != 0) {
+                    whitelistManager = true;
+                    return;
+                }
+            }
+        }
+    }
+
     public void resetRestartCounter() {
         restartCount = 0;
         restartDelay = 0;
diff --git a/services/core/java/com/android/server/am/TaskRecord.java b/services/core/java/com/android/server/am/TaskRecord.java
index c84aaac..3f6db99 100644
--- a/services/core/java/com/android/server/am/TaskRecord.java
+++ b/services/core/java/com/android/server/am/TaskRecord.java
@@ -154,7 +154,6 @@
     long lastActiveTime;    // Last time this task was active, including sleep.
     boolean inRecents;      // Actually in the recents list?
     boolean isAvailable;    // Is the activity available to be launched?
-    boolean isLaunching;    // Is an activity in this task launching?
     boolean rootWasReset;   // True if the intent at the root of the task had
                             // the FLAG_ACTIVITY_RESET_TASK_IF_NEEDED flag.
     boolean autoRemoveRecents;  // If true, we should automatically remove the task from
diff --git a/services/core/java/com/android/server/am/UnsupportedDisplaySizeDialog.java b/services/core/java/com/android/server/am/UnsupportedDisplaySizeDialog.java
new file mode 100644
index 0000000..501cd6b
--- /dev/null
+++ b/services/core/java/com/android/server/am/UnsupportedDisplaySizeDialog.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2011 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.
+ */
+
+package com.android.server.am;
+
+import com.android.internal.R;
+
+import android.app.AlertDialog;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.CheckBox;
+
+public class UnsupportedDisplaySizeDialog {
+    private final AlertDialog mDialog;
+    private final String mPackageName;
+
+    public UnsupportedDisplaySizeDialog(final ActivityManagerService service, Context context,
+            ApplicationInfo appInfo) {
+        mPackageName = appInfo.packageName;
+
+        final PackageManager pm = context.getPackageManager();
+        final CharSequence label = appInfo.loadSafeLabel(pm);
+        final CharSequence message = context.getString(
+                R.string.unsupported_display_size_message, label);
+
+        mDialog = new AlertDialog.Builder(context)
+                .setPositiveButton(R.string.ok, null)
+                .setMessage(message)
+                .setView(R.layout.unsupported_display_size_dialog_content)
+                .create();
+
+        // Ensure the content view is prepared.
+        mDialog.create();
+
+        final Window window = mDialog.getWindow();
+        window.setType(WindowManager.LayoutParams.TYPE_PHONE);
+
+        // DO NOT MODIFY. Used by CTS to verify the dialog is displayed.
+        window.getAttributes().setTitle("UnsupportedDisplaySizeDialog");
+
+        final CheckBox alwaysShow = (CheckBox) mDialog.findViewById(R.id.ask_checkbox);
+        alwaysShow.setChecked(true);
+        alwaysShow.setOnCheckedChangeListener((buttonView, isChecked) -> {
+            synchronized (service) {
+                service.mCompatModePackages.setPackageNotifyUnsupportedZoomLocked(
+                        mPackageName, isChecked);
+            }
+        });
+    }
+
+    public String getPackageName() {
+        return mPackageName;
+    }
+
+    public void show() {
+        mDialog.show();
+    }
+
+    public void dismiss() {
+        mDialog.dismiss();
+    }
+}
diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java
index 2375d7a..d25f2cb 100644
--- a/services/core/java/com/android/server/am/UserController.java
+++ b/services/core/java/com/android/server/am/UserController.java
@@ -76,6 +76,7 @@
 import android.os.UserManagerInternal;
 import android.os.storage.IMountService;
 import android.os.storage.StorageManager;
+import android.util.ArraySet;
 import android.util.IntArray;
 import android.util.Pair;
 import android.util.Slog;
@@ -86,6 +87,7 @@
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.util.ArrayUtils;
+import com.android.internal.util.Preconditions;
 import com.android.internal.widget.LockPatternUtils;
 import com.android.server.LocalServices;
 import com.android.server.pm.UserManagerService;
@@ -97,6 +99,7 @@
 import java.util.List;
 import java.util.Objects;
 import java.util.Set;
+import java.util.concurrent.atomic.AtomicInteger;
 
 /**
  * Helper class for {@link ActivityManagerService} responsible for multi-user functionality.
@@ -151,9 +154,9 @@
             = new RemoteCallbackList<>();
 
     /**
-     * Currently active user switch.
+     * Currently active user switch callbacks.
      */
-    Object mCurUserSwitchCallback;
+    private volatile ArraySet<String> mCurWaitingUserSwitchCallbacks;
 
     private volatile UserManagerService mUserManager;
 
@@ -1040,7 +1043,8 @@
 
     void timeoutUserSwitch(UserState uss, int oldUserId, int newUserId) {
         synchronized (mService) {
-            Slog.wtf(TAG, "User switch timeout: from " + oldUserId + " to " + newUserId);
+            Slog.wtf(TAG, "User switch timeout: from " + oldUserId + " to " + newUserId
+                    + ". Observers that didn't send results: " + mCurWaitingUserSwitchCallbacks);
             sendContinueUserSwitchLocked(uss, oldUserId, newUserId);
         }
     }
@@ -1049,28 +1053,37 @@
         Slog.d(TAG, "Dispatch onUserSwitching oldUser #" + oldUserId + " newUser #" + newUserId);
         final int observerCount = mUserSwitchObservers.beginBroadcast();
         if (observerCount > 0) {
-            final IRemoteCallback callback = new IRemoteCallback.Stub() {
-                int mCount = 0;
-                @Override
-                public void sendResult(Bundle data) throws RemoteException {
-                    synchronized (mService) {
-                        if (mCurUserSwitchCallback == this) {
-                            mCount++;
-                            if (mCount == observerCount) {
-                                sendContinueUserSwitchLocked(uss, oldUserId, newUserId);
-                            }
-                        }
-                    }
-                }
-            };
+            final ArraySet<String> curWaitingUserSwitchCallbacks = new ArraySet<>();
             synchronized (mService) {
                 uss.switching = true;
-                mCurUserSwitchCallback = callback;
+                mCurWaitingUserSwitchCallbacks = curWaitingUserSwitchCallbacks;
             }
+            final AtomicInteger waitingCallbacksCount = new AtomicInteger(observerCount);
             for (int i = 0; i < observerCount; i++) {
                 try {
-                    mUserSwitchObservers.getBroadcastItem(i).onUserSwitching(
-                            newUserId, callback);
+                    // Prepend with unique prefix to guarantee that keys are unique
+                    final String name = "#" + i + " " + mUserSwitchObservers.getBroadcastCookie(i);
+                    synchronized (mService) {
+                        curWaitingUserSwitchCallbacks.add(name);
+                    }
+                    final IRemoteCallback callback = new IRemoteCallback.Stub() {
+                        @Override
+                        public void sendResult(Bundle data) throws RemoteException {
+                            synchronized (mService) {
+                                // Early return if this session is no longer valid
+                                if (curWaitingUserSwitchCallbacks
+                                        != mCurWaitingUserSwitchCallbacks) {
+                                    return;
+                                }
+                                curWaitingUserSwitchCallbacks.remove(name);
+                                // Continue switching if all callbacks have been notified
+                                if (waitingCallbacksCount.decrementAndGet() == 0) {
+                                    sendContinueUserSwitchLocked(uss, oldUserId, newUserId);
+                                }
+                            }
+                        }
+                    };
+                    mUserSwitchObservers.getBroadcastItem(i).onUserSwitching(newUserId, callback);
                 } catch (RemoteException e) {
                 }
             }
@@ -1083,7 +1096,7 @@
     }
 
     void sendContinueUserSwitchLocked(UserState uss, int oldUserId, int newUserId) {
-        mCurUserSwitchCallback = null;
+        mCurWaitingUserSwitchCallbacks = null;
         mHandler.removeMessages(USER_SWITCH_TIMEOUT_MSG);
         mHandler.sendMessage(mHandler.obtainMessage(ActivityManagerService.CONTINUE_USER_SWITCH_MSG,
                 oldUserId, newUserId, uss));
@@ -1248,7 +1261,8 @@
                 ? getCurrentUserIdLocked(): userId;
     }
 
-    void registerUserSwitchObserver(IUserSwitchObserver observer) {
+    void registerUserSwitchObserver(IUserSwitchObserver observer, String name) {
+        Preconditions.checkNotNull(name, "Observer name cannot be null");
         if (mService.checkCallingPermission(INTERACT_ACROSS_USERS_FULL)
                 != PackageManager.PERMISSION_GRANTED) {
             final String msg = "Permission Denial: registerUserSwitchObserver() from pid="
@@ -1258,8 +1272,7 @@
             Slog.w(TAG, msg);
             throw new SecurityException(msg);
         }
-
-        mUserSwitchObservers.register(observer);
+        mUserSwitchObservers.register(observer, name);
     }
 
     void unregisterUserSwitchObserver(IUserSwitchObserver observer) {
@@ -1336,6 +1349,15 @@
         return mStartedUserArray;
     }
 
+    boolean isUserStoppingOrShuttingDownLocked(int userId) {
+        UserState state = getStartedUserStateLocked(userId);
+        if (state == null) {
+            return false;
+        }
+        return state.state == UserState.STATE_STOPPING
+                || state.state == UserState.STATE_SHUTDOWN;
+    }
+
     boolean isUserRunningLocked(int userId, int flags) {
         UserState state = getStartedUserStateLocked(userId);
         if (state == null) {
diff --git a/services/core/java/com/android/server/connectivity/DnsEventListenerService.java b/services/core/java/com/android/server/connectivity/DnsEventListenerService.java
index 18ab731..8d206ef 100644
--- a/services/core/java/com/android/server/connectivity/DnsEventListenerService.java
+++ b/services/core/java/com/android/server/connectivity/DnsEventListenerService.java
@@ -17,15 +17,17 @@
 package com.android.server.connectivity;
 
 import android.content.Context;
-import android.net.metrics.DnsEvent;
 import android.net.ConnectivityManager;
 import android.net.ConnectivityManager.NetworkCallback;
 import android.net.Network;
 import android.net.NetworkRequest;
+import android.net.metrics.DnsEvent;
 import android.net.metrics.IDnsEventListener;
+import android.net.metrics.IpConnectivityLog;
 import android.util.Log;
 
 import com.android.internal.annotations.GuardedBy;
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.IndentingPrintWriter;
 
 import java.io.PrintWriter;
@@ -45,12 +47,13 @@
     private static final boolean DBG = true;
     private static final boolean VDBG = false;
 
+    // TODO: read this constant from system property
     private static final int MAX_LOOKUPS_PER_DNS_EVENT = 100;
 
     // Stores the results of a number of consecutive DNS lookups on the same network.
     // This class is not thread-safe and it is the responsibility of the service to call its methods
     // on one thread at a time.
-    private static class DnsEventBatch {
+    private class DnsEventBatch {
         private final int mNetId;
 
         private final byte[] mEventTypes = new byte[MAX_LOOKUPS_PER_DNS_EVENT];
@@ -82,7 +85,7 @@
             byte[] eventTypes = Arrays.copyOf(mEventTypes, mEventCount);
             byte[] returnCodes = Arrays.copyOf(mReturnCodes, mEventCount);
             int[] latenciesMs = Arrays.copyOf(mLatenciesMs, mEventCount);
-            DnsEvent.logEvent(mNetId, eventTypes, returnCodes, latenciesMs);
+            mMetricsLog.log(new DnsEvent(mNetId, eventTypes, returnCodes, latenciesMs));
             maybeLog(String.format("Logging %d results for netId %d", mEventCount, mNetId));
             mEventCount = 0;
         }
@@ -96,13 +99,14 @@
     // Only sorted for ease of debugging. Because we only typically have a handful of networks up
     // at any given time, performance is not a concern.
     @GuardedBy("this")
-    private SortedMap<Integer, DnsEventBatch> mEventBatches = new TreeMap<>();
+    private final SortedMap<Integer, DnsEventBatch> mEventBatches = new TreeMap<>();
 
     // We register a NetworkCallback to ensure that when a network disconnects, we flush the DNS
     // queries we've logged on that network. Because we do not do this periodically, we might lose
     // up to MAX_LOOKUPS_PER_DNS_EVENT lookup stats on each network when the system is shutting
     // down. We believe this to be sufficient for now.
     private final ConnectivityManager mCm;
+    private final IpConnectivityLog mMetricsLog;
     private final NetworkCallback mNetworkCallback = new NetworkCallback() {
         @Override
         public void onLost(Network network) {
@@ -116,11 +120,15 @@
     };
 
     public DnsEventListenerService(Context context) {
+        this(context.getSystemService(ConnectivityManager.class), new IpConnectivityLog());
+    }
+
+    @VisibleForTesting
+    public DnsEventListenerService(ConnectivityManager cm, IpConnectivityLog log) {
         // We are started when boot is complete, so ConnectivityService should already be running.
-        final NetworkRequest request = new NetworkRequest.Builder()
-            .clearCapabilities()
-            .build();
-        mCm = context.getSystemService(ConnectivityManager.class);
+        mCm = cm;
+        mMetricsLog = log;
+        final NetworkRequest request = new NetworkRequest.Builder().clearCapabilities().build();
         mCm.registerNetworkCallback(request, mNetworkCallback);
     }
 
diff --git a/services/core/java/com/android/server/connectivity/MetricsLoggerService.java b/services/core/java/com/android/server/connectivity/MetricsLoggerService.java
index 69ef30f..05f1a6e 100644
--- a/services/core/java/com/android/server/connectivity/MetricsLoggerService.java
+++ b/services/core/java/com/android/server/connectivity/MetricsLoggerService.java
@@ -16,6 +16,7 @@
 
 package com.android.server.connectivity;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.server.SystemService;
 
 import android.app.PendingIntent;
@@ -60,17 +61,11 @@
         }
     }
 
-    // TODO: read from system property
-    private final int MAX_NUMBER_OF_EVENTS = 1000;
-
-    // TODO: read from system property
-    private final int EVENTS_NOTIFICATION_THRESHOLD = 300;
-
-    // TODO: read from system property
-    private final int THROTTLING_TIME_INTERVAL_MILLIS = 60 * 60 * 1000; // 1 hour
-
-    // TODO: read from system property
+    // TODO: read these constants from system property
+    private final int EVENTS_NOTIFICATION_THRESHOLD                   = 300;
+    private final int MAX_NUMBER_OF_EVENTS                            = 1000;
     private final int THROTTLING_MAX_NUMBER_OF_MESSAGES_PER_COMPONENT = 1000;
+    private final long THROTTLING_TIME_INTERVAL_MILLIS                = DateUtils.HOUR_IN_MILLIS;
 
     private int mEventCounter = 0;
 
@@ -127,10 +122,13 @@
         mEvents.addLast(e);
     }
 
+    @VisibleForTesting
+    final MetricsLoggerImpl mBinder = new MetricsLoggerImpl();
+
     /**
      * Implementation of the IConnectivityMetricsLogger interface.
      */
-    private final IConnectivityMetricsLogger.Stub mBinder = new IConnectivityMetricsLogger.Stub() {
+    final class MetricsLoggerImpl extends IConnectivityMetricsLogger.Stub {
 
         private final ArrayList<PendingIntent> mPendingIntents = new ArrayList<>();
 
@@ -223,7 +221,9 @@
             }
 
             pw.println();
-            mDnsListener.dump(pw);
+            if (mDnsListener != null) {
+                mDnsListener.dump(pw);
+            }
         }
 
         public long logEvent(ConnectivityMetricsEvent event) {
diff --git a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
index d487bd0..15b872d 100644
--- a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
+++ b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
@@ -162,11 +162,13 @@
     private static final int MAXIMUM_NETWORK_SCORE = 100;
 
     // The list of NetworkRequests being satisfied by this Network.
-    public final SparseArray<NetworkRequest> networkRequests = new SparseArray<NetworkRequest>();
+    private final SparseArray<NetworkRequest> mNetworkRequests = new SparseArray<>();
     // The list of NetworkRequests that this Network previously satisfied with the highest
     // score.  A non-empty list indicates that if this Network was validated it is lingered.
     // NOTE: This list is only used for debugging.
     public final ArrayList<NetworkRequest> networkLingered = new ArrayList<NetworkRequest>();
+    // How many of the satisfied requests are actual requests and not listens.
+    private int mNumRequestNetworkRequests = 0;
 
     public final Messenger messenger;
     public final AsyncChannel asyncChannel;
@@ -188,18 +190,63 @@
         networkMisc = misc;
     }
 
+    // Functions for manipulating the requests satisfied by this network.
+    //
+    // These functions must only called on ConnectivityService's main thread.
+
     /**
      * Add {@code networkRequest} to this network as it's satisfied by this network.
-     * NOTE: This function must only be called on ConnectivityService's main thread.
      * @return true if {@code networkRequest} was added or false if {@code networkRequest} was
      *         already present.
      */
     public boolean addRequest(NetworkRequest networkRequest) {
-        if (networkRequests.get(networkRequest.requestId) == networkRequest) return false;
-        networkRequests.put(networkRequest.requestId, networkRequest);
+        NetworkRequest existing = mNetworkRequests.get(networkRequest.requestId);
+        if (existing == networkRequest) return false;
+        if (existing != null && existing.isRequest()) mNumRequestNetworkRequests--;
+        mNetworkRequests.put(networkRequest.requestId, networkRequest);
+        if (networkRequest.isRequest()) mNumRequestNetworkRequests++;
         return true;
     }
 
+    /**
+     * Remove the specified request from this network.
+     */
+    public void removeRequest(int requestId) {
+        NetworkRequest existing = mNetworkRequests.get(requestId);
+        if (existing != null && existing.isRequest()) mNumRequestNetworkRequests--;
+        mNetworkRequests.remove(requestId);
+    }
+
+    /**
+     * Returns whether this network is currently satisfying the request with the specified ID.
+     */
+    public boolean isSatisfyingRequest(int id) {
+        return mNetworkRequests.get(id) != null;
+    }
+
+    /**
+     * Returns the request at the specified position in the list of requests satisfied by this
+     * network.
+     */
+    public NetworkRequest requestAt(int index) {
+        return mNetworkRequests.valueAt(index);
+    }
+
+    /**
+     * Returns the number of requests currently satisfied by this network for which
+     * {@link android.net.NetworkRequest#isRequest} returns {@code true}.
+     */
+    public int numRequestNetworkRequests() {
+        return mNumRequestNetworkRequests;
+    }
+
+    /**
+     * Returns the number of requests of any type currently satisfied by this network.
+     */
+    public int numNetworkRequests() {
+        return mNetworkRequests.size();
+    }
+
     // Does this network satisfy request?
     public boolean satisfies(NetworkRequest request) {
         return created &&
diff --git a/services/core/java/com/android/server/connectivity/NetworkMonitor.java b/services/core/java/com/android/server/connectivity/NetworkMonitor.java
index ddaebfa..eeddff5 100644
--- a/services/core/java/com/android/server/connectivity/NetworkMonitor.java
+++ b/services/core/java/com/android/server/connectivity/NetworkMonitor.java
@@ -34,8 +34,9 @@
 import android.net.ProxyInfo;
 import android.net.TrafficStats;
 import android.net.Uri;
-import android.net.metrics.ValidationProbeEvent;
+import android.net.metrics.IpConnectivityLog;
 import android.net.metrics.NetworkEvent;
+import android.net.metrics.ValidationProbeEvent;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
 import android.net.util.Stopwatch;
@@ -230,6 +231,7 @@
     private final WifiManager mWifiManager;
     private final AlarmManager mAlarmManager;
     private final NetworkRequest mDefaultRequest;
+    private final IpConnectivityLog mMetricsLog = new IpConnectivityLog();
 
     private boolean mIsCaptivePortalCheckEnabled;
     private boolean mUseHttps;
@@ -311,11 +313,11 @@
                     transitionTo(mLingeringState);
                     return HANDLED;
                 case CMD_NETWORK_CONNECTED:
-                    NetworkEvent.logEvent(mNetId, NetworkEvent.NETWORK_CONNECTED);
+                    logNetworkEvent(NetworkEvent.NETWORK_CONNECTED);
                     transitionTo(mEvaluatingState);
                     return HANDLED;
                 case CMD_NETWORK_DISCONNECTED:
-                    NetworkEvent.logEvent(mNetId, NetworkEvent.NETWORK_DISCONNECTED);
+                    logNetworkEvent(NetworkEvent.NETWORK_DISCONNECTED);
                     if (mLaunchCaptivePortalAppBroadcastReceiver != null) {
                         mContext.unregisterReceiver(mLaunchCaptivePortalAppBroadcastReceiver);
                         mLaunchCaptivePortalAppBroadcastReceiver = null;
@@ -380,10 +382,7 @@
     private class ValidatedState extends State {
         @Override
         public void enter() {
-            if (mEvaluationTimer.isRunning()) {
-                NetworkEvent.logValidated(mNetId, mEvaluationTimer.stop());
-                mEvaluationTimer.reset();
-            }
+            maybeLogEvaluationResult(NetworkEvent.NETWORK_VALIDATED);
             mConnectivityServiceHandler.sendMessage(obtainMessage(EVENT_NETWORK_TESTED,
                     NETWORK_TEST_RESULT_VALID, mNetworkAgentInfo.network.netId, null));
         }
@@ -530,7 +529,7 @@
                     } else {
                         final Message msg = obtainMessage(CMD_REEVALUATE, ++mReevaluateToken, 0);
                         sendMessageDelayed(msg, mReevaluateDelayMs);
-                        NetworkEvent.logEvent(mNetId, NetworkEvent.NETWORK_VALIDATION_FAILED);
+                        logNetworkEvent(NetworkEvent.NETWORK_VALIDATION_FAILED);
                         mConnectivityServiceHandler.sendMessage(obtainMessage(
                                 EVENT_NETWORK_TESTED, NETWORK_TEST_RESULT_INVALID, mNetId,
                                 probeResult.mRedirectUrl));
@@ -590,10 +589,7 @@
 
         @Override
         public void enter() {
-            if (mEvaluationTimer.isRunning()) {
-                NetworkEvent.logCaptivePortalFound(mNetId, mEvaluationTimer.stop());
-                mEvaluationTimer.reset();
-            }
+            maybeLogEvaluationResult(NetworkEvent.NETWORK_CAPTIVE_PORTAL_FOUND);
             // Don't annoy user with sign-in notifications.
             if (mDontDisplaySigninNotification) return;
             // Create a CustomIntentReceiver that sends us a
@@ -758,11 +754,12 @@
         if (!TextUtils.isEmpty(hostToResolve)) {
             String probeName = ValidationProbeEvent.getProbeName(ValidationProbeEvent.PROBE_DNS);
             final Stopwatch dnsTimer = new Stopwatch().start();
+            int dnsResult;
+            long dnsLatency;
             try {
                 InetAddress[] addresses = mNetworkAgentInfo.network.getAllByName(hostToResolve);
-                long dnsLatency = dnsTimer.stop();
-                ValidationProbeEvent.logEvent(mNetId, dnsLatency,
-                        ValidationProbeEvent.PROBE_DNS, ValidationProbeEvent.DNS_SUCCESS);
+                dnsResult = ValidationProbeEvent.DNS_SUCCESS;
+                dnsLatency = dnsTimer.stop();
                 final StringBuffer connectInfo = new StringBuffer(", " + hostToResolve + "=");
                 for (InetAddress address : addresses) {
                     connectInfo.append(address.getHostAddress());
@@ -770,11 +767,11 @@
                 }
                 validationLog(probeName + " OK " + dnsLatency + "ms" + connectInfo);
             } catch (UnknownHostException e) {
-                long dnsLatency = dnsTimer.stop();
-                ValidationProbeEvent.logEvent(mNetId, dnsLatency,
-                        ValidationProbeEvent.PROBE_DNS, ValidationProbeEvent.DNS_FAILURE);
+                dnsResult = ValidationProbeEvent.DNS_FAILURE;
+                dnsLatency = dnsTimer.stop();
                 validationLog(probeName + " FAIL " + dnsLatency + "ms, " + hostToResolve);
             }
+            logValidationProbe(dnsLatency, ValidationProbeEvent.PROBE_DNS, dnsResult);
         }
 
         CaptivePortalProbeResult result;
@@ -855,7 +852,7 @@
                 urlConnection.disconnect();
             }
         }
-        ValidationProbeEvent.logEvent(mNetId, probeTimer.stop(), probeType, httpResponseCode);
+        logValidationProbe(probeTimer.stop(), probeType, httpResponseCode);
         return new CaptivePortalProbeResult(httpResponseCode, redirectUrl);
     }
 
@@ -1012,4 +1009,19 @@
     protected WakeupMessage makeWakeupMessage(Context c, Handler h, String s, int i) {
         return new WakeupMessage(c, h, s, i);
     }
+
+    private void logNetworkEvent(int evtype) {
+        mMetricsLog.log(new NetworkEvent(mNetId, evtype));
+    }
+
+    private void maybeLogEvaluationResult(int evtype) {
+        if (mEvaluationTimer.isRunning()) {
+            mMetricsLog.log(new NetworkEvent(mNetId, evtype, mEvaluationTimer.stop()));
+            mEvaluationTimer.reset();
+        }
+    }
+
+    private void logValidationProbe(long durationMs, int probeType, int probeResult) {
+        mMetricsLog.log(new ValidationProbeEvent(mNetId, durationMs, probeType, probeResult));
+    }
 }
diff --git a/services/core/java/com/android/server/connectivity/Tethering.java b/services/core/java/com/android/server/connectivity/Tethering.java
index 1012f9a..bef48d6 100644
--- a/services/core/java/com/android/server/connectivity/Tethering.java
+++ b/services/core/java/com/android/server/connectivity/Tethering.java
@@ -34,8 +34,6 @@
 import android.net.ConnectivityManager;
 import android.net.ConnectivityManager.NetworkCallback;
 import android.net.INetworkStatsService;
-import android.net.InterfaceConfiguration;
-import android.net.LinkAddress;
 import android.net.LinkProperties;
 import android.net.Network;
 import android.net.NetworkCapabilities;
@@ -58,18 +56,20 @@
 import android.telephony.CarrierConfigManager;
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
+import android.util.ArrayMap;
 import android.util.Log;
 import android.util.SparseArray;
 
 import com.android.internal.telephony.IccCardConstants;
 import com.android.internal.telephony.TelephonyIntents;
-import com.android.internal.util.IState;
 import com.android.internal.util.IndentingPrintWriter;
 import com.android.internal.util.MessageUtils;
 import com.android.internal.util.Protocol;
 import com.android.internal.util.State;
 import com.android.internal.util.StateMachine;
 import com.android.server.IoThread;
+import com.android.server.connectivity.tethering.IControlsTethering;
+import com.android.server.connectivity.tethering.TetherInterfaceStateMachine;
 import com.android.server.net.BaseNetworkObserver;
 
 import java.io.FileDescriptor;
@@ -81,18 +81,16 @@
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
-import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
 
 
 /**
  * @hide
  *
- * Timeout
- *
- * TODO - look for parent classes and code sharing
+ * This class holds much of the business logic to allow Android devices
+ * to act as IP gateways via USB, BT, and WiFi interfaces.
  */
-public class Tethering extends BaseNetworkObserver {
+public class Tethering extends BaseNetworkObserver implements IControlsTethering {
 
     private final Context mContext;
     private final static String TAG = "Tethering";
@@ -100,7 +98,7 @@
     private final static boolean VDBG = false;
 
     private static final Class[] messageClasses = {
-            Tethering.class, TetherMasterSM.class, TetherInterfaceSM.class
+            Tethering.class, TetherMasterSM.class, TetherInterfaceStateMachine.class
     };
     private static final SparseArray<String> sMagicDecoderRing =
             MessageUtils.findMessageNames(messageClasses);
@@ -126,17 +124,25 @@
     private final INetworkStatsService mStatsService;
     private final Looper mLooper;
 
-    private HashMap<String, TetherInterfaceSM> mIfaces; // all tethered/tetherable ifaces
+    private static class TetherState {
+        public final TetherInterfaceStateMachine mStateMachine;
+        public int mLastState;
+        public int mLastError;
+        public TetherState(TetherInterfaceStateMachine sm) {
+            mStateMachine = sm;
+            // Assume all state machines start out available and with no errors.
+            mLastState = IControlsTethering.STATE_AVAILABLE;
+            mLastError = ConnectivityManager.TETHER_ERROR_NO_ERROR;
+        }
+    }
+    private final ArrayMap<String, TetherState> mTetherStates;
 
-    private BroadcastReceiver mStateReceiver;
+    private final BroadcastReceiver mStateReceiver;
 
     // {@link ComponentName} of the Service used to run tether provisioning.
     private static final ComponentName TETHER_SERVICE = ComponentName.unflattenFromString(Resources
             .getSystem().getString(com.android.internal.R.string.config_wifi_tether_enable));
 
-    private static final String USB_NEAR_IFACE_ADDR      = "192.168.42.129";
-    private static final int USB_PREFIX_LENGTH        = 24;
-
     // USB is  192.168.42.1 and 255.255.255.0
     // Wifi is 192.168.43.1 and 255.255.255.0
     // BT is limited to max default of 5 connections. 192.168.44.1 to 192.168.48.1
@@ -166,6 +172,9 @@
     private boolean mUsbTetherRequested; // true if USB tethering should be started
                                          // when RNDIS is enabled
 
+    // True iff WiFi tethering should be started when soft AP is ready.
+    private boolean mWifiTetherRequested;
+
     public Tethering(Context context, INetworkManagementService nmService,
             INetworkStatsService statsService) {
         mContext = context;
@@ -174,7 +183,7 @@
 
         mPublicSync = new Object();
 
-        mIfaces = new HashMap<String, TetherInterfaceSM>();
+        mTetherStates = new ArrayMap<>();
 
         // make our own thread so we don't anr the system
         mLooper = IoThread.get().getLooper();
@@ -187,6 +196,7 @@
         IntentFilter filter = new IntentFilter();
         filter.addAction(UsbManager.ACTION_USB_STATE);
         filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
+        filter.addAction(WifiManager.WIFI_AP_STATE_CHANGED_ACTION);
         filter.addAction(Intent.ACTION_CONFIGURATION_CHANGED);
         mContext.registerReceiver(mStateReceiver, filter);
 
@@ -227,7 +237,7 @@
 
         int ifaceTypes[] = mContext.getResources().getIntArray(
                 com.android.internal.R.array.config_tether_upstream_types);
-        Collection<Integer> upstreamIfaceTypes = new ArrayList();
+        Collection<Integer> upstreamIfaceTypes = new ArrayList<>();
         for (int i : ifaceTypes) {
             upstreamIfaceTypes.add(new Integer(i));
         }
@@ -248,34 +258,26 @@
         // Never called directly: only called from interfaceLinkStateChanged.
         // See NetlinkHandler.cpp:71.
         if (VDBG) Log.d(TAG, "interfaceStatusChanged " + iface + ", " + up);
-        boolean found = false;
-        boolean usb = false;
         synchronized (mPublicSync) {
-            if (isWifi(iface)) {
-                found = true;
-            } else if (isUsb(iface)) {
-                found = true;
-                usb = true;
-            } else if (isBluetooth(iface)) {
-                found = true;
+            int interfaceType = ifaceNameToType(iface);
+            if (interfaceType == ConnectivityManager.TETHERING_INVALID) {
+                return;
             }
-            if (found == false) return;
 
-            TetherInterfaceSM sm = mIfaces.get(iface);
+            TetherState tetherState = mTetherStates.get(iface);
             if (up) {
-                if (sm == null) {
-                    sm = new TetherInterfaceSM(iface, mLooper, usb);
-                    mIfaces.put(iface, sm);
-                    sm.start();
+                if (tetherState == null) {
+                    trackNewTetherableInterface(iface, interfaceType);
                 }
             } else {
-                if (isUsb(iface)) {
+                if (interfaceType == ConnectivityManager.TETHERING_USB) {
                     // ignore usb0 down after enabling RNDIS
                     // we will handle disconnect in interfaceRemoved instead
                     if (VDBG) Log.d(TAG, "ignore interface down for " + iface);
-                } else if (sm != null) {
-                    sm.sendMessage(TetherInterfaceSM.CMD_INTERFACE_DOWN);
-                    mIfaces.remove(iface);
+                } else if (tetherState != null) {
+                    tetherState.mStateMachine.sendMessage(
+                            TetherInterfaceStateMachine.CMD_INTERFACE_DOWN);
+                    mTetherStates.remove(iface);
                 }
             }
         }
@@ -295,7 +297,7 @@
         }
     }
 
-    public boolean isWifi(String iface) {
+    private boolean isWifi(String iface) {
         synchronized (mPublicSync) {
             for (String regex : mTetherableWifiRegexs) {
                 if (iface.matches(regex)) return true;
@@ -304,7 +306,7 @@
         }
     }
 
-    public boolean isBluetooth(String iface) {
+    private boolean isBluetooth(String iface) {
         synchronized (mPublicSync) {
             for (String regex : mTetherableBluetoothRegexs) {
                 if (iface.matches(regex)) return true;
@@ -313,35 +315,33 @@
         }
     }
 
+    private int ifaceNameToType(String iface) {
+        if (isWifi(iface)) {
+            return ConnectivityManager.TETHERING_WIFI;
+        } else if (isUsb(iface)) {
+            return ConnectivityManager.TETHERING_USB;
+        } else if (isBluetooth(iface)) {
+            return ConnectivityManager.TETHERING_BLUETOOTH;
+        }
+        return ConnectivityManager.TETHERING_INVALID;
+    }
+
     @Override
     public void interfaceAdded(String iface) {
         if (VDBG) Log.d(TAG, "interfaceAdded " + iface);
-        boolean found = false;
-        boolean usb = false;
         synchronized (mPublicSync) {
-            if (isWifi(iface)) {
-                found = true;
-            }
-            if (isUsb(iface)) {
-                found = true;
-                usb = true;
-            }
-            if (isBluetooth(iface)) {
-                found = true;
-            }
-            if (found == false) {
+            int interfaceType = ifaceNameToType(iface);
+            if (interfaceType == ConnectivityManager.TETHERING_INVALID) {
                 if (VDBG) Log.d(TAG, iface + " is not a tetherable iface, ignoring");
                 return;
             }
 
-            TetherInterfaceSM sm = mIfaces.get(iface);
-            if (sm != null) {
+            TetherState tetherState = mTetherStates.get(iface);
+            if (tetherState == null) {
+                trackNewTetherableInterface(iface, interfaceType);
+            } else {
                 if (VDBG) Log.d(TAG, "active iface (" + iface + ") reported as added, ignoring");
-                return;
             }
-            sm = new TetherInterfaceSM(iface, mLooper, usb);
-            mIfaces.put(iface, sm);
-            sm.start();
         }
     }
 
@@ -349,15 +349,15 @@
     public void interfaceRemoved(String iface) {
         if (VDBG) Log.d(TAG, "interfaceRemoved " + iface);
         synchronized (mPublicSync) {
-            TetherInterfaceSM sm = mIfaces.get(iface);
-            if (sm == null) {
+            TetherState tetherState = mTetherStates.get(iface);
+            if (tetherState == null) {
                 if (VDBG) {
                     Log.e(TAG, "attempting to remove unknown iface (" + iface + "), ignoring");
                 }
                 return;
             }
-            sm.sendMessage(TetherInterfaceSM.CMD_INTERFACE_DOWN);
-            mIfaces.remove(iface);
+            tetherState.mStateMachine.sendMessage(TetherInterfaceStateMachine.CMD_INTERFACE_DOWN);
+            mTetherStates.remove(iface);
         }
     }
 
@@ -413,24 +413,19 @@
      * for the specified interface.
      */
     private void enableTetheringInternal(int type, boolean enable, ResultReceiver receiver) {
-        boolean isProvisioningRequired = isTetherProvisioningRequired();
+        boolean isProvisioningRequired = enable && isTetherProvisioningRequired();
+        int result;
         switch (type) {
             case ConnectivityManager.TETHERING_WIFI:
-                final WifiManager wifiManager =
-                        (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
-                if (wifiManager.setWifiApEnabled(null, enable)) {
-                    sendTetherResult(receiver, ConnectivityManager.TETHER_ERROR_NO_ERROR);
-                    if (enable && isProvisioningRequired) {
-                        scheduleProvisioningRechecks(type);
-                    }
-                } else{
-                    sendTetherResult(receiver, ConnectivityManager.TETHER_ERROR_MASTER_ERROR);
+                result = setWifiTethering(enable);
+                if (isProvisioningRequired && result == ConnectivityManager.TETHER_ERROR_NO_ERROR) {
+                    scheduleProvisioningRechecks(type);
                 }
+                sendTetherResult(receiver, result);
                 break;
             case ConnectivityManager.TETHERING_USB:
-                int result = setUsbTethering(enable);
-                if (enable && isProvisioningRequired &&
-                        result == ConnectivityManager.TETHER_ERROR_NO_ERROR) {
+                result = setUsbTethering(enable);
+                if (isProvisioningRequired && result == ConnectivityManager.TETHER_ERROR_NO_ERROR) {
                     scheduleProvisioningRechecks(type);
                 }
                 sendTetherResult(receiver, result);
@@ -450,6 +445,20 @@
         }
     }
 
+    private int setWifiTethering(final boolean enable) {
+        synchronized (mPublicSync) {
+            // Note that we're maintaining a predicate that mWifiTetherRequested always matches
+            // our last request to WifiManager re: its AP enabled status.
+            mWifiTetherRequested = enable;
+            final WifiManager wifiManager =
+                    (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
+            if (wifiManager.setWifiApEnabled(null /* use existing wifi config */, enable)) {
+                return ConnectivityManager.TETHER_ERROR_NO_ERROR;
+            }
+            return ConnectivityManager.TETHER_ERROR_MASTER_ERROR;
+        }
+    }
+
     private void setBluetoothTethering(final boolean enable, final ResultReceiver receiver) {
         final BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
         if (adapter == null || !adapter.isEnabled()) {
@@ -576,62 +585,62 @@
 
     public int tether(String iface) {
         if (DBG) Log.d(TAG, "Tethering " + iface);
-        TetherInterfaceSM sm = null;
         synchronized (mPublicSync) {
-            sm = mIfaces.get(iface);
+            TetherState tetherState = mTetherStates.get(iface);
+            if (tetherState == null) {
+                Log.e(TAG, "Tried to Tether an unknown iface :" + iface + ", ignoring");
+                return ConnectivityManager.TETHER_ERROR_UNKNOWN_IFACE;
+            }
+            // Ignore the error status of the interface.  If the interface is available,
+            // the errors are referring to past tethering attempts anyway.
+            if (tetherState.mLastState != IControlsTethering.STATE_AVAILABLE) {
+                Log.e(TAG, "Tried to Tether an unavailable iface :" + iface + ", ignoring");
+                return ConnectivityManager.TETHER_ERROR_UNAVAIL_IFACE;
+            }
+            tetherState.mStateMachine.sendMessage(TetherInterfaceStateMachine.CMD_TETHER_REQUESTED);
+            return ConnectivityManager.TETHER_ERROR_NO_ERROR;
         }
-        if (sm == null) {
-            Log.e(TAG, "Tried to Tether an unknown iface :" + iface + ", ignoring");
-            return ConnectivityManager.TETHER_ERROR_UNKNOWN_IFACE;
-        }
-        if (!sm.isAvailable() && !sm.isErrored()) {
-            Log.e(TAG, "Tried to Tether an unavailable iface :" + iface + ", ignoring");
-            return ConnectivityManager.TETHER_ERROR_UNAVAIL_IFACE;
-        }
-        sm.sendMessage(TetherInterfaceSM.CMD_TETHER_REQUESTED);
-        return ConnectivityManager.TETHER_ERROR_NO_ERROR;
     }
 
     public int untether(String iface) {
         if (DBG) Log.d(TAG, "Untethering " + iface);
-        TetherInterfaceSM sm = null;
         synchronized (mPublicSync) {
-            sm = mIfaces.get(iface);
+            TetherState tetherState = mTetherStates.get(iface);
+            if (tetherState == null) {
+                Log.e(TAG, "Tried to Untether an unknown iface :" + iface + ", ignoring");
+                return ConnectivityManager.TETHER_ERROR_UNKNOWN_IFACE;
+            }
+            if (tetherState.mLastState != IControlsTethering.STATE_TETHERED) {
+                Log.e(TAG, "Tried to untether an untethered iface :" + iface + ", ignoring");
+                return ConnectivityManager.TETHER_ERROR_UNAVAIL_IFACE;
+            }
+            tetherState.mStateMachine.sendMessage(
+                    TetherInterfaceStateMachine.CMD_TETHER_UNREQUESTED);
+            return ConnectivityManager.TETHER_ERROR_NO_ERROR;
         }
-        if (sm == null) {
-            Log.e(TAG, "Tried to Untether an unknown iface :" + iface + ", ignoring");
-            return ConnectivityManager.TETHER_ERROR_UNKNOWN_IFACE;
-        }
-        if (sm.isErrored()) {
-            Log.e(TAG, "Tried to Untethered an errored iface :" + iface + ", ignoring");
-            return ConnectivityManager.TETHER_ERROR_UNAVAIL_IFACE;
-        }
-        sm.sendMessage(TetherInterfaceSM.CMD_TETHER_UNREQUESTED);
-        return ConnectivityManager.TETHER_ERROR_NO_ERROR;
     }
 
     public void untetherAll() {
-        if (DBG) Log.d(TAG, "Untethering " + mIfaces);
-        for (String iface : mIfaces.keySet()) {
-            untether(iface);
+        synchronized (mPublicSync) {
+            if (DBG) Log.d(TAG, "Untethering " + mTetherStates.keySet());
+            for (int i = 0; i < mTetherStates.size(); i++) {
+                untether(mTetherStates.keyAt(i));
+            }
         }
     }
 
     public int getLastTetherError(String iface) {
-        TetherInterfaceSM sm = null;
         synchronized (mPublicSync) {
-            sm = mIfaces.get(iface);
-            if (sm == null) {
+            TetherState tetherState = mTetherStates.get(iface);
+            if (tetherState == null) {
                 Log.e(TAG, "Tried to getLastTetherError on an unknown iface :" + iface +
                         ", ignoring");
                 return ConnectivityManager.TETHER_ERROR_UNKNOWN_IFACE;
             }
-            return sm.getLastError();
+            return tetherState.mLastError;
         }
     }
 
-    // TODO - move all private methods used only by the state machine into the state machine
-    // to clarify what needs synchronized protection.
     private void sendTetherStateChangedBroadcast() {
         if (!getConnectivityManager().isTetheringSupported()) return;
 
@@ -644,24 +653,22 @@
         boolean bluetoothTethered = false;
 
         synchronized (mPublicSync) {
-            Set ifaces = mIfaces.keySet();
-            for (Object iface : ifaces) {
-                TetherInterfaceSM sm = mIfaces.get(iface);
-                if (sm != null) {
-                    if (sm.isErrored()) {
-                        erroredList.add((String)iface);
-                    } else if (sm.isAvailable()) {
-                        availableList.add((String)iface);
-                    } else if (sm.isTethered()) {
-                        if (isUsb((String)iface)) {
-                            usbTethered = true;
-                        } else if (isWifi((String)iface)) {
-                            wifiTethered = true;
-                      } else if (isBluetooth((String)iface)) {
-                            bluetoothTethered = true;
-                        }
-                        activeList.add((String)iface);
+            for (int i = 0; i < mTetherStates.size(); i++) {
+                TetherState tetherState = mTetherStates.valueAt(i);
+                String iface = mTetherStates.keyAt(i);
+                if (tetherState.mLastError != ConnectivityManager.TETHER_ERROR_NO_ERROR) {
+                    erroredList.add(iface);
+                } else if (tetherState.mLastState == IControlsTethering.STATE_AVAILABLE) {
+                    availableList.add(iface);
+                } else if (tetherState.mLastState == IControlsTethering.STATE_TETHERED) {
+                    if (isUsb(iface)) {
+                        usbTethered = true;
+                    } else if (isWifi(iface)) {
+                        wifiTethered = true;
+                    } else if (isBluetooth(iface)) {
+                        bluetoothTethered = true;
                     }
+                    activeList.add(iface);
                 }
             }
         }
@@ -770,7 +777,7 @@
                     mRndisEnabled = intent.getBooleanExtra(UsbManager.USB_FUNCTION_RNDIS, false);
                     // start tethering if we have a request pending
                     if (usbConnected && mRndisEnabled && mUsbTetherRequested) {
-                        tetherUsb(true);
+                        tetherMatchingInterfaces(true, ConnectivityManager.TETHERING_USB);
                     }
                     mUsbTetherRequested = false;
                 }
@@ -782,69 +789,72 @@
                     if (VDBG) Log.d(TAG, "Tethering got CONNECTIVITY_ACTION");
                     mTetherMasterSM.sendMessage(TetherMasterSM.CMD_UPSTREAM_CHANGED);
                 }
+            } else if (action.equals(WifiManager.WIFI_AP_STATE_CHANGED_ACTION)) {
+                synchronized (Tethering.this.mPublicSync) {
+                    if (!mWifiTetherRequested) {
+                        // We only care when we're trying to tether via our WiFi interface.
+                        return;
+                    }
+                    int curState =  intent.getIntExtra(WifiManager.EXTRA_WIFI_AP_STATE,
+                            WifiManager.WIFI_AP_STATE_DISABLED);
+                    switch (curState) {
+                        case WifiManager.WIFI_AP_STATE_ENABLING:
+                            // We can see this state on the way to both enabled and failure states.
+                            break;
+                        case WifiManager.WIFI_AP_STATE_ENABLED:
+                            // Tell an appropriate interface state machine that it should tether.
+                            tetherMatchingInterfaces(true, ConnectivityManager.TETHERING_WIFI);
+                            break;
+                        case WifiManager.WIFI_AP_STATE_DISABLED:
+                        case WifiManager.WIFI_AP_STATE_DISABLING:
+                        case WifiManager.WIFI_AP_STATE_FAILED:
+                        default:
+                            if (DBG) {
+                                Log.d(TAG, "Canceling WiFi tethering request - AP_STATE=" +
+                                    curState);
+                            }
+                            // Tell an appropriate interface state machine that
+                            // it needs to tear itself down.
+                            tetherMatchingInterfaces(false, ConnectivityManager.TETHERING_WIFI);
+                            setWifiTethering(false);
+                            break;
+                    }
+                }
             } else if (action.equals(Intent.ACTION_CONFIGURATION_CHANGED)) {
                 updateConfiguration();
             }
         }
     }
 
-    private void tetherUsb(boolean enable) {
-        if (VDBG) Log.d(TAG, "tetherUsb " + enable);
+    private void tetherMatchingInterfaces(boolean enable, int interfaceType) {
+        if (VDBG) Log.d(TAG, "tetherMatchingInterfaces(" + enable + ", " + interfaceType + ")");
 
-        String[] ifaces = new String[0];
+        String[] ifaces = null;
         try {
             ifaces = mNMService.listInterfaces();
         } catch (Exception e) {
             Log.e(TAG, "Error listing Interfaces", e);
             return;
         }
-        for (String iface : ifaces) {
-            if (isUsb(iface)) {
-                int result = (enable ? tether(iface) : untether(iface));
-                if (result == ConnectivityManager.TETHER_ERROR_NO_ERROR) {
-                    return;
+        String chosenIface = null;
+        if (ifaces != null) {
+            for (String iface : ifaces) {
+                if (ifaceNameToType(iface) == interfaceType) {
+                    chosenIface = iface;
+                    break;
                 }
             }
         }
-        Log.e(TAG, "unable start or stop USB tethering");
-    }
-
-    // configured when we start tethering and unconfig'd on error or conclusion
-    private boolean configureUsbIface(boolean enabled) {
-        if (VDBG) Log.d(TAG, "configureUsbIface(" + enabled + ")");
-
-        // toggle the USB interfaces
-        String[] ifaces = new String[0];
-        try {
-            ifaces = mNMService.listInterfaces();
-        } catch (Exception e) {
-            Log.e(TAG, "Error listing Interfaces", e);
-            return false;
+        if (chosenIface == null) {
+            Log.e(TAG, "could not find iface of type " + interfaceType);
+            return;
         }
-        for (String iface : ifaces) {
-            if (isUsb(iface)) {
-                InterfaceConfiguration ifcg = null;
-                try {
-                    ifcg = mNMService.getInterfaceConfig(iface);
-                    if (ifcg != null) {
-                        InetAddress addr = NetworkUtils.numericToInetAddress(USB_NEAR_IFACE_ADDR);
-                        ifcg.setLinkAddress(new LinkAddress(addr, USB_PREFIX_LENGTH));
-                        if (enabled) {
-                            ifcg.setInterfaceUp();
-                        } else {
-                            ifcg.setInterfaceDown();
-                        }
-                        ifcg.clearFlag("running");
-                        mNMService.setInterfaceConfig(iface, ifcg);
-                    }
-                } catch (Exception e) {
-                    Log.e(TAG, "Error configuring interface " + iface, e);
-                    return false;
-                }
-            }
-         }
 
-        return true;
+        int result = (enable ? tether(chosenIface) : untether(chosenIface));
+        if (result != ConnectivityManager.TETHER_ERROR_NO_ERROR) {
+            Log.e(TAG, "unable start or stop tethering on iface " + chosenIface);
+            return;
+        }
     }
 
     // TODO - return copies so people can't tamper
@@ -869,7 +879,7 @@
                 if (mRndisEnabled) {
                     final long ident = Binder.clearCallingIdentity();
                     try {
-                        tetherUsb(true);
+                        tetherMatchingInterfaces(true, ConnectivityManager.TETHERING_USB);
                     } finally {
                         Binder.restoreCallingIdentity(ident);
                     }
@@ -880,7 +890,7 @@
             } else {
                 final long ident = Binder.clearCallingIdentity();
                 try {
-                    tetherUsb(false);
+                    tetherMatchingInterfaces(false, ConnectivityManager.TETHERING_USB);
                 } finally {
                     Binder.restoreCallingIdentity(ident);
                 }
@@ -952,37 +962,27 @@
     public String[] getTetheredIfaces() {
         ArrayList<String> list = new ArrayList<String>();
         synchronized (mPublicSync) {
-            Set keys = mIfaces.keySet();
-            for (Object key : keys) {
-                TetherInterfaceSM sm = mIfaces.get(key);
-                if (sm.isTethered()) {
-                    list.add((String)key);
+            for (int i = 0; i < mTetherStates.size(); i++) {
+                TetherState tetherState = mTetherStates.valueAt(i);
+                if (tetherState.mLastState == IControlsTethering.STATE_TETHERED) {
+                    list.add(mTetherStates.keyAt(i));
                 }
             }
         }
-        String[] retVal = new String[list.size()];
-        for (int i=0; i < list.size(); i++) {
-            retVal[i] = list.get(i);
-        }
-        return retVal;
+        return list.toArray(new String[list.size()]);
     }
 
     public String[] getTetherableIfaces() {
         ArrayList<String> list = new ArrayList<String>();
         synchronized (mPublicSync) {
-            Set keys = mIfaces.keySet();
-            for (Object key : keys) {
-                TetherInterfaceSM sm = mIfaces.get(key);
-                if (sm.isAvailable()) {
-                    list.add((String)key);
+            for (int i = 0; i < mTetherStates.size(); i++) {
+                TetherState tetherState = mTetherStates.valueAt(i);
+                if (tetherState.mLastState == IControlsTethering.STATE_AVAILABLE) {
+                    list.add(mTetherStates.keyAt(i));
                 }
             }
         }
-        String[] retVal = new String[list.size()];
-        for (int i=0; i < list.size(); i++) {
-            retVal[i] = list.get(i);
-        }
-        return retVal;
+        return list.toArray(new String[list.size()]);
     }
 
     public String[] getTetheredDhcpRanges() {
@@ -992,19 +992,14 @@
     public String[] getErroredIfaces() {
         ArrayList<String> list = new ArrayList<String>();
         synchronized (mPublicSync) {
-            Set keys = mIfaces.keySet();
-            for (Object key : keys) {
-                TetherInterfaceSM sm = mIfaces.get(key);
-                if (sm.isErrored()) {
-                    list.add((String)key);
+            for (int i = 0; i < mTetherStates.size(); i++) {
+                TetherState tetherState = mTetherStates.valueAt(i);
+                if (tetherState.mLastError != ConnectivityManager.TETHER_ERROR_NO_ERROR) {
+                    list.add(mTetherStates.keyAt(i));
                 }
             }
         }
-        String[] retVal = new String[list.size()];
-        for (int i= 0; i< list.size(); i++) {
-            retVal[i] = list.get(i);
-        }
-        return retVal;
+        return list.toArray(new String[list.size()]);
     }
 
     private void maybeLogMessage(State state, int what) {
@@ -1014,401 +1009,6 @@
         }
     }
 
-    class TetherInterfaceSM extends StateMachine {
-        private static final int BASE_IFACE              = Protocol.BASE_TETHERING + 100;
-        // notification from the master SM that it's not in tether mode
-        static final int CMD_TETHER_MODE_DEAD            = BASE_IFACE + 1;
-        // request from the user that it wants to tether
-        static final int CMD_TETHER_REQUESTED            = BASE_IFACE + 2;
-        // request from the user that it wants to untether
-        static final int CMD_TETHER_UNREQUESTED          = BASE_IFACE + 3;
-        // notification that this interface is down
-        static final int CMD_INTERFACE_DOWN              = BASE_IFACE + 4;
-        // notification that this interface is up
-        static final int CMD_INTERFACE_UP                = BASE_IFACE + 5;
-        // notification from the master SM that it had an error turning on cellular dun
-        static final int CMD_CELL_DUN_ERROR              = BASE_IFACE + 6;
-        // notification from the master SM that it had trouble enabling IP Forwarding
-        static final int CMD_IP_FORWARDING_ENABLE_ERROR  = BASE_IFACE + 7;
-        // notification from the master SM that it had trouble disabling IP Forwarding
-        static final int CMD_IP_FORWARDING_DISABLE_ERROR = BASE_IFACE + 8;
-        // notification from the master SM that it had trouble starting tethering
-        static final int CMD_START_TETHERING_ERROR       = BASE_IFACE + 9;
-        // notification from the master SM that it had trouble stopping tethering
-        static final int CMD_STOP_TETHERING_ERROR        = BASE_IFACE + 10;
-        // notification from the master SM that it had trouble setting the DNS forwarders
-        static final int CMD_SET_DNS_FORWARDERS_ERROR    = BASE_IFACE + 11;
-        // the upstream connection has changed
-        static final int CMD_TETHER_CONNECTION_CHANGED   = BASE_IFACE + 12;
-
-        private State mDefaultState;
-
-        private State mInitialState;
-        private State mStartingState;
-        private State mTetheredState;
-
-        private State mUnavailableState;
-
-        private boolean mAvailable;
-        private boolean mTethered;
-        int mLastError;
-
-        String mIfaceName;
-        String mMyUpstreamIfaceName;  // may change over time
-
-        boolean mUsb;
-
-        TetherInterfaceSM(String name, Looper looper, boolean usb) {
-            super(name, looper);
-            mIfaceName = name;
-            mUsb = usb;
-            setLastError(ConnectivityManager.TETHER_ERROR_NO_ERROR);
-
-            mInitialState = new InitialState();
-            addState(mInitialState);
-            mStartingState = new StartingState();
-            addState(mStartingState);
-            mTetheredState = new TetheredState();
-            addState(mTetheredState);
-            mUnavailableState = new UnavailableState();
-            addState(mUnavailableState);
-
-            setInitialState(mInitialState);
-        }
-
-        public String toString() {
-            String res = new String();
-            res += mIfaceName + " - ";
-            IState current = getCurrentState();
-            if (current == mInitialState) res += "InitialState";
-            if (current == mStartingState) res += "StartingState";
-            if (current == mTetheredState) res += "TetheredState";
-            if (current == mUnavailableState) res += "UnavailableState";
-            if (mAvailable) res += " - Available";
-            if (mTethered) res += " - Tethered";
-            res += " - lastError =" + mLastError;
-            return res;
-        }
-
-        public int getLastError() {
-            synchronized (Tethering.this.mPublicSync) {
-                return mLastError;
-            }
-        }
-
-        private void setLastError(int error) {
-            synchronized (Tethering.this.mPublicSync) {
-                mLastError = error;
-
-                if (isErrored()) {
-                    if (mUsb) {
-                        // note everything's been unwound by this point so nothing to do on
-                        // further error..
-                        Tethering.this.configureUsbIface(false);
-                    }
-                }
-            }
-        }
-
-        public boolean isAvailable() {
-            synchronized (Tethering.this.mPublicSync) {
-                return mAvailable;
-            }
-        }
-
-        private void setAvailable(boolean available) {
-            synchronized (Tethering.this.mPublicSync) {
-                mAvailable = available;
-            }
-        }
-
-        public boolean isTethered() {
-            synchronized (Tethering.this.mPublicSync) {
-                return mTethered;
-            }
-        }
-
-        private void setTethered(boolean tethered) {
-            synchronized (Tethering.this.mPublicSync) {
-                mTethered = tethered;
-            }
-        }
-
-        public boolean isErrored() {
-            synchronized (Tethering.this.mPublicSync) {
-                return (mLastError != ConnectivityManager.TETHER_ERROR_NO_ERROR);
-            }
-        }
-
-        class InitialState extends State {
-            @Override
-            public void enter() {
-                setAvailable(true);
-                setTethered(false);
-                sendTetherStateChangedBroadcast();
-            }
-
-            @Override
-            public boolean processMessage(Message message) {
-                maybeLogMessage(this, message.what);
-                boolean retValue = true;
-                switch (message.what) {
-                    case CMD_TETHER_REQUESTED:
-                        setLastError(ConnectivityManager.TETHER_ERROR_NO_ERROR);
-                        mTetherMasterSM.sendMessage(TetherMasterSM.CMD_TETHER_MODE_REQUESTED,
-                                TetherInterfaceSM.this);
-                        transitionTo(mStartingState);
-                        break;
-                    case CMD_INTERFACE_DOWN:
-                        transitionTo(mUnavailableState);
-                        break;
-                    default:
-                        retValue = false;
-                        break;
-                }
-                return retValue;
-            }
-        }
-
-        class StartingState extends State {
-            @Override
-            public void enter() {
-                setAvailable(false);
-                if (mUsb) {
-                    if (!Tethering.this.configureUsbIface(true)) {
-                        mTetherMasterSM.sendMessage(TetherMasterSM.CMD_TETHER_MODE_UNREQUESTED,
-                                TetherInterfaceSM.this);
-                        setLastError(ConnectivityManager.TETHER_ERROR_IFACE_CFG_ERROR);
-
-                        transitionTo(mInitialState);
-                        return;
-                    }
-                }
-                sendTetherStateChangedBroadcast();
-
-                // Skipping StartingState
-                transitionTo(mTetheredState);
-            }
-            @Override
-            public boolean processMessage(Message message) {
-                maybeLogMessage(this, message.what);
-                boolean retValue = true;
-                switch (message.what) {
-                    // maybe a parent class?
-                    case CMD_TETHER_UNREQUESTED:
-                        mTetherMasterSM.sendMessage(TetherMasterSM.CMD_TETHER_MODE_UNREQUESTED,
-                                TetherInterfaceSM.this);
-                        if (mUsb) {
-                            if (!Tethering.this.configureUsbIface(false)) {
-                                setLastErrorAndTransitionToInitialState(
-                                    ConnectivityManager.TETHER_ERROR_IFACE_CFG_ERROR);
-                                break;
-                            }
-                        }
-                        transitionTo(mInitialState);
-                        break;
-                    case CMD_CELL_DUN_ERROR:
-                    case CMD_IP_FORWARDING_ENABLE_ERROR:
-                    case CMD_IP_FORWARDING_DISABLE_ERROR:
-                    case CMD_START_TETHERING_ERROR:
-                    case CMD_STOP_TETHERING_ERROR:
-                    case CMD_SET_DNS_FORWARDERS_ERROR:
-                        setLastErrorAndTransitionToInitialState(
-                                ConnectivityManager.TETHER_ERROR_MASTER_ERROR);
-                        break;
-                    case CMD_INTERFACE_DOWN:
-                        mTetherMasterSM.sendMessage(TetherMasterSM.CMD_TETHER_MODE_UNREQUESTED,
-                                TetherInterfaceSM.this);
-                        transitionTo(mUnavailableState);
-                        break;
-                    default:
-                        retValue = false;
-                }
-                return retValue;
-            }
-        }
-
-        class TetheredState extends State {
-            @Override
-            public void enter() {
-                try {
-                    mNMService.tetherInterface(mIfaceName);
-                } catch (Exception e) {
-                    Log.e(TAG, "Error Tethering: " + e.toString());
-                    setLastError(ConnectivityManager.TETHER_ERROR_TETHER_IFACE_ERROR);
-
-                    try {
-                        mNMService.untetherInterface(mIfaceName);
-                    } catch (Exception ee) {
-                        Log.e(TAG, "Error untethering after failure!" + ee.toString());
-                    }
-                    transitionTo(mInitialState);
-                    return;
-                }
-                if (DBG) Log.d(TAG, "Tethered " + mIfaceName);
-                setAvailable(false);
-                setTethered(true);
-                sendTetherStateChangedBroadcast();
-            }
-
-            private void cleanupUpstream() {
-                if (mMyUpstreamIfaceName != null) {
-                    // note that we don't care about errors here.
-                    // sometimes interfaces are gone before we get
-                    // to remove their rules, which generates errors.
-                    // just do the best we can.
-                    try {
-                        // about to tear down NAT; gather remaining statistics
-                        mStatsService.forceUpdate();
-                    } catch (Exception e) {
-                        if (VDBG) Log.e(TAG, "Exception in forceUpdate: " + e.toString());
-                    }
-                    try {
-                        mNMService.stopInterfaceForwarding(mIfaceName, mMyUpstreamIfaceName);
-                    } catch (Exception e) {
-                        if (VDBG) Log.e(
-                                TAG, "Exception in removeInterfaceForward: " + e.toString());
-                    }
-                    try {
-                        mNMService.disableNat(mIfaceName, mMyUpstreamIfaceName);
-                    } catch (Exception e) {
-                        if (VDBG) Log.e(TAG, "Exception in disableNat: " + e.toString());
-                    }
-                    mMyUpstreamIfaceName = null;
-                }
-                return;
-            }
-
-            @Override
-            public boolean processMessage(Message message) {
-                maybeLogMessage(this, message.what);
-                boolean retValue = true;
-                boolean error = false;
-                switch (message.what) {
-                    case CMD_TETHER_UNREQUESTED:
-                    case CMD_INTERFACE_DOWN:
-                        cleanupUpstream();
-                        try {
-                            mNMService.untetherInterface(mIfaceName);
-                        } catch (Exception e) {
-                            setLastErrorAndTransitionToInitialState(
-                                    ConnectivityManager.TETHER_ERROR_UNTETHER_IFACE_ERROR);
-                            break;
-                        }
-                        mTetherMasterSM.sendMessage(TetherMasterSM.CMD_TETHER_MODE_UNREQUESTED,
-                                TetherInterfaceSM.this);
-                        if (message.what == CMD_TETHER_UNREQUESTED) {
-                            if (mUsb) {
-                                if (!Tethering.this.configureUsbIface(false)) {
-                                    setLastError(
-                                            ConnectivityManager.TETHER_ERROR_IFACE_CFG_ERROR);
-                                }
-                            }
-                            transitionTo(mInitialState);
-                        } else if (message.what == CMD_INTERFACE_DOWN) {
-                            transitionTo(mUnavailableState);
-                        }
-                        if (DBG) Log.d(TAG, "Untethered " + mIfaceName);
-                        break;
-                    case CMD_TETHER_CONNECTION_CHANGED:
-                        String newUpstreamIfaceName = (String)(message.obj);
-                        if ((mMyUpstreamIfaceName == null && newUpstreamIfaceName == null) ||
-                                (mMyUpstreamIfaceName != null &&
-                                mMyUpstreamIfaceName.equals(newUpstreamIfaceName))) {
-                            if (VDBG) Log.d(TAG, "Connection changed noop - dropping");
-                            break;
-                        }
-                        cleanupUpstream();
-                        if (newUpstreamIfaceName != null) {
-                            try {
-                                mNMService.enableNat(mIfaceName, newUpstreamIfaceName);
-                                mNMService.startInterfaceForwarding(mIfaceName,
-                                        newUpstreamIfaceName);
-                            } catch (Exception e) {
-                                Log.e(TAG, "Exception enabling Nat: " + e.toString());
-                                try {
-                                    mNMService.disableNat(mIfaceName, newUpstreamIfaceName);
-                                } catch (Exception ee) {}
-                                try {
-                                    mNMService.untetherInterface(mIfaceName);
-                                } catch (Exception ee) {}
-
-                                setLastError(ConnectivityManager.TETHER_ERROR_ENABLE_NAT_ERROR);
-                                transitionTo(mInitialState);
-                                return true;
-                            }
-                        }
-                        mMyUpstreamIfaceName = newUpstreamIfaceName;
-                        break;
-                    case CMD_CELL_DUN_ERROR:
-                    case CMD_IP_FORWARDING_ENABLE_ERROR:
-                    case CMD_IP_FORWARDING_DISABLE_ERROR:
-                    case CMD_START_TETHERING_ERROR:
-                    case CMD_STOP_TETHERING_ERROR:
-                    case CMD_SET_DNS_FORWARDERS_ERROR:
-                        error = true;
-                        // fall through
-                    case CMD_TETHER_MODE_DEAD:
-                        cleanupUpstream();
-                        try {
-                            mNMService.untetherInterface(mIfaceName);
-                        } catch (Exception e) {
-                            setLastErrorAndTransitionToInitialState(
-                                    ConnectivityManager.TETHER_ERROR_UNTETHER_IFACE_ERROR);
-                            break;
-                        }
-                        if (error) {
-                            setLastErrorAndTransitionToInitialState(
-                                    ConnectivityManager.TETHER_ERROR_MASTER_ERROR);
-                            break;
-                        }
-                        if (DBG) Log.d(TAG, "Tether lost upstream connection " + mIfaceName);
-                        sendTetherStateChangedBroadcast();
-                        if (mUsb) {
-                            if (!Tethering.this.configureUsbIface(false)) {
-                                setLastError(ConnectivityManager.TETHER_ERROR_IFACE_CFG_ERROR);
-                            }
-                        }
-                        transitionTo(mInitialState);
-                        break;
-                    default:
-                        retValue = false;
-                        break;
-                }
-                return retValue;
-            }
-        }
-
-        class UnavailableState extends State {
-            @Override
-            public void enter() {
-                setAvailable(false);
-                setLastError(ConnectivityManager.TETHER_ERROR_NO_ERROR);
-                setTethered(false);
-                sendTetherStateChangedBroadcast();
-            }
-            @Override
-            public boolean processMessage(Message message) {
-                boolean retValue = true;
-                switch (message.what) {
-                    case CMD_INTERFACE_UP:
-                        transitionTo(mInitialState);
-                        break;
-                    default:
-                        retValue = false;
-                        break;
-                }
-                return retValue;
-            }
-        }
-
-        void setLastErrorAndTransitionToInitialState(int error) {
-            setLastError(error);
-            transitionTo(mInitialState);
-        }
-
-    }
-
     /**
      * A NetworkCallback class that relays information of interest to the
      * tethering master state machine thread for subsequent processing.
@@ -1442,7 +1042,7 @@
      * could/should be moved here.
      */
     class UpstreamNetworkMonitor {
-        final HashMap<Network, NetworkState> mNetworkMap = new HashMap();
+        final HashMap<Network, NetworkState> mNetworkMap = new HashMap<>();
         NetworkCallback mDefaultNetworkCallback;
         NetworkCallback mDunTetheringCallback;
 
@@ -1520,12 +1120,6 @@
         static final int EVENT_UPSTREAM_LINKPROPERTIES_CHANGED  = BASE_MASTER + 5;
         static final int EVENT_UPSTREAM_LOST                    = BASE_MASTER + 6;
 
-        // This indicates what a timeout event relates to.  A state that
-        // sends itself a delayed timeout event and handles incoming timeout events
-        // should inc this when it is entered and whenever it sends a new timeout event.
-        // We do not flush the old ones.
-        private int mSequenceNumber;
-
         private State mInitialState;
         private State mTetherModeAliveState;
 
@@ -1535,7 +1129,19 @@
         private State mStopTetheringErrorState;
         private State mSetDnsForwardersErrorState;
 
-        private ArrayList<TetherInterfaceSM> mNotifyList;
+        // This list is a little subtle.  It contains all the interfaces that currently are
+        // requesting tethering, regardless of whether these interfaces are still members of
+        // mTetherStates.  This allows us to maintain the following predicates:
+        //
+        // 1) mTetherStates contains the set of all currently existing, tetherable, link state up
+        //    interfaces.
+        // 2) mNotifyList contains all state machines that may have outstanding tethering state
+        //    that needs to be torn down.
+        //
+        // Because we excise interfaces immediately from mTetherStates, we must maintain mNotifyList
+        // so that the garbage collector does not clean up the state machine before it has a chance
+        // to tear itself down.
+        private ArrayList<TetherInterfaceStateMachine> mNotifyList;
 
         private int mMobileApnReserved = ConnectivityManager.TYPE_NONE;
         private NetworkCallback mMobileUpstreamCallback;
@@ -1562,7 +1168,7 @@
             mSetDnsForwardersErrorState = new SetDnsForwardersErrorState();
             addState(mSetDnsForwardersErrorState);
 
-            mNotifyList = new ArrayList<TetherInterfaceSM>();
+            mNotifyList = new ArrayList<>();
             setInitialState(mInitialState);
         }
 
@@ -1777,8 +1383,8 @@
             protected void notifyTetheredOfNewUpstreamIface(String ifaceName) {
                 if (DBG) Log.d(TAG, "Notifying tethered with upstream=" + ifaceName);
                 mCurrentUpstreamIface = ifaceName;
-                for (TetherInterfaceSM sm : mNotifyList) {
-                    sm.sendMessage(TetherInterfaceSM.CMD_TETHER_CONNECTION_CHANGED,
+                for (TetherInterfaceStateMachine sm : mNotifyList) {
+                    sm.sendMessage(TetherInterfaceStateMachine.CMD_TETHER_CONNECTION_CHANGED,
                             ifaceName);
                 }
             }
@@ -1845,20 +1451,16 @@
                                 config_mobile_hotspot_provision_app_no_ui).isEmpty() == false) {
                             ArrayList<Integer> tethered = new ArrayList<Integer>();
                             synchronized (mPublicSync) {
-                                Set ifaces = mIfaces.keySet();
-                                for (Object iface : ifaces) {
-                                    TetherInterfaceSM sm = mIfaces.get(iface);
-                                    if (sm != null && sm.isTethered()) {
-                                        if (isUsb((String)iface)) {
-                                            tethered.add(new Integer(
-                                                    ConnectivityManager.TETHERING_USB));
-                                        } else if (isWifi((String)iface)) {
-                                            tethered.add(new Integer(
-                                                    ConnectivityManager.TETHERING_WIFI));
-                                        } else if (isBluetooth((String)iface)) {
-                                            tethered.add(new Integer(
-                                                    ConnectivityManager.TETHERING_BLUETOOTH));
-                                        }
+                                for (int i = 0; i < mTetherStates.size(); i++) {
+                                    TetherState tetherState = mTetherStates.valueAt(i);
+                                    if (tetherState.mLastState !=
+                                            IControlsTethering.STATE_TETHERED) {
+                                        continue;  // Skip interfaces that aren't tethered.
+                                    }
+                                    String iface = mTetherStates.keyAt(i);
+                                    int interfaceType = ifaceNameToType(iface);
+                                    if (interfaceType != ConnectivityManager.TETHERING_INVALID) {
+                                        tethered.add(new Integer(interfaceType));
                                     }
                                 }
                             }
@@ -1885,26 +1487,22 @@
 
         class InitialState extends TetherMasterUtilState {
             @Override
-            public void enter() {
-            }
-            @Override
             public boolean processMessage(Message message) {
                 maybeLogMessage(this, message.what);
                 boolean retValue = true;
                 switch (message.what) {
                     case CMD_TETHER_MODE_REQUESTED:
-                        TetherInterfaceSM who = (TetherInterfaceSM)message.obj;
+                        TetherInterfaceStateMachine who = (TetherInterfaceStateMachine)message.obj;
                         if (VDBG) Log.d(TAG, "Tether Mode requested by " + who);
-                        mNotifyList.add(who);
+                        if (mNotifyList.indexOf(who) < 0) {
+                            mNotifyList.add(who);
+                        }
                         transitionTo(mTetherModeAliveState);
                         break;
                     case CMD_TETHER_MODE_UNREQUESTED:
-                        who = (TetherInterfaceSM)message.obj;
+                        who = (TetherInterfaceStateMachine)message.obj;
                         if (VDBG) Log.d(TAG, "Tether Mode unrequested by " + who);
-                        int index = mNotifyList.indexOf(who);
-                        if (index != -1) {
-                            mNotifyList.remove(who);
-                        }
+                        mNotifyList.remove(who);
                         break;
                     default:
                         retValue = false;
@@ -1941,26 +1539,28 @@
                 boolean retValue = true;
                 switch (message.what) {
                     case CMD_TETHER_MODE_REQUESTED:
-                        TetherInterfaceSM who = (TetherInterfaceSM)message.obj;
+                        TetherInterfaceStateMachine who = (TetherInterfaceStateMachine)message.obj;
                         if (VDBG) Log.d(TAG, "Tether Mode requested by " + who);
-                        mNotifyList.add(who);
-                        who.sendMessage(TetherInterfaceSM.CMD_TETHER_CONNECTION_CHANGED,
+                        if (mNotifyList.indexOf(who) < 0) {
+                            mNotifyList.add(who);
+                        }
+                        who.sendMessage(TetherInterfaceStateMachine.CMD_TETHER_CONNECTION_CHANGED,
                                 mCurrentUpstreamIface);
                         break;
                     case CMD_TETHER_MODE_UNREQUESTED:
-                        who = (TetherInterfaceSM)message.obj;
+                        who = (TetherInterfaceStateMachine)message.obj;
                         if (VDBG) Log.d(TAG, "Tether Mode unrequested by " + who);
-                        int index = mNotifyList.indexOf(who);
-                        if (index != -1) {
+                        if (mNotifyList.remove(who)) {
                             if (DBG) Log.d(TAG, "TetherModeAlive removing notifyee " + who);
-                            mNotifyList.remove(index);
                             if (mNotifyList.isEmpty()) {
                                 turnOffMasterTetherSettings(); // transitions appropriately
                             } else {
                                 if (DBG) {
                                     Log.d(TAG, "TetherModeAlive still has " + mNotifyList.size() +
                                             " live requests:");
-                                    for (Object o : mNotifyList) Log.d(TAG, "  " + o);
+                                    for (TetherInterfaceStateMachine o : mNotifyList) {
+                                        Log.d(TAG, "  " + o);
+                                    }
                                 }
                             }
                         } else {
@@ -2010,7 +1610,7 @@
                 boolean retValue = true;
                 switch (message.what) {
                     case CMD_TETHER_MODE_REQUESTED:
-                        TetherInterfaceSM who = (TetherInterfaceSM)message.obj;
+                        TetherInterfaceStateMachine who = (TetherInterfaceStateMachine)message.obj;
                         who.sendMessage(mErrorNotification);
                         break;
                     default:
@@ -2020,8 +1620,7 @@
             }
             void notify(int msgType) {
                 mErrorNotification = msgType;
-                for (Object o : mNotifyList) {
-                    TetherInterfaceSM sm = (TetherInterfaceSM)o;
+                for (TetherInterfaceStateMachine sm : mNotifyList) {
                     sm.sendMessage(msgType);
                 }
             }
@@ -2031,7 +1630,7 @@
             @Override
             public void enter() {
                 Log.e(TAG, "Error in setIpForwardingEnabled");
-                notify(TetherInterfaceSM.CMD_IP_FORWARDING_ENABLE_ERROR);
+                notify(TetherInterfaceStateMachine.CMD_IP_FORWARDING_ENABLE_ERROR);
             }
         }
 
@@ -2039,7 +1638,7 @@
             @Override
             public void enter() {
                 Log.e(TAG, "Error in setIpForwardingDisabled");
-                notify(TetherInterfaceSM.CMD_IP_FORWARDING_DISABLE_ERROR);
+                notify(TetherInterfaceStateMachine.CMD_IP_FORWARDING_DISABLE_ERROR);
             }
         }
 
@@ -2047,7 +1646,7 @@
             @Override
             public void enter() {
                 Log.e(TAG, "Error in startTethering");
-                notify(TetherInterfaceSM.CMD_START_TETHERING_ERROR);
+                notify(TetherInterfaceStateMachine.CMD_START_TETHERING_ERROR);
                 try {
                     mNMService.setIpForwardingEnabled(false);
                 } catch (Exception e) {}
@@ -2058,7 +1657,7 @@
             @Override
             public void enter() {
                 Log.e(TAG, "Error in stopTethering");
-                notify(TetherInterfaceSM.CMD_STOP_TETHERING_ERROR);
+                notify(TetherInterfaceStateMachine.CMD_STOP_TETHERING_ERROR);
                 try {
                     mNMService.setIpForwardingEnabled(false);
                 } catch (Exception e) {}
@@ -2069,7 +1668,7 @@
             @Override
             public void enter() {
                 Log.e(TAG, "Error in setDnsForwarders");
-                notify(TetherInterfaceSM.CMD_SET_DNS_FORWARDERS_ERROR);
+                notify(TetherInterfaceStateMachine.CMD_SET_DNS_FORWARDERS_ERROR);
                 try {
                     mNMService.stopTethering();
                 } catch (Exception e) {}
@@ -2080,9 +1679,11 @@
         }
     }
 
+    @Override
     public void dump(FileDescriptor fd, PrintWriter writer, String[] args) {
+        // Binder.java closes the resource for us.
+        @SuppressWarnings("resource")
         final IndentingPrintWriter pw = new IndentingPrintWriter(writer, "  ");
-
         if (mContext.checkCallingOrSelfPermission(
                 android.Manifest.permission.DUMP) != PackageManager.PERMISSION_GRANTED) {
             pw.println("Permission Denial: can't dump ConnectivityService.Tether " +
@@ -2102,12 +1703,67 @@
 
             pw.println("Tether state:");
             pw.increaseIndent();
-            for (Object o : mIfaces.values()) {
-                pw.println(o);
+            for (int i = 0; i < mTetherStates.size(); i++) {
+                final String iface = mTetherStates.keyAt(i);
+                final TetherState tetherState = mTetherStates.valueAt(i);
+                pw.print(iface + " - ");
+
+                switch (tetherState.mLastState) {
+                    case IControlsTethering.STATE_UNAVAILABLE:
+                        pw.print("UnavailableState");
+                        break;
+                    case IControlsTethering.STATE_AVAILABLE:
+                        pw.print("AvailableState");
+                        break;
+                    case IControlsTethering.STATE_TETHERED:
+                        pw.print("TetheredState");
+                        break;
+                    default:
+                        pw.print("UnknownState");
+                        break;
+                }
+                pw.println(" - lastError = " + tetherState.mLastError);
             }
             pw.decreaseIndent();
         }
         pw.decreaseIndent();
-        return;
+    }
+
+    @Override
+    public void notifyInterfaceStateChange(String iface, TetherInterfaceStateMachine who,
+                                           int state, int error) {
+        synchronized (mPublicSync) {
+            TetherState tetherState = mTetherStates.get(iface);
+            if (tetherState != null && tetherState.mStateMachine.equals(who)) {
+                tetherState.mLastState = state;
+                tetherState.mLastError = error;
+            } else {
+                if (DBG) Log.d(TAG, "got notification from stale iface " + iface);
+            }
+        }
+
+        if (DBG) {
+            Log.d(TAG, "iface " + iface + " notified that it was in state " + state +
+                    " with error " + error);
+        }
+
+        switch (state) {
+            case IControlsTethering.STATE_UNAVAILABLE:
+            case IControlsTethering.STATE_AVAILABLE:
+                mTetherMasterSM.sendMessage(TetherMasterSM.CMD_TETHER_MODE_UNREQUESTED, who);
+                break;
+            case IControlsTethering.STATE_TETHERED:
+                mTetherMasterSM.sendMessage(TetherMasterSM.CMD_TETHER_MODE_REQUESTED, who);
+                break;
+        }
+        sendTetherStateChangedBroadcast();
+    }
+
+    private void trackNewTetherableInterface(String iface, int interfaceType) {
+        TetherState tetherState;
+        tetherState = new TetherState(new TetherInterfaceStateMachine(iface, mLooper,
+                interfaceType, mNMService, mStatsService, this));
+        mTetherStates.put(iface, tetherState);
+        tetherState.mStateMachine.start();
     }
 }
diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java
index ebacc71..ede3bda 100644
--- a/services/core/java/com/android/server/connectivity/Vpn.java
+++ b/services/core/java/com/android/server/connectivity/Vpn.java
@@ -259,28 +259,39 @@
      *
      * @param packageName the package to designate as always-on VPN supplier.
      * @param lockdown whether to prevent traffic outside of a VPN, for example while connecting.
+     * @return {@code true} if the package has been set as always-on, {@code false} otherwise.
      */
     public synchronized boolean setAlwaysOnPackage(String packageName, boolean lockdown) {
         enforceControlPermissionOrInternalCaller();
+        if (VpnConfig.LEGACY_VPN.equals(packageName)) {
+            Log.w(TAG, "Not setting legacy VPN \"" + packageName + "\" as always-on.");
+            return false;
+        }
 
-        // Disconnect current VPN.
-        prepareInternal(VpnConfig.LEGACY_VPN);
-
-        // Pre-authorize new always-on VPN package.
         if (packageName != null) {
+            // Pre-authorize new always-on VPN package.
             if (!setPackageAuthorization(packageName, true)) {
                 return false;
             }
-            prepareInternal(packageName);
+            mAlwaysOn = true;
+        } else {
+            packageName = VpnConfig.LEGACY_VPN;
+            mAlwaysOn = false;
         }
 
-        mAlwaysOn = (packageName != null);
         mLockdown = (mAlwaysOn && lockdown);
+        if (!isCurrentPreparedPackage(packageName)) {
+            prepareInternal(packageName);
+        }
         maybeRegisterPackageChangeReceiverLocked(packageName);
         setVpnForcedLocked(mLockdown);
         return true;
     }
 
+    private static boolean isNullOrLegacyVpn(String packageName) {
+        return packageName == null || VpnConfig.LEGACY_VPN.equals(packageName);
+    }
+
     private void unregisterPackageChangeReceiverLocked() {
         // register previous intent filter
         if (mIsPackageIntentReceiverRegistered) {
@@ -293,7 +304,7 @@
         // Unregister IntentFilter listening for previous always-on package change
         unregisterPackageChangeReceiverLocked();
 
-        if (packageName != null) {
+        if (!isNullOrLegacyVpn(packageName)) {
             mIsPackageIntentReceiverRegistered = true;
 
             IntentFilter intentFilter = new IntentFilter();
diff --git a/services/core/java/com/android/server/connectivity/tethering/IControlsTethering.java b/services/core/java/com/android/server/connectivity/tethering/IControlsTethering.java
new file mode 100644
index 0000000..449b8a8
--- /dev/null
+++ b/services/core/java/com/android/server/connectivity/tethering/IControlsTethering.java
@@ -0,0 +1,39 @@
+/*
+ * 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.
+ */
+
+package com.android.server.connectivity.tethering;
+
+/**
+ * @hide
+ *
+ * Interface with methods necessary to notify that a given interface is ready for tethering.
+ */
+public interface IControlsTethering {
+    public final int STATE_UNAVAILABLE = 0;
+    public final int STATE_AVAILABLE = 1;
+    public final int STATE_TETHERED = 2;
+
+    /**
+     * Notify that |who| has changed its tethering state.  This may be called from any thread.
+     *
+     * @param iface a network interface (e.g. "wlan0")
+     * @param who corresponding instance of a TetherInterfaceStateMachine
+     * @param state one of IControlsTethering.STATE_*
+     * @param lastError one of ConnectivityManager.TETHER_ERROR_*
+     */
+    void notifyInterfaceStateChange(String iface, TetherInterfaceStateMachine who,
+                                    int state, int lastError);
+}
diff --git a/services/core/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachine.java b/services/core/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachine.java
new file mode 100644
index 0000000..aebeb69
--- /dev/null
+++ b/services/core/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachine.java
@@ -0,0 +1,322 @@
+/*
+ * 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.
+ */
+
+package com.android.server.connectivity.tethering;
+
+import android.net.ConnectivityManager;
+import android.net.INetworkStatsService;
+import android.net.InterfaceConfiguration;
+import android.net.LinkAddress;
+import android.net.NetworkUtils;
+import android.os.INetworkManagementService;
+import android.os.Looper;
+import android.os.Message;
+import android.util.Log;
+import android.util.SparseArray;
+
+import com.android.internal.util.MessageUtils;
+import com.android.internal.util.Protocol;
+import com.android.internal.util.State;
+import com.android.internal.util.StateMachine;
+
+import java.net.InetAddress;
+
+/**
+ * @hide
+ *
+ * Tracks the eligibility of a given network interface for tethering.
+ */
+public class TetherInterfaceStateMachine extends StateMachine {
+    private static final String USB_NEAR_IFACE_ADDR = "192.168.42.129";
+    private static final int USB_PREFIX_LENGTH = 24;
+    private static final String WIFI_HOST_IFACE_ADDR = "192.168.43.1";
+    private static final int WIFI_HOST_IFACE_PREFIX_LENGTH = 24;
+
+    private final static String TAG = "TetherInterfaceSM";
+    private final static boolean DBG = false;
+    private final static boolean VDBG = false;
+    private static final Class[] messageClasses = {
+            TetherInterfaceStateMachine.class
+    };
+    private static final SparseArray<String> sMagicDecoderRing =
+            MessageUtils.findMessageNames(messageClasses);
+
+    private static final int BASE_IFACE              = Protocol.BASE_TETHERING + 100;
+    // request from the user that it wants to tether
+    public static final int CMD_TETHER_REQUESTED            = BASE_IFACE + 2;
+    // request from the user that it wants to untether
+    public static final int CMD_TETHER_UNREQUESTED          = BASE_IFACE + 3;
+    // notification that this interface is down
+    public static final int CMD_INTERFACE_DOWN              = BASE_IFACE + 4;
+    // notification from the master SM that it had trouble enabling IP Forwarding
+    public static final int CMD_IP_FORWARDING_ENABLE_ERROR  = BASE_IFACE + 7;
+    // notification from the master SM that it had trouble disabling IP Forwarding
+    public static final int CMD_IP_FORWARDING_DISABLE_ERROR = BASE_IFACE + 8;
+    // notification from the master SM that it had trouble starting tethering
+    public static final int CMD_START_TETHERING_ERROR       = BASE_IFACE + 9;
+    // notification from the master SM that it had trouble stopping tethering
+    public static final int CMD_STOP_TETHERING_ERROR        = BASE_IFACE + 10;
+    // notification from the master SM that it had trouble setting the DNS forwarders
+    public static final int CMD_SET_DNS_FORWARDERS_ERROR    = BASE_IFACE + 11;
+    // the upstream connection has changed
+    public static final int CMD_TETHER_CONNECTION_CHANGED   = BASE_IFACE + 12;
+
+    private final State mInitialState;
+    private final State mTetheredState;
+    private final State mUnavailableState;
+
+    private final INetworkManagementService mNMService;
+    private final INetworkStatsService mStatsService;
+    private final IControlsTethering mTetherController;
+
+    private final String mIfaceName;
+    private final int mInterfaceType;
+
+    private int mLastError;
+    private String mMyUpstreamIfaceName;  // may change over time
+
+    public TetherInterfaceStateMachine(String ifaceName, Looper looper, int interfaceType,
+                    INetworkManagementService nMService, INetworkStatsService statsService,
+                    IControlsTethering tetherController) {
+        super(ifaceName, looper);
+        mNMService = nMService;
+        mStatsService = statsService;
+        mTetherController = tetherController;
+        mIfaceName = ifaceName;
+        mInterfaceType = interfaceType;
+        mLastError = ConnectivityManager.TETHER_ERROR_NO_ERROR;
+
+        mInitialState = new InitialState();
+        addState(mInitialState);
+        mTetheredState = new TetheredState();
+        addState(mTetheredState);
+        mUnavailableState = new UnavailableState();
+        addState(mUnavailableState);
+
+        setInitialState(mInitialState);
+    }
+
+    // configured when we start tethering and unconfig'd on error or conclusion
+    private boolean configureIfaceIp(boolean enabled) {
+        if (VDBG) Log.d(TAG, "configureIfaceIp(" + enabled + ")");
+
+        String ipAsString = null;
+        int prefixLen = 0;
+        if (mInterfaceType == ConnectivityManager.TETHERING_USB) {
+            ipAsString = USB_NEAR_IFACE_ADDR;
+            prefixLen = USB_PREFIX_LENGTH;
+        } else if (mInterfaceType == ConnectivityManager.TETHERING_WIFI) {
+            ipAsString = WIFI_HOST_IFACE_ADDR;
+            prefixLen = WIFI_HOST_IFACE_PREFIX_LENGTH;
+        } else {
+            // Nothing to do, BT does this elsewhere.
+            return true;
+        }
+
+        InterfaceConfiguration ifcg = null;
+        try {
+            ifcg = mNMService.getInterfaceConfig(mIfaceName);
+            if (ifcg != null) {
+                InetAddress addr = NetworkUtils.numericToInetAddress(ipAsString);
+                ifcg.setLinkAddress(new LinkAddress(addr, prefixLen));
+                if (enabled) {
+                    ifcg.setInterfaceUp();
+                } else {
+                    ifcg.setInterfaceDown();
+                }
+                ifcg.clearFlag("running");
+                mNMService.setInterfaceConfig(mIfaceName, ifcg);
+            }
+        } catch (Exception e) {
+            Log.e(TAG, "Error configuring interface " + mIfaceName, e);
+            return false;
+        }
+
+        return true;
+    }
+
+    private void maybeLogMessage(State state, int what) {
+        if (DBG) {
+            Log.d(TAG, state.getName() + " got " +
+                    sMagicDecoderRing.get(what, Integer.toString(what)));
+        }
+    }
+
+    class InitialState extends State {
+        @Override
+        public void enter() {
+            mTetherController.notifyInterfaceStateChange(
+                    mIfaceName, TetherInterfaceStateMachine.this,
+                    IControlsTethering.STATE_AVAILABLE, mLastError);
+        }
+
+        @Override
+        public boolean processMessage(Message message) {
+            maybeLogMessage(this, message.what);
+            boolean retValue = true;
+            switch (message.what) {
+                case CMD_TETHER_REQUESTED:
+                    mLastError = ConnectivityManager.TETHER_ERROR_NO_ERROR;
+                    transitionTo(mTetheredState);
+                    break;
+                case CMD_INTERFACE_DOWN:
+                    transitionTo(mUnavailableState);
+                    break;
+                default:
+                    retValue = false;
+                    break;
+            }
+            return retValue;
+        }
+    }
+
+    class TetheredState extends State {
+        @Override
+        public void enter() {
+            if (!configureIfaceIp(true)) {
+                mLastError = ConnectivityManager.TETHER_ERROR_IFACE_CFG_ERROR;
+                transitionTo(mInitialState);
+                return;
+            }
+
+            try {
+                mNMService.tetherInterface(mIfaceName);
+            } catch (Exception e) {
+                Log.e(TAG, "Error Tethering: " + e.toString());
+                mLastError = ConnectivityManager.TETHER_ERROR_TETHER_IFACE_ERROR;
+                transitionTo(mInitialState);
+                return;
+            }
+            if (DBG) Log.d(TAG, "Tethered " + mIfaceName);
+            mTetherController.notifyInterfaceStateChange(
+                    mIfaceName, TetherInterfaceStateMachine.this,
+                    IControlsTethering.STATE_TETHERED, mLastError);
+        }
+
+        @Override
+        public void exit() {
+            // Note that at this point, we're leaving the tethered state.  We can fail any
+            // of these operations, but it doesn't really change that we have to try them
+            // all in sequence.
+            cleanupUpstream();
+
+            try {
+                mNMService.untetherInterface(mIfaceName);
+            } catch (Exception ee) {
+                mLastError = ConnectivityManager.TETHER_ERROR_UNTETHER_IFACE_ERROR;
+                Log.e(TAG, "Failed to untether interface: " + ee.toString());
+            }
+
+            configureIfaceIp(false);
+        }
+
+        private void cleanupUpstream() {
+            if (mMyUpstreamIfaceName != null) {
+                // note that we don't care about errors here.
+                // sometimes interfaces are gone before we get
+                // to remove their rules, which generates errors.
+                // just do the best we can.
+                try {
+                    // about to tear down NAT; gather remaining statistics
+                    mStatsService.forceUpdate();
+                } catch (Exception e) {
+                    if (VDBG) Log.e(TAG, "Exception in forceUpdate: " + e.toString());
+                }
+                try {
+                    mNMService.stopInterfaceForwarding(mIfaceName, mMyUpstreamIfaceName);
+                } catch (Exception e) {
+                    if (VDBG) Log.e(
+                            TAG, "Exception in removeInterfaceForward: " + e.toString());
+                }
+                try {
+                    mNMService.disableNat(mIfaceName, mMyUpstreamIfaceName);
+                } catch (Exception e) {
+                    if (VDBG) Log.e(TAG, "Exception in disableNat: " + e.toString());
+                }
+                mMyUpstreamIfaceName = null;
+            }
+            return;
+        }
+
+        @Override
+        public boolean processMessage(Message message) {
+            maybeLogMessage(this, message.what);
+            boolean retValue = true;
+            switch (message.what) {
+                case CMD_TETHER_UNREQUESTED:
+                    transitionTo(mInitialState);
+                    if (DBG) Log.d(TAG, "Untethered (unrequested)" + mIfaceName);
+                    break;
+                case CMD_INTERFACE_DOWN:
+                    transitionTo(mUnavailableState);
+                    if (DBG) Log.d(TAG, "Untethered (ifdown)" + mIfaceName);
+                    break;
+                case CMD_TETHER_CONNECTION_CHANGED:
+                    String newUpstreamIfaceName = (String)(message.obj);
+                    if ((mMyUpstreamIfaceName == null && newUpstreamIfaceName == null) ||
+                            (mMyUpstreamIfaceName != null &&
+                            mMyUpstreamIfaceName.equals(newUpstreamIfaceName))) {
+                        if (VDBG) Log.d(TAG, "Connection changed noop - dropping");
+                        break;
+                    }
+                    cleanupUpstream();
+                    if (newUpstreamIfaceName != null) {
+                        try {
+                            mNMService.enableNat(mIfaceName, newUpstreamIfaceName);
+                            mNMService.startInterfaceForwarding(mIfaceName,
+                                    newUpstreamIfaceName);
+                        } catch (Exception e) {
+                            Log.e(TAG, "Exception enabling Nat: " + e.toString());
+                            mLastError = ConnectivityManager.TETHER_ERROR_ENABLE_NAT_ERROR;
+                            transitionTo(mInitialState);
+                            return true;
+                        }
+                    }
+                    mMyUpstreamIfaceName = newUpstreamIfaceName;
+                    break;
+                case CMD_IP_FORWARDING_ENABLE_ERROR:
+                case CMD_IP_FORWARDING_DISABLE_ERROR:
+                case CMD_START_TETHERING_ERROR:
+                case CMD_STOP_TETHERING_ERROR:
+                case CMD_SET_DNS_FORWARDERS_ERROR:
+                    mLastError = ConnectivityManager.TETHER_ERROR_MASTER_ERROR;
+                    transitionTo(mInitialState);
+                    break;
+                default:
+                    retValue = false;
+                    break;
+            }
+            return retValue;
+        }
+    }
+
+    /**
+     * This state is terminal for the per interface state machine.  At this
+     * point, the master state machine should have removed this interface
+     * specific state machine from its list of possible recipients of
+     * tethering requests.  The state machine itself will hang around until
+     * the garbage collector finds it.
+     */
+    class UnavailableState extends State {
+        @Override
+        public void enter() {
+            mLastError = ConnectivityManager.TETHER_ERROR_NO_ERROR;
+            mTetherController.notifyInterfaceStateChange(
+                    mIfaceName, TetherInterfaceStateMachine.this,
+                    IControlsTethering.STATE_UNAVAILABLE, mLastError);
+        }
+    }
+}
diff --git a/services/core/java/com/android/server/content/ContentService.java b/services/core/java/com/android/server/content/ContentService.java
index 1b2ccd7..01b2393 100644
--- a/services/core/java/com/android/server/content/ContentService.java
+++ b/services/core/java/com/android/server/content/ContentService.java
@@ -22,6 +22,7 @@
 import android.app.ActivityManager;
 import android.app.ActivityManagerNative;
 import android.app.AppOpsManager;
+import android.app.job.JobInfo;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.ContentProvider;
@@ -393,18 +394,9 @@
             for (int i=0; i<numCalls; i++) {
                 ObserverCall oc = calls.get(i);
                 try {
-                    // If the uri does not belong to the same user as the observer: we must add
-                    // the userId to the uri. Otherewise the observer would think the uri belongs
-                    // to his user.
-                    final Uri tempUri;
-                    if (oc.mObserverUserId != userHandle) {
-                        tempUri = ContentProvider.maybeAddUserId(uri, userHandle);
-                    } else {
-                        tempUri = uri;
-                    }
-                    oc.mObserver.onChange(oc.mSelfChange, tempUri, userHandle);
+                    oc.mObserver.onChange(oc.mSelfChange, uri, userHandle);
                     if (DEBUG) Slog.d(TAG, "Notified " + oc.mObserver + " of " + "update at "
-                            + tempUri);
+                            + uri);
                 } catch (RemoteException ex) {
                     synchronized (mRootNode) {
                         Log.w(TAG, "Found dead observer, removing");
@@ -512,6 +504,16 @@
         syncAsUser(request, UserHandle.getCallingUserId());
     }
 
+    private long clampPeriod(long period) {
+        long minPeriod = JobInfo.getMinPeriodMillis() / 1000;
+        if (period < minPeriod) {
+            Slog.w(TAG, "Requested poll frequency of " + period
+                    + " seconds being rounded up to " + minPeriod + "s.");
+            period = minPeriod;
+        }
+        return period;
+    }
+
     /**
      * If the user id supplied is different to the calling user, the caller must hold the
      * INTERACT_ACROSS_USERS_FULL permission.
@@ -539,11 +541,8 @@
                 SyncStorageEngine.EndPoint info;
                 info = new SyncStorageEngine.EndPoint(
                         request.getAccount(), request.getProvider(), userId);
-                if (runAtTime < 3600) {
-                    Slog.w(TAG, "Requested poll frequency of " + runAtTime
-                            + " seconds being rounded up to 1 hour.");
-                    runAtTime = 3600;
-                }
+
+                runAtTime = clampPeriod(runAtTime);
                 // Schedule periodic sync.
                 getSyncManager().updateOrAddPeriodicSync(info, runAtTime,
                         flextime, extras);
@@ -761,11 +760,8 @@
                 "no permission to write the sync settings");
 
         int userId = UserHandle.getCallingUserId();
-        if (pollFrequency < 3600) {
-            Slog.w(TAG, "Requested poll frequency of " + pollFrequency
-                    + " seconds being rounded up to 1 hour.");
-            pollFrequency = 3600;
-        }
+
+        pollFrequency = clampPeriod(pollFrequency);
         long defaultFlex = SyncStorageEngine.calculateDefaultFlexTime(pollFrequency);
 
         long identityToken = clearCallingIdentity();
diff --git a/services/core/java/com/android/server/content/SyncManager.java b/services/core/java/com/android/server/content/SyncManager.java
index 493fc4a..39ddc3a 100644
--- a/services/core/java/com/android/server/content/SyncManager.java
+++ b/services/core/java/com/android/server/content/SyncManager.java
@@ -1355,7 +1355,11 @@
             operation.extras.remove(ContentResolver.SYNC_EXTRAS_IGNORE_BACKOFF);
         }
 
-        if (operation.extras.getBoolean(ContentResolver.SYNC_EXTRAS_DO_NOT_RETRY, false)) {
+        if (operation.extras.getBoolean(ContentResolver.SYNC_EXTRAS_DO_NOT_RETRY, false)
+                && !syncResult.syncAlreadyInProgress) {
+            // syncAlreadyInProgress flag is set by AbstractThreadedSyncAdapter. The sync adapter
+            // has no way of knowing that a sync error occured. So we DO retry if the error is
+            // syncAlreadyInProgress.
             if (isLoggable) {
                 Log.d(TAG, "not retrying sync operation because SYNC_EXTRAS_DO_NOT_RETRY was specified "
                         + operation);
@@ -2445,6 +2449,10 @@
             if (op.isPeriodic) {
                 scheduleSyncOperationH(op.createOneTimeSyncOperation(), delay);
             } else {
+                // mSyncJobService.callJobFinished is async, so cancel the job to ensure we don't
+                // find the this job in the pending jobs list while looking for duplicates
+                // before scheduling it at a later time.
+                getJobScheduler().cancel(op.jobId);
                 scheduleSyncOperationH(op, delay);
             }
         }
@@ -2886,6 +2894,14 @@
             String historyMessage;
             int downstreamActivity;
             int upstreamActivity;
+
+            if (!syncOperation.isPeriodic) {
+                // mSyncJobService.jobFinidhed is async, we need to ensure that this job is
+                // removed from JobScheduler's pending jobs list before moving forward and
+                // potentially rescheduling all pending jobs to respect new backoff values.
+                getJobScheduler().cancel(syncOperation.jobId);
+            }
+
             if (syncResult != null) {
                 if (isLoggable) {
                     Slog.v(TAG, "runSyncFinishedOrCanceled [finished]: "
diff --git a/services/core/java/com/android/server/content/SyncOperation.java b/services/core/java/com/android/server/content/SyncOperation.java
index 804be4e..c371f97 100644
--- a/services/core/java/com/android/server/content/SyncOperation.java
+++ b/services/core/java/com/android/server/content/SyncOperation.java
@@ -197,7 +197,7 @@
             } else if (value instanceof Boolean) {
                 syncExtrasBundle.putBoolean(key, (Boolean) value);
             } else if (value instanceof Float) {
-                syncExtrasBundle.putDouble(key, (Double) value);
+                syncExtrasBundle.putDouble(key, (double) (float) value);
             } else if (value instanceof Double) {
                 syncExtrasBundle.putDouble(key, (Double) value);
             } else if (value instanceof String) {
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
index 8f8afd5..61af8ed 100644
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -1181,6 +1181,10 @@
     }
 
     private static Spline createAutoBrightnessSpline(int[] lux, int[] brightness) {
+        if (lux == null || lux.length == 0 || brightness == null || brightness.length == 0) {
+            Slog.e(TAG, "Could not create auto-brightness spline.");
+            return null;
+        }
         try {
             final int n = brightness.length;
             float[] x = new float[n];
diff --git a/services/core/java/com/android/server/dreams/DreamManagerService.java b/services/core/java/com/android/server/dreams/DreamManagerService.java
index 1f6616e..a783fa2 100644
--- a/services/core/java/com/android/server/dreams/DreamManagerService.java
+++ b/services/core/java/com/android/server/dreams/DreamManagerService.java
@@ -20,6 +20,7 @@
 
 import com.android.internal.util.DumpUtils;
 import com.android.server.FgThread;
+import com.android.server.LocalServices;
 import com.android.server.SystemService;
 
 import android.Manifest;
@@ -32,6 +33,8 @@
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.ServiceInfo;
+import android.database.ContentObserver;
+import android.hardware.input.InputManagerInternal;
 import android.os.Binder;
 import android.os.Build;
 import android.os.Handler;
@@ -111,11 +114,16 @@
             mContext.registerReceiver(new BroadcastReceiver() {
                 @Override
                 public void onReceive(Context context, Intent intent) {
+                    writePulseGestureEnabled();
                     synchronized (mLock) {
                         stopDreamLocked(false /*immediate*/);
                     }
                 }
             }, new IntentFilter(Intent.ACTION_USER_SWITCHED), null, mHandler);
+            mContext.getContentResolver().registerContentObserver(
+                    Settings.Secure.getUriFor(Settings.Secure.DOZE_ENABLED), false,
+                    mDozeEnabledObserver, UserHandle.USER_ALL);
+            writePulseGestureEnabled();
         }
     }
 
@@ -414,6 +422,12 @@
         }
     }
 
+    private void writePulseGestureEnabled() {
+        ComponentName name = getDozeComponent();
+        boolean dozeEnabled = validateDream(name);
+        LocalServices.getService(InputManagerInternal.class).setPulseGestureEnabled(dozeEnabled);
+    }
+
     private static String componentsToString(ComponentName[] componentNames) {
         StringBuilder names = new StringBuilder();
         if (componentNames != null) {
@@ -450,6 +464,13 @@
         }
     };
 
+    private final ContentObserver mDozeEnabledObserver = new ContentObserver(null) {
+        @Override
+        public void onChange(boolean selfChange) {
+            writePulseGestureEnabled();
+        }
+    };
+
     /**
      * Handler for asynchronous operations performed by the dream manager.
      * Ensures operations to {@link DreamController} are single-threaded.
diff --git a/services/core/java/com/android/server/fingerprint/FingerprintService.java b/services/core/java/com/android/server/fingerprint/FingerprintService.java
index 142426d..be8e300 100644
--- a/services/core/java/com/android/server/fingerprint/FingerprintService.java
+++ b/services/core/java/com/android/server/fingerprint/FingerprintService.java
@@ -96,7 +96,7 @@
 
     private static final long FAIL_LOCKOUT_TIMEOUT_MS = 30*1000;
     private static final int MAX_FAILED_ATTEMPTS = 5;
-    private static final long CANCEL_TIMEOUT_LIMIT = 300; // max wait for onCancel() from HAL,in ms
+    private static final long CANCEL_TIMEOUT_LIMIT = 3000; // max wait for onCancel() from HAL,in ms
     private final String mKeyguardPackage;
     private int mCurrentUserId = UserHandle.USER_CURRENT;
     private final FingerprintUtils mFingerprintUtils = FingerprintUtils.getInstance();
@@ -1013,20 +1013,18 @@
                     public void onForegroundProfileSwitch(int newProfileId) {
                         // Ignore.
                     }
-                });
+                }, TAG);
         } catch (RemoteException e) {
             Slog.w(TAG, "Failed to listen for user switching event" ,e);
         }
     }
 
+    /***
+     * @param opPackageName the name of the calling package
+     * @return authenticator id for the current user
+     */
     public long getAuthenticatorId(String opPackageName) {
-        if (canUseFingerprint(opPackageName, false /* foregroundOnly */,
-                Binder.getCallingUid(), Binder.getCallingPid())) {
-            return mCurrentAuthenticatorId;
-        } else {
-            Slog.w(TAG, "Client isn't current, returning authenticator_id=0");
-        }
-        return 0;
+        return mCurrentAuthenticatorId;
     }
 
 }
diff --git a/services/core/java/com/android/server/input/InputManagerService.java b/services/core/java/com/android/server/input/InputManagerService.java
index aa1d73f..74095ac 100644
--- a/services/core/java/com/android/server/input/InputManagerService.java
+++ b/services/core/java/com/android/server/input/InputManagerService.java
@@ -18,7 +18,9 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.os.Build;
 import android.os.LocaleList;
+import android.util.Log;
 import android.view.Display;
 import com.android.internal.inputmethod.InputMethodSubtypeHandle;
 import com.android.internal.os.SomeArgs;
@@ -98,8 +100,11 @@
 import java.io.FileDescriptor;
 import java.io.FileNotFoundException;
 import java.io.FileReader;
+import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -109,6 +114,7 @@
 import java.util.List;
 import java.util.Locale;
 
+import libcore.io.IoUtils;
 import libcore.io.Streams;
 import libcore.util.Objects;
 
@@ -136,6 +142,8 @@
     private final Context mContext;
     private final InputManagerHandler mHandler;
 
+    private final File mDoubleTouchGestureEnableFile;
+
     private WindowManagerCallbacks mWindowManagerCallbacks;
     private WiredAccessoryCallbacks mWiredAccessoryCallbacks;
     private boolean mSystemReady;
@@ -301,6 +309,11 @@
                 + mUseDevInputEventForAudioJack);
         mPtr = nativeInit(this, mContext, mHandler.getLooper().getQueue());
 
+        String doubleTouchGestureEnablePath = context.getResources().getString(
+                R.string.config_doubleTouchGestureEnableFile);
+        mDoubleTouchGestureEnableFile = TextUtils.isEmpty(doubleTouchGestureEnablePath) ? null :
+            new File(doubleTouchGestureEnablePath);
+
         LocalServices.addService(InputManagerInternal.class, new LocalService());
     }
 
@@ -2279,5 +2292,20 @@
         public void toggleCapsLock(int deviceId) {
             nativeToggleCapsLock(mPtr, deviceId);
         }
+
+        @Override
+        public void setPulseGestureEnabled(boolean enabled) {
+            if (mDoubleTouchGestureEnableFile != null) {
+                FileWriter writer = null;
+                try {
+                    writer = new FileWriter(mDoubleTouchGestureEnableFile);
+                    writer.write(enabled ? "1" : "0");
+                } catch (IOException e) {
+                    Log.wtf(TAG, "Unable to setPulseGestureEnabled", e);
+                } finally {
+                    IoUtils.closeQuietly(writer);
+                }
+            }
+        }
     }
 }
diff --git a/services/core/java/com/android/server/job/JobSchedulerService.java b/services/core/java/com/android/server/job/JobSchedulerService.java
index 27b3aa2..8589de1 100644
--- a/services/core/java/com/android/server/job/JobSchedulerService.java
+++ b/services/core/java/com/android/server/job/JobSchedulerService.java
@@ -692,8 +692,13 @@
         boolean active = mPendingJobs.size() > 0;
         if (mPendingJobs.size() <= 0) {
             for (int i=0; i<mActiveServices.size(); i++) {
-                JobServiceContext jsc = mActiveServices.get(i);
-                if (jsc.getRunningJob() != null) {
+                final JobServiceContext jsc = mActiveServices.get(i);
+                final JobStatus job = jsc.getRunningJob();
+                if (job != null
+                        && (job.getJob().getFlags() & JobInfo.FLAG_WILL_BE_FOREGROUND) == 0
+                        && !job.dozeWhitelisted) {
+                    // We will report active if we have a job running and it is not an exception
+                    // due to being in the foreground or whitelisted.
                     active = true;
                     break;
                 }
diff --git a/services/core/java/com/android/server/job/controllers/AppIdleController.java b/services/core/java/com/android/server/job/controllers/AppIdleController.java
index a23af35..2dbecbd 100644
--- a/services/core/java/com/android/server/job/controllers/AppIdleController.java
+++ b/services/core/java/com/android/server/job/controllers/AppIdleController.java
@@ -142,8 +142,11 @@
                 UserHandle.formatUid(pw, jobStatus.getSourceUid());
                 pw.print(": ");
                 pw.print(jobStatus.getSourcePackageName());
-                pw.print(", runnable=");
-                pw.println((jobStatus.satisfiedConstraints&JobStatus.CONSTRAINT_APP_NOT_IDLE) != 0);
+                if ((jobStatus.satisfiedConstraints&JobStatus.CONSTRAINT_APP_NOT_IDLE) != 0) {
+                    pw.println(" RUNNABLE");
+                } else {
+                    pw.println(" WAITING");
+                }
             }
         });
     }
diff --git a/services/core/java/com/android/server/job/controllers/ContentObserverController.java b/services/core/java/com/android/server/job/controllers/ContentObserverController.java
index 26660e8..a42d0cd 100644
--- a/services/core/java/com/android/server/job/controllers/ContentObserverController.java
+++ b/services/core/java/com/android/server/job/controllers/ContentObserverController.java
@@ -22,6 +22,7 @@
 import android.net.Uri;
 import android.os.Handler;
 import android.os.UserHandle;
+import android.util.Slog;
 import android.util.TimeUtils;
 import android.util.ArrayMap;
 import android.util.ArraySet;
@@ -40,6 +41,7 @@
  */
 public class ContentObserverController extends StateController {
     private static final String TAG = "JobScheduler.Content";
+    private static final boolean DEBUG = false;
 
     /**
      * Maximum number of changing URIs we will batch together to report.
@@ -57,7 +59,7 @@
     private static volatile ContentObserverController sController;
 
     final private List<JobStatus> mTrackedTasks = new ArrayList<JobStatus>();
-    ArrayMap<Uri, ObserverInstance> mObservers = new ArrayMap<>();
+    ArrayMap<JobInfo.TriggerContentUri, ObserverInstance> mObservers = new ArrayMap<>();
     final Handler mHandler;
 
     public static ContentObserverController get(JobSchedulerService taskManagerService) {
@@ -88,6 +90,9 @@
             if (taskStatus.contentObserverJobInstance == null) {
                 taskStatus.contentObserverJobInstance = new JobInstance(taskStatus);
             }
+            if (DEBUG) {
+                Slog.i(TAG, "Tracking content-trigger job " + taskStatus);
+            }
             mTrackedTasks.add(taskStatus);
             boolean havePendingUris = false;
             // If there is a previous job associated with the new job, propagate over
@@ -175,6 +180,9 @@
                     taskStatus.contentObserverJobInstance = null;
                 }
             }
+            if (DEBUG) {
+                Slog.i(TAG, "No longer tracking job " + taskStatus);
+            }
             mTrackedTasks.remove(taskStatus);
         }
     }
@@ -194,16 +202,20 @@
     }
 
     final class ObserverInstance extends ContentObserver {
-        final Uri mUri;
+        final JobInfo.TriggerContentUri mUri;
         final ArraySet<JobInstance> mJobs = new ArraySet<>();
 
-        public ObserverInstance(Handler handler, Uri uri) {
+        public ObserverInstance(Handler handler, JobInfo.TriggerContentUri uri) {
             super(handler);
             mUri = uri;
         }
 
         @Override
         public void onChange(boolean selfChange, Uri uri) {
+            if (DEBUG) {
+                Slog.i(TAG, "onChange(self=" + selfChange + ") for " + uri
+                        + " when mUri=" + mUri);
+            }
             synchronized (mLock) {
                 final int N = mJobs.size();
                 for (int i=0; i<N; i++) {
@@ -253,16 +265,27 @@
             final JobInfo.TriggerContentUri[] uris = jobStatus.getJob().getTriggerContentUris();
             if (uris != null) {
                 for (JobInfo.TriggerContentUri uri : uris) {
-                    ObserverInstance obs = mObservers.get(uri.getUri());
+                    ObserverInstance obs = mObservers.get(uri);
                     if (obs == null) {
-                        obs = new ObserverInstance(mHandler, uri.getUri());
-                        mObservers.put(uri.getUri(), obs);
+                        obs = new ObserverInstance(mHandler, uri);
+                        mObservers.put(uri, obs);
+                        final boolean andDescendants = (uri.getFlags() &
+                                JobInfo.TriggerContentUri.FLAG_NOTIFY_FOR_DESCENDANTS) != 0;
+                        if (DEBUG) {
+                            Slog.v(TAG, "New observer " + obs + " for " + uri.getUri()
+                                    + " andDescendants=" + andDescendants);
+                        }
                         mContext.getContentResolver().registerContentObserver(
                                 uri.getUri(),
-                                (uri.getFlags() &
-                                        JobInfo.TriggerContentUri.FLAG_NOTIFY_FOR_DESCENDANTS)
-                                    != 0,
+                                andDescendants,
                                 obs);
+                    } else {
+                        if (DEBUG) {
+                            final boolean andDescendants = (uri.getFlags() &
+                                    JobInfo.TriggerContentUri.FLAG_NOTIFY_FOR_DESCENDANTS) != 0;
+                            Slog.v(TAG, "Reusing existing observer " + obs + " for " + uri.getUri()
+                                    + " andDescendants=" + andDescendants);
+                        }
                     }
                     obs.mJobs.add(this);
                     mMyObservers.add(obs);
@@ -315,6 +338,9 @@
                 final ObserverInstance obs = mMyObservers.get(i);
                 obs.mJobs.remove(this);
                 if (obs.mJobs.size() == 0) {
+                    if (DEBUG) {
+                        Slog.i(TAG, "Unregistering observer " + obs + " for " + obs.mUri.getUri());
+                    }
                     mContext.getContentResolver().unregisterContentObserver(obs);
                     mObservers.remove(obs.mUri);
                 }
@@ -355,7 +381,10 @@
                     continue;
                 }
                 pw.print("    ");
-                pw.print(mObservers.keyAt(i));
+                JobInfo.TriggerContentUri trigger = mObservers.keyAt(i);
+                pw.print(trigger.getUri());
+                pw.print(" 0x");
+                pw.print(Integer.toHexString(trigger.getFlags()));
                 pw.print(" (");
                 pw.print(System.identityHashCode(obs));
                 pw.println("):");
diff --git a/services/core/java/com/android/server/job/controllers/DeviceIdleJobsController.java b/services/core/java/com/android/server/job/controllers/DeviceIdleJobsController.java
index bf1297f..f7706d7 100644
--- a/services/core/java/com/android/server/job/controllers/DeviceIdleJobsController.java
+++ b/services/core/java/com/android/server/job/controllers/DeviceIdleJobsController.java
@@ -157,8 +157,9 @@
     }
 
     private void updateTaskStateLocked(JobStatus task) {
-        boolean enableTask = !mDeviceIdleMode || isWhitelistedLocked(task);
-        task.setDeviceNotDozingConstraintSatisfied(enableTask);
+        final boolean whitelisted = isWhitelistedLocked(task);
+        final boolean enableTask = !mDeviceIdleMode || whitelisted;
+        task.setDeviceNotDozingConstraintSatisfied(enableTask, whitelisted);
     }
 
     @Override
@@ -186,9 +187,13 @@
                 UserHandle.formatUid(pw, jobStatus.getSourceUid());
                 pw.print(": ");
                 pw.print(jobStatus.getSourcePackageName());
-                pw.print(", runnable=");
-                pw.println((jobStatus.satisfiedConstraints
-                        & JobStatus.CONSTRAINT_DEVICE_NOT_DOZING) != 0);
+                pw.print((jobStatus.satisfiedConstraints
+                        & JobStatus.CONSTRAINT_DEVICE_NOT_DOZING) != 0
+                                ? " RUNNABLE" : " WAITING");
+                if (jobStatus.dozeWhitelisted) {
+                    pw.print(" WHITELISTED");
+                }
+                pw.println();
             }
         });
     }
diff --git a/services/core/java/com/android/server/job/controllers/JobStatus.java b/services/core/java/com/android/server/job/controllers/JobStatus.java
index ded7a2f..552c990 100644
--- a/services/core/java/com/android/server/job/controllers/JobStatus.java
+++ b/services/core/java/com/android/server/job/controllers/JobStatus.java
@@ -103,6 +103,9 @@
     final int requiredConstraints;
     int satisfiedConstraints = 0;
 
+    // Set to true if doze constraint was satisfied due to app being whitelisted.
+    public boolean dozeWhitelisted;
+
     // These are filled in by controllers when preparing for execution.
     public ArraySet<Uri> changedUris;
     public ArraySet<String> changedAuthorities;
@@ -403,7 +406,8 @@
         return setConstraintSatisfied(CONSTRAINT_CONTENT_TRIGGER, state);
     }
 
-    boolean setDeviceNotDozingConstraintSatisfied(boolean state) {
+    boolean setDeviceNotDozingConstraintSatisfied(boolean state, boolean whitelisted) {
+        dozeWhitelisted = whitelisted;
         return setConstraintSatisfied(CONSTRAINT_DEVICE_NOT_DOZING, state);
     }
 
@@ -651,6 +655,9 @@
             pw.print(prefix); pw.print("Unsatisfied constraints:");
             dumpConstraints(pw, (requiredConstraints & ~satisfiedConstraints));
             pw.println();
+            if (dozeWhitelisted) {
+                pw.print(prefix); pw.println("Doze whitelisted: true");
+            }
         }
         if (changedAuthorities != null) {
             pw.print(prefix); pw.println("Changed authorities:");
diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java
index 6b916be..173f76f 100644
--- a/services/core/java/com/android/server/location/GnssLocationProvider.java
+++ b/services/core/java/com/android/server/location/GnssLocationProvider.java
@@ -899,6 +899,7 @@
 
         // hold wake lock while task runs
         mWakeLock.acquire();
+        Log.i(TAG, "WakeLock acquired by handleInjectNtpTime()");
         AsyncTask.THREAD_POOL_EXECUTOR.execute(new Runnable() {
             @Override
             public void run() {
@@ -951,6 +952,7 @@
 
                 // release wake lock held by task
                 mWakeLock.release();
+                Log.i(TAG, "WakeLock released by handleInjectNtpTime()");
             }
         });
     }
@@ -969,6 +971,7 @@
 
         // hold wake lock while task runs
         mWakeLock.acquire();
+        Log.i(TAG, "WakeLock acquired by handleDownloadXtraData()");
         AsyncTask.THREAD_POOL_EXECUTOR.execute(new Runnable() {
             @Override
             public void run() {
@@ -991,6 +994,7 @@
 
                 // release wake lock held by task
                 mWakeLock.release();
+                Log.i(TAG, "WakeLock released by handleDownloadXtraData()");
             }
         });
     }
@@ -1192,7 +1196,7 @@
         }
 
         if (DEBUG) Log.d(TAG, "setRequest " + mProviderRequest);
-        if (mProviderRequest.reportLocation && !mDisableGps) {
+        if (mProviderRequest.reportLocation && !mDisableGps && isEnabled()) {
             // update client uids
             updateClientUids(mWorkSource);
 
@@ -2040,6 +2044,7 @@
         // note that this assumes the message will not be removed from the queue before
         // it is handled (otherwise the wake lock would be leaked).
         mWakeLock.acquire();
+        Log.i(TAG, "WakeLock acquired by sendMessage(" + message + ", " + arg + ", " + obj + ")");
         mHandler.obtainMessage(message, arg, 1, obj).sendToTarget();
     }
 
@@ -2099,6 +2104,8 @@
             if (msg.arg2 == 1) {
                 // wakelock was taken for this message, release it
                 mWakeLock.release();
+                Log.i(TAG, "WakeLock released by handleMessage(" + message + ", " + msg.arg1 + ", "
+                        + msg.obj + ")");
             }
         }
 
diff --git a/services/core/java/com/android/server/media/MediaResourceMonitorService.java b/services/core/java/com/android/server/media/MediaResourceMonitorService.java
index e169d63..0eb8b55 100644
--- a/services/core/java/com/android/server/media/MediaResourceMonitorService.java
+++ b/services/core/java/com/android/server/media/MediaResourceMonitorService.java
@@ -24,6 +24,7 @@
 import android.os.Binder;
 import android.os.RemoteException;
 import android.os.UserHandle;
+import android.os.UserManager;
 import android.util.Log;
 import android.util.Slog;
 import com.android.server.SystemService;
@@ -59,12 +60,20 @@
             final long identity = Binder.clearCallingIdentity();
             try {
                 String pkgNames[] = getPackageNamesFromPid(pid);
-                if (pkgNames != null) {
-                    Intent intent = new Intent(Intent.ACTION_MEDIA_RESOURCE_GRANTED);
-                    intent.putExtra(Intent.EXTRA_PACKAGES, pkgNames);
-                    intent.putExtra(Intent.EXTRA_MEDIA_RESOURCE_TYPE, type);
-                    getContext().sendBroadcastAsUser(intent,
-                            new UserHandle(ActivityManager.getCurrentUser()),
+                if (pkgNames == null) {
+                    return;
+                }
+                UserManager manager = (UserManager) getContext().getSystemService(
+                        Context.USER_SERVICE);
+                int[] userIds = manager.getEnabledProfileIds(ActivityManager.getCurrentUser());
+                if (userIds == null || userIds.length == 0) {
+                    return;
+                }
+                Intent intent = new Intent(Intent.ACTION_MEDIA_RESOURCE_GRANTED);
+                intent.putExtra(Intent.EXTRA_PACKAGES, pkgNames);
+                intent.putExtra(Intent.EXTRA_MEDIA_RESOURCE_TYPE, type);
+                for (int userId : userIds) {
+                    getContext().sendBroadcastAsUser(intent, UserHandle.of(userId),
                             android.Manifest.permission.RECEIVE_MEDIA_RESOURCE_USAGE);
                 }
             } finally {
diff --git a/services/core/java/com/android/server/media/MediaSessionStack.java b/services/core/java/com/android/server/media/MediaSessionStack.java
index 61c320b..cc007ef 100644
--- a/services/core/java/com/android/server/media/MediaSessionStack.java
+++ b/services/core/java/com/android/server/media/MediaSessionStack.java
@@ -81,7 +81,7 @@
                             ActivityManager.RECENT_IGNORE_HOME_STACK_TASKS |
                             ActivityManager.RECENT_IGNORE_UNAVAILABLE |
                             ActivityManager.RECENT_INCLUDE_PROFILES |
-                            ActivityManager.RECENT_WITH_EXCLUDED, record.getUserId());
+                            ActivityManager.RECENT_WITH_EXCLUDED, record.getUserId()).getList();
             if (tasks != null && !tasks.isEmpty()) {
                 ActivityManager.RecentTaskInfo recentTask = tasks.get(0);
                 if (recentTask.baseIntent != null)
diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
index 67cd7c3..f15fdd5 100644
--- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
+++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
@@ -89,6 +89,7 @@
 import static org.xmlpull.v1.XmlPullParser.START_TAG;
 
 import android.Manifest;
+import android.annotation.IntDef;
 import android.app.ActivityManager;
 import android.app.AppGlobals;
 import android.app.AppOpsManager;
@@ -162,6 +163,7 @@
 import android.util.Xml;
 
 import com.android.internal.R;
+import com.android.internal.annotations.GuardedBy;
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.content.PackageMonitor;
 import com.android.internal.util.ArrayUtils;
@@ -187,6 +189,8 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -199,6 +203,26 @@
  * Derives active rules by combining a given policy with other system status,
  * and delivers to listeners, such as {@link ConnectivityManager}, for
  * enforcement.
+ *
+ * <p>
+ * This class uses 2-3 locks to synchronize state:
+ * <ul>
+ * <li>{@code mUidRulesFirstLock}: used to guard state related to individual UIDs (such as firewall
+ * rules).
+ * <li>{@code mNetworkPoliciesSecondLock}: used to guard state related to network interfaces (such
+ * as network policies).
+ * <li>{@code allLocks}: not a "real" lock, but an indication (through @GuardedBy) that all locks
+ * must be held.
+ * </ul>
+ *
+ * <p>
+ * As such, methods that require synchronization have the following prefixes:
+ * <ul>
+ * <li>{@code UL()}: require the "UID" lock ({@code mUidRulesFirstLock}).
+ * <li>{@code NL()}: require the "Network" lock ({@code mNetworkPoliciesSecondLock}).
+ * <li>{@code AL()}: require all locks, which must be obtained in order ({@code mUidRulesFirstLock}
+ * first, then {@code mNetworkPoliciesSecondLock}, then {@code mYetAnotherGuardThirdLock}, etc..
+ * </ul>
  */
 public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
     static final String TAG = "NetworkPolicy";
@@ -282,13 +306,16 @@
     private PowerManagerInternal mPowerManagerInternal;
     private IDeviceIdleController mDeviceIdleController;
 
-    final Object mRulesLock = new Object();
+    // See main javadoc for instructions on how to use these locks.
+    final Object mUidRulesFirstLock = new Object();
+    final Object mNetworkPoliciesSecondLock = new Object();
 
-    volatile boolean mSystemReady;
-    volatile boolean mScreenOn;
-    volatile boolean mRestrictBackground;
-    volatile boolean mRestrictPower;
-    volatile boolean mDeviceIdleMode;
+    @GuardedBy("allLocks") volatile boolean mSystemReady;
+
+    @GuardedBy("mUidRulesFirstLock") volatile boolean mScreenOn;
+    @GuardedBy("mUidRulesFirstLock") volatile boolean mRestrictBackground;
+    @GuardedBy("mUidRulesFirstLock") volatile boolean mRestrictPower;
+    @GuardedBy("mUidRulesFirstLock") volatile boolean mDeviceIdleMode;
 
     private final boolean mSuppressDefaultPolicy;
 
@@ -298,15 +325,19 @@
     final ArrayMap<NetworkPolicy, String[]> mNetworkRules = new ArrayMap<>();
 
     /** Defined UID policies. */
-    final SparseIntArray mUidPolicy = new SparseIntArray();
+    @GuardedBy("mUidRulesFirstLock") final SparseIntArray mUidPolicy = new SparseIntArray();
     /** Currently derived rules for each UID. */
-    final SparseIntArray mUidRules = new SparseIntArray();
+    @GuardedBy("mUidRulesFirstLock") final SparseIntArray mUidRules = new SparseIntArray();
 
+    @GuardedBy("mUidRulesFirstLock")
     final SparseIntArray mUidFirewallStandbyRules = new SparseIntArray();
+    @GuardedBy("mUidRulesFirstLock")
     final SparseIntArray mUidFirewallDozableRules = new SparseIntArray();
+    @GuardedBy("mUidRulesFirstLock")
     final SparseIntArray mUidFirewallPowerSaveRules = new SparseIntArray();
 
     /** Set of states for the child firewall chains. True if the chain is active. */
+    @GuardedBy("mUidRulesFirstLock")
     final SparseBooleanArray mFirewallChainStates = new SparseBooleanArray();
 
     /**
@@ -314,6 +345,7 @@
      * in power save mode, except device idle (doze) still applies.
      * TODO: An int array might be sufficient
      */
+    @GuardedBy("mUidRulesFirstLock")
     private final SparseBooleanArray mPowerSaveWhitelistExceptIdleAppIds = new SparseBooleanArray();
 
     /**
@@ -321,18 +353,22 @@
      * in power save mode.
      * TODO: An int array might be sufficient
      */
+    @GuardedBy("mUidRulesFirstLock")
     private final SparseBooleanArray mPowerSaveWhitelistAppIds = new SparseBooleanArray();
 
+    @GuardedBy("mUidRulesFirstLock")
     private final SparseBooleanArray mPowerSaveTempWhitelistAppIds = new SparseBooleanArray();
 
     /**
      * UIDs that have been white-listed to avoid restricted background.
      */
+    @GuardedBy("mUidRulesFirstLock")
     private final SparseBooleanArray mRestrictBackgroundWhitelistUids = new SparseBooleanArray();
 
     /**
      * UIDs that have been initially white-listed by system to avoid restricted background.
      */
+    @GuardedBy("mUidRulesFirstLock")
     private final SparseBooleanArray mDefaultRestrictBackgroundWhitelistUids =
             new SparseBooleanArray();
 
@@ -340,18 +376,23 @@
      * UIDs that have been initially white-listed by system to avoid restricted background,
      * but later revoked by user.
      */
+    @GuardedBy("mUidRulesFirstLock")
     private final SparseBooleanArray mRestrictBackgroundWhitelistRevokedUids =
             new SparseBooleanArray();
 
     /** Set of ifaces that are metered. */
+    @GuardedBy("mNetworkPoliciesSecondLock")
     private ArraySet<String> mMeteredIfaces = new ArraySet<>();
     /** Set of over-limit templates that have been notified. */
+    @GuardedBy("mNetworkPoliciesSecondLock")
     private final ArraySet<NetworkTemplate> mOverLimitNotified = new ArraySet<>();
 
     /** Set of currently active {@link Notification} tags. */
+    @GuardedBy("mNetworkPoliciesSecondLock")
     private final ArraySet<String> mActiveNotifs = new ArraySet<String>();
 
     /** Foreground at UID granularity. */
+    @GuardedBy("mUidRulesFirstLock")
     final SparseIntArray mUidState = new SparseIntArray();
 
     /** Higher priority listener before general event dispatch */
@@ -362,6 +403,7 @@
 
     final Handler mHandler;
 
+    @GuardedBy("allLocks")
     private final AtomicFile mPolicyFile;
 
     private final AppOpsManager mAppOps;
@@ -426,7 +468,7 @@
         mNotifManager = checkNotNull(notifManager, "missing INotificationManager");
     }
 
-    void updatePowerSaveWhitelistLocked() {
+    void updatePowerSaveWhitelistUL() {
         try {
             int[] whitelist = mDeviceIdleController.getAppIdWhitelistExceptIdle();
             mPowerSaveWhitelistExceptIdleAppIds.clear();
@@ -452,19 +494,19 @@
      *
      * @return whether any uid has been added to {@link #mRestrictBackgroundWhitelistUids}.
      */
-    boolean addDefaultRestrictBackgroundWhitelistUidsLocked() {
+    boolean addDefaultRestrictBackgroundWhitelistUidsUL() {
         final List<UserInfo> users = mUserManager.getUsers();
         final int numberUsers = users.size();
 
         boolean changed = false;
         for (int i = 0; i < numberUsers; i++) {
             final UserInfo user = users.get(i);
-            changed = addDefaultRestrictBackgroundWhitelistUidsLocked(user.id) || changed;
+            changed = addDefaultRestrictBackgroundWhitelistUidsUL(user.id) || changed;
         }
         return changed;
     }
 
-    private boolean addDefaultRestrictBackgroundWhitelistUidsLocked(int userId) {
+    private boolean addDefaultRestrictBackgroundWhitelistUidsUL(int userId) {
         final SystemConfig sysConfig = SystemConfig.getInstance();
         final PackageManager pm = mContext.getPackageManager();
         final ArraySet<String> allowDataUsage = sysConfig.getAllowInDataUsageSave();
@@ -502,7 +544,7 @@
         return changed;
     }
 
-    void updatePowerSaveTempWhitelistLocked() {
+    void updatePowerSaveTempWhitelistUL() {
         try {
             // Clear the states of the current whitelist
             final int N = mPowerSaveTempWhitelistAppIds.size();
@@ -523,7 +565,7 @@
     /**
      * Remove unnecessary entries in the temp whitelist
      */
-    void purgePowerSaveTempWhitelistLocked() {
+    void purgePowerSaveTempWhitelistUL() {
         final int N = mPowerSaveTempWhitelistAppIds.size();
         for (int i = N - 1; i >= 0; i--) {
             if (mPowerSaveTempWhitelistAppIds.valueAt(i) == false) {
@@ -542,36 +584,38 @@
 
         mPackageMonitor.register(mContext, mHandler.getLooper(), UserHandle.ALL, true);
 
-        synchronized (mRulesLock) {
-            updatePowerSaveWhitelistLocked();
-            mPowerManagerInternal = LocalServices.getService(PowerManagerInternal.class);
-            mPowerManagerInternal.registerLowPowerModeObserver(
-                    new PowerManagerInternal.LowPowerModeListener() {
-                @Override
-                public void onLowPowerModeChanged(boolean enabled) {
-                    if (LOGD) Slog.d(TAG, "onLowPowerModeChanged(" + enabled + ")");
-                    synchronized (mRulesLock) {
-                        if (mRestrictPower != enabled) {
-                            mRestrictPower = enabled;
-                            updateRulesForRestrictPowerLocked();
-                            updateRulesForGlobalChangeLocked(true);
+        synchronized (mUidRulesFirstLock) {
+            synchronized (mNetworkPoliciesSecondLock) {
+                updatePowerSaveWhitelistUL();
+                mPowerManagerInternal = LocalServices.getService(PowerManagerInternal.class);
+                mPowerManagerInternal.registerLowPowerModeObserver(
+                        new PowerManagerInternal.LowPowerModeListener() {
+                    @Override
+                    public void onLowPowerModeChanged(boolean enabled) {
+                        if (LOGD) Slog.d(TAG, "onLowPowerModeChanged(" + enabled + ")");
+                        synchronized (mUidRulesFirstLock) {
+                            if (mRestrictPower != enabled) {
+                                mRestrictPower = enabled;
+                                updateRulesForRestrictPowerUL();
+                            }
                         }
                     }
+                });
+                mRestrictPower = mPowerManagerInternal.getLowPowerModeEnabled();
+
+                mSystemReady = true;
+
+                // read policy from disk
+                readPolicyAL();
+
+                if (addDefaultRestrictBackgroundWhitelistUidsUL()) {
+                    writePolicyAL();
                 }
-            });
-            mRestrictPower = mPowerManagerInternal.getLowPowerModeEnabled();
 
-            mSystemReady = true;
-
-            // read policy from disk
-            readPolicyLocked();
-
-            if (addDefaultRestrictBackgroundWhitelistUidsLocked()) {
-                writePolicyLocked();
+                setRestrictBackgroundUL(mRestrictBackground);
+                updateRulesForGlobalChangeAL(false);
+                updateNotificationsNL();
             }
-
-            updateRulesForGlobalChangeLocked(false);
-            updateNotificationsLocked();
         }
 
         updateScreenOn();
@@ -650,14 +694,14 @@
 
     final private IUidObserver mUidObserver = new IUidObserver.Stub() {
         @Override public void onUidStateChanged(int uid, int procState) throws RemoteException {
-            synchronized (mRulesLock) {
-                updateUidStateLocked(uid, procState);
+            synchronized (mUidRulesFirstLock) {
+                updateUidStateUL(uid, procState);
             }
         }
 
         @Override public void onUidGone(int uid) throws RemoteException {
-            synchronized (mRulesLock) {
-                removeUidStateLocked(uid);
+            synchronized (mUidRulesFirstLock) {
+                removeUidStateUL(uid);
             }
         }
 
@@ -672,9 +716,9 @@
         @Override
         public void onReceive(Context context, Intent intent) {
             // on background handler thread, and POWER_SAVE_WHITELIST_CHANGED is protected
-            synchronized (mRulesLock) {
-                updatePowerSaveWhitelistLocked();
-                updateRulesForGlobalChangeLocked(false);
+            synchronized (mUidRulesFirstLock) {
+                updatePowerSaveWhitelistUL();
+                updateRulesForRestrictPowerUL();
             }
         }
     };
@@ -682,10 +726,10 @@
     final private Runnable mTempPowerSaveChangedCallback = new Runnable() {
         @Override
         public void run() {
-            synchronized (mRulesLock) {
-                updatePowerSaveTempWhitelistLocked();
-                updateRulesForTempWhitelistChangeLocked();
-                purgePowerSaveTempWhitelistLocked();
+            synchronized (mUidRulesFirstLock) {
+                updatePowerSaveTempWhitelistUL();
+                updateRulesForTempWhitelistChangeUL();
+                purgePowerSaveTempWhitelistUL();
             }
         }
     };
@@ -712,8 +756,8 @@
                 // update rules for UID, since it might be subject to
                 // global background data policy
                 if (LOGV) Slog.v(TAG, "ACTION_PACKAGE_ADDED for uid=" + uid);
-                synchronized (mRulesLock) {
-                    updateRestrictionRulesForUidLocked(uid);
+                synchronized (mUidRulesFirstLock) {
+                    updateRestrictionRulesForUidUL(uid);
                 }
             }
         }
@@ -729,10 +773,12 @@
 
             // remove any policy and update rules to clean up
             if (LOGV) Slog.v(TAG, "ACTION_UID_REMOVED for uid=" + uid);
-            synchronized (mRulesLock) {
+            synchronized (mUidRulesFirstLock) {
                 mUidPolicy.delete(uid);
-                updateRestrictionRulesForUidLocked(uid);
-                writePolicyLocked();
+                updateRestrictionRulesForUidUL(uid);
+                synchronized (mNetworkPoliciesSecondLock) {
+                    writePolicyAL();
+                }
             }
         }
     };
@@ -750,16 +796,18 @@
             switch (action) {
                 case ACTION_USER_REMOVED:
                 case ACTION_USER_ADDED:
-                    synchronized (mRulesLock) {
+                    synchronized (mUidRulesFirstLock) {
                         // Remove any persistable state for the given user; both cleaning up after a
                         // USER_REMOVED, and one last sanity check during USER_ADDED
-                        removeUserStateLocked(userId, true);
+                        removeUserStateUL(userId, true);
                         if (action == ACTION_USER_ADDED) {
                             // Add apps that are whitelisted by default.
-                            addDefaultRestrictBackgroundWhitelistUidsLocked(userId);
+                            addDefaultRestrictBackgroundWhitelistUidsUL(userId);
                         }
                         // Update global restrict for that user
-                        updateRulesForGlobalChangeLocked(true);
+                        synchronized (mNetworkPoliciesSecondLock) {
+                            updateRulesForGlobalChangeAL(true);
+                        }
                     }
                     break;
             }
@@ -777,9 +825,9 @@
             // READ_NETWORK_USAGE_HISTORY permission above.
 
             maybeRefreshTrustedTime();
-            synchronized (mRulesLock) {
-                updateNetworkEnabledLocked();
-                updateNotificationsLocked();
+            synchronized (mNetworkPoliciesSecondLock) {
+                updateNetworkEnabledNL();
+                updateNotificationsNL();
             }
         }
     };
@@ -828,10 +876,12 @@
                         EXTRA_WIFI_CONFIGURATION);
                 if (config.SSID != null) {
                     final NetworkTemplate template = NetworkTemplate.buildTemplateWifi(config.SSID);
-                    synchronized (mRulesLock) {
-                        if (mNetworkPolicy.containsKey(template)) {
-                            mNetworkPolicy.remove(template);
-                            writePolicyLocked();
+                    synchronized (mUidRulesFirstLock) {
+                        synchronized (mNetworkPoliciesSecondLock) {
+                            if (mNetworkPolicy.containsKey(template)) {
+                                mNetworkPolicy.remove(template);
+                                writePolicyAL();
+                            }
                         }
                     }
                 }
@@ -857,13 +907,13 @@
             final boolean meteredHint = info.getMeteredHint();
 
             final NetworkTemplate template = NetworkTemplate.buildTemplateWifi(info.getSSID());
-            synchronized (mRulesLock) {
+            synchronized (mNetworkPoliciesSecondLock) {
                 NetworkPolicy policy = mNetworkPolicy.get(template);
                 if (policy == null && meteredHint) {
                     // policy doesn't exist, and AP is hinting that it's
                     // metered: create an inferred policy.
                     policy = newWifiPolicy(template, meteredHint);
-                    addNetworkPolicyLocked(policy);
+                    addNetworkPolicyNL(policy);
 
                 } else if (policy != null && policy.inferred) {
                     // policy exists, and was inferred: update its current
@@ -872,7 +922,7 @@
 
                     // since this is inferred for each wifi session, just update
                     // rules without persisting.
-                    updateNetworkRulesLocked();
+                    updateNetworkRulesNL();
                 }
             }
         }
@@ -904,8 +954,8 @@
      * Check {@link NetworkPolicy} against current {@link INetworkStatsService}
      * to show visible notifications as needed.
      */
-    void updateNotificationsLocked() {
-        if (LOGV) Slog.v(TAG, "updateNotificationsLocked()");
+    void updateNotificationsNL() {
+        if (LOGV) Slog.v(TAG, "updateNotificationsNL()");
 
         // keep track of previously active notifications
         final ArraySet<String> beforeNotifs = new ArraySet<String>(mActiveNotifs);
@@ -931,11 +981,11 @@
                     enqueueNotification(policy, TYPE_LIMIT_SNOOZED, totalBytes);
                 } else {
                     enqueueNotification(policy, TYPE_LIMIT, totalBytes);
-                    notifyOverLimitLocked(policy.template);
+                    notifyOverLimitNL(policy.template);
                 }
 
             } else {
-                notifyUnderLimitLocked(policy.template);
+                notifyUnderLimitNL(policy.template);
 
                 if (policy.isOverWarning(totalBytes) && policy.lastWarningSnooze < start) {
                     enqueueNotification(policy, TYPE_WARNING, totalBytes);
@@ -983,14 +1033,14 @@
      * Notify that given {@link NetworkTemplate} is over
      * {@link NetworkPolicy#limitBytes}, potentially showing dialog to user.
      */
-    private void notifyOverLimitLocked(NetworkTemplate template) {
+    private void notifyOverLimitNL(NetworkTemplate template) {
         if (!mOverLimitNotified.contains(template)) {
             mContext.startActivity(buildNetworkOverLimitIntent(template));
             mOverLimitNotified.add(template);
         }
     }
 
-    private void notifyUnderLimitLocked(NetworkTemplate template) {
+    private void notifyUnderLimitNL(NetworkTemplate template) {
         mOverLimitNotified.remove(template);
     }
 
@@ -1142,12 +1192,12 @@
             // permission above.
 
             maybeRefreshTrustedTime();
-            synchronized (mRulesLock) {
-                ensureActiveMobilePolicyLocked();
-                normalizePoliciesLocked();
-                updateNetworkEnabledLocked();
-                updateNetworkRulesLocked();
-                updateNotificationsLocked();
+            synchronized (mNetworkPoliciesSecondLock) {
+                ensureActiveMobilePolicyNL();
+                normalizePoliciesNL();
+                updateNetworkEnabledNL();
+                updateNetworkRulesNL();
+                updateNotificationsNL();
             }
         }
     };
@@ -1156,8 +1206,8 @@
      * Proactively control network data connections when they exceed
      * {@link NetworkPolicy#limitBytes}.
      */
-    void updateNetworkEnabledLocked() {
-        if (LOGV) Slog.v(TAG, "updateNetworkEnabledLocked()");
+    void updateNetworkEnabledNL() {
+        if (LOGV) Slog.v(TAG, "updateNetworkEnabledNL()");
 
         // TODO: reset any policy-disabled networks when any policy is removed
         // completely, which is currently rare case.
@@ -1198,8 +1248,8 @@
      * {@link NetworkPolicy} that need to be enforced. When matches found, set
      * remaining quota based on usage cycle and historical stats.
      */
-    void updateNetworkRulesLocked() {
-        if (LOGV) Slog.v(TAG, "updateNetworkRulesLocked()");
+    void updateNetworkRulesNL() {
+        if (LOGV) Slog.v(TAG, "updateNetworkRulesNL()");
 
         final NetworkState[] states;
         try {
@@ -1349,8 +1399,8 @@
      * Once any {@link #mNetworkPolicy} are loaded from disk, ensure that we
      * have at least a default mobile policy defined.
      */
-    private void ensureActiveMobilePolicyLocked() {
-        if (LOGV) Slog.v(TAG, "ensureActiveMobilePolicyLocked()");
+    private void ensureActiveMobilePolicyNL() {
+        if (LOGV) Slog.v(TAG, "ensureActiveMobilePolicyNL()");
         if (mSuppressDefaultPolicy) return;
 
         final TelephonyManager tele = TelephonyManager.from(mContext);
@@ -1359,11 +1409,11 @@
         final int[] subIds = sub.getActiveSubscriptionIdList();
         for (int subId : subIds) {
             final String subscriberId = tele.getSubscriberId(subId);
-            ensureActiveMobilePolicyLocked(subscriberId);
+            ensureActiveMobilePolicyNL(subscriberId);
         }
     }
 
-    private void ensureActiveMobilePolicyLocked(String subscriberId) {
+    private void ensureActiveMobilePolicyNL(String subscriberId) {
         // Poke around to see if we already have a policy
         final NetworkIdentity probeIdent = new NetworkIdentity(TYPE_MOBILE,
                 TelephonyManager.NETWORK_TYPE_UNKNOWN, subscriberId, null, false, true);
@@ -1394,11 +1444,11 @@
         final NetworkTemplate template = buildTemplateMobileAll(subscriberId);
         final NetworkPolicy policy = new NetworkPolicy(template, cycleDay, cycleTimezone,
                 warningBytes, LIMIT_DISABLED, SNOOZE_NEVER, SNOOZE_NEVER, true, true);
-        addNetworkPolicyLocked(policy);
+        addNetworkPolicyNL(policy);
     }
 
-    private void readPolicyLocked() {
-        if (LOGV) Slog.v(TAG, "readPolicyLocked()");
+    private void readPolicyAL() {
+        if (LOGV) Slog.v(TAG, "readPolicyAL()");
 
         // clear any existing policy and read from disk
         mNetworkPolicy.clear();
@@ -1498,7 +1548,7 @@
                         final int policy = readIntAttribute(in, ATTR_POLICY);
 
                         if (UserHandle.isApp(uid)) {
-                            setUidPolicyUncheckedLocked(uid, policy, false);
+                            setUidPolicyUncheckedUL(uid, policy, false);
                         } else {
                             Slog.w(TAG, "unable to apply policy to UID " + uid + "; ignoring");
                         }
@@ -1510,7 +1560,7 @@
                         // app policy is deprecated so this is only used in pre system user split.
                         final int uid = UserHandle.getUid(UserHandle.USER_SYSTEM, appId);
                         if (UserHandle.isApp(uid)) {
-                            setUidPolicyUncheckedLocked(uid, policy, false);
+                            setUidPolicyUncheckedUL(uid, policy, false);
                         } else {
                             Slog.w(TAG, "unable to apply policy to UID " + uid + "; ignoring");
                         }
@@ -1533,7 +1583,7 @@
 
         } catch (FileNotFoundException e) {
             // missing policy is okay, probably first boot
-            upgradeLegacyBackgroundData();
+            upgradeLegacyBackgroundDataUL();
         } catch (IOException e) {
             Log.wtf(TAG, "problem reading network policy", e);
         } catch (XmlPullParserException e) {
@@ -1547,7 +1597,7 @@
      * Upgrade legacy background data flags, notifying listeners of one last
      * change to always-true.
      */
-    private void upgradeLegacyBackgroundData() {
+    private void upgradeLegacyBackgroundDataUL() {
         mRestrictBackground = Settings.Secure.getInt(
                 mContext.getContentResolver(), Settings.Secure.BACKGROUND_DATA, 1) != 1;
 
@@ -1559,8 +1609,8 @@
         }
     }
 
-    void writePolicyLocked() {
-        if (LOGV) Slog.v(TAG, "writePolicyLocked()");
+    void writePolicyAL() {
+        if (LOGV) Slog.v(TAG, "writePolicyAL()");
 
         FileOutputStream fos = null;
         try {
@@ -1657,13 +1707,12 @@
         if (!UserHandle.isApp(uid)) {
             throw new IllegalArgumentException("cannot apply policy to UID " + uid);
         }
-
-        synchronized (mRulesLock) {
+        synchronized (mUidRulesFirstLock) {
             final long token = Binder.clearCallingIdentity();
             try {
                 final int oldPolicy = mUidPolicy.get(uid, POLICY_NONE);
                 if (oldPolicy != policy) {
-                    setUidPolicyUncheckedLocked(uid, oldPolicy, policy, true);
+                    setUidPolicyUncheckedUL(uid, oldPolicy, policy, true);
                 }
             } finally {
                 Binder.restoreCallingIdentity(token);
@@ -1679,11 +1728,11 @@
             throw new IllegalArgumentException("cannot apply policy to UID " + uid);
         }
 
-        synchronized (mRulesLock) {
+        synchronized (mUidRulesFirstLock) {
             final int oldPolicy = mUidPolicy.get(uid, POLICY_NONE);
             policy |= oldPolicy;
             if (oldPolicy != policy) {
-                setUidPolicyUncheckedLocked(uid, oldPolicy, policy, true);
+                setUidPolicyUncheckedUL(uid, oldPolicy, policy, true);
             }
         }
     }
@@ -1696,17 +1745,17 @@
             throw new IllegalArgumentException("cannot apply policy to UID " + uid);
         }
 
-        synchronized (mRulesLock) {
+        synchronized (mUidRulesFirstLock) {
             final int oldPolicy = mUidPolicy.get(uid, POLICY_NONE);
             policy = oldPolicy & ~policy;
             if (oldPolicy != policy) {
-                setUidPolicyUncheckedLocked(uid, oldPolicy, policy, true);
+                setUidPolicyUncheckedUL(uid, oldPolicy, policy, true);
             }
         }
     }
 
-    private void setUidPolicyUncheckedLocked(int uid, int oldPolicy, int policy, boolean persist) {
-        setUidPolicyUncheckedLocked(uid, policy, persist);
+    private void setUidPolicyUncheckedUL(int uid, int oldPolicy, int policy, boolean persist) {
+        setUidPolicyUncheckedUL(uid, policy, persist);
 
         final boolean isBlacklisted = policy == POLICY_REJECT_METERED_BACKGROUND;
         mHandler.obtainMessage(MSG_RESTRICT_BACKGROUND_BLACKLIST_CHANGED, uid,
@@ -1721,13 +1770,15 @@
         }
     }
 
-    private void setUidPolicyUncheckedLocked(int uid, int policy, boolean persist) {
+    private void setUidPolicyUncheckedUL(int uid, int policy, boolean persist) {
         mUidPolicy.put(uid, policy);
 
         // uid policy changed, recompute rules and persist policy.
-        updateRulesForDataUsageRestrictionsLocked(uid);
+        updateRulesForDataUsageRestrictionsUL(uid);
         if (persist) {
-            writePolicyLocked();
+            synchronized (mNetworkPoliciesSecondLock) {
+                writePolicyAL();
+            }
         }
     }
 
@@ -1735,7 +1786,7 @@
     public int getUidPolicy(int uid) {
         mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG);
 
-        synchronized (mRulesLock) {
+        synchronized (mUidRulesFirstLock) {
             return mUidPolicy.get(uid, POLICY_NONE);
         }
     }
@@ -1745,7 +1796,7 @@
         mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG);
 
         int[] uids = new int[0];
-        synchronized (mRulesLock) {
+        synchronized (mUidRulesFirstLock) {
             for (int i = 0; i < mUidPolicy.size(); i++) {
                 final int uid = mUidPolicy.keyAt(i);
                 final int uidPolicy = mUidPolicy.valueAt(i);
@@ -1761,9 +1812,9 @@
      * Removes any persistable state associated with given {@link UserHandle}, persisting
      * if any changes that are made.
      */
-    boolean removeUserStateLocked(int userId, boolean writePolicy) {
+    boolean removeUserStateUL(int userId, boolean writePolicy) {
 
-        if (LOGV) Slog.v(TAG, "removeUserStateLocked()");
+        if (LOGV) Slog.v(TAG, "removeUserStateUL()");
         boolean changed = false;
 
         // Remove entries from restricted background UID whitelist
@@ -1777,7 +1828,7 @@
 
         if (wlUids.length > 0) {
             for (int uid : wlUids) {
-                removeRestrictBackgroundWhitelistedUidLocked(uid, false, false);
+                removeRestrictBackgroundWhitelistedUidUL(uid, false, false);
             }
             changed = true;
         }
@@ -1806,11 +1857,11 @@
             }
             changed = true;
         }
-
-        updateRulesForGlobalChangeLocked(true);
-
-        if (writePolicy && changed) {
-            writePolicyLocked();
+        synchronized (mNetworkPoliciesSecondLock) {
+            updateRulesForGlobalChangeAL(true);
+            if (writePolicy && changed) {
+                writePolicyAL();
+            }
         }
         return changed;
     }
@@ -1845,19 +1896,21 @@
         final long token = Binder.clearCallingIdentity();
         try {
             maybeRefreshTrustedTime();
-            synchronized (mRulesLock) {
-                normalizePoliciesLocked(policies);
-                updateNetworkEnabledLocked();
-                updateNetworkRulesLocked();
-                updateNotificationsLocked();
-                writePolicyLocked();
+            synchronized (mUidRulesFirstLock) {
+                synchronized (mNetworkPoliciesSecondLock) {
+                    normalizePoliciesNL(policies);
+                    updateNetworkEnabledNL();
+                    updateNetworkRulesNL();
+                    updateNotificationsNL();
+                    writePolicyAL();
+                }
             }
         } finally {
             Binder.restoreCallingIdentity(token);
         }
     }
 
-    void addNetworkPolicyLocked(NetworkPolicy policy) {
+    void addNetworkPolicyNL(NetworkPolicy policy) {
         NetworkPolicy[] policies = getNetworkPolicies(mContext.getOpPackageName());
         policies = ArrayUtils.appendElement(NetworkPolicy.class, policies, policy);
         setNetworkPolicies(policies);
@@ -1879,7 +1932,7 @@
             }
         }
 
-        synchronized (mRulesLock) {
+        synchronized (mNetworkPoliciesSecondLock) {
             final int size = mNetworkPolicy.size();
             final NetworkPolicy[] policies = new NetworkPolicy[size];
             for (int i = 0; i < size; i++) {
@@ -1889,11 +1942,11 @@
         }
     }
 
-    private void normalizePoliciesLocked() {
-        normalizePoliciesLocked(getNetworkPolicies(mContext.getOpPackageName()));
+    private void normalizePoliciesNL() {
+        normalizePoliciesNL(getNetworkPolicies(mContext.getOpPackageName()));
     }
 
-    private void normalizePoliciesLocked(NetworkPolicy[] policies) {
+    private void normalizePoliciesNL(NetworkPolicy[] policies) {
         final TelephonyManager tele = TelephonyManager.from(mContext);
         final String[] merged = tele.getMergedSubscriberIds();
 
@@ -1927,29 +1980,31 @@
     void performSnooze(NetworkTemplate template, int type) {
         maybeRefreshTrustedTime();
         final long currentTime = currentTimeMillis();
-        synchronized (mRulesLock) {
-            // find and snooze local policy that matches
-            final NetworkPolicy policy = mNetworkPolicy.get(template);
-            if (policy == null) {
-                throw new IllegalArgumentException("unable to find policy for " + template);
-            }
+        synchronized (mUidRulesFirstLock) {
+            synchronized (mNetworkPoliciesSecondLock) {
+                // find and snooze local policy that matches
+                final NetworkPolicy policy = mNetworkPolicy.get(template);
+                if (policy == null) {
+                    throw new IllegalArgumentException("unable to find policy for " + template);
+                }
 
-            switch (type) {
-                case TYPE_WARNING:
-                    policy.lastWarningSnooze = currentTime;
-                    break;
-                case TYPE_LIMIT:
-                    policy.lastLimitSnooze = currentTime;
-                    break;
-                default:
-                    throw new IllegalArgumentException("unexpected type");
-            }
+                switch (type) {
+                    case TYPE_WARNING:
+                        policy.lastWarningSnooze = currentTime;
+                        break;
+                    case TYPE_LIMIT:
+                        policy.lastLimitSnooze = currentTime;
+                        break;
+                    default:
+                        throw new IllegalArgumentException("unexpected type");
+                }
 
-            normalizePoliciesLocked();
-            updateNetworkEnabledLocked();
-            updateNetworkRulesLocked();
-            updateNotificationsLocked();
-            writePolicyLocked();
+                normalizePoliciesNL();
+                updateNetworkEnabledNL();
+                updateNetworkRulesNL();
+                updateNotificationsNL();
+                writePolicyAL();
+            }
         }
     }
 
@@ -1957,7 +2012,7 @@
     public void onTetheringChanged(String iface, boolean tethering) {
         // No need to enforce permission because setRestrictBackground() will do it.
         if (LOGD) Log.d(TAG, "onTetherStateChanged(" + iface + ", " + tethering + ")");
-        synchronized (mRulesLock) {
+        synchronized (mUidRulesFirstLock) {
             if (mRestrictBackground && tethering) {
                 Log.d(TAG, "Tethering on (" + iface +"); disable Data Saver");
                 setRestrictBackground(false);
@@ -1971,13 +2026,13 @@
         final long token = Binder.clearCallingIdentity();
         try {
             maybeRefreshTrustedTime();
-            synchronized (mRulesLock) {
+            synchronized (mUidRulesFirstLock) {
                 if (restrictBackground == mRestrictBackground) {
                     // Ideally, UI should never allow this scenario...
                     Slog.w(TAG, "setRestrictBackground: already " + restrictBackground);
                     return;
                 }
-                setRestrictBackgroundLocked(restrictBackground);
+                setRestrictBackgroundUL(restrictBackground);
             }
 
         } finally {
@@ -1988,26 +2043,29 @@
                 .sendToTarget();
     }
 
-    private void setRestrictBackgroundLocked(boolean restrictBackground) {
+    private void setRestrictBackgroundUL(boolean restrictBackground) {
+        Slog.d(TAG, "setRestrictBackgroundUL(): " + restrictBackground);
         final boolean oldRestrictBackground = mRestrictBackground;
         mRestrictBackground = restrictBackground;
         // Must whitelist foreground apps before turning data saver mode on.
         // TODO: there is no need to iterate through all apps here, just those in the foreground,
         // so it could call AM to get the UIDs of such apps, and iterate through them instead.
-        updateRulesForRestrictBackgroundLocked();
+        updateRulesForAllAppsUL(TYPE_RESTRICT_BACKGROUND);
         try {
             if (!mNetworkManager.setDataSaverModeEnabled(mRestrictBackground)) {
                 Slog.e(TAG, "Could not change Data Saver Mode on NMS to " + mRestrictBackground);
                 mRestrictBackground = oldRestrictBackground;
                 // TODO: if it knew the foreground apps (see TODO above), it could call
-                // updateRulesForRestrictBackgroundLocked() again to restore state.
+                // updateRulesForRestrictBackgroundUL() again to restore state.
                 return;
             }
         } catch (RemoteException e) {
             // ignored; service lives in system_server
         }
-        updateNotificationsLocked();
-        writePolicyLocked();
+        synchronized (mNetworkPoliciesSecondLock) {
+            updateNotificationsNL();
+            writePolicyAL();
+        }
     }
 
     @Override
@@ -2015,7 +2073,8 @@
         mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG);
         final boolean oldStatus;
         final boolean needFirewallRules;
-        synchronized (mRulesLock) {
+        int changed;
+        synchronized (mUidRulesFirstLock) {
             oldStatus = mRestrictBackgroundWhitelistUids.get(uid);
             if (oldStatus) {
                 if (LOGD) Slog.d(TAG, "uid " + uid + " is already whitelisted");
@@ -2032,12 +2091,14 @@
             }
             if (needFirewallRules) {
                 // Only update firewall rules if necessary...
-                updateRulesForDataUsageRestrictionsLocked(uid);
+                updateRulesForDataUsageRestrictionsUL(uid);
             }
             // ...but always persists the whitelist request.
-            writePolicyLocked();
+            synchronized (mNetworkPoliciesSecondLock) {
+                writePolicyAL();
+            }
+            changed = (mRestrictBackground && !oldStatus && needFirewallRules) ? 1 : 0;
         }
-        int changed = (mRestrictBackground && !oldStatus && needFirewallRules) ? 1 : 0;
         mHandler.obtainMessage(MSG_RESTRICT_BACKGROUND_WHITELIST_CHANGED, uid, changed,
                 Boolean.TRUE).sendToTarget();
     }
@@ -2046,8 +2107,8 @@
     public void removeRestrictBackgroundWhitelistedUid(int uid) {
         mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG);
         final boolean changed;
-        synchronized (mRulesLock) {
-            changed = removeRestrictBackgroundWhitelistedUidLocked(uid, false, true);
+        synchronized (mUidRulesFirstLock) {
+            changed = removeRestrictBackgroundWhitelistedUidUL(uid, false, true);
         }
         mHandler.obtainMessage(MSG_RESTRICT_BACKGROUND_WHITELIST_CHANGED, uid, changed ? 1 : 0,
                 Boolean.FALSE).sendToTarget();
@@ -2057,7 +2118,7 @@
      * Removes a uid from the restricted background whitelist, returning whether its current
      * {@link ConnectivityManager.RestrictBackgroundStatus} changed.
      */
-    private boolean removeRestrictBackgroundWhitelistedUidLocked(int uid, boolean uidDeleted,
+    private boolean removeRestrictBackgroundWhitelistedUidUL(int uid, boolean uidDeleted,
             boolean updateNow) {
         final boolean oldStatus = mRestrictBackgroundWhitelistUids.get(uid);
         if (!oldStatus && !uidDeleted) {
@@ -2077,11 +2138,13 @@
         }
         if (needFirewallRules) {
             // Only update firewall rules if necessary...
-            updateRulesForDataUsageRestrictionsLocked(uid, uidDeleted);
+            updateRulesForDataUsageRestrictionsUL(uid, uidDeleted);
         }
         if (updateNow) {
             // ...but always persists the whitelist request.
-            writePolicyLocked();
+            synchronized (mNetworkPoliciesSecondLock) {
+                writePolicyAL();
+            }
         }
         // Status only changes if Data Saver is turned on (otherwise it is DISABLED, even if the
         // app was whitelisted before).
@@ -2091,7 +2154,7 @@
     @Override
     public int[] getRestrictBackgroundWhitelistedUids() {
         mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG);
-        synchronized (mRulesLock) {
+        synchronized (mUidRulesFirstLock) {
             final int size = mRestrictBackgroundWhitelistUids.size();
             final int[] whitelist = new int[size];
             for (int i = 0; i < size; i++) {
@@ -2110,7 +2173,7 @@
         mContext.enforceCallingOrSelfPermission(ACCESS_NETWORK_STATE, TAG);
         final int uid = Binder.getCallingUid();
 
-        synchronized (mRulesLock) {
+        synchronized (mUidRulesFirstLock) {
             // Must clear identity because getUidPolicy() is restricted to system.
             final long token = Binder.clearCallingIdentity();
             final int policy;
@@ -2136,7 +2199,7 @@
     public boolean getRestrictBackground() {
         mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG);
 
-        synchronized (mRulesLock) {
+        synchronized (mUidRulesFirstLock) {
             return mRestrictBackground;
         }
     }
@@ -2145,13 +2208,13 @@
     public void setDeviceIdleMode(boolean enabled) {
         mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG);
 
-        synchronized (mRulesLock) {
+        synchronized (mUidRulesFirstLock) {
             if (mDeviceIdleMode != enabled) {
                 mDeviceIdleMode = enabled;
                 if (mSystemReady) {
                     // Device idle change means we need to rebuild rules for all
                     // known apps, so do a global refresh.
-                    updateRulesForGlobalChangeLocked(false);
+                    updateRulesForRestrictPowerUL();
                 }
                 if (enabled) {
                     EventLogTags.writeDeviceIdleOnPhase("net");
@@ -2162,7 +2225,7 @@
         }
     }
 
-    private NetworkPolicy findPolicyForNetworkLocked(NetworkIdentity ident) {
+    private NetworkPolicy findPolicyForNetworkNL(NetworkIdentity ident) {
         for (int i = mNetworkPolicy.size()-1; i >= 0; i--) {
             NetworkPolicy policy = mNetworkPolicy.valueAt(i);
             if (policy.template.matches(ident)) {
@@ -2190,8 +2253,8 @@
         final NetworkIdentity ident = NetworkIdentity.buildNetworkIdentity(mContext, state);
 
         final NetworkPolicy policy;
-        synchronized (mRulesLock) {
-            policy = findPolicyForNetworkLocked(ident);
+        synchronized (mNetworkPoliciesSecondLock) {
+            policy = findPolicyForNetworkNL(ident);
         }
 
         if (policy == null || !policy.hasCycle()) {
@@ -2223,21 +2286,16 @@
 
         final NetworkIdentity ident = NetworkIdentity.buildNetworkIdentity(mContext, state);
 
-        // roaming networks are always considered metered
-        if (ident.getRoaming()) {
-            return true;
-        }
-
         final NetworkPolicy policy;
-        synchronized (mRulesLock) {
-            policy = findPolicyForNetworkLocked(ident);
+        synchronized (mNetworkPoliciesSecondLock) {
+            policy = findPolicyForNetworkNL(ident);
         }
 
         if (policy != null) {
             return policy.metered;
         } else {
             final int type = state.networkInfo.getType();
-            if (isNetworkTypeMobile(type) || type == TYPE_WIMAX) {
+            if ((isNetworkTypeMobile(type) && ident.getMetered()) || type == TYPE_WIMAX) {
                 return true;
             }
             return false;
@@ -2255,155 +2313,157 @@
             argSet.add(arg);
         }
 
-        synchronized (mRulesLock) {
-            if (argSet.contains("--unsnooze")) {
-                for (int i = mNetworkPolicy.size()-1; i >= 0; i--) {
-                    mNetworkPolicy.valueAt(i).clearSnooze();
+        synchronized (mUidRulesFirstLock) {
+            synchronized (mNetworkPoliciesSecondLock) {
+                if (argSet.contains("--unsnooze")) {
+                    for (int i = mNetworkPolicy.size()-1; i >= 0; i--) {
+                        mNetworkPolicy.valueAt(i).clearSnooze();
+                    }
+
+                    normalizePoliciesNL();
+                    updateNetworkEnabledNL();
+                    updateNetworkRulesNL();
+                    updateNotificationsNL();
+                    writePolicyAL();
+
+                    fout.println("Cleared snooze timestamps");
+                    return;
                 }
 
-                normalizePoliciesLocked();
-                updateNetworkEnabledLocked();
-                updateNetworkRulesLocked();
-                updateNotificationsLocked();
-                writePolicyLocked();
-
-                fout.println("Cleared snooze timestamps");
-                return;
-            }
-
-            fout.print("System ready: "); fout.println(mSystemReady);
-            fout.print("Restrict background: "); fout.println(mRestrictBackground);
-            fout.print("Restrict power: "); fout.println(mRestrictPower);
-            fout.print("Device idle: "); fout.println(mDeviceIdleMode);
-            fout.println("Network policies:");
-            fout.increaseIndent();
-            for (int i = 0; i < mNetworkPolicy.size(); i++) {
-                fout.println(mNetworkPolicy.valueAt(i).toString());
-            }
-            fout.decreaseIndent();
-
-            fout.print("Metered ifaces: "); fout.println(String.valueOf(mMeteredIfaces));
-
-            fout.println("Policy for UIDs:");
-            fout.increaseIndent();
-            int size = mUidPolicy.size();
-            for (int i = 0; i < size; i++) {
-                final int uid = mUidPolicy.keyAt(i);
-                final int policy = mUidPolicy.valueAt(i);
-                fout.print("UID=");
-                fout.print(uid);
-                fout.print(" policy=");
-                fout.print(DebugUtils.flagsToString(NetworkPolicyManager.class, "POLICY_", policy));
-                fout.println();
-            }
-            fout.decreaseIndent();
-
-            size = mPowerSaveWhitelistExceptIdleAppIds.size();
-            if (size > 0) {
-                fout.println("Power save whitelist (except idle) app ids:");
+                fout.print("System ready: "); fout.println(mSystemReady);
+                fout.print("Restrict background: "); fout.println(mRestrictBackground);
+                fout.print("Restrict power: "); fout.println(mRestrictPower);
+                fout.print("Device idle: "); fout.println(mDeviceIdleMode);
+                fout.println("Network policies:");
                 fout.increaseIndent();
+                for (int i = 0; i < mNetworkPolicy.size(); i++) {
+                    fout.println(mNetworkPolicy.valueAt(i).toString());
+                }
+                fout.decreaseIndent();
+
+                fout.print("Metered ifaces: "); fout.println(String.valueOf(mMeteredIfaces));
+
+                fout.println("Policy for UIDs:");
+                fout.increaseIndent();
+                int size = mUidPolicy.size();
                 for (int i = 0; i < size; i++) {
+                    final int uid = mUidPolicy.keyAt(i);
+                    final int policy = mUidPolicy.valueAt(i);
                     fout.print("UID=");
-                    fout.print(mPowerSaveWhitelistExceptIdleAppIds.keyAt(i));
-                    fout.print(": ");
-                    fout.print(mPowerSaveWhitelistExceptIdleAppIds.valueAt(i));
+                    fout.print(uid);
+                    fout.print(" policy=");
+                    fout.print(DebugUtils.flagsToString(NetworkPolicyManager.class, "POLICY_", policy));
+                    fout.println();
+                }
+                fout.decreaseIndent();
+
+                size = mPowerSaveWhitelistExceptIdleAppIds.size();
+                if (size > 0) {
+                    fout.println("Power save whitelist (except idle) app ids:");
+                    fout.increaseIndent();
+                    for (int i = 0; i < size; i++) {
+                        fout.print("UID=");
+                        fout.print(mPowerSaveWhitelistExceptIdleAppIds.keyAt(i));
+                        fout.print(": ");
+                        fout.print(mPowerSaveWhitelistExceptIdleAppIds.valueAt(i));
+                        fout.println();
+                    }
+                    fout.decreaseIndent();
+                }
+
+                size = mPowerSaveWhitelistAppIds.size();
+                if (size > 0) {
+                    fout.println("Power save whitelist app ids:");
+                    fout.increaseIndent();
+                    for (int i = 0; i < size; i++) {
+                        fout.print("UID=");
+                        fout.print(mPowerSaveWhitelistAppIds.keyAt(i));
+                        fout.print(": ");
+                        fout.print(mPowerSaveWhitelistAppIds.valueAt(i));
+                        fout.println();
+                    }
+                    fout.decreaseIndent();
+                }
+
+                size = mRestrictBackgroundWhitelistUids.size();
+                if (size > 0) {
+                    fout.println("Restrict background whitelist uids:");
+                    fout.increaseIndent();
+                    for (int i = 0; i < size; i++) {
+                        fout.print("UID=");
+                        fout.print(mRestrictBackgroundWhitelistUids.keyAt(i));
+                        fout.println();
+                    }
+                    fout.decreaseIndent();
+                }
+
+                size = mDefaultRestrictBackgroundWhitelistUids.size();
+                if (size > 0) {
+                    fout.println("Default restrict background whitelist uids:");
+                    fout.increaseIndent();
+                    for (int i = 0; i < size; i++) {
+                        fout.print("UID=");
+                        fout.print(mDefaultRestrictBackgroundWhitelistUids.keyAt(i));
+                        fout.println();
+                    }
+                    fout.decreaseIndent();
+                }
+
+                size = mRestrictBackgroundWhitelistRevokedUids.size();
+                if (size > 0) {
+                    fout.println("Default restrict background whitelist uids revoked by users:");
+                    fout.increaseIndent();
+                    for (int i = 0; i < size; i++) {
+                        fout.print("UID=");
+                        fout.print(mRestrictBackgroundWhitelistRevokedUids.keyAt(i));
+                        fout.println();
+                    }
+                    fout.decreaseIndent();
+                }
+
+                final SparseBooleanArray knownUids = new SparseBooleanArray();
+                collectKeys(mUidState, knownUids);
+                collectKeys(mUidRules, knownUids);
+
+                fout.println("Status for all known UIDs:");
+                fout.increaseIndent();
+                size = knownUids.size();
+                for (int i = 0; i < size; i++) {
+                    final int uid = knownUids.keyAt(i);
+                    fout.print("UID=");
+                    fout.print(uid);
+
+                    final int state = mUidState.get(uid, ActivityManager.PROCESS_STATE_CACHED_EMPTY);
+                    fout.print(" state=");
+                    fout.print(state);
+                    if (state <= ActivityManager.PROCESS_STATE_TOP) {
+                        fout.print(" (fg)");
+                    } else {
+                        fout.print(state <= ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE
+                                ? " (fg svc)" : " (bg)");
+                    }
+
+                    final int uidRules = mUidRules.get(uid, RULE_NONE);
+                    fout.print(" rules=");
+                    fout.print(uidRulesToString(uidRules));
+                    fout.println();
+                }
+                fout.decreaseIndent();
+
+                fout.println("Status for just UIDs with rules:");
+                fout.increaseIndent();
+                size = mUidRules.size();
+                for (int i = 0; i < size; i++) {
+                    final int uid = mUidRules.keyAt(i);
+                    fout.print("UID=");
+                    fout.print(uid);
+                    final int uidRules = mUidRules.get(uid, RULE_NONE);
+                    fout.print(" rules=");
+                    fout.print(uidRulesToString(uidRules));
                     fout.println();
                 }
                 fout.decreaseIndent();
             }
-
-            size = mPowerSaveWhitelistAppIds.size();
-            if (size > 0) {
-                fout.println("Power save whitelist app ids:");
-                fout.increaseIndent();
-                for (int i = 0; i < size; i++) {
-                    fout.print("UID=");
-                    fout.print(mPowerSaveWhitelistAppIds.keyAt(i));
-                    fout.print(": ");
-                    fout.print(mPowerSaveWhitelistAppIds.valueAt(i));
-                    fout.println();
-                }
-                fout.decreaseIndent();
-            }
-
-            size = mRestrictBackgroundWhitelistUids.size();
-            if (size > 0) {
-                fout.println("Restrict background whitelist uids:");
-                fout.increaseIndent();
-                for (int i = 0; i < size; i++) {
-                    fout.print("UID=");
-                    fout.print(mRestrictBackgroundWhitelistUids.keyAt(i));
-                    fout.println();
-                }
-                fout.decreaseIndent();
-            }
-
-            size = mDefaultRestrictBackgroundWhitelistUids.size();
-            if (size > 0) {
-                fout.println("Default restrict background whitelist uids:");
-                fout.increaseIndent();
-                for (int i = 0; i < size; i++) {
-                    fout.print("UID=");
-                    fout.print(mDefaultRestrictBackgroundWhitelistUids.keyAt(i));
-                    fout.println();
-                }
-                fout.decreaseIndent();
-            }
-
-            size = mRestrictBackgroundWhitelistRevokedUids.size();
-            if (size > 0) {
-                fout.println("Default restrict background whitelist uids revoked by users:");
-                fout.increaseIndent();
-                for (int i = 0; i < size; i++) {
-                    fout.print("UID=");
-                    fout.print(mRestrictBackgroundWhitelistRevokedUids.keyAt(i));
-                    fout.println();
-                }
-                fout.decreaseIndent();
-            }
-
-            final SparseBooleanArray knownUids = new SparseBooleanArray();
-            collectKeys(mUidState, knownUids);
-            collectKeys(mUidRules, knownUids);
-
-            fout.println("Status for all known UIDs:");
-            fout.increaseIndent();
-            size = knownUids.size();
-            for (int i = 0; i < size; i++) {
-                final int uid = knownUids.keyAt(i);
-                fout.print("UID=");
-                fout.print(uid);
-
-                final int state = mUidState.get(uid, ActivityManager.PROCESS_STATE_CACHED_EMPTY);
-                fout.print(" state=");
-                fout.print(state);
-                if (state <= ActivityManager.PROCESS_STATE_TOP) {
-                    fout.print(" (fg)");
-                } else {
-                    fout.print(state <= ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE
-                            ? " (fg svc)" : " (bg)");
-                }
-
-                final int uidRules = mUidRules.get(uid, RULE_NONE);
-                fout.print(" rules=");
-                fout.print(uidRulesToString(uidRules));
-                fout.println();
-            }
-            fout.decreaseIndent();
-
-            fout.println("Status for just UIDs with rules:");
-            fout.increaseIndent();
-            size = mUidRules.size();
-            for (int i = 0; i < size; i++) {
-                final int uid = mUidRules.keyAt(i);
-                fout.print("UID=");
-                fout.print(uid);
-                final int uidRules = mUidRules.get(uid, RULE_NONE);
-                fout.print(" rules=");
-                fout.print(uidRulesToString(uidRules));
-                fout.println();
-            }
-            fout.decreaseIndent();
         }
     }
 
@@ -2418,74 +2478,74 @@
     public boolean isUidForeground(int uid) {
         mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG);
 
-        synchronized (mRulesLock) {
-            return isUidForegroundLocked(uid);
+        synchronized (mUidRulesFirstLock) {
+            return isUidForegroundUL(uid);
         }
     }
 
-    private boolean isUidForegroundLocked(int uid) {
-        return isUidStateForegroundLocked(
+    private boolean isUidForegroundUL(int uid) {
+        return isUidStateForegroundUL(
                 mUidState.get(uid, ActivityManager.PROCESS_STATE_CACHED_EMPTY));
     }
 
-    private boolean isUidForegroundOnRestrictBackgroundLocked(int uid) {
+    private boolean isUidForegroundOnRestrictBackgroundUL(int uid) {
         final int procState = mUidState.get(uid, ActivityManager.PROCESS_STATE_CACHED_EMPTY);
-        return isProcStateAllowedWhileOnRestrictBackgroundLocked(procState);
+        return isProcStateAllowedWhileOnRestrictBackground(procState);
     }
 
-    private boolean isUidForegroundOnRestrictPowerLocked(int uid) {
+    private boolean isUidForegroundOnRestrictPowerUL(int uid) {
         final int procState = mUidState.get(uid, ActivityManager.PROCESS_STATE_CACHED_EMPTY);
         return isProcStateAllowedWhileIdleOrPowerSaveMode(procState);
     }
 
-    private boolean isUidStateForegroundLocked(int state) {
+    private boolean isUidStateForegroundUL(int state) {
         // only really in foreground when screen is also on
         return mScreenOn && state <= ActivityManager.PROCESS_STATE_TOP;
     }
 
     /**
      * Process state of UID changed; if needed, will trigger
-     * {@link #updateRulesForDataUsageRestrictionsLocked(int)} and
-     * {@link #updateRulesForPowerRestrictionsLocked(int)}
+     * {@link #updateRulesForDataUsageRestrictionsUL(int)} and
+     * {@link #updateRulesForPowerRestrictionsUL(int)}
      */
-    private void updateUidStateLocked(int uid, int uidState) {
+    private void updateUidStateUL(int uid, int uidState) {
         final int oldUidState = mUidState.get(uid, ActivityManager.PROCESS_STATE_CACHED_EMPTY);
         if (oldUidState != uidState) {
             // state changed, push updated rules
             mUidState.put(uid, uidState);
-            updateRestrictBackgroundRulesOnUidStatusChangedLocked(uid, oldUidState, uidState);
+            updateRestrictBackgroundRulesOnUidStatusChangedUL(uid, oldUidState, uidState);
             if (isProcStateAllowedWhileIdleOrPowerSaveMode(oldUidState)
                     != isProcStateAllowedWhileIdleOrPowerSaveMode(uidState) ) {
                 if (isUidIdle(uid)) {
-                    updateRuleForAppIdleLocked(uid);
+                    updateRuleForAppIdleUL(uid);
                 }
                 if (mDeviceIdleMode) {
-                    updateRuleForDeviceIdleLocked(uid);
+                    updateRuleForDeviceIdleUL(uid);
                 }
                 if (mRestrictPower) {
-                    updateRuleForRestrictPowerLocked(uid);
+                    updateRuleForRestrictPowerUL(uid);
                 }
-                updateRulesForPowerRestrictionsLocked(uid);
+                updateRulesForPowerRestrictionsUL(uid);
             }
-            updateNetworkStats(uid, isUidStateForegroundLocked(uidState));
+            updateNetworkStats(uid, isUidStateForegroundUL(uidState));
         }
     }
 
-    private void removeUidStateLocked(int uid) {
+    private void removeUidStateUL(int uid) {
         final int index = mUidState.indexOfKey(uid);
         if (index >= 0) {
             final int oldUidState = mUidState.valueAt(index);
             mUidState.removeAt(index);
             if (oldUidState != ActivityManager.PROCESS_STATE_CACHED_EMPTY) {
-                updateRestrictBackgroundRulesOnUidStatusChangedLocked(uid, oldUidState,
+                updateRestrictBackgroundRulesOnUidStatusChangedUL(uid, oldUidState,
                         ActivityManager.PROCESS_STATE_CACHED_EMPTY);
                 if (mDeviceIdleMode) {
-                    updateRuleForDeviceIdleLocked(uid);
+                    updateRuleForDeviceIdleUL(uid);
                 }
                 if (mRestrictPower) {
-                    updateRuleForRestrictPowerLocked(uid);
+                    updateRuleForRestrictPowerUL(uid);
                 }
-                updateRulesForPowerRestrictionsLocked(uid);
+                updateRulesForPowerRestrictionsUL(uid);
                 updateNetworkStats(uid, false);
             }
         }
@@ -2500,38 +2560,38 @@
         }
     }
 
-    private void updateRestrictBackgroundRulesOnUidStatusChangedLocked(int uid, int oldUidState,
+    private void updateRestrictBackgroundRulesOnUidStatusChangedUL(int uid, int oldUidState,
             int newUidState) {
         final boolean oldForeground =
-                isProcStateAllowedWhileOnRestrictBackgroundLocked(oldUidState);
+                isProcStateAllowedWhileOnRestrictBackground(oldUidState);
         final boolean newForeground =
-                isProcStateAllowedWhileOnRestrictBackgroundLocked(newUidState);
+                isProcStateAllowedWhileOnRestrictBackground(newUidState);
         if (oldForeground != newForeground) {
-            updateRulesForDataUsageRestrictionsLocked(uid);
+            updateRulesForDataUsageRestrictionsUL(uid);
         }
     }
 
     private void updateScreenOn() {
-        synchronized (mRulesLock) {
+        synchronized (mUidRulesFirstLock) {
             try {
                 mScreenOn = mPowerManager.isInteractive();
             } catch (RemoteException e) {
                 // ignored; service lives in system_server
             }
-            updateRulesForScreenLocked();
+            updateRulesForScreenUL();
         }
     }
 
     /**
      * Update rules that might be changed by {@link #mScreenOn} value.
      */
-    private void updateRulesForScreenLocked() {
+    private void updateRulesForScreenUL() {
         // only update rules for anyone with foreground activities
         final int size = mUidState.size();
         for (int i = 0; i < size; i++) {
             if (mUidState.valueAt(i) <= ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE) {
                 final int uid = mUidState.keyAt(i);
-                updateRestrictionRulesForUidLocked(uid);
+                updateRestrictionRulesForUidUL(uid);
             }
         }
     }
@@ -2540,31 +2600,31 @@
         return procState <= ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE;
     }
 
-    static boolean isProcStateAllowedWhileOnRestrictBackgroundLocked(int procState) {
+    static boolean isProcStateAllowedWhileOnRestrictBackground(int procState) {
         return procState <= ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE;
     }
 
-    void updateRulesForRestrictPowerLocked() {
-        updateRulesForWhitelistedPowerSaveLocked(mRestrictPower, FIREWALL_CHAIN_POWERSAVE,
+    void updateRulesForPowerSaveUL() {
+        updateRulesForWhitelistedPowerSaveUL(mRestrictPower, FIREWALL_CHAIN_POWERSAVE,
                 mUidFirewallPowerSaveRules);
     }
 
-    void updateRuleForRestrictPowerLocked(int uid) {
-        updateRulesForWhitelistedPowerSaveLocked(uid, mRestrictPower, FIREWALL_CHAIN_POWERSAVE);
+    void updateRuleForRestrictPowerUL(int uid) {
+        updateRulesForWhitelistedPowerSaveUL(uid, mRestrictPower, FIREWALL_CHAIN_POWERSAVE);
     }
 
-    void updateRulesForDeviceIdleLocked() {
-        updateRulesForWhitelistedPowerSaveLocked(mDeviceIdleMode, FIREWALL_CHAIN_DOZABLE,
+    void updateRulesForDeviceIdleUL() {
+        updateRulesForWhitelistedPowerSaveUL(mDeviceIdleMode, FIREWALL_CHAIN_DOZABLE,
                 mUidFirewallDozableRules);
     }
 
-    void updateRuleForDeviceIdleLocked(int uid) {
-        updateRulesForWhitelistedPowerSaveLocked(uid, mDeviceIdleMode, FIREWALL_CHAIN_DOZABLE);
+    void updateRuleForDeviceIdleUL(int uid) {
+        updateRulesForWhitelistedPowerSaveUL(uid, mDeviceIdleMode, FIREWALL_CHAIN_DOZABLE);
     }
 
     // NOTE: since both fw_dozable and fw_powersave uses the same map
     // (mPowerSaveTempWhitelistAppIds) for whitelisting, we can reuse their logic in this method.
-    private void updateRulesForWhitelistedPowerSaveLocked(boolean enabled, int chain,
+    private void updateRulesForWhitelistedPowerSaveUL(boolean enabled, int chain,
             SparseIntArray rules) {
         if (enabled) {
             // Sync the whitelists before enabling the chain.  We don't care about the rules if
@@ -2595,23 +2655,19 @@
             setUidFirewallRules(chain, uidRules);
         }
 
-        enableFirewallChainLocked(chain, enabled);
+        enableFirewallChainUL(chain, enabled);
     }
 
-    private void updateRulesForNonMeteredNetworksLocked() {
-
-    }
-
-    private boolean isWhitelistedBatterySaverLocked(int uid) {
+    private boolean isWhitelistedBatterySaverUL(int uid) {
         final int appId = UserHandle.getAppId(uid);
         return mPowerSaveTempWhitelistAppIds.get(appId) || mPowerSaveWhitelistAppIds.get(appId);
     }
 
     // NOTE: since both fw_dozable and fw_powersave uses the same map
     // (mPowerSaveTempWhitelistAppIds) for whitelisting, we can reuse their logic in this method.
-    private void updateRulesForWhitelistedPowerSaveLocked(int uid, boolean enabled, int chain) {
+    private void updateRulesForWhitelistedPowerSaveUL(int uid, boolean enabled, int chain) {
         if (enabled) {
-            if (isWhitelistedBatterySaverLocked(uid)
+            if (isWhitelistedBatterySaverUL(uid)
                     || isProcStateAllowedWhileIdleOrPowerSaveMode(mUidState.get(uid))) {
                 setUidFirewallRule(chain, uid, FIREWALL_RULE_ALLOW);
             } else {
@@ -2620,7 +2676,7 @@
         }
     }
 
-    void updateRulesForAppIdleLocked() {
+    void updateRulesForAppIdleUL() {
         final SparseIntArray uidRules = mUidFirewallStandbyRules;
         uidRules.clear();
 
@@ -2644,50 +2700,69 @@
         setUidFirewallRules(FIREWALL_CHAIN_STANDBY, uidRules);
     }
 
-    void updateRuleForAppIdleLocked(int uid) {
+    void updateRuleForAppIdleUL(int uid) {
         if (!isUidValidForBlacklistRules(uid)) return;
 
         int appId = UserHandle.getAppId(uid);
         if (!mPowerSaveTempWhitelistAppIds.get(appId) && isUidIdle(uid)
-                && !isUidForegroundOnRestrictPowerLocked(uid)) {
+                && !isUidForegroundOnRestrictPowerUL(uid)) {
             setUidFirewallRule(FIREWALL_CHAIN_STANDBY, uid, FIREWALL_RULE_DENY);
         } else {
             setUidFirewallRule(FIREWALL_CHAIN_STANDBY, uid, FIREWALL_RULE_DEFAULT);
         }
     }
 
-    void updateRulesForAppIdleParoleLocked() {
+    void updateRulesForAppIdleParoleUL() {
         boolean enableChain = !mUsageStats.isAppIdleParoleOn();
-        enableFirewallChainLocked(FIREWALL_CHAIN_STANDBY, enableChain);
+        enableFirewallChainUL(FIREWALL_CHAIN_STANDBY, enableChain);
     }
 
     /**
      * Update rules that might be changed by {@link #mRestrictBackground},
      * {@link #mRestrictPower}, or {@link #mDeviceIdleMode} value.
      */
-    private void updateRulesForGlobalChangeLocked(boolean restrictedNetworksChanged) {
+    private void updateRulesForGlobalChangeAL(boolean restrictedNetworksChanged) {
         long start;
         if (LOGD) start = System.currentTimeMillis();
 
-        updateRulesForDeviceIdleLocked();
-        updateRulesForAppIdleLocked();
-        updateRulesForRestrictPowerLocked();
-        updateRulesForRestrictBackgroundLocked();
-        setRestrictBackgroundLocked(mRestrictBackground);
+        updateRulesForRestrictPowerUL();
+        updateRulesForRestrictBackgroundUL();
 
         // If the set of restricted networks may have changed, re-evaluate those.
         if (restrictedNetworksChanged) {
-            normalizePoliciesLocked();
-            updateNetworkRulesLocked();
+            normalizePoliciesNL();
+            updateNetworkRulesNL();
         }
         if (LOGD) {
             final long delta = System.currentTimeMillis() - start;
-            Slog.d(TAG, "updateRulesForGlobalChangeLocked(" + restrictedNetworksChanged + ") took "
+            Slog.d(TAG, "updateRulesForGlobalChangeAL(" + restrictedNetworksChanged + ") took "
                     + delta + "ms");
         }
     }
 
-    private void updateRulesForRestrictBackgroundLocked() {
+    private void updateRulesForRestrictPowerUL() {
+        updateRulesForDeviceIdleUL();
+        updateRulesForAppIdleUL();
+        updateRulesForPowerSaveUL();
+        updateRulesForAllAppsUL(TYPE_RESTRICT_POWER);
+    }
+
+    private void updateRulesForRestrictBackgroundUL() {
+        updateRulesForAllAppsUL(TYPE_RESTRICT_BACKGROUND);
+    }
+
+    private static final int TYPE_RESTRICT_BACKGROUND = 1;
+    private static final int TYPE_RESTRICT_POWER = 2;
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef(flag = false, value = {
+            TYPE_RESTRICT_BACKGROUND,
+            TYPE_RESTRICT_POWER,
+    })
+    public @interface RestrictType {
+    }
+
+    // TODO: refactor / consolidate all those updateXyz methods, there are way too many of them...
+    private void updateRulesForAllAppsUL(@RestrictType int type) {
         final PackageManager pm = mContext.getPackageManager();
 
         // update rules for all installed applications
@@ -2704,25 +2779,34 @@
             for (int j = 0; j < appsSize; j++) {
                 final ApplicationInfo app = apps.get(j);
                 final int uid = UserHandle.getUid(user.id, app.uid);
-                updateRulesForDataUsageRestrictionsLocked(uid);
-                updateRulesForPowerRestrictionsLocked(uid);
+                switch (type) {
+                    case TYPE_RESTRICT_BACKGROUND:
+                        updateRulesForDataUsageRestrictionsUL(uid);
+                        break;
+                    case TYPE_RESTRICT_POWER:
+                        updateRulesForPowerRestrictionsUL(uid);
+                        break;
+                    default:
+                        Slog.w(TAG, "Invalid type for updateRulesForAllApps: " + type);
+                }
             }
         }
     }
 
-    private void updateRulesForTempWhitelistChangeLocked() {
+    private void updateRulesForTempWhitelistChangeUL() {
         final List<UserInfo> users = mUserManager.getUsers();
         for (int i = 0; i < users.size(); i++) {
             final UserInfo user = users.get(i);
             for (int j = mPowerSaveTempWhitelistAppIds.size() - 1; j >= 0; j--) {
                 int appId = mPowerSaveTempWhitelistAppIds.keyAt(j);
                 int uid = UserHandle.getUid(user.id, appId);
+                updateRulesForRestrictPowerUL();
                 // Update external firewall rules.
-                updateRuleForAppIdleLocked(uid);
-                updateRuleForDeviceIdleLocked(uid);
-                updateRuleForRestrictPowerLocked(uid);
+                updateRuleForAppIdleUL(uid);
+                updateRuleForDeviceIdleUL(uid);
+                updateRuleForRestrictPowerUL(uid);
                 // Update internal rules.
-                updateRulesForPowerRestrictionsLocked(uid);
+                updateRulesForPowerRestrictionsUL(uid);
             }
         }
     }
@@ -2786,17 +2870,17 @@
      *
      * <p>This method changes both the external firewall rules and the internal state.
      */
-    private void updateRestrictionRulesForUidLocked(int uid) {
+    private void updateRestrictionRulesForUidUL(int uid) {
         // Methods below only changes the firewall rules for the power-related modes.
-        updateRuleForDeviceIdleLocked(uid);
-        updateRuleForAppIdleLocked(uid);
-        updateRuleForRestrictPowerLocked(uid);
+        updateRuleForDeviceIdleUL(uid);
+        updateRuleForAppIdleUL(uid);
+        updateRuleForRestrictPowerUL(uid);
 
         // Update internal state for power-related modes.
-        updateRulesForPowerRestrictionsLocked(uid);
+        updateRulesForPowerRestrictionsUL(uid);
 
         // Update firewall and internal rules for Data Saver Mode.
-        updateRulesForDataUsageRestrictionsLocked(uid);
+        updateRulesForDataUsageRestrictionsUL(uid);
     }
 
     /**
@@ -2818,7 +2902,7 @@
      * {@link #setUidPolicy(int, int)} and {@link #addRestrictBackgroundWhitelistedUid(int)} /
      * {@link #removeRestrictBackgroundWhitelistedUid(int)} methods (for blacklist and whitelist
      * respectively): these methods set the proper internal state (blacklist / whitelist), then call
-     * this ({@link #updateRulesForDataUsageRestrictionsLocked(int)}) to propagate the rules to
+     * this ({@link #updateRulesForDataUsageRestrictionsUL(int)}) to propagate the rules to
      * {@link INetworkManagementService}, but this method should also be called in events (like
      * Data Saver Mode flips or UID state changes) that might affect the foreground app, since the
      * following rules should also be applied:
@@ -2838,15 +2922,15 @@
      * <p>The {@link #mUidRules} map is used to define the transtion of states of an UID.
      *
      */
-    private void updateRulesForDataUsageRestrictionsLocked(int uid) {
-        updateRulesForDataUsageRestrictionsLocked(uid, false);
+    private void updateRulesForDataUsageRestrictionsUL(int uid) {
+        updateRulesForDataUsageRestrictionsUL(uid, false);
     }
 
     /**
-     * Overloaded version of {@link #updateRulesForDataUsageRestrictionsLocked(int)} called when an
+     * Overloaded version of {@link #updateRulesForDataUsageRestrictionsUL(int)} called when an
      * app is removed - it ignores the UID validity check.
      */
-    private void updateRulesForDataUsageRestrictionsLocked(int uid, boolean uidDeleted) {
+    private void updateRulesForDataUsageRestrictionsUL(int uid, boolean uidDeleted) {
         if (!uidDeleted && !isUidValidForWhitelistRules(uid)) {
             if (LOGD) Slog.d(TAG, "no need to update restrict data rules for uid " + uid);
             return;
@@ -2854,7 +2938,7 @@
 
         final int uidPolicy = mUidPolicy.get(uid, POLICY_NONE);
         final int oldUidRules = mUidRules.get(uid, RULE_NONE);
-        final boolean isForeground = isUidForegroundOnRestrictBackgroundLocked(uid);
+        final boolean isForeground = isUidForegroundOnRestrictBackgroundUL(uid);
 
         final boolean isBlacklisted = (uidPolicy & POLICY_REJECT_METERED_BACKGROUND) != 0;
         final boolean isWhitelisted = mRestrictBackgroundWhitelistUids.get(uid);
@@ -2878,7 +2962,7 @@
         final int newUidRules = newRule | (oldUidRules & MASK_ALL_NETWORKS);
 
         if (LOGV) {
-            Log.v(TAG, "updateRuleForRestrictBackgroundLocked(" + uid + ")"
+            Log.v(TAG, "updateRuleForRestrictBackgroundUL(" + uid + ")"
                     + ": isForeground=" +isForeground
                     + ", isBlacklisted=" + isBlacklisted
                     + ", isWhitelisted=" + isWhitelisted
@@ -2971,7 +3055,7 @@
      * <p>
      * <strong>NOTE: </strong>This method does not update the firewall rules on {@code netd}.
      */
-    private void updateRulesForPowerRestrictionsLocked(int uid) {
+    private void updateRulesForPowerRestrictionsUL(int uid) {
         if (!isUidValidForBlacklistRules(uid)) {
             if (LOGD) Slog.d(TAG, "no need to update restrict power rules for uid " + uid);
             return;
@@ -2981,9 +3065,9 @@
         final boolean restrictMode = isIdle || mRestrictPower || mDeviceIdleMode;
         final int uidPolicy = mUidPolicy.get(uid, POLICY_NONE);
         final int oldUidRules = mUidRules.get(uid, RULE_NONE);
-        final boolean isForeground = isUidForegroundOnRestrictPowerLocked(uid);
+        final boolean isForeground = isUidForegroundOnRestrictPowerUL(uid);
 
-        final boolean isWhitelisted = isWhitelistedBatterySaverLocked(uid);
+        final boolean isWhitelisted = isWhitelistedBatterySaverUL(uid);
         final int oldRule = oldUidRules & MASK_ALL_NETWORKS;
         int newRule = RULE_NONE;
 
@@ -3002,7 +3086,7 @@
         final int newUidRules = (oldUidRules & MASK_METERED_NETWORKS) | newRule;
 
         if (LOGV) {
-            Log.v(TAG, "updateRulesForNonMeteredNetworksLocked(" + uid + ")"
+            Log.v(TAG, "updateRulesForNonMeteredNetworksUL(" + uid + ")"
                     + ", isIdle: " + isIdle
                     + ", mRestrictPower: " + mRestrictPower
                     + ", mDeviceIdleMode: " + mDeviceIdleMode
@@ -3047,9 +3131,9 @@
                 final int uid = mContext.getPackageManager().getPackageUidAsUser(packageName,
                         PackageManager.MATCH_UNINSTALLED_PACKAGES, userId);
                 if (LOGV) Log.v(TAG, "onAppIdleStateChanged(): uid=" + uid + ", idle=" + idle);
-                synchronized (mRulesLock) {
-                    updateRuleForAppIdleLocked(uid);
-                    updateRulesForPowerRestrictionsLocked(uid);
+                synchronized (mUidRulesFirstLock) {
+                    updateRuleForAppIdleUL(uid);
+                    updateRulesForPowerRestrictionsUL(uid);
                 }
             } catch (NameNotFoundException nnfe) {
             }
@@ -3057,8 +3141,8 @@
 
         @Override
         public void onParoleStateChanged(boolean isParoleOn) {
-            synchronized (mRulesLock) {
-                updateRulesForAppIdleParoleLocked();
+            synchronized (mUidRulesFirstLock) {
+                updateRulesForAppIdleParoleUL();
             }
         }
     }
@@ -3143,7 +3227,7 @@
                     final String iface = (String) msg.obj;
 
                     maybeRefreshTrustedTime();
-                    synchronized (mRulesLock) {
+                    synchronized (mNetworkPoliciesSecondLock) {
                         if (mMeteredIfaces.contains(iface)) {
                             try {
                                 // force stats update to make sure we have
@@ -3153,8 +3237,8 @@
                                 // ignored; service lives in system_server
                             }
 
-                            updateNetworkEnabledLocked();
-                            updateNotificationsLocked();
+                            updateNetworkEnabledNL();
+                            updateNotificationsNL();
                         }
                     }
                     return true;
@@ -3354,7 +3438,7 @@
     /**
      * Add or remove a uid to the firewall blacklist for all network ifaces.
      */
-    private void enableFirewallChainLocked(int chain, boolean enable) {
+    private void enableFirewallChainUL(int chain, boolean enable) {
         if (mFirewallChainStates.indexOfKey(chain) >= 0 &&
                 mFirewallChainStates.get(chain) == enable) {
             // All is the same, nothing to do.
@@ -3483,9 +3567,9 @@
         @Override
         public void onPackageRemoved(String packageName, int uid) {
             if (LOGV) Slog.v(TAG, "onPackageRemoved: " + packageName + " ->" + uid);
-            synchronized (mRulesLock) {
-                removeRestrictBackgroundWhitelistedUidLocked(uid, true, true);
-                updateRestrictionRulesForUidLocked(uid);
+            synchronized (mUidRulesFirstLock) {
+                removeRestrictBackgroundWhitelistedUidUL(uid, true, true);
+                updateRestrictionRulesForUidUL(uid);
             }
         }
     }
@@ -3494,11 +3578,13 @@
 
         @Override
         public void resetUserState(int userId) {
-            synchronized (mRulesLock) {
-                boolean changed = removeUserStateLocked(userId, false);
-                changed = addDefaultRestrictBackgroundWhitelistUidsLocked(userId) || changed;
+            synchronized (mUidRulesFirstLock) {
+                boolean changed = removeUserStateUL(userId, false);
+                changed = addDefaultRestrictBackgroundWhitelistUidsUL(userId) || changed;
                 if (changed) {
-                    writePolicyLocked();
+                    synchronized (mNetworkPoliciesSecondLock) {
+                        writePolicyAL();
+                    }
                 }
             }
         }
diff --git a/services/core/java/com/android/server/net/NetworkStatsObservers.java b/services/core/java/com/android/server/net/NetworkStatsObservers.java
index ea36170..3360584 100644
--- a/services/core/java/com/android/server/net/NetworkStatsObservers.java
+++ b/services/core/java/com/android/server/net/NetworkStatsObservers.java
@@ -355,9 +355,10 @@
         @Override
         protected void recordSample(StatsContext statsContext) {
             // Recorder does not need to be locked in this context since only the handler
-            // thread will update it
+            // thread will update it. We pass a null VPN array because usage is aggregated by uid
+            // for this snapshot, so VPN traffic can't be reattributed to responsible apps.
             mRecorder.recordSnapshotLocked(statsContext.mXtSnapshot, statsContext.mActiveIfaces,
-                    statsContext.mVpnArray, statsContext.mCurrentTime);
+                    null /* vpnArray */, statsContext.mCurrentTime);
         }
 
         /**
@@ -396,7 +397,8 @@
         @Override
         protected void recordSample(StatsContext statsContext) {
             // Recorder does not need to be locked in this context since only the handler
-            // thread will update it
+            // thread will update it. We pass the VPN info so VPN traffic is reattributed to
+            // responsible apps.
             mRecorder.recordSnapshotLocked(statsContext.mUidSnapshot, statsContext.mActiveUidIfaces,
                     statsContext.mVpnArray, statsContext.mCurrentTime);
         }
diff --git a/services/core/java/com/android/server/net/NetworkStatsRecorder.java b/services/core/java/com/android/server/net/NetworkStatsRecorder.java
index 04dc917..090a076 100644
--- a/services/core/java/com/android/server/net/NetworkStatsRecorder.java
+++ b/services/core/java/com/android/server/net/NetworkStatsRecorder.java
@@ -22,6 +22,7 @@
 import static android.text.format.DateUtils.YEAR_IN_MILLIS;
 import static com.android.internal.util.Preconditions.checkNotNull;
 
+import android.annotation.Nullable;
 import android.net.NetworkStats;
 import android.net.NetworkStats.NonMonotonicObserver;
 import android.net.NetworkStatsHistory;
@@ -199,9 +200,14 @@
      * Record any delta that occurred since last {@link NetworkStats} snapshot,
      * using the given {@link Map} to identify network interfaces. First
      * snapshot is considered bootstrap, and is not counted as delta.
+     *
+     * @param vpnArray Optional info about the currently active VPN, if any. This is used to
+     *                 redistribute traffic from the VPN app to the underlying responsible apps.
+     *                 This should always be set to null if the provided snapshot is aggregated
+     *                 across all UIDs (e.g. contains UID_ALL buckets), regardless of VPN state.
      */
     public void recordSnapshotLocked(NetworkStats snapshot,
-            Map<String, NetworkIdentitySet> ifaceIdent, VpnInfo[] vpnArray,
+            Map<String, NetworkIdentitySet> ifaceIdent, @Nullable VpnInfo[] vpnArray,
             long currentTimeMillis) {
         final HashSet<String> unknownIfaces = Sets.newHashSet();
 
diff --git a/services/core/java/com/android/server/net/NetworkStatsService.java b/services/core/java/com/android/server/net/NetworkStatsService.java
index 8610fa1..4658c046 100644
--- a/services/core/java/com/android/server/net/NetworkStatsService.java
+++ b/services/core/java/com/android/server/net/NetworkStatsService.java
@@ -31,6 +31,7 @@
 import static android.net.NetworkStats.SET_ALL;
 import static android.net.NetworkStats.SET_DEFAULT;
 import static android.net.NetworkStats.SET_FOREGROUND;
+import static android.net.NetworkStats.TAG_ALL;
 import static android.net.NetworkStats.TAG_NONE;
 import static android.net.NetworkStats.UID_ALL;
 import static android.net.NetworkTemplate.buildTemplateMobileWildcard;
@@ -79,6 +80,7 @@
 import android.net.INetworkStatsService;
 import android.net.INetworkStatsSession;
 import android.net.LinkProperties;
+import android.net.NetworkCapabilities;
 import android.net.NetworkIdentity;
 import android.net.NetworkInfo;
 import android.net.NetworkState;
@@ -179,6 +181,11 @@
     private static final String PREFIX_UID_TAG = "uid_tag";
 
     /**
+     * Virtual network interface for video telephony. This is for VT data usage counting purpose.
+     */
+    public static final String VT_INTERFACE = "vt_data0";
+
+    /**
      * Settings that can be changed externally.
      */
     public interface NetworkStatsSettings {
@@ -967,6 +974,23 @@
                 if (baseIface != null) {
                     findOrCreateNetworkIdentitySet(mActiveIfaces, baseIface).add(ident);
                     findOrCreateNetworkIdentitySet(mActiveUidIfaces, baseIface).add(ident);
+
+                    // Build a separate virtual interface for VT (Video Telephony) data usage.
+                    // Only do this when IMS is not metered, but VT is metered.
+                    // If IMS is metered, then the IMS network usage has already included VT usage.
+                    // VT is considered always metered in framework's layer. If VT is not metered
+                    // per carrier's policy, modem will report 0 usage for VT calls.
+                    if (state.networkCapabilities.hasCapability(
+                            NetworkCapabilities.NET_CAPABILITY_IMS) && !ident.getMetered()) {
+
+                        // Copy the identify from IMS one but mark it as metered.
+                        NetworkIdentity vtIdent = new NetworkIdentity(ident.getType(),
+                                ident.getSubType(), ident.getSubscriberId(), ident.getNetworkId(),
+                                ident.getRoaming(), true);
+                        findOrCreateNetworkIdentitySet(mActiveIfaces, VT_INTERFACE).add(vtIdent);
+                        findOrCreateNetworkIdentitySet(mActiveUidIfaces, VT_INTERFACE).add(vtIdent);
+                    }
+
                     if (isMobile) {
                         mobileIfaces.add(baseIface);
                     }
@@ -1004,14 +1028,21 @@
 
     private void recordSnapshotLocked(long currentTime) throws RemoteException {
         // snapshot and record current counters; read UID stats first to
-        // avoid overcounting dev stats.
+        // avoid over counting dev stats.
         final NetworkStats uidSnapshot = getNetworkStatsUidDetail();
-        final NetworkStats xtSnapshot = mNetworkManager.getNetworkStatsSummaryXt();
+        final NetworkStats xtSnapshot = getNetworkStatsXtAndVt();
         final NetworkStats devSnapshot = mNetworkManager.getNetworkStatsSummaryDev();
 
+
+        // For xt/dev, we pass a null VPN array because usage is aggregated by UID, so VPN traffic
+        // can't be reattributed to responsible apps.
+        mDevRecorder.recordSnapshotLocked(
+                devSnapshot, mActiveIfaces, null /* vpnArray */, currentTime);
+        mXtRecorder.recordSnapshotLocked(
+                xtSnapshot, mActiveIfaces, null /* vpnArray */, currentTime);
+
+        // For per-UID stats, pass the VPN info so VPN traffic is reattributed to responsible apps.
         VpnInfo[] vpnArray = mConnManager.getAllVpnInfo();
-        mDevRecorder.recordSnapshotLocked(devSnapshot, mActiveIfaces, null, currentTime);
-        mXtRecorder.recordSnapshotLocked(xtSnapshot, mActiveIfaces, null, currentTime);
         mUidRecorder.recordSnapshotLocked(uidSnapshot, mActiveUidIfaces, vpnArray, currentTime);
         mUidTagRecorder.recordSnapshotLocked(uidSnapshot, mActiveUidIfaces, vpnArray, currentTime);
 
@@ -1305,6 +1336,42 @@
     }
 
     /**
+     * Return snapshot of current XT plus VT statistics.
+     */
+    private NetworkStats getNetworkStatsXtAndVt() throws RemoteException {
+        final NetworkStats xtSnapshot = mNetworkManager.getNetworkStatsSummaryXt();
+
+        TelephonyManager tm = (TelephonyManager) mContext.getSystemService(
+                Context.TELEPHONY_SERVICE);
+
+        long usage = tm.getVtDataUsage();
+
+        if (LOGV) Slog.d(TAG, "VT call data usage = " + usage);
+
+        final NetworkStats vtSnapshot = new NetworkStats(SystemClock.elapsedRealtime(), 1);
+
+        final NetworkStats.Entry entry = new NetworkStats.Entry();
+        entry.iface = VT_INTERFACE;
+        entry.uid = -1;
+        entry.set = TAG_ALL;
+        entry.tag = TAG_NONE;
+
+        // Since modem only tell us the total usage instead of each usage for RX and TX,
+        // we need to split it up (though it might not quite accurate). At
+        // least we can make sure the data usage report to the user will still be accurate.
+        entry.rxBytes = usage / 2;
+        entry.rxPackets = 0;
+        entry.txBytes = usage - entry.rxBytes;
+        entry.txPackets = 0;
+        vtSnapshot.combineValues(entry);
+
+        // Merge VT int XT
+        xtSnapshot.combineAllValues(vtSnapshot);
+
+        return xtSnapshot;
+    }
+
+    /**
      * Return snapshot of current tethering statistics. Will return empty
      * {@link NetworkStats} if any problems are encountered.
      */
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index 0af0c73..1206263 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -67,7 +67,6 @@
 import android.content.ComponentName;
 import android.content.ContentResolver;
 import android.content.Context;
-import android.content.IIntentSender;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.ApplicationInfo;
@@ -306,6 +305,7 @@
     private RankingHandler mRankingHandler;
     private long mLastOverRateLogTime;
     private float mMaxPackageEnqueueRate = DEFAULT_MAX_NOTIFICATION_ENQUEUE_RATE;
+    private String mSystemNotificationSound;
 
     private static class Archive {
         final int mBufferSize;
@@ -818,6 +818,8 @@
     private final class SettingsObserver extends ContentObserver {
         private final Uri NOTIFICATION_LIGHT_PULSE_URI
                 = Settings.System.getUriFor(Settings.System.NOTIFICATION_LIGHT_PULSE);
+        private final Uri NOTIFICATION_SOUND_URI
+                = Settings.System.getUriFor(Settings.System.NOTIFICATION_SOUND);
         private final Uri NOTIFICATION_RATE_LIMIT_URI
                 = Settings.Global.getUriFor(Settings.Global.MAX_NOTIFICATION_ENQUEUE_RATE);
 
@@ -829,6 +831,8 @@
             ContentResolver resolver = getContext().getContentResolver();
             resolver.registerContentObserver(NOTIFICATION_LIGHT_PULSE_URI,
                     false, this, UserHandle.USER_ALL);
+            resolver.registerContentObserver(NOTIFICATION_SOUND_URI,
+                    false, this, UserHandle.USER_ALL);
             resolver.registerContentObserver(NOTIFICATION_RATE_LIMIT_URI,
                     false, this, UserHandle.USER_ALL);
             update(null);
@@ -852,6 +856,10 @@
                 mMaxPackageEnqueueRate = Settings.Global.getFloat(resolver,
                             Settings.Global.MAX_NOTIFICATION_ENQUEUE_RATE, mMaxPackageEnqueueRate);
             }
+            if (uri == null || NOTIFICATION_SOUND_URI.equals(uri)) {
+                mSystemNotificationSound = Settings.System.getString(resolver,
+                        Settings.System.NOTIFICATION_SOUND);
+            }
         }
     }
 
@@ -904,6 +912,11 @@
         mHandler = handler;
     }
 
+    @VisibleForTesting
+    void setSystemNotificationSound(String systemNotificationSound) {
+        mSystemNotificationSound = systemNotificationSound;
+    }
+
     @Override
     public void onStart() {
         Resources resources = getContext().getResources();
@@ -1984,6 +1997,7 @@
                     android.Manifest.permission.MANAGE_NOTIFICATIONS)) {
                 return;
             }
+            checkCallerIsSameApp(pkg);
             if (!checkPolicyAccess(pkg)) {
                 Slog.w(TAG, "Notification policy access denied calling " + method);
                 throw new SecurityException("Notification policy access denied");
@@ -2521,6 +2535,8 @@
             return;
         }
 
+        mUsageStats.registerEnqueuedByApp(pkg);
+
         // Limit the number of notifications that any given package except the android
         // package or a registered listener can enqueue.  Prevents DOS attacks and deals with leaks.
         if (!isSystemNotification && !isNotificationFromListener) {
@@ -2562,7 +2578,22 @@
                     + " id=" + id + " notification=" + notification);
         }
 
-        markAsSentFromNotification(notification);
+        // Whitelist pending intents.
+        if (notification.allPendingIntents != null) {
+            final int intentCount = notification.allPendingIntents.size();
+            if (intentCount > 0) {
+                final ActivityManagerInternal am = LocalServices
+                        .getService(ActivityManagerInternal.class);
+                final long duration = LocalServices.getService(
+                        DeviceIdleController.LocalService.class).getNotificationWhitelistDuration();
+                for (int i = 0; i < intentCount; i++) {
+                    PendingIntent pendingIntent = notification.allPendingIntents.valueAt(i);
+                    if (pendingIntent != null) {
+                        am.setPendingIntentWhitelistDuration(pendingIntent.getTarget(), duration);
+                    }
+                }
+            }
+        }
 
         // Sanitize inputs
         notification.priority = clamp(notification.priority, Notification.PRIORITY_MIN,
@@ -2578,66 +2609,6 @@
         idOut[0] = id;
     }
 
-    private static void markAsSentFromNotification(Notification notification) {
-        final ActivityManagerInternal am = LocalServices.getService(ActivityManagerInternal.class);
-        final long duration = LocalServices.getService(DeviceIdleController.LocalService.class)
-                .getNotificationWhitelistDuration();
-
-        int size = 0;
-        if (notification.contentIntent != null) {
-            am.setPendingIntentWhitelistDuration(notification.contentIntent.getTarget(), duration);
-        }
-        if (notification.deleteIntent != null) {
-            am.setPendingIntentWhitelistDuration(notification.deleteIntent.getTarget(), duration);
-        }
-        if (notification.fullScreenIntent != null) {
-            am.setPendingIntentWhitelistDuration(notification.fullScreenIntent.getTarget(),
-                    duration);
-        }
-        if (notification.actions != null) {
-            for (Notification.Action action: notification.actions) {
-                if (action.actionIntent == null) {
-                    continue;
-                }
-                am.setPendingIntentWhitelistDuration(action.actionIntent.getTarget(), duration);
-                setPendingIntentWhitelistDuration(am, duration, action.getExtras());
-                final RemoteInput[] remoteInputs = action.getRemoteInputs();
-                if (remoteInputs != null) {
-                    for (RemoteInput remoteInput : remoteInputs) {
-                        setPendingIntentWhitelistDuration(am, duration, remoteInput.getExtras());
-                    }
-                }
-            }
-        }
-    }
-
-    private static void setPendingIntentWhitelistDuration(ActivityManagerInternal am, long duration,
-            Bundle extras) {
-        for (String key : extras.keySet()) {
-            setPendingIntentWhitelistDuration(am, duration, extras.getParcelable(key));
-            final Parcelable[] parcelableArray = extras.getParcelableArray(key);
-            if (parcelableArray != null) {
-                for (Parcelable parcelable: parcelableArray) {
-                    setPendingIntentWhitelistDuration(am, duration, parcelable);
-                }
-            }
-            final ArrayList<Parcelable> parcelableList = extras.getParcelableArrayList(key);
-            if (parcelableList != null) {
-                for (Parcelable parcelable: parcelableList) {
-                    setPendingIntentWhitelistDuration(am, duration, parcelable);
-                }
-            }
-        }
-    }
-
-    private static void setPendingIntentWhitelistDuration(ActivityManagerInternal am, long duration,
-            Parcelable parcelable) {
-        if (parcelable instanceof PendingIntent) {
-            am.setPendingIntentWhitelistDuration(((PendingIntent) parcelable).getTarget(),
-                    duration);
-        }
-    }
-
     private class EnqueueNotificationRunnable implements Runnable {
         private final NotificationRecord r;
         private final int userId;
@@ -2802,7 +2773,7 @@
         // notification was a summary and its group key changed.
         if (oldIsSummary && (!isSummary || !oldGroup.equals(group))) {
             cancelGroupChildrenLocked(old, callingUid, callingPid, null,
-                    REASON_GROUP_SUMMARY_CANCELED);
+                    REASON_GROUP_SUMMARY_CANCELED, false /* sendDelete */);
         }
     }
 
@@ -2867,9 +2838,7 @@
                 soundUri = Settings.System.DEFAULT_NOTIFICATION_URI;
 
                 // check to see if the default notification sound is silent
-                ContentResolver resolver = getContext().getContentResolver();
-                hasValidSound = Settings.System.getString(resolver,
-                       Settings.System.NOTIFICATION_SOUND) != null;
+                hasValidSound = mSystemNotificationSound != null;
             } else if (notification.sound != null) {
                 soundUri = notification.sound;
                 hasValidSound = (soundUri != null);
@@ -3435,7 +3404,7 @@
 
                         cancelNotificationLocked(r, sendDelete, reason);
                         cancelGroupChildrenLocked(r, callingUid, callingPid, listenerName,
-                                REASON_GROUP_SUMMARY_CANCELED);
+                                REASON_GROUP_SUMMARY_CANCELED, sendDelete);
                         updateLightsLocked();
                     }
                 }
@@ -3514,7 +3483,7 @@
                 final int M = canceledNotifications.size();
                 for (int i = 0; i < M; i++) {
                     cancelGroupChildrenLocked(canceledNotifications.get(i), callingUid, callingPid,
-                            listenerName, REASON_GROUP_SUMMARY_CANCELED);
+                            listenerName, REASON_GROUP_SUMMARY_CANCELED, false /* sendDelete */);
                 }
             }
             if (canceledNotifications != null) {
@@ -3558,14 +3527,14 @@
         int M = canceledNotifications != null ? canceledNotifications.size() : 0;
         for (int i = 0; i < M; i++) {
             cancelGroupChildrenLocked(canceledNotifications.get(i), callingUid, callingPid,
-                    listenerName, REASON_GROUP_SUMMARY_CANCELED);
+                    listenerName, REASON_GROUP_SUMMARY_CANCELED, false /* sendDelete */);
         }
         updateLightsLocked();
     }
 
     // Warning: The caller is responsible for invoking updateLightsLocked().
     private void cancelGroupChildrenLocked(NotificationRecord r, int callingUid, int callingPid,
-            String listenerName, int reason) {
+            String listenerName, int reason, boolean sendDelete) {
         Notification n = r.getNotification();
         if (!n.isGroupSummary()) {
             return;
@@ -3588,7 +3557,7 @@
                 EventLogTags.writeNotificationCancel(callingUid, callingPid, pkg, childSbn.getId(),
                         childSbn.getTag(), userId, 0, 0, reason, listenerName);
                 mNotificationList.remove(i);
-                cancelNotificationLocked(childR, false, reason);
+                cancelNotificationLocked(childR, sendDelete, reason);
             }
         }
     }
@@ -3687,6 +3656,10 @@
         if (isCallerSystem()) {
             return;
         }
+        checkCallerIsSameApp(pkg);
+    }
+
+    private static void checkCallerIsSameApp(String pkg) {
         final int uid = Binder.getCallingUid();
         try {
             ApplicationInfo ai = AppGlobals.getPackageManager().getApplicationInfo(
@@ -3896,7 +3869,9 @@
         @Override
         public void onUserSwitched(int user) {
             synchronized (mNotificationList) {
-                for (ManagedServiceInfo info : mServices) {
+                int i = mServices.size()-1;
+                while (i --> 0) {
+                    final ManagedServiceInfo info = mServices.get(i);
                     unregisterService(info.service, info.userid);
                 }
             }
diff --git a/services/core/java/com/android/server/notification/NotificationRecord.java b/services/core/java/com/android/server/notification/NotificationRecord.java
index 367f8cb..7c89e9f 100644
--- a/services/core/java/com/android/server/notification/NotificationRecord.java
+++ b/services/core/java/com/android/server/notification/NotificationRecord.java
@@ -318,12 +318,8 @@
 
     public void setContactAffinity(float contactAffinity) {
         mContactAffinity = contactAffinity;
-        if (mImportance < IMPORTANCE_HIGH &&
-                mContactAffinity >= ValidateNotificationPeople.STARRED_CONTACT) {
-            setImportance(IMPORTANCE_HIGH, getPeopleExplanation());
-        }
         if (mImportance < IMPORTANCE_DEFAULT &&
-                mContactAffinity >= ValidateNotificationPeople.VALID_CONTACT) {
+                mContactAffinity > ValidateNotificationPeople.VALID_CONTACT) {
             setImportance(IMPORTANCE_DEFAULT, getPeopleExplanation());
         }
     }
diff --git a/services/core/java/com/android/server/notification/NotificationUsageStats.java b/services/core/java/com/android/server/notification/NotificationUsageStats.java
index 7b573da..34c5283 100644
--- a/services/core/java/com/android/server/notification/NotificationUsageStats.java
+++ b/services/core/java/com/android/server/notification/NotificationUsageStats.java
@@ -114,6 +114,17 @@
     }
 
     /**
+     * Called when a notification is tentatively enqueued by an app, before rate checking.
+     */
+    public synchronized void registerEnqueuedByApp(String packageName) {
+        AggregatedStats[] aggregatedStatsArray = getAggregatedStatsLocked(packageName);
+        for (AggregatedStats stats : aggregatedStatsArray) {
+            stats.numEnqueuedByApp++;
+        }
+        releaseAggregatedStatsLocked(aggregatedStatsArray);
+    }
+
+    /**
      * Called when a notification has been posted.
      */
     public synchronized void registerPostedByApp(NotificationRecord notification) {
@@ -135,7 +146,8 @@
     /**
      * Called when a notification has been updated.
      */
-    public void registerUpdatedByApp(NotificationRecord notification, NotificationRecord old) {
+    public synchronized void registerUpdatedByApp(NotificationRecord notification,
+            NotificationRecord old) {
         notification.stats.updateFrom(old.stats);
         AggregatedStats[] aggregatedStatsArray = getAggregatedStatsLocked(notification);
         for (AggregatedStats stats : aggregatedStatsArray) {
@@ -344,6 +356,7 @@
         private AggregatedStats mPrevious;
 
         // ---- Updated as the respective events occur.
+        public int numEnqueuedByApp;
         public int numPostedByApp;
         public int numUpdatedByApp;
         public int numRemovedByApp;
@@ -470,6 +483,7 @@
 
         public void emit() {
             AggregatedStats previous = getPrevious();
+            maybeCount("note_enqueued", (numEnqueuedByApp - previous.numEnqueuedByApp));
             maybeCount("note_post", (numPostedByApp - previous.numPostedByApp));
             maybeCount("note_update", (numUpdatedByApp - previous.numUpdatedByApp));
             maybeCount("note_remove", (numRemovedByApp - previous.numRemovedByApp));
@@ -501,6 +515,7 @@
             quietImportance.maybeCount(previous.quietImportance);
             finalImportance.maybeCount(previous.finalImportance);
 
+            previous.numEnqueuedByApp = numEnqueuedByApp;
             previous.numPostedByApp = numPostedByApp;
             previous.numUpdatedByApp = numUpdatedByApp;
             previous.numRemovedByApp = numRemovedByApp;
@@ -568,6 +583,8 @@
             output.append(indentPlusTwo);
             output.append("key='").append(key).append("',\n");
             output.append(indentPlusTwo);
+            output.append("numEnqueuedByApp=").append(numEnqueuedByApp).append(",\n");
+            output.append(indentPlusTwo);
             output.append("numPostedByApp=").append(numPostedByApp).append(",\n");
             output.append(indentPlusTwo);
             output.append("numUpdatedByApp=").append(numUpdatedByApp).append(",\n");
@@ -631,6 +648,7 @@
             JSONObject dump = new JSONObject();
             dump.put("key", key);
             dump.put("duration", SystemClock.elapsedRealtime() - mCreated);
+            maybePut(dump, "numEnqueuedByApp", numEnqueuedByApp);
             maybePut(dump, "numPostedByApp", numPostedByApp);
             maybePut(dump, "numUpdatedByApp", numUpdatedByApp);
             maybePut(dump, "numRemovedByApp", numRemovedByApp);
diff --git a/services/core/java/com/android/server/notification/RateEstimator.java b/services/core/java/com/android/server/notification/RateEstimator.java
index c17db4a..a2f93dc 100644
--- a/services/core/java/com/android/server/notification/RateEstimator.java
+++ b/services/core/java/com/android/server/notification/RateEstimator.java
@@ -26,9 +26,12 @@
     private static final double RATE_ALPHA = 0.8;
     private static final double MINIMUM_DT = 0.0005;
     private Long mLastEventTime;
-    private Float mInterarrivalTime;
+    private double mInterarrivalTime;
 
-    public RateEstimator() {}
+    public RateEstimator() {
+        // assume something generous if we have no information
+        mInterarrivalTime = 1000.0;
+    }
 
     /** Update the estimate to account for an event that just happened. */
     public float update(long now) {
@@ -38,7 +41,7 @@
             rate = 0f;
         } else {
             // Calculate the new inter-arrival time based on last event time.
-            mInterarrivalTime = (float) getInterarrivalEstimate(now);
+            mInterarrivalTime = getInterarrivalEstimate(now);
             rate = (float) (1.0 / mInterarrivalTime);
         }
         mLastEventTime = now;
@@ -57,10 +60,6 @@
     private double getInterarrivalEstimate(long now) {
         double dt = ((double) (now - mLastEventTime)) / 1000.0;
         dt = Math.max(dt, MINIMUM_DT);
-        if (mInterarrivalTime == null) {
-            // No last inter-arrival time, return the new value directly.
-            return dt;
-        }
         // a*iat_old + (1-a)*(t_now-t_last)
         return (RATE_ALPHA * mInterarrivalTime + (1.0 - RATE_ALPHA) * dt);
     }
diff --git a/services/core/java/com/android/server/notification/ScheduleCalendar.java b/services/core/java/com/android/server/notification/ScheduleCalendar.java
index 9267d82..22ca702 100644
--- a/services/core/java/com/android/server/notification/ScheduleCalendar.java
+++ b/services/core/java/com/android/server/notification/ScheduleCalendar.java
@@ -58,11 +58,7 @@
         final long nextEnd = getNextTime(now, mSchedule.endHour, mSchedule.endMinute);
         long nextScheduleTime = Math.min(nextStart, nextEnd);
 
-        if (mSchedule.exitAtAlarm && mSchedule.nextAlarm > now) {
-            return Math.min(nextScheduleTime, mSchedule.nextAlarm);
-        } else {
-            return nextScheduleTime;
-        }
+        return nextScheduleTime;
     }
 
     private long getNextTime(long now, int hr, int min) {
@@ -124,4 +120,4 @@
         mCalendar.add(Calendar.DATE, days);
         return mCalendar.getTimeInMillis();
     }
-}
\ No newline at end of file
+}
diff --git a/services/core/java/com/android/server/notification/ScheduleConditionProvider.java b/services/core/java/com/android/server/notification/ScheduleConditionProvider.java
index e3dcf14..8197544 100644
--- a/services/core/java/com/android/server/notification/ScheduleConditionProvider.java
+++ b/services/core/java/com/android/server/notification/ScheduleConditionProvider.java
@@ -43,8 +43,8 @@
  * Built-in zen condition provider for daily scheduled time-based conditions.
  */
 public class ScheduleConditionProvider extends SystemConditionProviderService {
-    private static final String TAG = "ConditionProviders.SCP";
-    private static final boolean DEBUG = true || Log.isLoggable("ConditionProviders", Log.DEBUG);
+    static final String TAG = "ConditionProviders.SCP";
+    static final boolean DEBUG = true || Log.isLoggable("ConditionProviders", Log.DEBUG);
 
     public static final ComponentName COMPONENT =
             new ComponentName("android", ScheduleConditionProvider.class.getName());
@@ -154,6 +154,9 @@
                 cal.maybeSetNextAlarm(now, nextUserAlarmTime);
             } else {
                 notifyCondition(conditionId, Condition.STATE_FALSE, "!meetsSchedule");
+                if (nextUserAlarmTime == 0) {
+                    cal.maybeSetNextAlarm(now, nextUserAlarmTime);
+                }
             }
             if (cal != null) {
                 final long nextChangeTime = cal.getNextChangeTime(now);
diff --git a/services/core/java/com/android/server/pm/EphemeralResolverConnection.java b/services/core/java/com/android/server/pm/EphemeralResolverConnection.java
index fe6fb1f..b25ef17 100644
--- a/services/core/java/com/android/server/pm/EphemeralResolverConnection.java
+++ b/services/core/java/com/android/server/pm/EphemeralResolverConnection.java
@@ -64,11 +64,12 @@
         mIntent = new Intent().setComponent(componentName);
     }
 
-    public final List<EphemeralResolveInfo> getEphemeralResolveInfoList(int hashPrefix) {
+    public final List<EphemeralResolveInfo> getEphemeralResolveInfoList(
+            int hashPrefix[], int prefixMask) {
         throwIfCalledOnMainThread();
         try {
             return mGetEphemeralResolveInfoCaller.getEphemeralResolveInfoList(
-                    getRemoteInstanceLazy(), hashPrefix);
+                    getRemoteInstanceLazy(), hashPrefix, prefixMask);
         } catch (RemoteException re) {
         } catch (TimeoutException te) {
         } finally {
@@ -177,10 +178,10 @@
         }
 
         public List<EphemeralResolveInfo> getEphemeralResolveInfoList(
-                IEphemeralResolver target, int hashPrefix)
+                IEphemeralResolver target, int hashPrefix[], int prefixMask)
                         throws RemoteException, TimeoutException {
             final int sequence = onBeforeRemoteCall();
-            target.getEphemeralResolveInfoList(mCallback, hashPrefix, sequence);
+            target.getEphemeralResolveInfoList(mCallback, hashPrefix, prefixMask, sequence);
             return getResultTimed(sequence);
         }
     }
diff --git a/services/core/java/com/android/server/pm/Installer.java b/services/core/java/com/android/server/pm/Installer.java
index 7b85a4f..72c549f 100644
--- a/services/core/java/com/android/server/pm/Installer.java
+++ b/services/core/java/com/android/server/pm/Installer.java
@@ -61,6 +61,13 @@
         mInstaller = new InstallerConnection();
     }
 
+    // Package-private installer that accepts a custom InstallerConnection. Used for
+    // OtaDexoptService.
+    Installer(Context context, InstallerConnection connection) {
+        super(context);
+        mInstaller = connection;
+    }
+
     /**
      * Yell loudly if someone tries making future calls while holding a lock on
      * the given object.
diff --git a/services/core/java/com/android/server/pm/IntentFilterVerificationState.java b/services/core/java/com/android/server/pm/IntentFilterVerificationState.java
index c6e7911..a4e9d10 100644
--- a/services/core/java/com/android/server/pm/IntentFilterVerificationState.java
+++ b/services/core/java/com/android/server/pm/IntentFilterVerificationState.java
@@ -96,7 +96,12 @@
             if (i > 0) {
                 sb.append(" ");
             }
-            sb.append(mHosts.valueAt(i));
+            String host = mHosts.valueAt(i);
+            // "*.example.tld" is validated via https://example.tld
+            if (host.startsWith("*.")) {
+                host = host.substring(2);
+            }
+            sb.append(host);
         }
         return sb.toString();
     }
diff --git a/services/core/java/com/android/server/pm/LauncherAppsService.java b/services/core/java/com/android/server/pm/LauncherAppsService.java
index 43a0b91..03d5645f 100644
--- a/services/core/java/com/android/server/pm/LauncherAppsService.java
+++ b/services/core/java/com/android/server/pm/LauncherAppsService.java
@@ -19,9 +19,13 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.UserIdInt;
+import android.app.ActivityManagerInternal;
+import android.app.ActivityManagerNative;
 import android.app.AppGlobals;
+import android.app.PendingIntent;
 import android.content.ComponentName;
 import android.content.Context;
+import android.content.IIntentSender;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
 import android.content.pm.ApplicationInfo;
@@ -98,6 +102,7 @@
         private final Context mContext;
         private final PackageManager mPm;
         private final UserManager mUm;
+        private final ActivityManagerInternal mActivityManagerInternal;
         private final ShortcutServiceInternal mShortcutServiceInternal;
         private final PackageCallbackList<IOnAppsChangedListener> mListeners
                 = new PackageCallbackList<IOnAppsChangedListener>();
@@ -110,6 +115,8 @@
             mContext = context;
             mPm = mContext.getPackageManager();
             mUm = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
+            mActivityManagerInternal = Preconditions.checkNotNull(
+                    LocalServices.getService(ActivityManagerInternal.class));
             mShortcutServiceInternal = Preconditions.checkNotNull(
                     LocalServices.getService(ShortcutServiceInternal.class));
             mShortcutServiceInternal.addListener(mPackageMonitor);
@@ -380,7 +387,8 @@
                         "To query by shortcut ID, package name must also be set");
             }
 
-            return new ParceledListSlice<>(
+            // TODO(b/29399275): Eclipse compiler requires explicit List<ShortcutInfo> cast below.
+            return new ParceledListSlice<>((List<ShortcutInfo>)
                     mShortcutServiceInternal.getShortcuts(getCallingUserId(),
                             callingPackage, changedSince, packageName, shortcutIds,
                             componentName, flags, user.getIdentifier()));
@@ -431,7 +439,7 @@
         }
 
         @Override
-        public boolean startShortcut(String callingPackage, String packageName, String shortcutId,
+        public void startShortcut(String callingPackage, String packageName, String shortcutId,
                 Rect sourceBounds, Bundle startActivityOptions, int userId) {
             verifyCallingPackage(callingPackage);
             ensureInUserProfiles(userId, "Cannot start activity for unrelated profile " + userId);
@@ -450,20 +458,40 @@
             final Intent intent = mShortcutServiceInternal.createShortcutIntent(getCallingUserId(),
                     callingPackage, packageName, shortcutId, userId);
             if (intent == null) {
-                return false;
+                return;
             }
             // Note the target activity doesn't have to be exported.
 
-            intent.setSourceBounds(sourceBounds);
             prepareIntentForLaunch(intent, sourceBounds);
 
-            final long ident = Binder.clearCallingIdentity();
+            startShortcutIntentAsPublisher(
+                    intent, packageName, startActivityOptions, userId);
+        }
+
+        @VisibleForTesting
+        protected void startShortcutIntentAsPublisher(@NonNull Intent intent,
+                @NonNull String publisherPackage, Bundle startActivityOptions, int userId) {
+
             try {
-                mContext.startActivityAsUser(intent, startActivityOptions, UserHandle.of(userId));
-            } finally {
-                Binder.restoreCallingIdentity(ident);
+                final IIntentSender intentSender;
+
+                final long ident = Binder.clearCallingIdentity();
+                try {
+                    intentSender = mActivityManagerInternal.getActivityIntentSenderAsPackage(
+                            publisherPackage, userId, /* requestCode= */ 0,
+                            intent, PendingIntent.FLAG_ONE_SHOT,
+                            /* options= */ startActivityOptions);
+                } finally {
+                    Binder.restoreCallingIdentity(ident);
+                }
+
+                // Negative result means a failure.
+                ActivityManagerNative.getDefault().sendIntentSender(
+                        intentSender, 0, null, null, null, null, null);
+
+            } catch (RemoteException e) {
+                return;
             }
-            return true;
         }
 
         @Override
@@ -775,8 +803,7 @@
                                     /* changedSince= */ 0, packageName, /* shortcutIds=*/ null,
                                     /* component= */ null,
                                     ShortcutQuery.FLAG_GET_KEY_FIELDS_ONLY
-                                    | ShortcutQuery.FLAG_GET_PINNED
-                                    | ShortcutQuery.FLAG_GET_DYNAMIC
+                                    | ShortcutQuery.FLAG_GET_ALL_KINDS
                                     , userId);
                     try {
                         listener.onShortcutChanged(user, packageName,
diff --git a/services/core/java/com/android/server/pm/OtaDexoptService.java b/services/core/java/com/android/server/pm/OtaDexoptService.java
index 649a27c..01b3dc2 100644
--- a/services/core/java/com/android/server/pm/OtaDexoptService.java
+++ b/services/core/java/com/android/server/pm/OtaDexoptService.java
@@ -32,10 +32,12 @@
 import android.util.Log;
 import android.util.Slog;
 
+import com.android.internal.os.InstallerConnection;
 import com.android.internal.os.InstallerConnection.InstallerException;
 
 import java.io.File;
 import java.io.FileDescriptor;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
@@ -49,20 +51,28 @@
     private final static boolean DEBUG_DEXOPT = true;
 
     private final Context mContext;
-    private final PackageDexOptimizer mPackageDexOptimizer;
     private final PackageManagerService mPackageManagerService;
 
     // TODO: Evaluate the need for WeakReferences here.
+
+    /**
+     * The list of packages to dexopt.
+     */
     private List<PackageParser.Package> mDexoptPackages;
 
+    /**
+     * The list of dexopt invocations for the current package (which will no longer be in
+     * mDexoptPackages). This can be more than one as a package may have multiple code paths,
+     * e.g., in the split-APK case.
+     */
+    private List<String> mCommandsForCurrentPackage;
+
+    private int completeSize;
+
     public OtaDexoptService(Context context, PackageManagerService packageManagerService) {
         this.mContext = context;
         this.mPackageManagerService = packageManagerService;
 
-        // Use the package manager install and install lock here for the OTA dex optimizer.
-        mPackageDexOptimizer = new OTADexoptPackageDexOptimizer(packageManagerService.mInstaller,
-                packageManagerService.mInstallLock, context);
-
         // Now it's time to check whether we need to move any A/B artifacts.
         moveAbArtifacts(packageManagerService.mInstaller);
     }
@@ -91,6 +101,8 @@
             mDexoptPackages = PackageManagerServiceUtils.getPackagesForDexopt(
                     mPackageManagerService.mPackages.values(), mPackageManagerService);
         }
+        completeSize = mDexoptPackages.size();
+        mCommandsForCurrentPackage = null;
     }
 
     @Override
@@ -99,6 +111,7 @@
             Log.i(TAG, "Cleaning up OTA Dexopt state.");
         }
         mDexoptPackages = null;
+        mCommandsForCurrentPackage = null;
     }
 
     @Override
@@ -107,7 +120,109 @@
             throw new IllegalStateException("done() called before prepare()");
         }
 
-        return mDexoptPackages.isEmpty();
+        return mDexoptPackages.isEmpty() && (mCommandsForCurrentPackage == null);
+    }
+
+    @Override
+    public synchronized float getProgress() throws RemoteException {
+        // We approximate by number of packages here. We could track all compiles, if we
+        // generated them ahead of time. Right now we're trying to conserve memory.
+        if (completeSize == 0) {
+            return 1f;
+        }
+        int packagesLeft = mDexoptPackages.size() + (mCommandsForCurrentPackage != null ? 1 : 0);
+        return (completeSize - packagesLeft) / ((float)completeSize);
+    }
+
+    /**
+     * Return the next dexopt command for the current package. Enforces the invariant
+     */
+    private String getNextPackageDexopt() {
+        if (mCommandsForCurrentPackage != null) {
+            String next = mCommandsForCurrentPackage.remove(0);
+            if (mCommandsForCurrentPackage.isEmpty()) {
+                mCommandsForCurrentPackage = null;
+            }
+            return next;
+        }
+        return null;
+    }
+
+    @Override
+    public synchronized String nextDexoptCommand() throws RemoteException {
+        if (mDexoptPackages == null) {
+            throw new IllegalStateException("dexoptNextPackage() called before prepare()");
+        }
+
+        // Get the next command.
+        for (;;) {
+            // Check whether there's one for the current package.
+            String next = getNextPackageDexopt();
+            if (next != null) {
+                return next;
+            }
+
+            // Move to the next package, if possible.
+            if (mDexoptPackages.isEmpty()) {
+                return "Nothing to do";
+            }
+
+            PackageParser.Package nextPackage = mDexoptPackages.remove(0);
+
+            if (DEBUG_DEXOPT) {
+                Log.i(TAG, "Processing " + nextPackage.packageName + " for OTA dexopt.");
+            }
+
+            // Generate the next mPackageDexopts state. Ignore errors, this loop is strongly
+            // monotonically increasing, anyways.
+            generatePackageDexopts(nextPackage);
+
+            // Invariant check: mPackageDexopts is null or not empty.
+            if (mCommandsForCurrentPackage != null && mCommandsForCurrentPackage.isEmpty()) {
+                cleanup();
+                throw new IllegalStateException("mPackageDexopts empty for " + nextPackage);
+            }
+        }
+    }
+
+    /**
+     * Generate all dexopt commands for the given package and place them into mPackageDexopts.
+     * Returns true on success, false in an error situation like low disk space.
+     */
+    private synchronized boolean generatePackageDexopts(PackageParser.Package nextPackage) {
+        // Check for low space.
+        // TODO: If apps are not installed in the internal /data partition, we should compare
+        //       against that storage's free capacity.
+        File dataDir = Environment.getDataDirectory();
+        @SuppressWarnings("deprecation")
+        long lowThreshold = StorageManager.from(mContext).getStorageLowBytes(dataDir);
+        if (lowThreshold == 0) {
+            throw new IllegalStateException("Invalid low memory threshold");
+        }
+        long usableSpace = dataDir.getUsableSpace();
+        if (usableSpace < lowThreshold) {
+            Log.w(TAG, "Not running dexopt on " + nextPackage.packageName + " due to low memory: " +
+                    usableSpace);
+            return false;
+        }
+
+        // Use our custom connection that just collects the commands.
+        RecordingInstallerConnection collectingConnection = new RecordingInstallerConnection();
+        Installer collectingInstaller = new Installer(mContext, collectingConnection);
+
+        // Use the package manager install and install lock here for the OTA dex optimizer.
+        PackageDexOptimizer optimizer = new OTADexoptPackageDexOptimizer(
+                collectingInstaller, mPackageManagerService.mInstallLock, mContext);
+        optimizer.performDexOpt(nextPackage, nextPackage.usesLibraryFiles,
+                null /* ISAs */, false /* checkProfiles */,
+                getCompilerFilterForReason(PackageManagerService.REASON_AB_OTA));
+
+        mCommandsForCurrentPackage = collectingConnection.commands;
+        if (mCommandsForCurrentPackage.isEmpty()) {
+            mCommandsForCurrentPackage = null;
+        }
+
+        return true;
     }
 
     @Override
@@ -142,8 +257,10 @@
             return;
         }
 
-        mPackageDexOptimizer.performDexOpt(nextPackage, nextPackage.usesLibraryFiles,
-                null /* ISAs */, false /* checkProfiles */,
+        PackageDexOptimizer optimizer = new OTADexoptPackageDexOptimizer(
+                mPackageManagerService.mInstaller, mPackageManagerService.mInstallLock, mContext);
+        optimizer.performDexOpt(nextPackage, nextPackage.usesLibraryFiles, null /* ISAs */,
+                false /* checkProfiles */,
                 getCompilerFilterForReason(PackageManagerService.REASON_AB_OTA));
     }
 
@@ -208,4 +325,40 @@
         }
 
     }
+
+    private static class RecordingInstallerConnection extends InstallerConnection {
+        public List<String> commands = new ArrayList<String>(1);
+
+        @Override
+        public void setWarnIfHeld(Object warnIfHeld) {
+            throw new IllegalStateException("Should not reach here");
+        }
+
+        @Override
+        public synchronized String transact(String cmd) {
+            commands.add(cmd);
+            return "0";
+        }
+
+        @Override
+        public boolean mergeProfiles(int uid, String pkgName) throws InstallerException {
+            throw new IllegalStateException("Should not reach here");
+        }
+
+        @Override
+        public boolean dumpProfiles(String gid, String packageName, String codePaths)
+                throws InstallerException {
+            throw new IllegalStateException("Should not reach here");
+        }
+
+        @Override
+        public void disconnect() {
+            throw new IllegalStateException("Should not reach here");
+        }
+
+        @Override
+        public void waitForConnection() {
+            throw new IllegalStateException("Should not reach here");
+        }
+    }
 }
diff --git a/services/core/java/com/android/server/pm/OtaDexoptShellCommand.java b/services/core/java/com/android/server/pm/OtaDexoptShellCommand.java
index ea9cf17..bbd4048 100644
--- a/services/core/java/com/android/server/pm/OtaDexoptShellCommand.java
+++ b/services/core/java/com/android/server/pm/OtaDexoptShellCommand.java
@@ -46,6 +46,10 @@
                     return runOtaDone();
                 case "step":
                     return runOtaStep();
+                case "next":
+                    return runOtaNext();
+                case "progress":
+                    return runOtaProgress();
                 default:
                     return handleDefaultCommands(cmd);
             }
@@ -81,6 +85,18 @@
         return 0;
     }
 
+    private int runOtaNext() throws RemoteException {
+        getOutPrintWriter().println(mInterface.nextDexoptCommand());
+        return 0;
+    }
+
+    private int runOtaProgress() throws RemoteException {
+        final float progress = mInterface.getProgress();
+        final PrintWriter pw = getOutPrintWriter();
+        pw.format("%.2f", progress);
+        return 0;
+    }
+
     @Override
     public void onHelp() {
         final PrintWriter pw = getOutPrintWriter();
@@ -94,6 +110,8 @@
         pw.println("    Replies whether the OTA is complete or not.");
         pw.println("  step");
         pw.println("    OTA dexopt the next package.");
+        pw.println("  next");
+        pw.println("    Get parameters for OTA dexopt of the next package.");
         pw.println("  cleanup");
         pw.println("    Clean up internal states. Ends an OTA session.");
     }
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 27ca62af..acd8055 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -102,11 +102,11 @@
 import android.Manifest;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UserIdInt;
 import android.app.ActivityManager;
 import android.app.ActivityManagerNative;
 import android.app.IActivityManager;
 import android.app.ResourcesManager;
-import android.app.admin.DevicePolicyManagerInternal;
 import android.app.admin.IDevicePolicyManager;
 import android.app.admin.SecurityLog;
 import android.app.backup.IBackupManager;
@@ -125,6 +125,7 @@
 import android.content.pm.ComponentInfo;
 import android.content.pm.EphemeralApplicationInfo;
 import android.content.pm.EphemeralResolveInfo;
+import android.content.pm.EphemeralResolveInfo.EphemeralDigest;
 import android.content.pm.EphemeralResolveInfo.EphemeralResolveIntentInfo;
 import android.content.pm.FeatureInfo;
 import android.content.pm.IOnPermissionsChangeListener;
@@ -197,6 +198,7 @@
 import android.os.storage.StorageManager;
 import android.os.storage.VolumeInfo;
 import android.os.storage.VolumeRecord;
+import android.provider.Settings.Global;
 import android.security.KeyStore;
 import android.security.SystemKeyStore;
 import android.system.ErrnoException;
@@ -362,13 +364,13 @@
     static final boolean DEBUG_DEXOPT = false;
 
     private static final boolean DEBUG_ABI_SELECTION = false;
-    private static final boolean DEBUG_EPHEMERAL = false;
+    private static final boolean DEBUG_EPHEMERAL = Build.IS_DEBUGGABLE;
     private static final boolean DEBUG_TRIAGED_MISSING = false;
     private static final boolean DEBUG_APP_DATA = false;
 
     static final boolean CLEAR_RUNTIME_PERMISSIONS_ON_UPGRADE = false;
 
-    private static final boolean DISABLE_EPHEMERAL_APPS = true;
+    private static final boolean DISABLE_EPHEMERAL_APPS = !Build.IS_DEBUGGABLE;
 
     private static final int RADIO_UID = Process.PHONE_UID;
     private static final int LOG_UID = Process.LOG_UID;
@@ -462,6 +464,9 @@
 
     private static final String VENDOR_OVERLAY_DIR = "/vendor/overlay";
 
+    private static int DEFAULT_EPHEMERAL_HASH_PREFIX_MASK = 0xFFFFF000;
+    private static int DEFAULT_EPHEMERAL_HASH_PREFIX_COUNT = 5;
+
     /** Permission grant: not grant the permission. */
     private static final int GRANT_DENIED = 1;
 
@@ -622,7 +627,9 @@
     @GuardedBy("mPackages")
     final ArraySet<String> mFrozenPackages = new ArraySet<>();
 
-    boolean mRestoredSettings;
+    final ProtectedPackages mProtectedPackages;
+
+    boolean mFirstBoot;
 
     // System configuration read by SystemConfig.
     final int[] mGlobalGids;
@@ -1212,7 +1219,9 @@
                     StringBuffer sb = new StringBuffer();
 
                     String firstLine = readLine(in, sb);
-                    if (firstLine.equals(USAGE_FILE_MAGIC_VERSION_1)) {
+                    if (firstLine == null) {
+                        // Empty file. Do nothing.
+                    } else if (USAGE_FILE_MAGIC_VERSION_1.equals(firstLine)) {
                         readVersion1LP(in, sb);
                     } else {
                         readVersion0LP(in, sb, firstLine);
@@ -2213,6 +2222,34 @@
         displayManager.getDisplay(Display.DEFAULT_DISPLAY).getMetrics(metrics);
     }
 
+    /**
+     * Requests that files preopted on a secondary system partition be copied to the data partition
+     * if possible.  Note that the actual copying of the files is accomplished by init for security
+     * reasons. This simply requests that the copy takes place and awaits confirmation of its
+     * completion. See platform/system/extras/cppreopt/ for the implementation of the actual copy.
+     */
+    private static void requestCopyPreoptedFiles() {
+        final int WAIT_TIME_MS = 100;
+        final String CP_PREOPT_PROPERTY = "sys.cppreopt";
+        if (SystemProperties.getInt("ro.cp_system_other_odex", 0) == 1) {
+            SystemProperties.set(CP_PREOPT_PROPERTY, "requested");
+            // We will wait for up to 100 seconds.
+            final long timeEnd = SystemClock.uptimeMillis() + 100 * 1000;
+            while (!SystemProperties.get(CP_PREOPT_PROPERTY).equals("finished")) {
+                try {
+                    Thread.sleep(WAIT_TIME_MS);
+                } catch (InterruptedException e) {
+                    // Do nothing
+                }
+                if (SystemClock.uptimeMillis() > timeEnd) {
+                    SystemProperties.set(CP_PREOPT_PROPERTY, "timed-out");
+                    Slog.wtf(TAG, "cppreopt did not finish!");
+                    break;
+                }
+            }
+        }
+    }
+
     public PackageManagerService(Context context, Installer installer,
             boolean factoryTest, boolean onlyCore) {
         EventLog.writeEvent(EventLogTags.BOOT_PROGRESS_PMS_START,
@@ -2272,6 +2309,8 @@
         mSystemPermissions = systemConfig.getSystemPermissions();
         mAvailableFeatures = systemConfig.getAvailableFeatures();
 
+        mProtectedPackages = new ProtectedPackages(mContext);
+
         synchronized (mInstallLock) {
         // writer
         synchronized (mPackages) {
@@ -2314,7 +2353,11 @@
 
             mFoundPolicyFile = SELinuxMMAC.readInstallPolicy();
 
-            mRestoredSettings = mSettings.readLPw(sUserManager.getUsers(false));
+            mFirstBoot = !mSettings.readLPw(sUserManager.getUsers(false));
+
+            if (mFirstBoot) {
+                requestCopyPreoptedFiles();
+            }
 
             String customResolverActivity = Resources.getSystem().getString(
                     R.string.config_customResolverActivity);
@@ -2691,7 +2734,7 @@
             // If this is the first boot or an update from pre-M, and it is a normal
             // boot, then we need to initialize the default preferred apps across
             // all defined users.
-            if (!onlyCore && (mPromoteSystemApps || !mRestoredSettings)) {
+            if (!onlyCore && (mPromoteSystemApps || mFirstBoot)) {
                 for (UserInfo user : sUserManager.getUsers(true)) {
                     mSettings.applyDefaultPreferredAppsLPw(this, user.id);
                     applyFactoryDefaultBrowserLPw(user.id);
@@ -2849,7 +2892,7 @@
 
     @Override
     public boolean isFirstBoot() {
-        return !mRestoredSettings;
+        return mFirstBoot;
     }
 
     @Override
@@ -2936,17 +2979,20 @@
     private @Nullable ComponentName getEphemeralResolverLPr() {
         final String[] packageArray =
                 mContext.getResources().getStringArray(R.array.config_ephemeralResolverPackage);
-        if (packageArray.length == 0) {
+        if (packageArray.length == 0 && !Build.IS_DEBUGGABLE) {
             if (DEBUG_EPHEMERAL) {
                 Slog.d(TAG, "Ephemeral resolver NOT found; empty package list");
             }
             return null;
         }
 
+        final int resolveFlags =
+                MATCH_DIRECT_BOOT_AWARE
+                | MATCH_DIRECT_BOOT_UNAWARE
+                | (!Build.IS_DEBUGGABLE ? MATCH_SYSTEM_ONLY : 0);
         final Intent resolverIntent = new Intent(Intent.ACTION_RESOLVE_EPHEMERAL_PACKAGE);
         final List<ResolveInfo> resolvers = queryIntentServicesInternal(resolverIntent, null,
-                MATCH_SYSTEM_ONLY | MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE,
-                UserHandle.USER_SYSTEM);
+                resolveFlags, UserHandle.USER_SYSTEM);
 
         final int N = resolvers.size();
         if (N == 0) {
@@ -2965,7 +3011,7 @@
             }
 
             final String packageName = info.serviceInfo.packageName;
-            if (!possiblePackages.contains(packageName)) {
+            if (!possiblePackages.contains(packageName) && !Build.IS_DEBUGGABLE) {
                 if (DEBUG_EPHEMERAL) {
                     Slog.d(TAG, "Ephemeral resolver not in allowed package list;"
                             + " pkg: " + packageName + ", info:" + info);
@@ -2990,9 +3036,12 @@
         intent.addCategory(Intent.CATEGORY_DEFAULT);
         intent.setDataAndType(Uri.fromFile(new File("foo.apk")), PACKAGE_MIME_TYPE);
 
+        final int resolveFlags =
+                MATCH_DIRECT_BOOT_AWARE
+                | MATCH_DIRECT_BOOT_UNAWARE
+                | (!Build.IS_DEBUGGABLE ? MATCH_SYSTEM_ONLY : 0);
         final List<ResolveInfo> matches = queryIntentActivitiesInternal(intent, PACKAGE_MIME_TYPE,
-                MATCH_SYSTEM_ONLY | MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE,
-                UserHandle.USER_SYSTEM);
+                resolveFlags, UserHandle.USER_SYSTEM);
         if (matches.size() == 0) {
             return null;
         } else if (matches.size() == 1) {
@@ -3167,8 +3216,12 @@
 
         final PermissionsState permissionsState = ps.getPermissionsState();
 
-        final int[] gids = permissionsState.computeGids(userId);
-        final Set<String> permissions = permissionsState.getPermissions(userId);
+        // Compute GIDs only if requested
+        final int[] gids = (flags & PackageManager.GET_GIDS) == 0
+                ? EMPTY_INT_ARRAY : permissionsState.computeGids(userId);
+        // Compute granted permissions only if package has requested permissions
+        final Set<String> permissions = ArrayUtils.isEmpty(p.requestedPermissions)
+                ? Collections.<String>emptySet() : permissionsState.getPermissions(userId);
         final PackageUserState state = ps.readUserState(userId);
 
         return PackageParser.generatePackageInfo(p, gids, flags,
@@ -4751,10 +4804,8 @@
                 final SharedUserSetting sus = (SharedUserSetting) obj;
                 final int N = sus.packages.size();
                 final String[] res = new String[N];
-                final Iterator<PackageSetting> it = sus.packages.iterator();
-                int i = 0;
-                while (it.hasNext()) {
-                    res[i++] = it.next().name;
+                for (int i = 0; i < N; i++) {
+                    res[i] = sus.packages.valueAt(i).name;
                 }
                 return res;
             } else if (obj instanceof PackageSetting) {
@@ -4983,48 +5034,45 @@
 
     private EphemeralResolveInfo getEphemeralResolveInfo(Intent intent, String resolvedType,
             int userId) {
-        MessageDigest digest = null;
-        try {
-            digest = MessageDigest.getInstance(EphemeralResolveInfo.SHA_ALGORITHM);
-        } catch (NoSuchAlgorithmException e) {
-            // If we can't create a digest, ignore ephemeral apps.
-            return null;
-        }
-
-        final byte[] hostBytes = intent.getData().getHost().getBytes();
-        final byte[] digestBytes = digest.digest(hostBytes);
-        int shaPrefix =
-                digestBytes[0] << 24
-                | digestBytes[1] << 16
-                | digestBytes[2] << 8
-                | digestBytes[3] << 0;
+        final int ephemeralPrefixMask = Global.getInt(mContext.getContentResolver(),
+                Global.EPHEMERAL_HASH_PREFIX_MASK, DEFAULT_EPHEMERAL_HASH_PREFIX_MASK);
+        final int ephemeralPrefixCount = Global.getInt(mContext.getContentResolver(),
+                Global.EPHEMERAL_HASH_PREFIX_COUNT, DEFAULT_EPHEMERAL_HASH_PREFIX_COUNT);
+        final EphemeralDigest digest = new EphemeralDigest(intent.getData(), ephemeralPrefixMask,
+                ephemeralPrefixCount);
+        final int[] shaPrefix = digest.getDigestPrefix();
+        final byte[][] digestBytes = digest.getDigestBytes();
         final List<EphemeralResolveInfo> ephemeralResolveInfoList =
-                mEphemeralResolverConnection.getEphemeralResolveInfoList(shaPrefix);
+                mEphemeralResolverConnection.getEphemeralResolveInfoList(
+                        shaPrefix, ephemeralPrefixMask);
         if (ephemeralResolveInfoList == null || ephemeralResolveInfoList.size() == 0) {
             // No hash prefix match; there are no ephemeral apps for this domain.
             return null;
         }
-        for (int i = ephemeralResolveInfoList.size() - 1; i >= 0; --i) {
-            EphemeralResolveInfo ephemeralApplication = ephemeralResolveInfoList.get(i);
-            if (!Arrays.equals(digestBytes, ephemeralApplication.getDigestBytes())) {
-                continue;
-            }
-            final List<IntentFilter> filters = ephemeralApplication.getFilters();
-            // No filters; this should never happen.
-            if (filters.isEmpty()) {
-                continue;
-            }
-            // We have a domain match; resolve the filters to see if anything matches.
-            final EphemeralIntentResolver ephemeralResolver = new EphemeralIntentResolver();
-            for (int j = filters.size() - 1; j >= 0; --j) {
-                final EphemeralResolveIntentInfo intentInfo =
-                        new EphemeralResolveIntentInfo(filters.get(j), ephemeralApplication);
-                ephemeralResolver.addFilter(intentInfo);
-            }
-            List<EphemeralResolveInfo> matchedResolveInfoList = ephemeralResolver.queryIntent(
-                    intent, resolvedType, false /*defaultOnly*/, userId);
-            if (!matchedResolveInfoList.isEmpty()) {
-                return matchedResolveInfoList.get(0);
+
+        // Go in reverse order so we match the narrowest scope first.
+        for (int i = shaPrefix.length - 1; i >= 0 ; --i) {
+            for (EphemeralResolveInfo ephemeralApplication : ephemeralResolveInfoList) {
+                if (!Arrays.equals(digestBytes[i], ephemeralApplication.getDigestBytes())) {
+                    continue;
+                }
+                final List<IntentFilter> filters = ephemeralApplication.getFilters();
+                // No filters; this should never happen.
+                if (filters.isEmpty()) {
+                    continue;
+                }
+                // We have a domain match; resolve the filters to see if anything matches.
+                final EphemeralIntentResolver ephemeralResolver = new EphemeralIntentResolver();
+                for (int j = filters.size() - 1; j >= 0; --j) {
+                    final EphemeralResolveIntentInfo intentInfo =
+                            new EphemeralResolveIntentInfo(filters.get(j), ephemeralApplication);
+                    ephemeralResolver.addFilter(intentInfo);
+                }
+                List<EphemeralResolveInfo> matchedResolveInfoList = ephemeralResolver.queryIntent(
+                        intent, resolvedType, false /*defaultOnly*/, userId);
+                if (!matchedResolveInfoList.isEmpty()) {
+                    return matchedResolveInfoList.get(0);
+                }
             }
         }
         // Hash or filter mis-match; no ephemeral apps for this domain.
@@ -6753,11 +6801,26 @@
         }
     }
 
+    private long getLastModifiedTime(PackageParser.Package pkg, File srcFile) {
+        if (srcFile.isDirectory()) {
+            final File baseFile = new File(pkg.baseCodePath);
+            long maxModifiedTime = baseFile.lastModified();
+            if (pkg.splitCodePaths != null) {
+                for (int i = pkg.splitCodePaths.length - 1; i >=0; --i) {
+                    final File splitFile = new File(pkg.splitCodePaths[i]);
+                    maxModifiedTime = Math.max(maxModifiedTime, splitFile.lastModified());
+                }
+            }
+            return maxModifiedTime;
+        }
+        return srcFile.lastModified();
+    }
+
     private void collectCertificatesLI(PackageSetting ps, PackageParser.Package pkg, File srcFile,
             final int policyFlags) throws PackageManagerException {
         if (ps != null
                 && ps.codePath.equals(srcFile)
-                && ps.timeStamp == srcFile.lastModified()
+                && ps.timeStamp == getLastModifiedTime(pkg, srcFile)
                 && !isCompatSignatureUpdateNeeded(pkg)
                 && !isRecoverSignatureUpdateNeeded(pkg)) {
             long mSigningKeySetId = ps.keySetData.getProperSigningKeySet();
@@ -7520,9 +7583,11 @@
                 throw new IllegalArgumentException("Unknown package: " + packageName);
             }
         }
-        /* Only the shell or the app user should be able to dump profiles. */
+        /* Only the shell, root, or the app user should be able to dump profiles. */
         int callingUid = Binder.getCallingUid();
-        if (callingUid != Process.SHELL_UID && callingUid != pkg.applicationInfo.uid) {
+        if (callingUid != Process.SHELL_UID &&
+            callingUid != Process.ROOT_UID &&
+            callingUid != pkg.applicationInfo.uid) {
             throw new SecurityException("dumpProfiles");
         }
 
@@ -7530,16 +7595,7 @@
             Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "dump profiles");
             final int sharedGid = UserHandle.getSharedAppGid(pkg.applicationInfo.uid);
             try {
-                final File codeFile = new File(pkg.applicationInfo.getCodePath());
-                List<String> allCodePaths = Collections.EMPTY_LIST;
-                if (codeFile != null && codeFile.exists()) {
-                    try {
-                        final PackageLite codePkg = PackageParser.parsePackageLite(codeFile, 0);
-                        allCodePaths = codePkg.getAllCodePaths();
-                    } catch (PackageParserException e) {
-                        // Well, we tried.
-                    }
-                }
+                List<String> allCodePaths = pkg.getAllCodePathsExcludingResourceOnly();
                 String gid = Integer.toString(sharedGid);
                 String codePaths = TextUtils.join(";", allCodePaths);
                 mInstaller.dumpProfiles(gid, packageName, codePaths);
@@ -7966,7 +8022,9 @@
         } catch (IOException ignore) {
         } finally {
             try {
-                jarFile.close();
+                if (jarFile != null) {
+                    jarFile.close();
+                }
             } catch (IOException ignore) {}
         }
         return false;
@@ -8400,7 +8458,7 @@
 
         final String pkgName = pkg.packageName;
 
-        final long scanFileTime = scanFile.lastModified();
+        final long scanFileTime = getLastModifiedTime(pkg, scanFile);
         final boolean forceDex = (scanFlags & SCAN_FORCE_DEX) != 0;
         pkg.applicationInfo.processName = fixProcessName(
                 pkg.applicationInfo.packageName,
@@ -8620,7 +8678,11 @@
             // We don't expect installation to fail beyond this point
 
             if (pkgSetting.pkg != null) {
-                maybeRenameForeignDexMarkers(pkgSetting.pkg, pkg, user);
+                // Note that |user| might be null during the initial boot scan. If a codePath
+                // for an app has changed during a boot scan, it's due to an app update that's
+                // part of the system partition and marker changes must be applied to all users.
+                maybeRenameForeignDexMarkers(pkgSetting.pkg, pkg,
+                    (user != null) ? user : UserHandle.ALL);
             }
 
             // Add the new setting to mSettings
@@ -9535,6 +9597,10 @@
     }
 
     private void killApplication(String pkgName, int appId, String reason) {
+        killApplication(pkgName, appId, UserHandle.USER_ALL, reason);
+    }
+
+    private void killApplication(String pkgName, int appId, int userId, String reason) {
         // Request the ActivityManager to kill the process(only for existing packages)
         // so that we do not end up in a confused state while the user is still using the older
         // version of the application while the new one gets installed.
@@ -9543,7 +9609,7 @@
             IActivityManager am = ActivityManagerNative.getDefault();
             if (am != null) {
                 try {
-                    am.killApplicationWithAppId(pkgName, appId, reason);
+                    am.killApplication(pkgName, appId, userId, reason);
                 } catch (RemoteException e) {
                 }
             }
@@ -11635,6 +11701,12 @@
                 if (pkgSetting == null) {
                     return false;
                 }
+                // Only allow protected packages to hide themselves.
+                if (hidden && !UserHandle.isSameApp(uid, pkgSetting.appId)
+                        && mProtectedPackages.isPackageStateProtected(userId, packageName)) {
+                    Slog.w(TAG, "Not hiding protected package: " + packageName);
+                    return false;
+                }
                 if (pkgSetting.getHidden(userId) != hidden) {
                     pkgSetting.setHidden(hidden, userId);
                     mSettings.writePackageRestrictionsLPr(userId);
@@ -12527,13 +12599,12 @@
             }
 
             if (mSuccess) {
-                final boolean mounted;
-                if (Environment.isExternalStorageEmulated()) {
-                    mounted = true;
-                } else {
+                boolean mounted = false;
+                try {
                     final String status = Environment.getExternalStorageState();
                     mounted = (Environment.MEDIA_MOUNTED.equals(status)
                             || Environment.MEDIA_MOUNTED_READ_ONLY.equals(status));
+                } catch (Exception e) {
                 }
 
                 if (mounted) {
@@ -14479,7 +14550,9 @@
         // Remove existing system package
         removePackageLI(deletedPackage, true);
 
-        disabledSystem = disableSystemPackageLPw(deletedPackage, pkg);
+        synchronized (mPackages) {
+            disabledSystem = disableSystemPackageLPw(deletedPackage, pkg);
+        }
         if (!disabledSystem) {
             // We didn't need to disable the .apk as a current system package,
             // which means we are replacing another update that is already
@@ -15133,16 +15206,13 @@
             }
             Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "dexopt");
             // Do not run PackageDexOptimizer through the local performDexOpt
-            // method because `pkg` is not in `mPackages` yet.
-            int result = mPackageDexOptimizer.performDexOpt(pkg, pkg.usesLibraryFiles,
+            // method because `pkg` may not be in `mPackages` yet.
+            //
+            // Also, don't fail application installs if the dexopt step fails.
+            mPackageDexOptimizer.performDexOpt(pkg, pkg.usesLibraryFiles,
                     null /* instructionSets */, false /* checkProfiles */,
                     getCompilerFilterForReason(REASON_INSTALL));
             Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
-            if (result == PackageDexOptimizer.DEX_OPT_FAILED) {
-                String msg = "Extracting package failed for " + pkgName;
-                res.setError(INSTALL_FAILED_DEXOPT, msg);
-                return;
-            }
 
             // Notify BackgroundDexOptService that the package has been changed.
             // If this is an update of a package which used to fail to compile,
@@ -15558,10 +15628,10 @@
         final PackageRemovedInfo info = new PackageRemovedInfo();
         final boolean res;
 
-        final UserHandle removeForUser = (deleteFlags & PackageManager.DELETE_ALL_USERS) != 0
-                ? UserHandle.ALL : new UserHandle(userId);
+        final int removeUser = (deleteFlags & PackageManager.DELETE_ALL_USERS) != 0
+                ? UserHandle.USER_ALL : userId;
 
-        if (isPackageDeviceAdmin(packageName, removeForUser.getIdentifier())) {
+        if (isPackageDeviceAdmin(packageName, removeUser)) {
             Slog.w(TAG, "Not removing package " + packageName + ": has active device admin");
             return PackageManager.DELETE_FAILED_DEVICE_POLICY_MANAGER;
         }
@@ -15581,11 +15651,21 @@
             info.origUsers = uninstalledPs.queryInstalledUsers(allUsers, true);
         }
 
+        final int freezeUser;
+        if (isUpdatedSystemApp(uninstalledPs)
+                && ((deleteFlags & PackageManager.DELETE_SYSTEM_APP) == 0)) {
+            // We're downgrading a system app, which will apply to all users, so
+            // freeze them all during the downgrade
+            freezeUser = UserHandle.USER_ALL;
+        } else {
+            freezeUser = removeUser;
+        }
+
         synchronized (mInstallLock) {
             if (DEBUG_REMOVE) Slog.d(TAG, "deletePackageX: pkg=" + packageName + " user=" + userId);
-            try (PackageFreezer freezer = freezePackageForDelete(packageName, deleteFlags,
-                    "deletePackageX")) {
-                res = deletePackageLIF(packageName, removeForUser, true, allUsers,
+            try (PackageFreezer freezer = freezePackageForDelete(packageName, freezeUser,
+                    deleteFlags, "deletePackageX")) {
+                res = deletePackageLIF(packageName, UserHandle.of(removeUser), true, allUsers,
                         deleteFlags | REMOVE_CHATTY, info, true, null);
             }
             synchronized (mPackages) {
@@ -16341,8 +16421,9 @@
                 for (int curUser : users) {
                     long timeout = SystemClock.uptimeMillis() + 5000;
                     synchronized (conn) {
-                        long now = SystemClock.uptimeMillis();
-                        while (conn.mContainerService == null && now < timeout) {
+                        long now;
+                        while (conn.mContainerService == null &&
+                                (now = SystemClock.uptimeMillis()) < timeout) {
                             try {
                                 conn.wait(timeout - now);
                             } catch (InterruptedException e) {
@@ -16396,10 +16477,9 @@
         enforceCrossUserPermission(Binder.getCallingUid(), userId,
                 true /* requireFullPermission */, false /* checkShell */, "clear application data");
 
-        final DevicePolicyManagerInternal dpmi = LocalServices
-                .getService(DevicePolicyManagerInternal.class);
-        if (dpmi != null && dpmi.hasDeviceOwnerOrProfileOwner(packageName, userId)) {
-            throw new SecurityException("Cannot clear data for a device owner or a profile owner");
+        if (mProtectedPackages.isPackageDataProtected(userId, packageName)) {
+            throw new SecurityException("Cannot clear data for a protected package: "
+                    + packageName);
         }
         // Queue up an async operation since the package deletion may take a little while.
         mHandler.post(new Runnable() {
@@ -17585,6 +17665,7 @@
     private Intent getHomeIntent() {
         Intent intent = new Intent(Intent.ACTION_MAIN);
         intent.addCategory(Intent.CATEGORY_HOME);
+        intent.addCategory(Intent.CATEGORY_DEFAULT);
         return intent;
     }
 
@@ -17725,11 +17806,9 @@
                         + Binder.getCallingPid()
                         + ", uid=" + uid + ", package uid=" + pkgSetting.appId);
             }
-            // Don't allow changing profile and device owners. Calling into DPMS, so no locking.
-            final DevicePolicyManagerInternal dpmi = LocalServices
-                    .getService(DevicePolicyManagerInternal.class);
-            if (dpmi != null && dpmi.hasDeviceOwnerOrProfileOwner(packageName, userId)) {
-                throw new SecurityException("Cannot disable a device owner or a profile owner");
+            // Don't allow changing protected packages.
+            if (mProtectedPackages.isPackageStateProtected(userId, packageName)) {
+                throw new SecurityException("Cannot disable a protected package: " + packageName);
             }
         }
 
@@ -19356,10 +19435,18 @@
             if ((flags & StorageManager.FLAG_STORAGE_DE) != 0 && !mOnlyCore) {
                 UserManagerService.enforceSerialNumber(
                         Environment.getDataUserDeDirectory(volumeUuid, userId), userSerial);
+                if (Objects.equals(volumeUuid, StorageManager.UUID_PRIVATE_INTERNAL)) {
+                    UserManagerService.enforceSerialNumber(
+                            Environment.getDataSystemDeDirectory(userId), userSerial);
+                }
             }
             if ((flags & StorageManager.FLAG_STORAGE_CE) != 0 && !mOnlyCore) {
                 UserManagerService.enforceSerialNumber(
                         Environment.getDataUserCeDirectory(volumeUuid, userId), userSerial);
+                if (Objects.equals(volumeUuid, StorageManager.UUID_PRIVATE_INTERNAL)) {
+                    UserManagerService.enforceSerialNumber(
+                            Environment.getDataSystemCeDirectory(userId), userSerial);
+                }
             }
 
             synchronized (mInstallLock) {
@@ -19428,6 +19515,10 @@
                 .listFilesOrEmpty(Environment.getDataUserDeDirectory(volumeUuid)));
         Collections.addAll(files, FileUtils
                 .listFilesOrEmpty(Environment.getDataUserCeDirectory(volumeUuid)));
+        Collections.addAll(files, FileUtils
+                .listFilesOrEmpty(Environment.getDataSystemDeDirectory()));
+        Collections.addAll(files, FileUtils
+                .listFilesOrEmpty(Environment.getDataSystemCeDirectory()));
         for (File file : files) {
             if (!file.isDirectory()) continue;
 
@@ -19831,24 +19922,38 @@
     }
 
     public PackageFreezer freezePackage(String packageName, String killReason) {
-        return new PackageFreezer(packageName, killReason);
+        return freezePackage(packageName, UserHandle.USER_ALL, killReason);
+    }
+
+    public PackageFreezer freezePackage(String packageName, int userId, String killReason) {
+        return new PackageFreezer(packageName, userId, killReason);
     }
 
     public PackageFreezer freezePackageForInstall(String packageName, int installFlags,
             String killReason) {
+        return freezePackageForInstall(packageName, UserHandle.USER_ALL, installFlags, killReason);
+    }
+
+    public PackageFreezer freezePackageForInstall(String packageName, int userId, int installFlags,
+            String killReason) {
         if ((installFlags & PackageManager.INSTALL_DONT_KILL_APP) != 0) {
             return new PackageFreezer();
         } else {
-            return freezePackage(packageName, killReason);
+            return freezePackage(packageName, userId, killReason);
         }
     }
 
     public PackageFreezer freezePackageForDelete(String packageName, int deleteFlags,
             String killReason) {
+        return freezePackageForDelete(packageName, UserHandle.USER_ALL, deleteFlags, killReason);
+    }
+
+    public PackageFreezer freezePackageForDelete(String packageName, int userId, int deleteFlags,
+            String killReason) {
         if ((deleteFlags & PackageManager.DELETE_DONT_KILL_APP) != 0) {
             return new PackageFreezer();
         } else {
-            return freezePackage(packageName, killReason);
+            return freezePackage(packageName, userId, killReason);
         }
     }
 
@@ -19879,14 +19984,14 @@
             mCloseGuard.open("close");
         }
 
-        public PackageFreezer(String packageName, String killReason) {
+        public PackageFreezer(String packageName, int userId, String killReason) {
             synchronized (mPackages) {
                 mPackageName = packageName;
                 mWeFroze = mFrozenPackages.add(mPackageName);
 
                 final PackageSetting ps = mSettings.mPackages.get(mPackageName);
                 if (ps != null) {
-                    killApplication(ps.name, ps.appId, killReason);
+                    killApplication(ps.name, ps.appId, userId, killReason);
                 }
 
                 final PackageParser.Package p = mPackages.get(packageName);
@@ -19895,7 +20000,7 @@
                     mChildren = new PackageFreezer[N];
                     for (int i = 0; i < N; i++) {
                         mChildren[i] = new PackageFreezer(p.childPackages.get(i).packageName,
-                                killReason);
+                                userId, killReason);
                     }
                 } else {
                     mChildren = null;
@@ -20034,7 +20139,7 @@
             seinfo = pkg.applicationInfo.seinfo;
             label = String.valueOf(pm.getApplicationLabel(pkg.applicationInfo));
             targetSdkVersion = pkg.applicationInfo.targetSdkVersion;
-            freezer = new PackageFreezer(packageName, "movePackageInternal");
+            freezer = freezePackage(packageName, "movePackageInternal");
             installedUserIds = ps.queryInstalledUsers(sUserManager.getUserIds(), true);
         }
 
@@ -20825,6 +20930,19 @@
                 int userId) {
             return PackageManagerService.this.getHomeActivitiesAsUser(allHomeCandidates, userId);
         }
+
+        @Override
+        public void setDeviceAndProfileOwnerPackages(
+                int deviceOwnerUserId, String deviceOwnerPackage,
+                SparseArray<String> profileOwnerPackages) {
+            mProtectedPackages.setDeviceAndProfileOwnerPackages(
+                    deviceOwnerUserId, deviceOwnerPackage, profileOwnerPackages);
+        }
+
+        @Override
+        public boolean isPackageDataProtected(int userId, String packageName) {
+            return mProtectedPackages.isPackageDataProtected(userId, packageName);
+        }
     }
 
     @Override
diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
index 07dc404..5787bdb 100644
--- a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
+++ b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
@@ -1099,8 +1099,9 @@
 
         try {
             mInterface.setHomeActivity(componentName, userId);
+            pw.println("Success");
             return 0;
-        } catch (RemoteException e) {
+        } catch (Exception e) {
             pw.println(e.toString());
             return 1;
         }
diff --git a/services/core/java/com/android/server/pm/PermissionsState.java b/services/core/java/com/android/server/pm/PermissionsState.java
index 007b738..8f9968ec 100644
--- a/services/core/java/com/android/server/pm/PermissionsState.java
+++ b/services/core/java/com/android/server/pm/PermissionsState.java
@@ -274,7 +274,7 @@
             return Collections.emptySet();
         }
 
-        Set<String> permissions = new ArraySet<>();
+        Set<String> permissions = new ArraySet<>(mPermissions.size());
 
         final int permissionCount = mPermissions.size();
         for (int i = 0; i < permissionCount; i++) {
@@ -282,6 +282,7 @@
 
             if (hasInstallPermission(permission)) {
                 permissions.add(permission);
+                continue;
             }
 
             if (userId != UserHandle.USER_ALL) {
diff --git a/services/core/java/com/android/server/pm/ProtectedPackages.java b/services/core/java/com/android/server/pm/ProtectedPackages.java
new file mode 100644
index 0000000..e67364a
--- /dev/null
+++ b/services/core/java/com/android/server/pm/ProtectedPackages.java
@@ -0,0 +1,120 @@
+/*
+ * 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.
+ */
+
+package com.android.server.pm;
+
+import android.annotation.Nullable;
+import android.annotation.UserIdInt;
+import android.content.Context;
+import android.os.UserHandle;
+import android.util.SparseArray;
+
+import com.android.internal.R;
+import com.android.internal.annotations.GuardedBy;
+
+/**
+ * Manages package names that need special protection.
+ *
+ * TODO: This class should persist the information by itself, and also keeps track of device admin
+ * packages for all users.  Then PMS.isPackageDeviceAdmin() should use it instead of talking
+ * to DPMS.
+ */
+public class ProtectedPackages {
+    @UserIdInt
+    @GuardedBy("this")
+    private int mDeviceOwnerUserId;
+
+    @Nullable
+    @GuardedBy("this")
+    private String mDeviceOwnerPackage;
+
+    @Nullable
+    @GuardedBy("this")
+    private SparseArray<String> mProfileOwnerPackages;
+
+    @Nullable
+    @GuardedBy("this")
+    private final String mDeviceProvisioningPackage;
+
+    private final Context mContext;
+
+    public ProtectedPackages(Context context) {
+        mContext = context;
+        mDeviceProvisioningPackage = mContext.getResources().getString(
+                R.string.config_deviceProvisioningPackage);
+    }
+
+    /**
+     * Sets the device/profile owner information.
+     */
+    public synchronized void setDeviceAndProfileOwnerPackages(
+            int deviceOwnerUserId, String deviceOwnerPackage,
+            SparseArray<String> profileOwnerPackages) {
+        mDeviceOwnerUserId = deviceOwnerUserId;
+        mDeviceOwnerPackage =
+                (deviceOwnerUserId == UserHandle.USER_NULL) ? null : deviceOwnerPackage;
+        mProfileOwnerPackages = (profileOwnerPackages == null) ? null
+                : profileOwnerPackages.clone();
+    }
+
+    private synchronized boolean hasDeviceOwnerOrProfileOwner(int userId, String packageName) {
+        if (packageName == null) {
+            return false;
+        }
+        if (mDeviceOwnerPackage != null) {
+            if ((mDeviceOwnerUserId == userId)
+                    && (packageName.equals(mDeviceOwnerPackage))) {
+                return true;
+            }
+        }
+        if (mProfileOwnerPackages != null) {
+            if (packageName.equals(mProfileOwnerPackages.get(userId))) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Returns {@code true} if a given package is protected. Otherwise, returns {@code false}.
+     *
+     * <p>A protected package means that, apart from the package owner, no system or privileged apps
+     * can modify its data or package state.
+     */
+    private synchronized boolean isProtectedPackage(String packageName) {
+        return packageName != null && packageName.equals(mDeviceProvisioningPackage);
+    }
+
+    /**
+     * Returns {@code true} if a given package's state is protected. Otherwise, returns
+     * {@code false}.
+     *
+     * <p>This is not applicable if the caller is the package owner.
+     */
+    public boolean isPackageStateProtected(@UserIdInt int userId, String packageName) {
+        return hasDeviceOwnerOrProfileOwner(userId, packageName)
+                || isProtectedPackage(packageName);
+    }
+
+    /**
+     * Returns {@code true} if a given package's data is protected. Otherwise, returns
+     * {@code false}.
+     */
+    public boolean isPackageDataProtected(@UserIdInt int userId, String packageName) {
+        return hasDeviceOwnerOrProfileOwner(userId, packageName)
+                || isProtectedPackage(packageName);
+    }
+}
diff --git a/services/core/java/com/android/server/pm/ShortcutPackage.java b/services/core/java/com/android/server/pm/ShortcutPackage.java
index f336ff3..1a4e4e0 100644
--- a/services/core/java/com/android/server/pm/ShortcutPackage.java
+++ b/services/core/java/com/android/server/pm/ShortcutPackage.java
@@ -19,10 +19,8 @@
 import android.annotation.Nullable;
 import android.annotation.UserIdInt;
 import android.content.ComponentName;
-import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.ShortcutInfo;
 import android.content.res.Resources;
 import android.os.PersistableBundle;
@@ -51,18 +49,15 @@
 import java.util.Set;
 import java.util.function.Predicate;
 
-import sun.misc.Resource;
-
 /**
  * Package information used by {@link ShortcutService}.
  * User information used by {@link ShortcutService}.
  *
  * All methods should be guarded by {@code #mShortcutUser.mService.mLock}.
- *
- * TODO Max dynamic shortcuts cap should be per activity.
  */
 class ShortcutPackage extends ShortcutPackageItem {
     private static final String TAG = ShortcutService.TAG;
+    private static final String TAG_VERIFY = ShortcutService.TAG + ".verify";
 
     static final String TAG_ROOT = "package";
     private static final String TAG_INTENT_EXTRAS = "intent-extras";
@@ -260,14 +255,8 @@
             oldShortcut.ensureUpdatableWith(newShortcut);
 
             wasPinned = oldShortcut.isPinned();
-            if (!oldShortcut.isEnabled()) {
-                newShortcut.addFlags(ShortcutInfo.FLAG_DISABLED);
-            }
         }
 
-        // TODO Check max dynamic count.
-        // mShortcutUser.mService.enforceMaxDynamicShortcuts(newDynamicCount);
-
         // If it was originally pinned, the new one should be pinned too.
         if (wasPinned) {
             newShortcut.addFlags(ShortcutInfo.FLAG_PINNED);
@@ -303,12 +292,17 @@
      * Remove all dynamic shortcuts.
      */
     public void deleteAllDynamicShortcuts() {
+        final long now = mShortcutUser.mService.injectCurrentTimeMillis();
+
         boolean changed = false;
         for (int i = mShortcuts.size() - 1; i >= 0; i--) {
             final ShortcutInfo si = mShortcuts.valueAt(i);
             if (si.isDynamic()) {
                 changed = true;
+
+                si.setTimestamp(now);
                 si.clearFlags(ShortcutInfo.FLAG_DYNAMIC);
+                si.setRank(0); // It may still be pinned, so clear the rank.
             }
         }
         if (changed) {
@@ -319,9 +313,27 @@
     /**
      * Remove a dynamic shortcut by ID.  It'll be removed from the dynamic set, but if the shortcut
      * is pinned, it'll remain as a pinned shortcut, and is still enabled.
+     *
+     * @return true if it's actually removed because it wasn't pinned, or false if it's still
+     * pinned.
      */
-    public void deleteDynamicWithId(@NonNull String shortcutId) {
-        deleteOrDisableWithId(shortcutId, /* disable =*/ false, /* overrideImmutable=*/ false);
+    public boolean deleteDynamicWithId(@NonNull String shortcutId) {
+        final ShortcutInfo removed = deleteOrDisableWithId(
+                shortcutId, /* disable =*/ false, /* overrideImmutable=*/ false);
+        return removed == null;
+    }
+
+    /**
+     * Disable a dynamic shortcut by ID.  It'll be removed from the dynamic set, but if the shortcut
+     * is pinned, it'll remain as a pinned shortcut, but will be disabled.
+     *
+     * @return true if it's actually removed because it wasn't pinned, or false if it's still
+     * pinned.
+     */
+    private boolean disableDynamicWithId(@NonNull String shortcutId) {
+        final ShortcutInfo disabled = deleteOrDisableWithId(
+                shortcutId, /* disable =*/ true, /* overrideImmutable=*/ false);
+        return disabled == null;
     }
 
     /**
@@ -356,10 +368,14 @@
             ensureNotImmutable(oldShortcut);
         }
         if (oldShortcut.isPinned()) {
+
+            oldShortcut.setRank(0);
             oldShortcut.clearFlags(ShortcutInfo.FLAG_DYNAMIC | ShortcutInfo.FLAG_MANIFEST);
             if (disable) {
                 oldShortcut.addFlags(ShortcutInfo.FLAG_DISABLED);
             }
+            oldShortcut.setTimestamp(mShortcutUser.mService.injectCurrentTimeMillis());
+
             return oldShortcut;
         } else {
             deleteShortcutInner(shortcutId);
@@ -593,14 +609,14 @@
      *
      * @return TRUE if any shortcuts have been changed.
      */
-    public boolean handlePackageAddedOrUpdated(boolean isNewApp) {
+    public boolean handlePackageAddedOrUpdated(boolean isNewApp, boolean forceRescan) {
         final PackageInfo pi = mShortcutUser.mService.getPackageInfo(
                 getPackageName(), getPackageUserId());
         if (pi == null) {
             return false; // Shouldn't happen.
         }
 
-        if (!isNewApp) {
+        if (!isNewApp && !forceRescan) {
             // Make sure the version code or last update time has changed.
             // Otherwise, nothing to do.
             if (getPackageInfo().getVersionCode() >= pi.versionCode
@@ -643,12 +659,26 @@
         boolean changed = false;
 
         // For existing shortcuts, update timestamps if they have any resources.
+        // Also check if shortcuts' activities are still main activities.  Otherwise, disable them.
         if (!isNewApp) {
             Resources publisherRes = null;
 
             for (int i = mShortcuts.size() - 1; i >= 0; i--) {
                 final ShortcutInfo si = mShortcuts.valueAt(i);
 
+                if (si.isDynamic()) {
+                    if (!s.injectIsMainActivity(si.getActivity(), getPackageUserId())) {
+                        Slog.w(TAG, String.format(
+                                "%s is no longer main activity. Disabling shorcut %s.",
+                                getPackageName(), si.getId()));
+                        if (disableDynamicWithId(si.getId())) {
+                            continue; // Actually removed.
+                        }
+                        // Still pinned, so fall-through and possibly update the resources.
+                    }
+                    changed = true;
+                }
+
                 if (si.hasAnyResources()) {
                     if (!si.isOriginallyFromManifest()) {
                         if (publisherRes == null) {
@@ -676,6 +706,8 @@
             changed |= pushOutExcessShortcuts();
         }
 
+        s.verifyStates();
+
         if (changed) {
             // This will send a notification to the launcher, and also save .
             s.packageShortcutsChanged(getPackageName(), getPackageUserId());
@@ -768,6 +800,7 @@
             }
             removeOrphans();
         }
+        adjustRanks();
         return changed;
     }
 
@@ -804,7 +837,6 @@
                 deleteDynamicWithId(shortcut.getId());
             }
         }
-        service.verifyStates();
 
         return changed;
     }
@@ -829,7 +861,7 @@
         if (!a.isManifestShortcut() && b.isManifestShortcut()) {
             return 1;
         }
-        return a.getRank() - b.getRank();
+        return Integer.compare(a.getRank(), b.getRank());
     };
 
     /**
@@ -837,8 +869,6 @@
      * contain "floating" shortcuts because they don't belong on any activities.
      */
     private ArrayMap<ComponentName, ArrayList<ShortcutInfo>> sortShortcutsToActivities() {
-        final int maxShortcuts = mShortcutUser.mService.getMaxActivityShortcuts();
-
         final ArrayMap<ComponentName, ArrayList<ShortcutInfo>> activitiesToShortcuts
                 = new ArrayMap<>();
         for (int i = mShortcuts.size() - 1; i >= 0; i--) {
@@ -851,7 +881,7 @@
 
             ArrayList<ShortcutInfo> list = activitiesToShortcuts.get(activity);
             if (list == null) {
-                list = new ArrayList<>(maxShortcuts * 2);
+                list = new ArrayList<>();
                 activitiesToShortcuts.put(activity, list);
             }
             list.add(si);
@@ -906,9 +936,8 @@
             final ComponentName newActivity = newShortcut.getActivity();
             if (newActivity == null) {
                 if (operation != ShortcutService.OPERATION_UPDATE) {
-                    // This method may be called before validating shortcuts, so this may happen,
-                    // and is a caller side error.
-                    throw new NullPointerException("activity must be provided");
+                    service.wtf("Activity must not be null at this point");
+                    continue; // Just ignore this invalid case.
                 }
                 continue; // Activity can be null for update.
             }
@@ -976,6 +1005,96 @@
         }
     }
 
+    /** Clears the implicit ranks for all shortcuts. */
+    public void clearAllImplicitRanks() {
+        for (int i = mShortcuts.size() - 1; i >= 0; i--) {
+            final ShortcutInfo si = mShortcuts.valueAt(i);
+            si.clearImplicitRankAndRankChangedFlag();
+        }
+    }
+
+    /**
+     * Used to sort shortcuts for rank auto-adjusting.
+     */
+    final Comparator<ShortcutInfo> mShortcutRankComparator = (ShortcutInfo a, ShortcutInfo b) -> {
+        // First, sort by rank.
+        int ret = Integer.compare(a.getRank(), b.getRank());
+        if (ret != 0) {
+            return ret;
+        }
+        // When ranks are tie, then prioritize the ones that have just been assigned new ranks.
+        // e.g. when there are 3 shortcuts, "s1" "s2" and "s3" with rank 0, 1, 2 respectively,
+        // adding a shortcut "s4" with rank 1 will "insert" it between "s1" and "s2", because
+        // "s2" and "s4" have the same rank 1 but s4 has isRankChanged() set.
+        // Similarly, updating s3's rank to 1 will insert it between s1 and s2.
+        if (a.isRankChanged() != b.isRankChanged()) {
+            return a.isRankChanged() ? -1 : 1;
+        }
+        // If they're still tie, sort by implicit rank -- i.e. preserve the order in which
+        // they're passed to the API.
+        ret = Integer.compare(a.getImplicitRank(), b.getImplicitRank());
+        if (ret != 0) {
+            return ret;
+        }
+        // If they're stil tie, just sort by their IDs.
+        // This may happen with updateShortcuts() -- see
+        // the testUpdateShortcuts_noManifestShortcuts() test.
+        return a.getId().compareTo(b.getId());
+    };
+
+    /**
+     * Re-calculate the ranks for all shortcuts.
+     */
+    public void adjustRanks() {
+        final ShortcutService s = mShortcutUser.mService;
+        final long now = s.injectCurrentTimeMillis();
+
+        // First, clear ranks for floating shortcuts.
+        for (int i = mShortcuts.size() - 1; i >= 0; i--) {
+            final ShortcutInfo si = mShortcuts.valueAt(i);
+            if (si.isFloating()) {
+                if (si.getRank() != 0) {
+                    si.setTimestamp(now);
+                    si.setRank(0);
+                }
+            }
+        }
+
+        // Then adjust ranks.  Ranks are unique for each activity, so we first need to sort
+        // shortcuts to each activity.
+        // Then sort the shortcuts within each activity with mShortcutRankComparator, and
+        // assign ranks from 0.
+        final ArrayMap<ComponentName, ArrayList<ShortcutInfo>> all =
+                sortShortcutsToActivities();
+        for (int outer = all.size() - 1; outer >= 0; outer--) { // For each activity.
+            final ArrayList<ShortcutInfo> list = all.valueAt(outer);
+
+            // Sort by ranks and other signals.
+            Collections.sort(list, mShortcutRankComparator);
+
+            int rank = 0;
+
+            final int size = list.size();
+            for (int i = 0; i < size; i++) {
+                final ShortcutInfo si = list.get(i);
+                if (si.isManifestShortcut()) {
+                    // Don't adjust ranks for manifest shortcuts.
+                    continue;
+                }
+                // At this point, it must be dynamic.
+                if (!si.isDynamic()) {
+                    s.wtf("Non-dynamic shortcut found.");
+                    continue;
+                }
+                final int thisRank = rank++;
+                if (si.getRank() != thisRank) {
+                    si.setTimestamp(now);
+                    si.setRank(thisRank);
+                }
+            }
+        }
+    }
+
     public void dump(@NonNull PrintWriter pw, @NonNull String prefix) {
         pw.println();
 
@@ -1087,7 +1206,6 @@
         ShortcutService.writeAttr(out, ATTR_DISABLED_MESSAGE_RES_NAME,
                 si.getDisabledMessageResName());
         ShortcutService.writeAttr(out, ATTR_INTENT, si.getIntentNoExtras());
-        ShortcutService.writeAttr(out, ATTR_RANK, si.getRank());
         ShortcutService.writeAttr(out, ATTR_TIMESTAMP,
                 si.getLastChangedTimestamp());
         if (forBackup) {
@@ -1097,6 +1215,10 @@
                             ~(ShortcutInfo.FLAG_HAS_ICON_FILE | ShortcutInfo.FLAG_HAS_ICON_RES
                             | ShortcutInfo.FLAG_DYNAMIC));
         } else {
+            // When writing for backup, ranks shouldn't be saved, since shortcuts won't be restored
+            // as dynamic.
+            ShortcutService.writeAttr(out, ATTR_RANK, si.getRank());
+
             ShortcutService.writeAttr(out, ATTR_FLAGS, si.getFlags());
             ShortcutService.writeAttr(out, ATTR_ICON_RES_ID, si.getIconResourceId());
             ShortcutService.writeAttr(out, ATTR_ICON_RES_NAME, si.getIconResName());
@@ -1272,35 +1394,84 @@
                 sortShortcutsToActivities();
 
         // Make sure each activity won't have more than max shortcuts.
-        for (int i = all.size() - 1; i >= 0; i--) {
-            if (all.valueAt(i).size() > mShortcutUser.mService.getMaxActivityShortcuts()) {
+        for (int outer = all.size() - 1; outer >= 0; outer--) {
+            final ArrayList<ShortcutInfo> list = all.valueAt(outer);
+            if (list.size() > mShortcutUser.mService.getMaxActivityShortcuts()) {
                 failed = true;
-                Log.e(TAG, "Package " + getPackageName() + ": activity " + all.keyAt(i)
-                        + " has " + all.valueAt(i).size() + " shortcuts.");
+                Log.e(TAG_VERIFY, "Package " + getPackageName() + ": activity " + all.keyAt(outer)
+                        + " has " + all.valueAt(outer).size() + " shortcuts.");
             }
+
+            // Sort by rank.
+            Collections.sort(list, (a, b) -> Integer.compare(a.getRank(), b.getRank()));
+
+            // Split into two arrays for each kind.
+            final ArrayList<ShortcutInfo> dynamicList = new ArrayList<>(list);
+            dynamicList.removeIf((si) -> !si.isDynamic());
+
+            final ArrayList<ShortcutInfo> manifestList = new ArrayList<>(list);
+            dynamicList.removeIf((si) -> !si.isManifestShortcut());
+
+            verifyRanksSequential(dynamicList);
+            verifyRanksSequential(manifestList);
         }
 
+        // Verify each shortcut's status.
         for (int i = mShortcuts.size() - 1; i >= 0; i--) {
             final ShortcutInfo si = mShortcuts.valueAt(i);
-            if (!(si.isManifestShortcut() || si.isDynamic() || si.isPinned())) {
+            if (!(si.isDeclaredInManifest() || si.isDynamic() || si.isPinned())) {
                 failed = true;
-                Log.e(TAG, "Package " + getPackageName() + ": shortcut " + si.getId()
+                Log.e(TAG_VERIFY, "Package " + getPackageName() + ": shortcut " + si.getId()
                         + " is not manifest, dynamic or pinned.");
             }
+            if (si.isDeclaredInManifest() && si.isDynamic()) {
+                failed = true;
+                Log.e(TAG_VERIFY, "Package " + getPackageName() + ": shortcut " + si.getId()
+                        + " is both dynamic and manifest at the same time.");
+            }
             if (si.getActivity() == null) {
                 failed = true;
-                Log.e(TAG, "Package " + getPackageName() + ": shortcut " + si.getId()
+                Log.e(TAG_VERIFY, "Package " + getPackageName() + ": shortcut " + si.getId()
                         + " has null activity.");
             }
             if ((si.isDynamic() || si.isManifestShortcut()) && !si.isEnabled()) {
                 failed = true;
-                Log.e(TAG, "Package " + getPackageName() + ": shortcut " + si.getId()
+                Log.e(TAG_VERIFY, "Package " + getPackageName() + ": shortcut " + si.getId()
                         + " is not floating, but is disabled.");
             }
+            if (si.isFloating() && si.getRank() != 0) {
+                failed = true;
+                Log.e(TAG_VERIFY, "Package " + getPackageName() + ": shortcut " + si.getId()
+                        + " is floating, but has rank=" + si.getRank());
+            }
+            if (si.getIcon() != null) {
+                failed = true;
+                Log.e(TAG_VERIFY, "Package " + getPackageName() + ": shortcut " + si.getId()
+                        + " still has an icon");
+            }
+            if (si.hasIconFile() && si.hasIconResource()) {
+                failed = true;
+                Log.e(TAG_VERIFY, "Package " + getPackageName() + ": shortcut " + si.getId()
+                        + " has both resource and bitmap icons");
+            }
         }
 
         if (failed) {
             throw new IllegalStateException("See logcat for errors");
         }
     }
+
+    private boolean verifyRanksSequential(List<ShortcutInfo> list) {
+        boolean failed = false;
+
+        for (int i = 0; i < list.size(); i++) {
+            final ShortcutInfo si = list.get(i);
+            if (si.getRank() != i) {
+                failed = true;
+                Log.e(TAG_VERIFY, "Package " + getPackageName() + ": shortcut " + si.getId()
+                        + " rank=" + si.getRank() + " but expected to be "+ i);
+            }
+        }
+        return failed;
+    }
 }
diff --git a/services/core/java/com/android/server/pm/ShortcutParser.java b/services/core/java/com/android/server/pm/ShortcutParser.java
index 470d4af..0762c0b 100644
--- a/services/core/java/com/android/server/pm/ShortcutParser.java
+++ b/services/core/java/com/android/server/pm/ShortcutParser.java
@@ -20,14 +20,14 @@
 import android.content.ComponentName;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
-import android.content.pm.PackageInfo;
+import android.content.pm.ResolveInfo;
 import android.content.pm.ShortcutInfo;
 import android.content.res.TypedArray;
 import android.content.res.XmlResourceParser;
-import android.net.Uri;
 import android.text.TextUtils;
 import android.util.ArraySet;
 import android.util.AttributeSet;
+import android.util.Log;
 import android.util.Slog;
 import android.util.Xml;
 
@@ -48,22 +48,49 @@
     private static final boolean DEBUG = ShortcutService.DEBUG || false; // DO NOT SUBMIT WITH TRUE
 
     @VisibleForTesting
-    static final String METADATA_KEY = "android.pm.Shortcuts";
+    static final String METADATA_KEY = "android.app.shortcuts";
 
     private static final String TAG_SHORTCUTS = "shortcuts";
     private static final String TAG_SHORTCUT = "shortcut";
+    private static final String TAG_INTENT = "intent";
+    private static final String TAG_CATEGORIES = "categories";
 
     @Nullable
     public static List<ShortcutInfo> parseShortcuts(ShortcutService service,
             String packageName, @UserIdInt int userId) throws IOException, XmlPullParserException {
-        final PackageInfo pi = service.injectGetActivitiesWithMetadata(packageName, userId);
+        if (ShortcutService.DEBUG) {
+            Slog.d(TAG, String.format("Scanning package %s for manifest shortcuts on user %d",
+                    packageName, userId));
+        }
+        final List<ResolveInfo> activities = service.injectGetMainActivities(packageName, userId);
+        if (activities == null || activities.size() == 0) {
+            return null;
+        }
 
         List<ShortcutInfo> result = null;
 
-        if (pi != null && pi.activities != null) {
-            for (ActivityInfo activityInfo : pi.activities) {
-                result = parseShortcutsOneFile(service, activityInfo, packageName, userId, result);
+        try {
+            final int size = activities.size();
+            for (int i = 0; i < size; i++) {
+                final ActivityInfo activityInfoNoMetadata = activities.get(i).activityInfo;
+                if (activityInfoNoMetadata == null) {
+                    continue;
+                }
+
+                final ActivityInfo activityInfoWithMetadata =
+                        service.getActivityInfoWithMetadata(
+                        activityInfoNoMetadata.getComponentName(), userId);
+                if (activityInfoWithMetadata != null) {
+                    result = parseShortcutsOneFile(
+                            service, activityInfoWithMetadata, packageName, userId, result);
+                }
             }
+        } catch (RuntimeException e) {
+            // Resource ID mismatch may cause various runtime exceptions when parsing XMLs,
+            // But we don't crash the device, so just swallow them.
+            service.wtf(
+                    "Exception caught while parsing shortcut XML for package=" + packageName, e);
+            return null;
         }
         return result;
     }
@@ -72,6 +99,11 @@
             ShortcutService service,
             ActivityInfo activityInfo, String packageName, @UserIdInt int userId,
             List<ShortcutInfo> result) throws IOException, XmlPullParserException {
+        if (ShortcutService.DEBUG) {
+            Slog.d(TAG, String.format(
+                    "Checking main activity %s", activityInfo.getComponentName()));
+        }
+
         XmlResourceParser parser = null;
         try {
             parser = service.injectXmlMetaData(activityInfo, METADATA_KEY);
@@ -89,49 +121,132 @@
             final int maxShortcuts = service.getMaxActivityShortcuts();
             int numShortcuts = 0;
 
+            // We instantiate ShortcutInfo at <shortcut>, but we add it to the list at </shortcut>,
+            // after parsing <intent>.  We keep the current one in here.
+            ShortcutInfo currentShortcut = null;
+
+            Set<String> categories = null;
+
             outer:
             while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
                     && (type != XmlPullParser.END_TAG || parser.getDepth() > 0)) {
+                final int depth = parser.getDepth();
+                final String tag = parser.getName();
+
+                // When a shortcut tag is closing, publish.
+                if ((type == XmlPullParser.END_TAG) && (depth == 2) && (TAG_SHORTCUT.equals(tag))) {
+                    if (currentShortcut == null) {
+                        // Shortcut was invalid.
+                        continue;
+                    }
+                    final ShortcutInfo si = currentShortcut;
+                    currentShortcut = null; // Make sure to null out for the next iteration.
+
+                    if (si.getIntent() == null) {
+                        Log.e(TAG, "Shortcut " + si.getId() + " has no intent. Skipping it.");
+                        continue;
+                    }
+
+                    if (numShortcuts >= maxShortcuts) {
+                        Log.e(TAG, "More than " + maxShortcuts + " shortcuts found for "
+                                + activityInfo.getComponentName() + ". Skipping the rest.");
+                        return result;
+                    }
+                    if (categories != null) {
+                        si.setCategories(categories);
+                        categories = null;
+                    }
+
+                    if (result == null) {
+                        result = new ArrayList<>();
+                    }
+                    result.add(si);
+                    numShortcuts++;
+                    rank++;
+                    if (ShortcutService.DEBUG) {
+                        Slog.d(TAG, "Shortcut added: " + si.toInsecureString());
+                    }
+                    continue;
+                }
+
+                // Otherwise, just look at start tags.
                 if (type != XmlPullParser.START_TAG) {
                     continue;
                 }
-                final int depth = parser.getDepth();
-                final String tag = parser.getName();
 
                 if (depth == 1 && TAG_SHORTCUTS.equals(tag)) {
                     continue; // Root tag.
                 }
                 if (depth == 2 && TAG_SHORTCUT.equals(tag)) {
                     final ShortcutInfo si = parseShortcutAttributes(
-                            service, attrs, packageName, activity, userId, rank++);
+                            service, attrs, packageName, activity, userId, rank);
+                    if (si == null) {
+                        // Shortcut was invalid.
+                        continue;
+                    }
                     if (ShortcutService.DEBUG) {
-                        Slog.d(TAG, "Shortcut=" + si);
+                        Slog.d(TAG, "Shortcut found: " + si.toInsecureString());
                     }
                     if (result != null) {
                         for (int i = result.size() - 1; i >= 0; i--) {
                             if (si.getId().equals(result.get(i).getId())) {
-                                Slog.w(TAG, "Duplicate shortcut ID detected, skipping.");
+                                Log.e(TAG, "Duplicate shortcut ID detected. Skipping it.");
                                 continue outer;
                             }
                         }
                     }
+                    if (!si.isEnabled()) {
+                        // Just set the default intent to disabled shortcuts.
+                        si.setIntent(new Intent(Intent.ACTION_VIEW));
+                    }
+                    currentShortcut = si;
+                    categories = null;
+                    continue;
+                }
+                if (depth == 3 && TAG_INTENT.equals(tag)) {
+                    if ((currentShortcut == null)
+                            || (currentShortcut.getIntentNoExtras() != null)
+                            || !currentShortcut.isEnabled()) {
+                        Log.e(TAG, "Ignoring excessive intent tag.");
+                        continue;
+                    }
 
-                    if (si != null) {
-                        if (numShortcuts >= maxShortcuts) {
-                            Slog.w(TAG, "More than " + maxShortcuts + " shortcuts found for "
-                                    + activityInfo.getComponentName() + ", ignoring the rest.");
-                            return result;
-                        }
-
-                        if (result == null) {
-                            result = new ArrayList<>();
-                        }
-                        result.add(si);
-                        numShortcuts++;
+                    final Intent intent = Intent.parseIntent(service.mContext.getResources(),
+                            parser, attrs);
+                    if (TextUtils.isEmpty(intent.getAction())) {
+                        Log.e(TAG, "Shortcut intent action must be provided. activity=" + activity);
+                        continue;
+                    }
+                    try {
+                        currentShortcut.setIntent(intent);
+                    } catch (RuntimeException e) {
+                        // This shouldn't happen because intents in XML can't have complicated
+                        // extras, but just in case Intent.parseIntent() supports such a thing one
+                        // day.
+                        Log.e(TAG, "Shortcut's extras contain un-persistable values. Skipping it.");
+                        continue;
                     }
                     continue;
                 }
-                Slog.w(TAG, "Unknown tag " + tag);
+                if (depth == 3 && TAG_CATEGORIES.equals(tag)) {
+                    if ((currentShortcut == null)
+                            || (currentShortcut.getCategories() != null)) {
+                        continue;
+                    }
+                    final String name = parseCategories(service, attrs);
+                    if (TextUtils.isEmpty(name)) {
+                        Log.e(TAG, "Empty category found. activity=" + activity);
+                        continue;
+                    }
+
+                    if (categories == null) {
+                        categories = new ArraySet<>();
+                    }
+                    categories.add(name);
+                    continue;
+                }
+
+                ShortcutService.warnForInvalidTag(depth, tag);
             }
         } finally {
             if (parser != null) {
@@ -141,6 +256,16 @@
         return result;
     }
 
+    private static String parseCategories(ShortcutService service, AttributeSet attrs) {
+        final TypedArray sa = service.mContext.getResources().obtainAttributes(attrs,
+                R.styleable.ShortcutCategories);
+        try {
+            return sa.getString(R.styleable.ShortcutCategories_name);
+        } finally {
+            sa.recycle();
+        }
+    }
+
     private static ShortcutInfo parseShortcutAttributes(ShortcutService service,
             AttributeSet attrs, String packageName, ComponentName activity,
             @UserIdInt int userId, int rank) {
@@ -149,14 +274,11 @@
         try {
             final String id = sa.getString(R.styleable.Shortcut_shortcutId);
             final boolean enabled = sa.getBoolean(R.styleable.Shortcut_enabled, true);
-            final int iconResId = sa.getResourceId(R.styleable.Shortcut_shortcutIcon, 0);
+            final int iconResId = sa.getResourceId(R.styleable.Shortcut_icon, 0);
             final int titleResId = sa.getResourceId(R.styleable.Shortcut_shortcutShortLabel, 0);
             final int textResId = sa.getResourceId(R.styleable.Shortcut_shortcutLongLabel, 0);
             final int disabledMessageResId = sa.getResourceId(
                     R.styleable.Shortcut_shortcutDisabledMessage, 0);
-            final String categories = sa.getString(R.styleable.Shortcut_shortcutCategories);
-            String intentAction = sa.getString(R.styleable.Shortcut_shortcutIntentAction);
-            final String intentData = sa.getString(R.styleable.Shortcut_shortcutIntentData);
 
             if (TextUtils.isEmpty(id)) {
                 Slog.w(TAG, "Shortcut ID must be provided. activity=" + activity);
@@ -166,31 +288,6 @@
                 Slog.w(TAG, "Shortcut title must be provided. activity=" + activity);
                 return null;
             }
-            if (TextUtils.isEmpty(intentAction)) {
-                if (enabled) {
-                    Slog.w(TAG, "Shortcut intent action must be provided. activity=" + activity);
-                    return null;
-                } else {
-                    // Disabled shortcut doesn't have to have an action, but just set VIEW as the
-                    // default.
-                    intentAction = Intent.ACTION_VIEW;
-                }
-            }
-
-            final ArraySet<String> categoriesSet;
-            if (categories == null) {
-                categoriesSet = null;
-            } else {
-                final String[] arr = categories.split(":");
-                categoriesSet = new ArraySet<>(arr.length);
-                for (String v : arr) {
-                    categoriesSet.add(v);
-                }
-            }
-            final Intent intent = new Intent(intentAction);
-            if (!TextUtils.isEmpty(intentData)) {
-                intent.setData(Uri.parse(intentData));
-            }
 
             return createShortcutFromManifest(
                     service,
@@ -201,8 +298,6 @@
                     titleResId,
                     textResId,
                     disabledMessageResId,
-                    categoriesSet,
-                    intent,
                     rank,
                     iconResId,
                     enabled);
@@ -213,8 +308,8 @@
 
     private static ShortcutInfo createShortcutFromManifest(ShortcutService service,
             @UserIdInt int userId, String id, String packageName, ComponentName activityComponent,
-            int titleResId, int textResId, int disabledMessageResId, Set<String> categories,
-            Intent intent, int rank, int iconResId, boolean enabled) {
+            int titleResId, int textResId, int disabledMessageResId,
+            int rank, int iconResId, boolean enabled) {
 
         final int flags =
                 (enabled ? ShortcutInfo.FLAG_MANIFEST : ShortcutInfo.FLAG_DISABLED)
@@ -238,8 +333,8 @@
                 null, // disabled message string
                 disabledMessageResId,
                 null, // disabled message res name
-                categories,
-                intent,
+                null, // categories
+                null, // intent
                 null, // intent extras
                 rank,
                 null, // extras
diff --git a/services/core/java/com/android/server/pm/ShortcutService.java b/services/core/java/com/android/server/pm/ShortcutService.java
index 5769402..c6949e4 100644
--- a/services/core/java/com/android/server/pm/ShortcutService.java
+++ b/services/core/java/com/android/server/pm/ShortcutService.java
@@ -60,6 +60,7 @@
 import android.os.RemoteException;
 import android.os.ResultReceiver;
 import android.os.SELinux;
+import android.os.ServiceManager;
 import android.os.ShellCommand;
 import android.os.SystemClock;
 import android.os.UserHandle;
@@ -76,6 +77,7 @@
 import android.util.SparseLongArray;
 import android.util.TypedValue;
 import android.util.Xml;
+import android.view.IWindowManager;
 
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.annotations.VisibleForTesting;
@@ -114,7 +116,6 @@
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.function.Consumer;
 import java.util.function.Predicate;
@@ -124,28 +125,15 @@
  * - Deal with the async nature of PACKAGE_ADD.  Basically when a publisher does anything after
  *   it's upgraded, the manager should make sure the upgrade process has been executed.
  *
- * - HandleUnlockUser needs to be async.  Wait on it in onCleanupUser.
- *
- * - Implement reportShortcutUsed().
- *
- * - validateForXml() should be removed.
- *
- * - Ranks should be recalculated after each update.
- *
- * - When the system locale changes, update timestamps for shortcuts with string resources,
- *   and notify the launcher.  Right now, it resets the throttling, but timestamps are not changed
- *   and there's no notification either.
- *
  * - getIconMaxWidth()/getIconMaxHeight() should use xdpi and ydpi.
+ *   -> But TypedValue.applyDimension() doesn't differentiate x and y..?
  *
  * - Default launcher check does take a few ms.  Worth caching.
  *
  * - Detect when already registered instances are passed to APIs again, which might break
- *   internal bitmap handling.
+ * internal bitmap handling.
  *
  * - Add more call stats.
- *
- * - Rename mMaxDynamicShortcuts, because it includes manifest shortcuts too.
  */
 public class ShortcutService extends IShortcutService.Stub {
     static final String TAG = "ShortcutService";
@@ -195,6 +183,8 @@
 
     private static final String ATTR_VALUE = "value";
 
+    private static final String LAUNCHER_INTENT_CATEGORY = Intent.CATEGORY_LAUNCHER;
+
     @VisibleForTesting
     interface ConfigConstants {
         /**
@@ -223,7 +213,7 @@
         String KEY_MAX_ICON_DIMENSION_DP_LOWRAM = "max_icon_dimension_dp_lowram";
 
         /**
-         * Key name for the max dynamic shortcuts per app. (int)
+         * Key name for the max dynamic shortcuts per activity. (int)
          */
         String KEY_MAX_SHORTCUTS = "max_shortcuts";
 
@@ -242,6 +232,13 @@
 
     private final Object mLock = new Object();
 
+    private static List<ResolveInfo> EMPTY_RESOLVE_INFO = new ArrayList<>(0);
+
+    private static Predicate<ResolveInfo> ACTIVITY_NOT_EXPORTED =
+            ri -> !ri.activityInfo.exported;
+
+    private static Predicate<PackageInfo> PACKAGE_NOT_INSTALLED = pi -> !isInstalled(pi);
+
     private final Handler mHandler;
 
     @GuardedBy("mLock")
@@ -257,9 +254,9 @@
     private final SparseArray<ShortcutUser> mUsers = new SparseArray<>();
 
     /**
-     * Max number of dynamic shortcuts that each application can have at a time.
+     * Max number of dynamic + manifest shortcuts that each application can have at a time.
      */
-    private int mMaxDynamicShortcuts;
+    private int mMaxShortcuts;
 
     /**
      * Max number of updating API calls that each application can make during the interval.
@@ -296,7 +293,8 @@
     private List<Integer> mDirtyUserIds = new ArrayList<>();
 
     /**
-     * A counter that increments every time the system locale changes.  We keep track of it to reset
+     * A counter that increments every time the system locale changes.  We keep track of it to
+     * reset
      * throttling counters on the first call from each package after the last locale change.
      *
      * We need this mechanism because we can't do much in the locale change callback, which is
@@ -308,8 +306,8 @@
 
     private static final int PACKAGE_MATCH_FLAGS =
             PackageManager.MATCH_DIRECT_BOOT_AWARE
-            | PackageManager.MATCH_DIRECT_BOOT_UNAWARE
-            | PackageManager.MATCH_UNINSTALLED_PACKAGES;
+                    | PackageManager.MATCH_DIRECT_BOOT_UNAWARE
+                    | PackageManager.MATCH_UNINSTALLED_PACKAGES;
 
     // Stats
     @VisibleForTesting
@@ -320,13 +318,16 @@
         int GET_APPLICATION_INFO = 3;
         int LAUNCHER_PERMISSION_CHECK = 4;
         int CLEANUP_DANGLING_BITMAPS = 5;
-        int GET_ACTIVITIES_WITH_METADATA = 6;
+        int GET_ACTIVITY_WITH_METADATA = 6;
         int GET_INSTALLED_PACKAGES = 7;
         int CHECK_PACKAGE_CHANGES = 8;
         int GET_APPLICATION_RESOURCES = 9;
         int RESOURCE_NAME_LOOKUP = 10;
+        int GET_LAUNCHER_ACTIVITY = 11;
+        int CHECK_LAUNCHER_ACTIVITY = 12;
+        int IS_ACTIVITY_ENABLED = 13;
 
-        int COUNT = RESOURCE_NAME_LOOKUP + 1;
+        int COUNT = IS_ACTIVITY_ENABLED + 1;
     }
 
     final Object mStatLock = new Object();
@@ -349,16 +350,17 @@
             OPERATION_SET,
             OPERATION_ADD,
             OPERATION_UPDATE
-            })
+    })
     @Retention(RetentionPolicy.SOURCE)
-    @interface ShortcutOperation {}
+    @interface ShortcutOperation {
+    }
 
     public ShortcutService(Context context) {
-        this(context, BackgroundThread.get().getLooper());
+        this(context, BackgroundThread.get().getLooper(), /*onyForPackgeManagerApis*/ false);
     }
 
     @VisibleForTesting
-    ShortcutService(Context context, Looper looper) {
+    ShortcutService(Context context, Looper looper, boolean onlyForPackageManagerApis) {
         mContext = Preconditions.checkNotNull(context);
         LocalServices.addService(ShortcutServiceInternal.class, new LocalService());
         mHandler = new Handler(looper);
@@ -369,6 +371,10 @@
         mUsageStatsManagerInternal = Preconditions.checkNotNull(
                 LocalServices.getService(UsageStatsManagerInternal.class));
 
+        if (onlyForPackageManagerApis) {
+            return; // Don't do anything further.  For unit tests only.
+        }
+
         mPackageMonitor.register(context, looper, UserHandle.ALL, /* externalStorage= */ false);
 
         injectRegisterUidObserver(mUidObserver, ActivityManager.UID_OBSERVER_PROCSTATE
@@ -387,18 +393,22 @@
     }
 
     final private IUidObserver mUidObserver = new IUidObserver.Stub() {
-        @Override public void onUidStateChanged(int uid, int procState) throws RemoteException {
+        @Override
+        public void onUidStateChanged(int uid, int procState) throws RemoteException {
             handleOnUidStateChanged(uid, procState);
         }
 
-        @Override public void onUidGone(int uid) throws RemoteException {
+        @Override
+        public void onUidGone(int uid) throws RemoteException {
             handleOnUidStateChanged(uid, ActivityManager.MAX_PROCESS_STATE);
         }
 
-        @Override public void onUidActive(int uid) throws RemoteException {
+        @Override
+        public void onUidActive(int uid) throws RemoteException {
         }
 
-        @Override public void onUidIdle(int uid) throws RemoteException {
+        @Override
+        public void onUidIdle(int uid) throws RemoteException {
         }
     };
 
@@ -564,16 +574,16 @@
         mMaxUpdatesPerInterval = Math.max(0, (int) parser.getLong(
                 ConfigConstants.KEY_MAX_UPDATES_PER_INTERVAL, DEFAULT_MAX_UPDATES_PER_INTERVAL));
 
-        mMaxDynamicShortcuts = Math.max(0, (int) parser.getLong(
+        mMaxShortcuts = Math.max(0, (int) parser.getLong(
                 ConfigConstants.KEY_MAX_SHORTCUTS, DEFAULT_MAX_SHORTCUTS_PER_APP));
 
         final int iconDimensionDp = Math.max(1, injectIsLowRamDevice()
                 ? (int) parser.getLong(
-                    ConfigConstants.KEY_MAX_ICON_DIMENSION_DP_LOWRAM,
-                    DEFAULT_MAX_ICON_DIMENSION_LOWRAM_DP)
+                ConfigConstants.KEY_MAX_ICON_DIMENSION_DP_LOWRAM,
+                DEFAULT_MAX_ICON_DIMENSION_LOWRAM_DP)
                 : (int) parser.getLong(
-                    ConfigConstants.KEY_MAX_ICON_DIMENSION_DP,
-                    DEFAULT_MAX_ICON_DIMENSION_DP));
+                ConfigConstants.KEY_MAX_ICON_DIMENSION_DP,
+                DEFAULT_MAX_ICON_DIMENSION_DP));
 
         mMaxIconDimension = injectDipToPixel(iconDimensionDp);
 
@@ -648,15 +658,19 @@
     @Nullable
     static Intent parseIntentAttribute(XmlPullParser parser, String attribute) {
         final String value = parseStringAttribute(parser, attribute);
-        if (TextUtils.isEmpty(value)) {
-            return null;
+        Intent parsed = null;
+        if (!TextUtils.isEmpty(value)) {
+            try {
+                parsed = Intent.parseUri(value, /* flags =*/ 0);
+            } catch (URISyntaxException e) {
+                Slog.e(TAG, "Error parsing intent", e);
+            }
         }
-        try {
-            return Intent.parseUri(value, /* flags =*/ 0);
-        } catch (URISyntaxException e) {
-            Slog.e(TAG, "Error parsing intent", e);
-            return null;
+        if (parsed == null) {
+            // Default intent.
+            parsed = new Intent(Intent.ACTION_VIEW);
         }
+        return parsed;
     }
 
     static void writeTagValue(XmlSerializer out, String tag, String value) throws IOException {
@@ -787,7 +801,7 @@
             }
         } catch (FileNotFoundException e) {
             // Use the default
-        } catch (IOException|XmlPullParserException e) {
+        } catch (IOException | XmlPullParserException e) {
             Slog.e(TAG, "Failed to read file " + file.getBaseFile(), e);
 
             mRawLastResetTime = 0;
@@ -810,7 +824,7 @@
             saveUserInternalLocked(userId, os, /* forBackup= */ false);
 
             file.finishWrite(os);
-        } catch (XmlPullParserException|IOException e) {
+        } catch (XmlPullParserException | IOException e) {
             Slog.e(TAG, "Failed to write to file " + file.getBaseFile(), e);
             file.failWrite(os);
         }
@@ -860,10 +874,10 @@
             return null;
         }
         try {
-            final ShortcutUser ret =  loadUserInternal(userId, in, /* forBackup= */ false);
+            final ShortcutUser ret = loadUserInternal(userId, in, /* forBackup= */ false);
             cleanupDanglingBitmapDirectoriesLocked(userId, ret);
             return ret;
-        } catch (IOException|XmlPullParserException e) {
+        } catch (IOException | XmlPullParserException e) {
             Slog.e(TAG, "Failed to read file " + file.getBaseFile(), e);
             return null;
         } finally {
@@ -1044,9 +1058,10 @@
             new File(shortcut.getBitmapPath()).delete();
 
             shortcut.setBitmapPath(null);
-            shortcut.setIconResourceId(0);
-            shortcut.clearFlags(ShortcutInfo.FLAG_HAS_ICON_FILE | ShortcutInfo.FLAG_HAS_ICON_RES);
         }
+        shortcut.setIconResourceId(0);
+        shortcut.setIconResName(null);
+        shortcut.clearFlags(ShortcutInfo.FLAG_HAS_ICON_FILE | ShortcutInfo.FLAG_HAS_ICON_RES);
     }
 
     public void cleanupBitmapsForPackage(@UserIdInt int userId, String packageName) {
@@ -1143,7 +1158,7 @@
         }
 
         final String baseName = String.valueOf(injectCurrentTimeMillis());
-        for (int suffix = 0;; suffix++) {
+        for (int suffix = 0; ; suffix++) {
             final String filename = (suffix == 0 ? baseName : baseName + "_" + suffix) + ".png";
             final File file = new File(packagePath, filename);
             if (!file.exists()) {
@@ -1163,8 +1178,7 @@
         final long token = injectClearCallingIdentity();
         try {
             // Clear icon info on the shortcut.
-            shortcut.setIconResourceId(0);
-            shortcut.setBitmapPath(null);
+            removeIcon(userId, shortcut);
 
             final Icon icon = shortcut.getIcon();
             if (icon == null) {
@@ -1215,7 +1229,7 @@
                     } finally {
                         IoUtils.closeQuietly(out);
                     }
-                } catch (IOException|RuntimeException e) {
+                } catch (IOException | RuntimeException e) {
                     // STOPSHIP Change wtf to e
                     Slog.wtf(ShortcutService.TAG, "Unable to write bitmap to file", e);
                     if (path != null && path.exists()) {
@@ -1294,7 +1308,7 @@
 
     private boolean isCallerSystem() {
         final int callingUid = injectBinderCallingUid();
-         return UserHandle.isSameApp(callingUid, Process.SYSTEM_UID);
+        return UserHandle.isSameApp(callingUid, Process.SYSTEM_UID);
     }
 
     private boolean isCallerShell() {
@@ -1359,10 +1373,10 @@
 
     /**
      * @throws IllegalArgumentException if {@code numShortcuts} is bigger than
-     * {@link #getMaxActivityShortcuts()}.
+     *                                  {@link #getMaxActivityShortcuts()}.
      */
     void enforceMaxActivityShortcuts(int numShortcuts) {
-        if (numShortcuts > mMaxDynamicShortcuts) {
+        if (numShortcuts > mMaxShortcuts) {
             throw new IllegalArgumentException("Max number of dynamic shortcuts exceeded");
         }
     }
@@ -1371,7 +1385,7 @@
      * Return the max number of dynamic + manifest shortcuts for each launcher icon.
      */
     int getMaxActivityShortcuts() {
-        return mMaxDynamicShortcuts;
+        return mMaxShortcuts;
     }
 
     /**
@@ -1412,7 +1426,7 @@
      * Clean up / validate an incoming shortcut.
      * - Make sure all mandatory fields are set.
      * - Make sure the intent's extras are persistable, and them to set
-     *  {@link ShortcutInfo#mIntentPersistableExtras}.  Also clear its extras.
+     * {@link ShortcutInfo#mIntentPersistableExtras}.  Also clear its extras.
      * - Clear flags.
      *
      * TODO Detailed unit tests
@@ -1422,61 +1436,47 @@
         if (shortcut.getActivity() != null) {
             Preconditions.checkState(
                     shortcut.getPackage().equals(shortcut.getActivity().getPackageName()),
-                    "Activity package name mismatch");
+                    "Cannot publish shortcut: activity " + shortcut.getActivity() + " does not"
+                    + " belong to package " + shortcut.getPackage());
         }
 
         if (!forUpdate) {
             shortcut.enforceMandatoryFields();
+            Preconditions.checkArgument(
+                    injectIsMainActivity(shortcut.getActivity(), shortcut.getUserId()),
+                    "Cannot publish shortcut: " + shortcut.getActivity() + " is not main activity");
         }
         if (shortcut.getIcon() != null) {
             ShortcutInfo.validateIcon(shortcut.getIcon());
         }
 
-        validateForXml(shortcut.getId());
-        validateForXml(shortcut.getTitle());
-        validatePersistableBundleForXml(shortcut.getIntentPersistableExtras());
-        validatePersistableBundleForXml(shortcut.getExtras());
-
         shortcut.replaceFlags(0);
     }
 
-    // KXmlSerializer is strict and doesn't allow certain characters, so we disallow those
-    // characters.
+    /**
+     * When a shortcut has no target activity, set the default one from the package.
+     */
+    private void fillInDefaultActivity(List<ShortcutInfo> shortcuts) {
 
-    private static void validatePersistableBundleForXml(PersistableBundle b) {
-        if (b == null || b.size() == 0) {
-            return;
-        }
-        for (String key : b.keySet()) {
-            validateForXml(key);
-            final Object value = b.get(key);
-            if (value == null) {
-                continue;
-            } else if (value instanceof String) {
-                validateForXml((String) value);
-            } else if (value instanceof String[]) {
-                for (String v : (String[]) value) {
-                    validateForXml(v);
+        ComponentName defaultActivity = null;
+        for (int i = shortcuts.size() - 1; i >= 0; i--) {
+            final ShortcutInfo si = shortcuts.get(i);
+            if (si.getActivity() == null) {
+                if (defaultActivity == null) {
+                    defaultActivity = injectGetDefaultMainActivity(
+                            si.getPackage(), si.getUserId());
+                    Preconditions.checkState(defaultActivity != null,
+                            "Launcher activity not found for package " + si.getPackage());
                 }
-            } else if (value instanceof PersistableBundle) {
-                validatePersistableBundleForXml((PersistableBundle) value);
+                si.setActivity(defaultActivity);
             }
         }
     }
 
-    private static void validateForXml(CharSequence s) {
-        if (TextUtils.isEmpty(s)) {
-            return;
+    private void assignImplicitRanks(List<ShortcutInfo> shortcuts) {
+        for (int i = shortcuts.size() - 1; i >= 0; i--) {
+            shortcuts.get(i).setImplicitRank(i);
         }
-        for (int i = s.length() - 1; i >= 0; i--) {
-            if (!isAllowedInXml(s.charAt(i))) {
-                throw new IllegalArgumentException("Unsupported character detected in: " + s);
-            }
-        }
-    }
-
-    private static boolean isAllowedInXml(char c) {
-        return (c >= 0x20 && c <= 0xd7ff) || (c >= 0xe000 && c <= 0xfffd);
     }
 
     // === APIs ===
@@ -1494,6 +1494,8 @@
 
             ps.ensureImmutableShortcutsNotIncluded(newShortcuts);
 
+            fillInDefaultActivity(newShortcuts);
+
             ps.enforceShortcutCountsBeforeOperation(newShortcuts, OPERATION_SET);
 
             // Throttling.
@@ -1501,7 +1503,10 @@
                 return false;
             }
 
-            // Validate the shortcuts.
+            // Initialize the implicit ranks for ShortcutPackage.adjustRanks().
+            ps.clearAllImplicitRanks();
+            assignImplicitRanks(newShortcuts);
+
             for (int i = 0; i < size; i++) {
                 fixUpIncomingShortcutInfo(newShortcuts.get(i), /* forUpdate= */ false);
             }
@@ -1514,6 +1519,9 @@
                 final ShortcutInfo newShortcut = newShortcuts.get(i);
                 ps.addOrUpdateDynamicShortcut(newShortcut);
             }
+
+            // Lastly, adjust the ranks.
+            ps.adjustRanks();
         }
         packageShortcutsChanged(packageName, userId);
 
@@ -1535,6 +1543,9 @@
 
             ps.ensureImmutableShortcutsNotIncluded(newShortcuts);
 
+            // For update, don't fill in the default activity.  Having null activity means
+            // "don't update the activity" here.
+
             ps.enforceShortcutCountsBeforeOperation(newShortcuts, OPERATION_UPDATE);
 
             // Throttling.
@@ -1542,41 +1553,53 @@
                 return false;
             }
 
+            // Initialize the implicit ranks for ShortcutPackage.adjustRanks().
+            ps.clearAllImplicitRanks();
+            assignImplicitRanks(newShortcuts);
+
             for (int i = 0; i < size; i++) {
                 final ShortcutInfo source = newShortcuts.get(i);
                 fixUpIncomingShortcutInfo(source, /* forUpdate= */ true);
 
                 final ShortcutInfo target = ps.findShortcutById(source.getId());
-                if (target != null) {
-                    if (target.isEnabled() != source.isEnabled()) {
-                        Slog.w(TAG,
-                                "ShortcutInfo.enabled cannot be changed with updateShortcuts()");
-                    }
+                if (target == null) {
+                    continue;
+                }
 
-                    final boolean replacingIcon = (source.getIcon() != null);
-                    if (replacingIcon) {
-                        removeIcon(userId, target);
-                    }
+                if (target.isEnabled() != source.isEnabled()) {
+                    Slog.w(TAG,
+                            "ShortcutInfo.enabled cannot be changed with updateShortcuts()");
+                }
 
-                    if (source.getActivity() != null &&
-                            !source.getActivity().equals(target.getActivity())) {
-                        // TODO When activity is changing, check the dynamic count.
-                    }
+                // When updating the rank, we need to insert between existing ranks, so set
+                // this setRankChanged, and also copy the implicit rank fo adjustRanks().
+                if (source.hasRank()) {
+                    target.setRankChanged();
+                    target.setImplicitRank(source.getImplicitRank());
+                }
 
-                    // Note copyNonNullFieldsFrom() does the "updatable with?" check too.
-                    target.copyNonNullFieldsFrom(source);
+                final boolean replacingIcon = (source.getIcon() != null);
+                if (replacingIcon) {
+                    removeIcon(userId, target);
+                }
 
-                    if (replacingIcon) {
-                        saveIconAndFixUpShortcut(userId, target);
-                    }
+                // Note copyNonNullFieldsFrom() does the "updatable with?" check too.
+                target.copyNonNullFieldsFrom(source);
+                target.setTimestamp(injectCurrentTimeMillis());
 
-                    // When we're updating any resource related fields, re-extract the res names and
-                    // the values.
-                    if (replacingIcon || source.hasStringResources()) {
-                        fixUpShortcutResourceNamesAndValues(target);
-                    }
+                if (replacingIcon) {
+                    saveIconAndFixUpShortcut(userId, target);
+                }
+
+                // When we're updating any resource related fields, re-extract the res names and
+                // the values.
+                if (replacingIcon || source.hasStringResources()) {
+                    fixUpShortcutResourceNamesAndValues(target);
                 }
             }
+
+            // Lastly, adjust the ranks.
+            ps.adjustRanks();
         }
         packageShortcutsChanged(packageName, userId);
 
@@ -1598,8 +1621,14 @@
 
             ps.ensureImmutableShortcutsNotIncluded(newShortcuts);
 
+            fillInDefaultActivity(newShortcuts);
+
             ps.enforceShortcutCountsBeforeOperation(newShortcuts, OPERATION_ADD);
 
+            // Initialize the implicit ranks for ShortcutPackage.adjustRanks().
+            ps.clearAllImplicitRanks();
+            assignImplicitRanks(newShortcuts);
+
             // Throttling.
             if (!ps.tryApiCall()) {
                 return false;
@@ -1610,9 +1639,16 @@
                 // Validate the shortcut.
                 fixUpIncomingShortcutInfo(newShortcut, /* forUpdate= */ false);
 
+                // When ranks are changing, we need to insert between ranks, so set the
+                // "rank changed" flag.
+                newShortcut.setRankChanged();
+
                 // Add it.
                 ps.addOrUpdateDynamicShortcut(newShortcut);
             }
+
+            // Lastly, adjust the ranks.
+            ps.adjustRanks();
         }
         packageShortcutsChanged(packageName, userId);
 
@@ -1623,7 +1659,7 @@
 
     @Override
     public void disableShortcuts(String packageName, List shortcutIds,
-            String disabledMessage, int disabledMessageResId, @UserIdInt int userId) {
+            CharSequence disabledMessage, int disabledMessageResId, @UserIdInt int userId) {
         verifyCaller(packageName, userId);
         Preconditions.checkNotNull(shortcutIds, "shortcutIds must be provided");
 
@@ -1632,11 +1668,17 @@
 
             ps.ensureImmutableShortcutsNotIncludedWithIds((List<String>) shortcutIds);
 
+            final String disabledMessageString =
+                    (disabledMessage == null) ? null : disabledMessage.toString();
+
             for (int i = shortcutIds.size() - 1; i >= 0; i--) {
                 ps.disableWithId(Preconditions.checkStringNotEmpty((String) shortcutIds.get(i)),
-                        disabledMessage, disabledMessageResId,
+                        disabledMessageString, disabledMessageResId,
                         /* overrideImmutable=*/ false);
             }
+
+            // We may have removed dynamic shortcuts which may have left a gap, so adjust the ranks.
+            ps.adjustRanks();
         }
         packageShortcutsChanged(packageName, userId);
 
@@ -1677,6 +1719,9 @@
                 ps.deleteDynamicWithId(
                         Preconditions.checkStringNotEmpty((String) shortcutIds.get(i)));
             }
+
+            // We may have removed dynamic shortcuts which may have left a gap, so adjust the ranks.
+            ps.adjustRanks();
         }
         packageShortcutsChanged(packageName, userId);
 
@@ -1739,11 +1784,11 @@
     }
 
     @Override
-    public int getMaxDynamicShortcutCount(String packageName, @UserIdInt int userId)
+    public int getMaxShortcutCountPerActivity(String packageName, @UserIdInt int userId)
             throws RemoteException {
         verifyCaller(packageName, userId);
 
-        return mMaxDynamicShortcuts;
+        return mMaxShortcuts;
     }
 
     @Override
@@ -1803,7 +1848,8 @@
     }
 
     /**
-     * Reset all throttling, for developer options and command line.  Only system/shell can call it.
+     * Reset all throttling, for developer options and command line.  Only system/shell can call
+     * it.
      */
     @Override
     public void resetThrottling() {
@@ -1876,9 +1922,16 @@
             } else {
                 detected = user.getDefaultLauncherComponent();
 
-                // TODO: Make sure it's still enabled.
-                if (DEBUG) {
-                    Slog.v(TAG, "Cached launcher: " + detected);
+                if (detected != null) {
+                    if (injectIsActivityEnabledAndExported(detected, userId)) {
+                        if (DEBUG) {
+                            Slog.v(TAG, "Cached launcher: " + detected);
+                        }
+                    } else {
+                        Slog.w(TAG, "Cached launcher " + detected + " no longer exists");
+                        detected = null;
+                        user.setDefaultLauncherComponent(null);
+                    }
                 }
             }
 
@@ -1925,10 +1978,12 @@
 
     // === House keeping ===
 
-    private void cleanUpPackageForAllLoadedUsers(String packageName, @UserIdInt int packageUserId) {
+    private void cleanUpPackageForAllLoadedUsers(String packageName, @UserIdInt int packageUserId,
+            boolean appStillExists) {
         synchronized (mLock) {
             forEachLoadedUserLocked(user ->
-                    cleanUpPackageLocked(packageName, user.getUserId(), packageUserId));
+                    cleanUpPackageLocked(packageName, user.getUserId(), packageUserId,
+                            appStillExists));
         }
     }
 
@@ -1940,7 +1995,8 @@
      * This is called when an app is uninstalled, or an app gets "clear data"ed.
      */
     @VisibleForTesting
-    void cleanUpPackageLocked(String packageName, int owningUserId, int packageUserId) {
+    void cleanUpPackageLocked(String packageName, int owningUserId, int packageUserId,
+            boolean appStillExists) {
         final boolean wasUserLoaded = isUserLoadedLocked(owningUserId);
 
         final ShortcutUser user = getUserShortcutsLocked(owningUserId);
@@ -1969,6 +2025,13 @@
             notifyListeners(packageName, owningUserId);
         }
 
+        // If the app still exists (i.e. data cleared), we need to re-publish manifest shortcuts.
+        if (appStillExists && (packageUserId == owningUserId)) {
+            // This will do the notification and save when needed, so do it after the above
+            // notifyListeners.
+            user.handlePackageAddedOrUpdated(packageName, /* forceRescan=*/ true);
+        }
+
         if (!wasUserLoaded) {
             // Note this will execute the scheduled save.
             unloadUserLocked(owningUserId);
@@ -2277,19 +2340,29 @@
         public void onPackageDataCleared(String packageName, int uid) {
             handlePackageDataCleared(packageName, getChangingUserId());
         }
+
+        @Override
+        public boolean onPackageChanged(String packageName, int uid, String[] components) {
+            handlePackageChanged(packageName, getChangingUserId());
+            return false; // We don't need to receive onSomePackagesChanged(), so just false.
+        }
     };
 
     /**
      * Called when a user is unlocked.
      * - Check all known packages still exist, and otherwise perform cleanup.
      * - If a package still exists, check the version code.  If it's been updated, may need to
-     *   update timestamps of its shortcuts.
+     * update timestamps of its shortcuts.
      */
     @VisibleForTesting
     void checkPackageChanges(@UserIdInt int ownerUserId) {
         if (DEBUG) {
             Slog.d(TAG, "checkPackageChanges() ownerUserId=" + ownerUserId);
         }
+        if (injectIsSafeModeEnabled()) {
+            Slog.i(TAG, "Safe mode, skipping checkPackageChanges()");
+            return;
+        }
 
         final long start = injectElapsedRealtime();
         try {
@@ -2304,20 +2377,25 @@
                         return; // Don't delete shadow information.
                     }
                     if (!isPackageInstalled(spi.getPackageName(), spi.getPackageUserId())) {
+                        if (DEBUG) {
+                            Slog.d(TAG, "Uninstalled: " + spi.getPackageName()
+                                    + " user " + spi.getPackageUserId());
+                        }
                         gonePackages.add(PackageWithUser.of(spi));
                     }
                 });
                 if (gonePackages.size() > 0) {
                     for (int i = gonePackages.size() - 1; i >= 0; i--) {
                         final PackageWithUser pu = gonePackages.get(i);
-                        cleanUpPackageLocked(pu.packageName, ownerUserId, pu.userId);
+                        cleanUpPackageLocked(pu.packageName, ownerUserId, pu.userId,
+                                /* appStillExists = */ false);
                     }
                 }
                 final long now = injectCurrentTimeMillis();
 
                 // Then for each installed app, publish manifest shortcuts when needed.
                 forUpdatedPackages(ownerUserId, user.getLastAppScanTime(), ai -> {
-                    user.handlePackageAddedOrUpdated(ai.packageName);
+                    user.handlePackageAddedOrUpdated(ai.packageName, /* forceRescan=*/ false);
                 });
 
                 // Write the time just before the scan, because there may be apps that have just
@@ -2328,6 +2406,7 @@
         } finally {
             logDurationStat(Stats.CHECK_PACKAGE_CHANGES, start);
         }
+        verifyStates();
     }
 
     private void handlePackageAdded(String packageName, @UserIdInt int userId) {
@@ -2337,8 +2416,9 @@
         synchronized (mLock) {
             final ShortcutUser user = getUserShortcutsLocked(userId);
             user.attemptToRestoreIfNeededAndSave(this, packageName, userId);
-            user.handlePackageAddedOrUpdated(packageName);
+            user.handlePackageAddedOrUpdated(packageName, /* forceRescan=*/ false);
         }
+        verifyStates();
     }
 
     private void handlePackageUpdateFinished(String packageName, @UserIdInt int userId) {
@@ -2351,9 +2431,10 @@
             user.attemptToRestoreIfNeededAndSave(this, packageName, userId);
 
             if (isPackageInstalled(packageName, userId)) {
-                user.handlePackageAddedOrUpdated(packageName);
+                user.handlePackageAddedOrUpdated(packageName, /* forceRescan=*/ false);
             }
         }
+        verifyStates();
     }
 
     private void handlePackageRemoved(String packageName, @UserIdInt int packageUserId) {
@@ -2361,7 +2442,9 @@
             Slog.d(TAG, String.format("handlePackageRemoved: %s user=%d", packageName,
                     packageUserId));
         }
-        cleanUpPackageForAllLoadedUsers(packageName, packageUserId);
+        cleanUpPackageForAllLoadedUsers(packageName, packageUserId, /* appStillExists = */ false);
+
+        verifyStates();
     }
 
     private void handlePackageDataCleared(String packageName, int packageUserId) {
@@ -2369,26 +2452,49 @@
             Slog.d(TAG, String.format("handlePackageDataCleared: %s user=%d", packageName,
                     packageUserId));
         }
-        cleanUpPackageForAllLoadedUsers(packageName, packageUserId);
+        cleanUpPackageForAllLoadedUsers(packageName, packageUserId, /* appStillExists = */ true);
+
+        verifyStates();
+    }
+
+    private void handlePackageChanged(String packageName, int packageUserId) {
+        if (DEBUG) {
+            Slog.d(TAG, String.format("handlePackageChanged: %s user=%d", packageName,
+                    packageUserId));
+        }
+
+        // Activities may be disabled or enabled.  Just rescan the package.
+        synchronized (mLock) {
+            final ShortcutUser user = getUserShortcutsLocked(packageUserId);
+
+            user.handlePackageAddedOrUpdated(packageName, /* forceRescan=*/ true);
+        }
+
+        verifyStates();
     }
 
     // === PackageManager interaction ===
 
+    /**
+     * Returns {@link PackageInfo} unless it's uninstalled or disabled.
+     */
     @Nullable
-    PackageInfo getPackageInfoWithSignatures(String packageName, @UserIdInt int userId) {
-        return injectPackageInfo(packageName, userId, true);
+    final PackageInfo getPackageInfoWithSignatures(String packageName, @UserIdInt int userId) {
+        return getPackageInfo(packageName, userId, true);
     }
 
+    /**
+     * Returns {@link PackageInfo} unless it's uninstalled or disabled.
+     */
     @Nullable
-    PackageInfo getPackageInfo(String packageName, @UserIdInt int userId) {
-        return injectPackageInfo(packageName, userId, false);
+    final PackageInfo getPackageInfo(String packageName, @UserIdInt int userId) {
+        return getPackageInfo(packageName, userId, false);
     }
 
     int injectGetPackageUid(@NonNull String packageName, @UserIdInt int userId) {
         final long token = injectClearCallingIdentity();
         try {
-            return mIPackageManager.getPackageUid(packageName, PACKAGE_MATCH_FLAGS
-                    , userId);
+            return mIPackageManager.getPackageUid(packageName, PACKAGE_MATCH_FLAGS, userId);
         } catch (RemoteException e) {
             // Shouldn't happen.
             Slog.wtf(TAG, "RemoteException", e);
@@ -2398,16 +2504,30 @@
         }
     }
 
+    /**
+     * Returns {@link PackageInfo} unless it's uninstalled or disabled.
+     */
     @Nullable
     @VisibleForTesting
-    PackageInfo injectPackageInfo(String packageName, @UserIdInt int userId,
+    final PackageInfo getPackageInfo(String packageName, @UserIdInt int userId,
+            boolean getSignatures) {
+        return isInstalledOrNull(injectPackageInfoWithUninstalled(
+                packageName, userId, getSignatures));
+    }
+
+    /**
+     * Do not use directly; this returns uninstalled packages too.
+     */
+    @Nullable
+    @VisibleForTesting
+    PackageInfo injectPackageInfoWithUninstalled(String packageName, @UserIdInt int userId,
             boolean getSignatures) {
         final long start = injectElapsedRealtime();
         final long token = injectClearCallingIdentity();
         try {
-            return mIPackageManager.getPackageInfo(packageName, PACKAGE_MATCH_FLAGS
-                    | (getSignatures ? PackageManager.GET_SIGNATURES : 0)
-                    , userId);
+            return mIPackageManager.getPackageInfo(
+                    packageName, PACKAGE_MATCH_FLAGS
+                            | (getSignatures ? PackageManager.GET_SIGNATURES : 0), userId);
         } catch (RemoteException e) {
             // Shouldn't happen.
             Slog.wtf(TAG, "RemoteException", e);
@@ -2421,9 +2541,22 @@
         }
     }
 
+    /**
+     * Returns {@link ApplicationInfo} unless it's uninstalled or disabled.
+     */
     @Nullable
     @VisibleForTesting
-    ApplicationInfo injectApplicationInfo(String packageName, @UserIdInt int userId) {
+    final ApplicationInfo getApplicationInfo(String packageName, @UserIdInt int userId) {
+        return isInstalledOrNull(injectApplicationInfoWithUninstalled(packageName, userId));
+    }
+
+    /**
+     * Do not use directly; this returns uninstalled packages too.
+     */
+    @Nullable
+    @VisibleForTesting
+    ApplicationInfo injectApplicationInfoWithUninstalled(
+            String packageName, @UserIdInt int userId) {
         final long start = injectElapsedRealtime();
         final long token = injectClearCallingIdentity();
         try {
@@ -2439,15 +2572,27 @@
         }
     }
 
+    /**
+     * Returns {@link ActivityInfo} with its metadata unless it's uninstalled or disabled.
+     */
+    @Nullable
+    final ActivityInfo getActivityInfoWithMetadata(ComponentName activity, @UserIdInt int userId) {
+        return isInstalledOrNull(injectGetActivityInfoWithMetadataWithUninstalled(
+                activity, userId));
+    }
+
+    /**
+     * Do not use directly; this returns uninstalled packages too.
+     */
     @Nullable
     @VisibleForTesting
-    PackageInfo injectGetActivitiesWithMetadata(String packageName, @UserIdInt int userId) {
+    ActivityInfo injectGetActivityInfoWithMetadataWithUninstalled(
+            ComponentName activity, @UserIdInt int userId) {
         final long start = injectElapsedRealtime();
         final long token = injectClearCallingIdentity();
         try {
-            return mIPackageManager.getPackageInfo(packageName,
-                    PACKAGE_MATCH_FLAGS | PackageManager.GET_ACTIVITIES
-                            | PackageManager.GET_META_DATA, userId);
+            return mIPackageManager.getActivityInfo(activity,
+                    (PACKAGE_MATCH_FLAGS | PackageManager.GET_META_DATA), userId);
         } catch (RemoteException e) {
             // Shouldn't happen.
             Slog.wtf(TAG, "RemoteException", e);
@@ -2455,22 +2600,24 @@
         } finally {
             injectRestoreCallingIdentity(token);
 
-            logDurationStat(Stats.GET_ACTIVITIES_WITH_METADATA, start);
+            logDurationStat(Stats.GET_ACTIVITY_WITH_METADATA, start);
         }
     }
 
-    @Nullable
+    /**
+     * Return all installed and enabled packages.
+     */
+    @NonNull
     @VisibleForTesting
-    List<PackageInfo> injectInstalledPackages(@UserIdInt int userId) {
+    final List<PackageInfo> getInstalledPackages(@UserIdInt int userId) {
         final long start = injectElapsedRealtime();
         final long token = injectClearCallingIdentity();
         try {
-            final ParceledListSlice<PackageInfo> parceledList =
-                    mIPackageManager.getInstalledPackages(PACKAGE_MATCH_FLAGS, userId);
-            if (parceledList == null) {
-                return Collections.emptyList();
-            }
-            return parceledList.getList();
+            final List<PackageInfo> all = injectGetPackagesWithUninstalled(userId);
+
+            all.removeIf(PACKAGE_NOT_INSTALLED);
+
+            return all;
         } catch (RemoteException e) {
             // Shouldn't happen.
             Slog.wtf(TAG, "RemoteException", e);
@@ -2482,17 +2629,31 @@
         }
     }
 
+    /**
+     * Do not use directly; this returns uninstalled packages too.
+     */
+    @NonNull
+    @VisibleForTesting
+    List<PackageInfo> injectGetPackagesWithUninstalled(@UserIdInt int userId)
+            throws RemoteException {
+        final ParceledListSlice<PackageInfo> parceledList =
+                mIPackageManager.getInstalledPackages(PACKAGE_MATCH_FLAGS, userId);
+        if (parceledList == null) {
+            return Collections.emptyList();
+        }
+        return parceledList.getList();
+    }
+
     private void forUpdatedPackages(@UserIdInt int userId, long lastScanTime,
             Consumer<ApplicationInfo> callback) {
         if (DEBUG) {
             Slog.d(TAG, "forUpdatedPackages for user " + userId + ", lastScanTime=" + lastScanTime);
         }
-        final List<PackageInfo> list = injectInstalledPackages(userId);
+        final List<PackageInfo> list = getInstalledPackages(userId);
         for (int i = list.size() - 1; i >= 0; i--) {
             final PackageInfo pi = list.get(i);
 
-            if (((pi.applicationInfo.flags & ApplicationInfo.FLAG_INSTALLED) != 0)
-                    && (pi.lastUpdateTime >= lastScanTime)) {
+            if (pi.lastUpdateTime >= lastScanTime) {
                 if (DEBUG) {
                     Slog.d(TAG, "Found updated package " + pi.packageName);
                 }
@@ -2501,13 +2662,37 @@
         }
     }
 
-    private boolean isApplicationFlagSet(String packageName, int userId, int flags) {
-        final ApplicationInfo ai = injectApplicationInfo(packageName, userId);
+    private boolean isApplicationFlagSet(@NonNull String packageName, int userId, int flags) {
+        final ApplicationInfo ai = injectApplicationInfoWithUninstalled(packageName, userId);
         return (ai != null) && ((ai.flags & flags) == flags);
     }
 
+    private static boolean isInstalled(@Nullable ApplicationInfo ai) {
+        return (ai != null) && (ai.flags & ApplicationInfo.FLAG_INSTALLED) != 0;
+    }
+
+    private static boolean isInstalled(@Nullable PackageInfo pi) {
+        return (pi != null) && isInstalled(pi.applicationInfo);
+    }
+
+    private static boolean isInstalled(@Nullable ActivityInfo ai) {
+        return (ai != null) && isInstalled(ai.applicationInfo);
+    }
+
+    private static ApplicationInfo isInstalledOrNull(ApplicationInfo ai) {
+        return isInstalled(ai) ? ai : null;
+    }
+
+    private static PackageInfo isInstalledOrNull(PackageInfo pi) {
+        return isInstalled(pi) ? pi : null;
+    }
+
+    private static ActivityInfo isInstalledOrNull(ActivityInfo ai) {
+        return isInstalled(ai) ? ai : null;
+    }
+
     boolean isPackageInstalled(String packageName, int userId) {
-        return isApplicationFlagSet(packageName, userId, ApplicationInfo.FLAG_INSTALLED);
+        return getApplicationInfo(packageName, userId) != null;
     }
 
     @Nullable
@@ -2532,6 +2717,124 @@
         }
     }
 
+    private Intent getMainActivityIntent() {
+        final Intent intent = new Intent(Intent.ACTION_MAIN);
+        intent.addCategory(LAUNCHER_INTENT_CATEGORY);
+        return intent;
+    }
+
+    /**
+     * Same as queryIntentActivitiesAsUser, except it makes sure the package is installed,
+     * and only returns exported activities.
+     */
+    @NonNull
+    @VisibleForTesting
+    List<ResolveInfo> queryActivities(@NonNull Intent baseIntent,
+            @NonNull String packageName, @Nullable ComponentName activity, int userId) {
+
+        baseIntent.setPackage(Preconditions.checkNotNull(packageName));
+        if (activity != null) {
+            baseIntent.setComponent(activity);
+        }
+
+        final List<ResolveInfo> resolved =
+                mContext.getPackageManager().queryIntentActivitiesAsUser(
+                        baseIntent, PACKAGE_MATCH_FLAGS, userId);
+        if (resolved == null || resolved.size() == 0) {
+            return EMPTY_RESOLVE_INFO;
+        }
+        // Make sure the package is installed.
+        if (!isInstalled(resolved.get(0).activityInfo)) {
+            return EMPTY_RESOLVE_INFO;
+        }
+        resolved.removeIf(ACTIVITY_NOT_EXPORTED);
+        return resolved;
+    }
+
+    /**
+     * Return the main activity that is enabled and exported.  If multiple activities are found,
+     * return the first one.
+     */
+    @Nullable
+    ComponentName injectGetDefaultMainActivity(@NonNull String packageName, int userId) {
+        final long start = injectElapsedRealtime();
+        final long token = injectClearCallingIdentity();
+        try {
+            final List<ResolveInfo> resolved =
+                    queryActivities(getMainActivityIntent(), packageName, null, userId);
+            return resolved.size() == 0 ? null : resolved.get(0).activityInfo.getComponentName();
+        } finally {
+            injectRestoreCallingIdentity(token);
+
+            logDurationStat(Stats.GET_LAUNCHER_ACTIVITY, start);
+        }
+    }
+
+    /**
+     * Return whether an activity is enabled, exported and main.
+     */
+    boolean injectIsMainActivity(@NonNull ComponentName activity, int userId) {
+        final long start = injectElapsedRealtime();
+        final long token = injectClearCallingIdentity();
+        try {
+            final List<ResolveInfo> resolved =
+                    queryActivities(getMainActivityIntent(), activity.getPackageName(),
+                            activity, userId);
+            return resolved.size() > 0;
+        } finally {
+            injectRestoreCallingIdentity(token);
+
+            logDurationStat(Stats.CHECK_LAUNCHER_ACTIVITY, start);
+        }
+    }
+
+    /**
+     * Return all the enabled, exported and main activities from a package.
+     */
+    @NonNull
+    List<ResolveInfo> injectGetMainActivities(@NonNull String packageName, int userId) {
+        final long start = injectElapsedRealtime();
+        final long token = injectClearCallingIdentity();
+        try {
+            return queryActivities(getMainActivityIntent(), packageName, null, userId);
+        } finally {
+            injectRestoreCallingIdentity(token);
+
+            logDurationStat(Stats.CHECK_LAUNCHER_ACTIVITY, start);
+        }
+    }
+
+    /**
+     * Return whether an activity is enabled and exported.
+     */
+    @VisibleForTesting
+    boolean injectIsActivityEnabledAndExported(
+            @NonNull ComponentName activity, @UserIdInt int userId) {
+        final long start = injectElapsedRealtime();
+        final long token = injectClearCallingIdentity();
+        try {
+            return queryActivities(new Intent(), activity.getPackageName(), activity, userId)
+                    .size() > 0;
+        } finally {
+            injectRestoreCallingIdentity(token);
+
+            logDurationStat(Stats.IS_ACTIVITY_ENABLED, start);
+        }
+    }
+
+    boolean injectIsSafeModeEnabled() {
+        final long token = injectClearCallingIdentity();
+        try {
+            return IWindowManager.Stub
+                    .asInterface(ServiceManager.getService(Context.WINDOW_SERVICE))
+                    .isSafeModeEnabled();
+        } catch (RemoteException e) {
+            return false; // Shouldn't happen though.
+        } finally {
+            injectRestoreCallingIdentity(token);
+        }
+    }
+
     // === Backup & restore ===
 
     boolean shouldBackupApp(String packageName, int userId) {
@@ -2561,7 +2864,7 @@
             final ByteArrayOutputStream os = new ByteArrayOutputStream(32 * 1024);
             try {
                 saveUserInternalLocked(userId, os, /* forBackup */ true);
-            } catch (XmlPullParserException|IOException e) {
+            } catch (XmlPullParserException | IOException e) {
                 // Shouldn't happen.
                 Slog.w(TAG, "Backup failed.", e);
                 return null;
@@ -2580,7 +2883,7 @@
         final ByteArrayInputStream is = new ByteArrayInputStream(payload);
         try {
             user = loadUserInternal(userId, is, /* fromBackup */ true);
-        } catch (XmlPullParserException|IOException e) {
+        } catch (XmlPullParserException | IOException e) {
             Slog.w(TAG, "Restoration failed.", e);
             return;
         }
@@ -2657,8 +2960,8 @@
             pw.println(mResetInterval);
             pw.print("    maxUpdatesPerInterval: ");
             pw.println(mMaxUpdatesPerInterval);
-            pw.print("    maxDynamicShortcuts: ");
-            pw.println(mMaxDynamicShortcuts);
+            pw.print("    maxShortcutsPerActivity: ");
+            pw.println(mMaxShortcuts);
             pw.println();
 
             pw.println("  Stats:");
@@ -2671,11 +2974,14 @@
                 dumpStatLS(pw, p, Stats.GET_PACKAGE_INFO_WITH_SIG, "getPackageInfo(SIG)");
                 dumpStatLS(pw, p, Stats.GET_APPLICATION_INFO, "getApplicationInfo");
                 dumpStatLS(pw, p, Stats.CLEANUP_DANGLING_BITMAPS, "cleanupDanglingBitmaps");
-                dumpStatLS(pw, p, Stats.GET_ACTIVITIES_WITH_METADATA, "getActivities+metadata");
+                dumpStatLS(pw, p, Stats.GET_ACTIVITY_WITH_METADATA, "getActivity+metadata");
                 dumpStatLS(pw, p, Stats.GET_INSTALLED_PACKAGES, "getInstalledPackages");
                 dumpStatLS(pw, p, Stats.CHECK_PACKAGE_CHANGES, "checkPackageChanges");
                 dumpStatLS(pw, p, Stats.GET_APPLICATION_RESOURCES, "getApplicationResources");
                 dumpStatLS(pw, p, Stats.RESOURCE_NAME_LOOKUP, "resourceNameLookup");
+                dumpStatLS(pw, p, Stats.GET_LAUNCHER_ACTIVITY, "getLauncherActivity");
+                dumpStatLS(pw, p, Stats.CHECK_LAUNCHER_ACTIVITY, "checkLauncherActivity");
+                dumpStatLS(pw, p, Stats.IS_ACTIVITY_ENABLED, "isActivityEnabled");
             }
 
             for (int i = 0; i < mUsers.size(); i++) {
@@ -2726,7 +3032,9 @@
 
         enforceShell();
 
-        (new MyShellCommand()).exec(this, in, out, err, args, resultReceiver);
+        final int status = (new MyShellCommand()).exec(this, in, out, err, args, resultReceiver);
+
+        resultReceiver.send(status, null);
     }
 
     static class CommandException extends Exception {
@@ -2797,6 +3105,9 @@
                     case "clear-shortcuts":
                         handleClearShortcuts();
                         break;
+                    case "verify-states": // hidden command to verify various internal states.
+                        handleVerifyStates();
+                        break;
                     default:
                         return handleDefaultCommands(cmd);
                 }
@@ -2939,7 +3250,16 @@
 
             Slog.i(TAG, "cmd: handleClearShortcuts: " + mUserId + ", " + packageName);
 
-            ShortcutService.this.cleanUpPackageForAllLoadedUsers(packageName, mUserId);
+            ShortcutService.this.cleanUpPackageForAllLoadedUsers(packageName, mUserId,
+                    /* appStillExists = */ true);
+        }
+
+        private void handleVerifyStates() throws CommandException {
+            try {
+                verifyStatesForce(); // This will throw when there's an issue.
+            } catch (Throwable th) {
+                throw new CommandException(th.getMessage() + "\n" + Log.getStackTraceString(th));
+            }
         }
     }
 
@@ -2979,7 +3299,7 @@
     }
 
     final void wtf(String message) {
-        wtf( message, /* exception= */ null);
+        wtf(message, /* exception= */ null);
     }
 
     // Injection point.
@@ -3025,8 +3345,8 @@
     }
 
     @VisibleForTesting
-    int getMaxDynamicShortcutsForTest() {
-        return mMaxDynamicShortcuts;
+    int getMaxShortcutsForTest() {
+        return mMaxShortcuts;
     }
 
     @VisibleForTesting
@@ -3093,6 +3413,10 @@
         }
     }
 
+    private final void verifyStatesForce() {
+        verifyStatesInner();
+    }
+
     private void verifyStatesInner() {
         synchronized (this) {
             forEachLoadedUserLocked(u -> u.forAllPackageItems(ShortcutPackageItem::verifyStates));
diff --git a/services/core/java/com/android/server/pm/ShortcutUser.java b/services/core/java/com/android/server/pm/ShortcutUser.java
index f8ee325..7ea89c9 100644
--- a/services/core/java/com/android/server/pm/ShortcutUser.java
+++ b/services/core/java/com/android/server/pm/ShortcutUser.java
@@ -88,7 +88,7 @@
 
         @Override
         public String toString() {
-            return String.format("{Package: %d, %s}", userId, packageName);
+            return String.format("[Package: %d, %s]", userId, packageName);
         }
     }
 
@@ -99,8 +99,6 @@
 
     private final ArrayMap<String, ShortcutPackage> mPackages = new ArrayMap<>();
 
-    private final SparseArray<ShortcutPackage> mPackagesFromUid = new SparseArray<>();
-
     private final ArrayMap<PackageWithUser, ShortcutLauncher> mLaunchers = new ArrayMap<>();
 
     /** Default launcher that can access the launcher apps APIs. */
@@ -244,12 +242,12 @@
         }
     }
 
-    public void handlePackageAddedOrUpdated(@NonNull String packageName) {
+    public void handlePackageAddedOrUpdated(@NonNull String packageName, boolean forceRescan) {
         final boolean isNewApp = !mPackages.containsKey(packageName);
 
         final ShortcutPackage shortcutPackage = getPackageShortcuts(packageName);
 
-        if (!shortcutPackage.handlePackageAddedOrUpdated(isNewApp)) {
+        if (!shortcutPackage.handlePackageAddedOrUpdated(isNewApp, forceRescan)) {
             if (isNewApp) {
                 mPackages.remove(packageName);
             }
@@ -381,8 +379,10 @@
         pw.print(mUserId);
         pw.print("  Known locale seq#: ");
         pw.print(mKnownLocaleChangeSequenceNumber);
-        pw.print("  Last app scan: ");
+        pw.print("  Last app scan: [");
         pw.print(mLastAppScanTime);
+        pw.print("] ");
+        pw.print(ShortcutService.formatTime(mLastAppScanTime));
         pw.println();
 
         prefix += prefix + "  ";
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index 95689ca..bbffd32 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -31,6 +31,7 @@
 import android.app.IActivityManager;
 import android.app.IStopUserCallback;
 import android.app.KeyguardManager;
+import android.app.PendingIntent;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
@@ -66,6 +67,8 @@
 import android.os.UserManagerInternal;
 import android.os.UserManagerInternal.UserRestrictionsListener;
 import android.os.storage.StorageManager;
+import android.security.GateKeeper;
+import android.service.gatekeeper.IGateKeeperService;
 import android.system.ErrnoException;
 import android.system.Os;
 import android.system.OsConstants;
@@ -89,6 +92,7 @@
 import com.android.internal.util.XmlUtils;
 import com.android.internal.widget.LockPatternUtils;
 import com.android.server.LocalServices;
+import com.android.server.SystemService;
 import com.android.server.am.UserState;
 
 import libcore.io.IoUtils;
@@ -121,6 +125,7 @@
  * </ul>
  */
 public class UserManagerService extends IUserManager.Stub {
+
     private static final String LOG_TAG = "UserManagerService";
     static final boolean DBG = false; // DO NOT SUBMIT WITH TRUE
     private static final boolean DBG_WITH_STACKTRACE = false; // DO NOT SUBMIT WITH TRUE
@@ -170,6 +175,12 @@
     private static final String RESTRICTIONS_FILE_PREFIX = "res_";
     private static final String XML_SUFFIX = ".xml";
 
+    private static final int ALLOWED_FLAGS_FOR_CREATE_USERS_PERMISSION =
+            UserInfo.FLAG_MANAGED_PROFILE
+            | UserInfo.FLAG_EPHEMERAL
+            | UserInfo.FLAG_RESTRICTED
+            | UserInfo.FLAG_GUEST;
+
     private static final int MIN_USER_ID = 10;
     // We need to keep process uid within Integer.MAX_VALUE.
     private static final int MAX_USER_ID = Integer.MAX_VALUE / UserHandle.PER_USER_RANGE;
@@ -325,6 +336,27 @@
 
     private final LockPatternUtils mLockPatternUtils;
 
+    private final String ACTION_DISABLE_QUIET_MODE_AFTER_UNLOCK =
+            "com.android.server.pm.DISABLE_QUIET_MODE_AFTER_UNLOCK";
+
+    private final BroadcastReceiver mDisableQuietModeCallback = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (ACTION_DISABLE_QUIET_MODE_AFTER_UNLOCK.equals(intent.getAction())) {
+                final IntentSender target = intent.getParcelableExtra(Intent.EXTRA_INTENT);
+                final int userHandle = intent.getIntExtra(Intent.EXTRA_USER_ID, 0);
+                setQuietModeEnabled(userHandle, false);
+                if (target != null) {
+                    try {
+                        mContext.startIntentSender(target, null, 0, 0, 0);
+                    } catch (IntentSender.SendIntentException e) {
+                        /* ignore */
+                    }
+                }
+            }
+        }
+    };
+
     /**
      * Whether all users should be created ephemeral.
      */
@@ -342,6 +374,31 @@
         }
     }
 
+    public static class LifeCycle extends SystemService {
+
+        private UserManagerService mUms;
+
+        /**
+         * @param context
+         */
+        public LifeCycle(Context context) {
+            super(context);
+        }
+
+        @Override
+        public void onStart() {
+            mUms = UserManagerService.getInstance();
+            publishBinderService(Context.USER_SERVICE, mUms);
+        }
+
+        @Override
+        public void onBootPhase(int phase) {
+            if (phase == SystemService.PHASE_ACTIVITY_MANAGER_READY) {
+                mUms.cleanupPartialUsers();
+            }
+        }
+    }
+
     @VisibleForTesting
     UserManagerService(File dataDir) {
         this(null, null, new Object(), dataDir);
@@ -383,25 +440,6 @@
     }
 
     void systemReady() {
-        // Prune out any partially created, partially removed and ephemeral users.
-        ArrayList<UserInfo> partials = new ArrayList<>();
-        synchronized (mUsersLock) {
-            final int userSize = mUsers.size();
-            for (int i = 0; i < userSize; i++) {
-                UserInfo ui = mUsers.valueAt(i).info;
-                if ((ui.partial || ui.guestToRemove || ui.isEphemeral()) && i != 0) {
-                    partials.add(ui);
-                }
-            }
-        }
-        final int partialsSize = partials.size();
-        for (int i = 0; i < partialsSize; i++) {
-            UserInfo ui = partials.get(i);
-            Slog.w(LOG_TAG, "Removing partially created user " + ui.id
-                    + " (name=" + ui.name + ")");
-            removeUserState(ui.id);
-        }
-
         mAppOpsService = IAppOpsService.Stub.asInterface(
                 ServiceManager.getService(Context.APP_OPS_SERVICE));
 
@@ -418,8 +456,33 @@
             setUserRestriction(UserManager.DISALLOW_CONFIG_WIFI, true, currentGuestUser.id);
         }
 
-        maybeInitializeDemoMode(UserHandle.USER_SYSTEM);
-}
+        mContext.registerReceiver(mDisableQuietModeCallback,
+                new IntentFilter(ACTION_DISABLE_QUIET_MODE_AFTER_UNLOCK),
+                null, mHandler);
+    }
+
+    void cleanupPartialUsers() {
+        // Prune out any partially created, partially removed and ephemeral users.
+        ArrayList<UserInfo> partials = new ArrayList<>();
+        synchronized (mUsersLock) {
+            final int userSize = mUsers.size();
+            for (int i = 0; i < userSize; i++) {
+                UserInfo ui = mUsers.valueAt(i).info;
+                if ((ui.partial || ui.guestToRemove || ui.isEphemeral()) && i != 0) {
+                    partials.add(ui);
+                    mRemovingUserIds.append(ui.id, true);
+                    ui.partial = true;
+                }
+            }
+        }
+        final int partialsSize = partials.size();
+        for (int i = 0; i < partialsSize; i++) {
+            UserInfo ui = partials.get(i);
+            Slog.w(LOG_TAG, "Removing partially created user " + ui.id
+                    + " (name=" + ui.name + ")");
+            removeUserState(ui.id);
+        }
+    }
 
     @Override
     public String getUserAccount(int userId) {
@@ -470,7 +533,7 @@
 
     @Override
     public @NonNull List<UserInfo> getUsers(boolean excludeDying) {
-        checkManageUsersPermission("query users");
+        checkManageOrCreateUsersPermission("query users");
         synchronized (mUsersLock) {
             ArrayList<UserInfo> users = new ArrayList<UserInfo>(mUsers.size());
             final int userSize = mUsers.size();
@@ -675,9 +738,9 @@
             long identity = Binder.clearCallingIdentity();
             try {
                 if (enableQuietMode) {
+                    ActivityManagerNative.getDefault().stopUser(userHandle, /* force */true, null);
                     LocalServices.getService(ActivityManagerInternal.class)
                             .killForegroundAppsForUser(userHandle);
-                    ActivityManagerNative.getDefault().stopUser(userHandle, /* force */true, null);
                 } else {
                     ActivityManagerNative.getDefault().startUserInBackground(userHandle);
                 }
@@ -708,6 +771,7 @@
 
     @Override
     public boolean trySetQuietModeDisabled(int userHandle, IntentSender target) {
+        checkManageUsersPermission("silence profile");
         if (StorageManager.isUserKeyUnlocked(userHandle)
                 || !mLockPatternUtils.isSecure(userHandle)) {
             // if the user is already unlocked, no need to show a profile challenge
@@ -728,9 +792,24 @@
             if (unlockIntent == null) {
                 return false;
             }
+            final Intent callBackIntent = new Intent(
+                    ACTION_DISABLE_QUIET_MODE_AFTER_UNLOCK);
             if (target != null) {
-                unlockIntent.putExtra(Intent.EXTRA_INTENT, target);
+                callBackIntent.putExtra(Intent.EXTRA_INTENT, target);
             }
+            callBackIntent.putExtra(Intent.EXTRA_USER_ID, userHandle);
+            callBackIntent.setPackage(mContext.getPackageName());
+            callBackIntent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
+            final PendingIntent pendingIntent = PendingIntent.getBroadcast(
+                    mContext,
+                    0,
+                    callBackIntent,
+                    PendingIntent.FLAG_CANCEL_CURRENT |
+                            PendingIntent.FLAG_ONE_SHOT |
+                            PendingIntent.FLAG_IMMUTABLE);
+            // After unlocking the challenge, it will disable quiet mode and run the original
+            // intentSender
+            unlockIntent.putExtra(Intent.EXTRA_INTENT, pendingIntent.getIntentSender());
             unlockIntent.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
             mContext.startActivity(unlockIntent);
         } finally {
@@ -756,7 +835,7 @@
 
     @Override
     public UserInfo getUserInfo(int userId) {
-        checkManageUsersPermission("query user");
+        checkManageOrCreateUsersPermission("query user");
         synchronized (mUsersLock) {
             return userWithName(getUserInfoLU(userId));
         }
@@ -789,12 +868,25 @@
             }
         }
         synchronized (mUsersLock) {
-            UserInfo userInfo =  getUserInfoLU(userId);
+            UserInfo userInfo = getUserInfoLU(userId);
             return userInfo != null && userInfo.isManagedProfile();
         }
     }
 
     @Override
+    public boolean isDemoUser(int userId) {
+        int callingUserId = UserHandle.getCallingUserId();
+        if (callingUserId != userId && !hasManageUsersPermission()) {
+            throw new SecurityException("You need MANAGE_USERS permission to query if u=" + userId
+                    + " is a demo user");
+        }
+        synchronized (mUsersLock) {
+            UserInfo userInfo = getUserInfoLU(userId);
+            return userInfo != null && userInfo.isDemo();
+        }
+    }
+
+    @Override
     public boolean isRestricted() {
         synchronized (mUsersLock) {
             return getUserInfoLU(UserHandle.getCallingUserId()).isRestricted();
@@ -1230,14 +1322,16 @@
         }
 
         if (mAppOpsService != null) { // We skip it until system-ready.
-            final long token = Binder.clearCallingIdentity();
-            try {
-                mAppOpsService.setUserRestrictions(effective, mUserRestriconToken, userId);
-            } catch (RemoteException e) {
-                Log.w(LOG_TAG, "Unable to notify AppOpsService of UserRestrictions");
-            } finally {
-                Binder.restoreCallingIdentity(token);
-            }
+            mHandler.post(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        mAppOpsService.setUserRestrictions(effective, mUserRestriconToken, userId);
+                    } catch (RemoteException e) {
+                        Log.w(LOG_TAG, "Unable to notify AppOpsService of UserRestrictions");
+                    }
+                }
+            });
         }
 
         propagateUserRestrictionsLR(userId, effective, prevAppliedRestrictions);
@@ -1412,6 +1506,41 @@
     }
 
     /**
+     * Enforces that only the system UID or root's UID or apps that have the
+     * {@link android.Manifest.permission#MANAGE_USERS MANAGE_USERS} or
+     * {@link android.Manifest.permission#CREATE_USERS CREATE_USERS}
+     * can make certain calls to the UserManager.
+     *
+     * @param message used as message if SecurityException is thrown
+     * @throws SecurityException if the caller is not system or root
+     * @see #hasManageOrCreateUsersPermission()
+     */
+    private static final void checkManageOrCreateUsersPermission(String message) {
+        if (!hasManageOrCreateUsersPermission()) {
+            throw new SecurityException(
+                    "You either need MANAGE_USERS or CREATE_USERS permission to: " + message);
+        }
+    }
+
+    /**
+     * Similar to {@link #checkManageOrCreateUsersPermission(String)} but when the caller is tries
+     * to create user/profiles other than what is allowed for
+     * {@link android.Manifest.permission#CREATE_USERS CREATE_USERS} permission, then it will only
+     * allow callers with {@link android.Manifest.permission#MANAGE_USERS MANAGE_USERS} permission.
+     */
+    private static final void checkManageOrCreateUsersPermission(int creationFlags) {
+        if ((creationFlags & ~ALLOWED_FLAGS_FOR_CREATE_USERS_PERMISSION) == 0) {
+            if (!hasManageOrCreateUsersPermission()) {
+                throw new SecurityException("You either need MANAGE_USERS or CREATE_USERS "
+                        + "permission to create an user with flags: " + creationFlags);
+            }
+        } else if (!hasManageUsersPermission()) {
+            throw new SecurityException("You need MANAGE_USERS permission to create an user "
+                    + " with flags: " + creationFlags);
+        }
+    }
+
+    /**
      * @return whether the calling UID is system UID or root's UID or the calling app has the
      * {@link android.Manifest.permission#MANAGE_USERS MANAGE_USERS}.
      */
@@ -1425,6 +1554,23 @@
     }
 
     /**
+     * @return whether the calling UID is system UID or root's UID or the calling app has the
+     * {@link android.Manifest.permission#MANAGE_USERS MANAGE_USERS} or
+     * {@link android.Manifest.permission#CREATE_USERS CREATE_USERS}.
+     */
+    private static final boolean hasManageOrCreateUsersPermission() {
+        final int callingUid = Binder.getCallingUid();
+        return UserHandle.isSameApp(callingUid, Process.SYSTEM_UID)
+                || callingUid == Process.ROOT_UID
+                || ActivityManager.checkComponentPermission(
+                        android.Manifest.permission.MANAGE_USERS,
+                        callingUid, -1, true) == PackageManager.PERMISSION_GRANTED
+                || ActivityManager.checkComponentPermission(
+                        android.Manifest.permission.CREATE_USERS,
+                        callingUid, -1, true) == PackageManager.PERMISSION_GRANTED;
+    }
+
+    /**
      * Enforces that only the system UID or root's UID (on any user) can make certain calls to the
      * UserManager.
      *
@@ -2010,13 +2156,13 @@
 
     @Override
     public UserInfo createProfileForUser(String name, int flags, int userId) {
-        checkManageUsersPermission("Only the system can create users");
+        checkManageOrCreateUsersPermission(flags);
         return createUserInternal(name, flags, userId);
     }
 
     @Override
     public UserInfo createUser(String name, int flags) {
-        checkManageUsersPermission("Only the system can create users");
+        checkManageOrCreateUsersPermission(flags);
         return createUserInternal(name, flags, UserHandle.USER_NULL);
     }
 
@@ -2173,7 +2319,7 @@
      */
     @Override
     public UserInfo createRestrictedProfile(String name, int parentUserId) {
-        checkManageUsersPermission("setupRestrictedProfile");
+        checkManageOrCreateUsersPermission("setupRestrictedProfile");
         final UserInfo user = createProfileForUser(name, UserInfo.FLAG_RESTRICTED, parentUserId);
         if (user == null) {
             return null;
@@ -2262,7 +2408,7 @@
      */
     @Override
     public boolean removeUser(int userHandle) {
-        checkManageUsersPermission("Only the system can remove users");
+        checkManageOrCreateUsersPermission("Only the system can remove users");
         if (getUserRestrictions(UserHandle.getCallingUserId()).getBoolean(
                 UserManager.DISALLOW_REMOVE_USER, false)) {
             Log.w(LOG_TAG, "Cannot remove user. DISALLOW_REMOVE_USER is enabled.");
@@ -2380,8 +2526,23 @@
                 "Destroying key for user " + userHandle + " failed, continuing anyway", e);
         }
 
+        // Cleanup gatekeeper secure user id
+        try {
+            final IGateKeeperService gk = GateKeeper.getService();
+            if (gk != null) {
+                gk.clearSecureUserId(userHandle);
+            }
+        } catch (Exception ex) {
+            Slog.w(LOG_TAG, "unable to clear GK secure user id");
+        }
+
         // Cleanup package manager settings
         mPm.cleanUpUser(this, userHandle);
+
+        // Clean up all data before removing metadata
+        mPm.destroyUserData(userHandle,
+                StorageManager.FLAG_STORAGE_DE | StorageManager.FLAG_STORAGE_CE);
+
         // Remove this user from the list
         synchronized (mUsersLock) {
             mUsers.remove(userHandle);
@@ -2404,12 +2565,6 @@
         AtomicFile userFile = new AtomicFile(new File(mUsersDir, userHandle + XML_SUFFIX));
         userFile.delete();
         updateUserIds();
-
-        // Now that we've purged all the metadata above, destroy the actual data
-        // on disk; if we battery pull in here we'll finish cleaning up when
-        // reconciling after reboot.
-        mPm.destroyUserData(userHandle,
-                StorageManager.FLAG_STORAGE_DE | StorageManager.FLAG_STORAGE_CE);
     }
 
     private void sendProfileRemovedBroadcast(int parentUserId, int removedUserId) {
@@ -2758,7 +2913,7 @@
     }
 
     private void maybeInitializeDemoMode(int userId) {
-        if (UserManager.isDeviceInDemoMode(mContext)) {
+        if (UserManager.isDeviceInDemoMode(mContext) && userId != UserHandle.USER_SYSTEM) {
             String demoLauncher =
                     mContext.getResources().getString(
                             com.android.internal.R.string.config_demoModeLauncherComponent);
diff --git a/services/core/java/com/android/server/pm/UserRestrictionsUtils.java b/services/core/java/com/android/server/pm/UserRestrictionsUtils.java
index 414d165..c082143 100644
--- a/services/core/java/com/android/server/pm/UserRestrictionsUtils.java
+++ b/services/core/java/com/android/server/pm/UserRestrictionsUtils.java
@@ -429,7 +429,7 @@
                     if (newValue) {
                         PersistentDataBlockManager manager = (PersistentDataBlockManager) context
                                 .getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
-                        if (manager != null) {
+                        if (manager != null && manager.getOemUnlockEnabled()) {
                             manager.setOemUnlockEnabled(false);
                         }
                     }
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index e0cfe4e..b1b90d1 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -262,6 +262,10 @@
     private static final String SYSUI_SCREENSHOT_ERROR_RECEIVER =
             "com.android.systemui.screenshot.ScreenshotServiceErrorReceiver";
 
+    private static final int NAV_BAR_BOTTOM = 0;
+    private static final int NAV_BAR_RIGHT = 1;
+    private static final int NAV_BAR_LEFT = 2;
+
     /**
      * Keyguard stuff
      */
@@ -354,9 +358,8 @@
     int mStatusBarHeight;
     WindowState mNavigationBar = null;
     boolean mHasNavigationBar = false;
-    boolean mCanHideNavigationBar = false;
     boolean mNavigationBarCanMove = false; // can the navigation bar ever move to the side?
-    boolean mNavigationBarOnBottom = true; // is the navigation bar on the bottom *right now*?
+    int mNavigationBarPosition = NAV_BAR_BOTTOM;
     int[] mNavigationBarHeightForRotationDefault = new int[4];
     int[] mNavigationBarWidthForRotationDefault = new int[4];
     int[] mNavigationBarHeightForRotationInCarMode = new int[4];
@@ -1683,13 +1686,19 @@
                     }
                     @Override
                     public void onSwipeFromBottom() {
-                        if (mNavigationBar != null && mNavigationBarOnBottom) {
+                        if (mNavigationBar != null && mNavigationBarPosition == NAV_BAR_BOTTOM) {
                             requestTransientBars(mNavigationBar);
                         }
                     }
                     @Override
                     public void onSwipeFromRight() {
-                        if (mNavigationBar != null && !mNavigationBarOnBottom) {
+                        if (mNavigationBar != null && mNavigationBarPosition == NAV_BAR_RIGHT) {
+                            requestTransientBars(mNavigationBar);
+                        }
+                    }
+                    @Override
+                    public void onSwipeFromLeft() {
+                        if (mNavigationBar != null && mNavigationBarPosition == NAV_BAR_LEFT) {
                             requestTransientBars(mNavigationBar);
                         }
                     }
@@ -2262,7 +2271,6 @@
 
         readConfigurationDependentBehaviors();
         readLidState();
-        applyLidSwitchState();
 
         if (config.keyboard == Configuration.KEYBOARD_NOKEYS
                 || (keyboardPresence == PRESENCE_INTERNAL
@@ -2589,8 +2597,13 @@
             final PhoneWindow win = new PhoneWindow(context);
             win.setIsStartingWindow(true);
 
-            final Resources r = context.getResources();
-            win.setTitle(r.getText(labelRes, nonLocalizedLabel));
+            CharSequence label = context.getResources().getText(labelRes, null);
+            // Only change the accessibility title if the label is localized
+            if (label != null) {
+                win.setTitle(label, true);
+            } else {
+                win.setTitle(nonLocalizedLabel, false);
+            }
 
             win.setType(
                 WindowManager.LayoutParams.TYPE_APPLICATION_STARTING);
@@ -2778,8 +2791,8 @@
             if (win.getAttrs().windowAnimations != 0) {
                 return 0;
             }
-            // This can be on either the bottom or the right.
-            if (mNavigationBarOnBottom) {
+            // This can be on either the bottom or the right or the left.
+            if (mNavigationBarPosition == NAV_BAR_BOTTOM) {
                 if (transit == TRANSIT_EXIT
                         || transit == TRANSIT_HIDE) {
                     return R.anim.dock_bottom_exit;
@@ -2787,7 +2800,7 @@
                         || transit == TRANSIT_SHOW) {
                     return R.anim.dock_bottom_enter;
                 }
-            } else {
+            } else if (mNavigationBarPosition == NAV_BAR_RIGHT) {
                 if (transit == TRANSIT_EXIT
                         || transit == TRANSIT_HIDE) {
                     return R.anim.dock_right_exit;
@@ -2795,6 +2808,14 @@
                         || transit == TRANSIT_SHOW) {
                     return R.anim.dock_right_enter;
                 }
+            } else if (mNavigationBarPosition == NAV_BAR_LEFT) {
+                if (transit == TRANSIT_EXIT
+                        || transit == TRANSIT_HIDE) {
+                    return R.anim.dock_left_exit;
+                } else if (transit == TRANSIT_ENTER
+                        || transit == TRANSIT_SHOW) {
+                    return R.anim.dock_left_enter;
+                }
             }
         } else if (win.getAttrs().type == TYPE_DOCK_DIVIDER) {
             return selectDockedDividerAnimationLw(win, transit);
@@ -2823,10 +2844,12 @@
         // If the divider is behind the navigation bar, don't animate.
         final Rect frame = win.getFrameLw();
         final boolean behindNavBar = mNavigationBar != null
-                && ((mNavigationBarOnBottom
+                && ((mNavigationBarPosition == NAV_BAR_BOTTOM
                         && frame.top + insets >= mNavigationBar.getFrameLw().top)
-                || (!mNavigationBarOnBottom
-                        && frame.left + insets >= mNavigationBar.getFrameLw().left));
+                || (mNavigationBarPosition == NAV_BAR_RIGHT
+                        && frame.left + insets >= mNavigationBar.getFrameLw().left)
+                || (mNavigationBarPosition == NAV_BAR_LEFT
+                        && frame.right - insets <= mNavigationBar.getFrameLw().right));
         final boolean landscape = frame.height() > frame.width();
         final boolean offscreenLandscape = landscape && (frame.right - insets <= 0
                 || frame.left + insets >= win.getDisplayFrameLw().right);
@@ -2851,8 +2874,12 @@
                 + mTopFullscreenOpaqueWindowState + " rotationAnimation="
                 + (mTopFullscreenOpaqueWindowState == null ?
                         "0" : mTopFullscreenOpaqueWindowState.getAttrs().rotationAnimation));
-        if (mTopFullscreenOpaqueWindowState != null && mTopIsFullscreen) {
-            switch (mTopFullscreenOpaqueWindowState.getAttrs().rotationAnimation) {
+        if (mTopFullscreenOpaqueWindowState != null) {
+            int animationHint = mTopFullscreenOpaqueWindowState.getRotationAnimationHint();
+            if (animationHint < 0 && mTopIsFullscreen) {
+                animationHint = mTopFullscreenOpaqueWindowState.getAttrs().rotationAnimation;
+            }
+            switch (animationHint) {
                 case ROTATION_ANIMATION_CROSSFADE:
                     anim[0] = R.anim.rotation_animation_xfade_exit;
                     anim[1] = R.anim.rotation_animation_enter;
@@ -4019,7 +4046,7 @@
             navVisible |= !canHideNavigationBar();
 
             boolean updateSysUiVisibility = layoutNavigationBar(displayWidth, displayHeight,
-                    displayRotation, uiMode, overscanRight, overscanBottom, dcf, navVisible, navTranslucent,
+                    displayRotation, uiMode, overscanLeft, overscanRight, overscanBottom, dcf, navVisible, navTranslucent,
                     navAllowedHidden, statusBarExpandedNotKeyguard);
             if (DEBUG_LAYOUT) Slog.i(TAG, String.format("mDock rect: (%d,%d - %d,%d)",
                     mDockLeft, mDockTop, mDockRight, mDockBottom));
@@ -4098,8 +4125,8 @@
     }
 
     private boolean layoutNavigationBar(int displayWidth, int displayHeight, int displayRotation,
-            int uiMode, int overscanRight, int overscanBottom, Rect dcf, boolean navVisible,
-            boolean navTranslucent, boolean navAllowedHidden,
+            int uiMode, int overscanLeft, int overscanRight, int overscanBottom, Rect dcf,
+            boolean navVisible, boolean navTranslucent, boolean navAllowedHidden,
             boolean statusBarExpandedNotKeyguard) {
         if (mNavigationBar != null) {
             boolean transientNavBarShowing = mNavigationBarController.isTransientShowing();
@@ -4107,8 +4134,9 @@
             // size.  We need to do this directly, instead of relying on
             // it to bubble up from the nav bar, because this needs to
             // change atomically with screen rotations.
-            mNavigationBarOnBottom = isNavigationBarOnBottom(displayWidth, displayHeight);
-            if (mNavigationBarOnBottom) {
+            mNavigationBarPosition = navigationBarPosition(displayWidth, displayHeight,
+                    displayRotation);
+            if (mNavigationBarPosition == NAV_BAR_BOTTOM) {
                 // It's a system nav bar or a portrait screen; nav bar goes on bottom.
                 int top = displayHeight - overscanBottom
                         - getNavigationBarHeight(displayRotation, uiMode);
@@ -4134,7 +4162,7 @@
                     // we can tell the app that it is covered by it.
                     mSystemBottom = mTmpNavigationFrame.top;
                 }
-            } else {
+            } else if (mNavigationBarPosition == NAV_BAR_RIGHT) {
                 // Landscape screen; nav bar goes to the right.
                 int left = displayWidth - overscanRight
                         - getNavigationBarWidth(displayRotation, uiMode);
@@ -4160,6 +4188,33 @@
                     // we can tell the app that it is covered by it.
                     mSystemRight = mTmpNavigationFrame.left;
                 }
+            } else if (mNavigationBarPosition == NAV_BAR_LEFT) {
+                // Seascape screen; nav bar goes to the left.
+                int right = overscanLeft + getNavigationBarWidth(displayRotation, uiMode);
+                mTmpNavigationFrame.set(overscanLeft, 0, right, displayHeight);
+                mStableLeft = mStableFullscreenLeft = mTmpNavigationFrame.right;
+                if (transientNavBarShowing) {
+                    mNavigationBarController.setBarShowingLw(true);
+                } else if (navVisible) {
+                    mNavigationBarController.setBarShowingLw(true);
+                    mDockLeft = mTmpNavigationFrame.right;
+                    // TODO: not so sure about those:
+                    mRestrictedScreenLeft = mRestrictedOverscanScreenLeft = mDockLeft;
+                    mRestrictedScreenWidth = mDockRight - mRestrictedScreenLeft;
+                    mRestrictedOverscanScreenWidth = mDockRight - mRestrictedOverscanScreenLeft;
+                } else {
+                    // We currently want to hide the navigation UI - unless we expanded the status
+                    // bar.
+                    mNavigationBarController.setBarShowingLw(statusBarExpandedNotKeyguard);
+                }
+                if (navVisible && !navTranslucent && !navAllowedHidden
+                        && !mNavigationBar.isAnimatingLw()
+                        && !mNavigationBarController.wasRecentlyTranslucent()) {
+                    // If the nav bar is currently requested to be visible,
+                    // and not in the process of animating on or off, then
+                    // we can tell the app that it is covered by it.
+                    mSystemLeft = mTmpNavigationFrame.right;
+                }
             }
             // Make sure the content and current rectangles are updated to
             // account for the restrictions from the navigation bar.
@@ -4180,8 +4235,15 @@
         return false;
     }
 
-    private boolean isNavigationBarOnBottom(int displayWidth, int displayHeight) {
-        return !mNavigationBarCanMove || displayWidth < displayHeight;
+    private int navigationBarPosition(int displayWidth, int displayHeight, int displayRotation) {
+        if (mNavigationBarCanMove && displayWidth > displayHeight) {
+            if (displayRotation == Surface.ROTATION_270) {
+                return NAV_BAR_LEFT;
+            } else {
+                return NAV_BAR_RIGHT;
+            }
+        }
+        return NAV_BAR_BOTTOM;
     }
 
     /** {@inheritDoc} */
@@ -4357,7 +4419,11 @@
             if (mStatusBar != null && mFocusedWindow == mStatusBar && canReceiveInput(mStatusBar)) {
                 // The status bar forces the navigation bar while it's visible. Make sure the IME
                 // avoids the navigation bar in that case.
-                pf.right = df.right = of.right = cf.right = vf.right = mStableRight;
+                if (mNavigationBarPosition == NAV_BAR_RIGHT) {
+                    pf.right = df.right = of.right = cf.right = vf.right = mStableRight;
+                } else if (mNavigationBarPosition == NAV_BAR_LEFT) {
+                    pf.left = df.left = of.left = cf.left = vf.left = mStableLeft;
+                }
             }
             // IM dock windows always go to the bottom of the screen.
             attrs.gravity = Gravity.BOTTOM;
@@ -5656,14 +5722,15 @@
                 break;
             }
 
-            case KeyEvent.KEYCODE_FP_NAV_DOWN:
+            case KeyEvent.KEYCODE_SYSTEM_NAVIGATION_DOWN:
                 // fall through
-            case KeyEvent.KEYCODE_FP_NAV_UP:
+            case KeyEvent.KEYCODE_SYSTEM_NAVIGATION_UP:
                 // fall through
-            case KeyEvent.KEYCODE_FP_NAV_LEFT:
+            case KeyEvent.KEYCODE_SYSTEM_NAVIGATION_LEFT:
                 // fall through
-            case KeyEvent.KEYCODE_FP_NAV_RIGHT: {
-                interceptStatusBarKey(event);
+            case KeyEvent.KEYCODE_SYSTEM_NAVIGATION_RIGHT: {
+                result &= ~ACTION_PASS_TO_USER;
+                interceptSystemNavigationKey(event);
                 break;
             }
 
@@ -5791,21 +5858,12 @@
      * Handle statusbar expansion events.
      * @param event
      */
-    private void interceptStatusBarKey(KeyEvent event) {
-        final int e = event.getKeyCode();
-        if (event.getAction() == KeyEvent.ACTION_UP) {
-            boolean doOpen = false;
-            boolean doClose = false;
-            doOpen = (e == KeyEvent.KEYCODE_FP_NAV_DOWN);
-            doClose = (e == KeyEvent.KEYCODE_FP_NAV_UP);
+    private void interceptSystemNavigationKey(KeyEvent event) {
+        if (event.getAction() == KeyEvent.ACTION_UP && areSystemNavigationKeysEnabled()) {
             IStatusBarService sbar = getStatusBarService();
             if (sbar != null) {
                 try {
-                    if (doOpen) {
-                        sbar.expandNotificationsPanel();
-                    } else if (doClose) {
-                        sbar.collapsePanels();
-                    }
+                    sbar.handleSystemNavigationKey(event.getKeyCode());
                 } catch (RemoteException e1) {
                     // oops, no statusbar. Ignore event.
                 }
@@ -6463,10 +6521,13 @@
 
         // Only navigation bar
         if (mNavigationBar != null) {
-            if (isNavigationBarOnBottom(displayWidth, displayHeight)) {
+            int position = navigationBarPosition(displayWidth, displayHeight, displayRotation);
+            if (position == NAV_BAR_BOTTOM) {
                 outInsets.bottom = getNavigationBarHeight(displayRotation, mUiMode);
-            } else {
+            } else if (position == NAV_BAR_RIGHT) {
                 outInsets.right = getNavigationBarWidth(displayRotation, mUiMode);
+            } else if (position == NAV_BAR_LEFT) {
+                outInsets.left = getNavigationBarWidth(displayRotation, mUiMode);
             }
         }
     }
@@ -6812,9 +6873,7 @@
             @Override public void run() {
                 if (mBootMsgDialog == null) {
                     int theme;
-                    if (mHasFeatureWatch) {
-                        theme = com.android.internal.R.style.Theme_Micro_Dialog_Alert;
-                    } else if (mContext.getPackageManager().hasSystemFeature(FEATURE_TELEVISION)) {
+                    if (mContext.getPackageManager().hasSystemFeature(FEATURE_TELEVISION)) {
                         theme = com.android.internal.R.style.Theme_Leanback_Dialog_Alert;
                     } else {
                         theme = 0;
@@ -7203,6 +7262,11 @@
                 Settings.Global.ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED, 0) == 1;
     }
 
+    private boolean areSystemNavigationKeysEnabled() {
+        return Settings.Global.getInt(mContext.getContentResolver(),
+                Settings.Global.SYSTEM_NAVIGATION_KEYS_ENABLED, 1) == 1;
+    }
+
     @Override
     public boolean performHapticFeedbackLw(WindowState win, int effectId, boolean always) {
         if (!mVibrator.hasVibrator()) {
@@ -7602,6 +7666,39 @@
     }
 
     @Override
+    public boolean shouldRotateSeamlessly(int oldRotation, int newRotation) {
+        // For the upside down rotation we don't rotate seamlessly as the navigation
+        // bar moves position.
+        // Note most apps (using orientation:sensor or user as opposed to fullSensor)
+        // will not enter the reverse portrait orientation, so actually the
+        // orientation won't change at all.
+        if (oldRotation == mUpsideDownRotation || newRotation == mUpsideDownRotation) {
+            return false;
+        }
+        int delta = newRotation - oldRotation;
+        if (delta < 0) delta += 4;
+        // Likewise we don't rotate seamlessly for 180 degree rotations
+        // in this case the surfaces never resize, and our logic to 
+        // revert the transformations on size change will fail. We could
+        // fix this in the future with the "tagged" frames idea.
+        if (delta == Surface.ROTATION_180) {
+            return false;
+        }
+
+        // We only enable seamless rotation if the top window has requested
+        // it and is in the fullscreen opaque state. Seamless rotation
+        // requires freezing various Surface states and won't work well
+        // with animations, so we disable it in the animation case for now.
+        if (mTopFullscreenOpaqueWindowState != null && mTopIsFullscreen &&
+                !mTopFullscreenOpaqueWindowState.isAnimatingLw() &&
+                mTopFullscreenOpaqueWindowState.getAttrs().rotationAnimation ==
+                ROTATION_ANIMATION_JUMPCUT) {
+            return true;
+        }
+        return false;
+    }
+
+    @Override
     public void dump(String prefix, PrintWriter pw, String[] args) {
         pw.print(prefix); pw.print("mSafeMode="); pw.print(mSafeMode);
                 pw.print(" mSystemReady="); pw.print(mSystemReady);
diff --git a/services/core/java/com/android/server/policy/SystemGesturesPointerEventListener.java b/services/core/java/com/android/server/policy/SystemGesturesPointerEventListener.java
index 80e4341..598c58e 100644
--- a/services/core/java/com/android/server/policy/SystemGesturesPointerEventListener.java
+++ b/services/core/java/com/android/server/policy/SystemGesturesPointerEventListener.java
@@ -43,6 +43,7 @@
     private static final int SWIPE_FROM_TOP = 1;
     private static final int SWIPE_FROM_BOTTOM = 2;
     private static final int SWIPE_FROM_RIGHT = 3;
+    private static final int SWIPE_FROM_LEFT = 4;
 
     private final Context mContext;
     private final int mSwipeStartThreshold;
@@ -127,6 +128,9 @@
                     } else if (swipe == SWIPE_FROM_RIGHT) {
                         if (DEBUG) Slog.d(TAG, "Firing onSwipeFromRight");
                         mCallbacks.onSwipeFromRight();
+                    } else if (swipe == SWIPE_FROM_LEFT) {
+                        if (DEBUG) Slog.d(TAG, "Firing onSwipeFromLeft");
+                        mCallbacks.onSwipeFromLeft();
                     }
                 }
                 break;
@@ -229,6 +233,11 @@
                 && elapsed < SWIPE_TIMEOUT_MS) {
             return SWIPE_FROM_RIGHT;
         }
+        if (fromX <= mSwipeStartThreshold
+                && x > fromX + mSwipeDistanceThreshold
+                && elapsed < SWIPE_TIMEOUT_MS) {
+            return SWIPE_FROM_LEFT;
+        }
         return SWIPE_NONE;
     }
 
@@ -265,6 +274,7 @@
         void onSwipeFromTop();
         void onSwipeFromBottom();
         void onSwipeFromRight();
+        void onSwipeFromLeft();
         void onFling(int durationMs);
         void onDown();
         void onUpOrCancel();
diff --git a/services/core/java/com/android/server/power/Notifier.java b/services/core/java/com/android/server/power/Notifier.java
index 3ed6ec9..9ccfd67 100644
--- a/services/core/java/com/android/server/power/Notifier.java
+++ b/services/core/java/com/android/server/power/Notifier.java
@@ -18,12 +18,12 @@
 
 import android.app.ActivityManagerInternal;
 import android.app.AppOpsManager;
+import android.app.RetailDemoModeServiceInternal;
 
 import com.android.internal.app.IAppOpsService;
 import com.android.internal.app.IBatteryStats;
 import com.android.server.EventLogTags;
 import com.android.server.LocalServices;
-import com.android.server.am.RetailDemoModeServiceInternal;
 
 import android.app.ActivityManagerNative;
 import android.content.BroadcastReceiver;
diff --git a/services/core/java/com/android/server/search/SearchManagerService.java b/services/core/java/com/android/server/search/SearchManagerService.java
index 4d91814..2e5eb3a 100644
--- a/services/core/java/com/android/server/search/SearchManagerService.java
+++ b/services/core/java/com/android/server/search/SearchManagerService.java
@@ -33,6 +33,7 @@
 import android.database.ContentObserver;
 import android.os.Binder;
 import android.os.Bundle;
+import android.os.Handler;
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.os.UserManager;
@@ -42,6 +43,7 @@
 
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.content.PackageMonitor;
+import com.android.internal.os.BackgroundThread;
 import com.android.internal.util.IndentingPrintWriter;
 import com.android.server.LocalServices;
 import com.android.server.SystemService;
@@ -57,6 +59,7 @@
  */
 public class SearchManagerService extends ISearchManager.Stub {
     private static final String TAG = "SearchManagerService";
+    final Handler mHandler;
 
     public static class Lifecycle extends SystemService {
         private SearchManagerService mService;
@@ -72,8 +75,13 @@
         }
 
         @Override
-        public void onUnlockUser(int userHandle) {
-            mService.onUnlockUser(userHandle);
+        public void onUnlockUser(final int userId) {
+            mService.mHandler.post(new Runnable() {
+                @Override
+                public void run() {
+                    mService.onUnlockUser(userId);
+                }
+            });
         }
 
         @Override
@@ -99,6 +107,7 @@
         mContext = context;
         new MyPackageMonitor().register(context, null, UserHandle.ALL, true);
         new GlobalSearchProviderObserver(context.getContentResolver());
+        mHandler = BackgroundThread.getHandler();
     }
 
     private Searchables getSearchables(int userId) {
diff --git a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
index baa7f1e..ca92b90 100644
--- a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
+++ b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
@@ -31,6 +31,8 @@
 import android.os.UserHandle;
 import android.util.ArrayMap;
 import android.util.Slog;
+import android.view.KeyEvent;
+
 import com.android.internal.statusbar.IStatusBar;
 import com.android.internal.statusbar.IStatusBarService;
 import com.android.internal.statusbar.NotificationVisibility;
@@ -415,6 +417,18 @@
     }
 
     @Override
+    public void handleSystemNavigationKey(int key) throws RemoteException {
+        enforceExpandStatusBar();
+
+        if (mBar != null) {
+            try {
+                mBar.handleSystemNavigationKey(key);
+            } catch (RemoteException ex) {
+            }
+        }
+    }
+
+    @Override
     public void disable(int what, IBinder token, String pkg) {
         disableForUser(what, token, pkg, mCurrentUserId);
     }
diff --git a/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java b/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java
index cbbcb0e..0ae1717 100644
--- a/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java
+++ b/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java
@@ -455,9 +455,7 @@
         //log the event to event log with the amount of free storage(in bytes) left on the device
         EventLog.writeEvent(EventLogTags.LOW_STORAGE, mFreeMem);
         //  Pack up the values and broadcast them to everyone
-        Intent lowMemIntent = new Intent(Environment.isExternalStorageEmulated()
-                ? Settings.ACTION_INTERNAL_STORAGE_SETTINGS
-                : Intent.ACTION_MANAGE_PACKAGE_STORAGE);
+        Intent lowMemIntent = new Intent(StorageManager.ACTION_MANAGE_STORAGE);
         lowMemIntent.putExtra("memory", mFreeMem);
         lowMemIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         NotificationManager mNotificationMgr =
diff --git a/services/core/java/com/android/server/vr/VrManagerInternal.java b/services/core/java/com/android/server/vr/VrManagerInternal.java
index 1bbb9f5..ad87a88 100644
--- a/services/core/java/com/android/server/vr/VrManagerInternal.java
+++ b/services/core/java/com/android/server/vr/VrManagerInternal.java
@@ -43,6 +43,9 @@
 
     /**
      * Set the current VR mode state.
+     * <p/>
+     * This may delay the mode change slightly during application transitions to avoid frequently
+     * tearing down VrListenerServices unless necessary.
      *
      * @param enabled {@code true} to enable VR mode.
      * @param packageName The package name of the requested VrListenerService to bind.
@@ -52,6 +55,18 @@
     public abstract void setVrMode(boolean enabled, @NonNull ComponentName packageName,
             int userId, @NonNull ComponentName calling);
 
+    /**
+     * Set the current VR mode state immediately.
+     *
+     * @param enabled {@code true} to enable VR mode.
+     * @param packageName The package name of the requested VrListenerService to bind.
+     * @param userId the user requesting the VrListenerService component.
+     * @param calling the component currently using VR mode, or null to leave unchanged.
+     */
+    public abstract void setVrModeImmediate(boolean enabled, @NonNull ComponentName packageName,
+            int userId, @NonNull ComponentName calling);
+
+
    /**
     * Return NO_ERROR if the given package is installed on the device and enabled as a
     * VrListenerService for the given current user, or a negative error code indicating a failure.
diff --git a/services/core/java/com/android/server/vr/VrManagerService.java b/services/core/java/com/android/server/vr/VrManagerService.java
index 3700c71..5fefd4c 100644
--- a/services/core/java/com/android/server/vr/VrManagerService.java
+++ b/services/core/java/com/android/server/vr/VrManagerService.java
@@ -46,11 +46,12 @@
 import android.service.vr.IVrManager;
 import android.service.vr.IVrStateCallbacks;
 import android.service.vr.VrListenerService;
+import android.util.ArrayMap;
 import android.util.ArraySet;
 import android.util.Slog;
 import android.util.SparseArray;
-
 import com.android.internal.R;
+import com.android.server.LocalServices;
 import com.android.server.SystemConfig;
 import com.android.server.SystemService;
 import com.android.server.utils.ManagedApplicationService.PendingEvent;
@@ -67,6 +68,7 @@
 import java.util.Collection;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 
 /**
@@ -197,29 +199,41 @@
 
     private final class NotificationAccessManager {
         private final SparseArray<ArraySet<String>> mAllowedPackages = new SparseArray<>();
+        private final ArrayMap<String, Integer> mNotificationAccessPackageToUserId =
+                new ArrayMap<>();
 
         public void update(Collection<String> packageNames) {
             int currentUserId = ActivityManager.getCurrentUser();
 
-            UserHandle currentUserHandle = new UserHandle(currentUserId);
-
             ArraySet<String> allowed = mAllowedPackages.get(currentUserId);
             if (allowed == null) {
                 allowed = new ArraySet<>();
             }
 
+            // Make sure we revoke notification access for listeners in other users
+            final int listenerCount = mNotificationAccessPackageToUserId.size();
+            for (int i = listenerCount - 1; i >= 0; i--) {
+                final int grantUserId = mNotificationAccessPackageToUserId.valueAt(i);
+                if (grantUserId != currentUserId) {
+                    String packageName = mNotificationAccessPackageToUserId.keyAt(i);
+                    revokeNotificationListenerAccess(packageName, grantUserId);
+                    revokeNotificationPolicyAccess(packageName);
+                    mNotificationAccessPackageToUserId.removeAt(i);
+                }
+            }
+
             for (String pkg : allowed) {
                 if (!packageNames.contains(pkg)) {
-                    revokeNotificationListenerAccess(pkg);
+                    revokeNotificationListenerAccess(pkg, currentUserId);
                     revokeNotificationPolicyAccess(pkg);
-                    revokeCoarseLocationAccess(pkg, currentUserHandle);
+                    mNotificationAccessPackageToUserId.remove(pkg);
                 }
             }
             for (String pkg : packageNames) {
                 if (!allowed.contains(pkg)) {
                     grantNotificationPolicyAccess(pkg);
-                    grantNotificationListenerAccess(pkg, currentUserHandle);
-                    grantCoarseLocationAccess(pkg, currentUserHandle);
+                    grantNotificationListenerAccess(pkg, currentUserId);
+                    mNotificationAccessPackageToUserId.put(pkg, currentUserId);
                 }
             }
 
@@ -229,7 +243,6 @@
         }
     }
 
-
     /**
      * Called when a user, package, or setting changes that could affect whether or not the
      * currently bound VrListenerService is changed.
@@ -357,7 +370,13 @@
         @Override
         public void setVrMode(boolean enabled, ComponentName packageName, int userId,
                 ComponentName callingPackage) {
-            VrManagerService.this.setVrMode(enabled, packageName, userId, callingPackage);
+            VrManagerService.this.setVrMode(enabled, packageName, userId, callingPackage, false);
+        }
+
+        @Override
+        public void setVrModeImmediate(boolean enabled, ComponentName packageName, int userId,
+                ComponentName callingPackage) {
+            VrManagerService.this.setVrMode(enabled, packageName, userId, callingPackage, true);
         }
 
         @Override
@@ -535,17 +554,33 @@
         }
     }
 
-    private void updateOverlayStateLocked(ComponentName exemptedComponent) {
+    private void updateOverlayStateLocked(String exemptedPackage, int newUserId, int oldUserId) {
+        AppOpsManager appOpsManager = getContext().getSystemService(AppOpsManager.class);
+
+        // If user changed drop restrictions for the old user.
+        if (oldUserId != newUserId) {
+            appOpsManager.setUserRestrictionForUser(AppOpsManager.OP_SYSTEM_ALERT_WINDOW,
+                    false, mOverlayToken, null, oldUserId);
+        }
+
+        // Apply the restrictions for the current user based on vr state
+        String[] exemptions = (exemptedPackage == null) ? new String[0] :
+                new String[] { exemptedPackage };
+
+        appOpsManager.setUserRestrictionForUser(AppOpsManager.OP_SYSTEM_ALERT_WINDOW,
+                mVrModeEnabled, mOverlayToken, exemptions, newUserId);
+    }
+
+    private void updateDependentAppOpsLocked(String newVrServicePackage, int newUserId,
+            String oldVrServicePackage, int oldUserId) {
+        // If VR state changed and we also have a VR service change.
+        if (Objects.equals(newVrServicePackage, oldVrServicePackage)) {
+            return;
+        }
         final long identity = Binder.clearCallingIdentity();
         try {
-            AppOpsManager appOpsManager = getContext().getSystemService(AppOpsManager.class);
-            if (appOpsManager != null) {
-                String[] exemptions = (exemptedComponent == null) ? new String[0] :
-                        new String[] { exemptedComponent.getPackageName() };
-
-                appOpsManager.setUserRestriction(AppOpsManager.OP_SYSTEM_ALERT_WINDOW,
-                        mVrModeEnabled, mOverlayToken, exemptions);
-            }
+            // Set overlay exception state based on VR enabled and current service
+            updateOverlayStateLocked(newVrServicePackage, newUserId, oldUserId);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -578,8 +613,12 @@
                 return validUserComponent; // Disabled -> Disabled transition does nothing.
             }
 
+            String oldVrServicePackage = mCurrentVrService != null
+                    ? mCurrentVrService.getComponent().getPackageName() : null;
+            final int oldUserId = mCurrentVrModeUser;
+
             // Always send mode change events.
-            changeVrModeLocked(enabled, (enabled && validUserComponent) ? component : null);
+            changeVrModeLocked(enabled);
 
             if (!enabled || !validUserComponent) {
                 // Unbind whatever is running
@@ -606,12 +645,25 @@
                 }
             }
 
-            if (calling != null && !Objects.equals(calling, mCurrentVrModeComponent))  {
+            if (calling != null && !Objects.equals(calling, mCurrentVrModeComponent)) {
                 mCurrentVrModeComponent = calling;
+                sendUpdatedCaller = true;
+            }
+
+            if (mCurrentVrModeUser != userId) {
                 mCurrentVrModeUser = userId;
                 sendUpdatedCaller = true;
             }
 
+            String newVrServicePackage = mCurrentVrService != null
+                    ? mCurrentVrService.getComponent().getPackageName() : null;
+            final int newUserId = mCurrentVrModeUser;
+
+            // Update AppOps settings that change state when entering/exiting VR mode, or changing
+            // the current VrListenerService.
+            updateDependentAppOpsLocked(newVrServicePackage, newUserId,
+                    oldVrServicePackage, oldUserId);
+
             if (mCurrentVrService != null && sendUpdatedCaller) {
                 final ComponentName c = mCurrentVrModeComponent;
                 mCurrentVrService.sendEvent(new PendingEvent() {
@@ -645,18 +697,6 @@
         return true;
     }
 
-    private void grantCoarseLocationAccess(String pkg, UserHandle userId) {
-        PackageManager pm = mContext.getPackageManager();
-        pm.grantRuntimePermission(pkg, android.Manifest.permission.ACCESS_COARSE_LOCATION,
-                userId);
-    }
-
-    private void revokeCoarseLocationAccess(String pkg, UserHandle userId) {
-        PackageManager pm = mContext.getPackageManager();
-        pm.revokeRuntimePermission(pkg,
-                android.Manifest.permission.ACCESS_COARSE_LOCATION, userId);
-    }
-
     private void grantNotificationPolicyAccess(String pkg) {
         NotificationManager nm = mContext.getSystemService(NotificationManager.class);
         nm.setNotificationPolicyAccessGranted(pkg, true);
@@ -670,14 +710,14 @@
         nm.setNotificationPolicyAccessGranted(pkg, false);
     }
 
-    private void grantNotificationListenerAccess(String pkg, UserHandle userId) {
+    private void grantNotificationListenerAccess(String pkg, int userId) {
         PackageManager pm = mContext.getPackageManager();
         ArraySet<ComponentName> possibleServices = EnabledComponentsObserver.loadComponentNames(pm,
-                userId.getIdentifier(), NotificationListenerService.SERVICE_INTERFACE,
+                userId, NotificationListenerService.SERVICE_INTERFACE,
                 android.Manifest.permission.BIND_NOTIFICATION_LISTENER_SERVICE);
         ContentResolver resolver = mContext.getContentResolver();
 
-        ArraySet<String> current = getCurrentNotifListeners(resolver);
+        ArraySet<String> current = getNotificationListeners(resolver, userId);
 
         for (ComponentName c : possibleServices) {
             String flatName = c.flattenToString();
@@ -689,14 +729,16 @@
 
         if (current.size() > 0) {
             String flatSettings = formatSettings(current);
-            Settings.Secure.putString(resolver, Settings.Secure.ENABLED_NOTIFICATION_LISTENERS,
-                    flatSettings);
+            Settings.Secure.putStringForUser(resolver,
+                    Settings.Secure.ENABLED_NOTIFICATION_LISTENERS,
+                    flatSettings, userId);
         }
     }
 
-    private void revokeNotificationListenerAccess(String pkg) {
+    private void revokeNotificationListenerAccess(String pkg, int userId) {
         ContentResolver resolver = mContext.getContentResolver();
-        ArraySet<String> current = getCurrentNotifListeners(resolver);
+
+        ArraySet<String> current = getNotificationListeners(resolver, userId);
 
         ArrayList<String> toRemove = new ArrayList<>();
 
@@ -710,14 +752,21 @@
         current.removeAll(toRemove);
 
         String flatSettings = formatSettings(current);
-        Settings.Secure.putString(resolver, Settings.Secure.ENABLED_NOTIFICATION_LISTENERS,
-                flatSettings);
-
+        Settings.Secure.putStringForUser(resolver,
+                Settings.Secure.ENABLED_NOTIFICATION_LISTENERS,
+                flatSettings, userId);
     }
 
-    private ArraySet<String> getCurrentNotifListeners(ContentResolver resolver) {
-        String flat = Settings.Secure.getString(resolver,
-                Settings.Secure.ENABLED_NOTIFICATION_LISTENERS);
+    private boolean isPermissionUserUpdated(String permission, String pkg, int userId) {
+        final int flags = mContext.getPackageManager().getPermissionFlags(
+                permission, pkg, new UserHandle(userId));
+        return (flags & (PackageManager.FLAG_PERMISSION_USER_SET
+                | PackageManager.FLAG_PERMISSION_USER_FIXED)) != 0;
+    }
+
+    private ArraySet<String> getNotificationListeners(ContentResolver resolver, int userId) {
+        String flat = Settings.Secure.getStringForUser(resolver,
+                Settings.Secure.ENABLED_NOTIFICATION_LISTENERS, userId);
 
         ArraySet<String> current = new ArraySet<>();
         if (flat != null) {
@@ -763,9 +812,8 @@
      * Note: Must be called while holding {@code mLock}.
      *
      * @param enabled new state of the VR mode.
-     * @param exemptedComponent a component to exempt from AppOps restrictions for overlays.
      */
-    private void changeVrModeLocked(boolean enabled, ComponentName exemptedComponent) {
+    private void changeVrModeLocked(boolean enabled) {
         if (mVrModeEnabled != enabled) {
             mVrModeEnabled = enabled;
 
@@ -773,7 +821,6 @@
             Slog.i(TAG, "VR mode " + ((mVrModeEnabled) ? "enabled" : "disabled"));
             setVrModeNative(mVrModeEnabled);
 
-            updateOverlayStateLocked(exemptedComponent);
             onVrModeChangedLocked();
         }
     }
@@ -856,11 +903,11 @@
      */
 
     private void setVrMode(boolean enabled, @NonNull ComponentName targetPackageName,
-            int userId, @NonNull ComponentName callingPackage) {
+            int userId, @NonNull ComponentName callingPackage, boolean immediate) {
 
         synchronized (mLock) {
 
-            if (!enabled && mCurrentVrService != null) {
+            if (!enabled && mCurrentVrService != null && !immediate) {
                 // If we're transitioning out of VR mode, delay briefly to avoid expensive HAL calls
                 // and service bind/unbind in case we are immediately switching to another VR app.
                 if (mPendingState == null) {
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
index efd2382..79fe18b 100644
--- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
+++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
@@ -229,10 +229,12 @@
 
             if (moved && lockWallpaperChanged) {
                 // We just migrated sys -> lock to preserve imagery for an impending
-                // new system-only wallpaper.  Tell keyguard about it but that's it.
+                // new system-only wallpaper.  Tell keyguard about it and make sure it
+                // has the right SELinux label.
                 if (DEBUG) {
                     Slog.i(TAG, "Sys -> lock MOVED_TO");
                 }
+                SELinux.restorecon(changedFile);
                 notifyLockWallpaperChanged();
                 return;
             }
@@ -254,9 +256,11 @@
                             if (moved) {
                                 // This is a restore, so generate the crop using any just-restored new
                                 // crop guidelines, making sure to preserve our local dimension hints.
+                                // We also make sure to reapply the correct SELinux label.
                                 if (DEBUG) {
                                     Slog.v(TAG, "moved-to, therefore restore; reloading metadata");
                                 }
+                                SELinux.restorecon(changedFile);
                                 loadSettingsLocked(wallpaper.userId, true);
                             }
                             generateCrop(wallpaper);
@@ -906,10 +910,9 @@
                         public void onForegroundProfileSwitch(int newProfileId) {
                             // Ignore.
                         }
-                    });
+                    }, TAG);
         } catch (RemoteException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
+            e.rethrowAsRuntimeException();
         }
     }
 
diff --git a/services/core/java/com/android/server/webkit/SystemImpl.java b/services/core/java/com/android/server/webkit/SystemImpl.java
index 361f0d4..bb76449 100644
--- a/services/core/java/com/android/server/webkit/SystemImpl.java
+++ b/services/core/java/com/android/server/webkit/SystemImpl.java
@@ -270,5 +270,6 @@
 
     // flags declaring we want extra info from the package manager for webview providers
     private final static int PACKAGE_FLAGS = PackageManager.GET_META_DATA
-            | PackageManager.GET_SIGNATURES | PackageManager.MATCH_DEBUG_TRIAGED_MISSING;
+            | PackageManager.GET_SIGNATURES | PackageManager.MATCH_DEBUG_TRIAGED_MISSING
+            | PackageManager.MATCH_UNINSTALLED_PACKAGES;
 }
diff --git a/services/core/java/com/android/server/webkit/WebViewUpdateService.java b/services/core/java/com/android/server/webkit/WebViewUpdateService.java
index 9b971e0..846169c 100644
--- a/services/core/java/com/android/server/webkit/WebViewUpdateService.java
+++ b/services/core/java/com/android/server/webkit/WebViewUpdateService.java
@@ -63,6 +63,7 @@
         mWebViewUpdatedReceiver = new BroadcastReceiver() {
                 @Override
                 public void onReceive(Context context, Intent intent) {
+                    int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL);
                     switch (intent.getAction()) {
                         case Intent.ACTION_PACKAGE_REMOVED:
                             // When a package is replaced we will receive two intents, one
@@ -73,24 +74,22 @@
                             // run the update-logic twice.
                             if (intent.getExtras().getBoolean(Intent.EXTRA_REPLACING)) return;
                             mImpl.packageStateChanged(packageNameFromIntent(intent),
-                                    PACKAGE_REMOVED);
+                                    PACKAGE_REMOVED, userId);
                             break;
                         case Intent.ACTION_PACKAGE_CHANGED:
                             // Ensure that we only heed PACKAGE_CHANGED intents if they change an
                             // entire package, not just a component
                             if (entirePackageChanged(intent)) {
                                 mImpl.packageStateChanged(packageNameFromIntent(intent),
-                                        PACKAGE_CHANGED);
+                                        PACKAGE_CHANGED, userId);
                             }
                             break;
                         case Intent.ACTION_PACKAGE_ADDED:
                             mImpl.packageStateChanged(packageNameFromIntent(intent),
                                     (intent.getExtras().getBoolean(Intent.EXTRA_REPLACING)
-                                     ? PACKAGE_ADDED_REPLACED : PACKAGE_ADDED));
+                                     ? PACKAGE_ADDED_REPLACED : PACKAGE_ADDED), userId);
                             break;
                         case Intent.ACTION_USER_ADDED:
-                            int userId =
-                                intent.getIntExtra(Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL);
                             mImpl.handleNewUser(userId);
                             break;
                     }
@@ -105,11 +104,14 @@
         for (WebViewProviderInfo provider : mImpl.getWebViewPackages()) {
             filter.addDataSchemeSpecificPart(provider.packageName, PatternMatcher.PATTERN_LITERAL);
         }
-        getContext().registerReceiver(mWebViewUpdatedReceiver, filter);
+
+        getContext().registerReceiverAsUser(mWebViewUpdatedReceiver, UserHandle.ALL, filter,
+                null /* broadcast permission */, null /* handler */);
 
         IntentFilter userAddedFilter = new IntentFilter();
         userAddedFilter.addAction(Intent.ACTION_USER_ADDED);
-        getContext().registerReceiver(mWebViewUpdatedReceiver, userAddedFilter);
+        getContext().registerReceiverAsUser(mWebViewUpdatedReceiver, UserHandle.ALL,
+                userAddedFilter, null /* broadcast permission */, null /* handler */);
 
         publishBinderService("webviewupdate", new BinderService(), true /*allowIsolated*/);
     }
diff --git a/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl.java b/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl.java
index ecab009..2cf1722 100644
--- a/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl.java
+++ b/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl.java
@@ -20,6 +20,7 @@
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.Signature;
+import android.os.UserHandle;
 import android.util.Base64;
 import android.util.Slog;
 import android.webkit.WebViewFactory;
@@ -49,7 +50,10 @@
         mWebViewUpdater = new WebViewUpdater(mContext, mSystemInterface);
     }
 
-    void packageStateChanged(String packageName, int changedState) {
+    void packageStateChanged(String packageName, int changedState, int userId) {
+        // We don't early out here in different cases where we could potentially early-out (e.g. if
+        // we receive PACKAGE_CHANGED for another user than the system user) since that would
+        // complicate this logic further and open up for more edge cases.
         updateFallbackStateOnPackageChange(packageName, changedState);
         mWebViewUpdater.packageStateChanged(packageName, changedState);
     }
@@ -64,7 +68,7 @@
             if (provider.availableByDefault && !provider.isFallback) {
                 try {
                     PackageInfo packageInfo = mSystemInterface.getPackageInfoForProvider(provider);
-                    if (isEnabledPackage(packageInfo)
+                    if (isInstalledPackage(packageInfo) && isEnabledPackage(packageInfo)
                             && mWebViewUpdater.isValidProvider(provider, packageInfo)) {
                         return true;
                     }
@@ -103,7 +107,7 @@
     }
 
     WebViewProviderInfo[] getValidWebViewPackages() {
-        return mWebViewUpdater.getValidWebViewPackages();
+        return mWebViewUpdater.getValidAndInstalledWebViewPackages();
     }
 
     WebViewProviderInfo[] getWebViewPackages() {
@@ -254,6 +258,12 @@
                                     // (not if it has been enabled/disabled).
                                     return;
                                 }
+                                if (newPackage.packageName.equals(oldProviderName)
+                                        && (newPackage.lastUpdateTime
+                                            == mCurrentWebViewPackage.lastUpdateTime)) {
+                                    // If the chosen package hasn't been updated, then early-out
+                                    return;
+                                }
                             }
                             // Only trigger update actions if the updated package is the one
                             // that will be used, or the one that was in use before the
@@ -373,14 +383,15 @@
             }
         }
 
-        private ProviderAndPackageInfo[] getValidWebViewPackagesAndInfos() {
+        private ProviderAndPackageInfo[] getValidWebViewPackagesAndInfos(boolean onlyInstalled) {
             WebViewProviderInfo[] allProviders = mSystemInterface.getWebViewPackages();
             List<ProviderAndPackageInfo> providers = new ArrayList<>();
             for(int n = 0; n < allProviders.length; n++) {
                 try {
                     PackageInfo packageInfo =
                         mSystemInterface.getPackageInfoForProvider(allProviders[n]);
-                    if (isValidProvider(allProviders[n], packageInfo)) {
+                    if ((!onlyInstalled || isInstalledPackage(packageInfo))
+                            && isValidProvider(allProviders[n], packageInfo)) {
                         providers.add(new ProviderAndPackageInfo(allProviders[n], packageInfo));
                     }
                 } catch (NameNotFoundException e) {
@@ -393,8 +404,9 @@
         /**
          * Fetch only the currently valid WebView packages.
          **/
-        public WebViewProviderInfo[] getValidWebViewPackages() {
-            ProviderAndPackageInfo[] providersAndPackageInfos = getValidWebViewPackagesAndInfos();
+        public WebViewProviderInfo[] getValidAndInstalledWebViewPackages() {
+            ProviderAndPackageInfo[] providersAndPackageInfos =
+                getValidWebViewPackagesAndInfos(true /* only fetch installed packages */);
             WebViewProviderInfo[] providers =
                 new WebViewProviderInfo[providersAndPackageInfos.length];
             for(int n = 0; n < providersAndPackageInfos.length; n++) {
@@ -421,29 +433,33 @@
          *
          */
         private PackageInfo findPreferredWebViewPackage() {
-            ProviderAndPackageInfo[] providers = getValidWebViewPackagesAndInfos();
+            ProviderAndPackageInfo[] providers =
+                getValidWebViewPackagesAndInfos(false /* onlyInstalled */);
 
             String userChosenProvider = mSystemInterface.getUserChosenWebViewProvider(mContext);
 
             // If the user has chosen provider, use that
             for (ProviderAndPackageInfo providerAndPackage : providers) {
                 if (providerAndPackage.provider.packageName.equals(userChosenProvider)
+                        && isInstalledPackage(providerAndPackage.packageInfo)
                         && isEnabledPackage(providerAndPackage.packageInfo)) {
                     return providerAndPackage.packageInfo;
                 }
             }
 
             // User did not choose, or the choice failed; use the most stable provider that is
-            // enabled and available by default (not through user choice).
+            // installed and enabled for the device owner, and available by default (not through
+            // user choice).
             for (ProviderAndPackageInfo providerAndPackage : providers) {
                 if (providerAndPackage.provider.availableByDefault
+                        && isInstalledPackage(providerAndPackage.packageInfo)
                         && isEnabledPackage(providerAndPackage.packageInfo)) {
                     return providerAndPackage.packageInfo;
                 }
             }
 
-            // Could not find any enabled package either, use the most stable and default-available
-            // provider.
+            // Could not find any installed and enabled package either, use the most stable and
+            // default-available provider.
             for (ProviderAndPackageInfo providerAndPackage : providers) {
                 if (providerAndPackage.provider.availableByDefault) {
                     return providerAndPackage.packageInfo;
@@ -642,4 +658,13 @@
         return packageInfo.applicationInfo.enabled;
     }
 
+    /**
+     * Return true if the package is installed and not hidden
+     */
+    private static boolean isInstalledPackage(PackageInfo packageInfo) {
+        return (((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_INSTALLED) != 0)
+            && ((packageInfo.applicationInfo.privateFlags
+                        & ApplicationInfo.PRIVATE_FLAG_HIDDEN) == 0));
+    }
+
 }
diff --git a/services/core/java/com/android/server/wm/AccessibilityController.java b/services/core/java/com/android/server/wm/AccessibilityController.java
index 101f56f..8be5dfb 100644
--- a/services/core/java/com/android/server/wm/AccessibilityController.java
+++ b/services/core/java/com/android/server/wm/AccessibilityController.java
@@ -1203,9 +1203,6 @@
             window.layer = windowState.mLayer;
             window.token = windowState.mClient.asBinder();
             window.title = windowState.mAttrs.accessibilityTitle;
-            if (window.title == null) {
-                window.title = windowState.mAttrs.getTitle();
-            }
             window.accessibilityIdOfAnchor = windowState.mAttrs.accessibilityIdOfAnchor;
 
             WindowState attachedWindow = windowState.mAttachedWindow;
diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java
index f57e83aa..66e9fd86 100644
--- a/services/core/java/com/android/server/wm/AppWindowToken.java
+++ b/services/core/java/com/android/server/wm/AppWindowToken.java
@@ -72,6 +72,7 @@
     int requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
     boolean layoutConfigChanges;
     boolean showForAllUsers;
+    int targetSdk;
 
     // The input dispatching timeout for this application token in nanoseconds.
     long inputDispatchingTimeoutNanos;
@@ -131,8 +132,12 @@
     boolean mAlwaysFocusable;
 
     boolean mAppStopped;
+    int mRotationAnimationHint;
     int mPendingRelaunchCount;
 
+    private ArrayList<WindowSurfaceController.SurfaceControlWithBackground> mSurfaceViewBackgrounds =
+        new ArrayList<WindowSurfaceController.SurfaceControlWithBackground>();
+
     ArrayDeque<Rect> mFrozenBounds = new ArrayDeque<>();
     ArrayDeque<Configuration> mFrozenMergedConfig = new ArrayDeque<>();
 
@@ -624,6 +629,16 @@
         }
     }
 
+    void clearRelaunching() {
+        if (mPendingRelaunchCount == 0) {
+            return;
+        }
+        if (canFreezeBounds()) {
+            unfreezeBounds();
+        }
+        mPendingRelaunchCount = 0;
+    }
+
     void addWindow(WindowState w) {
         for (int i = allAppWindows.size() - 1; i >= 0; i--) {
             WindowState candidate = allAppWindows.get(i);
@@ -703,8 +718,12 @@
      * Unfreezes the previously frozen bounds. See {@link #freezeBounds}.
      */
     private void unfreezeBounds() {
-        mFrozenBounds.remove();
-        mFrozenMergedConfig.remove();
+        if (!mFrozenBounds.isEmpty()) {
+            mFrozenBounds.remove();
+        }
+        if (!mFrozenMergedConfig.isEmpty()) {
+            mFrozenMergedConfig.remove();
+        }
         for (int i = windows.size() - 1; i >= 0; i--) {
             final WindowState win = windows.get(i);
             if (!win.mHasSurface) {
@@ -719,6 +738,36 @@
         service.mWindowPlacerLocked.performSurfacePlacement();
     }
 
+    void addSurfaceViewBackground(WindowSurfaceController.SurfaceControlWithBackground background) {
+        mSurfaceViewBackgrounds.add(background);
+    }
+
+    void removeSurfaceViewBackground(WindowSurfaceController.SurfaceControlWithBackground background) {
+        mSurfaceViewBackgrounds.remove(background);
+        updateSurfaceViewBackgroundVisibilities();
+    }
+
+    // We use DimLayers behind SurfaceViews to prevent holes while resizing and creating.
+    // However, we need to ensure one SurfaceView doesn't cover another when they are both placed
+    // below the main app window (as traditionally a SurfaceView which is never drawn
+    // to is totally translucent). So we look at all our SurfaceView backgrounds and only enable
+    // the background for the SurfaceView with lowest Z order
+    void updateSurfaceViewBackgroundVisibilities() {
+        WindowSurfaceController.SurfaceControlWithBackground bottom = null;
+        int bottomLayer = Integer.MAX_VALUE;
+        for (int i = 0; i < mSurfaceViewBackgrounds.size(); i++) {
+            WindowSurfaceController.SurfaceControlWithBackground sc = mSurfaceViewBackgrounds.get(i);
+            if (sc.mVisible && sc.mLayer < bottomLayer) {
+                bottomLayer = sc.mLayer;
+                bottom = sc;
+            }
+        }
+        for (int i = 0; i < mSurfaceViewBackgrounds.size(); i++) {
+            WindowSurfaceController.SurfaceControlWithBackground sc = mSurfaceViewBackgrounds.get(i);
+            sc.updateBackgroundVisibility(sc != bottom);
+        }
+    }
+
     @Override
     void dump(PrintWriter pw, String prefix) {
         super.dump(pw, prefix);
diff --git a/services/core/java/com/android/server/wm/DragState.java b/services/core/java/com/android/server/wm/DragState.java
index c4eca08..9d0fb61 100644
--- a/services/core/java/com/android/server/wm/DragState.java
+++ b/services/core/java/com/android/server/wm/DragState.java
@@ -28,6 +28,7 @@
 import android.graphics.Matrix;
 import android.graphics.Point;
 import android.hardware.input.InputManager;
+import android.os.Build;
 import android.os.IBinder;
 import android.os.Message;
 import android.os.Process;
@@ -289,7 +290,7 @@
         if (!targetWin.isPotentialDragTarget()) {
             return false;
         }
-        if ((mFlags & View.DRAG_FLAG_GLOBAL) == 0) {
+        if ((mFlags & View.DRAG_FLAG_GLOBAL) == 0 || !targetWindowSupportsGlobalDrag(targetWin)) {
             // Drag is limited to the current window.
             if (mLocalWin != targetWin.mClient.asBinder()) {
                 return false;
@@ -300,6 +301,13 @@
                 mSourceUserId == UserHandle.getUserId(targetWin.getOwningUid());
     }
 
+    private boolean targetWindowSupportsGlobalDrag(WindowState targetWin) {
+        // Global drags are limited to system windows, and windows for apps that are targeting N and
+        // above.
+        return targetWin.mAppToken == null
+                || targetWin.mAppToken.targetSdk >= Build.VERSION_CODES.N;
+    }
+
     /* helper - send a ACTION_DRAG_STARTED event only if the window has not
      * previously been notified, i.e. it became visible after the drag operation
      * was begun.  This is a rare case.
diff --git a/services/core/java/com/android/server/wm/WallpaperController.java b/services/core/java/com/android/server/wm/WallpaperController.java
index 88028be..18f97a7 100644
--- a/services/core/java/com/android/server/wm/WallpaperController.java
+++ b/services/core/java/com/android/server/wm/WallpaperController.java
@@ -479,6 +479,8 @@
         boolean resetTopWallpaper = false;
         boolean inFreeformSpace = false;
         boolean replacing = false;
+        boolean keyguardGoingAwayWithWallpaper = false;
+
         for (int i = windows.size() - 1; i >= 0; i--) {
             w = windows.get(i);
             if ((w.mAttrs.type == TYPE_WALLPAPER)) {
@@ -506,13 +508,11 @@
                 inFreeformSpace = stack != null && stack.mStackId == FREEFORM_WORKSPACE_STACK_ID;
             }
 
-            replacing = replacing || w.mWillReplaceWindow;
+            replacing |= w.mWillReplaceWindow;
+            keyguardGoingAwayWithWallpaper |= (w.mAppToken != null
+                    && w.mWinAnimator.mKeyguardGoingAwayWithWallpaper);
 
-            // If the app is executing an animation because the keyguard is going away (and the
-            // keyguard was showing the wallpaper) keep the wallpaper during the animation so it
-            // doesn't flicker out.
-            final boolean hasWallpaper = (w.mAttrs.flags & FLAG_SHOW_WALLPAPER) != 0
-                    || (w.mAppToken != null && w.mWinAnimator.mKeyguardGoingAwayWithWallpaper);
+            final boolean hasWallpaper = (w.mAttrs.flags & FLAG_SHOW_WALLPAPER) != 0;
             if (hasWallpaper && w.isOnScreen() && (mWallpaperTarget == w || w.isDrawFinishedLw())) {
                 if (DEBUG_WALLPAPER) Slog.v(TAG, "Found wallpaper target: #" + i + "=" + w);
                 result.setWallpaperTarget(w, i);
@@ -529,18 +529,26 @@
             }
         }
 
-        if (result.wallpaperTarget == null && windowDetachedI >= 0) {
+        if (result.wallpaperTarget != null) {
+            return;
+        }
+
+        if (windowDetachedI >= 0) {
             if (DEBUG_WALLPAPER_LIGHT) Slog.v(TAG,
                     "Found animating detached wallpaper activity: #" + windowDetachedI + "=" + w);
             result.setWallpaperTarget(w, windowDetachedI);
-        }
-        if (result.wallpaperTarget == null
-                && (inFreeformSpace || (replacing && mWallpaperTarget != null))) {
+        } else if (inFreeformSpace || (replacing && mWallpaperTarget != null)) {
             // In freeform mode we set the wallpaper as its own target, so we don't need an
             // additional window to make it visible. When we are replacing a window and there was
             // wallpaper before replacement, we want to keep the window until the new windows fully
             // appear and can determine the visibility, to avoid flickering.
             result.setWallpaperTarget(result.topWallpaper, result.topWallpaperIndex);
+
+        } else if (keyguardGoingAwayWithWallpaper) {
+            // If the app is executing an animation because the keyguard is going away (and the
+            // keyguard was showing the wallpaper) keep the wallpaper during the animation so it
+            // doesn't flicker out by having it be its own target.
+            result.setWallpaperTarget(result.topWallpaper, result.topWallpaperIndex);
         }
     }
 
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 3f4c1d5..4c79149 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -41,8 +41,10 @@
 import android.database.ContentObserver;
 import android.graphics.Bitmap;
 import android.graphics.PixelFormat;
+import android.graphics.Matrix;
 import android.graphics.Point;
 import android.graphics.Rect;
+import android.graphics.RectF;
 import android.graphics.Region;
 import android.hardware.display.DisplayManager;
 import android.hardware.display.DisplayManagerInternal;
@@ -177,6 +179,7 @@
 import static android.view.WindowManager.LayoutParams.FIRST_APPLICATION_WINDOW;
 import static android.view.WindowManager.LayoutParams.FIRST_SUB_WINDOW;
 import static android.view.WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM;
+import static android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
 import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
 import static android.view.WindowManager.LayoutParams.FLAG_SECURE;
 import static android.view.WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
@@ -290,6 +293,9 @@
     /** Amount of time (in milliseconds) to delay before declaring a window freeze timeout. */
     static final int WINDOW_FREEZE_TIMEOUT_DURATION = 2000;
 
+    /** Amount of time (in milliseconds) to delay before declaring a seamless rotation timeout. */
+    static final int SEAMLESS_ROTATION_TIMEOUT_DURATION = 2000;
+
     /** Amount of time (in milliseconds) to delay before declaring a window replacement timeout. */
     static final int WINDOW_REPLACEMENT_TIMEOUT_DURATION = 2000;
 
@@ -515,6 +521,9 @@
     final Rect mTmpRect = new Rect();
     final Rect mTmpRect2 = new Rect();
     final Rect mTmpRect3 = new Rect();
+    final RectF mTmpRectF = new RectF();
+
+    final Matrix mTmpTransform = new Matrix();
 
     boolean mDisplayReady;
     boolean mSafeMode;
@@ -3160,6 +3169,7 @@
         // frozen, there is no reason to animate and it can cause strange
         // artifacts when we unfreeze the display if some different animation
         // is running.
+        Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "WM#applyAnimationLocked");
         if (okToDisplay()) {
             DisplayInfo displayInfo = getDefaultDisplayInfoLocked();
             final int width = displayInfo.appWidth;
@@ -3211,6 +3221,7 @@
         } else {
             atoken.mAppAnimator.clearAnimation();
         }
+        Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER);
 
         return atoken.mAppAnimator.animation != null;
     }
@@ -3419,7 +3430,7 @@
             int requestedOrientation, boolean fullscreen, boolean showForAllUsers, int userId,
             int configChanges, boolean voiceInteraction, boolean launchTaskBehind,
             Rect taskBounds, Configuration config, int taskResizeMode, boolean alwaysFocusable,
-            boolean homeTask) {
+            boolean homeTask, int targetSdkVersion, int rotationAnimationHint) {
         if (!checkCallingPermission(android.Manifest.permission.MANAGE_APP_TOKENS,
                 "addAppToken()")) {
             throw new SecurityException("Requires MANAGE_APP_TOKENS permission");
@@ -3449,6 +3460,7 @@
             atoken.inputDispatchingTimeoutNanos = inputDispatchingTimeoutNanos;
             atoken.appFullscreen = fullscreen;
             atoken.showForAllUsers = showForAllUsers;
+            atoken.targetSdk = targetSdkVersion;
             atoken.requestedOrientation = requestedOrientation;
             atoken.layoutConfigChanges = (configChanges &
                     (ActivityInfo.CONFIG_SCREEN_SIZE | ActivityInfo.CONFIG_ORIENTATION)) != 0;
@@ -3456,6 +3468,7 @@
             atoken.mAlwaysFocusable = alwaysFocusable;
             if (DEBUG_TOKEN_MOVEMENT || DEBUG_ADD_REMOVE) Slog.v(TAG_WM, "addAppToken: " + atoken
                     + " to stack=" + stackId + " task=" + taskId + " at " + addPos);
+            atoken.mRotationAnimationHint = rotationAnimationHint;
 
             Task task = mTaskIdToTask.get(taskId);
             if (task == null) {
@@ -3508,6 +3521,13 @@
                 // can re-appear and inflict its own orientation on us.  Keep the
                 // orientation stable until this all settles down.
                 return mLastWindowForcedOrientation;
+            } else if (mPolicy.isKeyguardLocked()
+                    && mLastKeyguardForcedOrientation != SCREEN_ORIENTATION_UNSPECIFIED) {
+                // Use the last orientation the keyguard forced while the display is frozen with the
+                // keyguard locked.
+                if (DEBUG_ORIENTATION) Slog.v(TAG_WM, "Display is frozen while keyguard locked, "
+                        + "return " + mLastKeyguardForcedOrientation);
+                return mLastKeyguardForcedOrientation;
             }
         } else {
             // TODO(multidisplay): Change to the correct display.
@@ -5230,8 +5250,8 @@
         synchronized (mWindowMap) {
             Task task = mTaskIdToTask.get(taskId);
             if (task == null) {
-                throw new IllegalArgumentException("setTaskDockedResizing: taskId " + taskId
-                        + " not found.");
+                Slog.w(TAG, "setTaskDockedResizing: taskId " + taskId + " not found.");
+                return;
             }
             task.setDragResizing(resizing, DRAG_RESIZE_MODE_DOCKED_DIVIDER);
         }
@@ -5346,7 +5366,13 @@
         // If this isn't coming from the system then don't allow disabling the lockscreen
         // to bypass security.
         if (Binder.getCallingUid() != Process.SYSTEM_UID && isKeyguardSecure()) {
-            Log.d(TAG_WM, "current mode is SecurityMode, ignore hide keyguard");
+            Log.d(TAG_WM, "current mode is SecurityMode, ignore disableKeyguard");
+            return;
+        }
+
+        // If this isn't coming from the current user, ignore it.
+        if (Binder.getCallingUserHandle().getIdentifier() != mCurrentUserId) {
+            Log.d(TAG_WM, "non-current user, ignore disableKeyguard");
             return;
         }
 
@@ -5661,6 +5687,11 @@
             mAppTransition.setCurrentUser(newUserId);
             mPolicy.setCurrentUserLw(newUserId);
 
+            // If keyguard was disabled, re-enable it
+            // TODO: Keep track of keyguardEnabled state per user and use here...
+            // e.g. enabled = mKeyguardDisableHandler.getEnabledStateForUser(newUserId);
+            mPolicy.enableKeyguard(true);
+
             // Hide windows that should not be seen by the new user.
             final int numDisplays = mDisplayContents.size();
             for (int displayNdx = 0; displayNdx < numDisplays; ++displayNdx) {
@@ -6554,6 +6585,7 @@
         Binder.restoreCallingIdentity(origId);
     }
 
+
     // TODO(multidisplay): Rotate any display?
     /**
      * Updates the current rotation.
@@ -6613,6 +6645,8 @@
                 + ", forceApp=" + mForcedAppOrientation);
         }
 
+        int oldRotation = mRotation;
+
         mRotation = rotation;
         mAltOrientation = altOrientation;
         mPolicy.setRotationLw(mRotation);
@@ -6629,10 +6663,32 @@
         } else {
             mPolicy.selectRotationAnimationLw(anim);
         }
-        startFreezingDisplayLocked(inTransaction, anim[0], anim[1]);
-        // startFreezingDisplayLocked can reset the ScreenRotationAnimation.
-        screenRotationAnimation =
+        boolean rotateSeamlessly = mPolicy.shouldRotateSeamlessly(oldRotation, mRotation);
+        final WindowList windows = displayContent.getWindowList();
+        // We can't rotate seamlessly while an existing seamless rotation is still
+        // waiting on windows to finish drawing.
+        if (rotateSeamlessly) {
+            for (int i = windows.size() - 1; i >= 0; i--) {
+                WindowState w = windows.get(i);
+                if (w.mSeamlesslyRotated) {
+                    rotateSeamlessly = false;
+                    break;
+                }
+            }
+        }
+
+        if (!rotateSeamlessly) {
+            startFreezingDisplayLocked(inTransaction, anim[0], anim[1]);
+            // startFreezingDisplayLocked can reset the ScreenRotationAnimation.
+            screenRotationAnimation =
                 mAnimator.getScreenRotationAnimationLocked(Display.DEFAULT_DISPLAY);
+        } else {
+            // The screen rotation animation uses a screenshot to freeze the screen
+            // while windows resize underneath.
+            // When we are rotating seamlessly, we allow the elements to transition
+            // to their rotated state independently and without a freeze required.
+            screenRotationAnimation = null;
+        }
 
         // We need to update our screen size information to match the new rotation. If the rotation
         // has actually changed then this method will return true and, according to the comment at
@@ -6661,6 +6717,13 @@
                 }
             }
 
+            if (rotateSeamlessly) {
+                for (int i = windows.size() - 1; i >= 0; i--) {
+                    WindowState w = windows.get(i);
+                    w.mWinAnimator.seamlesslyRotateWindow(oldRotation, mRotation);
+                }
+            }
+
             mDisplayManagerInternal.performTraversalInTransactionFromWindowManager();
         } finally {
             if (!inTransaction) {
@@ -6671,19 +6734,22 @@
             }
         }
 
-        final WindowList windows = displayContent.getWindowList();
         for (int i = windows.size() - 1; i >= 0; i--) {
             WindowState w = windows.get(i);
             // Discard surface after orientation change, these can't be reused.
             if (w.mAppToken != null) {
                 w.mAppToken.destroySavedSurfaces();
             }
-            if (w.mHasSurface) {
+            if (w.mHasSurface && !rotateSeamlessly) {
                 if (DEBUG_ORIENTATION) Slog.v(TAG_WM, "Set mOrientationChanging of " + w);
                 w.mOrientationChanging = true;
                 mWindowPlacerLocked.mOrientationChangeComplete = false;
+                w.mLastFreezeDuration = 0;
             }
-            w.mLastFreezeDuration = 0;
+        }
+        if (rotateSeamlessly) {
+            mH.removeMessages(H.SEAMLESS_ROTATION_TIMEOUT);
+            mH.sendEmptyMessageDelayed(H.SEAMLESS_ROTATION_TIMEOUT, SEAMLESS_ROTATION_TIMEOUT_DURATION);
         }
 
         for (int i=mRotationWatchers.size()-1; i>=0; i--) {
@@ -6693,7 +6759,7 @@
             }
         }
 
-        //TODO (multidisplay): Magnification is supported only for the default display.
+        // TODO (multidisplay): Magnification is supported only for the default display.
         // Announce rotation only if we will not animate as we already have the
         // windows in final state. Otherwise, we make this call at the rotation end.
         if (screenRotationAnimation == null && mAccessibilityController != null
@@ -7981,8 +8047,8 @@
         public static final int NOTIFY_STARTING_WINDOW_DRAWN = 50;
         public static final int UPDATE_ANIMATION_SCALE = 51;
         public static final int WINDOW_REMOVE_TIMEOUT = 52;
-
         public static final int NOTIFY_DOCKED_STACK_MINIMIZED_CHANGED = 53;
+        public static final int SEAMLESS_ROTATION_TIMEOUT = 54;
 
         /**
          * Used to denote that an integer field in a message will not be used.
@@ -8603,12 +8669,18 @@
                 case WINDOW_REMOVE_TIMEOUT: {
                     final WindowState window = (WindowState) msg.obj;
                     synchronized(mWindowMap) {
-                        // It's counterintuitive that we check that "mWindowRemovalAllowed"
-                        // is false. But in fact if it's true, it means a remove has already
-                        // been requested and we better just not do anything.
-                        if (!window.mRemoved && !window.mWindowRemovalAllowed) {
-                            removeWindowLocked(window);
-                        }
+                        // TODO: This is all about fixing b/21693547
+                        // where partially initialized Toasts get stuck
+                        // around and keep the screen on. We'd like
+                        // to just remove the toast...but this can cause clients
+                        // who miss the timeout due to normal circumstances (e.g.
+                        // running under debugger) to crash (b/29105388). The windows will
+                        // eventually be removed when the client process finishes.
+                        // The best we can do for now is remove the FLAG_KEEP_SCREEN_ON
+                        // and prevent the symptoms of b/21693547.
+                        window.mAttrs.flags &= ~FLAG_KEEP_SCREEN_ON;
+                        window.setDisplayLayoutNeeded();
+                        mWindowPlacerLocked.performSurfacePlacement();
                     }
                 }
                 break;
@@ -8616,6 +8688,27 @@
                     mAmInternal.notifyDockedStackMinimizedChanged(msg.arg1 == 1);
                 }
                 break;
+                case SEAMLESS_ROTATION_TIMEOUT: {
+                    // Rotation only supported on primary display.
+                    // TODO(multi-display)
+                    synchronized(mWindowMap) {
+                        final DisplayContent displayContent = getDefaultDisplayContentLocked();
+                        final WindowList windows = displayContent.getWindowList();
+                        boolean layoutNeeded = false;
+                        for (int i = windows.size() - 1; i >= 0; i--) {
+                            WindowState w = windows.get(i);
+                            if (w.mSeamlesslyRotated) {
+                                layoutNeeded = true;
+                                w.setDisplayLayoutNeeded();
+                            }
+                            w.mSeamlesslyRotated = false;
+                        }
+                        if (layoutNeeded) {
+                            mWindowPlacerLocked.performSurfacePlacement();
+                        }
+                    }
+                }
+                break;
             }
             if (DEBUG_WINDOW_TRACE) {
                 Slog.v(TAG_WM, "handleMessage: exit");
@@ -10022,6 +10115,7 @@
         }
     }
 
+    @Override
     public void createWallpaperInputConsumer(InputChannel inputChannel) {
         synchronized (mWindowMap) {
             mWallpaperInputConsumer = new InputConsumerImpl(this, "wallpaper input", inputChannel);
@@ -10030,6 +10124,7 @@
         }
     }
 
+    @Override
     public void removeWallpaperInputConsumer() {
         synchronized (mWindowMap) {
             if (mWallpaperInputConsumer != null) {
@@ -10122,6 +10217,15 @@
         }
     }
 
+    public void notifyAppRelaunchesCleared(IBinder token) {
+        synchronized (mWindowMap) {
+            final AppWindowToken appWindow = findAppWindowToken(token);
+            if (appWindow != null) {
+                appWindow.clearRelaunching();
+            }
+        }
+    }
+
     @Override
     public int getDockedDividerInsetsLw() {
         return getDefaultDisplayContentLocked().getDockedDividerController().getContentInsets();
@@ -11125,6 +11229,7 @@
         }
     }
 
+    @Override
     public void registerShortcutKey(long shortcutCode, IShortcutService shortcutKeyReceiver)
             throws RemoteException {
         if (!checkCallingPermission(Manifest.permission.REGISTER_WINDOW_MANAGER_LISTENERS,
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index 08bfa2d..1ac3d44 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -494,6 +494,15 @@
     /** @see #isResizedWhileNotDragResizingReported(). */
     private boolean mResizedWhileNotDragResizingReported;
 
+    /**
+     * During seamless rotation we have two phases, first the old window contents
+     * are rotated to look as if they didn't move in the new coordinate system. Then we
+     * have to freeze updates to this layer (to preserve the transformation) until
+     * the resize actually occurs. This is true from when the transformation is set
+     * and false until the transaction to resize is sent.
+     */
+    boolean mSeamlesslyRotated = false;
+
     WindowState(WindowManagerService service, Session s, IWindow c, WindowToken token,
            WindowState attachedWindow, int appOp, int seq, WindowManager.LayoutParams a,
            int viewVisibility, final DisplayContent displayContent) {
@@ -2899,4 +2908,12 @@
     boolean shouldBeReplacedWithChildren() {
         return isChildWindow() || mAttrs.type == TYPE_APPLICATION;
     }
+
+    public int getRotationAnimationHint() {
+        if (mAppToken != null) {
+            return mAppToken.mRotationAnimationHint;
+        } else {
+            return -1;
+        }
+    }
 }
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java
index 3b4c3cf..e374ee9 100644
--- a/services/core/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java
@@ -51,12 +51,15 @@
 import android.graphics.PixelFormat;
 import android.graphics.Point;
 import android.graphics.Rect;
+import android.graphics.RectF;
 import android.graphics.Region;
 import android.os.Debug;
 import android.os.RemoteException;
+import android.os.Trace;
 import android.util.Slog;
 import android.view.DisplayInfo;
 import android.view.MagnificationSpec;
+import android.view.Surface;
 import android.view.Surface.OutOfResourcesException;
 import android.view.SurfaceControl;
 import android.view.WindowManager;
@@ -230,6 +233,14 @@
 
     boolean mForceScaleUntilResize;
 
+    // WindowState.mHScale and WindowState.mVScale contain the
+    // scale according to client specified layout parameters (e.g.
+    // one layout size, with another surface size, creates such scaling).
+    // Here we track an additional scaling factor used to follow stack
+    // scaling (as in the case of the Pinned stack animation).
+    float mExtraHScale = (float) 1.0;
+    float mExtraVScale = (float) 1.0;
+
     private final Rect mTmpSize = new Rect();
 
     WindowStateAnimator(final WindowState win) {
@@ -816,22 +827,11 @@
             mTmpSize.bottom = mTmpSize.top + 1;
         }
 
-        final int displayId = w.getDisplayId();
-        float scale = 1.0f;
-        // Magnification is supported only for the default display.
-        if (mService.mAccessibilityController != null && displayId == DEFAULT_DISPLAY) {
-            final MagnificationSpec spec =
-                    mService.mAccessibilityController.getMagnificationSpecForWindowLocked(w);
-            if (spec != null && !spec.isNop()) {
-                scale = spec.scale;
-            }
-        }
-
         // Adjust for surface insets.
-        mTmpSize.left -= scale * attrs.surfaceInsets.left;
-        mTmpSize.top -= scale * attrs.surfaceInsets.top;
-        mTmpSize.right += scale * attrs.surfaceInsets.right;
-        mTmpSize.bottom += scale * attrs.surfaceInsets.bottom;
+        mTmpSize.left -= attrs.surfaceInsets.left;
+        mTmpSize.top -= attrs.surfaceInsets.top;
+        mTmpSize.right += attrs.surfaceInsets.right;
+        mTmpSize.bottom += attrs.surfaceInsets.bottom;
     }
 
     boolean hasSurface() {
@@ -1292,9 +1292,13 @@
     void updateSurfaceWindowCrop(Rect clipRect, Rect finalClipRect, boolean recoveringMemory) {
         if (DEBUG_WINDOW_CROP) Slog.d(TAG, "updateSurfaceWindowCrop: win=" + mWin
                 + " clipRect=" + clipRect + " finalClipRect=" + finalClipRect);
-        if (!clipRect.equals(mLastClipRect)) {
-            mLastClipRect.set(clipRect);
-            mSurfaceController.setCropInTransaction(clipRect, recoveringMemory);
+        if (clipRect != null) {
+            if (!clipRect.equals(mLastClipRect)) {
+                mLastClipRect.set(clipRect);
+                mSurfaceController.setCropInTransaction(clipRect, recoveringMemory);
+            }
+        } else {
+            mSurfaceController.clearCropInTransaction(recoveringMemory);
         }
         if (!finalClipRect.equals(mLastFinalClipRect)) {
             mLastFinalClipRect.set(finalClipRect);
@@ -1306,7 +1310,6 @@
     }
 
     private int resolveStackClip() {
-
         // App animation overrides window animation stack clip mode.
         if (mAppAnimator != null && mAppAnimator.animation != null) {
             return mAppAnimator.getStackClip();
@@ -1397,8 +1400,11 @@
         mTmpSize.set(w.mShownPosition.x, w.mShownPosition.y, 0, 0);
         calculateSurfaceBounds(w, w.getAttrs());
 
-        float extraHScale = (float) 1.0;
-        float extraVScale = (float) 1.0;
+        mExtraHScale = (float) 1.0;
+        mExtraVScale = (float) 1.0;
+
+        boolean wasForceScaled = mForceScaleUntilResize;
+        boolean wasSeamlesslyRotated = w.mSeamlesslyRotated;
 
         // Once relayout has been called at least once, we need to make sure
         // we only resize the client surface during calls to relayout. For
@@ -1407,47 +1413,51 @@
         // However, this would be unsafe, as the client may be in the middle
         // of producing a frame at the old size, having just completed layout
         // to find the surface size changed underneath it.
-        //
-        // TODO: For N we only apply this fix to the pinned workspace. As we
-        // aren't observing known issues here outside of PiP resizing. (Typically
-        // the other windows that use -1 are PopupWindows which aren't likely
-        // to be rendering while we resize).
-        if (!w.inPinnedWorkspace() || (!w.mRelayoutCalled || w.mInRelayout)) {
+        if (!w.mRelayoutCalled || w.mInRelayout) {
             mSurfaceResized = mSurfaceController.setSizeInTransaction(
                     mTmpSize.width(), mTmpSize.height(), recoveringMemory);
         } else {
             mSurfaceResized = false;
         }
         mForceScaleUntilResize = mForceScaleUntilResize && !mSurfaceResized;
-
+        // If we are undergoing seamless rotation, the surface has already
+        // been set up to persist at it's old location. We need to freeze
+        // updates until a resize occurs.
+        w.mSeamlesslyRotated = w.mSeamlesslyRotated && !mSurfaceResized;
 
         calculateSurfaceWindowCrop(mTmpClipRect, mTmpFinalClipRect);
+
+        float surfaceWidth = mSurfaceController.getWidth();
+        float surfaceHeight = mSurfaceController.getHeight();
+
         if ((task != null && task.mStack.getForceScaleToCrop()) || mForceScaleUntilResize) {
             int hInsets = w.getAttrs().surfaceInsets.left + w.getAttrs().surfaceInsets.right;
             int vInsets = w.getAttrs().surfaceInsets.top + w.getAttrs().surfaceInsets.bottom;
-            float surfaceWidth = mSurfaceController.getWidth();
-            float surfaceHeight = mSurfaceController.getHeight();
+            if (!mForceScaleUntilResize) {
+                mSurfaceController.forceScaleableInTransaction(true);
+            }
             // We want to calculate the scaling based on the content area, not based on
             // the entire surface, so that we scale in sync with windows that don't have insets.
-            extraHScale = (mTmpClipRect.width() - hInsets) / (float)(surfaceWidth - hInsets);
-            extraVScale = (mTmpClipRect.height() - vInsets) / (float)(surfaceHeight - vInsets);
+            mExtraHScale = (mTmpClipRect.width() - hInsets) / (float)(surfaceWidth - hInsets);
+            mExtraVScale = (mTmpClipRect.height() - vInsets) / (float)(surfaceHeight - vInsets);
 
             // In the case of ForceScaleToCrop we scale entire tasks together,
             // and so we need to scale our offsets relative to the task bounds
             // or parent and child windows would fall out of alignment.
-            int posX = (int) (mTmpSize.left - w.mAttrs.x * (1 - extraHScale));
-            int posY = (int) (mTmpSize.top - w.mAttrs.y * (1 - extraVScale));
+            int posX = (int) (mTmpSize.left - w.mAttrs.x * (1 - mExtraHScale));
+            int posY = (int) (mTmpSize.top - w.mAttrs.y * (1 - mExtraVScale));
             // Imagine we are scaling down. As we scale the buffer down, we decrease the
             // distance between the surface top left, and the start of the surface contents
             // (previously it was surfaceInsets.left pixels in screen space but now it
-            // will be surfaceInsets.left*extraHScale). This means in order to keep the
+            // will be surfaceInsets.left*mExtraHScale). This means in order to keep the
             // non inset content at the same position, we have to shift the whole window
             // forward. Likewise for scaling up, we've increased this distance, and we need
             // to shift by a negative number to compensate.
-            posX += w.getAttrs().surfaceInsets.left * (1 - extraHScale);
-            posY += w.getAttrs().surfaceInsets.top * (1 - extraVScale);
+            posX += w.getAttrs().surfaceInsets.left * (1 - mExtraHScale);
+            posY += w.getAttrs().surfaceInsets.top * (1 - mExtraVScale);
 
-            mSurfaceController.setPositionInTransaction(posX, posY, recoveringMemory);
+            mSurfaceController.setPositionInTransaction((float)Math.floor(posX),
+                    (float)Math.floor(posY), recoveringMemory);
 
             // Since we are scaled to fit in our previously desired crop, we can now
             // expose the whole window in buffer space, and not risk extending
@@ -1459,20 +1469,42 @@
             // We need to ensure for each surface, that we disable transformation matrix
             // scaling in the same transaction which we resize the surface in.
             // As we are in SCALING_MODE_SCALE_TO_WINDOW, SurfaceFlinger will
-            // then take over the scaling until the new buffer arrives, and things 
+            // then take over the scaling until the new buffer arrives, and things
             // will be seamless.
             mForceScaleUntilResize = true;
         } else {
-            mSurfaceController.setPositionInTransaction(mTmpSize.left, mTmpSize.top,
-                    recoveringMemory);
+            if (!w.mSeamlesslyRotated) {
+                mSurfaceController.setPositionInTransaction(mTmpSize.left, mTmpSize.top,
+                        recoveringMemory);
+            }
         }
 
-        updateSurfaceWindowCrop(mTmpClipRect, mTmpFinalClipRect, recoveringMemory);
+        // If we are ending the scaling mode. We switch to SCALING_MODE_FREEZE
+        // to prevent further updates until buffer latch.
+        // When ending both force scaling, and seamless rotation, we need to freeze
+        // the Surface geometry until a buffer comes in at the new size (normally position and crop
+        // are unfrozen). setGeometryAppliesWithResizeInTransaction accomplishes this for us.
+        if ((wasForceScaled && !mForceScaleUntilResize) ||
+                (wasSeamlesslyRotated && !w.mSeamlesslyRotated)) {
+            mSurfaceController.setGeometryAppliesWithResizeInTransaction(true);
+            mSurfaceController.forceScaleableInTransaction(false);
+        }
 
-        mSurfaceController.setMatrixInTransaction(mDsDx * w.mHScale * extraHScale,
-                mDtDx * w.mVScale * extraVScale,
-                mDsDy * w.mHScale * extraHScale,
-                mDtDy * w.mVScale * extraVScale, recoveringMemory);
+        Rect clipRect = mTmpClipRect;
+        if (w.inPinnedWorkspace()) {
+            clipRect = null;
+            task.mStack.getDimBounds(mTmpFinalClipRect);
+            mTmpFinalClipRect.inset(-w.mAttrs.surfaceInsets.left, -w.mAttrs.surfaceInsets.top,
+                    -w.mAttrs.surfaceInsets.right, -w.mAttrs.surfaceInsets.bottom);
+        }
+
+        if (!w.mSeamlesslyRotated) {
+            updateSurfaceWindowCrop(clipRect, mTmpFinalClipRect, recoveringMemory);
+            mSurfaceController.setMatrixInTransaction(mDsDx * w.mHScale * mExtraHScale,
+                    mDtDx * w.mVScale * mExtraVScale,
+                    mDsDy * w.mHScale * mExtraHScale,
+                    mDtDy * w.mVScale * mExtraVScale, recoveringMemory);
+        }
 
         if (mSurfaceResized) {
             mReportSurfaceResized = true;
@@ -1558,8 +1590,10 @@
 
             boolean prepared =
                 mSurfaceController.prepareToShowInTransaction(mShownAlpha, mAnimLayer,
-                        mDsDx * w.mHScale, mDtDx * w.mVScale,
-                        mDsDy * w.mHScale, mDtDy * w.mVScale,
+                        mDsDx * w.mHScale * mExtraHScale,
+                        mDtDx * w.mVScale * mExtraVScale,
+                        mDsDy * w.mHScale * mExtraHScale,
+                        mDtDy * w.mVScale * mExtraVScale,
                         recoveringMemory);
 
             if (prepared && mLastHidden && mDrawState == HAS_DRAWN) {
@@ -1830,6 +1864,7 @@
         // frozen, there is no reason to animate and it can cause strange
         // artifacts when we unfreeze the display if some different animation
         // is running.
+        Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "WSA#applyAnimationLocked");
         if (mService.okToDisplay()) {
             int anim = mPolicy.selectAnimationLw(mWin, transit);
             int attr = -1;
@@ -1869,6 +1904,8 @@
         } else {
             clearAnimation();
         }
+        Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER);
+
         if (mWin.mAttrs.type == TYPE_INPUT_METHOD) {
             mService.adjustForImeIfNeeded(mWin.mDisplayContent);
             if (isEntrance) {
@@ -2056,4 +2093,98 @@
     void endDelayingAnimationStart() {
         mAnimationStartDelayed = false;
     }
+
+    void seamlesslyRotateWindow(int oldRotation, int newRotation) {
+        final WindowState w = mWin;
+        if (!w.isVisibleNow() || w.mIsWallpaper) {
+            return;
+        }
+
+        final Rect cropRect = mService.mTmpRect;
+        final Rect displayRect = mService.mTmpRect2;
+        final RectF frameRect = mService.mTmpRectF;
+        final Matrix transform = mService.mTmpTransform;
+
+        final float x = w.mFrame.left;
+        final float y = w.mFrame.top;
+        final float width = w.mFrame.width();
+        final float height = w.mFrame.height();
+
+        mService.getDefaultDisplayContentLocked().getLogicalDisplayRect(displayRect);
+        final float displayWidth = displayRect.width();
+        final float displayHeight = displayRect.height();
+
+        // Compute a transform matrix to undo the coordinate space transformation,
+        // and present the window at the same physical position it previously occupied.
+        final int deltaRotation = DisplayContent.deltaRotation(newRotation, oldRotation);
+        switch (deltaRotation) {
+        case Surface.ROTATION_0:
+            transform.reset();
+            break;
+        case Surface.ROTATION_270:
+            transform.setRotate(270, 0, 0);
+            transform.postTranslate(0, displayHeight);
+            transform.postTranslate(y, 0);
+            break;
+        case Surface.ROTATION_180:
+            transform.reset();
+            break;
+        case Surface.ROTATION_90:
+            transform.setRotate(90, 0, 0);
+            transform.postTranslate(displayWidth, 0);
+            transform.postTranslate(-y, x);
+            break;
+        }
+
+        // We have two cases:
+        //  1. Windows with NATIVE_WINDOW_TRANSFORM_INVERSE_DISPLAY:
+        //     These windows never change buffer size when rotating. Rather the window manager
+        //     just updates the scaling factors to fit in the new coordinate system,
+        //     and SurfaceFlinger takes care of updating the buffer contents. So in this case
+        //     we just need we just need to update the scaling factors and things are seamless
+        //     already.
+        //  2. Other windows:
+        //     In this case, we need to apply a rotation matrix to the window. For example
+        //     if we have a portrait window and rotate to landscape, the window is still portrait
+        //     and now extends off the bottom of the screen (and only halfway across). Essentially we
+        //     apply a transform to display the current buffer at it's old position
+        //     (in the new coordinate space). We then freeze layer updates until the resize
+        //     occurs, at which point we undo, them.
+        if (w.isChildWindow() && mSurfaceController.getTransformToDisplayInverse()) {
+            frameRect.set(x, y, x+width, y+height);
+            transform.mapRect(frameRect);
+
+            w.mAttrs.x = (int) frameRect.left - w.mAttachedWindow.mFrame.left;
+            w.mAttrs.y = (int) frameRect.top - w.mAttachedWindow.mFrame.top;
+            w.mAttrs.width = (int) Math.ceil(frameRect.width());
+            w.mAttrs.height = (int) Math.ceil(frameRect.height());
+
+            w.setWindowScale(w.mRequestedWidth, w.mRequestedHeight);
+
+            w.applyGravityAndUpdateFrame(w.mContainingFrame, w.mDisplayFrame);
+            computeShownFrameLocked();
+            setSurfaceBoundariesLocked(false);
+
+            // The stack bounds will not yet be rotated at this point so setSurfaceBoundaries locked
+            // will crop us incorrectly. Overwrite the crop, exposing the full surface. By the next
+            // transaction this will be corrected.
+            cropRect.set(0, 0, w.mRequestedWidth, w.mRequestedWidth + w.mRequestedHeight);
+            mSurfaceController.setCropInTransaction(cropRect, false);
+        } else {
+            w.mSeamlesslyRotated = true;
+            transform.getValues(mService.mTmpFloats);
+
+            float DsDx = mService.mTmpFloats[Matrix.MSCALE_X];
+            float DtDx = mService.mTmpFloats[Matrix.MSKEW_Y];
+            float DsDy = mService.mTmpFloats[Matrix.MSKEW_X];
+            float DtDy = mService.mTmpFloats[Matrix.MSCALE_Y];
+            float nx = mService.mTmpFloats[Matrix.MTRANS_X];
+            float ny = mService.mTmpFloats[Matrix.MTRANS_Y];
+            mSurfaceController.setPositionInTransaction(nx, ny, false);
+            mSurfaceController.setMatrixInTransaction(DsDx * w.mHScale,
+                    DtDx * w.mVScale,
+                    DsDy * w.mHScale,
+                    DtDy * w.mVScale, false);
+        }
+    }
 }
diff --git a/services/core/java/com/android/server/wm/WindowSurfaceController.java b/services/core/java/com/android/server/wm/WindowSurfaceController.java
index 9646a49..c77e572 100644
--- a/services/core/java/com/android/server/wm/WindowSurfaceController.java
+++ b/services/core/java/com/android/server/wm/WindowSurfaceController.java
@@ -26,6 +26,7 @@
 import static android.view.Surface.SCALING_MODE_FREEZE;
 import static android.view.Surface.SCALING_MODE_SCALE_TO_WINDOW;
 
+import android.graphics.PixelFormat;
 import android.graphics.Point;
 import android.graphics.PointF;
 import android.graphics.Rect;
@@ -78,7 +79,16 @@
 
         title = name;
 
-        if (DEBUG_SURFACE_TRACE) {
+        // For opaque child windows placed under parent windows,
+        // we use a special SurfaceControl which mirrors commands
+        // to a black-out layer placed one Z-layer below the surface.
+        // This prevents holes to whatever app/wallpaper is underneath.
+        if (animator.mWin.isChildWindow() &&
+                animator.mWin.mSubLayer < 0 &&
+                animator.mWin.mAppToken != null) {
+            mSurfaceControl = new SurfaceControlWithBackground(s,
+                    name, w, h, format, flags, animator.mWin.mAppToken);
+        } else if (DEBUG_SURFACE_TRACE) {
             mSurfaceControl = new SurfaceTrace(
                     s, name, w, h, format, flags);
         } else {
@@ -194,6 +204,20 @@
         }
     }
 
+    void clearCropInTransaction(boolean recoveringMemory) {
+        if (SHOW_TRANSACTIONS) logSurface(
+                "CLEAR CROP", null);
+        try {
+            Rect clipRect = new Rect(0, 0, -1, -1);
+            mSurfaceControl.setWindowCrop(clipRect);
+        } catch (RuntimeException e) {
+            Slog.w(TAG, "Error setting clearing crop of " + this, e);
+            if (!recoveringMemory) {
+                mAnimator.reclaimSomeSurfaceMemory("crop", true);
+            }
+        }
+    }
+
     void setFinalCropInTransaction(Rect clipRect) {
         if (SHOW_TRANSACTIONS) logSurface(
                 "FINAL CROP " + clipRect.toShortString(), null);
@@ -236,6 +260,10 @@
         }
     }
 
+    void setGeometryAppliesWithResizeInTransaction(boolean recoveringMemory) {
+        mSurfaceControl.setGeometryAppliesWithResize();
+    }
+
     void setMatrixInTransaction(float dsdx, float dtdx, float dsdy, float dtdy,
             boolean recoveringMemory) {
         try {
@@ -430,6 +458,10 @@
         return mSurfaceControl.getHandle();
     }
 
+    boolean getTransformToDisplayInverse() {
+        return mSurfaceControl.getTransformToDisplayInverse();
+    }
+
     void getSurface(Surface outSurface) {
         outSurface.copyFrom(mSurfaceControl);
     }
@@ -554,6 +586,13 @@
         }
 
         @Override
+        public void setGeometryAppliesWithResize() {
+            if (LOG_SURFACE_TRACE) Slog.v(SURFACE_TAG, "setGeometryAppliesWithResize(): OLD: "
+                    + this + ". Called by" + Debug.getCallers(3));
+            super.setGeometryAppliesWithResize();
+        }
+
+        @Override
         public void setSize(int w, int h) {
             if (w != mSize.x || h != mSize.y) {
                 if (LOG_SURFACE_TRACE) Slog.v(SURFACE_TAG, "setSize(" + w + "," + h + "): OLD:"
@@ -719,4 +758,142 @@
                     + " (" + mDsdx + "," + mDtdx + "," + mDsdy + "," + mDtdy + ")";
         }
     }
+
+    class SurfaceControlWithBackground extends SurfaceControl {
+        private SurfaceControl mBackgroundControl;
+        private boolean mOpaque = true;
+        private boolean mAppForcedInvisible = false;
+        private AppWindowToken mAppToken;
+        public boolean mVisible = false;
+        public int mLayer = -1;
+
+        public SurfaceControlWithBackground(SurfaceSession s,
+                        String name, int w, int h, int format, int flags,
+                        AppWindowToken token)
+                   throws OutOfResourcesException {
+            super(s, name, w, h, format, flags);
+            mBackgroundControl = new SurfaceControl(s, name, w, h,
+                    PixelFormat.OPAQUE, flags | SurfaceControl.FX_SURFACE_DIM);
+            mOpaque = (flags & SurfaceControl.OPAQUE) != 0;
+            mAppToken = token;
+
+            mAppToken.addSurfaceViewBackground(this);
+        }
+
+        @Override
+        public void setAlpha(float alpha) {
+            super.setAlpha(alpha);
+            mBackgroundControl.setAlpha(alpha);
+        }
+
+        @Override
+        public void setLayer(int zorder) {
+            super.setLayer(zorder);
+            mBackgroundControl.setLayer(zorder - 1);
+            if (mLayer != zorder) {
+                mLayer = zorder;
+                mAppToken.updateSurfaceViewBackgroundVisibilities();
+            }
+        }
+
+        @Override
+        public void setPosition(float x, float y) {
+            super.setPosition(x, y);
+            mBackgroundControl.setPosition(x, y);
+        }
+
+        @Override
+        public void setSize(int w, int h) {
+            super.setSize(w, h);
+            mBackgroundControl.setSize(w, h);
+        }
+
+        @Override
+        public void setWindowCrop(Rect crop) {
+            super.setWindowCrop(crop);
+            mBackgroundControl.setWindowCrop(crop);
+        }
+
+        @Override
+        public void setFinalCrop(Rect crop) {
+            super.setFinalCrop(crop);
+            mBackgroundControl.setFinalCrop(crop);
+        }
+
+        @Override
+        public void setLayerStack(int layerStack) {
+            super.setLayerStack(layerStack);
+            mBackgroundControl.setLayerStack(layerStack);
+        }
+
+        @Override
+        public void setOpaque(boolean isOpaque) {
+            super.setOpaque(isOpaque);
+            mOpaque = isOpaque;
+            updateBackgroundVisibility(mAppForcedInvisible);
+        }
+
+        @Override
+        public void setSecure(boolean isSecure) {
+            super.setSecure(isSecure);
+        }
+
+        @Override
+        public void setMatrix(float dsdx, float dtdx, float dsdy, float dtdy) {
+            super.setMatrix(dsdx, dtdx, dsdy, dtdy);
+            mBackgroundControl.setMatrix(dsdx, dtdx, dsdy, dtdy);
+        }
+
+        @Override
+        public void hide() {
+            super.hide();
+            if (mVisible) {
+                mVisible = false;
+                mAppToken.updateSurfaceViewBackgroundVisibilities();
+            }
+        }
+
+        @Override
+        public void show() {
+            super.show();
+            if (!mVisible) {
+                mVisible = true;
+                mAppToken.updateSurfaceViewBackgroundVisibilities();
+            }
+        }
+
+        @Override
+        public void destroy() {
+            super.destroy();
+            mBackgroundControl.destroy();
+            mAppToken.removeSurfaceViewBackground(this);
+         }
+
+        @Override
+        public void release() {
+            super.release();
+            mBackgroundControl.release();
+        }
+
+        @Override
+        public void setTransparentRegionHint(Region region) {
+            super.setTransparentRegionHint(region);
+            mBackgroundControl.setTransparentRegionHint(region);
+        }
+
+        @Override
+        public void deferTransactionUntil(IBinder handle, long frame) {
+            super.deferTransactionUntil(handle, frame);
+            mBackgroundControl.deferTransactionUntil(handle, frame);
+        }
+
+        void updateBackgroundVisibility(boolean forcedInvisible) {
+            mAppForcedInvisible = forcedInvisible;
+            if (mOpaque && mVisible && !mAppForcedInvisible) {
+                mBackgroundControl.show();
+            } else {
+                mBackgroundControl.hide();
+            }
+        }
+    }
 }
diff --git a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
index 4148cd0..e5f9728 100644
--- a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
+++ b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
@@ -731,9 +731,7 @@
                     }
 
                     try {
-                        if (task == null || task.mStack.getBoundsAnimating()) {
-                            w.mClient.moved(left, top);
-                        }
+                        w.mClient.moved(left, top);
                     } catch (RemoteException e) {
                     }
                     w.mMovedByResize = false;
@@ -1076,6 +1074,8 @@
         if (!transitionGoodToGo(appsCount)) {
             return 0;
         }
+        Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "AppTransitionReady");
+
         if (DEBUG_APP_TRANSITIONS) Slog.v(TAG, "**** GOOD TO GO");
         int transit = mService.mAppTransition.getAppTransition();
         if (mService.mSkipAppTransitionAnimation) {
@@ -1209,6 +1209,9 @@
                 true /*updateInputWindows*/);
         mService.mFocusMayChange = false;
         mService.notifyActivityDrawnForKeyguard();
+
+        Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER);
+
         return FINISH_LAYOUT_REDO_LAYOUT | FINISH_LAYOUT_REDO_CONFIG;
     }
 
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index 9a7e64b3..c42d461 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -1338,7 +1338,8 @@
         }
 
         Owners newOwners() {
-            return new Owners(mContext, getUserManager(), getUserManagerInternal());
+            return new Owners(getUserManager(), getUserManagerInternal(),
+                    getPackageManagerInternal());
         }
 
         UserManager getUserManager() {
@@ -8134,45 +8135,27 @@
         }
 
         @Override
-        public boolean hasDeviceOwnerOrProfileOwner(String packageName, int userId) {
-            if (!mHasFeature || packageName == null) {
-                return false;
-            }
-            if (userId < 0) {
-                throw new UnsupportedOperationException("userId should be >= 0");
-            }
-            synchronized (DevicePolicyManagerService.this) {
-                if (packageName.equals(mOwners.getProfileOwnerPackage(userId))) {
-                    return true;
-                }
-                if (userId == mOwners.getDeviceOwnerUserId()
-                        && packageName.equals(mOwners.getDeviceOwnerPackageName())) {
-                    return true;
-                }
-            }
-            return false;
-        }
-
-        @Override
         public Intent createPackageSuspendedDialogIntent(String packageName, int userId) {
             Intent intent = new Intent(Settings.ACTION_SHOW_ADMIN_SUPPORT_DETAILS);
             intent.putExtra(Intent.EXTRA_USER_ID, userId);
             intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-            synchronized (DevicePolicyManagerService.this) {
-                ComponentName profileOwner = mOwners.getProfileOwnerComponent(userId);
-                if (profileOwner != null) {
-                    intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, profileOwner);
-                    return intent;
-                }
 
-                if (mOwners.getDeviceOwnerUserId() == userId) {
-                    ComponentName deviceOwner = mOwners.getDeviceOwnerComponent();
-                    if (deviceOwner != null) {
-                        intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, deviceOwner);
-                        return intent;
-                    }
-                }
+            // This method is called from AM with its lock held, so don't take the DPMS lock.
+            // b/29242568
+
+            ComponentName profileOwner = mOwners.getProfileOwnerComponent(userId);
+            if (profileOwner != null) {
+                intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, profileOwner);
+                return intent;
             }
+
+            final Pair<Integer, ComponentName> deviceOwner =
+                    mOwners.getDeviceOwnerUserIdAndComponent();
+            if (deviceOwner != null && deviceOwner.first == userId) {
+                intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, deviceOwner.second);
+                return intent;
+            }
+
             // We're not specifying the device admin because there isn't one.
             return intent;
         }
@@ -8210,6 +8193,12 @@
 
     @Override
     public SystemUpdatePolicy getSystemUpdatePolicy() {
+        if (UserManager.isDeviceInDemoMode(mContext)) {
+            // Pretending to have an automatic update policy when the device is in retail demo
+            // mode. This will allow the device to download and install an ota without
+            // any user interaction.
+            return SystemUpdatePolicy.createAutomaticInstallPolicy();
+        }
         synchronized (this) {
             SystemUpdatePolicy policy =  mOwners.getSystemUpdatePolicy();
             if (policy != null && !policy.isValid()) {
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java b/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java
index b316cbd..b53933e 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java
@@ -16,9 +16,10 @@
 
 package com.android.server.devicepolicy;
 
+import android.annotation.Nullable;
 import android.app.admin.SystemUpdatePolicy;
 import android.content.ComponentName;
-import android.content.Context;
+import android.content.pm.PackageManagerInternal;
 import android.content.pm.UserInfo;
 import android.os.Environment;
 import android.os.UserHandle;
@@ -27,7 +28,9 @@
 import android.util.ArrayMap;
 import android.util.AtomicFile;
 import android.util.Log;
+import android.util.Pair;
 import android.util.Slog;
+import android.util.SparseArray;
 import android.util.Xml;
 
 import com.android.internal.util.FastXmlSerializer;
@@ -52,8 +55,8 @@
  * Stores and restores state for the Device and Profile owners. By definition there can be
  * only one device owner, but there may be a profile owner for each user.
  *
- * <p>This class is not thread safe.  (i.e. access to this class must always be synchronized
- * in the caller side.)
+ * <p>This class is thread safe, so individual methods can safely be called without locking.
+ * However, caller must still synchronize on their side to ensure integrity between multiple calls.
  */
 class Owners {
     private static final String TAG = "DevicePolicyManagerService";
@@ -86,6 +89,7 @@
 
     private final UserManager mUserManager;
     private final UserManagerInternal mUserManagerInternal;
+    private final PackageManagerInternal mPackageManagerInternal;
 
     // Internal state for the device owner package.
     private OwnerInfo mDeviceOwner;
@@ -98,77 +102,117 @@
     // Local system update policy controllable by device owner.
     private SystemUpdatePolicy mSystemUpdatePolicy;
 
-    public Owners(Context context, UserManager userManager,
-            UserManagerInternal userManagerInternal) {
+    private final Object mLock = new Object();
+
+    public Owners(UserManager userManager,
+            UserManagerInternal userManagerInternal,
+            PackageManagerInternal packageManagerInternal) {
         mUserManager = userManager;
         mUserManagerInternal = userManagerInternal;
+        mPackageManagerInternal = packageManagerInternal;
     }
 
     /**
      * Load configuration from the disk.
      */
     void load() {
-        // First, try to read from the legacy file.
-        final File legacy = getLegacyConfigFileWithTestOverride();
+        synchronized (mLock) {
+            // First, try to read from the legacy file.
+            final File legacy = getLegacyConfigFileWithTestOverride();
 
-        final List<UserInfo> users = mUserManager.getUsers();
+            final List<UserInfo> users = mUserManager.getUsers(true);
 
-        if (readLegacyOwnerFile(legacy)) {
-            if (DEBUG) {
-                Log.d(TAG, "Legacy config file found.");
-            }
+            if (readLegacyOwnerFileLocked(legacy)) {
+                if (DEBUG) {
+                    Log.d(TAG, "Legacy config file found.");
+                }
 
-            // Legacy file exists, write to new files and remove the legacy one.
-            writeDeviceOwner();
-            for (int userId : getProfileOwnerKeys()) {
-                writeProfileOwner(userId);
-            }
-            if (DEBUG) {
-                Log.d(TAG, "Deleting legacy config file");
-            }
-            if (!legacy.delete()) {
-                Slog.e(TAG, "Failed to remove the legacy setting file");
-            }
-        } else {
-            // No legacy file, read from the new format files.
-            new DeviceOwnerReadWriter().readFromFileLocked();
+                // Legacy file exists, write to new files and remove the legacy one.
+                writeDeviceOwner();
+                for (int userId : getProfileOwnerKeys()) {
+                    writeProfileOwner(userId);
+                }
+                if (DEBUG) {
+                    Log.d(TAG, "Deleting legacy config file");
+                }
+                if (!legacy.delete()) {
+                    Slog.e(TAG, "Failed to remove the legacy setting file");
+                }
+            } else {
+                // No legacy file, read from the new format files.
+                new DeviceOwnerReadWriter().readFromFileLocked();
 
+                for (UserInfo ui : users) {
+                    new ProfileOwnerReadWriter(ui.id).readFromFileLocked();
+                }
+            }
+            mUserManagerInternal.setDeviceManaged(hasDeviceOwner());
             for (UserInfo ui : users) {
-                new ProfileOwnerReadWriter(ui.id).readFromFileLocked();
+                mUserManagerInternal.setUserManaged(ui.id, hasProfileOwner(ui.id));
             }
+            if (hasDeviceOwner() && hasProfileOwner(getDeviceOwnerUserId())) {
+                Slog.w(TAG, String.format("User %d has both DO and PO, which is not supported",
+                        getDeviceOwnerUserId()));
+            }
+            pushToPackageManagerLocked();
         }
-        mUserManagerInternal.setDeviceManaged(hasDeviceOwner());
-        for (UserInfo ui : users) {
-            mUserManagerInternal.setUserManaged(ui.id, hasProfileOwner(ui.id));
+    }
+
+    private void pushToPackageManagerLocked() {
+        final SparseArray<String> po = new SparseArray<>();
+        for (int i = mProfileOwners.size() - 1; i >= 0; i--) {
+            po.put(mProfileOwners.keyAt(i), mProfileOwners.valueAt(i).packageName);
         }
-        if (hasDeviceOwner() && hasProfileOwner(getDeviceOwnerUserId())) {
-            Slog.w(TAG, String.format("User %d has both DO and PO, which is not supported",
-                    getDeviceOwnerUserId()));
-        }
+        mPackageManagerInternal.setDeviceAndProfileOwnerPackages(
+                mDeviceOwnerUserId, (mDeviceOwner != null ? mDeviceOwner.packageName : null),
+                po);
     }
 
     String getDeviceOwnerPackageName() {
-        return mDeviceOwner != null ? mDeviceOwner.packageName : null;
+        synchronized (mLock) {
+            return mDeviceOwner != null ? mDeviceOwner.packageName : null;
+        }
     }
 
     int getDeviceOwnerUserId() {
-        return mDeviceOwnerUserId;
+        synchronized (mLock) {
+            return mDeviceOwnerUserId;
+        }
+    }
+
+    @Nullable
+    Pair<Integer, ComponentName> getDeviceOwnerUserIdAndComponent() {
+        synchronized (mLock) {
+            if (mDeviceOwner == null) {
+                return null;
+            } else {
+                return Pair.create(mDeviceOwnerUserId, mDeviceOwner.admin);
+            }
+        }
     }
 
     String getDeviceOwnerName() {
-        return mDeviceOwner != null ? mDeviceOwner.name : null;
+        synchronized (mLock) {
+            return mDeviceOwner != null ? mDeviceOwner.name : null;
+        }
     }
 
     ComponentName getDeviceOwnerComponent() {
-        return mDeviceOwner != null ? mDeviceOwner.admin : null;
+        synchronized (mLock) {
+            return mDeviceOwner != null ? mDeviceOwner.admin : null;
+        }
     }
 
     String getDeviceOwnerRemoteBugreportUri() {
-        return mDeviceOwner != null ? mDeviceOwner.remoteBugreportUri : null;
+        synchronized (mLock) {
+            return mDeviceOwner != null ? mDeviceOwner.remoteBugreportUri : null;
+        }
     }
 
     String getDeviceOwnerRemoteBugreportHash() {
-        return mDeviceOwner != null ? mDeviceOwner.remoteBugreportHash : null;
+        synchronized (mLock) {
+            return mDeviceOwner != null ? mDeviceOwner.remoteBugreportHash : null;
+        }
     }
 
     void setDeviceOwner(ComponentName admin, String ownerName, int userId) {
@@ -176,128 +220,172 @@
             Slog.e(TAG, "Invalid user id for device owner user: " + userId);
             return;
         }
-        // For a newly set DO, there's no need for migration.
-        setDeviceOwnerWithRestrictionsMigrated(admin, ownerName, userId,
-                /* userRestrictionsMigrated =*/ true);
+        synchronized (mLock) {
+            // For a newly set DO, there's no need for migration.
+            setDeviceOwnerWithRestrictionsMigrated(admin, ownerName, userId,
+                    /* userRestrictionsMigrated =*/ true);
+        }
     }
 
     // Note this should be only called during migration.  Normally when DO is set,
     // userRestrictionsMigrated should always be true.
     void setDeviceOwnerWithRestrictionsMigrated(ComponentName admin, String ownerName, int userId,
             boolean userRestrictionsMigrated) {
-        mDeviceOwner = new OwnerInfo(ownerName, admin, userRestrictionsMigrated,
-                /* remoteBugreportUri =*/ null, /* remoteBugreportHash =*/ null);
-        mDeviceOwnerUserId = userId;
+        synchronized (mLock) {
+            mDeviceOwner = new OwnerInfo(ownerName, admin, userRestrictionsMigrated,
+                    /* remoteBugreportUri =*/ null, /* remoteBugreportHash =*/ null);
+            mDeviceOwnerUserId = userId;
 
-        mUserManagerInternal.setDeviceManaged(true);
+            mUserManagerInternal.setDeviceManaged(true);
+            pushToPackageManagerLocked();
+        }
     }
 
     void clearDeviceOwner() {
-        mDeviceOwner = null;
-        mDeviceOwnerUserId = UserHandle.USER_NULL;
+        synchronized (mLock) {
+            mDeviceOwner = null;
+            mDeviceOwnerUserId = UserHandle.USER_NULL;
 
-        mUserManagerInternal.setDeviceManaged(false);
+            mUserManagerInternal.setDeviceManaged(false);
+            pushToPackageManagerLocked();
+        }
     }
 
     void setProfileOwner(ComponentName admin, String ownerName, int userId) {
-        // For a newly set PO, there's no need for migration.
-        mProfileOwners.put(userId, new OwnerInfo(ownerName, admin,
-                /* userRestrictionsMigrated =*/ true, /* remoteBugreportUri =*/ null,
-                /* remoteBugreportHash =*/ null));
-        mUserManagerInternal.setUserManaged(userId, true);
+        synchronized (mLock) {
+            // For a newly set PO, there's no need for migration.
+            mProfileOwners.put(userId, new OwnerInfo(ownerName, admin,
+                    /* userRestrictionsMigrated =*/ true, /* remoteBugreportUri =*/ null,
+                    /* remoteBugreportHash =*/ null));
+            mUserManagerInternal.setUserManaged(userId, true);
+            pushToPackageManagerLocked();
+        }
     }
 
     void removeProfileOwner(int userId) {
-        mProfileOwners.remove(userId);
-        mUserManagerInternal.setUserManaged(userId, false);
+        synchronized (mLock) {
+            mProfileOwners.remove(userId);
+            mUserManagerInternal.setUserManaged(userId, false);
+            pushToPackageManagerLocked();
+        }
     }
 
     ComponentName getProfileOwnerComponent(int userId) {
-        OwnerInfo profileOwner = mProfileOwners.get(userId);
-        return profileOwner != null ? profileOwner.admin : null;
+        synchronized (mLock) {
+            OwnerInfo profileOwner = mProfileOwners.get(userId);
+            return profileOwner != null ? profileOwner.admin : null;
+        }
     }
 
     String getProfileOwnerName(int userId) {
-        OwnerInfo profileOwner = mProfileOwners.get(userId);
-        return profileOwner != null ? profileOwner.name : null;
+        synchronized (mLock) {
+            OwnerInfo profileOwner = mProfileOwners.get(userId);
+            return profileOwner != null ? profileOwner.name : null;
+        }
     }
 
     String getProfileOwnerPackage(int userId) {
-        OwnerInfo profileOwner = mProfileOwners.get(userId);
-        return profileOwner != null ? profileOwner.packageName : null;
+        synchronized (mLock) {
+            OwnerInfo profileOwner = mProfileOwners.get(userId);
+            return profileOwner != null ? profileOwner.packageName : null;
+        }
     }
 
     Set<Integer> getProfileOwnerKeys() {
-        return mProfileOwners.keySet();
+        synchronized (mLock) {
+            return mProfileOwners.keySet();
+        }
     }
 
     SystemUpdatePolicy getSystemUpdatePolicy() {
-        return mSystemUpdatePolicy;
+        synchronized (mLock) {
+            return mSystemUpdatePolicy;
+        }
     }
 
     void setSystemUpdatePolicy(SystemUpdatePolicy systemUpdatePolicy) {
-        mSystemUpdatePolicy = systemUpdatePolicy;
+        synchronized (mLock) {
+            mSystemUpdatePolicy = systemUpdatePolicy;
+        }
     }
 
     void clearSystemUpdatePolicy() {
-        mSystemUpdatePolicy = null;
+        synchronized (mLock) {
+            mSystemUpdatePolicy = null;
+        }
     }
 
     boolean hasDeviceOwner() {
-        return mDeviceOwner != null;
+        synchronized (mLock) {
+            return mDeviceOwner != null;
+        }
     }
 
     boolean isDeviceOwnerUserId(int userId) {
-        return mDeviceOwner != null && mDeviceOwnerUserId == userId;
+        synchronized (mLock) {
+            return mDeviceOwner != null && mDeviceOwnerUserId == userId;
+        }
     }
 
     boolean hasProfileOwner(int userId) {
-        return getProfileOwnerComponent(userId) != null;
+        synchronized (mLock) {
+            return getProfileOwnerComponent(userId) != null;
+        }
     }
 
     /**
      * @return true if user restrictions need to be migrated for DO.
      */
     boolean getDeviceOwnerUserRestrictionsNeedsMigration() {
-        return mDeviceOwner != null && !mDeviceOwner.userRestrictionsMigrated;
+        synchronized (mLock) {
+            return mDeviceOwner != null && !mDeviceOwner.userRestrictionsMigrated;
+        }
     }
 
     /**
      * @return true if user restrictions need to be migrated for PO.
      */
     boolean getProfileOwnerUserRestrictionsNeedsMigration(int userId) {
-        OwnerInfo profileOwner = mProfileOwners.get(userId);
-        return profileOwner != null && !profileOwner.userRestrictionsMigrated;
+        synchronized (mLock) {
+            OwnerInfo profileOwner = mProfileOwners.get(userId);
+            return profileOwner != null && !profileOwner.userRestrictionsMigrated;
+        }
     }
 
     /** Sets the user restrictions migrated flag, and also writes to the file. */
     void setDeviceOwnerUserRestrictionsMigrated() {
-        if (mDeviceOwner != null) {
-            mDeviceOwner.userRestrictionsMigrated = true;
+        synchronized (mLock) {
+            if (mDeviceOwner != null) {
+                mDeviceOwner.userRestrictionsMigrated = true;
+            }
+            writeDeviceOwner();
         }
-        writeDeviceOwner();
     }
 
     /** Sets the remote bugreport uri and hash, and also writes to the file. */
     void setDeviceOwnerRemoteBugreportUriAndHash(String remoteBugreportUri,
             String remoteBugreportHash) {
-        if (mDeviceOwner != null) {
-            mDeviceOwner.remoteBugreportUri = remoteBugreportUri;
-            mDeviceOwner.remoteBugreportHash = remoteBugreportHash;
+        synchronized (mLock) {
+            if (mDeviceOwner != null) {
+                mDeviceOwner.remoteBugreportUri = remoteBugreportUri;
+                mDeviceOwner.remoteBugreportHash = remoteBugreportHash;
+            }
+            writeDeviceOwner();
         }
-        writeDeviceOwner();
     }
 
     /** Sets the user restrictions migrated flag, and also writes to the file.  */
     void setProfileOwnerUserRestrictionsMigrated(int userId) {
-        OwnerInfo profileOwner = mProfileOwners.get(userId);
-        if (profileOwner != null) {
-            profileOwner.userRestrictionsMigrated = true;
+        synchronized (mLock) {
+            OwnerInfo profileOwner = mProfileOwners.get(userId);
+            if (profileOwner != null) {
+                profileOwner.userRestrictionsMigrated = true;
+            }
+            writeProfileOwner(userId);
         }
-        writeProfileOwner(userId);
     }
 
-    private boolean readLegacyOwnerFile(File file) {
+    private boolean readLegacyOwnerFileLocked(File file) {
         if (!file.exists()) {
             // Already migrated or the device has no owners.
             return false;
@@ -363,7 +451,7 @@
     }
 
     void writeDeviceOwner() {
-        synchronized (this) {
+        synchronized (mLock) {
             if (DEBUG) {
                 Log.d(TAG, "Writing to device owner file");
             }
@@ -372,7 +460,7 @@
     }
 
     void writeProfileOwner(int userId) {
-        synchronized (this) {
+        synchronized (mLock) {
             if (DEBUG) {
                 Log.d(TAG, "Writing to profile owner file for user " + userId);
             }
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 107de8b..76424d8 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -57,7 +57,6 @@
 import com.android.internal.widget.ILockSettings;
 import com.android.server.accessibility.AccessibilityManagerService;
 import com.android.server.am.ActivityManagerService;
-import com.android.server.am.RetailDemoModeService;
 import com.android.server.audio.AudioService;
 import com.android.server.camera.CameraService;
 import com.android.server.clipboard.ClipboardService;
@@ -88,6 +87,7 @@
 import com.android.server.power.PowerManagerService;
 import com.android.server.power.ShutdownThread;
 import com.android.server.restrictions.RestrictionsManagerService;
+import com.android.server.retaildemo.RetailDemoModeService;
 import com.android.server.soundtrigger.SoundTriggerService;
 import com.android.server.statusbar.StatusBarManagerService;
 import com.android.server.storage.DeviceStorageMonitorService;
@@ -181,7 +181,7 @@
      * visual content.
      */
     private static final int DEFAULT_SYSTEM_THEME =
-            com.android.internal.R.style.Theme_DeviceDefault_Light_DarkActionBar;
+            com.android.internal.R.style.Theme_DeviceDefault_System;
 
     private final int mFactoryTestMode;
     private Timer mProfilerSnapshotTimer;
@@ -475,7 +475,7 @@
         }
 
         traceBeginAndSlog("StartUserManagerService");
-        ServiceManager.addService(Context.USER_SERVICE, UserManagerService.getInstance());
+        mSystemServiceManager.startService(UserManagerService.LifeCycle.class);
         Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER);
 
         // Initialize attribute cache used to cache resources from packages.
diff --git a/services/net/java/android/net/apf/ApfFilter.java b/services/net/java/android/net/apf/ApfFilter.java
index 485f2f5..0ef9d7a 100644
--- a/services/net/java/android/net/apf/ApfFilter.java
+++ b/services/net/java/android/net/apf/ApfFilter.java
@@ -18,15 +18,21 @@
 
 import static android.system.OsConstants.*;
 
+import android.os.SystemClock;
 import android.net.LinkProperties;
 import android.net.NetworkUtils;
 import android.net.apf.ApfGenerator;
 import android.net.apf.ApfGenerator.IllegalInstructionException;
 import android.net.apf.ApfGenerator.Register;
 import android.net.ip.IpManager;
+import android.net.metrics.ApfProgramEvent;
+import android.net.metrics.ApfStats;
+import android.net.metrics.IpConnectivityLog;
+import android.net.metrics.RaEvent;
 import android.system.ErrnoException;
 import android.system.Os;
 import android.system.PacketSocketAddress;
+import android.text.format.DateUtils;
 import android.util.Log;
 import android.util.Pair;
 
@@ -69,6 +75,17 @@
  * @hide
  */
 public class ApfFilter {
+
+    // Enums describing the outcome of receiving an RA packet.
+    private static enum ProcessRaResult {
+        MATCH,          // Received RA matched a known RA
+        DROPPED,        // Received RA ignored due to MAX_RAS
+        PARSE_ERROR,    // Received RA could not be parsed
+        ZERO_LIFETIME,  // Received RA had 0 lifetime
+        UPDATE_NEW_RA,  // APF program updated for new RA
+        UPDATE_EXPIRY   // APF program updated for expiry
+    }
+
     // Thread to listen for RAs.
     @VisibleForTesting
     class ReceiveThread extends Thread {
@@ -76,6 +93,16 @@
         private final FileDescriptor mSocket;
         private volatile boolean mStopped;
 
+        // Starting time of the RA receiver thread.
+        private final long mStart = SystemClock.elapsedRealtime();
+
+        private int mReceivedRas;     // Number of received RAs
+        private int mMatchingRas;     // Number of received RAs matching a known RA
+        private int mDroppedRas;      // Number of received RAs ignored due to the MAX_RAS limit
+        private int mParseErrors;     // Number of received RAs that could not be parsed
+        private int mZeroLifetimeRas; // Number of received RAs with a 0 lifetime
+        private int mProgramUpdates;  // Number of APF program updates triggered by receiving a RA
+
         public ReceiveThread(FileDescriptor socket) {
             mSocket = socket;
         }
@@ -94,13 +121,46 @@
             while (!mStopped) {
                 try {
                     int length = Os.read(mSocket, mPacket, 0, mPacket.length);
-                    processRa(mPacket, length);
+                    updateStats(processRa(mPacket, length));
                 } catch (IOException|ErrnoException e) {
                     if (!mStopped) {
                         Log.e(TAG, "Read error", e);
                     }
                 }
             }
+            logStats();
+        }
+
+        private void updateStats(ProcessRaResult result) {
+            mReceivedRas++;
+            switch(result) {
+                case MATCH:
+                    mMatchingRas++;
+                    return;
+                case DROPPED:
+                    mDroppedRas++;
+                    return;
+                case PARSE_ERROR:
+                    mParseErrors++;
+                    return;
+                case ZERO_LIFETIME:
+                    mZeroLifetimeRas++;
+                    return;
+                case UPDATE_EXPIRY:
+                    mMatchingRas++;
+                    mProgramUpdates++;
+                    return;
+                case UPDATE_NEW_RA:
+                    mProgramUpdates++;
+                    return;
+            }
+        }
+
+        private void logStats() {
+            long durationMs = SystemClock.elapsedRealtime() - mStart;
+            int maxSize = mApfCapabilities.maximumApfProgramSize;
+            mMetricsLog.log(new ApfStats(durationMs, mReceivedRas, mMatchingRas, mDroppedRas,
+                     mZeroLifetimeRas, mParseErrors, mProgramUpdates, maxSize));
         }
     }
 
@@ -140,7 +200,7 @@
     // NOTE: this must be added to the IPv4 header length in IPV4_HEADER_SIZE_MEMORY_SLOT
     private static final int DHCP_CLIENT_MAC_OFFSET = ETH_HEADER_LEN + UDP_HEADER_LEN + 28;
 
-    private static int ARP_HEADER_OFFSET = ETH_HEADER_LEN;
+    private static final int ARP_HEADER_OFFSET = ETH_HEADER_LEN;
     private static final byte[] ARP_IPV4_REQUEST_HEADER = new byte[]{
             0, 1, // Hardware type: Ethernet (1)
             8, 0, // Protocol type: IP (0x0800)
@@ -148,11 +208,12 @@
             4,    // Protocol size: 4
             0, 1  // Opcode: request (1)
     };
-    private static int ARP_TARGET_IP_ADDRESS_OFFSET = ETH_HEADER_LEN + 24;
+    private static final int ARP_TARGET_IP_ADDRESS_OFFSET = ETH_HEADER_LEN + 24;
 
     private final ApfCapabilities mApfCapabilities;
     private final IpManager.Callback mIpManagerCallback;
     private final NetworkInterface mNetworkInterface;
+    private final IpConnectivityLog mMetricsLog = new IpConnectivityLog();
     @VisibleForTesting
     byte[] mHardwareAddress;
     @VisibleForTesting
@@ -212,8 +273,9 @@
     }
 
     // Returns seconds since Unix Epoch.
+    // TODO: use SystemClock.elapsedRealtime() instead
     private static long curTime() {
-        return System.currentTimeMillis() / 1000L;
+        return System.currentTimeMillis() / DateUtils.SECOND_IN_MILLIS;
     }
 
     // A class to hold information about an RA.
@@ -296,7 +358,7 @@
         }
 
         // Can't be static because it's in a non-static inner class.
-        // TODO: Make this final once RA is its own class.
+        // TODO: Make this static once RA is its own class.
         private int uint8(byte b) {
             return b & 0xff;
         }
@@ -305,8 +367,8 @@
             return s & 0xffff;
         }
 
-        private long uint32(int s) {
-            return s & 0xffffffff;
+        private long uint32(int i) {
+            return i & 0xffffffffL;
         }
 
         private void prefixOptionToString(StringBuffer sb, int offset) {
@@ -366,9 +428,15 @@
             return lifetimeOffset + lifetimeLength;
         }
 
+        private int addNonLifetimeU32(int lastNonLifetimeStart) {
+            return addNonLifetime(lastNonLifetimeStart,
+                    ICMP6_4_BYTE_LIFETIME_OFFSET, ICMP6_4_BYTE_LIFETIME_LEN);
+        }
+
         // Note that this parses RA and may throw IllegalArgumentException (from
-        // Buffer.position(int) ) or IndexOutOfBoundsException (from ByteBuffer.get(int) ) if
-        // parsing encounters something non-compliant with specifications.
+        // Buffer.position(int) or due to an invalid-length option) or IndexOutOfBoundsException
+        // (from ByteBuffer.get(int) ) if parsing encounters something non-compliant with
+        // specifications.
         Ra(byte[] packet, int length) {
             mPacket = ByteBuffer.allocate(length).put(ByteBuffer.wrap(packet, 0, length));
             mPacket.clear();
@@ -384,11 +452,20 @@
                     ICMP6_RA_ROUTER_LIFETIME_OFFSET,
                     ICMP6_RA_ROUTER_LIFETIME_LEN);
 
+            long routerLifetime = uint16(mPacket.getShort(
+                    ICMP6_RA_ROUTER_LIFETIME_OFFSET + mPacket.position()));
+            long prefixValidLifetime = -1L;
+            long prefixPreferredLifetime = -1L;
+            long routeInfoLifetime = -1L;
+            long dnsslLifetime = - 1L;
+            long rdnssLifetime = -1L;
+
             // Ensures that the RA is not truncated.
             mPacket.position(ICMP6_RA_OPTION_OFFSET);
             while (mPacket.hasRemaining()) {
-                int optionType = ((int)mPacket.get(mPacket.position())) & 0xff;
-                int optionLength = (((int)mPacket.get(mPacket.position() + 1)) & 0xff) * 8;
+                final int position = mPacket.position();
+                final int optionType = uint8(mPacket.get(position));
+                final int optionLength = uint8(mPacket.get(position + 1)) * 8;
                 switch (optionType) {
                     case ICMP6_PREFIX_OPTION_TYPE:
                         // Parse valid lifetime
@@ -399,30 +476,47 @@
                         lastNonLifetimeStart = addNonLifetime(lastNonLifetimeStart,
                                 ICMP6_PREFIX_OPTION_PREFERRED_LIFETIME_OFFSET,
                                 ICMP6_PREFIX_OPTION_PREFERRED_LIFETIME_LEN);
-                        mPrefixOptionOffsets.add(mPacket.position());
+                        mPrefixOptionOffsets.add(position);
+                        prefixValidLifetime = uint32(mPacket.getInt(
+                                ICMP6_PREFIX_OPTION_VALID_LIFETIME_OFFSET + position));
+                        prefixPreferredLifetime = uint32(mPacket.getInt(
+                                ICMP6_PREFIX_OPTION_PREFERRED_LIFETIME_OFFSET + position));
                         break;
-                    // These three options have the same lifetime offset and size, so process
-                    // together:
+                    // These three options have the same lifetime offset and size, and
+                    // are processed with the same specialized addNonLifetime4B:
                     case ICMP6_RDNSS_OPTION_TYPE:
-                        mRdnssOptionOffsets.add(mPacket.position());
-                        // Fall through.
+                        mRdnssOptionOffsets.add(position);
+                        lastNonLifetimeStart = addNonLifetimeU32(lastNonLifetimeStart);
+                        rdnssLifetime =
+                                uint32(mPacket.getInt(ICMP6_4_BYTE_LIFETIME_OFFSET + position));
+                        break;
                     case ICMP6_ROUTE_INFO_OPTION_TYPE:
+                        lastNonLifetimeStart = addNonLifetimeU32(lastNonLifetimeStart);
+                        routeInfoLifetime =
+                                uint32(mPacket.getInt(ICMP6_4_BYTE_LIFETIME_OFFSET + position));
+                        break;
                     case ICMP6_DNSSL_OPTION_TYPE:
-                        // Parse lifetime
-                        lastNonLifetimeStart = addNonLifetime(lastNonLifetimeStart,
-                                ICMP6_4_BYTE_LIFETIME_OFFSET,
-                                ICMP6_4_BYTE_LIFETIME_LEN);
+                        lastNonLifetimeStart = addNonLifetimeU32(lastNonLifetimeStart);
+                        dnsslLifetime =
+                                uint32(mPacket.getInt(ICMP6_4_BYTE_LIFETIME_OFFSET + position));
                         break;
                     default:
                         // RFC4861 section 4.2 dictates we ignore unknown options for fowards
                         // compatibility.
                         break;
                 }
-                mPacket.position(mPacket.position() + optionLength);
+                if (optionLength <= 0) {
+                    throw new IllegalArgumentException(String.format(
+                        "Invalid option length opt=%d len=%d", optionType, optionLength));
+                }
+                mPacket.position(position + optionLength);
             }
             // Mark non-lifetime bytes since last lifetime.
             addNonLifetime(lastNonLifetimeStart, 0, 0);
             mMinLifetime = minLifetime(packet, length);
+            // TODO: record per-option minimum lifetimes instead of last seen lifetimes
+            mMetricsLog.log(new RaEvent(routerLifetime, prefixValidLifetime,
+                    prefixPreferredLifetime, routeInfoLifetime, rdnssLifetime, dnsslLifetime));
         }
 
         // Ignoring lifetimes (which may change) does {@code packet} match this RA?
@@ -451,16 +545,19 @@
                      continue;
                 }
 
-                int lifetimeLength = mNonLifetimes.get(i+1).first - offset;
-                long val;
+                final int lifetimeLength = mNonLifetimes.get(i+1).first - offset;
+                final long optionLifetime;
                 switch (lifetimeLength) {
-                    case 2: val = byteBuffer.getShort(offset); break;
-                    case 4: val = byteBuffer.getInt(offset); break;
-                    default: throw new IllegalStateException("bogus lifetime size " + length);
+                    case 2:
+                        optionLifetime = uint16(byteBuffer.getShort(offset));
+                        break;
+                    case 4:
+                        optionLifetime = uint32(byteBuffer.getInt(offset));
+                        break;
+                    default:
+                        throw new IllegalStateException("bogus lifetime size " + lifetimeLength);
                 }
-                // Mask to size, converting signed to unsigned
-                val &= (1L << (lifetimeLength * 8)) - 1;
-                minLifetime = Math.min(minLifetime, val);
+                minLifetime = Math.min(minLifetime, optionLifetime);
             }
             return minLifetime;
         }
@@ -755,16 +852,19 @@
         return gen;
     }
 
+    /**
+     * Generate and install a new filter program.
+     */
     @GuardedBy("this")
     @VisibleForTesting
     void installNewProgramLocked() {
         purgeExpiredRasLocked();
+        ArrayList<Ra> rasToFilter = new ArrayList<>();
         final byte[] program;
         long programMinLifetime = Long.MAX_VALUE;
         try {
             // Step 1: Determine how many RA filters we can fit in the program.
             ApfGenerator gen = beginProgramLocked();
-            ArrayList<Ra> rasToFilter = new ArrayList<Ra>();
             for (Ra ra : mRas) {
                 ra.generateFilterLocked(gen);
                 // Stop if we get too big.
@@ -792,17 +892,17 @@
             hexDump("Installing filter: ", program, program.length);
         }
         mIpManagerCallback.installPacketFilter(program);
+        int flags = ApfProgramEvent.flagsFor(mIPv4Address != null, mMulticastFilter);
+        mMetricsLog.log(new ApfProgramEvent(
+                programMinLifetime, rasToFilter.size(), mRas.size(), program.length, flags));
     }
 
-    // Install a new filter program if the last installed one will die soon.
-    @GuardedBy("this")
-    private void maybeInstallNewProgramLocked() {
-        if (mRas.size() == 0) return;
-        // If the current program doesn't expire for a while, don't bother updating.
+    /**
+     * Returns {@code true} if a new program should be installed because the current one dies soon.
+     */
+    private boolean shouldInstallnewProgram() {
         long expiry = mLastTimeInstalledProgram + mLastInstalledProgramMinLifetime;
-        if (expiry < curTime() + MAX_PROGRAM_LIFETIME_WORTH_REFRESHING) {
-            installNewProgramLocked();
-        }
+        return expiry < curTime() + MAX_PROGRAM_LIFETIME_WORTH_REFRESHING;
     }
 
     private void hexDump(String msg, byte[] packet, int length) {
@@ -821,7 +921,12 @@
         }
     }
 
-    private synchronized void processRa(byte[] packet, int length) {
+    /**
+     * Process an RA packet, updating the list of known RAs and installing a new APF program
+     * if the current APF program should be updated.
+     * @return a ProcessRaResult enum describing what action was performed.
+     */
+    private synchronized ProcessRaResult processRa(byte[] packet, int length) {
         if (VDBG) hexDump("Read packet = ", packet, length);
 
         // Have we seen this RA before?
@@ -843,25 +948,34 @@
                 // Swap to front of array.
                 mRas.add(0, mRas.remove(i));
 
-                maybeInstallNewProgramLocked();
-                return;
+                // If the current program doesn't expire for a while, don't update.
+                if (shouldInstallnewProgram()) {
+                    installNewProgramLocked();
+                    return ProcessRaResult.UPDATE_EXPIRY;
+                }
+                return ProcessRaResult.MATCH;
             }
         }
         purgeExpiredRasLocked();
         // TODO: figure out how to proceed when we've received more then MAX_RAS RAs.
-        if (mRas.size() >= MAX_RAS) return;
+        if (mRas.size() >= MAX_RAS) {
+            return ProcessRaResult.DROPPED;
+        }
         final Ra ra;
         try {
             ra = new Ra(packet, length);
         } catch (Exception e) {
             Log.e(TAG, "Error parsing RA: " + e);
-            return;
+            return ProcessRaResult.PARSE_ERROR;
         }
         // Ignore 0 lifetime RAs.
-        if (ra.isExpired()) return;
+        if (ra.isExpired()) {
+            return ProcessRaResult.ZERO_LIFETIME;
+        }
         log("Adding " + ra);
         mRas.add(ra);
         installNewProgramLocked();
+        return ProcessRaResult.UPDATE_NEW_RA;
     }
 
     /**
diff --git a/services/net/java/android/net/dhcp/DhcpClient.java b/services/net/java/android/net/dhcp/DhcpClient.java
index 96c852b..5852626 100644
--- a/services/net/java/android/net/dhcp/DhcpClient.java
+++ b/services/net/java/android/net/dhcp/DhcpClient.java
@@ -30,6 +30,7 @@
 import android.net.InterfaceConfiguration;
 import android.net.LinkAddress;
 import android.net.NetworkUtils;
+import android.net.metrics.IpConnectivityLog;
 import android.net.metrics.DhcpClientEvent;
 import android.net.metrics.DhcpErrorEvent;
 import android.os.Message;
@@ -163,6 +164,7 @@
     // System services / libraries we use.
     private final Context mContext;
     private final Random mRandom;
+    private final IpConnectivityLog mMetricsLog = new IpConnectivityLog();
 
     // Sockets.
     // - We use a packet socket to receive, because servers send us packets bound for IP addresses
@@ -356,14 +358,14 @@
                 } catch (IOException|ErrnoException e) {
                     if (!mStopped) {
                         Log.e(TAG, "Read error", e);
-                        DhcpErrorEvent.logReceiveError(mIfaceName);
+                        logError(DhcpErrorEvent.RECEIVE_ERROR);
                     }
                 } catch (DhcpPacket.ParseException e) {
                     Log.e(TAG, "Can't parse packet: " + e.getMessage());
                     if (PACKET_DBG) {
                         Log.d(TAG, HexDump.dumpHexString(mPacket, 0, length));
                     }
-                    DhcpErrorEvent.logParseError(mIfaceName, e.errorCode);
+                    logError(e.errorCode);
                 }
             }
             if (DBG) Log.d(TAG, "Receive thread stopped");
@@ -493,7 +495,7 @@
         @Override
         public void enter() {
             if (STATE_DBG) Log.d(TAG, "Entering state " + getName());
-            DhcpClientEvent.logStateEvent(mIfaceName, getName());
+            mMetricsLog.log(new DhcpClientEvent(mIfaceName, getName()));
         }
 
         private String messageName(int what) {
@@ -977,4 +979,8 @@
 
     class DhcpRebootingState extends LoggingState {
     }
+
+    private void logError(int errorCode) {
+        mMetricsLog.log(new DhcpErrorEvent(mIfaceName, errorCode));
+    }
 }
diff --git a/services/net/java/android/net/ip/IpManager.java b/services/net/java/android/net/ip/IpManager.java
index cece6c8..654ef18 100644
--- a/services/net/java/android/net/ip/IpManager.java
+++ b/services/net/java/android/net/ip/IpManager.java
@@ -31,6 +31,7 @@
 import android.net.RouteInfo;
 import android.net.StaticIpConfiguration;
 import android.net.dhcp.DhcpClient;
+import android.net.metrics.IpConnectivityLog;
 import android.net.metrics.IpManagerEvent;
 import android.os.INetworkManagementService;
 import android.os.Message;
@@ -393,6 +394,7 @@
     private final WakeupMessage mProvisioningTimeoutAlarm;
     private final WakeupMessage mDhcpActionTimeoutAlarm;
     private final LocalLog mLocalLog;
+    private final IpConnectivityLog mMetricsLog = new IpConnectivityLog();
 
     private NetworkInterface mNetworkInterface;
 
@@ -634,8 +636,8 @@
 
     private void recordMetric(final int type) {
         if (mStartTimeMillis <= 0) { Log.wtf(mTag, "Start time undefined!"); }
-        IpManagerEvent.logEvent(type, mInterfaceName,
-                SystemClock.elapsedRealtime() - mStartTimeMillis);
+        final long duration = SystemClock.elapsedRealtime() - mStartTimeMillis;
+        mMetricsLog.log(new IpManagerEvent(mInterfaceName, type, duration));
     }
 
     // For now: use WifiStateMachine's historical notion of provisioned.
@@ -916,12 +918,6 @@
             mDhcpClient = DhcpClient.makeDhcpClient(mContext, IpManager.this, mInterfaceName);
             mDhcpClient.registerForPreDhcpNotification();
             mDhcpClient.sendMessage(DhcpClient.CMD_START_DHCP);
-
-            if (mConfiguration.mProvisioningTimeoutMs > 0) {
-                final long alarmTime = SystemClock.elapsedRealtime() +
-                        mConfiguration.mProvisioningTimeoutMs;
-                mProvisioningTimeoutAlarm.schedule(alarmTime);
-            }
         }
 
         return true;
@@ -1041,11 +1037,24 @@
                 mCallback.setFallbackMulticastFilter(mMulticastFiltering);
             }
 
+            if (mConfiguration.mProvisioningTimeoutMs > 0) {
+                final long alarmTime = SystemClock.elapsedRealtime() +
+                        mConfiguration.mProvisioningTimeoutMs;
+                mProvisioningTimeoutAlarm.schedule(alarmTime);
+            }
+
             if (mConfiguration.mEnableIPv6) {
                 // TODO: Consider transitionTo(mStoppingState) if this fails.
                 startIPv6();
             }
 
+            if (mConfiguration.mEnableIPv4) {
+                if (!startIPv4()) {
+                    transitionTo(mStoppingState);
+                    return;
+                }
+            }
+
             if (mConfiguration.mUsingIpReachabilityMonitor) {
                 mIpReachabilityMonitor = new IpReachabilityMonitor(
                         mContext,
@@ -1057,12 +1066,6 @@
                             }
                         });
             }
-
-            if (mConfiguration.mEnableIPv4) {
-                if (!startIPv4()) {
-                    transitionTo(mStoppingState);
-                }
-            }
         }
 
         @Override
diff --git a/services/net/java/android/net/ip/IpReachabilityMonitor.java b/services/net/java/android/net/ip/IpReachabilityMonitor.java
index 27600a7..afb644f 100644
--- a/services/net/java/android/net/ip/IpReachabilityMonitor.java
+++ b/services/net/java/android/net/ip/IpReachabilityMonitor.java
@@ -24,6 +24,7 @@
 import android.net.LinkProperties.ProvisioningChange;
 import android.net.ProxyInfo;
 import android.net.RouteInfo;
+import android.net.metrics.IpConnectivityLog;
 import android.net.metrics.IpReachabilityEvent;
 import android.net.netlink.NetlinkConstants;
 import android.net.netlink.NetlinkErrorMessage;
@@ -151,6 +152,7 @@
     private final Callback mCallback;
     private final NetlinkSocketObserver mNetlinkSocketObserver;
     private final Thread mObserverThread;
+    private final IpConnectivityLog mMetricsLog = new IpConnectivityLog();
     @GuardedBy("mLock")
     private LinkProperties mLinkProperties = new LinkProperties();
     // TODO: consider a map to a private NeighborState class holding more
@@ -359,7 +361,6 @@
         }
 
         if (delta == ProvisioningChange.LOST_PROVISIONING) {
-            IpReachabilityEvent.logProvisioningLost(mInterfaceName);
             final String logMsg = "FAILURE: LOST_PROVISIONING, " + msg;
             Log.w(TAG, logMsg);
             if (mCallback != null) {
@@ -367,8 +368,9 @@
                 // an InetAddress argument.
                 mCallback.notifyLost(ip, logMsg);
             }
+            logEvent(IpReachabilityEvent.PROVISIONING_LOST, 0);
         } else {
-            IpReachabilityEvent.logNudFailed(mInterfaceName);
+            logEvent(IpReachabilityEvent.NUD_FAILED, 0);
         }
     }
 
@@ -393,7 +395,7 @@
                 break;
             }
             final int returnValue = probeNeighbor(mInterfaceIndex, target);
-            IpReachabilityEvent.logProbeEvent(mInterfaceName, returnValue);
+            logEvent(IpReachabilityEvent.PROBE, returnValue);
         }
     }
 
@@ -413,6 +415,11 @@
         return (numUnicastProbes * retransTimeMs) + gracePeriodMs;
     }
 
+    private void logEvent(int probeType, int errorCode) {
+        int eventType = probeType | (errorCode & 0xff );
+        mMetricsLog.log(new IpReachabilityEvent(mInterfaceName, eventType));
+    }
+
     // TODO: simplify the number of objects by making this extend Thread.
     private final class NetlinkSocketObserver implements Runnable {
         private NetlinkSocket mSocket;
diff --git a/services/print/java/com/android/server/print/UserState.java b/services/print/java/com/android/server/print/UserState.java
index 7a3ebf4..05301c1 100644
--- a/services/print/java/com/android/server/print/UserState.java
+++ b/services/print/java/com/android/server/print/UserState.java
@@ -764,9 +764,8 @@
 
     public void updateIfNeededLocked() {
         throwIfDestroyedLocked();
-        if (readConfigurationLocked()) {
-            onConfigurationChangedLocked();
-        }
+        readConfigurationLocked();
+        onConfigurationChangedLocked();
     }
 
     public void destroyLocked() {
@@ -841,14 +840,12 @@
         pw.println();
     }
 
-    private boolean readConfigurationLocked() {
-        boolean somethingChanged = false;
-        somethingChanged |= readInstalledPrintServicesLocked();
-        somethingChanged |= readDisabledPrintServicesLocked();
-        return somethingChanged;
+    private void readConfigurationLocked() {
+        readInstalledPrintServicesLocked();
+        readDisabledPrintServicesLocked();
     }
 
-    private boolean readInstalledPrintServicesLocked() {
+    private void readInstalledPrintServicesLocked() {
         Set<PrintServiceInfo> tempPrintServices = new HashSet<PrintServiceInfo>();
 
         List<ResolveInfo> installedServices = mContext.getPackageManager()
@@ -872,39 +869,8 @@
             tempPrintServices.add(PrintServiceInfo.create(installedService, mContext));
         }
 
-        boolean someServiceChanged = false;
-
-        if (tempPrintServices.size() != mInstalledServices.size()) {
-            someServiceChanged = true;
-        } else {
-            for (PrintServiceInfo newService: tempPrintServices) {
-                final int oldServiceIndex = mInstalledServices.indexOf(newService);
-                if (oldServiceIndex < 0) {
-                    someServiceChanged = true;
-                    break;
-                }
-                // PrintServiceInfo#equals compares only the id not all members,
-                // so we are also comparing the members coming from meta-data.
-                PrintServiceInfo oldService = mInstalledServices.get(oldServiceIndex);
-                if (!TextUtils.equals(oldService.getAddPrintersActivityName(),
-                            newService.getAddPrintersActivityName())
-                        || !TextUtils.equals(oldService.getAdvancedOptionsActivityName(),
-                                newService.getAdvancedOptionsActivityName())
-                        || !TextUtils.equals(oldService.getSettingsActivityName(),
-                                newService.getSettingsActivityName())) {
-                    someServiceChanged = true;
-                    break;
-                }
-            }
-        }
-
-        if (someServiceChanged) {
-            mInstalledServices.clear();
-            mInstalledServices.addAll(tempPrintServices);
-            return true;
-        }
-
-        return false;
+        mInstalledServices.clear();
+        mInstalledServices.addAll(tempPrintServices);
     }
 
     /**
@@ -944,16 +910,14 @@
      *
      * @return true if the state changed.
      */
-    private boolean readDisabledPrintServicesLocked() {
+    private void readDisabledPrintServicesLocked() {
         Set<ComponentName> tempDisabledServiceNameSet = new HashSet<ComponentName>();
         readPrintServicesFromSettingLocked(Settings.Secure.DISABLED_PRINT_SERVICES,
                 tempDisabledServiceNameSet);
         if (!tempDisabledServiceNameSet.equals(mDisabledServices)) {
             mDisabledServices.clear();
             mDisabledServices.addAll(tempDisabledServiceNameSet);
-            return true;
         }
-        return false;
     }
 
     private void readPrintServicesFromSettingLocked(String setting,
diff --git a/services/retaildemo/Android.mk b/services/retaildemo/Android.mk
new file mode 100644
index 0000000..670c6bf
--- /dev/null
+++ b/services/retaildemo/Android.mk
@@ -0,0 +1,12 @@
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := services.retaildemo
+
+LOCAL_SRC_FILES += \
+      $(call all-java-files-under,java)
+
+LOCAL_JAVA_LIBRARIES := services.core
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java b/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java
new file mode 100644
index 0000000..a4d4013
--- /dev/null
+++ b/services/retaildemo/java/com/android/server/retaildemo/RetailDemoModeService.java
@@ -0,0 +1,464 @@
+/*
+ * 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
+ */
+
+package com.android.server.retaildemo;
+
+import android.app.ActivityManagerInternal;
+import android.app.ActivityManagerNative;
+import android.app.AppGlobals;
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.app.RetailDemoModeServiceInternal;
+import android.content.BroadcastReceiver;
+import android.content.ComponentName;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.pm.IPackageManager;
+import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
+import android.content.res.Configuration;
+import android.database.ContentObserver;
+import android.hardware.camera2.CameraAccessException;
+import android.hardware.camera2.CameraCharacteristics;
+import android.hardware.camera2.CameraManager;
+import android.media.AudioManager;
+import android.media.AudioSystem;
+import android.net.Uri;
+import android.os.Environment;
+import android.os.FileUtils;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+import android.os.PowerManager;
+import android.os.RemoteException;
+import android.os.SystemClock;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.provider.Settings;
+import android.util.Slog;
+import com.android.internal.os.BackgroundThread;
+import com.android.internal.R;
+import com.android.internal.annotations.GuardedBy;
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.widget.LockPatternUtils;
+import com.android.server.LocalServices;
+import com.android.server.ServiceThread;
+import com.android.server.SystemService;
+import com.android.server.am.ActivityManagerService;
+import com.android.server.retaildemo.UserInactivityCountdownDialog.OnCountDownExpiredListener;
+
+import java.io.File;
+import java.util.ArrayList;
+
+public class RetailDemoModeService extends SystemService {
+    private static final boolean DEBUG = false;
+
+    private static final String TAG = RetailDemoModeService.class.getSimpleName();
+    private static final String DEMO_USER_NAME = "Demo";
+    private static final String ACTION_RESET_DEMO = "com.android.server.am.ACTION_RESET_DEMO";
+
+    private static final int MSG_TURN_SCREEN_ON = 0;
+    private static final int MSG_INACTIVITY_TIME_OUT = 1;
+    private static final int MSG_START_NEW_SESSION = 2;
+
+    private static final long SCREEN_WAKEUP_DELAY = 2500;
+    private static final long USER_INACTIVITY_TIMEOUT = 30000;
+    private static final long WARNING_DIALOG_TIMEOUT = 6000;
+    private static final long MILLIS_PER_SECOND = 1000;
+
+    private static final int[] VOLUME_STREAMS_TO_MUTE = {
+            AudioSystem.STREAM_RING,
+            AudioSystem.STREAM_MUSIC
+    };
+
+    // Tron Vars
+    private static final String DEMO_SESSION_COUNT = "retail_demo_session_count";
+    private static final String DEMO_SESSION_DURATION = "retail_demo_session_duration";
+
+    boolean mDeviceInDemoMode = false;
+    int mCurrentUserId = UserHandle.USER_SYSTEM;
+    private ActivityManagerService mAms;
+    private ActivityManagerInternal mAmi;
+    private AudioManager mAudioManager;
+    private NotificationManager mNm;
+    private UserManager mUm;
+    private PowerManager mPm;
+    private PowerManager.WakeLock mWakeLock;
+    Handler mHandler;
+    private ServiceThread mHandlerThread;
+    private PendingIntent mResetDemoPendingIntent;
+    private CameraManager mCameraManager;
+    private String[] mCameraIdsWithFlash;
+    private Configuration mSystemUserConfiguration;
+
+    final Object mActivityLock = new Object();
+    // Whether the newly created demo user has interacted with the screen yet
+    @GuardedBy("mActivityLock")
+    boolean mUserUntouched;
+    @GuardedBy("mActivityLock")
+    long mFirstUserActivityTime;
+    @GuardedBy("mActivityLock")
+    long mLastUserActivityTime;
+
+    private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (!mDeviceInDemoMode) {
+                return;
+            }
+            switch (intent.getAction()) {
+                case Intent.ACTION_SCREEN_OFF:
+                    mHandler.removeMessages(MSG_TURN_SCREEN_ON);
+                    mHandler.sendEmptyMessageDelayed(MSG_TURN_SCREEN_ON, SCREEN_WAKEUP_DELAY);
+                    break;
+                case ACTION_RESET_DEMO:
+                    mHandler.sendEmptyMessage(MSG_START_NEW_SESSION);
+                    break;
+            }
+        }
+    };
+
+    final class MainHandler extends Handler {
+
+        MainHandler(Looper looper) {
+            super(looper, null, true);
+        }
+
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case MSG_TURN_SCREEN_ON:
+                    if (mWakeLock.isHeld()) {
+                        mWakeLock.release();
+                    }
+                    mWakeLock.acquire();
+                    break;
+                case MSG_INACTIVITY_TIME_OUT:
+                    if (isDemoLauncherDisabled()) {
+                        Slog.i(TAG, "User inactivity timeout reached");
+                        showInactivityCountdownDialog();
+                    }
+                    break;
+                case MSG_START_NEW_SESSION:
+                    if (DEBUG) {
+                        Slog.d(TAG, "Switching to a new demo user");
+                    }
+                    removeMessages(MSG_START_NEW_SESSION);
+                    removeMessages(MSG_INACTIVITY_TIME_OUT);
+                    if (mCurrentUserId != UserHandle.USER_SYSTEM) {
+                        logSessionDuration();
+                    }
+                    final UserInfo demoUser = getUserManager().createUser(DEMO_USER_NAME,
+                            UserInfo.FLAG_DEMO | UserInfo.FLAG_EPHEMERAL);
+                    if (demoUser != null) {
+                        setupDemoUser(demoUser);
+                        getActivityManager().switchUser(demoUser.id);
+                    }
+                    break;
+            }
+        }
+    }
+
+    private void showInactivityCountdownDialog() {
+        UserInactivityCountdownDialog dialog = new UserInactivityCountdownDialog(getContext(),
+                WARNING_DIALOG_TIMEOUT, MILLIS_PER_SECOND);
+        dialog.setNegativeButtonClickListener(null);
+        dialog.setPositiveButtonClickListener(new DialogInterface.OnClickListener() {
+            @Override
+            public void onClick(DialogInterface dialog, int which) {
+                mHandler.sendEmptyMessage(MSG_START_NEW_SESSION);
+            }
+        });
+        dialog.setOnCountDownExpiredListener(new OnCountDownExpiredListener() {
+            @Override
+            public void onCountDownExpired() {
+                mHandler.sendEmptyMessage(MSG_START_NEW_SESSION);
+            }
+        });
+        dialog.show();
+    }
+
+    public RetailDemoModeService(Context context) {
+        super(context);
+        synchronized (mActivityLock) {
+            mFirstUserActivityTime = mLastUserActivityTime = SystemClock.uptimeMillis();
+        }
+    }
+
+    private Notification createResetNotification() {
+        return new Notification.Builder(getContext())
+                .setContentTitle(getContext().getString(R.string.reset_retail_demo_mode_title))
+                .setContentText(getContext().getString(R.string.reset_retail_demo_mode_text))
+                .setOngoing(true)
+                .setSmallIcon(R.drawable.platlogo)
+                .setShowWhen(false)
+                .setVisibility(Notification.VISIBILITY_PUBLIC)
+                .setContentIntent(getResetDemoPendingIntent())
+                .setColor(getContext().getColor(R.color.system_notification_accent_color))
+                .build();
+    }
+
+    private PendingIntent getResetDemoPendingIntent() {
+        if (mResetDemoPendingIntent == null) {
+            Intent intent = new Intent(ACTION_RESET_DEMO);
+            mResetDemoPendingIntent = PendingIntent.getBroadcast(getContext(), 0, intent, 0);
+        }
+        return mResetDemoPendingIntent;
+    }
+
+    boolean isDemoLauncherDisabled() {
+        IPackageManager pm = AppGlobals.getPackageManager();
+        int enabledState = PackageManager.COMPONENT_ENABLED_STATE_DEFAULT;
+        String demoLauncherComponent = getContext().getResources()
+                .getString(R.string.config_demoModeLauncherComponent);
+        try {
+            enabledState = pm.getComponentEnabledSetting(
+                    ComponentName.unflattenFromString(demoLauncherComponent),
+                    mCurrentUserId);
+        } catch (RemoteException exc) {
+            Slog.e(TAG, "Unable to talk to Package Manager", exc);
+        }
+        return enabledState == PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
+    }
+
+    private void setupDemoUser(UserInfo userInfo) {
+        UserManager um = getUserManager();
+        UserHandle user = UserHandle.of(userInfo.id);
+        LockPatternUtils lockPatternUtils = new LockPatternUtils(getContext());
+        lockPatternUtils.setLockScreenDisabled(true, userInfo.id);
+        um.setUserRestriction(UserManager.DISALLOW_CONFIG_WIFI, true, user);
+        um.setUserRestriction(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES, true, user);
+        um.setUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS, true, user);
+        um.setUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER, true, user);
+        um.setUserRestriction(UserManager.DISALLOW_MODIFY_ACCOUNTS, true, user);
+        Settings.Secure.putIntForUser(getContext().getContentResolver(),
+                Settings.Secure.SKIP_FIRST_USE_HINTS, 1, userInfo.id);
+    }
+
+    void logSessionDuration() {
+        final int sessionDuration;
+        synchronized (mActivityLock) {
+            sessionDuration = (int) ((mLastUserActivityTime - mFirstUserActivityTime) / 1000);
+        }
+        MetricsLogger.count(getContext(), DEMO_SESSION_DURATION, sessionDuration);
+    }
+
+    private ActivityManagerService getActivityManager() {
+        if (mAms == null) {
+            mAms = (ActivityManagerService) ActivityManagerNative.getDefault();
+        }
+        return mAms;
+    }
+
+    private UserManager getUserManager() {
+        if (mUm == null) {
+            mUm = getContext().getSystemService(UserManager.class);
+        }
+        return mUm;
+    }
+
+    private AudioManager getAudioManager() {
+        if (mAudioManager == null) {
+            mAudioManager = getContext().getSystemService(AudioManager.class);
+        }
+        return mAudioManager;
+    }
+
+    private void registerSettingsChangeObserver() {
+        final Uri deviceDemoModeUri = Settings.Global.getUriFor(Settings.Global.DEVICE_DEMO_MODE);
+        final Uri deviceProvisionedUri = Settings.Global.getUriFor(
+                Settings.Global.DEVICE_PROVISIONED);
+        final ContentResolver cr = getContext().getContentResolver();
+        final ContentObserver deviceDemoModeSettingObserver = new ContentObserver(mHandler) {
+            @Override
+            public void onChange(boolean selfChange, Uri uri, int userId) {
+                if (deviceDemoModeUri.equals(uri)) {
+                    mDeviceInDemoMode = UserManager.isDeviceInDemoMode(getContext());
+                    if (mDeviceInDemoMode) {
+                        mHandler.sendEmptyMessage(MSG_START_NEW_SESSION);
+                    } else if (mWakeLock.isHeld()) {
+                        mWakeLock.release();
+                    }
+                }
+                // If device is provisioned and left demo mode - run the cleanup in demo folder
+                if (!mDeviceInDemoMode && isDeviceProvisioned()) {
+                    // Run on the bg thread to not block the fg thread
+                    BackgroundThread.getHandler().post(new Runnable() {
+                        @Override
+                        public void run() {
+                            if (!deleteDemoFolderContents()) {
+                                Slog.w(TAG, "Failed to delete demo folder contents");
+                            }
+                        }
+                    });
+                }
+            }
+        };
+        cr.registerContentObserver(deviceDemoModeUri, false, deviceDemoModeSettingObserver,
+                UserHandle.USER_SYSTEM);
+        cr.registerContentObserver(deviceProvisionedUri, false, deviceDemoModeSettingObserver,
+                UserHandle.USER_SYSTEM);
+    }
+
+    private boolean isDeviceProvisioned() {
+        return Settings.Global.getInt(
+                getContext().getContentResolver(), Settings.Global.DEVICE_PROVISIONED, 0) != 0;
+    }
+
+    private boolean deleteDemoFolderContents() {
+        final File dir = Environment.getDataPreloadsDemoDirectory();
+        Slog.i(TAG, "Deleting contents of " + dir);
+        return FileUtils.deleteContents(dir);
+    }
+
+    private void registerBroadcastReceiver() {
+        final IntentFilter filter = new IntentFilter();
+        filter.addAction(Intent.ACTION_SCREEN_OFF);
+        filter.addAction(ACTION_RESET_DEMO);
+        getContext().registerReceiver(mBroadcastReceiver, filter);
+    }
+
+    private String[] getCameraIdsWithFlash() {
+        ArrayList<String> cameraIdsList = new ArrayList<String>();
+        try {
+            for (String cameraId : mCameraManager.getCameraIdList()) {
+                CameraCharacteristics c = mCameraManager.getCameraCharacteristics(cameraId);
+                if (Boolean.TRUE.equals(c.get(CameraCharacteristics.FLASH_INFO_AVAILABLE))) {
+                    cameraIdsList.add(cameraId);
+                }
+            }
+        } catch (CameraAccessException e) {
+            Slog.e(TAG, "Unable to access camera while getting camera id list", e);
+        }
+        return cameraIdsList.toArray(new String[cameraIdsList.size()]);
+    }
+
+    private void turnOffAllFlashLights() {
+        for (String cameraId : mCameraIdsWithFlash) {
+            try {
+                mCameraManager.setTorchMode(cameraId, false);
+            } catch (CameraAccessException e) {
+                Slog.e(TAG, "Unable to access camera " + cameraId + " while turning off flash", e);
+            }
+        }
+    }
+
+    private void muteVolumeStreams() {
+        for (int stream : VOLUME_STREAMS_TO_MUTE) {
+            getAudioManager().setStreamVolume(stream, getAudioManager().getStreamMinVolume(stream),
+                    0);
+        }
+    }
+
+    private Configuration getSystemUsersConfiguration() {
+        if (mSystemUserConfiguration == null) {
+            Settings.System.getConfiguration(getContext().getContentResolver(),
+                    mSystemUserConfiguration = new Configuration());
+        }
+        return mSystemUserConfiguration;
+    }
+
+    @Override
+    public void onStart() {
+        if (DEBUG) {
+            Slog.d(TAG, "Service starting up");
+        }
+        mHandlerThread = new ServiceThread(TAG, android.os.Process.THREAD_PRIORITY_FOREGROUND,
+                false);
+        mHandlerThread.start();
+        mHandler = new MainHandler(mHandlerThread.getLooper());
+        publishLocalService(RetailDemoModeServiceInternal.class, mLocalService);
+    }
+
+    @Override
+    public void onBootPhase(int bootPhase) {
+        if (bootPhase != PHASE_THIRD_PARTY_APPS_CAN_START) {
+            return;
+        }
+        mPm = (PowerManager) getContext().getSystemService(Context.POWER_SERVICE);
+        mAmi = LocalServices.getService(ActivityManagerInternal.class);
+        mWakeLock = mPm
+                .newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, TAG);
+        mNm = NotificationManager.from(getContext());
+        mCameraManager = (CameraManager) getContext().getSystemService(Context.CAMERA_SERVICE);
+        mCameraIdsWithFlash = getCameraIdsWithFlash();
+
+        if (UserManager.isDeviceInDemoMode(getContext())) {
+            mDeviceInDemoMode = true;
+            mHandler.sendEmptyMessage(MSG_START_NEW_SESSION);
+        }
+        registerSettingsChangeObserver();
+        registerBroadcastReceiver();
+    }
+
+    @Override
+    public void onSwitchUser(int userId) {
+        if (!mDeviceInDemoMode) {
+            return;
+        }
+        if (DEBUG) {
+            Slog.d(TAG, "onSwitchUser: " + userId);
+        }
+        final UserInfo ui = getUserManager().getUserInfo(userId);
+        if (!ui.isDemo()) {
+            Slog.wtf(TAG, "Should not allow switch to non-demo user in demo mode");
+            return;
+        }
+        if (!mWakeLock.isHeld()) {
+            mWakeLock.acquire();
+        }
+        mCurrentUserId = userId;
+        mAmi.updatePersistentConfigurationForUser(getSystemUsersConfiguration(), userId);
+        turnOffAllFlashLights();
+        muteVolumeStreams();
+        mNm.notifyAsUser(TAG, 1, createResetNotification(), UserHandle.of(userId));
+
+        synchronized (mActivityLock) {
+            mUserUntouched = true;
+        }
+        MetricsLogger.count(getContext(), DEMO_SESSION_COUNT, 1);
+        mHandler.removeMessages(MSG_INACTIVITY_TIME_OUT);
+    }
+
+    private RetailDemoModeServiceInternal mLocalService = new RetailDemoModeServiceInternal() {
+        private static final long USER_ACTIVITY_DEBOUNCE_TIME = 2000;
+
+        @Override
+        public void onUserActivity() {
+            if (!mDeviceInDemoMode) {
+                return;
+            }
+            long timeOfActivity = SystemClock.uptimeMillis();
+            synchronized (mActivityLock) {
+                if (timeOfActivity < mLastUserActivityTime + USER_ACTIVITY_DEBOUNCE_TIME) {
+                    return;
+                }
+                mLastUserActivityTime = timeOfActivity;
+                if (mUserUntouched && isDemoLauncherDisabled()) {
+                    Slog.d(TAG, "retail_demo first touch");
+                    mUserUntouched = false;
+                    mFirstUserActivityTime = timeOfActivity;
+                }
+            }
+            mHandler.removeMessages(MSG_INACTIVITY_TIME_OUT);
+            mHandler.sendEmptyMessageDelayed(MSG_INACTIVITY_TIME_OUT, USER_INACTIVITY_TIMEOUT);
+        }
+    };
+}
diff --git a/services/retaildemo/java/com/android/server/retaildemo/UserInactivityCountdownDialog.java b/services/retaildemo/java/com/android/server/retaildemo/UserInactivityCountdownDialog.java
new file mode 100644
index 0000000..d14f4eb
--- /dev/null
+++ b/services/retaildemo/java/com/android/server/retaildemo/UserInactivityCountdownDialog.java
@@ -0,0 +1,105 @@
+/*
+ * 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
+ */
+
+package com.android.server.retaildemo;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.content.Context;
+import android.os.CountDownTimer;
+import android.view.WindowManager;
+import android.widget.TextView;
+
+import com.android.internal.R;
+
+public class UserInactivityCountdownDialog extends AlertDialog {
+
+    private OnCountDownExpiredListener mOnCountDownExpiredListener;
+    private CountDownTimer mCountDownTimer;
+    private long mCountDownDuration;
+    private long mRefreshInterval;
+
+    UserInactivityCountdownDialog(Context context, long duration, long refreshInterval) {
+        super(context);
+        mCountDownDuration = duration;
+        mRefreshInterval = refreshInterval;
+
+        getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ERROR);
+        WindowManager.LayoutParams attrs = getWindow().getAttributes();
+        attrs.privateFlags = WindowManager.LayoutParams.PRIVATE_FLAG_SHOW_FOR_ALL_USERS;
+        getWindow().setAttributes(attrs);
+
+        setTitle(R.string.demo_user_inactivity_timeout_title);
+        setMessage(getContext().getString(R.string.demo_user_inactivity_timeout_countdown,
+                duration));
+    }
+
+    public void setOnCountDownExpiredListener(
+            OnCountDownExpiredListener onCountDownExpiredListener) {
+        mOnCountDownExpiredListener = onCountDownExpiredListener;
+    }
+
+    public void setPositiveButtonClickListener(OnClickListener onClickListener) {
+        setButton(Dialog.BUTTON_POSITIVE,
+                getContext().getString(R.string.demo_user_inactivity_timeout_right_button),
+                onClickListener);
+    }
+
+    public void setNegativeButtonClickListener(OnClickListener onClickListener) {
+        setButton(Dialog.BUTTON_NEGATIVE,
+                getContext().getString(R.string.demo_user_inactivity_timeout_left_button),
+                onClickListener);
+    }
+
+    @Override
+    public void show() {
+        super.show();
+        final TextView messageView = (TextView) findViewById(R.id.message);
+        messageView.post(new Runnable() {
+            @Override
+            public void run() {
+                mCountDownTimer = new CountDownTimer(mCountDownDuration, mRefreshInterval) {
+
+                    @Override
+                    public void onTick(long millisUntilFinished) {
+                        String msg = getContext().getString(
+                                R.string.demo_user_inactivity_timeout_countdown,
+                                millisUntilFinished / 1000);
+                        messageView.setText(msg);
+                    }
+
+                    @Override
+                    public void onFinish() {
+                        dismiss();
+                        if (mOnCountDownExpiredListener != null)
+                            mOnCountDownExpiredListener.onCountDownExpired();
+                    }
+                }.start();
+            }
+        });
+    }
+
+    @Override
+    public void onStop() {
+        if (mCountDownTimer != null) {
+            mCountDownTimer.cancel();
+        }
+    }
+
+    interface OnCountDownExpiredListener {
+        void onCountDownExpired();
+    }
+}
diff --git a/services/tests/servicestests/Android.mk b/services/tests/servicestests/Android.mk
index 59c6970..50e0662 100644
--- a/services/tests/servicestests/Android.mk
+++ b/services/tests/servicestests/Android.mk
@@ -12,6 +12,7 @@
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 
 LOCAL_STATIC_JAVA_LIBRARIES := \
+    frameworks-base-testutils \
     services.core \
     services.devicepolicy \
     services.net \
diff --git a/services/tests/servicestests/AndroidManifest.xml b/services/tests/servicestests/AndroidManifest.xml
index 7017d81..b8ace28 100644
--- a/services/tests/servicestests/AndroidManifest.xml
+++ b/services/tests/servicestests/AndroidManifest.xml
@@ -108,9 +108,53 @@
         <service android:name="com.android.server.job.MockPriorityJobService"
                  android:permission="android.permission.BIND_JOB_SERVICE" />
 
-        <activity android:name="com.android.server.pm.ShortcutManagerTest$ShortcutActivity" />
-        <activity android:name="com.android.server.pm.ShortcutManagerTest$ShortcutActivity2" />
-        <activity android:name="com.android.server.pm.ShortcutManagerTest$ShortcutActivity3" />
+        <activity android:name="com.android.server.pm.BaseShortcutManagerTest$ShortcutActivity" />
+        <activity android:name="com.android.server.pm.BaseShortcutManagerTest$ShortcutActivity2" />
+        <activity android:name="com.android.server.pm.BaseShortcutManagerTest$ShortcutActivity3" />
+
+        <activity android:name="com.android.server.pm.ShortcutTestActivity"
+            android:enabled="true" android:exported="true" />
+
+        <activity-alias android:name="a.ShortcutEnabled"
+            android:targetActivity="com.android.server.pm.ShortcutTestActivity"
+            android:enabled="true" android:exported="true">
+        </activity-alias>
+        <activity-alias android:name="a.ShortcutDisabled"
+            android:targetActivity="com.android.server.pm.ShortcutTestActivity"
+            android:enabled="false" android:exported="true">
+            <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcut_5"/>
+        </activity-alias>
+        <activity-alias android:name="a.ShortcutUnexported"
+            android:targetActivity="com.android.server.pm.ShortcutTestActivity"
+            android:enabled="true" android:exported="false">
+            <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcut_5"/>
+        </activity-alias>
+        <activity-alias android:name="a.Shortcut1"
+            android:targetActivity="com.android.server.pm.ShortcutTestActivity"
+            android:enabled="true" android:exported="true">
+            <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcut_1"/>
+        </activity-alias>
+
+        <activity-alias android:name="a.DisabledMain"
+            android:targetActivity="com.android.server.pm.ShortcutTestActivity"
+            android:enabled="false" android:exported="true">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity-alias>
+
+        <activity-alias android:name="a.UnexportedMain"
+            android:targetActivity="com.android.server.pm.ShortcutTestActivity"
+            android:enabled="true" android:exported="false">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity-alias>
+
     </application>
 
     <instrumentation
diff --git a/services/tests/servicestests/res/drawable/icon3.png b/services/tests/servicestests/res/drawable/icon3.png
new file mode 100644
index 0000000..64eb294
--- /dev/null
+++ b/services/tests/servicestests/res/drawable/icon3.png
Binary files differ
diff --git a/services/tests/servicestests/res/xml/shortcut_1.xml b/services/tests/servicestests/res/xml/shortcut_1.xml
index f6d54fc..e3f9172 100644
--- a/services/tests/servicestests/res/xml/shortcut_1.xml
+++ b/services/tests/servicestests/res/xml/shortcut_1.xml
@@ -2,12 +2,17 @@
     <shortcut
         android:shortcutId="ms1"
         android:enabled="true"
-        android:shortcutIcon="@drawable/icon1"
+        android:icon="@drawable/icon1"
         android:shortcutShortLabel="@string/shortcut_title1"
         android:shortcutLongLabel="@string/shortcut_text1"
         android:shortcutDisabledMessage="@string/shortcut_disabled_message1"
-        android:shortcutCategories="android.shortcut.conversation:android.shortcut.media"
-        android:shortcutIntentAction="action1"
-        android:shortcutIntentData="data1"
-    />
+        >
+        <intent
+            android:action="action1"
+            android:data="data1"
+            >
+        </intent>
+        <categories android:name="android.shortcut.conversation" />
+        <categories android:name="android.shortcut.media" />
+    </shortcut>
 </shortcuts>
diff --git a/services/tests/servicestests/res/xml/shortcut_1_alt.xml b/services/tests/servicestests/res/xml/shortcut_1_alt.xml
index bf14f49..2d5e8e7 100644
--- a/services/tests/servicestests/res/xml/shortcut_1_alt.xml
+++ b/services/tests/servicestests/res/xml/shortcut_1_alt.xml
@@ -17,12 +17,17 @@
     <shortcut
         android:shortcutId="ms1-alt"
         android:enabled="true"
-        android:shortcutIcon="@drawable/icon1"
+        android:icon="@drawable/icon1"
         android:shortcutShortLabel="@string/shortcut_title1"
         android:shortcutLongLabel="@string/shortcut_text1"
         android:shortcutDisabledMessage="@string/shortcut_disabled_message1"
-        android:shortcutCategories="android.shortcut.conversation:android.shortcut.media"
-        android:shortcutIntentAction="action1"
-        android:shortcutIntentData="data1"
-    />
+        >
+        <intent
+            android:action="action1"
+            android:data="data1"
+        >
+        </intent>
+        <categories android:name="android.shortcut.conversation" />
+        <categories android:name="android.shortcut.media" />
+    </shortcut>
 </shortcuts>
diff --git a/services/tests/servicestests/res/xml/shortcut_1_disable.xml b/services/tests/servicestests/res/xml/shortcut_1_disable.xml
index 81a84b4..e3ee3a0 100644
--- a/services/tests/servicestests/res/xml/shortcut_1_disable.xml
+++ b/services/tests/servicestests/res/xml/shortcut_1_disable.xml
@@ -17,7 +17,7 @@
     <shortcut
         android:shortcutId="ms1"
         android:enabled="false"
-        android:shortcutIcon="@drawable/icon2"
+        android:icon="@drawable/icon2"
         android:shortcutShortLabel="@string/shortcut_title2"
         android:shortcutLongLabel="@string/shortcut_text2"
         android:shortcutDisabledMessage="@string/shortcut_disabled_message2"
diff --git a/services/tests/servicestests/res/xml/shortcut_2.xml b/services/tests/servicestests/res/xml/shortcut_2.xml
index 96ed382..f7ea803 100644
--- a/services/tests/servicestests/res/xml/shortcut_2.xml
+++ b/services/tests/servicestests/res/xml/shortcut_2.xml
@@ -17,23 +17,32 @@
     <shortcut
         android:shortcutId="ms1"
         android:enabled="true"
-        android:shortcutIcon="@drawable/icon1"
+        android:icon="@drawable/icon1"
         android:shortcutShortLabel="@string/shortcut_title1"
         android:shortcutLongLabel="@string/shortcut_text1"
         android:shortcutDisabledMessage="@string/shortcut_disabled_message1"
-        android:shortcutCategories="android.shortcut.conversation:android.shortcut.media"
-        android:shortcutIntentAction="action1"
-        android:shortcutIntentData="http://a.b.c/"
-    />
+        >
+        <intent
+            android:action="action1"
+            android:data="http://a.b.c/"
+            >
+        </intent>
+        <categories android:name="android.shortcut.conversation" />
+        <categories android:name="android.shortcut.media" />
+    </shortcut>
     <shortcut
         android:shortcutId="ms2"
         android:enabled="true"
-        android:shortcutIcon="@drawable/icon2"
+        android:icon="@drawable/icon2"
         android:shortcutShortLabel="@string/shortcut_title2"
         android:shortcutLongLabel="@string/shortcut_text2"
         android:shortcutDisabledMessage="@string/shortcut_disabled_message2"
-        android:shortcutCategories="android.shortcut.conversation"
-        android:shortcutIntentAction="action2"
-        android:shortcutIntentData="http://a.b.c/2"
-    />
+        >
+        <intent
+            android:action="action2"
+            android:data="http://a.b.c/2"
+            >
+        </intent>
+        <categories android:name="android.shortcut.conversation" />
+    </shortcut>
 </shortcuts>
diff --git a/services/tests/servicestests/res/xml/shortcut_2_duplicate.xml b/services/tests/servicestests/res/xml/shortcut_2_duplicate.xml
index 2f814b7..b00ec60 100644
--- a/services/tests/servicestests/res/xml/shortcut_2_duplicate.xml
+++ b/services/tests/servicestests/res/xml/shortcut_2_duplicate.xml
@@ -17,11 +17,19 @@
     <shortcut
         android:shortcutId="ms1"
         android:shortcutShortLabel="@string/shortcut_title1"
-        android:shortcutIntentAction="action1"
-    />
+        >
+        <intent
+            android:action="action1"
+            >
+        </intent>
+    </shortcut>
     <shortcut
         android:shortcutId="ms1"
         android:shortcutShortLabel="@string/shortcut_title2"
-        android:shortcutIntentAction="action2"
-    />
+        >
+        <intent
+            android:action="action2"
+            >
+        </intent>
+    </shortcut>
 </shortcuts>
diff --git a/services/tests/servicestests/res/xml/shortcut_3.xml b/services/tests/servicestests/res/xml/shortcut_3.xml
new file mode 100644
index 0000000..432ca49
--- /dev/null
+++ b/services/tests/servicestests/res/xml/shortcut_3.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<shortcuts xmlns:android="http://schemas.android.com/apk/res/android" >
+    <shortcut
+        android:shortcutId="ms1"
+        android:enabled="true"
+        android:icon="@drawable/icon1"
+        android:shortcutShortLabel="@string/shortcut_title1"
+        android:shortcutLongLabel="@string/shortcut_text1"
+        android:shortcutDisabledMessage="@string/shortcut_disabled_message1"
+        >
+        <intent
+            android:action="action1"
+            android:data="http://a.b.c/"
+            >
+        </intent>
+        <categories android:name="android.shortcut.conversation" />
+        <categories android:name="android.shortcut.media" />
+    </shortcut>
+    <shortcut
+        android:shortcutId="ms2"
+        android:enabled="true"
+        android:icon="@drawable/icon2"
+        android:shortcutShortLabel="@string/shortcut_title2"
+        android:shortcutLongLabel="@string/shortcut_text2"
+        android:shortcutDisabledMessage="@string/shortcut_disabled_message2"
+        >
+        <intent
+            android:action="action2"
+            android:data="http://a.b.c/2"
+            >
+        </intent>
+        <categories android:name="android.shortcut.conversation" />
+    </shortcut>
+    <shortcut
+        android:shortcutId="ms3"
+        android:enabled="true"
+        android:icon="@drawable/icon3"
+        android:shortcutShortLabel="@string/shortcut_title2"
+        >
+        <intent android:action="action3" />
+    </shortcut>
+</shortcuts>
diff --git a/services/tests/servicestests/res/xml/shortcut_5.xml b/services/tests/servicestests/res/xml/shortcut_5.xml
index 56dba0e..9551100 100644
--- a/services/tests/servicestests/res/xml/shortcut_5.xml
+++ b/services/tests/servicestests/res/xml/shortcut_5.xml
@@ -17,37 +17,69 @@
     <shortcut
         android:shortcutId="ms1"
         android:enabled="true"
-        android:shortcutIcon="@drawable/icon1"
+        android:icon="@drawable/icon1"
         android:shortcutShortLabel="@string/shortcut_title1"
         android:shortcutLongLabel="@string/shortcut_text1"
         android:shortcutDisabledMessage="@string/shortcut_disabled_message1"
-        android:shortcutCategories="android.shortcut.conversation:android.shortcut.media"
-        android:shortcutIntentAction="action1"
-        android:shortcutIntentData="http://a.b.c/1"
-    />
+        >
+        <intent
+            android:action="action1"
+            android:data="http://a.b.c/1"
+            >
+        </intent>
+        <categories android:name="android.shortcut.conversation" />
+        <categories android:name="android.shortcut.media" />
+    </shortcut>
     <shortcut
         android:shortcutId="ms2"
         android:enabled="true"
-        android:shortcutIcon="@drawable/icon2"
+        android:icon="@drawable/icon2"
         android:shortcutShortLabel="@string/shortcut_title2"
         android:shortcutLongLabel="@string/shortcut_text2"
         android:shortcutDisabledMessage="@string/shortcut_disabled_message2"
-        android:shortcutCategories="android.shortcut.conversation"
-        android:shortcutIntentAction="action2"
-    />
+        >
+        <intent
+            android:action="action2"
+            >
+        </intent>
+        <categories android:name="android.shortcut.conversation" />
+    </shortcut>
     <shortcut
         android:shortcutId="ms3"
         android:shortcutShortLabel="@string/shortcut_title1"
-        android:shortcutIntentAction="android.intent.action.VIEW"
-    />
+        >
+        <intent
+            android:action="android.intent.action.VIEW"
+            >
+        </intent>
+    </shortcut>
     <shortcut
         android:shortcutId="ms4"
-        android:shortcutShortLabel="@string/shortcut_title1"
-        android:shortcutIntentAction="android.intent.action.VIEW"
-    />
+        android:shortcutShortLabel="@string/shortcut_title2"
+        >
+        <intent
+            android:action="android.intent.action.VIEW2"
+            >
+        </intent>
+        <categories />
+        <categories android:name="" />
+        <categories android:name="cat" />
+    </shortcut>
     <shortcut
         android:shortcutId="ms5"
         android:shortcutShortLabel="@string/shortcut_title1"
-        android:shortcutIntentAction="android.intent.action.VIEW"
-    />
+        >
+        <intent
+            android:action="action"
+            android:data="http://www/"
+            android:targetPackage="abc"
+            android:targetClass=".xyz"
+            android:mimeType="foo/bar"
+            >
+            <categories android:name="cat1" />
+            <categories android:name="cat2" />
+            <extra android:name="key1" android:value="value1" />
+            <extra android:name="key2" android:value="value2" />
+        </intent>
+    </shortcut>
 </shortcuts>
diff --git a/services/tests/servicestests/res/xml/shortcut_5_alt.xml b/services/tests/servicestests/res/xml/shortcut_5_alt.xml
index 74085d9..f79cd6f 100644
--- a/services/tests/servicestests/res/xml/shortcut_5_alt.xml
+++ b/services/tests/servicestests/res/xml/shortcut_5_alt.xml
@@ -17,37 +17,58 @@
     <shortcut
         android:shortcutId="ms1_alt"
         android:enabled="true"
-        android:shortcutIcon="@drawable/icon1"
+        android:icon="@drawable/icon1"
         android:shortcutShortLabel="@string/shortcut_title1"
         android:shortcutLongLabel="@string/shortcut_text1"
         android:shortcutDisabledMessage="@string/shortcut_disabled_message1"
-        android:shortcutCategories="android.shortcut.conversation:android.shortcut.media"
-        android:shortcutIntentAction="action1"
-        android:shortcutIntentData="http://a.b.c/1"
-    />
+        >
+        <intent
+            android:action="action1"
+            android:data="http://a.b.c/1"
+            >
+        </intent>
+        <categories android:name="android.shortcut.conversation" />
+        <categories android:name="android.shortcut.media" />
+    </shortcut>
     <shortcut
         android:shortcutId="ms2_alt"
         android:enabled="true"
-        android:shortcutIcon="@drawable/icon2"
+        android:icon="@drawable/icon2"
         android:shortcutShortLabel="@string/shortcut_title2"
         android:shortcutLongLabel="@string/shortcut_text2"
         android:shortcutDisabledMessage="@string/shortcut_disabled_message2"
-        android:shortcutCategories="android.shortcut.conversation"
-        android:shortcutIntentAction="action2"
-    />
+        >
+        <intent
+            android:action="action2"
+            >
+        </intent>
+        <categories android:name="android.shortcut.conversation" />
+    </shortcut>
     <shortcut
         android:shortcutId="ms3_alt"
         android:shortcutShortLabel="@string/shortcut_title1"
-        android:shortcutIntentAction="android.intent.action.VIEW"
-    />
+        >
+        <intent
+            android:action="android.intent.action.VIEW"
+            >
+        </intent>
+    </shortcut>
     <shortcut
         android:shortcutId="ms4_alt"
         android:shortcutShortLabel="@string/shortcut_title1"
-        android:shortcutIntentAction="android.intent.action.VIEW"
-    />
+        >
+        <intent
+            android:action="android.intent.action.VIEW"
+            >
+        </intent>
+    </shortcut>
     <shortcut
         android:shortcutId="ms5_alt"
         android:shortcutShortLabel="@string/shortcut_title1"
-        android:shortcutIntentAction="android.intent.action.VIEW"
-    />
+        >
+        <intent
+            android:action="android.intent.action.VIEW"
+            >
+        </intent>
+    </shortcut>
 </shortcuts>
diff --git a/services/tests/servicestests/res/xml/shortcut_5_reverse.xml b/services/tests/servicestests/res/xml/shortcut_5_reverse.xml
new file mode 100644
index 0000000..d5b7c8f
--- /dev/null
+++ b/services/tests/servicestests/res/xml/shortcut_5_reverse.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<shortcuts xmlns:android="http://schemas.android.com/apk/res/android" >
+    <shortcut
+        android:shortcutId="ms5"
+        android:enabled="true"
+        android:icon="@drawable/icon1"
+        android:shortcutShortLabel="@string/shortcut_title1"
+        android:shortcutLongLabel="@string/shortcut_text1"
+        android:shortcutDisabledMessage="@string/shortcut_disabled_message1"
+        >
+        <intent
+            android:action="action1"
+            android:data="http://a.b.c/1"
+            >
+        </intent>
+        <categories android:name="android.shortcut.conversation" />
+        <categories android:name="android.shortcut.media" />
+    </shortcut>
+    <shortcut
+        android:shortcutId="ms4"
+        android:enabled="true"
+        android:icon="@drawable/icon2"
+        android:shortcutShortLabel="@string/shortcut_title2"
+        android:shortcutLongLabel="@string/shortcut_text2"
+        android:shortcutDisabledMessage="@string/shortcut_disabled_message2"
+        >
+        <intent
+            android:action="action2"
+            >
+        </intent>
+        <categories android:name="android.shortcut.conversation" />
+    </shortcut>
+    <shortcut
+        android:shortcutId="ms3"
+        android:shortcutShortLabel="@string/shortcut_title1"
+        >
+        <intent
+            android:action="android.intent.action.VIEW"
+            >
+        </intent>
+    </shortcut>
+    <shortcut
+        android:shortcutId="ms2"
+        android:shortcutShortLabel="@string/shortcut_title1"
+        >
+        <intent
+            android:action="android.intent.action.VIEW"
+            >
+        </intent>
+    </shortcut>
+    <shortcut
+        android:shortcutId="ms1"
+        android:shortcutShortLabel="@string/shortcut_title1"
+        >
+        <intent
+            android:action="action"
+            >
+            <categories android:name="cat1" />
+            <categories android:name="cat2" />
+            <extra android:name="key1" android:value="value1" />
+            <extra android:name="key2" android:value="value2" />
+        </intent>
+    </shortcut>
+</shortcuts>
diff --git a/services/tests/servicestests/res/xml/shortcut_error_1.xml b/services/tests/servicestests/res/xml/shortcut_error_1.xml
index 5822496..3990d02 100644
--- a/services/tests/servicestests/res/xml/shortcut_error_1.xml
+++ b/services/tests/servicestests/res/xml/shortcut_error_1.xml
@@ -16,11 +16,19 @@
 <shortcuts xmlns:android="http://schemas.android.com/apk/res/android" >
     <shortcut
         android:shortcutShortLabel="@string/shortcut_title1"
-        android:shortcutIntentAction="android.intent.action.VIEW"
-    />
+        >
+        <intent
+            android:action="android.intent.action.VIEW"
+            >
+        </intent>
+    </shortcut>
     <shortcut
         android:shortcutId="x1"
         android:shortcutShortLabel="@string/shortcut_title1"
-        android:shortcutIntentAction="android.intent.action.VIEW"
-    />
+        >
+        <intent
+            android:action="android.intent.action.VIEW"
+            >
+        </intent>
+    </shortcut>
 </shortcuts>
diff --git a/services/tests/servicestests/res/xml/shortcut_error_2.xml b/services/tests/servicestests/res/xml/shortcut_error_2.xml
index ca67ec7..a6f7150 100644
--- a/services/tests/servicestests/res/xml/shortcut_error_2.xml
+++ b/services/tests/servicestests/res/xml/shortcut_error_2.xml
@@ -16,11 +16,19 @@
 <shortcuts xmlns:android="http://schemas.android.com/apk/res/android" >
     <shortcut
         android:shortcutId="manifest-shortcut-3"
-        android:shortcutIntentAction="android.intent.action.VIEW"
-    />
+        >
+        <intent
+            android:action="android.intent.action.VIEW"
+            >
+        </intent>
+    </shortcut>
     <shortcut
         android:shortcutId="x2"
         android:shortcutShortLabel="@string/shortcut_title1"
-        android:shortcutIntentAction="android.intent.action.VIEW"
-    />
+        >
+        <intent
+            android:action="android.intent.action.VIEW"
+            >
+        </intent>
+    </shortcut>
 </shortcuts>
diff --git a/services/tests/servicestests/res/xml/shortcut_error_3.xml b/services/tests/servicestests/res/xml/shortcut_error_3.xml
index fb7b31c..a7b9b84 100644
--- a/services/tests/servicestests/res/xml/shortcut_error_3.xml
+++ b/services/tests/servicestests/res/xml/shortcut_error_3.xml
@@ -21,6 +21,10 @@
     <shortcut
         android:shortcutId="x3"
         android:shortcutShortLabel="@string/shortcut_title1"
-        android:shortcutIntentAction="android.intent.action.VIEW"
-    />
+        >
+        <intent
+            android:action="android.intent.action.VIEW"
+            >
+        </intent>
+    </shortcut>
 </shortcuts>
diff --git a/services/tests/servicestests/res/xml/shortcut_error_4.xml b/services/tests/servicestests/res/xml/shortcut_error_4.xml
new file mode 100644
index 0000000..3697bb4
--- /dev/null
+++ b/services/tests/servicestests/res/xml/shortcut_error_4.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<shortcuts xmlns:android="http://schemas.android.com/apk/res/android" >
+    <!-- This is valid -->
+    <shortcut
+        android:shortcutId="ms1"
+        android:shortcutShortLabel="@string/shortcut_title1"
+        >
+        <intent android:action="action1" />
+    </shortcut>
+
+    <!-- Invalid: no intent -->
+    <shortcut
+        android:shortcutId="ms_ignored1"
+        android:shortcutShortLabel="@string/shortcut_title1"
+        />
+
+    <!-- Valid: more than one intent; first one will be picked. -->
+    <shortcut
+        android:shortcutId="ms2"
+        android:shortcutShortLabel="@string/shortcut_title1"
+        >
+        <intent android:action="action2_1" />
+        <intent android:action="action2_2" />
+    </shortcut>
+
+    <!-- Valid: disabled shortcut doesn't need an intent -->
+    <shortcut
+        android:shortcutId="ms3"
+        android:enabled="false"
+        android:shortcutShortLabel="@string/shortcut_title1"
+        />
+
+    <!-- Valid, but disabled shortcut's intent will be ignored. -->
+    <shortcut
+        android:shortcutId="ms4"
+        android:enabled="false"
+        android:shortcutShortLabel="@string/shortcut_title1"
+        >
+        <intent android:action="action4" />
+    </shortcut>
+
+    <!-- Invalid, no intent action -->
+    <shortcut
+        android:shortcutId="ms_ignored2"
+        android:shortcutShortLabel="@string/shortcut_title1"
+        >
+        <intent android:data="x"/>
+    </shortcut>
+</shortcuts>
diff --git a/services/tests/servicestests/src/android/net/apf/ApfTest.java b/services/tests/servicestests/src/android/net/apf/ApfTest.java
index fae82ca..af78839 100644
--- a/services/tests/servicestests/src/android/net/apf/ApfTest.java
+++ b/services/tests/servicestests/src/android/net/apf/ApfTest.java
@@ -552,6 +552,10 @@
             assertTrue(mGotApfProgram.block(TIMEOUT_MS));
             return mLastApfProgram;
         }
+
+        public void assertNoProgramUpdate() {
+            assertFalse(mGotApfProgram.block(TIMEOUT_MS));
+        }
     }
 
     private static class TestApfFilter extends ApfFilter {
@@ -648,7 +652,7 @@
     private static final int DHCP_CLIENT_PORT = 68;
     private static final int DHCP_CLIENT_MAC_OFFSET = ETH_HEADER_LEN + UDP_HEADER_LEN + 48;
 
-    private static int ARP_HEADER_OFFSET = ETH_HEADER_LEN;
+    private static final int ARP_HEADER_OFFSET = ETH_HEADER_LEN;
     private static final byte[] ARP_IPV4_REQUEST_HEADER = new byte[]{
             0, 1, // Hardware type: Ethernet (1)
             8, 0, // Protocol type: IP (0x0800)
@@ -656,9 +660,9 @@
             4,    // Protocol size: 4
             0, 1  // Opcode: request (1)
     };
-    private static int ARP_TARGET_IP_ADDRESS_OFFSET = ETH_HEADER_LEN + 24;
+    private static final int ARP_TARGET_IP_ADDRESS_OFFSET = ETH_HEADER_LEN + 24;
 
-    private static byte[] MOCK_IPV4_ADDR = new byte[]{10, 0, 0, 1};
+    private static final byte[] MOCK_IPV4_ADDR = new byte[]{10, 0, 0, 1};
 
     @LargeTest
     public void testApfFilterIPv4() throws Exception {
@@ -863,6 +867,13 @@
         verifyRaLifetime(ipManagerCallback, packet, lifetime);
     }
 
+    private void assertInvalidRa(TestApfFilter apfFilter, MockIpManagerCallback ipManagerCallback,
+            ByteBuffer packet) throws IOException, ErrnoException {
+        ipManagerCallback.resetApfProgramWait();
+        apfFilter.pretendPacketReceived(packet.array());
+        ipManagerCallback.assertNoProgramUpdate();
+    }
+
     @LargeTest
     public void testApfFilterRa() throws Exception {
         MockIpManagerCallback ipManagerCallback = new MockIpManagerCallback();
@@ -881,6 +892,16 @@
 
         testRaLifetime(apfFilter, ipManagerCallback, basePacket, 1000);
 
+        // Ensure zero-length options cause the packet to be silently skipped.
+        // Do this before we test other packets. http://b/29586253
+        ByteBuffer zeroLengthOptionPacket = ByteBuffer.wrap(
+                new byte[ICMP6_RA_OPTION_OFFSET + ICMP6_4_BYTE_OPTION_LEN]);
+        basePacket.clear();
+        zeroLengthOptionPacket.put(basePacket);
+        zeroLengthOptionPacket.put((byte)ICMP6_PREFIX_OPTION_TYPE);
+        zeroLengthOptionPacket.put((byte)0);
+        assertInvalidRa(apfFilter, ipManagerCallback, zeroLengthOptionPacket);
+
         // Generate several RAs with different options and lifetimes, and verify when
         // ApfFilter is shown these packets, it generates programs to filter them for the
         // appropriate lifetime.
diff --git a/services/tests/servicestests/src/android/net/metrics/IpConnectivityLogTest.java b/services/tests/servicestests/src/android/net/metrics/IpConnectivityLogTest.java
new file mode 100644
index 0000000..1433f95
--- /dev/null
+++ b/services/tests/servicestests/src/android/net/metrics/IpConnectivityLogTest.java
@@ -0,0 +1,162 @@
+/*
+ * 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.
+ */
+
+package android.net.metrics;
+
+import android.os.Bundle;
+import android.os.Parcel;
+import android.net.ConnectivityMetricsEvent;
+import android.net.IConnectivityMetricsLogger;
+
+import junit.framework.TestCase;
+import org.junit.Before;
+import org.junit.Test;
+
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.timeout;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.util.List;
+
+public class IpConnectivityLogTest extends TestCase {
+
+    // use same Parcel object everywhere for pointer equality
+    static final Bundle FAKE_EV = new Bundle();
+
+    @Mock IConnectivityMetricsLogger mService;
+    ArgumentCaptor<ConnectivityMetricsEvent> evCaptor;
+
+    IpConnectivityLog mLog;
+
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        evCaptor = ArgumentCaptor.forClass(ConnectivityMetricsEvent.class);
+        mLog = new IpConnectivityLog(mService);
+    }
+
+    public void testLogEvents() throws Exception {
+        assertTrue(mLog.log(1, FAKE_EV));
+        assertTrue(mLog.log(2, FAKE_EV));
+        assertTrue(mLog.log(3, FAKE_EV));
+
+        List<ConnectivityMetricsEvent> gotEvents = verifyEvents(3);
+        assertEventsEqual(expectedEvent(1), gotEvents.get(0));
+        assertEventsEqual(expectedEvent(2), gotEvents.get(1));
+        assertEventsEqual(expectedEvent(3), gotEvents.get(2));
+    }
+
+    public void testLogEventTriggerThrottling() throws Exception {
+        when(mService.logEvent(any())).thenReturn(1234L);
+
+        assertFalse(mLog.log(1, FAKE_EV));
+    }
+
+    public void testLogEventFails() throws Exception {
+        when(mService.logEvent(any())).thenReturn(-1L); // Error.
+
+        assertFalse(mLog.log(1, FAKE_EV));
+    }
+
+    public void testLogEventWhenThrottling() throws Exception {
+        when(mService.logEvent(any())).thenReturn(Long.MAX_VALUE); // Throttled
+
+        // No events are logged. The service is only called once
+        // After that, throttling state is maintained locally.
+        assertFalse(mLog.log(1, FAKE_EV));
+        assertFalse(mLog.log(2, FAKE_EV));
+
+        List<ConnectivityMetricsEvent> gotEvents = verifyEvents(1);
+        assertEventsEqual(expectedEvent(1), gotEvents.get(0));
+    }
+
+    public void testLogEventRecoverFromThrottling() throws Exception {
+        final long throttleTimeout = System.currentTimeMillis() + 50;
+        when(mService.logEvent(any())).thenReturn(throttleTimeout, 0L);
+
+        assertFalse(mLog.log(1, FAKE_EV));
+        new Thread() {
+            public void run() {
+                busySpinLog();
+            }
+        }.start();
+
+        List<ConnectivityMetricsEvent> gotEvents = verifyEvents(2, 200);
+        assertEventsEqual(expectedEvent(1), gotEvents.get(0));
+        assertEventsEqual(expectedEvent(2), gotEvents.get(1));
+    }
+
+    public void testLogEventRecoverFromThrottlingWithMultipleCallers() throws Exception {
+        final long throttleTimeout = System.currentTimeMillis() + 50;
+        when(mService.logEvent(any())).thenReturn(throttleTimeout, 0L);
+
+        assertFalse(mLog.log(1, FAKE_EV));
+        final int nCallers = 10;
+        for (int i = 0; i < nCallers; i++) {
+            new Thread() {
+                public void run() {
+                    busySpinLog();
+                }
+            }.start();
+        }
+
+        List<ConnectivityMetricsEvent> gotEvents = verifyEvents(1 + nCallers, 200);
+        assertEventsEqual(expectedEvent(1), gotEvents.get(0));
+        for (int i = 0; i < nCallers; i++) {
+            assertEventsEqual(expectedEvent(2), gotEvents.get(1 + i));
+        }
+    }
+
+    void busySpinLog() {
+        final long timeout = 200;
+        final long stop = System.currentTimeMillis() + timeout;
+        try {
+            while (System.currentTimeMillis() < stop) {
+                if (mLog.log(2, FAKE_EV)) {
+                    return;
+                }
+                Thread.sleep(10);
+            }
+        } catch (InterruptedException e) { }
+    }
+
+    List<ConnectivityMetricsEvent> verifyEvents(int n) throws Exception {
+        verify(mService, times(n)).logEvent(evCaptor.capture());
+        return evCaptor.getAllValues();
+    }
+
+    List<ConnectivityMetricsEvent> verifyEvents(int n, int timeoutMs) throws Exception {
+        verify(mService, timeout(timeoutMs).times(n)).logEvent(evCaptor.capture());
+        return evCaptor.getAllValues();
+    }
+
+    static ConnectivityMetricsEvent expectedEvent(int timestamp) {
+        return new ConnectivityMetricsEvent((long)timestamp, 0, 0, FAKE_EV);
+    }
+
+    /** Outer equality for ConnectivityMetricsEvent to avoid overriding equals() and hashCode(). */
+    static void assertEventsEqual(ConnectivityMetricsEvent expected, ConnectivityMetricsEvent got) {
+        assertEquals(expected.timestamp, got.timestamp);
+        assertEquals(expected.componentTag, got.componentTag);
+        assertEquals(expected.eventTag, got.eventTag);
+        assertEquals(expected.data, got.data);
+    }
+}
diff --git a/services/tests/servicestests/src/com/android/internal/util/FakeSettingsProviderTest.java b/services/tests/servicestests/src/com/android/internal/util/FakeSettingsProviderTest.java
index a18737c..05de0a5 100644
--- a/services/tests/servicestests/src/com/android/internal/util/FakeSettingsProviderTest.java
+++ b/services/tests/servicestests/src/com/android/internal/util/FakeSettingsProviderTest.java
@@ -24,6 +24,7 @@
 import android.test.mock.MockContentResolver;
 import android.test.mock.MockContext;
 import android.test.suitebuilder.annotation.SmallTest;
+import android.test.suitebuilder.annotation.Suppress;
 import android.util.Log;
 
 import java.util.concurrent.CountDownLatch;
diff --git a/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java b/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java
index 68a35f1..14744d0 100644
--- a/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java
@@ -17,6 +17,7 @@
 package com.android.server;
 
 import static android.net.ConnectivityManager.CONNECTIVITY_ACTION;
+import static android.net.ConnectivityManager.TYPE_ETHERNET;
 import static android.net.ConnectivityManager.TYPE_MOBILE;
 import static android.net.ConnectivityManager.TYPE_WIFI;
 import static android.net.ConnectivityManager.getNetworkTypeName;
@@ -79,6 +80,7 @@
 
 import java.net.InetAddress;
 import java.util.ArrayList;
+import java.util.Objects;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.TimeUnit;
@@ -100,6 +102,7 @@
     private WrappedConnectivityManager mCm;
     private MockNetworkAgent mWiFiNetworkAgent;
     private MockNetworkAgent mCellNetworkAgent;
+    private MockNetworkAgent mEthernetNetworkAgent;
 
     // This class exists to test bindProcessToNetwork and getBoundNetworkForProcess. These methods
     // do not go through ConnectivityService but talk to netd directly, so they don't automatically
@@ -243,6 +246,9 @@
             mNetworkCapabilities = new NetworkCapabilities();
             mNetworkCapabilities.addTransportType(transport);
             switch (transport) {
+                case TRANSPORT_ETHERNET:
+                    mScore = 70;
+                    break;
                 case TRANSPORT_WIFI:
                     mScore = 60;
                     break;
@@ -304,6 +310,11 @@
             mNetworkAgent.sendNetworkCapabilities(mNetworkCapabilities);
         }
 
+        public void removeCapability(int capability) {
+            mNetworkCapabilities.removeCapability(capability);
+            mNetworkAgent.sendNetworkCapabilities(mNetworkCapabilities);
+        }
+
         public void setSignalStrength(int signalStrength) {
             mNetworkCapabilities.setSignalStrength(signalStrength);
             mNetworkAgent.sendNetworkCapabilities(mNetworkCapabilities);
@@ -694,14 +705,23 @@
         mCm.bindProcessToNetwork(null);
     }
 
+    public void tearDown() throws Exception {
+        if (mCellNetworkAgent != null) { mCellNetworkAgent.disconnect(); }
+        if (mWiFiNetworkAgent != null) { mWiFiNetworkAgent.disconnect(); }
+        mCellNetworkAgent = mWiFiNetworkAgent = null;
+        super.tearDown();
+    }
+
     private int transportToLegacyType(int transport) {
         switch (transport) {
+            case TRANSPORT_ETHERNET:
+                return TYPE_ETHERNET;
             case TRANSPORT_WIFI:
                 return TYPE_WIFI;
             case TRANSPORT_CELLULAR:
                 return TYPE_MOBILE;
             default:
-                throw new IllegalStateException("Unknown transport" + transport);
+                throw new IllegalStateException("Unknown transport " + transport);
         }
     }
 
@@ -911,8 +931,6 @@
         mWiFiNetworkAgent.adjustScore(11);
         waitFor(cv);
         verifyActiveNetwork(TRANSPORT_WIFI);
-        mCellNetworkAgent.disconnect();
-        mWiFiNetworkAgent.disconnect();
     }
 
     @LargeTest
@@ -984,8 +1002,6 @@
         assertFalse(mCm.getNetworkCapabilities(mWiFiNetworkAgent.getNetwork()).hasCapability(
                 NET_CAPABILITY_VALIDATED));
         verifyActiveNetwork(TRANSPORT_WIFI);
-        mCellNetworkAgent.disconnect();
-        mWiFiNetworkAgent.disconnect();
     }
 
     @LargeTest
@@ -1012,8 +1028,6 @@
         assertFalse(mCm.getNetworkCapabilities(mCellNetworkAgent.getNetwork()).hasCapability(
                 NET_CAPABILITY_VALIDATED));
         verifyActiveNetwork(TRANSPORT_WIFI);
-        mCellNetworkAgent.disconnect();
-        mWiFiNetworkAgent.disconnect();
     }
 
     enum CallbackState {
@@ -1029,59 +1043,74 @@
      * received. assertNoCallback may be called at any time.
      */
     private class TestNetworkCallback extends NetworkCallback {
-        private final ConditionVariable mConditionVariable = new ConditionVariable();
-        private CallbackState mLastCallback = CallbackState.NONE;
-        private Network mLastNetwork;
+        private class CallbackInfo {
+            public final CallbackState state;
+            public final Network network;
+            public CallbackInfo(CallbackState s, Network n) { state = s; network = n; }
+            public String toString() { return String.format("%s (%s)", state, network); }
+            public boolean equals(Object o) {
+                if (!(o instanceof CallbackInfo)) return false;
+                CallbackInfo other = (CallbackInfo) o;
+                return state == other.state && Objects.equals(network, other.network);
+            }
+        }
+        private final LinkedBlockingQueue<CallbackInfo> mCallbacks = new LinkedBlockingQueue<>();
+
+        private void setLastCallback(CallbackState state, Network network) {
+            mCallbacks.offer(new CallbackInfo(state, network));
+        }
 
         public void onAvailable(Network network) {
-            assertEquals(CallbackState.NONE, mLastCallback);
-            mLastCallback = CallbackState.AVAILABLE;
-            mLastNetwork = network;
-            mConditionVariable.open();
+            setLastCallback(CallbackState.AVAILABLE, network);
         }
 
         public void onLosing(Network network, int maxMsToLive) {
-            assertEquals(CallbackState.NONE, mLastCallback);
-            mLastCallback = CallbackState.LOSING;
-            mLastNetwork = network;
-            mConditionVariable.open();
+            setLastCallback(CallbackState.LOSING, network);
         }
 
         public void onLost(Network network) {
-            assertEquals(CallbackState.NONE, mLastCallback);
-            mLastCallback = CallbackState.LOST;
-            mLastNetwork = network;
-            mConditionVariable.open();
-        }
-
-        void expectCallback(CallbackState state) {
-            expectCallback(state, null);
+            setLastCallback(CallbackState.LOST, network);
         }
 
         void expectCallback(CallbackState state, MockNetworkAgent mockAgent) {
-            waitFor(mConditionVariable);
-            assertEquals(state, mLastCallback);
-            if (mockAgent != null) {
-                assertEquals(mockAgent.getNetwork(), mLastNetwork);
+            CallbackInfo expected = new CallbackInfo(
+                    state,
+                    (mockAgent != null) ? mockAgent.getNetwork() : null);
+            try {
+                assertEquals("Unexpected callback:",
+                        expected, mCallbacks.poll(TIMEOUT_MS, TimeUnit.MILLISECONDS));
+            } catch (InterruptedException e) {
+                fail("Did not receive expected " + expected + " after " + TIMEOUT_MS + "ms");
             }
-            mLastCallback = CallbackState.NONE;
-            mLastNetwork = null;
-            mConditionVariable.close();
         }
 
         void assertNoCallback() {
-            assertEquals(CallbackState.NONE, mLastCallback);
+            mService.waitForIdle();
+            CallbackInfo c = mCallbacks.peek();
+            assertNull("Unexpected callback: " + c, c);
+        }
+    }
+
+    // Can't be part of TestNetworkCallback because "cannot be declared static; static methods can
+    // only be declared in a static or top level type".
+    static void assertNoCallbacks(TestNetworkCallback ... callbacks) {
+        for (TestNetworkCallback c : callbacks) {
+            c.assertNoCallback();
         }
     }
 
     @LargeTest
     public void testStateChangeNetworkCallbacks() throws Exception {
+        final TestNetworkCallback genericNetworkCallback = new TestNetworkCallback();
         final TestNetworkCallback wifiNetworkCallback = new TestNetworkCallback();
         final TestNetworkCallback cellNetworkCallback = new TestNetworkCallback();
+        final NetworkRequest genericRequest = new NetworkRequest.Builder()
+                .clearCapabilities().build();
         final NetworkRequest wifiRequest = new NetworkRequest.Builder()
                 .addTransportType(TRANSPORT_WIFI).build();
         final NetworkRequest cellRequest = new NetworkRequest.Builder()
                 .addTransportType(TRANSPORT_CELLULAR).build();
+        mCm.registerNetworkCallback(genericRequest, genericNetworkCallback);
         mCm.registerNetworkCallback(wifiRequest, wifiNetworkCallback);
         mCm.registerNetworkCallback(cellRequest, cellNetworkCallback);
 
@@ -1089,65 +1118,218 @@
         ConditionVariable cv = waitForConnectivityBroadcasts(1);
         mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
         mCellNetworkAgent.connect(false);
-        cellNetworkCallback.expectCallback(CallbackState.AVAILABLE);
-        wifiNetworkCallback.assertNoCallback();
+        genericNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
+        cellNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
         assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
         waitFor(cv);
+        assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
 
         // This should not trigger spurious onAvailable() callbacks, b/21762680.
         mCellNetworkAgent.adjustScore(-1);
         mService.waitForIdle();
-        wifiNetworkCallback.assertNoCallback();
-        cellNetworkCallback.assertNoCallback();
+        assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
         assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
 
         cv = waitForConnectivityBroadcasts(2);
         mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
         mWiFiNetworkAgent.connect(false);
-        wifiNetworkCallback.expectCallback(CallbackState.AVAILABLE);
-        cellNetworkCallback.assertNoCallback();
+        genericNetworkCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
+        wifiNetworkCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
         assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
         waitFor(cv);
+        assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
 
         cv = waitForConnectivityBroadcasts(2);
         mWiFiNetworkAgent.disconnect();
-        wifiNetworkCallback.expectCallback(CallbackState.LOST);
+        genericNetworkCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+        wifiNetworkCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
         cellNetworkCallback.assertNoCallback();
         waitFor(cv);
+        assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
 
         cv = waitForConnectivityBroadcasts(1);
         mCellNetworkAgent.disconnect();
-        cellNetworkCallback.expectCallback(CallbackState.LOST);
-        wifiNetworkCallback.assertNoCallback();
+        genericNetworkCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
+        cellNetworkCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
         waitFor(cv);
+        assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
 
         // Test validated networks
         mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
         mCellNetworkAgent.connect(true);
-        cellNetworkCallback.expectCallback(CallbackState.AVAILABLE);
-        wifiNetworkCallback.assertNoCallback();
+        genericNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
+        cellNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
         assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
+        assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
 
         // This should not trigger spurious onAvailable() callbacks, b/21762680.
         mCellNetworkAgent.adjustScore(-1);
         mService.waitForIdle();
-        wifiNetworkCallback.assertNoCallback();
-        cellNetworkCallback.assertNoCallback();
+        assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
         assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
 
         mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
         mWiFiNetworkAgent.connect(true);
-        wifiNetworkCallback.expectCallback(CallbackState.AVAILABLE);
-        cellNetworkCallback.expectCallback(CallbackState.LOSING);
+        genericNetworkCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
+        genericNetworkCallback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
+        wifiNetworkCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
+        cellNetworkCallback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
+        assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
+        assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
+
+        mWiFiNetworkAgent.disconnect();
+        genericNetworkCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+        wifiNetworkCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+        assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
+
+        mCellNetworkAgent.disconnect();
+        genericNetworkCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
+        cellNetworkCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
+        assertNoCallbacks(genericNetworkCallback, wifiNetworkCallback, cellNetworkCallback);
+    }
+
+    @SmallTest
+    public void testMultipleLingering() {
+        NetworkRequest request = new NetworkRequest.Builder()
+                .clearCapabilities().addCapability(NET_CAPABILITY_NOT_METERED)
+                .build();
+        TestNetworkCallback callback = new TestNetworkCallback();
+        mCm.registerNetworkCallback(request, callback);
+
+        TestNetworkCallback defaultCallback = new TestNetworkCallback();
+        mCm.registerDefaultNetworkCallback(defaultCallback);
+
+        mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
+        mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
+        mEthernetNetworkAgent = new MockNetworkAgent(TRANSPORT_ETHERNET);
+
+        mCellNetworkAgent.addCapability(NET_CAPABILITY_NOT_METERED);
+        mWiFiNetworkAgent.addCapability(NET_CAPABILITY_NOT_METERED);
+        mEthernetNetworkAgent.addCapability(NET_CAPABILITY_NOT_METERED);
+
+        mCellNetworkAgent.connect(true);
+        callback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
+        assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
+
+        mWiFiNetworkAgent.connect(true);
+        // We get AVAILABLE on wifi when wifi connects and satisfies our unmetered request.
+        // We then get LOSING when wifi validates and cell is outscored.
+        callback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
+        callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
+        assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
+
+        mEthernetNetworkAgent.connect(true);
+        callback.expectCallback(CallbackState.AVAILABLE, mEthernetNetworkAgent);
+        callback.expectCallback(CallbackState.LOSING, mWiFiNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.AVAILABLE, mEthernetNetworkAgent);
+        assertEquals(mEthernetNetworkAgent.getNetwork(), mCm.getActiveNetwork());
+
+        mEthernetNetworkAgent.disconnect();
+        callback.expectCallback(CallbackState.LOST, mEthernetNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.LOST, mEthernetNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
+
+        for (int i = 0; i < 4; i++) {
+            MockNetworkAgent oldNetwork, newNetwork;
+            if (i % 2 == 0) {
+                mWiFiNetworkAgent.adjustScore(-15);
+                oldNetwork = mWiFiNetworkAgent;
+                newNetwork = mCellNetworkAgent;
+            } else {
+                mWiFiNetworkAgent.adjustScore(15);
+                oldNetwork = mCellNetworkAgent;
+                newNetwork = mWiFiNetworkAgent;
+
+            }
+            callback.expectCallback(CallbackState.LOSING, oldNetwork);
+            defaultCallback.expectCallback(CallbackState.AVAILABLE, newNetwork);
+            assertEquals(newNetwork.getNetwork(), mCm.getActiveNetwork());
+        }
+        assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
+
+        // Verify that if a network no longer satisfies a request, we send LOST and not LOSING, even
+        // if the network is still up.
+        mWiFiNetworkAgent.removeCapability(NET_CAPABILITY_NOT_METERED);
+        callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+
+        // Wifi no longer satisfies our listen, which is for an unmetered network.
+        // But because its score is 55, it's still up (and the default network).
+        defaultCallback.assertNoCallback();
+        assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
+
+        // Disconnect our test networks.
+        mWiFiNetworkAgent.disconnect();
+        defaultCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
+        mCellNetworkAgent.disconnect();
+        defaultCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
+
+        mCm.unregisterNetworkCallback(callback);
+        mService.waitForIdle();
+
+        // Check that a network is only lingered or torn down if it would not satisfy a request even
+        // if it validated.
+        request = new NetworkRequest.Builder().clearCapabilities().build();
+        callback = new TestNetworkCallback();
+
+        mCm.registerNetworkCallback(request, callback);
+
+        mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
+        mCellNetworkAgent.connect(false);   // Score: 10
+        callback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
+        assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
+
+        // Bring up wifi with a score of 20.
+        // Cell stays up because it would satisfy the default request if it validated.
+        mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
+        mWiFiNetworkAgent.connect(false);   // Score: 20
+        callback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
         assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
 
         mWiFiNetworkAgent.disconnect();
-        wifiNetworkCallback.expectCallback(CallbackState.LOST);
-        cellNetworkCallback.assertNoCallback();
+        callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
+        assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
 
-        mCellNetworkAgent.disconnect();
-        cellNetworkCallback.expectCallback(CallbackState.LOST);
-        wifiNetworkCallback.assertNoCallback();
+        // Bring up wifi with a score of 70.
+        // Cell is lingered because it would not satisfy any reques, even if it validated.
+        mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
+        mWiFiNetworkAgent.adjustScore(50);
+        mWiFiNetworkAgent.connect(false);   // Score: 70
+        callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
+        callback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
+        assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
+
+        // Tear down wifi.
+        mWiFiNetworkAgent.disconnect();
+        callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
+        assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
+
+        // Bring up wifi, then validate it. In this case we do not linger cell. What happens is that
+        // when wifi connects, we don't linger because cell could potentially become the default
+        // network if it validated. Then, when wifi validates, we re-evaluate cell, see it has no
+        // requests, and tear it down because it's unneeded.
+        // TODO: can we linger in this case?
+        mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
+        mWiFiNetworkAgent.connect(true);
+        callback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
+        callback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
+        defaultCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
+        assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
+
+        mWiFiNetworkAgent.disconnect();
+        callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+
+        mCm.unregisterNetworkCallback(callback);
+        mCm.unregisterNetworkCallback(defaultCallback);
     }
 
     private void tryNetworkFactoryRequests(int capability) throws Exception {
@@ -1314,7 +1496,7 @@
         mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
         mCellNetworkAgent.addCapability(NET_CAPABILITY_MMS);
         mCellNetworkAgent.connectWithoutInternet();
-        networkCallback.expectCallback(CallbackState.AVAILABLE);
+        networkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
         verifyActiveNetwork(TRANSPORT_WIFI);
         // Test releasing NetworkRequest disconnects cellular with MMS
         cv = mCellNetworkAgent.getDisconnectedCV();
@@ -1340,7 +1522,7 @@
         MockNetworkAgent mmsNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
         mmsNetworkAgent.addCapability(NET_CAPABILITY_MMS);
         mmsNetworkAgent.connectWithoutInternet();
-        networkCallback.expectCallback(CallbackState.AVAILABLE);
+        networkCallback.expectCallback(CallbackState.AVAILABLE, mmsNetworkAgent);
         verifyActiveNetwork(TRANSPORT_CELLULAR);
         // Test releasing MMS NetworkRequest does not disconnect main cellular NetworkAgent
         cv = mmsNetworkAgent.getDisconnectedCV();
@@ -1366,36 +1548,36 @@
         mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
         String firstRedirectUrl = "http://example.com/firstPath";
         mWiFiNetworkAgent.connectWithCaptivePortal(firstRedirectUrl);
-        captivePortalCallback.expectCallback(CallbackState.AVAILABLE);
+        captivePortalCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
         assertEquals(mWiFiNetworkAgent.waitForRedirectUrl(), firstRedirectUrl);
 
         // Take down network.
         // Expect onLost callback.
         mWiFiNetworkAgent.disconnect();
-        captivePortalCallback.expectCallback(CallbackState.LOST);
+        captivePortalCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
 
         // Bring up a network with a captive portal.
         // Expect onAvailable callback of listen for NET_CAPABILITY_CAPTIVE_PORTAL.
         mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
         String secondRedirectUrl = "http://example.com/secondPath";
         mWiFiNetworkAgent.connectWithCaptivePortal(secondRedirectUrl);
-        captivePortalCallback.expectCallback(CallbackState.AVAILABLE);
+        captivePortalCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
         assertEquals(mWiFiNetworkAgent.waitForRedirectUrl(), secondRedirectUrl);
 
         // Make captive portal disappear then revalidate.
         // Expect onLost callback because network no longer provides NET_CAPABILITY_CAPTIVE_PORTAL.
         mWiFiNetworkAgent.getWrappedNetworkMonitor().gen204ProbeResult = 204;
         mCm.reportNetworkConnectivity(mWiFiNetworkAgent.getNetwork(), true);
-        captivePortalCallback.expectCallback(CallbackState.LOST);
+        captivePortalCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
 
         // Expect NET_CAPABILITY_VALIDATED onAvailable callback.
-        validatedCallback.expectCallback(CallbackState.AVAILABLE);
+        validatedCallback.expectCallback(CallbackState.AVAILABLE, mWiFiNetworkAgent);
 
         // Break network connectivity.
         // Expect NET_CAPABILITY_VALIDATED onLost callback.
         mWiFiNetworkAgent.getWrappedNetworkMonitor().gen204ProbeResult = 500;
         mCm.reportNetworkConnectivity(mWiFiNetworkAgent.getNetwork(), false);
-        validatedCallback.expectCallback(CallbackState.LOST);
+        validatedCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
     }
 
     @SmallTest
@@ -1410,7 +1592,7 @@
             // do nothing - should get here
         }
 
-        assertTrue("NetworkReqeuest builder with MATCH_ALL_REQUESTS_NETWORK_SPECIFIER",
+        assertTrue("NetworkRequest builder with MATCH_ALL_REQUESTS_NETWORK_SPECIFIER",
                 execptionCalled);
 
         try {
@@ -1478,6 +1660,78 @@
     }
 
     @SmallTest
+    public void testRequestBenchmark() throws Exception {
+        // Benchmarks connecting and switching performance in the presence of a large number of
+        // NetworkRequests.
+        // 1. File NUM_REQUESTS requests.
+        // 2. Have a network connect. Wait for NUM_REQUESTS onAvailable callbacks to fire.
+        // 3. Have a new network connect and outscore the previous. Wait for NUM_REQUESTS onLosing
+        //    and NUM_REQUESTS onAvailable callbacks to fire.
+        // See how long it took.
+        final int NUM_REQUESTS = 90;
+        final NetworkRequest request = new NetworkRequest.Builder().clearCapabilities().build();
+        final NetworkCallback[] callbacks = new NetworkCallback[NUM_REQUESTS];
+        final CountDownLatch availableLatch = new CountDownLatch(NUM_REQUESTS);
+        final CountDownLatch losingLatch = new CountDownLatch(NUM_REQUESTS);
+
+        final int REGISTER_TIME_LIMIT_MS = 100;
+        long startTime = System.currentTimeMillis();
+        for (int i = 0; i < NUM_REQUESTS; i++) {
+            callbacks[i] = new NetworkCallback() {
+                @Override public void onAvailable(Network n) { availableLatch.countDown(); }
+                @Override public void onLosing(Network n, int t) { losingLatch.countDown(); }
+            };
+            mCm.registerNetworkCallback(request, callbacks[i]);
+        }
+        long timeTaken = System.currentTimeMillis() - startTime;
+        String msg = String.format("Register %d callbacks: %dms, acceptable %dms",
+                NUM_REQUESTS, timeTaken, REGISTER_TIME_LIMIT_MS);
+        Log.d(TAG, msg);
+        assertTrue(msg, timeTaken < REGISTER_TIME_LIMIT_MS);
+
+        final int CONNECT_TIME_LIMIT_MS = 30;
+        mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
+        // Don't request that the network validate, because otherwise connect() will block until
+        // the network gets NET_CAPABILITY_VALIDATED, after all the callbacks below have fired,
+        // and we won't actually measure anything.
+        mCellNetworkAgent.connect(false);
+        startTime = System.currentTimeMillis();
+        if (!availableLatch.await(CONNECT_TIME_LIMIT_MS, TimeUnit.MILLISECONDS)) {
+            fail(String.format("Only dispatched %d/%d onAvailable callbacks in %dms",
+                    NUM_REQUESTS - availableLatch.getCount(), NUM_REQUESTS,
+                    CONNECT_TIME_LIMIT_MS));
+        }
+        timeTaken = System.currentTimeMillis() - startTime;
+        Log.d(TAG, String.format("Connect, %d callbacks: %dms, acceptable %dms",
+                NUM_REQUESTS, timeTaken, CONNECT_TIME_LIMIT_MS));
+
+        final int SWITCH_TIME_LIMIT_MS = 30;
+        mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
+        // Give wifi a high enough score that we'll linger cell when wifi comes up.
+        mWiFiNetworkAgent.adjustScore(40);
+        mWiFiNetworkAgent.connect(false);
+        startTime = System.currentTimeMillis();
+        if (!losingLatch.await(SWITCH_TIME_LIMIT_MS, TimeUnit.MILLISECONDS)) {
+            fail(String.format("Only dispatched %d/%d onLosing callbacks in %dms",
+                    NUM_REQUESTS - losingLatch.getCount(), NUM_REQUESTS, SWITCH_TIME_LIMIT_MS));
+        }
+        timeTaken = System.currentTimeMillis() - startTime;
+        Log.d(TAG, String.format("Linger, %d callbacks: %dms, acceptable %dms",
+                NUM_REQUESTS, timeTaken, SWITCH_TIME_LIMIT_MS));
+
+        final int UNREGISTER_TIME_LIMIT_MS = 10;
+        startTime = System.currentTimeMillis();
+        for (int i = 0; i < NUM_REQUESTS; i++) {
+            mCm.unregisterNetworkCallback(callbacks[i]);
+        }
+        timeTaken = System.currentTimeMillis() - startTime;
+        msg = String.format("Unregister %d callbacks: %dms, acceptable %dms",
+                NUM_REQUESTS, timeTaken, UNREGISTER_TIME_LIMIT_MS);
+        Log.d(TAG, msg);
+        assertTrue(msg, timeTaken < UNREGISTER_TIME_LIMIT_MS);
+    }
+
+    @SmallTest
     public void testMobileDataAlwaysOn() throws Exception {
         final TestNetworkCallback cellNetworkCallback = new TestNetworkCallback();
         final NetworkRequest cellRequest = new NetworkRequest.Builder()
@@ -1520,7 +1774,7 @@
         mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
         testFactory.expectAddRequests(2);  // Because the cell request changes score twice.
         mCellNetworkAgent.connect(true);
-        cellNetworkCallback.expectCallback(CallbackState.AVAILABLE);
+        cellNetworkCallback.expectCallback(CallbackState.AVAILABLE, mCellNetworkAgent);
         testFactory.waitForNetworkRequests(2);
         assertFalse(testFactory.getMyStartRequested());  // Because the cell network outscores us.
 
@@ -1536,7 +1790,7 @@
         testFactory.waitForNetworkRequests(1);
 
         // ...  and cell data to be torn down.
-        cellNetworkCallback.expectCallback(CallbackState.LOST);
+        cellNetworkCallback.expectCallback(CallbackState.LOST, mCellNetworkAgent);
         assertEquals(1, mCm.getAllNetworks().length);
 
         testFactory.unregister();
diff --git a/services/tests/servicestests/src/com/android/server/Vector3Test.java b/services/tests/servicestests/src/com/android/server/Vector3Test.java
new file mode 100644
index 0000000..88dbe70
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/Vector3Test.java
@@ -0,0 +1,164 @@
+/*
+ * 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.
+ */
+
+package com.android.server;
+
+import android.test.AndroidTestCase;
+
+import java.lang.Exception;
+import java.lang.Math;
+
+/**
+ * Tests for {@link com.android.server.AnyMotionDetector.Vector3}
+ */
+public class Vector3Test extends AndroidTestCase {
+    private static final float tolerance = 1.0f / (1 << 12);
+    private static final float STATIONARY_ANGLE_THRESHOLD = 0.05f;
+
+    private AnyMotionDetector.Vector3 unitXAxis;
+    private AnyMotionDetector.Vector3 unitYAxis;
+    private AnyMotionDetector.Vector3 unitZAxis;
+    private AnyMotionDetector.Vector3 x3;
+    private AnyMotionDetector.Vector3 case1A;
+    private AnyMotionDetector.Vector3 case1B;
+    private AnyMotionDetector.Vector3 case2A;
+    private AnyMotionDetector.Vector3 case2B;
+    private AnyMotionDetector.Vector3 x1y1;
+    private AnyMotionDetector.Vector3 xn1y1;
+    private AnyMotionDetector.Vector3 x1z1;
+    private AnyMotionDetector.Vector3 y1z1;
+    private AnyMotionDetector.Vector3 piOverSixUnitCircle;
+
+
+    private boolean nearlyEqual(float a, float b) {
+        return Math.abs(a - b) <= tolerance;
+    }
+
+    public void setUp() throws Exception {
+        super.setUp();
+        unitXAxis = new AnyMotionDetector.Vector3(0, 1, 0, 0);
+        unitYAxis = new AnyMotionDetector.Vector3(0, 0, 1, 0);
+        unitZAxis = new AnyMotionDetector.Vector3(0, 0, 0, 1);
+        x3 = new AnyMotionDetector.Vector3(0, 3, 0, 0);
+        x1y1 = new AnyMotionDetector.Vector3(0, 1, 1, 0);
+        xn1y1 = new AnyMotionDetector.Vector3(0, -1, 1, 0);
+        x1z1 = new AnyMotionDetector.Vector3(0, 1, 0, 1);
+        y1z1 = new AnyMotionDetector.Vector3(0, 0, 1, 1);
+        piOverSixUnitCircle = new AnyMotionDetector.Vector3(
+                0, (float)Math.sqrt(3)/2, (float)0.5, 0);
+
+        case1A = new AnyMotionDetector.Vector3(0, -9.81f, -0.02f, 0.3f);
+        case1B = new AnyMotionDetector.Vector3(0, -9.80f, -0.02f, 0.3f);
+        case2A = new AnyMotionDetector.Vector3(0, 1f, 2f, 3f);
+        case2B = new AnyMotionDetector.Vector3(0, 4f, 5f, 6f);
+    }
+
+    public void testVector3Norm() {
+        assertTrue(nearlyEqual(unitXAxis.norm(), 1.0f));
+        assertTrue(nearlyEqual(unitYAxis.norm(), 1.0f));
+        assertTrue(nearlyEqual(unitZAxis.norm(), 1.0f));
+        assertTrue(nearlyEqual(x1y1.norm(), (float)Math.sqrt(2)));
+    }
+
+    public void testVector3AngleBetween() {
+        // Zero angle.
+        assertTrue(nearlyEqual(unitXAxis.angleBetween(unitXAxis), 0.0f));
+        assertTrue(nearlyEqual(unitYAxis.angleBetween(unitYAxis), 0.0f));
+        assertTrue(nearlyEqual(unitZAxis.angleBetween(unitZAxis), 0.0f));
+
+        // Unit axes should be perpendicular.
+        assertTrue(nearlyEqual(unitXAxis.angleBetween(unitYAxis), 90.0f));
+        assertTrue(nearlyEqual(unitXAxis.angleBetween(unitZAxis), 90.0f));
+        assertTrue(nearlyEqual(unitYAxis.angleBetween(unitZAxis), 90.0f));
+
+        // 45 degree angles.
+        assertTrue(nearlyEqual(unitXAxis.angleBetween(x1y1), 45.0f));
+        assertTrue(nearlyEqual(unitYAxis.angleBetween(x1y1), 45.0f));
+
+        // 135 degree angles.
+        assertTrue(nearlyEqual(xn1y1.angleBetween(unitXAxis), 135.0f));
+
+        // 30 degree angles.
+        assertTrue(nearlyEqual(piOverSixUnitCircle.angleBetween(unitXAxis), 30.0f));
+
+        // These vectors are expected to be still.
+        assertTrue(case1A.angleBetween(case1A) < STATIONARY_ANGLE_THRESHOLD);
+        assertTrue(case1A.angleBetween(case1B) < STATIONARY_ANGLE_THRESHOLD);
+        assertTrue(unitXAxis.angleBetween(unitXAxis) < STATIONARY_ANGLE_THRESHOLD);
+        assertTrue(unitYAxis.angleBetween(unitYAxis) < STATIONARY_ANGLE_THRESHOLD);
+        assertTrue(unitZAxis.angleBetween(unitZAxis) < STATIONARY_ANGLE_THRESHOLD);
+    }
+
+    public void testVector3Normalized() {
+        AnyMotionDetector.Vector3 unitXAxisNormalized = unitXAxis.normalized();
+        assertTrue(nearlyEqual(unitXAxisNormalized.x, unitXAxis.x));
+        assertTrue(nearlyEqual(unitXAxisNormalized.y, unitXAxis.y));
+        assertTrue(nearlyEqual(unitXAxisNormalized.z, unitXAxis.z));
+
+        // Normalizing the vector created by multiplying the unit vector by 3 gets the unit vector.
+        AnyMotionDetector.Vector3 x3Normalized = x3.normalized();
+        assertTrue(nearlyEqual(x3Normalized.x, unitXAxis.x));
+        assertTrue(nearlyEqual(x3Normalized.y, unitXAxis.y));
+        assertTrue(nearlyEqual(x3Normalized.z, unitXAxis.z));
+    }
+
+    public void testVector3Cross() {
+        AnyMotionDetector.Vector3 xCrossX = unitXAxis.cross(unitXAxis);
+        assertTrue(nearlyEqual(xCrossX.x, 0f));
+        assertTrue(nearlyEqual(xCrossX.y, 0f));
+        assertTrue(nearlyEqual(xCrossX.z, 0f));
+
+        AnyMotionDetector.Vector3 xCrossNx = unitXAxis.cross(unitXAxis.times(-1));
+        assertTrue(nearlyEqual(xCrossNx.x, 0f));
+        assertTrue(nearlyEqual(xCrossNx.y, 0f));
+        assertTrue(nearlyEqual(xCrossNx.z, 0f));
+
+        AnyMotionDetector.Vector3 cross2 = case2A.cross(case2B);
+        assertTrue(nearlyEqual(cross2.x, -3));
+        assertTrue(nearlyEqual(cross2.y, 6));
+        assertTrue(nearlyEqual(cross2.z, -3));
+    }
+
+     public void testVector3Times() {
+         AnyMotionDetector.Vector3 yTimes2 = unitYAxis.times(2);
+         assertTrue(nearlyEqual(yTimes2.x, 0f));
+         assertTrue(nearlyEqual(yTimes2.y, 2f));
+         assertTrue(nearlyEqual(yTimes2.z, 0f));
+     }
+
+     public void testVector3Plus() {
+         AnyMotionDetector.Vector3 xPlusY = unitXAxis.plus(unitYAxis);
+         assertTrue(nearlyEqual(xPlusY.x, 1f));
+         assertTrue(nearlyEqual(xPlusY.y, 1f));
+         assertTrue(nearlyEqual(xPlusY.z, 0f));
+     }
+
+     public void testVector3Minus() {
+         AnyMotionDetector.Vector3 xMinusY = unitXAxis.minus(unitYAxis);
+         assertTrue(nearlyEqual(xMinusY.x, 1f));
+         assertTrue(nearlyEqual(xMinusY.y, -1f));
+         assertTrue(nearlyEqual(xMinusY.z, 0f));
+     }
+
+     public void testVector3DotProduct() {
+         float xDotX = unitXAxis.dotProduct(unitXAxis);
+         float xDotY = unitXAxis.dotProduct(unitYAxis);
+         float xDotZ = unitXAxis.dotProduct(unitZAxis);
+         assertTrue(nearlyEqual(xDotX, 1f));
+         assertTrue(nearlyEqual(xDotY, 0f));
+         assertTrue(nearlyEqual(xDotZ, 0f));
+     }
+}
diff --git a/services/tests/servicestests/src/com/android/server/am/ActivityManagerTest.java b/services/tests/servicestests/src/com/android/server/am/ActivityManagerTest.java
index 625fe77..bd9e6d1 100644
--- a/services/tests/servicestests/src/com/android/server/am/ActivityManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/am/ActivityManagerTest.java
@@ -43,7 +43,7 @@
 
     private void testTaskIdsForUser(int userId) throws RemoteException {
         List<ActivityManager.RecentTaskInfo> recentTasks = service.getRecentTasks(
-                100, 0, userId);
+                100, 0, userId).getList();
         if(recentTasks != null) {
             for(ActivityManager.RecentTaskInfo recentTask : recentTasks) {
                 int taskId = recentTask.persistentId;
diff --git a/services/tests/servicestests/src/com/android/server/connectivity/DnsEventListenerServiceTest.java b/services/tests/servicestests/src/com/android/server/connectivity/DnsEventListenerServiceTest.java
new file mode 100644
index 0000000..033b2c9
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/connectivity/DnsEventListenerServiceTest.java
@@ -0,0 +1,197 @@
+/*
+ * 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.
+ */
+
+package com.android.server.connectivity;
+
+import android.net.ConnectivityManager.NetworkCallback;
+import android.net.ConnectivityManager;
+import android.net.Network;
+import android.net.metrics.DnsEvent;
+import android.net.metrics.IDnsEventListener;
+import android.net.metrics.IpConnectivityLog;
+
+import junit.framework.TestCase;
+import org.junit.Before;
+import org.junit.Test;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.anyInt;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.timeout;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import java.io.FileOutputStream;
+import java.io.PrintWriter;
+import java.util.Arrays;
+import java.util.List;
+import java.util.OptionalInt;
+import java.util.stream.IntStream;
+
+public class DnsEventListenerServiceTest extends TestCase {
+
+    // TODO: read from DnsEventListenerService after this constant is read from system property
+    static final int BATCH_SIZE = 100;
+    static final int EVENT_TYPE = IDnsEventListener.EVENT_GETADDRINFO;
+    // TODO: read from IDnsEventListener
+    static final int RETURN_CODE = 1;
+
+    static final byte[] EVENT_TYPES  = new byte[BATCH_SIZE];
+    static final byte[] RETURN_CODES = new byte[BATCH_SIZE];
+    static final int[] LATENCIES     = new int[BATCH_SIZE];
+    static {
+        for (int i = 0; i < BATCH_SIZE; i++) {
+            EVENT_TYPES[i] = EVENT_TYPE;
+            RETURN_CODES[i] = RETURN_CODE;
+            LATENCIES[i] = i;
+        }
+    }
+
+    DnsEventListenerService mDnsService;
+
+    @Mock ConnectivityManager mCm;
+    @Mock IpConnectivityLog mLog;
+    ArgumentCaptor<NetworkCallback> mCallbackCaptor;
+    ArgumentCaptor<DnsEvent> mEvCaptor;
+
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mCallbackCaptor = ArgumentCaptor.forClass(NetworkCallback.class);
+        mEvCaptor = ArgumentCaptor.forClass(DnsEvent.class);
+        mDnsService = new DnsEventListenerService(mCm, mLog);
+
+        verify(mCm, times(1)).registerNetworkCallback(any(), mCallbackCaptor.capture());
+    }
+
+    public void testOneBatch() throws Exception {
+        log(105, LATENCIES);
+        log(106, Arrays.copyOf(LATENCIES, BATCH_SIZE - 1)); // one lookup short of a batch event
+
+        verifyLoggedEvents(new DnsEvent(105, EVENT_TYPES, RETURN_CODES, LATENCIES));
+
+        log(106, Arrays.copyOfRange(LATENCIES, BATCH_SIZE - 1, BATCH_SIZE));
+
+        mEvCaptor = ArgumentCaptor.forClass(DnsEvent.class); // reset argument captor
+        verifyLoggedEvents(
+            new DnsEvent(105, EVENT_TYPES, RETURN_CODES, LATENCIES),
+            new DnsEvent(106, EVENT_TYPES, RETURN_CODES, LATENCIES));
+    }
+
+    public void testSeveralBatches() throws Exception {
+        log(105, LATENCIES);
+        log(106, LATENCIES);
+        log(105, LATENCIES);
+        log(107, LATENCIES);
+
+        verifyLoggedEvents(
+            new DnsEvent(105, EVENT_TYPES, RETURN_CODES, LATENCIES),
+            new DnsEvent(106, EVENT_TYPES, RETURN_CODES, LATENCIES),
+            new DnsEvent(105, EVENT_TYPES, RETURN_CODES, LATENCIES),
+            new DnsEvent(107, EVENT_TYPES, RETURN_CODES, LATENCIES));
+    }
+
+    public void testBatchAndNetworkLost() throws Exception {
+        byte[] eventTypes = Arrays.copyOf(EVENT_TYPES, 20);
+        byte[] returnCodes = Arrays.copyOf(RETURN_CODES, 20);
+        int[] latencies = Arrays.copyOf(LATENCIES, 20);
+
+        log(105, LATENCIES);
+        log(105, latencies);
+        mCallbackCaptor.getValue().onLost(new Network(105));
+        log(105, LATENCIES);
+
+        verifyLoggedEvents(
+            new DnsEvent(105, eventTypes, returnCodes, latencies),
+            new DnsEvent(105, EVENT_TYPES, RETURN_CODES, LATENCIES),
+            new DnsEvent(105, EVENT_TYPES, RETURN_CODES, LATENCIES));
+    }
+
+    public void testConcurrentBatchesAndDumps() throws Exception {
+        final long stop = System.currentTimeMillis() + 100;
+        final PrintWriter pw = new PrintWriter(new FileOutputStream("/dev/null"));
+        new Thread() {
+            public void run() {
+                while (System.currentTimeMillis() < stop) {
+                    mDnsService.dump(pw);
+                }
+            }
+        }.start();
+
+        logAsync(105, LATENCIES);
+        logAsync(106, LATENCIES);
+        logAsync(107, LATENCIES);
+
+        verifyLoggedEvents(500,
+            new DnsEvent(105, EVENT_TYPES, RETURN_CODES, LATENCIES),
+            new DnsEvent(106, EVENT_TYPES, RETURN_CODES, LATENCIES),
+            new DnsEvent(107, EVENT_TYPES, RETURN_CODES, LATENCIES));
+    }
+
+    public void testConcurrentBatchesAndNetworkLoss() throws Exception {
+        logAsync(105, LATENCIES);
+        Thread.sleep(10L);
+        // call onLost() asynchronously to logAsync's onDnsEvent() calls.
+        mCallbackCaptor.getValue().onLost(new Network(105));
+
+        // do not verify unpredictable batch
+        verify(mLog, timeout(500).times(1)).log(any());
+    }
+
+    void log(int netId, int[] latencies) {
+        for (int l : latencies) {
+            mDnsService.onDnsEvent(netId, EVENT_TYPE, RETURN_CODE, l);
+        }
+    }
+
+    void logAsync(int netId, int[] latencies) {
+        new Thread() {
+            public void run() {
+                log(netId, latencies);
+            }
+        }.start();
+    }
+
+    void verifyLoggedEvents(DnsEvent... expected) {
+        verifyLoggedEvents(0, expected);
+    }
+
+    void verifyLoggedEvents(int wait, DnsEvent... expectedEvents) {
+        verify(mLog, timeout(wait).times(expectedEvents.length)).log(mEvCaptor.capture());
+        for (DnsEvent got : mEvCaptor.getAllValues()) {
+            OptionalInt index = IntStream.range(0, expectedEvents.length)
+                    .filter(i -> eventsEqual(expectedEvents[i], got))
+                    .findFirst();
+            // Don't match same expected event more than once.
+            index.ifPresent(i -> expectedEvents[i] = null);
+            assertTrue(index.isPresent());
+        }
+    }
+
+    /** equality function for DnsEvent to avoid overriding equals() and hashCode(). */
+    static boolean eventsEqual(DnsEvent expected, DnsEvent got) {
+        return (expected == got) || ((expected != null) && (got != null)
+                && (expected.netId == got.netId)
+                && Arrays.equals(expected.eventTypes, got.eventTypes)
+                && Arrays.equals(expected.returnCodes, got.returnCodes)
+                && Arrays.equals(expected.latenciesMs, got.latenciesMs));
+    }
+}
diff --git a/services/tests/servicestests/src/com/android/server/connectivity/MetricsLoggerServiceTest.java b/services/tests/servicestests/src/com/android/server/connectivity/MetricsLoggerServiceTest.java
new file mode 100644
index 0000000..5f84ea1
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/connectivity/MetricsLoggerServiceTest.java
@@ -0,0 +1,181 @@
+/*
+ * 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.
+ */
+
+package com.android.server.connectivity;
+
+import android.content.Context;
+import android.net.ConnectivityMetricsEvent;
+import android.os.Bundle;
+import android.os.RemoteException;
+import static android.net.ConnectivityMetricsEvent.Reference;
+
+import junit.framework.TestCase;
+import org.junit.Before;
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertArrayEquals;
+
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.io.FileDescriptor;
+import java.io.FileOutputStream;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+/*
+ * TODO:
+ *  - allow overriding MetricsLoggerService constants in tests.
+ *  - test intents are correctly sent after the notification threshold.
+ *  - test oldest events are correctly pushed out when internal deque is full.
+ *  - test throttling triggers correctly.
+ */
+public class MetricsLoggerServiceTest extends TestCase {
+
+    static final int COMPONENT_TAG = 1;
+    static final long N_EVENTS = 10L;
+    static final ConnectivityMetricsEvent EVENTS[] = new ConnectivityMetricsEvent[(int)N_EVENTS];
+    static {
+        for (int i = 0; i < N_EVENTS; i++) {
+            EVENTS[i] = new ConnectivityMetricsEvent(i, COMPONENT_TAG, i, new Bundle());
+        }
+    }
+
+    static final ConnectivityMetricsEvent NO_EVENTS[] = new ConnectivityMetricsEvent[0];
+
+    @Mock Context mContext;
+    MetricsLoggerService mService;
+
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mService = new MetricsLoggerService(mContext);
+        mService.onStart();
+    }
+
+    public void testGetNoEvents() throws Exception {
+        Reference r = new Reference(0);
+        assertArrayEquals(NO_EVENTS, mService.mBinder.getEvents(r));
+        assertEquals(0, r.getValue());
+    }
+
+    public void testLogAndGetEvents() throws Exception {
+        mService.mBinder.logEvents(EVENTS);
+
+        Reference r = new Reference(0);
+
+        assertArrayEquals(EVENTS, mService.mBinder.getEvents(r));
+        assertEquals(N_EVENTS, r.getValue());
+
+        assertArrayEquals(NO_EVENTS, mService.mBinder.getEvents(r));
+        assertEquals(N_EVENTS, r.getValue());
+    }
+
+    public void testLogOneByOne() throws Exception {
+        for (ConnectivityMetricsEvent ev : EVENTS) {
+            mService.mBinder.logEvent(ev);
+        }
+
+        Reference r = new Reference(0);
+
+        assertArrayEquals(EVENTS, mService.mBinder.getEvents(r));
+        assertEquals(N_EVENTS, r.getValue());
+
+        assertArrayEquals(NO_EVENTS, mService.mBinder.getEvents(r));
+        assertEquals(N_EVENTS, r.getValue());
+    }
+
+    public void testInterleavedLogAndGet() throws Exception {
+        mService.mBinder.logEvents(Arrays.copyOfRange(EVENTS, 0, 3));
+
+        Reference r = new Reference(0);
+
+        assertArrayEquals(Arrays.copyOfRange(EVENTS, 0, 3), mService.mBinder.getEvents(r));
+        assertEquals(3, r.getValue());
+
+        mService.mBinder.logEvents(Arrays.copyOfRange(EVENTS, 3, 8));
+        mService.mBinder.logEvents(Arrays.copyOfRange(EVENTS, 8, 10));
+
+        assertArrayEquals(Arrays.copyOfRange(EVENTS, 3, 10), mService.mBinder.getEvents(r));
+        assertEquals(N_EVENTS, r.getValue());
+
+        assertArrayEquals(NO_EVENTS, mService.mBinder.getEvents(r));
+        assertEquals(N_EVENTS, r.getValue());
+    }
+
+    public void testMultipleGetAll() throws Exception {
+        mService.mBinder.logEvents(Arrays.copyOf(EVENTS, 3));
+
+        Reference r1 = new Reference(0);
+        assertArrayEquals(Arrays.copyOf(EVENTS, 3), mService.mBinder.getEvents(r1));
+        assertEquals(3, r1.getValue());
+
+        mService.mBinder.logEvents(Arrays.copyOfRange(EVENTS, 3, 10));
+
+        Reference r2 = new Reference(0);
+        assertArrayEquals(EVENTS, mService.mBinder.getEvents(r2));
+        assertEquals(N_EVENTS, r2.getValue());
+    }
+
+    public void testLogAndDumpConcurrently() throws Exception {
+        for (int i = 0; i < 50; i++) {
+            mContext = null;
+            mService = null;
+            setUp();
+            logAndDumpConcurrently();
+        }
+    }
+
+    public void logAndDumpConcurrently() throws Exception {
+        final CountDownLatch latch = new CountDownLatch((int)N_EVENTS);
+        final FileDescriptor fd = new FileOutputStream("/dev/null").getFD();
+
+        for (ConnectivityMetricsEvent ev : EVENTS) {
+            new Thread() {
+                public void run() {
+                    mService.mBinder.logEvent(ev);
+                    latch.countDown();
+                }
+            }.start();
+        }
+
+        new Thread() {
+            public void run() {
+                while (latch.getCount() > 0) {
+                    mService.mBinder.dump(fd, new String[]{"--all"});
+                }
+            }
+        }.start();
+
+        latch.await(100, TimeUnit.MILLISECONDS);
+
+        Reference r = new Reference(0);
+        ConnectivityMetricsEvent[] got = mService.mBinder.getEvents(r);
+        Arrays.sort(got, new EventComparator());
+        assertArrayEquals(EVENTS, got);
+        assertEquals(N_EVENTS, r.getValue());
+    }
+
+    static class EventComparator implements Comparator<ConnectivityMetricsEvent> {
+        public int compare(ConnectivityMetricsEvent ev1, ConnectivityMetricsEvent ev2) {
+            return Long.compare(ev1.timestamp, ev2.timestamp);
+        }
+        public boolean equal(Object o) {
+            return o instanceof EventComparator;
+        }
+    };
+}
diff --git a/services/tests/servicestests/src/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java b/services/tests/servicestests/src/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java
new file mode 100644
index 0000000..a30b362
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java
@@ -0,0 +1,277 @@
+/*
+ * 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.
+ */
+
+package com.android.server.connectivity.tethering;
+
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.inOrder;
+import static org.mockito.Mockito.reset;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import static android.net.ConnectivityManager.TETHER_ERROR_ENABLE_NAT_ERROR;
+import static android.net.ConnectivityManager.TETHER_ERROR_NO_ERROR;
+import static android.net.ConnectivityManager.TETHER_ERROR_TETHER_IFACE_ERROR;
+import static android.net.ConnectivityManager.TETHER_ERROR_UNTETHER_IFACE_ERROR;
+import static com.android.server.connectivity.tethering.IControlsTethering.STATE_AVAILABLE;
+import static com.android.server.connectivity.tethering.IControlsTethering.STATE_TETHERED;
+import static com.android.server.connectivity.tethering.IControlsTethering.STATE_UNAVAILABLE;
+
+import android.net.ConnectivityManager;
+import android.net.INetworkStatsService;
+import android.net.InterfaceConfiguration;
+import android.os.INetworkManagementService;
+import android.os.RemoteException;
+import android.os.test.TestLooper;
+import android.support.test.filters.SmallTest;
+import android.support.test.runner.AndroidJUnit4;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InOrder;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@RunWith(AndroidJUnit4.class)
+@SmallTest
+public class TetherInterfaceStateMachineTest {
+    private static final String IFACE_NAME = "testnet1";
+    private static final String UPSTREAM_IFACE = "upstream0";
+    private static final String UPSTREAM_IFACE2 = "upstream1";
+
+    @Mock private INetworkManagementService mNMService;
+    @Mock private INetworkStatsService mStatsService;
+    @Mock private IControlsTethering mTetherHelper;
+    @Mock private InterfaceConfiguration mInterfaceConfiguration;
+
+    private final TestLooper mLooper = new TestLooper();
+    private TetherInterfaceStateMachine mTestedSm;
+
+    private void initStateMachine(int interfaceType) throws Exception {
+        mTestedSm = new TetherInterfaceStateMachine(IFACE_NAME, mLooper.getLooper(), interfaceType,
+                mNMService, mStatsService, mTetherHelper);
+        mTestedSm.start();
+        // Starting the state machine always puts us in a consistent state and notifies
+        // the test of the world that we've changed from an unknown to available state.
+        mLooper.dispatchAll();
+        reset(mNMService, mStatsService, mTetherHelper);
+        when(mNMService.getInterfaceConfig(IFACE_NAME)).thenReturn(mInterfaceConfiguration);
+    }
+
+    private void initTetheredStateMachine(int interfaceType, String upstreamIface) throws Exception {
+        initStateMachine(interfaceType);
+        dispatchCommand(TetherInterfaceStateMachine.CMD_TETHER_REQUESTED);
+        if (upstreamIface != null) {
+            dispatchTetherConnectionChanged(upstreamIface);
+        }
+        reset(mNMService, mStatsService, mTetherHelper);
+        when(mNMService.getInterfaceConfig(IFACE_NAME)).thenReturn(mInterfaceConfiguration);
+    }
+
+    @Before public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+    }
+
+    @Test
+    public void startsOutAvailable() {
+        mTestedSm = new TetherInterfaceStateMachine(IFACE_NAME, mLooper.getLooper(),
+                ConnectivityManager.TETHERING_BLUETOOTH, mNMService, mStatsService, mTetherHelper);
+        mTestedSm.start();
+        mLooper.dispatchAll();
+        verify(mTetherHelper).notifyInterfaceStateChange(
+                IFACE_NAME, mTestedSm, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR);
+        verifyNoMoreInteractions(mTetherHelper, mNMService, mStatsService);
+    }
+
+    @Test
+    public void shouldDoNothingUntilRequested() throws Exception {
+        initStateMachine(ConnectivityManager.TETHERING_BLUETOOTH);
+        final int [] NOOP_COMMANDS = {
+            TetherInterfaceStateMachine.CMD_TETHER_UNREQUESTED,
+            TetherInterfaceStateMachine.CMD_IP_FORWARDING_ENABLE_ERROR,
+            TetherInterfaceStateMachine.CMD_IP_FORWARDING_DISABLE_ERROR,
+            TetherInterfaceStateMachine.CMD_START_TETHERING_ERROR,
+            TetherInterfaceStateMachine.CMD_STOP_TETHERING_ERROR,
+            TetherInterfaceStateMachine.CMD_SET_DNS_FORWARDERS_ERROR,
+            TetherInterfaceStateMachine.CMD_TETHER_CONNECTION_CHANGED
+        };
+        for (int command : NOOP_COMMANDS) {
+            // None of these commands should trigger us to request action from
+            // the rest of the system.
+            dispatchCommand(command);
+            verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+        }
+    }
+
+    @Test
+    public void handlesImmediateInterfaceDown() throws Exception {
+        initStateMachine(ConnectivityManager.TETHERING_BLUETOOTH);
+
+        dispatchCommand(TetherInterfaceStateMachine.CMD_INTERFACE_DOWN);
+        verify(mTetherHelper).notifyInterfaceStateChange(
+                IFACE_NAME, mTestedSm, STATE_UNAVAILABLE, TETHER_ERROR_NO_ERROR);
+        verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+    }
+
+    @Test
+    public void canBeTethered() throws Exception {
+        initStateMachine(ConnectivityManager.TETHERING_BLUETOOTH);
+
+        dispatchCommand(TetherInterfaceStateMachine.CMD_TETHER_REQUESTED);
+        InOrder inOrder = inOrder(mTetherHelper, mNMService);
+        inOrder.verify(mNMService).tetherInterface(IFACE_NAME);
+        inOrder.verify(mTetherHelper).notifyInterfaceStateChange(
+                IFACE_NAME, mTestedSm, STATE_TETHERED, TETHER_ERROR_NO_ERROR);
+        verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+    }
+
+    @Test
+    public void canUnrequestTethering() throws Exception {
+        initTetheredStateMachine(ConnectivityManager.TETHERING_BLUETOOTH, null);
+
+        dispatchCommand(TetherInterfaceStateMachine.CMD_TETHER_UNREQUESTED);
+        InOrder inOrder = inOrder(mNMService, mStatsService, mTetherHelper);
+        inOrder.verify(mNMService).untetherInterface(IFACE_NAME);
+        inOrder.verify(mTetherHelper).notifyInterfaceStateChange(
+                IFACE_NAME, mTestedSm, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR);
+        verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+    }
+
+    @Test
+    public void canBeTetheredAsUsb() throws Exception {
+        initStateMachine(ConnectivityManager.TETHERING_USB);
+
+        dispatchCommand(TetherInterfaceStateMachine.CMD_TETHER_REQUESTED);
+        InOrder inOrder = inOrder(mTetherHelper, mNMService);
+        inOrder.verify(mNMService).getInterfaceConfig(IFACE_NAME);
+        inOrder.verify(mNMService).setInterfaceConfig(IFACE_NAME, mInterfaceConfiguration);
+        inOrder.verify(mNMService).tetherInterface(IFACE_NAME);
+        inOrder.verify(mTetherHelper).notifyInterfaceStateChange(
+                IFACE_NAME, mTestedSm, STATE_TETHERED, TETHER_ERROR_NO_ERROR);
+        verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+    }
+
+    @Test
+    public void handlesFirstUpstreamChange() throws Exception {
+        initTetheredStateMachine(ConnectivityManager.TETHERING_BLUETOOTH, null);
+
+        // Telling the state machine about its upstream interface triggers a little more configuration.
+        dispatchTetherConnectionChanged(UPSTREAM_IFACE);
+        InOrder inOrder = inOrder(mNMService);
+        inOrder.verify(mNMService).enableNat(IFACE_NAME, UPSTREAM_IFACE);
+        inOrder.verify(mNMService).startInterfaceForwarding(IFACE_NAME, UPSTREAM_IFACE);
+        verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+    }
+
+    @Test
+    public void handlesChangingUpstream() throws Exception {
+        initTetheredStateMachine(ConnectivityManager.TETHERING_BLUETOOTH, UPSTREAM_IFACE);
+
+        dispatchTetherConnectionChanged(UPSTREAM_IFACE2);
+        InOrder inOrder = inOrder(mNMService, mStatsService);
+        inOrder.verify(mStatsService).forceUpdate();
+        inOrder.verify(mNMService).stopInterfaceForwarding(IFACE_NAME, UPSTREAM_IFACE);
+        inOrder.verify(mNMService).disableNat(IFACE_NAME, UPSTREAM_IFACE);
+        inOrder.verify(mNMService).enableNat(IFACE_NAME, UPSTREAM_IFACE2);
+        inOrder.verify(mNMService).startInterfaceForwarding(IFACE_NAME, UPSTREAM_IFACE2);
+        verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+    }
+
+    @Test
+    public void canUnrequestTetheringWithUpstream() throws Exception {
+        initTetheredStateMachine(ConnectivityManager.TETHERING_BLUETOOTH, UPSTREAM_IFACE);
+
+        dispatchCommand(TetherInterfaceStateMachine.CMD_TETHER_UNREQUESTED);
+        InOrder inOrder = inOrder(mNMService, mStatsService, mTetherHelper);
+        inOrder.verify(mStatsService).forceUpdate();
+        inOrder.verify(mNMService).stopInterfaceForwarding(IFACE_NAME, UPSTREAM_IFACE);
+        inOrder.verify(mNMService).disableNat(IFACE_NAME, UPSTREAM_IFACE);
+        inOrder.verify(mNMService).untetherInterface(IFACE_NAME);
+        inOrder.verify(mTetherHelper).notifyInterfaceStateChange(
+                IFACE_NAME, mTestedSm, STATE_AVAILABLE, TETHER_ERROR_NO_ERROR);
+        verifyNoMoreInteractions(mNMService, mStatsService, mTetherHelper);
+    }
+
+    @Test
+    public void interfaceDownLeadsToUnavailable() throws Exception {
+        for (boolean shouldThrow : new boolean[]{true, false}) {
+            initTetheredStateMachine(ConnectivityManager.TETHERING_USB, null);
+
+            if (shouldThrow) {
+                doThrow(RemoteException.class).when(mNMService).untetherInterface(IFACE_NAME);
+            }
+            dispatchCommand(TetherInterfaceStateMachine.CMD_INTERFACE_DOWN);
+            InOrder usbTeardownOrder = inOrder(mNMService, mInterfaceConfiguration, mTetherHelper);
+            usbTeardownOrder.verify(mInterfaceConfiguration).setInterfaceDown();
+            usbTeardownOrder.verify(mNMService).setInterfaceConfig(
+                    IFACE_NAME, mInterfaceConfiguration);
+            usbTeardownOrder.verify(mTetherHelper).notifyInterfaceStateChange(
+                    IFACE_NAME, mTestedSm, STATE_UNAVAILABLE, TETHER_ERROR_NO_ERROR);
+        }
+    }
+
+    @Test
+    public void usbShouldBeTornDownOnTetherError() throws Exception {
+        initStateMachine(ConnectivityManager.TETHERING_USB);
+
+        doThrow(RemoteException.class).when(mNMService).tetherInterface(IFACE_NAME);
+        dispatchCommand(TetherInterfaceStateMachine.CMD_TETHER_REQUESTED);
+        InOrder usbTeardownOrder = inOrder(mNMService, mInterfaceConfiguration, mTetherHelper);
+        usbTeardownOrder.verify(mInterfaceConfiguration).setInterfaceDown();
+        usbTeardownOrder.verify(mNMService).setInterfaceConfig(
+                IFACE_NAME, mInterfaceConfiguration);
+        usbTeardownOrder.verify(mTetherHelper).notifyInterfaceStateChange(
+                IFACE_NAME, mTestedSm, STATE_AVAILABLE, TETHER_ERROR_TETHER_IFACE_ERROR);
+    }
+
+    @Test
+    public void shouldTearDownUsbOnUpstreamError() throws Exception {
+        initTetheredStateMachine(ConnectivityManager.TETHERING_USB, null);
+
+        doThrow(RemoteException.class).when(mNMService).enableNat(anyString(), anyString());
+        dispatchTetherConnectionChanged(UPSTREAM_IFACE);
+        InOrder usbTeardownOrder = inOrder(mNMService, mInterfaceConfiguration, mTetherHelper);
+        usbTeardownOrder.verify(mInterfaceConfiguration).setInterfaceDown();
+        usbTeardownOrder.verify(mNMService).setInterfaceConfig(IFACE_NAME, mInterfaceConfiguration);
+        usbTeardownOrder.verify(mTetherHelper).notifyInterfaceStateChange(
+                IFACE_NAME, mTestedSm, STATE_AVAILABLE, TETHER_ERROR_ENABLE_NAT_ERROR);
+    }
+
+    /**
+     * Send a command to the state machine under test, and run the event loop to idle.
+     *
+     * @param command One of the TetherInterfaceStateMachine.CMD_* constants.
+     */
+    private void dispatchCommand(int command) {
+        mTestedSm.sendMessage(command);
+        mLooper.dispatchAll();
+    }
+
+    /**
+     * Special override to tell the state machine that the upstream interface has changed.
+     *
+     * @see #dispatchCommand(int)
+     * @param upstreamIface String name of upstream interface (or null)
+     */
+    private void dispatchTetherConnectionChanged(String upstreamIface) {
+        mTestedSm.sendMessage(TetherInterfaceStateMachine.CMD_TETHER_CONNECTION_CHANGED,
+                upstreamIface);
+        mLooper.dispatchAll();
+    }
+}
\ No newline at end of file
diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java
index 744443f..6cb4a82 100644
--- a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java
+++ b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java
@@ -28,10 +28,8 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.os.UserManagerInternal;
-import android.os.storage.StorageManager;
 import android.telephony.TelephonyManager;
 import android.util.ArrayMap;
-import android.util.Log;
 import android.util.Pair;
 import android.view.IWindowManager;
 
@@ -57,7 +55,7 @@
         private final File mProfileOwnerBase;
 
         public OwnersTestable(DpmMockContext context) {
-            super(context, context.userManager, context.userManagerInternal);
+            super(context.userManager, context.userManagerInternal, context.packageManagerInternal);
             mLegacyFile = new File(context.dataDir, LEGACY_FILE);
             mDeviceOwnerFile = new File(context.dataDir, DEVICE_OWNER_FILE);
             mProfileOwnerBase = new File(context.dataDir, PROFILE_OWNER_FILE_BASE);
diff --git a/services/tests/servicestests/src/com/android/server/notification/BuzzBeepBlinkTest.java b/services/tests/servicestests/src/com/android/server/notification/BuzzBeepBlinkTest.java
index 83a59fd..d51f2d8 100644
--- a/services/tests/servicestests/src/com/android/server/notification/BuzzBeepBlinkTest.java
+++ b/services/tests/servicestests/src/com/android/server/notification/BuzzBeepBlinkTest.java
@@ -76,6 +76,7 @@
         mService.setVibrator(mVibrator);
         mService.setSystemReady(true);
         mService.setHandler(mHandler);
+        mService.setSystemNotificationSound("beep!");
     }
 
     //
diff --git a/services/tests/servicestests/src/com/android/server/notification/RateEstimatorTest.java b/services/tests/servicestests/src/com/android/server/notification/RateEstimatorTest.java
index b5698d5..3278cf1 100644
--- a/services/tests/servicestests/src/com/android/server/notification/RateEstimatorTest.java
+++ b/services/tests/servicestests/src/com/android/server/notification/RateEstimatorTest.java
@@ -59,6 +59,15 @@
     }
 
     @SmallTest
+    public void testInstantaneousBurstIsEstimatedUnderTwoPercent() throws Exception {
+        assertUpdateTime(mTestStartTime);
+        long eventStart = mTestStartTime + 1000; // start event a long time after initialization
+        long nextEventTime = postEvents(eventStart, 0, 5); // five events at \inf
+        final float rate = mEstimator.getRate(nextEventTime);
+        assertLessThan("Rate", rate, 20f);
+    }
+
+    @SmallTest
     public void testCompactBurstIsEstimatedUnderTwoPercent() throws Exception {
         assertUpdateTime(mTestStartTime);
         long eventStart = mTestStartTime + 1000; // start event a long time after initialization
@@ -110,12 +119,19 @@
         assertLessThan("Rate", rate, 0.1f);
     }
 
+    @SmallTest
+    public void testGetRateWithOneUpdate() throws Exception {
+        assertUpdateTime(mTestStartTime);
+        final float rate = mEstimator.getRate(mTestStartTime+1);
+        assertLessThan("Rate", rate, 1f);
+    }
+
     private void assertLessThan(String label, float a, float b)  {
-        assertTrue(String.format("%s was %f, but should be less than %f", label, a, b), a < b);
+        assertTrue(String.format("%s was %f, but should be less than %f", label, a, b), a <= b);
     }
 
     private void assertGreaterThan(String label, float a, float b)  {
-        assertTrue(String.format("%s was %f, but should be more than %f", label, a, b), a > b);
+        assertTrue(String.format("%s was %f, but should be more than %f", label, a, b), a >= b);
     }
 
     /** @returns the next event time. */
diff --git a/services/tests/servicestests/src/com/android/server/pm/BaseShortcutManagerTest.java b/services/tests/servicestests/src/com/android/server/pm/BaseShortcutManagerTest.java
index 8ce7304..3f6ab36 100644
--- a/services/tests/servicestests/src/com/android/server/pm/BaseShortcutManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/BaseShortcutManagerTest.java
@@ -29,6 +29,7 @@
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -37,6 +38,7 @@
 import android.annotation.RequiresPermission;
 import android.annotation.UserIdInt;
 import android.app.Activity;
+import android.app.ActivityManagerInternal;
 import android.app.IUidObserver;
 import android.app.usage.UsageStatsManagerInternal;
 import android.content.BroadcastReceiver;
@@ -52,6 +54,7 @@
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManagerInternal;
+import android.content.pm.ResolveInfo;
 import android.content.pm.ShortcutInfo;
 import android.content.pm.ShortcutManager;
 import android.content.pm.ShortcutServiceInternal;
@@ -65,6 +68,7 @@
 import android.os.FileUtils;
 import android.os.Handler;
 import android.os.Looper;
+import android.os.PersistableBundle;
 import android.os.Process;
 import android.os.UserHandle;
 import android.os.UserManager;
@@ -97,6 +101,7 @@
 import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
+import java.util.function.BiFunction;
 import java.util.function.BiPredicate;
 import java.util.function.Consumer;
 
@@ -113,6 +118,8 @@
 
     protected static final String[] EMPTY_STRINGS = new String[0]; // Just for readability.
 
+    protected static final String MAIN_ACTIVITY_CLASS = "MainActivity";
+
     // public for mockito
     public class BaseContext extends MockContext {
         @Override
@@ -198,7 +205,7 @@
         IUidObserver mUidObserver;
 
         public ShortcutServiceTestable(ServiceContext context, Looper looper) {
-            super(context, looper);
+            super(context, looper, /* onyForPackageManagerApis */ false);
             mContext = context;
         }
 
@@ -293,25 +300,79 @@
         }
 
         @Override
-        PackageInfo injectPackageInfo(String packageName, @UserIdInt int userId,
+        PackageInfo injectPackageInfoWithUninstalled(String packageName, @UserIdInt int userId,
                 boolean getSignatures) {
             return getInjectedPackageInfo(packageName, userId, getSignatures);
         }
 
         @Override
-        ApplicationInfo injectApplicationInfo(String packageName, @UserIdInt int userId) {
-            PackageInfo pi = injectPackageInfo(packageName, userId, /* getSignatures= */ false);
+        ApplicationInfo injectApplicationInfoWithUninstalled(
+                String packageName, @UserIdInt int userId) {
+            PackageInfo pi = injectPackageInfoWithUninstalled(
+                    packageName, userId, /* getSignatures= */ false);
             return pi != null ? pi.applicationInfo : null;
         }
 
         @Override
-        List<PackageInfo> injectInstalledPackages(@UserIdInt int userId) {
-            return getInstalledPackages(userId);
+        List<PackageInfo> injectGetPackagesWithUninstalled(@UserIdInt int userId) {
+            return BaseShortcutManagerTest.this.getInstalledPackagesWithUninstalled(userId);
         }
 
         @Override
-        PackageInfo injectGetActivitiesWithMetadata(String packageName, @UserIdInt int userId) {
-            return mContext.injectGetActivitiesWithMetadata(packageName, userId);
+        ActivityInfo injectGetActivityInfoWithMetadataWithUninstalled(ComponentName activity,
+                @UserIdInt int userId) {
+            final PackageInfo pi = mContext.injectGetActivitiesWithMetadata(
+                    activity.getPackageName(), userId);
+            if (pi == null || pi.activities == null) {
+                return null;
+            }
+            for (ActivityInfo ai : pi.activities) {
+                if (!mEnabledActivityChecker.test(ai.getComponentName(), userId)) {
+                    continue;
+                }
+                if (activity.equals(ai.getComponentName())) {
+                    return ai;
+                }
+            }
+            return null;
+        }
+
+        @Override
+        boolean injectIsMainActivity(@NonNull ComponentName activity, int userId) {
+            if (!mEnabledActivityChecker.test(activity, userId)) {
+                return false;
+            }
+            return mMainActivityChecker.test(activity, userId);
+        }
+
+        @Override
+        List<ResolveInfo> injectGetMainActivities(@NonNull String packageName, int userId) {
+            final PackageInfo pi = mContext.injectGetActivitiesWithMetadata(
+                    packageName, userId);
+            if (pi == null || pi.activities == null) {
+                return null;
+            }
+            final ArrayList<ResolveInfo> ret = new ArrayList<>(pi.activities.length);
+            for (int i = 0; i < pi.activities.length; i++) {
+                if (!mEnabledActivityChecker.test(pi.activities[i].getComponentName(), userId)) {
+                    continue;
+                }
+                final ResolveInfo ri = new ResolveInfo();
+                ri.activityInfo = pi.activities[i];
+                ret.add(ri);
+            }
+
+            return ret;
+        }
+
+        @Override
+        ComponentName injectGetDefaultMainActivity(@NonNull String packageName, int userId) {
+            return mMainActivityFetcher.apply(packageName, userId);
+        }
+
+        @Override
+        boolean injectIsActivityEnabledAndExported(ComponentName activity, @UserIdInt int userId) {
+            return mEnabledActivityChecker.test(activity, userId);
         }
 
         @Override
@@ -334,6 +395,11 @@
         }
 
         @Override
+        boolean injectIsSafeModeEnabled() {
+            return mSafeMode;
+        }
+
+        @Override
         void wtf(String message, Exception e) {
             // During tests, WTF is fatal.
             fail(message + "  exception: " + e);
@@ -407,6 +473,13 @@
         void injectRestoreCallingIdentity(long token) {
             mInjectedCallingUid = (int) token;
         }
+
+        @Override
+        protected void startShortcutIntentAsPublisher(@NonNull Intent intent,
+                @NonNull String publisherPackage, Bundle startActivityOptions, int userId) {
+            // Just forward to startActivityAsUser() during unit tests.
+            mContext.startActivityAsUser(intent, startActivityOptions, UserHandle.of(userId));
+        }
     }
 
     protected class LauncherAppsTestable extends LauncherApps {
@@ -440,6 +513,8 @@
 
     protected File mInjectedFilePathRoot;
 
+    protected boolean mSafeMode;
+
     protected long mInjectedCurrentTimeMillis;
 
     protected boolean mInjectedIsLowRamDevice;
@@ -457,6 +532,7 @@
     protected PackageManagerInternal mMockPackageManagerInternal;
     protected UserManager mMockUserManager;
     protected UsageStatsManagerInternal mMockUsageStatsManagerInternal;
+    protected ActivityManagerInternal mMockActivityManagerInternal;
 
     protected static final String CALLING_PACKAGE_1 = "com.android.test.1";
     protected static final int CALLING_UID_1 = 10001;
@@ -511,6 +587,15 @@
             LAUNCHER_1.equals(callingPackage) || LAUNCHER_2.equals(callingPackage)
             || LAUNCHER_3.equals(callingPackage) || LAUNCHER_4.equals(callingPackage);
 
+    protected BiPredicate<ComponentName, Integer> mMainActivityChecker =
+            (activity, userId) -> true;
+
+    protected BiFunction<String, Integer, ComponentName> mMainActivityFetcher =
+            (packageName, userId) -> new ComponentName(packageName, MAIN_ACTIVITY_CLASS);
+
+    protected BiPredicate<ComponentName, Integer> mEnabledActivityChecker
+            = (activity, userId) -> true; // all activities are enabled.
+
     protected static final long START_TIME = 1440000000101L;
 
     protected static final long INTERVAL = 10000;
@@ -532,7 +617,7 @@
 
     static {
         QUERY_ALL.setQueryFlags(
-                ShortcutQuery.FLAG_GET_DYNAMIC | ShortcutQuery.FLAG_GET_PINNED);
+                ShortcutQuery.FLAG_GET_ALL_KINDS);
     }
 
     @Override
@@ -546,11 +631,14 @@
         mMockPackageManagerInternal = mock(PackageManagerInternal.class);
         mMockUserManager = mock(UserManager.class);
         mMockUsageStatsManagerInternal = mock(UsageStatsManagerInternal.class);
+        mMockActivityManagerInternal = mock(ActivityManagerInternal.class);
 
         LocalServices.removeServiceForTest(PackageManagerInternal.class);
         LocalServices.addService(PackageManagerInternal.class, mMockPackageManagerInternal);
         LocalServices.removeServiceForTest(UsageStatsManagerInternal.class);
         LocalServices.addService(UsageStatsManagerInternal.class, mMockUsageStatsManagerInternal);
+        LocalServices.removeServiceForTest(ActivityManagerInternal.class);
+        LocalServices.addService(ActivityManagerInternal.class, mMockActivityManagerInternal);
 
         // Prepare injection values.
 
@@ -697,6 +785,10 @@
         return getInstrumentation().getContext();
     }
 
+    protected ShortcutManager getManager() {
+        return mManager;
+    }
+
     protected void deleteAllSavedFiles() {
         // Empty the data directory.
         if (mInjectedFilePathRoot.exists()) {
@@ -738,6 +830,9 @@
         if (mService != null) {
             // Flush all the unsaved data from the previous instance.
             mService.saveDirtyInfo();
+
+            // Make sure everything is consistent.
+            mService.verifyStates();
         }
         LocalServices.removeServiceForTest(ShortcutServiceInternal.class);
 
@@ -862,7 +957,7 @@
         }
     }
 
-    private List<PackageInfo> getInstalledPackages(int userId) {
+    private List<PackageInfo> getInstalledPackagesWithUninstalled(int userId) {
         final ArrayList<PackageInfo> ret = new ArrayList<>();
 
         addPackageInfo(getInjectedPackageInfo(CALLING_PACKAGE_1, userId, false), ret);
@@ -901,6 +996,7 @@
                 ai.name = cn.getClassName();
                 ai.metaData = new Bundle();
                 ai.metaData.putInt(ShortcutParser.METADATA_KEY, activities.get(cn));
+                ai.applicationInfo = ret.applicationInfo;
                 list.add(ai);
             }
             ret.activities = list.toArray(new ActivityInfo[list.size()]);
@@ -1043,10 +1139,6 @@
                 + "/" + ShortcutService.FILENAME_USER_PACKAGES, message);
     }
 
-    protected void waitOnMainThread() throws Throwable {
-        runTestOnUiThread(() -> {});
-    }
-
     /**
      * Make a shortcut with an ID.
      */
@@ -1127,6 +1219,12 @@
                 makeIntent(Intent.ACTION_VIEW, ShortcutActivity.class), /* rank =*/ 0);
     }
 
+    protected ShortcutInfo makeShortcutWithIntent(String id, Intent intent) {
+        return makeShortcut(
+                id, "Title-" + id, /* activity =*/ null, /* icon =*/ null,
+                intent, /* rank =*/ 0);
+    }
+
     protected ShortcutInfo makeShortcutWithActivityAndTitle(String id, ComponentName activity,
             String title) {
         return makeShortcut(
@@ -1146,10 +1244,9 @@
      */
     protected ShortcutInfo makeShortcut(String id, String title, ComponentName activity,
             Icon icon, Intent intent, int rank) {
-        final ShortcutInfo.Builder  b = new ShortcutInfo.Builder(mClientContext)
-                .setId(id)
+        final ShortcutInfo.Builder  b = new ShortcutInfo.Builder(mClientContext, id)
                 .setActivity(new ComponentName(mClientContext.getPackageName(), "dummy"))
-                .setTitle(title)
+                .setShortLabel(title)
                 .setRank(rank)
                 .setIntent(intent);
         if (icon != null) {
@@ -1166,6 +1263,23 @@
     }
 
     /**
+     * Make a shortcut with details.
+     */
+    protected ShortcutInfo makeShortcutWithExtras(String id, Intent intent,
+            PersistableBundle extras) {
+        final ShortcutInfo.Builder  b = new ShortcutInfo.Builder(mClientContext, id)
+                .setActivity(new ComponentName(mClientContext.getPackageName(), "dummy"))
+                .setShortLabel("title-" + id)
+                .setExtras(extras)
+                .setIntent(intent);
+        final ShortcutInfo s = b.build();
+
+        s.setTimestamp(mInjectedCurrentTimeMillis); // HACK
+
+        return s;
+    }
+
+    /**
      * Make an intent.
      */
     protected Intent makeIntent(String action, Class<?> clazz, Object... bundleKeysAndValues) {
@@ -1236,8 +1350,8 @@
     protected Intent launchShortcutAndGetIntent(
             @NonNull String packageName, @NonNull String shortcutId, int userId) {
         reset(mServiceContext);
-        assertTrue(mLauncherApps.startShortcut(packageName, shortcutId, null, null,
-                UserHandle.of(userId)));
+        mLauncherApps.startShortcut(packageName, shortcutId, null, null,
+                UserHandle.of(userId));
 
         final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
         verify(mServiceContext).startActivityAsUser(
@@ -1251,8 +1365,8 @@
             @NonNull String packageName, @NonNull String shortcutId, int userId) {
         reset(mServiceContext);
 
-        assertTrue(mLauncherApps.startShortcut(
-                getShortcutInfoAsLauncher(packageName, shortcutId, userId), null, null));
+        mLauncherApps.startShortcut(
+                getShortcutInfoAsLauncher(packageName, shortcutId, userId), null, null);
 
         final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
         verify(mServiceContext).startActivityAsUser(
@@ -1270,16 +1384,19 @@
 
     protected void assertShortcutNotLaunchable(@NonNull String packageName,
             @NonNull String shortcutId, int userId) {
+        reset(mServiceContext);
         try {
-            final boolean ok = mLauncherApps.startShortcut(packageName, shortcutId, null, null,
+            mLauncherApps.startShortcut(packageName, shortcutId, null, null,
                     UserHandle.of(userId));
-            if (!ok) {
-                return; // didn't launch, okay.
-            }
-            fail();
         } catch (SecurityException expected) {
-            // security exception is okay too.
+            // security exception is okay.
+            return;
         }
+        // This shouldn't have been called.
+        verify(mServiceContext, times(0)).startActivityAsUser(
+                any(Intent.class),
+                any(Bundle.class),
+                any(UserHandle.class));
     }
 
     protected void assertBitmapDirectories(int userId, String... expectedDirectories) {
@@ -1358,14 +1475,18 @@
         return infoList.get(0);
     }
 
-    protected Intent genPackageAddIntent(String pakcageName, int userId) {
+    protected Intent genPackageAddIntent(String packageName, int userId) {
+        installPackage(userId, packageName);
+
         Intent i = new Intent(Intent.ACTION_PACKAGE_ADDED);
-        i.setData(Uri.parse("package:" + pakcageName));
+        i.setData(Uri.parse("package:" + packageName));
         i.putExtra(Intent.EXTRA_USER_HANDLE, userId);
         return i;
     }
 
     protected Intent genPackageDeleteIntent(String pakcageName, int userId) {
+        uninstallPackage(userId, pakcageName);
+
         Intent i = new Intent(Intent.ACTION_PACKAGE_REMOVED);
         i.setData(Uri.parse("package:" + pakcageName));
         i.putExtra(Intent.EXTRA_USER_HANDLE, userId);
@@ -1373,6 +1494,8 @@
     }
 
     protected Intent genPackageUpdateIntent(String pakcageName, int userId) {
+        installPackage(userId, pakcageName);
+
         Intent i = new Intent(Intent.ACTION_PACKAGE_ADDED);
         i.setData(Uri.parse("package:" + pakcageName));
         i.putExtra(Intent.EXTRA_USER_HANDLE, userId);
@@ -1380,6 +1503,13 @@
         return i;
     }
 
+    protected Intent genPackageChangedIntent(String pakcageName, int userId) {
+        Intent i = new Intent(Intent.ACTION_PACKAGE_CHANGED);
+        i.setData(Uri.parse("package:" + pakcageName));
+        i.putExtra(Intent.EXTRA_USER_HANDLE, userId);
+        return i;
+    }
+
     protected Intent genPackageDataClear(String packageName, int userId) {
         Intent i = new Intent(Intent.ACTION_PACKAGE_DATA_CLEARED);
         i.setData(Uri.parse("package:" + packageName));
@@ -1427,7 +1557,7 @@
     protected static ShortcutQuery buildAllQuery(String packageName) {
         final ShortcutQuery q = new ShortcutQuery();
         q.setPackage(packageName);
-        q.setQueryFlags(ShortcutQuery.FLAG_GET_DYNAMIC | ShortcutQuery.FLAG_GET_PINNED);
+        q.setQueryFlags(ShortcutQuery.FLAG_GET_ALL_KINDS);
         return q;
     }
 
@@ -1438,6 +1568,12 @@
         return q;
     }
 
+    protected static ShortcutQuery buildQueryWithFlags(int queryFlags) {
+        final ShortcutQuery q = new ShortcutQuery();
+        q.setQueryFlags(queryFlags);
+        return q;
+    }
+
     protected void backupAndRestore() {
         int prevUid = mInjectedCallingUid;
 
@@ -1577,4 +1713,38 @@
                     makeShortcut("x1"), makeShortcut("x2"), makeShortcut("x3"))));
         });
     }
+
+    public static List<ShortcutInfo> assertAllHaveIconResId(
+            List<ShortcutInfo> actualShortcuts) {
+        for (ShortcutInfo s : actualShortcuts) {
+            assertTrue("ID " + s.getId() + " not have icon res ID", s.hasIconResource());
+            assertFalse("ID " + s.getId() + " shouldn't have icon FD", s.hasIconFile());
+        }
+        return actualShortcuts;
+    }
+
+    public static List<ShortcutInfo> assertAllHaveIconFile(
+            List<ShortcutInfo> actualShortcuts) {
+        for (ShortcutInfo s : actualShortcuts) {
+            assertFalse("ID " + s.getId() + " shouldn't have icon res ID", s.hasIconResource());
+            assertTrue("ID " + s.getId() + " not have icon FD", s.hasIconFile());
+        }
+        return actualShortcuts;
+    }
+
+    public static List<ShortcutInfo> assertAllHaveIcon(
+            List<ShortcutInfo> actualShortcuts) {
+        for (ShortcutInfo s : actualShortcuts) {
+            assertTrue("ID " + s.getId() + " has no icon ", s.hasIconFile() || s.hasIconResource());
+        }
+        return actualShortcuts;
+    }
+
+    public static List<ShortcutInfo> assertAllStringsResolved(
+            List<ShortcutInfo> actualShortcuts) {
+        for (ShortcutInfo s : actualShortcuts) {
+            assertTrue("ID " + s.getId(), s.hasStringResourcesResolved());
+        }
+        return actualShortcuts;
+    }
 }
diff --git a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java
index fe2d1ec..c7be3d9 100644
--- a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java
+++ b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java
@@ -19,9 +19,6 @@
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertAllDynamic;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertAllDynamicOrPinned;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertAllEnabled;
-import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertAllHaveIcon;
-import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertAllHaveIconFile;
-import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertAllHaveIconResId;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertAllHaveIntents;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertAllHaveTitle;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertAllImmutable;
@@ -32,7 +29,6 @@
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertAllNotKeyFieldsOnly;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertAllNotManifest;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertAllPinned;
-import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertAllStringsResolved;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertAllUnique;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertBitmapSize;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertBundleEmpty;
@@ -44,7 +40,9 @@
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertDynamicShortcutCountExceeded;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertEmpty;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertExpectException;
+import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertForLauncherCallback;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertShortcutIds;
+import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertWith;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.filterByActivity;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.findShortcut;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.hashSet;
@@ -53,10 +51,10 @@
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.pfdToBitmap;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.resetAll;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.set;
+import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.waitOnMainThread;
 
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.anyString;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.mock;
@@ -71,7 +69,6 @@
 import android.content.pm.LauncherApps;
 import android.content.pm.LauncherApps.ShortcutQuery;
 import android.content.pm.ShortcutInfo;
-import android.content.res.Resources;
 import android.graphics.Bitmap;
 import android.graphics.Bitmap.CompressFormat;
 import android.graphics.BitmapFactory;
@@ -79,7 +76,6 @@
 import android.net.Uri;
 import android.os.Handler;
 import android.os.Looper;
-import android.os.Process;
 import android.os.UserHandle;
 import android.test.suitebuilder.annotation.SmallTest;
 import android.util.Log;
@@ -192,7 +188,7 @@
                         + ConfigConstants.KEY_ICON_FORMAT + "=WEBP,"
                         + ConfigConstants.KEY_ICON_QUALITY + "=75");
         assertEquals(123000, mService.getResetIntervalForTest());
-        assertEquals(4, mService.getMaxDynamicShortcutsForTest());
+        assertEquals(4, mService.getMaxShortcutsForTest());
         assertEquals(5, mService.getMaxUpdatesPerIntervalForTest());
         assertEquals(100, mService.getMaxIconDimensionForTest());
         assertEquals(CompressFormat.WEBP, mService.getIconPersistFormatForTest());
@@ -207,7 +203,7 @@
                 mService.getResetIntervalForTest());
 
         assertEquals(ShortcutService.DEFAULT_MAX_SHORTCUTS_PER_APP,
-                mService.getMaxDynamicShortcutsForTest());
+                mService.getMaxShortcutsForTest());
 
         assertEquals(ShortcutService.DEFAULT_MAX_UPDATES_PER_INTERVAL,
                 mService.getMaxUpdatesPerIntervalForTest());
@@ -352,6 +348,127 @@
         });
     }
 
+    public void testPublishWithNoActivity() {
+        // If activity is not explicitly set, use the default one.
+
+        runWithCaller(CALLING_PACKAGE_2, USER_10, () -> {
+            // s1 and s3 has no activities.
+            final ShortcutInfo si1 = new ShortcutInfo.Builder(mClientContext, "si1")
+                    .setShortLabel("label1")
+                    .setIntent(new Intent("action1"))
+                    .build();
+            final ShortcutInfo si2 = new ShortcutInfo.Builder(mClientContext, "si2")
+                    .setShortLabel("label2")
+                    .setActivity(new ComponentName(getCallingPackage(), "abc"))
+                    .setIntent(new Intent("action2"))
+                    .build();
+            final ShortcutInfo si3 = new ShortcutInfo.Builder(mClientContext, "si3")
+                    .setShortLabel("label3")
+                    .setIntent(new Intent("action3"))
+                    .build();
+
+            // Set test 1
+            assertTrue(mManager.setDynamicShortcuts(list(si1)));
+
+            assertWith(getCallerShortcuts())
+                    .haveIds("si1")
+                    .forShortcutWithId("si1", si -> {
+                        assertEquals(new ComponentName(getCallingPackage(),
+                                MAIN_ACTIVITY_CLASS), si.getActivity());
+                    });
+
+            // Set test 2
+            assertTrue(mManager.setDynamicShortcuts(list(si2, si1)));
+
+            assertWith(getCallerShortcuts())
+                    .haveIds("si1", "si2")
+                    .forShortcutWithId("si1", si -> {
+                        assertEquals(new ComponentName(getCallingPackage(),
+                                MAIN_ACTIVITY_CLASS), si.getActivity());
+                    })
+                    .forShortcutWithId("si2", si -> {
+                        assertEquals(new ComponentName(getCallingPackage(),
+                                "abc"), si.getActivity());
+                    });
+
+
+            // Set test 3
+            assertTrue(mManager.setDynamicShortcuts(list(si3, si1)));
+
+            assertWith(getCallerShortcuts())
+                    .haveIds("si1", "si3")
+                    .forShortcutWithId("si1", si -> {
+                        assertEquals(new ComponentName(getCallingPackage(),
+                                MAIN_ACTIVITY_CLASS), si.getActivity());
+                    })
+                    .forShortcutWithId("si3", si -> {
+                        assertEquals(new ComponentName(getCallingPackage(),
+                                MAIN_ACTIVITY_CLASS), si.getActivity());
+                    });
+
+            mInjectedCurrentTimeMillis += INTERVAL; // reset throttling
+
+            // Add test 1
+            mManager.removeAllDynamicShortcuts();
+            assertTrue(mManager.addDynamicShortcuts(list(si1)));
+
+            assertWith(getCallerShortcuts())
+                    .haveIds("si1")
+                    .forShortcutWithId("si1", si -> {
+                        assertEquals(new ComponentName(getCallingPackage(),
+                                MAIN_ACTIVITY_CLASS), si.getActivity());
+                    });
+
+            // Add test 2
+            mManager.removeAllDynamicShortcuts();
+            assertTrue(mManager.addDynamicShortcuts(list(si2, si1)));
+
+            assertWith(getCallerShortcuts())
+                    .haveIds("si1", "si2")
+                    .forShortcutWithId("si1", si -> {
+                        assertEquals(new ComponentName(getCallingPackage(),
+                                MAIN_ACTIVITY_CLASS), si.getActivity());
+                    })
+                    .forShortcutWithId("si2", si -> {
+                        assertEquals(new ComponentName(getCallingPackage(),
+                                "abc"), si.getActivity());
+                    });
+
+
+            // Add test 3
+            mManager.removeAllDynamicShortcuts();
+            assertTrue(mManager.addDynamicShortcuts(list(si3, si1)));
+
+            assertWith(getCallerShortcuts())
+                    .haveIds("si1", "si3")
+                    .forShortcutWithId("si1", si -> {
+                        assertEquals(new ComponentName(getCallingPackage(),
+                                MAIN_ACTIVITY_CLASS), si.getActivity());
+                    })
+                    .forShortcutWithId("si3", si -> {
+                        assertEquals(new ComponentName(getCallingPackage(),
+                                MAIN_ACTIVITY_CLASS), si.getActivity());
+                    });
+        });
+    }
+
+    public void testPublishWithNoActivity_noMainActivityInPackage() {
+        runWithCaller(CALLING_PACKAGE_2, USER_10, () -> {
+            final ShortcutInfo si1 = new ShortcutInfo.Builder(mClientContext, "si1")
+                    .setShortLabel("label1")
+                    .setIntent(new Intent("action1"))
+                    .build();
+
+            // Returning null means there's no main activity in this package.
+            mMainActivityFetcher = (packageName, userId) -> null;
+
+            assertExpectException(
+                    RuntimeException.class, "Launcher activity not found for", () -> {
+                        assertTrue(mManager.setDynamicShortcuts(list(si1)));
+                    });
+        });
+    }
+
     public void testDeleteDynamicShortcuts() {
         final ShortcutInfo si1 = makeShortcut("shortcut1");
         final ShortcutInfo si2 = makeShortcut("shortcut2");
@@ -962,6 +1079,73 @@
         });
     }
 
+    public void testUpdateShortcuts_icons() {
+        runWithCaller(CALLING_PACKAGE_1, UserHandle.USER_SYSTEM, () -> {
+            assertTrue(mManager.setDynamicShortcuts(list(
+                    makeShortcut("s1")
+            )));
+
+            // Set resource icon
+            assertTrue(mManager.updateShortcuts(list(
+                    new ShortcutInfo.Builder(mClientContext, "s1")
+                    .setIcon(Icon.createWithResource(getTestContext(), R.drawable.black_32x32))
+                    .build()
+            )));
+
+            assertWith(getCallerShortcuts())
+                    .forShortcutWithId("s1", si -> {
+                        assertTrue(si.hasIconResource());
+                        assertEquals(R.drawable.black_32x32, si.getIconResourceId());
+                    });
+
+            // Set bitmap icon
+            assertTrue(mManager.updateShortcuts(list(
+                    new ShortcutInfo.Builder(mClientContext, "s1")
+                    .setIcon(Icon.createWithBitmap(BitmapFactory.decodeResource(
+                            getTestContext().getResources(), R.drawable.black_64x64)))
+                    .build()
+            )));
+
+            assertWith(getCallerShortcuts())
+                    .forShortcutWithId("s1", si -> {
+                        assertTrue(si.hasIconFile());
+                    });
+
+            mInjectedCurrentTimeMillis += INTERVAL; // reset throttling
+
+            // Do it again, with the reverse order (bitmap -> icon)
+            assertTrue(mManager.setDynamicShortcuts(list(
+                    makeShortcut("s1")
+            )));
+
+            // Set bitmap icon
+            assertTrue(mManager.updateShortcuts(list(
+                    new ShortcutInfo.Builder(mClientContext, "s1")
+                            .setIcon(Icon.createWithBitmap(BitmapFactory.decodeResource(
+                                    getTestContext().getResources(), R.drawable.black_64x64)))
+                            .build()
+            )));
+
+            assertWith(getCallerShortcuts())
+                    .forShortcutWithId("s1", si -> {
+                        assertTrue(si.hasIconFile());
+                    });
+
+            // Set resource icon
+            assertTrue(mManager.updateShortcuts(list(
+                    new ShortcutInfo.Builder(mClientContext, "s1")
+                            .setIcon(Icon.createWithResource(getTestContext(), R.drawable.black_32x32))
+                            .build()
+            )));
+
+            assertWith(getCallerShortcuts())
+                    .forShortcutWithId("s1", si -> {
+                        assertTrue(si.hasIconResource());
+                        assertEquals(R.drawable.black_32x32, si.getIconResourceId());
+                    });
+        });
+    }
+
     // === Test for launcher side APIs ===
 
     public void testGetShortcuts() {
@@ -969,23 +1153,34 @@
         // Set up shortcuts.
 
         setCaller(CALLING_PACKAGE_1);
-        final ShortcutInfo s1_1 = makeShortcutWithTimestamp("s1", 5000);
-        final ShortcutInfo s1_2 = makeShortcutWithTimestamp("s2", 1000);
+        final ShortcutInfo s1_1 = makeShortcut("s1");
+        final ShortcutInfo s1_2 = makeShortcut("s2");
 
         assertTrue(mManager.setDynamicShortcuts(list(s1_1, s1_2)));
 
+        // Because setDynamicShortcuts will update the timestamps when ranks are changing,
+        // we explicitly set timestamps here.
+        getCallerShortcut("s1").setTimestamp(5000);
+        getCallerShortcut("s2").setTimestamp(1000);
+
         setCaller(CALLING_PACKAGE_2);
-        final ShortcutInfo s2_2 = makeShortcutWithTimestamp("s2", 1500);
-        final ShortcutInfo s2_3 = makeShortcutWithTimestampWithActivity("s3", 3000,
+        final ShortcutInfo s2_2 = makeShortcut("s2");
+        final ShortcutInfo s2_3 = makeShortcutWithActivity("s3",
                 makeComponent(ShortcutActivity2.class));
-        final ShortcutInfo s2_4 = makeShortcutWithTimestampWithActivity("s4", 500,
+        final ShortcutInfo s2_4 = makeShortcutWithActivity("s4",
                 makeComponent(ShortcutActivity.class));
         assertTrue(mManager.setDynamicShortcuts(list(s2_2, s2_3, s2_4)));
 
+        getCallerShortcut("s2").setTimestamp(1500);
+        getCallerShortcut("s3").setTimestamp(3000);
+        getCallerShortcut("s4").setTimestamp(500);
+
         setCaller(CALLING_PACKAGE_3);
-        final ShortcutInfo s3_2 = makeShortcutWithTimestamp("s3", START_TIME + 5000);
+        final ShortcutInfo s3_2 = makeShortcut("s3");
         assertTrue(mManager.setDynamicShortcuts(list(s3_2)));
 
+        getCallerShortcut("s3").setTimestamp(START_TIME + 5000);
+
         setCaller(LAUNCHER_1);
 
         // Get dynamic
@@ -1092,6 +1287,117 @@
         // TODO More tests: pinned but dynamic.
     }
 
+    public void testGetShortcuts_shortcutKinds() throws Exception {
+        // Create 3 manifest and 3 dynamic shortcuts
+        addManifestShortcutResource(
+                new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
+                R.xml.shortcut_3);
+        updatePackageVersion(CALLING_PACKAGE_1, 1);
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageAddIntent(CALLING_PACKAGE_1, USER_0));
+
+        runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+            assertTrue(mManager.setDynamicShortcuts(list(
+                    makeShortcut("s1"), makeShortcut("s2"), makeShortcut("s3"))));
+        });
+
+        // Pin 2 and 3
+        runWithCaller(LAUNCHER_1, USER_0, () -> {
+            mLauncherApps.pinShortcuts(CALLING_PACKAGE_1, list("ms2", "ms3", "s2", "s3"),
+                    HANDLE_USER_0);
+        });
+
+        // Remove ms3 and s3
+        addManifestShortcutResource(
+                new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
+                R.xml.shortcut_2);
+        updatePackageVersion(CALLING_PACKAGE_1, 1);
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageAddIntent(CALLING_PACKAGE_1, USER_0));
+
+        runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+            assertTrue(mManager.setDynamicShortcuts(list(
+                    makeShortcut("s1"), makeShortcut("s2"))));
+        });
+
+        // Check their status.
+        runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+            assertWith(getCallerShortcuts())
+                    .haveIds("ms1", "ms2", "ms3", "s1", "s2", "s3")
+
+                    .selectByIds("ms1", "ms2")
+                    .areAllManifest()
+                    .areAllImmutable()
+                    .areAllNotDynamic()
+
+                    .revertToOriginalList()
+                    .selectByIds("ms3")
+                    .areAllNotManifest()
+                    .areAllImmutable()
+                    .areAllDisabled()
+                    .areAllNotDynamic()
+
+                    .revertToOriginalList()
+                    .selectByIds("s1", "s2")
+                    .areAllNotManifest()
+                    .areAllMutable()
+                    .areAllDynamic()
+
+                    .revertToOriginalList()
+                    .selectByIds("s3")
+                    .areAllNotManifest()
+                    .areAllMutable()
+                    .areAllEnabled()
+                    .areAllNotDynamic()
+
+                    .revertToOriginalList()
+                    .selectByIds("s1", "ms1")
+                    .areAllNotPinned()
+
+                    .revertToOriginalList()
+                    .selectByIds("s2", "s3", "ms2", "ms3")
+                    .areAllPinned()
+            ;
+        });
+
+        // Finally, actual tests.
+        runWithCaller(LAUNCHER_1, USER_0, () -> {
+            assertWith(mLauncherApps.getShortcuts(
+                    buildQueryWithFlags(ShortcutQuery.FLAG_GET_DYNAMIC), HANDLE_USER_0))
+                    .haveIds("s1", "s2");
+            assertWith(mLauncherApps.getShortcuts(
+                    buildQueryWithFlags(ShortcutQuery.FLAG_GET_MANIFEST), HANDLE_USER_0))
+                    .haveIds("ms1", "ms2");
+            assertWith(mLauncherApps.getShortcuts(
+                    buildQueryWithFlags(ShortcutQuery.FLAG_GET_PINNED), HANDLE_USER_0))
+                    .haveIds("s2", "s3", "ms2", "ms3");
+
+            assertWith(mLauncherApps.getShortcuts(
+                    buildQueryWithFlags(
+                            ShortcutQuery.FLAG_GET_DYNAMIC | ShortcutQuery.FLAG_GET_PINNED
+                    ), HANDLE_USER_0))
+                    .haveIds("s1", "s2", "s3", "ms2", "ms3");
+
+            assertWith(mLauncherApps.getShortcuts(
+                    buildQueryWithFlags(
+                            ShortcutQuery.FLAG_GET_MANIFEST | ShortcutQuery.FLAG_GET_PINNED
+                    ), HANDLE_USER_0))
+                    .haveIds("ms1", "s2", "s3", "ms2", "ms3");
+
+            assertWith(mLauncherApps.getShortcuts(
+                    buildQueryWithFlags(
+                            ShortcutQuery.FLAG_GET_DYNAMIC | ShortcutQuery.FLAG_GET_MANIFEST
+                    ), HANDLE_USER_0))
+                    .haveIds("ms1", "ms2", "s1", "s2");
+
+            assertWith(mLauncherApps.getShortcuts(
+                    buildQueryWithFlags(
+                            ShortcutQuery.FLAG_GET_ALL_KINDS
+                    ), HANDLE_USER_0))
+                    .haveIds("ms1", "ms2", "ms3", "s1", "s2", "s3");
+        });
+    }
+
     public void testGetShortcuts_resolveStrings() throws Exception {
         runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
             ShortcutInfo si = new ShortcutInfo.Builder(mClientContext)
@@ -1369,17 +1675,14 @@
                     mLauncherApps.getShortcuts(buildQuery(/* time =*/ 0, CALLING_PACKAGE_1,
                     /* activity =*/ null, ShortcutQuery.FLAG_GET_PINNED), getCallingUser())))),
                     "s2");
-            assertFalse(mLauncherApps.startShortcut(
-                    CALLING_PACKAGE_1, "s2", null, null, HANDLE_USER_0));
+            assertShortcutNotLaunchable(CALLING_PACKAGE_1, "s2", USER_0);
 
             assertShortcutIds(assertAllPinned(assertAllNotKeyFieldsOnly(
                     mLauncherApps.getShortcuts(buildQuery(/* time =*/ 0, CALLING_PACKAGE_2,
                     /* activity =*/ null, ShortcutQuery.FLAG_GET_PINNED), getCallingUser()))),
                     "s3", "s4");
-            assertFalse(mLauncherApps.startShortcut(
-                    CALLING_PACKAGE_2, "s3", null, null, HANDLE_USER_0));
-            assertTrue(mLauncherApps.startShortcut(
-                    CALLING_PACKAGE_2, "s4", null, null, HANDLE_USER_0));
+            assertShortcutNotLaunchable(CALLING_PACKAGE_2, "s3", USER_0);
+            assertShortcutLaunchable(CALLING_PACKAGE_2, "s4", USER_0);
 
             assertShortcutIds(assertAllPinned(assertAllNotKeyFieldsOnly(assertAllEnabled(
                     mLauncherApps.getShortcuts(buildQuery(/* time =*/ 0, CALLING_PACKAGE_3,
@@ -1399,8 +1702,77 @@
                     mLauncherApps.getShortcuts(buildQuery(/* time =*/ 0, CALLING_PACKAGE_1,
                     /* activity =*/ null, ShortcutQuery.FLAG_GET_PINNED), getCallingUser())))),
                     "s2");
-            assertTrue(mLauncherApps.startShortcut(
-                    CALLING_PACKAGE_1, "s2", null, null, HANDLE_USER_0));
+            assertShortcutLaunchable(CALLING_PACKAGE_1, "s2", USER_0);
+        });
+    }
+
+    public void testDisableShortcuts_thenRepublish() {
+        runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+            assertTrue(mManager.setDynamicShortcuts(list(
+                    makeShortcut("s1"), makeShortcut("s2"), makeShortcut("s3"))));
+
+            runWithCaller(LAUNCHER_1, USER_0, () -> {
+                mLauncherApps.pinShortcuts(
+                        CALLING_PACKAGE_1, list("s1", "s2", "s3"), HANDLE_USER_0);
+            });
+
+            mManager.disableShortcuts(list("s1", "s2", "s3"));
+
+            assertWith(getCallerShortcuts())
+                    .haveIds("s1", "s2", "s3")
+                    .areAllNotDynamic()
+                    .areAllPinned()
+                    .areAllDisabled();
+
+            // Make sure updateShortcuts() will not re-enable them.
+            assertTrue(mManager.updateShortcuts(list(
+                    makeShortcut("s1"), makeShortcut("s2"), makeShortcut("s3"))));
+
+            assertWith(getCallerShortcuts())
+                    .haveIds("s1", "s2", "s3")
+                    .areAllNotDynamic()
+                    .areAllPinned()
+                    .areAllDisabled();
+
+            // Re-publish s1 with setDynamicShortcuts.
+            mInjectedCurrentTimeMillis += INTERVAL; // reset throttling
+
+            assertTrue(mManager.setDynamicShortcuts(list(
+                    makeShortcut("s1"))));
+
+            assertWith(getCallerShortcuts())
+                    .haveIds("s1", "s2", "s3")
+
+                    .selectByIds("s1")
+                    .areAllDynamic()
+                    .areAllPinned()
+                    .areAllEnabled()
+
+                    .revertToOriginalList()
+                    .selectByIds("s2", "s3")
+                    .areAllNotDynamic()
+                    .areAllPinned()
+                    .areAllDisabled();
+
+            // Re-publish s2 with addDynamicShortcuts.
+            mInjectedCurrentTimeMillis += INTERVAL; // reset throttling
+
+            assertTrue(mManager.addDynamicShortcuts(list(
+                    makeShortcut("s2"))));
+
+            assertWith(getCallerShortcuts())
+                    .haveIds("s1", "s2", "s3")
+
+                    .selectByIds("s1", "s2")
+                    .areAllDynamic()
+                    .areAllPinned()
+                    .areAllEnabled()
+
+                    .revertToOriginalList()
+                    .selectByIds("s3")
+                    .areAllNotDynamic()
+                    .areAllPinned()
+                    .areAllDisabled();
         });
     }
 
@@ -2213,137 +2585,167 @@
     }
 
     public void testLauncherCallback() throws Throwable {
-        LauncherApps.Callback c0 = mock(LauncherApps.Callback.class);
-
-        // Set listeners
-
-        runWithCaller(LAUNCHER_1, USER_0, () -> {
-            mLauncherApps.registerCallback(c0, new Handler(Looper.getMainLooper()));
-        });
-
-        runWithCaller(CALLING_PACKAGE_1, UserHandle.USER_SYSTEM, () -> {
-            assertTrue(mManager.setDynamicShortcuts(list(
-                    makeShortcut("s1"), makeShortcut("s2"), makeShortcut("s3"))));
-        });
-
-        waitOnMainThread();
-        ArgumentCaptor<List> shortcuts = ArgumentCaptor.forClass(List.class);
-        verify(c0).onShortcutsChanged(
-                eq(CALLING_PACKAGE_1),
-                shortcuts.capture(),
-                eq(HANDLE_USER_0)
+        // Disable throttling for this test.
+        mService.updateConfigurationLocked(
+                ConfigConstants.KEY_MAX_UPDATES_PER_INTERVAL + "=99999999,"
+                        + ConfigConstants.KEY_MAX_SHORTCUTS + "=99999999"
         );
-        assertShortcutIds(assertAllDynamic(shortcuts.getValue()),
-                "s1", "s2", "s3");
+
+        setCaller(LAUNCHER_1, USER_0);
+
+        assertForLauncherCallback(mLauncherApps, () -> {
+            runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+                assertTrue(mManager.setDynamicShortcuts(list(
+                        makeShortcut("s1"), makeShortcut("s2"), makeShortcut("s3"))));
+            });
+        }).assertCallbackCalledForPackageAndUser(CALLING_PACKAGE_1, HANDLE_USER_0)
+                .haveIds("s1", "s2", "s3")
+                .areAllWithKeyFieldsOnly()
+                .areAllDynamic();
 
         // From different package.
-        reset(c0);
-        runWithCaller(CALLING_PACKAGE_2, UserHandle.USER_SYSTEM, () -> {
-            assertTrue(mManager.setDynamicShortcuts(list(
-                    makeShortcut("s1"), makeShortcut("s2"), makeShortcut("s3"))));
-        });
-        waitOnMainThread();
-        shortcuts = ArgumentCaptor.forClass(List.class);
-        verify(c0).onShortcutsChanged(
-                eq(CALLING_PACKAGE_2),
-                shortcuts.capture(),
-                eq(HANDLE_USER_0)
-        );
-        assertShortcutIds(assertAllDynamic(shortcuts.getValue()),
-                "s1", "s2", "s3");
+        assertForLauncherCallback(mLauncherApps, () -> {
+            runWithCaller(CALLING_PACKAGE_2, USER_0, () -> {
+                assertTrue(mManager.setDynamicShortcuts(list(
+                        makeShortcut("s1"), makeShortcut("s2"), makeShortcut("s3"))));
+            });
+        }).assertCallbackCalledForPackageAndUser(CALLING_PACKAGE_2, HANDLE_USER_0)
+                .haveIds("s1", "s2", "s3")
+                .areAllWithKeyFieldsOnly()
+                .areAllDynamic();
 
         // Different user, callback shouldn't be called.
-        reset(c0);
-        runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
-            assertTrue(mManager.setDynamicShortcuts(list(
-                    makeShortcut("s1"), makeShortcut("s2"), makeShortcut("s3"))));
-        });
-        waitOnMainThread();
-        verify(c0, times(0)).onShortcutsChanged(
-                anyString(),
-                any(List.class),
-                any(UserHandle.class)
-        );
+        assertForLauncherCallback(mLauncherApps, () -> {
+            runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
+                assertTrue(mManager.setDynamicShortcuts(list(
+                        makeShortcut("s1"), makeShortcut("s2"), makeShortcut("s3"))));
+            });
+        }).assertNoCallbackCalled();
+
 
         // Test for addDynamicShortcuts.
-        reset(c0);
-        runWithCaller(CALLING_PACKAGE_1, UserHandle.USER_SYSTEM, () -> {
-            dumpsysOnLogcat("before addDynamicShortcuts");
-            assertTrue(mManager.addDynamicShortcuts(list(makeShortcut("s4"))));
-        });
-
-        waitOnMainThread();
-        shortcuts = ArgumentCaptor.forClass(List.class);
-        verify(c0).onShortcutsChanged(
-                eq(CALLING_PACKAGE_1),
-                shortcuts.capture(),
-                eq(HANDLE_USER_0)
-        );
-        assertShortcutIds(assertAllDynamic(shortcuts.getValue()),
-                "s1", "s2", "s3", "s4");
+        assertForLauncherCallback(mLauncherApps, () -> {
+            runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+                assertTrue(mManager.addDynamicShortcuts(list(makeShortcut("s4"))));
+            });
+        }).assertCallbackCalledForPackageAndUser(CALLING_PACKAGE_1, HANDLE_USER_0)
+                .haveIds("s1", "s2", "s3", "s4")
+                .areAllWithKeyFieldsOnly()
+                .areAllDynamic();
 
         // Test for remove
-        reset(c0);
-        runWithCaller(CALLING_PACKAGE_1, UserHandle.USER_SYSTEM, () -> {
-            mManager.removeDynamicShortcuts(list("s1"));
-        });
-
-        waitOnMainThread();
-        shortcuts = ArgumentCaptor.forClass(List.class);
-        verify(c0).onShortcutsChanged(
-                eq(CALLING_PACKAGE_1),
-                shortcuts.capture(),
-                eq(HANDLE_USER_0)
-        );
-        assertShortcutIds(assertAllDynamic(shortcuts.getValue()),
-                "s2", "s3", "s4");
+        assertForLauncherCallback(mLauncherApps, () -> {
+            runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+                mManager.removeDynamicShortcuts(list("s1"));
+            });
+        }).assertCallbackCalledForPackageAndUser(CALLING_PACKAGE_1, HANDLE_USER_0)
+                .haveIds("s2", "s3", "s4")
+                .areAllWithKeyFieldsOnly()
+                .areAllDynamic();
 
         // Test for update
-        reset(c0);
+        assertForLauncherCallback(mLauncherApps, () -> {
+            runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+                assertTrue(mManager.updateShortcuts(list(
+                        makeShortcut("s1"), makeShortcut("s2"))));
+            });
+        }).assertCallbackCalledForPackageAndUser(CALLING_PACKAGE_1, HANDLE_USER_0)
+                // All remaining shortcuts will be passed regardless of what's been updated.
+                .haveIds("s2", "s3", "s4")
+                .areAllWithKeyFieldsOnly()
+                .areAllDynamic();
+
+        // Test for deleteAll
+        assertForLauncherCallback(mLauncherApps, () -> {
+            runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+                mManager.removeAllDynamicShortcuts();
+            });
+        }).assertCallbackCalledForPackageAndUser(CALLING_PACKAGE_1, HANDLE_USER_0)
+                .isEmpty();
+
+        // Update package1 with manifest shortcuts
+        assertForLauncherCallback(mLauncherApps, () -> {
+            addManifestShortcutResource(
+                    new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
+                    R.xml.shortcut_2);
+            updatePackageVersion(CALLING_PACKAGE_1, 1);
+            mService.mPackageMonitor.onReceive(getTestContext(),
+                    genPackageAddIntent(CALLING_PACKAGE_1, USER_0));
+        }).assertCallbackCalledForPackageAndUser(CALLING_PACKAGE_1, HANDLE_USER_0)
+                .areAllManifest()
+                .areAllWithKeyFieldsOnly()
+                .haveIds("ms1", "ms2");
+
+        // Make sure pinned shortcuts are passed too.
+        // 1. Add dynamic shortcuts.
         runWithCaller(CALLING_PACKAGE_1, UserHandle.USER_SYSTEM, () -> {
-            assertTrue(mManager.updateShortcuts(list(
+            assertTrue(mManager.setDynamicShortcuts(list(
                     makeShortcut("s1"), makeShortcut("s2"))));
         });
 
-        waitOnMainThread();
-        shortcuts = ArgumentCaptor.forClass(List.class);
-        verify(c0).onShortcutsChanged(
-                eq(CALLING_PACKAGE_1),
-                shortcuts.capture(),
-                eq(HANDLE_USER_0)
-        );
-        assertShortcutIds(assertAllDynamic(shortcuts.getValue()),
-                "s2", "s3", "s4");
-
-        // Test for deleteAll
-        reset(c0);
+        // 2. Pin some.
+        runWithCaller(LAUNCHER_1, UserHandle.USER_SYSTEM, () -> {
+            mLauncherApps.pinShortcuts(CALLING_PACKAGE_1, list("ms2", "s2"), HANDLE_USER_0);
+        });
         runWithCaller(CALLING_PACKAGE_1, UserHandle.USER_SYSTEM, () -> {
-            mManager.removeAllDynamicShortcuts();
+            assertWith(getCallerShortcuts())
+                    .haveIds("ms1", "ms2", "s1", "s2")
+                    .areAllEnabled()
+
+                    .selectByIds("ms1", "ms2")
+                    .areAllManifest()
+
+                    .revertToOriginalList()
+                    .selectByIds("s1", "s2")
+                    .areAllDynamic()
+                    ;
         });
 
-        waitOnMainThread();
-        shortcuts = ArgumentCaptor.forClass(List.class);
-        verify(c0).onShortcutsChanged(
-                eq(CALLING_PACKAGE_1),
-                shortcuts.capture(),
-                eq(HANDLE_USER_0)
-        );
-        assertEquals(0, shortcuts.getValue().size());
+        // 3 Update the app with no manifest shortcuts.  (Pinned one will survive.)
+        addManifestShortcutResource(
+                new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
+                R.xml.shortcut_0);
+        updatePackageVersion(CALLING_PACKAGE_1, 1);
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageAddIntent(CALLING_PACKAGE_1, USER_0));
+
+        assertForLauncherCallback(mLauncherApps, () -> {
+            runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+                mManager.removeDynamicShortcuts(list("s2"));
+
+                assertWith(getCallerShortcuts())
+                        .haveIds("ms2", "s1", "s2")
+
+                        .selectByIds("ms2")
+                        .areAllNotManifest()
+                        .areAllPinned()
+                        .areAllImmutable()
+                        .areAllDisabled()
+
+                        .revertToOriginalList()
+                        .selectByIds("s1")
+                        .areAllDynamic()
+                        .areAllNotPinned()
+                        .areAllEnabled()
+
+                        .revertToOriginalList()
+                        .selectByIds("s2")
+                        .areAllNotDynamic()
+                        .areAllPinned()
+                        .areAllEnabled()
+                ;
+            });
+        }).assertCallbackCalledForPackageAndUser(CALLING_PACKAGE_1, HANDLE_USER_0)
+                .haveIds("ms2", "s1", "s2")
+                .areAllWithKeyFieldsOnly();
 
         // Remove CALLING_PACKAGE_2
-        reset(c0);
-        uninstallPackage(USER_0, CALLING_PACKAGE_2);
-        mService.cleanUpPackageLocked(CALLING_PACKAGE_2, USER_0, USER_0);
-
-        // Should get a callback with an empty list.
-        waitOnMainThread();
-        shortcuts = ArgumentCaptor.forClass(List.class);
-        verify(c0).onShortcutsChanged(
-                eq(CALLING_PACKAGE_2),
-                shortcuts.capture(),
-                eq(HANDLE_USER_0)
-        );
-        assertEquals(0, shortcuts.getValue().size());
+        assertForLauncherCallback(mLauncherApps, () -> {
+            uninstallPackage(USER_0, CALLING_PACKAGE_2);
+            mService.cleanUpPackageLocked(CALLING_PACKAGE_2, USER_0, USER_0,
+                    /* appStillExists = */ false);
+        }).assertCallbackCalledForPackageAndUser(CALLING_PACKAGE_2, HANDLE_USER_0)
+                .isEmpty();
     }
 
     public void testLauncherCallback_crossProfile() throws Throwable {
@@ -2743,7 +3145,7 @@
 
         // Nonexistent package.
         uninstallPackage(USER_0, "abc");
-        mService.cleanUpPackageLocked("abc", USER_0, USER_0);
+        mService.cleanUpPackageLocked("abc", USER_0, USER_0, /* appStillExists = */ false);
 
         // No changes.
         assertEquals(set(CALLING_PACKAGE_1, CALLING_PACKAGE_2),
@@ -2775,7 +3177,8 @@
 
         // Remove a package.
         uninstallPackage(USER_0, CALLING_PACKAGE_1);
-        mService.cleanUpPackageLocked(CALLING_PACKAGE_1, USER_0, USER_0);
+        mService.cleanUpPackageLocked(CALLING_PACKAGE_1, USER_0, USER_0,
+                /* appStillExists = */ false);
 
         assertEquals(set(CALLING_PACKAGE_2),
                 hashSet(user0.getAllPackagesForTest().keySet()));
@@ -2806,7 +3209,7 @@
 
         // Remove a launcher.
         uninstallPackage(USER_10, LAUNCHER_1);
-        mService.cleanUpPackageLocked(LAUNCHER_1, USER_10, USER_10);
+        mService.cleanUpPackageLocked(LAUNCHER_1, USER_10, USER_10, /* appStillExists = */ false);
 
         assertEquals(set(CALLING_PACKAGE_2),
                 hashSet(user0.getAllPackagesForTest().keySet()));
@@ -2834,7 +3237,8 @@
 
         // Remove a package.
         uninstallPackage(USER_10, CALLING_PACKAGE_2);
-        mService.cleanUpPackageLocked(CALLING_PACKAGE_2, USER_10, USER_10);
+        mService.cleanUpPackageLocked(CALLING_PACKAGE_2, USER_10, USER_10,
+                /* appStillExists = */ false);
 
         assertEquals(set(CALLING_PACKAGE_2),
                 hashSet(user0.getAllPackagesForTest().keySet()));
@@ -2862,7 +3266,8 @@
 
         // Remove the other launcher from user 10 too.
         uninstallPackage(USER_10, LAUNCHER_2);
-        mService.cleanUpPackageLocked(LAUNCHER_2, USER_10, USER_10);
+        mService.cleanUpPackageLocked(LAUNCHER_2, USER_10, USER_10,
+                /* appStillExists = */ false);
 
         assertEquals(set(CALLING_PACKAGE_2),
                 hashSet(user0.getAllPackagesForTest().keySet()));
@@ -2890,7 +3295,8 @@
 
         // More remove.
         uninstallPackage(USER_10, CALLING_PACKAGE_1);
-        mService.cleanUpPackageLocked(CALLING_PACKAGE_1, USER_10, USER_10);
+        mService.cleanUpPackageLocked(CALLING_PACKAGE_1, USER_10, USER_10,
+                /* appStillExists = */ false);
 
         assertEquals(set(CALLING_PACKAGE_2),
                 hashSet(user0.getAllPackagesForTest().keySet()));
@@ -2916,6 +3322,74 @@
         mService.saveDirtyInfo();
     }
 
+    public void testCleanupPackage_republishManifests() {
+        addManifestShortcutResource(
+                new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
+                R.xml.shortcut_2);
+        updatePackageVersion(CALLING_PACKAGE_1, 1);
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageAddIntent(CALLING_PACKAGE_1, USER_0));
+
+        runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+            assertTrue(mManager.setDynamicShortcuts(list(
+                    makeShortcut("s1"), makeShortcut("s2"), makeShortcut("s3"))));
+        });
+        runWithCaller(LAUNCHER_1, USER_0, () -> {
+            mLauncherApps.pinShortcuts(CALLING_PACKAGE_1,
+                    list("s2", "s3", "ms1", "ms2"), HANDLE_USER_0);
+        });
+
+        // Remove ms2 from manifest.
+        addManifestShortcutResource(
+                new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
+                R.xml.shortcut_1);
+        updatePackageVersion(CALLING_PACKAGE_1, 1);
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageAddIntent(CALLING_PACKAGE_1, USER_0));
+
+        runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+            assertTrue(mManager.setDynamicShortcuts(list(
+                    makeShortcut("s1"), makeShortcut("s2"))));
+
+            // Make sure the shortcuts are in the intended state.
+            assertWith(getCallerShortcuts())
+                    .haveIds("ms1", "ms2", "s1", "s2", "s3")
+
+                    .selectByIds("ms1")
+                    .areAllManifest()
+                    .areAllPinned()
+
+                    .revertToOriginalList()
+                    .selectByIds("ms2")
+                    .areAllNotManifest()
+                    .areAllPinned()
+
+                    .revertToOriginalList()
+                    .selectByIds("s1")
+                    .areAllDynamic()
+                    .areAllNotPinned()
+
+                    .revertToOriginalList()
+                    .selectByIds("s2")
+                    .areAllDynamic()
+                    .areAllPinned()
+
+                    .revertToOriginalList()
+                    .selectByIds("s3")
+                    .areAllNotDynamic()
+                    .areAllPinned();
+        });
+
+        // Clean up + re-publish manifests.
+        mService.cleanUpPackageLocked(CALLING_PACKAGE_1, USER_0, USER_0,
+                /* appStillExists = */ true);
+        runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+            assertWith(getCallerShortcuts())
+                    .haveIds("ms1")
+                    .areAllManifest();
+        });
+    }
+
     public void testHandleGonePackage_crossProfile() {
         // Create some shortcuts.
         runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
@@ -3227,6 +3701,20 @@
         assertTrue(mManager.addDynamicShortcuts(list(
                 makeShortcutWithIcon("s1", bmp32x32), makeShortcutWithIcon("s2", bmp32x32)
         )));
+        // Also add a manifest shortcut, which should be removed too.
+        addManifestShortcutResource(
+                new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
+                R.xml.shortcut_1);
+        updatePackageVersion(CALLING_PACKAGE_1, 1);
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageAddIntent(CALLING_PACKAGE_1, USER_0));
+        runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+            assertWith(getCallerShortcuts())
+                    .haveIds("s1", "s2", "ms1")
+
+                    .selectManifest()
+                    .haveIds("ms1");
+        });
 
         setCaller(CALLING_PACKAGE_2, USER_0);
         assertTrue(mManager.addDynamicShortcuts(list(makeShortcutWithIcon("s1", bmp32x32))));
@@ -3402,8 +3890,47 @@
         assertTrue(bitmapDirectoryExists(CALLING_PACKAGE_3, USER_10));
     }
 
-    public void testHandlePackageUpdate() throws Throwable {
+    public void testHandlePackageClearData_manifestRepublished() {
 
+        // Add two manifests and two dynamics.
+        addManifestShortcutResource(
+                new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
+                R.xml.shortcut_2);
+        updatePackageVersion(CALLING_PACKAGE_1, 1);
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageAddIntent(CALLING_PACKAGE_1, USER_10));
+
+        runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
+            assertTrue(mManager.addDynamicShortcuts(list(
+                    makeShortcut("s1"), makeShortcut("s2"))));
+        });
+        runWithCaller(LAUNCHER_1, USER_10, () -> {
+            mLauncherApps.pinShortcuts(CALLING_PACKAGE_1, list("ms2", "s2"), HANDLE_USER_10);
+        });
+
+        runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
+            assertWith(getCallerShortcuts())
+                    .haveIds("ms1", "ms2", "s1", "s2")
+                    .areAllEnabled()
+
+                    .selectPinned()
+                    .haveIds("ms2", "s2");
+        });
+
+        // Clear data
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageDataClear(CALLING_PACKAGE_1, USER_10));
+
+        // Only manifest shortcuts will remain, and are no longer pinned.
+        runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
+            assertWith(getCallerShortcuts())
+                    .haveIds("ms1", "ms2")
+                    .areAllEnabled()
+                    .areAllNotPinned();
+        });
+    }
+
+    public void testHandlePackageUpdate() throws Throwable {
         // Set up shortcuts and launchers.
 
         final Icon res32x32 = Icon.createWithResource(getTestContext(), R.drawable.black_32x32);
@@ -3667,6 +4194,202 @@
         });
     }
 
+    public void testHandlePackageChanged() {
+        final ComponentName ACTIVITY1 = new ComponentName(CALLING_PACKAGE_1, "act1");
+        final ComponentName ACTIVITY2 = new ComponentName(CALLING_PACKAGE_1, "act2");
+
+        addManifestShortcutResource(ACTIVITY1, R.xml.shortcut_1);
+        addManifestShortcutResource(ACTIVITY2, R.xml.shortcut_1_alt);
+
+        updatePackageVersion(CALLING_PACKAGE_1, 1);
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageAddIntent(CALLING_PACKAGE_1, USER_10));
+
+        runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
+            assertTrue(mManager.addDynamicShortcuts(list(
+                    makeShortcutWithActivity("s1", ACTIVITY1),
+                    makeShortcutWithActivity("s2", ACTIVITY2)
+            )));
+        });
+        runWithCaller(LAUNCHER_1, USER_10, () -> {
+            mLauncherApps.pinShortcuts(CALLING_PACKAGE_1, list("ms1-alt", "s2"), HANDLE_USER_10);
+        });
+
+        runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
+            assertWith(getCallerShortcuts())
+                    .haveIds("ms1", "ms1-alt", "s1", "s2")
+                    .areAllEnabled()
+
+                    .selectPinned()
+                    .haveIds("ms1-alt", "s2")
+
+                    .revertToOriginalList()
+                    .selectByIds("ms1", "s1")
+                    .areAllWithActivity(ACTIVITY1)
+
+                    .revertToOriginalList()
+                    .selectByIds("ms1-alt", "s2")
+                    .areAllWithActivity(ACTIVITY2)
+                    ;
+        });
+
+        // First, no changes.
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageChangedIntent(CALLING_PACKAGE_1, USER_10));
+
+        runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
+            assertWith(getCallerShortcuts())
+                    .haveIds("ms1", "ms1-alt", "s1", "s2")
+                    .areAllEnabled()
+
+                    .selectPinned()
+                    .haveIds("ms1-alt", "s2")
+
+                    .revertToOriginalList()
+                    .selectByIds("ms1", "s1")
+                    .areAllWithActivity(ACTIVITY1)
+
+                    .revertToOriginalList()
+                    .selectByIds("ms1-alt", "s2")
+                    .areAllWithActivity(ACTIVITY2)
+            ;
+        });
+
+        // Disable activity 1
+        mEnabledActivityChecker = (activity, userId) -> !ACTIVITY1.equals(activity);
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageChangedIntent(CALLING_PACKAGE_1, USER_10));
+
+        runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
+            assertWith(getCallerShortcuts())
+                    .haveIds("ms1-alt", "s2")
+                    .areAllEnabled()
+
+                    .selectPinned()
+                    .haveIds("ms1-alt", "s2")
+
+                    .revertToOriginalList()
+                    .selectByIds("ms1-alt", "s2")
+                    .areAllWithActivity(ACTIVITY2)
+            ;
+        });
+
+        // Re-enable activity 1.
+        // Manifest shortcuts will be re-published, but dynamic ones are not.
+        mEnabledActivityChecker = (activity, userId) -> true;
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageChangedIntent(CALLING_PACKAGE_1, USER_10));
+
+        runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
+            assertWith(getCallerShortcuts())
+                    .haveIds("ms1", "ms1-alt", "s2")
+                    .areAllEnabled()
+
+                    .selectPinned()
+                    .haveIds("ms1-alt", "s2")
+
+                    .revertToOriginalList()
+                    .selectByIds("ms1")
+                    .areAllWithActivity(ACTIVITY1)
+
+                    .revertToOriginalList()
+                    .selectByIds("ms1-alt", "s2")
+                    .areAllWithActivity(ACTIVITY2)
+                    ;
+        });
+
+        // Disable activity 2
+        // Because "ms1-alt" and "s2" are both pinned, they will remain, but disabled.
+        mEnabledActivityChecker = (activity, userId) -> !ACTIVITY2.equals(activity);
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageChangedIntent(CALLING_PACKAGE_1, USER_10));
+
+        runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
+            assertWith(getCallerShortcuts())
+                    .haveIds("ms1", "ms1-alt", "s2")
+
+                    .selectDynamic().isEmpty().revertToOriginalList() // no dynamics.
+
+                    .selectPinned()
+                    .haveIds("ms1-alt", "s2")
+                    .areAllDisabled()
+
+                    .revertToOriginalList()
+                    .selectByIds("ms1")
+                    .areAllWithActivity(ACTIVITY1)
+                    .areAllEnabled()
+            ;
+        });
+    }
+
+    public void testHandlePackageUpdate_activityNoLongerMain() throws Throwable {
+        runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+            assertTrue(mManager.setDynamicShortcuts(list(
+                    makeShortcutWithActivity("s1a",
+                            new ComponentName(getCallingPackage(), "act1")),
+                    makeShortcutWithActivity("s1b",
+                            new ComponentName(getCallingPackage(), "act1")),
+                    makeShortcutWithActivity("s2a",
+                            new ComponentName(getCallingPackage(), "act2")),
+                    makeShortcutWithActivity("s2b",
+                            new ComponentName(getCallingPackage(), "act2")),
+                    makeShortcutWithActivity("s3a",
+                            new ComponentName(getCallingPackage(), "act3")),
+                    makeShortcutWithActivity("s3b",
+                            new ComponentName(getCallingPackage(), "act3"))
+            )));
+            assertWith(getCallerShortcuts())
+                    .haveIds("s1a", "s1b", "s2a", "s2b", "s3a", "s3b")
+                    .areAllDynamic();
+        });
+        runWithCaller(LAUNCHER_1, USER_0, () -> {
+            mLauncherApps.pinShortcuts(CALLING_PACKAGE_1,
+                    list("s1b", "s2b", "s3b"),
+                    HANDLE_USER_0);
+        });
+        runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+            assertWith(getCallerShortcuts())
+                    .haveIds("s1a", "s1b", "s2a", "s2b", "s3a", "s3b")
+                    .areAllDynamic()
+
+                    .selectByIds("s1b", "s2b", "s3b")
+                    .areAllPinned();
+        });
+
+        // Update the app and act2 and act3 are no longer main.
+        mMainActivityChecker = (activity, userId) -> {
+            return activity.getClassName().equals("act1");
+        };
+
+        setCaller(LAUNCHER_1, USER_0);
+        assertForLauncherCallback(mLauncherApps, () -> {
+            updatePackageVersion(CALLING_PACKAGE_1, 1);
+            mService.mPackageMonitor.onReceive(getTestContext(),
+                    genPackageUpdateIntent(CALLING_PACKAGE_1, USER_0));
+        }).assertCallbackCalledForPackageAndUser(CALLING_PACKAGE_1, HANDLE_USER_0)
+                // Make sure the launcher gets callbacks.
+                .haveIds("s1a", "s1b", "s2b", "s3b")
+                .areAllWithKeyFieldsOnly();
+
+        runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+            // s2a and s3a are gone, but s2b and s3b will remain because they're pinned, and
+            // disabled.
+            assertWith(getCallerShortcuts())
+                    .haveIds("s1a", "s1b", "s2b", "s3b")
+
+                    .selectByIds("s1a", "s1b")
+                    .areAllDynamic()
+                    .areAllEnabled()
+
+                    .revertToOriginalList()
+                    .selectByIds("s2b", "s3b")
+                    .areAllNotDynamic()
+                    .areAllDisabled()
+                    .areAllPinned()
+                    ;
+        });
+    }
+
     protected void prepareForBackupTest() {
 
         prepareCrossProfileDataSet();
@@ -4384,11 +5107,11 @@
 
     public void testOnApplicationActive_permission() {
         assertExpectException(SecurityException.class, "Missing permission", () ->
-                mService.onApplicationActive(CALLING_PACKAGE_1, USER_0));
+                mManager.onApplicationActive(CALLING_PACKAGE_1, USER_0));
 
         // Has permission, now it should pass.
         mCallerPermissions.add(permission.RESET_SHORTCUT_MANAGER_THROTTLING);
-        mService.onApplicationActive(CALLING_PACKAGE_1, USER_0);
+        mManager.onApplicationActive(CALLING_PACKAGE_1, USER_0);
     }
 
     public void testDumpsys_crossProfile() {
@@ -4606,7 +5329,6 @@
         assertNull(mService.getPackageShortcutForTest(LAUNCHER_1, USER_0));
     }
 
-
     public void testManifestShortcut_publishOnBroadcast() {
         // First, no packages are installed.
         uninstallPackage(USER_0, CALLING_PACKAGE_1);
@@ -4677,6 +5399,10 @@
             assertShortcutIds(assertAllManifest(assertAllImmutable(assertAllEnabled(
                     mManager.getManifestShortcuts()))),
                     "ms1", "ms2", "ms3", "ms4", "ms5");
+            assertWith(getCallerShortcuts()).selectManifest()
+                    .selectByActivity(
+                            new ComponentName(CALLING_PACKAGE_2, ShortcutActivity.class.getName()))
+                    .haveRanksInOrder("ms1", "ms2", "ms3", "ms4", "ms5");
             assertEmpty(mManager.getPinnedShortcuts());
         });
 
@@ -4710,6 +5436,10 @@
             assertShortcutIds(assertAllManifest(assertAllImmutable(assertAllEnabled(
                     mManager.getManifestShortcuts()))),
                     "ms1", "ms2");
+            assertWith(getCallerShortcuts()).selectManifest()
+                    .selectByActivity(
+                            new ComponentName(CALLING_PACKAGE_2, ShortcutActivity.class.getName()))
+                    .haveRanksInOrder("ms1", "ms2");
             assertShortcutIds(assertAllImmutable(assertAllPinned(
                     mManager.getPinnedShortcuts())),
                     "ms2", "ms3");
@@ -4733,6 +5463,10 @@
             assertShortcutIds(assertAllManifest(assertAllImmutable(assertAllEnabled(
                     mManager.getManifestShortcuts()))),
                     "ms1", "ms2");
+            assertWith(getCallerShortcuts()).selectManifest()
+                    .selectByActivity(
+                            new ComponentName(CALLING_PACKAGE_2, ShortcutActivity.class.getName()))
+                    .haveRanksInOrder("ms1", "ms2");
             assertEmpty(mManager.getPinnedShortcuts());
         });
 
@@ -4741,6 +5475,10 @@
             assertShortcutIds(assertAllManifest(assertAllImmutable(assertAllEnabled(
                     mManager.getManifestShortcuts()))),
                     "ms1", "ms2");
+            assertWith(getCallerShortcuts()).selectManifest()
+                    .selectByActivity(
+                            new ComponentName(CALLING_PACKAGE_2, ShortcutActivity.class.getName()))
+                    .haveRanksInOrder("ms1", "ms2");
             assertShortcutIds(assertAllImmutable(assertAllPinned(
                     mManager.getPinnedShortcuts())),
                     "ms2", "ms3");
@@ -4749,10 +5487,43 @@
             assertAllDisabled(list(getCallerShortcut("ms3")));
         });
 
+        // Multiple activities.
+        // Add shortcuts on activity 2 for package 2.
+        addManifestShortcutResource(
+                new ComponentName(CALLING_PACKAGE_2, ShortcutActivity.class.getName()),
+                R.xml.shortcut_5_alt);
+        addManifestShortcutResource(
+                new ComponentName(CALLING_PACKAGE_2, ShortcutActivity2.class.getName()),
+                R.xml.shortcut_5_reverse);
+
+        updatePackageLastUpdateTime(CALLING_PACKAGE_2, 1);
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageAddIntent(CALLING_PACKAGE_2, USER_0));
+
+        runWithCaller(CALLING_PACKAGE_2, USER_0, () -> {
+            assertShortcutIds(assertAllManifest(assertAllImmutable(assertAllEnabled(
+                    mManager.getManifestShortcuts()))),
+                    "ms1", "ms2", "ms3", "ms4", "ms5",
+                    "ms1_alt", "ms2_alt", "ms3_alt", "ms4_alt", "ms5_alt");
+
+            // Make sure they have the correct ranks, regardless of their ID's alphabetical order.
+            assertWith(getCallerShortcuts()).selectManifest()
+                    .selectByActivity(
+                            new ComponentName(CALLING_PACKAGE_2, ShortcutActivity.class.getName()))
+                    .haveRanksInOrder("ms1_alt", "ms2_alt", "ms3_alt", "ms4_alt", "ms5_alt");
+            assertWith(getCallerShortcuts()).selectManifest()
+                    .selectByActivity(
+                            new ComponentName(CALLING_PACKAGE_2, ShortcutActivity2.class.getName()))
+                    .haveRanksInOrder("ms5", "ms4", "ms3", "ms2", "ms1");
+        });
+
         // Package 2 now has no manifest shortcuts.
         addManifestShortcutResource(
                 new ComponentName(CALLING_PACKAGE_2, ShortcutActivity.class.getName()),
                 R.xml.shortcut_0);
+        addManifestShortcutResource(
+                new ComponentName(CALLING_PACKAGE_2, ShortcutActivity2.class.getName()),
+                R.xml.shortcut_0);
         updatePackageLastUpdateTime(CALLING_PACKAGE_2, 1);
         mService.mPackageMonitor.onReceive(getTestContext(),
                 genPackageAddIntent(CALLING_PACKAGE_2, USER_0));
@@ -4826,6 +5597,117 @@
         });
     }
 
+    public void testManifestShortcuts_intentDefinitions() {
+        addManifestShortcutResource(
+                new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
+                R.xml.shortcut_error_4);
+        updatePackageVersion(CALLING_PACKAGE_1, 1);
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageAddIntent(CALLING_PACKAGE_1, USER_0));
+
+        runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+            // Make sure invalid ones are not published.
+            // Note that at this point disabled ones don't show up because they weren't pinned.
+            assertWith(getCallerShortcuts())
+                    .haveIds("ms1", "ms2")
+                    .areAllManifest()
+                    .areAllNotDynamic()
+                    .areAllNotPinned()
+                    .areAllImmutable()
+                    .areAllEnabled()
+                    .forShortcutWithId("ms1", si -> {
+                        assertTrue(si.isEnabled());
+                        assertEquals("action1", si.getIntent().getAction());
+                    })
+                    .forShortcutWithId("ms2", si -> {
+                        assertTrue(si.isEnabled());
+                        assertEquals("action2_1", si.getIntent().getAction());
+                    });
+        });
+
+        // Publish 5 enabled to pin some, so we can later test disabled manfiest shortcuts..
+        addManifestShortcutResource(
+                new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
+                R.xml.shortcut_5);
+        updatePackageVersion(CALLING_PACKAGE_1, 1);
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageAddIntent(CALLING_PACKAGE_1, USER_0));
+
+        runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+            // Make sure 5 manifest shortcuts are published.
+            assertWith(getCallerShortcuts())
+                    .haveIds("ms1", "ms2", "ms3", "ms4", "ms5")
+                    .areAllManifest()
+                    .areAllNotDynamic()
+                    .areAllNotPinned()
+                    .areAllImmutable()
+                    .areAllEnabled();
+        });
+
+        runWithCaller(LAUNCHER_1, USER_0, () -> {
+            mLauncherApps.pinShortcuts(CALLING_PACKAGE_1,
+                    list("ms3", "ms4", "ms5"), HANDLE_USER_0);
+        });
+
+        // Make sure they're pinned.
+        runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+            assertWith(getCallerShortcuts())
+                    .haveIds("ms1", "ms2", "ms3", "ms4", "ms5")
+                    .selectByIds("ms1", "ms2")
+                    .areAllNotPinned()
+                    .areAllEnabled()
+
+                    .revertToOriginalList()
+                    .selectByIds("ms3", "ms4", "ms5")
+                    .areAllPinned()
+                    .areAllEnabled();
+        });
+
+        // Update the app.
+        addManifestShortcutResource(
+                new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
+                R.xml.shortcut_error_4);
+        updatePackageVersion(CALLING_PACKAGE_1, 1);
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageAddIntent(CALLING_PACKAGE_1, USER_0));
+
+        // Make sure 3, 4 and 5 still exist but disabled.
+        runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+            assertWith(getCallerShortcuts())
+                    .haveIds("ms1", "ms2", "ms3", "ms4", "ms5")
+                    .areAllNotDynamic()
+                    .areAllImmutable()
+
+                    .selectByIds("ms1", "ms2")
+                    .areAllManifest()
+                    .areAllNotPinned()
+                    .areAllEnabled()
+
+                    .revertToOriginalList()
+                    .selectByIds("ms3", "ms4", "ms5")
+                    .areAllNotManifest()
+                    .areAllPinned()
+                    .areAllDisabled()
+
+                    .revertToOriginalList()
+                    .forShortcutWithId("ms1", si -> {
+                        assertEquals(si.getId(), "action1", si.getIntent().getAction());
+                    })
+                    .forShortcutWithId("ms2", si -> {
+                        assertEquals(si.getId(), "action2_1", si.getIntent().getAction());
+                    })
+                    .forShortcutWithId("ms3", si -> {
+                        assertEquals(si.getId(), Intent.ACTION_VIEW, si.getIntent().getAction());
+                    })
+                    .forShortcutWithId("ms4", si -> {
+                        assertEquals(si.getId(), Intent.ACTION_VIEW, si.getIntent().getAction());
+                    })
+                    .forShortcutWithId("ms5", si -> {
+                        assertEquals(si.getId(), "action", si.getIntent().getAction());
+                    });
+        });
+    }
+
     public void testManifestShortcuts_checkAllFields() {
         mService.handleUnlockUser(USER_0);
 
@@ -4839,63 +5721,95 @@
 
         // Only the valid one is published.
         runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
-            assertShortcutIds(assertAllManifest(assertAllImmutable(assertAllEnabled(
-                    mManager.getManifestShortcuts()))),
-                    "ms1", "ms2", "ms3", "ms4", "ms5");
+            assertWith(getCallerShortcuts())
+                    .haveIds("ms1", "ms2", "ms3", "ms4", "ms5")
+                    .areAllManifest()
+                    .areAllImmutable()
+                    .areAllEnabled()
+                    .areAllNotPinned()
+                    .areAllNotDynamic()
 
-            // check first shortcut.
-            ShortcutInfo si = getCallerShortcut("ms1");
+                    .forShortcutWithId("ms1", si -> {
+                        assertEquals(R.drawable.icon1, si.getIconResourceId());
+                        assertEquals(new ComponentName(CALLING_PACKAGE_1,
+                                ShortcutActivity.class.getName()),
+                                si.getActivity());
 
-            assertEquals("ms1", si.getId());
-            assertEquals(R.drawable.icon1, si.getIconResourceId());
-            assertEquals(new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
-                    si.getActivity());
+                        assertEquals(R.string.shortcut_title1, si.getTitleResId());
+                        assertEquals("r" + R.string.shortcut_title1, si.getTitleResName());
+                        assertEquals(R.string.shortcut_text1, si.getTextResId());
+                        assertEquals("r" + R.string.shortcut_text1, si.getTextResName());
+                        assertEquals(R.string.shortcut_disabled_message1,
+                                si.getDisabledMessageResourceId());
+                        assertEquals("r" + R.string.shortcut_disabled_message1,
+                                si.getDisabledMessageResName());
 
-            assertEquals(R.string.shortcut_title1, si.getTitleResId());
-            assertEquals("r" + R.string.shortcut_title1, si.getTitleResName());
-            assertEquals(R.string.shortcut_text1, si.getTextResId());
-            assertEquals("r" + R.string.shortcut_text1, si.getTextResName());
-            assertEquals(R.string.shortcut_disabled_message1, si.getDisabledMessageResourceId());
-            assertEquals("r" + R.string.shortcut_disabled_message1, si.getDisabledMessageResName());
+                        assertEquals(set("android.shortcut.conversation", "android.shortcut.media"),
+                                si.getCategories());
+                        assertEquals("action1", si.getIntent().getAction());
+                        assertEquals(Uri.parse("http://a.b.c/1"), si.getIntent().getData());
+                    })
 
-            assertEquals(set("android.shortcut.conversation", "android.shortcut.media"),
-                    si.getCategories());
-            assertEquals("action1", si.getIntent().getAction());
-            assertEquals(Uri.parse("http://a.b.c/1"), si.getIntent().getData());
+                    .forShortcutWithId("ms2", si -> {
+                        assertEquals("ms2", si.getId());
+                        assertEquals(R.drawable.icon2, si.getIconResourceId());
 
-            // check another
-            si = getCallerShortcut("ms2");
+                        assertEquals(R.string.shortcut_title2, si.getTitleResId());
+                        assertEquals("r" + R.string.shortcut_title2, si.getTitleResName());
+                        assertEquals(R.string.shortcut_text2, si.getTextResId());
+                        assertEquals("r" + R.string.shortcut_text2, si.getTextResName());
+                        assertEquals(R.string.shortcut_disabled_message2,
+                                si.getDisabledMessageResourceId());
+                        assertEquals("r" + R.string.shortcut_disabled_message2,
+                                si.getDisabledMessageResName());
 
-            assertEquals("ms2", si.getId());
-            assertEquals(R.drawable.icon2, si.getIconResourceId());
+                        assertEquals(set("android.shortcut.conversation"), si.getCategories());
+                        assertEquals("action2", si.getIntent().getAction());
+                        assertEquals(null, si.getIntent().getData());
+                    })
 
-            assertEquals(R.string.shortcut_title2, si.getTitleResId());
-            assertEquals("r" + R.string.shortcut_title2, si.getTitleResName());
-            assertEquals(R.string.shortcut_text2, si.getTextResId());
-            assertEquals("r" + R.string.shortcut_text2, si.getTextResName());
-            assertEquals(R.string.shortcut_disabled_message2, si.getDisabledMessageResourceId());
-            assertEquals("r" + R.string.shortcut_disabled_message2, si.getDisabledMessageResName());
+                    .forShortcutWithId("ms3", si -> {
+                        assertEquals(0, si.getIconResourceId());
+                        assertEquals(R.string.shortcut_title1, si.getTitleResId());
+                        assertEquals("r" + R.string.shortcut_title1, si.getTitleResName());
 
-            assertEquals(set("android.shortcut.conversation"), si.getCategories());
-            assertEquals("action2", si.getIntent().getAction());
-            assertEquals(null, si.getIntent().getData());
+                        assertEquals(0, si.getTextResId());
+                        assertEquals(null, si.getTextResName());
+                        assertEquals(0, si.getDisabledMessageResourceId());
+                        assertEquals(null, si.getDisabledMessageResName());
 
-            // check another
-            si = getCallerShortcut("ms3");
+                        assertEmpty(si.getCategories());
+                        assertEquals("android.intent.action.VIEW", si.getIntent().getAction());
+                        assertEquals(null, si.getIntent().getData());
+                    })
 
-            assertEquals("ms3", si.getId());
-            assertEquals(0, si.getIconResourceId());
-            assertEquals(R.string.shortcut_title1, si.getTitleResId());
-            assertEquals("r" + R.string.shortcut_title1, si.getTitleResName());
+                    .forShortcutWithId("ms4", si -> {
+                        assertEquals(0, si.getIconResourceId());
+                        assertEquals(R.string.shortcut_title2, si.getTitleResId());
+                        assertEquals("r" + R.string.shortcut_title2, si.getTitleResName());
 
-            assertEquals(0, si.getTextResId());
-            assertEquals(null, si.getTextResName());
-            assertEquals(0, si.getDisabledMessageResourceId());
-            assertEquals(null, si.getDisabledMessageResName());
+                        assertEquals(0, si.getTextResId());
+                        assertEquals(null, si.getTextResName());
+                        assertEquals(0, si.getDisabledMessageResourceId());
+                        assertEquals(null, si.getDisabledMessageResName());
 
-            assertEquals(null, si.getCategories());
-            assertEquals("android.intent.action.VIEW", si.getIntent().getAction());
-            assertEquals(null, si.getIntent().getData());
+                        assertEquals(set("cat"), si.getCategories());
+                        assertEquals("android.intent.action.VIEW2", si.getIntent().getAction());
+                        assertEquals(null, si.getIntent().getData());
+                    })
+
+                    .forShortcutWithId("ms5", si -> {
+                        si = getCallerShortcut("ms5");
+                        assertEquals("action", si.getIntent().getAction());
+                        assertEquals("http://www/", si.getIntent().getData().toString());
+                        assertEquals("foo/bar", si.getIntent().getType());
+                        assertEquals(
+                                new ComponentName("abc", ".xyz"), si.getIntent().getComponent());
+
+                        assertEquals(set("cat1", "cat2"), si.getIntent().getCategories());
+                        assertEquals("value1", si.getIntent().getStringExtra("key1"));
+                        assertEquals("value2", si.getIntent().getStringExtra("key2"));
+                    });
         });
     }
 
@@ -5128,7 +6042,7 @@
         // ShortcutActivity2 has two shortcuts, ms1 and ms2.
         addManifestShortcutResource(
                 new ComponentName(CALLING_PACKAGE_1, ShortcutActivity2.class.getName()),
-                R.xml.shortcut_2);
+                R.xml.shortcut_5);
         updatePackageVersion(CALLING_PACKAGE_1, 1);
         mService.mPackageMonitor.onReceive(getTestContext(),
                 genPackageAddIntent(CALLING_PACKAGE_1, USER_0));
@@ -5136,13 +6050,14 @@
         runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
             assertShortcutIds(assertAllManifest(assertAllImmutable(assertAllEnabled(
                     mManager.getManifestShortcuts()))),
-                    "ms1", "ms2");
+                    "ms1", "ms2", "ms3", "ms4", "ms5");
 
             // ms1 should belong to ShortcutActivity.
             ShortcutInfo si = getCallerShortcut("ms1");
             assertEquals(R.string.shortcut_title1, si.getTitleResId());
             assertEquals(new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
                     si.getActivity());
+            assertEquals(0, si.getRank());
 
             // ms2 should belong to ShortcutActivity*2*.
             si = getCallerShortcut("ms2");
@@ -5150,8 +6065,18 @@
             assertEquals(new ComponentName(CALLING_PACKAGE_1, ShortcutActivity2.class.getName()),
                     si.getActivity());
 
+            // Also check the ranks
+            assertWith(getCallerShortcuts()).selectManifest()
+                    .selectByActivity(
+                            new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()))
+                    .haveRanksInOrder("ms1");
+            assertWith(getCallerShortcuts()).selectManifest()
+                    .selectByActivity(
+                            new ComponentName(CALLING_PACKAGE_1, ShortcutActivity2.class.getName()))
+                    .haveRanksInOrder("ms2", "ms3", "ms4", "ms5");
+
             // Make sure there's no other dangling shortcuts.
-            assertShortcutIds(getCallerShortcuts(), "ms1", "ms2");
+            assertShortcutIds(getCallerShortcuts(), "ms1", "ms2", "ms3", "ms4", "ms5");
         });
     }
 
diff --git a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest2.java b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest2.java
index 399fddf..f570ff2 100644
--- a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest2.java
+++ b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest2.java
@@ -15,8 +15,11 @@
  */
 package com.android.server.pm;
 
+import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertBundlesEqual;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertExpectException;
+import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertWith;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.list;
+import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.makeBundle;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.parceled;
 import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.set;
 
@@ -35,12 +38,14 @@
 import android.content.res.Resources;
 import android.graphics.BitmapFactory;
 import android.graphics.drawable.Icon;
+import android.net.Uri;
 import android.os.PersistableBundle;
 import android.os.UserHandle;
 import android.test.MoreAsserts;
 import android.test.suitebuilder.annotation.SmallTest;
 
 import com.android.frameworks.servicestests.R;
+import com.android.server.pm.ShortcutService.ConfigConstants;
 
 /**
  * Tests for ShortcutService and ShortcutManager.
@@ -56,35 +61,126 @@
     // ShortcutInfo tests
 
     public void testShortcutInfoMissingMandatoryFields() {
+        // Disable throttling.
+        mService.updateConfigurationLocked(
+                ShortcutService.ConfigConstants.KEY_MAX_UPDATES_PER_INTERVAL + "=99999999,"
+                + ShortcutService.ConfigConstants.KEY_MAX_SHORTCUTS + "=99999999"
+        );
+
         assertExpectException(
                 IllegalArgumentException.class,
                 "ID must be provided",
                 () -> new ShortcutInfo.Builder(getTestContext()).build());
+
         assertExpectException(
-                NullPointerException.class,
-                "Intent action must be set",
-                () -> new ShortcutInfo.Builder(getTestContext()).setIntent(new Intent()));
+                RuntimeException.class,
+                "id cannot be empty",
+                () -> new ShortcutInfo.Builder(getTestContext(), null));
+
         assertExpectException(
-                NullPointerException.class,
-                "activity must be provided",
-                () -> new ShortcutInfo.Builder(getTestContext()).setId("id").build()
-                        .enforceMandatoryFields());
+                RuntimeException.class,
+                "id cannot be empty",
+                () -> new ShortcutInfo.Builder(getTestContext(), ""));
+
         assertExpectException(
-                IllegalArgumentException.class,
-                "title must be provided",
-                () -> new ShortcutInfo.Builder(getTestContext()).setId("id")
-                        .setActivity(
-                                new ComponentName(getTestContext().getPackageName(), "s"))
-                        .build()
-                        .enforceMandatoryFields());
+                RuntimeException.class,
+                "intent cannot be null",
+                () -> new ShortcutInfo.Builder(getTestContext(), "id").setIntent(null));
+
         assertExpectException(
-                NullPointerException.class,
-                "Intent must be provided",
-                () -> new ShortcutInfo.Builder(getTestContext()).setId("id")
-                        .setActivity(
-                                new ComponentName(getTestContext().getPackageName(), "s"))
-                        .setTitle("x").build()
-                        .enforceMandatoryFields());
+                RuntimeException.class,
+                "action must be set",
+                () -> new ShortcutInfo.Builder(getTestContext(), "id").setIntent(new Intent()));
+
+        assertExpectException(
+                RuntimeException.class,
+                "activity cannot be null",
+                () -> new ShortcutInfo.Builder(getTestContext(), "id").setActivity(null));
+
+        assertExpectException(
+                RuntimeException.class,
+                "shortLabel cannot be empty",
+                () -> new ShortcutInfo.Builder(getTestContext(), "id").setShortLabel(null));
+
+        assertExpectException(
+                RuntimeException.class,
+                "shortLabel cannot be empty",
+                () -> new ShortcutInfo.Builder(getTestContext(), "id").setShortLabel(""));
+
+        assertExpectException(
+                RuntimeException.class,
+                "longLabel cannot be empty",
+                () -> new ShortcutInfo.Builder(getTestContext(), "id").setLongLabel(null));
+
+        assertExpectException(
+                RuntimeException.class,
+                "longLabel cannot be empty",
+                () -> new ShortcutInfo.Builder(getTestContext(), "id").setLongLabel(""));
+
+        assertExpectException(
+                RuntimeException.class,
+                "disabledMessage cannot be empty",
+                () -> new ShortcutInfo.Builder(getTestContext(), "id").setDisabledMessage(null));
+
+        assertExpectException(
+                RuntimeException.class,
+                "disabledMessage cannot be empty",
+                () -> new ShortcutInfo.Builder(getTestContext(), "id").setDisabledMessage(""));
+
+        assertExpectException(NullPointerException.class, "action must be set",
+                () -> new ShortcutInfo.Builder(getTestContext(), "id").setIntent(new Intent()));
+
+        // same for add.
+        assertExpectException(
+                IllegalArgumentException.class, "Short label must be provided", () -> {
+            ShortcutInfo si = new ShortcutInfo.Builder(getTestContext(), "id")
+                    .setActivity(new ComponentName(getTestContext().getPackageName(), "s"))
+                    .build();
+            assertTrue(getManager().setDynamicShortcuts(list(si)));
+        });
+
+        assertExpectException(
+                IllegalArgumentException.class, "Short label must be provided", () -> {
+            ShortcutInfo si = new ShortcutInfo.Builder(getTestContext(), "id")
+                    .setActivity(new ComponentName(getTestContext().getPackageName(), "s"))
+                    .build();
+            assertTrue(getManager().addDynamicShortcuts(list(si)));
+        });
+
+        // same for add.
+        assertExpectException(NullPointerException.class, "Intent must be provided", () -> {
+            ShortcutInfo si = new ShortcutInfo.Builder(getTestContext(), "id")
+                    .setActivity(new ComponentName(getTestContext().getPackageName(), "s"))
+                    .setShortLabel("x")
+                    .build();
+            assertTrue(getManager().setDynamicShortcuts(list(si)));
+        });
+
+        // same for add.
+        assertExpectException(NullPointerException.class, "Intent must be provided", () -> {
+            ShortcutInfo si = new ShortcutInfo.Builder(getTestContext(), "id")
+                    .setActivity(new ComponentName(getTestContext().getPackageName(), "s"))
+                    .setShortLabel("x")
+                    .build();
+            assertTrue(getManager().addDynamicShortcuts(list(si)));
+        });
+
+        assertExpectException(
+                IllegalStateException.class, "does not belong to package", () -> {
+            ShortcutInfo si = new ShortcutInfo.Builder(getTestContext(), "id")
+                    .setActivity(new ComponentName("xxx", "s"))
+                    .build();
+            assertTrue(getManager().setDynamicShortcuts(list(si)));
+        });
+
+        // same for add.
+        assertExpectException(
+                IllegalStateException.class, "does not belong to package", () -> {
+            ShortcutInfo si = new ShortcutInfo.Builder(getTestContext(), "id")
+                    .setActivity(new ComponentName("xxx", "s"))
+                    .build();
+            assertTrue(getManager().addDynamicShortcuts(list(si)));
+        });
     }
 
     public void testShortcutInfoParcel() {
@@ -286,7 +382,7 @@
 
         assertEquals(mClientContext.getPackageName(), si.getPackage());
         assertEquals("id", si.getId());
-        assertEquals(null, si.getActivity());
+        assertEquals(new ComponentName("a", "b"), si.getActivity());
         assertEquals(null, si.getIcon());
         assertEquals(null, si.getTitle());
         assertEquals(null, si.getText());
@@ -402,7 +498,7 @@
 
         assertEquals(mClientContext.getPackageName(), si.getPackage());
         assertEquals("id", si.getId());
-        assertEquals(null, si.getActivity());
+        assertEquals(new ComponentName("a", "b"), si.getActivity());
         assertEquals(null, si.getIcon());
         assertEquals(0, si.getTitleResId());
         assertEquals(null, si.getTitleResName());
@@ -490,6 +586,7 @@
         si.copyNonNullFieldsFrom(new ShortcutInfo.Builder(getTestContext()).setId("id")
                 .setActivity(new ComponentName("x", "y")).build());
         assertEquals("text", si.getText());
+        assertEquals(123, si.getRank());
         assertEquals(new ComponentName("x", "y"), si.getActivity());
 
         si = sorig.clone(/* flags=*/ 0);
@@ -584,16 +681,6 @@
                 .setExtras(pb2).build());
         assertEquals("text", si.getText());
         assertEquals(99, si.getExtras().getInt("x"));
-
-        // Make sure the timestamp gets updated too.
-
-        final long timestamp = si.getLastChangedTimestamp();
-        Thread.sleep(2);
-
-        si.copyNonNullFieldsFrom(new ShortcutInfo.Builder(getTestContext()).setId("id")
-                .setTitle("xyz").build());
-
-        assertTrue(si.getLastChangedTimestamp() > timestamp);
     }
 
     public void testShortcutInfoCopyNonNullFieldsFrom_resId() throws InterruptedException {
@@ -721,16 +808,6 @@
                 .setExtras(pb2).build());
         assertEquals(11, si.getTextResId());
         assertEquals(99, si.getExtras().getInt("x"));
-
-        // Make sure the timestamp gets updated too.
-
-        final long timestamp = si.getLastChangedTimestamp();
-        Thread.sleep(2);
-
-        si.copyNonNullFieldsFrom(new ShortcutInfo.Builder(getTestContext()).setId("id")
-                .setTitle("xyz").build());
-
-        assertTrue(si.getLastChangedTimestamp() > timestamp);
     }
 
     public void testShortcutInfoSaveAndLoad() throws InterruptedException {
@@ -753,11 +830,22 @@
                 .setRank(123)
                 .setExtras(pb)
                 .build();
+        sorig.setTimestamp(mInjectedCurrentTimeMillis);
 
-        mManager.addDynamicShortcuts(list(sorig));
+        ShortcutInfo sorig2 = new ShortcutInfo.Builder(mClientContext)
+                .setId("id2")
+                .setTitle("x")
+                .setActivity(new ComponentName(mClientContext, ShortcutActivity2.class))
+                .setIntent(makeIntent("action", ShortcutActivity.class, "key", "val"))
+                .setRank(456)
+                .build();
+        sorig2.setTimestamp(mInjectedCurrentTimeMillis);
 
-        Thread.sleep(2);
-        final long now = System.currentTimeMillis();
+        mManager.addDynamicShortcuts(list(sorig, sorig2));
+
+        mInjectedCurrentTimeMillis += 1;
+        final long now = mInjectedCurrentTimeMillis;
+        mInjectedCurrentTimeMillis += 1;
 
         // Save and load.
         mService.saveDirtyInfo();
@@ -779,7 +867,7 @@
         assertEquals(set(ShortcutInfo.SHORTCUT_CATEGORY_CONVERSATION, "xyz"), si.getCategories());
         assertEquals("action", si.getIntent().getAction());
         assertEquals("val", si.getIntent().getStringExtra("key"));
-        assertEquals(123, si.getRank());
+        assertEquals(0, si.getRank());
         assertEquals(1, si.getExtras().getInt("k"));
 
         assertEquals(ShortcutInfo.FLAG_DYNAMIC | ShortcutInfo.FLAG_HAS_ICON_FILE
@@ -787,6 +875,11 @@
         assertNotNull(si.getBitmapPath()); // Something should be set.
         assertEquals(0, si.getIconResourceId());
         assertTrue(si.getLastChangedTimestamp() < now);
+
+        // Make sure ranks are saved too.  Because of the auto-adjusting, we need two shortcuts
+        // to test it.
+        si = mService.getPackageShortcutForTest(CALLING_PACKAGE_1, "id2", USER_10);
+        assertEquals(1, si.getRank());
     }
 
     public void testShortcutInfoSaveAndLoad_resId() throws InterruptedException {
@@ -808,11 +901,22 @@
                 .setRank(123)
                 .setExtras(pb)
                 .build();
+        sorig.setTimestamp(mInjectedCurrentTimeMillis);
 
-        mManager.addDynamicShortcuts(list(sorig));
+        ShortcutInfo sorig2 = new ShortcutInfo.Builder(mClientContext)
+                .setId("id2")
+                .setTitle("x")
+                .setActivity(new ComponentName(mClientContext, ShortcutActivity2.class))
+                .setIntent(makeIntent("action", ShortcutActivity.class, "key", "val"))
+                .setRank(456)
+                .build();
+        sorig2.setTimestamp(mInjectedCurrentTimeMillis);
 
-        Thread.sleep(2);
-        final long now = System.currentTimeMillis();
+        mManager.addDynamicShortcuts(list(sorig, sorig2));
+
+        mInjectedCurrentTimeMillis += 1;
+        final long now = mInjectedCurrentTimeMillis;
+        mInjectedCurrentTimeMillis += 1;
 
         // Save and load.
         mService.saveDirtyInfo();
@@ -837,7 +941,7 @@
         assertEquals(set(ShortcutInfo.SHORTCUT_CATEGORY_CONVERSATION, "xyz"), si.getCategories());
         assertEquals("action", si.getIntent().getAction());
         assertEquals("val", si.getIntent().getStringExtra("key"));
-        assertEquals(123, si.getRank());
+        assertEquals(0, si.getRank());
         assertEquals(1, si.getExtras().getInt("k"));
 
         assertEquals(ShortcutInfo.FLAG_DYNAMIC | ShortcutInfo.FLAG_HAS_ICON_RES
@@ -845,6 +949,11 @@
         assertNull(si.getBitmapPath());
         assertEquals(R.drawable.black_32x32, si.getIconResourceId());
         assertTrue(si.getLastChangedTimestamp() < now);
+
+        // Make sure ranks are saved too.  Because of the auto-adjusting, we need two shortcuts
+        // to test it.
+        si = mService.getPackageShortcutForTest(CALLING_PACKAGE_1, "id2", USER_10);
+        assertEquals(1, si.getRank());
     }
 
     public void testShortcutInfoSaveAndLoad_forBackup() {
@@ -868,11 +977,19 @@
                 .setExtras(pb)
                 .build();
 
-        mManager.addDynamicShortcuts(list(sorig));
+        ShortcutInfo sorig2 = new ShortcutInfo.Builder(mClientContext)
+                .setId("id2")
+                .setTitle("x")
+                .setActivity(new ComponentName(mClientContext, ShortcutActivity2.class))
+                .setIntent(makeIntent("action", ShortcutActivity.class, "key", "val"))
+                .setRank(456)
+                .build();
+
+        mManager.addDynamicShortcuts(list(sorig, sorig2));
 
         // Dynamic shortcuts won't be backed up, so we need to pin it.
         setCaller(LAUNCHER_1, USER_0);
-        mLauncherApps.pinShortcuts(CALLING_PACKAGE_1, list("id"), HANDLE_USER_0);
+        mLauncherApps.pinShortcuts(CALLING_PACKAGE_1, list("id", "id2"), HANDLE_USER_0);
 
         // Do backup & restore.
         backupAndRestore();
@@ -892,12 +1009,16 @@
         assertEquals(set(ShortcutInfo.SHORTCUT_CATEGORY_CONVERSATION, "xyz"), si.getCategories());
         assertEquals("action", si.getIntent().getAction());
         assertEquals("val", si.getIntent().getStringExtra("key"));
-        assertEquals(123, si.getRank());
+        assertEquals(0, si.getRank());
         assertEquals(1, si.getExtras().getInt("k"));
 
         assertEquals(ShortcutInfo.FLAG_PINNED | ShortcutInfo.FLAG_STRINGS_RESOLVED, si.getFlags());
         assertNull(si.getBitmapPath()); // No icon.
         assertEquals(0, si.getIconResourceId());
+
+        // Note when restored from backup, it's no longer dynamic, so shouldn't have a rank.
+        si = mService.getPackageShortcutForTest(CALLING_PACKAGE_1, "id2", USER_0);
+        assertEquals(0, si.getRank());
     }
 
     public void testShortcutInfoSaveAndLoad_forBackup_resId() {
@@ -920,11 +1041,19 @@
                 .setExtras(pb)
                 .build();
 
-        mManager.addDynamicShortcuts(list(sorig));
+        ShortcutInfo sorig2 = new ShortcutInfo.Builder(mClientContext)
+                .setId("id2")
+                .setTitle("x")
+                .setActivity(new ComponentName(mClientContext, ShortcutActivity2.class))
+                .setIntent(makeIntent("action", ShortcutActivity.class, "key", "val"))
+                .setRank(456)
+                .build();
+
+        mManager.addDynamicShortcuts(list(sorig, sorig2));
 
         // Dynamic shortcuts won't be backed up, so we need to pin it.
         setCaller(LAUNCHER_1, USER_0);
-        mLauncherApps.pinShortcuts(CALLING_PACKAGE_1, list("id"), HANDLE_USER_0);
+        mLauncherApps.pinShortcuts(CALLING_PACKAGE_1, list("id", "id2"), HANDLE_USER_0);
 
         // Do backup & restore.
         backupAndRestore();
@@ -947,13 +1076,74 @@
         assertEquals(set(ShortcutInfo.SHORTCUT_CATEGORY_CONVERSATION, "xyz"), si.getCategories());
         assertEquals("action", si.getIntent().getAction());
         assertEquals("val", si.getIntent().getStringExtra("key"));
-        assertEquals(123, si.getRank());
+        assertEquals(0, si.getRank());
         assertEquals(1, si.getExtras().getInt("k"));
 
         assertEquals(ShortcutInfo.FLAG_PINNED | ShortcutInfo.FLAG_STRINGS_RESOLVED, si.getFlags());
         assertNull(si.getBitmapPath()); // No icon.
         assertEquals(0, si.getIconResourceId());
         assertEquals(null, si.getIconResName());
+
+        // Note when restored from backup, it's no longer dynamic, so shouldn't have a rank.
+        si = mService.getPackageShortcutForTest(CALLING_PACKAGE_1, "id2", USER_0);
+        assertEquals(0, si.getRank());
+    }
+
+    private void checkShortcutInfoSaveAndLoad_intents(Intent intent) {
+        assertTrue(mManager.setDynamicShortcuts(list(
+                makeShortcutWithIntent("s1", intent))));
+        initService();
+        mService.handleUnlockUser(USER_0);
+
+        assertWith(getCallerShortcuts())
+                .haveIds("s1")
+                .forShortcutWithId("s1", si -> {
+                    assertEquals(intent.getAction(), si.getIntent().getAction());
+                    assertEquals(intent.getData(), si.getIntent().getData());
+                    assertEquals(intent.getComponent(), si.getIntent().getComponent());
+                    assertBundlesEqual(intent.getExtras(), si.getExtras());
+                });
+    }
+
+    public void testShortcutInfoSaveAndLoad_intents() {
+        checkShortcutInfoSaveAndLoad_intents(new Intent(Intent.ACTION_VIEW));
+
+        mInjectedCurrentTimeMillis += INTERVAL; // reset throttling.
+
+        checkShortcutInfoSaveAndLoad_intents(new Intent(Intent.ACTION_MAIN));
+
+        mInjectedCurrentTimeMillis += INTERVAL; // reset throttling.
+
+        checkShortcutInfoSaveAndLoad_intents(new Intent(Intent.ACTION_VIEW,
+                Uri.parse("http://www.example.com/")));
+
+        mInjectedCurrentTimeMillis += INTERVAL; // reset throttling.
+
+        checkShortcutInfoSaveAndLoad_intents(new Intent(Intent.ACTION_MAIN,
+                Uri.parse("http://www.example.com/")));
+
+        mInjectedCurrentTimeMillis += INTERVAL; // reset throttling.
+
+        checkShortcutInfoSaveAndLoad_intents(new Intent(Intent.ACTION_VIEW)
+                .setComponent(new ComponentName("a", "b")));
+
+        mInjectedCurrentTimeMillis += INTERVAL; // reset throttling.
+
+        checkShortcutInfoSaveAndLoad_intents(new Intent(Intent.ACTION_MAIN)
+                .setComponent(new ComponentName("a", "b")));
+
+        mInjectedCurrentTimeMillis += INTERVAL; // reset throttling.
+
+        checkShortcutInfoSaveAndLoad_intents(new Intent(Intent.ACTION_VIEW)
+                .putExtras(makeBundle("a", "b")));
+
+        mInjectedCurrentTimeMillis += INTERVAL; // reset throttling.
+
+
+        checkShortcutInfoSaveAndLoad_intents(new Intent(Intent.ACTION_MAIN)
+                .putExtras(makeBundle("a", "b")));
+
+        mInjectedCurrentTimeMillis += INTERVAL; // reset throttling.
     }
 
     public void testThrottling() {
@@ -1414,7 +1604,7 @@
 
         // Simulate a call from sys UI.
         mCallerPermissions.add(permission.RESET_SHORTCUT_MANAGER_THROTTLING);
-        mService.onApplicationActive(CALLING_PACKAGE_1, USER_0);
+        mManager.onApplicationActive(CALLING_PACKAGE_1, USER_0);
 
         runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
             assertEquals(3, mManager.getRemainingCallCount());
@@ -1435,7 +1625,7 @@
             MoreAsserts.assertNotEqual(3, mManager.getRemainingCallCount());
         });
 
-        mService.onApplicationActive(CALLING_PACKAGE_3, USER_0);
+        mManager.onApplicationActive(CALLING_PACKAGE_3, USER_0);
 
         runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
             assertEquals(3, mManager.getRemainingCallCount());
@@ -1456,7 +1646,7 @@
             MoreAsserts.assertNotEqual(3, mManager.getRemainingCallCount());
         });
 
-        mService.onApplicationActive(CALLING_PACKAGE_1, USER_10);
+        mManager.onApplicationActive(CALLING_PACKAGE_1, USER_10);
 
         runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
             assertEquals(3, mManager.getRemainingCallCount());
diff --git a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest3.java b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest3.java
new file mode 100644
index 0000000..eb4db7a
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest3.java
@@ -0,0 +1,505 @@
+/*
+ * 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.
+ */
+package com.android.server.pm;
+
+import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertWith;
+import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.list;
+
+import android.content.ComponentName;
+import android.content.pm.ShortcutInfo;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import com.android.frameworks.servicestests.R;
+import com.android.server.pm.ShortcutService.ConfigConstants;
+
+/**
+ * Tests related to shortcut rank auto-adjustment.
+ */
+@SmallTest
+public class ShortcutManagerTest3 extends BaseShortcutManagerTest {
+
+    private static final String CALLING_PACKAGE = CALLING_PACKAGE_1;
+
+    private static final ComponentName A1 = new ComponentName(CALLING_PACKAGE,
+            ShortcutActivity.class.getName());
+
+    private static final ComponentName A2 = new ComponentName(CALLING_PACKAGE,
+            ShortcutActivity2.class.getName());
+
+    private static final ComponentName A3 = new ComponentName(CALLING_PACKAGE,
+            ShortcutActivity3.class.getName());
+
+    private ShortcutInfo shortcut(String id, ComponentName activity, int rank) {
+        return makeShortcutWithActivityAndRank(id, activity, rank);
+    }
+
+    private ShortcutInfo shortcut(String id, ComponentName activity) {
+        return makeShortcutWithActivityAndRank(id, activity, ShortcutInfo.RANK_NOT_SET);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        // We don't need throttling during this test class, and also relax the max cap.
+        mService.updateConfigurationLocked(
+                ConfigConstants.KEY_MAX_UPDATES_PER_INTERVAL + "=99999999,"
+                + ConfigConstants.KEY_MAX_SHORTCUTS + "=99999999"
+        );
+
+        setCaller(CALLING_PACKAGE, USER_0);
+    }
+
+    private void publishManifestShortcuts(ComponentName activity, int resId) {
+        addManifestShortcutResource(activity, resId);
+        updatePackageVersion(CALLING_PACKAGE, 1);
+        mService.mPackageMonitor.onReceive(getTestContext(),
+                genPackageAddIntent(CALLING_PACKAGE, USER_0));
+    }
+
+    public void testSetDynamicShortcuts_noManifestShortcuts() {
+        mManager.setDynamicShortcuts(list(
+                shortcut("s1", A1)
+        ));
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s1");
+
+        assertTrue(mManager.setDynamicShortcuts(list(
+                shortcut("s5", A1),
+                shortcut("s4", A1),
+                shortcut("s3", A1)
+        )));
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5", "s4", "s3");
+
+        // RANK_NOT_SET is always the last.
+        assertTrue(mManager.setDynamicShortcuts(list(
+                shortcut("s5", A1),
+                shortcut("s4", A1, 5),
+                shortcut("s3", A1, 3),
+                shortcut("s2", A1)
+        )));
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s3", "s4", "s5", "s2");
+
+        // Same rank, preserve the argument order.
+        assertTrue(mManager.setDynamicShortcuts(list(
+                shortcut("s5", A1, 5),
+                shortcut("s4", A1, 0),
+                shortcut("s3", A1, 5)
+        )));
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s4", "s5", "s3");
+
+        // Multiple activities.
+        assertTrue(mManager.setDynamicShortcuts(list(
+                shortcut("s5", A1),
+                shortcut("s4", A2),
+                shortcut("s3", A3)
+        )));
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5");
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("s4");
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A3)
+                .haveRanksInOrder("s3");
+
+        assertTrue(mManager.setDynamicShortcuts(list(
+                shortcut("s5", A1, 5),
+                shortcut("s4", A1),
+                shortcut("s3", A1, 5),
+                shortcut("x5", A2, 5),
+                shortcut("x4", A2),
+                shortcut("x3", A2, 1)
+        )));
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5", "s3", "s4");
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x3", "x5", "x4");
+
+        // Clear.  Make sure it wouldn't lead to invalid internals state.
+        // (ShortcutService.verifyStates() will do so internally.)
+        assertTrue(mManager.setDynamicShortcuts(list()));
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1).isEmpty();
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2).isEmpty();
+    }
+
+    private void runTestWithManifestShortcuts(Runnable r) {
+        publishManifestShortcuts(A1, R.xml.shortcut_5_alt);
+        publishManifestShortcuts(A2, R.xml.shortcut_1);
+
+        assertWith(getCallerShortcuts()).selectManifest().selectByActivity(A1)
+                .haveRanksInOrder("ms1_alt", "ms2_alt", "ms3_alt", "ms4_alt", "ms5_alt");
+
+        assertWith(getCallerShortcuts()).selectManifest().selectByActivity(A2)
+                .haveRanksInOrder("ms1");
+
+        // Existence of manifest shortcuts shouldn't affect dynamic shortcut ranks,
+        // so running another test here should pass.
+        r.run();
+
+        // And dynamic shortcut tests shouldn't affect manifest shortcuts, so repeat the
+        // same check.
+        assertWith(getCallerShortcuts()).selectManifest().selectByActivity(A1)
+                .haveRanksInOrder("ms1_alt", "ms2_alt", "ms3_alt", "ms4_alt", "ms5_alt");
+
+        assertWith(getCallerShortcuts()).selectManifest().selectByActivity(A2)
+                .haveRanksInOrder("ms1");
+    }
+
+    public void testSetDynamicShortcuts_withManifestShortcuts() {
+        runTestWithManifestShortcuts(() -> testSetDynamicShortcuts_noManifestShortcuts());
+    }
+
+    public void testAddDynamicShortcuts_noManifestShortcuts() {
+        mManager.addDynamicShortcuts(list(
+                shortcut("s1", A1)
+        ));
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s1");
+
+        //------------------------------------------------------
+        long lastApiTime = ++mInjectedCurrentTimeMillis;
+
+        mManager.addDynamicShortcuts(list(
+                shortcut("s5", A1, 0),
+                shortcut("s4", A1),
+                shortcut("s2", A1, 3),
+                shortcut("x1", A2),
+                shortcut("x3", A2, 2),
+                shortcut("x2", A2, 2),
+                shortcut("s3", A1, 0)
+        ));
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5", "s3", "s1", "s2", "s4");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x3", "x2", "x1");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByChangedSince(lastApiTime)
+                .haveIds("s5", "s3", "s1", "s2", "s4", "x3", "x2", "x1");
+
+        //------------------------------------------------------
+        lastApiTime = ++mInjectedCurrentTimeMillis;
+
+        mManager.addDynamicShortcuts(list(
+                shortcut("s1", A1, 1)
+        ));
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5", "s1", "s3", "s2", "s4");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x3", "x2", "x1");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByChangedSince(lastApiTime)
+                .haveIds("s1", "s3");
+
+        //------------------------------------------------------
+        lastApiTime = ++mInjectedCurrentTimeMillis;
+
+        mManager.addDynamicShortcuts(list(
+                shortcut("s1", A1, 1),
+
+                // This is add, not update, so the following means s5 will have NO_RANK,
+                // which puts it at the end.
+                shortcut("s5", A1),
+                shortcut("s3", A1, 0),
+
+                // s10 also has NO_RANK, so it'll be put at the end, even after "s5" as we preserve
+                // the argument order.
+                shortcut("s10", A1),
+
+                // Note we're changing the activity for x2.
+                shortcut("x2", A1, 0),
+                shortcut("x10", A2)
+        ));
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s3", "x2", "s1", "s2", "s4", "s5", "s10");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x3", "x1", "x10");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByChangedSince(lastApiTime)
+                .haveIds("s3", "x2", "s1", "s5", "s10", "x1", "x10");
+
+        //------------------------------------------------------
+        lastApiTime = ++mInjectedCurrentTimeMillis;
+
+        // Change the activities again.
+        mManager.addDynamicShortcuts(list(
+                shortcut("s1", A2),
+                shortcut("s2", A2, 999)
+        ));
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s3", "x2", "s4", "s5", "s10");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x3", "x1", "x10", "s2", "s1");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByChangedSince(lastApiTime)
+                .haveIds("s1", "s2", "s4", "s5", "s10");
+    }
+
+    public void testAddDynamicShortcuts_withManifestShortcuts() {
+        runTestWithManifestShortcuts(() -> testAddDynamicShortcuts_noManifestShortcuts());
+    }
+
+    public void testUpdateShortcuts_noManifestShortcuts() {
+        mManager.addDynamicShortcuts(list(
+                shortcut("s5", A1, 0),
+                shortcut("s4", A1),
+                shortcut("s2", A1, 3),
+                shortcut("x1", A2),
+                shortcut("x3", A2, 2),
+                shortcut("x2", A2, 2),
+                shortcut("s3", A1, 0)
+        ));
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5", "s3", "s2", "s4");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x3", "x2", "x1");
+
+        //------------------------------------------------------
+        long lastApiTime = ++mInjectedCurrentTimeMillis;
+
+        mManager.updateShortcuts(list());
+        // Same order.
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5", "s3", "s2", "s4");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x3", "x2", "x1");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByChangedSince(lastApiTime)
+                .isEmpty();
+
+
+        runWithCaller(LAUNCHER_1, USER_0, () -> {
+            mLauncherApps.pinShortcuts(CALLING_PACKAGE, list("s2", "s4", "x2"), HANDLE_USER_0);
+        });
+        // Still same order.
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5", "s3", "s2", "s4");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x3", "x2", "x1");
+
+        //------------------------------------------------------
+        lastApiTime = ++mInjectedCurrentTimeMillis;
+
+        mManager.updateShortcuts(list(
+                shortcut("s4", A1, 1),
+
+                // Rank not changing, should keep the same positions.
+                // c.f. in case of addDynamicShortcuts, this means "put them at the end".
+                shortcut("s3", A1),
+                shortcut("x2", A2)
+        ));
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5", "s4", "s3", "s2");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x3", "x2", "x1");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByChangedSince(lastApiTime)
+                .haveIds("s4", "s3", "s2", "x2");
+
+        //------------------------------------------------------
+        lastApiTime = ++mInjectedCurrentTimeMillis;
+
+        mManager.updateShortcuts(list(
+                shortcut("s4", A1, 0),
+
+                // Change the activity without specifying a rank -> keep the same rank.
+                shortcut("s5", A2),
+
+                // Change the activity without specifying a rank -> assign a new rank.
+                shortcut("x2", A1, 2),
+
+                // "xx" doesn't exist, so it'll be ignored.
+                shortcut("xx", A1, 0)
+        ));
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s4", "x2", "s3", "s2");
+
+        // Interesting case: both x3 and s5 originally had rank=0, and in this case s5 has moved
+        // to A2 without changing the rank.  So they're tie for the new rank, as well as
+        // the "rank changed" bit.  Also in this case, "s5" won't have an implicit order, since
+        // its rank isn't changing.  So we sort them by ID, thus s5 comes before x3.
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("s5", "x3", "x1");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByChangedSince(lastApiTime)
+                .haveIds("s4", "x2", "s5", "x3");
+
+        //------------------------------------------------------
+        lastApiTime = ++mInjectedCurrentTimeMillis;
+
+        mManager.updateShortcuts(list(
+                shortcut("s3", A3)));
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s4", "x2", "s2");
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("s5", "x3", "x1");
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A3)
+                .haveRanksInOrder("s3");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByChangedSince(lastApiTime)
+                .haveIds("s3", "s2");
+    }
+
+    public void testUpdateShortcuts_withManifestShortcuts() {
+        runTestWithManifestShortcuts(() -> testUpdateShortcuts_noManifestShortcuts());
+    }
+
+    public void testDeleteDynamicShortcuts_noManifestShortcuts() {
+        mManager.addDynamicShortcuts(list(
+                shortcut("s5", A1, 0),
+                shortcut("s4", A1),
+                shortcut("s2", A1, 3),
+                shortcut("x1", A2),
+                shortcut("x3", A2, 2),
+                shortcut("x2", A2, 2),
+                shortcut("s3", A1, 0)
+        ));
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5", "s3", "s2", "s4");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x3", "x2", "x1");
+
+        //------------------------------------------------------
+        long lastApiTime = ++mInjectedCurrentTimeMillis;
+
+        mManager.removeDynamicShortcuts(list());
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5", "s3", "s2", "s4");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x3", "x2", "x1");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByChangedSince(lastApiTime)
+                .isEmpty();
+
+        runWithCaller(LAUNCHER_1, USER_0, () -> {
+            mLauncherApps.pinShortcuts(
+                    CALLING_PACKAGE, list("s2", "s4", "x1", "x2"), HANDLE_USER_0);
+        });
+        // Still same order.
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5", "s3", "s2", "s4");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x3", "x2", "x1");
+
+        //------------------------------------------------------
+        lastApiTime = ++mInjectedCurrentTimeMillis;
+
+        mManager.removeDynamicShortcuts(list("s3", "x1", "xxxx"));
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5", "s2", "s4");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x3", "x2");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByChangedSince(lastApiTime)
+                .haveIds("s2", "s4");
+    }
+
+    public void testDeleteDynamicShortcuts_withManifestShortcuts() {
+        runTestWithManifestShortcuts(() -> testDeleteDynamicShortcuts_noManifestShortcuts());
+    }
+
+    public void testDisableShortcuts_noManifestShortcuts() {
+        mManager.addDynamicShortcuts(list(
+                shortcut("s5", A1, 0),
+                shortcut("s4", A1),
+                shortcut("s2", A1, 3),
+                shortcut("x1", A2),
+                shortcut("x3", A2, 2),
+                shortcut("x2", A2, 2),
+                shortcut("s3", A1, 0)
+        ));
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5", "s3", "s2", "s4");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x3", "x2", "x1");
+
+        //------------------------------------------------------
+        long lastApiTime = ++mInjectedCurrentTimeMillis;
+
+        mManager.disableShortcuts(list());
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5", "s3", "s2", "s4");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x3", "x2", "x1");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByChangedSince(lastApiTime)
+                .isEmpty();
+
+        //------------------------------------------------------
+        lastApiTime = ++mInjectedCurrentTimeMillis;
+
+        mManager.disableShortcuts(list("s3", "x1", "xxxx"));
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5", "s2", "s4");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x3", "x2");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByChangedSince(lastApiTime)
+                .haveIds("s2", "s4");
+
+        runWithCaller(LAUNCHER_1, USER_0, () -> {
+            mLauncherApps.pinShortcuts(CALLING_PACKAGE, list("s2", "s4", "x2"), HANDLE_USER_0);
+        });
+        // Still same order.
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5", "s2", "s4");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x3", "x2");
+
+        //------------------------------------------------------
+        lastApiTime = ++mInjectedCurrentTimeMillis;
+
+        mManager.disableShortcuts(list("s2", "x3"));
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A1)
+                .haveRanksInOrder("s5", "s4");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByActivity(A2)
+                .haveRanksInOrder("x2");
+
+        assertWith(getCallerShortcuts()).selectDynamic().selectByChangedSince(lastApiTime)
+                .haveIds("s4", "x2");
+    }
+
+    public void testDisableShortcuts_withManifestShortcuts() {
+        runTestWithManifestShortcuts(() -> testDisableShortcuts_noManifestShortcuts());
+    }
+
+}
diff --git a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest4.java b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest4.java
new file mode 100644
index 0000000..54c4b22
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest4.java
@@ -0,0 +1,126 @@
+/*
+ * 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.
+ */
+package com.android.server.pm;
+
+import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertBundlesEqual;
+import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.assertWith;
+import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.list;
+import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.makeBundle;
+import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.makePersistableBundle;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.PersistableBundle;
+import android.test.suitebuilder.annotation.SmallTest;
+
+@SmallTest
+public class ShortcutManagerTest4 extends BaseShortcutManagerTest {
+
+    private static Bundle sIntentExtras = makeBundle(
+            "key{\u0000}", "value{\u0000}",
+            "key{\u0001}", "value{\u0001}",
+            "key{\u001f}", "value{\u001f}",
+            "key{\u007f}", "value{\u007f}",
+
+            "key{\ud800\udc00}", "value{\ud800\udc00}",
+            "key{\ud801\udc01}", "value{\ud801\udc01}",
+            "key{\udbff\udfff}", "value{\udbff\udfff}",
+
+            "key{\ud801}x", 1, // broken surrogate pair
+            "key{\uDC01}\"x", 2, // broken surrogate pair
+
+            "x1", "value{\ud801}x", // broken surrogate pair
+            "x2", "value{\uDC01}\"x" // broken surrogate pair
+    );
+
+    // Same as above, except broken surrogate pairs are replaced with '?'s.
+    private static Bundle sIntentExtrasDecoded = makeBundle(
+            "key{\u0000}", "value{\u0000}",
+            "key{\u0001}", "value{\u0001}",
+            "key{\u001f}", "value{\u001f}",
+            "key{\u007f}", "value{\u007f}",
+
+            "key{\ud800\udc00}", "value{\ud800\udc00}",
+            "key{\ud801\udc01}", "value{\ud801\udc01}",
+            "key{\udbff\udfff}", "value{\udbff\udfff}",
+
+            "key{?}x", 1,
+            "key{?}\"x", 2,
+
+            "x1", "value{?}x",
+            "x2", "value{?}\"x"
+    );
+
+    private static PersistableBundle sShortcutExtras = makePersistableBundle(
+            "key{\u0000}", "value{\u0000}",
+            "key{\u0001}", "value{\u0001}",
+            "key{\u001f}", "value{\u001f}",
+            "key{\u007f}", "value{\u007f}",
+
+            "key{\ud800\udc00}", "value{\ud800\udc00}",
+            "key{\ud801\udc01}", "value{\ud801\udc01}",
+            "key{\udbff\udfff}", "value{\udbff\udfff}",
+
+            "key{\ud801}", 1, // broken surrogate pair
+            "key{\uDC01}", 2, // broken surrogate pair
+
+            "x1", "value{\ud801}", // broken surrogate pair
+            "x2", "value{\uDC01}" // broken surrogate pair
+    );
+
+    // Same as above, except broken surrogate pairs are replaced with '?'s.
+    private static PersistableBundle sShortcutExtrasDecoded = makePersistableBundle(
+            "key{\u0000}", "value{\u0000}",
+            "key{\u0001}", "value{\u0001}",
+            "key{\u001f}", "value{\u001f}",
+            "key{\u007f}", "value{\u007f}",
+
+            "key{\ud800\udc00}", "value{\ud800\udc00}",
+            "key{\ud801\udc01}", "value{\ud801\udc01}",
+            "key{\udbff\udfff}", "value{\udbff\udfff}",
+
+            "key{?}", 1,
+            "key{?}", 2,
+
+            "x1", "value{?}",
+            "x2", "value{?}"
+    );
+
+    public void testPersistingWeirdCharacters() {
+        final Intent intent = new Intent(Intent.ACTION_VIEW)
+                .putExtras(sIntentExtras);
+
+        runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+            assertTrue(mManager.setDynamicShortcuts(list(
+                    makeShortcutWithExtras("s1", intent, sShortcutExtras),
+                    makeShortcut("s{\u0000}{\u0001}{\uD800\uDC00}x[\uD801][\uDC01]")
+            )));
+        });
+
+        // Make sure save & load works fine. (i.e. shouldn't crash even with invalid characters.)
+        initService();
+        mService.handleUnlockUser(USER_0);
+
+        runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+            assertWith(getCallerShortcuts())
+                    .haveIds("s1", "s{\u0000}{\u0001}{\uD800\uDC00}x[?][?]")
+                    .forShortcutWithId("s1", si -> {
+                        assertBundlesEqual(si.getIntent().getExtras(), sIntentExtrasDecoded);
+                        assertBundlesEqual(si.getExtras(), sShortcutExtrasDecoded);
+                    });
+        });
+    }
+}
\ No newline at end of file
diff --git a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest5.java b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest5.java
new file mode 100644
index 0000000..29c98dc
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest5.java
@@ -0,0 +1,202 @@
+/*
+ * 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.
+ */
+package com.android.server.pm;
+
+import static com.android.server.pm.shortcutmanagertest.ShortcutManagerTestUtils.set;
+
+import android.app.Activity;
+import android.content.ComponentName;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.ShortcutServiceInternal;
+import android.content.res.XmlResourceParser;
+import android.os.Looper;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import com.android.server.LocalServices;
+
+import java.util.List;
+import java.util.Set;
+
+/**
+ * Unit tests for all the IPackageManager related methods in {@link ShortcutService}.
+ *
+ * All the tests here actually talks to the real IPackageManager, so we can't test complicated
+ * cases.  Instead we just make sure they all work reasonably without at least crashing.
+ */
+@SmallTest
+public class ShortcutManagerTest5 extends BaseShortcutManagerTest {
+    private ShortcutService mShortcutService;
+
+    private String mMyPackage;
+    private int mMyUserId;
+
+    public static class ShortcutEnabled extends Activity {
+    }
+
+    public static class ShortcutDisabled extends Activity {
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        LocalServices.removeServiceForTest(ShortcutServiceInternal.class);
+        mShortcutService = new ShortcutService(getTestContext(), Looper.getMainLooper(),
+                /* onyForPackageManagerApis */ true);
+
+        mMyPackage = getTestContext().getPackageName();
+        mMyUserId = android.os.Process.myUserHandle().getIdentifier();
+    }
+
+    public void testGetPackageUid() {
+        assertTrue(mShortcutService.injectGetPackageUid(
+                mMyPackage, mMyUserId) != 0);
+
+        assertEquals(-1, mShortcutService.injectGetPackageUid(
+                "no.such.package", mMyUserId));
+    }
+
+    public void testGetPackageInfo() {
+        PackageInfo pi = mShortcutService.getPackageInfo(
+                mMyPackage, mMyUserId, /*signature*/ false);
+        assertEquals(mMyPackage, pi.packageName);
+        assertNull(pi.signatures);
+
+        pi = mShortcutService.getPackageInfo(
+                mMyPackage, mMyUserId, /*signature*/ true);
+        assertEquals(mMyPackage, pi.packageName);
+        assertNotNull(pi.signatures);
+
+        pi = mShortcutService.getPackageInfo(
+                "no.such.package", mMyUserId, /*signature*/ true);
+        assertNull(pi);
+    }
+
+    public void testGetApplicationInfo() {
+        ApplicationInfo ai = mShortcutService.getApplicationInfo(
+                mMyPackage, mMyUserId);
+        assertEquals(mMyPackage, ai.packageName);
+
+        ai = mShortcutService.getApplicationInfo(
+                "no.such.package", mMyUserId);
+        assertNull(ai);
+    }
+
+    public void testGetActivityInfoWithMetadata() {
+        // Disabled activity
+        ActivityInfo ai = mShortcutService.getActivityInfoWithMetadata(
+                new ComponentName(mMyPackage, "ShortcutDisabled"), mMyUserId);
+        assertNull(ai);
+
+        // Nonexistent
+        ai = mShortcutService.getActivityInfoWithMetadata(
+                new ComponentName("no.such.package", "ShortcutDisabled"), mMyUserId);
+        assertNull(ai);
+
+        // Existent, with no metadata.
+        ai = mShortcutService.getActivityInfoWithMetadata(
+                new ComponentName(mMyPackage, "a.ShortcutEnabled"), mMyUserId);
+        assertEquals(mMyPackage, ai.packageName);
+        assertEquals("a.ShortcutEnabled", ai.name);
+        assertNull(ai.loadXmlMetaData(getTestContext().getPackageManager(),
+                "android.app.shortcuts"));
+
+        // Existent, with a shortcut metadata.
+        ai = mShortcutService.getActivityInfoWithMetadata(
+                new ComponentName(mMyPackage, "a.Shortcut1"), mMyUserId);
+        assertEquals(mMyPackage, ai.packageName);
+        assertEquals("a.Shortcut1", ai.name);
+        XmlResourceParser meta = ai.loadXmlMetaData(getTestContext().getPackageManager(),
+                "android.app.shortcuts");
+        assertNotNull(meta);
+        meta.close();
+    }
+
+    public void testGetInstalledPackages() {
+        List<PackageInfo> apks = mShortcutService.getInstalledPackages(mMyUserId);
+
+        Set<String> expectedPackages = set("com.android.settings", mMyPackage);
+        for (PackageInfo pi : apks) {
+            expectedPackages.remove(pi.packageName);
+        }
+        assertEquals(set(), expectedPackages);
+    }
+
+    public void testGetDefaultMainActivity() {
+        ComponentName cn = mShortcutService.injectGetDefaultMainActivity(
+                "com.android.settings", mMyUserId);
+
+        assertEquals(
+                ComponentName.unflattenFromString("com.android.settings/.Settings"),
+                cn);
+
+        // This package has no main activity.
+        assertNull(mShortcutService.injectGetDefaultMainActivity(
+                mMyPackage, mMyUserId));
+
+        // Nonexistent.
+        assertNull(mShortcutService.injectGetDefaultMainActivity(
+                "no.such.package", mMyUserId));
+    }
+
+    public void testIsMainActivity() {
+        assertTrue(mShortcutService.injectIsMainActivity(
+                ComponentName.unflattenFromString("com.android.settings/.Settings"), mMyUserId));
+        assertFalse(mShortcutService.injectIsMainActivity(
+                ComponentName.unflattenFromString("com.android.settings/.xxx"), mMyUserId));
+        assertFalse(mShortcutService.injectIsMainActivity(
+                ComponentName.unflattenFromString("no.such.package/.xxx"), mMyUserId));
+
+        assertFalse(mShortcutService.injectIsMainActivity(
+                new ComponentName(mMyPackage, "a.DisabledMain"), mMyUserId));
+        assertFalse(mShortcutService.injectIsMainActivity(
+                new ComponentName(mMyPackage, "a.UnexportedMain"), mMyUserId));
+
+    }
+
+    public void testGetMainActivities() {
+        assertEquals(1, mShortcutService.injectGetMainActivities(
+                "com.android.settings", mMyUserId).size());
+
+        // This APK has no main activities.
+        assertEquals(0, mShortcutService.injectGetMainActivities(
+                mMyPackage, mMyUserId).size());
+    }
+
+    public void testIsActivityEnabledAndExported() {
+        assertTrue(mShortcutService.injectIsActivityEnabledAndExported(
+                ComponentName.unflattenFromString("com.android.settings/.Settings"), mMyUserId));
+        assertFalse(mShortcutService.injectIsActivityEnabledAndExported(
+                ComponentName.unflattenFromString("com.android.settings/.xxx"), mMyUserId));
+        assertFalse(mShortcutService.injectIsActivityEnabledAndExported(
+                ComponentName.unflattenFromString("no.such.package/.xxx"), mMyUserId));
+
+        assertTrue(mShortcutService.injectIsActivityEnabledAndExported(
+                new ComponentName(mMyPackage, "com.android.server.pm.ShortcutTestActivity"),
+                mMyUserId));
+
+        assertTrue(mShortcutService.injectIsActivityEnabledAndExported(
+                new ComponentName(mMyPackage, "a.ShortcutEnabled"), mMyUserId));
+
+        assertFalse(mShortcutService.injectIsActivityEnabledAndExported(
+                new ComponentName(mMyPackage, "a.ShortcutDisabled"), mMyUserId));
+        assertFalse(mShortcutService.injectIsActivityEnabledAndExported(
+                new ComponentName(mMyPackage, "a.ShortcutUnexported"), mMyUserId));
+
+    }
+}
diff --git a/services/tests/servicestests/src/com/android/server/pm/ShortcutTestActivity.java b/services/tests/servicestests/src/com/android/server/pm/ShortcutTestActivity.java
new file mode 100644
index 0000000..d82b0d5
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/pm/ShortcutTestActivity.java
@@ -0,0 +1,21 @@
+/*
+ * 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.
+ */
+package com.android.server.pm;
+
+import android.app.Activity;
+
+public class ShortcutTestActivity extends Activity {
+}
diff --git a/services/tests/servicestests/src/com/android/server/webkit/WebViewUpdateServiceTest.java b/services/tests/servicestests/src/com/android/server/webkit/WebViewUpdateServiceTest.java
index c03324a..b737033 100644
--- a/services/tests/servicestests/src/com/android/server/webkit/WebViewUpdateServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/webkit/WebViewUpdateServiceTest.java
@@ -86,7 +86,7 @@
     private void setEnabledAndValidPackageInfos(WebViewProviderInfo[] providers) {
         for(WebViewProviderInfo wpi : providers) {
             mTestSystemImpl.setPackageInfo(createPackageInfo(wpi.packageName, true /* enabled */,
-                        true /* valid */));
+                        true /* valid */, true /* installed */));
         }
     }
 
@@ -137,12 +137,17 @@
     }
 
     private static PackageInfo createPackageInfo(
-            String packageName, boolean enabled, boolean valid) {
+            String packageName, boolean enabled, boolean valid, boolean installed) {
         PackageInfo p = new PackageInfo();
         p.packageName = packageName;
         p.applicationInfo = new ApplicationInfo();
         p.applicationInfo.enabled = enabled;
         p.applicationInfo.metaData = new Bundle();
+        if (installed) {
+            p.applicationInfo.flags |= ApplicationInfo.FLAG_INSTALLED;
+        } else {
+            p.applicationInfo.flags &= ~ApplicationInfo.FLAG_INSTALLED;
+        }
         if (valid) {
             // no flag means invalid
             p.applicationInfo.metaData.putString(WEBVIEW_LIBRARY_FLAG, "blah");
@@ -150,10 +155,23 @@
         return p;
     }
 
-    private static PackageInfo createPackageInfo(
-            String packageName, boolean enabled, boolean valid, Signature[] signatures) {
-        PackageInfo p = createPackageInfo(packageName, enabled, valid);
+    private static PackageInfo createPackageInfo(String packageName, boolean enabled, boolean valid,
+            boolean installed, Signature[] signatures, long updateTime) {
+        PackageInfo p = createPackageInfo(packageName, enabled, valid, installed);
         p.signatures = signatures;
+        p.lastUpdateTime = updateTime;
+        return p;
+    }
+
+    private static PackageInfo createPackageInfo(String packageName, boolean enabled, boolean valid,
+            boolean installed, Signature[] signatures, long updateTime, boolean hidden) {
+        PackageInfo p =
+            createPackageInfo(packageName, enabled, valid, installed, signatures, updateTime);
+        if (hidden) {
+            p.applicationInfo.privateFlags |= ApplicationInfo.PRIVATE_FLAG_HIDDEN;
+        } else {
+            p.applicationInfo.privateFlags &= ~ApplicationInfo.PRIVATE_FLAG_HIDDEN;
+        }
         return p;
     }
 
@@ -223,9 +241,11 @@
         setupWithPackages(packages, true /* fallback logic enabled */, 1 /* numRelros */,
                 false /* isDebuggable */);
         mTestSystemImpl.setPackageInfo(createPackageInfo(invalidPackage, true /* enabled */,
-                    true /* valid */, new Signature[]{invalidPackageSignature}));
+                    true /* valid */, true /* installed */, new Signature[]{invalidPackageSignature}
+                    , 0 /* updateTime */));
         mTestSystemImpl.setPackageInfo(createPackageInfo(validPackage, true /* enabled */,
-                    true /* valid */, new Signature[]{validSignature}));
+                    true /* valid */, true /* installed */, new Signature[]{validSignature}
+                    , 0 /* updateTime */));
 
         mWebViewUpdateServiceImpl.prepareWebViewInSystemServer();
 
@@ -273,7 +293,8 @@
         WebViewProviderInfo[] packages = new WebViewProviderInfo[] {wpi};
         setupWithPackages(packages);
         mTestSystemImpl.setPackageInfo(
-                createPackageInfo(wpi.packageName, true /* enabled */, false /* valid */));
+                createPackageInfo(wpi.packageName, true /* enabled */, false /* valid */,
+                    true /* installed */));
 
         mWebViewUpdateServiceImpl.prepareWebViewInSystemServer();
 
@@ -285,9 +306,10 @@
 
         // Verify that we can recover from failing to list webview packages.
         mTestSystemImpl.setPackageInfo(
-                createPackageInfo(wpi.packageName, true /* enabled */, true /* valid */));
+                createPackageInfo(wpi.packageName, true /* enabled */, true /* valid */,
+                    true /* installed */));
         mWebViewUpdateServiceImpl.packageStateChanged(wpi.packageName,
-                WebViewUpdateService.PACKAGE_ADDED_REPLACED);
+                WebViewUpdateService.PACKAGE_ADDED_REPLACED, 0);
 
         checkPreparationPhasesForPackage(wpi.packageName, 1);
     }
@@ -345,7 +367,7 @@
             // Have all packages be disabled so that we can change one to enabled later
             for(WebViewProviderInfo wpi : packages) {
                 mTestSystemImpl.setPackageInfo(createPackageInfo(wpi.packageName,
-                            false /* enabled */, true /* valid */));
+                            false /* enabled */, true /* valid */, true /* installed */));
             }
         }
 
@@ -371,7 +393,7 @@
             }
         }).start();
         try {
-            Thread.sleep(1000); // Let the new thread run / be blocked
+            Thread.sleep(500); // Let the new thread run / be blocked
         } catch (InterruptedException e) {
         }
 
@@ -380,9 +402,9 @@
         } else {
             // Switch provider by enabling the second one
             mTestSystemImpl.setPackageInfo(createPackageInfo(secondPackage, true /* enabled */,
-                        true /* valid */));
+                        true /* valid */, true /* installed */));
             mWebViewUpdateServiceImpl.packageStateChanged(
-                    secondPackage, WebViewUpdateService.PACKAGE_CHANGED);
+                    secondPackage, WebViewUpdateService.PACKAGE_CHANGED, 0);
         }
         mWebViewUpdateServiceImpl.notifyRelroCreationCompleted();
         // first package done, should start on second
@@ -432,9 +454,9 @@
 
         // Enable fallback package
         mTestSystemImpl.setPackageInfo(createPackageInfo(fallbackPackage, true /* enabled */,
-                        true /* valid */));
+                        true /* valid */, true /* installed */));
         mWebViewUpdateServiceImpl.packageStateChanged(
-                fallbackPackage, WebViewUpdateService.PACKAGE_CHANGED);
+                fallbackPackage, WebViewUpdateService.PACKAGE_CHANGED, 0);
 
         if (fallbackLogicEnabled) {
             // Check that we have now disabled the fallback package twice
@@ -463,7 +485,8 @@
                     fallbackPackage, "", true /* default available */, true /* fallback */, null)};
         setupWithPackages(packages, true /* isFallbackLogicEnabled */);
         mTestSystemImpl.setPackageInfo(
-                createPackageInfo(fallbackPackage, true /* enabled */ , true /* valid */));
+                createPackageInfo(fallbackPackage, true /* enabled */ , true /* valid */,
+                    true /* installed */));
 
         mWebViewUpdateServiceImpl.prepareWebViewInSystemServer();
         Mockito.verify(mTestSystemImpl, Mockito.never()).uninstallAndDisablePackageForAllUsers(
@@ -474,9 +497,10 @@
 
         // Install primary package
         mTestSystemImpl.setPackageInfo(
-                createPackageInfo(primaryPackage, true /* enabled */ , true /* valid */));
+                createPackageInfo(primaryPackage, true /* enabled */ , true /* valid */,
+                    true /* installed */));
         mWebViewUpdateServiceImpl.packageStateChanged(primaryPackage,
-                WebViewUpdateService.PACKAGE_ADDED_REPLACED);
+                WebViewUpdateService.PACKAGE_ADDED_REPLACED, 0);
 
         // Verify fallback disabled, primary package used as provider, and fallback package killed
         Mockito.verify(mTestSystemImpl).uninstallAndDisablePackageForAllUsers(
@@ -507,9 +531,10 @@
 
         // Disable primary package and ensure fallback becomes enabled and used
         mTestSystemImpl.setPackageInfo(
-                createPackageInfo(primaryPackage, false /* enabled */, true /* valid */));
+                createPackageInfo(primaryPackage, false /* enabled */, true /* valid */,
+                    true /* installed */));
         mWebViewUpdateServiceImpl.packageStateChanged(primaryPackage,
-                WebViewUpdateService.PACKAGE_CHANGED);
+                WebViewUpdateService.PACKAGE_CHANGED, 0);
 
         Mockito.verify(mTestSystemImpl).enablePackageForUser(
                 Mockito.eq(fallbackPackage), Mockito.eq(true) /* enable */,
@@ -520,9 +545,10 @@
 
         // Again enable primary package and verify primary is used and fallback becomes disabled
         mTestSystemImpl.setPackageInfo(
-                createPackageInfo(primaryPackage, true /* enabled */, true /* valid */));
+                createPackageInfo(primaryPackage, true /* enabled */, true /* valid */,
+                    true /* installed */));
         mWebViewUpdateServiceImpl.packageStateChanged(primaryPackage,
-                WebViewUpdateService.PACKAGE_CHANGED);
+                WebViewUpdateService.PACKAGE_CHANGED, 0);
 
         // Verify fallback is disabled a second time when primary package becomes enabled
         Mockito.verify(mTestSystemImpl, Mockito.times(2)).enablePackageForUser(
@@ -593,9 +619,10 @@
 
         // Make packages invalid to cause exception to be thrown
         mTestSystemImpl.setPackageInfo(createPackageInfo(firstPackage, true /* enabled */,
-                    false /* valid */));
+                    false /* valid */, true /* installed */, null /* signatures */,
+                    0 /* updateTime */));
         mTestSystemImpl.setPackageInfo(createPackageInfo(secondPackage, true /* enabled */,
-                    false /* valid */));
+                    false /* valid */, true /* installed */));
 
         // This shouldn't throw an exception!
         mWebViewUpdateServiceImpl.notifyRelroCreationCompleted();
@@ -605,10 +632,11 @@
 
         // Now make a package valid again and verify that we can switch back to that
         mTestSystemImpl.setPackageInfo(createPackageInfo(firstPackage, true /* enabled */,
-                    true /* valid */));
+                    true /* valid */, true /* installed */, null /* signatures */,
+                    1 /* updateTime */ ));
 
         mWebViewUpdateServiceImpl.packageStateChanged(firstPackage,
-                WebViewUpdateService.PACKAGE_ADDED_REPLACED);
+                WebViewUpdateService.PACKAGE_ADDED_REPLACED, 0);
 
         // Ensure we use firstPackage
         checkPreparationPhasesForPackage(firstPackage, 2 /* second preparation for this package */);
@@ -634,16 +662,16 @@
 
         // Remove second package (invalidate it) and verify that first package is used
         mTestSystemImpl.setPackageInfo(createPackageInfo(secondPackage, true /* enabled */,
-                    false /* valid */));
+                    false /* valid */, true /* installed */));
         mWebViewUpdateServiceImpl.packageStateChanged(secondPackage,
-                WebViewUpdateService.PACKAGE_ADDED);
+                WebViewUpdateService.PACKAGE_ADDED, 0);
         checkPreparationPhasesForPackage(firstPackage, 2 /* second time for this package */);
 
         // Now make the second package valid again and verify that it is used again
         mTestSystemImpl.setPackageInfo(createPackageInfo(secondPackage, true /* enabled */,
-                    true /* valid */));
+                    true /* valid */, true /* installed */));
         mWebViewUpdateServiceImpl.packageStateChanged(secondPackage,
-                WebViewUpdateService.PACKAGE_ADDED);
+                WebViewUpdateService.PACKAGE_ADDED, 0);
         checkPreparationPhasesForPackage(secondPackage, 2 /* second time for this package */);
     }
 
@@ -663,7 +691,7 @@
         setupWithPackages(packages);
         // Only 'install' nonChosenPackage
         mTestSystemImpl.setPackageInfo(
-                createPackageInfo(nonChosenPackage, true /* enabled */, true /* valid */));
+                createPackageInfo(nonChosenPackage, true /* enabled */, true /* valid */, true /* installed */));
 
         // Set user-chosen package
         mTestSystemImpl.updateUserSetting(null, chosenPackage);
@@ -702,16 +730,16 @@
 
         // Make both packages invalid so that we fail listing WebView packages
         mTestSystemImpl.setPackageInfo(createPackageInfo(firstPackage, true /* enabled */,
-                    false /* valid */));
+                    false /* valid */, true /* installed */));
         mTestSystemImpl.setPackageInfo(createPackageInfo(secondPackage, true /* enabled */,
-                    false /* valid */));
+                    false /* valid */, true /* installed */));
 
         // Change package to hit the webview packages listing problem.
         if (settingsChange) {
             mWebViewUpdateServiceImpl.changeProviderAndSetting(secondPackage);
         } else {
             mWebViewUpdateServiceImpl.packageStateChanged(secondPackage,
-                    WebViewUpdateService.PACKAGE_ADDED_REPLACED);
+                    WebViewUpdateService.PACKAGE_ADDED_REPLACED, 0);
         }
 
         WebViewProviderResponse response = mWebViewUpdateServiceImpl.waitForAndGetProvider();
@@ -719,10 +747,10 @@
 
         // Make second package valid and verify that we can load it again
         mTestSystemImpl.setPackageInfo(createPackageInfo(secondPackage, true /* enabled */,
-                    true /* valid */));
+                    true /* valid */, true /* installed */));
 
         mWebViewUpdateServiceImpl.packageStateChanged(secondPackage,
-                WebViewUpdateService.PACKAGE_ADDED_REPLACED);
+                WebViewUpdateService.PACKAGE_ADDED_REPLACED, 0);
 
 
         checkPreparationPhasesForPackage(secondPackage, 1);
@@ -749,13 +777,14 @@
         // Replace or remove the current webview package
         if (replaced) {
             mTestSystemImpl.setPackageInfo(
-                    createPackageInfo(firstPackage, true /* enabled */, false /* valid */));
+                    createPackageInfo(firstPackage, true /* enabled */, false /* valid */,
+                        true /* installed */));
             mWebViewUpdateServiceImpl.packageStateChanged(firstPackage,
-                    WebViewUpdateService.PACKAGE_ADDED_REPLACED);
+                    WebViewUpdateService.PACKAGE_ADDED_REPLACED, 0);
         } else {
             mTestSystemImpl.removePackageInfo(firstPackage);
             mWebViewUpdateServiceImpl.packageStateChanged(firstPackage,
-                    WebViewUpdateService.PACKAGE_REMOVED);
+                    WebViewUpdateService.PACKAGE_REMOVED, 0);
         }
 
         checkPreparationPhasesForPackage(secondPackage, 1);
@@ -806,7 +835,7 @@
         checkPreparationPhasesForPackage(thirdPackage, 1);
 
         mTestSystemImpl.setPackageInfo(
-                createPackageInfo(secondPackage, true /* enabled */, false /* valid */));
+                createPackageInfo(secondPackage, true /* enabled */, false /* valid */, true /* installed */));
 
         // Try to switch to the invalid second package, this should result in switching to the first
         // package, since that is more preferred than the third one.
@@ -817,4 +846,229 @@
 
         Mockito.verify(mTestSystemImpl).killPackageDependents(Mockito.eq(thirdPackage));
     }
+
+    // Ensure that the update service uses an uninstalled package if that is the only package
+    // available.
+    public void testWithSingleUninstalledPackage() {
+        String testPackageName = "test.package.name";
+        WebViewProviderInfo[] webviewPackages = new WebViewProviderInfo[] {
+                new WebViewProviderInfo(testPackageName, "",
+                        true /*default available*/, false /* fallback */, null)};
+        setupWithPackages(webviewPackages, true /* fallback logic enabled */, 1 /* numRelros */);
+        mTestSystemImpl.setPackageInfo(createPackageInfo(testPackageName, true /* enabled */,
+                    true /* valid */, false /* installed */));
+
+        mWebViewUpdateServiceImpl.prepareWebViewInSystemServer();
+
+        checkPreparationPhasesForPackage(testPackageName, 1 /* first preparation phase */);
+    }
+
+    public void testNonhiddenPackageUserOverHidden() {
+        checkVisiblePackageUserOverNonVisible(false /* true == uninstalled, false == hidden */);
+    }
+
+    public void testInstalledPackageUsedOverUninstalled() {
+        checkVisiblePackageUserOverNonVisible(true /* true == uninstalled, false == hidden */);
+    }
+
+    private void checkVisiblePackageUserOverNonVisible(boolean uninstalledNotHidden) {
+        boolean testUninstalled = uninstalledNotHidden;
+        boolean testHidden = !uninstalledNotHidden;
+        String installedPackage = "installedPackage";
+        String uninstalledPackage = "uninstalledPackage";
+        WebViewProviderInfo[] webviewPackages = new WebViewProviderInfo[] {
+            new WebViewProviderInfo(uninstalledPackage, "", true /* available by default */,
+                    false /* fallback */, null),
+            new WebViewProviderInfo(installedPackage, "", true /* available by default */,
+                    false /* fallback */, null)};
+
+        setupWithPackages(webviewPackages, true /* fallback logic enabled */, 1 /* numRelros */);
+        mTestSystemImpl.setPackageInfo(createPackageInfo(installedPackage, true /* enabled */,
+                    true /* valid */, true /* installed */));
+        mTestSystemImpl.setPackageInfo(createPackageInfo(uninstalledPackage, true /* enabled */,
+                    true /* valid */, (testUninstalled ? false : true) /* installed */,
+                    null /* signatures */, 0 /* updateTime */, (testHidden ? true : false)));
+
+        mWebViewUpdateServiceImpl.prepareWebViewInSystemServer();
+
+        checkPreparationPhasesForPackage(installedPackage, 1 /* first preparation phase */);
+    }
+
+    public void testCantSwitchToHiddenPackage () {
+        checkCantSwitchToNonVisiblePackage(false /* true == uninstalled, false == hidden */);
+    }
+
+
+    public void testCantSwitchToUninstalledPackage () {
+        checkCantSwitchToNonVisiblePackage(true /* true == uninstalled, false == hidden */);
+    }
+
+    /**
+     * Ensure that we won't prioritize an uninstalled (or hidden) package even if it is user-chosen,
+     * and that an uninstalled (or hidden) package is not considered valid (in the
+     * getValidWebViewPackages() API).
+     */
+    private void checkCantSwitchToNonVisiblePackage(boolean uninstalledNotHidden) {
+        boolean testUninstalled = uninstalledNotHidden;
+        boolean testHidden = !uninstalledNotHidden;
+        String installedPackage = "installedPackage";
+        String uninstalledPackage = "uninstalledPackage";
+        WebViewProviderInfo[] webviewPackages = new WebViewProviderInfo[] {
+            new WebViewProviderInfo(uninstalledPackage, "", true /* available by default */,
+                    false /* fallback */, null),
+            new WebViewProviderInfo(installedPackage, "", true /* available by default */,
+                    false /* fallback */, null)};
+
+        setupWithPackages(webviewPackages, true /* fallback logic enabled */, 1 /* numRelros */);
+        mTestSystemImpl.setPackageInfo(createPackageInfo(installedPackage, true /* enabled */,
+                    true /* valid */, true /* installed */));
+        mTestSystemImpl.setPackageInfo(createPackageInfo(uninstalledPackage, true /* enabled */,
+                    true /* valid */, (testUninstalled ? false : true) /* installed */,
+                    null /* signatures */, 0 /* updateTime */,
+                    (testHidden ? true : false) /* hidden */));
+
+        mWebViewUpdateServiceImpl.prepareWebViewInSystemServer();
+
+        checkPreparationPhasesForPackage(installedPackage, 1 /* first preparation phase */);
+
+        // Ensure that only the installed package is considered valid
+        WebViewProviderInfo[] validPackages = mWebViewUpdateServiceImpl.getValidWebViewPackages();
+        assertEquals(1, validPackages.length);
+        assertEquals(installedPackage, validPackages[0].packageName);
+
+        // ensure that we don't switch to the uninstalled package (it will be used if it becomes
+        // installed later)
+        assertEquals(installedPackage,
+                mWebViewUpdateServiceImpl.changeProviderAndSetting(uninstalledPackage));
+
+        // We should only have called onWebViewProviderChanged once (before calling
+        // changeProviderAndSetting
+        Mockito.verify(mTestSystemImpl, Mockito.times(1)).onWebViewProviderChanged(
+                Mockito.argThat(new IsPackageInfoWithName(installedPackage)));
+    }
+
+    public void testHiddenPackageNotPrioritizedEvenIfChosen() {
+        checkNonvisiblePackageNotPrioritizedEvenIfChosen(
+                false /* true == uninstalled, false == hidden */);
+    }
+
+    public void testUninstalledPackageNotPrioritizedEvenIfChosen() {
+        checkNonvisiblePackageNotPrioritizedEvenIfChosen(
+                true /* true == uninstalled, false == hidden */);
+    }
+
+    public void checkNonvisiblePackageNotPrioritizedEvenIfChosen(boolean uninstalledNotHidden) {
+        boolean testUninstalled = uninstalledNotHidden;
+        boolean testHidden = !uninstalledNotHidden;
+        String installedPackage = "installedPackage";
+        String uninstalledPackage = "uninstalledPackage";
+        WebViewProviderInfo[] webviewPackages = new WebViewProviderInfo[] {
+            new WebViewProviderInfo(uninstalledPackage, "", true /* available by default */,
+                    false /* fallback */, null),
+            new WebViewProviderInfo(installedPackage, "", true /* available by default */,
+                    false /* fallback */, null)};
+
+        setupWithPackages(webviewPackages, true /* fallback logic enabled */, 1 /* numRelros */);
+        mTestSystemImpl.setPackageInfo(createPackageInfo(installedPackage, true /* enabled */,
+                    true /* valid */, true /* installed */));
+        mTestSystemImpl.setPackageInfo(createPackageInfo(uninstalledPackage, true /* enabled */,
+                    true /* valid */, (testUninstalled ? false : true) /* installed */,
+                    null /* signatures */, 0 /* updateTime */,
+                    (testHidden ? true : false) /* hidden */));
+
+        // Start with the setting pointing to the uninstalled package
+        mTestSystemImpl.updateUserSetting(null, uninstalledPackage);
+
+        mWebViewUpdateServiceImpl.prepareWebViewInSystemServer();
+
+        checkPreparationPhasesForPackage(installedPackage, 1 /* first preparation phase */);
+    }
+
+    /**
+     * Ensures that fallback becomes enabled if the primary package is uninstalled for the current
+     * user.
+     */
+    public void testFallbackEnabledIfPrimaryUninstalled() {
+        String primaryPackage = "primary";
+        String fallbackPackage = "fallback";
+        WebViewProviderInfo[] packages = new WebViewProviderInfo[] {
+            new WebViewProviderInfo(
+                    primaryPackage, "", true /* default available */, false /* fallback */, null),
+            new WebViewProviderInfo(
+                    fallbackPackage, "", true /* default available */, true /* fallback */, null)};
+        setupWithPackages(packages, true /* fallback logic enabled */);
+        mTestSystemImpl.setPackageInfo(createPackageInfo(primaryPackage, true /* enabled */,
+                    true /* valid */, false /* installed */));
+        mTestSystemImpl.setPackageInfo(createPackageInfo(fallbackPackage, true /* enabled */,
+                    true /* valid */, true /* installed */));
+
+        mWebViewUpdateServiceImpl.prepareWebViewInSystemServer();
+        // Verify that we enable the fallback package
+        Mockito.verify(mTestSystemImpl).enablePackageForAllUsers(
+                Mockito.anyObject(), Mockito.eq(fallbackPackage), Mockito.eq(true) /* enable */);
+
+        checkPreparationPhasesForPackage(fallbackPackage, 1 /* first preparation phase */);
+    }
+
+    public void testPreparationRunsIffNewPackage() {
+        String primaryPackage = "primary";
+        String fallbackPackage = "fallback";
+        WebViewProviderInfo[] packages = new WebViewProviderInfo[] {
+            new WebViewProviderInfo(
+                    primaryPackage, "", true /* default available */, false /* fallback */, null),
+            new WebViewProviderInfo(
+                    fallbackPackage, "", true /* default available */, true /* fallback */, null)};
+        setupWithPackages(packages, true /* fallback logic enabled */);
+        mTestSystemImpl.setPackageInfo(createPackageInfo(primaryPackage, true /* enabled */,
+                    true /* valid */, true /* installed */, null /* signatures */,
+                    10 /* lastUpdateTime*/ ));
+        mTestSystemImpl.setPackageInfo(createPackageInfo(fallbackPackage, true /* enabled */,
+                    true /* valid */, true /* installed */));
+
+        mWebViewUpdateServiceImpl.prepareWebViewInSystemServer();
+
+        checkPreparationPhasesForPackage(primaryPackage, 1 /* first preparation phase */);
+        Mockito.verify(mTestSystemImpl, Mockito.times(1)).enablePackageForUser(
+                Mockito.eq(fallbackPackage), Mockito.eq(false) /* enable */,
+                Matchers.anyInt() /* user */);
+
+
+        mWebViewUpdateServiceImpl.packageStateChanged(primaryPackage,
+                WebViewUpdateService.PACKAGE_ADDED_REPLACED, 0 /* userId */);
+        mWebViewUpdateServiceImpl.packageStateChanged(primaryPackage,
+                WebViewUpdateService.PACKAGE_ADDED_REPLACED, 1 /* userId */);
+        mWebViewUpdateServiceImpl.packageStateChanged(primaryPackage,
+                WebViewUpdateService.PACKAGE_ADDED_REPLACED, 2 /* userId */);
+        // package still has the same update-time so we shouldn't run preparation here
+        Mockito.verify(mTestSystemImpl, Mockito.times(1)).onWebViewProviderChanged(
+                Mockito.argThat(new IsPackageInfoWithName(primaryPackage)));
+        Mockito.verify(mTestSystemImpl, Mockito.times(1)).enablePackageForUser(
+                Mockito.eq(fallbackPackage), Mockito.eq(false) /* enable */,
+                Matchers.anyInt() /* user */);
+
+        // Ensure we can still load the package
+        WebViewProviderResponse response = mWebViewUpdateServiceImpl.waitForAndGetProvider();
+        assertEquals(WebViewFactory.LIBLOAD_SUCCESS, response.status);
+        assertEquals(primaryPackage, response.packageInfo.packageName);
+
+
+        mTestSystemImpl.setPackageInfo(createPackageInfo(primaryPackage, true /* enabled */,
+                    true /* valid */, true /* installed */, null /* signatures */,
+                    20 /* lastUpdateTime*/ ));
+        mWebViewUpdateServiceImpl.packageStateChanged(primaryPackage,
+                WebViewUpdateService.PACKAGE_ADDED_REPLACED, 0);
+        // The package has now changed - ensure that we have run the preparation phase a second time
+        checkPreparationPhasesForPackage(primaryPackage, 2 /* second preparation phase */);
+
+
+        mTestSystemImpl.setPackageInfo(createPackageInfo(primaryPackage, true /* enabled */,
+                    true /* valid */, true /* installed */, null /* signatures */,
+                    50 /* lastUpdateTime*/ ));
+        // Receive intent for different user
+        mWebViewUpdateServiceImpl.packageStateChanged(primaryPackage,
+                WebViewUpdateService.PACKAGE_ADDED_REPLACED, 2);
+
+        checkPreparationPhasesForPackage(primaryPackage, 3 /* third preparation phase */);
+    }
+
 }
diff --git a/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java b/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java
index 71878fd..f89c4e4 100644
--- a/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java
+++ b/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java
@@ -26,6 +26,7 @@
 import static org.mockito.Matchers.anyList;
 import static org.mockito.Matchers.anyString;
 import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
@@ -34,13 +35,17 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.pm.LauncherApps;
+import android.content.pm.LauncherApps.Callback;
 import android.content.pm.ShortcutInfo;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.os.BaseBundle;
 import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
 import android.os.Parcel;
 import android.os.ParcelFileDescriptor;
+import android.os.PersistableBundle;
 import android.os.UserHandle;
 import android.test.MoreAsserts;
 import android.util.Log;
@@ -50,6 +55,7 @@
 import org.hamcrest.BaseMatcher;
 import org.hamcrest.Description;
 import org.hamcrest.Matcher;
+import org.mockito.ArgumentCaptor;
 import org.mockito.Mockito;
 
 import java.io.BufferedReader;
@@ -58,10 +64,16 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.HashSet;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
+import java.util.concurrent.CountDownLatch;
 import java.util.function.BooleanSupplier;
+import java.util.function.Consumer;
 import java.util.function.Function;
 import java.util.function.Predicate;
 
@@ -72,10 +84,12 @@
 public class ShortcutManagerTestUtils {
     private static final String TAG = "ShortcutManagerUtils";
 
-    private static final boolean ENABLE_DUMPSYS = true; // DO NOT SUBMIT WITH true
+    private static final boolean ENABLE_DUMPSYS = false; // DO NOT SUBMIT WITH true
 
     private static final int STANDARD_TIMEOUT_SEC = 5;
 
+    private static final String[] EMPTY_STRINGS = new String[0];
+
     private ShortcutManagerTestUtils() {
     }
 
@@ -157,7 +171,8 @@
     }
 
     public static void setDefaultLauncher(Instrumentation instrumentation, String component) {
-        runCommandForNoOutput(instrumentation, "cmd package set-home-activity " + component);
+        runCommand(instrumentation, "cmd package set-home-activity " + component,
+                result -> result.contains("Success"));
     }
 
     public static void setDefaultLauncher(Instrumentation instrumentation, Context packageContext) {
@@ -191,6 +206,7 @@
         if (!ENABLE_DUMPSYS) {
             return;
         }
+        Log.e(TAG, "Dumpsys shortcut");
         for (String s : runCommand(instrumentation, "dumpsys shortcut")) {
             Log.e(TAG, s);
         }
@@ -223,12 +239,39 @@
         return ret;
     }
 
+    public static PersistableBundle makePersistableBundle(Object... keysAndValues) {
+        assertTrue((keysAndValues.length % 2) == 0);
+
+        if (keysAndValues.length == 0) {
+            return null;
+        }
+        final PersistableBundle ret = new PersistableBundle();
+
+        for (int i = keysAndValues.length - 2; i >= 0; i -= 2) {
+            final String key = keysAndValues[i].toString();
+            final Object value = keysAndValues[i + 1];
+
+            if (value == null) {
+                ret.putString(key, null);
+            } else if (value instanceof Integer) {
+                ret.putInt(key, (Integer) value);
+            } else if (value instanceof String) {
+                ret.putString(key, (String) value);
+            } else if (value instanceof PersistableBundle) {
+                ret.putPersistableBundle(key, (PersistableBundle) value);
+            } else {
+                fail("Type not supported yet: " + value.getClass().getName());
+            }
+        }
+        return ret;
+    }
+
     public static <T> List<T> list(T... array) {
         return Arrays.asList(array);
     }
 
     public static <T> Set<T> hashSet(Set<T> in) {
-        return new HashSet<T>(in);
+        return new LinkedHashSet<>(in);
     }
 
     public static <T> Set<T> set(T... values) {
@@ -240,7 +283,7 @@
     }
 
     public static <T, V> Set<T> set(Function<V, T> converter, List<V> values) {
-        final HashSet<T> ret = new HashSet<>();
+        final LinkedHashSet<T> ret = new LinkedHashSet<>();
         for (V v : values) {
             ret.add(converter.apply(v));
         }
@@ -253,20 +296,29 @@
         }
     }
 
-    public static <T> List<T> assertEmpty(List<T> list) {
-        assertEquals(0, list.size());
-        return list;
+    public static <T extends Collection<?>> T assertEmpty(T collection) {
+        if (collection == null) {
+            return collection; // okay.
+        }
+        assertEquals(0, collection.size());
+        return collection;
+    }
+
+    public static List<ShortcutInfo> filter(List<ShortcutInfo> list, Predicate<ShortcutInfo> p) {
+        final ArrayList<ShortcutInfo> ret = new ArrayList<>(list);
+        ret.removeIf(si -> !p.test(si));
+        return ret;
     }
 
     public static List<ShortcutInfo> filterByActivity(List<ShortcutInfo> list,
             ComponentName activity) {
-        final ArrayList<ShortcutInfo> ret = new ArrayList<>();
-        for (ShortcutInfo si : list) {
-            if (si.getActivity().equals(activity) && (si.isManifestShortcut() || si.isDynamic())) {
-                ret.add(si);
-            }
-        }
-        return ret;
+        return filter(list, si ->
+                (si.getActivity().equals(activity)
+                        && (si.isDeclaredInManifest() || si.isDynamic())));
+    }
+
+    public static List<ShortcutInfo> changedSince(List<ShortcutInfo> list, long time) {
+        return filter(list, si -> si.getLastChangedTimestamp() >= time);
     }
 
     public static void assertExpectException(Class<? extends Throwable> expectedExceptionType,
@@ -289,8 +341,6 @@
             String expectedExceptionMessageRegex, Runnable r) {
         try {
             r.run();
-            Assert.fail("Expected exception type " + expectedExceptionType.getName()
-                    + " was not thrown (message=" + message + ")");
         } catch (Throwable e) {
             Assert.assertTrue(
                     "Expected exception type was " + expectedExceptionType.getName()
@@ -299,13 +349,16 @@
             if (expectedExceptionMessageRegex != null) {
                 MoreAsserts.assertContainsRegex(expectedExceptionMessageRegex, e.getMessage());
             }
+            return; // Pass
         }
+        Assert.fail("Expected exception type " + expectedExceptionType.getName()
+                + " was not thrown");
     }
 
     public static List<ShortcutInfo> assertShortcutIds(List<ShortcutInfo> actualShortcuts,
             String... expectedIds) {
-        final HashSet<String> expected = new HashSet<>(list(expectedIds));
-        final HashSet<String> actual = new HashSet<>();
+        final SortedSet<String> expected = new TreeSet<>(list(expectedIds));
+        final SortedSet<String> actual = new TreeSet<>();
         for (ShortcutInfo s : actualShortcuts) {
             actual.add(s.getId());
         }
@@ -315,6 +368,17 @@
         return actualShortcuts;
     }
 
+    public static List<ShortcutInfo> assertShortcutIdsOrdered(List<ShortcutInfo> actualShortcuts,
+            String... expectedIds) {
+        final ArrayList<String> expected = new ArrayList<>(list(expectedIds));
+        final ArrayList<String> actual = new ArrayList<>();
+        for (ShortcutInfo s : actualShortcuts) {
+            actual.add(s.getId());
+        }
+        assertEquals(expected, actual);
+        return actualShortcuts;
+    }
+
     public static List<ShortcutInfo> assertAllHaveIntents(
             List<ShortcutInfo> actualShortcuts) {
         for (ShortcutInfo s : actualShortcuts) {
@@ -347,32 +411,6 @@
         return actualShortcuts;
     }
 
-    public static List<ShortcutInfo> assertAllHaveIconResId(
-            List<ShortcutInfo> actualShortcuts) {
-        for (ShortcutInfo s : actualShortcuts) {
-            assertTrue("ID " + s.getId() + " not have icon res ID", s.hasIconResource());
-            assertFalse("ID " + s.getId() + " shouldn't have icon FD", s.hasIconFile());
-        }
-        return actualShortcuts;
-    }
-
-    public static List<ShortcutInfo> assertAllHaveIconFile(
-            List<ShortcutInfo> actualShortcuts) {
-        for (ShortcutInfo s : actualShortcuts) {
-            assertFalse("ID " + s.getId() + " shouldn't have icon res ID", s.hasIconResource());
-            assertTrue("ID " + s.getId() + " not have icon FD", s.hasIconFile());
-        }
-        return actualShortcuts;
-    }
-
-    public static List<ShortcutInfo> assertAllHaveIcon(
-            List<ShortcutInfo> actualShortcuts) {
-        for (ShortcutInfo s : actualShortcuts) {
-            assertTrue("ID " + s.getId() + " has no icon ", s.hasIconFile() || s.hasIconResource());
-        }
-        return actualShortcuts;
-    }
-
     public static List<ShortcutInfo> assertAllKeyFieldsOnly(
             List<ShortcutInfo> actualShortcuts) {
         for (ShortcutInfo s : actualShortcuts) {
@@ -414,7 +452,7 @@
     public static List<ShortcutInfo> assertAllManifest(
             List<ShortcutInfo> actualShortcuts) {
         for (ShortcutInfo s : actualShortcuts) {
-            assertTrue("ID " + s.getId(), s.isManifestShortcut());
+            assertTrue("ID " + s.getId(), s.isDeclaredInManifest());
         }
         return actualShortcuts;
     }
@@ -422,7 +460,7 @@
     public static List<ShortcutInfo> assertAllNotManifest(
             List<ShortcutInfo> actualShortcuts) {
         for (ShortcutInfo s : actualShortcuts) {
-            assertFalse("ID " + s.getId(), s.isManifestShortcut());
+            assertFalse("ID " + s.getId(), s.isDeclaredInManifest());
         }
         return actualShortcuts;
     }
@@ -451,14 +489,6 @@
         return actualShortcuts;
     }
 
-    public static List<ShortcutInfo> assertAllStringsResolved(
-            List<ShortcutInfo> actualShortcuts) {
-        for (ShortcutInfo s : actualShortcuts) {
-            assertTrue("ID " + s.getId(), s.hasStringResourcesResolved());
-        }
-        return actualShortcuts;
-    }
-
     public static void assertDynamicOnly(ShortcutInfo si) {
         assertTrue(si.isDynamic());
         assertFalse(si.isPinned());
@@ -466,7 +496,7 @@
 
     public static void assertPinnedOnly(ShortcutInfo si) {
         assertFalse(si.isDynamic());
-        assertFalse(si.isManifestShortcut());
+        assertFalse(si.isDeclaredInManifest());
         assertTrue(si.isPinned());
     }
 
@@ -481,7 +511,7 @@
     }
 
     public static <T> void assertAllUnique(Collection<T> list) {
-        final Set<Object> set = new HashSet<>();
+        final Set<Object> set = new LinkedHashSet<>();
         for (T item : list) {
             if (set.contains(item)) {
                 fail("Duplicate item found: " + item + " (in the list: " + list + ")");
@@ -593,6 +623,15 @@
         return ret;
     }
 
+    private static final Comparator<ShortcutInfo> sRankComparator =
+            (ShortcutInfo a, ShortcutInfo b) -> Integer.compare(a.getRank(), b.getRank());
+
+    public static List<ShortcutInfo> sortedByRank(List<ShortcutInfo> shortcuts) {
+        final ArrayList<ShortcutInfo> ret = new ArrayList<>(shortcuts);
+        Collections.sort(ret, sRankComparator);
+        return ret;
+    }
+
     public static void waitUntil(String message, BooleanSupplier condition) {
         waitUntil(message, condition, STANDARD_TIMEOUT_SEC);
     }
@@ -611,4 +650,329 @@
         }
         fail("Timed out for: " + message);
     }
+
+    public static ShortcutListAsserter assertWith(List<ShortcutInfo> list) {
+        return new ShortcutListAsserter(list);
+    }
+
+    /**
+     * New style assertion that allows chained calls.
+     */
+    public static class ShortcutListAsserter {
+        private final ShortcutListAsserter mOriginal;
+        private final List<ShortcutInfo> mList;
+
+        ShortcutListAsserter(List<ShortcutInfo> list) {
+            this(null, list);
+        }
+
+        private ShortcutListAsserter(ShortcutListAsserter original, List<ShortcutInfo> list) {
+            mOriginal = (original == null) ? this : original;
+            mList = (list == null) ? new ArrayList<>(0) : new ArrayList<>(list);
+        }
+
+        public ShortcutListAsserter revertToOriginalList() {
+            return mOriginal;
+        }
+
+        public ShortcutListAsserter selectDynamic() {
+            return new ShortcutListAsserter(this,
+                    filter(mList, ShortcutInfo::isDynamic));
+        }
+
+        public ShortcutListAsserter selectManifest() {
+            return new ShortcutListAsserter(this,
+                    filter(mList, ShortcutInfo::isDeclaredInManifest));
+        }
+
+        public ShortcutListAsserter selectPinned() {
+            return new ShortcutListAsserter(this,
+                    filter(mList, ShortcutInfo::isPinned));
+        }
+
+        public ShortcutListAsserter selectByActivity(ComponentName activity) {
+            return new ShortcutListAsserter(this,
+                    ShortcutManagerTestUtils.filterByActivity(mList, activity));
+        }
+
+        public ShortcutListAsserter selectByChangedSince(long time) {
+            return new ShortcutListAsserter(this,
+                    ShortcutManagerTestUtils.changedSince(mList, time));
+        }
+
+        public ShortcutListAsserter selectByIds(String... ids) {
+            final Set<String> idSet = set(ids);
+            final ArrayList<ShortcutInfo> selected = new ArrayList<>();
+            for (ShortcutInfo si : mList) {
+                if (idSet.contains(si.getId())) {
+                    selected.add(si);
+                    idSet.remove(si.getId());
+                }
+            }
+            if (idSet.size() > 0) {
+                fail("Shortcuts not found for IDs=" + idSet);
+            }
+
+            return new ShortcutListAsserter(this, selected);
+        }
+
+        public ShortcutListAsserter toSortByRank() {
+            return new ShortcutListAsserter(this,
+                    ShortcutManagerTestUtils.sortedByRank(mList));
+        }
+
+        public ShortcutListAsserter call(Consumer<List<ShortcutInfo>> c) {
+            c.accept(mList);
+            return this;
+        }
+
+        public ShortcutListAsserter haveIds(String... expectedIds) {
+            assertShortcutIds(mList, expectedIds);
+            return this;
+        }
+
+        public ShortcutListAsserter haveIdsOrdered(String... expectedIds) {
+            assertShortcutIdsOrdered(mList, expectedIds);
+            return this;
+        }
+
+        private ShortcutListAsserter haveSequentialRanks() {
+            for (int i = 0; i < mList.size(); i++) {
+                final ShortcutInfo si = mList.get(i);
+                assertEquals("Rank not sequential: id=" + si.getId(), i, si.getRank());
+            }
+            return this;
+        }
+
+        public ShortcutListAsserter haveRanksInOrder(String... expectedIds) {
+            toSortByRank()
+                    .haveSequentialRanks()
+                    .haveIdsOrdered(expectedIds);
+            return this;
+        }
+
+        public ShortcutListAsserter isEmpty() {
+            assertEquals(0, mList.size());
+            return this;
+        }
+
+        public ShortcutListAsserter areAllDynamic() {
+            forAllShortcuts(s -> assertTrue("id=" + s.getId(), s.isDynamic()));
+            return this;
+        }
+
+        public ShortcutListAsserter areAllNotDynamic() {
+            forAllShortcuts(s -> assertFalse("id=" + s.getId(), s.isDynamic()));
+            return this;
+        }
+
+        public ShortcutListAsserter areAllPinned() {
+            forAllShortcuts(s -> assertTrue("id=" + s.getId(), s.isPinned()));
+            return this;
+        }
+
+        public ShortcutListAsserter areAllNotPinned() {
+            forAllShortcuts(s -> assertFalse("id=" + s.getId(), s.isPinned()));
+            return this;
+        }
+
+        public ShortcutListAsserter areAllManifest() {
+            forAllShortcuts(s -> assertTrue("id=" + s.getId(), s.isDeclaredInManifest()));
+            return this;
+        }
+
+        public ShortcutListAsserter areAllNotManifest() {
+            forAllShortcuts(s -> assertFalse("id=" + s.getId(), s.isDeclaredInManifest()));
+            return this;
+        }
+
+        public ShortcutListAsserter areAllImmutable() {
+            forAllShortcuts(s -> assertTrue("id=" + s.getId(), s.isImmutable()));
+            return this;
+        }
+
+        public ShortcutListAsserter areAllMutable() {
+            forAllShortcuts(s -> assertFalse("id=" + s.getId(), s.isImmutable()));
+            return this;
+        }
+
+        public ShortcutListAsserter areAllEnabled() {
+            forAllShortcuts(s -> assertTrue("id=" + s.getId(), s.isEnabled()));
+            return this;
+        }
+
+        public ShortcutListAsserter areAllDisabled() {
+            forAllShortcuts(s -> assertFalse("id=" + s.getId(), s.isEnabled()));
+            return this;
+        }
+
+        public ShortcutListAsserter areAllWithKeyFieldsOnly() {
+            forAllShortcuts(s -> assertTrue("id=" + s.getId(), s.hasKeyFieldsOnly()));
+            return this;
+        }
+
+        public ShortcutListAsserter areAllNotWithKeyFieldsOnly() {
+            forAllShortcuts(s -> assertFalse("id=" + s.getId(), s.hasKeyFieldsOnly()));
+            return this;
+        }
+
+        public ShortcutListAsserter areAllWithActivity(ComponentName activity) {
+            forAllShortcuts(s -> assertTrue("id=" + s.getId(), s.getActivity().equals(activity)));
+            return this;
+        }
+
+        public ShortcutListAsserter forAllShortcuts(Consumer<ShortcutInfo> sa) {
+            boolean found = false;
+            for (int i = 0; i < mList.size(); i++) {
+                final ShortcutInfo si = mList.get(i);
+                found = true;
+                sa.accept(si);
+            }
+            assertTrue("No shortcuts found.", found);
+            return this;
+        }
+
+        public ShortcutListAsserter forShortcut(Predicate<ShortcutInfo> p,
+                Consumer<ShortcutInfo> sa) {
+            boolean found = false;
+            for (int i = 0; i < mList.size(); i++) {
+                final ShortcutInfo si = mList.get(i);
+                if (p.test(si)) {
+                    found = true;
+                    try {
+                        sa.accept(si);
+                    } catch (Throwable e) {
+                        throw new AssertionError("Assertion failed for shortcut " + si.getId(), e);
+                    }
+                }
+            }
+            assertTrue("Shortcut with the given condition not found.", found);
+            return this;
+        }
+
+        public ShortcutListAsserter forShortcutWithId(String id, Consumer<ShortcutInfo> sa) {
+            forShortcut(si -> si.getId().equals(id), sa);
+
+            return this;
+        }
+    }
+
+    public static void assertBundlesEqual(BaseBundle b1, BaseBundle b2) {
+        if (b1 == null && b2 == null) {
+            return; // pass
+        }
+        assertNotNull(b1);
+        assertNotNull(b2);
+
+        // HashSet makes the error message readable.
+        assertEquals(set(b1.keySet()), set(b2.keySet()));
+
+        for (String key : b1.keySet()) {
+            final Object v1 = b1.get(key);
+            final Object v2 = b2.get(key);
+            if (v1 == null) {
+                if (v2 == null) {
+                    return;
+                }
+            }
+            if (v1.equals(v2)) {
+                return;
+            }
+
+            assertTrue("Only either value is null: key=" + key
+                    + " b1=" + b1 + " b2=" + b2, v1 != null && v2 != null);
+            assertEquals("Class mismatch: key=" + key, v1.getClass(), v2.getClass());
+
+            if (v1 instanceof BaseBundle) {
+                assertBundlesEqual((BaseBundle) v1, (BaseBundle) v2);
+
+            } else if (v1 instanceof boolean[]) {
+                assertTrue(Arrays.equals((boolean[]) v1, (boolean[]) v2));
+
+            } else if (v1 instanceof int[]) {
+                MoreAsserts.assertEquals((int[]) v1, (int[]) v2);
+
+            } else if (v1 instanceof double[]) {
+                MoreAsserts.assertEquals((double[]) v1, (double[]) v2);
+
+            } else if (v1 instanceof String[]) {
+                MoreAsserts.assertEquals((String[]) v1, (String[]) v2);
+
+            } else if (v1 instanceof Double) {
+                if (((Double) v1).isNaN()) {
+                    assertTrue(((Double) v2).isNaN());
+                } else {
+                    assertEquals(v1, v2);
+                }
+
+            } else {
+                assertEquals(v1, v2);
+            }
+        }
+    }
+
+    public static void waitOnMainThread() throws InterruptedException {
+        final CountDownLatch latch = new CountDownLatch(1);
+
+        new Handler(Looper.getMainLooper()).post(() -> latch.countDown());
+
+        latch.await();
+    }
+
+    public static class LauncherCallbackAsserter {
+        private final LauncherApps.Callback mCallback = mock(LauncherApps.Callback.class);
+
+        private Callback getMockCallback() {
+            return mCallback;
+        }
+
+        public LauncherCallbackAsserter assertNoCallbackCalled() {
+            verify(mCallback, times(0)).onShortcutsChanged(
+                    anyString(),
+                    any(List.class),
+                    any(UserHandle.class));
+            return this;
+        }
+
+        public LauncherCallbackAsserter assertNoCallbackCalledForPackage(
+                String publisherPackageName) {
+            verify(mCallback, times(0)).onShortcutsChanged(
+                    eq(publisherPackageName),
+                    any(List.class),
+                    any(UserHandle.class));
+            return this;
+        }
+
+        public LauncherCallbackAsserter assertNoCallbackCalledForPackageAndUser(
+                String publisherPackageName, UserHandle publisherUserHandle) {
+            verify(mCallback, times(0)).onShortcutsChanged(
+                    eq(publisherPackageName),
+                    any(List.class),
+                    eq(publisherUserHandle));
+            return this;
+        }
+
+        public ShortcutListAsserter assertCallbackCalledForPackageAndUser(
+                String publisherPackageName, UserHandle publisherUserHandle) {
+            final ArgumentCaptor<List> shortcuts = ArgumentCaptor.forClass(List.class);
+            verify(mCallback, times(1)).onShortcutsChanged(
+                    eq(publisherPackageName),
+                    shortcuts.capture(),
+                    eq(publisherUserHandle));
+            return new ShortcutListAsserter(shortcuts.getValue());
+        }
+    }
+
+    public static LauncherCallbackAsserter assertForLauncherCallback(
+            LauncherApps launcherApps, Runnable body) throws InterruptedException {
+        final LauncherCallbackAsserter asserter = new LauncherCallbackAsserter();
+        launcherApps.registerCallback(asserter.getMockCallback(),
+                new Handler(Looper.getMainLooper()));
+
+        body.run();
+
+        waitOnMainThread();
+
+        return asserter;
+    }
 }
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/DatabaseHelper.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/DatabaseHelper.java
index 0f68cca..0dcd152 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/DatabaseHelper.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/DatabaseHelper.java
@@ -40,11 +40,12 @@
     static final boolean DBG = false;
 
     private static final String NAME = "sound_model.db";
-    private static final int VERSION = 4;
+    private static final int VERSION = 5;
 
     public static interface SoundModelContract {
         public static final String TABLE = "sound_model";
         public static final String KEY_MODEL_UUID = "model_uuid";
+        public static final String KEY_VENDOR_UUID = "vendor_uuid";
         public static final String KEY_KEYPHRASE_ID = "keyphrase_id";
         public static final String KEY_TYPE = "type";
         public static final String KEY_DATA = "data";
@@ -58,6 +59,7 @@
     private static final String CREATE_TABLE_SOUND_MODEL = "CREATE TABLE "
             + SoundModelContract.TABLE + "("
             + SoundModelContract.KEY_MODEL_UUID + " TEXT PRIMARY KEY,"
+            + SoundModelContract.KEY_VENDOR_UUID + " TEXT, "
             + SoundModelContract.KEY_KEYPHRASE_ID + " INTEGER,"
             + SoundModelContract.KEY_TYPE + " INTEGER,"
             + SoundModelContract.KEY_DATA + " BLOB,"
@@ -78,9 +80,19 @@
 
     @Override
     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
-        // TODO: For now, drop older tables and recreate new ones.
-        db.execSQL("DROP TABLE IF EXISTS " + SoundModelContract.TABLE);
-        onCreate(db);
+        if (oldVersion < 4) {
+            // For old versions just drop the tables and recreate new ones.
+            db.execSQL("DROP TABLE IF EXISTS " + SoundModelContract.TABLE);
+            onCreate(db);
+        } else {
+            // In the jump to version 5, we added support for the vendor UUID.
+            if (oldVersion == 4) {
+                Slog.d(TAG, "Adding vendor UUID column");
+                db.execSQL("ALTER TABLE " + SoundModelContract.TABLE + " ADD COLUMN "
+                        + SoundModelContract.KEY_VENDOR_UUID + " TEXT");
+                oldVersion++;
+            }
+        }
     }
 
     /**
@@ -93,6 +105,9 @@
             SQLiteDatabase db = getWritableDatabase();
             ContentValues values = new ContentValues();
             values.put(SoundModelContract.KEY_MODEL_UUID, soundModel.uuid.toString());
+            if (soundModel.vendorUuid != null) {
+                values.put(SoundModelContract.KEY_VENDOR_UUID, soundModel.vendorUuid.toString());
+            }
             values.put(SoundModelContract.KEY_TYPE, SoundTrigger.SoundModel.TYPE_KEYPHRASE);
             values.put(SoundModelContract.KEY_DATA, soundModel.data);
 
@@ -176,6 +191,11 @@
                             continue;
                         }
 
+                        String vendorUuidString = null;
+                        int vendorUuidColumn = c.getColumnIndex(SoundModelContract.KEY_VENDOR_UUID);
+                        if (vendorUuidColumn != -1) {
+                            vendorUuidString = c.getString(vendorUuidColumn);
+                        }
                         byte[] data = c.getBlob(c.getColumnIndex(SoundModelContract.KEY_DATA));
                         int recognitionModes = c.getInt(
                                 c.getColumnIndex(SoundModelContract.KEY_RECOGNITION_MODES));
@@ -212,9 +232,12 @@
                         Keyphrase[] keyphrases = new Keyphrase[1];
                         keyphrases[0] = new Keyphrase(
                                 keyphraseId, recognitionModes, modelLocale, text, users);
+                        UUID vendorUuid = null;
+                        if (vendorUuidString != null) {
+                            vendorUuid = UUID.fromString(vendorUuidString);
+                        }
                         KeyphraseSoundModel model = new KeyphraseSoundModel(
-                                UUID.fromString(modelUuid),
-                                null /* FIXME use vendor UUID */, data, keyphrases);
+                                UUID.fromString(modelUuid), vendorUuid, data, keyphrases);
                         if (DBG) {
                             Slog.d(TAG, "Found SoundModel for the given keyphrase/locale/user: "
                                     + model);
diff --git a/telecomm/java/android/telecom/Call.java b/telecomm/java/android/telecom/Call.java
index 3a6d1fd..62625bdf 100644
--- a/telecomm/java/android/telecom/Call.java
+++ b/telecomm/java/android/telecom/Call.java
@@ -701,6 +701,24 @@
         }
     }
 
+    /**
+     * Defines callbacks which inform the {@link InCallService} of changes to a {@link Call}.
+     * These callbacks can originate from the Telecom framework, or a {@link ConnectionService}
+     * implementation.
+     * <p>
+     * You can handle these callbacks by extending the {@link Callback} class and overriding the
+     * callbacks that your {@link InCallService} is interested in.  The callback methods include the
+     * {@link Call} for which the callback applies, allowing reuse of a single instance of your
+     * {@link Callback} implementation, if desired.
+     * <p>
+     * Use {@link Call#registerCallback(Callback)} to register your callback(s).  Ensure
+     * {@link Call#unregisterCallback(Callback)} is called when you no longer require callbacks
+     * (typically in {@link InCallService#onCallRemoved(Call)}).
+     * Note: Callbacks which occur before you call {@link Call#registerCallback(Callback)} will not
+     * reach your implementation of {@link Callback}, so it is important to register your callback
+     * as soon as your {@link InCallService} is notified of a new call via
+     * {@link InCallService#onCallAdded(Call)}.
+     */
     public static abstract class Callback {
         /**
          * Invoked when the state of this {@code Call} has changed. See {@link #getState()}.
@@ -785,7 +803,13 @@
         public void onConferenceableCallsChanged(Call call, List<Call> conferenceableCalls) {}
 
         /**
-         * Invoked when a call receives an event from its associated {@link Connection}.
+         * Invoked when a {@link Call} receives an event from its associated {@link Connection}.
+         * <p>
+         * Where possible, the Call should make an attempt to handle {@link Connection} events which
+         * are part of the {@code android.telecom.*} namespace.  The Call should ignore any events
+         * it does not wish to handle.  Unexpected events should be handled gracefully, as it is
+         * possible that a {@link ConnectionService} has defined its own Connection events which a
+         * Call is not aware of.
          * <p>
          * See {@link Connection#sendConnectionEvent(String, Bundle)}.
          *
@@ -984,11 +1008,32 @@
      * Sends a {@code Call} event from this {@code Call} to the associated {@link Connection} in
      * the {@link ConnectionService}.
      * <p>
+     * Call events are used to communicate point in time information from an {@link InCallService}
+     * to a {@link ConnectionService}.  A {@link ConnectionService} implementation could define
+     * events which enable the {@link InCallService}, for example, toggle a unique feature of the
+     * {@link ConnectionService}.
+     * <p>
+     * A {@link ConnectionService} can communicate to the {@link InCallService} using
+     * {@link Connection#sendConnectionEvent(String, Bundle)}.
+     * <p>
      * Events are exposed to {@link ConnectionService} implementations via
      * {@link android.telecom.Connection#onCallEvent(String, Bundle)}.
      * <p>
      * No assumptions should be made as to how a {@link ConnectionService} will handle these events.
-     * Events should be fully qualified (e.g., com.example.event.MY_EVENT) to avoid conflicts.
+     * The {@link InCallService} must assume that the {@link ConnectionService} could chose to
+     * ignore some events altogether.
+     * <p>
+     * Events should be fully qualified (e.g., {@code com.example.event.MY_EVENT}) to avoid
+     * conflicts between {@link InCallService} implementations.  Further, {@link InCallService}
+     * implementations shall not re-purpose events in the {@code android.*} namespace, nor shall
+     * they define their own event types in this namespace.  When defining a custom event type,
+     * ensure the contents of the extras {@link Bundle} is clearly defined.  Extra keys for this
+     * bundle should be named similar to the event type (e.g. {@code com.example.extra.MY_EXTRA}).
+     * <p>
+     * When defining events and the associated extras, it is important to keep their behavior
+     * consistent when the associated {@link InCallService} is updated.  Support for deprecated
+     * events/extras should me maintained to ensure backwards compatibility with older
+     * {@link ConnectionService} implementations which were built to support the older behavior.
      *
      * @param event The connection event.
      * @param extras Bundle containing extra information associated with the event.
diff --git a/telecomm/java/android/telecom/Conference.java b/telecomm/java/android/telecom/Conference.java
index be04c90..a012082 100644
--- a/telecomm/java/android/telecom/Conference.java
+++ b/telecomm/java/android/telecom/Conference.java
@@ -83,6 +83,7 @@
     private StatusHints mStatusHints;
     private Bundle mExtras;
     private Set<String> mPreviousExtraKeys;
+    private final Object mExtrasLock = new Object();
 
     private final Connection.Listener mConnectionDeathListener = new Connection.Listener() {
         @Override
@@ -255,60 +256,63 @@
     }
 
     /**
-     * Invoked when the Conference and all it's {@link Connection}s should be disconnected.
+     * Notifies the {@link Conference} when the Conference and all it's {@link Connection}s should
+     * be disconnected.
      */
     public void onDisconnect() {}
 
     /**
-     * Invoked when the specified {@link Connection} should be separated from the conference call.
+     * Notifies the {@link Conference} when the specified {@link Connection} should be separated
+     * from the conference call.
      *
      * @param connection The connection to separate.
      */
     public void onSeparate(Connection connection) {}
 
     /**
-     * Invoked when the specified {@link Connection} should merged with the conference call.
+     * Notifies the {@link Conference} when the specified {@link Connection} should merged with the
+     * conference call.
      *
      * @param connection The {@code Connection} to merge.
      */
     public void onMerge(Connection connection) {}
 
     /**
-     * Invoked when the conference should be put on hold.
+     * Notifies the {@link Conference} when it should be put on hold.
      */
     public void onHold() {}
 
     /**
-     * Invoked when the conference should be moved from hold to active.
+     * Notifies the {@link Conference} when it should be moved from a held to active state.
      */
     public void onUnhold() {}
 
     /**
-     * Invoked when the child calls should be merged. Only invoked if the conference contains the
-     * capability {@link Connection#CAPABILITY_MERGE_CONFERENCE}.
+     * Notifies the {@link Conference} when the child calls should be merged.  Only invoked if the
+     * conference contains the capability {@link Connection#CAPABILITY_MERGE_CONFERENCE}.
      */
     public void onMerge() {}
 
     /**
-     * Invoked when the child calls should be swapped. Only invoked if the conference contains the
-     * capability {@link Connection#CAPABILITY_SWAP_CONFERENCE}.
+     * Notifies the {@link Conference} when the child calls should be swapped. Only invoked if the
+     * conference contains the capability {@link Connection#CAPABILITY_SWAP_CONFERENCE}.
      */
     public void onSwap() {}
 
     /**
-     * Notifies this conference of a request to play a DTMF tone.
+     * Notifies the {@link Conference} of a request to play a DTMF tone.
      *
      * @param c A DTMF character.
      */
     public void onPlayDtmfTone(char c) {}
 
     /**
-     * Notifies this conference of a request to stop any currently playing DTMF tones.
+     * Notifies the {@link Conference} of a request to stop any currently playing DTMF tones.
      */
     public void onStopDtmfTone() {}
 
     /**
-     * Notifies this conference that the {@link #getAudioState()} property has a new value.
+     * Notifies the {@link Conference} that the {@link #getAudioState()} property has a new value.
      *
      * @param state The new call audio state.
      * @deprecated Use {@link #onCallAudioStateChanged(CallAudioState)} instead.
@@ -319,14 +323,15 @@
     public void onAudioStateChanged(AudioState state) {}
 
     /**
-     * Notifies this conference that the {@link #getCallAudioState()} property has a new value.
+     * Notifies the {@link Conference} that the {@link #getCallAudioState()} property has a new
+     * value.
      *
      * @param state The new call audio state.
      */
     public void onCallAudioStateChanged(CallAudioState state) {}
 
     /**
-     * Notifies this conference that a connection has been added to it.
+     * Notifies the {@link Conference} that a {@link Connection} has been added to it.
      *
      * @param connection The newly added connection.
      */
@@ -679,40 +684,44 @@
      * New or existing keys are replaced in the {@code Conference} extras.  Keys which are no longer
      * in the new extras, but were present the last time {@code setExtras} was called are removed.
      * <p>
+     * Alternatively you may use the {@link #putExtras(Bundle)}, and
+     * {@link #removeExtras(String...)} methods to modify the extras.
+     * <p>
      * No assumptions should be made as to how an In-Call UI or service will handle these extras.
-     * Keys should be fully qualified (e.g., com.example.MY_EXTRA) to avoid conflicts.
+     * Keys should be fully qualified (e.g., com.example.extras.MY_EXTRA) to avoid conflicts.
      *
      * @param extras The extras associated with this {@code Conference}.
-     * @deprecated Use {@link #putExtras(Bundle)} to add extras.  Use {@link #removeExtras(List)}
-     * to remove extras.
      */
     public final void setExtras(@Nullable Bundle extras) {
-        // Add/replace any new or changed extras values.
-        putExtras(extras);
+        // Keeping putExtras and removeExtras in the same lock so that this operation happens as a
+        // block instead of letting other threads put/remove while this method is running.
+        synchronized (mExtrasLock) {
+            // Add/replace any new or changed extras values.
+            putExtras(extras);
+            // If we have used "setExtras" in the past, compare the key set from the last invocation
+            // to the current one and remove any keys that went away.
+            if (mPreviousExtraKeys != null) {
+                List<String> toRemove = new ArrayList<String>();
+                for (String oldKey : mPreviousExtraKeys) {
+                    if (extras == null || !extras.containsKey(oldKey)) {
+                        toRemove.add(oldKey);
+                    }
+                }
 
-        // If we have used "setExtras" in the past, compare the key set from the last invocation to
-        // the current one and remove any keys that went away.
-        if (mPreviousExtraKeys != null) {
-            List<String> toRemove = new ArrayList<String>();
-            for (String oldKey : mPreviousExtraKeys) {
-                if (extras == null || !extras.containsKey(oldKey)) {
-                    toRemove.add(oldKey);
+                if (!toRemove.isEmpty()) {
+                    removeExtras(toRemove);
                 }
             }
 
-            if (!toRemove.isEmpty()) {
-                removeExtras(toRemove);
+            // Track the keys the last time set called setExtras.  This way, the next time setExtras
+            // is called we can see if the caller has removed any extras values.
+            if (mPreviousExtraKeys == null) {
+                mPreviousExtraKeys = new ArraySet<String>();
             }
-        }
-
-        // Track the keys the last time set called setExtras.  This way, the next time setExtras is
-        // called we can see if the caller has removed any extras values.
-        if (mPreviousExtraKeys == null) {
-            mPreviousExtraKeys = new ArraySet<String>();
-        }
-        mPreviousExtraKeys.clear();
-        if (extras != null) {
-            mPreviousExtraKeys.addAll(extras.keySet());
+            mPreviousExtraKeys.clear();
+            if (extras != null) {
+                mPreviousExtraKeys.addAll(extras.keySet());
+            }
         }
     }
 
@@ -730,13 +739,19 @@
             return;
         }
 
-        if (mExtras == null) {
-            mExtras = new Bundle();
+        // Creating a Bundle clone so we don't have to synchronize on mExtrasLock while calling
+        // onExtrasChanged.
+        Bundle listenersBundle;
+        synchronized (mExtrasLock) {
+            if (mExtras == null) {
+                mExtras = new Bundle();
+            }
+            mExtras.putAll(extras);
+            listenersBundle = new Bundle(mExtras);
         }
-        mExtras.putAll(extras);
 
         for (Listener l : mListeners) {
-            l.onExtrasChanged(this, extras);
+            l.onExtrasChanged(this, new Bundle(listenersBundle));
         }
     }
 
@@ -789,17 +804,17 @@
             return;
         }
 
-        if (mExtras != null) {
-            for (String key : keys) {
-                mExtras.remove(key);
-            }
-            if (mExtras.size() == 0) {
-                mExtras = null;
+        synchronized (mExtrasLock) {
+            if (mExtras != null) {
+                for (String key : keys) {
+                    mExtras.remove(key);
+                }
             }
         }
 
+        List<String> unmodifiableKeys = Collections.unmodifiableList(keys);
         for (Listener l : mListeners) {
-            l.onExtrasRemoved(this, keys);
+            l.onExtrasRemoved(this, unmodifiableKeys);
         }
     }
 
@@ -849,7 +864,13 @@
      * @hide
      */
     final void handleExtrasChanged(Bundle extras) {
-        mExtras = extras;
-        onExtrasChanged(mExtras);
+        Bundle b = null;
+        synchronized (mExtrasLock) {
+            mExtras = extras;
+            if (mExtras != null) {
+                b = new Bundle(mExtras);
+            }
+        }
+        onExtrasChanged(b);
     }
 }
diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java
index 3316bc8..766e930 100644
--- a/telecomm/java/android/telecom/Connection.java
+++ b/telecomm/java/android/telecom/Connection.java
@@ -53,6 +53,37 @@
  * Implementations are then responsible for updating the state of the {@code Connection}, and
  * must call {@link #destroy()} to signal to the framework that the {@code Connection} is no
  * longer used and associated resources may be recovered.
+ * <p>
+ * Subclasses of {@code Connection} override the {@code on*} methods to provide the the
+ * {@link ConnectionService}'s implementation of calling functionality.  The {@code on*} methods are
+ * called by Telecom to inform an instance of a {@code Connection} of actions specific to that
+ * {@code Connection} instance.
+ * <p>
+ * Basic call support requires overriding the following methods: {@link #onAnswer()},
+ * {@link #onDisconnect()}, {@link #onReject()}, {@link #onAbort()}
+ * <p>
+ * Where a {@code Connection} has {@link #CAPABILITY_SUPPORT_HOLD}, the {@link #onHold()} and
+ * {@link #onUnhold()} methods should be overridden to provide hold support for the
+ * {@code Connection}.
+ * <p>
+ * Where a {@code Connection} supports a variation of video calling (e.g. the
+ * {@code CAPABILITY_SUPPORTS_VT_*} capability bits), {@link #onAnswer(int)} should be overridden
+ * to support answering a call as a video call.
+ * <p>
+ * Where a {@code Connection} has {@link #PROPERTY_IS_EXTERNAL_CALL} and
+ * {@link #CAPABILITY_CAN_PULL_CALL}, {@link #onPullExternalCall()} should be overridden to provide
+ * support for pulling the external call.
+ * <p>
+ * Where a {@code Connection} supports conference calling {@link #onSeparate()} should be
+ * overridden.
+ * <p>
+ * There are a number of other {@code on*} methods which a {@code Connection} can choose to
+ * implement, depending on whether it is concerned with the associated calls from Telecom.  If,
+ * for example, call events from a {@link InCallService} are handled,
+ * {@link #onCallEvent(String, Bundle)} should be overridden.  Another example is
+ * {@link #onExtrasChanged(Bundle)}, which should be overridden if the {@code Connection} wishes to
+ * make use of extra information provided via the {@link Call#putExtras(Bundle)} and
+ * {@link Call#removeExtras(String...)} methods.
  */
 public abstract class Connection extends Conferenceable {
 
@@ -367,9 +398,25 @@
     public static final String EXTRA_CALL_SUBJECT = "android.telecom.extra.CALL_SUBJECT";
 
     /**
+     * Boolean connection extra key set on a {@link Connection} in
+     * {@link Connection#STATE_RINGING} state to indicate that answering the call will cause the
+     * current active foreground call to be dropped.
+     */
+    public static final String EXTRA_ANSWERING_DROPS_FG_CALL =
+            "android.telecom.extra.ANSWERING_DROPS_FG_CALL";
+
+    /**
+     * Boolean connection extra key on a {@link Connection} which indicates that adding an
+     * additional call is disallowed when there is a video call in progress.
+     * @hide
+     */
+    public static final String EXTRA_DISABLE_ADD_CALL_DURING_VIDEO_CALL =
+            "android.telecom.extra.DISABLE_ADD_CALL_DURING_VIDEO_CALL";
+
+    /**
      * Connection event used to inform Telecom that it should play the on hold tone.  This is used
      * to play a tone when the peer puts the current call on hold.  Sent to Telecom via
-     * {@link #sendConnectionEvent(String)}.
+     * {@link #sendConnectionEvent(String, Bundle)}.
      * @hide
      */
     public static final String EVENT_ON_HOLD_TONE_START =
@@ -378,7 +425,7 @@
     /**
      * Connection event used to inform Telecom that it should stop the on hold tone.  This is used
      * to stop a tone when the peer puts the current call on hold.  Sent to Telecom via
-     * {@link #sendConnectionEvent(String)}.
+     * {@link #sendConnectionEvent(String, Bundle)}.
      * @hide
      */
     public static final String EVENT_ON_HOLD_TONE_END =
@@ -393,9 +440,21 @@
      * {@link Call.Details#PROPERTY_IS_EXTERNAL_CALL} and
      * {@link Call.Details#CAPABILITY_CAN_PULL_CALL}, but the {@link ConnectionService} could not
      * pull the external call due to an error condition.
+     * <p>
+     * Sent via {@link #sendConnectionEvent(String, Bundle)}.  The {@link Bundle} parameter is
+     * expected to be null when this connection event is used.
      */
     public static final String EVENT_CALL_PULL_FAILED = "android.telecom.event.CALL_PULL_FAILED";
 
+    /**
+     * Connection event used to inform {@link InCallService}s when the merging of two calls has
+     * failed. The User Interface should use this message to inform the user of the error.
+     * <p>
+     * Sent via {@link #sendConnectionEvent(String, Bundle)}.  The {@link Bundle} parameter is
+     * expected to be null when this connection event is used.
+     */
+    public static final String EVENT_CALL_MERGE_FAILED = "android.telecom.event.CALL_MERGE_FAILED";
+
     // Flag controlling whether PII is emitted into the logs
     private static final boolean PII_DEBUG = Log.isLoggable(android.util.Log.DEBUG);
 
@@ -442,7 +501,12 @@
         mConnectionCapabilities |= capability;
     }
 
-
+    /**
+     * Renders a set of capability bits ({@code CAPABILITY_*}) as a human readable string.
+     *
+     * @param capabilities A capability bit field.
+     * @return A human readable string representation.
+     */
     public static String capabilitiesToString(int capabilities) {
         StringBuilder builder = new StringBuilder();
         builder.append("[Capabilities:");
@@ -511,6 +575,12 @@
         return builder.toString();
     }
 
+    /**
+     * Renders a set of property bits ({@code PROPERTY_*}) as a human readable string.
+     *
+     * @param properties A property bit field.
+     * @return A human readable string representation.
+     */
     public static String propertiesToString(int properties) {
         StringBuilder builder = new StringBuilder();
         builder.append("[Properties:");
@@ -572,6 +642,8 @@
         public void onExtrasChanged(Connection c, Bundle extras) {}
         public void onExtrasRemoved(Connection c, List<String> keys) {}
         public void onConnectionEvent(Connection c, String event, Bundle extras) {}
+        /** @hide */
+        public void onConferenceSupportedChanged(Connection c, boolean isConferenceSupported) {}
     }
 
     /**
@@ -1237,6 +1309,7 @@
     private Conference mConference;
     private ConnectionService mConnectionService;
     private Bundle mExtras;
+    private final Object mExtrasLock = new Object();
 
     /**
      * Tracks the key set for the extras bundle provided on the last invocation of
@@ -1395,7 +1468,13 @@
      * @return The extras associated with this connection.
      */
     public final Bundle getExtras() {
-        return mExtras;
+        Bundle extras = null;
+        synchronized (mExtrasLock) {
+            if (mExtras != null) {
+                extras = new Bundle(mExtras);
+            }
+        }
+        return extras;
     }
 
     /**
@@ -1593,6 +1672,16 @@
     }
 
     /**
+     * Sets state to pulling (e.g. the connection is being pulled to the local device from another
+     * device).  Only applicable for {@link Connection}s with
+     * {@link Connection#PROPERTY_IS_EXTERNAL_CALL} and {@link Connection#CAPABILITY_CAN_PULL_CALL}.
+     */
+    public final void setPulling() {
+        checkImmutable();
+        setState(STATE_PULLING_CALL);
+    }
+
+    /**
      * Sets state to be on hold.
      */
     public final void setOnHold() {
@@ -1878,12 +1967,13 @@
      * New or existing keys are replaced in the {@code Connection} extras.  Keys which are no longer
      * in the new extras, but were present the last time {@code setExtras} was called are removed.
      * <p>
+     * Alternatively you may use the {@link #putExtras(Bundle)}, and
+     * {@link #removeExtras(String...)} methods to modify the extras.
+     * <p>
      * No assumptions should be made as to how an In-Call UI or service will handle these extras.
      * Keys should be fully qualified (e.g., com.example.MY_EXTRA) to avoid conflicts.
      *
      * @param extras The extras associated with this {@code Connection}.
-     * @deprecated Use {@link #putExtras(Bundle)} to add extras.  Use {@link #removeExtras(List)}
-     * to remove extras.
      */
     public final void setExtras(@Nullable Bundle extras) {
         checkImmutable();
@@ -1930,14 +2020,20 @@
         if (extras == null) {
             return;
         }
-
-        if (mExtras == null) {
-            mExtras = new Bundle();
+        // Creating a duplicate bundle so we don't have to synchronize on mExtrasLock while calling
+        // the listeners.
+        Bundle listenerExtras;
+        synchronized (mExtrasLock) {
+            if (mExtras == null) {
+                mExtras = new Bundle();
+            }
+            mExtras.putAll(extras);
+            listenerExtras = new Bundle(mExtras);
         }
-        mExtras.putAll(extras);
-
         for (Listener l : mListeners) {
-            l.onExtrasChanged(this, extras);
+            // Create a new clone of the extras for each listener so that they don't clobber
+            // each other
+            l.onExtrasChanged(this, new Bundle(listenerExtras));
         }
     }
 
@@ -1986,18 +2082,16 @@
      * @param keys The keys of the extras to remove.
      */
     public final void removeExtras(List<String> keys) {
-        if (mExtras != null) {
-            for (String key : keys) {
-                mExtras.remove(key);
-            }
-
-            if (mExtras.size() == 0) {
-                mExtras = null;
+        synchronized (mExtrasLock) {
+            if (mExtras != null) {
+                for (String key : keys) {
+                    mExtras.remove(key);
+                }
             }
         }
-
+        List<String> unmodifiableKeys = Collections.unmodifiableList(keys);
         for (Listener l : mListeners) {
-            l.onExtrasRemoved(this, keys);
+            l.onExtrasRemoved(this, unmodifiableKeys);
         }
     }
 
@@ -2140,6 +2234,12 @@
      * <p>
      * The {@link InCallService} issues a Call event via {@link Call#sendCallEvent(String, Bundle)}.
      * <p>
+     * Where possible, the Connection should make an attempt to handle {@link Call} events which
+     * are part of the {@code android.telecom.*} namespace.  The Connection should ignore any events
+     * it does not wish to handle.  Unexpected events should be handled gracefully, as it is
+     * possible that a {@link InCallService} has defined its own Call events which a Connection is
+     * not aware of.
+     * <p>
      * See also {@link Call#sendCallEvent(String, Bundle)}.
      *
      * @param event The call event.
@@ -2285,8 +2385,14 @@
      * @hide
      */
     final void handleExtrasChanged(Bundle extras) {
-        mExtras = extras;
-        onExtrasChanged(mExtras);
+        Bundle b = null;
+        synchronized (mExtrasLock) {
+            mExtras = extras;
+            if (mExtras != null) {
+                b = new Bundle(mExtras);
+            }
+        }
+        onExtrasChanged(b);
     }
 
     /**
@@ -2324,16 +2430,54 @@
     }
 
     /**
-     * Sends an event associated with this {@code Connection}, with associated event extras.
-     *
-     * Events are exposed to {@link InCallService} implementations via the
-     * {@link Call.Callback#onConnectionEvent(Call, String, Bundle)} API.
-     *
+     * Notifies listeners when a change has occurred to the Connection which impacts its ability to
+     * be a part of a conference call.
+     * @param isConferenceSupported {@code true} if the connection supports being part of a
+     *      conference call, {@code false} otherwise.
+     * @hide
+     */
+    protected void notifyConferenceSupportedChanged(boolean isConferenceSupported) {
+        for (Listener l : mListeners) {
+            l.onConferenceSupportedChanged(this, isConferenceSupported);
+        }
+    }
+
+    /**
+     * Sends an event associated with this {@code Connection} with associated event extras to the
+     * {@link InCallService}.
+     * <p>
+     * Connection events are used to communicate point in time information from a
+     * {@link ConnectionService} to a {@link InCallService} implementations.  An example of a
+     * custom connection event includes notifying the UI when a WIFI call has been handed over to
+     * LTE, which the InCall UI might use to inform the user that billing charges may apply.  The
+     * Android Telephony framework will send the {@link #EVENT_CALL_MERGE_FAILED} connection event
+     * when a call to {@link Call#mergeConference()} has failed to complete successfully.  A
+     * connection event could also be used to trigger UI in the {@link InCallService} which prompts
+     * the user to make a choice (e.g. whether they want to incur roaming costs for making a call),
+     * which is communicated back via {@link Call#sendCallEvent(String, Bundle)}.
+     * <p>
+     * Events are exposed to {@link InCallService} implementations via
+     * {@link Call.Callback#onConnectionEvent(Call, String, Bundle)}.
+     * <p>
      * No assumptions should be made as to how an In-Call UI or service will handle these events.
-     * Events should be fully qualified (e.g., com.example.event.MY_EVENT) to avoid conflicts.
+     * The {@link ConnectionService} must assume that the In-Call UI could even chose to ignore
+     * some events altogether.
+     * <p>
+     * Events should be fully qualified (e.g. {@code com.example.event.MY_EVENT}) to avoid
+     * conflicts between {@link ConnectionService} implementations.  Further, custom
+     * {@link ConnectionService} implementations shall not re-purpose events in the
+     * {@code android.*} namespace, nor shall they define new event types in this namespace.  When
+     * defining a custom event type, ensure the contents of the extras {@link Bundle} is clearly
+     * defined.  Extra keys for this bundle should be named similar to the event type (e.g.
+     * {@code com.example.extra.MY_EXTRA}).
+     * <p>
+     *  When defining events and the associated extras, it is important to keep their behavior
+     * consistent when the associated {@link ConnectionService} is updated.  Support for deprecated
+     * events/extras should me maintained to ensure backwards compatibility with older
+     * {@link InCallService} implementations which were built to support the older behavior.
      *
      * @param event The connection event.
-     * @param extras Bundle containing extra information associated with the event.
+     * @param extras Optional bundle containing extra information associated with the event.
      */
     public void sendConnectionEvent(String event, Bundle extras) {
         for (Listener l : mListeners) {
diff --git a/telecomm/java/android/telecom/ParcelableCallAnalytics.aidl b/telecomm/java/android/telecom/ParcelableCallAnalytics.aidl
deleted file mode 100644
index b7e78d1..0000000
--- a/telecomm/java/android/telecom/ParcelableCallAnalytics.aidl
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 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.
- */
-
-package android.telecom;
-
-/**
- * {@hide}
- */
-parcelable ParcelableCallAnalytics;
diff --git a/telecomm/java/android/telecom/ParcelableCallAnalytics.java b/telecomm/java/android/telecom/ParcelableCallAnalytics.java
index e7c9672..0ee9bab 100644
--- a/telecomm/java/android/telecom/ParcelableCallAnalytics.java
+++ b/telecomm/java/android/telecom/ParcelableCallAnalytics.java
@@ -20,11 +20,168 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * @hide
  */
 @SystemApi
 public class ParcelableCallAnalytics implements Parcelable {
+    public static final class AnalyticsEvent implements Parcelable {
+        public static final int SET_SELECT_PHONE_ACCOUNT = 0;
+        public static final int SET_ACTIVE = 1;
+        public static final int SET_DISCONNECTED = 2;
+        public static final int START_CONNECTION = 3;
+        public static final int SET_DIALING = 4;
+        public static final int BIND_CS = 5;
+        public static final int CS_BOUND = 6;
+        public static final int REQUEST_ACCEPT = 7;
+        public static final int REQUEST_REJECT = 8;
+
+        public static final int SCREENING_SENT = 100;
+        public static final int SCREENING_COMPLETED = 101;
+        public static final int DIRECT_TO_VM_INITIATED = 102;
+        public static final int DIRECT_TO_VM_FINISHED = 103;
+        public static final int BLOCK_CHECK_INITIATED = 104;
+        public static final int BLOCK_CHECK_FINISHED = 105;
+        public static final int FILTERING_INITIATED = 106;
+        public static final int FILTERING_COMPLETED = 107;
+        public static final int FILTERING_TIMED_OUT = 108;
+
+        public static final int SKIP_RINGING = 200;
+        public static final int SILENCE = 201;
+        public static final int MUTE = 202;
+        public static final int UNMUTE = 203;
+        public static final int AUDIO_ROUTE_BT = 204;
+        public static final int AUDIO_ROUTE_EARPIECE = 205;
+        public static final int AUDIO_ROUTE_HEADSET = 206;
+        public static final int AUDIO_ROUTE_SPEAKER = 207;
+
+        public static final int CONFERENCE_WITH = 300;
+        public static final int SPLIT_CONFERENCE = 301;
+        public static final int SET_PARENT = 302;
+
+        public static final int REQUEST_HOLD = 400;
+        public static final int REQUEST_UNHOLD = 401;
+        public static final int REMOTELY_HELD = 402;
+        public static final int REMOTELY_UNHELD = 403;
+        public static final int SET_HOLD = 404;
+        public static final int SWAP = 405;
+
+        public static final int REQUEST_PULL = 500;
+
+
+        public static final Parcelable.Creator<AnalyticsEvent> CREATOR =
+                new Parcelable.Creator<AnalyticsEvent> () {
+
+                    @Override
+                    public AnalyticsEvent createFromParcel(Parcel in) {
+                        return new AnalyticsEvent(in);
+                    }
+
+                    @Override
+                    public AnalyticsEvent[] newArray(int size) {
+                        return new AnalyticsEvent[size];
+                    }
+                };
+
+        private int mEventName;
+        private long mTimeSinceLastEvent;
+
+        public AnalyticsEvent(int eventName, long timestamp) {
+            mEventName = eventName;
+            mTimeSinceLastEvent = timestamp;
+        }
+
+        AnalyticsEvent(Parcel in) {
+            mEventName = in.readInt();
+            mTimeSinceLastEvent = in.readLong();
+        }
+
+        public int getEventName() {
+            return mEventName;
+        }
+
+        public long getTimeSinceLastEvent() {
+            return mTimeSinceLastEvent;
+        }
+
+        @Override
+        public int describeContents() {
+            return 0;
+        }
+
+        @Override
+        public void writeToParcel(Parcel out, int flags) {
+            out.writeInt(mEventName);
+            out.writeLong(mTimeSinceLastEvent);
+        }
+    }
+
+    public static final class EventTiming implements Parcelable {
+        public static final int ACCEPT_TIMING = 0;
+        public static final int REJECT_TIMING = 1;
+        public static final int DISCONNECT_TIMING = 2;
+        public static final int HOLD_TIMING = 3;
+        public static final int UNHOLD_TIMING = 4;
+        public static final int OUTGOING_TIME_TO_DIALING_TIMING = 5;
+        public static final int BIND_CS_TIMING = 6;
+        public static final int SCREENING_COMPLETED_TIMING = 7;
+        public static final int DIRECT_TO_VM_FINISHED_TIMING = 8;
+        public static final int BLOCK_CHECK_FINISHED_TIMING = 9;
+        public static final int FILTERING_COMPLETED_TIMING = 10;
+        public static final int FILTERING_TIMED_OUT_TIMING = 11;
+
+        public static final int INVALID = 999999;
+
+        public static final Parcelable.Creator<EventTiming> CREATOR =
+                new Parcelable.Creator<EventTiming> () {
+
+                    @Override
+                    public EventTiming createFromParcel(Parcel in) {
+                        return new EventTiming(in);
+                    }
+
+                    @Override
+                    public EventTiming[] newArray(int size) {
+                        return new EventTiming[size];
+                    }
+                };
+
+        private int mName;
+        private long mTime;
+
+        public EventTiming(int name, long time) {
+            this.mName = name;
+            this.mTime = time;
+        }
+
+        private EventTiming(Parcel in) {
+            mName = in.readInt();
+            mTime = in.readLong();
+        }
+
+        public int getName() {
+            return mName;
+        }
+
+        public long getTime() {
+            return mTime;
+        }
+
+        @Override
+        public int describeContents() {
+            return 0;
+        }
+
+        @Override
+        public void writeToParcel(Parcel out, int flags) {
+            out.writeInt(mName);
+            out.writeLong(mTime);
+        }
+    }
+
     public static final int CALLTYPE_UNKNOWN = 0;
     public static final int CALLTYPE_INCOMING = 1;
     public static final int CALLTYPE_OUTGOING = 2;
@@ -87,10 +244,17 @@
     // Whether the call object was created from an existing connection.
     private final boolean isCreatedFromExistingConnection;
 
+    // A list of events that are associated with this call
+    private final List<AnalyticsEvent> analyticsEvents;
+
+    // A map from event-pair names to their durations.
+    private final List<EventTiming> eventTimings;
+
     public ParcelableCallAnalytics(long startTimeMillis, long callDurationMillis, int callType,
             boolean isAdditionalCall, boolean isInterrupted, int callTechnologies,
             int callTerminationCode, boolean isEmergencyCall, String connectionService,
-            boolean isCreatedFromExistingConnection) {
+            boolean isCreatedFromExistingConnection, List<AnalyticsEvent> analyticsEvents,
+            List<EventTiming> eventTimings) {
         this.startTimeMillis = startTimeMillis;
         this.callDurationMillis = callDurationMillis;
         this.callType = callType;
@@ -101,6 +265,8 @@
         this.isEmergencyCall = isEmergencyCall;
         this.connectionService = connectionService;
         this.isCreatedFromExistingConnection = isCreatedFromExistingConnection;
+        this.analyticsEvents = analyticsEvents;
+        this.eventTimings = eventTimings;
     }
 
     public ParcelableCallAnalytics(Parcel in) {
@@ -114,6 +280,10 @@
         isEmergencyCall = readByteAsBoolean(in);
         connectionService = in.readString();
         isCreatedFromExistingConnection = readByteAsBoolean(in);
+        analyticsEvents = new ArrayList<>();
+        in.readTypedList(analyticsEvents, AnalyticsEvent.CREATOR);
+        eventTimings = new ArrayList<>();
+        in.readTypedList(eventTimings, EventTiming.CREATOR);
     }
 
     public void writeToParcel(Parcel out, int flags) {
@@ -127,6 +297,8 @@
         writeBooleanAsByte(out, isEmergencyCall);
         out.writeString(connectionService);
         writeBooleanAsByte(out, isCreatedFromExistingConnection);
+        out.writeTypedList(analyticsEvents);
+        out.writeTypedList(eventTimings);
     }
 
     public long getStartTimeMillis() {
@@ -169,6 +341,14 @@
         return isCreatedFromExistingConnection;
     }
 
+    public List<AnalyticsEvent> analyticsEvents() {
+        return analyticsEvents;
+    }
+
+    public List<EventTiming> getEventTimings() {
+        return eventTimings;
+    }
+
     @Override
     public int describeContents() {
         return 0;
diff --git a/telecomm/java/android/telecom/TelecomAnalytics.aidl b/telecomm/java/android/telecom/TelecomAnalytics.aidl
new file mode 100644
index 0000000..08ad0a2
--- /dev/null
+++ b/telecomm/java/android/telecom/TelecomAnalytics.aidl
@@ -0,0 +1,22 @@
+/*
+ * Copyright 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.
+ */
+
+package android.telecom;
+
+/**
+ * {@hide}
+ */
+parcelable TelecomAnalytics;
diff --git a/telecomm/java/android/telecom/TelecomAnalytics.java b/telecomm/java/android/telecom/TelecomAnalytics.java
new file mode 100644
index 0000000..6e0d02c
--- /dev/null
+++ b/telecomm/java/android/telecom/TelecomAnalytics.java
@@ -0,0 +1,148 @@
+/*
+ * 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
+ */
+
+package android.telecom;
+
+import android.annotation.SystemApi;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @hide
+ */
+@SystemApi
+public final class TelecomAnalytics implements Parcelable {
+    public static final Parcelable.Creator<TelecomAnalytics> CREATOR =
+            new Parcelable.Creator<TelecomAnalytics> () {
+
+                @Override
+                public TelecomAnalytics createFromParcel(Parcel in) {
+                    return new TelecomAnalytics(in);
+                }
+
+                @Override
+                public TelecomAnalytics[] newArray(int size) {
+                    return new TelecomAnalytics[size];
+                }
+            };
+
+    public static final class SessionTiming extends TimedEvent<Integer> implements Parcelable {
+        public static final Parcelable.Creator<SessionTiming> CREATOR =
+                new Parcelable.Creator<SessionTiming> () {
+
+                    @Override
+                    public SessionTiming createFromParcel(Parcel in) {
+                        return new SessionTiming(in);
+                    }
+
+                    @Override
+                    public SessionTiming[] newArray(int size) {
+                        return new SessionTiming[size];
+                    }
+                };
+
+        public static final int ICA_ANSWER_CALL = 1;
+        public static final int ICA_REJECT_CALL = 2;
+        public static final int ICA_DISCONNECT_CALL = 3;
+        public static final int ICA_HOLD_CALL = 4;
+        public static final int ICA_UNHOLD_CALL = 5;
+        public static final int ICA_MUTE = 6;
+        public static final int ICA_SET_AUDIO_ROUTE = 7;
+        public static final int ICA_CONFERENCE = 8;
+
+        public static final int CSW_HANDLE_CREATE_CONNECTION_COMPLETE = 100;
+        public static final int CSW_SET_ACTIVE = 101;
+        public static final int CSW_SET_RINGING = 102;
+        public static final int CSW_SET_DIALING = 103;
+        public static final int CSW_SET_DISCONNECTED = 104;
+        public static final int CSW_SET_ON_HOLD = 105;
+        public static final int CSW_REMOVE_CALL = 106;
+        public static final int CSW_SET_IS_CONFERENCED = 107;
+        public static final int CSW_ADD_CONFERENCE_CALL = 108;
+
+        private int mId;
+        private long mTime;
+
+        public SessionTiming(int id, long time) {
+            this.mId = id;
+            this.mTime = time;
+        }
+
+        private SessionTiming(Parcel in) {
+            mId = in.readInt();
+            mTime = in.readLong();
+        }
+
+        @Override
+        public Integer getKey() {
+            return mId;
+        }
+
+        @Override
+        public long getTime() {
+            return mTime;
+        }
+
+        @Override
+        public int describeContents() {
+            return 0;
+        }
+
+        @Override
+        public void writeToParcel(Parcel out, int flags) {
+            out.writeInt(mId);
+            out.writeLong(mTime);
+        }
+    }
+
+    private List<SessionTiming> mSessionTimings;
+    private List<ParcelableCallAnalytics> mCallAnalytics;
+
+    public TelecomAnalytics(List<SessionTiming> sessionTimings,
+            List<ParcelableCallAnalytics> callAnalytics) {
+        this.mSessionTimings = sessionTimings;
+        this.mCallAnalytics = callAnalytics;
+    }
+
+    private TelecomAnalytics(Parcel in) {
+        mSessionTimings = new ArrayList<>();
+        in.readTypedList(mSessionTimings, SessionTiming.CREATOR);
+        mCallAnalytics = new ArrayList<>();
+        in.readTypedList(mCallAnalytics, ParcelableCallAnalytics.CREATOR);
+    }
+
+    public List<SessionTiming> getSessionTimings() {
+        return mSessionTimings;
+    }
+
+    public List<ParcelableCallAnalytics> getCallAnalytics() {
+        return mCallAnalytics;
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel out, int flags) {
+        out.writeTypedList(mSessionTimings);
+        out.writeTypedList(mCallAnalytics);
+    }
+}
diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java
index ff5daaf..f12886a 100644
--- a/telecomm/java/android/telecom/TelecomManager.java
+++ b/telecomm/java/android/telecom/TelecomManager.java
@@ -1443,9 +1443,9 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.DUMP)
-    public List<ParcelableCallAnalytics> dumpAnalytics() {
+    public TelecomAnalytics dumpAnalytics() {
         ITelecomService service = getTelecomService();
-        List<ParcelableCallAnalytics> result = null;
+        TelecomAnalytics result = null;
         if (service != null) {
             try {
                 result = service.dumpCallAnalytics();
diff --git a/telecomm/java/android/telecom/TimedEvent.java b/telecomm/java/android/telecom/TimedEvent.java
new file mode 100644
index 0000000..e484e79
--- /dev/null
+++ b/telecomm/java/android/telecom/TimedEvent.java
@@ -0,0 +1,51 @@
+/*
+ * 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
+ */
+
+package android.telecom;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @hide
+ */
+public abstract class TimedEvent<T> {
+    public abstract long getTime();
+    public abstract T getKey();
+
+    public static <T> Map<T, Double> averageTimings(Collection<? extends TimedEvent<T>> events) {
+        HashMap<T, Integer> counts = new HashMap<>();
+        HashMap<T, Double> result = new HashMap<>();
+
+        for (TimedEvent<T> entry : events) {
+            if (counts.containsKey(entry.getKey())) {
+                counts.put(entry.getKey(), counts.get(entry.getKey()) + 1);
+                result.put(entry.getKey(), result.get(entry.getKey()) + entry.getTime());
+            } else {
+                counts.put(entry.getKey(), 1);
+                result.put(entry.getKey(), (double) entry.getTime());
+            }
+        }
+
+        for (Map.Entry<T, Double> entry : result.entrySet()) {
+            result.put(entry.getKey(), entry.getValue() / counts.get(entry.getKey()));
+        }
+
+        return result;
+    }
+}
+
diff --git a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl
index 871565d..5c412e7 100644
--- a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl
+++ b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl
@@ -18,7 +18,7 @@
 
 import android.content.ComponentName;
 import android.content.Intent;
-import android.telecom.ParcelableCallAnalytics;
+import android.telecom.TelecomAnalytics;
 import android.telecom.PhoneAccountHandle;
 import android.net.Uri;
 import android.os.Bundle;
@@ -148,7 +148,7 @@
     /**
     * @see TelecomServiceImpl#dumpCallAnalytics
     */
-    List<ParcelableCallAnalytics> dumpCallAnalytics();
+    TelecomAnalytics dumpCallAnalytics();
 
     //
     // Internal system apis relating to call management.
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
index af15c0a..a5e50aa 100644
--- a/telephony/java/android/telephony/CarrierConfigManager.java
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
@@ -759,6 +759,71 @@
     public static final String KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT =
             "duration_blocking_disabled_after_emergency_int";
 
+    /**
+     * @hide
+     * The default value for preferred CDMA roaming mode (aka CDMA system select.)
+     *          CDMA_ROAMING_MODE_RADIO_DEFAULT = the default roaming mode from the radio
+     *          CDMA_ROAMING_MODE_HOME = Home Networks
+     *          CDMA_ROAMING_MODE_AFFILIATED = Roaming on Affiliated networks
+     *          CDMA_ROAMING_MODE_ANY = Roaming on any networks
+     */
+    public static final String KEY_CDMA_ROAMING_MODE_INT = "cdma_roaming_mode_int";
+    /** @hide */
+    public static final int CDMA_ROAMING_MODE_RADIO_DEFAULT = -1;
+    /** @hide */
+    public static final int CDMA_ROAMING_MODE_HOME = 0;
+    /** @hide */
+    public static final int CDMA_ROAMING_MODE_AFFILIATED = 1;
+    /** @hide */
+    public static final int CDMA_ROAMING_MODE_ANY = 2;
+
+    /**
+     * The families of Radio Access Technologies that will get clustered and ratcheted,
+     * ie, we will report transitions up within the family, but not down until we change
+     * cells.  This prevents flapping between base technologies and higher techs that are
+     * granted on demand within the cell.
+     * @hide
+     */
+    public static final String KEY_RATCHET_RAT_FAMILIES =
+            "ratchet_rat_families";
+
+    /**
+     * Flag indicating whether some telephony logic will treat a call which was formerly a video
+     * call as if it is still a video call.  When {@code true}:
+     * <p>
+     * Logic which will automatically drop a video call which takes place over WIFI when a
+     * voice call is answered (see {@link #KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL}.
+     * <p>
+     * Logic which determines whether the user can use TTY calling.
+     */
+    public static final String KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL =
+            "treat_downgraded_video_calls_as_video_calls_bool";
+
+    /**
+     * When {@code true}, if the user is in an ongoing video call over WIFI and answers an incoming
+     * audio call, the video call will be disconnected before the audio call is answered.  This is
+     * in contrast to the usual expected behavior where a foreground video call would be put into
+     * the background and held when an incoming audio call is answered.
+     */
+    public static final String KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL =
+            "drop_video_call_when_answering_audio_call_bool";
+
+    /**
+     * Flag indicating whether the carrier supports merging wifi calls when VoWIFI is disabled.
+     * This can happen in the case of a carrier which allows offloading video calls to WIFI
+     * separately of whether voice over wifi is enabled.  In such a scenario when two video calls
+     * are downgraded to voice, they remain over wifi.  However, if VoWIFI is disabled, these calls
+     * cannot be merged.
+     */
+    public static final String KEY_ALLOW_MERGE_WIFI_CALLS_WHEN_VOWIFI_OFF_BOOL =
+            "allow_merge_wifi_calls_when_vowifi_off_bool";
+
+    /**
+     * When true, indicates that adding a call is disabled when there is an ongoing video call.
+     */
+    public static final String KEY_ALLOW_ADD_CALL_DURING_VIDEO_CALL_BOOL =
+            "allow_add_call_during_video_call";
+
     /** The default value for every variable. */
     private final static PersistableBundle sDefaults;
 
@@ -897,12 +962,23 @@
         sDefaults.putString(KEY_MMS_USER_AGENT_STRING, "");
         sDefaults.putBoolean(KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL, true);
         sDefaults.putBoolean(KEY_USE_RCS_PRESENCE_BOOL, false);
+        sDefaults.putInt(KEY_CDMA_ROAMING_MODE_INT, CDMA_ROAMING_MODE_RADIO_DEFAULT);
 
         // Carrier Signalling Receivers
         sDefaults.putStringArray(KEY_SIGNAL_REDIRECTION_RECEIVER_STRING_ARRAY, null);
         sDefaults.putStringArray(KEY_SIGNAL_DCFAILURE_RECEIVER_STRING_ARRAY, null);
         sDefaults.putStringArray(KEY_SIGNAL_PCO_RECEIVER_STRING_ARRAY, null);
         sDefaults.putString(KEY_CARRIER_SETUP_APP_STRING, "");
+
+        // Rat families: {GPRS, EDGE}, {EVDO, EVDO_A, EVDO_B}, {UMTS, HSPA, HSDPA, HSUPA, HSPAP},
+        // {LTE, LTE_CA}
+        // Order is important - lowest precidence first
+        sDefaults.putStringArray(KEY_RATCHET_RAT_FAMILIES,
+                new String[]{"1,2","7,8,12","3,11,9,10,15","14,19"});
+        sDefaults.putBoolean(KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL, false);
+        sDefaults.putBoolean(KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL, false);
+        sDefaults.putBoolean(KEY_ALLOW_MERGE_WIFI_CALLS_WHEN_VOWIFI_OFF_BOOL, true);
+        sDefaults.putBoolean(KEY_ALLOW_ADD_CALL_DURING_VIDEO_CALL_BOOL, true);
     }
 
     /**
diff --git a/telephony/java/android/telephony/RadioAccessFamily.java b/telephony/java/android/telephony/RadioAccessFamily.java
index 2bfaf1b..b530a64 100644
--- a/telephony/java/android/telephony/RadioAccessFamily.java
+++ b/telephony/java/android/telephony/RadioAccessFamily.java
@@ -47,6 +47,7 @@
     public static final int RAF_HSPAP = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_HSPAP);
     public static final int RAF_GSM = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_GSM);
     public static final int RAF_TD_SCDMA = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_TD_SCDMA);
+    public static final int RAF_LTE_CA = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_LTE_CA);
 
     // Grouping of RAFs
     private static final int GSM = RAF_GSM | RAF_GPRS | RAF_EDGE;
@@ -54,6 +55,7 @@
     private static final int CDMA = RAF_IS95A | RAF_IS95B | RAF_1xRTT;
     private static final int EVDO = RAF_EVDO_0 | RAF_EVDO_A | RAF_EVDO_B | RAF_EHRPD;
     private static final int WCDMA = HS | RAF_UMTS;
+    private static final int LTE = RAF_LTE | RAF_LTE_CA;
 
     /* Phone ID of phone */
     private int mPhoneId;
@@ -162,19 +164,19 @@
                 raf = CDMA | EVDO;
                 break;
             case RILConstants.NETWORK_MODE_LTE_CDMA_EVDO:
-                raf = RAF_LTE | CDMA | EVDO;
+                raf = LTE | CDMA | EVDO;
                 break;
             case RILConstants.NETWORK_MODE_LTE_GSM_WCDMA:
-                raf = RAF_LTE | GSM | WCDMA;
+                raf = LTE | GSM | WCDMA;
                 break;
             case RILConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
-                raf = RAF_LTE | CDMA | EVDO | GSM | WCDMA;
+                raf = LTE | CDMA | EVDO | GSM | WCDMA;
                 break;
             case RILConstants.NETWORK_MODE_LTE_ONLY:
-                raf = RAF_LTE;
+                raf = LTE;
                 break;
             case RILConstants.NETWORK_MODE_LTE_WCDMA:
-                raf = RAF_LTE | WCDMA;
+                raf = LTE | WCDMA;
                 break;
             case RILConstants.NETWORK_MODE_CDMA_NO_EVDO:
                 raf = CDMA;
@@ -192,28 +194,28 @@
                 raf = RAF_TD_SCDMA | WCDMA;
                 break;
             case RILConstants.NETWORK_MODE_LTE_TDSCDMA:
-                raf = RAF_LTE | RAF_TD_SCDMA;
+                raf = LTE | RAF_TD_SCDMA;
                 break;
             case RILConstants.NETWORK_MODE_TDSCDMA_GSM:
                 raf = RAF_TD_SCDMA | GSM;
                 break;
             case RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM:
-                raf = RAF_LTE | RAF_TD_SCDMA | GSM;
+                raf = LTE | RAF_TD_SCDMA | GSM;
                 break;
             case RILConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
                 raf = RAF_TD_SCDMA | GSM | WCDMA;
                 break;
             case RILConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
-                raf = RAF_LTE | RAF_TD_SCDMA | WCDMA;
+                raf = LTE | RAF_TD_SCDMA | WCDMA;
                 break;
             case RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
-                raf = RAF_LTE | RAF_TD_SCDMA | GSM | WCDMA;
+                raf = LTE | RAF_TD_SCDMA | GSM | WCDMA;
                 break;
             case RILConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
                 raf = RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA;
                 break;
             case RILConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-                raf = RAF_LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA;
+                raf = LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA;
                 break;
             default:
                 raf = RAF_UNKNOWN;
@@ -232,6 +234,7 @@
         raf = ((WCDMA & raf) > 0) ? (WCDMA | raf) : raf;
         raf = ((CDMA & raf) > 0) ? (CDMA | raf) : raf;
         raf = ((EVDO & raf) > 0) ? (EVDO | raf) : raf;
+        raf = ((LTE & raf) > 0) ? (LTE | raf) : raf;
 
         return raf;
     }
@@ -254,19 +257,19 @@
             case (CDMA | EVDO):
                 type = RILConstants.NETWORK_MODE_CDMA;
                 break;
-            case (RAF_LTE | CDMA | EVDO):
+            case (LTE | CDMA | EVDO):
                 type = RILConstants.NETWORK_MODE_LTE_CDMA_EVDO;
                 break;
-            case (RAF_LTE | GSM | WCDMA):
+            case (LTE | GSM | WCDMA):
                 type = RILConstants.NETWORK_MODE_LTE_GSM_WCDMA;
                 break;
-            case (RAF_LTE | CDMA | EVDO | GSM | WCDMA):
+            case (LTE | CDMA | EVDO | GSM | WCDMA):
                 type = RILConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA;
                 break;
-            case RAF_LTE:
+            case LTE:
                 type = RILConstants.NETWORK_MODE_LTE_ONLY;
                 break;
-            case (RAF_LTE | WCDMA):
+            case (LTE | WCDMA):
                 type = RILConstants.NETWORK_MODE_LTE_WCDMA;
                 break;
             case CDMA:
@@ -284,28 +287,28 @@
             case (RAF_TD_SCDMA | WCDMA):
                 type = RILConstants.NETWORK_MODE_TDSCDMA_WCDMA;
                 break;
-            case (RAF_LTE | RAF_TD_SCDMA):
+            case (LTE | RAF_TD_SCDMA):
                 type = RILConstants.NETWORK_MODE_LTE_TDSCDMA;
                 break;
             case (RAF_TD_SCDMA | GSM):
                 type = RILConstants.NETWORK_MODE_TDSCDMA_GSM;
                 break;
-            case (RAF_LTE | RAF_TD_SCDMA | GSM):
+            case (LTE | RAF_TD_SCDMA | GSM):
                 type = RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM;
                 break;
             case (RAF_TD_SCDMA | GSM | WCDMA):
                 type = RILConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA;
                 break;
-            case (RAF_LTE | RAF_TD_SCDMA | WCDMA):
+            case (LTE | RAF_TD_SCDMA | WCDMA):
                 type = RILConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA;
                 break;
-            case (RAF_LTE | RAF_TD_SCDMA | GSM | WCDMA):
+            case (LTE | RAF_TD_SCDMA | GSM | WCDMA):
                 type = RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA;
                 break;
             case (RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA):
                 type = RILConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
                 break;
-            case (RAF_LTE | RAF_TD_SCDMA | RAF_LTE | CDMA | EVDO | GSM | WCDMA):
+            case (LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA):
                 type = RILConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
                 break;
             default:
@@ -339,6 +342,7 @@
             case "CDMA":    return CDMA;
             case "EVDO":    return EVDO;
             case "WCDMA":   return WCDMA;
+            case "LTE_CA":  return RAF_LTE_CA;
             default:        return RAF_UNKNOWN;
         }
     }
diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java
index 39a9295..8446dd0 100644
--- a/telephony/java/android/telephony/ServiceState.java
+++ b/telephony/java/android/telephony/ServiceState.java
@@ -155,6 +155,12 @@
      */
     public static final int RIL_RADIO_TECHNOLOGY_IWLAN = 18;
 
+    /**
+     * LTE_CA
+     * @hide
+     */
+    public static final int RIL_RADIO_TECHNOLOGY_LTE_CA = 19;
+
     /** @hide */
     public static final int RIL_RADIO_CDMA_TECHNOLOGY_BITMASK =
             (1 << (RIL_RADIO_TECHNOLOGY_IS95A - 1))
@@ -746,6 +752,9 @@
             case RIL_RADIO_TECHNOLOGY_TD_SCDMA:
                 rtString = "TD-SCDMA";
                 break;
+            case RIL_RADIO_TECHNOLOGY_LTE_CA:
+                rtString = "LTE_CA";
+                break;
             default:
                 rtString = "Unexpected";
                 Rlog.w(LOG_TAG, "Unexpected radioTechnology=" + rt);
@@ -1088,6 +1097,8 @@
             return TelephonyManager.NETWORK_TYPE_TD_SCDMA;
         case ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN:
             return TelephonyManager.NETWORK_TYPE_IWLAN;
+        case ServiceState.RIL_RADIO_TECHNOLOGY_LTE_CA:
+            return TelephonyManager.NETWORK_TYPE_LTE_CA;
         default:
             return TelephonyManager.NETWORK_TYPE_UNKNOWN;
         }
@@ -1139,7 +1150,9 @@
                 || radioTechnology == RIL_RADIO_TECHNOLOGY_HSPAP
                 || radioTechnology == RIL_RADIO_TECHNOLOGY_GSM
                 || radioTechnology == RIL_RADIO_TECHNOLOGY_TD_SCDMA
-                || radioTechnology == RIL_RADIO_TECHNOLOGY_IWLAN;
+                || radioTechnology == RIL_RADIO_TECHNOLOGY_IWLAN
+                || radioTechnology == RIL_RADIO_TECHNOLOGY_LTE_CA;
+
     }
 
     /** @hide */
@@ -1154,6 +1167,12 @@
     }
 
     /** @hide */
+    public static boolean isLte(int radioTechnology) {
+        return radioTechnology == RIL_RADIO_TECHNOLOGY_LTE ||
+                radioTechnology == RIL_RADIO_TECHNOLOGY_LTE_CA;
+    }
+
+    /** @hide */
     public static boolean bearerBitmapHasCdma(int radioTechnologyBitmap) {
         return (RIL_RADIO_CDMA_TECHNOLOGY_BITMASK & radioTechnologyBitmap) != 0;
     }
diff --git a/telephony/java/android/telephony/TelephonyHistogram.java b/telephony/java/android/telephony/TelephonyHistogram.java
index 9d9ce72..e1c3d7b 100644
--- a/telephony/java/android/telephony/TelephonyHistogram.java
+++ b/telephony/java/android/telephony/TelephonyHistogram.java
@@ -31,35 +31,35 @@
 public final class TelephonyHistogram implements Parcelable {
     // Type of Telephony histogram Eg: RIL histogram will have all timing data associated with
     // RIL calls. Similarly we can have any other Telephony histogram.
-    private final int category;
+    private final int mCategory;
 
     // Unique Id identifying a sample within particular category of histogram
-    private final int id;
+    private final int mId;
 
     // Min time taken in ms
-    private int minTimeMs;
+    private int mMinTimeMs;
 
     // Max time taken in ms
-    private int maxTimeMs;
+    private int mMaxTimeMs;
 
     // Average time taken in ms
-    private int averageTimeMs;
+    private int mAverageTimeMs;
 
     // Total count of samples
-    private int sampleCount;
+    private int mSampleCount;
 
     // Array storing time taken for first #RANGE_CALCULATION_COUNT samples of histogram.
-    private int[] initialTimings;
+    private int[] mInitialTimings;
 
     // Total number of time ranges expected (must be greater than 1)
-    private final int bucketCount;
+    private final int mBucketCount;
 
     // Array storing endpoints of range buckets. Calculated based on values of minTime & maxTime
     // after totalTimeCount is #RANGE_CALCULATION_COUNT.
-    private final int[] bucketEndPoints;
+    private final int[] mBucketEndPoints;
 
     // Array storing counts for each time range starting from smallest value range
-    private final int[] bucketCounters;
+    private final int[] mBucketCounters;
 
     /**
      * Constant for Telephony category
@@ -81,69 +81,85 @@
         if (bucketCount <= 1) {
             throw new IllegalArgumentException("Invalid number of buckets");
         }
-        this.category = category;
-        this.id = id;
-        this.minTimeMs = Integer.MAX_VALUE;
-        this.maxTimeMs = 0;
-        this.averageTimeMs = 0;
-        this.sampleCount = 0;
-        initialTimings = new int[RANGE_CALCULATION_COUNT];
-        this.bucketCount = bucketCount;
-        bucketEndPoints = new int[bucketCount - 1];
-        bucketCounters = new int[bucketCount];
+        mCategory = category;
+        mId = id;
+        mMinTimeMs = Integer.MAX_VALUE;
+        mMaxTimeMs = 0;
+        mAverageTimeMs = 0;
+        mSampleCount = 0;
+        mInitialTimings = new int[RANGE_CALCULATION_COUNT];
+        mBucketCount = bucketCount;
+        mBucketEndPoints = new int[bucketCount - 1];
+        mBucketCounters = new int[bucketCount];
     }
 
     public TelephonyHistogram(TelephonyHistogram th) {
-        category = th.getCategory();
-        id = th.getId();
-        minTimeMs = th.getMinTime();
-        maxTimeMs = th.getMaxTime();
-        averageTimeMs = th.getAverageTime();
-        sampleCount = th.getSampleCount();
-        initialTimings = th.getInitialTimings();
-        bucketCount = th.getBucketCount();
-        bucketEndPoints = th.getBucketEndPoints();
-        bucketCounters = th.getBucketCounters();
+        mCategory = th.getCategory();
+        mId = th.getId();
+        mMinTimeMs = th.getMinTime();
+        mMaxTimeMs = th.getMaxTime();
+        mAverageTimeMs = th.getAverageTime();
+        mSampleCount = th.getSampleCount();
+        mInitialTimings = th.getInitialTimings();
+        mBucketCount = th.getBucketCount();
+        mBucketEndPoints = th.getBucketEndPoints();
+        mBucketCounters = th.getBucketCounters();
     }
 
     public int getCategory() {
-        return category;
+        return mCategory;
     }
 
     public int getId() {
-        return id;
+        return mId;
     }
 
     public int getMinTime() {
-        return minTimeMs;
+        return mMinTimeMs;
     }
 
     public int getMaxTime() {
-        return maxTimeMs;
+        return mMaxTimeMs;
     }
 
     public int getAverageTime() {
-        return averageTimeMs;
+        return mAverageTimeMs;
     }
 
     public int getSampleCount () {
-        return sampleCount;
+        return mSampleCount;
     }
 
     private int[] getInitialTimings() {
-        return initialTimings;
+        return mInitialTimings;
     }
 
     public int getBucketCount() {
-        return bucketCount;
+        return mBucketCount;
     }
 
     public int[] getBucketEndPoints() {
-        return getDeepCopyOfArray(bucketEndPoints);
+        if (mSampleCount > 1 && mSampleCount < 10) {
+            int[] tempEndPoints = new int[mBucketCount - 1];
+            calculateBucketEndPoints(tempEndPoints);
+            return tempEndPoints;
+        } else {
+            return getDeepCopyOfArray(mBucketEndPoints);
+        }
     }
 
     public int[] getBucketCounters() {
-        return getDeepCopyOfArray(bucketCounters);
+        if (mSampleCount > 1 && mSampleCount < 10) {
+            int[] tempEndPoints = new int[mBucketCount - 1];
+            int[] tempBucketCounters = new int[mBucketCount];
+            calculateBucketEndPoints(tempEndPoints);
+            for (int j = 0; j < mSampleCount; j++) {
+                addToBucketCounter(tempEndPoints, tempBucketCounters, mInitialTimings[j]);
+            }
+            return tempBucketCounters;
+        } else {
+            return getDeepCopyOfArray(mBucketCounters);
+        }
     }
 
     private int[] getDeepCopyOfArray(int[] array) {
@@ -152,7 +168,7 @@
         return clone;
     }
 
-    private void addToBucketCounter(int time) {
+    private void addToBucketCounter(int[] bucketEndPoints, int[] bucketCounters, int time) {
         int i;
         for (i = 0; i < bucketEndPoints.length; i++) {
             if (time <= bucketEndPoints[i]) {
@@ -163,6 +179,13 @@
         bucketCounters[i]++;
     }
 
+    private void calculateBucketEndPoints(int[] bucketEndPoints) {
+        for (int i = 1; i < mBucketCount; i++) {
+            int endPt = mMinTimeMs + (i * (mMaxTimeMs - mMinTimeMs)) / mBucketCount;
+            bucketEndPoints[i - 1] = endPt;
+        }
+    }
+
     // Add new value of time taken
     // This function updates minTime, maxTime, averageTime & totalTimeCount every time it is
     // called. initialTimings[] is updated if totalTimeCount <= #RANGE_CALCULATION_COUNT. When
@@ -172,65 +195,62 @@
     public void addTimeTaken(int time) {
         // Initialize all fields if its first entry or if integer overflow is going to occur while
         // trying to calculate averageTime
-        if (sampleCount == 0 || (sampleCount == Integer.MAX_VALUE)) {
-            if (sampleCount == 0) {
-                minTimeMs = time;
-                maxTimeMs = time;
-                averageTimeMs = time;
+        if (mSampleCount == 0 || (mSampleCount == Integer.MAX_VALUE)) {
+            if (mSampleCount == 0) {
+                mMinTimeMs = time;
+                mMaxTimeMs = time;
+                mAverageTimeMs = time;
             } else {
-                initialTimings = new int[RANGE_CALCULATION_COUNT];
+                mInitialTimings = new int[RANGE_CALCULATION_COUNT];
             }
-            sampleCount = 1;
-            Arrays.fill(initialTimings, 0);
-            initialTimings[0] = time;
-            Arrays.fill(bucketEndPoints, 0);
-            Arrays.fill(bucketCounters, 0);
+            mSampleCount = 1;
+            Arrays.fill(mInitialTimings, 0);
+            mInitialTimings[0] = time;
+            Arrays.fill(mBucketEndPoints, 0);
+            Arrays.fill(mBucketCounters, 0);
         } else {
-            if (time < minTimeMs) {
-                minTimeMs = time;
+            if (time < mMinTimeMs) {
+                mMinTimeMs = time;
             }
-            if (time > maxTimeMs) {
-                maxTimeMs = time;
+            if (time > mMaxTimeMs) {
+                mMaxTimeMs = time;
             }
-            long totalTime = ((long)averageTimeMs) * sampleCount + time;
-            averageTimeMs = (int)(totalTime/++sampleCount);
+            long totalTime = ((long)mAverageTimeMs) * mSampleCount + time;
+            mAverageTimeMs = (int)(totalTime/++mSampleCount);
 
-            if (sampleCount < RANGE_CALCULATION_COUNT) {
-                initialTimings[sampleCount - 1] = time;
-            } else if (sampleCount == RANGE_CALCULATION_COUNT) {
-                initialTimings[sampleCount - 1] = time;
+            if (mSampleCount < RANGE_CALCULATION_COUNT) {
+                mInitialTimings[mSampleCount - 1] = time;
+            } else if (mSampleCount == RANGE_CALCULATION_COUNT) {
+                mInitialTimings[mSampleCount - 1] = time;
 
                 // Calculate bucket endpoints based on bucketCount expected
-                for (int i = 1; i < bucketCount; i++) {
-                    int endPt = minTimeMs + (i * (maxTimeMs - minTimeMs)) / bucketCount;
-                    bucketEndPoints[i - 1] = endPt;
-                }
+                calculateBucketEndPoints(mBucketEndPoints);
 
                 // Use values stored in initialTimings[] to update bucketCounters
                 for (int j = 0; j < RANGE_CALCULATION_COUNT; j++) {
-                    addToBucketCounter(initialTimings[j]);
+                    addToBucketCounter(mBucketEndPoints, mBucketCounters, mInitialTimings[j]);
                 }
-                initialTimings = null;
+                mInitialTimings = null;
             } else {
-                addToBucketCounter(time);
+                addToBucketCounter(mBucketEndPoints, mBucketCounters, time);
             }
 
         }
     }
 
     public String toString() {
-        String basic = " Histogram id = " + id + " Time(ms): min = " + minTimeMs + " max = "
-                + maxTimeMs + " avg = " + averageTimeMs + " Count = " + sampleCount;
-        if (sampleCount < RANGE_CALCULATION_COUNT) {
+        String basic = " Histogram id = " + mId + " Time(ms): min = " + mMinTimeMs + " max = "
+                + mMaxTimeMs + " avg = " + mAverageTimeMs + " Count = " + mSampleCount;
+        if (mSampleCount < RANGE_CALCULATION_COUNT) {
             return basic;
         } else {
             StringBuffer intervals = new StringBuffer(" Interval Endpoints:");
-            for (int i = 0; i < bucketEndPoints.length; i++) {
-                intervals.append(" " + bucketEndPoints[i]);
+            for (int i = 0; i < mBucketEndPoints.length; i++) {
+                intervals.append(" " + mBucketEndPoints[i]);
             }
             intervals.append(" Interval counters:");
-            for (int i = 0; i < bucketCounters.length; i++) {
-                intervals.append(" " + bucketCounters[i]);
+            for (int i = 0; i < mBucketCounters.length; i++) {
+                intervals.append(" " + mBucketCounters[i]);
             }
             return basic + intervals;
         }
@@ -251,39 +271,39 @@
             };
 
     public TelephonyHistogram(Parcel in) {
-        category = in.readInt();
-        id = in.readInt();
-        minTimeMs = in.readInt();
-        maxTimeMs = in.readInt();
-        averageTimeMs = in.readInt();
-        sampleCount = in.readInt();
+        mCategory = in.readInt();
+        mId = in.readInt();
+        mMinTimeMs = in.readInt();
+        mMaxTimeMs = in.readInt();
+        mAverageTimeMs = in.readInt();
+        mSampleCount = in.readInt();
         if (in.readInt() == PRESENT) {
-            initialTimings = new int[RANGE_CALCULATION_COUNT];
-            in.readIntArray(initialTimings);
+            mInitialTimings = new int[RANGE_CALCULATION_COUNT];
+            in.readIntArray(mInitialTimings);
         }
-        bucketCount = in.readInt();
-        bucketEndPoints = new int[bucketCount - 1];
-        in.readIntArray(bucketEndPoints);
-        bucketCounters = new int[bucketCount];
-        in.readIntArray(bucketCounters);
+        mBucketCount = in.readInt();
+        mBucketEndPoints = new int[mBucketCount - 1];
+        in.readIntArray(mBucketEndPoints);
+        mBucketCounters = new int[mBucketCount];
+        in.readIntArray(mBucketCounters);
     }
 
     public void writeToParcel(Parcel out, int flags) {
-        out.writeInt(category);
-        out.writeInt(id);
-        out.writeInt(minTimeMs);
-        out.writeInt(maxTimeMs);
-        out.writeInt(averageTimeMs);
-        out.writeInt(sampleCount);
-        if (initialTimings == null) {
+        out.writeInt(mCategory);
+        out.writeInt(mId);
+        out.writeInt(mMinTimeMs);
+        out.writeInt(mMaxTimeMs);
+        out.writeInt(mAverageTimeMs);
+        out.writeInt(mSampleCount);
+        if (mInitialTimings == null) {
             out.writeInt(ABSENT);
         } else {
             out.writeInt(PRESENT);
-            out.writeIntArray(initialTimings);
+            out.writeIntArray(mInitialTimings);
         }
-        out.writeInt(bucketCount);
-        out.writeIntArray(bucketEndPoints);
-        out.writeIntArray(bucketCounters);
+        out.writeInt(mBucketCount);
+        out.writeIntArray(mBucketEndPoints);
+        out.writeIntArray(mBucketCounters);
     }
 
     @Override
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index e72fe49..26ef0cb 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -1445,13 +1445,14 @@
     public static final int NETWORK_TYPE_EHRPD = 14;
     /** Current network is HSPA+ */
     public static final int NETWORK_TYPE_HSPAP = 15;
-    /** Current network is GSM {@hide} */
+    /** Current network is GSM */
     public static final int NETWORK_TYPE_GSM = 16;
-     /** Current network is TD_SCDMA {@hide} */
+    /** Current network is TD_SCDMA */
     public static final int NETWORK_TYPE_TD_SCDMA = 17;
-   /** Current network is IWLAN {@hide} */
+    /** Current network is IWLAN */
     public static final int NETWORK_TYPE_IWLAN = 18;
-
+    /** Current network is LTE_CA {@hide} */
+    public static final int NETWORK_TYPE_LTE_CA = 19;
     /**
      * @return the NETWORK_TYPE_xxxx for current data connection.
      */
@@ -1654,6 +1655,7 @@
                 return NETWORK_CLASS_3_G;
             case NETWORK_TYPE_LTE:
             case NETWORK_TYPE_IWLAN:
+            case NETWORK_TYPE_LTE_CA:
                 return NETWORK_CLASS_4_G;
             default:
                 return NETWORK_CLASS_UNKNOWN;
@@ -1717,6 +1719,8 @@
                 return "TD_SCDMA";
             case NETWORK_TYPE_IWLAN:
                 return "IWLAN";
+            case NETWORK_TYPE_LTE_CA:
+                return "LTE_CA";
             default:
                 return "UNKNOWN";
         }
@@ -5419,7 +5423,7 @@
         return null;
     }
 
-    /*
+    /**
      * Get snapshot of Telephony histograms
      * @return List of Telephony histograms
      * Requires Permission:
@@ -5515,5 +5519,24 @@
             Log.e(TAG, "Error calling ITelephony#carrierActionSetRadioEnabled", e);
         }
     }
+
+    /**
+     * Get aggregated video call data usage since boot.
+     * Permissions android.Manifest.permission.READ_NETWORK_USAGE_HISTORY is required.
+     * @return total data usage in bytes
+     * @hide
+     */
+    public long getVtDataUsage() {
+
+        try {
+            ITelephony service = getITelephony();
+            if (service != null) {
+                return service.getVtDataUsage();
+            }
+        } catch (RemoteException e) {
+            Log.e(TAG, "Error calling getVtDataUsage", e);
+        }
+        return 0;
+    }
 }
 
diff --git a/telephony/java/com/android/ims/ImsCallProfile.java b/telephony/java/com/android/ims/ImsCallProfile.java
index 92b70e8..65254d8 100644
--- a/telephony/java/com/android/ims/ImsCallProfile.java
+++ b/telephony/java/com/android/ims/ImsCallProfile.java
@@ -448,6 +448,15 @@
     }
 
     /**
+     * Determines if the {@link ImsCallProfile} represents a video call.
+     *
+     * @return {@code true} if the profile is for a video call, {@code false} otherwise.
+     */
+    public boolean isVideoCall() {
+        return VideoProfile.isVideo(getVideoStateFromCallType(mCallType));
+    }
+
+    /**
      * Determines if a video state is set in a video state bit-mask.
      *
      * @param videoState The video state bit mask.
diff --git a/telephony/java/com/android/internal/telephony/DctConstants.java b/telephony/java/com/android/internal/telephony/DctConstants.java
index e4981ce..8166e00 100644
--- a/telephony/java/com/android/internal/telephony/DctConstants.java
+++ b/telephony/java/com/android/internal/telephony/DctConstants.java
@@ -104,6 +104,7 @@
     public static final int CMD_CLEAR_PROVISIONING_SPINNER = BASE + 42;
     public static final int EVENT_DEVICE_PROVISIONED_CHANGE = BASE + 43;
     public static final int EVENT_REDIRECTION_DETECTED = BASE + 44;
+    public static final int EVENT_PCO_DATA_RECEIVED = BASE + 45;
 
     /***** Constants *****/
 
diff --git a/telephony/java/com/android/internal/telephony/ISms.aidl b/telephony/java/com/android/internal/telephony/ISms.aidl
index 70a8653..6115656 100644
--- a/telephony/java/com/android/internal/telephony/ISms.aidl
+++ b/telephony/java/com/android/internal/telephony/ISms.aidl
@@ -184,7 +184,7 @@
      */
     void sendTextForSubscriberWithSelfPermissions(in int subId, String callingPkg,
             in String destAddr, in String scAddr, in String text, in PendingIntent sentIntent,
-            in PendingIntent deliveryIntent);
+            in PendingIntent deliveryIntent, in boolean persistMessage);
 
     /**
      * Inject an SMS PDU into the android platform.
diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl
index 2171c9e..2168b0e 100644
--- a/telephony/java/com/android/internal/telephony/ITelephony.aidl
+++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl
@@ -1133,13 +1133,13 @@
      */
     List<CarrierIdentifier> getAllowedCarriers(int slotId);
 
-   /**
-    * Action set from carrier signalling broadcast receivers to enable/disable metered apns
-    * Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required
-    * @param subId the subscription ID that this action applies to.
-    * @param enabled control enable or disable metered apns.
-    * @hide
-    */
+    /**
+     * Action set from carrier signalling broadcast receivers to enable/disable metered apns
+     * Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required
+     * @param subId the subscription ID that this action applies to.
+     * @param enabled control enable or disable metered apns.
+     * @hide
+     */
     void carrierActionSetMeteredApnsEnabled(int subId, boolean visible);
 
     /**
@@ -1150,4 +1150,12 @@
      * @hide
      */
     void carrierActionSetRadioEnabled(int subId, boolean enabled);
+
+    /**
+     * Get aggregated video call data usage since boot.
+     * Permissions android.Manifest.permission.READ_NETWORK_USAGE_HISTORY is required.
+     * @return total data usage in bytes
+     * @hide
+     */
+    long getVtDataUsage();
 }
diff --git a/telephony/java/com/android/internal/telephony/PhoneConstants.java b/telephony/java/com/android/internal/telephony/PhoneConstants.java
index 1680fe3..b417a1c 100644
--- a/telephony/java/com/android/internal/telephony/PhoneConstants.java
+++ b/telephony/java/com/android/internal/telephony/PhoneConstants.java
@@ -208,4 +208,14 @@
     public static final int AUTH_CONTEXT_EAP_SIM = 128;
     public static final int AUTH_CONTEXT_EAP_AKA = 129;
     public static final int AUTH_CONTEXT_UNDEFINED = -1;
+
+    /**
+     * Value for the global property CELL_ON
+     *  0: Cell radio is off
+     *  1: Cell radio is on
+     *  2: Cell radio is off because airplane mode is enabled
+     */
+    public static final int CELL_OFF_FLAG = 0;
+    public static final int CELL_ON_FLAG = 1;
+    public static final int CELL_OFF_DUE_TO_AIRPLANE_MODE_FLAG = 2;
 }
diff --git a/telephony/java/com/android/internal/telephony/TelephonyIntents.java b/telephony/java/com/android/internal/telephony/TelephonyIntents.java
index 49a7672..0168874 100644
--- a/telephony/java/com/android/internal/telephony/TelephonyIntents.java
+++ b/telephony/java/com/android/internal/telephony/TelephonyIntents.java
@@ -432,7 +432,10 @@
      * The intent will have the following extra values:</p>
      * <ul>
      *   <li>apnType</li><dd>A string with the apn type.</dd>
-     *   <li>pcoValue</li><dd>A integer read from modem.</dd>
+     *   <li>apnProto</li><dd>A string with the protocol of the apn connection (IP,IPV6,
+     *                        IPV4V6)</dd>
+     *   <li>pcoId</li><dd>An integer indicating the pco id for the data.</dd>
+     *   <li>pcoValue</li><dd>A byte array of pco data read from modem.</dd>
      *   <li>subId</dt><li>Sub Id which associated the data connection.</dd>
      * </ul>
      * <p class="note">This is a protected intent that can only be sent by the system. </p>
@@ -444,7 +447,9 @@
     public static final String EXTRA_REDIRECTION_URL_KEY = "redirectionUrl";
     public static final String EXTRA_ERROR_CODE_KEY = "errorCode";
     public static final String EXTRA_APN_TYPE_KEY = "apnType";
-    public static final String EXTRA_PCO_KEY = "pco";
+    public static final String EXTRA_APN_PROTO_KEY = "apnProto";
+    public static final String EXTRA_PCO_ID_KEY = "pcoId";
+    public static final String EXTRA_PCO_VALUE_KEY = "pcoValue";
 
 
    /**
diff --git a/test-runner/src/android/test/mock/MockContext.java b/test-runner/src/android/test/mock/MockContext.java
index b14fc41..9471326 100644
--- a/test-runner/src/android/test/mock/MockContext.java
+++ b/test-runner/src/android/test/mock/MockContext.java
@@ -702,6 +702,12 @@
         throw new UnsupportedOperationException();
     }
 
+    /** @hide */
+    @Override
+    public Display getDisplay() {
+        throw new UnsupportedOperationException();
+    }
+
     @Override
     public File[] getExternalFilesDirs(String type) {
         throw new UnsupportedOperationException();
diff --git a/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java b/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java
index 0286506..063dd86 100644
--- a/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java
+++ b/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java
@@ -93,7 +93,7 @@
 
         try {
             mWm.addAppToken(0, null, 0, 0, 0, false, false, 0, 0, false, false, null,
-                    Configuration.EMPTY, 0, false, false);
+                    Configuration.EMPTY, 0, false, false, 0, -1);
             fail("IWindowManager.addAppToken did not throw SecurityException as"
                     + " expected");
         } catch (SecurityException e) {
diff --git a/tests/utils/testutils/Android.mk b/tests/utils/testutils/Android.mk
new file mode 100644
index 0000000..d53167f
--- /dev/null
+++ b/tests/utils/testutils/Android.mk
@@ -0,0 +1,30 @@
+#
+# 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.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := frameworks-base-testutils
+LOCAL_MODULE_TAG := tests
+
+LOCAL_SRC_FILES := $(call all-java-files-under,java)
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+    android-support-test \
+    mockito-target
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/tests/utils/testutils/java/android/app/test/MockAnswerUtil.java b/tests/utils/testutils/java/android/app/test/MockAnswerUtil.java
new file mode 100644
index 0000000..746c77d
--- /dev/null
+++ b/tests/utils/testutils/java/android/app/test/MockAnswerUtil.java
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+
+package android.app.test;
+
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.Arrays;
+
+/**
+ * Utilities for creating Answers for mock objects
+ */
+public class MockAnswerUtil {
+
+    /**
+     * Answer that calls the method in the Answer called "answer" that matches the type signature of
+     * the method being answered. An error will be thrown at runtime if the signature does not match
+     * exactly.
+     */
+    public static class AnswerWithArguments implements Answer<Object> {
+        @Override
+        public final Object answer(InvocationOnMock invocation) throws Throwable {
+            Method method = invocation.getMethod();
+            try {
+                Method implementation = getClass().getMethod("answer", method.getParameterTypes());
+                if (!implementation.getReturnType().equals(method.getReturnType())) {
+                    throw new RuntimeException("Found answer method does not have expected return "
+                            + "type. Expected: " + method.getReturnType() + ", got "
+                            + implementation.getReturnType());
+                }
+                Object[] args = invocation.getArguments();
+                try {
+                    return implementation.invoke(this, args);
+                } catch (IllegalAccessException e) {
+                    throw new RuntimeException("Error invoking answer method", e);
+                } catch (InvocationTargetException e) {
+                    throw e.getCause();
+                }
+            } catch (NoSuchMethodException e) {
+                throw new RuntimeException("Could not find answer method with the expected args "
+                        + Arrays.toString(method.getParameterTypes()), e);
+            }
+        }
+    }
+
+}
diff --git a/tests/utils/testutils/java/android/app/test/TestAlarmManager.java b/tests/utils/testutils/java/android/app/test/TestAlarmManager.java
new file mode 100644
index 0000000..e90ea1e
--- /dev/null
+++ b/tests/utils/testutils/java/android/app/test/TestAlarmManager.java
@@ -0,0 +1,188 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.app.test;
+
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.anyInt;
+import static org.mockito.Mockito.anyLong;
+import static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.mock;
+
+import android.app.AlarmManager;
+import android.app.test.MockAnswerUtil.AnswerWithArguments;
+import android.os.Handler;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * Creates an AlarmManager whose alarm dispatch can be controlled
+ * Currently only supports alarm listeners
+ *
+ * Alarm listeners will be dispatched to the handler provided or will
+ * be dispatched immediately if they would have been sent to the main
+ * looper (handler was null).
+ */
+public class TestAlarmManager {
+    private final AlarmManager mAlarmManager;
+    private final List<PendingAlarm> mPendingAlarms;
+
+    public TestAlarmManager() throws Exception {
+        mPendingAlarms = new ArrayList<>();
+
+        mAlarmManager = mock(AlarmManager.class);
+        doAnswer(new SetListenerAnswer()).when(mAlarmManager).set(anyInt(), anyLong(), anyString(),
+                any(AlarmManager.OnAlarmListener.class), any(Handler.class));
+        doAnswer(new SetListenerAnswer()).when(mAlarmManager).setExact(anyInt(), anyLong(),
+                anyString(), any(AlarmManager.OnAlarmListener.class), any(Handler.class));
+        doAnswer(new CancelListenerAnswer())
+                .when(mAlarmManager).cancel(any(AlarmManager.OnAlarmListener.class));
+    }
+
+    public AlarmManager getAlarmManager() {
+        return mAlarmManager;
+    }
+
+    /**
+     * Dispatch a pending alarm with the given tag
+     * @return if any alarm was dispatched
+     */
+    public boolean dispatch(String tag) {
+        for (int i = 0; i < mPendingAlarms.size(); ++i) {
+            PendingAlarm alarm = mPendingAlarms.get(i);
+            if (Objects.equals(tag, alarm.getTag())) {
+                mPendingAlarms.remove(i);
+                alarm.dispatch();
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * @return if an alarm with the given tag is pending
+     */
+    public boolean isPending(String tag) {
+        for (int i = 0; i < mPendingAlarms.size(); ++i) {
+            PendingAlarm alarm = mPendingAlarms.get(i);
+            if (Objects.equals(tag, alarm.getTag())) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * @return trigger time of an pending alarm with the given tag
+     *         -1 if no pending alarm with the given tag
+     */
+    public long getTriggerTimeMillis(String tag) {
+        for (int i = 0; i < mPendingAlarms.size(); ++i) {
+            PendingAlarm alarm = mPendingAlarms.get(i);
+            if (Objects.equals(tag, alarm.getTag())) {
+                return alarm.getTriggerTimeMillis();
+            }
+        }
+        return -1;
+    }
+
+    private static class PendingAlarm {
+        private final int mType;
+        private final long mTriggerAtMillis;
+        private final String mTag;
+        private final Runnable mCallback;
+
+        public PendingAlarm(int type, long triggerAtMillis, String tag, Runnable callback) {
+            mType = type;
+            mTriggerAtMillis = triggerAtMillis;
+            mTag = tag;
+            mCallback = callback;
+        }
+
+        public void dispatch() {
+            if (mCallback != null) {
+                mCallback.run();
+            }
+        }
+
+        public Runnable getCallback() {
+            return mCallback;
+        }
+
+        public String getTag() {
+            return mTag;
+        }
+
+        public long getTriggerTimeMillis() {
+            return mTriggerAtMillis;
+        }
+    }
+
+    private class SetListenerAnswer extends AnswerWithArguments {
+        public void answer(int type, long triggerAtMillis, String tag,
+                AlarmManager.OnAlarmListener listener, Handler handler) {
+            mPendingAlarms.add(new PendingAlarm(type, triggerAtMillis, tag,
+                            new AlarmListenerRunnable(listener, handler)));
+        }
+    }
+
+    private class CancelListenerAnswer extends AnswerWithArguments {
+        public void answer(AlarmManager.OnAlarmListener listener) {
+            Iterator<PendingAlarm> alarmItr = mPendingAlarms.iterator();
+            while (alarmItr.hasNext()) {
+                PendingAlarm alarm = alarmItr.next();
+                if (alarm.getCallback() instanceof AlarmListenerRunnable) {
+                    AlarmListenerRunnable alarmCallback =
+                            (AlarmListenerRunnable) alarm.getCallback();
+                    if (alarmCallback.getListener() == listener) {
+                        alarmItr.remove();
+                    }
+                }
+            }
+        }
+    }
+
+    private static class AlarmListenerRunnable implements Runnable {
+        private final AlarmManager.OnAlarmListener mListener;
+        private final Handler mHandler;
+        public AlarmListenerRunnable(AlarmManager.OnAlarmListener listener, Handler handler) {
+            mListener = listener;
+            mHandler = handler;
+        }
+
+        public AlarmManager.OnAlarmListener getListener() {
+            return mListener;
+        }
+
+        @Override
+        public void run() {
+            if (mHandler != null) {
+                mHandler.post(new Runnable() {
+                        @Override
+                        public void run() {
+                            mListener.onAlarm();
+                        }
+                    });
+            } else { // normally gets dispatched in main looper
+                mListener.onAlarm();
+            }
+        }
+    }
+}
diff --git a/tests/utils/testutils/java/android/os/test/TestLooper.java b/tests/utils/testutils/java/android/os/test/TestLooper.java
new file mode 100644
index 0000000..e8ceb4a
--- /dev/null
+++ b/tests/utils/testutils/java/android/os/test/TestLooper.java
@@ -0,0 +1,283 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.os.test;
+
+import static org.junit.Assert.assertTrue;
+
+import android.os.Looper;
+import android.os.Message;
+import android.os.MessageQueue;
+import android.os.SystemClock;
+import android.util.Log;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+/**
+ * Creates a looper whose message queue can be manipulated
+ * This allows testing code that uses a looper to dispatch messages in a deterministic manner
+ * Creating a TestLooper will also install it as the looper for the current thread
+ */
+public class TestLooper {
+    protected final Looper mLooper;
+
+    private static final Constructor<Looper> LOOPER_CONSTRUCTOR;
+    private static final Field THREAD_LOCAL_LOOPER_FIELD;
+    private static final Field MESSAGE_QUEUE_MESSAGES_FIELD;
+    private static final Field MESSAGE_NEXT_FIELD;
+    private static final Field MESSAGE_WHEN_FIELD;
+    private static final Method MESSAGE_MARK_IN_USE_METHOD;
+    private static final String TAG = "TestLooper";
+
+    private AutoDispatchThread mAutoDispatchThread;
+
+    static {
+        try {
+            LOOPER_CONSTRUCTOR = Looper.class.getDeclaredConstructor(Boolean.TYPE);
+            LOOPER_CONSTRUCTOR.setAccessible(true);
+            THREAD_LOCAL_LOOPER_FIELD = Looper.class.getDeclaredField("sThreadLocal");
+            THREAD_LOCAL_LOOPER_FIELD.setAccessible(true);
+            MESSAGE_QUEUE_MESSAGES_FIELD = MessageQueue.class.getDeclaredField("mMessages");
+            MESSAGE_QUEUE_MESSAGES_FIELD.setAccessible(true);
+            MESSAGE_NEXT_FIELD = Message.class.getDeclaredField("next");
+            MESSAGE_NEXT_FIELD.setAccessible(true);
+            MESSAGE_WHEN_FIELD = Message.class.getDeclaredField("when");
+            MESSAGE_WHEN_FIELD.setAccessible(true);
+            MESSAGE_MARK_IN_USE_METHOD = Message.class.getDeclaredMethod("markInUse");
+            MESSAGE_MARK_IN_USE_METHOD.setAccessible(true);
+        } catch (NoSuchFieldException | NoSuchMethodException e) {
+            throw new RuntimeException("Failed to initialize TestLooper", e);
+        }
+    }
+
+
+    public TestLooper() {
+        try {
+            mLooper = LOOPER_CONSTRUCTOR.newInstance(false);
+
+            ThreadLocal<Looper> threadLocalLooper = (ThreadLocal<Looper>) THREAD_LOCAL_LOOPER_FIELD
+                    .get(null);
+            threadLocalLooper.set(mLooper);
+        } catch (IllegalAccessException | InstantiationException | InvocationTargetException e) {
+            throw new RuntimeException("Reflection error constructing or accessing looper", e);
+        }
+    }
+
+    public Looper getLooper() {
+        return mLooper;
+    }
+
+    private Message getMessageLinkedList() {
+        try {
+            MessageQueue queue = mLooper.getQueue();
+            return (Message) MESSAGE_QUEUE_MESSAGES_FIELD.get(queue);
+        } catch (IllegalAccessException e) {
+            throw new RuntimeException("Access failed in TestLooper: get - MessageQueue.mMessages",
+                    e);
+        }
+    }
+
+    public void moveTimeForward(long milliSeconds) {
+        try {
+            Message msg = getMessageLinkedList();
+            while (msg != null) {
+                long updatedWhen = msg.getWhen() - milliSeconds;
+                if (updatedWhen < 0) {
+                    updatedWhen = 0;
+                }
+                MESSAGE_WHEN_FIELD.set(msg, updatedWhen);
+                msg = (Message) MESSAGE_NEXT_FIELD.get(msg);
+            }
+        } catch (IllegalAccessException e) {
+            throw new RuntimeException("Access failed in TestLooper: set - Message.when", e);
+        }
+    }
+
+    private Message messageQueueNext() {
+        try {
+            long now = SystemClock.uptimeMillis();
+
+            Message prevMsg = null;
+            Message msg = getMessageLinkedList();
+            if (msg != null && msg.getTarget() == null) {
+                // Stalled by a barrier. Find the next asynchronous message in
+                // the queue.
+                do {
+                    prevMsg = msg;
+                    msg = (Message) MESSAGE_NEXT_FIELD.get(msg);
+                } while (msg != null && !msg.isAsynchronous());
+            }
+            if (msg != null) {
+                if (now >= msg.getWhen()) {
+                    // Got a message.
+                    if (prevMsg != null) {
+                        MESSAGE_NEXT_FIELD.set(prevMsg, MESSAGE_NEXT_FIELD.get(msg));
+                    } else {
+                        MESSAGE_QUEUE_MESSAGES_FIELD.set(mLooper.getQueue(),
+                                MESSAGE_NEXT_FIELD.get(msg));
+                    }
+                    MESSAGE_NEXT_FIELD.set(msg, null);
+                    MESSAGE_MARK_IN_USE_METHOD.invoke(msg);
+                    return msg;
+                }
+            }
+        } catch (IllegalAccessException | InvocationTargetException e) {
+            throw new RuntimeException("Access failed in TestLooper", e);
+        }
+
+        return null;
+    }
+
+    /**
+     * @return true if there are pending messages in the message queue
+     */
+    public synchronized boolean isIdle() {
+        Message messageList = getMessageLinkedList();
+
+        return messageList != null && SystemClock.uptimeMillis() >= messageList.getWhen();
+    }
+
+    /**
+     * @return the next message in the Looper's message queue or null if there is none
+     */
+    public synchronized Message nextMessage() {
+        if (isIdle()) {
+            return messageQueueNext();
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * Dispatch the next message in the queue
+     * Asserts that there is a message in the queue
+     */
+    public synchronized void dispatchNext() {
+        assertTrue(isIdle());
+        Message msg = messageQueueNext();
+        if (msg == null) {
+            return;
+        }
+        msg.getTarget().dispatchMessage(msg);
+    }
+
+    /**
+     * Dispatch all messages currently in the queue
+     * Will not fail if there are no messages pending
+     * @return the number of messages dispatched
+     */
+    public synchronized int dispatchAll() {
+        int count = 0;
+        while (isIdle()) {
+            dispatchNext();
+            ++count;
+        }
+        return count;
+    }
+
+    /**
+     * Thread used to dispatch messages when the main thread is blocked waiting for a response.
+     */
+    private class AutoDispatchThread extends Thread {
+        private static final int MAX_LOOPS = 100;
+        private static final int LOOP_SLEEP_TIME_MS = 10;
+
+        private RuntimeException mAutoDispatchException = null;
+
+        /**
+         * Run method for the auto dispatch thread.
+         * The thread loops a maximum of MAX_LOOPS times with a 10ms sleep between loops.
+         * The thread continues looping and attempting to dispatch all messages until at
+         * least one message has been dispatched.
+         */
+        @Override
+        public void run() {
+            int dispatchCount = 0;
+            for (int i = 0; i < MAX_LOOPS; i++) {
+                try {
+                    dispatchCount = dispatchAll();
+                } catch (RuntimeException e) {
+                    mAutoDispatchException = e;
+                }
+                Log.d(TAG, "dispatched " + dispatchCount + " messages");
+                if (dispatchCount > 0) {
+                    return;
+                }
+                try {
+                    Thread.sleep(LOOP_SLEEP_TIME_MS);
+                } catch (InterruptedException e) {
+                    mAutoDispatchException = new IllegalStateException(
+                            "stopAutoDispatch called before any messages were dispatched.");
+                    return;
+                }
+            }
+            Log.e(TAG, "AutoDispatchThread did not dispatch any messages.");
+            mAutoDispatchException = new IllegalStateException(
+                    "TestLooper did not dispatch any messages before exiting.");
+        }
+
+        /**
+         * Method allowing the TestLooper to pass any exceptions thrown by the thread to be passed
+         * to the main thread.
+         *
+         * @return RuntimeException Exception created by stopping without dispatching a message
+         */
+        public RuntimeException getException() {
+            return mAutoDispatchException;
+        }
+    }
+
+    /**
+     * Create and start a new AutoDispatchThread if one is not already running.
+     */
+    public void startAutoDispatch() {
+        if (mAutoDispatchThread != null) {
+            throw new IllegalStateException(
+                    "startAutoDispatch called with the AutoDispatchThread already running.");
+        }
+        mAutoDispatchThread = new AutoDispatchThread();
+        mAutoDispatchThread.start();
+    }
+
+    /**
+     * If an AutoDispatchThread is currently running, stop and clean up.
+     */
+    public void stopAutoDispatch() {
+        if (mAutoDispatchThread != null) {
+            if (mAutoDispatchThread.isAlive()) {
+                mAutoDispatchThread.interrupt();
+            }
+            try {
+                mAutoDispatchThread.join();
+            } catch (InterruptedException e) {
+                // Catch exception from join.
+            }
+
+            RuntimeException e = mAutoDispatchThread.getException();
+            mAutoDispatchThread = null;
+            if (e != null) {
+                throw e;
+            }
+        } else {
+            // stopAutoDispatch was called when startAutoDispatch has not created a new thread.
+            throw new IllegalStateException(
+                    "stopAutoDispatch called without startAutoDispatch.");
+        }
+    }
+}
diff --git a/tests/utils/testutils/java/android/os/test/TestLooperTest.java b/tests/utils/testutils/java/android/os/test/TestLooperTest.java
new file mode 100644
index 0000000..40d83b5
--- /dev/null
+++ b/tests/utils/testutils/java/android/os/test/TestLooperTest.java
@@ -0,0 +1,371 @@
+/*
+ * 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.
+ */
+
+package android.os.test;
+
+import static org.hamcrest.core.IsEqual.equalTo;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.inOrder;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ErrorCollector;
+import org.mockito.ArgumentCaptor;
+import org.mockito.InOrder;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Test TestLooperAbstractTime which provides control over "time". Note that
+ * real-time is being used as well. Therefore small time increments are NOT
+ * reliable. All tests are in "K" units (i.e. *1000).
+ */
+
+@SmallTest
+public class TestLooperTest {
+    private TestLooper mTestLooper;
+    private Handler mHandler;
+    private Handler mHandlerSpy;
+
+    @Rule
+    public ErrorCollector collector = new ErrorCollector();
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+
+        mTestLooper = new TestLooper();
+        mHandler = new Handler(mTestLooper.getLooper());
+        mHandlerSpy = spy(mHandler);
+    }
+
+    /**
+     * Basic test with no time stamps: dispatch 4 messages, check that all 4
+     * delivered (in correct order).
+     */
+    @Test
+    public void testNoTimeMovement() {
+        final int messageA = 1;
+        final int messageB = 2;
+        final int messageC = 3;
+
+        InOrder inOrder = inOrder(mHandlerSpy);
+        ArgumentCaptor<Message> messageCaptor = ArgumentCaptor.forClass(Message.class);
+
+        mHandlerSpy.sendMessage(mHandler.obtainMessage(messageA));
+        mHandlerSpy.sendMessage(mHandler.obtainMessage(messageA));
+        mHandlerSpy.sendMessage(mHandler.obtainMessage(messageB));
+        mHandlerSpy.sendMessage(mHandler.obtainMessage(messageC));
+        mTestLooper.dispatchAll();
+
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("1: messageA", messageA, equalTo(messageCaptor.getValue().what));
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("2: messageA", messageA, equalTo(messageCaptor.getValue().what));
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("3: messageB", messageB, equalTo(messageCaptor.getValue().what));
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("4: messageC", messageC, equalTo(messageCaptor.getValue().what));
+
+        inOrder.verify(mHandlerSpy, never()).handleMessage(any(Message.class));
+    }
+
+    /**
+     * Test message sequence: A, B, C@5K, A@10K. Don't move time.
+     * <p>
+     * Expected: only get A, B
+     */
+    @Test
+    public void testDelayedDispatchNoTimeMove() {
+        final int messageA = 1;
+        final int messageB = 2;
+        final int messageC = 3;
+
+        InOrder inOrder = inOrder(mHandlerSpy);
+        ArgumentCaptor<Message> messageCaptor = ArgumentCaptor.forClass(Message.class);
+
+        mHandlerSpy.sendMessage(mHandler.obtainMessage(messageA));
+        mHandlerSpy.sendMessage(mHandler.obtainMessage(messageB));
+        mHandlerSpy.sendMessageDelayed(mHandler.obtainMessage(messageC), 5000);
+        mHandlerSpy.sendMessageDelayed(mHandler.obtainMessage(messageA), 10000);
+        mTestLooper.dispatchAll();
+
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("1: messageA", messageA, equalTo(messageCaptor.getValue().what));
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("2: messageB", messageB, equalTo(messageCaptor.getValue().what));
+
+        inOrder.verify(mHandlerSpy, never()).handleMessage(any(Message.class));
+    }
+
+    /**
+     * Test message sequence: A, B, C@5K, A@10K, Advance time by 5K.
+     * <p>
+     * Expected: only get A, B, C
+     */
+    @Test
+    public void testDelayedDispatchAdvanceTimeOnce() {
+        final int messageA = 1;
+        final int messageB = 2;
+        final int messageC = 3;
+
+        InOrder inOrder = inOrder(mHandlerSpy);
+        ArgumentCaptor<Message> messageCaptor = ArgumentCaptor.forClass(Message.class);
+
+        mHandlerSpy.sendMessage(mHandler.obtainMessage(messageA));
+        mHandlerSpy.sendMessage(mHandler.obtainMessage(messageB));
+        mHandlerSpy.sendMessageDelayed(mHandler.obtainMessage(messageC), 5000);
+        mHandlerSpy.sendMessageDelayed(mHandler.obtainMessage(messageA), 10000);
+        mTestLooper.moveTimeForward(5000);
+        mTestLooper.dispatchAll();
+
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("1: messageA", messageA, equalTo(messageCaptor.getValue().what));
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("2: messageB", messageB, equalTo(messageCaptor.getValue().what));
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("3: messageC", messageC, equalTo(messageCaptor.getValue().what));
+
+        inOrder.verify(mHandlerSpy, never()).handleMessage(any(Message.class));
+    }
+
+    /**
+     * Test message sequence: A, B, C@5K, Advance time by 4K, A@1K, B@2K Advance
+     * time by 1K.
+     * <p>
+     * Expected: get A, B, C, A
+     */
+    @Test
+    public void testDelayedDispatchAdvanceTimeTwice() {
+        final int messageA = 1;
+        final int messageB = 2;
+        final int messageC = 3;
+
+        InOrder inOrder = inOrder(mHandlerSpy);
+        ArgumentCaptor<Message> messageCaptor = ArgumentCaptor.forClass(Message.class);
+
+        mHandlerSpy.sendMessage(mHandler.obtainMessage(messageA));
+        mHandlerSpy.sendMessage(mHandler.obtainMessage(messageB));
+        mHandlerSpy.sendMessageDelayed(mHandler.obtainMessage(messageC), 5000);
+        mTestLooper.moveTimeForward(4000);
+        mHandlerSpy.sendMessageDelayed(mHandler.obtainMessage(messageA), 1000);
+        mHandlerSpy.sendMessageDelayed(mHandler.obtainMessage(messageB), 2000);
+        mTestLooper.moveTimeForward(1000);
+        mTestLooper.dispatchAll();
+
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("1: messageA", messageA, equalTo(messageCaptor.getValue().what));
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("2: messageB", messageB, equalTo(messageCaptor.getValue().what));
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("3: messageC", messageC, equalTo(messageCaptor.getValue().what));
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("4: messageA", messageA, equalTo(messageCaptor.getValue().what));
+
+        inOrder.verify(mHandlerSpy, never()).handleMessage(any(Message.class));
+    }
+
+    /**
+     * Test message sequence: A, B, C@5K, Advance time by 4K, A@5K, B@2K Advance
+     * time by 3K.
+     * <p>
+     * Expected: get A, B, C, B
+     */
+    @Test
+    public void testDelayedDispatchReverseOrder() {
+        final int messageA = 1;
+        final int messageB = 2;
+        final int messageC = 3;
+
+        InOrder inOrder = inOrder(mHandlerSpy);
+        ArgumentCaptor<Message> messageCaptor = ArgumentCaptor.forClass(Message.class);
+
+        mHandlerSpy.sendMessage(mHandler.obtainMessage(messageA));
+        mHandlerSpy.sendMessage(mHandler.obtainMessage(messageB));
+        mHandlerSpy.sendMessageDelayed(mHandler.obtainMessage(messageC), 5000);
+        mTestLooper.moveTimeForward(4000);
+        mHandlerSpy.sendMessageDelayed(mHandler.obtainMessage(messageA), 5000);
+        mHandlerSpy.sendMessageDelayed(mHandler.obtainMessage(messageB), 2000);
+        mTestLooper.moveTimeForward(3000);
+        mTestLooper.dispatchAll();
+
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("1: messageA", messageA, equalTo(messageCaptor.getValue().what));
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("2: messageB", messageB, equalTo(messageCaptor.getValue().what));
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("3: messageC", messageC, equalTo(messageCaptor.getValue().what));
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("4: messageB", messageB, equalTo(messageCaptor.getValue().what));
+
+        inOrder.verify(mHandlerSpy, never()).handleMessage(any(Message.class));
+    }
+
+    /**
+     * Test message sequence: A, B, C@5K, Advance time by 4K, dispatch all,
+     * A@5K, B@2K Advance time by 3K, dispatch all.
+     * <p>
+     * Expected: get A, B after first dispatch; then C, B after second dispatch
+     */
+    @Test
+    public void testDelayedDispatchAllMultipleTimes() {
+        final int messageA = 1;
+        final int messageB = 2;
+        final int messageC = 3;
+
+        InOrder inOrder = inOrder(mHandlerSpy);
+        ArgumentCaptor<Message> messageCaptor = ArgumentCaptor.forClass(Message.class);
+
+        mHandlerSpy.sendMessage(mHandler.obtainMessage(messageA));
+        mHandlerSpy.sendMessage(mHandler.obtainMessage(messageB));
+        mHandlerSpy.sendMessageDelayed(mHandler.obtainMessage(messageC), 5000);
+        mTestLooper.moveTimeForward(4000);
+        mTestLooper.dispatchAll();
+
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("1: messageA", messageA, equalTo(messageCaptor.getValue().what));
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("2: messageB", messageB, equalTo(messageCaptor.getValue().what));
+
+        mHandlerSpy.sendMessageDelayed(mHandler.obtainMessage(messageA), 5000);
+        mHandlerSpy.sendMessageDelayed(mHandler.obtainMessage(messageB), 2000);
+        mTestLooper.moveTimeForward(3000);
+        mTestLooper.dispatchAll();
+
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("3: messageC", messageC, equalTo(messageCaptor.getValue().what));
+        inOrder.verify(mHandlerSpy).handleMessage(messageCaptor.capture());
+        collector.checkThat("4: messageB", messageB, equalTo(messageCaptor.getValue().what));
+
+        inOrder.verify(mHandlerSpy, never()).handleMessage(any(Message.class));
+    }
+
+    /**
+     * Test AutoDispatch for a single message.
+     * This test would ideally use the Channel sendMessageSynchronously.  At this time, the setup to
+     * get a working test channel is cumbersome.  Until this is fixed, we substitute with a
+     * sendMessage followed by a blocking call.  The main test thread blocks until the test handler
+     * receives the test message (messageA) and sets a boolean true.  Once the boolean is true, the
+     * main thread will exit the busy wait loop, stop autoDispatch and check the assert.
+     *
+     * Enable AutoDispatch, add message, block on message being handled and stop AutoDispatch.
+     * <p>
+     * Expected: handleMessage is called for messageA and stopAutoDispatch is called.
+     */
+    @Test
+    public void testAutoDispatchWithSingleMessage() {
+        final int mLoopSleepTimeMs = 5;
+
+        final int messageA = 1;
+
+        TestLooper mockLooper = new TestLooper();
+        class TestHandler extends Handler {
+            public volatile boolean handledMessage = false;
+            TestHandler(Looper looper) {
+                super(looper);
+            }
+
+            @Override
+            public void handleMessage(Message msg) {
+                if (msg.what == messageA) {
+                    handledMessage = true;
+                }
+            }
+        }
+
+        TestHandler testHandler = new TestHandler(mockLooper.getLooper());
+        mockLooper.startAutoDispatch();
+        testHandler.sendMessage(testHandler.obtainMessage(messageA));
+        while (!testHandler.handledMessage) {
+            // Block until message is handled
+            try {
+                Thread.sleep(mLoopSleepTimeMs);
+            } catch (InterruptedException e) {
+                // Interrupted while sleeping.
+            }
+        }
+        mockLooper.stopAutoDispatch();
+        assertTrue("TestHandler should have received messageA", testHandler.handledMessage);
+    }
+
+    /**
+     * Test starting AutoDispatch while already running throws IllegalStateException
+     * Enable AutoDispatch two times in a row.
+     * <p>
+     * Expected: catch IllegalStateException on second call.
+     */
+    @Test(expected = IllegalStateException.class)
+    public void testRepeatedStartAutoDispatchThrowsException() {
+        mTestLooper.startAutoDispatch();
+        mTestLooper.startAutoDispatch();
+    }
+
+    /**
+     * Test stopping AutoDispatch without previously starting throws IllegalStateException
+     * Stop AutoDispatch
+     * <p>
+     * Expected: catch IllegalStateException on second call.
+     */
+    @Test(expected = IllegalStateException.class)
+    public void testStopAutoDispatchWithoutStartThrowsException() {
+        mTestLooper.stopAutoDispatch();
+    }
+
+    /**
+     * Test AutoDispatch exits and does not dispatch a later message.
+     * Start and stop AutoDispatch then add a message.
+     * <p>
+     * Expected: After AutoDispatch is stopped, dispatchAll will return 1.
+     */
+    @Test
+    public void testAutoDispatchStopsCleanlyWithoutDispatchingAMessage() {
+        final int messageA = 1;
+
+        InOrder inOrder = inOrder(mHandlerSpy);
+        ArgumentCaptor<Message> messageCaptor = ArgumentCaptor.forClass(Message.class);
+
+        mTestLooper.startAutoDispatch();
+        try {
+            mTestLooper.stopAutoDispatch();
+        } catch (IllegalStateException e) {
+            //  Stopping without a dispatch will throw an exception.
+        }
+
+        mHandlerSpy.sendMessage(mHandler.obtainMessage(messageA));
+        assertEquals("One message should be dispatched", 1, mTestLooper.dispatchAll());
+    }
+
+    /**
+     * Test AutoDispatch throws an exception when no messages are dispatched.
+     * Start and stop AutoDispatch
+     * <p>
+     * Expected: Exception is thrown with the stopAutoDispatch call.
+     */
+    @Test(expected = IllegalStateException.class)
+    public void testAutoDispatchThrowsExceptionWhenNoMessagesDispatched() {
+        mTestLooper.startAutoDispatch();
+        mTestLooper.stopAutoDispatch();
+    }
+}
diff --git a/tests/utils/testutils/java/com/android/internal/util/test/BidirectionalAsyncChannel.java b/tests/utils/testutils/java/com/android/internal/util/test/BidirectionalAsyncChannel.java
new file mode 100644
index 0000000..25cd5b9
--- /dev/null
+++ b/tests/utils/testutils/java/com/android/internal/util/test/BidirectionalAsyncChannel.java
@@ -0,0 +1,96 @@
+/*
+ * 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
+ */
+
+package com.android.internal.util.test;
+
+import static org.junit.Assert.assertEquals;
+
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+import android.os.Messenger;
+import android.util.Log;
+
+import com.android.internal.util.AsyncChannel;
+
+
+/**
+ * Provides an AsyncChannel interface that implements the connection initiating half of a
+ * bidirectional channel as described in {@link com.android.internal.util.AsyncChannel}.
+ */
+public class BidirectionalAsyncChannel {
+    private static final String TAG = "BidirectionalAsyncChannel";
+
+    private AsyncChannel mChannel;
+    public enum ChannelState { DISCONNECTED, HALF_CONNECTED, CONNECTED, FAILURE };
+    private ChannelState mState = ChannelState.DISCONNECTED;
+
+    public void assertConnected() {
+        assertEquals("AsyncChannel was not fully connected", ChannelState.CONNECTED, mState);
+    }
+
+    public void connect(final Looper looper, final Messenger messenger,
+            final Handler incomingMessageHandler) {
+        assertEquals("AsyncChannel must be disconnected to connect",
+                ChannelState.DISCONNECTED, mState);
+        mChannel = new AsyncChannel();
+        Handler rawMessageHandler = new Handler(looper) {
+                @Override
+                public void handleMessage(Message msg) {
+                    switch (msg.what) {
+                    case AsyncChannel.CMD_CHANNEL_HALF_CONNECTED:
+                        if (msg.arg1 == AsyncChannel.STATUS_SUCCESSFUL) {
+                            Log.d(TAG, "Successfully half connected " + this);
+                            mChannel.sendMessage(AsyncChannel.CMD_CHANNEL_FULL_CONNECTION);
+                            mState = ChannelState.HALF_CONNECTED;
+                        } else {
+                            Log.d(TAG, "Failed to connect channel " + this);
+                            mState = ChannelState.FAILURE;
+                            mChannel = null;
+                        }
+                        break;
+                    case AsyncChannel.CMD_CHANNEL_FULLY_CONNECTED:
+                        mState = ChannelState.CONNECTED;
+                        Log.d(TAG, "Channel fully connected" + this);
+                        break;
+                    case AsyncChannel.CMD_CHANNEL_DISCONNECTED:
+                        mState = ChannelState.DISCONNECTED;
+                        mChannel = null;
+                        Log.d(TAG, "Channel disconnected" + this);
+                        break;
+                    default:
+                        incomingMessageHandler.handleMessage(msg);
+                        break;
+                    }
+                }
+            };
+        mChannel.connect(null, rawMessageHandler, messenger);
+    }
+
+    public void disconnect() {
+        assertEquals("AsyncChannel must be connected to disconnect",
+                ChannelState.CONNECTED, mState);
+        mChannel.sendMessage(AsyncChannel.CMD_CHANNEL_DISCONNECT);
+        mState = ChannelState.DISCONNECTED;
+        mChannel = null;
+    }
+
+    public void sendMessage(Message msg) {
+        assertEquals("AsyncChannel must be connected to send messages",
+                ChannelState.CONNECTED, mState);
+        mChannel.sendMessage(msg);
+    }
+}
diff --git a/tests/utils/testutils/java/com/android/internal/util/test/BidirectionalAsyncChannelServer.java b/tests/utils/testutils/java/com/android/internal/util/test/BidirectionalAsyncChannelServer.java
new file mode 100644
index 0000000..49c8332
--- /dev/null
+++ b/tests/utils/testutils/java/com/android/internal/util/test/BidirectionalAsyncChannelServer.java
@@ -0,0 +1,86 @@
+/*
+ * 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.
+ */
+
+package com.android.internal.util.test;
+
+import android.content.Context;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+import android.os.Messenger;
+import android.util.Log;
+
+import com.android.internal.util.AsyncChannel;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Provides an interface for the server side implementation of a bidirectional channel as described
+ * in {@link com.android.internal.util.AsyncChannel}.
+ */
+public class BidirectionalAsyncChannelServer {
+
+    private static final String TAG = "BidirectionalAsyncChannelServer";
+
+    // Keeps track of incoming clients, which are identifiable by their messengers.
+    private final Map<Messenger, AsyncChannel> mClients = new HashMap<>();
+
+    private Messenger mMessenger;
+
+    public BidirectionalAsyncChannelServer(final Context context, final Looper looper,
+            final Handler messageHandler) {
+        Handler handler = new Handler(looper) {
+            @Override
+            public void handleMessage(Message msg) {
+                AsyncChannel channel = mClients.get(msg.replyTo);
+                switch (msg.what) {
+                    case AsyncChannel.CMD_CHANNEL_FULL_CONNECTION:
+                        if (channel != null) {
+                            Log.d(TAG, "duplicate client connection: " + msg.sendingUid);
+                            channel.replyToMessage(msg,
+                                    AsyncChannel.CMD_CHANNEL_FULLY_CONNECTED,
+                                    AsyncChannel.STATUS_FULL_CONNECTION_REFUSED_ALREADY_CONNECTED);
+                        } else {
+                            channel = new AsyncChannel();
+                            mClients.put(msg.replyTo, channel);
+                            channel.connected(context, this, msg.replyTo);
+                            channel.replyToMessage(msg, AsyncChannel.CMD_CHANNEL_FULLY_CONNECTED,
+                                    AsyncChannel.STATUS_SUCCESSFUL);
+                        }
+                        break;
+                    case AsyncChannel.CMD_CHANNEL_DISCONNECT:
+                        channel.disconnect();
+                        break;
+
+                    case AsyncChannel.CMD_CHANNEL_DISCONNECTED:
+                        mClients.remove(msg.replyTo);
+                        break;
+
+                    default:
+                        messageHandler.handleMessage(msg);
+                        break;
+                }
+            }
+        };
+        mMessenger = new Messenger(handler);
+    }
+
+    public Messenger getMessenger() {
+        return mMessenger;
+    }
+
+}
diff --git a/tools/aapt/ResourceFilter.cpp b/tools/aapt/ResourceFilter.cpp
index 8693999..ed06f60 100644
--- a/tools/aapt/ResourceFilter.cpp
+++ b/tools/aapt/ResourceFilter.cpp
@@ -54,6 +54,46 @@
     return NO_ERROR;
 }
 
+// Returns true if the locale script of the config should be considered matching
+// the locale script of entry.
+//
+// If both the scripts are empty, the scripts are considered matching for
+// backward compatibility reasons.
+//
+// If only one script is empty, we try to compute it based on the provided
+// language and country. If we could not compute it, we assume it's either a
+// new language we don't know about, or a private use language. We return true
+// since we don't know any better and they might as well be a match.
+//
+// Finally, when we have two scripts (one of which could be computed), we return
+// true if and only if they are an exact match.
+inline bool
+scriptsMatch(const ResTable_config& config, const ResTable_config& entry) {
+    const char* configScript = config.localeScript;
+    const char* entryScript = entry.localeScript;
+    if (configScript[0] == '\0' && entryScript[0] == '\0') {
+        return true;  // both scripts are empty. We match for backward compatibility reasons.
+    }
+
+    char scriptBuffer[sizeof(config.localeScript)];
+    if (configScript[0] == '\0') {
+        localeDataComputeScript(scriptBuffer, config.language, config.country);
+        if (scriptBuffer[0] == '\0') {  // We can't compute the script, so we match.
+            return true;
+        }
+        configScript = scriptBuffer;
+    } else if (entryScript[0] == '\0') {
+        localeDataComputeScript(
+                scriptBuffer, entry.language, entry.country);
+        if (scriptBuffer[0] == '\0') {  // We can't compute the script, so we match.
+            return true;
+        }
+        entryScript = scriptBuffer;
+    }
+    return (memcmp(configScript, entryScript, sizeof(config.localeScript)) == 0);
+}
+
+
 bool
 WeakResourceFilter::match(const ResTable_config& config) const
 {
@@ -75,11 +115,19 @@
             // If the locales differ, but the languages are the same and
             // the locale we are matching only has a language specified,
             // we match.
-            if (config.language[0] &&
-                    memcmp(config.language, entry.first.language, sizeof(config.language)) == 0) {
-                if (config.country[0] == 0) {
-                    matchedAxis |= ResTable_config::CONFIG_LOCALE;
-                }
+            //
+            // Exception: we won't match if a script is specified for at least
+            // one of the locales and it's different from the other locale's
+            // script. (We will compute the other script if at least one of the
+            // scripts were explicitly set. In cases we can't compute an script,
+            // we match.)
+            if (config.language[0] != '\0' &&
+                    config.country[0] == '\0' &&
+                    config.localeVariant[0] == '\0' &&
+                    config.language[0] == entry.first.language[0] &&
+                    config.language[1] == entry.first.language[1] &&
+                    scriptsMatch(config, entry.first)) {
+                matchedAxis |= ResTable_config::CONFIG_LOCALE;
             }
         } else if ((diff & entry.second) == ResTable_config::CONFIG_SMALLEST_SCREEN_SIZE) {
             // Special case if the smallest screen width doesn't match. We check that the
diff --git a/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java b/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java
index ceebdd5..4e4da8b 100644
--- a/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java
+++ b/tools/layoutlib/bridge/src/android/view/IWindowManagerImpl.java
@@ -78,7 +78,8 @@
     @Override
     public void addAppToken(int arg0, IApplicationToken arg1, int arg2, int arg3, int arg4,
             boolean arg5, boolean arg6, int arg7, int arg8, boolean arg9, boolean arg10,
-            Rect arg11, Configuration arg12, int arg13, boolean arg14, boolean arg15)
+            Rect arg11, Configuration arg12, int arg13, boolean arg14, boolean arg15, int arg16,
+            int arg17)
             throws RemoteException {
         // TODO Auto-generated method stub
     }
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java
index f87269b..616cb57 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java
@@ -1799,6 +1799,12 @@
     }
 
     @Override
+    public Display getDisplay() {
+        // pass
+        return null;
+    }
+
+    @Override
     public int getUserId() {
         return 0; // not used
     }
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeIInputMethodManager.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeIInputMethodManager.java
index 3f276c9..ab73a8b 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeIInputMethodManager.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeIInputMethodManager.java
@@ -16,11 +16,13 @@
 
 package com.android.layoutlib.bridge.android;
 
+import com.android.internal.inputmethod.IInputContentUriToken;
 import com.android.internal.view.IInputContext;
 import com.android.internal.view.IInputMethodClient;
 import com.android.internal.view.IInputMethodManager;
 import com.android.internal.view.InputBindResult;
 
+import android.net.Uri;
 import android.os.IBinder;
 import android.os.RemoteException;
 import android.os.ResultReceiver;
@@ -239,4 +241,11 @@
         // TODO Auto-generated method stub
         return null;
     }
+
+    @Override
+    public IInputContentUriToken createInputContentUriToken(IBinder token, Uri contentUri,
+            String packageName) {
+        // TODO Auto-generated method stub
+        return null;
+    }
 }
diff --git a/wifi/java/android/net/wifi/RttManager.java b/wifi/java/android/net/wifi/RttManager.java
index a404a90..590ff1b 100644
--- a/wifi/java/android/net/wifi/RttManager.java
+++ b/wifi/java/android/net/wifi/RttManager.java
@@ -691,7 +691,7 @@
 
         /**
          * spread (i.e. max - min) distance
-         * @deprecate Use {@link android.net.wifi.RttManager.RttResult#distanceSpread} API.
+         * @deprecated Use {@link android.net.wifi.RttManager.RttResult#distanceSpread} API.
          */
         @Deprecated
         public int distance_spread_cm;
diff --git a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
index b614a86..08ad35e 100644
--- a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
+++ b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
@@ -375,7 +375,15 @@
             return false;
         }
 
+        // wpa_supplicant can update the anonymous identity for these kinds of networks after
+        // framework reads them, so make sure the framework doesn't try to overwrite them.
+        boolean shouldNotWriteAnonIdentity = mEapMethod == WifiEnterpriseConfig.Eap.SIM
+                || mEapMethod == WifiEnterpriseConfig.Eap.AKA
+                || mEapMethod == WifiEnterpriseConfig.Eap.AKA_PRIME;
         for (String key : mFields.keySet()) {
+            if (shouldNotWriteAnonIdentity && ANON_IDENTITY_KEY.equals(key)) {
+                continue;
+            }
             if (!saver.saveValue(key, mFields.get(key))) {
                 return false;
             }
diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java
index 1cd32b6..bbc3d2f 100644
--- a/wifi/java/android/net/wifi/WifiManager.java
+++ b/wifi/java/android/net/wifi/WifiManager.java
@@ -561,6 +561,12 @@
     public static final String ACTION_PICK_WIFI_NETWORK = "android.net.wifi.PICK_WIFI_NETWORK";
 
     /**
+     * Internally used Wi-Fi lock mode representing the case were no locks are held.
+     * @hide
+     */
+    public static final int WIFI_MODE_NO_LOCKS_HELD = 0;
+
+    /**
      * In this Wi-Fi lock mode, Wi-Fi will be kept active,
      * and will behave normally, i.e., it will attempt to automatically
      * establish a connection to a remembered access point that is
diff --git a/wifi/java/android/net/wifi/WifiScanner.java b/wifi/java/android/net/wifi/WifiScanner.java
index 2ee1aef..716f1d3 100644
--- a/wifi/java/android/net/wifi/WifiScanner.java
+++ b/wifi/java/android/net/wifi/WifiScanner.java
@@ -141,7 +141,7 @@
     /**
      * reports {@link ScanListener#onResults} when underlying buffers are full
      * this is simply the lack of the {@link #REPORT_EVENT_AFTER_EACH_SCAN} flag
-     * @deprecated
+     * @deprecated It is not supported anymore.
      */
     @Deprecated
     public static final int REPORT_EVENT_AFTER_BUFFER_FULL = 0;
@@ -656,6 +656,40 @@
         void onPnoNetworkFound(ScanResult[] results);
     }
 
+    /**
+     * Register a listener that will receive results from all single scans
+     * Either the onSuccess/onFailure will be called once when the listener is registered. After
+     * (assuming onSuccess was called) all subsequent single scan results will be delivered to the
+     * listener. It is possible that onFullResult will not be called for all results of the first
+     * scan if the listener was registered during the scan.
+     *
+     * @param listener specifies the object to report events to. This object is also treated as a
+     *                 key for this request, and must also be specified to cancel the request.
+     *                 Multiple requests should also not share this object.
+     * {@hide}
+     */
+    public void registerScanListener(ScanListener listener) {
+        Preconditions.checkNotNull(listener, "listener cannot be null");
+        int key = addListener(listener);
+        if (key == INVALID_KEY) return;
+        validateChannel();
+        mAsyncChannel.sendMessage(CMD_REGISTER_SCAN_LISTENER, 0, key);
+    }
+
+    /**
+     * Deregister a listener for ongoing single scans
+     * @param listener specifies which scan to cancel; must be same object as passed in {@link
+     *  #registerScanListener}
+     * {@hide}
+     */
+    public void deregisterScanListener(ScanListener listener) {
+        Preconditions.checkNotNull(listener, "listener cannot be null");
+        int key = removeListener(listener);
+        if (key == INVALID_KEY) return;
+        validateChannel();
+        mAsyncChannel.sendMessage(CMD_DEREGISTER_SCAN_LISTENER, 0, key);
+    }
+
     /** start wifi scan in background
      * @param settings specifies various parameters for the scan; for more information look at
      * {@link ScanSettings}
@@ -1129,6 +1163,10 @@
     public static final int CMD_STOP_PNO_SCAN               = BASE + 25;
     /** @hide */
     public static final int CMD_PNO_NETWORK_FOUND           = BASE + 26;
+    /** @hide */
+    public static final int CMD_REGISTER_SCAN_LISTENER      = BASE + 27;
+    /** @hide */
+    public static final int CMD_DEREGISTER_SCAN_LISTENER    = BASE + 28;
 
     private Context mContext;
     private IWifiScanner mService;
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java b/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java
index ca737f9..32673c7 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java
@@ -146,7 +146,6 @@
                 }
 
                 if (nameValue[0].equals("persistent")) {
-                    mOwner = new WifiP2pDevice(sa);
                     mNetId = Integer.parseInt(nameValue[1]);
                     continue;
                 }